@standards-kit/conform 0.1.0 → 0.1.3
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.
- package/LICENSE +21 -0
- package/README.md +143 -0
- package/dist/{chunk-P7TIZJ4C.js → chunk-DXIYZR62.js} +2 -2
- package/dist/chunk-DXIYZR62.js.map +1 -0
- package/dist/{chunk-KHO6NIAI.js → chunk-PZ2NVKI7.js} +7 -7
- package/dist/chunk-PZ2NVKI7.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +14 -14
- package/dist/cli.js.map +1 -1
- package/dist/code/index.d.ts +11 -0
- package/dist/code/tools/base.d.ts +51 -0
- package/dist/code/tools/comment-utils.d.ts +17 -0
- package/dist/code/tools/coverage-run.d.ts +37 -0
- package/dist/code/tools/disable-comments.d.ts +42 -0
- package/dist/code/tools/eslint.d.ts +99 -0
- package/dist/code/tools/gitleaks.d.ts +42 -0
- package/dist/code/tools/index.d.ts +13 -0
- package/dist/code/tools/knip.d.ts +20 -0
- package/dist/code/tools/naming.d.ts +64 -0
- package/dist/code/tools/pipaudit.d.ts +24 -0
- package/dist/code/tools/pnpmaudit.d.ts +36 -0
- package/dist/code/tools/ruff.d.ts +46 -0
- package/dist/code/tools/tsc.d.ts +57 -0
- package/dist/code/tools/ty.d.ts +34 -0
- package/dist/code/tools/vulture.d.ts +32 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/loader.d.ts +42 -0
- package/dist/core/registry.d.ts +17 -0
- package/dist/core/schema.d.ts +1829 -0
- package/dist/core/types.d.ts +95 -0
- package/dist/{src-KZRTG3EU.js → core-KB2W6SE2.js} +3 -3
- package/dist/dependencies/index.d.ts +13 -0
- package/dist/dependencies/mappings.d.ts +17 -0
- package/dist/dependencies/output.d.ts +12 -0
- package/dist/dependencies/types.d.ts +34 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/dist/infra/arn.d.ts +16 -0
- package/dist/infra/checkers/cloudwatch.d.ts +8 -0
- package/dist/infra/checkers/dynamodb.d.ts +8 -0
- package/dist/infra/checkers/ec2.d.ts +13 -0
- package/dist/infra/checkers/ecs.d.ts +13 -0
- package/dist/infra/checkers/elasticache.d.ts +13 -0
- package/dist/infra/checkers/elb.d.ts +13 -0
- package/dist/infra/checkers/gcp/artifactregistry.d.ts +5 -0
- package/dist/infra/checkers/gcp/cloudrun.d.ts +5 -0
- package/dist/infra/checkers/gcp/iam.d.ts +5 -0
- package/dist/infra/checkers/gcp/index.d.ts +17 -0
- package/dist/infra/checkers/gcp/secretmanager.d.ts +5 -0
- package/dist/infra/checkers/iam.d.ts +8 -0
- package/dist/infra/checkers/index.d.ts +26 -0
- package/dist/infra/checkers/lambda.d.ts +8 -0
- package/dist/infra/checkers/rds.d.ts +13 -0
- package/dist/infra/checkers/s3.d.ts +8 -0
- package/dist/infra/checkers/secretsmanager.d.ts +8 -0
- package/dist/infra/checkers/sns.d.ts +8 -0
- package/dist/infra/checkers/sqs.d.ts +8 -0
- package/dist/infra/checkers/types.d.ts +28 -0
- package/dist/infra/gcp.d.ts +18 -0
- package/dist/infra/generate.d.ts +74 -0
- package/dist/infra/index.d.ts +59 -0
- package/dist/infra/manifest.d.ts +58 -0
- package/dist/infra/output.d.ts +8 -0
- package/dist/infra/scan.d.ts +25 -0
- package/dist/infra/schemas.d.ts +806 -0
- package/dist/infra/types.d.ts +8 -0
- package/dist/{infra-UXM5XQX3.js → infra-ZQRXX7AW.js} +3 -3
- package/dist/infra-ZQRXX7AW.js.map +1 -0
- package/dist/mcp/index.d.ts +7 -0
- package/dist/mcp/server.d.ts +18 -0
- package/dist/mcp/standards/fetcher.d.ts +29 -0
- package/dist/mcp/standards/index.d.ts +4 -0
- package/dist/mcp/standards/matcher.d.ts +22 -0
- package/dist/mcp/standards/parser.d.ts +46 -0
- package/dist/mcp/standards/types.d.ts +32 -0
- package/dist/mcp/tools/get-guideline.d.ts +26 -0
- package/dist/mcp/tools/get-ruleset.d.ts +26 -0
- package/dist/mcp/tools/get-standards.d.ts +27 -0
- package/dist/mcp/tools/index.d.ts +4 -0
- package/dist/mcp/tools/list-guidelines.d.ts +25 -0
- package/dist/{mcp-O5O7XVFG.js → mcp-WXYRFNEV.js} +3 -3
- package/dist/mcp-WXYRFNEV.js.map +1 -0
- package/dist/output/index.d.ts +14 -0
- package/dist/process/commands/check-branch.d.ts +13 -0
- package/dist/process/commands/check-commit.d.ts +14 -0
- package/dist/process/commands/index.d.ts +2 -0
- package/dist/process/index.d.ts +11 -0
- package/dist/process/scan/index.d.ts +5 -0
- package/dist/process/scan/remote-fetcher.d.ts +18 -0
- package/dist/process/scan/scanner.d.ts +6 -0
- package/dist/process/scan/types.d.ts +57 -0
- package/dist/process/scan/validators.d.ts +37 -0
- package/dist/process/sync/applier.d.ts +10 -0
- package/dist/process/sync/differ.d.ts +7 -0
- package/dist/process/sync/fetcher.d.ts +14 -0
- package/dist/process/sync/index.d.ts +9 -0
- package/dist/process/sync/types.d.ts +131 -0
- package/dist/process/sync/validator.d.ts +22 -0
- package/dist/process/tools/backups.d.ts +32 -0
- package/dist/process/tools/base.d.ts +52 -0
- package/dist/process/tools/branches.d.ts +41 -0
- package/dist/process/tools/changesets.d.ts +53 -0
- package/dist/process/tools/ci.d.ts +57 -0
- package/dist/process/tools/codeowners.d.ts +68 -0
- package/dist/process/tools/commits.d.ts +39 -0
- package/dist/process/tools/coverage.d.ts +57 -0
- package/dist/process/tools/docs-helpers.d.ts +44 -0
- package/dist/process/tools/docs.d.ts +38 -0
- package/dist/process/tools/forbidden-files.d.ts +40 -0
- package/dist/process/tools/hooks.d.ts +39 -0
- package/dist/process/tools/index.d.ts +14 -0
- package/dist/process/tools/pr.d.ts +59 -0
- package/dist/process/tools/repo.d.ts +65 -0
- package/dist/process/tools/tickets.d.ts +42 -0
- package/dist/projects/detector.d.ts +16 -0
- package/dist/projects/index.d.ts +4 -0
- package/dist/projects/templates.d.ts +15 -0
- package/dist/projects/tier-loader.d.ts +14 -0
- package/dist/projects/types.d.ts +76 -0
- package/dist/{registry-V65CC7IN.js → registry-7CDIMOLZ.js} +2 -2
- package/dist/{scan-EELS42BP.js → scan-IKEHLZXV.js} +4 -4
- package/dist/{scan-EELS42BP.js.map → scan-IKEHLZXV.js.map} +1 -1
- package/dist/{sync-RLYBGYNY.js → sync-XV6XBLVZ.js} +3 -3
- package/dist/{sync-RLYBGYNY.js.map → sync-XV6XBLVZ.js.map} +1 -1
- package/dist/validate/guidelines.d.ts +18 -0
- package/dist/validate/index.d.ts +5 -0
- package/dist/validate/tier.d.ts +14 -0
- package/dist/validate/types.d.ts +56 -0
- package/dist/{validate-AABLVQJS.js → validate-DKEJICCK.js} +3 -3
- package/dist/validate-DKEJICCK.js.map +1 -0
- package/package.json +26 -19
- package/dist/chunk-KHO6NIAI.js.map +0 -1
- package/dist/chunk-P7TIZJ4C.js.map +0 -1
- package/dist/infra-UXM5XQX3.js.map +0 -1
- package/dist/mcp-O5O7XVFG.js.map +0 -1
- package/dist/validate-AABLVQJS.js.map +0 -1
- /package/dist/{registry-V65CC7IN.js.map → core-KB2W6SE2.js.map} +0 -0
- /package/dist/{src-KZRTG3EU.js.map → registry-7CDIMOLZ.js.map} +0 -0
|
@@ -0,0 +1,806 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schemas for runtime validation of infra manifests and resources
|
|
3
|
+
*
|
|
4
|
+
* These schemas validate external inputs like manifest files,
|
|
5
|
+
* stack exports, ARNs, and GCP resource paths at runtime.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
/**
|
|
9
|
+
* Cloud provider schema
|
|
10
|
+
*/
|
|
11
|
+
export declare const CloudProviderSchema: z.ZodEnum<["aws", "gcp"]>;
|
|
12
|
+
export type CloudProvider = z.infer<typeof CloudProviderSchema>;
|
|
13
|
+
/**
|
|
14
|
+
* Account key schema - format: "provider:accountId"
|
|
15
|
+
* Examples: "aws:123456789012", "gcp:my-project-id"
|
|
16
|
+
*/
|
|
17
|
+
export declare const AccountKeySchema: z.ZodString;
|
|
18
|
+
export type AccountKey = z.infer<typeof AccountKeySchema>;
|
|
19
|
+
/**
|
|
20
|
+
* ARN schema - validates AWS ARN format
|
|
21
|
+
*
|
|
22
|
+
* Format: arn:partition:service:region:account-id:resource
|
|
23
|
+
*/
|
|
24
|
+
export declare const ArnSchema: z.ZodString;
|
|
25
|
+
export type Arn = z.infer<typeof ArnSchema>;
|
|
26
|
+
/**
|
|
27
|
+
* Parsed ARN schema - components extracted from an ARN
|
|
28
|
+
*/
|
|
29
|
+
export declare const ParsedArnSchema: z.ZodObject<{
|
|
30
|
+
/** Cloud provider (always "aws" for ARNs) */
|
|
31
|
+
cloud: z.ZodLiteral<"aws">;
|
|
32
|
+
/** AWS partition (aws, aws-cn, aws-us-gov) */
|
|
33
|
+
partition: z.ZodString;
|
|
34
|
+
/** AWS service (s3, lambda, rds, etc.) */
|
|
35
|
+
service: z.ZodString;
|
|
36
|
+
/** AWS region (empty for global services like S3, IAM) */
|
|
37
|
+
region: z.ZodString;
|
|
38
|
+
/** AWS account ID (empty for S3 buckets) */
|
|
39
|
+
accountId: z.ZodString;
|
|
40
|
+
/** Resource type (e.g., function, table, bucket) */
|
|
41
|
+
resourceType: z.ZodString;
|
|
42
|
+
/** Resource name/identifier */
|
|
43
|
+
resourceId: z.ZodString;
|
|
44
|
+
/** Original ARN string */
|
|
45
|
+
raw: z.ZodString;
|
|
46
|
+
}, "strip", z.ZodTypeAny, {
|
|
47
|
+
region: string;
|
|
48
|
+
cloud: "aws";
|
|
49
|
+
partition: string;
|
|
50
|
+
service: string;
|
|
51
|
+
accountId: string;
|
|
52
|
+
resourceType: string;
|
|
53
|
+
resourceId: string;
|
|
54
|
+
raw: string;
|
|
55
|
+
}, {
|
|
56
|
+
region: string;
|
|
57
|
+
cloud: "aws";
|
|
58
|
+
partition: string;
|
|
59
|
+
service: string;
|
|
60
|
+
accountId: string;
|
|
61
|
+
resourceType: string;
|
|
62
|
+
resourceId: string;
|
|
63
|
+
raw: string;
|
|
64
|
+
}>;
|
|
65
|
+
export type ParsedArn = z.infer<typeof ParsedArnSchema>;
|
|
66
|
+
/**
|
|
67
|
+
* GCP resource path schema - validates GCP resource path format
|
|
68
|
+
*
|
|
69
|
+
* Examples:
|
|
70
|
+
* - projects/my-project/locations/us-central1/functions/my-func
|
|
71
|
+
* - projects/my-project/topics/my-topic
|
|
72
|
+
* - projects/my-project/subscriptions/my-sub
|
|
73
|
+
*/
|
|
74
|
+
export declare const GcpResourcePathSchema: z.ZodString;
|
|
75
|
+
export type GcpResourcePath = z.infer<typeof GcpResourcePathSchema>;
|
|
76
|
+
/**
|
|
77
|
+
* Parsed GCP resource schema - components extracted from a GCP resource path
|
|
78
|
+
*/
|
|
79
|
+
export declare const ParsedGcpResourceSchema: z.ZodObject<{
|
|
80
|
+
/** Cloud provider (always "gcp" for GCP resources) */
|
|
81
|
+
cloud: z.ZodLiteral<"gcp">;
|
|
82
|
+
/** GCP project ID */
|
|
83
|
+
project: z.ZodString;
|
|
84
|
+
/** GCP service (run, iam, secretmanager, artifactregistry, etc.) */
|
|
85
|
+
service: z.ZodString;
|
|
86
|
+
/** Location/region (us-central1, global, etc.) */
|
|
87
|
+
location: z.ZodString;
|
|
88
|
+
/** Resource type (services, serviceAccounts, secrets, repositories, etc.) */
|
|
89
|
+
resourceType: z.ZodString;
|
|
90
|
+
/** Resource name/ID */
|
|
91
|
+
resourceId: z.ZodString;
|
|
92
|
+
/** Original resource path */
|
|
93
|
+
raw: z.ZodString;
|
|
94
|
+
}, "strip", z.ZodTypeAny, {
|
|
95
|
+
project: string;
|
|
96
|
+
cloud: "gcp";
|
|
97
|
+
service: string;
|
|
98
|
+
resourceType: string;
|
|
99
|
+
resourceId: string;
|
|
100
|
+
raw: string;
|
|
101
|
+
location: string;
|
|
102
|
+
}, {
|
|
103
|
+
project: string;
|
|
104
|
+
cloud: "gcp";
|
|
105
|
+
service: string;
|
|
106
|
+
resourceType: string;
|
|
107
|
+
resourceId: string;
|
|
108
|
+
raw: string;
|
|
109
|
+
location: string;
|
|
110
|
+
}>;
|
|
111
|
+
export type ParsedGcpResource = z.infer<typeof ParsedGcpResourceSchema>;
|
|
112
|
+
/**
|
|
113
|
+
* Generic resource identifier - can be AWS ARN or GCP resource path
|
|
114
|
+
*/
|
|
115
|
+
export declare const ResourceIdentifierSchema: z.ZodUnion<[z.ZodString, z.ZodString]>;
|
|
116
|
+
export type ResourceIdentifier = z.infer<typeof ResourceIdentifierSchema>;
|
|
117
|
+
/**
|
|
118
|
+
* Account identifier schema - parsed from account key
|
|
119
|
+
*/
|
|
120
|
+
export declare const AccountIdSchema: z.ZodObject<{
|
|
121
|
+
/** Cloud provider */
|
|
122
|
+
cloud: z.ZodEnum<["aws", "gcp"]>;
|
|
123
|
+
/** AWS account ID or GCP project ID */
|
|
124
|
+
id: z.ZodString;
|
|
125
|
+
}, "strip", z.ZodTypeAny, {
|
|
126
|
+
id: string;
|
|
127
|
+
cloud: "aws" | "gcp";
|
|
128
|
+
}, {
|
|
129
|
+
id: string;
|
|
130
|
+
cloud: "aws" | "gcp";
|
|
131
|
+
}>;
|
|
132
|
+
export type AccountId = z.infer<typeof AccountIdSchema>;
|
|
133
|
+
/**
|
|
134
|
+
* Account entry in a multi-account manifest
|
|
135
|
+
*/
|
|
136
|
+
export declare const ManifestAccountSchema: z.ZodObject<{
|
|
137
|
+
/** Optional human-readable alias for this account */
|
|
138
|
+
alias: z.ZodOptional<z.ZodString>;
|
|
139
|
+
/** List of resource identifiers (ARNs or GCP resource paths) */
|
|
140
|
+
resources: z.ZodArray<z.ZodString, "many">;
|
|
141
|
+
}, "strip", z.ZodTypeAny, {
|
|
142
|
+
resources: string[];
|
|
143
|
+
alias?: string | undefined;
|
|
144
|
+
}, {
|
|
145
|
+
resources: string[];
|
|
146
|
+
alias?: string | undefined;
|
|
147
|
+
}>;
|
|
148
|
+
export type ManifestAccount = z.infer<typeof ManifestAccountSchema>;
|
|
149
|
+
/**
|
|
150
|
+
* V2 Multi-account manifest schema
|
|
151
|
+
*
|
|
152
|
+
* Resources are grouped by cloud account (AWS account ID or GCP project ID)
|
|
153
|
+
*/
|
|
154
|
+
export declare const MultiAccountManifestSchema: z.ZodObject<{
|
|
155
|
+
/** Manifest version - must be 2 for multi-account format */
|
|
156
|
+
version: z.ZodLiteral<2>;
|
|
157
|
+
/** Optional project name */
|
|
158
|
+
project: z.ZodOptional<z.ZodString>;
|
|
159
|
+
/** Resources grouped by account key (e.g., "aws:123456789012", "gcp:my-project") */
|
|
160
|
+
accounts: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
161
|
+
/** Optional human-readable alias for this account */
|
|
162
|
+
alias: z.ZodOptional<z.ZodString>;
|
|
163
|
+
/** List of resource identifiers (ARNs or GCP resource paths) */
|
|
164
|
+
resources: z.ZodArray<z.ZodString, "many">;
|
|
165
|
+
}, "strip", z.ZodTypeAny, {
|
|
166
|
+
resources: string[];
|
|
167
|
+
alias?: string | undefined;
|
|
168
|
+
}, {
|
|
169
|
+
resources: string[];
|
|
170
|
+
alias?: string | undefined;
|
|
171
|
+
}>>;
|
|
172
|
+
}, "strip", z.ZodTypeAny, {
|
|
173
|
+
version: 2;
|
|
174
|
+
accounts: Record<string, {
|
|
175
|
+
resources: string[];
|
|
176
|
+
alias?: string | undefined;
|
|
177
|
+
}>;
|
|
178
|
+
project?: string | undefined;
|
|
179
|
+
}, {
|
|
180
|
+
version: 2;
|
|
181
|
+
accounts: Record<string, {
|
|
182
|
+
resources: string[];
|
|
183
|
+
alias?: string | undefined;
|
|
184
|
+
}>;
|
|
185
|
+
project?: string | undefined;
|
|
186
|
+
}>;
|
|
187
|
+
export type MultiAccountManifest = z.infer<typeof MultiAccountManifestSchema>;
|
|
188
|
+
/**
|
|
189
|
+
* Legacy manifest schema (v1) - flat array of resources
|
|
190
|
+
*/
|
|
191
|
+
export declare const LegacyManifestSchema: z.ZodObject<{
|
|
192
|
+
/** Optional manifest version (1 or undefined for legacy) */
|
|
193
|
+
version: z.ZodOptional<z.ZodLiteral<1>>;
|
|
194
|
+
/** Optional project name */
|
|
195
|
+
project: z.ZodOptional<z.ZodString>;
|
|
196
|
+
/** Flat list of resource identifiers */
|
|
197
|
+
resources: z.ZodArray<z.ZodString, "many">;
|
|
198
|
+
}, "strip", z.ZodTypeAny, {
|
|
199
|
+
resources: string[];
|
|
200
|
+
version?: 1 | undefined;
|
|
201
|
+
project?: string | undefined;
|
|
202
|
+
}, {
|
|
203
|
+
resources: string[];
|
|
204
|
+
version?: 1 | undefined;
|
|
205
|
+
project?: string | undefined;
|
|
206
|
+
}>;
|
|
207
|
+
export type LegacyManifest = z.infer<typeof LegacyManifestSchema>;
|
|
208
|
+
/**
|
|
209
|
+
* Any manifest schema - accepts either v1 or v2 format
|
|
210
|
+
*/
|
|
211
|
+
export declare const ManifestSchema: z.ZodUnion<[z.ZodObject<{
|
|
212
|
+
/** Manifest version - must be 2 for multi-account format */
|
|
213
|
+
version: z.ZodLiteral<2>;
|
|
214
|
+
/** Optional project name */
|
|
215
|
+
project: z.ZodOptional<z.ZodString>;
|
|
216
|
+
/** Resources grouped by account key (e.g., "aws:123456789012", "gcp:my-project") */
|
|
217
|
+
accounts: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
218
|
+
/** Optional human-readable alias for this account */
|
|
219
|
+
alias: z.ZodOptional<z.ZodString>;
|
|
220
|
+
/** List of resource identifiers (ARNs or GCP resource paths) */
|
|
221
|
+
resources: z.ZodArray<z.ZodString, "many">;
|
|
222
|
+
}, "strip", z.ZodTypeAny, {
|
|
223
|
+
resources: string[];
|
|
224
|
+
alias?: string | undefined;
|
|
225
|
+
}, {
|
|
226
|
+
resources: string[];
|
|
227
|
+
alias?: string | undefined;
|
|
228
|
+
}>>;
|
|
229
|
+
}, "strip", z.ZodTypeAny, {
|
|
230
|
+
version: 2;
|
|
231
|
+
accounts: Record<string, {
|
|
232
|
+
resources: string[];
|
|
233
|
+
alias?: string | undefined;
|
|
234
|
+
}>;
|
|
235
|
+
project?: string | undefined;
|
|
236
|
+
}, {
|
|
237
|
+
version: 2;
|
|
238
|
+
accounts: Record<string, {
|
|
239
|
+
resources: string[];
|
|
240
|
+
alias?: string | undefined;
|
|
241
|
+
}>;
|
|
242
|
+
project?: string | undefined;
|
|
243
|
+
}>, z.ZodObject<{
|
|
244
|
+
/** Optional manifest version (1 or undefined for legacy) */
|
|
245
|
+
version: z.ZodOptional<z.ZodLiteral<1>>;
|
|
246
|
+
/** Optional project name */
|
|
247
|
+
project: z.ZodOptional<z.ZodString>;
|
|
248
|
+
/** Flat list of resource identifiers */
|
|
249
|
+
resources: z.ZodArray<z.ZodString, "many">;
|
|
250
|
+
}, "strip", z.ZodTypeAny, {
|
|
251
|
+
resources: string[];
|
|
252
|
+
version?: 1 | undefined;
|
|
253
|
+
project?: string | undefined;
|
|
254
|
+
}, {
|
|
255
|
+
resources: string[];
|
|
256
|
+
version?: 1 | undefined;
|
|
257
|
+
project?: string | undefined;
|
|
258
|
+
}>]>;
|
|
259
|
+
export type Manifest = z.infer<typeof ManifestSchema>;
|
|
260
|
+
/**
|
|
261
|
+
* Result of checking a single resource
|
|
262
|
+
*/
|
|
263
|
+
export declare const ResourceCheckResultSchema: z.ZodObject<{
|
|
264
|
+
/** The resource ARN or GCP path */
|
|
265
|
+
arn: z.ZodString;
|
|
266
|
+
/** Whether the resource exists */
|
|
267
|
+
exists: z.ZodBoolean;
|
|
268
|
+
/** Error message if check failed */
|
|
269
|
+
error: z.ZodOptional<z.ZodString>;
|
|
270
|
+
/** Service name (e.g., s3, lambda, run) */
|
|
271
|
+
service: z.ZodString;
|
|
272
|
+
/** Resource type (e.g., bucket, function) */
|
|
273
|
+
resourceType: z.ZodString;
|
|
274
|
+
/** Resource identifier */
|
|
275
|
+
resourceId: z.ZodString;
|
|
276
|
+
}, "strip", z.ZodTypeAny, {
|
|
277
|
+
exists: boolean;
|
|
278
|
+
service: string;
|
|
279
|
+
resourceType: string;
|
|
280
|
+
resourceId: string;
|
|
281
|
+
arn: string;
|
|
282
|
+
error?: string | undefined;
|
|
283
|
+
}, {
|
|
284
|
+
exists: boolean;
|
|
285
|
+
service: string;
|
|
286
|
+
resourceType: string;
|
|
287
|
+
resourceId: string;
|
|
288
|
+
arn: string;
|
|
289
|
+
error?: string | undefined;
|
|
290
|
+
}>;
|
|
291
|
+
export type ResourceCheckResult = z.infer<typeof ResourceCheckResultSchema>;
|
|
292
|
+
/**
|
|
293
|
+
* Scan summary statistics
|
|
294
|
+
*/
|
|
295
|
+
export declare const InfraScanSummarySchema: z.ZodObject<{
|
|
296
|
+
/** Total resources checked */
|
|
297
|
+
total: z.ZodNumber;
|
|
298
|
+
/** Resources that exist */
|
|
299
|
+
found: z.ZodNumber;
|
|
300
|
+
/** Resources that don't exist */
|
|
301
|
+
missing: z.ZodNumber;
|
|
302
|
+
/** Resources that couldn't be checked (errors) */
|
|
303
|
+
errors: z.ZodNumber;
|
|
304
|
+
}, "strip", z.ZodTypeAny, {
|
|
305
|
+
total: number;
|
|
306
|
+
missing: number;
|
|
307
|
+
found: number;
|
|
308
|
+
errors: number;
|
|
309
|
+
}, {
|
|
310
|
+
total: number;
|
|
311
|
+
missing: number;
|
|
312
|
+
found: number;
|
|
313
|
+
errors: number;
|
|
314
|
+
}>;
|
|
315
|
+
export type InfraScanSummary = z.infer<typeof InfraScanSummarySchema>;
|
|
316
|
+
/**
|
|
317
|
+
* Per-account scan results
|
|
318
|
+
*/
|
|
319
|
+
declare const AccountScanResultSchema: z.ZodObject<{
|
|
320
|
+
/** Account alias if provided */
|
|
321
|
+
alias: z.ZodOptional<z.ZodString>;
|
|
322
|
+
/** Individual resource check results */
|
|
323
|
+
results: z.ZodArray<z.ZodObject<{
|
|
324
|
+
/** The resource ARN or GCP path */
|
|
325
|
+
arn: z.ZodString;
|
|
326
|
+
/** Whether the resource exists */
|
|
327
|
+
exists: z.ZodBoolean;
|
|
328
|
+
/** Error message if check failed */
|
|
329
|
+
error: z.ZodOptional<z.ZodString>;
|
|
330
|
+
/** Service name (e.g., s3, lambda, run) */
|
|
331
|
+
service: z.ZodString;
|
|
332
|
+
/** Resource type (e.g., bucket, function) */
|
|
333
|
+
resourceType: z.ZodString;
|
|
334
|
+
/** Resource identifier */
|
|
335
|
+
resourceId: z.ZodString;
|
|
336
|
+
}, "strip", z.ZodTypeAny, {
|
|
337
|
+
exists: boolean;
|
|
338
|
+
service: string;
|
|
339
|
+
resourceType: string;
|
|
340
|
+
resourceId: string;
|
|
341
|
+
arn: string;
|
|
342
|
+
error?: string | undefined;
|
|
343
|
+
}, {
|
|
344
|
+
exists: boolean;
|
|
345
|
+
service: string;
|
|
346
|
+
resourceType: string;
|
|
347
|
+
resourceId: string;
|
|
348
|
+
arn: string;
|
|
349
|
+
error?: string | undefined;
|
|
350
|
+
}>, "many">;
|
|
351
|
+
/** Summary statistics for this account */
|
|
352
|
+
summary: z.ZodObject<{
|
|
353
|
+
/** Total resources checked */
|
|
354
|
+
total: z.ZodNumber;
|
|
355
|
+
/** Resources that exist */
|
|
356
|
+
found: z.ZodNumber;
|
|
357
|
+
/** Resources that don't exist */
|
|
358
|
+
missing: z.ZodNumber;
|
|
359
|
+
/** Resources that couldn't be checked (errors) */
|
|
360
|
+
errors: z.ZodNumber;
|
|
361
|
+
}, "strip", z.ZodTypeAny, {
|
|
362
|
+
total: number;
|
|
363
|
+
missing: number;
|
|
364
|
+
found: number;
|
|
365
|
+
errors: number;
|
|
366
|
+
}, {
|
|
367
|
+
total: number;
|
|
368
|
+
missing: number;
|
|
369
|
+
found: number;
|
|
370
|
+
errors: number;
|
|
371
|
+
}>;
|
|
372
|
+
}, "strip", z.ZodTypeAny, {
|
|
373
|
+
summary: {
|
|
374
|
+
total: number;
|
|
375
|
+
missing: number;
|
|
376
|
+
found: number;
|
|
377
|
+
errors: number;
|
|
378
|
+
};
|
|
379
|
+
results: {
|
|
380
|
+
exists: boolean;
|
|
381
|
+
service: string;
|
|
382
|
+
resourceType: string;
|
|
383
|
+
resourceId: string;
|
|
384
|
+
arn: string;
|
|
385
|
+
error?: string | undefined;
|
|
386
|
+
}[];
|
|
387
|
+
alias?: string | undefined;
|
|
388
|
+
}, {
|
|
389
|
+
summary: {
|
|
390
|
+
total: number;
|
|
391
|
+
missing: number;
|
|
392
|
+
found: number;
|
|
393
|
+
errors: number;
|
|
394
|
+
};
|
|
395
|
+
results: {
|
|
396
|
+
exists: boolean;
|
|
397
|
+
service: string;
|
|
398
|
+
resourceType: string;
|
|
399
|
+
resourceId: string;
|
|
400
|
+
arn: string;
|
|
401
|
+
error?: string | undefined;
|
|
402
|
+
}[];
|
|
403
|
+
alias?: string | undefined;
|
|
404
|
+
}>;
|
|
405
|
+
export type AccountScanResult = z.infer<typeof AccountScanResultSchema>;
|
|
406
|
+
/**
|
|
407
|
+
* Full infrastructure scan result
|
|
408
|
+
*/
|
|
409
|
+
export declare const InfraScanResultSchema: z.ZodObject<{
|
|
410
|
+
/** Path to the manifest file */
|
|
411
|
+
manifest: z.ZodString;
|
|
412
|
+
/** Project name */
|
|
413
|
+
project: z.ZodOptional<z.ZodString>;
|
|
414
|
+
/** Individual resource check results */
|
|
415
|
+
results: z.ZodArray<z.ZodObject<{
|
|
416
|
+
/** The resource ARN or GCP path */
|
|
417
|
+
arn: z.ZodString;
|
|
418
|
+
/** Whether the resource exists */
|
|
419
|
+
exists: z.ZodBoolean;
|
|
420
|
+
/** Error message if check failed */
|
|
421
|
+
error: z.ZodOptional<z.ZodString>;
|
|
422
|
+
/** Service name (e.g., s3, lambda, run) */
|
|
423
|
+
service: z.ZodString;
|
|
424
|
+
/** Resource type (e.g., bucket, function) */
|
|
425
|
+
resourceType: z.ZodString;
|
|
426
|
+
/** Resource identifier */
|
|
427
|
+
resourceId: z.ZodString;
|
|
428
|
+
}, "strip", z.ZodTypeAny, {
|
|
429
|
+
exists: boolean;
|
|
430
|
+
service: string;
|
|
431
|
+
resourceType: string;
|
|
432
|
+
resourceId: string;
|
|
433
|
+
arn: string;
|
|
434
|
+
error?: string | undefined;
|
|
435
|
+
}, {
|
|
436
|
+
exists: boolean;
|
|
437
|
+
service: string;
|
|
438
|
+
resourceType: string;
|
|
439
|
+
resourceId: string;
|
|
440
|
+
arn: string;
|
|
441
|
+
error?: string | undefined;
|
|
442
|
+
}>, "many">;
|
|
443
|
+
/** Summary statistics */
|
|
444
|
+
summary: z.ZodObject<{
|
|
445
|
+
/** Total resources checked */
|
|
446
|
+
total: z.ZodNumber;
|
|
447
|
+
/** Resources that exist */
|
|
448
|
+
found: z.ZodNumber;
|
|
449
|
+
/** Resources that don't exist */
|
|
450
|
+
missing: z.ZodNumber;
|
|
451
|
+
/** Resources that couldn't be checked (errors) */
|
|
452
|
+
errors: z.ZodNumber;
|
|
453
|
+
}, "strip", z.ZodTypeAny, {
|
|
454
|
+
total: number;
|
|
455
|
+
missing: number;
|
|
456
|
+
found: number;
|
|
457
|
+
errors: number;
|
|
458
|
+
}, {
|
|
459
|
+
total: number;
|
|
460
|
+
missing: number;
|
|
461
|
+
found: number;
|
|
462
|
+
errors: number;
|
|
463
|
+
}>;
|
|
464
|
+
/** Per-account results (only present for multi-account manifests) */
|
|
465
|
+
accountResults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
466
|
+
/** Account alias if provided */
|
|
467
|
+
alias: z.ZodOptional<z.ZodString>;
|
|
468
|
+
/** Individual resource check results */
|
|
469
|
+
results: z.ZodArray<z.ZodObject<{
|
|
470
|
+
/** The resource ARN or GCP path */
|
|
471
|
+
arn: z.ZodString;
|
|
472
|
+
/** Whether the resource exists */
|
|
473
|
+
exists: z.ZodBoolean;
|
|
474
|
+
/** Error message if check failed */
|
|
475
|
+
error: z.ZodOptional<z.ZodString>;
|
|
476
|
+
/** Service name (e.g., s3, lambda, run) */
|
|
477
|
+
service: z.ZodString;
|
|
478
|
+
/** Resource type (e.g., bucket, function) */
|
|
479
|
+
resourceType: z.ZodString;
|
|
480
|
+
/** Resource identifier */
|
|
481
|
+
resourceId: z.ZodString;
|
|
482
|
+
}, "strip", z.ZodTypeAny, {
|
|
483
|
+
exists: boolean;
|
|
484
|
+
service: string;
|
|
485
|
+
resourceType: string;
|
|
486
|
+
resourceId: string;
|
|
487
|
+
arn: string;
|
|
488
|
+
error?: string | undefined;
|
|
489
|
+
}, {
|
|
490
|
+
exists: boolean;
|
|
491
|
+
service: string;
|
|
492
|
+
resourceType: string;
|
|
493
|
+
resourceId: string;
|
|
494
|
+
arn: string;
|
|
495
|
+
error?: string | undefined;
|
|
496
|
+
}>, "many">;
|
|
497
|
+
/** Summary statistics for this account */
|
|
498
|
+
summary: z.ZodObject<{
|
|
499
|
+
/** Total resources checked */
|
|
500
|
+
total: z.ZodNumber;
|
|
501
|
+
/** Resources that exist */
|
|
502
|
+
found: z.ZodNumber;
|
|
503
|
+
/** Resources that don't exist */
|
|
504
|
+
missing: z.ZodNumber;
|
|
505
|
+
/** Resources that couldn't be checked (errors) */
|
|
506
|
+
errors: z.ZodNumber;
|
|
507
|
+
}, "strip", z.ZodTypeAny, {
|
|
508
|
+
total: number;
|
|
509
|
+
missing: number;
|
|
510
|
+
found: number;
|
|
511
|
+
errors: number;
|
|
512
|
+
}, {
|
|
513
|
+
total: number;
|
|
514
|
+
missing: number;
|
|
515
|
+
found: number;
|
|
516
|
+
errors: number;
|
|
517
|
+
}>;
|
|
518
|
+
}, "strip", z.ZodTypeAny, {
|
|
519
|
+
summary: {
|
|
520
|
+
total: number;
|
|
521
|
+
missing: number;
|
|
522
|
+
found: number;
|
|
523
|
+
errors: number;
|
|
524
|
+
};
|
|
525
|
+
results: {
|
|
526
|
+
exists: boolean;
|
|
527
|
+
service: string;
|
|
528
|
+
resourceType: string;
|
|
529
|
+
resourceId: string;
|
|
530
|
+
arn: string;
|
|
531
|
+
error?: string | undefined;
|
|
532
|
+
}[];
|
|
533
|
+
alias?: string | undefined;
|
|
534
|
+
}, {
|
|
535
|
+
summary: {
|
|
536
|
+
total: number;
|
|
537
|
+
missing: number;
|
|
538
|
+
found: number;
|
|
539
|
+
errors: number;
|
|
540
|
+
};
|
|
541
|
+
results: {
|
|
542
|
+
exists: boolean;
|
|
543
|
+
service: string;
|
|
544
|
+
resourceType: string;
|
|
545
|
+
resourceId: string;
|
|
546
|
+
arn: string;
|
|
547
|
+
error?: string | undefined;
|
|
548
|
+
}[];
|
|
549
|
+
alias?: string | undefined;
|
|
550
|
+
}>>>;
|
|
551
|
+
}, "strip", z.ZodTypeAny, {
|
|
552
|
+
manifest: string;
|
|
553
|
+
summary: {
|
|
554
|
+
total: number;
|
|
555
|
+
missing: number;
|
|
556
|
+
found: number;
|
|
557
|
+
errors: number;
|
|
558
|
+
};
|
|
559
|
+
results: {
|
|
560
|
+
exists: boolean;
|
|
561
|
+
service: string;
|
|
562
|
+
resourceType: string;
|
|
563
|
+
resourceId: string;
|
|
564
|
+
arn: string;
|
|
565
|
+
error?: string | undefined;
|
|
566
|
+
}[];
|
|
567
|
+
project?: string | undefined;
|
|
568
|
+
accountResults?: Record<string, {
|
|
569
|
+
summary: {
|
|
570
|
+
total: number;
|
|
571
|
+
missing: number;
|
|
572
|
+
found: number;
|
|
573
|
+
errors: number;
|
|
574
|
+
};
|
|
575
|
+
results: {
|
|
576
|
+
exists: boolean;
|
|
577
|
+
service: string;
|
|
578
|
+
resourceType: string;
|
|
579
|
+
resourceId: string;
|
|
580
|
+
arn: string;
|
|
581
|
+
error?: string | undefined;
|
|
582
|
+
}[];
|
|
583
|
+
alias?: string | undefined;
|
|
584
|
+
}> | undefined;
|
|
585
|
+
}, {
|
|
586
|
+
manifest: string;
|
|
587
|
+
summary: {
|
|
588
|
+
total: number;
|
|
589
|
+
missing: number;
|
|
590
|
+
found: number;
|
|
591
|
+
errors: number;
|
|
592
|
+
};
|
|
593
|
+
results: {
|
|
594
|
+
exists: boolean;
|
|
595
|
+
service: string;
|
|
596
|
+
resourceType: string;
|
|
597
|
+
resourceId: string;
|
|
598
|
+
arn: string;
|
|
599
|
+
error?: string | undefined;
|
|
600
|
+
}[];
|
|
601
|
+
project?: string | undefined;
|
|
602
|
+
accountResults?: Record<string, {
|
|
603
|
+
summary: {
|
|
604
|
+
total: number;
|
|
605
|
+
missing: number;
|
|
606
|
+
found: number;
|
|
607
|
+
errors: number;
|
|
608
|
+
};
|
|
609
|
+
results: {
|
|
610
|
+
exists: boolean;
|
|
611
|
+
service: string;
|
|
612
|
+
resourceType: string;
|
|
613
|
+
resourceId: string;
|
|
614
|
+
arn: string;
|
|
615
|
+
error?: string | undefined;
|
|
616
|
+
}[];
|
|
617
|
+
alias?: string | undefined;
|
|
618
|
+
}> | undefined;
|
|
619
|
+
}>;
|
|
620
|
+
export type InfraScanResult = z.infer<typeof InfraScanResultSchema>;
|
|
621
|
+
/**
|
|
622
|
+
* Options for programmatic API
|
|
623
|
+
*/
|
|
624
|
+
export interface ScanInfraOptions {
|
|
625
|
+
/** Path to manifest file */
|
|
626
|
+
manifestPath?: string;
|
|
627
|
+
/** Path to config file */
|
|
628
|
+
configPath?: string;
|
|
629
|
+
/** Filter to specific account (by alias or account key like "aws:123") */
|
|
630
|
+
account?: string;
|
|
631
|
+
}
|
|
632
|
+
/**
|
|
633
|
+
* Options for CLI handler
|
|
634
|
+
*/
|
|
635
|
+
export type RunInfraScanOptions = ScanInfraOptions & {
|
|
636
|
+
/** Output format */
|
|
637
|
+
format?: "text" | "json";
|
|
638
|
+
};
|
|
639
|
+
/**
|
|
640
|
+
* Pulumi resource in stack export
|
|
641
|
+
*/
|
|
642
|
+
export declare const PulumiResourceSchema: z.ZodObject<{
|
|
643
|
+
urn: z.ZodOptional<z.ZodString>;
|
|
644
|
+
type: z.ZodOptional<z.ZodString>;
|
|
645
|
+
inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
646
|
+
outputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
647
|
+
}, "strip", z.ZodTypeAny, {
|
|
648
|
+
type?: string | undefined;
|
|
649
|
+
urn?: string | undefined;
|
|
650
|
+
inputs?: Record<string, unknown> | undefined;
|
|
651
|
+
outputs?: Record<string, unknown> | undefined;
|
|
652
|
+
}, {
|
|
653
|
+
type?: string | undefined;
|
|
654
|
+
urn?: string | undefined;
|
|
655
|
+
inputs?: Record<string, unknown> | undefined;
|
|
656
|
+
outputs?: Record<string, unknown> | undefined;
|
|
657
|
+
}>;
|
|
658
|
+
export type PulumiResource = z.infer<typeof PulumiResourceSchema>;
|
|
659
|
+
/**
|
|
660
|
+
* Pulumi stack export schema (simplified)
|
|
661
|
+
*/
|
|
662
|
+
export declare const PulumiStackExportSchema: z.ZodObject<{
|
|
663
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
664
|
+
deployment: z.ZodOptional<z.ZodObject<{
|
|
665
|
+
manifest: z.ZodOptional<z.ZodObject<{
|
|
666
|
+
time: z.ZodOptional<z.ZodString>;
|
|
667
|
+
magic: z.ZodOptional<z.ZodString>;
|
|
668
|
+
version: z.ZodOptional<z.ZodString>;
|
|
669
|
+
}, "strip", z.ZodTypeAny, {
|
|
670
|
+
time?: string | undefined;
|
|
671
|
+
version?: string | undefined;
|
|
672
|
+
magic?: string | undefined;
|
|
673
|
+
}, {
|
|
674
|
+
time?: string | undefined;
|
|
675
|
+
version?: string | undefined;
|
|
676
|
+
magic?: string | undefined;
|
|
677
|
+
}>>;
|
|
678
|
+
resources: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
679
|
+
urn: z.ZodOptional<z.ZodString>;
|
|
680
|
+
type: z.ZodOptional<z.ZodString>;
|
|
681
|
+
inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
682
|
+
outputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
683
|
+
}, "strip", z.ZodTypeAny, {
|
|
684
|
+
type?: string | undefined;
|
|
685
|
+
urn?: string | undefined;
|
|
686
|
+
inputs?: Record<string, unknown> | undefined;
|
|
687
|
+
outputs?: Record<string, unknown> | undefined;
|
|
688
|
+
}, {
|
|
689
|
+
type?: string | undefined;
|
|
690
|
+
urn?: string | undefined;
|
|
691
|
+
inputs?: Record<string, unknown> | undefined;
|
|
692
|
+
outputs?: Record<string, unknown> | undefined;
|
|
693
|
+
}>, "many">>;
|
|
694
|
+
}, "strip", z.ZodTypeAny, {
|
|
695
|
+
manifest?: {
|
|
696
|
+
time?: string | undefined;
|
|
697
|
+
version?: string | undefined;
|
|
698
|
+
magic?: string | undefined;
|
|
699
|
+
} | undefined;
|
|
700
|
+
resources?: {
|
|
701
|
+
type?: string | undefined;
|
|
702
|
+
urn?: string | undefined;
|
|
703
|
+
inputs?: Record<string, unknown> | undefined;
|
|
704
|
+
outputs?: Record<string, unknown> | undefined;
|
|
705
|
+
}[] | undefined;
|
|
706
|
+
}, {
|
|
707
|
+
manifest?: {
|
|
708
|
+
time?: string | undefined;
|
|
709
|
+
version?: string | undefined;
|
|
710
|
+
magic?: string | undefined;
|
|
711
|
+
} | undefined;
|
|
712
|
+
resources?: {
|
|
713
|
+
type?: string | undefined;
|
|
714
|
+
urn?: string | undefined;
|
|
715
|
+
inputs?: Record<string, unknown> | undefined;
|
|
716
|
+
outputs?: Record<string, unknown> | undefined;
|
|
717
|
+
}[] | undefined;
|
|
718
|
+
}>>;
|
|
719
|
+
}, "strip", z.ZodTypeAny, {
|
|
720
|
+
version?: number | undefined;
|
|
721
|
+
deployment?: {
|
|
722
|
+
manifest?: {
|
|
723
|
+
time?: string | undefined;
|
|
724
|
+
version?: string | undefined;
|
|
725
|
+
magic?: string | undefined;
|
|
726
|
+
} | undefined;
|
|
727
|
+
resources?: {
|
|
728
|
+
type?: string | undefined;
|
|
729
|
+
urn?: string | undefined;
|
|
730
|
+
inputs?: Record<string, unknown> | undefined;
|
|
731
|
+
outputs?: Record<string, unknown> | undefined;
|
|
732
|
+
}[] | undefined;
|
|
733
|
+
} | undefined;
|
|
734
|
+
}, {
|
|
735
|
+
version?: number | undefined;
|
|
736
|
+
deployment?: {
|
|
737
|
+
manifest?: {
|
|
738
|
+
time?: string | undefined;
|
|
739
|
+
version?: string | undefined;
|
|
740
|
+
magic?: string | undefined;
|
|
741
|
+
} | undefined;
|
|
742
|
+
resources?: {
|
|
743
|
+
type?: string | undefined;
|
|
744
|
+
urn?: string | undefined;
|
|
745
|
+
inputs?: Record<string, unknown> | undefined;
|
|
746
|
+
outputs?: Record<string, unknown> | undefined;
|
|
747
|
+
}[] | undefined;
|
|
748
|
+
} | undefined;
|
|
749
|
+
}>;
|
|
750
|
+
export type PulumiStackExport = z.infer<typeof PulumiStackExportSchema>;
|
|
751
|
+
/**
|
|
752
|
+
* Validate an ARN string
|
|
753
|
+
* @throws ZodError if invalid
|
|
754
|
+
*/
|
|
755
|
+
export declare function validateArn(arn: string): Arn;
|
|
756
|
+
/**
|
|
757
|
+
* Check if a string is a valid ARN format
|
|
758
|
+
*/
|
|
759
|
+
export declare function isValidArnFormat(arn: string): boolean;
|
|
760
|
+
/**
|
|
761
|
+
* Validate a GCP resource path
|
|
762
|
+
* @throws ZodError if invalid
|
|
763
|
+
*/
|
|
764
|
+
export declare function validateGcpResourcePath(path: string): GcpResourcePath;
|
|
765
|
+
/**
|
|
766
|
+
* Check if a string is a valid GCP resource path
|
|
767
|
+
*/
|
|
768
|
+
export declare function isValidGcpResourcePath(path: string): boolean;
|
|
769
|
+
/**
|
|
770
|
+
* Validate an account key string
|
|
771
|
+
* @throws ZodError if invalid
|
|
772
|
+
*/
|
|
773
|
+
export declare function validateAccountKey(key: string): AccountKey;
|
|
774
|
+
/**
|
|
775
|
+
* Check if a string is a valid account key
|
|
776
|
+
*/
|
|
777
|
+
export declare function isValidAccountKey(key: string): boolean;
|
|
778
|
+
/**
|
|
779
|
+
* Validate a legacy (v1) manifest
|
|
780
|
+
* @throws ZodError if invalid
|
|
781
|
+
*/
|
|
782
|
+
export declare function validateLegacyManifest(data: unknown): LegacyManifest;
|
|
783
|
+
/**
|
|
784
|
+
* Validate a multi-account (v2) manifest
|
|
785
|
+
* @throws ZodError if invalid
|
|
786
|
+
*/
|
|
787
|
+
export declare function validateMultiAccountManifest(data: unknown): MultiAccountManifest;
|
|
788
|
+
/**
|
|
789
|
+
* Validate any manifest format (v1 or v2)
|
|
790
|
+
* @throws ZodError if invalid
|
|
791
|
+
*/
|
|
792
|
+
export declare function validateManifest(data: unknown): Manifest;
|
|
793
|
+
/**
|
|
794
|
+
* Check if data is a valid multi-account (v2) manifest
|
|
795
|
+
*/
|
|
796
|
+
export declare function isMultiAccountManifestSchema(data: unknown): data is MultiAccountManifest;
|
|
797
|
+
/**
|
|
798
|
+
* Check if data is a valid legacy (v1) manifest
|
|
799
|
+
*/
|
|
800
|
+
export declare function isLegacyManifestSchema(data: unknown): data is LegacyManifest;
|
|
801
|
+
/**
|
|
802
|
+
* Validate a Pulumi stack export
|
|
803
|
+
* @throws ZodError if invalid
|
|
804
|
+
*/
|
|
805
|
+
export declare function validateStackExport(data: unknown): PulumiStackExport;
|
|
806
|
+
export {};
|