typekro 0.30.2 → 0.31.1
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/dist/.tsbuildinfo +1 -1
- package/dist/core/containers/build.d.ts.map +1 -1
- package/dist/core/containers/build.js +82 -2
- package/dist/core/containers/build.js.map +1 -1
- package/dist/core/containers/errors.d.ts +8 -1
- package/dist/core/containers/errors.d.ts.map +1 -1
- package/dist/core/containers/errors.js +11 -3
- package/dist/core/containers/errors.js.map +1 -1
- package/dist/core/containers/image.d.ts.map +1 -1
- package/dist/core/containers/image.js +10 -0
- package/dist/core/containers/image.js.map +1 -1
- package/dist/core/containers/registries/types.d.ts +11 -0
- package/dist/core/containers/registries/types.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +17 -2
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer.d.ts.map +1 -1
- package/dist/core/expressions/composition/composition-analyzer.js +24 -1
- package/dist/core/expressions/composition/composition-analyzer.js.map +1 -1
- package/dist/core/planning/planner.d.ts.map +1 -1
- package/dist/core/planning/planner.js +163 -6
- package/dist/core/planning/planner.js.map +1 -1
- package/dist/core/planning/values.d.ts +2 -0
- package/dist/core/planning/values.d.ts.map +1 -1
- package/dist/core/planning/values.js +20 -8
- package/dist/core/planning/values.js.map +1 -1
- package/dist/core/serialization/cel-references.d.ts +4 -4
- package/dist/core/serialization/cel-references.d.ts.map +1 -1
- package/dist/core/serialization/cel-references.js +59 -43
- package/dist/core/serialization/cel-references.js.map +1 -1
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +7 -1
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +26 -32
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/core/validation/cel-validator.d.ts +16 -3
- package/dist/core/validation/cel-validator.d.ts.map +1 -1
- package/dist/core/validation/cel-validator.js +200 -26
- package/dist/core/validation/cel-validator.js.map +1 -1
- package/dist/utils/cel-resource-identifiers.d.ts +23 -0
- package/dist/utils/cel-resource-identifiers.d.ts.map +1 -0
- package/dist/utils/cel-resource-identifiers.js +355 -0
- package/dist/utils/cel-resource-identifiers.js.map +1 -0
- package/package.json +1 -1
|
@@ -7,8 +7,71 @@
|
|
|
7
7
|
* 3. All referenced resources must exist in the ResourceGraphDefinition
|
|
8
8
|
*/
|
|
9
9
|
import { isCelExpression, isKubernetesRef } from '../../utils/type-guards.js';
|
|
10
|
+
import { celRootReferences, kubernetesMarkerReferences, } from '../../utils/cel-resource-identifiers.js';
|
|
10
11
|
import { remapVariableNames } from '../composition/nested-status-cel.js';
|
|
12
|
+
import { getMetadataField, getResourceId } from '../metadata/index.js';
|
|
11
13
|
import { isStaticExpression, lookupNestedExpression } from '../serialization/cel-references.js';
|
|
14
|
+
export function getNestedCompositionIds(statusMappings) {
|
|
15
|
+
const descriptor = Object.getOwnPropertyDescriptor(statusMappings, '__nestedCompositionFns');
|
|
16
|
+
return descriptor?.value instanceof Map
|
|
17
|
+
? new Set([...descriptor.value.keys()].filter((value) => typeof value === 'string'))
|
|
18
|
+
: new Set();
|
|
19
|
+
}
|
|
20
|
+
function deriveResourceIdAliases(resourceId) {
|
|
21
|
+
const aliases = [];
|
|
22
|
+
for (const match of resourceId.matchAll(/\d+/g)) {
|
|
23
|
+
const suffix = resourceId.slice((match.index ?? 0) + match[0].length);
|
|
24
|
+
if (suffix && /^[A-Z]/.test(suffix)) {
|
|
25
|
+
aliases.push(suffix.charAt(0).toLowerCase() + suffix.slice(1));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return aliases;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Build the canonical resource identity set used by status planning,
|
|
32
|
+
* serialization, and client-side hydration.
|
|
33
|
+
*/
|
|
34
|
+
export function createStatusResourceIdentityContext(resources) {
|
|
35
|
+
const resourceIds = new Set();
|
|
36
|
+
const resourceAliases = new Map();
|
|
37
|
+
const identityOwners = new Map();
|
|
38
|
+
const ambiguousResourceAliases = new Map();
|
|
39
|
+
const registerIdentity = (identity, canonicalId, resourceKey) => {
|
|
40
|
+
const ambiguousOwners = ambiguousResourceAliases.get(identity);
|
|
41
|
+
if (ambiguousOwners) {
|
|
42
|
+
ambiguousOwners.add(canonicalId);
|
|
43
|
+
resourceIds.add(identity);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const existing = identityOwners.get(identity);
|
|
47
|
+
if (existing && existing.canonicalId !== canonicalId) {
|
|
48
|
+
ambiguousResourceAliases.set(identity, new Set([existing.canonicalId, canonicalId]));
|
|
49
|
+
resourceAliases.delete(identity);
|
|
50
|
+
resourceIds.add(identity);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
identityOwners.set(identity, { canonicalId, resourceKey });
|
|
54
|
+
resourceIds.add(identity);
|
|
55
|
+
resourceAliases.set(identity, canonicalId);
|
|
56
|
+
};
|
|
57
|
+
for (const [resourceKey, resource] of Object.entries(resources)) {
|
|
58
|
+
const resourceId = getResourceId(resource) ?? resourceKey;
|
|
59
|
+
registerIdentity(resourceKey, resourceId, resourceKey);
|
|
60
|
+
registerIdentity(resourceId, resourceId, resourceKey);
|
|
61
|
+
for (const alias of new Set([
|
|
62
|
+
...deriveResourceIdAliases(resourceKey),
|
|
63
|
+
...deriveResourceIdAliases(resourceId),
|
|
64
|
+
...(getMetadataField(resource, 'resourceAliases') ?? []),
|
|
65
|
+
])) {
|
|
66
|
+
registerIdentity(alias, resourceId, resourceKey);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
resourceIds,
|
|
71
|
+
resourceAliases,
|
|
72
|
+
ambiguousResourceAliases: new Map([...ambiguousResourceAliases].map(([identity, owners]) => [identity, [...owners]])),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
12
75
|
/**
|
|
13
76
|
* Validates that a resource ID follows camelCase convention required by Kro
|
|
14
77
|
*/
|
|
@@ -43,8 +106,7 @@ export function validateResourceId(id) {
|
|
|
43
106
|
*
|
|
44
107
|
* A value requires KRO resolution iff, after transitively resolving any
|
|
45
108
|
* nested-composition references through `nestedStatusCel`, it depends on
|
|
46
|
-
* at least one real-resource reference
|
|
47
|
-
* `metadata.*` field). Schema refs and literal values — at any depth,
|
|
109
|
+
* at least one real-resource reference. Schema refs and literal values — at any depth,
|
|
48
110
|
* including the far side of nested composition references — are static
|
|
49
111
|
* and hydrated by the TypeKro runtime at deploy time.
|
|
50
112
|
*
|
|
@@ -53,6 +115,8 @@ export function validateResourceId(id) {
|
|
|
53
115
|
* - spec.* — may include controller/defaulted or externalRef fields
|
|
54
116
|
* - metadata.uid — assigned by API server
|
|
55
117
|
* - metadata.creationTimestamp / resourceVersion / generation
|
|
118
|
+
* - explicit CEL naming a known graph resource, including kind-specific
|
|
119
|
+
* top-level fields such as ConfigMap data or Secret stringData
|
|
56
120
|
*
|
|
57
121
|
* Static (TypeKro resolves at deploy time):
|
|
58
122
|
* - __schema__ refs — resolved against the CR spec
|
|
@@ -61,7 +125,7 @@ export function validateResourceId(id) {
|
|
|
61
125
|
* - Nested composition refs whose inner analyzed expression is itself
|
|
62
126
|
* fully static (transitive check)
|
|
63
127
|
*/
|
|
64
|
-
function requiresKroResolution(value, nestedStatusCel, resourceIds) {
|
|
128
|
+
function requiresKroResolution(value, nestedStatusCel, resourceIds, nestedCompositionIds = new Set()) {
|
|
65
129
|
const localResourceIds = resourceIds ? Array.from(resourceIds) : [];
|
|
66
130
|
const preserveVariables = new Set();
|
|
67
131
|
if (nestedStatusCel) {
|
|
@@ -91,7 +155,7 @@ function requiresKroResolution(value, nestedStatusCel, resourceIds) {
|
|
|
91
155
|
? lookupNestedExpression(value.resourceId, fieldName, nestedStatusCel, false)
|
|
92
156
|
: lookupNestedExpression(value.resourceId, fieldName, nestedStatusCel);
|
|
93
157
|
if (innerExpr !== undefined) {
|
|
94
|
-
return !isStaticExpression(innerExpr, nestedStatusCel);
|
|
158
|
+
return !isStaticExpression(innerExpr, nestedStatusCel, resourceIds, true);
|
|
95
159
|
}
|
|
96
160
|
// Nested ref with no entry in the table is conservatively dynamic. Do not
|
|
97
161
|
// log during classification: later analysis may still recover an alias.
|
|
@@ -120,7 +184,8 @@ function requiresKroResolution(value, nestedStatusCel, resourceIds) {
|
|
|
120
184
|
const normalizedExpression = localResourceIds.length > 0
|
|
121
185
|
? remapVariableNames(value.expression, localResourceIds, preserveVariables)
|
|
122
186
|
: value.expression;
|
|
123
|
-
|
|
187
|
+
const referencesNestedComposition = [...nestedCompositionIds].some((id) => new RegExp(`(^|[^\\w$])${id.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\s*\\.`).test(normalizedExpression));
|
|
188
|
+
return !isStaticExpression(normalizedExpression, nestedStatusCel, resourceIds, referencesNestedComposition);
|
|
124
189
|
}
|
|
125
190
|
// Strings potentially containing __KUBERNETES_REF__ markers from
|
|
126
191
|
// template literals. Classify transitively: a marker string referencing
|
|
@@ -132,13 +197,15 @@ function requiresKroResolution(value, nestedStatusCel, resourceIds) {
|
|
|
132
197
|
const normalizedValue = localResourceIds.length > 0
|
|
133
198
|
? remapVariableNames(value, localResourceIds, preserveVariables)
|
|
134
199
|
: value;
|
|
135
|
-
|
|
200
|
+
const referencesNestedComposition = [...nestedCompositionIds].some((id) => normalizedValue.includes(`__KUBERNETES_REF_${id}_`) ||
|
|
201
|
+
new RegExp(`(^|[^\\w$])${id.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\s*\\.`).test(normalizedValue));
|
|
202
|
+
return !isStaticExpression(normalizedValue, nestedStatusCel, resourceIds, referencesNestedComposition);
|
|
136
203
|
}
|
|
137
204
|
if (Array.isArray(value)) {
|
|
138
|
-
return value.some((v) => requiresKroResolution(v, nestedStatusCel, resourceIds));
|
|
205
|
+
return value.some((v) => requiresKroResolution(v, nestedStatusCel, resourceIds, nestedCompositionIds));
|
|
139
206
|
}
|
|
140
207
|
if (typeof value === 'object' && value !== null) {
|
|
141
|
-
return Object.values(value).some((v) => requiresKroResolution(v, nestedStatusCel, resourceIds));
|
|
208
|
+
return Object.values(value).some((v) => requiresKroResolution(v, nestedStatusCel, resourceIds, nestedCompositionIds));
|
|
142
209
|
}
|
|
143
210
|
return false;
|
|
144
211
|
}
|
|
@@ -148,7 +215,7 @@ function requiresKroResolution(value, nestedStatusCel, resourceIds) {
|
|
|
148
215
|
* Classification is transitive over nested-composition references when a
|
|
149
216
|
* `nestedStatusCel` lookup table is provided.
|
|
150
217
|
*/
|
|
151
|
-
function separateNestedObject(obj, nestedStatusCel, resourceIds) {
|
|
218
|
+
function separateNestedObject(obj, nestedStatusCel, resourceIds, nestedCompositionIds = new Set()) {
|
|
152
219
|
const staticPart = {};
|
|
153
220
|
const dynamicPart = {};
|
|
154
221
|
for (const [key, value] of Object.entries(obj)) {
|
|
@@ -157,7 +224,7 @@ function separateNestedObject(obj, nestedStatusCel, resourceIds) {
|
|
|
157
224
|
!Array.isArray(value) &&
|
|
158
225
|
!isKubernetesRef(value) &&
|
|
159
226
|
!isCelExpression(value)) {
|
|
160
|
-
const nested = separateNestedObject(value, nestedStatusCel, resourceIds);
|
|
227
|
+
const nested = separateNestedObject(value, nestedStatusCel, resourceIds, nestedCompositionIds);
|
|
161
228
|
if (nested.hasStatic) {
|
|
162
229
|
staticPart[key] = nested.staticPart;
|
|
163
230
|
}
|
|
@@ -165,7 +232,7 @@ function separateNestedObject(obj, nestedStatusCel, resourceIds) {
|
|
|
165
232
|
dynamicPart[key] = nested.dynamicPart;
|
|
166
233
|
}
|
|
167
234
|
}
|
|
168
|
-
else if (requiresKroResolution(value, nestedStatusCel, resourceIds)) {
|
|
235
|
+
else if (requiresKroResolution(value, nestedStatusCel, resourceIds, nestedCompositionIds)) {
|
|
169
236
|
dynamicPart[key] = value;
|
|
170
237
|
}
|
|
171
238
|
else {
|
|
@@ -195,7 +262,7 @@ function separateNestedObject(obj, nestedStatusCel, resourceIds) {
|
|
|
195
262
|
* composition context attaches the table via Reflect.set), so existing
|
|
196
263
|
* callers continue to work without explicit plumbing.
|
|
197
264
|
*/
|
|
198
|
-
export function separateStatusFields(statusMappings, nestedStatusCel, resourceIds) {
|
|
265
|
+
export function separateStatusFields(statusMappings, nestedStatusCel, resourceIds, nestedCompositionIds = getNestedCompositionIds(statusMappings)) {
|
|
199
266
|
const staticFields = {};
|
|
200
267
|
const dynamicFields = {};
|
|
201
268
|
// Handle null/undefined inputs
|
|
@@ -221,7 +288,7 @@ export function separateStatusFields(statusMappings, nestedStatusCel, resourceId
|
|
|
221
288
|
!isKubernetesRef(fieldValue) &&
|
|
222
289
|
!isCelExpression(fieldValue)) {
|
|
223
290
|
// Handle nested objects that might have mixed static/dynamic fields
|
|
224
|
-
const { staticPart, dynamicPart, hasStatic, hasDynamic } = separateNestedObject(fieldValue, nestedStatusCel, resourceIds);
|
|
291
|
+
const { staticPart, dynamicPart, hasStatic, hasDynamic } = separateNestedObject(fieldValue, nestedStatusCel, resourceIds, nestedCompositionIds);
|
|
225
292
|
if (hasStatic) {
|
|
226
293
|
staticFields[fieldName] = staticPart;
|
|
227
294
|
}
|
|
@@ -229,7 +296,7 @@ export function separateStatusFields(statusMappings, nestedStatusCel, resourceId
|
|
|
229
296
|
dynamicFields[fieldName] = dynamicPart;
|
|
230
297
|
}
|
|
231
298
|
}
|
|
232
|
-
else if (requiresKroResolution(fieldValue, nestedStatusCel, resourceIds)) {
|
|
299
|
+
else if (requiresKroResolution(fieldValue, nestedStatusCel, resourceIds, nestedCompositionIds)) {
|
|
233
300
|
dynamicFields[fieldName] = fieldValue;
|
|
234
301
|
}
|
|
235
302
|
else {
|
|
@@ -241,17 +308,15 @@ export function separateStatusFields(statusMappings, nestedStatusCel, resourceId
|
|
|
241
308
|
/**
|
|
242
309
|
* Validates CEL expressions in dynamic status fields to ensure they reference actual resources
|
|
243
310
|
*/
|
|
244
|
-
export function validateStatusCelExpressions(statusMappings, resources) {
|
|
311
|
+
export function validateStatusCelExpressions(statusMappings, resources, options = {}) {
|
|
245
312
|
const errors = [];
|
|
246
313
|
const warnings = [];
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
const
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
.filter(Boolean), // Resource IDs
|
|
254
|
-
]);
|
|
314
|
+
const identityContext = createStatusResourceIdentityContext(resources);
|
|
315
|
+
const resourceIds = new Set(identityContext.resourceIds);
|
|
316
|
+
const resourcesByCanonicalId = new Map();
|
|
317
|
+
for (const [resourceKey, resource] of Object.entries(resources)) {
|
|
318
|
+
resourcesByCanonicalId.set(getResourceId(resource) ?? resourceKey, resource);
|
|
319
|
+
}
|
|
255
320
|
const preserveVariables = new Set();
|
|
256
321
|
const nestedDescriptor = Object.getOwnPropertyDescriptor(statusMappings, '__nestedStatusCel');
|
|
257
322
|
const nestedStatusCelForValidation = nestedDescriptor?.value && typeof nestedDescriptor.value === 'object'
|
|
@@ -266,8 +331,112 @@ export function validateStatusCelExpressions(statusMappings, resources) {
|
|
|
266
331
|
}
|
|
267
332
|
}
|
|
268
333
|
}
|
|
269
|
-
|
|
270
|
-
|
|
334
|
+
const nestedCompositionIds = getNestedCompositionIds(statusMappings);
|
|
335
|
+
function isSensitiveSecretField(resourceId, fieldPath) {
|
|
336
|
+
const canonicalId = identityContext.resourceAliases.get(resourceId) ?? resourceId;
|
|
337
|
+
const resource = resourcesByCanonicalId.get(canonicalId);
|
|
338
|
+
const topLevelField = fieldPath.split('.')[0];
|
|
339
|
+
return (resource?.kind === 'Secret' &&
|
|
340
|
+
getMetadataField(resource, 'secretMaterial') !== 'public-placeholder' &&
|
|
341
|
+
(fieldPath === '' || topLevelField === 'data' || topLevelField === 'stringData'));
|
|
342
|
+
}
|
|
343
|
+
function expressionReferences(expression) {
|
|
344
|
+
return [...kubernetesMarkerReferences(expression), ...celRootReferences(expression)];
|
|
345
|
+
}
|
|
346
|
+
function findSensitiveReference(expression) {
|
|
347
|
+
const sensitiveReference = expressionReferences(expression).find((reference) => isSensitiveSecretField(reference.root, reference.segments.join('.')));
|
|
348
|
+
return sensitiveReference
|
|
349
|
+
? `${sensitiveReference.root}${sensitiveReference.segments.length > 0
|
|
350
|
+
? `.${sensitiveReference.segments.join('.')}`
|
|
351
|
+
: ''}`
|
|
352
|
+
: undefined;
|
|
353
|
+
}
|
|
354
|
+
function findAmbiguousReference(value) {
|
|
355
|
+
if (isKubernetesRef(value)) {
|
|
356
|
+
return identityContext.ambiguousResourceAliases.has(value.resourceId)
|
|
357
|
+
? value.resourceId
|
|
358
|
+
: undefined;
|
|
359
|
+
}
|
|
360
|
+
if (isCelExpression(value)) {
|
|
361
|
+
return expressionReferences(value.expression).find((reference) => identityContext.ambiguousResourceAliases.has(reference.root))?.root;
|
|
362
|
+
}
|
|
363
|
+
if (typeof value === 'string' &&
|
|
364
|
+
(value.includes('__KUBERNETES_REF_') || value.includes('${'))) {
|
|
365
|
+
return expressionReferences(value).find((reference) => identityContext.ambiguousResourceAliases.has(reference.root))?.root;
|
|
366
|
+
}
|
|
367
|
+
if (Array.isArray(value)) {
|
|
368
|
+
for (const item of value) {
|
|
369
|
+
const ambiguousReference = findAmbiguousReference(item);
|
|
370
|
+
if (ambiguousReference)
|
|
371
|
+
return ambiguousReference;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
else if (value && typeof value === 'object') {
|
|
375
|
+
for (const nestedValue of Object.values(value)) {
|
|
376
|
+
const ambiguousReference = findAmbiguousReference(nestedValue);
|
|
377
|
+
if (ambiguousReference)
|
|
378
|
+
return ambiguousReference;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
return undefined;
|
|
382
|
+
}
|
|
383
|
+
function validateSensitivity(fieldName, value) {
|
|
384
|
+
let sensitiveExpression;
|
|
385
|
+
if (isKubernetesRef(value)) {
|
|
386
|
+
if (isSensitiveSecretField(value.resourceId, value.fieldPath)) {
|
|
387
|
+
sensitiveExpression = `${value.resourceId}.${value.fieldPath}`;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
else if (isCelExpression(value)) {
|
|
391
|
+
sensitiveExpression = findSensitiveReference(value.expression);
|
|
392
|
+
}
|
|
393
|
+
else if (typeof value === 'string' &&
|
|
394
|
+
(value.includes('__KUBERNETES_REF_') || value.includes('${'))) {
|
|
395
|
+
sensitiveExpression = findSensitiveReference(value);
|
|
396
|
+
}
|
|
397
|
+
else if (value && typeof value === 'object') {
|
|
398
|
+
for (const [key, nestedValue] of Object.entries(value)) {
|
|
399
|
+
validateSensitivity(`${fieldName}.${key}`, nestedValue);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
if (sensitiveExpression) {
|
|
403
|
+
const referencedResource = sensitiveExpression.split('.')[0];
|
|
404
|
+
errors.push({
|
|
405
|
+
field: fieldName,
|
|
406
|
+
expression: sensitiveExpression,
|
|
407
|
+
error: `Status field '${fieldName}' derives from sensitive Secret data and cannot be projected`,
|
|
408
|
+
suggestion: 'Project a non-sensitive readiness or identity field instead of Secret data/stringData',
|
|
409
|
+
code: 'sensitive-status',
|
|
410
|
+
...(referencedResource ? { referencedResource } : {}),
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
if (options.enforceSensitiveStatus !== false) {
|
|
415
|
+
for (const [fieldName, fieldValue] of Object.entries(statusMappings)) {
|
|
416
|
+
if (!fieldName.startsWith('__')) {
|
|
417
|
+
validateSensitivity(fieldName, fieldValue);
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
for (const [fieldName, fieldValue] of Object.entries(statusMappings)) {
|
|
422
|
+
if (fieldName.startsWith('__'))
|
|
423
|
+
continue;
|
|
424
|
+
const ambiguousReference = findAmbiguousReference(fieldValue);
|
|
425
|
+
if (!ambiguousReference)
|
|
426
|
+
continue;
|
|
427
|
+
const owners = identityContext.ambiguousResourceAliases.get(ambiguousReference) ?? [];
|
|
428
|
+
errors.push({
|
|
429
|
+
field: fieldName,
|
|
430
|
+
expression: ambiguousReference,
|
|
431
|
+
error: `Status resource identity '${ambiguousReference}' is ambiguous between resources ` +
|
|
432
|
+
owners.map((owner) => `'${owner}'`).join(' and '),
|
|
433
|
+
suggestion: 'Reference an unambiguous canonical resource id',
|
|
434
|
+
code: 'ambiguous-resource',
|
|
435
|
+
referencedResource: ambiguousReference,
|
|
436
|
+
});
|
|
437
|
+
}
|
|
438
|
+
// Separate static and dynamic fields using the same graph identities as serialization.
|
|
439
|
+
const { staticFields, dynamicFields } = separateStatusFields(statusMappings, nestedStatusCelForValidation, resourceIds, nestedCompositionIds);
|
|
271
440
|
/**
|
|
272
441
|
* Scan a (remapped) expression for direct resource references (`id.status.` / `id.spec.` /
|
|
273
442
|
* `id.metadata.`) whose root is not a known resource, schema, CEL lambda variable, or preserved
|
|
@@ -443,7 +612,12 @@ export function validateResourceIds(resources) {
|
|
|
443
612
|
export function validateResourceGraphDefinition(resources, statusMappings) {
|
|
444
613
|
const resourceIdValidation = validateResourceIds(resources);
|
|
445
614
|
const statusValidation = statusMappings
|
|
446
|
-
? validateStatusCelExpressions(statusMappings, resources
|
|
615
|
+
? validateStatusCelExpressions(statusMappings, resources, {
|
|
616
|
+
// Graph construction must remain available to semantic planning, which
|
|
617
|
+
// independently taints and diagnoses sensitive projections. The legacy
|
|
618
|
+
// KRO serializer enforces this boundary immediately before YAML emission.
|
|
619
|
+
enforceSensitiveStatus: false,
|
|
620
|
+
})
|
|
447
621
|
: { isValid: true, errors: [], warnings: [] };
|
|
448
622
|
return {
|
|
449
623
|
isValid: resourceIdValidation.isValid && statusValidation.isValid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cel-validator.js","sourceRoot":"","sources":["../../../src/core/validation/cel-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAoBhG;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,8EAA8E;IAC9E,MAAM,cAAc,GAAG,qBAAqB,CAAC;IAE7C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7B,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,kCAAkC;QAClC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,gCAAgC;QAChC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,kCAAkC;QAClC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,mCAAmC;QACnC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,gBAAgB,EAAE,2DAA2D,UAAU,GAAG;SAClG,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAS,qBAAqB,CAC5B,KAAc,EACd,eAAwC,EACxC,WAAiC;IAEjC,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,IAAI,eAAe,EAAE,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACpD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,+BAA+B;QAC/B,IAAI,KAAK,CAAC,UAAU,KAAK,YAAY,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAEtD,kEAAkE;QAClE,mEAAmE;QACnE,mEAAmE;QACnE,eAAe;QACf,MAAM,YAAY,GAAI,KAA2C,CAAC,mBAAmB,KAAK,IAAI,CAAC;QAC/F,IAAI,YAAY,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;gBAClD,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,CAAC;gBAC7E,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;YACzE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YACzD,CAAC;YACD,0EAA0E;YAC1E,wEAAwE;YACxE,0EAA0E;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,iFAAiF;QACjF,wCAAwC;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QACjD,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,MAAM,oBAAoB,GAAG;gBAC3B,eAAe;gBACf,oBAAoB;gBACpB,iBAAiB;gBACjB,sBAAsB;aACvB,CAAC;YACF,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,oBAAoB,GACxB,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACzB,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,CAAC;YAC3E,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QACvB,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IACpE,CAAC;IAED,iEAAiE;IACjE,wEAAwE;IACxE,iEAAiE;IACjE,oBAAoB;IACpB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,MAAM,eAAe,GACnB,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACzB,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,CAAC;YAChE,CAAC,CAAC,KAAK,CAAC;QACZ,OAAO,CAAC,kBAAkB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAChE,qBAAqB,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,CACvD,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,GAA4B,EAC5B,eAAwC,EACxC,WAAiC;IAOjC,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,WAAW,GAA4B,EAAE,CAAC;IAEhD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,CAAC,eAAe,CAAC,KAAK,CAAC;YACvB,CAAC,eAAe,CAAC,KAAK,CAAC,EACvB,CAAC;YACD,MAAM,MAAM,GAAG,oBAAoB,CACjC,KAAgC,EAChC,eAAe,EACf,WAAW,CACZ,CAAC;YAEF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;YACtC,CAAC;YACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,IAAI,qBAAqB,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,CAAC;YACtE,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU;QACV,WAAW;QACX,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;QAC7C,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;KAChD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAClC,cAAuC,EACvC,eAAwC,EACxC,WAAiC;IAKjC,MAAM,YAAY,GAA4B,EAAE,CAAC;IACjD,MAAM,aAAa,GAA4B,EAAE,CAAC;IAElD,+BAA+B;IAC/B,IAAI,CAAC,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QAC1D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;IACzC,CAAC;IAED,wEAAwE;IACxE,wEAAwE;IACxE,4EAA4E;IAC5E,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QACxF,IAAI,UAAU,EAAE,KAAK,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9D,eAAe,GAAG,UAAU,CAAC,KAA+B,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACrE,uDAAuD;QACvD,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEzC,IACE,OAAO,UAAU,KAAK,QAAQ;YAC9B,UAAU,KAAK,IAAI;YACnB,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAC1B,CAAC,eAAe,CAAC,UAAU,CAAC;YAC5B,CAAC,eAAe,CAAC,UAAU,CAAC,EAC5B,CAAC;YACD,oEAAoE;YACpE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,oBAAoB,CAC7E,UAAqC,EACrC,eAAe,EACf,WAAW,CACZ,CAAC;YAEF,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;YACvC,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACf,aAAa,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,IAAI,qBAAqB,CAAC,UAAU,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,CAAC;YAC3E,aAAa,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,cAAuC,EACvC,SAA6C;IAE7C,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAC1C,gFAAgF;IAChF,wFAAwF;IACxF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;QAC1B,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,yDAAyD;QACpF,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChB,MAAM,CAAC,OAAO,CAAC,EAAE,eAAe;KACpC,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,MAAM,gBAAgB,GAAG,MAAM,CAAC,wBAAwB,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IAC9F,MAAM,4BAA4B,GAChC,gBAAgB,EAAE,KAAK,IAAI,OAAO,gBAAgB,CAAC,KAAK,KAAK,QAAQ;QACnE,CAAC,CAAE,gBAAgB,CAAC,KAAgC;QACpD,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,4BAA4B,EAAE,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACpD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC/B,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAE7E;;;;OAIG;IACH,SAAS,qBAAqB,CAC5B,UAAkB;QAElB,6EAA6E;QAC7E,mFAAmF;QACnF,yEAAyE;QACzE,MAAM,gBAAgB,GAAG,+DAA+D,CAAC;QACzF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,IAAI,WAAW,GAA2B,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5E,OAAO,WAAW,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,WAAW,CAAC,CAAC,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;QACD,0EAA0E;QAC1E,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEvB,MAAM,QAAQ,GAAwD,EAAE,CAAC;QACzE,MAAM,wBAAwB,GAAG,qDAAqD,CAAC;QACvF,IAAI,WAAW,GAA2B,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpF,OAAO,WAAW,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,IACE,YAAY,KAAK,QAAQ;gBACzB,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC;gBAC9B,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;gBAC7B,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,EACpC,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpE,CAAC;YACD,WAAW,GAAG,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,wDAAwD;IACxD,SAAS,kBAAkB,CAAC,SAAiB,EAAE,KAAc;QAC3D,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,mBAAmB,GACtB,KAA2C,CAAC,mBAAmB,KAAK,IAAI,CAAC;YAC5E,IAAI,CAAC,mBAAmB;gBAAE,OAAO;YAEjC,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC7D,MAAM,gBAAgB,GAAG,4BAA4B;gBACnD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;oBACjC,CAAC,CAAC,sBAAsB,CACpB,KAAK,CAAC,UAAU,EAChB,WAAW,EACX,4BAA4B,EAC5B,KAAK,CACN;oBACH,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,4BAA4B,CAAC;gBACvF,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,SAAS;oBAChB,UAAU,EAAE,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,EAAE;oBACpD,KAAK,EAAE,iCAAiC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,0CAA0C;oBACrH,UAAU,EACR,oGAAoG;oBACtG,IAAI,EAAE,kBAAkB;oBACxB,kBAAkB,EAAE,KAAK,CAAC,UAAU;iBACrC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC;YAE5F,wFAAwF;YACxF,yFAAyF;YACzF,4FAA4F;YAC5F,8BAA8B;YAC9B,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;YACnF,MAAM,eAAe,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAC1D,KAAK,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,eAAe,EAAE,CAAC;gBAC3D,yEAAyE;gBACzE,iFAAiF;gBACjF,iFAAiF;gBACjF,uFAAuF;gBACvF,wDAAwD;gBACxD,MAAM,qBAAqB,GACzB,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACpE,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,QAAQ,CAAC,IAAI,CAAC;wBACZ,KAAK,EAAE,SAAS;wBAChB,UAAU;wBACV,KAAK,EAAE,cAAc,YAAY,0EAA0E;wBAC3G,UAAU,EAAE,sEAAsE,YAAY,iCAAiC;wBAC/H,IAAI,EAAE,kBAAkB;wBACxB,kBAAkB,EAAE,YAAY;qBACjC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC;wBACV,KAAK,EAAE,SAAS;wBAChB,UAAU;wBACV,KAAK,EAAE,wBAAwB,YAAY,kBAAkB;wBAC7D,UAAU,EAAE,wBAAwB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBACxE,IAAI,EAAE,kBAAkB;wBACxB,kBAAkB,EAAE,YAAY;qBACjC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,6FAA6F;YAC7F,2FAA2F;YAC3F,2FAA2F;YAC3F,wFAAwF;YACxF,+FAA+F;YAC/F,6FAA6F;YAC7F,2FAA2F;YAC3F,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE;gBACvF,mCAAmC,EAAE,KAAK;aAC3C,CAAC,CAAC;YACH,IAAI,gBAAgB,KAAK,UAAU,EAAE,CAAC;gBACpC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC5E,KAAK,MAAM,EAAE,YAAY,EAAE,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACvE,IAAI,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC;wBAAE,SAAS;oBAChD,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAClC,QAAQ,CAAC,IAAI,CAAC;wBACZ,KAAK,EAAE,SAAS;wBAChB,UAAU,EAAE,gBAAgB;wBAC5B,KAAK,EAAE,cAAc,YAAY,+DAA+D,MAAM,CAAC,CAAC,CAAC,wCAAwC;wBACjJ,UAAU,EAAE,sCAAsC,MAAM,CAAC,CAAC,CAAC,sBAAsB,YAAY,gDAAgD;wBAC7I,IAAI,EAAE,kBAAkB;wBACxB,kBAAkB,EAAE,YAAY;qBACjC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACvD,sCAAsC;YACtC,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,kBAAkB,CAAC,GAAG,SAAS,IAAI,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACpE,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEnD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,EAAE;YACd,KAAK,EAAE,kBAAkB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,8CAA8C;YAClG,UAAU,EAAE,kEAAkE;SAC/E,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAA6C;IAE7C,MAAM,MAAM,GAAyB,EAAE,CAAC;IAExC,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACxD,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,aAAa,GAAG,KAAK;oBAC5B,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,8BAA8B;iBAC1D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM;QACN,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAC7C,SAA6C,EAC7C,cAAwC;IAExC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,cAAc;QACrC,CAAC,CAAC,4BAA4B,CAAC,cAAc,EAAE,SAAS,CAAC;QACzD,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAEhD,OAAO;QACL,OAAO,EAAE,oBAAoB,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO;QACjE,MAAM,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC;QACpE,QAAQ,EAAE,CAAC,GAAG,oBAAoB,CAAC,QAAQ,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC;KAC3E,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"cel-validator.js","sourceRoot":"","sources":["../../../src/core/validation/cel-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface CelRootReference {
|
|
2
|
+
readonly root: string;
|
|
3
|
+
readonly segments: readonly string[];
|
|
4
|
+
readonly startOffset: number;
|
|
5
|
+
readonly endOffset: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Parse CEL and return root identifier references, memoized by source text.
|
|
9
|
+
*
|
|
10
|
+
* Nested-composition resolution revisits stable expressions many times. Caching at this shared
|
|
11
|
+
* analysis boundary ensures syntax-aware consumers pay the parser cost once without coupling the
|
|
12
|
+
* cache to any particular serializer recursion strategy.
|
|
13
|
+
*/
|
|
14
|
+
export declare function celRootReferences(expression: string): readonly CelRootReference[];
|
|
15
|
+
/**
|
|
16
|
+
* Extract resource references embedded in TypeKro's string-coercion marker format.
|
|
17
|
+
*/
|
|
18
|
+
export declare function kubernetesMarkerReferences(value: string): readonly Pick<CelRootReference, 'root' | 'segments'>[];
|
|
19
|
+
/**
|
|
20
|
+
* Canonicalize resource roots in executable CEL while preserving literals and lambda bindings.
|
|
21
|
+
*/
|
|
22
|
+
export declare function canonicalizeCelResourceAliases(expression: string, aliases: ReadonlyMap<string, string>): string;
|
|
23
|
+
//# sourceMappingURL=cel-resource-identifiers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cel-resource-identifiers.d.ts","sourceRoot":"","sources":["../../src/utils/cel-resource-identifiers.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAgPD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,gBAAgB,EAAE,CAWjF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GACZ,SAAS,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAAC,EAAE,CASxD;AA+CD;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,CA+BR"}
|