typekro 0.24.1 → 0.25.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 (170) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/core/composition/context.d.ts +4 -0
  3. package/dist/core/composition/context.d.ts.map +1 -1
  4. package/dist/core/composition/context.js +1 -0
  5. package/dist/core/composition/context.js.map +1 -1
  6. package/dist/core/composition/imperative.d.ts.map +1 -1
  7. package/dist/core/composition/imperative.js +24 -3
  8. package/dist/core/composition/imperative.js.map +1 -1
  9. package/dist/core/deployment/kro-factory.d.ts +2 -0
  10. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  11. package/dist/core/deployment/kro-factory.js +47 -11
  12. package/dist/core/deployment/kro-factory.js.map +1 -1
  13. package/dist/core/deployment/kro-instance-safety.d.ts +24 -0
  14. package/dist/core/deployment/kro-instance-safety.d.ts.map +1 -0
  15. package/dist/core/deployment/kro-instance-safety.js +157 -0
  16. package/dist/core/deployment/kro-instance-safety.js.map +1 -0
  17. package/dist/core/deployment/readiness-waiter.d.ts.map +1 -1
  18. package/dist/core/deployment/readiness-waiter.js +11 -0
  19. package/dist/core/deployment/readiness-waiter.js.map +1 -1
  20. package/dist/core/deployment/schema-cel-evaluator.d.ts +5 -0
  21. package/dist/core/deployment/schema-cel-evaluator.d.ts.map +1 -0
  22. package/dist/core/deployment/schema-cel-evaluator.js +36 -0
  23. package/dist/core/deployment/schema-cel-evaluator.js.map +1 -0
  24. package/dist/core/deployment/singleton-gitops.d.ts.map +1 -1
  25. package/dist/core/deployment/singleton-gitops.js +9 -2
  26. package/dist/core/deployment/singleton-gitops.js.map +1 -1
  27. package/dist/core/serialization/core.d.ts.map +1 -1
  28. package/dist/core/serialization/core.js +17 -4
  29. package/dist/core/serialization/core.js.map +1 -1
  30. package/dist/core/serialization/schema.d.ts.map +1 -1
  31. package/dist/core/serialization/schema.js +19 -4
  32. package/dist/core/serialization/schema.js.map +1 -1
  33. package/dist/core/serialization/yaml.d.ts.map +1 -1
  34. package/dist/core/serialization/yaml.js +15 -1
  35. package/dist/core/serialization/yaml.js.map +1 -1
  36. package/dist/core/types/kubernetes.d.ts +9 -0
  37. package/dist/core/types/kubernetes.d.ts.map +1 -1
  38. package/dist/core/types/serialization.d.ts +9 -0
  39. package/dist/core/types/serialization.d.ts.map +1 -1
  40. package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.d.ts +1 -1
  41. package/dist/factories/clickhouse/compositions/clickhouse-operator-bootstrap.js +1 -1
  42. package/dist/factories/clickhouse/index.d.ts +4 -1
  43. package/dist/factories/clickhouse/index.d.ts.map +1 -1
  44. package/dist/factories/clickhouse/index.js +4 -1
  45. package/dist/factories/clickhouse/index.js.map +1 -1
  46. package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts +1 -1
  47. package/dist/factories/clickstack/compositions/clickstack-bootstrap.js +1 -1
  48. package/dist/factories/clickstack/compositions/k8s-telemetry.d.ts +1 -1
  49. package/dist/factories/clickstack/compositions/k8s-telemetry.js +1 -1
  50. package/dist/factories/clickstack/index.d.ts +1 -1
  51. package/dist/factories/clickstack/index.js +1 -1
  52. package/dist/factories/cnpg/compositions/cnpg-bootstrap.d.ts +1 -1
  53. package/dist/factories/cnpg/compositions/cnpg-bootstrap.js +1 -1
  54. package/dist/factories/cnpg/index.d.ts +1 -1
  55. package/dist/factories/cnpg/index.js +1 -1
  56. package/dist/factories/dagster/index.d.ts +1 -1
  57. package/dist/factories/dagster/index.js +1 -1
  58. package/dist/factories/index.d.ts +1 -0
  59. package/dist/factories/index.d.ts.map +1 -1
  60. package/dist/factories/index.js +4 -0
  61. package/dist/factories/index.js.map +1 -1
  62. package/dist/factories/inngest/compositions/inngest-bootstrap.d.ts +1 -1
  63. package/dist/factories/inngest/compositions/inngest-bootstrap.js +1 -1
  64. package/dist/factories/inngest/index.d.ts +1 -1
  65. package/dist/factories/inngest/index.js +1 -1
  66. package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -1
  67. package/dist/factories/kro/resource-graph-definition.js +17 -1
  68. package/dist/factories/kro/resource-graph-definition.js.map +1 -1
  69. package/dist/factories/ory/compositions/ory-identity-stack.d.ts +1 -1
  70. package/dist/factories/ory/types.d.ts +2 -2
  71. package/dist/factories/rook/compositions/index.d.ts +4 -0
  72. package/dist/factories/rook/compositions/index.d.ts.map +1 -0
  73. package/dist/factories/rook/compositions/index.js +4 -0
  74. package/dist/factories/rook/compositions/index.js.map +1 -0
  75. package/dist/factories/rook/compositions/object-storage-claim.d.ts +32 -0
  76. package/dist/factories/rook/compositions/object-storage-claim.d.ts.map +1 -0
  77. package/dist/factories/rook/compositions/object-storage-claim.js +63 -0
  78. package/dist/factories/rook/compositions/object-storage-claim.js.map +1 -0
  79. package/dist/factories/rook/compositions/rook-ceph-helm-repository.d.ts +12 -0
  80. package/dist/factories/rook/compositions/rook-ceph-helm-repository.d.ts.map +1 -0
  81. package/dist/factories/rook/compositions/rook-ceph-helm-repository.js +25 -0
  82. package/dist/factories/rook/compositions/rook-ceph-helm-repository.js.map +1 -0
  83. package/dist/factories/rook/compositions/rook-ceph-operator-bootstrap.d.ts +2 -0
  84. package/dist/factories/rook/compositions/rook-ceph-operator-bootstrap.d.ts.map +1 -0
  85. package/dist/factories/rook/compositions/rook-ceph-operator-bootstrap.js +2 -0
  86. package/dist/factories/rook/compositions/rook-ceph-operator-bootstrap.js.map +1 -0
  87. package/dist/factories/rook/compositions/rook-ceph-operator-installation.d.ts +67 -0
  88. package/dist/factories/rook/compositions/rook-ceph-operator-installation.d.ts.map +1 -0
  89. package/dist/factories/rook/compositions/rook-ceph-operator-installation.js +71 -0
  90. package/dist/factories/rook/compositions/rook-ceph-operator-installation.js.map +1 -0
  91. package/dist/factories/rook/index.d.ts +15 -0
  92. package/dist/factories/rook/index.d.ts.map +1 -0
  93. package/dist/factories/rook/index.js +15 -0
  94. package/dist/factories/rook/index.js.map +1 -0
  95. package/dist/factories/rook/resources/bucket-storage-class.d.ts +12 -0
  96. package/dist/factories/rook/resources/bucket-storage-class.d.ts.map +1 -0
  97. package/dist/factories/rook/resources/bucket-storage-class.js +29 -0
  98. package/dist/factories/rook/resources/bucket-storage-class.js.map +1 -0
  99. package/dist/factories/rook/resources/ceph-object-store-user.d.ts +14 -0
  100. package/dist/factories/rook/resources/ceph-object-store-user.d.ts.map +1 -0
  101. package/dist/factories/rook/resources/ceph-object-store-user.js +42 -0
  102. package/dist/factories/rook/resources/ceph-object-store-user.js.map +1 -0
  103. package/dist/factories/rook/resources/ceph-object-store.d.ts +27 -0
  104. package/dist/factories/rook/resources/ceph-object-store.d.ts.map +1 -0
  105. package/dist/factories/rook/resources/ceph-object-store.js +56 -0
  106. package/dist/factories/rook/resources/ceph-object-store.js.map +1 -0
  107. package/dist/factories/rook/resources/helm.d.ts +18 -0
  108. package/dist/factories/rook/resources/helm.d.ts.map +1 -0
  109. package/dist/factories/rook/resources/helm.js +45 -0
  110. package/dist/factories/rook/resources/helm.js.map +1 -0
  111. package/dist/factories/rook/resources/index.d.ts +6 -0
  112. package/dist/factories/rook/resources/index.d.ts.map +1 -0
  113. package/dist/factories/rook/resources/index.js +6 -0
  114. package/dist/factories/rook/resources/index.js.map +1 -0
  115. package/dist/factories/rook/resources/object-bucket-claim.d.ts +15 -0
  116. package/dist/factories/rook/resources/object-bucket-claim.d.ts.map +1 -0
  117. package/dist/factories/rook/resources/object-bucket-claim.js +52 -0
  118. package/dist/factories/rook/resources/object-bucket-claim.js.map +1 -0
  119. package/dist/factories/rook/types.d.ts +307 -0
  120. package/dist/factories/rook/types.d.ts.map +1 -0
  121. package/dist/factories/rook/types.js +239 -0
  122. package/dist/factories/rook/types.js.map +1 -0
  123. package/dist/factories/rook/utils/helm-values-mapper.d.ts +33 -0
  124. package/dist/factories/rook/utils/helm-values-mapper.d.ts.map +1 -0
  125. package/dist/factories/rook/utils/helm-values-mapper.js +60 -0
  126. package/dist/factories/rook/utils/helm-values-mapper.js.map +1 -0
  127. package/dist/factories/rook/utils/index.d.ts +2 -0
  128. package/dist/factories/rook/utils/index.d.ts.map +1 -0
  129. package/dist/factories/rook/utils/index.js +2 -0
  130. package/dist/factories/rook/utils/index.js.map +1 -0
  131. package/dist/factories/valkey/compositions/index.d.ts +2 -1
  132. package/dist/factories/valkey/compositions/index.d.ts.map +1 -1
  133. package/dist/factories/valkey/compositions/index.js +2 -1
  134. package/dist/factories/valkey/compositions/index.js.map +1 -1
  135. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts +21 -2
  136. package/dist/factories/valkey/compositions/valkey-bootstrap.d.ts.map +1 -1
  137. package/dist/factories/valkey/compositions/valkey-bootstrap.js +26 -136
  138. package/dist/factories/valkey/compositions/valkey-bootstrap.js.map +1 -1
  139. package/dist/factories/valkey/compositions/valkey-helm-repository.d.ts +16 -0
  140. package/dist/factories/valkey/compositions/valkey-helm-repository.d.ts.map +1 -0
  141. package/dist/factories/valkey/compositions/valkey-helm-repository.js +29 -0
  142. package/dist/factories/valkey/compositions/valkey-helm-repository.js.map +1 -0
  143. package/dist/factories/valkey/index.d.ts +6 -3
  144. package/dist/factories/valkey/index.d.ts.map +1 -1
  145. package/dist/factories/valkey/index.js +6 -3
  146. package/dist/factories/valkey/index.js.map +1 -1
  147. package/dist/factories/valkey/resources/helm.d.ts.map +1 -1
  148. package/dist/factories/valkey/resources/helm.js +13 -11
  149. package/dist/factories/valkey/resources/helm.js.map +1 -1
  150. package/dist/factories/valkey/types.d.ts +29 -16
  151. package/dist/factories/valkey/types.d.ts.map +1 -1
  152. package/dist/factories/valkey/types.js +34 -22
  153. package/dist/factories/valkey/types.js.map +1 -1
  154. package/dist/factories/valkey/utils/helm-values-mapper.d.ts +6 -1
  155. package/dist/factories/valkey/utils/helm-values-mapper.d.ts.map +1 -1
  156. package/dist/factories/valkey/utils/helm-values-mapper.js +52 -19
  157. package/dist/factories/valkey/utils/helm-values-mapper.js.map +1 -1
  158. package/dist/factories/webapp/compositions/index.d.ts +1 -1
  159. package/dist/factories/webapp/compositions/index.d.ts.map +1 -1
  160. package/dist/factories/webapp/compositions/index.js +1 -1
  161. package/dist/factories/webapp/compositions/index.js.map +1 -1
  162. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts +9 -13
  163. package/dist/factories/webapp/compositions/web-app-with-processing.d.ts.map +1 -1
  164. package/dist/factories/webapp/compositions/web-app-with-processing.js +290 -278
  165. package/dist/factories/webapp/compositions/web-app-with-processing.js.map +1 -1
  166. package/dist/factories/webapp/types.d.ts +26 -7
  167. package/dist/factories/webapp/types.d.ts.map +1 -1
  168. package/dist/factories/webapp/types.js +0 -9
  169. package/dist/factories/webapp/types.js.map +1 -1
  170. package/package.json +5 -1
