@credibledata/cred-cli 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/.github/workflows/build.yml +23 -0
  2. package/.mocharc.json +10 -0
  3. package/.prettierignore +2 -0
  4. package/.prettierrc +4 -0
  5. package/README-DEV.md +40 -0
  6. package/README.md +11 -0
  7. package/bun.lock +1158 -0
  8. package/dist/client/api.js +7715 -0
  9. package/dist/client/api.js.map +1 -0
  10. package/dist/client/base.js +69 -0
  11. package/dist/client/base.js.map +1 -0
  12. package/dist/client/common.js +162 -0
  13. package/dist/client/common.js.map +1 -0
  14. package/dist/client/configuration.js +44 -0
  15. package/dist/client/configuration.js.map +1 -0
  16. package/dist/client/index.js +32 -0
  17. package/dist/client/index.js.map +1 -0
  18. package/dist/clientconfiguration.js +205 -0
  19. package/dist/clientconfiguration.js.map +1 -0
  20. package/dist/clientconfiguration.spec.js +381 -0
  21. package/dist/clientconfiguration.spec.js.map +1 -0
  22. package/dist/commands/add.js +66 -0
  23. package/dist/commands/add.js.map +1 -0
  24. package/dist/commands/connection/createconnections.js +89 -0
  25. package/dist/commands/connection/createconnections.js.map +1 -0
  26. package/dist/commands/connection/createconnections.spec.js +219 -0
  27. package/dist/commands/connection/createconnections.spec.js.map +1 -0
  28. package/dist/commands/connection/deleteconnection.js +52 -0
  29. package/dist/commands/connection/deleteconnection.js.map +1 -0
  30. package/dist/commands/connection/deleteconnection.spec.js +130 -0
  31. package/dist/commands/connection/deleteconnection.spec.js.map +1 -0
  32. package/dist/commands/connection/listconnections.js +50 -0
  33. package/dist/commands/connection/listconnections.js.map +1 -0
  34. package/dist/commands/connection/listconnections.spec.js +117 -0
  35. package/dist/commands/connection/listconnections.spec.js.map +1 -0
  36. package/dist/commands/get.js +28 -0
  37. package/dist/commands/get.js.map +1 -0
  38. package/dist/commands/group/addmember.js +75 -0
  39. package/dist/commands/group/addmember.js.map +1 -0
  40. package/dist/commands/group/addmember.spec.js +148 -0
  41. package/dist/commands/group/addmember.spec.js.map +1 -0
  42. package/dist/commands/group/creategroup.js +55 -0
  43. package/dist/commands/group/creategroup.js.map +1 -0
  44. package/dist/commands/group/creategroup.spec.js +122 -0
  45. package/dist/commands/group/creategroup.spec.js.map +1 -0
  46. package/dist/commands/group/deletegroup.js +48 -0
  47. package/dist/commands/group/deletegroup.js.map +1 -0
  48. package/dist/commands/group/deletegroup.spec.js +104 -0
  49. package/dist/commands/group/deletegroup.spec.js.map +1 -0
  50. package/dist/commands/group/getgroup.js +50 -0
  51. package/dist/commands/group/getgroup.js.map +1 -0
  52. package/dist/commands/group/getgroup.spec.js +111 -0
  53. package/dist/commands/group/getgroup.spec.js.map +1 -0
  54. package/dist/commands/group/listgroups.js +56 -0
  55. package/dist/commands/group/listgroups.js.map +1 -0
  56. package/dist/commands/group/listgroups.spec.js +118 -0
  57. package/dist/commands/group/listgroups.spec.js.map +1 -0
  58. package/dist/commands/group/removemember.js +69 -0
  59. package/dist/commands/group/removemember.js.map +1 -0
  60. package/dist/commands/group/removemember.spec.js +138 -0
  61. package/dist/commands/group/removemember.spec.js.map +1 -0
  62. package/dist/commands/groupaccesstoken/createToken.js +53 -0
  63. package/dist/commands/groupaccesstoken/createToken.js.map +1 -0
  64. package/dist/commands/groupaccesstoken/createToken.spec.js +127 -0
  65. package/dist/commands/groupaccesstoken/createToken.spec.js.map +1 -0
  66. package/dist/commands/groupaccesstoken/deleteToken.js +24 -0
  67. package/dist/commands/groupaccesstoken/deleteToken.js.map +1 -0
  68. package/dist/commands/groupaccesstoken/deleteToken.spec.js +103 -0
  69. package/dist/commands/groupaccesstoken/deleteToken.spec.js.map +1 -0
  70. package/dist/commands/groupaccesstoken/groupContainer.js +71 -0
  71. package/dist/commands/groupaccesstoken/groupContainer.js.map +1 -0
  72. package/dist/commands/groupaccesstoken/listTokens.js +25 -0
  73. package/dist/commands/groupaccesstoken/listTokens.js.map +1 -0
  74. package/dist/commands/groupaccesstoken/listTokens.spec.js +115 -0
  75. package/dist/commands/groupaccesstoken/listTokens.spec.js.map +1 -0
  76. package/dist/commands/list.js +75 -0
  77. package/dist/commands/list.js.map +1 -0
  78. package/dist/commands/misc/login.js +290 -0
  79. package/dist/commands/misc/login.js.map +1 -0
  80. package/dist/commands/misc/login.spec.js +243 -0
  81. package/dist/commands/misc/login.spec.js.map +1 -0
  82. package/dist/commands/misc/logout.js +11 -0
  83. package/dist/commands/misc/logout.js.map +1 -0
  84. package/dist/commands/misc/logout.spec.js +30 -0
  85. package/dist/commands/misc/logout.spec.js.map +1 -0
  86. package/dist/commands/misc/loopbackOAuth.js +110 -0
  87. package/dist/commands/misc/loopbackOAuth.js.map +1 -0
  88. package/dist/commands/misc/set-access-token.js +27 -0
  89. package/dist/commands/misc/set-access-token.js.map +1 -0
  90. package/dist/commands/misc/set-access-token.spec.js +65 -0
  91. package/dist/commands/misc/set-access-token.spec.js.map +1 -0
  92. package/dist/commands/package/deletepackage.js +54 -0
  93. package/dist/commands/package/deletepackage.js.map +1 -0
  94. package/dist/commands/package/deletepackage.spec.js +136 -0
  95. package/dist/commands/package/deletepackage.spec.js.map +1 -0
  96. package/dist/commands/package/listpackages.js +57 -0
  97. package/dist/commands/package/listpackages.js.map +1 -0
  98. package/dist/commands/package/listpackages.spec.js +129 -0
  99. package/dist/commands/package/listpackages.spec.js.map +1 -0
  100. package/dist/commands/package/publish.js +157 -0
  101. package/dist/commands/package/publish.js.map +1 -0
  102. package/dist/commands/package/publish.spec.js +511 -0
  103. package/dist/commands/package/publish.spec.js.map +1 -0
  104. package/dist/commands/package/updatepackage.js +75 -0
  105. package/dist/commands/package/updatepackage.js.map +1 -0
  106. package/dist/commands/package/updatepackage.spec.js +189 -0
  107. package/dist/commands/package/updatepackage.spec.js.map +1 -0
  108. package/dist/commands/project/createproject.js +75 -0
  109. package/dist/commands/project/createproject.js.map +1 -0
  110. package/dist/commands/project/createproject.spec.js +154 -0
  111. package/dist/commands/project/createproject.spec.js.map +1 -0
  112. package/dist/commands/project/deleteproject.js +49 -0
  113. package/dist/commands/project/deleteproject.js.map +1 -0
  114. package/dist/commands/project/deleteproject.spec.js +106 -0
  115. package/dist/commands/project/deleteproject.spec.js.map +1 -0
  116. package/dist/commands/project/getproject.js +44 -0
  117. package/dist/commands/project/getproject.js.map +1 -0
  118. package/dist/commands/project/getproject.spec.js +99 -0
  119. package/dist/commands/project/getproject.spec.js.map +1 -0
  120. package/dist/commands/project/listprojects.js +52 -0
  121. package/dist/commands/project/listprojects.js.map +1 -0
  122. package/dist/commands/project/listprojects.spec.js +111 -0
  123. package/dist/commands/project/listprojects.spec.js.map +1 -0
  124. package/dist/commands/project/setproject.js +26 -0
  125. package/dist/commands/project/setproject.js.map +1 -0
  126. package/dist/commands/project/setproject.spec.js +58 -0
  127. package/dist/commands/project/setproject.spec.js.map +1 -0
  128. package/dist/commands/project/updateproject.js +68 -0
  129. package/dist/commands/project/updateproject.js.map +1 -0
  130. package/dist/commands/project/updateproject.spec.js +129 -0
  131. package/dist/commands/project/updateproject.spec.js.map +1 -0
  132. package/dist/commands/rm.js +68 -0
  133. package/dist/commands/rm.js.map +1 -0
  134. package/dist/commands/set.js +17 -0
  135. package/dist/commands/set.js.map +1 -0
  136. package/dist/commands/update.js +42 -0
  137. package/dist/commands/update.js.map +1 -0
  138. package/dist/commands/version/archive-unarchive-version.js +79 -0
  139. package/dist/commands/version/archive-unarchive-version.js.map +1 -0
  140. package/dist/commands/version/archive-unarchive-version.spec.js +244 -0
  141. package/dist/commands/version/archive-unarchive-version.spec.js.map +1 -0
  142. package/dist/commands/version/listversions.js +46 -0
  143. package/dist/commands/version/listversions.js.map +1 -0
  144. package/dist/commands/version/listversions.spec.js +121 -0
  145. package/dist/commands/version/listversions.spec.js.map +1 -0
  146. package/dist/common/UserGroupId.js +112 -0
  147. package/dist/common/UserGroupId.js.map +1 -0
  148. package/dist/common/UserGroupId.spec.js +92 -0
  149. package/dist/common/UserGroupId.spec.js.map +1 -0
  150. package/dist/constants.js +90 -0
  151. package/dist/constants.js.map +1 -0
  152. package/dist/index.js +159 -0
  153. package/dist/index.js.map +1 -0
  154. package/dist/logger.js +77 -0
  155. package/dist/logger.js.map +1 -0
  156. package/dist/logger.spec.js +125 -0
  157. package/dist/logger.spec.js.map +1 -0
  158. package/dist/polyfills/file.polyfill.js +6 -0
  159. package/dist/polyfills/file.polyfill.js.map +1 -0
  160. package/dist/utils.js +110 -0
  161. package/dist/utils.js.map +1 -0
  162. package/dist/utils.spec.js +158 -0
  163. package/dist/utils.spec.js.map +1 -0
  164. package/dist/validator.js +53 -0
  165. package/dist/validator.js.map +1 -0
  166. package/dist/validator.spec.js +41 -0
  167. package/dist/validator.spec.js.map +1 -0
  168. package/docker/Dockerfile.ci +18 -0
  169. package/docker-compose.yml +18 -0
  170. package/eslint.config.mjs +45 -0
  171. package/generate-client.sh +27 -0
  172. package/mocha.setup.ts +4 -0
  173. package/openapitools.json +7 -0
  174. package/package.json +75 -0
  175. package/src/client/.openapi-generator/FILES +9 -0
  176. package/src/client/.openapi-generator/VERSION +1 -0
  177. package/src/client/.openapi-generator-ignore +23 -0
  178. package/src/client/api.ts +9729 -0
  179. package/src/client/base.ts +86 -0
  180. package/src/client/common.ts +150 -0
  181. package/src/client/configuration.ts +110 -0
  182. package/src/client/git_push.sh +57 -0
  183. package/src/client/index.ts +18 -0
  184. package/src/clientconfiguration.spec.ts +490 -0
  185. package/src/clientconfiguration.ts +263 -0
  186. package/src/commands/add.ts +125 -0
  187. package/src/commands/connection/createconnections.spec.ts +403 -0
  188. package/src/commands/connection/createconnections.ts +109 -0
  189. package/src/commands/connection/deleteconnection.spec.ts +189 -0
  190. package/src/commands/connection/deleteconnection.ts +57 -0
  191. package/src/commands/connection/listconnections.spec.ts +132 -0
  192. package/src/commands/connection/listconnections.ts +58 -0
  193. package/src/commands/get.ts +31 -0
  194. package/src/commands/group/addmember.spec.ts +257 -0
  195. package/src/commands/group/addmember.ts +85 -0
  196. package/src/commands/group/creategroup.spec.ts +146 -0
  197. package/src/commands/group/creategroup.ts +54 -0
  198. package/src/commands/group/deletegroup.spec.ts +120 -0
  199. package/src/commands/group/deletegroup.ts +45 -0
  200. package/src/commands/group/getgroup.spec.ts +129 -0
  201. package/src/commands/group/getgroup.ts +47 -0
  202. package/src/commands/group/listgroups.spec.ts +137 -0
  203. package/src/commands/group/listgroups.ts +45 -0
  204. package/src/commands/group/removemember.spec.ts +224 -0
  205. package/src/commands/group/removemember.ts +75 -0
  206. package/src/commands/groupaccesstoken/createToken.spec.ts +211 -0
  207. package/src/commands/groupaccesstoken/createToken.ts +72 -0
  208. package/src/commands/groupaccesstoken/deleteToken.spec.ts +147 -0
  209. package/src/commands/groupaccesstoken/deleteToken.ts +29 -0
  210. package/src/commands/groupaccesstoken/groupContainer.ts +83 -0
  211. package/src/commands/groupaccesstoken/listTokens.spec.ts +147 -0
  212. package/src/commands/groupaccesstoken/listTokens.ts +29 -0
  213. package/src/commands/list.ts +131 -0
  214. package/src/commands/misc/login.spec.ts +213 -0
  215. package/src/commands/misc/login.ts +325 -0
  216. package/src/commands/misc/logout.spec.ts +32 -0
  217. package/src/commands/misc/logout.ts +9 -0
  218. package/src/commands/misc/loopbackOAuth.ts +127 -0
  219. package/src/commands/misc/set-access-token.spec.ts +95 -0
  220. package/src/commands/misc/set-access-token.ts +32 -0
  221. package/src/commands/package/deletepackage.spec.ts +164 -0
  222. package/src/commands/package/deletepackage.ts +58 -0
  223. package/src/commands/package/listpackages.spec.ts +147 -0
  224. package/src/commands/package/listpackages.ts +67 -0
  225. package/src/commands/package/publish.spec.ts +597 -0
  226. package/src/commands/package/publish.ts +211 -0
  227. package/src/commands/package/updatepackage.spec.ts +319 -0
  228. package/src/commands/package/updatepackage.ts +95 -0
  229. package/src/commands/project/createproject.spec.ts +247 -0
  230. package/src/commands/project/createproject.ts +70 -0
  231. package/src/commands/project/deleteproject.spec.ts +123 -0
  232. package/src/commands/project/deleteproject.ts +48 -0
  233. package/src/commands/project/getproject.spec.ts +109 -0
  234. package/src/commands/project/getproject.ts +43 -0
  235. package/src/commands/project/listprojects.spec.ts +121 -0
  236. package/src/commands/project/listprojects.ts +62 -0
  237. package/src/commands/project/setproject.spec.ts +63 -0
  238. package/src/commands/project/setproject.ts +14 -0
  239. package/src/commands/project/updateproject.spec.ts +217 -0
  240. package/src/commands/project/updateproject.ts +82 -0
  241. package/src/commands/rm.ts +101 -0
  242. package/src/commands/set.ts +16 -0
  243. package/src/commands/update.ts +64 -0
  244. package/src/commands/version/archive-unarchive-version.spec.ts +456 -0
  245. package/src/commands/version/archive-unarchive-version.ts +111 -0
  246. package/src/commands/version/listversions.spec.ts +138 -0
  247. package/src/commands/version/listversions.ts +45 -0
  248. package/src/common/UserGroupId.spec.ts +117 -0
  249. package/src/common/UserGroupId.ts +137 -0
  250. package/src/constants.ts +116 -0
  251. package/src/index.ts +209 -0
  252. package/src/logger.spec.ts +158 -0
  253. package/src/logger.ts +86 -0
  254. package/src/polyfills/file.polyfill.ts +6 -0
  255. package/src/utils.spec.ts +135 -0
  256. package/src/utils.ts +115 -0
  257. package/src/validator.spec.ts +51 -0
  258. package/src/validator.ts +44 -0
  259. package/tsconfig.json +17 -0
