@flowcore/sdk 1.50.0 → 1.52.0

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 (212) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/esm/commands/adapter/reset-adapter.d.ts +2 -2
  3. package/esm/commands/adapter/reset-adapter.d.ts.map +1 -1
  4. package/esm/commands/adapter/reset-adapter.js +1 -1
  5. package/esm/commands/iam/permissions/get-user-permissions.d.ts +48 -0
  6. package/esm/commands/iam/permissions/get-user-permissions.d.ts.map +1 -0
  7. package/esm/commands/iam/permissions/get-user-permissions.js +45 -0
  8. package/esm/commands/iam/policies/create-policy.d.ts +89 -0
  9. package/esm/commands/iam/policies/create-policy.d.ts.map +1 -0
  10. package/esm/commands/iam/policies/create-policy.js +69 -0
  11. package/esm/commands/iam/policies/get-policy.d.ts +35 -0
  12. package/esm/commands/iam/policies/get-policy.d.ts.map +1 -0
  13. package/esm/commands/iam/policies/get-policy.js +37 -0
  14. package/esm/commands/iam/policies/id/archive-policy.d.ts +45 -0
  15. package/esm/commands/iam/policies/id/archive-policy.d.ts.map +1 -0
  16. package/esm/commands/iam/policies/id/archive-policy.js +42 -0
  17. package/esm/commands/iam/policies/id/get-policy.d.ts +45 -0
  18. package/esm/commands/iam/policies/id/get-policy.d.ts.map +1 -0
  19. package/esm/commands/iam/policies/id/get-policy.js +40 -0
  20. package/esm/commands/iam/policies/id/update-policy.d.ts +53 -0
  21. package/esm/commands/iam/policies/id/update-policy.d.ts.map +1 -0
  22. package/esm/commands/iam/policies/id/update-policy.js +46 -0
  23. package/esm/commands/iam/policy-associations/get-key-policies.d.ts +35 -0
  24. package/esm/commands/iam/policy-associations/get-key-policies.d.ts.map +1 -0
  25. package/esm/commands/iam/policy-associations/get-key-policies.js +77 -0
  26. package/esm/commands/iam/policy-associations/get-organization-policies.d.ts +35 -0
  27. package/esm/commands/iam/policy-associations/get-organization-policies.d.ts.map +1 -0
  28. package/esm/commands/iam/policy-associations/get-organization-policies.js +80 -0
  29. package/esm/commands/iam/policy-associations/get-policy-associations.d.ts +83 -0
  30. package/esm/commands/iam/policy-associations/get-policy-associations.d.ts.map +1 -0
  31. package/esm/commands/iam/policy-associations/get-policy-associations.js +109 -0
  32. package/esm/commands/iam/policy-associations/get-role-policies.d.ts +35 -0
  33. package/esm/commands/iam/policy-associations/get-role-policies.d.ts.map +1 -0
  34. package/esm/commands/iam/policy-associations/get-role-policies.js +65 -0
  35. package/esm/commands/iam/policy-associations/get-user-policies.d.ts +37 -0
  36. package/esm/commands/iam/policy-associations/get-user-policies.d.ts.map +1 -0
  37. package/esm/commands/iam/policy-associations/get-user-policies.js +37 -0
  38. package/esm/commands/iam/policy-associations/link-key-policy.d.ts +53 -0
  39. package/esm/commands/iam/policy-associations/link-key-policy.d.ts.map +1 -0
  40. package/esm/commands/iam/policy-associations/link-key-policy.js +52 -0
  41. package/esm/commands/iam/policy-associations/link-role-policy.d.ts +53 -0
  42. package/esm/commands/iam/policy-associations/link-role-policy.d.ts.map +1 -0
  43. package/esm/commands/iam/policy-associations/link-role-policy.js +52 -0
  44. package/esm/commands/iam/policy-associations/link-user-policy.d.ts +53 -0
  45. package/esm/commands/iam/policy-associations/link-user-policy.d.ts.map +1 -0
  46. package/esm/commands/iam/policy-associations/link-user-policy.js +52 -0
  47. package/esm/commands/iam/policy-associations/unlink-key-policy.d.ts +41 -0
  48. package/esm/commands/iam/policy-associations/unlink-key-policy.d.ts.map +1 -0
  49. package/esm/commands/iam/policy-associations/unlink-key-policy.js +44 -0
  50. package/esm/commands/iam/policy-associations/unlink-role-policy.d.ts +41 -0
  51. package/esm/commands/iam/policy-associations/unlink-role-policy.d.ts.map +1 -0
  52. package/esm/commands/iam/policy-associations/unlink-role-policy.js +44 -0
  53. package/esm/commands/iam/policy-associations/unlink-user-policy.d.ts +41 -0
  54. package/esm/commands/iam/policy-associations/unlink-user-policy.d.ts.map +1 -0
  55. package/esm/commands/iam/policy-associations/unlink-user-policy.js +44 -0
  56. package/esm/commands/iam/role-associations/get-key-roles.d.ts +35 -0
  57. package/esm/commands/iam/role-associations/get-key-roles.d.ts.map +1 -0
  58. package/esm/commands/iam/role-associations/get-key-roles.js +37 -0
  59. package/esm/commands/iam/role-associations/get-organization-roles.d.ts +35 -0
  60. package/esm/commands/iam/role-associations/get-organization-roles.d.ts.map +1 -0
  61. package/esm/commands/iam/role-associations/get-organization-roles.js +54 -0
  62. package/esm/commands/iam/role-associations/get-role-associations.d.ts +70 -0
  63. package/esm/commands/iam/role-associations/get-role-associations.d.ts.map +1 -0
  64. package/esm/commands/iam/role-associations/get-role-associations.js +59 -0
  65. package/esm/commands/iam/role-associations/get-user-roles.d.ts +37 -0
  66. package/esm/commands/iam/role-associations/get-user-roles.d.ts.map +1 -0
  67. package/esm/commands/iam/role-associations/get-user-roles.js +42 -0
  68. package/esm/commands/iam/role-associations/link-key-role.d.ts +53 -0
  69. package/esm/commands/iam/role-associations/link-key-role.d.ts.map +1 -0
  70. package/esm/commands/iam/role-associations/link-key-role.js +52 -0
  71. package/esm/commands/iam/role-associations/link-user-role.d.ts +53 -0
  72. package/esm/commands/iam/role-associations/link-user-role.d.ts.map +1 -0
  73. package/esm/commands/iam/role-associations/link-user-role.js +52 -0
  74. package/esm/commands/iam/role-associations/unlink-key-role.d.ts +41 -0
  75. package/esm/commands/iam/role-associations/unlink-key-role.d.ts.map +1 -0
  76. package/esm/commands/iam/role-associations/unlink-key-role.js +44 -0
  77. package/esm/commands/iam/role-associations/unlink-user-role.d.ts +41 -0
  78. package/esm/commands/iam/role-associations/unlink-user-role.d.ts.map +1 -0
  79. package/esm/commands/iam/role-associations/unlink-user-role.js +44 -0
  80. package/esm/commands/iam/roles/create-role.d.ts +60 -0
  81. package/esm/commands/iam/roles/create-role.d.ts.map +1 -0
  82. package/esm/commands/iam/roles/create-role.js +56 -0
  83. package/esm/commands/iam/roles/get-roles.d.ts +35 -0
  84. package/esm/commands/iam/roles/get-roles.d.ts.map +1 -0
  85. package/esm/commands/iam/roles/get-roles.js +37 -0
  86. package/esm/commands/iam/roles/id/archive-role.d.ts +45 -0
  87. package/esm/commands/iam/roles/id/archive-role.d.ts.map +1 -0
  88. package/esm/commands/iam/roles/id/archive-role.js +42 -0
  89. package/esm/commands/iam/roles/id/get-role.d.ts +35 -0
  90. package/esm/commands/iam/roles/id/get-role.d.ts.map +1 -0
  91. package/esm/commands/iam/roles/id/get-role.js +36 -0
  92. package/esm/commands/iam/roles/id/update-role.d.ts +47 -0
  93. package/esm/commands/iam/roles/id/update-role.d.ts.map +1 -0
  94. package/esm/commands/iam/roles/id/update-role.js +47 -0
  95. package/esm/commands/iam/tenant-iam-audit/get-audit-for-tenant.d.ts +88 -0
  96. package/esm/commands/iam/tenant-iam-audit/get-audit-for-tenant.d.ts.map +1 -0
  97. package/esm/commands/iam/tenant-iam-audit/get-audit-for-tenant.js +102 -0
  98. package/esm/commands/iam/validate/validate-key.d.ts +43 -0
  99. package/esm/commands/iam/validate/validate-key.d.ts.map +1 -0
  100. package/esm/commands/iam/validate/validate-key.js +43 -0
  101. package/esm/commands/iam/validate/validate-user.d.ts +77 -0
  102. package/esm/commands/iam/validate/validate-user.d.ts.map +1 -0
  103. package/esm/commands/iam/validate/validate-user.js +58 -0
  104. package/esm/commands/index.d.ts +33 -0
  105. package/esm/commands/index.d.ts.map +1 -1
  106. package/esm/commands/index.js +34 -0
  107. package/package.json +1 -1
  108. package/script/commands/adapter/reset-adapter.d.ts +2 -2
  109. package/script/commands/adapter/reset-adapter.d.ts.map +1 -1
  110. package/script/commands/adapter/reset-adapter.js +2 -2
  111. package/script/commands/iam/permissions/get-user-permissions.d.ts +48 -0
  112. package/script/commands/iam/permissions/get-user-permissions.d.ts.map +1 -0
  113. package/script/commands/iam/permissions/get-user-permissions.js +49 -0
  114. package/script/commands/iam/policies/create-policy.d.ts +89 -0
  115. package/script/commands/iam/policies/create-policy.d.ts.map +1 -0
  116. package/script/commands/iam/policies/create-policy.js +73 -0
  117. package/script/commands/iam/policies/get-policy.d.ts +35 -0
  118. package/script/commands/iam/policies/get-policy.d.ts.map +1 -0
  119. package/script/commands/iam/policies/get-policy.js +41 -0
  120. package/script/commands/iam/policies/id/archive-policy.d.ts +45 -0
  121. package/script/commands/iam/policies/id/archive-policy.d.ts.map +1 -0
  122. package/script/commands/iam/policies/id/archive-policy.js +46 -0
  123. package/script/commands/iam/policies/id/get-policy.d.ts +45 -0
  124. package/script/commands/iam/policies/id/get-policy.d.ts.map +1 -0
  125. package/script/commands/iam/policies/id/get-policy.js +44 -0
  126. package/script/commands/iam/policies/id/update-policy.d.ts +53 -0
  127. package/script/commands/iam/policies/id/update-policy.d.ts.map +1 -0
  128. package/script/commands/iam/policies/id/update-policy.js +50 -0
  129. package/script/commands/iam/policy-associations/get-key-policies.d.ts +35 -0
  130. package/script/commands/iam/policy-associations/get-key-policies.d.ts.map +1 -0
  131. package/script/commands/iam/policy-associations/get-key-policies.js +81 -0
  132. package/script/commands/iam/policy-associations/get-organization-policies.d.ts +35 -0
  133. package/script/commands/iam/policy-associations/get-organization-policies.d.ts.map +1 -0
  134. package/script/commands/iam/policy-associations/get-organization-policies.js +84 -0
  135. package/script/commands/iam/policy-associations/get-policy-associations.d.ts +83 -0
  136. package/script/commands/iam/policy-associations/get-policy-associations.d.ts.map +1 -0
  137. package/script/commands/iam/policy-associations/get-policy-associations.js +113 -0
  138. package/script/commands/iam/policy-associations/get-role-policies.d.ts +35 -0
  139. package/script/commands/iam/policy-associations/get-role-policies.d.ts.map +1 -0
  140. package/script/commands/iam/policy-associations/get-role-policies.js +69 -0
  141. package/script/commands/iam/policy-associations/get-user-policies.d.ts +37 -0
  142. package/script/commands/iam/policy-associations/get-user-policies.d.ts.map +1 -0
  143. package/script/commands/iam/policy-associations/get-user-policies.js +41 -0
  144. package/script/commands/iam/policy-associations/link-key-policy.d.ts +53 -0
  145. package/script/commands/iam/policy-associations/link-key-policy.d.ts.map +1 -0
  146. package/script/commands/iam/policy-associations/link-key-policy.js +56 -0
  147. package/script/commands/iam/policy-associations/link-role-policy.d.ts +53 -0
  148. package/script/commands/iam/policy-associations/link-role-policy.d.ts.map +1 -0
  149. package/script/commands/iam/policy-associations/link-role-policy.js +56 -0
  150. package/script/commands/iam/policy-associations/link-user-policy.d.ts +53 -0
  151. package/script/commands/iam/policy-associations/link-user-policy.d.ts.map +1 -0
  152. package/script/commands/iam/policy-associations/link-user-policy.js +56 -0
  153. package/script/commands/iam/policy-associations/unlink-key-policy.d.ts +41 -0
  154. package/script/commands/iam/policy-associations/unlink-key-policy.d.ts.map +1 -0
  155. package/script/commands/iam/policy-associations/unlink-key-policy.js +48 -0
  156. package/script/commands/iam/policy-associations/unlink-role-policy.d.ts +41 -0
  157. package/script/commands/iam/policy-associations/unlink-role-policy.d.ts.map +1 -0
  158. package/script/commands/iam/policy-associations/unlink-role-policy.js +48 -0
  159. package/script/commands/iam/policy-associations/unlink-user-policy.d.ts +41 -0
  160. package/script/commands/iam/policy-associations/unlink-user-policy.d.ts.map +1 -0
  161. package/script/commands/iam/policy-associations/unlink-user-policy.js +48 -0
  162. package/script/commands/iam/role-associations/get-key-roles.d.ts +35 -0
  163. package/script/commands/iam/role-associations/get-key-roles.d.ts.map +1 -0
  164. package/script/commands/iam/role-associations/get-key-roles.js +41 -0
  165. package/script/commands/iam/role-associations/get-organization-roles.d.ts +35 -0
  166. package/script/commands/iam/role-associations/get-organization-roles.d.ts.map +1 -0
  167. package/script/commands/iam/role-associations/get-organization-roles.js +58 -0
  168. package/script/commands/iam/role-associations/get-role-associations.d.ts +70 -0
  169. package/script/commands/iam/role-associations/get-role-associations.d.ts.map +1 -0
  170. package/script/commands/iam/role-associations/get-role-associations.js +63 -0
  171. package/script/commands/iam/role-associations/get-user-roles.d.ts +37 -0
  172. package/script/commands/iam/role-associations/get-user-roles.d.ts.map +1 -0
  173. package/script/commands/iam/role-associations/get-user-roles.js +46 -0
  174. package/script/commands/iam/role-associations/link-key-role.d.ts +53 -0
  175. package/script/commands/iam/role-associations/link-key-role.d.ts.map +1 -0
  176. package/script/commands/iam/role-associations/link-key-role.js +56 -0
  177. package/script/commands/iam/role-associations/link-user-role.d.ts +53 -0
  178. package/script/commands/iam/role-associations/link-user-role.d.ts.map +1 -0
  179. package/script/commands/iam/role-associations/link-user-role.js +56 -0
  180. package/script/commands/iam/role-associations/unlink-key-role.d.ts +41 -0
  181. package/script/commands/iam/role-associations/unlink-key-role.d.ts.map +1 -0
  182. package/script/commands/iam/role-associations/unlink-key-role.js +48 -0
  183. package/script/commands/iam/role-associations/unlink-user-role.d.ts +41 -0
  184. package/script/commands/iam/role-associations/unlink-user-role.d.ts.map +1 -0
  185. package/script/commands/iam/role-associations/unlink-user-role.js +48 -0
  186. package/script/commands/iam/roles/create-role.d.ts +60 -0
  187. package/script/commands/iam/roles/create-role.d.ts.map +1 -0
  188. package/script/commands/iam/roles/create-role.js +60 -0
  189. package/script/commands/iam/roles/get-roles.d.ts +35 -0
  190. package/script/commands/iam/roles/get-roles.d.ts.map +1 -0
  191. package/script/commands/iam/roles/get-roles.js +41 -0
  192. package/script/commands/iam/roles/id/archive-role.d.ts +45 -0
  193. package/script/commands/iam/roles/id/archive-role.d.ts.map +1 -0
  194. package/script/commands/iam/roles/id/archive-role.js +46 -0
  195. package/script/commands/iam/roles/id/get-role.d.ts +35 -0
  196. package/script/commands/iam/roles/id/get-role.d.ts.map +1 -0
  197. package/script/commands/iam/roles/id/get-role.js +40 -0
  198. package/script/commands/iam/roles/id/update-role.d.ts +47 -0
  199. package/script/commands/iam/roles/id/update-role.d.ts.map +1 -0
  200. package/script/commands/iam/roles/id/update-role.js +51 -0
  201. package/script/commands/iam/tenant-iam-audit/get-audit-for-tenant.d.ts +88 -0
  202. package/script/commands/iam/tenant-iam-audit/get-audit-for-tenant.d.ts.map +1 -0
  203. package/script/commands/iam/tenant-iam-audit/get-audit-for-tenant.js +106 -0
  204. package/script/commands/iam/validate/validate-key.d.ts +43 -0
  205. package/script/commands/iam/validate/validate-key.d.ts.map +1 -0
  206. package/script/commands/iam/validate/validate-key.js +47 -0
  207. package/script/commands/iam/validate/validate-user.d.ts +77 -0
  208. package/script/commands/iam/validate/validate-user.d.ts.map +1 -0
  209. package/script/commands/iam/validate/validate-user.js +62 -0
  210. package/script/commands/index.d.ts +33 -0
  211. package/script/commands/index.d.ts.map +1 -1
  212. package/script/commands/index.js +34 -0
