@zuplo/cli 3.0.5 → 6.2.6

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 (424) hide show
  1. package/dist/__tests__/archive-utils.test.d.ts +2 -0
  2. package/dist/__tests__/archive-utils.test.d.ts.map +1 -0
  3. package/dist/__tests__/archive-utils.test.js +55 -0
  4. package/dist/__tests__/archive-utils.test.js.map +1 -0
  5. package/dist/__tests__/engine.test.d.ts +2 -0
  6. package/dist/__tests__/engine.test.d.ts.map +1 -0
  7. package/dist/{convert → __tests__}/engine.test.js +2 -5
  8. package/dist/__tests__/engine.test.js.map +1 -0
  9. package/dist/__tests__/import-openapi-utils.test.d.ts +2 -0
  10. package/dist/__tests__/import-openapi-utils.test.d.ts.map +1 -0
  11. package/dist/__tests__/import-openapi-utils.test.js +125 -0
  12. package/dist/__tests__/import-openapi-utils.test.js.map +1 -0
  13. package/dist/__tests__/import-openapi.test.d.ts +2 -0
  14. package/dist/__tests__/import-openapi.test.d.ts.map +1 -0
  15. package/dist/__tests__/import-openapi.test.js +166 -0
  16. package/dist/__tests__/import-openapi.test.js.map +1 -0
  17. package/dist/__tests__/oas-test-data.d.ts +98 -0
  18. package/dist/__tests__/oas-test-data.d.ts.map +1 -0
  19. package/dist/__tests__/oas-test-data.js +114 -0
  20. package/dist/__tests__/oas-test-data.js.map +1 -0
  21. package/dist/__tests__/outdated.test.d.ts +2 -0
  22. package/dist/__tests__/outdated.test.d.ts.map +1 -0
  23. package/dist/{common → __tests__}/outdated.test.js +4 -7
  24. package/dist/__tests__/outdated.test.js.map +1 -0
  25. package/dist/__tests__/tsconfig-upgrader.test.d.ts +2 -0
  26. package/dist/__tests__/tsconfig-upgrader.test.d.ts.map +1 -0
  27. package/dist/__tests__/tsconfig-upgrader.test.js +27 -0
  28. package/dist/__tests__/tsconfig-upgrader.test.js.map +1 -0
  29. package/dist/build/handler.d.ts +7 -0
  30. package/dist/build/handler.d.ts.map +1 -0
  31. package/dist/build/handler.js +29 -0
  32. package/dist/build/handler.js.map +1 -0
  33. package/dist/cli.d.ts +2 -0
  34. package/dist/cli.d.ts.map +1 -0
  35. package/dist/cli.js +4 -5
  36. package/dist/cli.js.map +1 -0
  37. package/dist/cmds/build.d.ts +9 -0
  38. package/dist/cmds/build.d.ts.map +1 -0
  39. package/dist/cmds/build.js +39 -0
  40. package/dist/cmds/build.js.map +1 -0
  41. package/dist/cmds/compile.d.ts +9 -0
  42. package/dist/cmds/compile.d.ts.map +1 -0
  43. package/dist/cmds/compile.js +1 -4
  44. package/dist/cmds/compile.js.map +1 -0
  45. package/dist/cmds/convert.d.ts +9 -0
  46. package/dist/cmds/convert.d.ts.map +1 -0
  47. package/dist/cmds/convert.js +1 -4
  48. package/dist/cmds/convert.js.map +1 -0
  49. package/dist/cmds/delete.d.ts +9 -0
  50. package/dist/cmds/delete.d.ts.map +1 -0
  51. package/dist/cmds/delete.js +1 -4
  52. package/dist/cmds/delete.js.map +1 -0
  53. package/dist/cmds/deploy.d.ts +9 -0
  54. package/dist/cmds/deploy.d.ts.map +1 -0
  55. package/dist/cmds/deploy.js +8 -5
  56. package/dist/cmds/deploy.js.map +1 -0
  57. package/dist/cmds/dev.d.ts +9 -0
  58. package/dist/cmds/dev.d.ts.map +1 -0
  59. package/dist/cmds/dev.js +1 -4
  60. package/dist/cmds/dev.js.map +1 -0
  61. package/dist/cmds/editor.d.ts +9 -0
  62. package/dist/cmds/editor.d.ts.map +1 -0
  63. package/dist/cmds/editor.js +1 -4
  64. package/dist/cmds/editor.js.map +1 -0
  65. package/dist/cmds/link.d.ts +9 -0
  66. package/dist/cmds/link.d.ts.map +1 -0
  67. package/dist/cmds/link.js +1 -4
  68. package/dist/cmds/link.js.map +1 -0
  69. package/dist/cmds/list.d.ts +9 -0
  70. package/dist/cmds/list.d.ts.map +1 -0
  71. package/dist/cmds/list.js +1 -4
  72. package/dist/cmds/list.js.map +1 -0
  73. package/dist/cmds/login.d.ts +9 -0
  74. package/dist/cmds/login.d.ts.map +1 -0
  75. package/dist/cmds/login.js +1 -4
  76. package/dist/cmds/login.js.map +1 -0
  77. package/dist/cmds/project/import-openapi.d.ts +9 -0
  78. package/dist/cmds/project/import-openapi.d.ts.map +1 -0
  79. package/dist/cmds/project/import-openapi.js +2 -12
  80. package/dist/cmds/project/import-openapi.js.map +1 -0
  81. package/dist/cmds/project/index.d.ts +4 -0
  82. package/dist/cmds/project/index.d.ts.map +1 -0
  83. package/dist/cmds/project/index.js +1 -4
  84. package/dist/cmds/project/index.js.map +1 -0
  85. package/dist/cmds/project/update.d.ts +9 -0
  86. package/dist/cmds/project/update.d.ts.map +1 -0
  87. package/dist/cmds/project/update.js +1 -4
  88. package/dist/cmds/project/update.js.map +1 -0
  89. package/dist/cmds/test.d.ts +9 -0
  90. package/dist/cmds/test.d.ts.map +1 -0
  91. package/dist/cmds/test.js +1 -4
  92. package/dist/cmds/test.js.map +1 -0
  93. package/dist/cmds/tunnel/create.d.ts +9 -0
  94. package/dist/cmds/tunnel/create.d.ts.map +1 -0
  95. package/dist/cmds/tunnel/create.js +1 -4
  96. package/dist/cmds/tunnel/create.js.map +1 -0
  97. package/dist/cmds/tunnel/delete.d.ts +9 -0
  98. package/dist/cmds/tunnel/delete.d.ts.map +1 -0
  99. package/dist/cmds/tunnel/delete.js +1 -4
  100. package/dist/cmds/tunnel/delete.js.map +1 -0
  101. package/dist/cmds/tunnel/describe.d.ts +9 -0
  102. package/dist/cmds/tunnel/describe.d.ts.map +1 -0
  103. package/dist/cmds/tunnel/describe.js +1 -4
  104. package/dist/cmds/tunnel/describe.js.map +1 -0
  105. package/dist/cmds/tunnel/index.d.ts +4 -0
  106. package/dist/cmds/tunnel/index.d.ts.map +1 -0
  107. package/dist/cmds/tunnel/index.js +1 -4
  108. package/dist/cmds/tunnel/index.js.map +1 -0
  109. package/dist/cmds/tunnel/list.d.ts +9 -0
  110. package/dist/cmds/tunnel/list.d.ts.map +1 -0
  111. package/dist/cmds/tunnel/list.js +1 -4
  112. package/dist/cmds/tunnel/list.js.map +1 -0
  113. package/dist/cmds/tunnel/rotate-token.d.ts +9 -0
  114. package/dist/cmds/tunnel/rotate-token.d.ts.map +1 -0
  115. package/dist/cmds/tunnel/rotate-token.js +1 -4
  116. package/dist/cmds/tunnel/rotate-token.js.map +1 -0
  117. package/dist/cmds/tunnel/services/describe.d.ts +9 -0
  118. package/dist/cmds/tunnel/services/describe.d.ts.map +1 -0
  119. package/dist/cmds/tunnel/services/describe.js +1 -4
  120. package/dist/cmds/tunnel/services/describe.js.map +1 -0
  121. package/dist/cmds/tunnel/services/index.d.ts +4 -0
  122. package/dist/cmds/tunnel/services/index.d.ts.map +1 -0
  123. package/dist/cmds/tunnel/services/index.js +1 -4
  124. package/dist/cmds/tunnel/services/index.js.map +1 -0
  125. package/dist/cmds/tunnel/services/update.d.ts +9 -0
  126. package/dist/cmds/tunnel/services/update.d.ts.map +1 -0
  127. package/dist/cmds/tunnel/services/update.js +1 -4
  128. package/dist/cmds/tunnel/services/update.js.map +1 -0
  129. package/dist/cmds/variable/create.d.ts +9 -0
  130. package/dist/cmds/variable/create.d.ts.map +1 -0
  131. package/dist/cmds/variable/create.js +1 -4
  132. package/dist/cmds/variable/create.js.map +1 -0
  133. package/dist/cmds/variable/index.d.ts +4 -0
  134. package/dist/cmds/variable/index.d.ts.map +1 -0
  135. package/dist/cmds/variable/index.js +1 -4
  136. package/dist/cmds/variable/index.js.map +1 -0
  137. package/dist/cmds/variable/update.d.ts +9 -0
  138. package/dist/cmds/variable/update.d.ts.map +1 -0
  139. package/dist/cmds/variable/update.js +1 -4
  140. package/dist/cmds/variable/update.js.map +1 -0
  141. package/dist/common/alias.d.ts +2 -0
  142. package/dist/common/alias.d.ts.map +1 -0
  143. package/dist/common/alias.js +1 -4
  144. package/dist/common/alias.js.map +1 -0
  145. package/dist/common/analytics/lib.d.ts +18 -0
  146. package/dist/common/analytics/lib.d.ts.map +1 -0
  147. package/dist/common/analytics/lib.js +1 -4
  148. package/dist/common/analytics/lib.js.map +1 -0
  149. package/dist/common/api/lib.d.ts +16 -0
  150. package/dist/common/api/lib.d.ts.map +1 -0
  151. package/dist/common/api/lib.js +1 -4
  152. package/dist/common/api/lib.js.map +1 -0
  153. package/dist/common/args.d.ts +4 -0
  154. package/dist/common/args.d.ts.map +1 -0
  155. package/dist/common/args.js +1 -4
  156. package/dist/common/args.js.map +1 -0
  157. package/dist/common/constants.d.ts +16 -0
  158. package/dist/common/constants.d.ts.map +1 -0
  159. package/dist/common/constants.js +1 -4
  160. package/dist/common/constants.js.map +1 -0
  161. package/dist/common/handler.d.ts +2 -0
  162. package/dist/common/handler.d.ts.map +1 -0
  163. package/dist/common/handler.js +1 -4
  164. package/dist/common/handler.js.map +1 -0
  165. package/dist/common/logger.d.ts +3 -0
  166. package/dist/common/logger.d.ts.map +1 -0
  167. package/dist/common/logger.js +1 -4
  168. package/dist/common/logger.js.map +1 -0
  169. package/dist/common/machine-id/lib.d.ts +2 -0
  170. package/dist/common/machine-id/lib.d.ts.map +1 -0
  171. package/dist/common/machine-id/lib.js +1 -4
  172. package/dist/common/machine-id/lib.js.map +1 -0
  173. package/dist/common/middleware/user-configuration.d.ts +4 -0
  174. package/dist/common/middleware/user-configuration.d.ts.map +1 -0
  175. package/dist/common/middleware/user-configuration.js +1 -4
  176. package/dist/common/middleware/user-configuration.js.map +1 -0
  177. package/dist/common/middleware/user-identification.d.ts +4 -0
  178. package/dist/common/middleware/user-identification.d.ts.map +1 -0
  179. package/dist/common/middleware/user-identification.js +2 -5
  180. package/dist/common/middleware/user-identification.js.map +1 -0
  181. package/dist/common/models.d.ts +7 -0
  182. package/dist/common/models.d.ts.map +1 -0
  183. package/dist/common/models.js +1 -4
  184. package/dist/common/models.js.map +1 -0
  185. package/dist/common/outdated.d.ts +3 -0
  186. package/dist/common/outdated.d.ts.map +1 -0
  187. package/dist/common/outdated.js +3 -6
  188. package/dist/common/outdated.js.map +1 -0
  189. package/dist/common/output.d.ts +10 -0
  190. package/dist/common/output.d.ts.map +1 -0
  191. package/dist/common/output.js +2 -5
  192. package/dist/common/output.js.map +1 -0
  193. package/dist/common/settings.d.ts +11 -0
  194. package/dist/common/settings.d.ts.map +1 -0
  195. package/dist/common/settings.js +1 -4
  196. package/dist/common/settings.js.map +1 -0
  197. package/dist/common/upgraders/lib.d.ts +15 -0
  198. package/dist/common/upgraders/lib.d.ts.map +1 -0
  199. package/dist/common/upgraders/lib.js +1 -4
  200. package/dist/common/upgraders/lib.js.map +1 -0
  201. package/dist/common/upgraders/package-json-upgrader.d.ts +10 -0
  202. package/dist/common/upgraders/package-json-upgrader.d.ts.map +1 -0
  203. package/dist/common/upgraders/package-json-upgrader.js +1 -4
  204. package/dist/common/upgraders/package-json-upgrader.js.map +1 -0
  205. package/dist/common/upgraders/tsconfig-upgrader.d.ts +14 -0
  206. package/dist/common/upgraders/tsconfig-upgrader.d.ts.map +1 -0
  207. package/dist/common/upgraders/tsconfig-upgrader.js +1 -4
  208. package/dist/common/upgraders/tsconfig-upgrader.js.map +1 -0
  209. package/dist/common/upgraders/vscode-settings-json-upgrader.d.ts +7 -0
  210. package/dist/common/upgraders/vscode-settings-json-upgrader.d.ts.map +1 -0
  211. package/dist/common/upgraders/vscode-settings-json-upgrader.js +1 -4
  212. package/dist/common/upgraders/vscode-settings-json-upgrader.js.map +1 -0
  213. package/dist/common/utils/box.d.ts +8 -0
  214. package/dist/common/utils/box.d.ts.map +1 -0
  215. package/dist/common/utils/box.js +1 -4
  216. package/dist/common/utils/box.js.map +1 -0
  217. package/dist/common/utils/ports.d.ts +2 -0
  218. package/dist/common/utils/ports.d.ts.map +1 -0
  219. package/dist/common/utils/ports.js +4 -7
  220. package/dist/common/utils/ports.js.map +1 -0
  221. package/dist/common/utils/types.d.ts +2 -0
  222. package/dist/common/utils/types.d.ts.map +1 -0
  223. package/dist/common/utils/types.js +1 -4
  224. package/dist/common/utils/types.js.map +1 -0
  225. package/dist/common/utils/urls.d.ts +2 -0
  226. package/dist/common/utils/urls.d.ts.map +1 -0
  227. package/dist/common/utils/urls.js +1 -4
  228. package/dist/common/utils/urls.js.map +1 -0
  229. package/dist/common/validators/file-system-validator.d.ts +69 -0
  230. package/dist/common/validators/file-system-validator.d.ts.map +1 -0
  231. package/dist/common/validators/file-system-validator.js +3 -6
  232. package/dist/common/validators/file-system-validator.js.map +1 -0
  233. package/dist/common/validators/lib.d.ts +21 -0
  234. package/dist/common/validators/lib.d.ts.map +1 -0
  235. package/dist/common/validators/lib.js +1 -4
  236. package/dist/common/validators/lib.js.map +1 -0
  237. package/dist/common/validators/login-state-validator.d.ts +14 -0
  238. package/dist/common/validators/login-state-validator.d.ts.map +1 -0
  239. package/dist/common/validators/login-state-validator.js +1 -4
  240. package/dist/common/validators/login-state-validator.js.map +1 -0
  241. package/dist/common/validators/project-name-validator.d.ts +12 -0
  242. package/dist/common/validators/project-name-validator.d.ts.map +1 -0
  243. package/dist/common/validators/project-name-validator.js +1 -4
  244. package/dist/common/validators/project-name-validator.js.map +1 -0
  245. package/dist/common/xdg/lib.d.ts +7 -0
  246. package/dist/common/xdg/lib.d.ts.map +1 -0
  247. package/dist/common/xdg/lib.js +1 -4
  248. package/dist/common/xdg/lib.js.map +1 -0
  249. package/dist/compile/handler.d.ts +7 -0
  250. package/dist/compile/handler.d.ts.map +1 -0
  251. package/dist/compile/handler.js +4 -5
  252. package/dist/compile/handler.js.map +1 -0
  253. package/dist/convert/engine.d.ts +14 -0
  254. package/dist/convert/engine.d.ts.map +1 -0
  255. package/dist/convert/engine.js +1 -4
  256. package/dist/convert/engine.js.map +1 -0
  257. package/dist/convert/handler.d.ts +5 -0
  258. package/dist/convert/handler.d.ts.map +1 -0
  259. package/dist/convert/handler.js +1 -4
  260. package/dist/convert/handler.js.map +1 -0
  261. package/dist/convert/routes.generated.d.ts +69 -0
  262. package/dist/convert/routes.generated.d.ts.map +1 -0
  263. package/dist/convert/routes.generated.js +1 -4
  264. package/dist/convert/routes.generated.js.map +1 -0
  265. package/dist/delete/handler.d.ts +10 -0
  266. package/dist/delete/handler.d.ts.map +1 -0
  267. package/dist/delete/handler.js +2 -5
  268. package/dist/delete/handler.js.map +1 -0
  269. package/dist/delete/poll-deployment.d.ts +3 -0
  270. package/dist/delete/poll-deployment.d.ts.map +1 -0
  271. package/dist/delete/poll-deployment.js +1 -4
  272. package/dist/delete/poll-deployment.js.map +1 -0
  273. package/dist/deploy/archive.d.ts +19 -0
  274. package/dist/deploy/archive.d.ts.map +1 -0
  275. package/dist/deploy/archive.js +9 -8
  276. package/dist/deploy/archive.js.map +1 -0
  277. package/dist/deploy/file-upload.d.ts +2 -0
  278. package/dist/deploy/file-upload.d.ts.map +1 -0
  279. package/dist/deploy/file-upload.js +1 -4
  280. package/dist/deploy/file-upload.js.map +1 -0
  281. package/dist/deploy/handler.d.ts +13 -0
  282. package/dist/deploy/handler.d.ts.map +1 -0
  283. package/dist/deploy/handler.js +1 -4
  284. package/dist/deploy/handler.js.map +1 -0
  285. package/dist/deploy/poll-deployment.d.ts +13 -0
  286. package/dist/deploy/poll-deployment.d.ts.map +1 -0
  287. package/dist/deploy/poll-deployment.js +1 -4
  288. package/dist/deploy/poll-deployment.js.map +1 -0
  289. package/dist/dev/handler.d.ts +9 -0
  290. package/dist/dev/handler.d.ts.map +1 -0
  291. package/dist/dev/handler.js +2 -5
  292. package/dist/dev/handler.js.map +1 -0
  293. package/dist/editor/assets/index-03352ce7.d.ts +2 -0
  294. package/dist/editor/assets/index-03352ce7.d.ts.map +1 -0
  295. package/dist/editor/assets/index-03352ce7.js +9017 -207
  296. package/dist/editor/assets/index-03352ce7.js.map +1 -0
  297. package/dist/editor/handler.d.ts +6 -0
  298. package/dist/editor/handler.d.ts.map +1 -0
  299. package/dist/editor/handler.js +1 -4
  300. package/dist/editor/handler.js.map +1 -0
  301. package/dist/editor/index.html +1 -1
  302. package/dist/editor/server/cors-plugin.d.ts +4 -0
  303. package/dist/editor/server/cors-plugin.d.ts.map +1 -0
  304. package/dist/editor/server/cors-plugin.js +4 -7
  305. package/dist/editor/server/cors-plugin.js.map +1 -0
  306. package/dist/editor/server/server.d.ts +24 -0
  307. package/dist/editor/server/server.d.ts.map +1 -0
  308. package/dist/editor/server/server.js +2 -5
  309. package/dist/editor/server/server.js.map +1 -0
  310. package/dist/editor/server/xfs.d.ts +3 -0
  311. package/dist/editor/server/xfs.d.ts.map +1 -0
  312. package/dist/editor/server/xfs.js +2 -5
  313. package/dist/editor/server/xfs.js.map +1 -0
  314. package/dist/link/handler.d.ts +9 -0
  315. package/dist/link/handler.d.ts.map +1 -0
  316. package/dist/link/handler.js +1 -4
  317. package/dist/link/handler.js.map +1 -0
  318. package/dist/link/populate.d.ts +4 -0
  319. package/dist/link/populate.d.ts.map +1 -0
  320. package/dist/link/populate.js +1 -4
  321. package/dist/link/populate.js.map +1 -0
  322. package/dist/list/handler.d.ts +13 -0
  323. package/dist/list/handler.d.ts.map +1 -0
  324. package/dist/list/handler.js +5 -5
  325. package/dist/list/handler.js.map +1 -0
  326. package/dist/login/handler.d.ts +14 -0
  327. package/dist/login/handler.d.ts.map +1 -0
  328. package/dist/login/handler.js +1 -4
  329. package/dist/login/handler.js.map +1 -0
  330. package/dist/login/server.d.ts +2 -0
  331. package/dist/login/server.d.ts.map +1 -0
  332. package/dist/login/server.js +1 -4
  333. package/dist/login/server.js.map +1 -0
  334. package/dist/project/import-openapi/handler.d.ts +11 -0
  335. package/dist/project/import-openapi/handler.d.ts.map +1 -0
  336. package/dist/project/import-openapi/handler.js +14 -22
  337. package/dist/project/import-openapi/handler.js.map +1 -0
  338. package/dist/project/import-openapi/interfaces.d.ts +45 -0
  339. package/dist/project/import-openapi/interfaces.d.ts.map +1 -0
  340. package/dist/project/import-openapi/interfaces.js +1 -4
  341. package/dist/project/import-openapi/interfaces.js.map +1 -0
  342. package/dist/project/import-openapi/utils.d.ts +13 -0
  343. package/dist/project/import-openapi/utils.d.ts.map +1 -0
  344. package/dist/project/import-openapi/utils.js +1 -4
  345. package/dist/project/import-openapi/utils.js.map +1 -0
  346. package/dist/project/update/handler.d.ts +6 -0
  347. package/dist/project/update/handler.d.ts.map +1 -0
  348. package/dist/project/update/handler.js +1 -4
  349. package/dist/project/update/handler.js.map +1 -0
  350. package/dist/test/esbuild-config.d.ts +4 -0
  351. package/dist/test/esbuild-config.d.ts.map +1 -0
  352. package/dist/test/esbuild-config.js +1 -4
  353. package/dist/test/esbuild-config.js.map +1 -0
  354. package/dist/test/esbuild-plugins/node-test-prep-plugin.d.ts +4 -0
  355. package/dist/test/esbuild-plugins/node-test-prep-plugin.d.ts.map +1 -0
  356. package/dist/test/esbuild-plugins/node-test-prep-plugin.js +1 -4
  357. package/dist/test/esbuild-plugins/node-test-prep-plugin.js.map +1 -0
  358. package/dist/test/handler.d.ts +7 -0
  359. package/dist/test/handler.d.ts.map +1 -0
  360. package/dist/test/handler.js +1 -4
  361. package/dist/test/handler.js.map +1 -0
  362. package/dist/test/invoke-test.d.ts +4 -0
  363. package/dist/test/invoke-test.d.ts.map +1 -0
  364. package/dist/test/invoke-test.js +1 -4
  365. package/dist/test/invoke-test.js.map +1 -0
  366. package/dist/tsconfig.tsbuildinfo +1 -0
  367. package/dist/tunnel/create/handler.d.ts +7 -0
  368. package/dist/tunnel/create/handler.d.ts.map +1 -0
  369. package/dist/tunnel/create/handler.js +1 -4
  370. package/dist/tunnel/create/handler.js.map +1 -0
  371. package/dist/tunnel/delete/handler.d.ts +7 -0
  372. package/dist/tunnel/delete/handler.d.ts.map +1 -0
  373. package/dist/tunnel/delete/handler.js +1 -4
  374. package/dist/tunnel/delete/handler.js.map +1 -0
  375. package/dist/tunnel/delete/poll-teardown-operation.d.ts +8 -0
  376. package/dist/tunnel/delete/poll-teardown-operation.d.ts.map +1 -0
  377. package/dist/tunnel/delete/poll-teardown-operation.js +1 -4
  378. package/dist/tunnel/delete/poll-teardown-operation.js.map +1 -0
  379. package/dist/tunnel/describe/handler.d.ts +7 -0
  380. package/dist/tunnel/describe/handler.d.ts.map +1 -0
  381. package/dist/tunnel/describe/handler.js +1 -4
  382. package/dist/tunnel/describe/handler.js.map +1 -0
  383. package/dist/tunnel/list/handler.d.ts +6 -0
  384. package/dist/tunnel/list/handler.d.ts.map +1 -0
  385. package/dist/tunnel/list/handler.js +1 -4
  386. package/dist/tunnel/list/handler.js.map +1 -0
  387. package/dist/tunnel/models.d.ts +24 -0
  388. package/dist/tunnel/models.d.ts.map +1 -0
  389. package/dist/tunnel/models.js +1 -4
  390. package/dist/tunnel/models.js.map +1 -0
  391. package/dist/tunnel/rotate-token/handler.d.ts +7 -0
  392. package/dist/tunnel/rotate-token/handler.d.ts.map +1 -0
  393. package/dist/tunnel/rotate-token/handler.js +1 -4
  394. package/dist/tunnel/rotate-token/handler.js.map +1 -0
  395. package/dist/tunnel/services/describe/handler.d.ts +7 -0
  396. package/dist/tunnel/services/describe/handler.d.ts.map +1 -0
  397. package/dist/tunnel/services/describe/handler.js +1 -4
  398. package/dist/tunnel/services/describe/handler.js.map +1 -0
  399. package/dist/tunnel/services/update/handler.d.ts +8 -0
  400. package/dist/tunnel/services/update/handler.d.ts.map +1 -0
  401. package/dist/tunnel/services/update/handler.js +1 -4
  402. package/dist/tunnel/services/update/handler.js.map +1 -0
  403. package/dist/tunnel/services/update/poll-provisioning-operations.d.ts +8 -0
  404. package/dist/tunnel/services/update/poll-provisioning-operations.d.ts.map +1 -0
  405. package/dist/tunnel/services/update/poll-provisioning-operations.js +1 -4
  406. package/dist/tunnel/services/update/poll-provisioning-operations.js.map +1 -0
  407. package/dist/variable/create/handler.d.ts +3 -0
  408. package/dist/variable/create/handler.d.ts.map +1 -0
  409. package/dist/variable/create/handler.js +1 -4
  410. package/dist/variable/create/handler.js.map +1 -0
  411. package/dist/variable/models.d.ts +18 -0
  412. package/dist/variable/models.d.ts.map +1 -0
  413. package/dist/variable/models.js +1 -4
  414. package/dist/variable/models.js.map +1 -0
  415. package/dist/variable/update/handler.d.ts +3 -0
  416. package/dist/variable/update/handler.d.ts.map +1 -0
  417. package/dist/variable/update/handler.js +1 -4
  418. package/dist/variable/update/handler.js.map +1 -0
  419. package/package.json +26 -57
  420. package/.tool-versions +0 -1
  421. package/CODEOWNERS +0 -5
  422. package/dist/common/upgraders/tsconfig-upgrader.test.js +0 -30
  423. package/polyfills/async_hooks.js +0 -8
  424. package/polyfills/diagnostics_channel.js +0 -155