@@ -0,0 +1,307 @@
1
+ /**
2
+ * Rook/Ceph object-storage integration types.
3
+ *
4
+ * Config types are inferred from ArkType schemas. The typed surface is
5
+ * intentionally scoped to Rook's S3-compatible RGW path: operator bootstrap,
6
+ * local CephObjectStore pools/gateways, users, bucket StorageClasses, and
7
+ * ObjectBucketClaims.
8
+ *
9
+ * @see https://rook.io/docs/rook/latest/Storage-Configuration/Object-Storage-RGW/object-storage/
10
+ */
11
+ import type { TypeKroChartValue } from '../../core/types/common.js';
12
+ /** Rook operator bootstrap configuration. */
13
+ export declare const RookCephOperatorBootstrapConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
14
+ name: string;
15
+ namespace?: string;
16
+ version?: string;
17
+ repositoryName?: string;
18
+ repositoryNamespace?: string;
19
+ repositoryUrl?: string;
20
+ logLevel?: "ERROR" | "WARNING" | "INFO" | "DEBUG";
21
+ enableOBCWatchOperatorNamespace?: boolean;
22
+ obcProvisionerNamePrefix?: string;
23
+ obcAllowAdditionalConfigFields?: string;
24
+ resources?: {
25
+ requests?: {
26
+ cpu?: string;
27
+ memory?: string;
28
+ };
29
+ limits?: {
30
+ cpu?: string;
31
+ memory?: string;
32
+ };
33
+ };
34
+ values?: Record<string, unknown>;
35
+ }, {}>;
36
+ export type RookCephOperatorBootstrapConfig = typeof RookCephOperatorBootstrapConfigSchema.infer;
37
+ /** Observable Rook operator bootstrap status. */
38
+ export declare const RookCephOperatorBootstrapStatusSchema: import("arktype/internal/variants/object.ts").ObjectType<{
39
+ ready: boolean;
40
+ phase: "Ready" | "Installing";
41
+ failed: boolean;
42
+ version?: string;
43
+ }, {}>;
44
+ export type RookCephOperatorBootstrapStatus = typeof RookCephOperatorBootstrapStatusSchema.infer;
45
+ /** Typed local-RGW CephObjectStore configuration (`ceph.rook.io/v1`). */
46
+ export declare const CephObjectStoreConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
47
+ name: string;
48
+ spec: {
49
+ metadataPool: {
50
+ replicated: {
51
+ size: number;
52
+ requireSafeReplicaSize?: boolean;
53
+ targetSizeRatio?: number;
54
+ replicasPerFailureDomain?: number;
55
+ subFailureDomain?: string;
56
+ };
57
+ failureDomain?: string;
58
+ crushRoot?: string;
59
+ deviceClass?: string;
60
+ enableCrushUpdates?: boolean;
61
+ parameters?: Record<string, string>;
62
+ application?: string;
63
+ };
64
+ dataPool: {
65
+ replicated?: {
66
+ size: number;
67
+ requireSafeReplicaSize?: boolean;
68
+ targetSizeRatio?: number;
69
+ replicasPerFailureDomain?: number;
70
+ subFailureDomain?: string;
71
+ };
72
+ erasureCoded?: {
73
+ dataChunks: number;
74
+ codingChunks: number;
75
+ algorithm?: "isa" | "jerasure";
76
+ stripeUnit?: "4Ki" | "16Ki" | "64Ki" | "256Ki" | "1Mi";
77
+ };
78
+ failureDomain?: string;
79
+ crushRoot?: string;
80
+ deviceClass?: string;
81
+ enableCrushUpdates?: boolean;
82
+ parameters?: Record<string, string>;
83
+ application?: string;
84
+ };
85
+ gateway: {
86
+ port: number;
87
+ instances: number;
88
+ securePort?: number;
89
+ sslCertificateRef?: string;
90
+ caBundleRef?: string;
91
+ placement?: Record<string, unknown>;
92
+ annotations?: Record<string, string>;
93
+ labels?: Record<string, string>;
94
+ resources?: {
95
+ requests?: {
96
+ cpu?: string;
97
+ memory?: string;
98
+ };
99
+ limits?: {
100
+ cpu?: string;
101
+ memory?: string;
102
+ };
103
+ };
104
+ priorityClassName?: string;
105
+ service?: {
106
+ annotations?: Record<string, string>;
107
+ labels?: Record<string, string>;
108
+ };
109
+ };
110
+ preservePoolsOnDelete?: boolean;
111
+ healthCheck?: {
112
+ readinessProbe?: {
113
+ disabled?: boolean;
114
+ };
115
+ startupProbe?: {
116
+ disabled?: boolean;
117
+ };
118
+ };
119
+ allowUsersInNamespaces?: string[];
120
+ hosting?: {
121
+ advertiseEndpoint?: {
122
+ dnsName: string;
123
+ port: number;
124
+ useTls: boolean;
125
+ };
126
+ dnsNames?: string[];
127
+ };
128
+ };
129
+ namespace?: string;
130
+ id?: string;
131
+ }, {}>;
132
+ export type CephObjectStoreConfig = typeof CephObjectStoreConfigSchema.infer;
133
+ /** Status condition emitted by Rook CRDs. */
134
+ export interface RookCondition {
135
+ type: string;
136
+ status: string;
137
+ reason?: string;
138
+ message?: string;
139
+ lastTransitionTime?: string;
140
+ }
141
+ /** Observable CephObjectStore status. */
142
+ export interface CephObjectStoreStatus {
143
+ replicas?: number;
144
+ selector?: string;
145
+ phase?: 'Connecting' | 'Connected' | 'Progressing' | 'Ready' | 'Failure' | 'Deleting' | string;
146
+ message?: string;
147
+ endpoints?: {
148
+ insecure?: string[];
149
+ secure?: string[];
150
+ };
151
+ info?: Record<string, string>;
152
+ conditions?: RookCondition[];
153
+ observedGeneration?: number;
154
+ }
155
+ /** Typed CephObjectStoreUser configuration (`ceph.rook.io/v1`). */
156
+ export declare const CephObjectStoreUserConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
157
+ name: string;
158
+ spec: {
159
+ store: string;
160
+ displayName?: string;
161
+ capabilities?: {
162
+ user?: "*" | "read" | "write" | "read, write";
163
+ users?: "*" | "read" | "write" | "read, write";
164
+ bucket?: "*" | "read" | "write" | "read, write";
165
+ buckets?: "*" | "read" | "write" | "read, write";
166
+ metadata?: "*" | "read" | "write" | "read, write";
167
+ usage?: "*" | "read" | "write" | "read, write";
168
+ zone?: "*" | "read" | "write" | "read, write";
169
+ roles?: "*" | "read" | "write" | "read, write";
170
+ info?: "*" | "read" | "write" | "read, write";
171
+ 'amz-cache'?: "*" | "read" | "write" | "read, write";
172
+ bilog?: "*" | "read" | "write" | "read, write";
173
+ mdlog?: "*" | "read" | "write" | "read, write";
174
+ datalog?: "*" | "read" | "write" | "read, write";
175
+ 'user-policy'?: "*" | "read" | "write" | "read, write";
176
+ 'oidc-provider'?: "*" | "read" | "write" | "read, write";
177
+ ratelimit?: "*" | "read" | "write" | "read, write";
178
+ };
179
+ quotas?: {
180
+ maxBuckets?: number;
181
+ maxSize?: string;
182
+ maxObjects?: number;
183
+ };
184
+ keys?: {
185
+ accessKeyRef: {
186
+ name: string;
187
+ key: string;
188
+ optional?: boolean;
189
+ };
190
+ secretKeyRef: {
191
+ name: string;
192
+ key: string;
193
+ optional?: boolean;
194
+ };
195
+ }[];
196
+ clusterNamespace?: string;
197
+ opMask?: ("delete" | "read" | "write")[];
198
+ accountRef?: {
199
+ name: string;
200
+ };
201
+ };
202
+ namespace?: string;
203
+ id?: string;
204
+ }, {}>;
205
+ export type CephObjectStoreUserConfig = typeof CephObjectStoreUserConfigSchema.infer;
206
+ /** Observable CephObjectStoreUser status. */
207
+ export interface CephObjectStoreUserStatus {
208
+ phase?: string;
209
+ info?: Record<string, string>;
210
+ observedGeneration?: number;
211
+ keys?: Array<{
212
+ name?: string;
213
+ namespace?: string;
214
+ uid?: string;
215
+ resourceVersion?: string;
216
+ }>;
217
+ }
218
+ /** ObjectBucketClaim config; fixed and generated bucket names are mutually exclusive. */
219
+ export declare const ObjectBucketClaimConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
220
+ name: string;
221
+ spec: {
222
+ storageClassName: string;
223
+ bucketName?: string;
224
+ generateBucketName?: string;
225
+ additionalConfig?: Record<string, string>;
226
+ };
227
+ namespace?: string;
228
+ id?: string;
229
+ }, {}>;
230
+ export type ObjectBucketClaimConfig = typeof ObjectBucketClaimConfigSchema.infer;
231
+ /** ObjectBucketClaim lifecycle phase from lib-bucket-provisioner. */
232
+ export type ObjectBucketClaimPhase = 'Pending' | 'Bound' | 'Released' | 'Failed';
233
+ /** Observable ObjectBucketClaim status. */
234
+ export interface ObjectBucketClaimStatus {
235
+ phase?: ObjectBucketClaimPhase;
236
+ }
237
+ /** Cluster-scoped Rook bucket StorageClass configuration. */
238
+ export declare const RookBucketStorageClassConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
239
+ name: string;
240
+ objectStoreName: string;
241
+ objectStoreNamespace: string;
242
+ operatorNamespace: string;
243
+ provisionerNamePrefix?: string;
244
+ reclaimPolicy?: "Retain" | "Delete";
245
+ existingBucketName?: string;
246
+ labels?: Record<string, string>;
247
+ annotations?: Record<string, string>;
248
+ id?: string;
249
+ }, {}>;
250
+ export type RookBucketStorageClassConfig = typeof RookBucketStorageClassConfigSchema.infer;
251
+ /** App-owned bucket claim composition configuration. */
252
+ export declare const RookObjectStorageClaimConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
253
+ name: string;
254
+ storageClassName: string;
255
+ namespace?: string;
256
+ bucket?: {
257
+ name: string;
258
+ mode: "fixed" | "generated";
259
+ };
260
+ maxObjects?: string;
261
+ maxSize?: string;
262
+ }, {}>;
263
+ export type RookObjectStorageClaimConfig = typeof RookObjectStorageClaimConfigSchema.infer;
264
+ /** Stable binding contract for an app-owned Rook ObjectBucketClaim. */
265
+ export declare const RookObjectStorageClaimStatusSchema: import("arktype/internal/variants/object.ts").ObjectType<{
266
+ ready: boolean;
267
+ phase: "Failed" | "Pending" | "Bound" | "Released";
268
+ claimName: string;
269
+ credentialsSecretName: string;
270
+ connectionConfigMapName: string;
271
+ storageClassName: string;
272
+ }, {}>;
273
+ export type RookObjectStorageClaimStatus = typeof RookObjectStorageClaimStatusSchema.infer;
274
+ /** Flux HelmRepository wrapper configuration. */
275
+ export declare const RookCephHelmRepositoryConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
276
+ name?: string;
277
+ namespace?: string;
278
+ url?: string;
279
+ interval?: string;
280
+ id?: string;
281
+ }, {}>;
282
+ export type RookCephHelmRepositoryConfig = typeof RookCephHelmRepositoryConfigSchema.infer;
283
+ /** Flux HelmRelease wrapper configuration. */
284
+ export declare const RookCephHelmReleaseConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
285
+ name: string;
286
+ namespace?: string;
287
+ version?: string;
288
+ repositoryName?: string;
289
+ repositoryNamespace?: string;
290
+ repositoryUrl?: string;
291
+ values?: Record<string, unknown>;
292
+ id?: string;
293
+ }, {}>;
294
+ export type RookCephHelmReleaseConfig = Omit<typeof RookCephHelmReleaseConfigSchema.infer, 'values'> & {
295
+ values?: TypeKroChartValue<Record<string, unknown>>;
296
+ };
297
+ /** Shared HelmRepository singleton spec. */
298
+ export declare const RookCephHelmRepositorySingletonSpecSchema: import("arktype/internal/variants/object.ts").ObjectType<{
299
+ name: string;
300
+ namespace: string;
301
+ url: string;
302
+ }, {}>;
303
+ /** Shared HelmRepository singleton status. */
304
+ export declare const RookCephHelmRepositorySingletonStatusSchema: import("arktype/internal/variants/object.ts").ObjectType<{
305
+ ready: boolean;
306
+ }, {}>;
307
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/factories/rook/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,239 @@
1
+ /**
2
+ * Rook/Ceph object-storage integration types.
3
+ *
4
+ * Config types are inferred from ArkType schemas. The typed surface is
5
+ * intentionally scoped to Rook's S3-compatible RGW path: operator bootstrap,
6
+ * local CephObjectStore pools/gateways, users, bucket StorageClasses, and
7
+ * ObjectBucketClaims.
8
+ *
9
+ * @see https://rook.io/docs/rook/latest/Storage-Configuration/Object-Storage-RGW/object-storage/
10
+ */
11
+ import { type } from 'arktype';
12
+ const resourceRequirementsSchemaShape = {
13
+ 'requests?': { 'cpu?': 'string', 'memory?': 'string' },
14
+ 'limits?': { 'cpu?': 'string', 'memory?': 'string' },
15
+ };
16
+ const replicatedPoolSchemaShape = {
17
+ size: 'number',
18
+ 'requireSafeReplicaSize?': 'boolean',
19
+ 'targetSizeRatio?': 'number',
20
+ 'replicasPerFailureDomain?': 'number',
21
+ 'subFailureDomain?': 'string',
22
+ };
23
+ const erasureCodedPoolSchemaShape = {
24
+ dataChunks: 'number',
25
+ codingChunks: 'number',
26
+ 'algorithm?': '"isa" | "jerasure"',
27
+ 'stripeUnit?': '"4Ki" | "16Ki" | "64Ki" | "256Ki" | "1Mi"',
28
+ };
29
+ const commonPoolSchemaShape = {
30
+ 'failureDomain?': 'string',
31
+ 'crushRoot?': 'string',
32
+ 'deviceClass?': 'string',
33
+ 'enableCrushUpdates?': 'boolean',
34
+ 'parameters?': 'Record<string, string>',
35
+ 'application?': 'string',
36
+ };
37
+ /** RGW metadata pools must use replication. */
38
+ const metadataPoolSchema = type({
39
+ ...commonPoolSchemaShape,
40
+ replicated: replicatedPoolSchemaShape,
41
+ });
42
+ /** RGW data pools use exactly one of replication or erasure coding. */
43
+ const dataPoolSchema = type({
44
+ ...commonPoolSchemaShape,
45
+ 'replicated?': replicatedPoolSchemaShape,
46
+ 'erasureCoded?': erasureCodedPoolSchemaShape,
47
+ }).narrow((pool, ctx) => {
48
+ if ((pool.replicated !== undefined) !== (pool.erasureCoded !== undefined))
49
+ return true;
50
+ return ctx.mustBe('a data pool with exactly one of replicated or erasureCoded');
51
+ });
52
+ const secretKeySelectorSchemaShape = {
53
+ name: 'string',
54
+ key: 'string',
55
+ 'optional?': 'boolean',
56
+ };
57
+ /** Rook operator bootstrap configuration. */
58
+ export const RookCephOperatorBootstrapConfigSchema = type({
59
+ name: 'string',
60
+ 'namespace?': 'string',
61
+ 'version?': 'string',
62
+ 'repositoryName?': 'string',
63
+ 'repositoryNamespace?': 'string',
64
+ 'repositoryUrl?': 'string',
65
+ 'logLevel?': '"ERROR" | "WARNING" | "INFO" | "DEBUG"',
66
+ 'enableOBCWatchOperatorNamespace?': 'boolean',
67
+ 'obcProvisionerNamePrefix?': 'string',
68
+ 'obcAllowAdditionalConfigFields?': 'string',
69
+ 'resources?': resourceRequirementsSchemaShape,
70
+ 'values?': 'Record<string, unknown>',
71
+ });
72
+ /** Observable Rook operator bootstrap status. */
73
+ export const RookCephOperatorBootstrapStatusSchema = type({
74
+ ready: 'boolean',
75
+ phase: '"Ready" | "Installing"',
76
+ failed: 'boolean',
77
+ 'version?': 'string',
78
+ });
79
+ /** Typed local-RGW CephObjectStore configuration (`ceph.rook.io/v1`). */
80
+ export const CephObjectStoreConfigSchema = type({
81
+ name: 'string',
82
+ 'namespace?': 'string',
83
+ 'id?': 'string',
84
+ spec: {
85
+ metadataPool: metadataPoolSchema,
86
+ dataPool: dataPoolSchema,
87
+ gateway: {
88
+ port: '1 <= number.integer <= 65535',
89
+ 'securePort?': '1 <= number.integer <= 65535',
90
+ instances: 'number.integer >= 1',
91
+ 'sslCertificateRef?': 'string',
92
+ 'caBundleRef?': 'string',
93
+ 'placement?': 'Record<string, unknown>',
94
+ 'annotations?': 'Record<string, string>',
95
+ 'labels?': 'Record<string, string>',
96
+ 'resources?': resourceRequirementsSchemaShape,
97
+ 'priorityClassName?': 'string',
98
+ 'service?': {
99
+ 'annotations?': 'Record<string, string>',
100
+ 'labels?': 'Record<string, string>',
101
+ },
102
+ },
103
+ 'preservePoolsOnDelete?': 'boolean',
104
+ 'healthCheck?': {
105
+ 'readinessProbe?': { 'disabled?': 'boolean' },
106
+ 'startupProbe?': { 'disabled?': 'boolean' },
107
+ },
108
+ 'allowUsersInNamespaces?': 'string[]',
109
+ 'hosting?': {
110
+ 'advertiseEndpoint?': {
111
+ dnsName: 'string',
112
+ port: 'number',
113
+ useTls: 'boolean',
114
+ },
115
+ 'dnsNames?': 'string[]',
116
+ },
117
+ },
118
+ });
119
+ /** Typed CephObjectStoreUser configuration (`ceph.rook.io/v1`). */
120
+ export const CephObjectStoreUserConfigSchema = type({
121
+ name: 'string',
122
+ 'namespace?': 'string',
123
+ 'id?': 'string',
124
+ spec: {
125
+ store: 'string',
126
+ 'displayName?': 'string',
127
+ 'capabilities?': {
128
+ 'user?': '"*" | "read" | "write" | "read, write"',
129
+ 'users?': '"*" | "read" | "write" | "read, write"',
130
+ 'bucket?': '"*" | "read" | "write" | "read, write"',
131
+ 'buckets?': '"*" | "read" | "write" | "read, write"',
132
+ 'metadata?': '"*" | "read" | "write" | "read, write"',
133
+ 'usage?': '"*" | "read" | "write" | "read, write"',
134
+ 'zone?': '"*" | "read" | "write" | "read, write"',
135
+ 'roles?': '"*" | "read" | "write" | "read, write"',
136
+ 'info?': '"*" | "read" | "write" | "read, write"',
137
+ 'amz-cache?': '"*" | "read" | "write" | "read, write"',
138
+ 'bilog?': '"*" | "read" | "write" | "read, write"',
139
+ 'mdlog?': '"*" | "read" | "write" | "read, write"',
140
+ 'datalog?': '"*" | "read" | "write" | "read, write"',
141
+ 'user-policy?': '"*" | "read" | "write" | "read, write"',
142
+ 'oidc-provider?': '"*" | "read" | "write" | "read, write"',
143
+ 'ratelimit?': '"*" | "read" | "write" | "read, write"',
144
+ },
145
+ 'quotas?': {
146
+ 'maxBuckets?': 'number',
147
+ 'maxSize?': 'string',
148
+ 'maxObjects?': 'number',
149
+ },
150
+ 'keys?': type({
151
+ accessKeyRef: secretKeySelectorSchemaShape,
152
+ secretKeyRef: secretKeySelectorSchemaShape,
153
+ }).array(),
154
+ 'clusterNamespace?': 'string',
155
+ 'opMask?': type('"read" | "write" | "delete"').array(),
156
+ 'accountRef?': { name: 'string' },
157
+ },
158
+ });
159
+ const ObjectBucketClaimBaseConfigSchema = type({
160
+ name: 'string',
161
+ 'namespace?': 'string',
162
+ 'id?': 'string',
163
+ spec: {
164
+ storageClassName: 'string',
165
+ 'bucketName?': 'string',
166
+ 'generateBucketName?': 'string',
167
+ 'additionalConfig?': 'Record<string, string>',
168
+ },
169
+ });
170
+ /** ObjectBucketClaim config; fixed and generated bucket names are mutually exclusive. */
171
+ export const ObjectBucketClaimConfigSchema = ObjectBucketClaimBaseConfigSchema.narrow((config, ctx) => {
172
+ if (!(config.spec.bucketName && config.spec.generateBucketName))
173
+ return true;
174
+ return ctx.mustBe('an ObjectBucketClaim with only bucketName or generateBucketName, not both');
175
+ });
176
+ /** Cluster-scoped Rook bucket StorageClass configuration. */
177
+ export const RookBucketStorageClassConfigSchema = type({
178
+ name: 'string',
179
+ objectStoreName: 'string',
180
+ objectStoreNamespace: 'string',
181
+ /** Namespace containing the Rook operator; determines its default OBC provisioner identity. */
182
+ operatorNamespace: 'string',
183
+ 'provisionerNamePrefix?': 'string',
184
+ 'reclaimPolicy?': '"Delete" | "Retain"',
185
+ 'existingBucketName?': 'string',
186
+ 'labels?': 'Record<string, string>',
187
+ 'annotations?': 'Record<string, string>',
188
+ 'id?': 'string',
189
+ });
190
+ /** App-owned bucket claim composition configuration. */
191
+ export const RookObjectStorageClaimConfigSchema = type({
192
+ name: 'string',
193
+ storageClassName: 'string',
194
+ 'namespace?': 'string',
195
+ /** Omit for a StorageClass bound to an existing bucket. */
196
+ 'bucket?': {
197
+ name: 'string',
198
+ mode: '"fixed" | "generated"',
199
+ },
200
+ 'maxObjects?': 'string',
201
+ 'maxSize?': 'string',
202
+ });
203
+ /** Stable binding contract for an app-owned Rook ObjectBucketClaim. */
204
+ export const RookObjectStorageClaimStatusSchema = type({
205
+ ready: 'boolean',
206
+ phase: '"Pending" | "Bound" | "Released" | "Failed"',
207
+ claimName: 'string',
208
+ credentialsSecretName: 'string',
209
+ connectionConfigMapName: 'string',
210
+ storageClassName: 'string',
211
+ });
212
+ /** Flux HelmRepository wrapper configuration. */
213
+ export const RookCephHelmRepositoryConfigSchema = type({
214
+ 'name?': 'string',
215
+ 'namespace?': 'string',
216
+ 'url?': 'string',
217
+ 'interval?': 'string',
218
+ 'id?': 'string',
219
+ });
220
+ /** Flux HelmRelease wrapper configuration. */
221
+ export const RookCephHelmReleaseConfigSchema = type({
222
+ name: 'string',
223
+ 'namespace?': 'string',
224
+ 'version?': 'string',
225
+ 'repositoryName?': 'string',
226
+ 'repositoryNamespace?': 'string',
227
+ 'repositoryUrl?': 'string',
228
+ 'values?': 'Record<string, unknown>',
229
+ 'id?': 'string',
230
+ });
231
+ /** Shared HelmRepository singleton spec. */
232
+ export const RookCephHelmRepositorySingletonSpecSchema = type({
233
+ name: 'string',
234
+ namespace: 'string',
235
+ url: 'string',
236
+ });
237
+ /** Shared HelmRepository singleton status. */
238
+ export const RookCephHelmRepositorySingletonStatusSchema = type({ ready: 'boolean' });
239
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/rook/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /** Map typed bootstrap options into official `rook-ceph` chart values. */
2
+ import { type ValuesMergeExpression } from '../../../core/aspects/values-merge.js';
3
+ import type { RookCephOperatorBootstrapConfig } from '../types.js';
4
+ export interface RookCephOperatorHelmValues {
5
+ logLevel?: 'ERROR' | 'WARNING' | 'INFO' | 'DEBUG';
6
+ enableOBCWatchOperatorNamespace?: boolean;
7
+ obcProvisionerNamePrefix?: string;
8
+ obcAllowAdditionalConfigFields?: string;
9
+ resources?: {
10
+ requests?: {
11
+ cpu?: string;
12
+ memory?: string;
13
+ };
14
+ limits?: {
15
+ cpu?: string;
16
+ memory?: string;
17
+ };
18
+ };
19
+ [key: string]: unknown;
20
+ }
21
+ export type RookCephOperatorMappedHelmValues = RookCephOperatorHelmValues | ValuesMergeExpression;
22
+ type RookCephOperatorHelmValuesInput = {
23
+ [K in keyof Pick<RookCephOperatorBootstrapConfig, 'logLevel' | 'enableOBCWatchOperatorNamespace' | 'obcProvisionerNamePrefix' | 'obcAllowAdditionalConfigFields' | 'resources' | 'values'>]: RookCephOperatorBootstrapConfig[K] | undefined;
24
+ };
25
+ /**
26
+ * Map typed fields and merge raw chart `values` last.
27
+ *
28
+ * Whole-map schema refs use TypeKro's runtime values merge so KRO mode does
29
+ * not lose user overrides or stringify graph markers.
30
+ */
31
+ export declare function mapRookCephOperatorConfigToHelmValues(config: RookCephOperatorHelmValuesInput): RookCephOperatorMappedHelmValues;
32
+ export {};
33
+ //# sourceMappingURL=helm-values-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm-values-mapper.d.ts","sourceRoot":"","sources":["../../../../src/factories/rook/utils/helm-values-mapper.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IAClD,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7C,MAAM,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC5C,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,gCAAgC,GAAG,0BAA0B,GAAG,qBAAqB,CAAC;AAElG,KAAK,+BAA+B,GAAG;KACpC,CAAC,IAAI,MAAM,IAAI,CACd,+BAA+B,EAC7B,UAAU,GACV,iCAAiC,GACjC,0BAA0B,GAC1B,gCAAgC,GAChC,WAAW,GACX,QAAQ,CACX,GAAG,+BAA+B,CAAC,CAAC,CAAC,GAAG,SAAS;CACnD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,+BAA+B,GACtC,gCAAgC,CAgBlC"}
@@ -0,0 +1,60 @@
1
+ /** Map typed bootstrap options into official `rook-ceph` chart values. */
2
+ import { isValuesMergeExpression, mergeValuesExpression, } from '../../../core/aspects/values-merge.js';
3
+ import { isCelExpression, isKubernetesRef } from '../../../utils/type-guards.js';
4
+ /**
5
+ * Map typed fields and merge raw chart `values` last.
6
+ *
7
+ * Whole-map schema refs use TypeKro's runtime values merge so KRO mode does
8
+ * not lose user overrides or stringify graph markers.
9
+ */
10
+ export function mapRookCephOperatorConfigToHelmValues(config) {
11
+ const values = {};
12
+ if (config.logLevel !== undefined)
13
+ values.logLevel = config.logLevel;
14
+ if (config.enableOBCWatchOperatorNamespace !== undefined) {
15
+ values.enableOBCWatchOperatorNamespace = config.enableOBCWatchOperatorNamespace;
16
+ }
17
+ if (config.obcProvisionerNamePrefix !== undefined) {
18
+ values.obcProvisionerNamePrefix = config.obcProvisionerNamePrefix;
19
+ }
20
+ if (config.obcAllowAdditionalConfigFields !== undefined) {
21
+ values.obcAllowAdditionalConfigFields = config.obcAllowAdditionalConfigFields;
22
+ }
23
+ if (config.resources !== undefined)
24
+ values.resources = config.resources;
25
+ return mergeValuesLast(values, config.values);
26
+ }
27
+ function mergeValuesLast(base, overrides) {
28
+ if (overrides === undefined)
29
+ return base;
30
+ if (isKubernetesRef(overrides) ||
31
+ isCelExpression(overrides) ||
32
+ isValuesMergeExpression(overrides)) {
33
+ return mergeValuesExpression(base, overrides);
34
+ }
35
+ if (isPlainObject(overrides))
36
+ deepMerge(base, overrides);
37
+ return base;
38
+ }
39
+ function isPlainObject(value) {
40
+ return (!!value &&
41
+ typeof value === 'object' &&
42
+ !Array.isArray(value) &&
43
+ !isKubernetesRef(value) &&
44
+ !isCelExpression(value) &&
45
+ !isValuesMergeExpression(value));
46
+ }
47
+ function deepMerge(target, source) {
48
+ for (const [key, sourceValue] of Object.entries(source)) {
49
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype')
50
+ continue;
51
+ const targetValue = target[key];
52
+ if (isPlainObject(targetValue) && isPlainObject(sourceValue)) {
53
+ deepMerge(targetValue, sourceValue);
54
+ }
55
+ else {
56
+ target[key] = sourceValue;
57
+ }
58
+ }
59
+ }
60
+ //# sourceMappingURL=helm-values-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm-values-mapper.js","sourceRoot":"","sources":["../../../../src/factories/rook/utils/helm-values-mapper.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GAEtB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA6BjF;;;;;GAKG;AACH,MAAM,UAAU,qCAAqC,CACnD,MAAuC;IAEvC,MAAM,MAAM,GAA+B,EAAE,CAAC;IAE9C,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACrE,IAAI,MAAM,CAAC,+BAA+B,KAAK,SAAS,EAAE,CAAC;QACzD,MAAM,CAAC,+BAA+B,GAAG,MAAM,CAAC,+BAA+B,CAAC;IAClF,CAAC;IACD,IAAI,MAAM,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;QAClD,MAAM,CAAC,wBAAwB,GAAG,MAAM,CAAC,wBAAwB,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,8BAA8B,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,CAAC,8BAA8B,GAAG,MAAM,CAAC,8BAA8B,CAAC;IAChF,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAExE,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,eAAe,CACtB,IAAgC,EAChC,SAAkB;IAElB,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEzC,IACE,eAAe,CAAC,SAAS,CAAC;QAC1B,eAAe,CAAC,SAAS,CAAC;QAC1B,uBAAuB,CAAC,SAAS,CAAC,EAClC,CAAC;QACD,OAAO,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,aAAa,CAAC,SAAS,CAAC;QAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,CAAC,eAAe,CAAC,KAAK,CAAC;QACvB,CAAC,eAAe,CAAC,KAAK,CAAC;QACvB,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAChC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAA+B,EAAE,MAA+B;IACjF,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,WAAW;YAAE,SAAS;QAClF,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,aAAa,CAAC,WAAW,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7D,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC"}