@sembix/cli 0.1.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 (61) hide show
  1. package/.env.example +6 -0
  2. package/LICENSE +15 -0
  3. package/README.md +698 -0
  4. package/config.example.yaml +118 -0
  5. package/dist/commands/hub-integration.d.ts +3 -0
  6. package/dist/commands/hub-integration.d.ts.map +1 -0
  7. package/dist/commands/hub-integration.js +107 -0
  8. package/dist/commands/hub-integration.js.map +1 -0
  9. package/dist/commands/setup.d.ts +3 -0
  10. package/dist/commands/setup.d.ts.map +1 -0
  11. package/dist/commands/setup.js +282 -0
  12. package/dist/commands/setup.js.map +1 -0
  13. package/dist/commands/update.d.ts +3 -0
  14. package/dist/commands/update.d.ts.map +1 -0
  15. package/dist/commands/update.js +498 -0
  16. package/dist/commands/update.js.map +1 -0
  17. package/dist/config-schema.d.ts +417 -0
  18. package/dist/config-schema.d.ts.map +1 -0
  19. package/dist/config-schema.js +152 -0
  20. package/dist/config-schema.js.map +1 -0
  21. package/dist/config.d.ts +6 -0
  22. package/dist/config.d.ts.map +1 -0
  23. package/dist/config.js +17 -0
  24. package/dist/config.js.map +1 -0
  25. package/dist/index.d.ts +3 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +260 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/prompts/environment-setup.d.ts +4 -0
  30. package/dist/prompts/environment-setup.d.ts.map +1 -0
  31. package/dist/prompts/environment-setup.js +689 -0
  32. package/dist/prompts/environment-setup.js.map +1 -0
  33. package/dist/prompts/hub-integration-step.d.ts +21 -0
  34. package/dist/prompts/hub-integration-step.d.ts.map +1 -0
  35. package/dist/prompts/hub-integration-step.js +104 -0
  36. package/dist/prompts/hub-integration-step.js.map +1 -0
  37. package/dist/prompts/hub-integration.d.ts +4 -0
  38. package/dist/prompts/hub-integration.d.ts.map +1 -0
  39. package/dist/prompts/hub-integration.js +141 -0
  40. package/dist/prompts/hub-integration.js.map +1 -0
  41. package/dist/prompts/prompt-helpers.d.ts +18 -0
  42. package/dist/prompts/prompt-helpers.d.ts.map +1 -0
  43. package/dist/prompts/prompt-helpers.js +50 -0
  44. package/dist/prompts/prompt-helpers.js.map +1 -0
  45. package/dist/types.d.ts +144 -0
  46. package/dist/types.d.ts.map +1 -0
  47. package/dist/types.js +23 -0
  48. package/dist/types.js.map +1 -0
  49. package/dist/utils/config-loader.d.ts +34 -0
  50. package/dist/utils/config-loader.d.ts.map +1 -0
  51. package/dist/utils/config-loader.js +377 -0
  52. package/dist/utils/config-loader.js.map +1 -0
  53. package/dist/utils/github.d.ts +38 -0
  54. package/dist/utils/github.d.ts.map +1 -0
  55. package/dist/utils/github.js +188 -0
  56. package/dist/utils/github.js.map +1 -0
  57. package/dist/utils/ui.d.ts +18 -0
  58. package/dist/utils/ui.d.ts.map +1 -0
  59. package/dist/utils/ui.js +62 -0
  60. package/dist/utils/ui.js.map +1 -0
  61. package/package.json +80 -0