@@ -0,0 +1,121 @@
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
+ const chai_1 = require("chai");
16
+ const sinon_1 = __importDefault(require("sinon"));
17
+ const api_1 = require("../../client/api");
18
+ const clientconfiguration_1 = require("../../clientconfiguration");
19
+ const logger_1 = require("../../logger");
20
+ const utils_1 = require("../../utils");
21
+ const listversions_1 = require("./listversions");
22
+ describe("list-versions", () => {
23
+ let sandbox;
24
+ let listVersionsStub;
25
+ let loggerStub;
26
+ let consoleLogStub;
27
+ beforeEach(() => {
28
+ sandbox = sinon_1.default.createSandbox();
29
+ listVersionsStub = sandbox.stub();
30
+ loggerStub = sandbox.stub(logger_1.logger);
31
+ consoleLogStub = sandbox.stub(console, "log");
32
+ sandbox
33
+ .stub(clientconfiguration_1.ClientConfiguration.prototype, "getOrganization")
34
+ .returns("test-org");
35
+ sandbox
36
+ .stub(clientconfiguration_1.ClientConfiguration.prototype, "getProject")
37
+ .returns("test-project");
38
+ sandbox
39
+ .stub(clientconfiguration_1.ClientConfiguration.prototype, "doesConfigExists")
40
+ .returns(true);
41
+ sandbox
42
+ .stub(clientconfiguration_1.ClientConfiguration.prototype, "getHeaders")
43
+ .returns({ Authorization: "Bearer test-token" });
44
+ sandbox
45
+ .stub(api_1.VersionsApi.prototype, "listVersions")
46
+ .callsFake(listVersionsStub);
47
+ });
48
+ afterEach(() => {
49
+ sandbox.restore();
50
+ });
51
+ it("should list versions successfully", () => __awaiter(void 0, void 0, void 0, function* () {
52
+ const mockVersions = [
53
+ { id: "1.0.0", archiveStatus: "active" },
54
+ { id: "2.0.0", archiveStatus: "active" },
55
+ ];
56
+ const mockResponse = {
57
+ data: mockVersions,
58
+ };
59
+ listVersionsStub.resolves(mockResponse);
60
+ yield (0, listversions_1.listVersions)("http://test-server", "/test-package", false);
61
+ (0, chai_1.expect)(listVersionsStub.calledOnce).to.be.true;
62
+ (0, chai_1.expect)(listVersionsStub.firstCall.args[0]).to.equal("test-org");
63
+ (0, chai_1.expect)(listVersionsStub.firstCall.args[1]).to.equal("test-project");
64
+ (0, chai_1.expect)(listVersionsStub.firstCall.args[2]).to.equal("test-package");
65
+ (0, chai_1.expect)(listVersionsStub.firstCall.args[3]).to.deep.include({
66
+ baseURL: "http://test-server",
67
+ headers: { Authorization: "Bearer test-token" },
68
+ });
69
+ (0, chai_1.expect)(consoleLogStub.calledWith((0, utils_1.prettifyJson)(mockVersions))).to.be.true;
70
+ }));
71
+ it("should handle package path without leading slash", () => __awaiter(void 0, void 0, void 0, function* () {
72
+ const mockVersions = [{ id: "1.0.0" }];
73
+ const mockResponse = {
74
+ data: mockVersions,
75
+ };
76
+ listVersionsStub.resolves(mockResponse);
77
+ yield (0, listversions_1.listVersions)("http://test-server", "test-package", false);
78
+ (0, chai_1.expect)(listVersionsStub.firstCall.args[2]).to.equal("test-package");
79
+ }));
80
+ it("should handle missing config", () => __awaiter(void 0, void 0, void 0, function* () {
81
+ sandbox.restore();
82
+ sandbox = sinon_1.default.createSandbox();
83
+ listVersionsStub = sandbox.stub();
84
+ loggerStub = sandbox.stub(logger_1.logger);
85
+ consoleLogStub = sandbox.stub(console, "log");
86
+ sandbox
87
+ .stub(clientconfiguration_1.ClientConfiguration.prototype, "doesConfigExists")
88
+ .returns(false);
89
+ sandbox
90
+ .stub(api_1.VersionsApi.prototype, "listVersions")
91
+ .callsFake(listVersionsStub);
92
+ yield (0, listversions_1.listVersions)("http://test-server", "/test-package", false);
93
+ (0, chai_1.expect)(listVersionsStub.called).to.be.false;
94
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Please, make sure that you are logged in"))).to.be.true;
95
+ }));
96
+ it("should handle missing project", () => __awaiter(void 0, void 0, void 0, function* () {
97
+ sandbox.restore();
98
+ sandbox = sinon_1.default.createSandbox();
99
+ listVersionsStub = sandbox.stub();
100
+ loggerStub = sandbox.stub(logger_1.logger);
101
+ consoleLogStub = sandbox.stub(console, "log");
102
+ sandbox
103
+ .stub(clientconfiguration_1.ClientConfiguration.prototype, "doesConfigExists")
104
+ .returns(true);
105
+ sandbox.stub(clientconfiguration_1.ClientConfiguration.prototype, "getProject").returns("");
106
+ sandbox
107
+ .stub(api_1.VersionsApi.prototype, "listVersions")
108
+ .callsFake(listVersionsStub);
109
+ yield (0, listversions_1.listVersions)("http://test-server", "/test-package", false);
110
+ (0, chai_1.expect)(listVersionsStub.called).to.be.false;
111
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Please, make sure to set a project"))).to.be.true;
112
+ }));
113
+ it("should handle API errors", () => __awaiter(void 0, void 0, void 0, function* () {
114
+ const mockError = new Error("API Error");
115
+ listVersionsStub.rejects(mockError);
116
+ yield (0, listversions_1.listVersions)("http://test-server", "/test-package", true);
117
+ (0, chai_1.expect)(listVersionsStub.calledOnce).to.be.true;
118
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Failed to list versions"))).to.be.true;
119
+ }));
120
+ });
121
+ //# sourceMappingURL=listversions.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listversions.spec.js","sourceRoot":"","sources":["../../../src/commands/version/listversions.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserGroupId = exports.ResourceType = void 0;
4
+ /**
5
+ * Enum representing the different types of user/group resources.
6
+ */
7
+ var ResourceType;
8
+ (function (ResourceType) {
9
+ ResourceType["USER"] = "USER";
10
+ ResourceType["GROUP"] = "GROUP";
11
+ })(ResourceType || (exports.ResourceType = ResourceType = {}));
12
+ /**
13
+ * Represents a user or group identifier in the format 'user:userId' or 'group:groupId'.
14
+ * This class parses the input string and provides methods to extract the
15
+ * resource type and name.
16
+ */
17
+ class UserGroupId {
18
+ static forPublicAccess() {
19
+ return new UserGroupId(`user:*`);
20
+ }
21
+ static forUser(userName) {
22
+ if (!userName) {
23
+ throw new Error("User name cannot be undefined");
24
+ }
25
+ return new UserGroupId(`user:${userName}`);
26
+ }
27
+ static forGroup(groupName) {
28
+ return new UserGroupId(`group:${groupName}`);
29
+ }
30
+ /**
31
+ * Creates a UserGroupId from a string in the format 'user:userId' or 'group:groupId'.
32
+ *
33
+ * @param value the string to parse
34
+ * @throws BadRequestException if the format is invalid
35
+ */
36
+ constructor(value) {
37
+ if (!value || value.trim().length === 0) {
38
+ throw new Error("UserGroupId cannot be null or empty");
39
+ }
40
+ this.originalValue = value.trim();
41
+ if (!this.originalValue.match(/^(user:[^:]+|group:[^:]+)$/)) {
42
+ throw new Error(`Invalid UserGroupId format. Expected 'user:userId' or 'group:groupId', got: ${this.originalValue}`);
43
+ }
44
+ const parts = this.originalValue.split(":", 2);
45
+ const typeStr = parts[0];
46
+ const name = parts[1];
47
+ if (!name || name.length === 0) {
48
+ throw new Error(`UserGroupId name cannot be empty. Expected 'user:userId' or 'group:groupId', got: ${this.originalValue}`);
49
+ }
50
+ switch (typeStr) {
51
+ case "user":
52
+ this.resourceType = ResourceType.USER;
53
+ break;
54
+ case "group":
55
+ this.resourceType = ResourceType.GROUP;
56
+ break;
57
+ default:
58
+ throw new Error(`Invalid UserGroupId type. Expected 'user' or 'group', got: ${typeStr}`);
59
+ }
60
+ this.resourceName = name;
61
+ }
62
+ /**
63
+ * Creates a UserGroupId from resource type and name.
64
+ *
65
+ * @param resourceType the resource type
66
+ * @param userName the user or group name
67
+ */
68
+ static create(resourceType, userName) {
69
+ return new UserGroupId(`${resourceType.toLowerCase()}:${userName}`);
70
+ }
71
+ /**
72
+ * Returns the resource type (USER or GROUP).
73
+ *
74
+ * @return the resource type
75
+ */
76
+ getResourceType() {
77
+ return this.resourceType;
78
+ }
79
+ /**
80
+ * Returns the resource name (the part after the colon).
81
+ *
82
+ * @return the resource name
83
+ */
84
+ getResourceName() {
85
+ return this.resourceName;
86
+ }
87
+ /**
88
+ * Returns the original string value.
89
+ *
90
+ * @return the original string value
91
+ */
92
+ getValue() {
93
+ return this.originalValue;
94
+ }
95
+ toString() {
96
+ return this.originalValue;
97
+ }
98
+ /**
99
+ * Custom JSON serialization method for axios/openapi.
100
+ * This ensures UserGroupId is serialized as a string (originalValue) instead of an object.
101
+ *
102
+ * @return the original string value for JSON serialization
103
+ */
104
+ toJSON() {
105
+ return this.originalValue;
106
+ }
107
+ isPublicAccess() {
108
+ return (this.resourceType === ResourceType.USER && this.originalValue === "*");
109
+ }
110
+ }
111
+ exports.UserGroupId = UserGroupId;
112
+ //# sourceMappingURL=UserGroupId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserGroupId.js","sourceRoot":"","sources":["../../src/common/UserGroupId.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const UserGroupId_1 = require("./UserGroupId");
5
+ describe("UserGroupId", () => {
6
+ describe("constructor", () => {
7
+ it("should parse a valid user id", () => {
8
+ const id = new UserGroupId_1.UserGroupId("user:john");
9
+ (0, chai_1.expect)(id.getResourceType()).to.equal(UserGroupId_1.ResourceType.USER);
10
+ (0, chai_1.expect)(id.getResourceName()).to.equal("john");
11
+ (0, chai_1.expect)(id.getValue()).to.equal("user:john");
12
+ });
13
+ it("should parse a valid group id", () => {
14
+ const id = new UserGroupId_1.UserGroupId("group:admins");
15
+ (0, chai_1.expect)(id.getResourceType()).to.equal(UserGroupId_1.ResourceType.GROUP);
16
+ (0, chai_1.expect)(id.getResourceName()).to.equal("admins");
17
+ (0, chai_1.expect)(id.getValue()).to.equal("group:admins");
18
+ });
19
+ it("should trim whitespace from input", () => {
20
+ const id = new UserGroupId_1.UserGroupId(" user:john ");
21
+ (0, chai_1.expect)(id.getValue()).to.equal("user:john");
22
+ (0, chai_1.expect)(id.getResourceName()).to.equal("john");
23
+ });
24
+ it("should throw for null or empty input", () => {
25
+ (0, chai_1.expect)(() => new UserGroupId_1.UserGroupId("")).to.throw("cannot be null or empty");
26
+ (0, chai_1.expect)(() => new UserGroupId_1.UserGroupId(" ")).to.throw("cannot be null or empty");
27
+ });
28
+ it("should throw for invalid format", () => {
29
+ (0, chai_1.expect)(() => new UserGroupId_1.UserGroupId("invalid")).to.throw("Invalid UserGroupId format");
30
+ (0, chai_1.expect)(() => new UserGroupId_1.UserGroupId("user:")).to.throw("Invalid UserGroupId format");
31
+ (0, chai_1.expect)(() => new UserGroupId_1.UserGroupId("foo:bar")).to.throw("Invalid UserGroupId format");
32
+ (0, chai_1.expect)(() => new UserGroupId_1.UserGroupId("user:a:b")).to.throw("Invalid UserGroupId format");
33
+ });
34
+ });
35
+ describe("static factory methods", () => {
36
+ it("forPublicAccess should create user:* id", () => {
37
+ const id = UserGroupId_1.UserGroupId.forPublicAccess();
38
+ (0, chai_1.expect)(id.getResourceType()).to.equal(UserGroupId_1.ResourceType.USER);
39
+ (0, chai_1.expect)(id.getResourceName()).to.equal("*");
40
+ (0, chai_1.expect)(id.getValue()).to.equal("user:*");
41
+ });
42
+ it("forUser should create a user id", () => {
43
+ const id = UserGroupId_1.UserGroupId.forUser("alice");
44
+ (0, chai_1.expect)(id.getResourceType()).to.equal(UserGroupId_1.ResourceType.USER);
45
+ (0, chai_1.expect)(id.getResourceName()).to.equal("alice");
46
+ });
47
+ it("forUser should throw for undefined user name", () => {
48
+ (0, chai_1.expect)(() => UserGroupId_1.UserGroupId.forUser(undefined)).to.throw("cannot be undefined");
49
+ });
50
+ it("forGroup should create a group id", () => {
51
+ const id = UserGroupId_1.UserGroupId.forGroup("developers");
52
+ (0, chai_1.expect)(id.getResourceType()).to.equal(UserGroupId_1.ResourceType.GROUP);
53
+ (0, chai_1.expect)(id.getResourceName()).to.equal("developers");
54
+ });
55
+ it("create should build from ResourceType and name", () => {
56
+ const userId = UserGroupId_1.UserGroupId.create(UserGroupId_1.ResourceType.USER, "bob");
57
+ (0, chai_1.expect)(userId.getResourceType()).to.equal(UserGroupId_1.ResourceType.USER);
58
+ (0, chai_1.expect)(userId.getResourceName()).to.equal("bob");
59
+ const groupId = UserGroupId_1.UserGroupId.create(UserGroupId_1.ResourceType.GROUP, "team");
60
+ (0, chai_1.expect)(groupId.getResourceType()).to.equal(UserGroupId_1.ResourceType.GROUP);
61
+ (0, chai_1.expect)(groupId.getResourceName()).to.equal("team");
62
+ });
63
+ });
64
+ describe("serialization", () => {
65
+ it("toString should return original value", () => {
66
+ const id = new UserGroupId_1.UserGroupId("user:john");
67
+ (0, chai_1.expect)(id.toString()).to.equal("user:john");
68
+ });
69
+ it("toJSON should return original value for JSON serialization", () => {
70
+ const id = new UserGroupId_1.UserGroupId("group:admins");
71
+ (0, chai_1.expect)(id.toJSON()).to.equal("group:admins");
72
+ (0, chai_1.expect)(JSON.stringify(id)).to.equal('"group:admins"');
73
+ });
74
+ });
75
+ describe("isPublicAccess", () => {
76
+ it("should return false for regular user ids", () => {
77
+ const id = new UserGroupId_1.UserGroupId("user:john");
78
+ (0, chai_1.expect)(id.isPublicAccess()).to.be.false;
79
+ });
80
+ it("should return false for group ids", () => {
81
+ const id = new UserGroupId_1.UserGroupId("group:admins");
82
+ (0, chai_1.expect)(id.isPublicAccess()).to.be.false;
83
+ });
84
+ it("should return false for user:* (checks originalValue not resourceName)", () => {
85
+ // isPublicAccess checks this.originalValue === "*" which is never true
86
+ // since originalValue is the full string "user:*"
87
+ const id = UserGroupId_1.UserGroupId.forPublicAccess();
88
+ (0, chai_1.expect)(id.isPublicAccess()).to.be.false;
89
+ });
90
+ });
91
+ });
92
+ //# sourceMappingURL=UserGroupId.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserGroupId.spec.js","sourceRoot":"","sources":["../../src/common/UserGroupId.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ASCII_TITLE = exports.LOGIN_TIMEOUT_MS = exports.DAY = exports.HOUR = exports.MINUTE = exports.SECOND = exports.AUTH_CLI_LOOPBACK_REDIRECT_URI = exports.AUTH0_ORGANIZATION_IDS_BY_CLI_ORG_NAME = exports.auth0ConfigsByEnv = exports.ALL_ENVIRONMENTS = exports.controlPlanesByEnv = void 0;
4
+ exports.getAuth0OrganizationIdForCliLogin = getAuth0OrganizationIdForCliLogin;
5
+ exports.controlPlanesByEnv = {
6
+ production: "https://admin.credibledata.com/api/v0",
7
+ dev: "https://dev-admin.credibledata.com/api/v0",
8
+ staging: "https://staging-admin.credibledata.com/api/v0",
9
+ localhost: "http://admin.ms2.localhost/api/v0",
10
+ "e2e-test": "http://admin.ms2.localhost/api/v0",
11
+ videoamp: "https://admin.videoamp-aws-us-east-1.credibledata.com/api/v0",
12
+ };
13
+ /** Environments that must have an object in `~/.cred` `configPerEnvironment` (avoids undefined on write). */
14
+ exports.ALL_ENVIRONMENTS = Object.keys(exports.controlPlanesByEnv);
15
+ exports.auth0ConfigsByEnv = {
16
+ production: {
17
+ domain: "https://auth.credibledata.com",
18
+ clientId: "ge8JL5TJNwqy7bygAaJkD92KdluqEZgO",
19
+ audience: "https://ms2data.us.auth0.com/api/v2/",
20
+ },
21
+ dev: {
22
+ domain: "https://dev-auth.credibledata.com",
23
+ clientId: "rr6mzJNj9b104MjCc9xWKPPehq1MJx0L",
24
+ audience: "https://dev-ohaafogw5p8uyx1m.us.auth0.com/api/v2/",
25
+ },
26
+ staging: {
27
+ domain: "https://dev-auth.credibledata.com",
28
+ clientId: "rr6mzJNj9b104MjCc9xWKPPehq1MJx0L",
29
+ audience: "https://dev-ohaafogw5p8uyx1m.us.auth0.com/api/v2/",
30
+ },
31
+ localhost: {
32
+ domain: "https://dev-auth.credibledata.com",
33
+ clientId: "rr6mzJNj9b104MjCc9xWKPPehq1MJx0L",
34
+ audience: "https://dev-ohaafogw5p8uyx1m.us.auth0.com/api/v2/",
35
+ },
36
+ "e2e-test": {
37
+ domain: "https://dev-auth.credibledata.com",
38
+ clientId: "atd8n8dEiGUiNRM7Geuvg41fi5s8ZKqY",
39
+ clientSecret: "ZrEvs86WLqKO9EPp4y_cOvUn3NQT1qc3XC8111f6DBt9oyaclV5sWHz6Nkyo_bEF",
40
+ audience: "https://dev-ohaafogw5p8uyx1m.us.auth0.com/api/v2/",
41
+ },
42
+ videoamp: {
43
+ domain: "https://auth.credibledata.com",
44
+ clientId: "ge8JL5TJNwqy7bygAaJkD92KdluqEZgO",
45
+ audience: "https://ms2data.us.auth0.com/api/v2/",
46
+ },
47
+ };
48
+ /**
49
+ * `cred login <organizationName>` → Auth0 Organization ID for org-branded Universal Login.
50
+ *
51
+ * Auth0 documents the `organization` parameter on `/authorize` for Organizations
52
+ * (https://auth0.com/docs/manage-users/organizations/configure-organizations/use-org-name-authentication-api).
53
+ * The Device Authorization Flow documents only `client_id`, `scope`, and `audience` on
54
+ * `POST /oauth/device/code` — not `organization`
55
+ * (https://auth0.com/docs/get-started/authentication-and-authorization-flow/device-authorization-flow/call-your-api-using-the-device-authorization-flow#device-code-parameters),
56
+ * so mapped orgs use Authorization Code + PKCE with `organization` on `/authorize` and
57
+ * {@link AUTH_CLI_LOOPBACK_REDIRECT_URI}.
58
+ *
59
+ * Align with app `ORGANIZATION_HOST_ORG_ID_MAP` / `getAuth0OrganizationAuthorizationParams`.
60
+ *
61
+ * Entries are added when PKCE + Auth0 org id is ready for that CLI name; until then the map may
62
+ * stay empty and `login.spec` stubs {@link getAuth0OrganizationIdForCliLogin} for PKCE coverage.
63
+ */
64
+ exports.AUTH0_ORGANIZATION_IDS_BY_CLI_ORG_NAME = {
65
+ // videoamp: "org_nMRKafeSuxOiuJeG",
66
+ };
67
+ /**
68
+ * Allowlisted on the Auth0 Native application (CLI) as an Allowed Callback URL for PKCE logins
69
+ * that pass `organization` on `/authorize` (see Auth0 Organizations + Authentication API docs above).
70
+ */
71
+ exports.AUTH_CLI_LOOPBACK_REDIRECT_URI = "http://127.0.0.1:18240/callback";
72
+ function getAuth0OrganizationIdForCliLogin(organizationName) {
73
+ return exports.AUTH0_ORGANIZATION_IDS_BY_CLI_ORG_NAME[organizationName.toLowerCase()];
74
+ }
75
+ // Time constants in ms
76
+ exports.SECOND = 1000;
77
+ exports.MINUTE = exports.SECOND * 60;
78
+ exports.HOUR = exports.MINUTE * 60;
79
+ exports.DAY = exports.HOUR * 24;
80
+ // Login related
81
+ exports.LOGIN_TIMEOUT_MS = exports.MINUTE * 5;
82
+ exports.ASCII_TITLE = `
83
+ _____ _ _ _ _ _____ _ _____
84
+ / ____| | (_) | | | / ____| | |_ _|
85
+ | | _ __ ___ __| |_| |__ | | ___ | | | | | |
86
+ | | | '__/ _ \\/ _\` | | '_ \\| |/ _ \\ | | | | | |
87
+ | |____| | | __/ (_| | | |_) | | __/ | |____| |____ _| |_
88
+ \\_____|_| \\___|\\__,_|_|_.__/|_|\\___| \\_____|______|_____|
89
+ `;
90
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AA2FA,8EAMC;AAzFY,QAAA,kBAAkB,GAAgC;IAC5D,UAAU,EAAE,uCAAuC;IACnD,GAAG,EAAE,2CAA2C;IAChD,OAAO,EAAE,+CAA+C;IACxD,SAAS,EAAE,mCAAmC;IAC9C,UAAU,EAAE,mCAAmC;IAC/C,QAAQ,EAAE,8DAA8D;CAC1E,CAAC;AAEF,6GAA6G;AAChG,QAAA,gBAAgB,GAAG,MAAM,CAAC,IAAI,CACxC,0BAAkB,CACH,CAAC;AAEN,QAAA,iBAAiB,GAQ1B;IACD,UAAU,EAAE;QACT,MAAM,EAAE,+BAA+B;QACvC,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,sCAAsC;KAClD;IACD,GAAG,EAAE;QACF,MAAM,EAAE,mCAAmC;QAC3C,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,mDAAmD;KAC/D;IACD,OAAO,EAAE;QACN,MAAM,EAAE,mCAAmC;QAC3C,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,mDAAmD;KAC/D;IACD,SAAS,EAAE;QACR,MAAM,EAAE,mCAAmC;QAC3C,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,mDAAmD;KAC/D;IACD,UAAU,EAAE;QACT,MAAM,EAAE,mCAAmC;QAC3C,QAAQ,EAAE,kCAAkC;QAC5C,YAAY,EACT,kEAAkE;QACrE,QAAQ,EAAE,mDAAmD;KAC/D;IACD,QAAQ,EAAE;QACP,MAAM,EAAE,+BAA+B;QACvC,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,sCAAsC;KAClD;CACH,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACU,QAAA,sCAAsC,GAA2B;AAC3E,oCAAoC;CACtC,CAAC;AAEF;;;GAGG;AACU,QAAA,8BAA8B,GAAG,iCAAiC,CAAC;AAEhF,SAAgB,iCAAiC,CAC9C,gBAAwB;IAExB,OAAO,8CAAsC,CAC1C,gBAAgB,CAAC,WAAW,EAAE,CAChC,CAAC;AACL,CAAC;AAED,uBAAuB;AACV,QAAA,MAAM,GAAG,IAAI,CAAC;AACd,QAAA,MAAM,GAAG,cAAM,GAAG,EAAE,CAAC;AACrB,QAAA,IAAI,GAAG,cAAM,GAAG,EAAE,CAAC;AACnB,QAAA,GAAG,GAAG,YAAI,GAAG,EAAE,CAAC;AAE7B,gBAAgB;AACH,QAAA,gBAAgB,GAAG,cAAM,GAAG,CAAC,CAAC;AAE9B,QAAA,WAAW,GAAG;;;;;;;CAO1B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,159 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ const axios_1 = __importDefault(require("axios"));
17
+ const commander_1 = require("commander");
18
+ const kleur_1 = __importDefault(require("kleur"));
19
+ const omelette_1 = __importDefault(require("omelette"));
20
+ const package_json_1 = __importDefault(require("../package.json"));
21
+ const clientconfiguration_1 = require("./clientconfiguration");
22
+ const add_1 = require("./commands/add");
23
+ const get_1 = require("./commands/get");
24
+ const list_1 = require("./commands/list");
25
+ const login_1 = require("./commands/misc/login");
26
+ const logout_1 = require("./commands/misc/logout");
27
+ const set_access_token_1 = require("./commands/misc/set-access-token");
28
+ const listpackages_1 = require("./commands/package/listpackages");
29
+ const publish_1 = require("./commands/package/publish");
30
+ const listprojects_1 = require("./commands/project/listprojects");
31
+ const rm_1 = require("./commands/rm");
32
+ const set_1 = require("./commands/set");
33
+ const update_1 = require("./commands/update");
34
+ const archive_unarchive_version_1 = require("./commands/version/archive-unarchive-version");
35
+ const constants_1 = require("./constants");
36
+ const clientConfig = new clientconfiguration_1.ClientConfiguration();
37
+ const getActiveEnvironment = () => {
38
+ return clientConfig.getEnvironment();
39
+ };
40
+ axios_1.default.defaults.baseURL = constants_1.controlPlanesByEnv[getActiveEnvironment()];
41
+ const cli = commander_1.program
42
+ .version(package_json_1.default.version, "-V, --cli-version", "Output the CLI version number")
43
+ .description(kleur_1.default.green(constants_1.ASCII_TITLE));
44
+ // Nested CRUD commands for resource management
45
+ (0, get_1.registerGetCommands)(cli, getActiveEnvironment());
46
+ (0, list_1.registerListCommands)(cli, getActiveEnvironment());
47
+ (0, update_1.registerUpdateCommands)(cli, getActiveEnvironment());
48
+ (0, rm_1.registerRmCommands)(cli, getActiveEnvironment());
49
+ (0, add_1.registerAddCommands)(cli, getActiveEnvironment());
50
+ (0, set_1.registerSetCommands)(cli);
51
+ // Root commands
52
+ cli.command("publish")
53
+ .description("Publish a new version of the package.")
54
+ .option("--debug")
55
+ .option("-y, --yes", "Skip confirmation.")
56
+ .option("--replication <replication_count>", "The number of replicas to create.", (v) => (v === undefined ? undefined : parseInt(v)), undefined)
57
+ .option("--set-latest", "Set this version as the latest version of the package.", false)
58
+ .action((options) => {
59
+ (0, publish_1.publish)(constants_1.controlPlanesByEnv[getActiveEnvironment()], options.replicationCount, options.debug, options.yes, options.setLatest);
60
+ });
61
+ cli.command("archive")
62
+ .description("Archive a version of a package.")
63
+ .argument("<packageName>", "The name of the package to archive the version of.")
64
+ .argument("<versionId>", "The id of the version to archive.")
65
+ .option("--debug")
66
+ .option("-y, --yes", "Skip confirmation.")
67
+ .action((packageName, versionId, options) => {
68
+ (0, archive_unarchive_version_1.archiveVersion)(constants_1.controlPlanesByEnv[getActiveEnvironment()], packageName, versionId, options.debug, options.yes);
69
+ });
70
+ cli.command("unarchive")
71
+ .description("Unarchive a version of a package.")
72
+ .argument("<packageName>", "The name of the package to unarchive the version of.")
73
+ .argument("<versionId>", "The id of the version to unarchive.")
74
+ .option("--debug")
75
+ .option("-y, --yes", "Skip confirmation.")
76
+ .action((packageName, versionId, options) => {
77
+ (0, archive_unarchive_version_1.unarchiveVersion)(constants_1.controlPlanesByEnv[getActiveEnvironment()], packageName, versionId, options.debug, options.yes);
78
+ });
79
+ cli.command("login")
80
+ .description("Login into Credible service.")
81
+ .argument("<organizationName>", "The organization to login to.")
82
+ .action((organizationName) => {
83
+ // TODO: Uncomment this when aws videoamp cluster is ready
84
+ // if (organizationName === "videoamp") {
85
+ // clientConfig.setEnvironment("videoamp" as Environment);
86
+ // }
87
+ (0, login_1.login)(organizationName, constants_1.controlPlanesByEnv[getActiveEnvironment()]);
88
+ });
89
+ cli.command("logout")
90
+ .description("Resets Credible service credentials")
91
+ .action(logout_1.logout);
92
+ cli.command("set-access-token")
93
+ .description("Set a service account JWT token for CLI authentication")
94
+ .argument("<jwtToken>", "The JWT token to use for authentication")
95
+ .option("-o, --organization <organizationName>", "Organization name to set")
96
+ .action((jwtToken, options) => {
97
+ (0, set_access_token_1.setAccessToken)(jwtToken, options.organization);
98
+ });
99
+ cli.command("status")
100
+ .description("Shows the currently active organization and project.")
101
+ .action(() => {
102
+ const config = new clientconfiguration_1.ClientConfiguration();
103
+ config.printStatus();
104
+ });
105
+ const complete = (0, omelette_1.default)("credible").tree({
106
+ // CRUD commands
107
+ get: ["project", "group"],
108
+ ls: [
109
+ "project",
110
+ "connection",
111
+ "package",
112
+ "version",
113
+ "group",
114
+ "group-access-token",
115
+ ],
116
+ update: ["project", "package"],
117
+ rm: [
118
+ "project",
119
+ "connection",
120
+ "package",
121
+ "group",
122
+ "member",
123
+ "group-access-token",
124
+ ],
125
+ add: ["project", "connection", "group", "member", "group-access-token"],
126
+ // Misc commands
127
+ set: ["project"],
128
+ login: [],
129
+ logout: [],
130
+ "set-access-token": [],
131
+ status: [],
132
+ publish: [],
133
+ archive: [],
134
+ unarchive: [],
135
+ });
136
+ complete.onAsync("$3", (_a) => __awaiter(void 0, [_a], void 0, function* ({ reply, line }) {
137
+ const projectRelatedCommands = ["set project", "get project", "rm project"];
138
+ if (projectRelatedCommands.some((cmd) => line.includes(cmd))) {
139
+ reply((0, listprojects_1.listProjects)(constants_1.controlPlanesByEnv[getActiveEnvironment()], false).then((result) => result.projects.map((project) => project.name)));
140
+ }
141
+ const packageRelatedCommands = ["rm package", "ls version"];
142
+ if (packageRelatedCommands.some((cmd) => line.includes(cmd))) {
143
+ reply((0, listpackages_1.listPackages)(constants_1.controlPlanesByEnv[getActiveEnvironment()], false).then((result) => result.packages.map((_package) => _package.name)));
144
+ }
145
+ }));
146
+ complete.next(() => {
147
+ commander_1.program.parse(process.argv);
148
+ });
149
+ if (~process.argv.indexOf("--cleanup")) {
150
+ complete.cleanupShellInitFile();
151
+ process.exit(0);
152
+ }
153
+ if (~process.argv.indexOf("--install")) {
154
+ complete.setupShellInitFile();
155
+ console.log("CLI installed successfully!");
156
+ process.exit(0);
157
+ }
158
+ complete.init();
159
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}