@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
@@ -0,0 +1,470 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.CONNECTIONS_QUESTION = exports.CONNECTIONS_FLAG = void 0;
16
+ exports.findLocalPublisherConfig = findLocalPublisherConfig;
17
+ exports.unsetVariables = unsetVariables;
18
+ exports.substituteVariables = substituteVariables;
19
+ exports.localPublisherConfigProblem = localPublisherConfigProblem;
20
+ exports.importLocalConnections = importLocalConnections;
21
+ exports.checkSelection = checkSelection;
22
+ const fs_1 = __importDefault(require("fs"));
23
+ const path_1 = __importDefault(require("path"));
24
+ const host_1 = require("./host");
25
+ const localpublisherconfig_1 = require("./localpublisherconfig");
26
+ const publisherconfig_1 = require("./publisherconfig");
27
+ /** Attachment types that reach a remote service rather than a file on this machine. */
28
+ const REMOTE_ATTACHMENTS = new Set([
29
+ "bigquery",
30
+ "snowflake",
31
+ "postgres",
32
+ "gcs",
33
+ "s3",
34
+ "azure",
35
+ ]);
36
+ /**
37
+ * A duckdb connection is portable only as attachments to remote services and
38
+ * nothing else: the Publisher reads just `attachedDatabases` and `setupSQL`,
39
+ * and Credible workers refuse `setupSQL`.
40
+ */
41
+ function duckdbBlocker(connection) {
42
+ var _a;
43
+ const duckdb = ((_a = connection.duckdbConnection) !== null && _a !== void 0 ? _a : {});
44
+ if (duckdb.setupSQL !== undefined) {
45
+ return "a DuckDB connection with setupSQL, which Credible workers refuse";
46
+ }
47
+ const attached = duckdb.attachedDatabases;
48
+ if (!Array.isArray(attached) || attached.length === 0) {
49
+ return "a local DuckDB file, or one with no attached database — publish it with the package instead";
50
+ }
51
+ if (attached.some((db) => {
52
+ var _a;
53
+ return !REMOTE_ATTACHMENTS.has((_a = db === null || db === void 0 ? void 0 : db.type) !== null && _a !== void 0 ? _a : "");
54
+ })) {
55
+ return "a DuckDB connection with an attachment that is not a remote service (such as a local DuckDB file) — publish it with the package instead";
56
+ }
57
+ if (Object.keys(duckdb).some((key) => key !== "attachedDatabases")) {
58
+ return "a DuckDB connection with settings beyond attachedDatabases, such as a local file path — publish it with the package instead";
59
+ }
60
+ // The server refuses the host's credential chain on a user connection.
61
+ if (attached.some((db) => {
62
+ const s3 = db === null || db === void 0 ? void 0 : db.s3Connection;
63
+ return s3 && (s3.provider !== undefined || s3.chain !== undefined);
64
+ })) {
65
+ return "an S3 attachment that uses the host credential chain, which needs an access key and secret instead";
66
+ }
67
+ return undefined;
68
+ }
69
+ /** Why a connection cannot mean anything to Credible, if it cannot. See the note above. */
70
+ function notPortableReason(type, connection) {
71
+ var _a;
72
+ if (publisherconfig_1.RESERVED_CONNECTION_NAMES.has((_a = connection.name) !== null && _a !== void 0 ? _a : "")) {
73
+ return "its name is reserved for the per-package sandbox, so rename it first";
74
+ }
75
+ if (type === "publisher") {
76
+ return "a proxy connection, which is what setup writes";
77
+ }
78
+ return type === "duckdb" ? duckdbBlocker(connection) : undefined;
79
+ }
80
+ /**
81
+ * Read a `publisher.config.json` sitting in the modeling directory, if there is
82
+ * one.
83
+ *
84
+ * Only this directory — never `~/.credible/sessions/`, where setup writes its
85
+ * own. Ours carries a live Credible token and describes proxies back to
86
+ * Credible; importing it would be circular, and reading it here would put a
87
+ * credential on a path it does not need to be on.
88
+ */
89
+ function findLocalPublisherConfig(directory) {
90
+ // Absent, or not JSON. Either way there is nothing to offer, and this is an
91
+ // optional extra step rather than something that can fail setup. A caller
92
+ // that was told to import something asks `localPublisherConfigProblem` why.
93
+ const parsed = (0, localpublisherconfig_1.readLocalPublisherConfig)(directory);
94
+ if (parsed === undefined)
95
+ return undefined;
96
+ const candidates = [];
97
+ const skipped = [];
98
+ for (const connection of collectConnections(parsed)) {
99
+ const name = typeof connection.name === "string" ? connection.name : "";
100
+ const type = typeof connection.type === "string" ? connection.type : "";
101
+ if (!name || !type)
102
+ continue;
103
+ // The permanent reason first: a duckdb path written `${DATA_DIR}/x.db`
104
+ // was told to export DATA_DIR, then refused as a local file anyway.
105
+ const notPortable = notPortableReason(type, connection);
106
+ if (notPortable) {
107
+ skipped.push({ name, reason: notPortable });
108
+ continue;
109
+ }
110
+ // Filled in the way the publisher reads the same file, so what Credible
111
+ // tests is what the local publisher used. Sent as written, a
112
+ // `"${BQ_KEY}"` placeholder failed its test with a generic message.
113
+ const unset = unsetVariables(connection);
114
+ if (unset.length) {
115
+ skipped.push({
116
+ name,
117
+ reason: `it uses ${unset.map((v) => `\${${v}}`).join(", ")}, which ${unset.length === 1 ? "is" : "are"} not set in this shell`,
118
+ fix: `export ${unset.join(", ")} and run this again`,
119
+ });
120
+ continue;
121
+ }
122
+ // Name and type from the filled-in connection, so matching and the
123
+ // clash check compare what the server will receive.
124
+ const resolved = substituteVariables(connection);
125
+ candidates.push({
126
+ connection: resolved,
127
+ name: typeof resolved.name === "string" ? resolved.name : name,
128
+ type: typeof resolved.type === "string" ? resolved.type : type,
129
+ describe: describe(resolved),
130
+ });
131
+ }
132
+ if (candidates.length === 0 && skipped.length === 0)
133
+ return undefined;
134
+ return {
135
+ path: path_1.default.join(directory, "publisher.config.json"),
136
+ candidates,
137
+ skipped,
138
+ };
139
+ }
140
+ /**
141
+ * The publisher's own rule (`substituteEnvVars` in its config loader): every
142
+ * `${NAME}` in a string, NAME in upper case, is replaced from the environment,
143
+ * and an unset one is an error. Kept identical so a connection imports with
144
+ * the value the local publisher ran on.
145
+ */
146
+ const ENV_REFERENCE = /\$\{([A-Z_][A-Z0-9_]*)\}/g;
147
+ /** Every `${NAME}` in `value` that the environment does not set. */
148
+ function unsetVariables(value) {
149
+ const unset = new Set();
150
+ const walk = (node) => {
151
+ if (typeof node === "string") {
152
+ for (const match of node.matchAll(ENV_REFERENCE)) {
153
+ if (process.env[match[1]] === undefined)
154
+ unset.add(match[1]);
155
+ }
156
+ }
157
+ else if (Array.isArray(node)) {
158
+ node.forEach(walk);
159
+ }
160
+ else if (node && typeof node === "object") {
161
+ Object.values(node).forEach(walk);
162
+ }
163
+ };
164
+ walk(value);
165
+ return [...unset].sort();
166
+ }
167
+ /** `value` with every `${NAME}` replaced. Call {@link unsetVariables} first. */
168
+ function substituteVariables(value) {
169
+ if (typeof value === "string") {
170
+ return value.replace(ENV_REFERENCE, (_, name) => { var _a; return (_a = process.env[name]) !== null && _a !== void 0 ? _a : ""; });
171
+ }
172
+ if (Array.isArray(value))
173
+ return value.map(substituteVariables);
174
+ if (value && typeof value === "object") {
175
+ return Object.fromEntries(Object.entries(value).map(([key, inner]) => [
176
+ key,
177
+ substituteVariables(inner),
178
+ ]));
179
+ }
180
+ return value;
181
+ }
182
+ /**
183
+ * Why {@link findLocalPublisherConfig} found nothing in `directory`, said so a
184
+ * person can fix it. A named `--connections` list that finds nothing is a
185
+ * failed instruction, and "not valid JSON" and "not there" have different
186
+ * fixes.
187
+ */
188
+ function localPublisherConfigProblem(directory) {
189
+ const configPath = path_1.default.join(directory, "publisher.config.json");
190
+ if (!fs_1.default.existsSync(configPath))
191
+ return `There is no ${configPath}.`;
192
+ try {
193
+ JSON.parse(fs_1.default.readFileSync(configPath, "utf-8"));
194
+ }
195
+ catch (_a) {
196
+ return `${configPath} is not valid JSON, so its connections cannot be read.`;
197
+ }
198
+ return `${configPath} has no connections in it.`;
199
+ }
200
+ /**
201
+ * Every connection in the file, across every environment it defines.
202
+ *
203
+ * Both shapes are real: the server's own config nests connections under
204
+ * `environments[]`, and older hand-written files put a flat `connections[]` at
205
+ * the top. Reading both costs a few lines and means a user is not told "nothing
206
+ * to import" about a file plainly full of connections.
207
+ */
208
+ function collectConnections(parsed) {
209
+ if (!parsed || typeof parsed !== "object")
210
+ return [];
211
+ const root = parsed;
212
+ const found = [];
213
+ const push = (value) => {
214
+ if (Array.isArray(value)) {
215
+ for (const entry of value) {
216
+ if (entry && typeof entry === "object") {
217
+ found.push(entry);
218
+ }
219
+ }
220
+ }
221
+ };
222
+ push(root.connections);
223
+ if (Array.isArray(root.environments)) {
224
+ for (const environment of root.environments) {
225
+ if (environment && typeof environment === "object") {
226
+ push(environment.connections);
227
+ }
228
+ }
229
+ }
230
+ return found;
231
+ }
232
+ /** Fields safe to show. Anything that could be a secret is omitted by omission. */
233
+ const SHOWN_FIELDS = [
234
+ "host",
235
+ "account",
236
+ "server",
237
+ "serverHostname",
238
+ "projectId",
239
+ "databaseName",
240
+ "database",
241
+ "catalog",
242
+ "warehouse",
243
+ "path",
244
+ ];
245
+ /**
246
+ * A one-line description of where a connection points.
247
+ *
248
+ * An allowlist, never a redaction pass: a denylist of secret-looking key names
249
+ * fails open the moment a driver adds a field nobody thought of, and this string
250
+ * is printed to a terminal and possibly a screen share.
251
+ */
252
+ function describe(connection) {
253
+ for (const key of Object.keys(connection)) {
254
+ const nested = connection[key];
255
+ if (!nested || typeof nested !== "object")
256
+ continue;
257
+ const values = nested;
258
+ const parts = SHOWN_FIELDS.filter((field) => typeof values[field] === "string" && values[field]).map((field) => `${field}=${values[field]}`);
259
+ if (parts.length)
260
+ return parts.slice(0, 2).join(" ");
261
+ }
262
+ return "";
263
+ }
264
+ /**
265
+ * The flag an agent passes to `cred init` instead of answering the picker.
266
+ * Other front doors pass their own: `cred add connection
267
+ * --from-publisher-config` takes `--name`, not this.
268
+ */
269
+ exports.CONNECTIONS_FLAG = "--connections <all|none|name,name>";
270
+ /**
271
+ * Offer the local connections, preflight them, and create the ones the user
272
+ * accepts.
273
+ *
274
+ * Preflight is the reason this is worth building rather than telling people to
275
+ * run `cred add connection`. Credible tests a connection before saving it, and
276
+ * `dryRun` exposes that test on its own — so a warehouse only this laptop can
277
+ * reach (`localhost:5432`, a VPN-only host) is reported as unreachable *before*
278
+ * the user decides, instead of becoming a saved connection that fails later for
279
+ * everyone. The user then chooses knowing which of their connections actually
280
+ * survive the move.
281
+ *
282
+ * Two questions, deliberately not merged, each saying what it gates. The first
283
+ * is the picker: ticking a connection sends it, credentials included, to
284
+ * Credible for a reachability test that saves nothing. The second names the
285
+ * environment and asks whether to store them there, because agreeing to a test
286
+ * is not agreeing to keep a password. A `selection` passed in stands for both
287
+ * answers — the caller named the connections, which is the explicit form of the
288
+ * same consent — so the flag path asks nothing at all.
289
+ *
290
+ * A named selection is an instruction, so any connection in it that cannot be
291
+ * added fails the call: one that fails the test stops it before anything is
292
+ * created, and one that fails the create fails it after the others are added.
293
+ * `all` means "whichever work", so its unreachable ones are only reported.
294
+ */
295
+ function importLocalConnections(found_1, host_2, credibleEnvironment_1, create_1) {
296
+ return __awaiter(this, arguments, void 0, function* (found, host, credibleEnvironment, create, options = {}) {
297
+ var _a;
298
+ const flag = (_a = options.flag) !== null && _a !== void 0 ? _a : exports.CONNECTIONS_FLAG;
299
+ const nothing = {
300
+ created: [],
301
+ rejected: [],
302
+ declined: false,
303
+ };
304
+ if (options.selection === "none")
305
+ return nothing;
306
+ // Before the empty-file return below: a file with nothing importable still
307
+ // has to refuse a named connection, or `--name local` against an all-duckdb
308
+ // file imported nothing and exited 0.
309
+ checkSelection(found, options.selection);
310
+ for (const { name, reason } of found.skipped) {
311
+ host.log("info", `Not importing '${name}': ${reason}.`);
312
+ }
313
+ if (found.candidates.length === 0)
314
+ return nothing;
315
+ const explicit = options.selection !== undefined;
316
+ const named = Array.isArray(options.selection);
317
+ let chosen = yield chooseCandidates(found, host, options.selection, flag);
318
+ if (chosen.length === 0)
319
+ return Object.assign(Object.assign({}, nothing), { declined: !explicit });
320
+ if (options.existingNames) {
321
+ const existing = new Set(yield options.existingNames());
322
+ const clashing = chosen.filter((c) => existing.has(c.name));
323
+ if (clashing.length) {
324
+ const names = clashing.map((c) => `'${c.name}'`).join(", ");
325
+ // Skipped, named or not, so re-running the same `cred init
326
+ // --connections warehouse` after it worked is a no-op rather than
327
+ // an error before anything is wired. The server does not refuse a
328
+ // create under an existing name, so this check is the only guard.
329
+ host.log("info", `Not importing ${names}: ${credibleEnvironment} already has ${clashing.length === 1 ? "a connection" : "connections"} with ${clashing.length === 1 ? "that name" : "those names"}, which the local publisher uses. Rename ${clashing.length === 1 ? "it" : "them"} in ${found.path} to import ${clashing.length === 1 ? "it" : "them"} as well.`);
330
+ chosen = chosen.filter((c) => !existing.has(c.name));
331
+ if (chosen.length === 0)
332
+ return nothing;
333
+ }
334
+ }
335
+ const reachable = [];
336
+ const rejected = [];
337
+ for (const candidate of chosen) {
338
+ const result = yield create(candidate.connection, { dryRun: true });
339
+ if (result.ok) {
340
+ reachable.push(candidate);
341
+ host.log("info", ` ${candidate.name}: reachable from Credible.`);
342
+ continue;
343
+ }
344
+ rejected.push({ name: candidate.name, reason: result.reason });
345
+ host.log("warn", ` ${candidate.name}: ${result.reason}`);
346
+ }
347
+ const describeRejected = () => rejected.map((r) => `${r.name}: ${r.reason}`).join("; ");
348
+ // Named on the command line and unusable is a failed instruction, not a
349
+ // step to shrug past: the caller asked for these specifically. Stopped
350
+ // before any create, so a re-run with the list fixed starts from nothing.
351
+ if (named && rejected.length) {
352
+ throw new host_1.SetupError(
353
+ // "failed its test", not "could not reach": the dry run also refuses
354
+ // a bad password or a field the server rejects.
355
+ `${rejected.map((r) => `'${r.name}'`).join(", ")} failed Credible's connection test, so nothing was added. ${rejected.length === 1 ? `Credible said: ${rejected[0].reason}` : describeRejected()}`, `correct ${rejected.length === 1 ? "its" : "their"} credentials in ${found.path}, or drop ${rejected.length === 1 ? "it" : "them"} from ${flag.split(" ")[0]}.`);
356
+ }
357
+ if (reachable.length === 0) {
358
+ const message = "None of these are reachable from Credible, so there is nothing to add. A warehouse only this machine can reach has to be exposed to Credible first.";
359
+ if (explicit) {
360
+ throw new host_1.SetupError(message, `fix the connection${rejected.length === 1 ? "" : "s"} (${describeRejected()}), or name only the ones to import.`);
361
+ }
362
+ host.log("warn", message);
363
+ return { created: [], rejected, declined: false };
364
+ }
365
+ if (!explicit) {
366
+ // The second question. The test has already sent the connections; this
367
+ // one decides whether Credible keeps them.
368
+ const confirmed = yield host.confirm(`Store ${reachable.map((c) => c.name).join(", ")} in environment '${credibleEnvironment}'? Credible keeps their credentials to run queries against them.`, {
369
+ flag,
370
+ options: reachable.map((c) => c.name),
371
+ });
372
+ if (!confirmed)
373
+ return { created: [], rejected, declined: true };
374
+ }
375
+ const created = [];
376
+ const failed = [];
377
+ for (const candidate of reachable) {
378
+ const result = yield create(candidate.connection, { dryRun: false });
379
+ if (result.ok) {
380
+ created.push(candidate.name);
381
+ continue;
382
+ }
383
+ failed.push({ name: candidate.name, reason: result.reason });
384
+ host.log("warn", `Could not add ${candidate.name}: ${result.reason}`);
385
+ }
386
+ if (created.length) {
387
+ host.log("info", `Added to Credible: ${created.join(", ")}.`);
388
+ }
389
+ // Passed the test and then failed the create. No caller reads `rejected`,
390
+ // so for a selection the caller made, this is where the exit code comes from.
391
+ if (explicit && failed.length) {
392
+ throw new host_1.SetupError(`Could not add ${failed.map((f) => `'${f.name}'`).join(", ")} to environment '${credibleEnvironment}'${created.length ? `; added ${created.join(", ")}` : ""}.`, `fix the reported problem (${failed.map((f) => `${f.name}: ${f.reason}`).join("; ")}) and run this again for ${failed.length === 1 ? "that one" : "those"}.`);
393
+ }
394
+ return { created, rejected: [...rejected, ...failed], declined: false };
395
+ });
396
+ }
397
+ /** The question `--connections` answers. */
398
+ exports.CONNECTIONS_QUESTION = "Which connections should Credible test? Ticking one sends it to Credible for a reachability test; nothing is saved yet.";
399
+ /** "export X and run this again, or leave it out." from the parts that apply. */
400
+ function describeFix(fixes, fallback) {
401
+ const specific = [...new Set(fixes.filter((f) => Boolean(f)))];
402
+ return specific.length
403
+ ? `${specific.join("; ")}, or ${fallback}.`
404
+ : `${fallback}.`;
405
+ }
406
+ /**
407
+ * Refuse a `--connections` list that names a connection the file does not
408
+ * have, listing the ones it does. `--connections warehous` must never import
409
+ * nothing and report success. A name that is in the file but cannot be
410
+ * imported (a `duckdb` or `publisher` connection) is refused with that reason,
411
+ * not as missing.
412
+ */
413
+ function checkSelection(found, selection) {
414
+ if (!Array.isArray(selection))
415
+ return;
416
+ const names = new Set(found.candidates.map((c) => c.name));
417
+ const skipped = new Map(found.skipped.map((s) => [s.name, s.reason]));
418
+ const skippedFix = new Map(found.skipped.map((s) => [s.name, s.fix]));
419
+ const notImportable = selection.filter((name) => !names.has(name) && skipped.has(name));
420
+ if (notImportable.length) {
421
+ throw new host_1.SetupError(`${notImportable.map((n) => `'${n}' is in ${found.path} but cannot be imported: ${skipped.get(n)}`).join("; ")}.`, describeFix(notImportable.map((n) => skippedFix.get(n)), names.size
422
+ ? `leave it out, or pick from: ${[...names].join(", ")}`
423
+ : "leave it out; nothing in that file can be imported"));
424
+ }
425
+ const unknown = selection.filter((name) => !names.has(name));
426
+ if (unknown.length) {
427
+ const named = unknown.map((n) => `'${n}'`).join(", ");
428
+ throw names.size
429
+ ? new host_1.SetupError(`No connection named ${named} in ${found.path}.`, `pick from: ${[...names].join(", ")}.`)
430
+ : new host_1.SetupError(`No connection named ${named} in ${found.path}, and nothing in that file can be imported.`, "add the connection to that file, or leave the name out.");
431
+ }
432
+ }
433
+ /**
434
+ * Resolve a selection to candidates: by flag when given, by picker otherwise.
435
+ * A name given twice is tested and created once.
436
+ */
437
+ function chooseCandidates(found, host, selection, flag) {
438
+ return __awaiter(this, void 0, void 0, function* () {
439
+ const byName = new Map(found.candidates.map((c) => [c.name, c]));
440
+ if (selection === "all")
441
+ return found.candidates;
442
+ if (Array.isArray(selection)) {
443
+ checkSelection(found, selection);
444
+ return [...new Set(selection)].map((name) => byName.get(name));
445
+ }
446
+ const summary = found.candidates
447
+ .map((c) => ` ${c.name} (${c.type})${c.describe ? ` — ${c.describe}` : ""}`)
448
+ .join("\n");
449
+ host.log("info", `Found ${found.candidates.length} connection(s) in ${found.path}:\n${summary}`);
450
+ // The skipped rows are shown disabled so the user sees why a connection
451
+ // they know is in the file is not on offer, rather than wondering.
452
+ return host.selectMany(exports.CONNECTIONS_QUESTION, [
453
+ ...found.candidates.map((candidate) => ({
454
+ name: `${candidate.name} (${candidate.type})${candidate.describe ? ` — ${candidate.describe}` : ""}`,
455
+ value: candidate,
456
+ })),
457
+ // Only the name: the picker prints `disabled` after it in parentheses,
458
+ // so putting the reason in both printed it twice.
459
+ ...found.skipped.map(({ name, reason }) => ({
460
+ name,
461
+ value: undefined,
462
+ disabled: reason,
463
+ })),
464
+ ], {
465
+ flag,
466
+ options: found.candidates.map((c) => c.name),
467
+ });
468
+ });
469
+ }
470
+ //# sourceMappingURL=importconnections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importconnections.js","sourceRoot":"","sources":["../../src/setup-core/importconnections.ts"],"names":[],"mappings":"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"}