@@ -0,0 +1,45 @@
1
+ import { RouteConfiguration } from "@zuplo/runtime";
2
+ import { ErrorObject } from "ajv";
3
+ import { OpenAPIV3_1 } from "openapi-types";
4
+ export type ValidationResult = {
5
+ isValid: boolean;
6
+ errors: ErrorObject[];
7
+ warnings: ErrorObject[];
8
+ };
9
+ type Modify<T, R> = Omit<T, keyof R> & R;
10
+ export type ZuploHttpMethods = OpenAPIV3_1.HttpMethods | string;
11
+ export declare const ZUPLO_OPEN_API_VENDOR_PREFIX = "x-zuplo";
12
+ export declare const OPEN_API_INTERNAL_PROPERTY_VENDOR_TAG = "x-internal";
13
+ export declare const ZUPLO_OPEN_API_PATH_KEY: "x-zuplo-path";
14
+ export declare const ZUPLO_OPEN_API_ROUTE_KEY: "x-zuplo-route";
15
+ export type ZuploOpenApiDocument = Modify<OpenAPIV3_1.Document<ZuploOpenApiOperationExtension>, {
16
+ paths: ZuploOpenApiPathsObject | undefined;
17
+ }>;
18
+ export type ZuploOpenApiPathsObject = Record<string, ZuploOpenApiPathItemObject | undefined>;
19
+ export type ZuploOpenApiPathItemObject = Modify<OpenAPIV3_1.PathItemObject<ZuploOpenApiOperationExtension> & ZuploOpenApiPathItemExtension, {
20
+ get?: ZuploOpenApiOperationObject;
21
+ put?: ZuploOpenApiOperationObject;
22
+ post?: ZuploOpenApiOperationObject;
23
+ delete?: ZuploOpenApiOperationObject;
24
+ options?: ZuploOpenApiOperationObject;
25
+ head?: ZuploOpenApiOperationObject;
26
+ patch?: ZuploOpenApiOperationObject;
27
+ trace?: ZuploOpenApiOperationObject;
28
+ }>;
29
+ export type ZuploOpenApiPathItemExtension = {
30
+ [ZUPLO_OPEN_API_PATH_KEY]?: ZuploOpenApiPathItemProperties;
31
+ };
32
+ export type ZuploOpenApiPathItemProperties = {
33
+ pathMode: PathMode;
34
+ };
35
+ export type PathMode = "open-api" | "url-pattern";
36
+ export type ZuploOpenApiOperationObject = Modify<OpenAPIV3_1.OperationObject<ZuploOpenApiOperationExtension>, {
37
+ operationId: string;
38
+ }>;
39
+ export type ZuploOpenApiOperationProperties = Omit<RouteConfiguration, "operationId" | "path" | "methods" | "label" | "key" | "summary" | "description" | "parameters" | "responses" | "tags" | "version" | "raw">;
40
+ export type ZuploOpenApiOperationExtension = {
41
+ [ZUPLO_OPEN_API_ROUTE_KEY]?: ZuploOpenApiOperationProperties;
42
+ [OPEN_API_INTERNAL_PROPERTY_VENDOR_TAG]?: boolean;
43
+ };
44
+ export {};
45
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/project/import-openapi/interfaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB,CAAC;AAEF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;AACzC,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,GAAG,MAAM,CAAC;AAGhE,eAAO,MAAM,4BAA4B,YAAY,CAAC;AACtD,eAAO,MAAM,qCAAqC,eAAe,CAAC;AAClE,eAAO,MAAM,uBAAuB,gBACa,CAAC;AAClD,eAAO,MAAM,wBAAwB,iBACa,CAAC;AAEnD,MAAM,MAAM,oBAAoB,GAAG,MAAM,CACvC,WAAW,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EACpD;IACE,KAAK,EAAE,uBAAuB,GAAG,SAAS,CAAC;CAC5C,CACF,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAC1C,MAAM,EACN,0BAA0B,GAAG,SAAS,CACvC,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAC7C,WAAW,CAAC,cAAc,CAAC,8BAA8B,CAAC,GACxD,6BAA6B,EAC/B;IACE,GAAG,CAAC,EAAE,2BAA2B,CAAC;IAClC,GAAG,CAAC,EAAE,2BAA2B,CAAC;IAClC,IAAI,CAAC,EAAE,2BAA2B,CAAC;IACnC,MAAM,CAAC,EAAE,2BAA2B,CAAC;IACrC,OAAO,CAAC,EAAE,2BAA2B,CAAC;IACtC,IAAI,CAAC,EAAE,2BAA2B,CAAC;IACnC,KAAK,CAAC,EAAE,2BAA2B,CAAC;IACpC,KAAK,CAAC,EAAE,2BAA2B,CAAC;CACrC,CACF,CAAC;AACF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,CAAC,uBAAuB,CAAC,CAAC,EAAE,8BAA8B,CAAC;CAC5D,CAAC;AACF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;AAClD,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAC9C,WAAW,CAAC,eAAe,CAAC,8BAA8B,CAAC,EAC3D;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CACxB,CAAC;AACF,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAChD,kBAAkB,EAChB,aAAa,GACb,MAAM,GACN,SAAS,GACT,OAAO,GACP,KAAK,GACL,SAAS,GACT,aAAa,GACb,YAAY,GACZ,WAAW,GACX,MAAM,GACN,SAAS,GACT,KAAK,CACR,CAAC;AACF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,CAAC,wBAAwB,CAAC,CAAC,EAAE,+BAA+B,CAAC;IAC7D,CAAC,qCAAqC,CAAC,CAAC,EAAE,OAAO,CAAC;CACnD,CAAC"}
@@ -1,8 +1,5 @@
1
-
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="b14028c7-4667-5a33-8f2d-e6c8216e26eb")}catch(e){}}();
3
1
  export const ZUPLO_OPEN_API_VENDOR_PREFIX = "x-zuplo";