@@ -0,0 +1,417 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Complete configuration file schema
4
+ * All fields are optional to support partial configs
5
+ */
6
+ export declare const configFileSchema: z.ZodObject<{
7
+ repository: z.ZodOptional<z.ZodObject<{
8
+ owner: z.ZodString;
9
+ repo: z.ZodString;
10
+ }, "strip", z.ZodTypeAny, {
11
+ repo: string;
12
+ owner: string;
13
+ }, {
14
+ repo: string;
15
+ owner: string;
16
+ }>>;
17
+ environmentName: z.ZodOptional<z.ZodString>;
18
+ awsAccountId: z.ZodOptional<z.ZodString>;
19
+ awsRegion: z.ZodOptional<z.ZodEnum<["us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-central-1", "ap-northeast-1", "ap-southeast-1", "ap-southeast-2"]>>;
20
+ customerRoleArn: z.ZodOptional<z.ZodString>;
21
+ terraformStateBucket: z.ZodOptional<z.ZodString>;
22
+ database: z.ZodOptional<z.ZodObject<{
23
+ name: z.ZodOptional<z.ZodString>;
24
+ user: z.ZodOptional<z.ZodString>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ name?: string | undefined;
27
+ user?: string | undefined;
28
+ }, {
29
+ name?: string | undefined;
30
+ user?: string | undefined;
31
+ }>>;
32
+ networking: z.ZodOptional<z.ZodObject<{
33
+ enableVpcEndpoints: z.ZodOptional<z.ZodBoolean>;
34
+ useCustomNetworking: z.ZodOptional<z.ZodBoolean>;
35
+ vpcCidr: z.ZodOptional<z.ZodString>;
36
+ publicSubnetCidrs: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
37
+ privateSubnetCidrs: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
38
+ azCount: z.ZodOptional<z.ZodEnum<["2", "3"]>>;
39
+ customVpcId: z.ZodOptional<z.ZodString>;
40
+ customPublicSubnetIds: z.ZodOptional<z.ZodString>;
41
+ customPrivateSubnetIds: z.ZodOptional<z.ZodString>;
42
+ }, "strip", z.ZodTypeAny, {
43
+ enableVpcEndpoints?: boolean | undefined;
44
+ useCustomNetworking?: boolean | undefined;
45
+ vpcCidr?: string | undefined;
46
+ publicSubnetCidrs?: string | undefined;
47
+ privateSubnetCidrs?: string | undefined;
48
+ azCount?: "2" | "3" | undefined;
49
+ customVpcId?: string | undefined;
50
+ customPublicSubnetIds?: string | undefined;
51
+ customPrivateSubnetIds?: string | undefined;
52
+ }, {
53
+ enableVpcEndpoints?: boolean | undefined;
54
+ useCustomNetworking?: boolean | undefined;
55
+ vpcCidr?: string | undefined;
56
+ publicSubnetCidrs?: string | undefined;
57
+ privateSubnetCidrs?: string | undefined;
58
+ azCount?: "2" | "3" | undefined;
59
+ customVpcId?: string | undefined;
60
+ customPublicSubnetIds?: string | undefined;
61
+ customPrivateSubnetIds?: string | undefined;
62
+ }>>;
63
+ security: z.ZodOptional<z.ZodObject<{
64
+ workflowRunsKeyAlias: z.ZodOptional<z.ZodString>;
65
+ useCustomSecurityGroups: z.ZodOptional<z.ZodBoolean>;
66
+ customSecurityGroups: z.ZodOptional<z.ZodObject<{
67
+ workflowEngine: z.ZodOptional<z.ZodString>;
68
+ aurora: z.ZodOptional<z.ZodString>;
69
+ rdsProxy: z.ZodOptional<z.ZodString>;
70
+ bffEcs: z.ZodOptional<z.ZodString>;
71
+ bastion: z.ZodOptional<z.ZodString>;
72
+ bffAlb: z.ZodOptional<z.ZodString>;
73
+ }, "strip", z.ZodTypeAny, {
74
+ workflowEngine?: string | undefined;
75
+ aurora?: string | undefined;
76
+ rdsProxy?: string | undefined;
77
+ bffEcs?: string | undefined;
78
+ bastion?: string | undefined;
79
+ bffAlb?: string | undefined;
80
+ }, {
81
+ workflowEngine?: string | undefined;
82
+ aurora?: string | undefined;
83
+ rdsProxy?: string | undefined;
84
+ bffEcs?: string | undefined;
85
+ bastion?: string | undefined;
86
+ bffAlb?: string | undefined;
87
+ }>>;
88
+ useCustomIamPolicies: z.ZodOptional<z.ZodBoolean>;
89
+ customIamRoles: z.ZodOptional<z.ZodObject<{
90
+ workflowEngineExecutionRole: z.ZodOptional<z.ZodString>;
91
+ workflowEngineTaskRole: z.ZodOptional<z.ZodString>;
92
+ bffEcsTaskExecutionRole: z.ZodOptional<z.ZodString>;
93
+ bffEcsTaskRole: z.ZodOptional<z.ZodString>;
94
+ rdsProxyRole: z.ZodOptional<z.ZodString>;
95
+ sembixStudioMemoryRole: z.ZodOptional<z.ZodString>;
96
+ sembixStudioNotificationRole: z.ZodOptional<z.ZodString>;
97
+ }, "strip", z.ZodTypeAny, {
98
+ workflowEngineExecutionRole?: string | undefined;
99
+ workflowEngineTaskRole?: string | undefined;
100
+ bffEcsTaskExecutionRole?: string | undefined;
101
+ bffEcsTaskRole?: string | undefined;
102
+ rdsProxyRole?: string | undefined;
103
+ sembixStudioMemoryRole?: string | undefined;
104
+ sembixStudioNotificationRole?: string | undefined;
105
+ }, {
106
+ workflowEngineExecutionRole?: string | undefined;
107
+ workflowEngineTaskRole?: string | undefined;
108
+ bffEcsTaskExecutionRole?: string | undefined;
109
+ bffEcsTaskRole?: string | undefined;
110
+ rdsProxyRole?: string | undefined;
111
+ sembixStudioMemoryRole?: string | undefined;
112
+ sembixStudioNotificationRole?: string | undefined;
113
+ }>>;
114
+ }, "strip", z.ZodTypeAny, {
115
+ workflowRunsKeyAlias?: string | undefined;
116
+ useCustomSecurityGroups?: boolean | undefined;
117
+ customSecurityGroups?: {
118
+ workflowEngine?: string | undefined;
119
+ aurora?: string | undefined;
120
+ rdsProxy?: string | undefined;
121
+ bffEcs?: string | undefined;
122
+ bastion?: string | undefined;
123
+ bffAlb?: string | undefined;
124
+ } | undefined;
125
+ useCustomIamPolicies?: boolean | undefined;
126
+ customIamRoles?: {
127
+ workflowEngineExecutionRole?: string | undefined;
128
+ workflowEngineTaskRole?: string | undefined;
129
+ bffEcsTaskExecutionRole?: string | undefined;
130
+ bffEcsTaskRole?: string | undefined;
131
+ rdsProxyRole?: string | undefined;
132
+ sembixStudioMemoryRole?: string | undefined;
133
+ sembixStudioNotificationRole?: string | undefined;
134
+ } | undefined;
135
+ }, {
136
+ workflowRunsKeyAlias?: string | undefined;
137
+ useCustomSecurityGroups?: boolean | undefined;
138
+ customSecurityGroups?: {
139
+ workflowEngine?: string | undefined;
140
+ aurora?: string | undefined;
141
+ rdsProxy?: string | undefined;
142
+ bffEcs?: string | undefined;
143
+ bastion?: string | undefined;
144
+ bffAlb?: string | undefined;
145
+ } | undefined;
146
+ useCustomIamPolicies?: boolean | undefined;
147
+ customIamRoles?: {
148
+ workflowEngineExecutionRole?: string | undefined;
149
+ workflowEngineTaskRole?: string | undefined;
150
+ bffEcsTaskExecutionRole?: string | undefined;
151
+ bffEcsTaskRole?: string | undefined;
152
+ rdsProxyRole?: string | undefined;
153
+ sembixStudioMemoryRole?: string | undefined;
154
+ sembixStudioNotificationRole?: string | undefined;
155
+ } | undefined;
156
+ }>>;
157
+ tls: z.ZodOptional<z.ZodObject<{
158
+ cloudfrontDomain: z.ZodOptional<z.ZodString>;
159
+ cloudfrontCertArn: z.ZodOptional<z.ZodString>;
160
+ bffAlbCertificateArn: z.ZodOptional<z.ZodString>;
161
+ hostedZoneId: z.ZodOptional<z.ZodString>;
162
+ }, "strip", z.ZodTypeAny, {
163
+ cloudfrontDomain?: string | undefined;
164
+ cloudfrontCertArn?: string | undefined;
165
+ bffAlbCertificateArn?: string | undefined;
166
+ hostedZoneId?: string | undefined;
167
+ }, {
168
+ cloudfrontDomain?: string | undefined;
169
+ cloudfrontCertArn?: string | undefined;
170
+ bffAlbCertificateArn?: string | undefined;
171
+ hostedZoneId?: string | undefined;
172
+ }>>;
173
+ features: z.ZodOptional<z.ZodObject<{
174
+ deploySembixStudioMemory: z.ZodOptional<z.ZodBoolean>;
175
+ deploySembixStudioNotifications: z.ZodOptional<z.ZodBoolean>;
176
+ enableBffWaf: z.ZodOptional<z.ZodBoolean>;
177
+ }, "strip", z.ZodTypeAny, {
178
+ deploySembixStudioMemory?: boolean | undefined;
179
+ deploySembixStudioNotifications?: boolean | undefined;
180
+ enableBffWaf?: boolean | undefined;
181
+ }, {
182
+ deploySembixStudioMemory?: boolean | undefined;
183
+ deploySembixStudioNotifications?: boolean | undefined;
184
+ enableBffWaf?: boolean | undefined;
185
+ }>>;
186
+ frontend: z.ZodOptional<z.ZodObject<{
187
+ githubAppClientId: z.ZodOptional<z.ZodString>;
188
+ githubAppName: z.ZodOptional<z.ZodString>;
189
+ jiraClientId: z.ZodOptional<z.ZodString>;
190
+ }, "strip", z.ZodTypeAny, {
191
+ githubAppClientId?: string | undefined;
192
+ githubAppName?: string | undefined;
193
+ jiraClientId?: string | undefined;
194
+ }, {
195
+ githubAppClientId?: string | undefined;
196
+ githubAppName?: string | undefined;
197
+ jiraClientId?: string | undefined;
198
+ }>>;
199
+ hub: z.ZodOptional<z.ZodObject<{
200
+ hubRoles: z.ZodOptional<z.ZodObject<{
201
+ engineExecutionRole: z.ZodOptional<z.ZodString>;
202
+ consumerRole: z.ZodOptional<z.ZodString>;
203
+ }, "strip", z.ZodTypeAny, {
204
+ engineExecutionRole?: string | undefined;
205
+ consumerRole?: string | undefined;
206
+ }, {
207
+ engineExecutionRole?: string | undefined;
208
+ consumerRole?: string | undefined;
209
+ }>>;
210
+ appConfig: z.ZodOptional<z.ZodObject<{
211
+ roleArn: z.ZodOptional<z.ZodString>;
212
+ appId: z.ZodOptional<z.ZodString>;
213
+ envId: z.ZodOptional<z.ZodString>;
214
+ profileId: z.ZodOptional<z.ZodString>;
215
+ }, "strip", z.ZodTypeAny, {
216
+ roleArn?: string | undefined;
217
+ appId?: string | undefined;
218
+ envId?: string | undefined;
219
+ profileId?: string | undefined;
220
+ }, {
221
+ roleArn?: string | undefined;
222
+ appId?: string | undefined;
223
+ envId?: string | undefined;
224
+ profileId?: string | undefined;
225
+ }>>;
226
+ }, "strip", z.ZodTypeAny, {
227
+ hubRoles?: {
228
+ engineExecutionRole?: string | undefined;
229
+ consumerRole?: string | undefined;
230
+ } | undefined;
231
+ appConfig?: {
232
+ roleArn?: string | undefined;
233
+ appId?: string | undefined;
234
+ envId?: string | undefined;
235
+ profileId?: string | undefined;
236
+ } | undefined;
237
+ }, {
238
+ hubRoles?: {
239
+ engineExecutionRole?: string | undefined;
240
+ consumerRole?: string | undefined;
241
+ } | undefined;
242
+ appConfig?: {
243
+ roleArn?: string | undefined;
244
+ appId?: string | undefined;
245
+ envId?: string | undefined;
246
+ profileId?: string | undefined;
247
+ } | undefined;
248
+ }>>;
249
+ }, "strip", z.ZodTypeAny, {
250
+ repository?: {
251
+ repo: string;
252
+ owner: string;
253
+ } | undefined;
254
+ environmentName?: string | undefined;
255
+ awsAccountId?: string | undefined;
256
+ awsRegion?: "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2" | "eu-west-1" | "eu-west-2" | "eu-central-1" | "ap-northeast-1" | "ap-southeast-1" | "ap-southeast-2" | undefined;
257
+ customerRoleArn?: string | undefined;
258
+ terraformStateBucket?: string | undefined;
259
+ database?: {
260
+ name?: string | undefined;
261
+ user?: string | undefined;
262
+ } | undefined;
263
+ networking?: {
264
+ enableVpcEndpoints?: boolean | undefined;
265
+ useCustomNetworking?: boolean | undefined;
266
+ vpcCidr?: string | undefined;
267
+ publicSubnetCidrs?: string | undefined;
268
+ privateSubnetCidrs?: string | undefined;
269
+ azCount?: "2" | "3" | undefined;
270
+ customVpcId?: string | undefined;
271
+ customPublicSubnetIds?: string | undefined;
272
+ customPrivateSubnetIds?: string | undefined;
273
+ } | undefined;
274
+ security?: {
275
+ workflowRunsKeyAlias?: string | undefined;
276
+ useCustomSecurityGroups?: boolean | undefined;
277
+ customSecurityGroups?: {
278
+ workflowEngine?: string | undefined;
279
+ aurora?: string | undefined;
280
+ rdsProxy?: string | undefined;
281
+ bffEcs?: string | undefined;
282
+ bastion?: string | undefined;
283
+ bffAlb?: string | undefined;
284
+ } | undefined;
285
+ useCustomIamPolicies?: boolean | undefined;
286
+ customIamRoles?: {
287
+ workflowEngineExecutionRole?: string | undefined;
288
+ workflowEngineTaskRole?: string | undefined;
289
+ bffEcsTaskExecutionRole?: string | undefined;
290
+ bffEcsTaskRole?: string | undefined;
291
+ rdsProxyRole?: string | undefined;
292
+ sembixStudioMemoryRole?: string | undefined;
293
+ sembixStudioNotificationRole?: string | undefined;
294
+ } | undefined;
295
+ } | undefined;
296
+ tls?: {
297
+ cloudfrontDomain?: string | undefined;
298
+ cloudfrontCertArn?: string | undefined;
299
+ bffAlbCertificateArn?: string | undefined;
300
+ hostedZoneId?: string | undefined;
301
+ } | undefined;
302
+ features?: {
303
+ deploySembixStudioMemory?: boolean | undefined;
304
+ deploySembixStudioNotifications?: boolean | undefined;
305
+ enableBffWaf?: boolean | undefined;
306
+ } | undefined;
307
+ frontend?: {
308
+ githubAppClientId?: string | undefined;
309
+ githubAppName?: string | undefined;
310
+ jiraClientId?: string | undefined;
311
+ } | undefined;
312
+ hub?: {
313
+ hubRoles?: {
314
+ engineExecutionRole?: string | undefined;
315
+ consumerRole?: string | undefined;
316
+ } | undefined;
317
+ appConfig?: {
318
+ roleArn?: string | undefined;
319
+ appId?: string | undefined;
320
+ envId?: string | undefined;
321
+ profileId?: string | undefined;
322
+ } | undefined;
323
+ } | undefined;
324
+ }, {
325
+ repository?: {
326
+ repo: string;
327
+ owner: string;
328
+ } | undefined;
329
+ environmentName?: string | undefined;
330
+ awsAccountId?: string | undefined;
331
+ awsRegion?: "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2" | "eu-west-1" | "eu-west-2" | "eu-central-1" | "ap-northeast-1" | "ap-southeast-1" | "ap-southeast-2" | undefined;
332
+ customerRoleArn?: string | undefined;
333
+ terraformStateBucket?: string | undefined;
334
+ database?: {
335
+ name?: string | undefined;
336
+ user?: string | undefined;
337
+ } | undefined;
338
+ networking?: {
339
+ enableVpcEndpoints?: boolean | undefined;
340
+ useCustomNetworking?: boolean | undefined;
341
+ vpcCidr?: string | undefined;
342
+ publicSubnetCidrs?: string | undefined;
343
+ privateSubnetCidrs?: string | undefined;
344
+ azCount?: "2" | "3" | undefined;
345
+ customVpcId?: string | undefined;
346
+ customPublicSubnetIds?: string | undefined;
347
+ customPrivateSubnetIds?: string | undefined;
348
+ } | undefined;
349
+ security?: {
350
+ workflowRunsKeyAlias?: string | undefined;
351
+ useCustomSecurityGroups?: boolean | undefined;
352
+ customSecurityGroups?: {
353
+ workflowEngine?: string | undefined;
354
+ aurora?: string | undefined;
355
+ rdsProxy?: string | undefined;
356
+ bffEcs?: string | undefined;
357
+ bastion?: string | undefined;
358
+ bffAlb?: string | undefined;
359
+ } | undefined;
360
+ useCustomIamPolicies?: boolean | undefined;
361
+ customIamRoles?: {
362
+ workflowEngineExecutionRole?: string | undefined;
363
+ workflowEngineTaskRole?: string | undefined;
364
+ bffEcsTaskExecutionRole?: string | undefined;
365
+ bffEcsTaskRole?: string | undefined;
366
+ rdsProxyRole?: string | undefined;
367
+ sembixStudioMemoryRole?: string | undefined;
368
+ sembixStudioNotificationRole?: string | undefined;
369
+ } | undefined;
370
+ } | undefined;
371
+ tls?: {
372
+ cloudfrontDomain?: string | undefined;
373
+ cloudfrontCertArn?: string | undefined;
374
+ bffAlbCertificateArn?: string | undefined;
375
+ hostedZoneId?: string | undefined;
376
+ } | undefined;
377
+ features?: {
378
+ deploySembixStudioMemory?: boolean | undefined;
379
+ deploySembixStudioNotifications?: boolean | undefined;
380
+ enableBffWaf?: boolean | undefined;
381
+ } | undefined;
382
+ frontend?: {
383
+ githubAppClientId?: string | undefined;
384
+ githubAppName?: string | undefined;
385
+ jiraClientId?: string | undefined;
386
+ } | undefined;
387
+ hub?: {
388
+ hubRoles?: {
389
+ engineExecutionRole?: string | undefined;
390
+ consumerRole?: string | undefined;
391
+ } | undefined;
392
+ appConfig?: {
393
+ roleArn?: string | undefined;
394
+ appId?: string | undefined;
395
+ envId?: string | undefined;
396
+ profileId?: string | undefined;
397
+ } | undefined;
398
+ } | undefined;
399
+ }>;
400
+ /**
401
+ * Configuration loaded from YAML files.
402
+ * All fields are optional to support partial configs.
403
+ * Validated at runtime using Zod.
404
+ *
405
+ * @see MergedConfig - After merging with CLI flags
406
+ * @see EnvironmentSetupConfig - Complete configuration for execution
407
+ */
408
+ export type ConfigFile = z.infer<typeof configFileSchema>;
409
+ /**
410
+ * Validation result type
411
+ */
412
+ export interface ConfigValidationResult {
413
+ success: boolean;
414
+ data?: ConfigFile;
415
+ errors?: string[];
416
+ }
417
+ //# sourceMappingURL=config-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../src/config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiJxB;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB3B,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB"}
@@ -0,0 +1,152 @@
1
+ import { z } from 'zod';
2
+ import { awsRegions } from './types.js';
3
+ /**
4
+ * Zod schema for validating YAML configuration files.
5
+ * All fields are optional to support partial configs that can be merged with CLI flags and prompts.
6
+ */
7
+ // Base validation schemas (reusable)
8
+ const awsAccountIdSchema = z.string().regex(/^\d{12}$/, 'Must be 12 digits');
9
+ const iamRoleArnSchema = z.string().regex(/^arn:aws:iam::\d{12}:role\/.+$/, 'Invalid IAM role ARN format');
10
+ const acmCertArnSchema = z.string().regex(/^arn:aws:acm:.+$/, 'Invalid ACM certificate ARN format');
11
+ const route53ZoneIdSchema = z.string().regex(/^Z[A-Z0-9]+$/, 'Invalid Route53 hosted zone ID format');
12
+ const vpcIdSchema = z.string().regex(/^vpc-[a-f0-9]+$/, 'Invalid VPC ID format');
13
+ const subnetIdsSchema = z.string().regex(/^subnet-[a-f0-9]+(,\s*subnet-[a-f0-9]+)*$/, 'Invalid subnet IDs format (comma-separated)');
14
+ const securityGroupIdSchema = z.string().regex(/^sg-[a-f0-9]+$/, 'Invalid security group ID format');
15
+ const cidrSchema = z.string().regex(/^\d+\.\d+\.\d+\.\d+\/\d+$/, 'Invalid CIDR block format');
16
+ const jsonArraySchema = z.string().refine((val) => {
17
+ try {
18
+ const parsed = JSON.parse(val);
19
+ return Array.isArray(parsed);
20
+ }
21
+ catch {
22
+ return false;
23
+ }
24
+ }, 'Must be a valid JSON array');
25
+ /**
26
+ * Repository configuration
27
+ */
28
+ const repositorySchema = z.object({
29
+ owner: z.string().min(1, 'Repository owner is required'),
30
+ repo: z.string().min(1, 'Repository name is required'),
31
+ }).optional();
32
+ /**
33
+ * Database configuration
34
+ */
35
+ const databaseSchema = z.object({
36
+ name: z.string().regex(/^[a-zA-Z][a-zA-Z0-9_]*$/, 'Must start with a letter and contain only letters, numbers, and underscores').optional(),
37
+ user: z.string().regex(/^[a-zA-Z][a-zA-Z0-9_]*$/, 'Must start with a letter and contain only letters, numbers, and underscores').optional(),
38
+ }).optional();
39
+ /**
40
+ * Networking configuration (VPC, subnets, etc.)
41
+ */
42
+ const networkingSchema = z.object({
43
+ enableVpcEndpoints: z.boolean().optional(),
44
+ useCustomNetworking: z.boolean().optional(),
45
+ // New VPC settings
46
+ vpcCidr: cidrSchema.optional(),
47
+ publicSubnetCidrs: jsonArraySchema.optional(),
48
+ privateSubnetCidrs: jsonArraySchema.optional(),
49
+ azCount: z.enum(['2', '3']).optional(),
50
+ // Custom VPC settings
51
+ customVpcId: vpcIdSchema.optional(),
52
+ customPublicSubnetIds: subnetIdsSchema.optional(),
53
+ customPrivateSubnetIds: subnetIdsSchema.optional(),
54
+ }).optional();
55
+ /**
56
+ * Custom security groups configuration
57
+ */
58
+ const customSecurityGroupsSchema = z.object({
59
+ workflowEngine: securityGroupIdSchema.optional(),
60
+ aurora: securityGroupIdSchema.optional(),
61
+ rdsProxy: securityGroupIdSchema.optional(),
62
+ bffEcs: securityGroupIdSchema.optional(),
63
+ bastion: securityGroupIdSchema.optional(),
64
+ bffAlb: securityGroupIdSchema.optional(),
65
+ }).optional();
66
+ /**
67
+ * Custom IAM roles configuration
68
+ */
69
+ const customIamRolesSchema = z.object({
70
+ workflowEngineExecutionRole: iamRoleArnSchema.optional(),
71
+ workflowEngineTaskRole: iamRoleArnSchema.optional(),
72
+ bffEcsTaskExecutionRole: iamRoleArnSchema.optional(),
73
+ bffEcsTaskRole: iamRoleArnSchema.optional(),
74
+ rdsProxyRole: iamRoleArnSchema.optional(),
75
+ sembixStudioMemoryRole: iamRoleArnSchema.optional(),
76
+ sembixStudioNotificationRole: iamRoleArnSchema.optional(),
77
+ }).optional();
78
+ /**
79
+ * Security & IAM configuration
80
+ */
81
+ const securitySchema = z.object({
82
+ workflowRunsKeyAlias: z.string().optional(),
83
+ useCustomSecurityGroups: z.boolean().optional(),
84
+ customSecurityGroups: customSecurityGroupsSchema,
85
+ useCustomIamPolicies: z.boolean().optional(),
86
+ customIamRoles: customIamRolesSchema,
87
+ }).optional();
88
+ /**
89
+ * TLS/DNS configuration
90
+ */
91
+ const tlsSchema = z.object({
92
+ cloudfrontDomain: z.string().min(1, 'CloudFront domain is required').optional(),
93
+ cloudfrontCertArn: acmCertArnSchema.optional(),
94
+ bffAlbCertificateArn: acmCertArnSchema.optional(),
95
+ hostedZoneId: route53ZoneIdSchema.optional(),
96
+ }).optional();
97
+ /**
98
+ * Feature flags configuration
99
+ */
100
+ const featuresSchema = z.object({
101
+ deploySembixStudioMemory: z.boolean().optional(),
102
+ deploySembixStudioNotifications: z.boolean().optional(),
103
+ enableBffWaf: z.boolean().optional(),
104
+ }).optional();
105
+ /**
106
+ * Frontend configuration (GitHub App, Jira)
107
+ */
108
+ const frontendSchema = z.object({
109
+ githubAppClientId: z.string().min(1, 'GitHub App Client ID is required').optional(),
110
+ githubAppName: z.string().min(1, 'GitHub App Name is required').optional(),
111
+ jiraClientId: z.string().min(1, 'Jira Client ID is required').optional(),
112
+ }).optional();
113
+ /**
114
+ * Hub integration configuration (merged into main config)
115
+ */
116
+ const hubRolesSchema = z.object({
117
+ engineExecutionRole: iamRoleArnSchema.optional(),
118
+ consumerRole: iamRoleArnSchema.optional(),
119
+ }).optional();
120
+ const appConfigSchema = z.object({
121
+ roleArn: iamRoleArnSchema.optional(),
122
+ appId: z.string().optional(),
123
+ envId: z.string().optional(),
124
+ profileId: z.string().optional(),
125
+ }).optional();
126
+ const hubSchema = z.object({
127
+ hubRoles: hubRolesSchema,
128
+ appConfig: appConfigSchema,
129
+ }).optional();
130
+ /**
131
+ * Complete configuration file schema
132
+ * All fields are optional to support partial configs
133
+ */
134
+ export const configFileSchema = z.object({
135
+ // Repository
136
+ repository: repositorySchema,
137
+ // Basic Configuration
138
+ environmentName: z.string().regex(/^[a-z0-9-]+$/, 'Must be lowercase letters, numbers, and hyphens').min(3, 'Must be at least 3 characters').optional(),
139
+ awsAccountId: awsAccountIdSchema.optional(),
140
+ awsRegion: z.enum(awsRegions).optional(),
141
+ customerRoleArn: iamRoleArnSchema.optional(),
142
+ terraformStateBucket: z.string().regex(/^[a-z0-9][a-z0-9-]*[a-z0-9]$/, 'Must be lowercase letters, numbers, and hyphens').optional(),
143
+ // Sections
144
+ database: databaseSchema,
145
+ networking: networkingSchema,
146
+ security: securitySchema,
147
+ tls: tlsSchema,
148
+ features: featuresSchema,
149
+ frontend: frontendSchema,
150
+ hub: hubSchema,
151
+ });
152
+ //# sourceMappingURL=config-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../src/config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC;;;GAGG;AAEH,qCAAqC;AACrC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;AAC7E,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gCAAgC,EAAE,6BAA6B,CAAC,CAAC;AAC3G,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAC;AACpG,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,uCAAuC,CAAC,CAAC;AACtG,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;AACjF,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,2CAA2C,EAAE,6CAA6C,CAAC,CAAC;AACrI,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,kCAAkC,CAAC,CAAC;AACrG,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,2BAA2B,EAAE,2BAA2B,CAAC,CAAC;AAC9F,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,EAAE,4BAA4B,CAAC,CAAC;AAEjC;;GAEG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,8BAA8B,CAAC;IACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC;CACvD,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,EAAE,6EAA6E,CAAC,CAAC,QAAQ,EAAE;IAC3I,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,EAAE,6EAA6E,CAAC,CAAC,QAAQ,EAAE;CAC5I,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd;;GAEG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC1C,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAE3C,mBAAmB;IACnB,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE;IAC9B,iBAAiB,EAAE,eAAe,CAAC,QAAQ,EAAE;IAC7C,kBAAkB,EAAE,eAAe,CAAC,QAAQ,EAAE;IAC9C,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;IAEtC,sBAAsB;IACtB,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;IACnC,qBAAqB,EAAE,eAAe,CAAC,QAAQ,EAAE;IACjD,sBAAsB,EAAE,eAAe,CAAC,QAAQ,EAAE;CACnD,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd;;GAEG;AACH,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,cAAc,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAChD,MAAM,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IACxC,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC1C,MAAM,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IACxC,OAAO,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IACzC,MAAM,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd;;GAEG;AACH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,2BAA2B,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACxD,sBAAsB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACnD,uBAAuB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACpD,cAAc,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IAC3C,YAAY,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACzC,sBAAsB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACnD,4BAA4B,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CAC1D,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3C,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/C,oBAAoB,EAAE,0BAA0B;IAChD,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5C,cAAc,EAAE,oBAAoB;CACrC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd;;GAEG;AACH,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC,QAAQ,EAAE;IAC/E,iBAAiB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IAC9C,oBAAoB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACjD,YAAY,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChD,+BAA+B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kCAAkC,CAAC,CAAC,QAAQ,EAAE;IACnF,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC,QAAQ,EAAE;IAC1E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC,QAAQ,EAAE;CACzE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,mBAAmB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IAChD,YAAY,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,QAAQ,EAAE,cAAc;IACxB,SAAS,EAAE,eAAe;CAC3B,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,aAAa;IACb,UAAU,EAAE,gBAAgB;IAE5B,sBAAsB;IACtB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,iDAAiD,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC,QAAQ,EAAE;IACvJ,YAAY,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE;IACxC,eAAe,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IAC5C,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,8BAA8B,EAAE,iDAAiD,CAAC,CAAC,QAAQ,EAAE;IAEpI,WAAW;IACX,QAAQ,EAAE,cAAc;IACxB,UAAU,EAAE,gBAAgB;IAC5B,QAAQ,EAAE,cAAc;IACxB,GAAG,EAAE,SAAS;IACd,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,cAAc;IACxB,GAAG,EAAE,SAAS;CACf,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const config: {
2
+ githubToken: string;
3
+ defaultOrg: string;
4
+ };
5
+ export declare function validateConfig(): void;
6
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,wBAAgB,cAAc,IAAI,IAAI,CAMrC"}
package/dist/config.js ADDED
@@ -0,0 +1,17 @@
1
+ import dotenv from 'dotenv';
2
+ import { fileURLToPath } from 'url';
3
+ import { dirname, join } from 'path';
4
+ // Load .env file
5
+ const __filename = fileURLToPath(import.meta.url);
6
+ const __dirname = dirname(__filename);
7
+ dotenv.config({ path: join(__dirname, '../.env') });
8
+ export const config = {
9
+ githubToken: process.env.GITHUB_TOKEN || '',
10
+ defaultOrg: process.env.DEFAULT_GITHUB_ORG || '',
11
+ };
12
+ export function validateConfig() {
13
+ if (!config.githubToken) {
14
+ throw new Error('GITHUB_TOKEN environment variable is required. Please set it in a .env file or as an environment variable.');
15
+ }
16
+ }
17
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAErC,iBAAiB;AACjB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE;IAC3C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE;CACjD,CAAC;AAEF,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,4GAA4G,CAC7G,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}