@credibledata/cred-cli 0.0.103 → 0.0.105

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 (430) hide show
  1. package/README.md +106 -1
  2. package/dist/agent-contract.spec.js +548 -0
  3. package/dist/agent-contract.spec.js.map +1 -0
  4. package/dist/browser.js +72 -0
  5. package/dist/browser.js.map +1 -0
  6. package/dist/browser.spec.js +125 -0
  7. package/dist/browser.spec.js.map +1 -0
  8. package/dist/client/api.js +4137 -1159
  9. package/dist/client/api.js.map +1 -1
  10. package/dist/client-codeassist/api.js +476 -0
  11. package/dist/client-codeassist/api.js.map +1 -0
  12. package/dist/client-codeassist/base.js +69 -0
  13. package/dist/client-codeassist/base.js.map +1 -0
  14. package/dist/client-codeassist/common.js +162 -0
  15. package/dist/client-codeassist/common.js.map +1 -0
  16. package/dist/client-codeassist/configuration.js +44 -0
  17. package/dist/client-codeassist/configuration.js.map +1 -0
  18. package/dist/client-codeassist/index.js +32 -0
  19. package/dist/client-codeassist/index.js.map +1 -0
  20. package/dist/clientconfiguration.js +17 -289
  21. package/dist/clientconfiguration.js.map +1 -1
  22. package/dist/clientconfiguration.spec.js +35 -96
  23. package/dist/clientconfiguration.spec.js.map +1 -1
  24. package/dist/commands/add.js +103 -3
  25. package/dist/commands/add.js.map +1 -1
  26. package/dist/commands/add.spec.js +113 -0
  27. package/dist/commands/add.spec.js.map +1 -0
  28. package/dist/commands/connection/createconnections.js +104 -7
  29. package/dist/commands/connection/createconnections.js.map +1 -1
  30. package/dist/commands/connection/createconnections.spec.js +35 -1
  31. package/dist/commands/connection/createconnections.spec.js.map +1 -1
  32. package/dist/commands/connection/deleteconnection.js +4 -2
  33. package/dist/commands/connection/deleteconnection.js.map +1 -1
  34. package/dist/commands/connection/deleteconnection.spec.js +6 -1
  35. package/dist/commands/connection/deleteconnection.spec.js.map +1 -1
  36. package/dist/commands/connection/listconnections.js +2 -0
  37. package/dist/commands/connection/listconnections.js.map +1 -1
  38. package/dist/commands/connection/updateconnection.js +365 -0
  39. package/dist/commands/connection/updateconnection.js.map +1 -0
  40. package/dist/commands/connection/updateconnection.spec.js +625 -0
  41. package/dist/commands/connection/updateconnection.spec.js.map +1 -0
  42. package/dist/commands/database/createdatabase.js +52 -0
  43. package/dist/commands/database/createdatabase.js.map +1 -0
  44. package/dist/commands/database/database.spec.js +267 -0
  45. package/dist/commands/database/database.spec.js.map +1 -0
  46. package/dist/commands/database/deletedatabase.js +91 -0
  47. package/dist/commands/database/deletedatabase.js.map +1 -0
  48. package/dist/commands/database/getdatabase.js +97 -0
  49. package/dist/commands/database/getdatabase.js.map +1 -0
  50. package/dist/commands/database/listdatabases.js +36 -0
  51. package/dist/commands/database/listdatabases.js.map +1 -0
  52. package/dist/commands/database/shared.js +125 -0
  53. package/dist/commands/database/shared.js.map +1 -0
  54. package/dist/commands/database/shared.spec.js +109 -0
  55. package/dist/commands/database/shared.spec.js.map +1 -0
  56. package/dist/commands/database/updatedatabase.js +39 -0
  57. package/dist/commands/database/updatedatabase.js.map +1 -0
  58. package/dist/commands/environment/createenvironment.js +59 -28
  59. package/dist/commands/environment/createenvironment.js.map +1 -1
  60. package/dist/commands/environment/createenvironment.spec.js +29 -0
  61. package/dist/commands/environment/createenvironment.spec.js.map +1 -1
  62. package/dist/commands/environment/deleteenvironment.js +3 -2
  63. package/dist/commands/environment/deleteenvironment.js.map +1 -1
  64. package/dist/commands/environment/deleteenvironment.spec.js +5 -1
  65. package/dist/commands/environment/deleteenvironment.spec.js.map +1 -1
  66. package/dist/commands/environment/getenvironment.js +1 -0
  67. package/dist/commands/environment/getenvironment.js.map +1 -1
  68. package/dist/commands/environment/listenvironments.js +40 -8
  69. package/dist/commands/environment/listenvironments.js.map +1 -1
  70. package/dist/commands/environment/listenvironments.spec.js +41 -2
  71. package/dist/commands/environment/listenvironments.spec.js.map +1 -1
  72. package/dist/commands/environment/setenvironment.js +145 -6
  73. package/dist/commands/environment/setenvironment.js.map +1 -1
  74. package/dist/commands/environment/setenvironment.spec.js +256 -8
  75. package/dist/commands/environment/setenvironment.spec.js.map +1 -1
  76. package/dist/commands/environment/updateenvironment.js +12 -8
  77. package/dist/commands/environment/updateenvironment.js.map +1 -1
  78. package/dist/commands/environment/updateenvironment.spec.js +36 -2
  79. package/dist/commands/environment/updateenvironment.spec.js.map +1 -1
  80. package/dist/commands/get.js +64 -1
  81. package/dist/commands/get.js.map +1 -1
  82. package/dist/commands/group/addmember.js +3 -1
  83. package/dist/commands/group/addmember.js.map +1 -1
  84. package/dist/commands/group/addmember.spec.js +7 -2
  85. package/dist/commands/group/addmember.spec.js.map +1 -1
  86. package/dist/commands/group/creategroup.js +2 -0
  87. package/dist/commands/group/creategroup.js.map +1 -1
  88. package/dist/commands/group/deletegroup.js +3 -1
  89. package/dist/commands/group/deletegroup.js.map +1 -1
  90. package/dist/commands/group/deletegroup.spec.js +7 -1
  91. package/dist/commands/group/deletegroup.spec.js.map +1 -1
  92. package/dist/commands/group/getgroup.js +2 -0
  93. package/dist/commands/group/getgroup.js.map +1 -1
  94. package/dist/commands/group/listgroups.js +2 -0
  95. package/dist/commands/group/listgroups.js.map +1 -1
  96. package/dist/commands/group/removemember.js +3 -1
  97. package/dist/commands/group/removemember.js.map +1 -1
  98. package/dist/commands/group/removemember.spec.js +7 -2
  99. package/dist/commands/group/removemember.spec.js.map +1 -1
  100. package/dist/commands/groupaccesstoken/deleteToken.js +2 -1
  101. package/dist/commands/groupaccesstoken/deleteToken.js.map +1 -1
  102. package/dist/commands/groupaccesstoken/groupContainer.js +2 -0
  103. package/dist/commands/groupaccesstoken/groupContainer.js.map +1 -1
  104. package/dist/commands/list.js +24 -4
  105. package/dist/commands/list.js.map +1 -1
  106. package/dist/commands/materialization/cancelrun.js +3 -1
  107. package/dist/commands/materialization/cancelrun.js.map +1 -1
  108. package/dist/commands/materialization/getindex.js +2 -0
  109. package/dist/commands/materialization/getindex.js.map +1 -1
  110. package/dist/commands/materialization/getmaterialization.js +2 -0
  111. package/dist/commands/materialization/getmaterialization.js.map +1 -1
  112. package/dist/commands/materialization/getpreaggregate.js +2 -0
  113. package/dist/commands/materialization/getpreaggregate.js.map +1 -1
  114. package/dist/commands/materialization/getrun.js +2 -0
  115. package/dist/commands/materialization/getrun.js.map +1 -1
  116. package/dist/commands/materialization/listindexes.js +2 -0
  117. package/dist/commands/materialization/listindexes.js.map +1 -1
  118. package/dist/commands/materialization/listmaterializations.js +2 -0
  119. package/dist/commands/materialization/listmaterializations.js.map +1 -1
  120. package/dist/commands/materialization/listpreaggregates.js +2 -0
  121. package/dist/commands/materialization/listpreaggregates.js.map +1 -1
  122. package/dist/commands/materialization/listruns.js +3 -1
  123. package/dist/commands/materialization/listruns.js.map +1 -1
  124. package/dist/commands/materialization/rerun.js +3 -1
  125. package/dist/commands/materialization/rerun.js.map +1 -1
  126. package/dist/commands/misc/inquirerHost.js +87 -0
  127. package/dist/commands/misc/inquirerHost.js.map +1 -0
  128. package/dist/commands/misc/inquirerHost.spec.js +91 -0
  129. package/dist/commands/misc/inquirerHost.spec.js.map +1 -0
  130. package/dist/commands/misc/login.js +348 -58
  131. package/dist/commands/misc/login.js.map +1 -1
  132. package/dist/commands/misc/login.spec.js +525 -7
  133. package/dist/commands/misc/login.spec.js.map +1 -1
  134. package/dist/commands/misc/logout.js +26 -3
  135. package/dist/commands/misc/logout.js.map +1 -1
  136. package/dist/commands/misc/logout.spec.js +52 -12
  137. package/dist/commands/misc/logout.spec.js.map +1 -1
  138. package/dist/commands/misc/resolveLoginTarget.spec.js +90 -0
  139. package/dist/commands/misc/resolveLoginTarget.spec.js.map +1 -0
  140. package/dist/commands/misc/scope.spec.js +108 -0
  141. package/dist/commands/misc/scope.spec.js.map +1 -0
  142. package/dist/commands/misc/set-access-token.js +1 -1
  143. package/dist/commands/misc/set-access-token.js.map +1 -1
  144. package/dist/commands/misc/set-access-token.spec.js +13 -2
  145. package/dist/commands/misc/set-access-token.spec.js.map +1 -1
  146. package/dist/commands/misc/setup.js +819 -0
  147. package/dist/commands/misc/setup.js.map +1 -0
  148. package/dist/commands/misc/setup.spec.js +783 -0
  149. package/dist/commands/misc/setup.spec.js.map +1 -0
  150. package/dist/commands/misc/status.js +168 -0
  151. package/dist/commands/misc/status.js.map +1 -0
  152. package/dist/commands/misc/status.spec.js +301 -0
  153. package/dist/commands/misc/status.spec.js.map +1 -0
  154. package/dist/commands/misc/token.js +57 -0
  155. package/dist/commands/misc/token.js.map +1 -0
  156. package/dist/commands/misc/token.spec.js +92 -0
  157. package/dist/commands/misc/token.spec.js.map +1 -0
  158. package/dist/commands/package/deletepackage.js +4 -2
  159. package/dist/commands/package/deletepackage.js.map +1 -1
  160. package/dist/commands/package/deletepackage.spec.js +7 -1
  161. package/dist/commands/package/deletepackage.spec.js.map +1 -1
  162. package/dist/commands/package/getpackage.js +142 -0
  163. package/dist/commands/package/getpackage.js.map +1 -0
  164. package/dist/commands/package/getpackage.spec.js +246 -0
  165. package/dist/commands/package/getpackage.spec.js.map +1 -0
  166. package/dist/commands/package/listpackages.js +2 -0
  167. package/dist/commands/package/listpackages.js.map +1 -1
  168. package/dist/commands/package/publish.archive.spec.js +570 -0
  169. package/dist/commands/package/publish.archive.spec.js.map +1 -0
  170. package/dist/commands/package/publish.js +780 -49
  171. package/dist/commands/package/publish.js.map +1 -1
  172. package/dist/commands/package/publish.spec.js +451 -8
  173. package/dist/commands/package/publish.spec.js.map +1 -1
  174. package/dist/commands/package/updatepackage.js +22 -19
  175. package/dist/commands/package/updatepackage.js.map +1 -1
  176. package/dist/commands/package/updatepackage.spec.js +36 -1
  177. package/dist/commands/package/updatepackage.spec.js.map +1 -1
  178. package/dist/commands/permission/createpermission.js +3 -1
  179. package/dist/commands/permission/createpermission.js.map +1 -1
  180. package/dist/commands/permission/deletepermission.js +6 -3
  181. package/dist/commands/permission/deletepermission.js.map +1 -1
  182. package/dist/commands/permission/getpermission.js +2 -0
  183. package/dist/commands/permission/getpermission.js.map +1 -1
  184. package/dist/commands/permission/listpermissions.js +2 -0
  185. package/dist/commands/permission/listpermissions.js.map +1 -1
  186. package/dist/commands/rm.js +21 -0
  187. package/dist/commands/rm.js.map +1 -1
  188. package/dist/commands/set.js +40 -6
  189. package/dist/commands/set.js.map +1 -1
  190. package/dist/commands/set.spec.js +123 -0
  191. package/dist/commands/set.spec.js.map +1 -0
  192. package/dist/commands/table/addtable.js +155 -0
  193. package/dist/commands/table/addtable.js.map +1 -0
  194. package/dist/commands/table/deletetable.js +45 -0
  195. package/dist/commands/table/deletetable.js.map +1 -0
  196. package/dist/commands/table/gettable.js +32 -0
  197. package/dist/commands/table/gettable.js.map +1 -0
  198. package/dist/commands/table/listtables.js +36 -0
  199. package/dist/commands/table/listtables.js.map +1 -0
  200. package/dist/commands/table/table.spec.js +304 -0
  201. package/dist/commands/table/table.spec.js.map +1 -0
  202. package/dist/commands/table/tablefile.js +195 -0
  203. package/dist/commands/table/tablefile.js.map +1 -0
  204. package/dist/commands/table/tablefile.spec.js +158 -0
  205. package/dist/commands/table/tablefile.spec.js.map +1 -0
  206. package/dist/commands/update.js +21 -0
  207. package/dist/commands/update.js.map +1 -1
  208. package/dist/commands/version/archive-unarchive-version.js +4 -2
  209. package/dist/commands/version/archive-unarchive-version.js.map +1 -1
  210. package/dist/commands/version/archive-unarchive-version.spec.js +6 -1
  211. package/dist/commands/version/archive-unarchive-version.spec.js.map +1 -1
  212. package/dist/commands/version/listversions.js +2 -0
  213. package/dist/commands/version/listversions.js.map +1 -1
  214. package/dist/common/UserGroupId.js +9 -4
  215. package/dist/common/UserGroupId.js.map +1 -1
  216. package/dist/common/UserGroupId.spec.js +5 -0
  217. package/dist/common/UserGroupId.spec.js.map +1 -1
  218. package/dist/constants.js +37 -143
  219. package/dist/constants.js.map +1 -1
  220. package/dist/index.js +487 -90
  221. package/dist/index.js.map +1 -1
  222. package/dist/logger.js +42 -9
  223. package/dist/logger.js.map +1 -1
  224. package/dist/session.js +56 -0
  225. package/dist/session.js.map +1 -0
  226. package/dist/session.spec.js +103 -0
  227. package/dist/session.spec.js.map +1 -0
  228. package/dist/setup-core/briefing.js +176 -0
  229. package/dist/setup-core/briefing.js.map +1 -0
  230. package/dist/setup-core/credstore.js +415 -0
  231. package/dist/setup-core/credstore.js.map +1 -0
  232. package/dist/setup-core/credstore.spec.js +238 -0
  233. package/dist/setup-core/credstore.spec.js.map +1 -0
  234. package/dist/setup-core/environments.js +267 -0
  235. package/dist/setup-core/environments.js.map +1 -0
  236. package/dist/setup-core/flow.e2e.js +165 -0
  237. package/dist/setup-core/flow.e2e.js.map +1 -0
  238. package/dist/setup-core/flow.js +765 -0
  239. package/dist/setup-core/flow.js.map +1 -0
  240. package/dist/setup-core/flow.spec.js +1348 -0
  241. package/dist/setup-core/flow.spec.js.map +1 -0
  242. package/dist/setup-core/folderconfig.js +283 -0
  243. package/dist/setup-core/folderconfig.js.map +1 -0
  244. package/dist/setup-core/git.js +97 -0
  245. package/dist/setup-core/git.js.map +1 -0
  246. package/dist/setup-core/host.js +77 -0
  247. package/dist/setup-core/host.js.map +1 -0
  248. package/dist/setup-core/importconnections.js +470 -0
  249. package/dist/setup-core/importconnections.js.map +1 -0
  250. package/dist/setup-core/importconnections.spec.js +594 -0
  251. package/dist/setup-core/importconnections.spec.js.map +1 -0
  252. package/dist/setup-core/liveness.js +94 -0
  253. package/dist/setup-core/liveness.js.map +1 -0
  254. package/dist/setup-core/liveness.spec.js +59 -0
  255. package/dist/setup-core/liveness.spec.js.map +1 -0
  256. package/dist/setup-core/localpublisherconfig.js +26 -0
  257. package/dist/setup-core/localpublisherconfig.js.map +1 -0
  258. package/dist/setup-core/localpublisherconfig.spec.js +29 -0
  259. package/dist/setup-core/localpublisherconfig.spec.js.map +1 -0
  260. package/dist/setup-core/mcpconfig.js +198 -0
  261. package/dist/setup-core/mcpconfig.js.map +1 -0
  262. package/dist/setup-core/mcpconfig.spec.js +205 -0
  263. package/dist/setup-core/mcpconfig.spec.js.map +1 -0
  264. package/dist/setup-core/packagemanifest.js +55 -0
  265. package/dist/setup-core/packagemanifest.js.map +1 -0
  266. package/dist/setup-core/ports.js +182 -0
  267. package/dist/setup-core/ports.js.map +1 -0
  268. package/dist/setup-core/ports.spec.js +173 -0
  269. package/dist/setup-core/ports.spec.js.map +1 -0
  270. package/dist/setup-core/publisherconfig.js +268 -0
  271. package/dist/setup-core/publisherconfig.js.map +1 -0
  272. package/dist/setup-core/publisherconfig.oracle.js +166 -0
  273. package/dist/setup-core/publisherconfig.oracle.js.map +1 -0
  274. package/dist/setup-core/publisherconfig.spec.js +277 -0
  275. package/dist/setup-core/publisherconfig.spec.js.map +1 -0
  276. package/dist/setup-core/publisherversion.js +26 -0
  277. package/dist/setup-core/publisherversion.js.map +1 -0
  278. package/dist/setup-core/readiness.spec.js +161 -0
  279. package/dist/setup-core/readiness.spec.js.map +1 -0
  280. package/dist/setup-core/readylines.js +169 -0
  281. package/dist/setup-core/readylines.js.map +1 -0
  282. package/dist/setup-core/readylines.spec.js +70 -0
  283. package/dist/setup-core/readylines.spec.js.map +1 -0
  284. package/dist/setup-core/refresh.js +348 -0
  285. package/dist/setup-core/refresh.js.map +1 -0
  286. package/dist/setup-core/refresh.spec.js +501 -0
  287. package/dist/setup-core/refresh.spec.js.map +1 -0
  288. package/dist/setup-core/skills.js +279 -0
  289. package/dist/setup-core/skills.js.map +1 -0
  290. package/dist/setup-core/skills.spec.js +334 -0
  291. package/dist/setup-core/skills.spec.js.map +1 -0
  292. package/dist/setup-core/supervisor.js +879 -0
  293. package/dist/setup-core/supervisor.js.map +1 -0
  294. package/dist/setup-core/supervisor.spec.js +833 -0
  295. package/dist/setup-core/supervisor.spec.js.map +1 -0
  296. package/dist/setup-core/writefile.js +61 -0
  297. package/dist/setup-core/writefile.js.map +1 -0
  298. package/dist/setup-core/writefile.spec.js +68 -0
  299. package/dist/setup-core/writefile.spec.js.map +1 -0
  300. package/dist/utils.js +409 -3
  301. package/dist/utils.js.map +1 -1
  302. package/dist/utils.spec.js +373 -2
  303. package/dist/utils.spec.js.map +1 -1
  304. package/dist/versioncheck-refresh.js +18 -0
  305. package/dist/versioncheck-refresh.js.map +1 -0
  306. package/dist/versioncheck.js +324 -0
  307. package/dist/versioncheck.js.map +1 -0
  308. package/dist/versioncheck.spec.js +587 -0
  309. package/dist/versioncheck.spec.js.map +1 -0
  310. package/node_modules/@credibledata/cli-auth/dist/index.d.ts +86 -0
  311. package/node_modules/@credibledata/cli-auth/dist/index.js +102 -0
  312. package/node_modules/@credibledata/cli-auth/package.json +19 -0
  313. package/package.json +18 -6
  314. package/.github/workflows/build.yml +0 -23
  315. package/.mocharc.json +0 -10
  316. package/.prettierignore +0 -2
  317. package/.prettierrc +0 -4
  318. package/README-DEV.md +0 -40
  319. package/coverage/coverage-summary.json +0 -40
  320. package/coverage/tmp/coverage-2152-1789496974457-0.json +0 -1
  321. package/coverage/tmp/coverage-2153-1789496954404-0.json +0 -1
  322. package/docker/Dockerfile.ci +0 -18
  323. package/docker-compose.yml +0 -18
  324. package/eslint.config.mjs +0 -45
  325. package/generate-client.sh +0 -27
  326. package/mocha.setup.ts +0 -4
  327. package/openapitools.json +0 -10
  328. package/src/client/.openapi-generator/FILES +0 -9
  329. package/src/client/.openapi-generator/VERSION +0 -1
  330. package/src/client/.openapi-generator-ignore +0 -23
  331. package/src/client/api.ts +0 -15999
  332. package/src/client/base.ts +0 -86
  333. package/src/client/common.ts +0 -150
  334. package/src/client/configuration.ts +0 -110
  335. package/src/client/git_push.sh +0 -57
  336. package/src/client/index.ts +0 -18
  337. package/src/clientconfiguration.spec.ts +0 -615
  338. package/src/clientconfiguration.ts +0 -364
  339. package/src/commands/add.ts +0 -191
  340. package/src/commands/connection/createconnections.spec.ts +0 -413
  341. package/src/commands/connection/createconnections.ts +0 -109
  342. package/src/commands/connection/deleteconnection.spec.ts +0 -189
  343. package/src/commands/connection/deleteconnection.ts +0 -57
  344. package/src/commands/connection/listconnections.spec.ts +0 -132
  345. package/src/commands/connection/listconnections.ts +0 -58
  346. package/src/commands/environment/createenvironment.spec.ts +0 -249
  347. package/src/commands/environment/createenvironment.ts +0 -73
  348. package/src/commands/environment/deleteenvironment.spec.ts +0 -152
  349. package/src/commands/environment/deleteenvironment.ts +0 -48
  350. package/src/commands/environment/getenvironment.spec.ts +0 -110
  351. package/src/commands/environment/getenvironment.ts +0 -43
  352. package/src/commands/environment/listenvironments.spec.ts +0 -123
  353. package/src/commands/environment/listenvironments.ts +0 -67
  354. package/src/commands/environment/setenvironment.spec.ts +0 -63
  355. package/src/commands/environment/setenvironment.ts +0 -14
  356. package/src/commands/environment/updateenvironment.spec.ts +0 -386
  357. package/src/commands/environment/updateenvironment.ts +0 -168
  358. package/src/commands/get.ts +0 -153
  359. package/src/commands/group/addmember.spec.ts +0 -257
  360. package/src/commands/group/addmember.ts +0 -85
  361. package/src/commands/group/creategroup.spec.ts +0 -146
  362. package/src/commands/group/creategroup.ts +0 -54
  363. package/src/commands/group/deletegroup.spec.ts +0 -120
  364. package/src/commands/group/deletegroup.ts +0 -45
  365. package/src/commands/group/getgroup.spec.ts +0 -129
  366. package/src/commands/group/getgroup.ts +0 -47
  367. package/src/commands/group/listgroups.spec.ts +0 -137
  368. package/src/commands/group/listgroups.ts +0 -45
  369. package/src/commands/group/removemember.spec.ts +0 -224
  370. package/src/commands/group/removemember.ts +0 -75
  371. package/src/commands/groupaccesstoken/createToken.spec.ts +0 -211
  372. package/src/commands/groupaccesstoken/createToken.ts +0 -72
  373. package/src/commands/groupaccesstoken/deleteToken.spec.ts +0 -147
  374. package/src/commands/groupaccesstoken/deleteToken.ts +0 -29
  375. package/src/commands/groupaccesstoken/groupContainer.ts +0 -83
  376. package/src/commands/groupaccesstoken/listTokens.spec.ts +0 -147
  377. package/src/commands/groupaccesstoken/listTokens.ts +0 -29
  378. package/src/commands/legacy.ts +0 -5
  379. package/src/commands/list.ts +0 -326
  380. package/src/commands/materialization/cancelrun.ts +0 -70
  381. package/src/commands/materialization/getindex.ts +0 -55
  382. package/src/commands/materialization/getmaterialization.ts +0 -57
  383. package/src/commands/materialization/getpreaggregate.ts +0 -58
  384. package/src/commands/materialization/getrun.ts +0 -55
  385. package/src/commands/materialization/listindexes.ts +0 -69
  386. package/src/commands/materialization/listmaterializations.ts +0 -53
  387. package/src/commands/materialization/listpreaggregates.ts +0 -74
  388. package/src/commands/materialization/listruns.ts +0 -77
  389. package/src/commands/materialization/rerun.ts +0 -123
  390. package/src/commands/misc/login.spec.ts +0 -371
  391. package/src/commands/misc/login.ts +0 -343
  392. package/src/commands/misc/logout.spec.ts +0 -32
  393. package/src/commands/misc/logout.ts +0 -9
  394. package/src/commands/misc/loopbackOAuth.ts +0 -127
  395. package/src/commands/misc/set-access-token.spec.ts +0 -95
  396. package/src/commands/misc/set-access-token.ts +0 -32
  397. package/src/commands/package/deletepackage.spec.ts +0 -164
  398. package/src/commands/package/deletepackage.ts +0 -58
  399. package/src/commands/package/listpackages.spec.ts +0 -163
  400. package/src/commands/package/listpackages.ts +0 -74
  401. package/src/commands/package/publish.spec.ts +0 -642
  402. package/src/commands/package/publish.ts +0 -236
  403. package/src/commands/package/updatepackage.spec.ts +0 -319
  404. package/src/commands/package/updatepackage.ts +0 -95
  405. package/src/commands/permission/createpermission.spec.ts +0 -507
  406. package/src/commands/permission/createpermission.ts +0 -181
  407. package/src/commands/permission/deletepermission.ts +0 -117
  408. package/src/commands/permission/getpermission.ts +0 -115
  409. package/src/commands/permission/listpermissions.ts +0 -101
  410. package/src/commands/permission/scope.ts +0 -180
  411. package/src/commands/rm.ts +0 -146
  412. package/src/commands/set.ts +0 -25
  413. package/src/commands/update.ts +0 -107
  414. package/src/commands/version/archive-unarchive-version.spec.ts +0 -456
  415. package/src/commands/version/archive-unarchive-version.ts +0 -108
  416. package/src/commands/version/listversions.spec.ts +0 -138
  417. package/src/commands/version/listversions.ts +0 -45
  418. package/src/common/UserGroupId.spec.ts +0 -115
  419. package/src/common/UserGroupId.ts +0 -137
  420. package/src/constants.spec.ts +0 -111
  421. package/src/constants.ts +0 -228
  422. package/src/index.ts +0 -378
  423. package/src/logger.spec.ts +0 -158
  424. package/src/logger.ts +0 -90
  425. package/src/polyfills/file.polyfill.ts +0 -6
  426. package/src/utils.spec.ts +0 -135
  427. package/src/utils.ts +0 -115
  428. package/src/validator.spec.ts +0 -51
  429. package/src/validator.ts +0 -44
  430. package/tsconfig.json +0 -17