4
2
  export const OPEN_API_INTERNAL_PROPERTY_VENDOR_TAG = "x-internal";
5
3
  export const ZUPLO_OPEN_API_PATH_KEY = `${ZUPLO_OPEN_API_VENDOR_PREFIX}-path`;
6
4
  export const ZUPLO_OPEN_API_ROUTE_KEY = `${ZUPLO_OPEN_API_VENDOR_PREFIX}-route`;
7
- //# sourceMappingURL=interfaces.js.map
8
- //# debugId=b14028c7-4667-5a33-8f2d-e6c8216e26eb
5
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/project/import-openapi/interfaces.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,4BAA4B,GAAG,SAAS,CAAC;AACtD,MAAM,CAAC,MAAM,qCAAqC,GAAG,YAAY,CAAC;AAClE,MAAM,CAAC,MAAM,uBAAuB,GAClC,GAAG,4BAA4B,OAAgB,CAAC;AAClD,MAAM,CAAC,MAAM,wBAAwB,GACnC,GAAG,4BAA4B,QAAiB,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/consistent-type-definitions */\nimport { RouteConfiguration } from \"@zuplo/runtime\";\nimport { ErrorObject } from \"ajv\";\nimport { OpenAPIV3_1 } from \"openapi-types\";\n\nexport type ValidationResult = {\n isValid: boolean;\n errors: ErrorObject[];\n warnings: ErrorObject[];\n};\n\ntype Modify<T, R> = Omit<T, keyof R> & R;\nexport type ZuploHttpMethods = OpenAPIV3_1.HttpMethods | string;\n\n// TODO: This should all be moved to the backend eventually\nexport const ZUPLO_OPEN_API_VENDOR_PREFIX = \"x-zuplo\";\nexport const OPEN_API_INTERNAL_PROPERTY_VENDOR_TAG = \"x-internal\";\nexport const ZUPLO_OPEN_API_PATH_KEY =\n `${ZUPLO_OPEN_API_VENDOR_PREFIX}-path` as const;\nexport const ZUPLO_OPEN_API_ROUTE_KEY =\n `${ZUPLO_OPEN_API_VENDOR_PREFIX}-route` as const;\n\nexport type ZuploOpenApiDocument = Modify<\n OpenAPIV3_1.Document<ZuploOpenApiOperationExtension>,\n {\n paths: ZuploOpenApiPathsObject | undefined;\n }\n>;\nexport type ZuploOpenApiPathsObject = Record<\n string,\n ZuploOpenApiPathItemObject | undefined\n>;\nexport type ZuploOpenApiPathItemObject = Modify<\n OpenAPIV3_1.PathItemObject<ZuploOpenApiOperationExtension> &\n ZuploOpenApiPathItemExtension,\n {\n get?: ZuploOpenApiOperationObject;\n put?: ZuploOpenApiOperationObject;\n post?: ZuploOpenApiOperationObject;\n delete?: ZuploOpenApiOperationObject;\n options?: ZuploOpenApiOperationObject;\n head?: ZuploOpenApiOperationObject;\n patch?: ZuploOpenApiOperationObject;\n trace?: ZuploOpenApiOperationObject;\n }\n>;\nexport type ZuploOpenApiPathItemExtension = {\n [ZUPLO_OPEN_API_PATH_KEY]?: ZuploOpenApiPathItemProperties;\n};\nexport type ZuploOpenApiPathItemProperties = {\n pathMode: PathMode;\n};\nexport type PathMode = \"open-api\" | \"url-pattern\";\nexport type ZuploOpenApiOperationObject = Modify<\n OpenAPIV3_1.OperationObject<ZuploOpenApiOperationExtension>,\n { operationId: string }\n>;\nexport type ZuploOpenApiOperationProperties = Omit<\n RouteConfiguration,\n | \"operationId\"\n | \"path\"\n | \"methods\"\n | \"label\"\n | \"key\"\n | \"summary\"\n | \"description\"\n | \"parameters\"\n | \"responses\"\n | \"tags\"\n | \"version\"\n | \"raw\"\n>;\nexport type ZuploOpenApiOperationExtension = {\n [ZUPLO_OPEN_API_ROUTE_KEY]?: ZuploOpenApiOperationProperties;\n [OPEN_API_INTERNAL_PROPERTY_VENDOR_TAG]?: boolean;\n};\n"]}
@@ -0,0 +1,13 @@
1
+ import { OpenAPIV3_1 } from "openapi-types";
2
+ import { ZuploOpenApiDocument } from "./interfaces.js";
3
+ export declare const OPERATION_PATH_MERGE_DELIMITER = ">";
4
+ export declare const OPEN_API_FILE_TYPES: string[];
5
+ export declare const parseOpenApiFile: (extName: string, fileText: string) => Promise<ZuploOpenApiDocument | OpenAPIV3_1.Document<{}>>;
6
+ export declare const addOperationIdsAsNecessary: (openApi: OpenAPIV3_1.Document | ZuploOpenApiDocument) => void;
7
+ export declare const mergeOpenApiDocuments: (originalDocument: ZuploOpenApiDocument, newDocument: OpenAPIV3_1.Document | ZuploOpenApiDocument) => ZuploOpenApiDocument;
8
+ export declare const generateMergeChangeset: (originalDocument: ZuploOpenApiDocument, newDocument: OpenAPIV3_1.Document | ZuploOpenApiDocument) => {
9
+ created: Set<string>;
10
+ merged: Set<string>;
11
+ retained: Set<string>;
12
+ };
13
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/project/import-openapi/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAGL,oBAAoB,EAIrB,MAAM,iBAAiB,CAAC;AAEzB,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,eAAO,MAAM,mBAAmB,UAA6B,CAAC;AAE9D,eAAO,MAAM,gBAAgB,YAAmB,MAAM,YAAY,MAAM,6DAYvE,CAAC;AAMF,eAAO,MAAM,0BAA0B,YAC5B,WAAW,CAAC,QAAQ,GAAG,oBAAoB,SA4BrD,CAAC;AAEF,eAAO,MAAM,qBAAqB,qBACd,oBAAoB,eACzB,WAAW,CAAC,QAAQ,GAAG,oBAAoB,yBAGzD,CAAC;AAgMF,eAAO,MAAM,sBAAsB,qBACf,oBAAoB,eACzB,WAAW,CAAC,QAAQ,GAAG,oBAAoB;aAU/C,GAAG,CAAC,MAAM,CAAC;YACZ,GAAG,CAAC,MAAM,CAAC;cACT,GAAG,CAAC,MAAM,CAAC;CARtB,CAAC"}
@@ -1,5 +1,3 @@
1
-
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5051b282-1718-5800-92f3-6da9acec7bac")}catch(e){}}();
3
1
  import yaml from "js-yaml";
