@credibledata/cred-cli 0.1.4 → 0.1.5

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 (172) hide show
  1. package/.prettierignore +2 -1
  2. package/README.md +0 -2
  3. package/bun.lock +182 -283
  4. package/dist/client/api.js +796 -111
  5. package/dist/client/api.js.map +1 -1
  6. package/dist/clientconfiguration.js +55 -13
  7. package/dist/clientconfiguration.js.map +1 -1
  8. package/dist/clientconfiguration.spec.js +305 -16
  9. package/dist/clientconfiguration.spec.js.map +1 -1
  10. package/dist/commands/add.js +6 -3
  11. package/dist/commands/add.js.map +1 -1
  12. package/dist/commands/connection/createconnections.js +18 -3
  13. package/dist/commands/connection/createconnections.js.map +1 -1
  14. package/dist/commands/connection/createconnections.spec.js +219 -0
  15. package/dist/commands/connection/createconnections.spec.js.map +1 -0
  16. package/dist/commands/connection/deleteconnection.spec.js +130 -0
  17. package/dist/commands/connection/deleteconnection.spec.js.map +1 -0
  18. package/dist/commands/connection/listconnections.js +9 -3
  19. package/dist/commands/connection/listconnections.js.map +1 -1
  20. package/dist/commands/connection/listconnections.spec.js +117 -0
  21. package/dist/commands/connection/listconnections.spec.js.map +1 -0
  22. package/dist/commands/group/addmember.js +2 -0
  23. package/dist/commands/group/addmember.js.map +1 -1
  24. package/dist/commands/group/addmember.spec.js +148 -0
  25. package/dist/commands/group/addmember.spec.js.map +1 -0
  26. package/dist/commands/group/creategroup.spec.js +122 -0
  27. package/dist/commands/group/creategroup.spec.js.map +1 -0
  28. package/dist/commands/group/deletegroup.spec.js +104 -0
  29. package/dist/commands/group/deletegroup.spec.js.map +1 -0
  30. package/dist/commands/group/getgroup.spec.js +111 -0
  31. package/dist/commands/group/getgroup.spec.js.map +1 -0
  32. package/dist/commands/group/listgroups.spec.js +118 -0
  33. package/dist/commands/group/listgroups.spec.js.map +1 -0
  34. package/dist/commands/group/removemember.js +1 -0
  35. package/dist/commands/group/removemember.js.map +1 -1
  36. package/dist/commands/group/removemember.spec.js +138 -0
  37. package/dist/commands/group/removemember.spec.js.map +1 -0
  38. package/dist/commands/groupaccesstoken/createToken.js +6 -2
  39. package/dist/commands/groupaccesstoken/createToken.js.map +1 -1
  40. package/dist/commands/groupaccesstoken/createToken.spec.js +127 -0
  41. package/dist/commands/groupaccesstoken/createToken.spec.js.map +1 -0
  42. package/dist/commands/groupaccesstoken/deleteToken.js.map +1 -1
  43. package/dist/commands/groupaccesstoken/deleteToken.spec.js +103 -0
  44. package/dist/commands/groupaccesstoken/deleteToken.spec.js.map +1 -0
  45. package/dist/commands/groupaccesstoken/groupContainer.js.map +1 -1
  46. package/dist/commands/groupaccesstoken/listTokens.js.map +1 -1
  47. package/dist/commands/groupaccesstoken/listTokens.spec.js +115 -0
  48. package/dist/commands/groupaccesstoken/listTokens.spec.js.map +1 -0
  49. package/dist/commands/list.js +10 -3
  50. package/dist/commands/list.js.map +1 -1
  51. package/dist/commands/misc/login.js +146 -22
  52. package/dist/commands/misc/login.js.map +1 -1
  53. package/dist/commands/misc/login.spec.js +111 -6
  54. package/dist/commands/misc/login.spec.js.map +1 -1
  55. package/dist/commands/misc/logout.spec.js +30 -0
  56. package/dist/commands/misc/logout.spec.js.map +1 -0
  57. package/dist/commands/misc/loopbackOAuth.js +110 -0
  58. package/dist/commands/misc/loopbackOAuth.js.map +1 -0
  59. package/dist/commands/misc/set-access-token.js.map +1 -1
  60. package/dist/commands/misc/set-access-token.spec.js +65 -0
  61. package/dist/commands/misc/set-access-token.spec.js.map +1 -0
  62. package/dist/commands/package/deletepackage.spec.js +136 -0
  63. package/dist/commands/package/deletepackage.spec.js.map +1 -0
  64. package/dist/commands/package/listpackages.js +10 -5
  65. package/dist/commands/package/listpackages.js.map +1 -1
  66. package/dist/commands/package/listpackages.spec.js +129 -0
  67. package/dist/commands/package/listpackages.spec.js.map +1 -0
  68. package/dist/commands/package/publish.js +23 -0
  69. package/dist/commands/package/publish.js.map +1 -1
  70. package/dist/commands/package/publish.spec.js +511 -0
  71. package/dist/commands/package/publish.spec.js.map +1 -0
  72. package/dist/commands/package/updatepackage.spec.js +50 -0
  73. package/dist/commands/package/updatepackage.spec.js.map +1 -1
  74. package/dist/commands/project/createproject.js +11 -1
  75. package/dist/commands/project/createproject.js.map +1 -1
  76. package/dist/commands/project/createproject.spec.js +154 -0
  77. package/dist/commands/project/createproject.spec.js.map +1 -0
  78. package/dist/commands/project/deleteproject.spec.js +106 -0
  79. package/dist/commands/project/deleteproject.spec.js.map +1 -0
  80. package/dist/commands/project/getproject.spec.js +99 -0
  81. package/dist/commands/project/getproject.spec.js.map +1 -0
  82. package/dist/commands/project/listprojects.js +13 -7
  83. package/dist/commands/project/listprojects.js.map +1 -1
  84. package/dist/commands/project/listprojects.spec.js +111 -0
  85. package/dist/commands/project/listprojects.spec.js.map +1 -0
  86. package/dist/commands/project/setproject.spec.js +58 -0
  87. package/dist/commands/project/setproject.spec.js.map +1 -0
  88. package/dist/commands/project/updateproject.js +68 -0
  89. package/dist/commands/project/updateproject.js.map +1 -0
  90. package/dist/commands/project/updateproject.spec.js +129 -0
  91. package/dist/commands/project/updateproject.spec.js.map +1 -0
  92. package/dist/commands/rm.js.map +1 -1
  93. package/dist/commands/update.js +13 -0
  94. package/dist/commands/update.js.map +1 -1
  95. package/dist/commands/version/listversions.spec.js +121 -0
  96. package/dist/commands/version/listversions.spec.js.map +1 -0
  97. package/dist/common/UserGroupId.spec.js +92 -0
  98. package/dist/common/UserGroupId.spec.js.map +1 -0
  99. package/dist/constants.js +49 -13
  100. package/dist/constants.js.map +1 -1
  101. package/dist/index.js +40 -18
  102. package/dist/index.js.map +1 -1
  103. package/dist/logger.spec.js +125 -0
  104. package/dist/logger.spec.js.map +1 -0
  105. package/dist/polyfills/file.polyfill.js.map +1 -1
  106. package/dist/utils.js +59 -0
  107. package/dist/utils.js.map +1 -1
  108. package/dist/utils.spec.js +158 -0
  109. package/dist/utils.spec.js.map +1 -0
  110. package/docker/Dockerfile.ci +11 -3
  111. package/eslint.config.mjs +45 -0
  112. package/generate-client.sh +3 -0
  113. package/package.json +24 -16
  114. package/src/client/.openapi-generator/FILES +1 -0
  115. package/src/client/api.ts +1347 -161
  116. package/src/clientconfiguration.spec.ts +394 -20
  117. package/src/clientconfiguration.ts +74 -15
  118. package/src/commands/add.ts +15 -6
  119. package/src/commands/connection/createconnections.spec.ts +403 -0
  120. package/src/commands/connection/createconnections.ts +30 -5
  121. package/src/commands/connection/deleteconnection.spec.ts +189 -0
  122. package/src/commands/connection/listconnections.spec.ts +132 -0
  123. package/src/commands/connection/listconnections.ts +22 -3
  124. package/src/commands/group/addmember.spec.ts +257 -0
  125. package/src/commands/group/addmember.ts +2 -0
  126. package/src/commands/group/creategroup.spec.ts +146 -0
  127. package/src/commands/group/deletegroup.spec.ts +120 -0
  128. package/src/commands/group/getgroup.spec.ts +129 -0
  129. package/src/commands/group/listgroups.spec.ts +137 -0
  130. package/src/commands/group/removemember.spec.ts +224 -0
  131. package/src/commands/group/removemember.ts +1 -0
  132. package/src/commands/groupaccesstoken/createToken.spec.ts +211 -0
  133. package/src/commands/groupaccesstoken/createToken.ts +55 -51
  134. package/src/commands/groupaccesstoken/deleteToken.spec.ts +147 -0
  135. package/src/commands/groupaccesstoken/deleteToken.ts +16 -11
  136. package/src/commands/groupaccesstoken/groupContainer.ts +51 -51
  137. package/src/commands/groupaccesstoken/listTokens.spec.ts +147 -0
  138. package/src/commands/groupaccesstoken/listTokens.ts +16 -11
  139. package/src/commands/list.ts +50 -9
  140. package/src/commands/misc/login.spec.ts +91 -6
  141. package/src/commands/misc/login.ts +208 -25
  142. package/src/commands/misc/logout.spec.ts +32 -0
  143. package/src/commands/misc/loopbackOAuth.ts +127 -0
  144. package/src/commands/misc/set-access-token.spec.ts +95 -0
  145. package/src/commands/misc/set-access-token.ts +16 -16
  146. package/src/commands/package/deletepackage.spec.ts +164 -0
  147. package/src/commands/package/listpackages.spec.ts +147 -0
  148. package/src/commands/package/listpackages.ts +28 -5
  149. package/src/commands/package/publish.spec.ts +597 -0
  150. package/src/commands/package/publish.ts +32 -0
  151. package/src/commands/package/updatepackage.spec.ts +98 -0
  152. package/src/commands/project/createproject.spec.ts +247 -0
  153. package/src/commands/project/createproject.ts +12 -1
  154. package/src/commands/project/deleteproject.spec.ts +123 -0
  155. package/src/commands/project/getproject.spec.ts +109 -0
  156. package/src/commands/project/listprojects.spec.ts +121 -0
  157. package/src/commands/project/listprojects.ts +33 -7
  158. package/src/commands/project/setproject.spec.ts +63 -0
  159. package/src/commands/project/updateproject.spec.ts +217 -0
  160. package/src/commands/project/updateproject.ts +82 -0
  161. package/src/commands/rm.ts +1 -6
  162. package/src/commands/update.ts +24 -1
  163. package/src/commands/version/listversions.spec.ts +138 -0
  164. package/src/common/UserGroupId.spec.ts +117 -0
  165. package/src/constants.ts +59 -13
  166. package/src/index.ts +46 -20
  167. package/src/logger.spec.ts +158 -0
  168. package/src/polyfills/file.polyfill.ts +1 -0
  169. package/src/utils.spec.ts +135 -0
  170. package/src/utils.ts +81 -0
  171. package/tsconfig.json +15 -18
  172. package/.eslintrc +0 -33
