dedalus-cli 0.0.0-stage → 0.8.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 (692) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +306 -2
  3. package/SKILL.md +73 -0
  4. package/api.md +340 -0
  5. package/dist/cjs/bin.d.ts +3 -0
  6. package/dist/cjs/bin.d.ts.map +1 -0
  7. package/dist/cjs/bin.js +7 -0
  8. package/dist/cjs/bin.js.map +1 -0
  9. package/dist/cjs/cli/completions.d.ts +6 -0
  10. package/dist/cjs/cli/completions.d.ts.map +1 -0
  11. package/dist/cjs/cli/completions.js +11 -0
  12. package/dist/cjs/cli/completions.js.map +1 -0
  13. package/dist/cjs/cli/credentials.d.ts +169 -0
  14. package/dist/cjs/cli/credentials.d.ts.map +1 -0
  15. package/dist/cjs/cli/credentials.js +630 -0
  16. package/dist/cjs/cli/credentials.js.map +1 -0
  17. package/dist/cjs/cli/keychain.d.ts +34 -0
  18. package/dist/cjs/cli/keychain.d.ts.map +1 -0
  19. package/dist/cjs/cli/keychain.js +246 -0
  20. package/dist/cjs/cli/keychain.js.map +1 -0
  21. package/dist/cjs/cli/list.d.ts +23 -0
  22. package/dist/cjs/cli/list.d.ts.map +1 -0
  23. package/dist/cjs/cli/list.js +32 -0
  24. package/dist/cjs/cli/list.js.map +1 -0
  25. package/dist/cjs/cli/login.d.ts +137 -0
  26. package/dist/cjs/cli/login.d.ts.map +1 -0
  27. package/dist/cjs/cli/login.js +2060 -0
  28. package/dist/cjs/cli/login.js.map +1 -0
  29. package/dist/cjs/cli/runtime.d.ts +98 -0
  30. package/dist/cjs/cli/runtime.d.ts.map +1 -0
  31. package/dist/cjs/cli/runtime.js +1356 -0
  32. package/dist/cjs/cli/runtime.js.map +1 -0
  33. package/dist/cjs/cli/toon.d.ts +6 -0
  34. package/dist/cjs/cli/toon.d.ts.map +1 -0
  35. package/dist/cjs/cli/toon.js +165 -0
  36. package/dist/cjs/cli/toon.js.map +1 -0
  37. package/dist/cjs/cli/upgrade.d.ts +28 -0
  38. package/dist/cjs/cli/upgrade.d.ts.map +1 -0
  39. package/dist/cjs/cli/upgrade.js +1191 -0
  40. package/dist/cjs/cli/upgrade.js.map +1 -0
  41. package/dist/cjs/commands/index.d.ts +47 -0
  42. package/dist/cjs/commands/index.d.ts.map +1 -0
  43. package/dist/cjs/commands/index.js +1202 -0
  44. package/dist/cjs/commands/index.js.map +1 -0
  45. package/dist/cjs/custom/browser-routing.d.ts +4 -0
  46. package/dist/cjs/custom/browser-routing.d.ts.map +1 -0
  47. package/dist/cjs/custom/browser-routing.js +51 -0
  48. package/dist/cjs/custom/browser-routing.js.map +1 -0
  49. package/dist/cjs/custom/images.d.ts +6 -0
  50. package/dist/cjs/custom/images.d.ts.map +1 -0
  51. package/dist/cjs/custom/images.js +74 -0
  52. package/dist/cjs/custom/images.js.map +1 -0
  53. package/dist/cjs/custom/machines.d.ts +20 -0
  54. package/dist/cjs/custom/machines.d.ts.map +1 -0
  55. package/dist/cjs/custom/machines.js +84 -0
  56. package/dist/cjs/custom/machines.js.map +1 -0
  57. package/dist/cjs/custom/ssh-picker.d.ts +19 -0
  58. package/dist/cjs/custom/ssh-picker.d.ts.map +1 -0
  59. package/dist/cjs/custom/ssh-picker.js +157 -0
  60. package/dist/cjs/custom/ssh-picker.js.map +1 -0
  61. package/dist/cjs/custom/ssh.d.ts +18 -0
  62. package/dist/cjs/custom/ssh.d.ts.map +1 -0
  63. package/dist/cjs/custom/ssh.js +152 -0
  64. package/dist/cjs/custom/ssh.js.map +1 -0
  65. package/dist/cjs/feedback/bundle.d.ts +41 -0
  66. package/dist/cjs/feedback/bundle.d.ts.map +1 -0
  67. package/dist/cjs/feedback/bundle.js +88 -0
  68. package/dist/cjs/feedback/bundle.js.map +1 -0
  69. package/dist/cjs/feedback/command.d.ts +6 -0
  70. package/dist/cjs/feedback/command.d.ts.map +1 -0
  71. package/dist/cjs/feedback/command.js +100 -0
  72. package/dist/cjs/feedback/command.js.map +1 -0
  73. package/dist/cjs/feedback/diagnostics.d.ts +30 -0
  74. package/dist/cjs/feedback/diagnostics.d.ts.map +1 -0
  75. package/dist/cjs/feedback/diagnostics.js +278 -0
  76. package/dist/cjs/feedback/diagnostics.js.map +1 -0
  77. package/dist/cjs/index.d.ts +4 -0
  78. package/dist/cjs/index.d.ts.map +1 -0
  79. package/dist/cjs/index.js +11 -0
  80. package/dist/cjs/index.js.map +1 -0
  81. package/dist/cjs/package.json +3 -0
  82. package/dist/cjs/sdk/api-promise.d.ts +31 -0
  83. package/dist/cjs/sdk/api-promise.d.ts.map +1 -0
  84. package/dist/cjs/sdk/api-promise.js +73 -0
  85. package/dist/cjs/sdk/api-promise.js.map +1 -0
  86. package/dist/cjs/sdk/client.d.ts +267 -0
  87. package/dist/cjs/sdk/client.d.ts.map +1 -0
  88. package/dist/cjs/sdk/client.js +962 -0
  89. package/dist/cjs/sdk/client.js.map +1 -0
  90. package/dist/cjs/sdk/core/api-promise.d.ts +3 -0
  91. package/dist/cjs/sdk/core/api-promise.d.ts.map +1 -0
  92. package/dist/cjs/sdk/core/api-promise.js +8 -0
  93. package/dist/cjs/sdk/core/api-promise.js.map +1 -0
  94. package/dist/cjs/sdk/core/error.d.ts +46 -0
  95. package/dist/cjs/sdk/core/error.d.ts.map +1 -0
  96. package/dist/cjs/sdk/core/error.js +135 -0
  97. package/dist/cjs/sdk/core/error.js.map +1 -0
  98. package/dist/cjs/sdk/core/pagination.d.ts +38 -0
  99. package/dist/cjs/sdk/core/pagination.d.ts.map +1 -0
  100. package/dist/cjs/sdk/core/pagination.js +98 -0
  101. package/dist/cjs/sdk/core/pagination.js.map +1 -0
  102. package/dist/cjs/sdk/core/resource.d.ts +2 -0
  103. package/dist/cjs/sdk/core/resource.d.ts.map +1 -0
  104. package/dist/cjs/sdk/core/resource.js +7 -0
  105. package/dist/cjs/sdk/core/resource.js.map +1 -0
  106. package/dist/cjs/sdk/core/uploads.d.ts +3 -0
  107. package/dist/cjs/sdk/core/uploads.d.ts.map +1 -0
  108. package/dist/cjs/sdk/core/uploads.js +7 -0
  109. package/dist/cjs/sdk/core/uploads.js.map +1 -0
  110. package/dist/cjs/sdk/error.d.ts +3 -0
  111. package/dist/cjs/sdk/error.d.ts.map +1 -0
  112. package/dist/cjs/sdk/error.js +20 -0
  113. package/dist/cjs/sdk/error.js.map +1 -0
  114. package/dist/cjs/sdk/helpers/images.d.ts +31 -0
  115. package/dist/cjs/sdk/helpers/images.d.ts.map +1 -0
  116. package/dist/cjs/sdk/helpers/images.js +195 -0
  117. package/dist/cjs/sdk/helpers/images.js.map +1 -0
  118. package/dist/cjs/sdk/index.d.ts +7 -0
  119. package/dist/cjs/sdk/index.d.ts.map +1 -0
  120. package/dist/cjs/sdk/index.js +29 -0
  121. package/dist/cjs/sdk/index.js.map +1 -0
  122. package/dist/cjs/sdk/internal/builtin-types.d.ts +73 -0
  123. package/dist/cjs/sdk/internal/builtin-types.d.ts.map +1 -0
  124. package/dist/cjs/sdk/internal/builtin-types.js +4 -0
  125. package/dist/cjs/sdk/internal/builtin-types.js.map +1 -0
  126. package/dist/cjs/sdk/internal/detect-platform.d.ts +15 -0
  127. package/dist/cjs/sdk/internal/detect-platform.d.ts.map +1 -0
  128. package/dist/cjs/sdk/internal/detect-platform.js +185 -0
  129. package/dist/cjs/sdk/internal/detect-platform.js.map +1 -0
  130. package/dist/cjs/sdk/internal/errors.d.ts +3 -0
  131. package/dist/cjs/sdk/internal/errors.d.ts.map +1 -0
  132. package/dist/cjs/sdk/internal/errors.js +41 -0
  133. package/dist/cjs/sdk/internal/errors.js.map +1 -0
  134. package/dist/cjs/sdk/internal/headers.d.ts +43 -0
  135. package/dist/cjs/sdk/internal/headers.d.ts.map +1 -0
  136. package/dist/cjs/sdk/internal/headers.js +142 -0
  137. package/dist/cjs/sdk/internal/headers.js.map +1 -0
  138. package/dist/cjs/sdk/internal/parse.d.ts +3 -0
  139. package/dist/cjs/sdk/internal/parse.d.ts.map +1 -0
  140. package/dist/cjs/sdk/internal/parse.js +7 -0
  141. package/dist/cjs/sdk/internal/parse.js.map +1 -0
  142. package/dist/cjs/sdk/internal/qs/formats.d.ts +7 -0
  143. package/dist/cjs/sdk/internal/qs/formats.d.ts.map +1 -0
  144. package/dist/cjs/sdk/internal/qs/formats.js +13 -0
  145. package/dist/cjs/sdk/internal/qs/formats.js.map +1 -0
  146. package/dist/cjs/sdk/internal/qs/index.d.ts +10 -0
  147. package/dist/cjs/sdk/internal/qs/index.d.ts.map +1 -0
  148. package/dist/cjs/sdk/internal/qs/index.js +14 -0
  149. package/dist/cjs/sdk/internal/qs/index.js.map +1 -0
  150. package/dist/cjs/sdk/internal/qs/stringify.d.ts +3 -0
  151. package/dist/cjs/sdk/internal/qs/stringify.d.ts.map +1 -0
  152. package/dist/cjs/sdk/internal/qs/stringify.js +278 -0
  153. package/dist/cjs/sdk/internal/qs/stringify.js.map +1 -0
  154. package/dist/cjs/sdk/internal/qs/types.d.ts +57 -0
  155. package/dist/cjs/sdk/internal/qs/types.d.ts.map +1 -0
  156. package/dist/cjs/sdk/internal/qs/types.js +3 -0
  157. package/dist/cjs/sdk/internal/qs/types.js.map +1 -0
  158. package/dist/cjs/sdk/internal/qs/utils.d.ts +15 -0
  159. package/dist/cjs/sdk/internal/qs/utils.d.ts.map +1 -0
  160. package/dist/cjs/sdk/internal/qs/utils.js +230 -0
  161. package/dist/cjs/sdk/internal/qs/utils.js.map +1 -0
  162. package/dist/cjs/sdk/internal/request-options.d.ts +33 -0
  163. package/dist/cjs/sdk/internal/request-options.d.ts.map +1 -0
  164. package/dist/cjs/sdk/internal/request-options.js +15 -0
  165. package/dist/cjs/sdk/internal/request-options.js.map +1 -0
  166. package/dist/cjs/sdk/internal/shim-types.d.ts +17 -0
  167. package/dist/cjs/sdk/internal/shim-types.d.ts.map +1 -0
  168. package/dist/cjs/sdk/internal/shim-types.js +4 -0
  169. package/dist/cjs/sdk/internal/shim-types.js.map +1 -0
  170. package/dist/cjs/sdk/internal/shims.d.ts +26 -0
  171. package/dist/cjs/sdk/internal/shims.d.ts.map +1 -0
  172. package/dist/cjs/sdk/internal/shims.js +92 -0
  173. package/dist/cjs/sdk/internal/shims.js.map +1 -0
  174. package/dist/cjs/sdk/internal/to-file.d.ts +45 -0
  175. package/dist/cjs/sdk/internal/to-file.d.ts.map +1 -0
  176. package/dist/cjs/sdk/internal/to-file.js +91 -0
  177. package/dist/cjs/sdk/internal/to-file.js.map +1 -0
  178. package/dist/cjs/sdk/internal/types.d.ts +63 -0
  179. package/dist/cjs/sdk/internal/types.d.ts.map +1 -0
  180. package/dist/cjs/sdk/internal/types.js +4 -0
  181. package/dist/cjs/sdk/internal/types.js.map +1 -0
  182. package/dist/cjs/sdk/internal/uploads.d.ts +42 -0
  183. package/dist/cjs/sdk/internal/uploads.d.ts.map +1 -0
  184. package/dist/cjs/sdk/internal/uploads.js +158 -0
  185. package/dist/cjs/sdk/internal/uploads.js.map +1 -0
  186. package/dist/cjs/sdk/internal/utils/base64.d.ts +3 -0
  187. package/dist/cjs/sdk/internal/utils/base64.d.ts.map +1 -0
  188. package/dist/cjs/sdk/internal/utils/base64.js +38 -0
  189. package/dist/cjs/sdk/internal/utils/base64.js.map +1 -0
  190. package/dist/cjs/sdk/internal/utils/body.d.ts +40 -0
  191. package/dist/cjs/sdk/internal/utils/body.d.ts.map +1 -0
  192. package/dist/cjs/sdk/internal/utils/body.js +148 -0
  193. package/dist/cjs/sdk/internal/utils/body.js.map +1 -0
  194. package/dist/cjs/sdk/internal/utils/bytes.d.ts +4 -0
  195. package/dist/cjs/sdk/internal/utils/bytes.d.ts.map +1 -0
  196. package/dist/cjs/sdk/internal/utils/bytes.js +31 -0
  197. package/dist/cjs/sdk/internal/utils/bytes.js.map +1 -0
  198. package/dist/cjs/sdk/internal/utils/env.d.ts +9 -0
  199. package/dist/cjs/sdk/internal/utils/env.d.ts.map +1 -0
  200. package/dist/cjs/sdk/internal/utils/env.js +22 -0
  201. package/dist/cjs/sdk/internal/utils/env.js.map +1 -0
  202. package/dist/cjs/sdk/internal/utils/log.d.ts +52 -0
  203. package/dist/cjs/sdk/internal/utils/log.d.ts.map +1 -0
  204. package/dist/cjs/sdk/internal/utils/log.js +413 -0
  205. package/dist/cjs/sdk/internal/utils/log.js.map +1 -0
  206. package/dist/cjs/sdk/internal/utils/path.d.ts +41 -0
  207. package/dist/cjs/sdk/internal/utils/path.d.ts.map +1 -0
  208. package/dist/cjs/sdk/internal/utils/path.js +115 -0
  209. package/dist/cjs/sdk/internal/utils/path.js.map +1 -0
  210. package/dist/cjs/sdk/internal/utils/query-string.d.ts +21 -0
  211. package/dist/cjs/sdk/internal/utils/query-string.d.ts.map +1 -0
  212. package/dist/cjs/sdk/internal/utils/query-string.js +128 -0
  213. package/dist/cjs/sdk/internal/utils/query-string.js.map +1 -0
  214. package/dist/cjs/sdk/internal/utils/query.d.ts +2 -0
  215. package/dist/cjs/sdk/internal/utils/query.d.ts.map +1 -0
  216. package/dist/cjs/sdk/internal/utils/query.js +12 -0
  217. package/dist/cjs/sdk/internal/utils/query.js.map +1 -0
  218. package/dist/cjs/sdk/internal/utils/sleep.d.ts +2 -0
  219. package/dist/cjs/sdk/internal/utils/sleep.d.ts.map +1 -0
  220. package/dist/cjs/sdk/internal/utils/sleep.js +7 -0
  221. package/dist/cjs/sdk/internal/utils/sleep.js.map +1 -0
  222. package/dist/cjs/sdk/internal/utils/uuid.d.ts +5 -0
  223. package/dist/cjs/sdk/internal/utils/uuid.d.ts.map +1 -0
  224. package/dist/cjs/sdk/internal/utils/uuid.js +19 -0
  225. package/dist/cjs/sdk/internal/utils/uuid.js.map +1 -0
  226. package/dist/cjs/sdk/internal/utils/uuid7.d.ts +6 -0
  227. package/dist/cjs/sdk/internal/utils/uuid7.d.ts.map +1 -0
  228. package/dist/cjs/sdk/internal/utils/uuid7.js +35 -0
  229. package/dist/cjs/sdk/internal/utils/uuid7.js.map +1 -0
  230. package/dist/cjs/sdk/internal/utils/values.d.ts +18 -0
  231. package/dist/cjs/sdk/internal/utils/values.d.ts.map +1 -0
  232. package/dist/cjs/sdk/internal/utils/values.js +112 -0
  233. package/dist/cjs/sdk/internal/utils/values.js.map +1 -0
  234. package/dist/cjs/sdk/internal/utils.d.ts +8 -0
  235. package/dist/cjs/sdk/internal/utils.d.ts.map +1 -0
  236. package/dist/cjs/sdk/internal/utils.js +25 -0
  237. package/dist/cjs/sdk/internal/utils.js.map +1 -0
  238. package/dist/cjs/sdk/pagination.d.ts +3 -0
  239. package/dist/cjs/sdk/pagination.d.ts.map +1 -0
  240. package/dist/cjs/sdk/pagination.js +20 -0
  241. package/dist/cjs/sdk/pagination.js.map +1 -0
  242. package/dist/cjs/sdk/resource.d.ts +6 -0
  243. package/dist/cjs/sdk/resource.d.ts.map +1 -0
  244. package/dist/cjs/sdk/resource.js +12 -0
  245. package/dist/cjs/sdk/resource.js.map +1 -0
  246. package/dist/cjs/sdk/resources/images/images.d.ts +202 -0
  247. package/dist/cjs/sdk/resources/images/images.d.ts.map +1 -0
  248. package/dist/cjs/sdk/resources/images/images.js +139 -0
  249. package/dist/cjs/sdk/resources/images/images.js.map +1 -0
  250. package/dist/cjs/sdk/resources/images/index.d.ts +5 -0
  251. package/dist/cjs/sdk/resources/images/index.d.ts.map +1 -0
  252. package/dist/cjs/sdk/resources/images/index.js +9 -0
  253. package/dist/cjs/sdk/resources/images/index.js.map +1 -0
  254. package/dist/cjs/sdk/resources/images/uploads.d.ts +50 -0
  255. package/dist/cjs/sdk/resources/images/uploads.d.ts.map +1 -0
  256. package/dist/cjs/sdk/resources/images/uploads.js +28 -0
  257. package/dist/cjs/sdk/resources/images/uploads.js.map +1 -0
  258. package/dist/cjs/sdk/resources/images.d.ts +2 -0
  259. package/dist/cjs/sdk/resources/images.d.ts.map +1 -0
  260. package/dist/cjs/sdk/resources/images.js +19 -0
  261. package/dist/cjs/sdk/resources/images.js.map +1 -0
  262. package/dist/cjs/sdk/resources/index.d.ts +6 -0
  263. package/dist/cjs/sdk/resources/index.d.ts.map +1 -0
  264. package/dist/cjs/sdk/resources/index.js +11 -0
  265. package/dist/cjs/sdk/resources/index.js.map +1 -0
  266. package/dist/cjs/sdk/resources/machines/autoresizing.d.ts +116 -0
  267. package/dist/cjs/sdk/resources/machines/autoresizing.d.ts.map +1 -0
  268. package/dist/cjs/sdk/resources/machines/autoresizing.js +46 -0
  269. package/dist/cjs/sdk/resources/machines/autoresizing.js.map +1 -0
  270. package/dist/cjs/sdk/resources/machines/executions/executions.d.ts +341 -0
  271. package/dist/cjs/sdk/resources/machines/executions/executions.d.ts.map +1 -0
  272. package/dist/cjs/sdk/resources/machines/executions/executions.js +161 -0
  273. package/dist/cjs/sdk/resources/machines/executions/executions.js.map +1 -0
  274. package/dist/cjs/sdk/resources/machines/executions/index.d.ts +5 -0
  275. package/dist/cjs/sdk/resources/machines/executions/index.d.ts.map +1 -0
  276. package/dist/cjs/sdk/resources/machines/executions/index.js +9 -0
  277. package/dist/cjs/sdk/resources/machines/executions/index.js.map +1 -0
  278. package/dist/cjs/sdk/resources/machines/executions/logs.d.ts +103 -0
  279. package/dist/cjs/sdk/resources/machines/executions/logs.d.ts.map +1 -0
  280. package/dist/cjs/sdk/resources/machines/executions/logs.js +48 -0
  281. package/dist/cjs/sdk/resources/machines/executions/logs.js.map +1 -0
  282. package/dist/cjs/sdk/resources/machines/executions.d.ts +2 -0
  283. package/dist/cjs/sdk/resources/machines/executions.d.ts.map +1 -0
  284. package/dist/cjs/sdk/resources/machines/executions.js +19 -0
  285. package/dist/cjs/sdk/resources/machines/executions.js.map +1 -0
  286. package/dist/cjs/sdk/resources/machines/index.d.ts +9 -0
  287. package/dist/cjs/sdk/resources/machines/index.d.ts.map +1 -0
  288. package/dist/cjs/sdk/resources/machines/index.js +13 -0
  289. package/dist/cjs/sdk/resources/machines/index.js.map +1 -0
  290. package/dist/cjs/sdk/resources/machines/machines.d.ts +497 -0
  291. package/dist/cjs/sdk/resources/machines/machines.d.ts.map +1 -0
  292. package/dist/cjs/sdk/resources/machines/machines.js +220 -0
  293. package/dist/cjs/sdk/resources/machines/machines.js.map +1 -0
  294. package/dist/cjs/sdk/resources/machines/ssh.d.ts +175 -0
  295. package/dist/cjs/sdk/resources/machines/ssh.d.ts.map +1 -0
  296. package/dist/cjs/sdk/resources/machines/ssh.js +89 -0
  297. package/dist/cjs/sdk/resources/machines/ssh.js.map +1 -0
  298. package/dist/cjs/sdk/resources/machines.d.ts +2 -0
  299. package/dist/cjs/sdk/resources/machines.d.ts.map +1 -0
  300. package/dist/cjs/sdk/resources/machines.js +19 -0
  301. package/dist/cjs/sdk/resources/machines.js.map +1 -0
  302. package/dist/cjs/sdk/resources/organization/autoresizing.d.ts +87 -0
  303. package/dist/cjs/sdk/resources/organization/autoresizing.d.ts.map +1 -0
  304. package/dist/cjs/sdk/resources/organization/autoresizing.js +38 -0
  305. package/dist/cjs/sdk/resources/organization/autoresizing.js.map +1 -0
  306. package/dist/cjs/sdk/resources/organization/index.d.ts +4 -0
  307. package/dist/cjs/sdk/resources/organization/index.d.ts.map +1 -0
  308. package/dist/cjs/sdk/resources/organization/index.js +9 -0
  309. package/dist/cjs/sdk/resources/organization/index.js.map +1 -0
  310. package/dist/cjs/sdk/resources/organization/organization.d.ts +10 -0
  311. package/dist/cjs/sdk/resources/organization/organization.d.ts.map +1 -0
  312. package/dist/cjs/sdk/resources/organization/organization.js +46 -0
  313. package/dist/cjs/sdk/resources/organization/organization.js.map +1 -0
  314. package/dist/cjs/sdk/resources/organization.d.ts +2 -0
  315. package/dist/cjs/sdk/resources/organization.d.ts.map +1 -0
  316. package/dist/cjs/sdk/resources/organization.js +19 -0
  317. package/dist/cjs/sdk/resources/organization.js.map +1 -0
  318. package/dist/cjs/sdk/resources.d.ts +3 -0
  319. package/dist/cjs/sdk/resources.d.ts.map +1 -0
  320. package/dist/cjs/sdk/resources.js +9 -0
  321. package/dist/cjs/sdk/resources.js.map +1 -0
  322. package/dist/cjs/sdk/uploads.d.ts +2 -0
  323. package/dist/cjs/sdk/uploads.d.ts.map +1 -0
  324. package/dist/cjs/sdk/uploads.js +7 -0
  325. package/dist/cjs/sdk/uploads.js.map +1 -0
  326. package/dist/cjs/sdk/version.d.ts +2 -0
  327. package/dist/cjs/sdk/version.d.ts.map +1 -0
  328. package/dist/cjs/sdk/version.js +6 -0
  329. package/dist/cjs/sdk/version.js.map +1 -0
  330. package/dist/esm/bin.d.ts +3 -0
  331. package/dist/esm/bin.d.ts.map +1 -0
  332. package/dist/esm/bin.js +5 -0
  333. package/dist/esm/bin.js.map +1 -0
  334. package/dist/esm/cli/completions.d.ts +6 -0
  335. package/dist/esm/cli/completions.d.ts.map +1 -0
  336. package/dist/esm/cli/completions.js +8 -0
  337. package/dist/esm/cli/completions.js.map +1 -0
  338. package/dist/esm/cli/credentials.d.ts +169 -0
  339. package/dist/esm/cli/credentials.d.ts.map +1 -0
  340. package/dist/esm/cli/credentials.js +614 -0
  341. package/dist/esm/cli/credentials.js.map +1 -0
  342. package/dist/esm/cli/keychain.d.ts +34 -0
  343. package/dist/esm/cli/keychain.d.ts.map +1 -0
  344. package/dist/esm/cli/keychain.js +237 -0
  345. package/dist/esm/cli/keychain.js.map +1 -0
  346. package/dist/esm/cli/list.d.ts +23 -0
  347. package/dist/esm/cli/list.d.ts.map +1 -0
  348. package/dist/esm/cli/list.js +27 -0
  349. package/dist/esm/cli/list.js.map +1 -0
  350. package/dist/esm/cli/login.d.ts +137 -0
  351. package/dist/esm/cli/login.d.ts.map +1 -0
  352. package/dist/esm/cli/login.js +2053 -0
  353. package/dist/esm/cli/login.js.map +1 -0
  354. package/dist/esm/cli/runtime.d.ts +98 -0
  355. package/dist/esm/cli/runtime.d.ts.map +1 -0
  356. package/dist/esm/cli/runtime.js +1345 -0
  357. package/dist/esm/cli/runtime.js.map +1 -0
  358. package/dist/esm/cli/toon.d.ts +6 -0
  359. package/dist/esm/cli/toon.d.ts.map +1 -0
  360. package/dist/esm/cli/toon.js +161 -0
  361. package/dist/esm/cli/toon.js.map +1 -0
  362. package/dist/esm/cli/upgrade.d.ts +28 -0
  363. package/dist/esm/cli/upgrade.d.ts.map +1 -0
  364. package/dist/esm/cli/upgrade.js +1186 -0
  365. package/dist/esm/cli/upgrade.js.map +1 -0
  366. package/dist/esm/commands/index.d.ts +47 -0
  367. package/dist/esm/commands/index.d.ts.map +1 -0
  368. package/dist/esm/commands/index.js +1195 -0
  369. package/dist/esm/commands/index.js.map +1 -0
  370. package/dist/esm/custom/browser-routing.d.ts +4 -0
  371. package/dist/esm/custom/browser-routing.d.ts.map +1 -0
  372. package/dist/esm/custom/browser-routing.js +47 -0
  373. package/dist/esm/custom/browser-routing.js.map +1 -0
  374. package/dist/esm/custom/images.d.ts +6 -0
  375. package/dist/esm/custom/images.d.ts.map +1 -0
  376. package/dist/esm/custom/images.js +68 -0
  377. package/dist/esm/custom/images.js.map +1 -0
  378. package/dist/esm/custom/machines.d.ts +20 -0
  379. package/dist/esm/custom/machines.d.ts.map +1 -0
  380. package/dist/esm/custom/machines.js +76 -0
  381. package/dist/esm/custom/machines.js.map +1 -0
  382. package/dist/esm/custom/ssh-picker.d.ts +19 -0
  383. package/dist/esm/custom/ssh-picker.d.ts.map +1 -0
  384. package/dist/esm/custom/ssh-picker.js +149 -0
  385. package/dist/esm/custom/ssh-picker.js.map +1 -0
  386. package/dist/esm/custom/ssh.d.ts +18 -0
  387. package/dist/esm/custom/ssh.d.ts.map +1 -0
  388. package/dist/esm/custom/ssh.js +147 -0
  389. package/dist/esm/custom/ssh.js.map +1 -0
  390. package/dist/esm/feedback/bundle.d.ts +41 -0
  391. package/dist/esm/feedback/bundle.d.ts.map +1 -0
  392. package/dist/esm/feedback/bundle.js +83 -0
  393. package/dist/esm/feedback/bundle.js.map +1 -0
  394. package/dist/esm/feedback/command.d.ts +6 -0
  395. package/dist/esm/feedback/command.d.ts.map +1 -0
  396. package/dist/esm/feedback/command.js +92 -0
  397. package/dist/esm/feedback/command.js.map +1 -0
  398. package/dist/esm/feedback/diagnostics.d.ts +30 -0
  399. package/dist/esm/feedback/diagnostics.d.ts.map +1 -0
  400. package/dist/esm/feedback/diagnostics.js +270 -0
  401. package/dist/esm/feedback/diagnostics.js.map +1 -0
  402. package/dist/esm/index.d.ts +4 -0
  403. package/dist/esm/index.d.ts.map +1 -0
  404. package/dist/esm/index.js +7 -0
  405. package/dist/esm/index.js.map +1 -0
  406. package/dist/esm/sdk/api-promise.d.ts +31 -0
  407. package/dist/esm/sdk/api-promise.d.ts.map +1 -0
  408. package/dist/esm/sdk/api-promise.js +68 -0
  409. package/dist/esm/sdk/api-promise.js.map +1 -0
  410. package/dist/esm/sdk/client.d.ts +267 -0
  411. package/dist/esm/sdk/client.d.ts.map +1 -0
  412. package/dist/esm/sdk/client.js +925 -0
  413. package/dist/esm/sdk/client.js.map +1 -0
  414. package/dist/esm/sdk/core/api-promise.d.ts +3 -0
  415. package/dist/esm/sdk/core/api-promise.d.ts.map +1 -0
  416. package/dist/esm/sdk/core/api-promise.js +3 -0
  417. package/dist/esm/sdk/core/api-promise.js.map +1 -0
  418. package/dist/esm/sdk/core/error.d.ts +46 -0
  419. package/dist/esm/sdk/core/error.d.ts.map +1 -0
  420. package/dist/esm/sdk/core/error.js +119 -0
  421. package/dist/esm/sdk/core/error.js.map +1 -0
  422. package/dist/esm/sdk/core/pagination.d.ts +38 -0
  423. package/dist/esm/sdk/core/pagination.d.ts.map +1 -0
  424. package/dist/esm/sdk/core/pagination.js +92 -0
  425. package/dist/esm/sdk/core/pagination.js.map +1 -0
  426. package/dist/esm/sdk/core/resource.d.ts +2 -0
  427. package/dist/esm/sdk/core/resource.d.ts.map +1 -0
  428. package/dist/esm/sdk/core/resource.js +3 -0
  429. package/dist/esm/sdk/core/resource.js.map +1 -0
  430. package/dist/esm/sdk/core/uploads.d.ts +3 -0
  431. package/dist/esm/sdk/core/uploads.d.ts.map +1 -0
  432. package/dist/esm/sdk/core/uploads.js +3 -0
  433. package/dist/esm/sdk/core/uploads.js.map +1 -0
  434. package/dist/esm/sdk/error.d.ts +3 -0
  435. package/dist/esm/sdk/error.d.ts.map +1 -0
  436. package/dist/esm/sdk/error.js +4 -0
  437. package/dist/esm/sdk/error.js.map +1 -0
  438. package/dist/esm/sdk/helpers/images.d.ts +31 -0
  439. package/dist/esm/sdk/helpers/images.d.ts.map +1 -0
  440. package/dist/esm/sdk/helpers/images.js +189 -0
  441. package/dist/esm/sdk/helpers/images.js.map +1 -0
  442. package/dist/esm/sdk/index.d.ts +7 -0
  443. package/dist/esm/sdk/index.d.ts.map +1 -0
  444. package/dist/esm/sdk/index.js +8 -0
  445. package/dist/esm/sdk/index.js.map +1 -0
  446. package/dist/esm/sdk/internal/builtin-types.d.ts +73 -0
  447. package/dist/esm/sdk/internal/builtin-types.d.ts.map +1 -0
  448. package/dist/esm/sdk/internal/builtin-types.js +3 -0
  449. package/dist/esm/sdk/internal/builtin-types.js.map +1 -0
  450. package/dist/esm/sdk/internal/detect-platform.d.ts +15 -0
  451. package/dist/esm/sdk/internal/detect-platform.d.ts.map +1 -0
  452. package/dist/esm/sdk/internal/detect-platform.js +180 -0
  453. package/dist/esm/sdk/internal/detect-platform.js.map +1 -0
  454. package/dist/esm/sdk/internal/errors.d.ts +3 -0
  455. package/dist/esm/sdk/internal/errors.d.ts.map +1 -0
  456. package/dist/esm/sdk/internal/errors.js +36 -0
  457. package/dist/esm/sdk/internal/errors.js.map +1 -0
  458. package/dist/esm/sdk/internal/headers.d.ts +43 -0
  459. package/dist/esm/sdk/internal/headers.d.ts.map +1 -0
  460. package/dist/esm/sdk/internal/headers.js +133 -0
  461. package/dist/esm/sdk/internal/headers.js.map +1 -0
  462. package/dist/esm/sdk/internal/parse.d.ts +3 -0
  463. package/dist/esm/sdk/internal/parse.d.ts.map +1 -0
  464. package/dist/esm/sdk/internal/parse.js +3 -0
  465. package/dist/esm/sdk/internal/parse.js.map +1 -0
  466. package/dist/esm/sdk/internal/qs/formats.d.ts +7 -0
  467. package/dist/esm/sdk/internal/qs/formats.d.ts.map +1 -0
  468. package/dist/esm/sdk/internal/qs/formats.js +9 -0
  469. package/dist/esm/sdk/internal/qs/formats.js.map +1 -0
  470. package/dist/esm/sdk/internal/qs/index.d.ts +10 -0
  471. package/dist/esm/sdk/internal/qs/index.d.ts.map +1 -0
  472. package/dist/esm/sdk/internal/qs/index.js +10 -0
  473. package/dist/esm/sdk/internal/qs/index.js.map +1 -0
  474. package/dist/esm/sdk/internal/qs/stringify.d.ts +3 -0
  475. package/dist/esm/sdk/internal/qs/stringify.d.ts.map +1 -0
  476. package/dist/esm/sdk/internal/qs/stringify.js +275 -0
  477. package/dist/esm/sdk/internal/qs/stringify.js.map +1 -0
  478. package/dist/esm/sdk/internal/qs/types.d.ts +57 -0
  479. package/dist/esm/sdk/internal/qs/types.d.ts.map +1 -0
  480. package/dist/esm/sdk/internal/qs/types.js +2 -0
  481. package/dist/esm/sdk/internal/qs/types.js.map +1 -0
  482. package/dist/esm/sdk/internal/qs/utils.d.ts +15 -0
  483. package/dist/esm/sdk/internal/qs/utils.d.ts.map +1 -0
  484. package/dist/esm/sdk/internal/qs/utils.js +217 -0
  485. package/dist/esm/sdk/internal/qs/utils.js.map +1 -0
  486. package/dist/esm/sdk/internal/request-options.d.ts +33 -0
  487. package/dist/esm/sdk/internal/request-options.d.ts.map +1 -0
  488. package/dist/esm/sdk/internal/request-options.js +11 -0
  489. package/dist/esm/sdk/internal/request-options.js.map +1 -0
  490. package/dist/esm/sdk/internal/shim-types.d.ts +17 -0
  491. package/dist/esm/sdk/internal/shim-types.d.ts.map +1 -0
  492. package/dist/esm/sdk/internal/shim-types.js +3 -0
  493. package/dist/esm/sdk/internal/shim-types.js.map +1 -0
  494. package/dist/esm/sdk/internal/shims.d.ts +26 -0
  495. package/dist/esm/sdk/internal/shims.d.ts.map +1 -0
  496. package/dist/esm/sdk/internal/shims.js +85 -0
  497. package/dist/esm/sdk/internal/shims.js.map +1 -0
  498. package/dist/esm/sdk/internal/to-file.d.ts +45 -0
  499. package/dist/esm/sdk/internal/to-file.d.ts.map +1 -0
  500. package/dist/esm/sdk/internal/to-file.js +88 -0
  501. package/dist/esm/sdk/internal/to-file.js.map +1 -0
  502. package/dist/esm/sdk/internal/types.d.ts +63 -0
  503. package/dist/esm/sdk/internal/types.d.ts.map +1 -0
  504. package/dist/esm/sdk/internal/types.js +3 -0
  505. package/dist/esm/sdk/internal/types.js.map +1 -0
  506. package/dist/esm/sdk/internal/uploads.d.ts +42 -0
  507. package/dist/esm/sdk/internal/uploads.d.ts.map +1 -0
  508. package/dist/esm/sdk/internal/uploads.js +148 -0
  509. package/dist/esm/sdk/internal/uploads.js.map +1 -0
  510. package/dist/esm/sdk/internal/utils/base64.d.ts +3 -0
  511. package/dist/esm/sdk/internal/utils/base64.d.ts.map +1 -0
  512. package/dist/esm/sdk/internal/utils/base64.js +33 -0
  513. package/dist/esm/sdk/internal/utils/base64.js.map +1 -0
  514. package/dist/esm/sdk/internal/utils/body.d.ts +40 -0
  515. package/dist/esm/sdk/internal/utils/body.d.ts.map +1 -0
  516. package/dist/esm/sdk/internal/utils/body.js +140 -0
  517. package/dist/esm/sdk/internal/utils/body.js.map +1 -0
  518. package/dist/esm/sdk/internal/utils/bytes.d.ts +4 -0
  519. package/dist/esm/sdk/internal/utils/bytes.d.ts.map +1 -0
  520. package/dist/esm/sdk/internal/utils/bytes.js +26 -0
  521. package/dist/esm/sdk/internal/utils/bytes.js.map +1 -0
  522. package/dist/esm/sdk/internal/utils/env.d.ts +9 -0
  523. package/dist/esm/sdk/internal/utils/env.d.ts.map +1 -0
  524. package/dist/esm/sdk/internal/utils/env.js +18 -0
  525. package/dist/esm/sdk/internal/utils/env.js.map +1 -0
  526. package/dist/esm/sdk/internal/utils/log.d.ts +52 -0
  527. package/dist/esm/sdk/internal/utils/log.d.ts.map +1 -0
  528. package/dist/esm/sdk/internal/utils/log.js +405 -0
  529. package/dist/esm/sdk/internal/utils/log.js.map +1 -0
  530. package/dist/esm/sdk/internal/utils/path.d.ts +41 -0
  531. package/dist/esm/sdk/internal/utils/path.d.ts.map +1 -0
  532. package/dist/esm/sdk/internal/utils/path.js +108 -0
  533. package/dist/esm/sdk/internal/utils/path.js.map +1 -0
  534. package/dist/esm/sdk/internal/utils/query-string.d.ts +21 -0
  535. package/dist/esm/sdk/internal/utils/query-string.d.ts.map +1 -0
  536. package/dist/esm/sdk/internal/utils/query-string.js +125 -0
  537. package/dist/esm/sdk/internal/utils/query-string.js.map +1 -0
  538. package/dist/esm/sdk/internal/utils/query.d.ts +2 -0
  539. package/dist/esm/sdk/internal/utils/query.d.ts.map +1 -0
  540. package/dist/esm/sdk/internal/utils/query.js +9 -0
  541. package/dist/esm/sdk/internal/utils/query.js.map +1 -0
  542. package/dist/esm/sdk/internal/utils/sleep.d.ts +2 -0
  543. package/dist/esm/sdk/internal/utils/sleep.d.ts.map +1 -0
  544. package/dist/esm/sdk/internal/utils/sleep.js +3 -0
  545. package/dist/esm/sdk/internal/utils/sleep.js.map +1 -0
  546. package/dist/esm/sdk/internal/utils/uuid.d.ts +5 -0
  547. package/dist/esm/sdk/internal/utils/uuid.d.ts.map +1 -0
  548. package/dist/esm/sdk/internal/utils/uuid.js +15 -0
  549. package/dist/esm/sdk/internal/utils/uuid.js.map +1 -0
  550. package/dist/esm/sdk/internal/utils/uuid7.d.ts +6 -0
  551. package/dist/esm/sdk/internal/utils/uuid7.d.ts.map +1 -0
  552. package/dist/esm/sdk/internal/utils/uuid7.js +31 -0
  553. package/dist/esm/sdk/internal/utils/uuid7.js.map +1 -0
  554. package/dist/esm/sdk/internal/utils/values.d.ts +18 -0
  555. package/dist/esm/sdk/internal/utils/values.d.ts.map +1 -0
  556. package/dist/esm/sdk/internal/utils/values.js +94 -0
  557. package/dist/esm/sdk/internal/utils/values.js.map +1 -0
  558. package/dist/esm/sdk/internal/utils.d.ts +8 -0
  559. package/dist/esm/sdk/internal/utils.d.ts.map +1 -0
  560. package/dist/esm/sdk/internal/utils.js +9 -0
  561. package/dist/esm/sdk/internal/utils.js.map +1 -0
  562. package/dist/esm/sdk/pagination.d.ts +3 -0
  563. package/dist/esm/sdk/pagination.d.ts.map +1 -0
  564. package/dist/esm/sdk/pagination.js +4 -0
  565. package/dist/esm/sdk/pagination.js.map +1 -0
  566. package/dist/esm/sdk/resource.d.ts +6 -0
  567. package/dist/esm/sdk/resource.d.ts.map +1 -0
  568. package/dist/esm/sdk/resource.js +8 -0
  569. package/dist/esm/sdk/resource.js.map +1 -0
  570. package/dist/esm/sdk/resources/images/images.d.ts +202 -0
  571. package/dist/esm/sdk/resources/images/images.d.ts.map +1 -0
  572. package/dist/esm/sdk/resources/images/images.js +102 -0
  573. package/dist/esm/sdk/resources/images/images.js.map +1 -0
  574. package/dist/esm/sdk/resources/images/index.d.ts +5 -0
  575. package/dist/esm/sdk/resources/images/index.d.ts.map +1 -0
  576. package/dist/esm/sdk/resources/images/index.js +4 -0
  577. package/dist/esm/sdk/resources/images/index.js.map +1 -0
  578. package/dist/esm/sdk/resources/images/uploads.d.ts +50 -0
  579. package/dist/esm/sdk/resources/images/uploads.d.ts.map +1 -0
  580. package/dist/esm/sdk/resources/images/uploads.js +24 -0
  581. package/dist/esm/sdk/resources/images/uploads.js.map +1 -0
  582. package/dist/esm/sdk/resources/images.d.ts +2 -0
  583. package/dist/esm/sdk/resources/images.d.ts.map +1 -0
  584. package/dist/esm/sdk/resources/images.js +3 -0
  585. package/dist/esm/sdk/resources/images.js.map +1 -0
  586. package/dist/esm/sdk/resources/index.d.ts +6 -0
  587. package/dist/esm/sdk/resources/index.d.ts.map +1 -0
  588. package/dist/esm/sdk/resources/index.js +5 -0
  589. package/dist/esm/sdk/resources/index.js.map +1 -0
  590. package/dist/esm/sdk/resources/machines/autoresizing.d.ts +116 -0
  591. package/dist/esm/sdk/resources/machines/autoresizing.d.ts.map +1 -0
  592. package/dist/esm/sdk/resources/machines/autoresizing.js +42 -0
  593. package/dist/esm/sdk/resources/machines/autoresizing.js.map +1 -0
  594. package/dist/esm/sdk/resources/machines/executions/executions.d.ts +341 -0
  595. package/dist/esm/sdk/resources/machines/executions/executions.d.ts.map +1 -0
  596. package/dist/esm/sdk/resources/machines/executions/executions.js +124 -0
  597. package/dist/esm/sdk/resources/machines/executions/executions.js.map +1 -0
  598. package/dist/esm/sdk/resources/machines/executions/index.d.ts +5 -0
  599. package/dist/esm/sdk/resources/machines/executions/index.d.ts.map +1 -0
  600. package/dist/esm/sdk/resources/machines/executions/index.js +4 -0
  601. package/dist/esm/sdk/resources/machines/executions/index.js.map +1 -0
  602. package/dist/esm/sdk/resources/machines/executions/logs.d.ts +103 -0
  603. package/dist/esm/sdk/resources/machines/executions/logs.d.ts.map +1 -0
  604. package/dist/esm/sdk/resources/machines/executions/logs.js +44 -0
  605. package/dist/esm/sdk/resources/machines/executions/logs.js.map +1 -0
  606. package/dist/esm/sdk/resources/machines/executions.d.ts +2 -0
  607. package/dist/esm/sdk/resources/machines/executions.d.ts.map +1 -0
  608. package/dist/esm/sdk/resources/machines/executions.js +3 -0
  609. package/dist/esm/sdk/resources/machines/executions.js.map +1 -0
  610. package/dist/esm/sdk/resources/machines/index.d.ts +9 -0
  611. package/dist/esm/sdk/resources/machines/index.d.ts.map +1 -0
  612. package/dist/esm/sdk/resources/machines/index.js +6 -0
  613. package/dist/esm/sdk/resources/machines/index.js.map +1 -0
  614. package/dist/esm/sdk/resources/machines/machines.d.ts +497 -0
  615. package/dist/esm/sdk/resources/machines/machines.d.ts.map +1 -0
  616. package/dist/esm/sdk/resources/machines/machines.js +183 -0
  617. package/dist/esm/sdk/resources/machines/machines.js.map +1 -0
  618. package/dist/esm/sdk/resources/machines/ssh.d.ts +175 -0
  619. package/dist/esm/sdk/resources/machines/ssh.d.ts.map +1 -0
  620. package/dist/esm/sdk/resources/machines/ssh.js +85 -0
  621. package/dist/esm/sdk/resources/machines/ssh.js.map +1 -0
  622. package/dist/esm/sdk/resources/machines.d.ts +2 -0
  623. package/dist/esm/sdk/resources/machines.d.ts.map +1 -0
  624. package/dist/esm/sdk/resources/machines.js +3 -0
  625. package/dist/esm/sdk/resources/machines.js.map +1 -0
  626. package/dist/esm/sdk/resources/organization/autoresizing.d.ts +87 -0
  627. package/dist/esm/sdk/resources/organization/autoresizing.d.ts.map +1 -0
  628. package/dist/esm/sdk/resources/organization/autoresizing.js +34 -0
  629. package/dist/esm/sdk/resources/organization/autoresizing.js.map +1 -0
  630. package/dist/esm/sdk/resources/organization/index.d.ts +4 -0
  631. package/dist/esm/sdk/resources/organization/index.d.ts.map +1 -0
  632. package/dist/esm/sdk/resources/organization/index.js +4 -0
  633. package/dist/esm/sdk/resources/organization/index.js.map +1 -0
  634. package/dist/esm/sdk/resources/organization/organization.d.ts +10 -0
  635. package/dist/esm/sdk/resources/organization/organization.d.ts.map +1 -0
  636. package/dist/esm/sdk/resources/organization/organization.js +9 -0
  637. package/dist/esm/sdk/resources/organization/organization.js.map +1 -0
  638. package/dist/esm/sdk/resources/organization.d.ts +2 -0
  639. package/dist/esm/sdk/resources/organization.d.ts.map +1 -0
  640. package/dist/esm/sdk/resources/organization.js +3 -0
  641. package/dist/esm/sdk/resources/organization.js.map +1 -0
  642. package/dist/esm/sdk/resources.d.ts +3 -0
  643. package/dist/esm/sdk/resources.d.ts.map +1 -0
  644. package/dist/esm/sdk/resources.js +3 -0
  645. package/dist/esm/sdk/resources.js.map +1 -0
  646. package/dist/esm/sdk/uploads.d.ts +2 -0
  647. package/dist/esm/sdk/uploads.d.ts.map +1 -0
  648. package/dist/esm/sdk/uploads.js +3 -0
  649. package/dist/esm/sdk/uploads.js.map +1 -0
  650. package/dist/esm/sdk/version.d.ts +2 -0
  651. package/dist/esm/sdk/version.d.ts.map +1 -0
  652. package/dist/esm/sdk/version.js +3 -0
  653. package/dist/esm/sdk/version.js.map +1 -0
  654. package/man/dedalus-completion.1 +35 -0
  655. package/man/dedalus-images-create.1 +126 -0
  656. package/man/dedalus-images-delete.1 +102 -0
  657. package/man/dedalus-images-import.1 +34 -0
  658. package/man/dedalus-images-list.1 +105 -0
  659. package/man/dedalus-images-retrieve.1 +102 -0
  660. package/man/dedalus-images-update.1 +108 -0
  661. package/man/dedalus-images-uploads-create.1 +112 -0
  662. package/man/dedalus-login.1 +47 -0
  663. package/man/dedalus-logout.1 +28 -0
  664. package/man/dedalus-machines-autoresizing-retrieve.1 +104 -0
  665. package/man/dedalus-machines-autoresizing-update.1 +116 -0
  666. package/man/dedalus-machines-create.1 +119 -0
  667. package/man/dedalus-machines-delete.1 +107 -0
  668. package/man/dedalus-machines-executions-create.1 +120 -0
  669. package/man/dedalus-machines-executions-delete.1 +108 -0
  670. package/man/dedalus-machines-executions-events.1 +118 -0
  671. package/man/dedalus-machines-executions-list.1 +114 -0
  672. package/man/dedalus-machines-executions-logs-create-token.1 +108 -0
  673. package/man/dedalus-machines-executions-logs-retrieve.1 +108 -0
  674. package/man/dedalus-machines-executions-output.1 +108 -0
  675. package/man/dedalus-machines-executions-retrieve.1 +108 -0
  676. package/man/dedalus-machines-list.1 +108 -0
  677. package/man/dedalus-machines-reboot.1 +107 -0
  678. package/man/dedalus-machines-resize.1 +110 -0
  679. package/man/dedalus-machines-retrieve.1 +104 -0
  680. package/man/dedalus-machines-sleep.1 +104 -0
  681. package/man/dedalus-machines-ssh-create.1 +108 -0
  682. package/man/dedalus-machines-ssh-delete.1 +108 -0
  683. package/man/dedalus-machines-ssh-list.1 +114 -0
  684. package/man/dedalus-machines-ssh-retrieve.1 +108 -0
  685. package/man/dedalus-machines-update.1 +110 -0
  686. package/man/dedalus-machines-wake.1 +104 -0
  687. package/man/dedalus-organization-autoresizing-retrieve.1 +99 -0
  688. package/man/dedalus-organization-autoresizing-update.1 +111 -0
  689. package/man/dedalus-uninstall.1 +23 -0
  690. package/man/dedalus-upgrade.1 +32 -0
  691. package/man/dedalus.1 +222 -0
  692. package/package.json +88 -4