@@ -49,19 +49,259 @@ const axios_1 = __importDefault(require("axios"));
49
49
  const chai_1 = require("chai");
50
50
  const inquirer_1 = __importDefault(require("inquirer"));
51
51
  const sinon_1 = __importDefault(require("sinon"));
52
+ const stream_1 = require("stream");
52
53
  const loggerModule = __importStar(require("./logger"));
54
+ const sessionModule = __importStar(require("./session"));
53
55
  const utils_1 = require("./utils");
56
+ /**
57
+ * Pretend a human is at the keyboard, or that nobody is.
58
+ *
59
+ * The prompt helpers read three signals; mocha under CI (and under an agent)
60
+ * has none of them, so the prompting tests below would otherwise fail on the
61
+ * guard before reaching the inquirer stub they exist to exercise.
62
+ */
63
+ function pretendStdin(interactive) {
64
+ const stdin = process.stdin;
65
+ const saved = {
66
+ isTTY: stdin.isTTY,
67
+ ci: process.env.CI,
68
+ nonInteractive: process.env.CRED_NON_INTERACTIVE,
69
+ };
70
+ stdin.isTTY = interactive;
71
+ delete process.env.CI;
72
+ if (interactive)
73
+ delete process.env.CRED_NON_INTERACTIVE;
74
+ else
75
+ process.env.CRED_NON_INTERACTIVE = "1";
76
+ return () => {
77
+ stdin.isTTY = saved.isTTY;
78
+ if (saved.ci === undefined)
79
+ delete process.env.CI;
80
+ else
81
+ process.env.CI = saved.ci;
82
+ if (saved.nonInteractive === undefined) {
83
+ delete process.env.CRED_NON_INTERACTIVE;
84
+ }
85
+ else
86
+ process.env.CRED_NON_INTERACTIVE = saved.nonInteractive;
87
+ };
88
+ }
89
+ describe("takeCellFlag", () => {
90
+ const argv = (...args) => ["node", "cred", ...args];
91
+ it("splices `--cell x` and `--cell=x` out, before or after the subcommand", () => {
92
+ const a = argv("--cell", "staging", "publish", "--dry-run");
93
+ (0, chai_1.expect)((0, utils_1.takeCellFlag)(a)).to.equal("staging");
94
+ (0, chai_1.expect)(a).to.eql(argv("publish", "--dry-run"));
95
+ const b = argv("status", "--cell=aws-dev", "--json");
96
+ (0, chai_1.expect)((0, utils_1.takeCellFlag)(b)).to.equal("aws-dev");
97
+ (0, chai_1.expect)(b).to.eql(argv("status", "--json"));
98
+ });
99
+ it("is a no-op when absent, after `--`, or while completing", () => {
100
+ for (const args of [
101
+ argv("status"),
102
+ argv("publish", "--", "--cell", "staging"),
103
+ argv("--compgen", "1", "--cell", "bogus"),
104
+ ]) {
105
+ const before = [...args];
106
+ (0, chai_1.expect)((0, utils_1.takeCellFlag)(args)).to.equal(undefined);
107
+ (0, chai_1.expect)(args).to.eql(before);
108
+ }
109
+ });
110
+ it("rejects a missing or unknown cell, listing the valid ones", () => {
111
+ (0, chai_1.expect)(() => (0, utils_1.takeCellFlag)(argv("status", "--cell"))).to.throw(/needs a value.*production/);
112
+ (0, chai_1.expect)(() => (0, utils_1.takeCellFlag)(argv("--cell", "--json"))).to.throw(/needs a value/);
113
+ (0, chai_1.expect)(() => (0, utils_1.takeCellFlag)(argv("--cell=bogus"))).to.throw(/Unknown cell "bogus".*aws-dev/);
114
+ });
115
+ it("rejects a repeated flag instead of leaving one for Commander", () => {
116
+ (0, chai_1.expect)(() => (0, utils_1.takeCellFlag)(argv("--cell", "staging", "status", "--cell=aws-dev"))).to.throw(/more than once/);
117
+ });
118
+ });
54
119
  describe("utils", () => {
55
120
  let sandbox;
56
121
  let loggerStub;
57
122
  let logAxiosErrorStub;
123
+ let restoreStdin;
124
+ let refreshStub;
125
+ // Never read: the session refresh a "yes" triggers is stubbed below.
126
+ const session = {};
58
127
  beforeEach(() => {
59
128
  sandbox = sinon_1.default.createSandbox();
60
129
  loggerStub = sandbox.stub(loggerModule.logger);
61
130
  logAxiosErrorStub = sandbox.stub(loggerModule, "logAxiosError");
131
+ refreshStub = sandbox
132
+ .stub(sessionModule, "refreshSessionOrExit")
133
+ .resolves();
134
+ restoreStdin = pretendStdin(true);
62
135
  });
63
136
  afterEach(() => {
64
137
  sandbox.restore();
138
+ restoreStdin();
139
+ });
140
+ describe("isInteractive at a terminal", () => {
141
+ // `restoreStdin` from the outer beforeEach puts both variables back.
142
+ for (const value of ["false", "0", ""]) {
143
+ it(`still prompts with CI=${JSON.stringify(value)}`, () => {
144
+ process.env.CI = value;
145
+ process.env.CRED_NON_INTERACTIVE = value;
146
+ (0, chai_1.expect)((0, utils_1.isInteractive)()).to.equal(true);
147
+ });
148
+ }
149
+ for (const value of ["true", "1"]) {
150
+ it(`stops prompting with CI=${value}`, () => {
151
+ process.env.CI = value;
152
+ (0, chai_1.expect)((0, utils_1.isInteractive)()).to.equal(false);
153
+ });
154
+ }
155
+ });
156
+ describe("without a terminal", () => {
157
+ beforeEach(() => {
158
+ restoreStdin();
159
+ restoreStdin = pretendStdin(false);
160
+ });
161
+ it("reports non-interactive", () => {
162
+ (0, chai_1.expect)((0, utils_1.isInteractive)()).to.equal(false);
163
+ });
164
+ it("is also non-interactive under --non-interactive with a TTY", () => {
165
+ restoreStdin();
166
+ restoreStdin = pretendStdin(true);
167
+ const argv = process.argv;
168
+ process.argv = [...argv, "--non-interactive"];
169
+ try {
170
+ (0, chai_1.expect)((0, utils_1.isInteractive)()).to.equal(false);
171
+ }
172
+ finally {
173
+ process.argv = argv;
174
+ }
175
+ });
176
+ it("getConfirmation refuses with exit code 2 and names --yes", () => __awaiter(void 0, void 0, void 0, function* () {
177
+ const promptStub = sandbox.stub(inquirer_1.default, "prompt");
178
+ const error = yield (0, utils_1.getConfirmation)("Send it?", session).catch((e) => e);
179
+ (0, chai_1.expect)(error).to.be.instanceOf(utils_1.NeedsInputError);
180
+ (0, chai_1.expect)(error.exitCode).to.equal(2);
181
+ (0, chai_1.expect)(error.message).to.equal('Cannot ask "Send it?" without a terminal. Pass --yes.');
182
+ (0, chai_1.expect)(promptStub.called).to.equal(false);
183
+ }));
184
+ // On dev every confirmation went through inquirer, which read a piped
185
+ // line, so `yes | cred publish` and `echo y | cred update package ...`
186
+ // were working scripts.
187
+ describe("with an answer piped to stdin", () => {
188
+ let savedStdin;
189
+ let piped;
190
+ beforeEach(() => {
191
+ restoreStdin();
192
+ savedStdin = process.stdin;
193
+ piped = new stream_1.PassThrough();
194
+ Object.defineProperty(process, "stdin", {
195
+ value: piped,
196
+ configurable: true,
197
+ });
198
+ restoreStdin = pretendStdin(false);
199
+ delete process.env.CRED_NON_INTERACTIVE;
200
+ });
201
+ afterEach(() => {
202
+ Object.defineProperty(process, "stdin", {
203
+ value: savedStdin,
204
+ configurable: true,
205
+ });
206
+ });
207
+ for (const [input, expected] of [
208
+ ["y\n", true],
209
+ ["YES\n", true],
210
+ ["n\n", false],
211
+ ["no thanks\n", false],
212
+ // An empty answer is "no", piped or at the terminal: every caller
213
+ // is about to change something, and a bare Enter deleted.
214
+ ["\n", false],
215
+ ]) {
216
+ it(`reads ${JSON.stringify(input)} as ${expected}`, () => __awaiter(void 0, void 0, void 0, function* () {
217
+ const promptStub = sandbox.stub(inquirer_1.default, "prompt");
218
+ piped.write(input);
219
+ (0, chai_1.expect)(yield (0, utils_1.getConfirmation)("Send it?", session)).to.equal(expected);
220
+ (0, chai_1.expect)(promptStub.called).to.equal(false);
221
+ }));
222
+ }
223
+ // A CI log has to show what was asked and what was read, not only
224
+ // "Operation cancelled.".
225
+ it("echoes the question and the answer it read", () => __awaiter(void 0, void 0, void 0, function* () {
226
+ sandbox.stub(inquirer_1.default, "prompt");
227
+ piped.write("n\n");
228
+ yield (0, utils_1.getConfirmation)("Send it?", session);
229
+ (0, chai_1.expect)(loggerModule.logger.info.calledWith("Send it? → no (read from stdin)")).to.equal(true);
230
+ }));
231
+ it("answers a second confirmation from the same `yes` chunk", () => __awaiter(void 0, void 0, void 0, function* () {
232
+ piped.write("y\ny\ny\n");
233
+ (0, chai_1.expect)(yield (0, utils_1.getConfirmation)("First?", session)).to.equal(true);
234
+ (0, chai_1.expect)(yield (0, utils_1.getConfirmation)("Second?", session)).to.equal(true);
235
+ }));
236
+ it("still answers under CI, as it did on dev", () => __awaiter(void 0, void 0, void 0, function* () {
237
+ process.env.CI = "true";
238
+ piped.write("y\n");
239
+ (0, chai_1.expect)(yield (0, utils_1.getConfirmation)("Send it?", session)).to.equal(true);
240
+ }));
241
+ it("refuses when the pipe closes without a line", () => __awaiter(void 0, void 0, void 0, function* () {
242
+ piped.end();
243
+ const error = yield (0, utils_1.getConfirmation)("Send it?", session).catch((e) => e);
244
+ (0, chai_1.expect)(error).to.be.instanceOf(utils_1.NeedsInputError);
245
+ (0, chai_1.expect)(error.message).to.contain("Pass --yes.");
246
+ }));
247
+ it("refuses, rather than hanging, when the pipe stays open and silent", () => __awaiter(void 0, void 0, void 0, function* () {
248
+ const error = yield (0, utils_1.getConfirmation)("Send it?", session).catch((e) => e);
249
+ (0, chai_1.expect)(error).to.be.instanceOf(utils_1.NeedsInputError);
250
+ }));
251
+ it("ignores the piped line under CRED_NON_INTERACTIVE", () => __awaiter(void 0, void 0, void 0, function* () {
252
+ process.env.CRED_NON_INTERACTIVE = "1";
253
+ piped.write("y\n");
254
+ const error = yield (0, utils_1.getConfirmation)("Send it?", session).catch((e) => e);
255
+ (0, chai_1.expect)(error).to.be.instanceOf(utils_1.NeedsInputError);
256
+ }));
257
+ });
258
+ it("getConfirmation names the caller's flag when given one", () => __awaiter(void 0, void 0, void 0, function* () {
259
+ const error = yield (0, utils_1.getConfirmation)("Send it?", session, {
260
+ flag: "--connections <names>",
261
+ }).catch((e) => e);
262
+ (0, chai_1.expect)(error.message).to.contain("Pass --connections <names>.");
263
+ }));
264
+ it("selectFromList still short-circuits a lone choice", () => __awaiter(void 0, void 0, void 0, function* () {
265
+ const promptStub = sandbox.stub(inquirer_1.default, "prompt");
266
+ const result = yield (0, utils_1.selectFromList)("Which organization?", [
267
+ { name: "acme", value: "acme" },
268
+ ]);
269
+ (0, chai_1.expect)(result).to.equal("acme");
270
+ (0, chai_1.expect)(promptStub.called).to.equal(false);
271
+ }));
272
+ it("selectFromList refuses and lists the enabled options", () => __awaiter(void 0, void 0, void 0, function* () {
273
+ const error = yield (0, utils_1.selectFromList)("Which environment?", [
274
+ { name: "prod-bars", value: "prod-bars" },
275
+ { name: "staging", value: "staging" },
276
+ { name: "gone", value: "gone", disabled: "archived" },
277
+ ], { flag: "--environment <name>" }).catch((e) => e);
278
+ (0, chai_1.expect)(error).to.be.instanceOf(utils_1.NeedsInputError);
279
+ (0, chai_1.expect)(error.message).to.equal('Cannot ask "Which environment?" without a terminal. Pass --environment <name>. Options: prod-bars, staging.');
280
+ }));
281
+ it("selectMany refuses even for a lone choice, and lists it", () => __awaiter(void 0, void 0, void 0, function* () {
282
+ const error = yield (0, utils_1.selectMany)("Which connections?", [{ name: "pg (postgres)", value: "pg" }], { flag: "--connections <names|all|none>" }).catch((e) => e);
283
+ (0, chai_1.expect)(error).to.be.instanceOf(utils_1.NeedsInputError);
284
+ (0, chai_1.expect)(error.message).to.contain("Options: pg.");
285
+ }));
286
+ it("selectMany returns [] without asking when nothing is selectable", () => __awaiter(void 0, void 0, void 0, function* () {
287
+ const result = yield (0, utils_1.selectMany)("Which connections?", [
288
+ { name: "duckdb", value: "duckdb", disabled: "local file" },
289
+ ]);
290
+ (0, chai_1.expect)(result).to.deep.equal([]);
291
+ }));
292
+ });
293
+ describe("selectMany", () => {
294
+ it("returns every ticked value", () => __awaiter(void 0, void 0, void 0, function* () {
295
+ sandbox
296
+ .stub(inquirer_1.default, "prompt")
297
+ .resolves({ choices: ["a", "c"] });
298
+ const result = yield (0, utils_1.selectMany)("Which?", [
299
+ { name: "a", value: "a" },
300
+ { name: "b", value: "b" },
301
+ { name: "c", value: "c" },
302
+ ]);
303
+ (0, chai_1.expect)(result).to.deep.equal(["a", "c"]);
304
+ }));
65
305
  });
66
306
  describe("sleep", () => {
67
307
  it("should wait for the specified time", function () {
@@ -135,12 +375,31 @@ describe("utils", () => {
135
375
  (0, chai_1.expect)(loggerStub.debug.called).to.be.false;
136
376
  });
137
377
  });
378
+ // Under --yes there is no question to carry the target, so the success
379
+ // line has to say where the delete happened.
380
+ describe("withTarget", () => {
381
+ afterEach(() => (0, utils_1.setCommandTarget)(undefined));
382
+ it("ends a line with the command's target, and leaves it alone without one", () => {
383
+ (0, chai_1.expect)((0, utils_1.withTarget)("Connection deleted successfully")).to.equal("Connection deleted successfully");
384
+ (0, utils_1.setCommandTarget)("aug18/analytics on staging");
385
+ (0, chai_1.expect)((0, utils_1.withTarget)("Connection deleted successfully")).to.equal("Connection deleted successfully (aug18/analytics on staging)");
386
+ });
387
+ });
138
388
  describe("getConfirmation", () => {
389
+ it("asks with no as the default, so a bare Enter changes nothing", () => __awaiter(void 0, void 0, void 0, function* () {
390
+ const prompt = sandbox
391
+ .stub(inquirer_1.default, "prompt")
392
+ .resolves({ confirm: false });
393
+ yield (0, utils_1.getConfirmation)("Delete it?", session);
394
+ (0, chai_1.expect)(prompt.firstCall.args[0][0]).to.deep.include({
395
+ default: false,
396
+ });
397
+ }));
139
398
  it("should return true when user confirms", () => __awaiter(void 0, void 0, void 0, function* () {
140
399
  const promptStub = sandbox
141
400
  .stub(inquirer_1.default, "prompt")
142
401
  .resolves({ confirm: true });
143
- const result = yield (0, utils_1.getConfirmation)("Are you sure?");
402
+ const result = yield (0, utils_1.getConfirmation)("Are you sure?", session);
144
403
  (0, chai_1.expect)(result).to.be.true;
145
404
  (0, chai_1.expect)(promptStub.calledOnce).to.be.true;
146
405
  (0, chai_1.expect)(promptStub.firstCall.args[0][0].message).to.equal("Are you sure?");
@@ -149,10 +408,122 @@ describe("utils", () => {
149
408
  const promptStub = sandbox
150
409
  .stub(inquirer_1.default, "prompt")
151
410
  .resolves({ confirm: false });
152
- const result = yield (0, utils_1.getConfirmation)("Are you sure?");
411
+ const result = yield (0, utils_1.getConfirmation)("Are you sure?", session);
153
412
  (0, chai_1.expect)(result).to.be.false;
154
413
  (0, chai_1.expect)(promptStub.calledOnce).to.be.true;
155
414
  }));
415
+ // A prompt can wait for hours, and the token the preAction hook renewed
416
+ // does not. Every confirm-then-send command relies on this.
417
+ it("renews the session after a yes, before the caller sends anything", () => __awaiter(void 0, void 0, void 0, function* () {
418
+ sandbox.stub(inquirer_1.default, "prompt").resolves({ confirm: true });
419
+ yield (0, utils_1.getConfirmation)("Are you sure?", session);
420
+ (0, chai_1.expect)(refreshStub.calledOnceWithExactly(session)).to.be.true;
421
+ }));
422
+ it("does not renew the session after a no, when nothing is sent", () => __awaiter(void 0, void 0, void 0, function* () {
423
+ sandbox.stub(inquirer_1.default, "prompt").resolves({ confirm: false });
424
+ yield (0, utils_1.getConfirmation)("Are you sure?", session);
425
+ (0, chai_1.expect)(refreshStub.called).to.be.false;
426
+ }));
427
+ });
428
+ describe("selectFromList", () => {
429
+ it("returns the only choice without prompting", () => __awaiter(void 0, void 0, void 0, function* () {
430
+ // Asking someone to pick from a list of one is noise, and it is the
431
+ // common case for organizations.
432
+ const promptStub = sandbox.stub(inquirer_1.default, "prompt");
433
+ const result = yield (0, utils_1.selectFromList)("Which organization?", [
434
+ { name: "only-org", value: "only-org" },
435
+ ]);
436
+ (0, chai_1.expect)(result).to.equal("only-org");
437
+ (0, chai_1.expect)(promptStub.called).to.be.false;
438
+ }));
439
+ it("prompts when there is more than one choice", () => __awaiter(void 0, void 0, void 0, function* () {
440
+ const promptStub = sandbox
441
+ .stub(inquirer_1.default, "prompt")
442
+ .resolves({ choice: "beta" });
443
+ const result = yield (0, utils_1.selectFromList)("Which organization?", [
444
+ { name: "alpha", value: "alpha" },
445
+ { name: "beta", value: "beta" },
446
+ ]);
447
+ (0, chai_1.expect)(result).to.equal("beta");
448
+ const question = promptStub.firstCall.args[0][0];
449
+ (0, chai_1.expect)(question.type).to.equal("list");
450
+ (0, chai_1.expect)(question.message).to.equal("Which organization?");
451
+ }));
452
+ it("prompts when a single choice sits alongside a disabled one, so the disabled reason is seen", () => __awaiter(void 0, void 0, void 0, function* () {
453
+ // A prompt that lists an unavailable option does so to tell the user it
454
+ // exists and why it is off. Auto-selecting the one live choice would
455
+ // skip the only screen carrying that reason.
456
+ const promptStub = sandbox
457
+ .stub(inquirer_1.default, "prompt")
458
+ .resolves({ choice: "this-directory" });
459
+ const result = yield (0, utils_1.selectFromList)("Where from?", [
460
+ { name: "This directory", value: "this-directory" },
461
+ {
462
+ name: "Managed repo",
463
+ value: "managed",
464
+ disabled: "not available yet",
465
+ },
466
+ ]);
467
+ (0, chai_1.expect)(result).to.equal("this-directory");
468
+ (0, chai_1.expect)(promptStub.calledOnce).to.be.true;
469
+ (0, chai_1.expect)(promptStub.firstCall.args[0][0].choices[1].disabled).to.equal("not available yet");
470
+ }));
471
+ it("throws rather than prompting when every choice is disabled", () => __awaiter(void 0, void 0, void 0, function* () {
472
+ const promptStub = sandbox.stub(inquirer_1.default, "prompt");
473
+ let thrown;
474
+ try {
475
+ yield (0, utils_1.selectFromList)("Where from?", [
476
+ { name: "Managed repo", value: "managed", disabled: "gated" },
477
+ ]);
478
+ }
479
+ catch (error) {
480
+ thrown = error;
481
+ }
482
+ (0, chai_1.expect)(thrown === null || thrown === void 0 ? void 0 : thrown.message).to.contain("Nothing to choose from");
483
+ (0, chai_1.expect)(promptStub.called).to.be.false;
484
+ }));
485
+ });
486
+ });
487
+ describe("redactHeaders", () => {
488
+ it("keeps the auth scheme and drops the token, so a debug log cannot leak it", () => {
489
+ const token = "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ4In0.c2lnbmF0dXJl";
490
+ const out = (0, utils_1.redactHeaders)({
491
+ Authorization: `Bearer ${token}`,
492
+ "Content-Type": "application/json",
493
+ });
494
+ (0, chai_1.expect)(out).to.deep.equal({
495
+ Authorization: "Bearer <redacted>",
496
+ "Content-Type": "application/json",
497
+ });
498
+ (0, chai_1.expect)(JSON.stringify(out)).to.not.include(token);
499
+ });
500
+ it("redacts a credential header that has no scheme, whatever its case", () => {
501
+ (0, chai_1.expect)((0, utils_1.redactHeaders)({ "x-api-key": "abc123" })).to.deep.equal({
502
+ "x-api-key": "<redacted>",
503
+ });
504
+ (0, chai_1.expect)((0, utils_1.redactHeaders)({ cookie: "session=s3cret" })).to.deep.equal({
505
+ cookie: "<redacted>",
506
+ });
507
+ });
508
+ it("fails closed for a credential header that is not a plain string", () => {
509
+ // Raw header maps carry repeated headers as arrays; anything else is redacted whole rather
510
+ // than passed through, so a new header source cannot leak by having an unexpected shape.
511
+ const out = (0, utils_1.redactHeaders)({
512
+ Authorization: ["Bearer abc.def.ghi", "Basic dXNlcjpwYXNz"],
513
+ Cookie: { session: "s3cret" },
514
+ "X-Api-Key": 12345,
515
+ "Proxy-Authorization": undefined,
516
+ });
517
+ (0, chai_1.expect)(out).to.deep.equal({
518
+ Authorization: ["Bearer <redacted>", "Basic <redacted>"],
519
+ Cookie: "<redacted>",
520
+ "X-Api-Key": "<redacted>",
521
+ // Absent is not a secret: there is nothing to hide, and "<redacted>" would claim one was sent.
522
+ "Proxy-Authorization": undefined,
523
+ });
524
+ for (const secret of ["abc.def.ghi", "dXNlcjpwYXNz", "s3cret", "12345"]) {
525
+ (0, chai_1.expect)(JSON.stringify(out)).to.not.include(secret);
526
+ }
156
527
  });
157
528
  });
158
529
  //# sourceMappingURL=utils.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../src/utils.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,+BAA8B;AAC9B,wDAAgC;AAChC,kDAA0B;AAC1B,uDAAyC;AACzC,mCAA8E;AAE9E,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACpB,IAAI,OAA2B,CAAC;IAChC,IAAI,UAAkE,CAAC;IACvE,IAAI,iBAAkC,CAAC;IAEvC,UAAU,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,eAAK,CAAC,aAAa,EAAE,CAAC;QAChC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/C,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,oCAAoC,EAAE;;gBACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACzB,MAAM,IAAA,aAAK,EAAC,EAAE,CAAC,CAAC;gBAChB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gBACnC,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtC,CAAC;SAAA,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACpD,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,GAAG,CAAC,CAAC;YACjC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACpC,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;YAChC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACrC,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,GAAG,CAAC,CAAC;YACjC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjC,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACnC,MAAM,UAAU,GAAG;gBAChB,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE;oBACP,MAAM,EAAE,GAAG;oBACX,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;iBAChC;gBACD,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,gBAAgB;aAC3B,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,eAAK,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAElD,IAAA,qBAAa,EAAC,UAAiB,EAAE,KAAK,CAAC,CAAC;YAExC,IAAA,aAAM,EAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChD,IAAA,aAAM,EAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACjE,IAAA,aAAM,EAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACvC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,eAAK,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEnD,IAAA,qBAAa,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAE5B,IAAA,aAAM,EAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC/C,IAAA,aAAM,EAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,eAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE;iBACnE,EAAE,CAAC,IAAI,CAAC;YACZ,iFAAiF;YACjF,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAA,aAAM,EAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChD,IAAA,aAAM,EAAE,SAAS,CAAC,IAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YACjD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,eAAK,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEnD,IAAA,qBAAa,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3B,IAAA,aAAM,EAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACtD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,eAAK,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEnD,IAAA,qBAAa,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAE5B,IAAA,aAAM,EAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC/C,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,uCAAuC,EAAE,GAAS,EAAE;YACpD,MAAM,UAAU,GAAG,OAAO;iBACtB,IAAI,CAAC,kBAAQ,EAAE,QAAQ,CAAC;iBACxB,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAEhC,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAe,EAAC,eAAe,CAAC,CAAC;YAEtD,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC1B,IAAA,aAAM,EAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YACzC,IAAA,aAAM,EAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CACrD,eAAe,CACjB,CAAC;QACL,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAS,EAAE;YACnD,MAAM,UAAU,GAAG,OAAO;iBACtB,IAAI,CAAC,kBAAQ,EAAE,QAAQ,CAAC;iBACxB,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAEjC,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAe,EAAC,eAAe,CAAC,CAAC;YAEtD,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;YAC3B,IAAA,aAAM,EAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC5C,CAAC,CAAA,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../src/utils.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const versioncheck_1 = require("./versioncheck");
4
+ /**
5
+ * The detached child `checkForUpdate` starts: ask npm for the latest `cred`
6
+ * and record it in the cache file named by argv. Prints nothing; its stdio is
7
+ * ignored, and the command that started it has usually exited already.
8
+ */
9
+ const cachePath = process.argv[2];
10
+ if (cachePath) {
11
+ // A backstop past the request's own deadline: this process is detached and
12
+ // nobody would notice it running for hours.
13
+ setTimeout(() => process.exit(0), 15000).unref();
14
+ (0, versioncheck_1.refreshCache)({ cachePath, now: Date.now() })
15
+ .catch(() => undefined)
16
+ .finally(() => process.exit(0));
17
+ }
18
+ //# sourceMappingURL=versioncheck-refresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioncheck-refresh.js","sourceRoot":"","sources":["../src/versioncheck-refresh.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAE9C;;;;GAIG;AACH,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClC,IAAI,SAAS,EAAE,CAAC;IACb,2EAA2E;IAC3E,4CAA4C;IAC5C,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAM,CAAC,CAAC,KAAK,EAAE,CAAC;IAClD,IAAA,2BAAY,EAAC,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;SACxC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;SACtB,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC"}