typekro 0.31.0 → 0.32.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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.d.ts.map +1 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.js +0 -1
- package/dist/compositions/typekro-runtime/typekro-runtime.js.map +1 -1
- package/dist/compositions/typekro-runtime/types.d.ts +1 -0
- package/dist/compositions/typekro-runtime/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/metadata/resource-metadata.d.ts +13 -0
- package/dist/core/metadata/resource-metadata.d.ts.map +1 -1
- package/dist/core/metadata/resource-metadata.js.map +1 -1
- package/dist/core/planning/direct-runtime-adapter.d.ts.map +1 -1
- package/dist/core/planning/direct-runtime-adapter.js +23 -0
- package/dist/core/planning/direct-runtime-adapter.js.map +1 -1
- package/dist/core/planning/planner.d.ts.map +1 -1
- package/dist/core/planning/planner.js +175 -9
- 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/references/external-refs.d.ts +1 -1
- package/dist/core/references/external-refs.d.ts.map +1 -1
- package/dist/core/references/external-refs.js +5 -1
- package/dist/core/references/external-refs.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 +73 -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/factories/hatchet/compositions/hatchet-installation.d.ts +53 -0
- package/dist/factories/hatchet/compositions/hatchet-installation.d.ts.map +1 -0
- package/dist/factories/hatchet/compositions/hatchet-installation.js +296 -0
- package/dist/factories/hatchet/compositions/hatchet-installation.js.map +1 -0
- package/dist/factories/hatchet/compositions/index.d.ts +2 -0
- package/dist/factories/hatchet/compositions/index.d.ts.map +1 -0
- package/dist/factories/hatchet/compositions/index.js +2 -0
- package/dist/factories/hatchet/compositions/index.js.map +1 -0
- package/dist/factories/hatchet/index.d.ts +5 -0
- package/dist/factories/hatchet/index.d.ts.map +1 -0
- package/dist/factories/hatchet/index.js +5 -0
- package/dist/factories/hatchet/index.js.map +1 -0
- package/dist/factories/hatchet/resources/helm.d.ts +12 -0
- package/dist/factories/hatchet/resources/helm.d.ts.map +1 -0
- package/dist/factories/hatchet/resources/helm.js +49 -0
- package/dist/factories/hatchet/resources/helm.js.map +1 -0
- package/dist/factories/hatchet/resources/index.d.ts +2 -0
- package/dist/factories/hatchet/resources/index.d.ts.map +1 -0
- package/dist/factories/hatchet/resources/index.js +2 -0
- package/dist/factories/hatchet/resources/index.js.map +1 -0
- package/dist/factories/hatchet/types.d.ts +85 -0
- package/dist/factories/hatchet/types.d.ts.map +1 -0
- package/dist/factories/hatchet/types.js +87 -0
- package/dist/factories/hatchet/types.js.map +1 -0
- package/dist/factories/helm/helm-release.d.ts +7 -2
- package/dist/factories/helm/helm-release.d.ts.map +1 -1
- package/dist/factories/helm/helm-release.js +5 -0
- package/dist/factories/helm/helm-release.js.map +1 -1
- package/dist/factories/helm/index.d.ts +1 -1
- package/dist/factories/helm/index.d.ts.map +1 -1
- package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
- package/dist/factories/helm/readiness-evaluators.js +5 -2
- package/dist/factories/helm/readiness-evaluators.js.map +1 -1
- package/dist/factories/helm/types.d.ts +20 -0
- package/dist/factories/helm/types.d.ts.map +1 -1
- package/dist/factories/index.d.ts +2 -1
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +4 -0
- package/dist/factories/index.js.map +1 -1
- package/dist/factories/opensearch/compositions/cluster.d.ts +38 -0
- package/dist/factories/opensearch/compositions/cluster.d.ts.map +1 -0
- package/dist/factories/opensearch/compositions/cluster.js +338 -0
- package/dist/factories/opensearch/compositions/cluster.js.map +1 -0
- package/dist/factories/opensearch/compositions/index.d.ts +4 -0
- package/dist/factories/opensearch/compositions/index.d.ts.map +1 -0
- package/dist/factories/opensearch/compositions/index.js +4 -0
- package/dist/factories/opensearch/compositions/index.js.map +1 -0
- package/dist/factories/opensearch/compositions/operator-bootstrap.d.ts +40 -0
- package/dist/factories/opensearch/compositions/operator-bootstrap.d.ts.map +1 -0
- package/dist/factories/opensearch/compositions/operator-bootstrap.js +89 -0
- package/dist/factories/opensearch/compositions/operator-bootstrap.js.map +1 -0
- package/dist/factories/opensearch/compositions/repository.d.ts +8 -0
- package/dist/factories/opensearch/compositions/repository.d.ts.map +1 -0
- package/dist/factories/opensearch/compositions/repository.js +21 -0
- package/dist/factories/opensearch/compositions/repository.js.map +1 -0
- package/dist/factories/opensearch/constants.d.ts +2 -0
- package/dist/factories/opensearch/constants.d.ts.map +1 -0
- package/dist/factories/opensearch/constants.js +2 -0
- package/dist/factories/opensearch/constants.js.map +1 -0
- package/dist/factories/opensearch/index.d.ts +12 -0
- package/dist/factories/opensearch/index.d.ts.map +1 -0
- package/dist/factories/opensearch/index.js +12 -0
- package/dist/factories/opensearch/index.js.map +1 -0
- package/dist/factories/opensearch/resources/cluster.d.ts +6 -0
- package/dist/factories/opensearch/resources/cluster.d.ts.map +1 -0
- package/dist/factories/opensearch/resources/cluster.js +175 -0
- package/dist/factories/opensearch/resources/cluster.js.map +1 -0
- package/dist/factories/opensearch/resources/helm.d.ts +17 -0
- package/dist/factories/opensearch/resources/helm.d.ts.map +1 -0
- package/dist/factories/opensearch/resources/helm.js +44 -0
- package/dist/factories/opensearch/resources/helm.js.map +1 -0
- package/dist/factories/opensearch/resources/index.d.ts +3 -0
- package/dist/factories/opensearch/resources/index.d.ts.map +1 -0
- package/dist/factories/opensearch/resources/index.js +3 -0
- package/dist/factories/opensearch/resources/index.js.map +1 -0
- package/dist/factories/opensearch/types.d.ts +281 -0
- package/dist/factories/opensearch/types.d.ts.map +1 -0
- package/dist/factories/opensearch/types.js +94 -0
- package/dist/factories/opensearch/types.js.map +1 -0
- 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 +11 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/opensearch/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAI/B,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,CAAC;IAC1D,IAAI,EAAE,YAAY;IAClB,YAAY,EAAE,YAAY;IAC1B,UAAU,EAAE,YAAY;IACxB,iBAAiB,EAAE,YAAY;IAC/B,sBAAsB,EAAE,YAAY;IACpC,eAAe,EAAE,yBAAyB;CAC3C,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,CAAC;IAC1D,IAAI,EAAE,YAAY;CACnB,CAAC,CAAC;AAkBH,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,CAAC;IAC1D,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,mCAAmC;IAC1C,OAAO,EAAE,QAAQ;CAClB,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,2CAA2C,GAAG,IAAI,CAAC;IAC9D,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,QAAQ;IACnB,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6CAA6C,GAAG,IAAI,CAAC;IAChE,KAAK,EAAE,SAAS;CACjB,CAAC,CAAC;AAYH,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,CAAC;IAChD,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB;;;OAGG;IACH,YAAY,EAAE,wDAAwD;IACtE,yBAAyB,EAAE;QACzB,IAAI,EAAE,YAAY;KACnB;IACD,6BAA6B,EAAE;QAC7B,IAAI,EAAE,YAAY;KACnB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,YAAY;QAClB,mBAAmB,EAAE,QAAQ;KAC9B;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE;QACtD,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE;KACrD;IACD,GAAG,EAAE,IAAI,CAAC;QACR,MAAM,EAAE,aAAa;KACtB,CAAC;SACC,EAAE,CAAC;QACF,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE,YAAY;QAC7B,OAAO,EAAE,oBAAoB;KAC9B,CAAC;SACD,EAAE,CAAC;QACF,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE,YAAY;QAC7B,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,4BAA4B;QAC3C,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,oBAAoB;KAC9B,CAAC;IACJ,YAAY,EAAE;QACZ,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE,YAAY;QACpB,iBAAiB,EAAE;YACjB,IAAI,EAAE,YAAY;YAClB,eAAe,EAAE,YAAY;YAC7B,eAAe,EAAE,YAAY;SAC9B;QACD,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,QAAQ;KACtB;IACD,aAAa,EAAE,SAAS;CACzB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,CAAC;IAChD,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,mCAAmC;IAC1C,QAAQ,EAAE,QAAQ;IAClB,iBAAiB,EAAE,QAAQ;IAC3B,OAAO,EAAE,QAAQ;IACjB,cAAc,EAAE,QAAQ;IACxB,MAAM,EAAE,QAAQ;IAChB,kBAAkB,EAAE,QAAQ;CAC7B,CAAC,CAAC"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
import { parse } from 'cel-js';
|
|
2
|
+
import { KUBERNETES_REF_MARKER_SOURCE } from '../shared/brands.js';
|
|
3
|
+
const CEL_LAMBDA_MACROS = new Set(['all', 'exists', 'exists_one', 'filter', 'map']);
|
|
4
|
+
const KUBERNETES_REF_MARKER_PREFIX = /__KUBERNETES_REF_([A-Za-z_$][\w$]*)_/g;
|
|
5
|
+
const MAX_CEL_REFERENCE_CACHE_ENTRIES = 2_048;
|
|
6
|
+
const MAX_CANONICAL_EXPRESSION_CACHE_ENTRIES = 1_024;
|
|
7
|
+
const celReferenceCache = new Map();
|
|
8
|
+
const canonicalExpressionCaches = new WeakMap();
|
|
9
|
+
function record(value) {
|
|
10
|
+
return value && typeof value === 'object' ? value : undefined;
|
|
11
|
+
}
|
|
12
|
+
function children(value) {
|
|
13
|
+
return record(record(value)?.children);
|
|
14
|
+
}
|
|
15
|
+
function array(value) {
|
|
16
|
+
return Array.isArray(value) ? value : [];
|
|
17
|
+
}
|
|
18
|
+
function token(value) {
|
|
19
|
+
const candidate = record(value);
|
|
20
|
+
return candidate &&
|
|
21
|
+
typeof candidate.image === 'string' &&
|
|
22
|
+
typeof candidate.startOffset === 'number' &&
|
|
23
|
+
typeof candidate.endOffset === 'number'
|
|
24
|
+
? {
|
|
25
|
+
image: candidate.image,
|
|
26
|
+
startOffset: candidate.startOffset,
|
|
27
|
+
endOffset: candidate.endOffset,
|
|
28
|
+
}
|
|
29
|
+
: undefined;
|
|
30
|
+
}
|
|
31
|
+
function directIdentifier(value) {
|
|
32
|
+
const identifierTokens = array(children(value)?.Identifier);
|
|
33
|
+
return token(identifierTokens[0]);
|
|
34
|
+
}
|
|
35
|
+
function firstIdentifier(value) {
|
|
36
|
+
const current = record(value);
|
|
37
|
+
if (!current)
|
|
38
|
+
return undefined;
|
|
39
|
+
if (current.name === 'identifierExpression') {
|
|
40
|
+
return directIdentifier(current);
|
|
41
|
+
}
|
|
42
|
+
for (const child of Object.values(current)) {
|
|
43
|
+
if (Array.isArray(child)) {
|
|
44
|
+
for (const item of child) {
|
|
45
|
+
const found = firstIdentifier(item);
|
|
46
|
+
if (found)
|
|
47
|
+
return found;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
const found = firstIdentifier(child);
|
|
52
|
+
if (found)
|
|
53
|
+
return found;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
function nodeRange(value) {
|
|
59
|
+
let startOffset = Number.POSITIVE_INFINITY;
|
|
60
|
+
let endOffset = Number.NEGATIVE_INFINITY;
|
|
61
|
+
const visit = (current) => {
|
|
62
|
+
const currentToken = token(current);
|
|
63
|
+
if (currentToken) {
|
|
64
|
+
startOffset = Math.min(startOffset, currentToken.startOffset);
|
|
65
|
+
endOffset = Math.max(endOffset, currentToken.endOffset);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const currentRecord = record(current);
|
|
69
|
+
if (!currentRecord)
|
|
70
|
+
return;
|
|
71
|
+
for (const child of Object.values(currentRecord)) {
|
|
72
|
+
if (Array.isArray(child))
|
|
73
|
+
child.forEach(visit);
|
|
74
|
+
else
|
|
75
|
+
visit(child);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
visit(value);
|
|
79
|
+
return Number.isFinite(startOffset) && Number.isFinite(endOffset)
|
|
80
|
+
? { startOffset, endOffset }
|
|
81
|
+
: undefined;
|
|
82
|
+
}
|
|
83
|
+
function collectBoundRanges(cst) {
|
|
84
|
+
const ranges = [];
|
|
85
|
+
const visit = (value) => {
|
|
86
|
+
const current = record(value);
|
|
87
|
+
if (!current)
|
|
88
|
+
return;
|
|
89
|
+
if (current.name === 'identifierDotExpression' || current.name === 'macrosExpression') {
|
|
90
|
+
const currentChildren = children(current);
|
|
91
|
+
const macro = token(array(currentChildren?.Identifier)[0])?.image;
|
|
92
|
+
if (macro && CEL_LAMBDA_MACROS.has(macro)) {
|
|
93
|
+
const bindingExpression = array(currentChildren?.arg)[0];
|
|
94
|
+
const binding = firstIdentifier(bindingExpression);
|
|
95
|
+
if (binding) {
|
|
96
|
+
ranges.push({
|
|
97
|
+
name: binding.image,
|
|
98
|
+
startOffset: binding.startOffset,
|
|
99
|
+
endOffset: binding.endOffset,
|
|
100
|
+
});
|
|
101
|
+
for (const body of array(currentChildren?.args)) {
|
|
102
|
+
const range = nodeRange(body);
|
|
103
|
+
if (range)
|
|
104
|
+
ranges.push({ name: binding.image, ...range });
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
for (const child of Object.values(current)) {
|
|
110
|
+
if (Array.isArray(child))
|
|
111
|
+
child.forEach(visit);
|
|
112
|
+
else
|
|
113
|
+
visit(child);
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
visit(cst);
|
|
117
|
+
return ranges;
|
|
118
|
+
}
|
|
119
|
+
function collectRootReferences(cst, boundRanges) {
|
|
120
|
+
const references = [];
|
|
121
|
+
const visit = (value) => {
|
|
122
|
+
const current = record(value);
|
|
123
|
+
if (!current)
|
|
124
|
+
return;
|
|
125
|
+
if (current.name === 'identifierExpression') {
|
|
126
|
+
const currentChildren = children(current);
|
|
127
|
+
const root = token(array(currentChildren?.Identifier)[0]);
|
|
128
|
+
if (root &&
|
|
129
|
+
!boundRanges.some((range) => range.name === root.image &&
|
|
130
|
+
root.startOffset >= range.startOffset &&
|
|
131
|
+
root.endOffset <= range.endOffset)) {
|
|
132
|
+
const segments = array(currentChildren?.identifierDotExpression).flatMap((dot) => {
|
|
133
|
+
const identifier = token(array(children(dot)?.Identifier)[0]);
|
|
134
|
+
return identifier ? [identifier.image] : [];
|
|
135
|
+
});
|
|
136
|
+
references.push({
|
|
137
|
+
root: root.image,
|
|
138
|
+
segments,
|
|
139
|
+
startOffset: root.startOffset,
|
|
140
|
+
endOffset: root.endOffset,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
for (const child of Object.values(current)) {
|
|
145
|
+
if (Array.isArray(child))
|
|
146
|
+
child.forEach(visit);
|
|
147
|
+
else
|
|
148
|
+
visit(child);
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
visit(cst);
|
|
152
|
+
return references;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Parse CEL and return root identifier references while excluding macro-local variables.
|
|
156
|
+
*
|
|
157
|
+
* String literals never appear as identifier nodes, so callers can safely use these offsets for
|
|
158
|
+
* source-preserving rewrites without corrupting literal data.
|
|
159
|
+
*/
|
|
160
|
+
function analyzeCelRootReferences(expression) {
|
|
161
|
+
const parsed = parse(expression);
|
|
162
|
+
if (!parsed.isSuccess) {
|
|
163
|
+
const references = [];
|
|
164
|
+
for (const match of expression.matchAll(/\$\{([^{}]+)\}/g)) {
|
|
165
|
+
const inner = match[1];
|
|
166
|
+
const matchStart = match.index;
|
|
167
|
+
if (inner === undefined || matchStart === undefined)
|
|
168
|
+
continue;
|
|
169
|
+
const innerOffset = matchStart + 2;
|
|
170
|
+
references.push(...celRootReferences(inner).map((reference) => ({
|
|
171
|
+
...reference,
|
|
172
|
+
startOffset: reference.startOffset + innerOffset,
|
|
173
|
+
endOffset: reference.endOffset + innerOffset,
|
|
174
|
+
})));
|
|
175
|
+
}
|
|
176
|
+
if (references.length > 0)
|
|
177
|
+
return references;
|
|
178
|
+
const lambdaNames = new Set();
|
|
179
|
+
let unquoted = '';
|
|
180
|
+
let quote = null;
|
|
181
|
+
let escaped = false;
|
|
182
|
+
for (const char of expression) {
|
|
183
|
+
if (quote) {
|
|
184
|
+
unquoted += ' ';
|
|
185
|
+
if (escaped)
|
|
186
|
+
escaped = false;
|
|
187
|
+
else if (char === '\\')
|
|
188
|
+
escaped = true;
|
|
189
|
+
else if (char === quote)
|
|
190
|
+
quote = null;
|
|
191
|
+
}
|
|
192
|
+
else if (char === '"' || char === "'") {
|
|
193
|
+
quote = char;
|
|
194
|
+
unquoted += ' ';
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
unquoted += char;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
for (const match of unquoted.matchAll(/(?:^|\.|\b)(?:all|exists|exists_one|filter|map)\s*\(\s*([A-Za-z_$][\w$]*)\s*,/g)) {
|
|
201
|
+
if (match[1])
|
|
202
|
+
lambdaNames.add(match[1]);
|
|
203
|
+
}
|
|
204
|
+
const celKeywords = new Set(['true', 'false', 'null', 'in']);
|
|
205
|
+
for (const match of unquoted.matchAll(/\b([A-Za-z_$][\w$]*)\b/g)) {
|
|
206
|
+
const root = match[1];
|
|
207
|
+
const startOffset = match.index;
|
|
208
|
+
if (root === undefined ||
|
|
209
|
+
startOffset === undefined ||
|
|
210
|
+
lambdaNames.has(root) ||
|
|
211
|
+
celKeywords.has(root)) {
|
|
212
|
+
continue;
|
|
213
|
+
}
|
|
214
|
+
const before = unquoted.slice(0, startOffset).trimEnd();
|
|
215
|
+
const after = unquoted.slice(startOffset + root.length);
|
|
216
|
+
if (before.endsWith('.') ||
|
|
217
|
+
before.endsWith('?.') ||
|
|
218
|
+
/^\s*\(/.test(after) ||
|
|
219
|
+
/^\s*:/.test(after)) {
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
const segments = [];
|
|
223
|
+
let remaining = after;
|
|
224
|
+
while (true) {
|
|
225
|
+
const segment = /^\s*\??\.\s*([A-Za-z_$][\w$]*)/.exec(remaining);
|
|
226
|
+
if (!segment?.[1])
|
|
227
|
+
break;
|
|
228
|
+
segments.push(segment[1]);
|
|
229
|
+
remaining = remaining.slice(segment[0].length);
|
|
230
|
+
}
|
|
231
|
+
references.push({
|
|
232
|
+
root,
|
|
233
|
+
segments,
|
|
234
|
+
startOffset,
|
|
235
|
+
endOffset: startOffset + root.length - 1,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
return references;
|
|
239
|
+
}
|
|
240
|
+
const boundRanges = collectBoundRanges(parsed.cst);
|
|
241
|
+
return collectRootReferences(parsed.cst, boundRanges);
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Parse CEL and return root identifier references, memoized by source text.
|
|
245
|
+
*
|
|
246
|
+
* Nested-composition resolution revisits stable expressions many times. Caching at this shared
|
|
247
|
+
* analysis boundary ensures syntax-aware consumers pay the parser cost once without coupling the
|
|
248
|
+
* cache to any particular serializer recursion strategy.
|
|
249
|
+
*/
|
|
250
|
+
export function celRootReferences(expression) {
|
|
251
|
+
const cached = celReferenceCache.get(expression);
|
|
252
|
+
if (cached)
|
|
253
|
+
return cached;
|
|
254
|
+
const references = analyzeCelRootReferences(expression);
|
|
255
|
+
if (celReferenceCache.size >= MAX_CEL_REFERENCE_CACHE_ENTRIES) {
|
|
256
|
+
const oldest = celReferenceCache.keys().next().value;
|
|
257
|
+
if (oldest !== undefined)
|
|
258
|
+
celReferenceCache.delete(oldest);
|
|
259
|
+
}
|
|
260
|
+
celReferenceCache.set(expression, references);
|
|
261
|
+
return references;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Extract resource references embedded in TypeKro's string-coercion marker format.
|
|
265
|
+
*/
|
|
266
|
+
export function kubernetesMarkerReferences(value) {
|
|
267
|
+
const references = [];
|
|
268
|
+
for (const match of value.matchAll(new RegExp(KUBERNETES_REF_MARKER_SOURCE, 'g'))) {
|
|
269
|
+
const root = match[1];
|
|
270
|
+
const fieldPath = match[2];
|
|
271
|
+
if (!root || root === '__schema__' || !fieldPath)
|
|
272
|
+
continue;
|
|
273
|
+
references.push({ root, segments: fieldPath.split('.') });
|
|
274
|
+
}
|
|
275
|
+
return references;
|
|
276
|
+
}
|
|
277
|
+
function rewriteMarkersOutsideStrings(expression, aliases) {
|
|
278
|
+
let result = '';
|
|
279
|
+
let chunkStart = 0;
|
|
280
|
+
let index = 0;
|
|
281
|
+
const rewriteChunk = (chunk) => chunk.replace(KUBERNETES_REF_MARKER_PREFIX, (match, resourceId) => {
|
|
282
|
+
const canonicalId = aliases.get(resourceId);
|
|
283
|
+
return canonicalId ? `__KUBERNETES_REF_${canonicalId}_` : match;
|
|
284
|
+
});
|
|
285
|
+
while (index < expression.length) {
|
|
286
|
+
const quote = expression[index];
|
|
287
|
+
if (quote !== '"' && quote !== "'") {
|
|
288
|
+
index++;
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
291
|
+
result += rewriteChunk(expression.slice(chunkStart, index));
|
|
292
|
+
const quoteStart = index;
|
|
293
|
+
const triple = expression.slice(index, index + 3) === quote.repeat(3);
|
|
294
|
+
index += triple ? 3 : 1;
|
|
295
|
+
let escaped = false;
|
|
296
|
+
while (index < expression.length) {
|
|
297
|
+
if (triple && expression.slice(index, index + 3) === quote.repeat(3)) {
|
|
298
|
+
index += 3;
|
|
299
|
+
break;
|
|
300
|
+
}
|
|
301
|
+
const char = expression[index];
|
|
302
|
+
index++;
|
|
303
|
+
if (!triple && escaped) {
|
|
304
|
+
escaped = false;
|
|
305
|
+
}
|
|
306
|
+
else if (!triple && char === '\\') {
|
|
307
|
+
escaped = true;
|
|
308
|
+
}
|
|
309
|
+
else if (!triple && char === quote) {
|
|
310
|
+
break;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
result += expression.slice(quoteStart, index);
|
|
314
|
+
chunkStart = index;
|
|
315
|
+
}
|
|
316
|
+
return result + rewriteChunk(expression.slice(chunkStart));
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Canonicalize resource roots in executable CEL while preserving literals and lambda bindings.
|
|
320
|
+
*/
|
|
321
|
+
export function canonicalizeCelResourceAliases(expression, aliases) {
|
|
322
|
+
if (aliases.size === 0)
|
|
323
|
+
return expression;
|
|
324
|
+
let expressionCache = canonicalExpressionCaches.get(aliases);
|
|
325
|
+
if (!expressionCache) {
|
|
326
|
+
expressionCache = new Map();
|
|
327
|
+
canonicalExpressionCaches.set(aliases, expressionCache);
|
|
328
|
+
}
|
|
329
|
+
const cached = expressionCache.get(expression);
|
|
330
|
+
if (cached !== undefined)
|
|
331
|
+
return cached;
|
|
332
|
+
const withCanonicalMarkers = rewriteMarkersOutsideStrings(expression, aliases);
|
|
333
|
+
const references = celRootReferences(withCanonicalMarkers);
|
|
334
|
+
const replacements = references
|
|
335
|
+
.flatMap((reference) => {
|
|
336
|
+
const canonicalId = aliases.get(reference.root);
|
|
337
|
+
return canonicalId && canonicalId !== reference.root ? [{ ...reference, canonicalId }] : [];
|
|
338
|
+
})
|
|
339
|
+
.sort((left, right) => right.startOffset - left.startOffset);
|
|
340
|
+
let result = withCanonicalMarkers;
|
|
341
|
+
for (const replacement of replacements) {
|
|
342
|
+
result =
|
|
343
|
+
result.slice(0, replacement.startOffset) +
|
|
344
|
+
replacement.canonicalId +
|
|
345
|
+
result.slice(replacement.endOffset + 1);
|
|
346
|
+
}
|
|
347
|
+
if (expressionCache.size >= MAX_CANONICAL_EXPRESSION_CACHE_ENTRIES) {
|
|
348
|
+
const oldest = expressionCache.keys().next().value;
|
|
349
|
+
if (oldest !== undefined)
|
|
350
|
+
expressionCache.delete(oldest);
|
|
351
|
+
}
|
|
352
|
+
expressionCache.set(expression, result);
|
|
353
|
+
return result;
|
|
354
|
+
}
|
|
355
|
+
//# sourceMappingURL=cel-resource-identifiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cel-resource-identifiers.js","sourceRoot":"","sources":["../../src/utils/cel-resource-identifiers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typekro",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "A control plane aware framework for orchestrating kubernetes resources like a programmer.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -54,6 +54,10 @@
|
|
|
54
54
|
"import": "./dist/factories/clickhouse/index.js",
|
|
55
55
|
"types": "./dist/factories/clickhouse/index.d.ts"
|
|
56
56
|
},
|
|
57
|
+
"./opensearch": {
|
|
58
|
+
"import": "./dist/factories/opensearch/index.js",
|
|
59
|
+
"types": "./dist/factories/opensearch/index.d.ts"
|
|
60
|
+
},
|
|
57
61
|
"./flux": {
|
|
58
62
|
"import": "./dist/factories/flux/index.js",
|
|
59
63
|
"types": "./dist/factories/flux/index.d.ts"
|
|
@@ -106,6 +110,10 @@
|
|
|
106
110
|
"import": "./dist/factories/nats/index.js",
|
|
107
111
|
"types": "./dist/factories/nats/index.d.ts"
|
|
108
112
|
},
|
|
113
|
+
"./hatchet": {
|
|
114
|
+
"import": "./dist/factories/hatchet/index.js",
|
|
115
|
+
"types": "./dist/factories/hatchet/index.d.ts"
|
|
116
|
+
},
|
|
109
117
|
"./containers": {
|
|
110
118
|
"import": "./dist/core/containers/index.js",
|
|
111
119
|
"types": "./dist/core/containers/index.d.ts"
|
|
@@ -218,7 +226,8 @@
|
|
|
218
226
|
"estraverse": "^5.3.0",
|
|
219
227
|
"ignore": "^7.0.5",
|
|
220
228
|
"js-yaml": "4.1.0",
|
|
221
|
-
"pino": "^9.8.0"
|
|
229
|
+
"pino": "^9.8.0",
|
|
230
|
+
"re2js": "2.8.6"
|
|
222
231
|
},
|
|
223
232
|
"devDependencies": {
|
|
224
233
|
"@biomejs/biome": "^2.1.3",
|