@opencode-ai/sdk 0.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/LICENSE +7 -0
  3. package/README.md +356 -0
  4. package/api-promise.d.mts +2 -0
  5. package/api-promise.d.mts.map +1 -0
  6. package/api-promise.d.ts +2 -0
  7. package/api-promise.d.ts.map +1 -0
  8. package/api-promise.js +6 -0
  9. package/api-promise.js.map +1 -0
  10. package/api-promise.mjs +2 -0
  11. package/api-promise.mjs.map +1 -0
  12. package/client.d.mts +226 -0
  13. package/client.d.mts.map +1 -0
  14. package/client.d.ts +226 -0
  15. package/client.d.ts.map +1 -0
  16. package/client.js +512 -0
  17. package/client.js.map +1 -0
  18. package/client.mjs +508 -0
  19. package/client.mjs.map +1 -0
  20. package/core/api-promise.d.mts +46 -0
  21. package/core/api-promise.d.mts.map +1 -0
  22. package/core/api-promise.d.ts +46 -0
  23. package/core/api-promise.d.ts.map +1 -0
  24. package/core/api-promise.js +74 -0
  25. package/core/api-promise.js.map +1 -0
  26. package/core/api-promise.mjs +70 -0
  27. package/core/api-promise.mjs.map +1 -0
  28. package/core/error.d.mts +46 -0
  29. package/core/error.d.mts.map +1 -0
  30. package/core/error.d.ts +46 -0
  31. package/core/error.d.ts.map +1 -0
  32. package/core/error.js +113 -0
  33. package/core/error.js.map +1 -0
  34. package/core/error.mjs +97 -0
  35. package/core/error.mjs.map +1 -0
  36. package/core/resource.d.mts +6 -0
  37. package/core/resource.d.mts.map +1 -0
  38. package/core/resource.d.ts +6 -0
  39. package/core/resource.d.ts.map +1 -0
  40. package/core/resource.js +11 -0
  41. package/core/resource.js.map +1 -0
  42. package/core/resource.mjs +7 -0
  43. package/core/resource.mjs.map +1 -0
  44. package/core/uploads.d.mts +3 -0
  45. package/core/uploads.d.mts.map +1 -0
  46. package/core/uploads.d.ts +3 -0
  47. package/core/uploads.d.ts.map +1 -0
  48. package/core/uploads.js +6 -0
  49. package/core/uploads.js.map +1 -0
  50. package/core/uploads.mjs +2 -0
  51. package/core/uploads.mjs.map +1 -0
  52. package/error.d.mts +2 -0
  53. package/error.d.mts.map +1 -0
  54. package/error.d.ts +2 -0
  55. package/error.d.ts.map +1 -0
  56. package/error.js +6 -0
  57. package/error.js.map +1 -0
  58. package/error.mjs +2 -0
  59. package/error.mjs.map +1 -0
  60. package/index.d.mts +6 -0
  61. package/index.d.mts.map +1 -0
  62. package/index.d.ts +6 -0
  63. package/index.d.ts.map +1 -0
  64. package/index.js +30 -0
  65. package/index.js.map +1 -0
  66. package/index.mjs +7 -0
  67. package/index.mjs.map +1 -0
  68. package/internal/builtin-types.d.mts +73 -0
  69. package/internal/builtin-types.d.mts.map +1 -0
  70. package/internal/builtin-types.d.ts +73 -0
  71. package/internal/builtin-types.d.ts.map +1 -0
  72. package/internal/builtin-types.js +4 -0
  73. package/internal/builtin-types.js.map +1 -0
  74. package/internal/builtin-types.mjs +3 -0
  75. package/internal/builtin-types.mjs.map +1 -0
  76. package/internal/detect-platform.d.mts +15 -0
  77. package/internal/detect-platform.d.mts.map +1 -0
  78. package/internal/detect-platform.d.ts +15 -0
  79. package/internal/detect-platform.d.ts.map +1 -0
  80. package/internal/detect-platform.js +162 -0
  81. package/internal/detect-platform.js.map +1 -0
  82. package/internal/detect-platform.mjs +157 -0
  83. package/internal/detect-platform.mjs.map +1 -0
  84. package/internal/errors.d.mts +3 -0
  85. package/internal/errors.d.mts.map +1 -0
  86. package/internal/errors.d.ts +3 -0
  87. package/internal/errors.d.ts.map +1 -0
  88. package/internal/errors.js +41 -0
  89. package/internal/errors.js.map +1 -0
  90. package/internal/errors.mjs +36 -0
  91. package/internal/errors.mjs.map +1 -0
  92. package/internal/headers.d.mts +20 -0
  93. package/internal/headers.d.mts.map +1 -0
  94. package/internal/headers.d.ts +20 -0
  95. package/internal/headers.d.ts.map +1 -0
  96. package/internal/headers.js +79 -0
  97. package/internal/headers.js.map +1 -0
  98. package/internal/headers.mjs +74 -0
  99. package/internal/headers.mjs.map +1 -0
  100. package/internal/parse.d.mts +12 -0
  101. package/internal/parse.d.mts.map +1 -0
  102. package/internal/parse.d.ts +12 -0
  103. package/internal/parse.d.ts.map +1 -0
  104. package/internal/parse.js +35 -0
  105. package/internal/parse.js.map +1 -0
  106. package/internal/parse.mjs +32 -0
  107. package/internal/parse.mjs.map +1 -0
  108. package/internal/request-options.d.mts +33 -0
  109. package/internal/request-options.d.mts.map +1 -0
  110. package/internal/request-options.d.ts +33 -0
  111. package/internal/request-options.d.ts.map +1 -0
  112. package/internal/request-options.js +14 -0
  113. package/internal/request-options.js.map +1 -0
  114. package/internal/request-options.mjs +10 -0
  115. package/internal/request-options.mjs.map +1 -0
  116. package/internal/shim-types.d.mts +17 -0
  117. package/internal/shim-types.d.mts.map +1 -0
  118. package/internal/shim-types.d.ts +17 -0
  119. package/internal/shim-types.d.ts.map +1 -0
  120. package/internal/shim-types.js +4 -0
  121. package/internal/shim-types.js.map +1 -0
  122. package/internal/shim-types.mjs +3 -0
  123. package/internal/shim-types.mjs.map +1 -0
  124. package/internal/shims.d.mts +20 -0
  125. package/internal/shims.d.mts.map +1 -0
  126. package/internal/shims.d.ts +20 -0
  127. package/internal/shims.d.ts.map +1 -0
  128. package/internal/shims.js +92 -0
  129. package/internal/shims.js.map +1 -0
  130. package/internal/shims.mjs +85 -0
  131. package/internal/shims.mjs.map +1 -0
  132. package/internal/to-file.d.mts +45 -0
  133. package/internal/to-file.d.mts.map +1 -0
  134. package/internal/to-file.d.ts +45 -0
  135. package/internal/to-file.d.ts.map +1 -0
  136. package/internal/to-file.js +91 -0
  137. package/internal/to-file.js.map +1 -0
  138. package/internal/to-file.mjs +88 -0
  139. package/internal/to-file.mjs.map +1 -0
  140. package/internal/tslib.js +81 -0
  141. package/internal/tslib.mjs +17 -0
  142. package/internal/types.d.mts +67 -0
  143. package/internal/types.d.mts.map +1 -0
  144. package/internal/types.d.ts +67 -0
  145. package/internal/types.d.ts.map +1 -0
  146. package/internal/types.js +4 -0
  147. package/internal/types.js.map +1 -0
  148. package/internal/types.mjs +3 -0
  149. package/internal/types.mjs.map +1 -0
  150. package/internal/uploads.d.mts +42 -0
  151. package/internal/uploads.d.mts.map +1 -0
  152. package/internal/uploads.d.ts +42 -0
  153. package/internal/uploads.d.ts.map +1 -0
  154. package/internal/uploads.js +141 -0
  155. package/internal/uploads.js.map +1 -0
  156. package/internal/uploads.mjs +131 -0
  157. package/internal/uploads.mjs.map +1 -0
  158. package/internal/utils/base64.d.mts +3 -0
  159. package/internal/utils/base64.d.mts.map +1 -0
  160. package/internal/utils/base64.d.ts +3 -0
  161. package/internal/utils/base64.d.ts.map +1 -0
  162. package/internal/utils/base64.js +38 -0
  163. package/internal/utils/base64.js.map +1 -0
  164. package/internal/utils/base64.mjs +33 -0
  165. package/internal/utils/base64.mjs.map +1 -0
  166. package/internal/utils/bytes.d.mts +4 -0
  167. package/internal/utils/bytes.d.mts.map +1 -0
  168. package/internal/utils/bytes.d.ts +4 -0
  169. package/internal/utils/bytes.d.ts.map +1 -0
  170. package/internal/utils/bytes.js +31 -0
  171. package/internal/utils/bytes.js.map +1 -0
  172. package/internal/utils/bytes.mjs +26 -0
  173. package/internal/utils/bytes.mjs.map +1 -0
  174. package/internal/utils/env.d.mts +9 -0
  175. package/internal/utils/env.d.mts.map +1 -0
  176. package/internal/utils/env.d.ts +9 -0
  177. package/internal/utils/env.d.ts.map +1 -0
  178. package/internal/utils/env.js +22 -0
  179. package/internal/utils/env.js.map +1 -0
  180. package/internal/utils/env.mjs +18 -0
  181. package/internal/utils/env.mjs.map +1 -0
  182. package/internal/utils/log.d.mts +37 -0
  183. package/internal/utils/log.d.mts.map +1 -0
  184. package/internal/utils/log.d.ts +37 -0
  185. package/internal/utils/log.d.ts.map +1 -0
  186. package/internal/utils/log.js +85 -0
  187. package/internal/utils/log.js.map +1 -0
  188. package/internal/utils/log.mjs +79 -0
  189. package/internal/utils/log.mjs.map +1 -0
  190. package/internal/utils/path.d.mts +15 -0
  191. package/internal/utils/path.d.mts.map +1 -0
  192. package/internal/utils/path.d.ts +15 -0
  193. package/internal/utils/path.d.ts.map +1 -0
  194. package/internal/utils/path.js +58 -0
  195. package/internal/utils/path.js.map +1 -0
  196. package/internal/utils/path.mjs +53 -0
  197. package/internal/utils/path.mjs.map +1 -0
  198. package/internal/utils/sleep.d.mts +2 -0
  199. package/internal/utils/sleep.d.mts.map +1 -0
  200. package/internal/utils/sleep.d.ts +2 -0
  201. package/internal/utils/sleep.d.ts.map +1 -0
  202. package/internal/utils/sleep.js +7 -0
  203. package/internal/utils/sleep.js.map +1 -0
  204. package/internal/utils/sleep.mjs +3 -0
  205. package/internal/utils/sleep.mjs.map +1 -0
  206. package/internal/utils/uuid.d.mts +5 -0
  207. package/internal/utils/uuid.d.mts.map +1 -0
  208. package/internal/utils/uuid.d.ts +5 -0
  209. package/internal/utils/uuid.d.ts.map +1 -0
  210. package/internal/utils/uuid.js +19 -0
  211. package/internal/utils/uuid.js.map +1 -0
  212. package/internal/utils/uuid.mjs +15 -0
  213. package/internal/utils/uuid.mjs.map +1 -0
  214. package/internal/utils/values.d.mts +18 -0
  215. package/internal/utils/values.d.mts.map +1 -0
  216. package/internal/utils/values.d.ts +18 -0
  217. package/internal/utils/values.d.ts.map +1 -0
  218. package/internal/utils/values.js +112 -0
  219. package/internal/utils/values.js.map +1 -0
  220. package/internal/utils/values.mjs +94 -0
  221. package/internal/utils/values.mjs.map +1 -0
  222. package/internal/utils.d.mts +7 -0
  223. package/internal/utils.d.mts.map +1 -0
  224. package/internal/utils.d.ts +7 -0
  225. package/internal/utils.d.ts.map +1 -0
  226. package/internal/utils.js +11 -0
  227. package/internal/utils.js.map +1 -0
  228. package/internal/utils.mjs +8 -0
  229. package/internal/utils.mjs.map +1 -0
  230. package/package.json +139 -0
  231. package/resource.d.mts +2 -0
  232. package/resource.d.mts.map +1 -0
  233. package/resource.d.ts +2 -0
  234. package/resource.d.ts.map +1 -0
  235. package/resource.js +6 -0
  236. package/resource.js.map +1 -0
  237. package/resource.mjs +2 -0
  238. package/resource.mjs.map +1 -0
  239. package/resources/app-info.d.mts +31 -0
  240. package/resources/app-info.d.mts.map +1 -0
  241. package/resources/app-info.d.ts +31 -0
  242. package/resources/app-info.d.ts.map +1 -0
  243. package/resources/app-info.js +15 -0
  244. package/resources/app-info.js.map +1 -0
  245. package/resources/app-info.mjs +11 -0
  246. package/resources/app-info.mjs.map +1 -0
  247. package/resources/app-initialize.d.mts +14 -0
  248. package/resources/app-initialize.d.mts.map +1 -0
  249. package/resources/app-initialize.d.ts +14 -0
  250. package/resources/app-initialize.d.ts.map +1 -0
  251. package/resources/app-initialize.js +15 -0
  252. package/resources/app-initialize.js.map +1 -0
  253. package/resources/app-initialize.mjs +11 -0
  254. package/resources/app-initialize.mjs.map +1 -0
  255. package/resources/config-get.d.mts +236 -0
  256. package/resources/config-get.d.mts.map +1 -0
  257. package/resources/config-get.d.ts +236 -0
  258. package/resources/config-get.d.ts.map +1 -0
  259. package/resources/config-get.js +15 -0
  260. package/resources/config-get.js.map +1 -0
  261. package/resources/config-get.mjs +11 -0
  262. package/resources/config-get.mjs.map +1 -0
  263. package/resources/event.d.mts +105 -0
  264. package/resources/event.d.mts.map +1 -0
  265. package/resources/event.d.ts +105 -0
  266. package/resources/event.d.ts.map +1 -0
  267. package/resources/event.js +15 -0
  268. package/resources/event.js.map +1 -0
  269. package/resources/event.mjs +11 -0
  270. package/resources/event.mjs.map +1 -0
  271. package/resources/file-search.d.mts +17 -0
  272. package/resources/file-search.d.mts.map +1 -0
  273. package/resources/file-search.d.ts +17 -0
  274. package/resources/file-search.d.ts.map +1 -0
  275. package/resources/file-search.js +15 -0
  276. package/resources/file-search.js.map +1 -0
  277. package/resources/file-search.mjs +11 -0
  278. package/resources/file-search.mjs.map +1 -0
  279. package/resources/index.d.mts +18 -0
  280. package/resources/index.d.mts.map +1 -0
  281. package/resources/index.d.ts +18 -0
  282. package/resources/index.d.ts.map +1 -0
  283. package/resources/index.js +39 -0
  284. package/resources/index.js.map +1 -0
  285. package/resources/index.mjs +19 -0
  286. package/resources/index.mjs.map +1 -0
  287. package/resources/installation-info.d.mts +17 -0
  288. package/resources/installation-info.d.mts.map +1 -0
  289. package/resources/installation-info.d.ts +17 -0
  290. package/resources/installation-info.d.ts.map +1 -0
  291. package/resources/installation-info.js +15 -0
  292. package/resources/installation-info.js.map +1 -0
  293. package/resources/installation-info.mjs +11 -0
  294. package/resources/installation-info.mjs.map +1 -0
  295. package/resources/path-get.d.mts +19 -0
  296. package/resources/path-get.d.mts.map +1 -0
  297. package/resources/path-get.d.ts +19 -0
  298. package/resources/path-get.d.ts.map +1 -0
  299. package/resources/path-get.js +15 -0
  300. package/resources/path-get.js.map +1 -0
  301. package/resources/path-get.mjs +11 -0
  302. package/resources/path-get.mjs.map +1 -0
  303. package/resources/provider-list.d.mts +58 -0
  304. package/resources/provider-list.d.mts.map +1 -0
  305. package/resources/provider-list.d.ts +58 -0
  306. package/resources/provider-list.d.ts.map +1 -0
  307. package/resources/provider-list.js +15 -0
  308. package/resources/provider-list.js.map +1 -0
  309. package/resources/provider-list.mjs +11 -0
  310. package/resources/provider-list.mjs.map +1 -0
  311. package/resources/session-abort.d.mts +17 -0
  312. package/resources/session-abort.d.mts.map +1 -0
  313. package/resources/session-abort.d.ts +17 -0
  314. package/resources/session-abort.d.ts.map +1 -0
  315. package/resources/session-abort.js +15 -0
  316. package/resources/session-abort.js.map +1 -0
  317. package/resources/session-abort.mjs +11 -0
  318. package/resources/session-abort.mjs.map +1 -0
  319. package/resources/session-chat.d.mts +160 -0
  320. package/resources/session-chat.d.mts.map +1 -0
  321. package/resources/session-chat.d.ts +160 -0
  322. package/resources/session-chat.d.ts.map +1 -0
  323. package/resources/session-chat.js +15 -0
  324. package/resources/session-chat.js.map +1 -0
  325. package/resources/session-chat.mjs +11 -0
  326. package/resources/session-chat.mjs.map +1 -0
  327. package/resources/session-create.d.mts +30 -0
  328. package/resources/session-create.d.mts.map +1 -0
  329. package/resources/session-create.d.ts +30 -0
  330. package/resources/session-create.d.ts.map +1 -0
  331. package/resources/session-create.js +15 -0
  332. package/resources/session-create.js.map +1 -0
  333. package/resources/session-create.mjs +11 -0
  334. package/resources/session-create.mjs.map +1 -0
  335. package/resources/session-initialize.d.mts +19 -0
  336. package/resources/session-initialize.d.mts.map +1 -0
  337. package/resources/session-initialize.d.ts +19 -0
  338. package/resources/session-initialize.d.ts.map +1 -0
  339. package/resources/session-initialize.js +15 -0
  340. package/resources/session-initialize.js.map +1 -0
  341. package/resources/session-initialize.mjs +11 -0
  342. package/resources/session-initialize.mjs.map +1 -0
  343. package/resources/session-list.d.mts +15 -0
  344. package/resources/session-list.d.mts.map +1 -0
  345. package/resources/session-list.d.ts +15 -0
  346. package/resources/session-list.d.ts.map +1 -0
  347. package/resources/session-list.js +15 -0
  348. package/resources/session-list.js.map +1 -0
  349. package/resources/session-list.mjs +11 -0
  350. package/resources/session-list.mjs.map +1 -0
  351. package/resources/session-messages.d.mts +18 -0
  352. package/resources/session-messages.d.mts.map +1 -0
  353. package/resources/session-messages.d.ts +18 -0
  354. package/resources/session-messages.d.ts.map +1 -0
  355. package/resources/session-messages.js +15 -0
  356. package/resources/session-messages.js.map +1 -0
  357. package/resources/session-messages.mjs +11 -0
  358. package/resources/session-messages.mjs.map +1 -0
  359. package/resources/session-share.d.mts +17 -0
  360. package/resources/session-share.d.mts.map +1 -0
  361. package/resources/session-share.d.ts +17 -0
  362. package/resources/session-share.d.ts.map +1 -0
  363. package/resources/session-share.js +15 -0
  364. package/resources/session-share.js.map +1 -0
  365. package/resources/session-share.mjs +11 -0
  366. package/resources/session-share.mjs.map +1 -0
  367. package/resources/session-summarize.d.mts +19 -0
  368. package/resources/session-summarize.d.mts.map +1 -0
  369. package/resources/session-summarize.d.ts +19 -0
  370. package/resources/session-summarize.d.ts.map +1 -0
  371. package/resources/session-summarize.js +15 -0
  372. package/resources/session-summarize.js.map +1 -0
  373. package/resources/session-summarize.mjs +11 -0
  374. package/resources/session-summarize.mjs.map +1 -0
  375. package/resources/session-unshare.d.mts +17 -0
  376. package/resources/session-unshare.d.mts.map +1 -0
  377. package/resources/session-unshare.d.ts +17 -0
  378. package/resources/session-unshare.d.ts.map +1 -0
  379. package/resources/session-unshare.js +15 -0
  380. package/resources/session-unshare.js.map +1 -0
  381. package/resources/session-unshare.mjs +11 -0
  382. package/resources/session-unshare.mjs.map +1 -0
  383. package/resources.d.mts +2 -0
  384. package/resources.d.mts.map +1 -0
  385. package/resources.d.ts +2 -0
  386. package/resources.d.ts.map +1 -0
  387. package/resources.js +5 -0
  388. package/resources.js.map +1 -0
  389. package/resources.mjs +2 -0
  390. package/resources.mjs.map +1 -0
  391. package/src/api-promise.ts +2 -0
  392. package/src/client.ts +860 -0
  393. package/src/core/README.md +3 -0
  394. package/src/core/api-promise.ts +92 -0
  395. package/src/core/error.ts +130 -0
  396. package/src/core/resource.ts +11 -0
  397. package/src/core/uploads.ts +2 -0
  398. package/src/error.ts +2 -0
  399. package/src/index.ts +22 -0
  400. package/src/internal/README.md +3 -0
  401. package/src/internal/builtin-types.ts +93 -0
  402. package/src/internal/detect-platform.ts +196 -0
  403. package/src/internal/errors.ts +33 -0
  404. package/src/internal/headers.ts +97 -0
  405. package/src/internal/parse.ts +50 -0
  406. package/src/internal/request-options.ts +38 -0
  407. package/src/internal/shim-types.ts +26 -0
  408. package/src/internal/shims.ts +107 -0
  409. package/src/internal/to-file.ts +154 -0
  410. package/src/internal/types.ts +92 -0
  411. package/src/internal/uploads.ts +187 -0
  412. package/src/internal/utils/base64.ts +40 -0
  413. package/src/internal/utils/bytes.ts +32 -0
  414. package/src/internal/utils/env.ts +18 -0
  415. package/src/internal/utils/log.ts +126 -0
  416. package/src/internal/utils/path.ts +63 -0
  417. package/src/internal/utils/sleep.ts +3 -0
  418. package/src/internal/utils/uuid.ts +17 -0
  419. package/src/internal/utils/values.ts +105 -0
  420. package/src/internal/utils.ts +8 -0
  421. package/src/lib/.keep +4 -0
  422. package/src/resource.ts +2 -0
  423. package/src/resources/app-info.ts +46 -0
  424. package/src/resources/app-initialize.ts +20 -0
  425. package/src/resources/config-get.ts +294 -0
  426. package/src/resources/event.ts +150 -0
  427. package/src/resources/file-search.ts +27 -0
  428. package/src/resources/index.ts +38 -0
  429. package/src/resources/installation-info.ts +24 -0
  430. package/src/resources/path-get.ts +28 -0
  431. package/src/resources/provider-list.ts +80 -0
  432. package/src/resources/session-abort.ts +27 -0
  433. package/src/resources/session-chat.ts +250 -0
  434. package/src/resources/session-create.ts +44 -0
  435. package/src/resources/session-initialize.ts +34 -0
  436. package/src/resources/session-list.ts +21 -0
  437. package/src/resources/session-messages.ts +31 -0
  438. package/src/resources/session-share.ts +23 -0
  439. package/src/resources/session-summarize.ts +34 -0
  440. package/src/resources/session-unshare.ts +26 -0
  441. package/src/resources.ts +1 -0
  442. package/src/tsconfig.json +11 -0
  443. package/src/uploads.ts +2 -0
  444. package/src/version.ts +1 -0
  445. package/uploads.d.mts +2 -0
  446. package/uploads.d.mts.map +1 -0
  447. package/uploads.d.ts +2 -0
  448. package/uploads.d.ts.map +1 -0
  449. package/uploads.js +6 -0
  450. package/uploads.js.map +1 -0
  451. package/uploads.mjs +2 -0
  452. package/uploads.mjs.map +1 -0
  453. package/version.d.mts +2 -0
  454. package/version.d.mts.map +1 -0
  455. package/version.d.ts +2 -0
  456. package/version.d.ts.map +1 -0
  457. package/version.js +5 -0
  458. package/version.js.map +1 -0
  459. package/version.mjs +2 -0
  460. package/version.mjs.map +1 -0