@@ -0,0 +1,35 @@
1
+ import { Command } from "../../../common/command.js";
2
+ import { type Policy } from "../policies/create-policy.js";
3
+ /**
4
+ * The input for the key policies command
5
+ */
6
+ export interface KeyPoliciesInput {
7
+ /** The key id */
8
+ keyId: string;
9
+ }
10
+ /**
11
+ * Fetch policies for a key
12
+ */
13
+ export declare class KeyPoliciesCommand extends Command<KeyPoliciesInput, Policy[]> {
14
+ /**
15
+ * Whether the command should retry on failure
16
+ */
17
+ protected retryOnFailure: boolean;
18
+ /**
19
+ * Get the method
20
+ */
21
+ protected getMethod(): string;
22
+ /**
23
+ * Get the base url
24
+ */
25
+ protected getBaseUrl(): string;
26
+ /**
27
+ * Get the path
28
+ */
29
+ protected getPath(): string;
30
+ /**
31
+ * Parse the response
32
+ */
33
+ protected parseResponse(rawResponse: unknown): Policy[];
34
+ }
35
+ //# sourceMappingURL=get-key-policies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-key-policies.d.ts","sourceRoot":"","sources":["../../../../src/commands/iam/policy-associations/get-key-policies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,8BAA8B,CAAA;AAExE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAA;CACd;AAsED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,OAAO,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IACzE;;OAEG;IACH,UAAmB,cAAc,UAAO;IAExC;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE;CAGjE"}
@@ -0,0 +1,77 @@
1
+ import { Command } from "../../../common/command.js";
2
+ import { parseResponseHelper } from "../../../utils/parse-response-helper.js";
3
+ import { Type } from "@sinclair/typebox";
4
+ import { PolicySchema } from "../policies/create-policy.js";
5
+ /**
6
+ * Custom parser to handle non-boolean flowcoreManaged values
7
+ */
8
+ const parseKeyPoliciesResponse = (rawResponse) => {
9
+ // Check if the response is null or undefined
10
+ if (!rawResponse) {
11
+ return [];
12
+ }
13
+ // Check if it's already an array
14
+ if (!Array.isArray(rawResponse)) {
15
+ // Check if it's wrapped in an object
16
+ if (typeof rawResponse === "object" && "data" in rawResponse) {
17
+ return parseKeyPoliciesResponse(rawResponse.data);
18
+ }
19
+ if (typeof rawResponse === "object" && "policies" in rawResponse) {
20
+ return parseKeyPoliciesResponse(rawResponse.policies);
21
+ }
22
+ return [];
23
+ }
24
+ try {
25
+ // First try standard parsing
26
+ return parseResponseHelper(Type.Array(PolicySchema), rawResponse);
27
+ }
28
+ catch (error) {
29
+ // If there's an error, check if it's related to flowcoreManaged
30
+ if (error instanceof Error &&
31
+ error.message.includes("flowcoreManaged") &&
32
+ Array.isArray(rawResponse)) {
33
+ // Convert flowcoreManaged to boolean for each policy
34
+ const sanitizedPolicies = rawResponse.map((policy) => ({
35
+ ...policy,
36
+ // Convert to boolean using double negation
37
+ flowcoreManaged: policy.flowcoreManaged === true || !!policy.flowcoreManaged,
38
+ }));
39
+ // Try parsing again with the sanitized data
40
+ return parseResponseHelper(Type.Array(PolicySchema), sanitizedPolicies);
41
+ }
42
+ throw error;
43
+ }
44
+ };
45
+ /**
46
+ * Fetch policies for a key
47
+ */
48
+ export class KeyPoliciesCommand extends Command {
49
+ /**
50
+ * Whether the command should retry on failure
51
+ */
52
+ retryOnFailure = true;
53
+ /**
54
+ * Get the method
55
+ */
56
+ getMethod() {
57
+ return "GET";
58
+ }
59
+ /**
60
+ * Get the base url
61
+ */
62
+ getBaseUrl() {
63
+ return "https://iam.api.flowcore.io";
64
+ }
65
+ /**
66
+ * Get the path
67
+ */
68
+ getPath() {
69
+ return `/api/v1/policy-associations/key/${this.input.keyId}/`;
70
+ }
71
+ /**
72
+ * Parse the response
73
+ */
74
+ parseResponse(rawResponse) {
75
+ return parseKeyPoliciesResponse(rawResponse);
76
+ }
77
+ }
@@ -0,0 +1,35 @@
1
+ import { Command } from "../../../common/command.js";
2
+ import { type Policy } from "../policies/create-policy.js";
3
+ /**
4
+ * The input for the organization policies command
5
+ */
6
+ export interface OrganizationPoliciesInput {
7
+ /** The organization id */
8
+ organizationId: string;
9
+ }
10
+ /**
11
+ * Fetch policies for an organization
12
+ */
13
+ export declare class OrganizationPoliciesCommand extends Command<OrganizationPoliciesInput, Policy[]> {
14
+ /**
15
+ * Whether the command should retry on failure
16
+ */
17
+ protected retryOnFailure: boolean;
18
+ /**
19
+ * Get the method
20
+ */
21
+ protected getMethod(): string;
22
+ /**
23
+ * Get the base url
24
+ */
25
+ protected getBaseUrl(): string;
26
+ /**
27
+ * Get the path
28
+ */
29
+ protected getPath(): string;
30
+ /**
31
+ * Parse the response
32
+ */
33
+ protected parseResponse(rawResponse: unknown): Policy[];
34
+ }
35
+ //# sourceMappingURL=get-organization-policies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-organization-policies.d.ts","sourceRoot":"","sources":["../../../../src/commands/iam/policy-associations/get-organization-policies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,8BAA8B,CAAA;AAExE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,0BAA0B;IAC1B,cAAc,EAAE,MAAM,CAAA;CACvB;AAED;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,OAAO,CACtD,yBAAyB,EACzB,MAAM,EAAE,CACT;IACC;;OAEG;IACH,UAAmB,cAAc,UAAO;IAExC;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAUvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAQpC;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE;CAoCjE"}
@@ -0,0 +1,80 @@
1
+ import { Command } from "../../../common/command.js";
2
+ import { parseResponseHelper } from "../../../utils/parse-response-helper.js";
3
+ import { Type } from "@sinclair/typebox";
4
+ import { PolicySchema } from "../policies/create-policy.js";
5
+ /**
6
+ * Fetch policies for an organization
7
+ */
8
+ export class OrganizationPoliciesCommand extends Command {
9
+ /**
10
+ * Whether the command should retry on failure
11
+ */
12
+ retryOnFailure = true;
13
+ /**
14
+ * Get the method
15
+ */
16
+ getMethod() {
17
+ return "GET";
18
+ }
19
+ /**
20
+ * Get the base url
21
+ */
22
+ getBaseUrl() {
23
+ // Use a proxy URL in development mode
24
+ // if (process.env.NODE_ENV === "development") {
25
+ // return typeof window === "undefined"
26
+ // ? "http://localhost:3000" // Server-side in dev
27
+ // : ""; // Client-side in dev (relative URL)
28
+ // }
29
+ return "https://iam.api.flowcore.io";
30
+ }
31
+ /**
32
+ * Get the path
33
+ */
34
+ getPath() {
35
+ // Use the proxy API in development mode
36
+ // if (process.env.NODE_ENV === "development") {
37
+ // return `/api/proxy/iam/policy-associations/organization/${this.input.organizationId}`;
38
+ // }
39
+ return `/api/v1/policy-associations/organization/${this.input.organizationId}`;
40
+ }
41
+ /**
42
+ * Parse the response
43
+ */
44
+ parseResponse(rawResponse) {
45
+ try {
46
+ // Handle empty responses
47
+ if (!rawResponse) {
48
+ return [];
49
+ }
50
+ // If we get an array directly, try to parse each item
51
+ if (Array.isArray(rawResponse)) {
52
+ return rawResponse.map((item) => {
53
+ try {
54
+ return parseResponseHelper(PolicySchema, item);
55
+ }
56
+ catch (_error) {
57
+ // Return a minimal valid policy object
58
+ return {
59
+ id: item.id || "unknown",
60
+ name: item.name || "Unknown Policy",
61
+ version: item.version || "1.0",
62
+ description: item.description || "",
63
+ flowcoreManaged: !!item.flowcoreManaged,
64
+ policyDocuments: item.policyDocuments || [],
65
+ organizationId: this.input.organizationId,
66
+ frn: item.frn ||
67
+ `frn::${this.input.organizationId}:policy/${item.id || "unknown"}`,
68
+ archived: item.archived === undefined ? false : !!item.archived,
69
+ };
70
+ }
71
+ });
72
+ }
73
+ // Try the normal parsing
74
+ return parseResponseHelper(Type.Array(PolicySchema), rawResponse);
75
+ }
76
+ catch (error) {
77
+ throw error;
78
+ }
79
+ }
80
+ }
@@ -0,0 +1,83 @@
1
+ import { Command } from "../../../common/command.js";
2
+ import { type Static, type TArray, type TObject, type TString } from "@sinclair/typebox";
3
+ /**
4
+ * The schema for a policy-key association
5
+ */
6
+ export declare const PolicyKeyAssociationSchema: TObject<{
7
+ policyId: TString;
8
+ organizationId: TString;
9
+ keyId: TString;
10
+ }>;
11
+ /**
12
+ * The schema for a policy-user association
13
+ */
14
+ export declare const PolicyUserAssociationSchema: TObject<{
15
+ policyId: TString;
16
+ organizationId: TString;
17
+ userId: TString;
18
+ }>;
19
+ /**
20
+ * The schema for a policy-role association
21
+ */
22
+ export declare const PolicyRoleAssociationSchema: TObject<{
23
+ policyId: TString;
24
+ organizationId: TString;
25
+ roleId: TString;
26
+ }>;
27
+ /**
28
+ * The schema for policy associations
29
+ */
30
+ export declare const PolicyAssociationsSchema: TObject<{
31
+ keys: TArray<typeof PolicyKeyAssociationSchema>;
32
+ users: TArray<typeof PolicyUserAssociationSchema>;
33
+ roles: TArray<typeof PolicyRoleAssociationSchema>;
34
+ }>;
35
+ /**
36
+ * The policy-key association type
37
+ */
38
+ export type PolicyKeyAssociation = Static<typeof PolicyKeyAssociationSchema>;
39
+ /**
40
+ * The policy-user association type
41
+ */
42
+ export type PolicyUserAssociation = Static<typeof PolicyUserAssociationSchema>;
43
+ /**
44
+ * The policy-role association type
45
+ */
46
+ export type PolicyRoleAssociation = Static<typeof PolicyRoleAssociationSchema>;
47
+ /**
48
+ * The policy associations type
49
+ */
50
+ export type PolicyAssociations = Static<typeof PolicyAssociationsSchema>;
51
+ /**
52
+ * The input for the policy associations command
53
+ */
54
+ export interface PolicyAssociationsInput {
55
+ /** The policy id */
56
+ policyId: string;
57
+ }
58
+ /**
59
+ * Fetch associations for a policy
60
+ */
61
+ export declare class PolicyAssociationsCommand extends Command<PolicyAssociationsInput, PolicyAssociations> {
62
+ /**
63
+ * Whether the command should retry on failure
64
+ */
65
+ protected retryOnFailure: boolean;
66
+ /**
67
+ * Get the method
68
+ */
69
+ protected getMethod(): string;
70
+ /**
71
+ * Get the base url
72
+ */
73
+ protected getBaseUrl(): string;
74
+ /**
75
+ * Get the path
76
+ */
77
+ protected getPath(): string;
78
+ /**
79
+ * Parse the response
80
+ */
81
+ protected parseResponse(rawResponse: unknown): PolicyAssociations;
82
+ }
83
+ //# sourceMappingURL=get-policy-associations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-policy-associations.d.ts","sourceRoot":"","sources":["../../../../src/commands/iam/policy-associations/get-policy-associations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAA;AAE9F;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC;IAC/C,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;CACf,CAIC,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,OAAO,CAAC;IAChD,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,MAAM,EAAE,OAAO,CAAA;CAChB,CAIC,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,OAAO,CAAC;IAChD,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,MAAM,EAAE,OAAO,CAAA;CAChB,CAIC,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,OAAO,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAA;IAC/C,KAAK,EAAE,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAA;IACjD,KAAK,EAAE,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAA;CAClD,CAIC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAE5E;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE9E;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE9E;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAExE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAsDD;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,OAAO,CACpD,uBAAuB,EACvB,kBAAkB,CACnB;IACC;;OAEG;IACH,UAAmB,cAAc,UAAO;IAExC;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,kBAAkB;CAG3E"}
@@ -0,0 +1,109 @@
1
+ import { Command } from "../../../common/command.js";
2
+ import { parseResponseHelper } from "../../../utils/parse-response-helper.js";
3
+ import { Type } from "@sinclair/typebox";
4
+ /**
5
+ * The schema for a policy-key association
6
+ */
7
+ export const PolicyKeyAssociationSchema = Type.Object({
8
+ policyId: Type.String(),
9
+ organizationId: Type.String(),
10
+ keyId: Type.String(),
11
+ });
12
+ /**
13
+ * The schema for a policy-user association
14
+ */
15
+ export const PolicyUserAssociationSchema = Type.Object({
16
+ policyId: Type.String(),
17
+ organizationId: Type.String(),
18
+ userId: Type.String(),
19
+ });
20
+ /**
21
+ * The schema for a policy-role association
22
+ */
23
+ export const PolicyRoleAssociationSchema = Type.Object({
24
+ policyId: Type.String(),
25
+ organizationId: Type.String(),
26
+ roleId: Type.String(),
27
+ });
28
+ /**
29
+ * The schema for policy associations
30
+ */
31
+ export const PolicyAssociationsSchema = Type.Object({
32
+ keys: Type.Array(PolicyKeyAssociationSchema),
33
+ users: Type.Array(PolicyUserAssociationSchema),
34
+ roles: Type.Array(PolicyRoleAssociationSchema),
35
+ });
36
+ /**
37
+ * Parse policy associations response with fallbacks for missing data
38
+ */
39
+ const parsePolicyAssociationsResponse = (rawResponse) => {
40
+ try {
41
+ // First try standard parsing
42
+ return parseResponseHelper(PolicyAssociationsSchema, rawResponse);
43
+ }
44
+ catch (_error) {
45
+ // If it's not an object at all, return empty arrays
46
+ if (!rawResponse || typeof rawResponse !== "object") {
47
+ return { keys: [], users: [], roles: [] };
48
+ }
49
+ // Extract the raw data with safe fallbacks
50
+ const rawData = rawResponse;
51
+ // Ensure each section exists and is an array
52
+ let keys = Array.isArray(rawData.keys) ? rawData.keys : [];
53
+ let users = Array.isArray(rawData.users) ? rawData.users : [];
54
+ let roles = Array.isArray(rawData.roles) ? rawData.roles : [];
55
+ // Try to validate each section separately
56
+ try {
57
+ keys = parseResponseHelper(Type.Array(PolicyKeyAssociationSchema), keys);
58
+ }
59
+ catch (_error) {
60
+ keys = [];
61
+ }
62
+ try {
63
+ users = parseResponseHelper(Type.Array(PolicyUserAssociationSchema), users);
64
+ }
65
+ catch (_error) {
66
+ users = [];
67
+ }
68
+ try {
69
+ roles = parseResponseHelper(Type.Array(PolicyRoleAssociationSchema), roles);
70
+ }
71
+ catch (_error) {
72
+ roles = [];
73
+ }
74
+ return { keys, users, roles };
75
+ }
76
+ };
77
+ /**
78
+ * Fetch associations for a policy
79
+ */
80
+ export class PolicyAssociationsCommand extends Command {
81
+ /**
82
+ * Whether the command should retry on failure
83
+ */
84
+ retryOnFailure = true;
85
+ /**
86
+ * Get the method
87
+ */
88
+ getMethod() {
89
+ return "GET";
90
+ }
91
+ /**
92
+ * Get the base url
93
+ */
94
+ getBaseUrl() {
95
+ return "https://iam.api.flowcore.io";
96
+ }
97
+ /**
98
+ * Get the path
99
+ */
100
+ getPath() {
101
+ return `/api/v1/policy-associations/${this.input.policyId}`;
102
+ }
103
+ /**
104
+ * Parse the response
105
+ */
106
+ parseResponse(rawResponse) {
107
+ return parsePolicyAssociationsResponse(rawResponse);
108
+ }
109
+ }
@@ -0,0 +1,35 @@
1
+ import { Command } from "../../../common/command.js";
2
+ import { type Policy } from "../policies/create-policy.js";
3
+ /**
4
+ * The input for the role policies command
5
+ */
6
+ export interface RolePoliciesInput {
7
+ /** The role id */
8
+ roleId: string;
9
+ }
10
+ /**
11
+ * Fetch policies for a role
12
+ */
13
+ export declare class RolePoliciesCommand extends Command<RolePoliciesInput, Policy[]> {
14
+ /**
15
+ * Whether the command should retry on failure
16
+ */
17
+ protected retryOnFailure: boolean;
18
+ /**
19
+ * Get the method
20
+ */
21
+ protected getMethod(): string;
22
+ /**
23
+ * Get the base url
24
+ */
25
+ protected getBaseUrl(): string;
26
+ /**
27
+ * Get the path
28
+ */
29
+ protected getPath(): string;
30
+ /**
31
+ * Parse the response
32
+ */
33
+ protected parseResponse(rawResponse: unknown): Policy[];
34
+ }
35
+ //# sourceMappingURL=get-role-policies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-role-policies.d.ts","sourceRoot":"","sources":["../../../../src/commands/iam/policy-associations/get-role-policies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,8BAA8B,CAAA;AAExE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAA;CACf;AAsDD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,OAAO,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC3E;;OAEG;IACH,UAAmB,cAAc,UAAO;IAExC;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE;CAGjE"}
@@ -0,0 +1,65 @@
1
+ import { Command } from "../../../common/command.js";
2
+ import { parseResponseHelper } from "../../../utils/parse-response-helper.js";
3
+ import { Type } from "@sinclair/typebox";
4
+ import { PolicySchema } from "../policies/create-policy.js";
5
+ /**
6
+ * Custom parser to handle non-boolean flowcoreManaged values
7
+ */
8
+ const parseRolePoliciesResponse = (rawResponse) => {
9
+ try {
10
+ // First try standard parsing
11
+ return parseResponseHelper(Type.Array(PolicySchema), rawResponse);
12
+ }
13
+ catch (error) {
14
+ // If there's an error, check if it's related to flowcoreManaged
15
+ if (error instanceof Error &&
16
+ error.message.includes("flowcoreManaged") &&
17
+ Array.isArray(rawResponse)) {
18
+ // Convert flowcoreManaged to boolean for each policy
19
+ const sanitizedPolicies = rawResponse.map((policy) => ({
20
+ ...policy,
21
+ // Convert to boolean with explicit type-safe conversion
22
+ flowcoreManaged: policy.flowcoreManaged === true ||
23
+ policy.flowcoreManaged === "true" ||
24
+ (typeof policy.flowcoreManaged === "boolean" && policy.flowcoreManaged),
25
+ }));
26
+ // Try parsing again with the sanitized data
27
+ return parseResponseHelper(Type.Array(PolicySchema), sanitizedPolicies);
28
+ }
29
+ // If not a flowcoreManaged error or not an array, rethrow
30
+ throw error;
31
+ }
32
+ };
33
+ /**
34
+ * Fetch policies for a role
35
+ */
36
+ export class RolePoliciesCommand extends Command {
37
+ /**
38
+ * Whether the command should retry on failure
39
+ */
40
+ retryOnFailure = true;
41
+ /**
42
+ * Get the method
43
+ */
44
+ getMethod() {
45
+ return "GET";
46
+ }
47
+ /**
48
+ * Get the base url
49
+ */
50
+ getBaseUrl() {
51
+ return "https://iam.api.flowcore.io";
52
+ }
53
+ /**
54
+ * Get the path
55
+ */
56
+ getPath() {
57
+ return `/api/v1/policy-associations/role/${this.input.roleId}/`;
58
+ }
59
+ /**
60
+ * Parse the response
61
+ */
62
+ parseResponse(rawResponse) {
63
+ return parseRolePoliciesResponse(rawResponse);
64
+ }
65
+ }
@@ -0,0 +1,37 @@
1
+ import { Command } from "../../../common/command.js";
2
+ import { type Policy } from "../policies/create-policy.js";
3
+ /**
4
+ * The input for the user policies command
5
+ */
6
+ export interface UserPoliciesInput {
7
+ /** The user id */
8
+ userId: string;
9
+ /** The optional organization id */
10
+ organizationId?: string;
11
+ }
12
+ /**
13
+ * Fetch policies for a user
14
+ */
15
+ export declare class UserPoliciesCommand extends Command<UserPoliciesInput, Policy[]> {
16
+ /**
17
+ * Whether the command should retry on failure
18
+ */
19
+ protected retryOnFailure: boolean;
20
+ /**
21
+ * Get the method
22
+ */
23
+ protected getMethod(): string;
24
+ /**
25
+ * Get the base url
26
+ */
27
+ protected getBaseUrl(): string;
28
+ /**
29
+ * Get the path
30
+ */
31
+ protected getPath(): string;
32
+ /**
33
+ * Parse the response
34
+ */
35
+ protected parseResponse(rawResponse: unknown): Policy[];
36
+ }
37
+ //# sourceMappingURL=get-user-policies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-user-policies.d.ts","sourceRoot":"","sources":["../../../../src/commands/iam/policy-associations/get-user-policies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,8BAA8B,CAAA;AAExE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,OAAO,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC3E;;OAEG;IACH,UAAmB,cAAc,UAAO;IAExC;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE;CAGjE"}
@@ -0,0 +1,37 @@
1
+ import { Command } from "../../../common/command.js";
2
+ import { parseResponseHelper } from "../../../utils/parse-response-helper.js";
3
+ import { Type } from "@sinclair/typebox";
4
+ import { PolicySchema } from "../policies/create-policy.js";
5
+ /**
6
+ * Fetch policies for a user
7
+ */
8
+ export class UserPoliciesCommand extends Command {
9
+ /**
10
+ * Whether the command should retry on failure
11
+ */
12
+ retryOnFailure = true;
13
+ /**
14
+ * Get the method
15
+ */
16
+ getMethod() {
17
+ return "GET";
18
+ }
19
+ /**
20
+ * Get the base url
21
+ */
22
+ getBaseUrl() {
23
+ return "https://iam.api.flowcore.io";
24
+ }
25
+ /**
26
+ * Get the path
27
+ */
28
+ getPath() {
29
+ return `/api/v1/policy-associations/user/${this.input.userId}/`;
30
+ }
31
+ /**
32
+ * Parse the response
33
+ */
34
+ parseResponse(rawResponse) {
35
+ return parseResponseHelper(Type.Array(PolicySchema), rawResponse);
36
+ }
37
+ }
@@ -0,0 +1,53 @@
1
+ import { Command } from "../../../common/command.js";
2
+ import { type Static, type TObject, type TString } from "@sinclair/typebox";
3
+ /**
4
+ * The schema for a key policy link response
5
+ */
6
+ export declare const KeyPolicyLinkSchema: TObject<{
7
+ policyId: TString;
8
+ organizationId: TString;
9
+ keyId: TString;
10
+ }>;
11
+ /**
12
+ * The key policy link response type
13
+ */
14
+ export type KeyPolicyLink = Static<typeof KeyPolicyLinkSchema>;
15
+ /**
16
+ * The input for the link key policy command
17
+ */
18
+ export interface LinkKeyPolicyInput {
19
+ /** The key id */
20
+ keyId: string;
21
+ /** The policy id */
22
+ policyId: string;
23
+ }
24
+ /**
25
+ * Link a policy to a key
26
+ */
27
+ export declare class LinkKeyPolicyCommand extends Command<LinkKeyPolicyInput, KeyPolicyLink> {
28
+ /**
29
+ * Whether the command should retry on failure
30
+ */
31
+ protected retryOnFailure: boolean;
32
+ /**
33
+ * Get the method
34
+ */
35
+ protected getMethod(): string;
36
+ /**
37
+ * Get the base url
38
+ */
39
+ protected getBaseUrl(): string;
40
+ /**
41
+ * Get the path
42
+ */
43
+ protected getPath(): string;
44
+ /**
45
+ * Get the body
46
+ */
47
+ protected getBody(): Record<string, unknown>;
48
+ /**
49
+ * Parse the response
50
+ */
51
+ protected parseResponse(rawResponse: unknown): KeyPolicyLink;
52
+ }
53
+ //# sourceMappingURL=link-key-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-key-policy.d.ts","sourceRoot":"","sources":["../../../../src/commands/iam/policy-associations/link-key-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAA;AAEjF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC;IACxC,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;CACf,CAIC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE9D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,OAAO,CAC/C,kBAAkB,EAClB,aAAa,CACd;IACC;;OAEG;IACH,UAAmB,cAAc,UAAQ;IAEzC;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;cACgB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrD;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,aAAa;CAGtE"}