@@ -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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"}
package/dist/constants.js CHANGED
@@ -1,41 +1,77 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ASCII_TITLE = exports.LOGIN_TIMEOUT_MS = exports.DAY = exports.HOUR = exports.MINUTE = exports.SECOND = exports.auth0ConfigsByEnv = exports.controlPlanesByEnv = void 0;
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;
4
5
  exports.controlPlanesByEnv = {
5
- production: "https://admin.ms2.co/api/v0",
6
- dev: "https://dev-admin.ms2.co/api/v0",
7
- staging: "https://staging-admin.ms2.co/api/v0",
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",
8
9
  localhost: "http://admin.ms2.localhost/api/v0",
9
10
  "e2e-test": "http://admin.ms2.localhost/api/v0",
11
+ videoamp: "https://admin.videoamp-aws-us-east-1.credibledata.com/api/v0",
10
12
  };
13
+ /** Environments that must have an object in `~/.cred` `configPerEnvironment` (avoids undefined on write). */
14
+ exports.ALL_ENVIRONMENTS = Object.keys(exports.controlPlanesByEnv);
11
15
  exports.auth0ConfigsByEnv = {
12
16
  production: {
13
- domain: "https://ms2data.us.auth0.com",
17
+ domain: "https://auth.credibledata.com",
14
18
  clientId: "ge8JL5TJNwqy7bygAaJkD92KdluqEZgO",
15
19
  audience: "https://ms2data.us.auth0.com/api/v2/",
16
20
  },
17
21
  dev: {
18
- domain: "https://dev-ohaafogw5p8uyx1m.us.auth0.com",
22
+ domain: "https://dev-auth.credibledata.com",
19
23
  clientId: "rr6mzJNj9b104MjCc9xWKPPehq1MJx0L",
20
24
  audience: "https://dev-ohaafogw5p8uyx1m.us.auth0.com/api/v2/",
21
25
  },
22
26
  staging: {
23
- domain: "https://dev-ohaafogw5p8uyx1m.us.auth0.com",
27
+ domain: "https://dev-auth.credibledata.com",
24
28
  clientId: "rr6mzJNj9b104MjCc9xWKPPehq1MJx0L",
25
29
  audience: "https://dev-ohaafogw5p8uyx1m.us.auth0.com/api/v2/",
26
30
  },
27
31
  localhost: {
28
- domain: "https://dev-ohaafogw5p8uyx1m.us.auth0.com",
32
+ domain: "https://dev-auth.credibledata.com",
29
33
  clientId: "rr6mzJNj9b104MjCc9xWKPPehq1MJx0L",
30
34
  audience: "https://dev-ohaafogw5p8uyx1m.us.auth0.com/api/v2/",
31
35
  },
32
36
  "e2e-test": {
33
- domain: "https://dev-ohaafogw5p8uyx1m.us.auth0.com",
37
+ domain: "https://dev-auth.credibledata.com",
34
38
  clientId: "atd8n8dEiGUiNRM7Geuvg41fi5s8ZKqY",
35
39
  clientSecret: "ZrEvs86WLqKO9EPp4y_cOvUn3NQT1qc3XC8111f6DBt9oyaclV5sWHz6Nkyo_bEF",
36
40
  audience: "https://dev-ohaafogw5p8uyx1m.us.auth0.com/api/v2/",
37
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",
38
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
+ }
39
75
  // Time constants in ms
40
76
  exports.SECOND = 1000;
41
77
  exports.MINUTE = exports.SECOND * 60;
@@ -44,11 +80,11 @@ exports.DAY = exports.HOUR * 24;
44
80
  // Login related
45
81
  exports.LOGIN_TIMEOUT_MS = exports.MINUTE * 5;
46
82
  exports.ASCII_TITLE = `
47
- _____ _ _ _ _ _____ _ _____
83
+ _____ _ _ _ _ _____ _ _____
48
84
  / ____| | (_) | | | / ____| | |_ _|
49
- | | _ __ ___ __| |_| |__ | | ___ | | | | | |
50
- | | | '__/ _ \\/ _\` | | '_ \\| |/ _ \\ | | | | | |
51
- | |____| | | __/ (_| | | |_) | | __/ | |____| |____ _| |_
85
+ | | _ __ ___ __| |_| |__ | | ___ | | | | | |
86
+ | | | '__/ _ \\/ _\` | | '_ \\| |/ _ \\ | | | | | |
87
+ | |____| | | __/ (_| | | |_) | | __/ | |____| |____ _| |_
52
88
  \\_____|_| \\___|\\__,_|_|_.__/|_|\\___| \\_____|______|_____|
53
89
  `;
54
90
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAOa,QAAA,kBAAkB,GAAgC;IAC5D,UAAU,EAAE,6BAA6B;IACzC,GAAG,EAAE,iCAAiC;IACtC,OAAO,EAAE,qCAAqC;IAC9C,SAAS,EAAE,mCAAmC;IAC9C,UAAU,EAAE,mCAAmC;CACjD,CAAC;AAEW,QAAA,iBAAiB,GAQ1B;IACD,UAAU,EAAE;QACT,MAAM,EAAE,8BAA8B;QACtC,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,sCAAsC;KAClD;IACD,GAAG,EAAE;QACF,MAAM,EAAE,2CAA2C;QACnD,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,mDAAmD;KAC/D;IACD,OAAO,EAAE;QACN,MAAM,EAAE,2CAA2C;QACnD,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,mDAAmD;KAC/D;IACD,SAAS,EAAE;QACR,MAAM,EAAE,2CAA2C;QACnD,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,mDAAmD;KAC/D;IACD,UAAU,EAAE;QACT,MAAM,EAAE,2CAA2C;QACnD,QAAQ,EAAE,kCAAkC;QAC5C,YAAY,EACT,kEAAkE;QACrE,QAAQ,EAAE,mDAAmD;KAC/D;CACH,CAAC;AAEF,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"}
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 CHANGED
@@ -34,17 +34,19 @@ const update_1 = require("./commands/update");
34
34
  const archive_unarchive_version_1 = require("./commands/version/archive-unarchive-version");
35
35
  const constants_1 = require("./constants");
36
36
  const clientConfig = new clientconfiguration_1.ClientConfiguration();
37
- const activeEnvironment = clientConfig.getEnvironment();
38
- axios_1.default.defaults.baseURL = constants_1.controlPlanesByEnv[activeEnvironment];
37
+ const getActiveEnvironment = () => {
38
+ return clientConfig.getEnvironment();
39
+ };
40
+ axios_1.default.defaults.baseURL = constants_1.controlPlanesByEnv[getActiveEnvironment()];
39
41
  const cli = commander_1.program
40
- .version(package_json_1.default.version)
42
+ .version(package_json_1.default.version, "-V, --cli-version", "Output the CLI version number")
41
43
  .description(kleur_1.default.green(constants_1.ASCII_TITLE));
42
44
  // Nested CRUD commands for resource management
43
- (0, get_1.registerGetCommands)(cli, activeEnvironment);
44
- (0, list_1.registerListCommands)(cli, activeEnvironment);
45
- (0, update_1.registerUpdateCommands)(cli, activeEnvironment);
46
- (0, rm_1.registerRmCommands)(cli, activeEnvironment);
47
- (0, add_1.registerAddCommands)(cli, activeEnvironment);
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());
48
50
  (0, set_1.registerSetCommands)(cli);
