@awt_ai/aws-sdk 0.3.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 (261) hide show
  1. package/.github/logo.svg +3 -0
  2. package/CHANGELOG.md +67 -0
  3. package/LICENSE +8 -0
  4. package/README.md +0 -0
  5. package/client.d.ts +124 -0
  6. package/client.d.ts.map +1 -0
  7. package/client.js +198 -0
  8. package/client.js.map +1 -0
  9. package/client.mjs +160 -0
  10. package/client.mjs.map +1 -0
  11. package/core/auth.d.ts +15 -0
  12. package/core/auth.d.ts.map +1 -0
  13. package/core/auth.js +113 -0
  14. package/core/auth.js.map +1 -0
  15. package/core/auth.mjs +73 -0
  16. package/core/auth.mjs.map +1 -0
  17. package/core/error.d.ts +2 -0
  18. package/core/error.d.ts.map +1 -0
  19. package/core/error.js +18 -0
  20. package/core/error.js.map +1 -0
  21. package/core/error.mjs +2 -0
  22. package/core/error.mjs.map +1 -0
  23. package/core/pagination.d.ts +2 -0
  24. package/core/pagination.d.ts.map +1 -0
  25. package/core/pagination.js +18 -0
  26. package/core/pagination.js.map +1 -0
  27. package/core/pagination.mjs +2 -0
  28. package/core/pagination.mjs.map +1 -0
  29. package/core/streaming.d.ts +2 -0
  30. package/core/streaming.d.ts.map +1 -0
  31. package/core/streaming.js +18 -0
  32. package/core/streaming.js.map +1 -0
  33. package/core/streaming.mjs +2 -0
  34. package/core/streaming.mjs.map +1 -0
  35. package/index.d.ts +4 -0
  36. package/index.d.ts.map +1 -0
  37. package/index.js +22 -0
  38. package/index.js.map +1 -0
  39. package/index.mjs +3 -0
  40. package/index.mjs.map +1 -0
  41. package/internal/builtin-types.d.ts +73 -0
  42. package/internal/builtin-types.d.ts.map +1 -0
  43. package/internal/builtin-types.js +4 -0
  44. package/internal/builtin-types.js.map +1 -0
  45. package/internal/builtin-types.mjs +3 -0
  46. package/internal/builtin-types.mjs.map +1 -0
  47. package/internal/constants.d.ts +5 -0
  48. package/internal/constants.d.ts.map +1 -0
  49. package/internal/constants.js +18 -0
  50. package/internal/constants.js.map +1 -0
  51. package/internal/constants.mjs +15 -0
  52. package/internal/constants.mjs.map +1 -0
  53. package/internal/decoders/jsonl.d.ts +10 -0
  54. package/internal/decoders/jsonl.d.ts.map +1 -0
  55. package/internal/decoders/jsonl.js +39 -0
  56. package/internal/decoders/jsonl.js.map +1 -0
  57. package/internal/decoders/jsonl.mjs +35 -0
  58. package/internal/decoders/jsonl.mjs.map +1 -0
  59. package/internal/decoders/line.d.ts +17 -0
  60. package/internal/decoders/line.d.ts.map +1 -0
  61. package/internal/decoders/line.js +123 -0
  62. package/internal/decoders/line.js.map +1 -0
  63. package/internal/decoders/line.mjs +118 -0
  64. package/internal/decoders/line.mjs.map +1 -0
  65. package/internal/errors.d.ts +3 -0
  66. package/internal/errors.d.ts.map +1 -0
  67. package/internal/errors.js +41 -0
  68. package/internal/errors.js.map +1 -0
  69. package/internal/errors.mjs +36 -0
  70. package/internal/errors.mjs.map +1 -0
  71. package/internal/headers.d.ts +22 -0
  72. package/internal/headers.d.ts.map +1 -0
  73. package/internal/headers.js +79 -0
  74. package/internal/headers.js.map +1 -0
  75. package/internal/headers.mjs +74 -0
  76. package/internal/headers.mjs.map +1 -0
  77. package/internal/parse.d.ts +17 -0
  78. package/internal/parse.d.ts.map +1 -0
  79. package/internal/parse.js +60 -0
  80. package/internal/parse.js.map +1 -0
  81. package/internal/parse.mjs +56 -0
  82. package/internal/parse.mjs.map +1 -0
  83. package/internal/qs/formats.d.ts +7 -0
  84. package/internal/qs/formats.d.ts.map +1 -0
  85. package/internal/qs/formats.js +13 -0
  86. package/internal/qs/formats.js.map +1 -0
  87. package/internal/qs/formats.mjs +9 -0
  88. package/internal/qs/formats.mjs.map +1 -0
  89. package/internal/qs/index.d.ts +10 -0
  90. package/internal/qs/index.d.ts.map +1 -0
  91. package/internal/qs/index.js +14 -0
  92. package/internal/qs/index.js.map +1 -0
  93. package/internal/qs/index.mjs +10 -0
  94. package/internal/qs/index.mjs.map +1 -0
  95. package/internal/qs/stringify.d.ts +3 -0
  96. package/internal/qs/stringify.d.ts.map +1 -0
  97. package/internal/qs/stringify.js +277 -0
  98. package/internal/qs/stringify.js.map +1 -0
  99. package/internal/qs/stringify.mjs +274 -0
  100. package/internal/qs/stringify.mjs.map +1 -0
  101. package/internal/qs/types.d.ts +57 -0
  102. package/internal/qs/types.d.ts.map +1 -0
  103. package/internal/qs/types.js +3 -0
  104. package/internal/qs/types.js.map +1 -0
  105. package/internal/qs/types.mjs +2 -0
  106. package/internal/qs/types.mjs.map +1 -0
  107. package/internal/qs/utils.d.ts +15 -0
  108. package/internal/qs/utils.d.ts.map +1 -0
  109. package/internal/qs/utils.js +230 -0
  110. package/internal/qs/utils.js.map +1 -0
  111. package/internal/qs/utils.mjs +217 -0
  112. package/internal/qs/utils.mjs.map +1 -0
  113. package/internal/request-options.d.ts +77 -0
  114. package/internal/request-options.d.ts.map +1 -0
  115. package/internal/request-options.js +14 -0
  116. package/internal/request-options.js.map +1 -0
  117. package/internal/request-options.mjs +10 -0
  118. package/internal/request-options.mjs.map +1 -0
  119. package/internal/shim-types.d.ts +17 -0
  120. package/internal/shim-types.d.ts.map +1 -0
  121. package/internal/shim-types.js +4 -0
  122. package/internal/shim-types.js.map +1 -0
  123. package/internal/shim-types.mjs +3 -0
  124. package/internal/shim-types.mjs.map +1 -0
  125. package/internal/shims.d.ts +26 -0
  126. package/internal/shims.d.ts.map +1 -0
  127. package/internal/shims.js +92 -0
  128. package/internal/shims.js.map +1 -0
  129. package/internal/shims.mjs +85 -0
  130. package/internal/shims.mjs.map +1 -0
  131. package/internal/stream-utils.d.ts +8 -0
  132. package/internal/stream-utils.d.ts.map +1 -0
  133. package/internal/stream-utils.js +38 -0
  134. package/internal/stream-utils.js.map +1 -0
  135. package/internal/stream-utils.mjs +35 -0
  136. package/internal/stream-utils.mjs.map +1 -0
  137. package/internal/to-file.d.ts +45 -0
  138. package/internal/to-file.d.ts.map +1 -0
  139. package/internal/to-file.js +96 -0
  140. package/internal/to-file.js.map +1 -0
  141. package/internal/to-file.mjs +93 -0
  142. package/internal/to-file.mjs.map +1 -0
  143. package/internal/types.d.ts +63 -0
  144. package/internal/types.d.ts.map +1 -0
  145. package/internal/types.js +4 -0
  146. package/internal/types.js.map +1 -0
  147. package/internal/types.mjs +3 -0
  148. package/internal/types.mjs.map +1 -0
  149. package/internal/uploads.d.ts +42 -0
  150. package/internal/uploads.d.ts.map +1 -0
  151. package/internal/uploads.js +145 -0
  152. package/internal/uploads.js.map +1 -0
  153. package/internal/uploads.mjs +135 -0
  154. package/internal/uploads.mjs.map +1 -0
  155. package/internal/utils/base64.d.ts +3 -0
  156. package/internal/utils/base64.d.ts.map +1 -0
  157. package/internal/utils/base64.js +38 -0
  158. package/internal/utils/base64.js.map +1 -0
  159. package/internal/utils/base64.mjs +33 -0
  160. package/internal/utils/base64.mjs.map +1 -0
  161. package/internal/utils/bytes.d.ts +4 -0
  162. package/internal/utils/bytes.d.ts.map +1 -0
  163. package/internal/utils/bytes.js +31 -0
  164. package/internal/utils/bytes.js.map +1 -0
  165. package/internal/utils/bytes.mjs +26 -0
  166. package/internal/utils/bytes.mjs.map +1 -0
  167. package/internal/utils/env.d.ts +9 -0
  168. package/internal/utils/env.d.ts.map +1 -0
  169. package/internal/utils/env.js +22 -0
  170. package/internal/utils/env.js.map +1 -0
  171. package/internal/utils/env.mjs +18 -0
  172. package/internal/utils/env.mjs.map +1 -0
  173. package/internal/utils/log.d.ts +37 -0
  174. package/internal/utils/log.d.ts.map +1 -0
  175. package/internal/utils/log.js +87 -0
  176. package/internal/utils/log.js.map +1 -0
  177. package/internal/utils/log.mjs +81 -0
  178. package/internal/utils/log.mjs.map +1 -0
  179. package/internal/utils/path.d.ts +15 -0
  180. package/internal/utils/path.d.ts.map +1 -0
  181. package/internal/utils/path.js +79 -0
  182. package/internal/utils/path.js.map +1 -0
  183. package/internal/utils/path.mjs +74 -0
  184. package/internal/utils/path.mjs.map +1 -0
  185. package/internal/utils/query.d.ts +2 -0
  186. package/internal/utils/query.d.ts.map +1 -0
  187. package/internal/utils/query.js +42 -0
  188. package/internal/utils/query.js.map +1 -0
  189. package/internal/utils/query.mjs +6 -0
  190. package/internal/utils/query.mjs.map +1 -0
  191. package/internal/utils/sleep.d.ts +2 -0
  192. package/internal/utils/sleep.d.ts.map +1 -0
  193. package/internal/utils/sleep.js +7 -0
  194. package/internal/utils/sleep.js.map +1 -0
  195. package/internal/utils/sleep.mjs +3 -0
  196. package/internal/utils/sleep.mjs.map +1 -0
  197. package/internal/utils/time.d.ts +3 -0
  198. package/internal/utils/time.d.ts.map +1 -0
  199. package/internal/utils/time.js +8 -0
  200. package/internal/utils/time.js.map +1 -0
  201. package/internal/utils/time.mjs +5 -0
  202. package/internal/utils/time.mjs.map +1 -0
  203. package/internal/utils/uuid.d.ts +5 -0
  204. package/internal/utils/uuid.d.ts.map +1 -0
  205. package/internal/utils/uuid.js +19 -0
  206. package/internal/utils/uuid.js.map +1 -0
  207. package/internal/utils/uuid.mjs +15 -0
  208. package/internal/utils/uuid.mjs.map +1 -0
  209. package/internal/utils/values.d.ts +19 -0
  210. package/internal/utils/values.d.ts.map +1 -0
  211. package/internal/utils/values.js +119 -0
  212. package/internal/utils/values.js.map +1 -0
  213. package/internal/utils/values.mjs +100 -0
  214. package/internal/utils/values.mjs.map +1 -0
  215. package/internal/utils.d.ts +8 -0
  216. package/internal/utils.d.ts.map +1 -0
  217. package/internal/utils.js +25 -0
  218. package/internal/utils.js.map +1 -0
  219. package/internal/utils.mjs +9 -0
  220. package/internal/utils.mjs.map +1 -0
  221. package/package.json +62 -0
  222. package/src/client.ts +294 -0
  223. package/src/core/auth.ts +101 -0
  224. package/src/core/error.ts +1 -0
  225. package/src/core/pagination.ts +1 -0
  226. package/src/core/streaming.ts +1 -0
  227. package/src/index.ts +4 -0
  228. package/src/internal/README.md +3 -0
  229. package/src/internal/builtin-types.ts +93 -0
  230. package/src/internal/constants.ts +15 -0
  231. package/src/internal/decoders/jsonl.ts +48 -0
  232. package/src/internal/decoders/line.ts +135 -0
  233. package/src/internal/detect-platform.ts +196 -0
  234. package/src/internal/errors.ts +33 -0
  235. package/src/internal/headers.ts +99 -0
  236. package/src/internal/parse.ts +90 -0
  237. package/src/internal/qs/LICENSE.md +13 -0
  238. package/src/internal/qs/README.md +3 -0
  239. package/src/internal/qs/formats.ts +10 -0
  240. package/src/internal/qs/index.ts +13 -0
  241. package/src/internal/qs/stringify.ts +385 -0
  242. package/src/internal/qs/types.ts +71 -0
  243. package/src/internal/qs/utils.ts +265 -0
  244. package/src/internal/request-options.ts +93 -0
  245. package/src/internal/shim-types.ts +26 -0
  246. package/src/internal/shims.ts +107 -0
  247. package/src/internal/stream-utils.ts +32 -0
  248. package/src/internal/to-file.ts +159 -0
  249. package/src/internal/types.ts +93 -0
  250. package/src/internal/uploads.ts +204 -0
  251. package/src/internal/utils/base64.ts +40 -0
  252. package/src/internal/utils/bytes.ts +32 -0
  253. package/src/internal/utils/env.ts +18 -0
  254. package/src/internal/utils/log.ts +128 -0
  255. package/src/internal/utils/path.ts +88 -0
  256. package/src/internal/utils/query.ts +7 -0
  257. package/src/internal/utils/sleep.ts +3 -0
  258. package/src/internal/utils/time.ts +4 -0
  259. package/src/internal/utils/uuid.ts +17 -0
  260. package/src/internal/utils/values.ts +112 -0
  261. package/src/internal/utils.ts +9 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line.d.ts","sourceRoot":"","sources":["../../src/internal/decoders/line.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC;AAEzE;;;;;GAKG;AACH,qBAAa,WAAW;;IAEtB,MAAM,CAAC,aAAa,cAAyB;IAC7C,MAAM,CAAC,cAAc,SAAkB;;IAUvC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE;IA6C9B,KAAK,IAAI,MAAM,EAAE;CAMlB;AA+BD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CA6BjE"}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ 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");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ 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");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _LineDecoder_buffer, _LineDecoder_carriageReturnIndex;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.LineDecoder = void 0;