@@ -0,0 +1,52 @@
1
+ import { type Dedalus } 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: Dedalus) => LogLevel | undefined;
12
+ export declare function loggerFor(client: Dedalus): Logger;
13
+ /**
14
+ * Replaces the value of every credential-bearing query parameter in a URL about to be logged.
15
+ *
16
+ * Rewritten on the query substring rather than through `new URL`, so a relative URL is handled the
17
+ * same way an absolute one is and no parse can throw on the logging path.
18
+ */
19
+ export declare const redactUrl: (url: string) => string;
20
+ /**
21
+ * Replaces the value of every credential-bearing header, for a `Headers` or a plain record alike.
22
+ *
23
+ * Every other value is cleaned as free text: a response can echo the request URL back, in a
24
+ * `Location` or a `Link`, either as written or nested and encoded in a `return_to`, and a header's
25
+ * name says nothing about whether its value quotes a credential.
26
+ */
27
+ export declare const redactHeaders: (headers: Headers | Record<string, string>) => Record<string, string>;
28
+ export declare const formatRequestDetails: (details: {
29
+ options?: RequestOptions | undefined;
30
+ headers?: Headers | Record<string, string> | undefined;
31
+ retryOfRequestLogID?: string | undefined;
32
+ retryOf?: string | undefined;
33
+ url?: string | undefined;
34
+ status?: number | undefined;
35
+ method?: string | undefined;
36
+ durationMs?: number | undefined;
37
+ message?: unknown;
38
+ body?: unknown;
39
+ }) => {
40
+ options?: RequestOptions | undefined;
41
+ headers?: Headers | Record<string, string> | undefined;
42
+ retryOfRequestLogID?: string | undefined;
43
+ retryOf?: string | undefined;
44
+ url?: string | undefined;
45
+ status?: number | undefined;
46
+ method?: string | undefined;
47
+ durationMs?: number | undefined;
48
+ message?: unknown;
49
+ body?: unknown;
50
+ };
51
+ export {};
52
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/internal/utils/log.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,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,OAAO,KACd,QAAQ,GAAG,SAab,CAAC;AAsBF,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAsBjD;AAuJD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,MAgCvC,CAAC;AAwBF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,SAAS,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAM5F,CAAC;AAuEJ,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;CAyDf,CAAC"}
@@ -0,0 +1,405 @@
1
+ // File generated from our OpenAPI spec by Scalar. See README.md for details.
2
+ import { hasOwn } from './values.js';
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
+ /** Value a credential is replaced with before it reaches a log line. */
57
+ const REDACTED = '***';
58
+ /**
59
+ * Header names whose value is replaced before a request or response is logged.
60
+ *
61
+ * The fixed entries are the conventional credential headers, which is all a runtime shared by every
62
+ * SDK could know on its own. The generated ones are the headers *this* SDK's auth schemes actually
63
+ * send: an OpenAPI `apiKey` scheme names its own header, and `X-Auth-Token` or `PRIVATE-TOKEN` is no
64
+ * less a credential for being spelled differently. Without them a `logLevel: "debug"` run prints the
65
+ * credential in clear text, and the generated CLI turns that level on with `--debug`, so it reaches
66
+ * terminals and CI logs alike.
67
+ */
68
+ const REDACTED_HEADERS = new Set([
69
+ 'authorization',
70
+ 'api-key',
71
+ 'x-api-key',
72
+ 'cookie',
73
+ 'set-cookie',
74
+ ]);
75
+ /**
76
+ * Query parameters this SDK sends a credential in, from its `apiKey` schemes with `in: query`.
77
+ *
78
+ * A credential in the query string is worse off than one in a header: the request URL is logged at
79
+ * `info` as well as at `debug`, so it leaks a level below the one a reader would think of as
80
+ * verbose.
81
+ */
82
+ const REDACTED_QUERY_PARAMS = [];
83
+ /**
84
+ * A byte's percent-encoded spelling at any depth and in either hex case, as a pattern: `%3F`,
85
+ * `%3f`, `%253F`. Each extra round of encoding turns the `%` into `%25` and leaves the hex alone,
86
+ * and encoders disagree on which case they write the hex in.
87
+ */
88
+ const encodedBytePattern = (byte) => '%(?:25)*' +
89
+ [...byte.toString(16).padStart(2, '0')]
90
+ .map((digit) => (/[a-f]/u.test(digit) ? `[${digit}${digit.toUpperCase()}]` : digit))
91
+ .join('');
92
+ /**
93
+ * The UTF-8 bytes of one code point, worked out from `encodeURIComponent` rather than a
94
+ * `TextEncoder`: this runs while the module loads, and a runtime without `TextEncoder` (older React
95
+ * Native engines) must still be able to import the client. A lone surrogate, which has no UTF-8
96
+ * spelling, yields no bytes, and `namePattern` then matches that character only as written.
97
+ */
98
+ const utf8Bytes = (char) => {
99
+ const code = char.charCodeAt(0);
100
+ if (char.length === 1 && code < 0x80)
101
+ return [code];
102
+ try {
103
+ return encodeURIComponent(char)
104
+ .split('%')
105
+ .slice(1)
106
+ .map((hex) => parseInt(hex, 16));
107
+ }
108
+ catch {
109
+ return [];
110
+ }
111
+ };
112
+ /**
113
+ * A pattern matching one credential query name in every spelling a URL can carry it in: each
114
+ * character as written or percent-encoded (its UTF-8 bytes, at any depth and in either hex case),
115
+ * and a space also as `+`. `redactUrl` decodes a top-level name before it compares, so this keeps
116
+ * a nested name, which nothing decodes, from slipping past with one of its bytes escaped
117
+ * (`api%5Fkey`). Only the hex ignores case, not the name.
118
+ */
119
+ const namePattern = (name) => [...name]
120
+ .map((char) => {
121
+ // Only syntax characters: the pattern is compiled with the `u` flag, under which escaping
122
+ // anything else (`\-`) is a syntax error rather than a no-op.
123
+ const escaped = char.replace(/[.*+?^${}()|[\]\\/]/gu, '\\$&');
124
+ const encoded = utf8Bytes(char).map(encodedBytePattern).join('');
125
+ // A lone surrogate has no bytes to encode; an empty alternative would make it optional.
126
+ if (encoded === '')
127
+ return `(?:${escaped})`;
128
+ return `(?:${escaped}|${encoded}${char === ' ' ? '|\\+' : ''})`;
129
+ })
130
+ .join('');
131
+ /**
132
+ * Matches a credential query parameter wherever text carries one, nested or not, with the name,
133
+ * separator and `=` in group 1 and the value after it. `undefined` when this SDK places no
134
+ * credential in the query.
135
+ *
136
+ * A name counts after a separator, `?`, `&` or `;`, either literal or percent-encoded any number of
137
+ * times over (`%3F`, `%253F`): a server can echo a whole URL encoded inside another parameter's
138
+ * value, as a login redirect's `return_to` does, and splitting the outer query on `&` never looks
139
+ * inside it. `;` also counts because an HTML-escaped `&` reads `&amp;`. The `=` after the name can
140
+ * be encoded the same way. The value then runs to the next literal `&`, `#` or whitespace: an
141
+ * encoded `%26` may end a nested value, but stopping there would leak the rest of one a sloppy
142
+ * encoder left half-encoded, and masking too much is harmless. `<`, `>` and `"` end it too, since
143
+ * no valid URL carries them unencoded, so a `Link` header's `<url>` or a quoted URL keeps its
144
+ * closing delimiter. `'` does not: a query value can hold it raw. No quantifier nests inside
145
+ * another, so matching stays linear on hostile input.
146
+ */
147
+ const QUERY_CREDENTIAL = (() => {
148
+ // An empty name would build a pattern that masks every `?=`.
149
+ const names = REDACTED_QUERY_PARAMS.filter((name) => name !== '').map(namePattern);
150
+ if (names.length === 0)
151
+ return undefined;
152
+ // `\u0026` is `&` as a JSON string escapes it, which Go's `encoding/json` does by default, so a
153
+ // URL quoted in JSON text (a header value, a non-JSON error body quoting one) carries its
154
+ // separators that way.
155
+ const separator = `(?:[?&;]|\\\\u0026|${[0x3f, 0x26, 0x3b].map(encodedBytePattern).join('|')})`;
156
+ const equals = `(?:=|${encodedBytePattern(0x3d)})`;
157
+ return new RegExp(`(${separator}(?:${names.join('|')})${equals})[^&#\\s<>"]*`, 'gu');
158
+ })();
159
+ /** Masks the value of every credential query parameter in `text`, nested and encoded ones included. */
160
+ const redactQueryCredentials = (text) => QUERY_CREDENTIAL === undefined ? text : text.replace(QUERY_CREDENTIAL, `$1${REDACTED}`);
161
+ /**
162
+ * Blanks the userinfo of a URL, which is a credential wherever it appears.
163
+ *
164
+ * A `--base-url` carries whatever the caller typed, and this repo already treats userinfo as secret
165
+ * where it handles a base URL elsewhere (`profileKey` blanks it before a URL becomes a keychain
166
+ * account). Both halves go rather than the password alone: a token is as often the username
167
+ * (`https://<token>@host`) as the password, so keeping either back still prints one shape in full.
168
+ */
169
+ const redactUserinfo = (url) => {
170
+ const scheme = url.indexOf('://');
171
+ if (scheme === -1)
172
+ return url;
173
+ const start = scheme + 3;
174
+ // The authority ends at the first of these; an `@` past one of them belongs to a path or a query.
175
+ let end = url.length;
176
+ for (const delimiter of ['/', '?', '#']) {
177
+ const at = url.indexOf(delimiter, start);
178
+ if (at !== -1 && at < end)
179
+ end = at;
180
+ }
181
+ const at = url.lastIndexOf('@', end);
182
+ return at === -1 || at < start ? url : url.slice(0, start) + REDACTED + url.slice(at);
183
+ };
184
+ /**
185
+ * Decodes one `application/x-www-form-urlencoded` parameter name, for comparison against the list.
186
+ *
187
+ * A name reaches the URL percent-encoded, so `api%5Fkey` has to match `api_key`. A malformed escape
188
+ * comes back as written rather than throwing: a log line is no place to fail over one, and a name
189
+ * that cannot be decoded cannot match the list anyway.
190
+ */
191
+ const decodeQueryName = (name) => {
192
+ try {
193
+ return decodeURIComponent(name.replace(/\+/gu, ' '));
194
+ }
195
+ catch {
196
+ return name;
197
+ }
198
+ };
199
+ /**
200
+ * Replaces the value of every credential-bearing query parameter in a URL about to be logged.
201
+ *
202
+ * Rewritten on the query substring rather than through `new URL`, so a relative URL is handled the
203
+ * same way an absolute one is and no parse can throw on the logging path.
204
+ */
205
+ export const redactUrl = (url) => {
206
+ const url_ = redactUserinfo(url);
207
+ if (REDACTED_QUERY_PARAMS.length === 0)
208
+ return url_;
209
+ const mark = url_.indexOf('?');
210
+ // A path can nest an encoded URL too (`/proxy/https%3A%2F%2Fh%2Fv1%3Fapi_key%3D…`), and so can a
211
+ // fragment, so the text outside the query is scanned for a nested credential as well.
212
+ if (mark === -1)
213
+ return redactQueryCredentials(url_);
214
+ // A fragment is not part of the query, so splitting it off keeps it out of the rewrite.
215
+ const fragment = url_.indexOf('#', mark);
216
+ const end = fragment === -1 ? url_.length : fragment;
217
+ // Each pair is rewritten where it stands rather than round-tripped through `URLSearchParams`,
218
+ // whose serializer re-spells every *other* parameter in its own safe set -- a space comes back as
219
+ // `+`, a `~` as `%7E` -- and a logged URL that is not the one the request used is a URL nobody can
220
+ // paste back. Splitting and rejoining on `&` is lossless, so a URL carrying no credential comes
221
+ // out of this exactly as it went in.
222
+ const query = url_
223
+ .slice(mark + 1, end)
224
+ .split('&')
225
+ .map((pair) => {
226
+ const equals = pair.indexOf('=');
227
+ // A parameter with no `=` carries no value of its own, but it can still be a whole encoded URL
228
+ // (`?%2Fv1%3Fapi_key%3D…`), so it is scanned for a nested credential like any other value.
229
+ if (equals === -1)
230
+ return redactQueryCredentials(pair);
231
+ const name = pair.slice(0, equals);
232
+ // Any other value still goes through `redactQueryCredentials`: it can nest a whole encoded URL
233
+ // that carries a credential, as a redirect target echoing the request in `return_to` does.
234
+ return REDACTED_QUERY_PARAMS.includes(decodeQueryName(name))
235
+ ? name + '=' + REDACTED
236
+ : redactQueryCredentials(pair);
237
+ })
238
+ .join('&');
239
+ return redactQueryCredentials(url_.slice(0, mark)) + '?' + query + redactQueryCredentials(url_.slice(end));
240
+ };
241
+ /**
242
+ * Replaces credential values in a caller-supplied query object.
243
+ *
244
+ * The client merges its own auth query into the URL, but a caller may pass the same parameter here
245
+ * and `buildURL` lets that value win — so it is as live a credential as the one in the URL.
246
+ */
247
+ const redactQuery = (query) => {
248
+ const redacted = { ...query };
249
+ for (const [name, value] of Object.entries(redacted)) {
250
+ // Every other string value is cleaned as text: an operation parameter such as `return_to` can
251
+ // hold a URL that carries the credential, and the URL logged beside this masks it there.
252
+ if (typeof value === 'string')
253
+ redacted[name] = redactText(value);
254
+ else if (Array.isArray(value)) {
255
+ redacted[name] = value.map((item) => (typeof item === 'string' ? redactText(item) : item));
256
+ }
257
+ }
258
+ for (const name of REDACTED_QUERY_PARAMS) {
259
+ if (hasOwn(redacted, name))
260
+ redacted[name] = REDACTED;
261
+ }
262
+ return redacted;
263
+ };
264
+ /**
265
+ * Replaces the value of every credential-bearing header, for a `Headers` or a plain record alike.
266
+ *
267
+ * Every other value is cleaned as free text: a response can echo the request URL back, in a
268
+ * `Location` or a `Link`, either as written or nested and encoded in a `return_to`, and a header's
269
+ * name says nothing about whether its value quotes a credential.
270
+ */
271
+ export const redactHeaders = (headers) => Object.fromEntries((headers instanceof Headers ? [...headers] : Object.entries(headers)).map(([name, value]) => [
272
+ name,
273
+ REDACTED_HEADERS.has(name.toLowerCase()) ? REDACTED : redactText(value),
274
+ ]));
275
+ /**
276
+ * URL-shaped runs inside free text, for their userinfo. Whitespace, quotes, `<` and `>` end one, so
277
+ * two quoted URLs side by side stay two matches, each with its own userinfo masked, and an `@`
278
+ * further on in the text is not taken for one.
279
+ */
280
+ const URL_IN_TEXT = /\bhttps?:\/\/[^\s"'<>]+/gu;
281
+ /**
282
+ * Text that cannot hold a URL credential: no query separator (literal, encoded or JSON-escaped), no
283
+ * `%` escape, no scheme.
284
+ */
285
+ const NO_URL_CREDENTIAL = /^[^?&;%:\\]*$/u;
286
+ /**
287
+ * Redacts free text that may quote a URL anywhere in it: the userinfo of every absolute URL, then
288
+ * every credential query parameter anywhere in the text, which covers an absolute URL's own query,
289
+ * a relative URL (a `Location` of `/login?api_key=…`) and one nested, encoded, inside another
290
+ * parameter's value alike.
291
+ *
292
+ * Runs for every SDK, not only those with a query credential: Node's `fetch` rejects a URL carrying
293
+ * userinfo with a message that quotes the whole URL back (`Request cannot be constructed from a URL
294
+ * that includes credentials: …`), and that message is logged on the connection-failure path. Gating
295
+ * this on the query list left the password in the log for every SDK whose document happens not to
296
+ * put a credential in the query.
297
+ *
298
+ * Only the userinfo and the credential values are rewritten, never the whole string: a message is
299
+ * not a query string, and handing one to `URLSearchParams` wholesale would swallow everything after
300
+ * the first parameter and take the diagnostic with it. The query scan runs over the whole text in one
301
+ * pass rather than URL by URL, because where a URL ends in prose is a guess and a credential value
302
+ * can hold a raw `'` or end in punctuation: a masked value runs to the next whitespace, `&`, `#`,
303
+ * `<`, `>` or `"`, so punctuation right after it (`(https://h/v1?api_key=***): error`) goes with it.
304
+ * Text with none of the characters a credential needs is returned as is, since header values pass
305
+ * through here on every request whether or not anything logs them.
306
+ */
307
+ const redactText = (text) => NO_URL_CREDENTIAL.test(text) ? text : redactQueryCredentials(text.replace(URL_IN_TEXT, redactUserinfo));
308
+ /**
309
+ * What a log line says about a request or response body: its kind and size, never its content.
310
+ *
311
+ * A body is the data an API exists to move — a token endpoint's answer, a customer's records — and
312
+ * no list of field names can tell which parts of it are secret, while a debug log ends up in CI
313
+ * output and support tickets. The response's `content-type` is logged with its headers beside this.
314
+ */
315
+ const describeBody = (body) => {
316
+ if (body === null)
317
+ return '[empty body]';
318
+ if (typeof body === 'string')
319
+ return `[text body: ${body.length} characters]`;
320
+ if (body instanceof ArrayBuffer)
321
+ return `[binary body: ${body.byteLength} bytes]`;
322
+ if (ArrayBuffer.isView(body))
323
+ return `[binary body: ${body.byteLength} bytes]`;
324
+ const BlobClass = globalThis.Blob;
325
+ if (BlobClass && body instanceof BlobClass) {
326
+ return `[binary body: ${body.size} bytes${body.type ? `, ${body.type}` : ''}]`;
327
+ }
328
+ if (typeof body === 'object') {
329
+ // Plain data first: a parsed JSON body is a plain object or array, and its own `constructor` key
330
+ // is server text, so the class name is read only off an object that is neither.
331
+ const proto = Object.getPrototypeOf(body);
332
+ if (!Array.isArray(body) && proto !== Object.prototype && proto !== null) {
333
+ const name = proto.constructor?.name;
334
+ return typeof name === 'string' && name ? `[${name} body]` : '[object body]';
335
+ }
336
+ // Its shape rather than its serialized length: this runs on every parsed response whether or
337
+ // not debug logging is on, and serializing a large body just to measure it would cost each call.
338
+ if (Array.isArray(body))
339
+ return `[JSON body: array of ${body.length} items]`;
340
+ return `[JSON body: object with ${Object.keys(body).length} keys]`;
341
+ }
342
+ return `[${typeof body} body]`;
343
+ };
344
+ export const formatRequestDetails = (details) => {
345
+ if (details.options) {
346
+ // Swept through a record view rather than field by field: not every field below is declared on
347
+ // `RequestOptions` in every profile (`serverURL` belongs to the Speakeasy compatibility one),
348
+ // and the copy is what keeps the caller's own options object untouched.
349
+ const options = { ...details.options };
350
+ delete options['headers']; // redundant + leaks internals
351
+ // The Speakeasy profile re-adds a header bag under `fetchOptions`, and the client reads it as
352
+ // the request's headers whenever the flattened one is absent -- so it holds the credential a
353
+ // migrated call site passes. Dropped for the same reason as the field above rather than
354
+ // redacted, because `HeadersLike` also takes shapes (an array of pairs, `null`) that the header
355
+ // redaction does not, and the sent headers are already reported beside this, redacted.
356
+ const fetchOptions = options['fetchOptions'];
357
+ if (fetchOptions && typeof fetchOptions === 'object') {
358
+ const copy = { ...fetchOptions };
359
+ delete copy['headers'];
360
+ options['fetchOptions'] = copy;
361
+ }
362
+ const query = options['query'];
363
+ if (query && typeof query === 'object')
364
+ options['query'] = redactQuery(query);
365
+ if (options['body'] !== undefined)
366
+ options['body'] = describeBody(options['body']);
367
+ // These three are URL strings, not route fragments: `buildURL` takes an absolute `path` whole --
368
+ // userinfo, query string and all -- while `defaultBaseURL` and the Speakeasy profile's
369
+ // `serverURL` each replace the base URL outright. The caller-supplied escape hatches therefore
370
+ // carry a credential exactly as readily as the resolved URL beside them does. `serverURL` may
371
+ // be a `URL`, whose `username` and `password` print as fields of their own, so the redacted
372
+ // string goes back rather than the object.
373
+ for (const field of ['path', 'defaultBaseURL', 'serverURL']) {
374
+ const value = options[field];
375
+ if (typeof value === 'string')
376
+ options[field] = redactUrl(value);
377
+ else if (value instanceof URL)
378
+ options[field] = redactUrl(value.toString());
379
+ }
380
+ details.options = options;
381
+ }
382
+ if (details.body !== undefined) {
383
+ details.body = describeBody(details.body);
384
+ }
385
+ if (details.url) {
386
+ details.url = redactUrl(details.url);
387
+ }
388
+ if (details.headers) {
389
+ details.headers = redactHeaders(details.headers);
390
+ }
391
+ // The message is whatever the fetch implementation threw, and Deno's connection errors quote the
392
+ // request URL inside their text (see the note at the `connection failed` call sites), so a query
393
+ // credential rides along in a field none of the checks above look at.
394
+ if (typeof details.message === 'string') {
395
+ details.message = redactText(details.message);
396
+ }
397
+ if ('retryOfRequestLogID' in details) {
398
+ if (details.retryOfRequestLogID) {
399
+ details.retryOf = details.retryOfRequestLogID;
400
+ }
401
+ delete details.retryOfRequestLogID;
402
+ }
403
+ return details;
404
+ };
405
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../../src/sdk/internal/utils/log.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
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
+ /**
11
+ * Like {@link encodeURIPath} but leaves `/` unescaped, implementing RFC 6570 reserved expansion
12
+ * (`{+var}`) for path-like parameters such as a file path. The slash is part of the route shape for
13
+ * these params — `docs/example.txt` must stay nested under `.../files/docs/example.txt` rather than
14
+ * collapsing to a single `docs%2Fexample.txt` segment that points at a different backend path. Each
15
+ * `/`-separated segment is still run through {@link encodeURIPath}, so every other unsafe character is
16
+ * percent-encoded with the exact same rules, and the tag function below still rejects `.`/`..` segments,
17
+ * so a reserved value cannot smuggle in path traversal.
18
+ */
19
+ export declare function encodeURIPathReserved(str: string): string;
20
+ /**
21
+ * Wrapper marking a path-parameter value for reserved expansion. The {@link createPathTagFunction} tag
22
+ * detects this instance and encodes its value with {@link encodeURIPathReserved} (slash-preserving)
23
+ * instead of the default per-segment encoder, while leaving all other interpolated params untouched.
24
+ */
25
+ declare class ReservedPathParam {
26
+ readonly value: string;
27
+ constructor(value: string);
28
+ toString(): string;
29
+ }
30
+ /**
31
+ * Marks a value so the `path` tag preserves `/` when encoding it (RFC 6570 reserved expansion). Used by
32
+ * generated request paths for parameters the spec flags with `allowReserved` (e.g. file paths).
33
+ */
34
+ export declare const reserved: (value: unknown) => ReservedPathParam;
35
+ export declare const createPathTagFunction: (pathEncoder?: typeof encodeURIPath) => (statics: readonly string[], ...params: readonly unknown[]) => string;
36
+ /**
37
+ * URI-encodes path params and ensures no unsafe /./ or /../ path segments are introduced.
38
+ */
39
+ export declare const path: (statics: readonly string[], ...params: readonly unknown[]) => string;
40
+ export {};
41
+ //# sourceMappingURL=path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/internal/utils/path.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,UAExC;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,UAEhD;AAED;;;;GAIG;AACH,cAAM,iBAAiB;IACT,QAAQ,CAAC,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;IAClC,QAAQ,IAAI,MAAM;CAGnB;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,iBAAsD,CAAC;AAIjG,eAAO,MAAM,qBAAqB,GAAI,kCAA2B,MACjD,SAAS,SAAS,MAAM,EAAE,EAAE,GAAG,QAAQ,SAAS,OAAO,EAAE,KAAG,MAsEzE,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,IAAI,YA3EQ,SAAS,MAAM,EAAE,aAAa,SAAS,OAAO,EAAE,KAAG,MA2EJ,CAAC"}
@@ -0,0 +1,108 @@
1
+ import { DedalusError } from '../../core/error.js';
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
+ /**
14
+ * Like {@link encodeURIPath} but leaves `/` unescaped, implementing RFC 6570 reserved expansion
15
+ * (`{+var}`) for path-like parameters such as a file path. The slash is part of the route shape for
16
+ * these params — `docs/example.txt` must stay nested under `.../files/docs/example.txt` rather than
17
+ * collapsing to a single `docs%2Fexample.txt` segment that points at a different backend path. Each
18
+ * `/`-separated segment is still run through {@link encodeURIPath}, so every other unsafe character is
19
+ * percent-encoded with the exact same rules, and the tag function below still rejects `.`/`..` segments,
20
+ * so a reserved value cannot smuggle in path traversal.
21
+ */
22
+ export function encodeURIPathReserved(str) {
23
+ return str.split('/').map(encodeURIPath).join('/');
24
+ }
25
+ /**
26
+ * Wrapper marking a path-parameter value for reserved expansion. The {@link createPathTagFunction} tag
27
+ * detects this instance and encodes its value with {@link encodeURIPathReserved} (slash-preserving)
28
+ * instead of the default per-segment encoder, while leaving all other interpolated params untouched.
29
+ */
30
+ class ReservedPathParam {
31
+ value;
32
+ constructor(value) {
33
+ this.value = value;
34
+ }
35
+ toString() {
36
+ return this.value;
37
+ }
38
+ }
39
+ /**
40
+ * Marks a value so the `path` tag preserves `/` when encoding it (RFC 6570 reserved expansion). Used by
41
+ * generated request paths for parameters the spec flags with `allowReserved` (e.g. file paths).
42
+ */
43
+ export const reserved = (value) => new ReservedPathParam('' + value);
44
+ const EMPTY = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.create(null));
45
+ export const createPathTagFunction = (pathEncoder = encodeURIPath) => function path(statics, ...params) {
46
+ // If there are no params, no processing is needed.
47
+ if (statics.length === 1)
48
+ return statics[0];
49
+ let postPath = false;
50
+ const invalidSegments = [];
51
+ const path = statics.reduce((previousValue, currentValue, index) => {
52
+ if (/[?#]/.test(currentValue)) {
53
+ postPath = true;
54
+ }
55
+ const param = params[index];
56
+ // Reserved params keep `/` (file-path-like values); everything else uses the default encoder.
57
+ const isReserved = param instanceof ReservedPathParam;
58
+ const value = isReserved ? param.value : param;
59
+ let encoded = (postPath ? encodeURIComponent : isReserved ? encodeURIPathReserved : pathEncoder)('' + value);
60
+ if (index !== params.length &&
61
+ (value == null ||
62
+ (typeof value === 'object' &&
63
+ // handle values from other realms
64
+ value.toString ===
65
+ Object.getPrototypeOf(Object.getPrototypeOf(value.hasOwnProperty ?? EMPTY) ?? EMPTY)
66
+ ?.toString))) {
67
+ encoded = value + '';
68
+ invalidSegments.push({
69
+ start: previousValue.length + currentValue.length,
70
+ length: encoded.length,
71
+ error: `Value of type ${Object.prototype.toString
72
+ .call(value)
73
+ .slice(8, -1)} is not a valid path parameter`,
74
+ });
75
+ }
76
+ return previousValue + currentValue + (index === params.length ? '' : encoded);
77
+ }, '');
78
+ const pathOnly = path.split(/[?#]/, 1)[0];
79
+ const invalidSegmentPattern = /(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;
80
+ let match;
81
+ // Find all invalid segments
82
+ while ((match = invalidSegmentPattern.exec(pathOnly)) !== null) {
83
+ invalidSegments.push({
84
+ start: match.index,
85
+ length: match[0].length,
86
+ error: `Value "${match[0]}" can\'t be safely passed as a path parameter`,
87
+ });
88
+ }
89
+ invalidSegments.sort((a, b) => a.start - b.start);
90
+ if (invalidSegments.length > 0) {
91
+ let lastEnd = 0;
92
+ const underline = invalidSegments.reduce((acc, segment) => {
93
+ const spaces = ' '.repeat(segment.start - lastEnd);
94
+ const arrows = '^'.repeat(segment.length);
95
+ lastEnd = segment.start + segment.length;
96
+ return acc + spaces + arrows;
97
+ }, '');
98
+ throw new DedalusError(`Path parameters result in path with invalid segments:\n${invalidSegments
99
+ .map((e) => e.error)
100
+ .join('\n')}\n${path}\n${underline}`);
101
+ }
102
+ return path;
103
+ };
104
+ /**
105
+ * URI-encodes path params and ensures no unsafe /./ or /../ path segments are introduced.
106
+ */
107
+ export const path = /* @__PURE__ */ createPathTagFunction(encodeURIPath);
108
+ //# sourceMappingURL=path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../../src/sdk/internal/utils/path.ts"],"names":[],"mappings":"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"}