49
51
  // Root commands
50
52
  cli.command("publish")
@@ -54,7 +56,7 @@ cli.command("publish")
54
56
  .option("--replication <replication_count>", "The number of replicas to create.", (v) => (v === undefined ? undefined : parseInt(v)), undefined)
55
57
  .option("--set-latest", "Set this version as the latest version of the package.", false)
56
58
  .action((options) => {
57
- (0, publish_1.publish)(constants_1.controlPlanesByEnv[activeEnvironment], options.replicationCount, options.debug, options.yes, options.setLatest);
59
+ (0, publish_1.publish)(constants_1.controlPlanesByEnv[getActiveEnvironment()], options.replicationCount, options.debug, options.yes, options.setLatest);
58
60
  });
59
61
  cli.command("archive")
60
62
  .description("Archive a version of a package.")
@@ -63,7 +65,7 @@ cli.command("archive")
63
65
  .option("--debug")
64
66
  .option("-y, --yes", "Skip confirmation.")
65
67
  .action((packageName, versionId, options) => {
66
- (0, archive_unarchive_version_1.archiveVersion)(constants_1.controlPlanesByEnv[activeEnvironment], packageName, versionId, options.debug, options.yes);
68
+ (0, archive_unarchive_version_1.archiveVersion)(constants_1.controlPlanesByEnv[getActiveEnvironment()], packageName, versionId, options.debug, options.yes);
67
69
  });