16
+ exports.findDoubleNewlineIndex = findDoubleNewlineIndex;
17
+ const bytes_1 = require("../utils/bytes.js");
18
+ /**
19
+ * A re-implementation of httpx's `LineDecoder` in Python that handles incrementally
20
+ * reading lines from text.
21
+ *
22
+ * https://github.com/encode/httpx/blob/920333ea98118e9cf617f246905d7b202510941c/httpx/_decoders.py#L258
23
+ */
24
+ class LineDecoder {
25
+ constructor() {
26
+ _LineDecoder_buffer.set(this, void 0);
27
+ _LineDecoder_carriageReturnIndex.set(this, void 0);
28
+ __classPrivateFieldSet(this, _LineDecoder_buffer, new Uint8Array(), "f");
29
+ __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, null, "f");
30
+ }
31
+ decode(chunk) {
32
+ if (chunk == null) {
33
+ return [];
34
+ }
35
+ const binaryChunk = chunk instanceof ArrayBuffer ? new Uint8Array(chunk)
36
+ : typeof chunk === 'string' ? (0, bytes_1.encodeUTF8)(chunk)
37
+ : chunk;
38
+ __classPrivateFieldSet(this, _LineDecoder_buffer, (0, bytes_1.concatBytes)([__classPrivateFieldGet(this, _LineDecoder_buffer, "f"), binaryChunk]), "f");
39
+ const lines = [];
40
+ let patternIndex;
41
+ while ((patternIndex = findNewlineIndex(__classPrivateFieldGet(this, _LineDecoder_buffer, "f"), __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f"))) != null) {
42
+ if (patternIndex.carriage && __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f") == null) {
43
+ // skip until we either get a corresponding `\n`, a new `\r` or nothing
44
+ __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, patternIndex.index, "f");
45
+ continue;
46
+ }
47
+ // we got double \r or \rtext\n
48
+ if (__classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f") != null &&
49
+ (patternIndex.index !== __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f") + 1 || patternIndex.carriage)) {
50
+ lines.push((0, bytes_1.decodeUTF8)(__classPrivateFieldGet(this, _LineDecoder_buffer, "f").subarray(0, __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f") - 1)));
51
+ __classPrivateFieldSet(this, _LineDecoder_buffer, __classPrivateFieldGet(this, _LineDecoder_buffer, "f").subarray(__classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f")), "f");
52
+ __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, null, "f");
53
+ continue;
54
+ }
55
+ const endIndex = __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f") !== null ? patternIndex.preceding - 1 : patternIndex.preceding;
56
+ const line = (0, bytes_1.decodeUTF8)(__classPrivateFieldGet(this, _LineDecoder_buffer, "f").subarray(0, endIndex));
57
+ lines.push(line);
58
+ __classPrivateFieldSet(this, _LineDecoder_buffer, __classPrivateFieldGet(this, _LineDecoder_buffer, "f").subarray(patternIndex.index), "f");
59
+ __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, null, "f");
60
+ }
61
+ return lines;
62
+ }
63
+ flush() {
64
+ if (!__classPrivateFieldGet(this, _LineDecoder_buffer, "f").length) {
65
+ return [];
66
+ }
67
+ return this.decode('\n');
68
+ }
69
+ }
70
+ exports.LineDecoder = LineDecoder;
71
+ _LineDecoder_buffer = new WeakMap(), _LineDecoder_carriageReturnIndex = new WeakMap();
72
+ // prettier-ignore
73
+ LineDecoder.NEWLINE_CHARS = new Set(['\n', '\r']);
74
+ LineDecoder.NEWLINE_REGEXP = /\r\n|[\n\r]/g;
75
+ /**
76
+ * This function searches the buffer for the end patterns, (\r or \n)
77
+ * and returns an object with the index preceding the matched newline and the
78
+ * index after the newline char. `null` is returned if no new line is found.
79
+ *
80
+ * ```ts
81
+ * findNewLineIndex('abc\ndef') -> { preceding: 2, index: 3 }
82
+ * ```
83
+ */
84
+ function findNewlineIndex(buffer, startIndex) {
85
+ const newline = 0x0a; // \n
86
+ const carriage = 0x0d; // \r
87
+ for (let i = startIndex ?? 0; i < buffer.length; i++) {
88
+ if (buffer[i] === newline) {
89
+ return { preceding: i, index: i + 1, carriage: false };
90
+ }
91
+ if (buffer[i] === carriage) {
92
+ return { preceding: i, index: i + 1, carriage: true };
93
+ }
94
+ }
95
+ return null;
96
+ }
97
+ function findDoubleNewlineIndex(buffer) {
98
+ // This function searches the buffer for the end patterns (\r\r, \n\n, \r\n\r\n)
99
+ // and returns the index right after the first occurrence of any pattern,
100
+ // or -1 if none of the patterns are found.
101
+ const newline = 0x0a; // \n
102
+ const carriage = 0x0d; // \r
103
+ for (let i = 0; i < buffer.length - 1; i++) {
104
+ if (buffer[i] === newline && buffer[i + 1] === newline) {
105
+ // \n\n
106
+ return i + 2;
107
+ }
108
+ if (buffer[i] === carriage && buffer[i + 1] === carriage) {
109
+ // \r\r
110
+ return i + 2;
111
+ }
112
+ if (buffer[i] === carriage &&
113
+ buffer[i + 1] === newline &&
114
+ i + 3 < buffer.length &&
115
+ buffer[i + 2] === carriage &&
116
+ buffer[i + 3] === newline) {
117
+ // \r\n\r\n
118
+ return i + 4;
119
+ }
120
+ }
121
+ return -1;
122
+ }
123
+ //# sourceMappingURL=line.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line.js","sourceRoot":"","sources":["../../src/internal/decoders/line.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAyGA,wDA6BC;AAtID,6CAAqE;AAIrE;;;;;GAKG;AACH,MAAa,WAAW;IAQtB;QAHA,sCAAoB;QACpB,mDAAoC;QAGlC,uBAAA,IAAI,uBAAW,IAAI,UAAU,EAAE,MAAA,CAAC;QAChC,uBAAA,IAAI,oCAAwB,IAAI,MAAA,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,KAAY;QACjB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,WAAW,GACf,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC;YACpD,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC;gBAC/C,CAAC,CAAC,KAAK,CAAC;QAEV,uBAAA,IAAI,uBAAW,IAAA,mBAAW,EAAC,CAAC,uBAAA,IAAI,2BAAQ,EAAE,WAAW,CAAC,CAAC,MAAA,CAAC;QAExD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,YAAY,CAAC;QACjB,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAC,uBAAA,IAAI,2BAAQ,EAAE,uBAAA,IAAI,wCAAqB,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YAC1F,IAAI,YAAY,CAAC,QAAQ,IAAI,uBAAA,IAAI,wCAAqB,IAAI,IAAI,EAAE,CAAC;gBAC/D,uEAAuE;gBACvE,uBAAA,IAAI,oCAAwB,YAAY,CAAC,KAAK,MAAA,CAAC;gBAC/C,SAAS;YACX,CAAC;YAED,+BAA+B;YAC/B,IACE,uBAAA,IAAI,wCAAqB,IAAI,IAAI;gBACjC,CAAC,YAAY,CAAC,KAAK,KAAK,uBAAA,IAAI,wCAAqB,GAAG,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,EAC/E,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,IAAA,kBAAU,EAAC,uBAAA,IAAI,2BAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,uBAAA,IAAI,wCAAqB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChF,uBAAA,IAAI,uBAAW,uBAAA,IAAI,2BAAQ,CAAC,QAAQ,CAAC,uBAAA,IAAI,wCAAqB,CAAC,MAAA,CAAC;gBAChE,uBAAA,IAAI,oCAAwB,IAAI,MAAA,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GACZ,uBAAA,IAAI,wCAAqB,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC;YAE3F,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,uBAAA,IAAI,2BAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEjB,uBAAA,IAAI,uBAAW,uBAAA,IAAI,2BAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAA,CAAC;YACzD,uBAAA,IAAI,oCAAwB,IAAI,MAAA,CAAC;QACnC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,uBAAA,IAAI,2BAAQ,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;;AA/DH,kCAgEC;;AA/DC,kBAAkB;AACX,yBAAa,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,AAAxB,CAAyB;AACtC,0BAAc,GAAG,cAAc,AAAjB,CAAkB;AA+DzC;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CACvB,MAAkB,EAClB,UAAyB;IAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,KAAK;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,KAAK;IAE5B,KAAK,IAAI,CAAC,GAAG,UAAU,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACzD,CAAC;QAED,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACxD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,sBAAsB,CAAC,MAAkB;IACvD,gFAAgF;IAChF,yEAAyE;IACzE,2CAA2C;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,KAAK;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,KAAK;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YACvD,OAAO;YACP,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QACD,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YACzD,OAAO;YACP,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QACD,IACE,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ;YACtB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO;YACzB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM;YACrB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ;YAC1B,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,EACzB,CAAC;YACD,WAAW;YACX,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC"}
@@ -0,0 +1,118 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ 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");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ 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");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _LineDecoder_buffer, _LineDecoder_carriageReturnIndex;
13
+ import { concatBytes, decodeUTF8, encodeUTF8 } from "../utils/bytes.mjs";
14
+ /**
15
+ * A re-implementation of httpx's `LineDecoder` in Python that handles incrementally
16
+ * reading lines from text.
17
+ *
18
+ * https://github.com/encode/httpx/blob/920333ea98118e9cf617f246905d7b202510941c/httpx/_decoders.py#L258
19
+ */
20
+ export class LineDecoder {
21
+ constructor() {
22
+ _LineDecoder_buffer.set(this, void 0);
23
+ _LineDecoder_carriageReturnIndex.set(this, void 0);
24
+ __classPrivateFieldSet(this, _LineDecoder_buffer, new Uint8Array(), "f");
25
+ __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, null, "f");
26
+ }
27
+ decode(chunk) {
28
+ if (chunk == null) {
29
+ return [];
30
+ }
31
+ const binaryChunk = chunk instanceof ArrayBuffer ? new Uint8Array(chunk)
32
+ : typeof chunk === 'string' ? encodeUTF8(chunk)
33
+ : chunk;
34
+ __classPrivateFieldSet(this, _LineDecoder_buffer, concatBytes([__classPrivateFieldGet(this, _LineDecoder_buffer, "f"), binaryChunk]), "f");
35
+ const lines = [];
36
+ let patternIndex;
37
+ while ((patternIndex = findNewlineIndex(__classPrivateFieldGet(this, _LineDecoder_buffer, "f"), __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f"))) != null) {
38
+ if (patternIndex.carriage && __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f") == null) {
39
+ // skip until we either get a corresponding `\n`, a new `\r` or nothing
40
+ __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, patternIndex.index, "f");
41
+ continue;
42
+ }
43
+ // we got double \r or \rtext\n
44
+ if (__classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f") != null &&
45
+ (patternIndex.index !== __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f") + 1 || patternIndex.carriage)) {
46
+ lines.push(decodeUTF8(__classPrivateFieldGet(this, _LineDecoder_buffer, "f").subarray(0, __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f") - 1)));
47
+ __classPrivateFieldSet(this, _LineDecoder_buffer, __classPrivateFieldGet(this, _LineDecoder_buffer, "f").subarray(__classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f")), "f");
48
+ __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, null, "f");
49
+ continue;
50
+ }
51
+ const endIndex = __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f") !== null ? patternIndex.preceding - 1 : patternIndex.preceding;
52
+ const line = decodeUTF8(__classPrivateFieldGet(this, _LineDecoder_buffer, "f").subarray(0, endIndex));
53
+ lines.push(line);
54
+ __classPrivateFieldSet(this, _LineDecoder_buffer, __classPrivateFieldGet(this, _LineDecoder_buffer, "f").subarray(patternIndex.index), "f");
55
+ __classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, null, "f");
56
+ }
57
+ return lines;
58
+ }
59
+ flush() {
60
+ if (!__classPrivateFieldGet(this, _LineDecoder_buffer, "f").length) {
61
+ return [];
62
+ }
63
+ return this.decode('\n');
64
+ }
65
+ }
66
+ _LineDecoder_buffer = new WeakMap(), _LineDecoder_carriageReturnIndex = new WeakMap();
67
+ // prettier-ignore
68
+ LineDecoder.NEWLINE_CHARS = new Set(['\n', '\r']);
69
+ LineDecoder.NEWLINE_REGEXP = /\r\n|[\n\r]/g;
70
+ /**
71
+ * This function searches the buffer for the end patterns, (\r or \n)
72
+ * and returns an object with the index preceding the matched newline and the
73
+ * index after the newline char. `null` is returned if no new line is found.
74
+ *
75
+ * ```ts
76
+ * findNewLineIndex('abc\ndef') -> { preceding: 2, index: 3 }
77
+ * ```
78
+ */
79
+ function findNewlineIndex(buffer, startIndex) {
80
+ const newline = 0x0a; // \n
81
+ const carriage = 0x0d; // \r
82
+ for (let i = startIndex ?? 0; i < buffer.length; i++) {
83
+ if (buffer[i] === newline) {
84
+ return { preceding: i, index: i + 1, carriage: false };
85
+ }
86
+ if (buffer[i] === carriage) {
87
+ return { preceding: i, index: i + 1, carriage: true };
88
+ }
89
+ }
90
+ return null;
91
+ }
92
+ export function findDoubleNewlineIndex(buffer) {
93
+ // This function searches the buffer for the end patterns (\r\r, \n\n, \r\n\r\n)
94
+ // and returns the index right after the first occurrence of any pattern,
95
+ // or -1 if none of the patterns are found.
96
+ const newline = 0x0a; // \n
97
+ const carriage = 0x0d; // \r
98
+ for (let i = 0; i < buffer.length - 1; i++) {
99
+ if (buffer[i] === newline && buffer[i + 1] === newline) {
100
+ // \n\n
101
+ return i + 2;
102
+ }
103
+ if (buffer[i] === carriage && buffer[i + 1] === carriage) {
104
+ // \r\r
105
+ return i + 2;
106
+ }
107
+ if (buffer[i] === carriage &&
108
+ buffer[i + 1] === newline &&
109
+ i + 3 < buffer.length &&
110
+ buffer[i + 2] === carriage &&
111
+ buffer[i + 3] === newline) {
112
+ // \r\n\r\n
113
+ return i + 4;
114
+ }
115
+ }
116
+ return -1;
117
+ }
118
+ //# sourceMappingURL=line.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line.mjs","sourceRoot":"","sources":["../../src/internal/decoders/line.ts"],"names":[],"mappings":";;;;;;;;;;;;OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE;AAI9C;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IAQtB;QAHA,sCAAoB;QACpB,mDAAoC;QAGlC,uBAAA,IAAI,uBAAW,IAAI,UAAU,EAAE,MAAA,CAAC;QAChC,uBAAA,IAAI,oCAAwB,IAAI,MAAA,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,KAAY;QACjB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,WAAW,GACf,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC;YACpD,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;gBAC/C,CAAC,CAAC,KAAK,CAAC;QAEV,uBAAA,IAAI,uBAAW,WAAW,CAAC,CAAC,uBAAA,IAAI,2BAAQ,EAAE,WAAW,CAAC,CAAC,MAAA,CAAC;QAExD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,YAAY,CAAC;QACjB,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAC,uBAAA,IAAI,2BAAQ,EAAE,uBAAA,IAAI,wCAAqB,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YAC1F,IAAI,YAAY,CAAC,QAAQ,IAAI,uBAAA,IAAI,wCAAqB,IAAI,IAAI,EAAE,CAAC;gBAC/D,uEAAuE;gBACvE,uBAAA,IAAI,oCAAwB,YAAY,CAAC,KAAK,MAAA,CAAC;gBAC/C,SAAS;YACX,CAAC;YAED,+BAA+B;YAC/B,IACE,uBAAA,IAAI,wCAAqB,IAAI,IAAI;gBACjC,CAAC,YAAY,CAAC,KAAK,KAAK,uBAAA,IAAI,wCAAqB,GAAG,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,EAC/E,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAA,IAAI,2BAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,uBAAA,IAAI,wCAAqB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChF,uBAAA,IAAI,uBAAW,uBAAA,IAAI,2BAAQ,CAAC,QAAQ,CAAC,uBAAA,IAAI,wCAAqB,CAAC,MAAA,CAAC;gBAChE,uBAAA,IAAI,oCAAwB,IAAI,MAAA,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GACZ,uBAAA,IAAI,wCAAqB,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC;YAE3F,MAAM,IAAI,GAAG,UAAU,CAAC,uBAAA,IAAI,2BAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEjB,uBAAA,IAAI,uBAAW,uBAAA,IAAI,2BAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAA,CAAC;YACzD,uBAAA,IAAI,oCAAwB,IAAI,MAAA,CAAC;QACnC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,uBAAA,IAAI,2BAAQ,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;;;AA9DD,kBAAkB;AACX,yBAAa,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,AAAxB,CAAyB;AACtC,0BAAc,GAAG,cAAc,AAAjB,CAAkB;AA+DzC;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CACvB,MAAkB,EAClB,UAAyB;IAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,KAAK;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,KAAK;IAE5B,KAAK,IAAI,CAAC,GAAG,UAAU,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACzD,CAAC;QAED,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACxD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAkB;IACvD,gFAAgF;IAChF,yEAAyE;IACzE,2CAA2C;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,KAAK;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,KAAK;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YACvD,OAAO;YACP,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QACD,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YACzD,OAAO;YACP,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QACD,IACE,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ;YACtB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO;YACzB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM;YACrB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ;YAC1B,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,EACzB,CAAC;YACD,WAAW;YACX,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function isAbortError(err: unknown): boolean;
2
+ export declare const castToError: (err: any) => Error;
3
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/internal/errors.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,WASxC;AAED,eAAO,MAAM,WAAW,GAAI,KAAK,GAAG,KAAG,KAmBtC,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.castToError = void 0;
5
+ exports.isAbortError = isAbortError;
6
+ function isAbortError(err) {
7
+ return (typeof err === 'object' &&
8
+ err !== null &&
9
+ // Spec-compliant fetch implementations
10
+ (('name' in err && err.name === 'AbortError') ||
11
+ // Expo fetch
12
+ ('message' in err && String(err.message).includes('FetchRequestCanceledException'))));
13
+ }
14
+ const castToError = (err) => {
15
+ if (err instanceof Error)
16
+ return err;
17
+ if (typeof err === 'object' && err !== null) {
18
+ try {
19
+ if (Object.prototype.toString.call(err) === '[object Error]') {
20
+ // @ts-ignore - not all envs have native support for cause yet
21
+ const error = new Error(err.message, err.cause ? { cause: err.cause } : {});
22
+ if (err.stack)
23
+ error.stack = err.stack;
24
+ // @ts-ignore - not all envs have native support for cause yet
25
+ if (err.cause && !error.cause)
26
+ error.cause = err.cause;
27
+ if (err.name)
28
+ error.name = err.name;
29
+ return error;
30
+ }
31
+ }
32
+ catch { }
33
+ try {
34
+ return new Error(JSON.stringify(err));
35
+ }
36
+ catch { }
37
+ }
38
+ return new Error(err);
39
+ };
40
+ exports.castToError = castToError;
41
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/internal/errors.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,oCASC;AATD,SAAgB,YAAY,CAAC,GAAY;IACvC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,uCAAuC;QACvC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAK,GAAW,CAAC,IAAI,KAAK,YAAY,CAAC;YACpD,aAAa;YACb,CAAC,SAAS,IAAI,GAAG,IAAI,MAAM,CAAE,GAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAChG,CAAC;AACJ,CAAC;AAEM,MAAM,WAAW,GAAG,CAAC,GAAQ,EAAS,EAAE;IAC7C,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,gBAAgB,EAAE,CAAC;gBAC7D,8DAA8D;gBAC9D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5E,IAAI,GAAG,CAAC,KAAK;oBAAE,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBACvC,8DAA8D;gBAC9D,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;oBAAE,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBACvD,IAAI,GAAG,CAAC,IAAI;oBAAE,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACpC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,IAAI,CAAC;YACH,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC,CAAC;AAnBW,QAAA,WAAW,eAmBtB"}
@@ -0,0 +1,36 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ export function isAbortError(err) {
3
+ return (typeof err === 'object' &&
4
+ err !== null &&
5
+ // Spec-compliant fetch implementations
6
+ (('name' in err && err.name === 'AbortError') ||
7
+ // Expo fetch
8
+ ('message' in err && String(err.message).includes('FetchRequestCanceledException'))));
9
+ }
10
+ export const castToError = (err) => {
11
+ if (err instanceof Error)
12
+ return err;
13
+ if (typeof err === 'object' && err !== null) {
14
+ try {
15
+ if (Object.prototype.toString.call(err) === '[object Error]') {
16
+ // @ts-ignore - not all envs have native support for cause yet
17
+ const error = new Error(err.message, err.cause ? { cause: err.cause } : {});
18
+ if (err.stack)
19
+ error.stack = err.stack;
20
+ // @ts-ignore - not all envs have native support for cause yet
21
+ if (err.cause && !error.cause)
22
+ error.cause = err.cause;
23
+ if (err.name)
24
+ error.name = err.name;
25
+ return error;
26
+ }
27
+ }
28
+ catch { }
29
+ try {
30
+ return new Error(JSON.stringify(err));
31
+ }
32
+ catch { }
33
+ }
34
+ return new Error(err);
35
+ };
36
+ //# sourceMappingURL=errors.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.mjs","sourceRoot":"","sources":["../src/internal/errors.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,uCAAuC;QACvC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAK,GAAW,CAAC,IAAI,KAAK,YAAY,CAAC;YACpD,aAAa;YACb,CAAC,SAAS,IAAI,GAAG,IAAI,MAAM,CAAE,GAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAChG,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAQ,EAAS,EAAE;IAC7C,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,gBAAgB,EAAE,CAAC;gBAC7D,8DAA8D;gBAC9D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC5E,IAAI,GAAG,CAAC,KAAK;oBAAE,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBACvC,8DAA8D;gBAC9D,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;oBAAE,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBACvD,IAAI,GAAG,CAAC,IAAI;oBAAE,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACpC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,IAAI,CAAC;YACH,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ type HeaderValue = string | undefined | null;
2
+ export type HeadersLike = Headers | readonly HeaderValue[][] | Record<string, HeaderValue | readonly HeaderValue[]> | undefined | null | NullableHeaders;
3
+ declare const brand_privateNullableHeaders: symbol & {
4
+ description: "brand.privateNullableHeaders";
5
+ };
6
+ /**
7
+ * @internal
8
+ * Users can pass explicit nulls to unset default headers. When we parse them
9
+ * into a standard headers type we need to preserve that information.
10
+ */
11
+ export type NullableHeaders = {
12
+ /** Brand check, prevent users from creating a NullableHeaders. */
13
+ [_: typeof brand_privateNullableHeaders]: true;
14
+ /** Parsed headers. */
15
+ values: Headers;
16
+ /** Set of lowercase header names explicitly set to null. */
17
+ nulls: Set<string>;
18
+ };
19
+ export declare const buildHeaders: (newHeaders: HeadersLike[]) => NullableHeaders;
20
+ export declare const isEmptyHeaders: (headers: HeadersLike) => boolean;
21
+ export {};
22
+ //# sourceMappingURL=headers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../src/internal/headers.ts"],"names":[],"mappings":"AAIA,KAAK,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;AAC7C,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,SAAS,WAAW,EAAE,EAAE,GACxB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,WAAW,EAAE,CAAC,GACpD,SAAS,GACT,IAAI,GACJ,eAAe,CAAC;AAEpB,QAAA,MAAM,4BAA4B,EAAiD,MAAM,GAAG;IAC1F,WAAW,EAAE,8BAA8B,CAAC;CAC7C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,kEAAkE;IAClE,CAAC,CAAC,EAAE,OAAO,4BAA4B,GAAG,IAAI,CAAC;IAC/C,sBAAsB;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,4DAA4D;IAC5D,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACpB,CAAC;AA2CF,eAAO,MAAM,YAAY,GAAI,YAAY,WAAW,EAAE,KAAG,eAqBxD,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,SAAS,WAAW,YAGlD,CAAC"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.isEmptyHeaders = exports.buildHeaders = void 0;
5
+ const values_1 = require("./utils/values.js");
6
+ const brand_privateNullableHeaders = Symbol.for('brand.privateNullableHeaders');
7
+ function* iterateHeaders(headers) {
8
+ if (!headers)
9
+ return;
10
+ if (brand_privateNullableHeaders in headers) {
11
+ const { values, nulls } = headers;
12
+ yield* values.entries();
13
+ for (const name of nulls) {
14
+ yield [name, null];
15
+ }
16
+ return;
17
+ }
18
+ let shouldClear = false;
19
+ let iter;
20
+ if (headers instanceof Headers) {
21
+ iter = headers.entries();
22
+ }
23
+ else if ((0, values_1.isReadonlyArray)(headers)) {
24
+ iter = headers;
25
+ }
26
+ else {
27
+ shouldClear = true;
28
+ iter = Object.entries(headers ?? {});
29
+ }
30
+ for (let row of iter) {
31
+ const name = row[0];
32
+ if (typeof name !== 'string')
33
+ throw new TypeError('expected header name to be a string');
34
+ const values = (0, values_1.isReadonlyArray)(row[1]) ? row[1] : [row[1]];
35
+ let didClear = false;
36
+ for (const value of values) {
37
+ if (value === undefined)
38
+ continue;
39
+ // Objects keys always overwrite older headers, they never append.
40
+ // Yield a null to clear the header before adding the new values.
41
+ if (shouldClear && !didClear) {
42
+ didClear = true;
43
+ yield [name, null];
44
+ }
45
+ yield [name, value];
46
+ }
47
+ }
48
+ }
49
+ const buildHeaders = (newHeaders) => {
50
+ const targetHeaders = new Headers();
51
+ const nullHeaders = new Set();
52
+ for (const headers of newHeaders) {
53
+ const seenHeaders = new Set();
54
+ for (const [name, value] of iterateHeaders(headers)) {
55
+ const lowerName = name.toLowerCase();
56
+ if (!seenHeaders.has(lowerName)) {
57
+ targetHeaders.delete(name);
58
+ seenHeaders.add(lowerName);
59
+ }
60
+ if (value === null) {
61
+ targetHeaders.delete(name);
62
+ nullHeaders.add(lowerName);
63
+ }
64
+ else {
65
+ targetHeaders.append(name, value);
66
+ nullHeaders.delete(lowerName);
67
+ }
68
+ }
69
+ }
70
+ return { [brand_privateNullableHeaders]: true, values: targetHeaders, nulls: nullHeaders };
71
+ };
72
+ exports.buildHeaders = buildHeaders;
73
+ const isEmptyHeaders = (headers) => {
74
+ for (const _ of iterateHeaders(headers))
75
+ return false;
76
+ return true;
77
+ };
78
+ exports.isEmptyHeaders = isEmptyHeaders;
79
+ //# sourceMappingURL=headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.js","sourceRoot":"","sources":["../src/internal/headers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { isReadonlyArray } from "./utils/values.mjs";
3
+ const brand_privateNullableHeaders = Symbol.for('brand.privateNullableHeaders');
4
+ function* iterateHeaders(headers) {
5
+ if (!headers)
6
+ return;
7
+ if (brand_privateNullableHeaders in headers) {
8
+ const { values, nulls } = headers;
9
+ yield* values.entries();
10
+ for (const name of nulls) {
11
+ yield [name, null];
12
+ }
13
+ return;
14
+ }
15
+ let shouldClear = false;
16
+ let iter;
17
+ if (headers instanceof Headers) {
18
+ iter = headers.entries();
19
+ }
20
+ else if (isReadonlyArray(headers)) {
21
+ iter = headers;
22
+ }
23
+ else {
24
+ shouldClear = true;
25
+ iter = Object.entries(headers ?? {});
26
+ }
27
+ for (let row of iter) {
28
+ const name = row[0];
29
+ if (typeof name !== 'string')
30
+ throw new TypeError('expected header name to be a string');
31
+ const values = isReadonlyArray(row[1]) ? row[1] : [row[1]];
32
+ let didClear = false;
33
+ for (const value of values) {
34
+ if (value === undefined)
35
+ continue;
36
+ // Objects keys always overwrite older headers, they never append.
37
+ // Yield a null to clear the header before adding the new values.
38
+ if (shouldClear && !didClear) {
39
+ didClear = true;
40
+ yield [name, null];
41
+ }
42
+ yield [name, value];
43
+ }
44
+ }
45
+ }
46
+ export const buildHeaders = (newHeaders) => {
47
+ const targetHeaders = new Headers();
48
+ const nullHeaders = new Set();
49
+ for (const headers of newHeaders) {
50
+ const seenHeaders = new Set();
51
+ for (const [name, value] of iterateHeaders(headers)) {
52
+ const lowerName = name.toLowerCase();
53
+ if (!seenHeaders.has(lowerName)) {
54
+ targetHeaders.delete(name);
55
+ seenHeaders.add(lowerName);
56
+ }
57
+ if (value === null) {
58
+ targetHeaders.delete(name);
59
+ nullHeaders.add(lowerName);
60
+ }
61
+ else {
62
+ targetHeaders.append(name, value);
63
+ nullHeaders.delete(lowerName);
64
+ }
65
+ }
66
+ }
67
+ return { [brand_privateNullableHeaders]: true, values: targetHeaders, nulls: nullHeaders };
68
+ };
69
+ export const isEmptyHeaders = (headers) => {
70
+ for (const _ of iterateHeaders(headers))
71
+ return false;
72
+ return true;
73
+ };
74
+ //# sourceMappingURL=headers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.mjs","sourceRoot":"","sources":["../src/internal/headers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { FinalRequestOptions } from './request-options';
2
+ import { type BaseAwt } from '../client';
3
+ import type { AbstractPage } from '../core/pagination';
4
+ export type APIResponseProps = {
5
+ response: Response;
6
+ options: FinalRequestOptions;
7
+ controller: AbortController;
8
+ requestLogID: string;
9
+ retryOfRequestLogID: string | undefined;
10
+ startTime: number;
11
+ };
12
+ export declare function defaultParseResponse<T>(client: BaseAwt, props: APIResponseProps): Promise<WithRequestID<T>>;
13
+ export type WithRequestID<T> = T extends Array<any> | Response | AbstractPage<any> ? T : T extends Record<string, any> ? T & {
14
+ _request_id?: string | null;
15
+ } : T;
16
+ export declare function addRequestID<T>(value: T, response: Response): WithRequestID<T>;
17
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/internal/parse.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,UAAU,EAAE,eAAe,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAqD3B;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GACrD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACnE,CAAC,CAAC;AAEN,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAS9E"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.defaultParseResponse = defaultParseResponse;
5
+ exports.addRequestID = addRequestID;
6
+ const streaming_1 = require("../core/streaming.js");
7
+ const log_1 = require("./utils/log.js");
8
+ async function defaultParseResponse(client, props) {
9
+ const { response, requestLogID, retryOfRequestLogID, startTime } = props;
10
+ const body = await (async () => {
11
+ if (props.options.stream) {
12
+ (0, log_1.loggerFor)(client).debug('response', response.status, response.url, response.headers, response.body);
13
+ // Note: there is an invariant here that isn't represented in the type system
14
+ // that if you set `stream: true` the response type must also be `Stream<T>`
15
+ if (props.options.__streamClass) {
16
+ return props.options.__streamClass.fromSSEResponse(response, props.controller);
17
+ }
18
+ return streaming_1.Stream.fromSSEResponse(response, props.controller);
19
+ }
20
+ // fetch refuses to read the body when the status code is 204.
21
+ if (response.status === 204) {
22
+ return null;
23
+ }
24
+ if (props.options.__binaryResponse) {
25
+ return response;
26
+ }
27
+ const contentType = response.headers.get('content-type');
28
+ const mediaType = contentType?.split(';')[0]?.trim();
29
+ const isJSON = mediaType?.includes('application/json') || mediaType?.endsWith('+json');
30
+ if (isJSON) {
31
+ const contentLength = response.headers.get('content-length');
32
+ if (contentLength === '0') {
33
+ // if there is no content we can't do anything
34
+ return undefined;
35
+ }
36
+ const json = await response.json();
37
+ return addRequestID(json, response);
38
+ }
39
+ const text = await response.text();
40
+ return text;
41
+ })();
42
+ (0, log_1.loggerFor)(client).debug(`[${requestLogID}] response parsed`, (0, log_1.formatRequestDetails)({
43
+ retryOfRequestLogID,
44
+ url: response.url,
45
+ status: response.status,
46
+ body,
47
+ durationMs: Date.now() - startTime,
48
+ }));
49
+ return body;
50
+ }
51
+ function addRequestID(value, response) {
52
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
53
+ return value;
54
+ }
55
+ return Object.defineProperty(value, '_request_id', {
56
+ value: response.headers.get('request-id'),
57
+ enumerable: false,
58
+ });
59
+ }
60
+ //# sourceMappingURL=parse.js.map