@@ -0,0 +1,33 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { OpencodeError } from "../../core/error.mjs";
3
+ import { encodeUTF8 } from "./bytes.mjs";
4
+ export const toBase64 = (data) => {
5
+ if (!data)
6
+ return '';
7
+ if (typeof globalThis.Buffer !== 'undefined') {
8
+ return globalThis.Buffer.from(data).toString('base64');
9
+ }
10
+ if (typeof data === 'string') {
11
+ data = encodeUTF8(data);
12
+ }
13
+ if (typeof btoa !== 'undefined') {
14
+ return btoa(String.fromCharCode.apply(null, data));
15
+ }
16
+ throw new OpencodeError('Cannot generate base64 string; Expected `Buffer` or `btoa` to be defined');
17
+ };
18
+ export const fromBase64 = (str) => {
19
+ if (typeof globalThis.Buffer !== 'undefined') {
20
+ const buf = globalThis.Buffer.from(str, 'base64');
21
+ return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
22
+ }
23
+ if (typeof atob !== 'undefined') {
24
+ const bstr = atob(str);
25
+ const buf = new Uint8Array(bstr.length);
26
+ for (let i = 0; i < bstr.length; i++) {
27
+ buf[i] = bstr.charCodeAt(i);
28
+ }
29
+ return buf;
30
+ }
31
+ throw new OpencodeError('Cannot decode base64 string; Expected `Buffer` or `atob` to be defined');
32
+ };
33
+ //# sourceMappingURL=base64.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.mjs","sourceRoot":"","sources":["../../src/internal/utils/base64.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,aAAa,EAAE;OACjB,EAAE,UAAU,EAAE;AAErB,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAA4C,EAAU,EAAE;IAC/E,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,IAAI,OAAQ,UAAkB,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACtD,OAAQ,UAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,IAAI,aAAa,CAAC,0EAA0E,CAAC,CAAC;AACtG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAc,EAAE;IACpD,IAAI,OAAQ,UAAkB,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACtD,MAAM,GAAG,GAAI,UAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC3D,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,IAAI,aAAa,CAAC,wEAAwE,CAAC,CAAC;AACpG,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function concatBytes(buffers: Uint8Array[]): Uint8Array;
2
+ export declare function encodeUTF8(str: string): Uint8Array<ArrayBufferLike>;
3
+ export declare function decodeUTF8(bytes: Uint8Array): string;
4
+ //# sourceMappingURL=bytes.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.d.mts","sourceRoot":"","sources":["../../src/internal/utils/bytes.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,CAa7D;AAGD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,+BAMrC;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,UAM3C"}
@@ -0,0 +1,4 @@
1
+ export declare function concatBytes(buffers: Uint8Array[]): Uint8Array;
2
+ export declare function encodeUTF8(str: string): Uint8Array<ArrayBufferLike>;
3
+ export declare function decodeUTF8(bytes: Uint8Array): string;
4
+ //# sourceMappingURL=bytes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/internal/utils/bytes.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,CAa7D;AAGD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,+BAMrC;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,UAM3C"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.concatBytes = concatBytes;
4
+ exports.encodeUTF8 = encodeUTF8;
5
+ exports.decodeUTF8 = decodeUTF8;
6
+ function concatBytes(buffers) {
7
+ let length = 0;
8
+ for (const buffer of buffers) {
9
+ length += buffer.length;
10
+ }
11
+ const output = new Uint8Array(length);
12
+ let index = 0;
13
+ for (const buffer of buffers) {
14
+ output.set(buffer, index);
15
+ index += buffer.length;
16
+ }
17
+ return output;
18
+ }
19
+ let encodeUTF8_;
20
+ function encodeUTF8(str) {
21
+ let encoder;
22
+ return (encodeUTF8_ ??
23
+ ((encoder = new globalThis.TextEncoder()), (encodeUTF8_ = encoder.encode.bind(encoder))))(str);
24
+ }
25
+ let decodeUTF8_;
26
+ function decodeUTF8(bytes) {
27
+ let decoder;
28
+ return (decodeUTF8_ ??
29
+ ((decoder = new globalThis.TextDecoder()), (decodeUTF8_ = decoder.decode.bind(decoder))))(bytes);
30
+ }
31
+ //# sourceMappingURL=bytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/internal/utils/bytes.ts"],"names":[],"mappings":";;AAAA,kCAaC;AAGD,gCAMC;AAGD,gCAMC;AA/BD,SAAgB,WAAW,CAAC,OAAqB;IAC/C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1B,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,IAAI,WAAwC,CAAC;AAC7C,SAAgB,UAAU,CAAC,GAAW;IACpC,IAAI,OAAO,CAAC;IACZ,OAAO,CACL,WAAW;QACX,CAAC,CAAC,OAAO,GAAG,IAAK,UAAkB,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAClG,CAAC,GAAG,CAAC,CAAC;AACT,CAAC;AAED,IAAI,WAA0C,CAAC;AAC/C,SAAgB,UAAU,CAAC,KAAiB;IAC1C,IAAI,OAAO,CAAC;IACZ,OAAO,CACL,WAAW;QACX,CAAC,CAAC,OAAO,GAAG,IAAK,UAAkB,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAClG,CAAC,KAAK,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,26 @@
1
+ export function concatBytes(buffers) {
2
+ let length = 0;
3
+ for (const buffer of buffers) {
4
+ length += buffer.length;
5
+ }
6
+ const output = new Uint8Array(length);
7
+ let index = 0;
8
+ for (const buffer of buffers) {
9
+ output.set(buffer, index);
10
+ index += buffer.length;
11
+ }
12
+ return output;
13
+ }
14
+ let encodeUTF8_;
15
+ export function encodeUTF8(str) {
16
+ let encoder;
17
+ return (encodeUTF8_ ??
18
+ ((encoder = new globalThis.TextEncoder()), (encodeUTF8_ = encoder.encode.bind(encoder))))(str);
19
+ }
20
+ let decodeUTF8_;
21
+ export function decodeUTF8(bytes) {
22
+ let decoder;
23
+ return (decodeUTF8_ ??
24
+ ((decoder = new globalThis.TextDecoder()), (decodeUTF8_ = decoder.decode.bind(decoder))))(bytes);
25
+ }
26
+ //# sourceMappingURL=bytes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.mjs","sourceRoot":"","sources":["../../src/internal/utils/bytes.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CAAC,OAAqB;IAC/C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1B,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,IAAI,WAAwC,CAAC;AAC7C,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,OAAO,CAAC;IACZ,OAAO,CACL,WAAW;QACX,CAAC,CAAC,OAAO,GAAG,IAAK,UAAkB,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAClG,CAAC,GAAG,CAAC,CAAC;AACT,CAAC;AAED,IAAI,WAA0C,CAAC;AAC/C,MAAM,UAAU,UAAU,CAAC,KAAiB;IAC1C,IAAI,OAAO,CAAC;IACZ,OAAO,CACL,WAAW;QACX,CAAC,CAAC,OAAO,GAAG,IAAK,UAAkB,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAClG,CAAC,KAAK,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Read an environment variable.
3
+ *
4
+ * Trims beginning and trailing whitespace.
5
+ *
6
+ * Will return undefined if the environment variable doesn't exist or cannot be accessed.
7
+ */
8
+ export declare const readEnv: (env: string) => string | undefined;
9
+ //# sourceMappingURL=env.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.mts","sourceRoot":"","sources":["../../src/internal/utils/env.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAQ9C,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Read an environment variable.
3
+ *
4
+ * Trims beginning and trailing whitespace.
5
+ *
6
+ * Will return undefined if the environment variable doesn't exist or cannot be accessed.
7
+ */
8
+ export declare const readEnv: (env: string) => string | undefined;
9
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/internal/utils/env.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAQ9C,CAAC"}
@@ -0,0 +1,22 @@
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.readEnv = void 0;
5
+ /**
6
+ * Read an environment variable.
7
+ *
8
+ * Trims beginning and trailing whitespace.
9
+ *
10
+ * Will return undefined if the environment variable doesn't exist or cannot be accessed.
11
+ */
12
+ const readEnv = (env) => {
13
+ if (typeof globalThis.process !== 'undefined') {
14
+ return globalThis.process.env?.[env]?.trim() ?? undefined;
15
+ }
16
+ if (typeof globalThis.Deno !== 'undefined') {
17
+ return globalThis.Deno.env?.get?.(env)?.trim();
18
+ }
19
+ return undefined;
20
+ };
21
+ exports.readEnv = readEnv;
22
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/internal/utils/env.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF;;;;;;GAMG;AACI,MAAM,OAAO,GAAG,CAAC,GAAW,EAAsB,EAAE;IACzD,IAAI,OAAQ,UAAkB,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACvD,OAAQ,UAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IACrE,CAAC;IACD,IAAI,OAAQ,UAAkB,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACpD,OAAQ,UAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AARW,QAAA,OAAO,WAQlB"}
@@ -0,0 +1,18 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ /**
3
+ * Read an environment variable.
4
+ *
5
+ * Trims beginning and trailing whitespace.
6
+ *
7
+ * Will return undefined if the environment variable doesn't exist or cannot be accessed.
8
+ */
9
+ export const readEnv = (env) => {
10
+ if (typeof globalThis.process !== 'undefined') {
11
+ return globalThis.process.env?.[env]?.trim() ?? undefined;
12
+ }
13
+ if (typeof globalThis.Deno !== 'undefined') {
14
+ return globalThis.Deno.env?.get?.(env)?.trim();
15
+ }
16
+ return undefined;
17
+ };
18
+ //# sourceMappingURL=env.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.mjs","sourceRoot":"","sources":["../../src/internal/utils/env.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAsB,EAAE;IACzD,IAAI,OAAQ,UAAkB,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACvD,OAAQ,UAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IACrE,CAAC;IACD,IAAI,OAAQ,UAAkB,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACpD,OAAQ,UAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { type Opencode } from "../../client.mjs";
2
+ import { RequestOptions } from "../request-options.mjs";
3
+ type LogFn = (message: string, ...rest: unknown[]) => void;
4
+ export type Logger = {
5
+ error: LogFn;
6
+ warn: LogFn;
7
+ info: LogFn;
8
+ debug: LogFn;
9
+ };
10
+ export type LogLevel = 'off' | 'error' | 'warn' | 'info' | 'debug';
11
+ export declare const parseLogLevel: (maybeLevel: string | undefined, sourceName: string, client: Opencode) => LogLevel | undefined;
12
+ export declare function loggerFor(client: Opencode): Logger;
13
+ export declare const formatRequestDetails: (details: {
14
+ options?: RequestOptions | undefined;
15
+ headers?: Headers | Record<string, string> | undefined;
16
+ retryOfRequestLogID?: string | undefined;
17
+ retryOf?: string | undefined;
18
+ url?: string | undefined;
19
+ status?: number | undefined;
20
+ method?: string | undefined;
21
+ durationMs?: number | undefined;
22
+ message?: unknown;
23
+ body?: unknown;
24
+ }) => {
25
+ options?: RequestOptions | undefined;
26
+ headers?: Headers | Record<string, string> | undefined;
27
+ retryOfRequestLogID?: string | undefined;
28
+ retryOf?: string | undefined;
29
+ url?: string | undefined;
30
+ status?: number | undefined;
31
+ method?: string | undefined;
32
+ durationMs?: number | undefined;
33
+ message?: unknown;
34
+ body?: unknown;
35
+ };
36
+ export {};
37
+ //# sourceMappingURL=log.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.mts","sourceRoot":"","sources":["../../src/internal/utils/log.ts"],"names":[],"mappings":"OAGO,EAAE,KAAK,QAAQ,EAAE;OACjB,EAAE,cAAc,EAAE;AAEzB,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAC3D,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAUnE,eAAO,MAAM,aAAa,GACxB,YAAY,MAAM,GAAG,SAAS,EAC9B,YAAY,MAAM,EAClB,QAAQ,QAAQ,KACf,QAAQ,GAAG,SAab,CAAC;AAsBF,wBAAgB,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAsBlD;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS;IAC5C,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACvD,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;cAVW,cAAc,GAAG,SAAS;cAC1B,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;0BAChC,MAAM,GAAG,SAAS;cAC9B,MAAM,GAAG,SAAS;UACtB,MAAM,GAAG,SAAS;aACf,MAAM,GAAG,SAAS;aAClB,MAAM,GAAG,SAAS;iBACd,MAAM,GAAG,SAAS;cACrB,OAAO;WACV,OAAO;CA6Bf,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { type Opencode } from "../../client.js";
2
+ import { RequestOptions } from "../request-options.js";
3
+ type LogFn = (message: string, ...rest: unknown[]) => void;
4
+ export type Logger = {
5
+ error: LogFn;
6
+ warn: LogFn;
7
+ info: LogFn;
8
+ debug: LogFn;
9
+ };
10
+ export type LogLevel = 'off' | 'error' | 'warn' | 'info' | 'debug';
11
+ export declare const parseLogLevel: (maybeLevel: string | undefined, sourceName: string, client: Opencode) => LogLevel | undefined;
12
+ export declare function loggerFor(client: Opencode): Logger;
13
+ export declare const formatRequestDetails: (details: {
14
+ options?: RequestOptions | undefined;
15
+ headers?: Headers | Record<string, string> | undefined;
16
+ retryOfRequestLogID?: string | undefined;
17
+ retryOf?: string | undefined;
18
+ url?: string | undefined;
19
+ status?: number | undefined;
20
+ method?: string | undefined;
21
+ durationMs?: number | undefined;
22
+ message?: unknown;
23
+ body?: unknown;
24
+ }) => {
25
+ options?: RequestOptions | undefined;
26
+ headers?: Headers | Record<string, string> | undefined;
27
+ retryOfRequestLogID?: string | undefined;
28
+ retryOf?: string | undefined;
29
+ url?: string | undefined;
30
+ status?: number | undefined;
31
+ method?: string | undefined;
32
+ durationMs?: number | undefined;
33
+ message?: unknown;
34
+ body?: unknown;
35
+ };
36
+ export {};
37
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/internal/utils/log.ts"],"names":[],"mappings":"OAGO,EAAE,KAAK,QAAQ,EAAE;OACjB,EAAE,cAAc,EAAE;AAEzB,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAC3D,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAUnE,eAAO,MAAM,aAAa,GACxB,YAAY,MAAM,GAAG,SAAS,EAC9B,YAAY,MAAM,EAClB,QAAQ,QAAQ,KACf,QAAQ,GAAG,SAab,CAAC;AAsBF,wBAAgB,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAsBlD;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS;IAC5C,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACvD,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;cAVW,cAAc,GAAG,SAAS;cAC1B,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;0BAChC,MAAM,GAAG,SAAS;cAC9B,MAAM,GAAG,SAAS;UACtB,MAAM,GAAG,SAAS;aACf,MAAM,GAAG,SAAS;aAClB,MAAM,GAAG,SAAS;iBACd,MAAM,GAAG,SAAS;cACrB,OAAO;WACV,OAAO;CA6Bf,CAAC"}
@@ -0,0 +1,85 @@
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.formatRequestDetails = exports.parseLogLevel = void 0;
5
+ exports.loggerFor = loggerFor;
6
+ const values_1 = require("./values.js");
7
+ const levelNumbers = {
8
+ off: 0,
9
+ error: 200,
10
+ warn: 300,
11
+ info: 400,
12
+ debug: 500,
13
+ };
14
+ const parseLogLevel = (maybeLevel, sourceName, client) => {
15
+ if (!maybeLevel) {
16
+ return undefined;
17
+ }
18
+ if ((0, values_1.hasOwn)(levelNumbers, maybeLevel)) {
19
+ return maybeLevel;
20
+ }
21
+ loggerFor(client).warn(`${sourceName} was set to ${JSON.stringify(maybeLevel)}, expected one of ${JSON.stringify(Object.keys(levelNumbers))}`);
22
+ return undefined;
23
+ };
24
+ exports.parseLogLevel = parseLogLevel;
25
+ function noop() { }
26
+ function makeLogFn(fnLevel, logger, logLevel) {
27
+ if (!logger || levelNumbers[fnLevel] > levelNumbers[logLevel]) {
28
+ return noop;
29
+ }
30
+ else {
31
+ // Don't wrap logger functions, we want the stacktrace intact!
32
+ return logger[fnLevel].bind(logger);
33
+ }
34
+ }
35
+ const noopLogger = {
36
+ error: noop,
37
+ warn: noop,
38
+ info: noop,
39
+ debug: noop,
40
+ };
41
+ let cachedLoggers = /** @__PURE__ */ new WeakMap();
42
+ function loggerFor(client) {
43
+ const logger = client.logger;
44
+ const logLevel = client.logLevel ?? 'off';
45
+ if (!logger) {
46
+ return noopLogger;
47
+ }
48
+ const cachedLogger = cachedLoggers.get(logger);
49
+ if (cachedLogger && cachedLogger[0] === logLevel) {
50
+ return cachedLogger[1];
51
+ }
52
+ const levelLogger = {
53
+ error: makeLogFn('error', logger, logLevel),
54
+ warn: makeLogFn('warn', logger, logLevel),
55
+ info: makeLogFn('info', logger, logLevel),
56
+ debug: makeLogFn('debug', logger, logLevel),
57
+ };
58
+ cachedLoggers.set(logger, [logLevel, levelLogger]);
59
+ return levelLogger;
60
+ }
61
+ const formatRequestDetails = (details) => {
62
+ if (details.options) {
63
+ details.options = { ...details.options };
64
+ delete details.options['headers']; // redundant + leaks internals
65
+ }
66
+ if (details.headers) {
67
+ details.headers = Object.fromEntries((details.headers instanceof Headers ? [...details.headers] : Object.entries(details.headers)).map(([name, value]) => [
68
+ name,
69
+ (name.toLowerCase() === 'authorization' ||
70
+ name.toLowerCase() === 'cookie' ||
71
+ name.toLowerCase() === 'set-cookie') ?
72
+ '***'
73
+ : value,
74
+ ]));
75
+ }
76
+ if ('retryOfRequestLogID' in details) {
77
+ if (details.retryOfRequestLogID) {
78
+ details.retryOf = details.retryOfRequestLogID;
79
+ }
80
+ delete details.retryOfRequestLogID;
81
+ }
82
+ return details;
83
+ };
84
+ exports.formatRequestDetails = formatRequestDetails;
85
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/internal/utils/log.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { hasOwn } from "./values.mjs";
3
+ const levelNumbers = {
4
+ off: 0,
5
+ error: 200,
6
+ warn: 300,
7
+ info: 400,
8
+ debug: 500,
9
+ };
10
+ export const parseLogLevel = (maybeLevel, sourceName, client) => {
11
+ if (!maybeLevel) {
12
+ return undefined;
13
+ }
14
+ if (hasOwn(levelNumbers, maybeLevel)) {
15
+ return maybeLevel;
16
+ }
17
+ loggerFor(client).warn(`${sourceName} was set to ${JSON.stringify(maybeLevel)}, expected one of ${JSON.stringify(Object.keys(levelNumbers))}`);
18
+ return undefined;
19
+ };
20
+ function noop() { }
21
+ function makeLogFn(fnLevel, logger, logLevel) {
22
+ if (!logger || levelNumbers[fnLevel] > levelNumbers[logLevel]) {
23
+ return noop;
24
+ }
25
+ else {
26
+ // Don't wrap logger functions, we want the stacktrace intact!
27
+ return logger[fnLevel].bind(logger);
28
+ }
29
+ }
30
+ const noopLogger = {
31
+ error: noop,
32
+ warn: noop,
33
+ info: noop,
34
+ debug: noop,
35
+ };
36
+ let cachedLoggers = /** @__PURE__ */ new WeakMap();
37
+ export function loggerFor(client) {
38
+ const logger = client.logger;
39
+ const logLevel = client.logLevel ?? 'off';
40
+ if (!logger) {
41
+ return noopLogger;
42
+ }
43
+ const cachedLogger = cachedLoggers.get(logger);
44
+ if (cachedLogger && cachedLogger[0] === logLevel) {
45
+ return cachedLogger[1];
46
+ }
47
+ const levelLogger = {
48
+ error: makeLogFn('error', logger, logLevel),
49
+ warn: makeLogFn('warn', logger, logLevel),
50
+ info: makeLogFn('info', logger, logLevel),
51
+ debug: makeLogFn('debug', logger, logLevel),
52
+ };
53
+ cachedLoggers.set(logger, [logLevel, levelLogger]);
54
+ return levelLogger;
55
+ }
56
+ export const formatRequestDetails = (details) => {
57
+ if (details.options) {
58
+ details.options = { ...details.options };
59
+ delete details.options['headers']; // redundant + leaks internals
60
+ }
61
+ if (details.headers) {
62
+ details.headers = Object.fromEntries((details.headers instanceof Headers ? [...details.headers] : Object.entries(details.headers)).map(([name, value]) => [
63
+ name,
64
+ (name.toLowerCase() === 'authorization' ||
65
+ name.toLowerCase() === 'cookie' ||
66
+ name.toLowerCase() === 'set-cookie') ?
67
+ '***'
68
+ : value,
69
+ ]));
70
+ }
71
+ if ('retryOfRequestLogID' in details) {
72
+ if (details.retryOfRequestLogID) {
73
+ details.retryOf = details.retryOfRequestLogID;
74
+ }
75
+ delete details.retryOfRequestLogID;
76
+ }
77
+ return details;
78
+ };
79
+ //# sourceMappingURL=log.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.mjs","sourceRoot":"","sources":["../../src/internal/utils/log.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Percent-encode everything that isn't safe to have in a path without encoding safe chars.
3
+ *
4
+ * Taken from https://datatracker.ietf.org/doc/html/rfc3986#section-3.3:
5
+ * > unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
6
+ * > sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
7
+ * > pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
8
+ */
9
+ export declare function encodeURIPath(str: string): string;
10
+ export declare const createPathTagFunction: (pathEncoder?: typeof encodeURIPath) => (statics: readonly string[], ...params: readonly unknown[]) => string;
11
+ /**
12
+ * URI-encodes path params and ensures no unsafe /./ or /../ path segments are introduced.
13
+ */
14
+ export declare const path: (statics: readonly string[], ...params: readonly unknown[]) => string;
15
+ //# sourceMappingURL=path.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.d.mts","sourceRoot":"","sources":["../../src/internal/utils/path.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,UAExC;AAED,eAAO,MAAM,qBAAqB,GAAI,kCAA2B,MACjD,SAAS,SAAS,MAAM,EAAE,EAAE,GAAG,QAAQ,SAAS,OAAO,EAAE,KAAG,MA0CzE,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,IAAI,YA/CQ,SAAS,MAAM,EAAE,aAAa,SAAS,OAAO,EAAE,KAAG,MA+CJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Percent-encode everything that isn't safe to have in a path without encoding safe chars.
3
+ *
4
+ * Taken from https://datatracker.ietf.org/doc/html/rfc3986#section-3.3:
5
+ * > unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
6
+ * > sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
7
+ * > pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
8
+ */
9
+ export declare function encodeURIPath(str: string): string;
10
+ export declare const createPathTagFunction: (pathEncoder?: typeof encodeURIPath) => (statics: readonly string[], ...params: readonly unknown[]) => string;
11
+ /**
12
+ * URI-encodes path params and ensures no unsafe /./ or /../ path segments are introduced.
13
+ */
14
+ export declare const path: (statics: readonly string[], ...params: readonly unknown[]) => string;
15
+ //# sourceMappingURL=path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/internal/utils/path.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,UAExC;AAED,eAAO,MAAM,qBAAqB,GAAI,kCAA2B,MACjD,SAAS,SAAS,MAAM,EAAE,EAAE,GAAG,QAAQ,SAAS,OAAO,EAAE,KAAG,MA0CzE,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,IAAI,YA/CQ,SAAS,MAAM,EAAE,aAAa,SAAS,OAAO,EAAE,KAAG,MA+CJ,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.path = exports.createPathTagFunction = void 0;
4
+ exports.encodeURIPath = encodeURIPath;
5
+ const error_1 = require("../../core/error.js");
6
+ /**
7
+ * Percent-encode everything that isn't safe to have in a path without encoding safe chars.
8
+ *
9
+ * Taken from https://datatracker.ietf.org/doc/html/rfc3986#section-3.3:
10
+ * > unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
11
+ * > sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
12
+ * > pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
13
+ */
14
+ function encodeURIPath(str) {
15
+ return str.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g, encodeURIComponent);
16
+ }
17
+ const createPathTagFunction = (pathEncoder = encodeURIPath) => function path(statics, ...params) {
18
+ // If there are no params, no processing is needed.
19
+ if (statics.length === 1)
20
+ return statics[0];
21
+ let postPath = false;
22
+ const path = statics.reduce((previousValue, currentValue, index) => {
23
+ if (/[?#]/.test(currentValue)) {
24
+ postPath = true;
25
+ }
26
+ return (previousValue +
27
+ currentValue +
28
+ (index === params.length ? '' : (postPath ? encodeURIComponent : pathEncoder)(String(params[index]))));
29
+ }, '');
30
+ const pathOnly = path.split(/[?#]/, 1)[0];
31
+ const invalidSegments = [];
32
+ const invalidSegmentPattern = /(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;
33
+ let match;
34
+ // Find all invalid segments
35
+ while ((match = invalidSegmentPattern.exec(pathOnly)) !== null) {
36
+ invalidSegments.push({
37
+ start: match.index,
38
+ length: match[0].length,
39
+ });
40
+ }
41
+ if (invalidSegments.length > 0) {
42
+ let lastEnd = 0;
43
+ const underline = invalidSegments.reduce((acc, segment) => {
44
+ const spaces = ' '.repeat(segment.start - lastEnd);
45
+ const arrows = '^'.repeat(segment.length);
46
+ lastEnd = segment.start + segment.length;
47
+ return acc + spaces + arrows;
48
+ }, '');
49
+ throw new error_1.OpencodeError(`Path parameters result in path with invalid segments:\n${path}\n${underline}`);
50
+ }
51
+ return path;
52
+ };
53
+ exports.createPathTagFunction = createPathTagFunction;
54
+ /**
55
+ * URI-encodes path params and ensures no unsafe /./ or /../ path segments are introduced.
56
+ */
57
+ exports.path = (0, exports.createPathTagFunction)(encodeURIPath);
58
+ //# sourceMappingURL=path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/internal/utils/path.ts"],"names":[],"mappings":";;;AAUA,sCAEC;AAZD,+CAAiD;AAEjD;;;;;;;GAOG;AACH,SAAgB,aAAa,CAAC,GAAW;IACvC,OAAO,GAAG,CAAC,OAAO,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,CAAC;AAC7E,CAAC;AAEM,MAAM,qBAAqB,GAAG,CAAC,WAAW,GAAG,aAAa,EAAE,EAAE,CACnE,SAAS,IAAI,CAAC,OAA0B,EAAE,GAAG,MAA0B;IACrE,mDAAmD;IACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;IAE7C,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;QACjE,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,OAAO,CACL,aAAa;YACb,YAAY;YACZ,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACtG,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,MAAM,qBAAqB,GAAG,oCAAoC,CAAC;IACnE,IAAI,KAAK,CAAC;IAEV,4BAA4B;IAC5B,OAAO,CAAC,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/D,eAAe,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1C,OAAO,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;YACzC,OAAO,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;QAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,IAAI,qBAAa,CAAC,0DAA0D,IAAI,KAAK,SAAS,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA3CS,QAAA,qBAAqB,yBA2C9B;AAEJ;;GAEG;AACU,QAAA,IAAI,GAAmB,IAAA,6BAAqB,EAAC,aAAa,CAAC,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { OpencodeError } from "../../core/error.mjs";
2
+ /**
3
+ * Percent-encode everything that isn't safe to have in a path without encoding safe chars.
4
+ *
5
+ * Taken from https://datatracker.ietf.org/doc/html/rfc3986#section-3.3:
6
+ * > unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
7
+ * > sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
8
+ * > pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
9
+ */
10
+ export function encodeURIPath(str) {
11
+ return str.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g, encodeURIComponent);
12
+ }
13
+ export const createPathTagFunction = (pathEncoder = encodeURIPath) => function path(statics, ...params) {
14
+ // If there are no params, no processing is needed.
15
+ if (statics.length === 1)
16
+ return statics[0];
17
+ let postPath = false;
18
+ const path = statics.reduce((previousValue, currentValue, index) => {
19
+ if (/[?#]/.test(currentValue)) {
20
+ postPath = true;
21
+ }
22
+ return (previousValue +
23
+ currentValue +
24
+ (index === params.length ? '' : (postPath ? encodeURIComponent : pathEncoder)(String(params[index]))));
25
+ }, '');
26
+ const pathOnly = path.split(/[?#]/, 1)[0];
27
+ const invalidSegments = [];
28
+ const invalidSegmentPattern = /(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;
29
+ let match;
30
+ // Find all invalid segments
31
+ while ((match = invalidSegmentPattern.exec(pathOnly)) !== null) {
32
+ invalidSegments.push({
33
+ start: match.index,
34
+ length: match[0].length,
35
+ });
36
+ }
37
+ if (invalidSegments.length > 0) {
38
+ let lastEnd = 0;
39
+ const underline = invalidSegments.reduce((acc, segment) => {
40
+ const spaces = ' '.repeat(segment.start - lastEnd);
41
+ const arrows = '^'.repeat(segment.length);
42
+ lastEnd = segment.start + segment.length;
43
+ return acc + spaces + arrows;
44
+ }, '');
45
+ throw new OpencodeError(`Path parameters result in path with invalid segments:\n${path}\n${underline}`);
46
+ }
47
+ return path;
48
+ };
49
+ /**
50
+ * URI-encodes path params and ensures no unsafe /./ or /../ path segments are introduced.
51
+ */
52
+ export const path = /* @__PURE__ */ createPathTagFunction(encodeURIPath);
53
+ //# sourceMappingURL=path.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.mjs","sourceRoot":"","sources":["../../src/internal/utils/path.ts"],"names":[],"mappings":"OAAO,EAAE,aAAa,EAAE;AAExB;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,GAAG,CAAC,OAAO,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,WAAW,GAAG,aAAa,EAAE,EAAE,CACnE,SAAS,IAAI,CAAC,OAA0B,EAAE,GAAG,MAA0B;IACrE,mDAAmD;IACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;IAE7C,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;QACjE,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,OAAO,CACL,aAAa;YACb,YAAY;YACZ,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACtG,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,MAAM,qBAAqB,GAAG,oCAAoC,CAAC;IACnE,IAAI,KAAK,CAAC;IAEV,4BAA4B;IAC5B,OAAO,CAAC,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/D,eAAe,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1C,OAAO,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;YACzC,OAAO,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;QAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,IAAI,aAAa,CAAC,0DAA0D,IAAI,KAAK,SAAS,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC"}