68
70
  cli.command("unarchive")
69
71
  .description("Unarchive a version of a package.")
@@ -72,13 +74,17 @@ cli.command("unarchive")
72
74
  .option("--debug")
73
75
  .option("-y, --yes", "Skip confirmation.")
74
76
  .action((packageName, versionId, options) => {
75
- (0, archive_unarchive_version_1.unarchiveVersion)(constants_1.controlPlanesByEnv[activeEnvironment], packageName, versionId, options.debug, options.yes);
77
+ (0, archive_unarchive_version_1.unarchiveVersion)(constants_1.controlPlanesByEnv[getActiveEnvironment()], packageName, versionId, options.debug, options.yes);
76
78
  });
77
79
  cli.command("login")
78
80
  .description("Login into Credible service.")
79
81
  .argument("<organizationName>", "The organization to login to.")
80
82
  .action((organizationName) => {
81
- (0, login_1.login)(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()]);
82
88
  });
83
89
  cli.command("logout")
84
90
  .description("Resets Credible service credentials")
@@ -96,12 +102,26 @@ cli.command("status")
96
102
  const config = new clientconfiguration_1.ClientConfiguration();
97
103
  config.printStatus();
98
104
  });
99
- const complete = (0, omelette_1.default)("cred").tree({
105
+ const complete = (0, omelette_1.default)("credible").tree({
100
106
  // CRUD commands
101
107
  get: ["project", "group"],
102
- ls: ["project", "connection", "package", "version", "group", "group-access-token"],
103
- update: ["package"],
104
- rm: ["project", "connection", "package", "group", "member", "group-access-token"],
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
+ ],
105
125
  add: ["project", "connection", "group", "member", "group-access-token"],
106
126
  // Misc commands
107
127
  set: ["project"],
@@ -116,11 +136,11 @@ const complete = (0, omelette_1.default)("cred").tree({
116
136
  complete.onAsync("$3", (_a) => __awaiter(void 0, [_a], void 0, function* ({ reply, line }) {
117
137
  const projectRelatedCommands = ["set project", "get project", "rm project"];
118
138
  if (projectRelatedCommands.some((cmd) => line.includes(cmd))) {
119
- reply((0, listprojects_1.listProjects)(constants_1.controlPlanesByEnv[activeEnvironment], false).then((projects) => projects.map((project) => project.name)));
139
+ reply((0, listprojects_1.listProjects)(constants_1.controlPlanesByEnv[getActiveEnvironment()], false).then((result) => result.projects.map((project) => project.name)));
120
140
  }
121
141
  const packageRelatedCommands = ["rm package", "ls version"];
122
142
  if (packageRelatedCommands.some((cmd) => line.includes(cmd))) {
123
- reply((0, listpackages_1.listPackages)(constants_1.controlPlanesByEnv[activeEnvironment], false).then((packages) => packages.map((_package) => _package.name)));
143
+ reply((0, listpackages_1.listPackages)(constants_1.controlPlanesByEnv[getActiveEnvironment()], false).then((result) => result.packages.map((_package) => _package.name)));
124
144
  }
125
145
  }));
126
146
  complete.next(() => {
@@ -128,10 +148,12 @@ complete.next(() => {
128
148
  });
129
149
  if (~process.argv.indexOf("--cleanup")) {
130
150
  complete.cleanupShellInitFile();
151
+ process.exit(0);
131
152
  }
132
153
  if (~process.argv.indexOf("--install")) {
133
154
  complete.setupShellInitFile();
134
155
  console.log("CLI installed successfully!");
156
+ process.exit(0);
135
157
  }
136
158
  complete.init();
137
159
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const chai_1 = require("chai");
7
+ const sinon_1 = __importDefault(require("sinon"));
8
+ const logger_1 = require("./logger");
9
+ describe("logAxiosError", () => {
10
+ let loggerStub;
11
+ let sandbox;
12
+ beforeEach(() => {
13
+ sandbox = sinon_1.default.createSandbox();
14
+ loggerStub = sandbox.stub(logger_1.logger);
15
+ });
16
+ afterEach(() => {
17
+ sandbox.restore();
18
+ });
19
+ it("should log 401 Unauthorized error", () => {
20
+ const error = {
21
+ response: {
22
+ status: 401,
23
+ data: null,
24
+ },
25
+ request: { path: "/api/test" },
26
+ isAxiosError: true,
27
+ };
28
+ (0, logger_1.logAxiosError)(error, false);
29
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Unauthorized"))).to.be
30
+ .true;
31
+ });
32
+ it("should log 403 Forbidden error", () => {
33
+ const error = {
34
+ response: {
35
+ status: 403,
36
+ data: null,
37
+ },
38
+ request: { path: "/api/test" },
39
+ isAxiosError: true,
40
+ };
41
+ (0, logger_1.logAxiosError)(error, false);
42
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Forbidden"))).to.be.true;
43
+ });
44
+ it("should log 500 Internal Server Error", () => {
45
+ const error = {
46
+ response: {
47
+ status: 500,
48
+ data: null,
49
+ },
50
+ request: { path: "/api/test" },
51
+ isAxiosError: true,
52
+ };
53
+ (0, logger_1.logAxiosError)(error, false);
54
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Internal Server Error")))
55
+ .to.be.true;
56
+ });
57
+ it("should log response data when present", () => {
58
+ const error = {
59
+ response: {
60
+ status: 400,
61
+ data: "Bad request details",
62
+ },
63
+ request: { path: "/api/test" },
64
+ isAxiosError: true,
65
+ };
66
+ (0, logger_1.logAxiosError)(error, false);
67
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Bad request details"))).to
68
+ .be.true;
69
+ });
70
+ it("should log debug info with status and path when debug is true", () => {
71
+ const error = {
72
+ response: {
73
+ status: 401,
74
+ data: null,
75
+ },
76
+ request: { path: "/api/test" },
77
+ isAxiosError: true,
78
+ };
79
+ (0, logger_1.logAxiosError)(error, true);
80
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Error 401 at /api/test")))
81
+ .to.be.true;
82
+ });
83
+ it("should not log debug info when debug is false", () => {
84
+ const error = {
85
+ response: {
86
+ status: 401,
87
+ data: null,
88
+ },
89
+ request: { path: "/api/test" },
90
+ isAxiosError: true,
91
+ };
92
+ (0, logger_1.logAxiosError)(error, false);
93
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Error 401 at"))).to.be
94
+ .false;
95
+ });
96
+ it("should handle request error with no response", () => {
97
+ const error = {
98
+ response: undefined,
99
+ request: {
100
+ _options: {
101
+ method: "GET",
102
+ path: "/api/resource",
103
+ hostname: "example.com",
104
+ port: 443,
105
+ },
106
+ },
107
+ code: "ECONNREFUSED",
108
+ message: "Connection refused",
109
+ isAxiosError: true,
110
+ };
111
+ (0, logger_1.logAxiosError)(error, false);
112
+ (0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Failed to GET resource /api/resource on example.com:443"))).to.be.true;
113
+ });
114
+ it("should handle setup error with no request or response", () => {
115
+ const error = {
116
+ response: undefined,
117
+ request: undefined,
118
+ message: "Invalid URL",
119
+ isAxiosError: true,
120
+ };
121
+ (0, logger_1.logAxiosError)(error, false);
122
+ (0, chai_1.expect)(loggerStub.error.calledWith("Error", "Invalid URL")).to.be.true;
123
+ });
124
+ });
125
+ //# sourceMappingURL=logger.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.spec.js","sourceRoot":"","sources":["../src/logger.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file.polyfill.js","sourceRoot":"","sources":["../../src/polyfills/file.polyfill.ts"],"names":[],"mappings":";;AAEA,wDAAwD;AACxD,8DAA8D;AAC9D,8DAA8D"}
1
+ {"version":3,"file":"file.polyfill.js","sourceRoot":"","sources":["../../src/polyfills/file.polyfill.ts"],"names":[],"mappings":";;AAGA,wDAAwD;AACxD,8DAA8D;AAC9D,8DAA8D"}
package/dist/utils.js CHANGED
@@ -12,10 +12,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.MAX_PAGE_SIZE = exports.DEFAULT_PAGE = exports.DEFAULT_PAGE_SIZE = void 0;
15
16
  exports.sleep = sleep;
16
17
  exports.prettifyJson = prettifyJson;
17
18
  exports.printOutError = printOutError;
18
19
  exports.getConfirmation = getConfirmation;
20
+ exports.parsePaginationParams = parsePaginationParams;
21
+ exports.extractTotalCount = extractTotalCount;
19
22
  const axios_1 = __importDefault(require("axios"));
20
23
  const inquirer_1 = __importDefault(require("inquirer"));
21
24
  const logger_1 = require("./logger");
@@ -48,4 +51,60 @@ function getConfirmation(message) {
48
51
  return answer.confirm;
49
52
  });
50
53
  }
54
+ exports.DEFAULT_PAGE_SIZE = -1; // -1 means return all records
55
+ exports.DEFAULT_PAGE = 1;
56
+ exports.MAX_PAGE_SIZE = 500;
57
+ function parsePaginationParams(page, pageSize) {
58
+ // If no page AND no pageSize specified, return all records
59
+ if (page === undefined && pageSize === undefined) {
60
+ logger_1.logger.info("--page-size not passed, returning all records");
61
+ return { limit: -1, offset: 0 };
62
+ }
63
+ // Parse pageSize
64
+ const parsedPageSize = typeof pageSize === "string" ? parseInt(pageSize, 10) : pageSize;
65
+ // If pageSize is explicitly -1, return all records
66
+ if (parsedPageSize === -1) {
67
+ return { limit: -1, offset: 0 };
68
+ }
69
+ // If page OR pageSize is provided, use pagination
70
+ // Default pageSize to 100 when page is provided but pageSize is not
71
+ const effectivePageSize = parsedPageSize !== undefined && !isNaN(parsedPageSize)
72
+ ? parsedPageSize
73
+ : page !== undefined
74
+ ? 100
75
+ : exports.DEFAULT_PAGE_SIZE;
76
+ // If we still have -1 (shouldn't happen, but safety check), return all
77
+ if (effectivePageSize === -1) {
78
+ return { limit: -1, offset: 0 };
79
+ }
80
+ // Use pagination logic
81
+ const parsedPage = typeof page === "string" ? parseInt(page, 10) : page || exports.DEFAULT_PAGE;
82
+ const validPage = Math.max(1, isNaN(parsedPage) ? exports.DEFAULT_PAGE : parsedPage);
83
+ const validPageSize = Math.min(Math.max(1, effectivePageSize), exports.MAX_PAGE_SIZE);
84
+ const offset = (validPage - 1) * validPageSize;
85
+ return {
86
+ limit: validPageSize,
87
+ offset: offset,
88
+ };
89
+ }
90
+ function extractTotalCount(headers) {
91
+ if (!headers || typeof headers !== "object") {
92
+ return undefined;
93
+ }
94
+ const h = headers;
95
+ const candidates = [h["x-total-count"], h["Total-Count"], h["total-count"]];
96
+ for (const totalCountHeader of candidates) {
97
+ if (totalCountHeader == null) {
98
+ continue;
99
+ }
100
+ const raw = Array.isArray(totalCountHeader)
101
+ ? totalCountHeader[0]
102
+ : totalCountHeader;
103
+ const count = parseInt(String(raw), 10);
104
+ if (!isNaN(count)) {
105
+ return count;
106
+ }
107
+ }
108
+ return undefined;
109
+ }
51
110
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,sBAEC;AAED,oCAEC;AAED,sCAUC;AAED,0CASC;AAjCD,kDAA0B;AAC1B,wDAAgC;AAChC,qCAAiD;AAEjD,SAAgB,KAAK,CAAC,UAAkB;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAgB,YAAY,CAAC,OAAe;IACzC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,aAAa,CAAC,CAAQ,EAAE,KAAc;IACnD,IAAI,eAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,IAAA,sBAAa,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACL,eAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACT,eAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;AACJ,CAAC;AAED,SAAsB,eAAe,CAAC,OAAe;;QAClD,MAAM,MAAM,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YAClC;gBACG,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO;aACT;SACH,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,OAAO,CAAC;IACzB,CAAC;CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}