4
2
  import { v4 } from "uuid";
5
3
  import { ZUPLO_OPEN_API_PATH_KEY, ZUPLO_OPEN_API_ROUTE_KEY, } from "./interfaces.js";
@@ -219,5 +217,4 @@ const getAllOperationKeys = (pathsObject) => {
219
217
  })
220
218
  .flat();
221
219
  };
222
- //# sourceMappingURL=utils.js.map
223
- //# debugId=5051b282-1718-5800-92f3-6da9acec7bac
220
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/project/import-openapi/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import yaml from \"js-yaml\";\nimport { OpenAPIV3_1 } from \"openapi-types\";\nimport { v4 } from \"uuid\";\nimport {\n ZUPLO_OPEN_API_PATH_KEY,\n ZUPLO_OPEN_API_ROUTE_KEY,\n ZuploOpenApiDocument,\n ZuploOpenApiOperationObject,\n ZuploOpenApiPathItemObject,\n ZuploOpenApiPathsObject,\n} from \"./interfaces.js\";\n\nexport const OPERATION_PATH_MERGE_DELIMITER = \">\";\nexport const OPEN_API_FILE_TYPES = [\".json\", \".yml\", \".yaml\"];\n\nexport const parseOpenApiFile = async (extName: string, fileText: string) => {\n if (!OPEN_API_FILE_TYPES.includes(extName)) {\n throw new Error(\n `Invalid file type. Supported file types are: ${OPEN_API_FILE_TYPES.join(\n \", \"\n )}`\n );\n }\n if (extName.includes(\"json\")) {\n return JSON.parse(fileText) as OpenAPIV3_1.Document | ZuploOpenApiDocument;\n }\n return yaml.load(fileText) as OpenAPIV3_1.Document | ZuploOpenApiDocument;\n};\n\n/**\n * Add operation ID to any operations that don't have one, this makes\n * onboarding smoother for new users\n */\nexport const addOperationIdsAsNecessary = (\n openApi: OpenAPIV3_1.Document | ZuploOpenApiDocument\n) => {\n const paths = openApi.paths;\n if (!paths) {\n return;\n }\n for (const path of Object.keys(paths)) {\n const pathItem = paths[path];\n if (!pathItem) {\n continue;\n }\n const methods = [\n \"get\",\n \"put\",\n \"post\",\n \"delete\",\n \"options\",\n \"head\",\n \"patch\",\n \"trace\",\n ] as OpenAPIV3_1.HttpMethods[];\n for (const method of methods) {\n const operation = pathItem[method];\n if (operation && !operation.operationId) {\n operation.operationId = v4();\n }\n }\n }\n};\n\nexport const mergeOpenApiDocuments = (\n originalDocument: ZuploOpenApiDocument,\n newDocument: OpenAPIV3_1.Document | ZuploOpenApiDocument\n) => {\n return mergeOpenApiDocumentOnPathMethod(originalDocument, newDocument);\n};\n\nconst mergeOpenApiDocumentOnPathMethod = (\n originalDocument: ZuploOpenApiDocument,\n newDocument: ZuploOpenApiDocument | OpenAPIV3_1.Document\n): ZuploOpenApiDocument => {\n let paths = originalDocument.paths;\n if (newDocument.paths) {\n paths = Object.entries(newDocument.paths).reduce(\n (mergedPaths, [path, pathObject]) => {\n const existingEntry = mergedPaths[path];\n if (!existingEntry) {\n mergedPaths[path] = pathObject;\n } else {\n mergedPaths[path] = mergePathItems(existingEntry, pathObject);\n }\n return mergedPaths;\n },\n originalDocument.paths ?? {}\n );\n }\n\n return {\n info: newDocument.info,\n openapi: mergeOpenApiVersion(originalDocument.openapi, newDocument.openapi),\n components: mergeComponents(\n originalDocument.components,\n newDocument.components\n ),\n jsonSchemaDialect:\n newDocument.jsonSchemaDialect ?? originalDocument.jsonSchemaDialect,\n servers: newDocument.servers ?? originalDocument.servers,\n security: newDocument.security ?? originalDocument.security,\n tags: newDocument.tags ?? originalDocument.tags,\n externalDocs: newDocument.externalDocs ?? originalDocument.externalDocs,\n paths,\n };\n};\n\nconst mergeComponents = (\n originalComponents?: OpenAPIV3_1.ComponentsObject,\n newComponents?: OpenAPIV3_1.ComponentsObject\n) => {\n if (!originalComponents) {\n return newComponents;\n }\n\n if (!newComponents) {\n return originalComponents;\n }\n\n // We have to merge each component property to make sure old ones don't get\n // get deleted\n const {\n schemas,\n responses,\n parameters,\n examples,\n requestBodies,\n headers,\n securitySchemes,\n links,\n callbacks,\n pathItems,\n } = originalComponents;\n\n const {\n schemas: newSchemas,\n responses: newResponses,\n parameters: newParameters,\n examples: newExamples,\n requestBodies: newRequestBodies,\n headers: newHeaders,\n securitySchemes: newSecuritySchemes,\n links: newLinks,\n callbacks: newCallbacks,\n pathItems: newPathItems,\n } = newComponents;\n\n return {\n schemas: schemas ? { ...schemas, ...newSchemas } : newSchemas,\n responses: responses ? { ...responses, ...newResponses } : newResponses,\n parameters: parameters\n ? { ...parameters, ...newParameters }\n : newParameters,\n examples: examples ? { ...examples, ...newExamples } : newExamples,\n requestBodies: requestBodies\n ? { ...requestBodies, ...newRequestBodies }\n : newRequestBodies,\n headers: headers ? { ...headers, ...newHeaders } : newHeaders,\n securitySchemes: securitySchemes\n ? { ...securitySchemes, ...newSecuritySchemes }\n : newSecuritySchemes,\n links: links ? { ...links, ...newLinks } : newLinks,\n callbacks: callbacks ? { ...callbacks, ...newCallbacks } : newCallbacks,\n pathItems: pathItems ? { ...pathItems, ...newPathItems } : newPathItems,\n };\n};\n\n/**\n * @description OpenAPI 3.1.0 is a superset of 3.0 so we should keep the\n * document as 3.1 if it already is, or upgrade it to 3.1 if the new document is\n */\nconst mergeOpenApiVersion = (\n originalVersion: string,\n newDocumentVersion: string\n) => {\n if (originalVersion === \"3.1.0\") {\n return originalVersion;\n }\n if (newDocumentVersion === \"3.1.0\") {\n return newDocumentVersion;\n }\n return originalVersion;\n};\n\nconst mergePathItems = (\n originalPathItem: ZuploOpenApiPathItemObject,\n newPathItem: ZuploOpenApiPathItemObject | OpenAPIV3_1.PathItemObject\n): ZuploOpenApiPathItemObject => {\n const {\n summary,\n description,\n get,\n put,\n post,\n delete: deleteOperation,\n options,\n head,\n patch,\n trace,\n servers,\n parameters,\n } = originalPathItem;\n const zuploPathProperties = originalPathItem[ZUPLO_OPEN_API_PATH_KEY];\n\n const newZuploPathProperty =\n typeof newPathItem === \"object\" &&\n newPathItem !== null &&\n ZUPLO_OPEN_API_PATH_KEY in newPathItem\n ? newPathItem[ZUPLO_OPEN_API_PATH_KEY]\n : undefined;\n const {\n summary: newSummary,\n description: newDescription,\n get: newGetOperation,\n put: newPutOperation,\n post: newPostOperation,\n delete: newDeleteOperation,\n options: newOptionsOperation,\n head: newHeadOperation,\n patch: newPatchOperation,\n trace: newTraceOperation,\n servers: newServers,\n parameters: newParameters,\n } = newPathItem;\n return {\n summary: newSummary ?? summary,\n description: newDescription ?? description,\n [ZUPLO_OPEN_API_PATH_KEY]: newZuploPathProperty ?? zuploPathProperties,\n servers: newServers ?? servers,\n parameters: newParameters ?? parameters,\n get: mergeOperationObjects(get, newGetOperation),\n put: mergeOperationObjects(put, newPutOperation),\n post: mergeOperationObjects(post, newPostOperation),\n delete: mergeOperationObjects(deleteOperation, newDeleteOperation),\n options: mergeOperationObjects(options, newOptionsOperation),\n head: mergeOperationObjects(head, newHeadOperation),\n patch: mergeOperationObjects(patch, newPatchOperation),\n trace: mergeOperationObjects(trace, newTraceOperation),\n };\n};\n\nconst mergeOperationObjects = (\n originalOperationObject?: ZuploOpenApiOperationObject,\n newOperationObject?: ZuploOpenApiOperationObject | OpenAPIV3_1.OperationObject\n): ZuploOpenApiOperationObject | undefined => {\n if (!newOperationObject) {\n // If it stopped existing in the new version, we leave the original untouched\n return originalOperationObject;\n }\n\n // We preserve the gateway's behavior unless explicitly overridden\n const originalZuploProperties =\n originalOperationObject?.[ZUPLO_OPEN_API_ROUTE_KEY];\n return {\n operationId: v4(),\n [ZUPLO_OPEN_API_ROUTE_KEY]: originalZuploProperties,\n ...newOperationObject,\n };\n};\n\nexport const generateMergeChangeset = (\n originalDocument: ZuploOpenApiDocument,\n newDocument: OpenAPIV3_1.Document | ZuploOpenApiDocument\n // mergeMode: MergeMode TODO: Support merging on operation ID\n) => {\n return generatePathMethodMergeChangeset(originalDocument, newDocument);\n};\n\nconst generatePathMethodMergeChangeset = (\n originalDocument: ZuploOpenApiDocument,\n newDocument: OpenAPIV3_1.Document | ZuploOpenApiDocument\n): {\n created: Set<string>;\n merged: Set<string>;\n retained: Set<string>;\n} => {\n let created: Set<string> = new Set();\n const merged: Set<string> = new Set();\n let retained: Set<string> = new Set();\n\n const originalPaths = originalDocument.paths;\n const newPaths = newDocument.paths;\n\n if (!originalPaths && !newPaths) {\n // Nothing changes\n return { created, merged, retained };\n }\n\n // All paths are considered created\n if (!originalPaths && newPaths) {\n created = new Set(getAllOperationKeys(newPaths));\n return { created, merged, retained };\n }\n\n // All paths are considered retained\n if (!newPaths && originalPaths) {\n retained = new Set(getAllOperationKeys(originalPaths));\n return { created, merged, retained };\n }\n\n // Typescript won't infer these as non-null because they can change between if\n // statements I guess?\n if (newPaths && originalPaths) {\n const oldOperationKeys = getAllOperationKeys(originalPaths);\n const newOperationKeys = getAllOperationKeys(newPaths);\n const oldOperationKeysSet = new Set(oldOperationKeys);\n const newOperationKeysSet = new Set(newOperationKeys);\n newOperationKeys.forEach((operationKey) => {\n if (oldOperationKeysSet.has(operationKey)) {\n merged.add(operationKey);\n } else {\n created.add(operationKey);\n }\n });\n oldOperationKeys.forEach((operationKey) => {\n if (!newOperationKeysSet.has(operationKey)) {\n retained.add(operationKey);\n }\n });\n }\n\n return { created, merged, retained };\n};\n\nconst getAllOperationKeys = (\n pathsObject: ZuploOpenApiPathsObject | OpenAPIV3_1.PathsObject\n) => {\n return Object.entries(pathsObject)\n .map(([path, pathObject]) => {\n const pathItemObject:\n | ZuploOpenApiPathItemObject\n | OpenAPIV3_1.PathItemObject = pathObject;\n const {\n get,\n put,\n post,\n delete: deleteOperation,\n options,\n head,\n patch,\n trace,\n } = pathItemObject;\n const operations = [];\n if (get) {\n operations.push(\"get\");\n }\n if (put) {\n operations.push(\"put\");\n }\n if (post) {\n operations.push(\"post\");\n }\n if (deleteOperation) {\n operations.push(\"delete\");\n }\n if (options) {\n operations.push(\"options\");\n }\n if (head) {\n operations.push(\"head\");\n }\n if (patch) {\n operations.push(\"patch\");\n }\n if (trace) {\n operations.push(\"trace\");\n }\n return operations.map(\n (operation) => `${operation}${OPERATION_PATH_MERGE_DELIMITER}${path}`\n );\n })\n .flat();\n};\n"]}
@@ -0,0 +1,6 @@
1
+ import { CommonArgs } from "../../common/args.js";
2
+ export interface Arguments extends CommonArgs {
3
+ dir: string;
4
+ }
5
+ export declare function update(argv: Arguments): Promise<void>;
6
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/project/update/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AASlD,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,iBA4B3C"}
@@ -1,5 +1,3 @@
1
-
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="1c1c6e29-7b10-5f96-810c-08323d6b3c10")}catch(e){}}();
3
1
  import { confirm } from "@inquirer/prompts";
4
2
  import { printDiagnosticsToConsole, printResultToConsoleAndExitGracefully, } from "../../common/output.js";
5
3
  import { PackageJsonUpgrader } from "../../common/upgraders/package-json-upgrader.js";
@@ -30,5 +28,4 @@ export async function update(argv) {
30
28
  await printResultToConsoleAndExitGracefully("Update completed");
31
29
  }
32
30
  }
33
- //# sourceMappingURL=handler.js.map
34
- //# debugId=1c1c6e29-7b10-5f96-810c-08323d6b3c10
31
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/project/update/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EACL,yBAAyB,EACzB,qCAAqC,GACtC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAC;AAMrG,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACzB,yBAAyB,CACvB,sHAAsH,CACvH,CAAC;QACF,MAAM,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;YAChC,yBAAyB,CAAC,+BAA+B,CAAC,CAAC;YAC3D,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;YAChC,yBAAyB,CAAC,mCAAmC,CAAC,CAAC;YAC/D,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;YAChC,yBAAyB,CAAC,iCAAiC,CAAC,CAAC;YAC7D,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,qCAAqC,CAAC,kBAAkB,CAAC,CAAC;IAClE,CAAC;AACH,CAAC","sourcesContent":["import { confirm } from \"@inquirer/prompts\";\nimport { CommonArgs } from \"../../common/args.js\";\nimport {\n printDiagnosticsToConsole,\n printResultToConsoleAndExitGracefully,\n} from \"../../common/output.js\";\nimport { PackageJsonUpgrader } from \"../../common/upgraders/package-json-upgrader.js\";\nimport { TSConfigUpgrader } from \"../../common/upgraders/tsconfig-upgrader.js\";\nimport { VsCodeSettingsJsonUpgrader } from \"../../common/upgraders/vscode-settings-json-upgrader.js\";\n\nexport interface Arguments extends CommonArgs {\n dir: string;\n}\n\nexport async function update(argv: Arguments) {\n let answer = false;\n if (argv.prompt === true) {\n printDiagnosticsToConsole(\n \"This command will make changes to your source code. Please commit your changes to version control before continuing.\"\n );\n answer = await confirm({ message: \"Continue?\", default: true });\n }\n\n if (answer || argv.prompt === false) {\n const u = new PackageJsonUpgrader(argv.dir);\n if ((await u.isApplicable()).ok) {\n printDiagnosticsToConsole(\"Updating your package.json...\");\n await u.upgrade();\n }\n const v = new VsCodeSettingsJsonUpgrader(argv.dir);\n if ((await v.isApplicable()).ok) {\n printDiagnosticsToConsole(\"Updating your .vscode settings...\");\n await v.upgrade();\n }\n const t = new TSConfigUpgrader(argv.dir);\n if ((await t.isApplicable()).ok) {\n printDiagnosticsToConsole(\"Rewriting your tsconfig.json...\");\n await t.upgrade();\n }\n\n await printResultToConsoleAndExitGracefully(\"Update completed\");\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { BuildOptions } from "esbuild";
2
+ import { Arguments } from "./handler.js";
3
+ export declare function generateBuildOptionsForTest(argv: Arguments): BuildOptions;
4
+ //# sourceMappingURL=esbuild-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-config.d.ts","sourceRoot":"","sources":["../../src/test/esbuild-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,CAqBzE"}
@@ -1,5 +1,3 @@
1
-
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5c127662-31c6-5178-a683-322b67f8580c")}catch(e){}}();
3
1
  import { TEST_OUT_FOLDER } from "../common/constants.js";
4
2
  import { nodeTestPrepPlugin } from "./esbuild-plugins/node-test-prep-plugin.js";
5
3
  export function generateBuildOptionsForTest(argv) {
@@ -20,5 +18,4 @@ export function generateBuildOptionsForTest(argv) {
20
18
  ],
21
19
  };
22
20
  }
23
- //# sourceMappingURL=esbuild-config.js.map
24
- //# debugId=5c127662-31c6-5178-a683-322b67f8580c
21
+ //# sourceMappingURL=esbuild-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-config.js","sourceRoot":"","sources":["../../src/test/esbuild-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAGhF,MAAM,UAAU,2BAA2B,CAAC,IAAe;IACzD,OAAO;QAEL,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE;QACxC,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,CAAC;QAChD,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QAEjB,MAAM,EAAE,KAAK;QAEb,YAAY,EAAE;YACZ,KAAK,EAAE,MAAM;SACd;QAED,OAAO,EAAE;YACP,kBAAkB,CAAC,IAAI,EAAE;gBACvB,aAAa,EAAE,EAAE;aAClB,CAAC;SACH;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { BuildOptions } from \"esbuild\";\nimport { TEST_OUT_FOLDER } from \"../common/constants.js\";\nimport { nodeTestPrepPlugin } from \"./esbuild-plugins/node-test-prep-plugin.js\";\nimport { Arguments } from \"./handler.js\";\n\nexport function generateBuildOptionsForTest(argv: Arguments): BuildOptions {\n return {\n // Put it under the .zuplo folder\n outdir: `${argv.dir}/${TEST_OUT_FOLDER}`,\n external: [\"chai\", \"dotenv/config\", \"node:test\"],\n platform: \"node\",\n bundle: true,\n treeShaking: true,\n // The format needs to be esm for Deno to work with it\n format: \"esm\",\n // Let's keep the extension as .ts since that is what Deno runs\n outExtension: {\n \".js\": \".mjs\",\n },\n // Here is our own plug-in to shim the responses\n plugins: [\n nodeTestPrepPlugin(argv, {\n \"@zuplo/test\": \"\",\n }),\n ],\n };\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { Plugin } from "esbuild";
2
+ import { Arguments } from "../handler.js";
3
+ export declare function nodeTestPrepPlugin(argv: Arguments, options: Record<string, string>): Plugin;
4
+ //# sourceMappingURL=node-test-prep-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-test-prep-plugin.d.ts","sourceRoot":"","sources":["../../../src/test/esbuild-plugins/node-test-prep-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CA+BR"}
@@ -1,5 +1,3 @@
1
-
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="c847b970-590a-5cd3-b907-2b9fad49c028")}catch(e){}}();
3
1
  export function nodeTestPrepPlugin(argv, options) {
4
2
  const aliases = Object.keys(options);
5
3
  const re = new RegExp(`^(${aliases.map((x) => escapeRegExp(x)).join("|")})$`);
@@ -61,5 +59,4 @@ it.ignore = it.skip;
61
59
  export {afterAll, afterEach, beforeAll, beforeEach, describe, it};
62
60
  `;
63
61
  }
64
- //# sourceMappingURL=node-test-prep-plugin.js.map
65
- //# debugId=c847b970-590a-5cd3-b907-2b9fad49c028
62
+ //# sourceMappingURL=node-test-prep-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-test-prep-plugin.js","sourceRoot":"","sources":["../../../src/test/esbuild-plugins/node-test-prep-plugin.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,kBAAkB,CAChC,IAAe,EACf,OAA+B;IAE/B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE9E,OAAO;QACL,IAAI,EAAE,OAAO;QACb,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAGnC,OAAO;wBACL,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,SAAS,EAAE,WAAW;qBACvB,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO;wBACL,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;wBACxB,SAAS,EAAE,WAAW;wBACtB,QAAQ,EAAE,IAAI;qBACf,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC9D,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,OAAO,EAAE,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAChE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAEjC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAID,SAAS,oBAAoB,CAAC,IAAe;IAC3C,OAAO;;;;;;mBAMU,IAAI,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;GAoB7B,CAAC;AACJ,CAAC","sourcesContent":["import { Plugin } from \"esbuild\";\nimport { Arguments } from \"../handler.js\";\n\nexport function nodeTestPrepPlugin(\n argv: Arguments,\n options: Record<string, string>\n): Plugin {\n const aliases = Object.keys(options);\n const re = new RegExp(`^(${aliases.map((x) => escapeRegExp(x)).join(\"|\")})$`);\n\n return {\n name: \"alias\",\n setup(build) {\n build.onResolve({ filter: re }, (args) => {\n if (/@zuplo\\/test/.test(args.path)) {\n // Mark this as not \"external\"\n // That way, during onLoad(below), we will provide the contents\n return {\n path: args.path,\n namespace: \"zuplo-url\",\n };\n } else {\n return {\n path: options[args.path],\n namespace: \"zuplo-url\",\n external: true,\n };\n }\n });\n\n build.onLoad({ filter: /.*/, namespace: \"zuplo-url\" }, (args) => {\n if (/@zuplo\\/test/.test(args.path)) {\n return { contents: generateTestContents(argv), loader: \"ts\" };\n }\n });\n },\n };\n}\n\nfunction escapeRegExp(value: string) {\n // $& means the whole matched string\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n\n// For now, embedding the contents here directly\n// So that we do not need to have the file copied somewhere for esbuild to bundle it\nfunction generateTestContents(argv: Arguments) {\n return `\nimport 'dotenv/config'\nimport { after, afterEach, describe, it, before, beforeEach } from \"node:test\"\n\nexport class TestHelper {\n static get TEST_URL() {\n const url = \"${argv.endpoint}\";\n if (url !== \"undefined\") {\n return url;\n }\n\n throw new Error(\"TEST_URL is not set. Pass --endpoint <URL> to \\`zuplo test\\` on the CLI to set a value.\");\n }\n\n static get environment() {\n return process.env;\n }\n}\n\nconst afterAll = after;\nconst beforeAll = before;\n\ndescribe.ignore = describe.skip;\nit.ignore = it.skip;\n\nexport {afterAll, afterEach, beforeAll, beforeEach, describe, it};\n `;\n}\n"]}
@@ -0,0 +1,7 @@
1
+ export interface Arguments {
2
+ dir: string;
3
+ endpoint: string;
4
+ filter: string;
5
+ }
6
+ export declare function test(argv: Arguments): Promise<void>;
7
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/test/handler.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,iBAwBzC"}
@@ -1,5 +1,3 @@
1
-
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="08888ef0-037c-5716-a727-dd52d53a2f00")}catch(e){}}();
3
1
  import fg from "fast-glob";
4
2
  import { rimrafSync } from "rimraf";
5
3
  import { TEST_IN_FOLDER, TEST_OUT_FOLDER } from "../common/constants.js";
@@ -24,5 +22,4 @@ export async function test(argv) {
24
22
  process.exit(exitCode);
25
23
  }
26
24
  }
27
- //# sourceMappingURL=handler.js.map
28
- //# debugId=08888ef0-037c-5716-a727-dd52d53a2f00
25
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/test/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,OAAO,MAAM,SAAS,CAAC;AAQ9B,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAe;IAExC,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC,CAAC;IAG7C,MAAM,MAAM,GAAgB,MAAM,OAAO,CAAC,KAAK,CAAC;QAC9C,GAAG,2BAA2B,CAAC,IAAI,CAAC;QACpC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,cAAc,eAAe,CAAC;KACnE,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,CACV,MAAM,CAAC,MAAM,EACb,qCAAqC,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE,CAClE,CAAC;IACJ,CAAC;SAAM,CAAC;QAEN,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;AACH,CAAC","sourcesContent":["import { BuildResult } from \"esbuild\";\nimport fg from \"fast-glob\";\nimport { rimrafSync } from \"rimraf\";\nimport { TEST_IN_FOLDER, TEST_OUT_FOLDER } from \"../common/constants.js\";\nimport { logger } from \"../common/logger.js\";\nimport { generateBuildOptionsForTest } from \"./esbuild-config.js\";\nimport { runTests } from \"./invoke-test.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nimport esbuild from \"esbuild\";\n\nexport interface Arguments {\n dir: string;\n endpoint: string;\n filter: string;\n}\n\nexport async function test(argv: Arguments) {\n // 1. Clean out the folder\n rimrafSync(`${argv.dir}/${TEST_OUT_FOLDER}`);\n\n // 2. Build the test files\n const result: BuildResult = await esbuild.build({\n ...generateBuildOptionsForTest(argv),\n entryPoints: fg.sync(`${argv.dir}/${TEST_IN_FOLDER}/**/*.test.ts`),\n });\n\n if (result.warnings.length > 0) {\n logger.debug(result.warnings);\n }\n\n if (result.errors.length > 0) {\n logger.error(\n result.errors,\n `Failed to build the test files in ${argv.dir}/${TEST_IN_FOLDER}`\n );\n } else {\n // 3. Run `node test`\n const { exitCode } = await runTests(argv);\n process.exit(exitCode);\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { ExecaReturnBase } from "execa";
2
+ import { Arguments } from "./handler.js";
3
+ export declare function runTests(argv: Arguments): Promise<Pick<ExecaReturnBase<string>, "exitCode">>;
4
+ //# sourceMappingURL=invoke-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoke-test.d.ts","sourceRoot":"","sources":["../../src/test/invoke-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,eAAe,EAAE,MAAM,OAAO,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzC,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAyBpD"}
@@ -1,5 +1,3 @@
1
-
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="91819abd-e850-5b4f-83ac-b91327da0a26")}catch(e){}}();
3
1
  import { execa } from "execa";
4
2
  import { TEST_OUT_FOLDER } from "../common/constants.js";
5
3
  import { logger } from "../common/logger.js";
@@ -33,5 +31,4 @@ export async function runTests(argv) {
33
31
  throw new MissingNodeExecutableError();
34
32
  }
35
33
  }
36
- //# sourceMappingURL=invoke-test.js.map
37
- //# debugId=91819abd-e850-5b4f-83ac-b91327da0a26
34
+ //# sourceMappingURL=invoke-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoke-test.js","sourceRoot":"","sources":["../../src/test/invoke-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAmB,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,MAAM,0BAA2B,SAAQ,KAAK;IAC5C;QACE,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC3D,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAe;IAGf,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1E,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC,CAAC;QAE5C,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAChD,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YAGb,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,0BAA0B,EAAE,CAAC;IACzC,CAAC;AACH,CAAC","sourcesContent":["import { execa, ExecaReturnBase } from \"execa\";\nimport { TEST_OUT_FOLDER } from \"../common/constants.js\";\nimport { logger } from \"../common/logger.js\";\nimport { Arguments } from \"./handler.js\";\n\nclass MissingNodeExecutableError extends Error {\n constructor() {\n super(\"Missing executable: Cannot locate node executable\");\n Object.setPrototypeOf(this, MissingNodeExecutableError.prototype);\n }\n}\n\nexport async function runTests(\n argv: Arguments\n): Promise<Pick<ExecaReturnBase<string>, \"exitCode\">> {\n // Assume that \"node\" is in the path\n const nodeExecutable = process.platform === \"win32\" ? \"node.exe\" : \"node\";\n if (nodeExecutable) {\n const args = [\"--test\", \"--test-reporter=spec\"];\n if (argv.filter) {\n args.push(\"--test-name-pattern\", argv.filter);\n }\n args.push(`${argv.dir}/${TEST_OUT_FOLDER}`);\n\n const nodeProcess = execa(nodeExecutable, args);\n nodeProcess.stdout?.pipe(process.stdout);\n nodeProcess.stderr?.pipe(process.stderr);\n try {\n const result = await nodeProcess;\n return result;\n } catch (err) {\n // We do not want to output the err by default since it could be a test failure\n // Test failures are already reported by piping stdout and stderr above\n logger.debug(err);\n return { exitCode: err.exitCode };\n }\n } else {\n throw new MissingNodeExecutableError();\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ {"root":["../src/cli.ts","../src/__tests__/archive-utils.test.ts","../src/__tests__/engine.test.ts","../src/__tests__/import-openapi-utils.test.ts","../src/__tests__/import-openapi.test.ts","../src/__tests__/oas-test-data.ts","../src/__tests__/outdated.test.ts","../src/__tests__/tsconfig-upgrader.test.ts","../src/build/handler.ts","../src/cmds/build.ts","../src/cmds/compile.ts","../src/cmds/convert.ts","../src/cmds/delete.ts","../src/cmds/deploy.ts","../src/cmds/dev.ts","../src/cmds/editor.ts","../src/cmds/link.ts","../src/cmds/list.ts","../src/cmds/login.ts","../src/cmds/test.ts","../src/cmds/project/import-openapi.ts","../src/cmds/project/index.ts","../src/cmds/project/update.ts","../src/cmds/tunnel/create.ts","../src/cmds/tunnel/delete.ts","../src/cmds/tunnel/describe.ts","../src/cmds/tunnel/index.ts","../src/cmds/tunnel/list.ts","../src/cmds/tunnel/rotate-token.ts","../src/cmds/tunnel/services/describe.ts","../src/cmds/tunnel/services/index.ts","../src/cmds/tunnel/services/update.ts","../src/cmds/variable/create.ts","../src/cmds/variable/index.ts","../src/cmds/variable/update.ts","../src/common/alias.ts","../src/common/args.ts","../src/common/constants.ts","../src/common/handler.ts","../src/common/logger.ts","../src/common/models.ts","../src/common/outdated.ts","../src/common/output.ts","../src/common/settings.ts","../src/common/analytics/lib.ts","../src/common/api/lib.ts","../src/common/machine-id/lib.ts","../src/common/middleware/user-configuration.ts","../src/common/middleware/user-identification.ts","../src/common/upgraders/lib.ts","../src/common/upgraders/package-json-upgrader.ts","../src/common/upgraders/tsconfig-upgrader.ts","../src/common/upgraders/vscode-settings-json-upgrader.ts","../src/common/utils/box.ts","../src/common/utils/ports.ts","../src/common/utils/types.ts","../src/common/utils/urls.ts","../src/common/validators/file-system-validator.ts","../src/common/validators/lib.ts","../src/common/validators/login-state-validator.ts","../src/common/validators/project-name-validator.ts","../src/common/xdg/lib.ts","../src/compile/handler.ts","../src/convert/engine.ts","../src/convert/handler.ts","../src/convert/routes.generated.ts","../src/delete/handler.ts","../src/delete/poll-deployment.ts","../src/deploy/archive.ts","../src/deploy/file-upload.ts","../src/deploy/handler.ts","../src/deploy/poll-deployment.ts","../src/dev/handler.ts","../src/editor/handler.ts","../src/editor/assets/index-03352ce7.js","../src/editor/server/cors-plugin.ts","../src/editor/server/server.ts","../src/editor/server/xfs.ts","../src/link/handler.ts","../src/link/populate.ts","../src/list/handler.ts","../src/login/handler.ts","../src/login/server.ts","../src/project/import-openapi/handler.ts","../src/project/import-openapi/interfaces.ts","../src/project/import-openapi/utils.ts","../src/project/update/handler.ts","../src/test/esbuild-config.ts","../src/test/handler.ts","../src/test/invoke-test.ts","../src/test/esbuild-plugins/node-test-prep-plugin.ts","../src/tunnel/models.ts","../src/tunnel/create/handler.ts","../src/tunnel/delete/handler.ts","../src/tunnel/delete/poll-teardown-operation.ts","../src/tunnel/describe/handler.ts","../src/tunnel/list/handler.ts","../src/tunnel/rotate-token/handler.ts","../src/tunnel/services/describe/handler.ts","../src/tunnel/services/update/handler.ts","../src/tunnel/services/update/poll-provisioning-operations.ts","../src/variable/models.ts","../src/variable/create/handler.ts","../src/variable/update/handler.ts"],"version":"5.6.2"}
@@ -0,0 +1,7 @@
1
+ export interface Arguments {
2
+ account: string;
3
+ "tunnel-name": string;
4
+ "api-key": string;
5
+ }
6
+ export declare function create(argv: Arguments): Promise<void>;
7
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/tunnel/create/handler.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,iBA8B3C"}
@@ -1,5 +1,3 @@
1
-
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="afb9a00d-4582-5f88-a6fa-ff4838dc22f0")}catch(e){}}();
3
1
  import { logger } from "../../common/logger.js";
4
2
  import { printDiagnosticsToConsole, printTableToConsoleAndExitGracefully, textOrJson, } from "../../common/output.js";
5
3
  import settings from "../../common/settings.js";
@@ -26,5 +24,4 @@ export async function create(argv) {
26
24
  printDiagnosticsToConsole("Error: Failed to create tunnel for your account. Check the arguments.");
27
25
  }
28
26
  }
29
- //# sourceMappingURL=handler.js.map
30
- //# debugId=afb9a00d-4582-5f88-a6fa-ff4838dc22f0
27
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tunnel/create/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,oCAAoC,EACpC,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAShD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,UAAU,EACzE;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,EAAE;YAC1C,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;KACpD,CACF,CAAC;IAEF,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,MAAM,GAAW,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,oCAAoC,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CACV;YACE,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,QAAQ,EAAE,UAAU,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;SAClD,EACD,qCAAqC,CACtC,CAAC;QACF,yBAAyB,CACvB,uEAAuE,CACxE,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printDiagnosticsToConsole,\n printTableToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { Tunnel } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n \"tunnel-name\": string;\n \"api-key\": string;\n}\n\nexport async function create(argv: Arguments) {\n const { account } = argv;\n const createResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/tunnels`,\n {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${argv[\"api-key\"]}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ name: argv[\"tunnel-name\"] }),\n }\n );\n\n if (createResponse.ok) {\n const tunnel: Tunnel = await createResponse.json();\n await printTableToConsoleAndExitGracefully(tunnel);\n } else {\n logger.error(\n {\n status: createResponse.status,\n statusText: createResponse.statusText,\n response: textOrJson(await createResponse.text()),\n },\n \"Failed to create tunnel for account\"\n );\n printDiagnosticsToConsole(\n \"Error: Failed to create tunnel for your account. Check the arguments.\"\n );\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ export interface Arguments {
2
+ account: string;
3
+ "tunnel-id": string;
4
+ "api-key": string;
5
+ }
6
+ export declare function deleteTunnel(argv: Arguments): Promise<void>;
7
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/tunnel/delete/handler.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,SAAS,iBAiDjD"}
@@ -1,5 +1,3 @@
1
-
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="0830f7a7-a266-5f48-88e0-acf2d802eb39")}catch(e){}}();
3
1
  import { logger } from "../../common/logger.js";
4
2
  import { printCriticalFailureToConsoleAndExit, printDiagnosticsToConsole, printResultToConsoleAndExitGracefully, textOrJson, } from "../../common/output.js";
5
3
  import settings from "../../common/settings.js";
@@ -37,5 +35,4 @@ export async function deleteTunnel(argv) {
37
35
  printDiagnosticsToConsole("Error: Failed to delete the tunnel for your account. Check the arguments.");
38
36
  }
39
37
  }
40
- //# sourceMappingURL=handler.js.map
41
- //# debugId=0830f7a7-a266-5f48-88e0-acf2d802eb39
38
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tunnel/delete/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,oCAAoC,EACpC,yBAAyB,EACzB,qCAAqC,EACrC,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAQrE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAe;IAEhD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,YAAY,IAAI,CAAC,WAAW,CAAC,EAAE,EAC9F;QACE,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,EAAE;SAC3C;KACF,CACF,CAAC;IAEF,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,iBAAiB,GAAsB,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QACzE,yBAAyB,CACvB,mBAAmB,IAAI,CAAC,WAAW,CAAC,eAAe,OAAO,KAAK,CAChE,CAAC;QAGF,MAAM,uBAAuB,GAAG,MAAM,qBAAqB,CAAC;YAC1D,IAAI;YACJ,OAAO;YACP,mBAAmB,EAAE,iBAAiB,CAAC,EAAE;SAC1C,CAAC,CAAC;QAEH,IAAI,uBAAuB,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjD,MAAM,qCAAqC,CACzC,UAAU,IAAI,CAAC,WAAW,CAAC,wBAAwB,CACpD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,yBAAyB,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,oCAAoC,CACxC,UAAU,IAAI,CAAC,WAAW,CAAC,wCAAwC,uBAAuB,CAAC,OAAO,EAAE,CACrG,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CACV;YACE,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,QAAQ,EAAE,UAAU,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;SAClD,EACD,qCAAqC,CACtC,CAAC;QACF,yBAAyB,CACvB,2EAA2E,CAC5E,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printCriticalFailureToConsoleAndExit,\n printDiagnosticsToConsole,\n printResultToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { TeardownOperation } from \"../models.js\";\nimport { pollTeardownOperation } from \"./poll-teardown-operation.js\";\n\nexport interface Arguments {\n account: string;\n \"tunnel-id\": string;\n \"api-key\": string;\n}\n\nexport async function deleteTunnel(argv: Arguments) {\n // 1. Initiate a deletion for the tunnel\n const { account } = argv;\n const deleteResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/tunnels/${argv[\"tunnel-id\"]}`,\n {\n method: \"DELETE\",\n headers: {\n Authorization: `Bearer ${argv[\"api-key\"]}`,\n },\n }\n );\n\n if (deleteResponse.ok) {\n const teardownOperation: TeardownOperation = await deleteResponse.json();\n printDiagnosticsToConsole(\n `Deleting tunnel ${argv[\"tunnel-id\"]} on account ${account}...`\n );\n\n // 2. Poll for status\n const polledTearDownOperation = await pollTeardownOperation({\n argv,\n account,\n teardownOperationId: teardownOperation.id,\n });\n\n if (polledTearDownOperation.status === \"success\") {\n await printResultToConsoleAndExitGracefully(\n `Tunnel ${argv[\"tunnel-id\"]} deleted successfully.`\n );\n } else {\n printDiagnosticsToConsole(polledTearDownOperation.details);\n await printCriticalFailureToConsoleAndExit(\n `Tunnel ${argv[\"tunnel-id\"]} failed to delete. Here's the error: ${polledTearDownOperation.message}`\n );\n }\n } else {\n logger.error(\n {\n status: deleteResponse.status,\n statusText: deleteResponse.statusText,\n response: textOrJson(await deleteResponse.text()),\n },\n \"Failed to delete tunnel for account\"\n );\n printDiagnosticsToConsole(\n \"Error: Failed to delete the tunnel for your account. Check the arguments.\"\n );\n }\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import { TeardownOperation } from "../models.js";
2
+ import { Arguments } from "./handler.js";
3
+ export declare function pollTeardownOperation(args: {
4
+ argv: Arguments;
5
+ account: string;
6
+ teardownOperationId: string;
7
+ }): Promise<TeardownOperation>;
8
+ //# sourceMappingURL=poll-teardown-operation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll-teardown-operation.d.ts","sourceRoot":"","sources":["../../../src/tunnel/delete/poll-teardown-operation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQzC,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmD7B"}
@@ -1,5 +1,3 @@
1
-
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="05b450c9-fe50-5745-8b18-294ba1768c62")}catch(e){}}();
3
1
  import { logger } from "../../common/logger.js";
4
2
  import { printDiagnosticsToConsole } from "../../common/output.js";
5
3
  import settings from "../../common/settings.js";
@@ -36,5 +34,4 @@ export async function pollTeardownOperation(args) {
36
34
  }
37
35
  throw new Error("Unexpected error while polling for teardown operation status");
38
36
  }
39
- //# sourceMappingURL=poll-teardown-operation.js.map
40
- //# debugId=05b450c9-fe50-5745-8b18-294ba1768c62
37
+ //# sourceMappingURL=poll-teardown-operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll-teardown-operation.js","sourceRoot":"","sources":["../../../src/tunnel/delete/poll-teardown-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAIhD,SAAS,IAAI,CACX,WAAmB,QAAQ,CAAC,0BAA0B;IAEtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAI3C;IACC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAExC,KACE,IAAI,SAAS,GAAG,CAAC,EACjB,SAAS,GAAG,QAAQ,CAAC,wBAAwB,EAC7C,SAAS,EAAE,EACX,CAAC;QACD,yBAAyB,CACvB,6CAA6C,SAAS,IAAI,QAAQ,CAAC,wBAAwB,GAAG,CAC/F,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,IAAI,CAAC,OAAO,YAAY,QAAQ,wBAAwB,IAAI,CAAC,mBAAmB,EAAE,EAC1I;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,MAAM,EAAE;aAClC;SACF,CACF,CAAC;QAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,iBAAiB,GAAsB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnE,QAAQ,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBACjC,KAAK,OAAO;oBACV,OAAO,iBAAiB,CAAC;gBAC3B,KAAK,aAAa;oBAChB,MAAM,IAAI,EAAE,CAAC;oBACb,SAAS;gBACX,KAAK,SAAS;oBACZ,OAAO,iBAAiB,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CACV,6EACE,QAAQ,CAAC,MACX,IAAI,QAAQ,CAAC,UAAU,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CACnD,CAAC;YACF,MAAM,IAAI,KAAK,CACb,gFAAgF,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACzH,CAAC;QACJ,CAAC;IACH,CAAC;IAID,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;AACJ,CAAC","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport { printDiagnosticsToConsole } from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { TeardownOperation } from \"../models.js\";\nimport { Arguments } from \"./handler.js\";\n\nfunction wait(\n duration: number = settings.PROVISIONING_POLL_INTERVAL\n): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, duration));\n}\n\nexport async function pollTeardownOperation(args: {\n argv: Arguments;\n account: string;\n teardownOperationId: string;\n}): Promise<TeardownOperation> {\n const apiKey = args.argv[\"api-key\"];\n const tunnelId = args.argv[\"tunnel-id\"];\n\n for (\n let pollRetry = 0;\n pollRetry < settings.MAX_PROVISIONING_RETRIES;\n pollRetry++\n ) {\n printDiagnosticsToConsole(\n `Polling for teardown operation status... (${pollRetry}/${settings.MAX_PROVISIONING_RETRIES})`\n );\n\n const response = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${args.account}/tunnels/${tunnelId}/teardown-operations/${args.teardownOperationId}`,\n {\n method: \"GET\",\n headers: {\n Authorization: `Bearer ${apiKey}`,\n },\n }\n );\n\n if (response.ok) {\n const teardownOperation: TeardownOperation = await response.json();\n switch (teardownOperation.status) {\n case \"error\":\n return teardownOperation;\n case \"in-progress\":\n await wait();\n continue;\n case \"success\":\n return teardownOperation;\n }\n } else {\n logger.error(\n `Unexpected error from server while polling for teardown operation status: ${\n response.status\n } ${response.statusText} ${await response.json()}`\n );\n throw new Error(\n `Unexpected response from server while polling for teardown operation status: ${response.status} ${response.statusText}`\n );\n }\n }\n\n // We will not get here because we will always execute the loop at least once\n // This is to appease the TypeScript compiler\n throw new Error(\n \"Unexpected error while polling for teardown operation status\"\n );\n}\n"]}
@@ -0,0 +1,7 @@
1
+ export interface Arguments {
2
+ account: string;
3
+ "tunnel-id": string;
4
+ "api-key": string;
5
+ }
6
+ export declare function describe(argv: Arguments): Promise<void>;
7
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/tunnel/describe/handler.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,SAAS,iBA4B7C"}
@@ -1,5 +1,3 @@
1
-
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9c88c21f-bc3c-528e-a535-cd2107761468")}catch(e){}}();
3
1
  import { logger } from "../../common/logger.js";
4
2
  import { printDiagnosticsToConsole, printTableToConsoleAndExitGracefully, textOrJson, } from "../../common/output.js";
5
3
  import settings from "../../common/settings.js";
@@ -24,5 +22,4 @@ export async function describe(argv) {
24
22
  printDiagnosticsToConsole("Error: Failed to describe tunnel for your account. Check the arguments.");
25
23
  }
26
24
  }
27
- //# sourceMappingURL=handler.js.map
28
- //# debugId=9c88c21f-bc3c-528e-a535-cd2107761468
25
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tunnel/describe/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,oCAAoC,EACpC,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAShD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAe;IAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAClC,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,YAAY,IAAI,CAAC,WAAW,CAAC,EAAE,EAC9F;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,EAAE;SAC3C;KACF,CACF,CAAC;IAEF,IAAI,gBAAgB,CAAC,EAAE,EAAE,CAAC;QACxB,MAAM,MAAM,GAAW,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,oCAAoC,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CACV;YACE,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,UAAU,EAAE,gBAAgB,CAAC,UAAU;YACvC,QAAQ,EAAE,UAAU,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;SACpD,EACD,uCAAuC,CACxC,CAAC;QACF,yBAAyB,CACvB,yEAAyE,CAC1E,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printDiagnosticsToConsole,\n printTableToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { Tunnel } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n \"tunnel-id\": string;\n \"api-key\": string;\n}\n\nexport async function describe(argv: Arguments) {\n const { account } = argv;\n const describeResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/tunnels/${argv[\"tunnel-id\"]}`,\n {\n method: \"GET\",\n headers: {\n Authorization: `Bearer ${argv[\"api-key\"]}`,\n },\n }\n );\n\n if (describeResponse.ok) {\n const tunnel: Tunnel = await describeResponse.json();\n await printTableToConsoleAndExitGracefully(tunnel);\n } else {\n logger.error(\n {\n status: describeResponse.status,\n statusText: describeResponse.statusText,\n response: textOrJson(await describeResponse.text()),\n },\n \"Failed to describe tunnel for account\"\n );\n printDiagnosticsToConsole(\n \"Error: Failed to describe tunnel for your account. Check the arguments.\"\n );\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ export interface Arguments {
2
+ account: string;
3
+ "api-key": string;
4
+ }
5
+ export declare function list(argv: Arguments): Promise<void>;
6
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/tunnel/list/handler.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,iBAqCzC"}
@@ -1,5 +1,3 @@
1
-
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d039ef04-2a1a-560a-8534-46eed7d6d1d3")}catch(e){}}();
3
1
  import { logger } from "../../common/logger.js";
4
2
  import { printDiagnosticsToConsole, printResultToConsoleAndExitGracefully, printTableToConsoleAndExitGracefully, } from "../../common/output.js";
5
3
  import settings from "../../common/settings.js";
@@ -33,5 +31,4 @@ export async function list(argv) {
33
31
  printDiagnosticsToConsole("Error: Failed to list tunnels for your account. Try again later.");
34
32
  }
35
33
  }
36
- //# sourceMappingURL=handler.js.map
37
- //# debugId=d039ef04-2a1a-560a-8534-46eed7d6d1d3
34
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tunnel/list/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,qCAAqC,EACrC,oCAAoC,GACrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAQhD,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAe;IACxC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC;IAC/B,MAAM,YAAY,GAAG,MAAM,KAAK,CAC9B,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,UAAU,EACzE;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,EAAE;SAC3C;KACF,CACF,CAAC;IAEF,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;QACpB,MAAM,OAAO,GAAe,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QAEtD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,kBAAkB,CAAC;YAClC,MAAM,qCAAqC,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACxC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,MAAM,oCAAoC,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CACV;YACE,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,QAAQ,EAAE,MAAM,YAAY,CAAC,IAAI,EAAE;SACpC,EACD,oCAAoC,CACrC,CAAC;QACF,yBAAyB,CACvB,kEAAkE,CACnE,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printDiagnosticsToConsole,\n printResultToConsoleAndExitGracefully,\n printTableToConsoleAndExitGracefully,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { TunnelList } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n \"api-key\": string;\n}\n\nexport async function list(argv: Arguments) {\n const { account } = await argv;\n const listResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/tunnels`,\n {\n method: \"GET\",\n headers: {\n Authorization: `Bearer ${argv[\"api-key\"]}`,\n },\n }\n );\n\n if (listResponse.ok) {\n const tunnels: TunnelList = await listResponse.json();\n\n if (tunnels.data.length === 0) {\n const output = \"No tunnels found\";\n await printResultToConsoleAndExitGracefully(output);\n } else {\n const table = tunnels.data.map((tunnel) => {\n return { \"tunnel-id\": tunnel.id, name: tunnel.name };\n });\n await printTableToConsoleAndExitGracefully(table);\n }\n } else {\n logger.error(\n {\n status: listResponse.status,\n statusText: listResponse.statusText,\n response: await listResponse.json(),\n },\n \"Failed to list tunnels for account\"\n );\n printDiagnosticsToConsole(\n \"Error: Failed to list tunnels for your account. Try again later.\"\n );\n }\n}\n"]}
@@ -0,0 +1,24 @@
1
+ import { Collection } from "../common/models.js";
2
+ export type TunnelList = Collection<TunnelListItem>;
3
+ export interface TunnelListItem {
4
+ id: string;
5
+ name: string;
6
+ }
7
+ export interface Tunnel {
8
+ id: string;
9
+ name: string;
10
+ token: string;
11
+ }
12
+ export interface ProvisioningOperation {
13
+ id: string;
14
+ status: "in-progress" | "success" | "error";
15
+ message?: string;
16
+ details?: any;
17
+ }
18
+ export interface TeardownOperation {
19
+ id: string;
20
+ status: "in-progress" | "success" | "error";
21
+ message?: string;
22
+ details?: any;
23
+ }
24
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/tunnel/models.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf"}
@@ -1,5 +1,2 @@
1
-
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="30085b72-4d54-5ac4-8286-11868105744e")}catch(e){}}();
3
1
  export {};
4
- //# sourceMappingURL=models.js.map
5
- //# debugId=30085b72-4d54-5ac4-8286-11868105744e
2
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/tunnel/models.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Ideally this file should be generated from the API spec.\n */\n\nimport { Collection } from \"../common/models.js\";\n\nexport type TunnelList = Collection<TunnelListItem>;\n\nexport interface TunnelListItem {\n id: string;\n name: string;\n}\n\nexport interface Tunnel {\n id: string;\n name: string;\n token: string;\n}\n\nexport interface ProvisioningOperation {\n id: string;\n status: \"in-progress\" | \"success\" | \"error\";\n message?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n details?: any;\n}\n\nexport interface TeardownOperation {\n id: string;\n status: \"in-progress\" | \"success\" | \"error\";\n message?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n details?: any;\n}\n"]}
@@ -0,0 +1,7 @@
1
+ export interface Arguments {
2
+ account: string;
3
+ "tunnel-id": string;
4
+ "api-key": string;
5
+ }
6
+ export declare function rotateToken(argv: Arguments): Promise<void>;
7
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/tunnel/rotate-token/handler.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,SAAS,iBA4BhD"}