@telorun/kernel 0.2.4 → 0.2.5
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/boot-context-registry.d.ts.map +1 -1
- package/dist/boot-context-registry.js +6 -6
- package/dist/boot-context-registry.js.map +1 -1
- package/dist/capabilities/capabilities/component.yaml +2 -1
- package/dist/capabilities/capabilities/executable.yaml +2 -1
- package/dist/capabilities/capabilities/handler.yaml +2 -1
- package/dist/capabilities/capabilities/listener.yaml +2 -1
- package/dist/capabilities/capabilities/provider.yaml +2 -1
- package/dist/capabilities/capabilities/template.yaml +2 -1
- package/dist/capabilities/capabilities/type.yaml +2 -1
- package/dist/capabilities/component.yaml +1 -1
- package/dist/capabilities/executable.yaml +1 -1
- package/dist/capabilities/handler.yaml +1 -1
- package/dist/capabilities/listener.yaml +1 -1
- package/dist/capabilities/provider.yaml +1 -1
- package/dist/capabilities/template.yaml +1 -1
- package/dist/capabilities/type.yaml +1 -1
- package/dist/controller-loader.d.ts +1 -1
- package/dist/controller-loader.d.ts.map +1 -1
- package/dist/controller-loader.js +4 -2
- package/dist/controller-loader.js.map +1 -1
- package/dist/controller-registry.d.ts +1 -2
- package/dist/controller-registry.d.ts.map +1 -1
- package/dist/controller-registry.js.map +1 -1
- package/dist/controllers/module/import-controller.d.ts +38 -0
- package/dist/controllers/module/import-controller.d.ts.map +1 -0
- package/dist/controllers/module/import-controller.js +119 -0
- package/dist/controllers/module/import-controller.js.map +1 -0
- package/dist/controllers/module/module-controller.d.ts +57 -11
- package/dist/controllers/module/module-controller.d.ts.map +1 -1
- package/dist/controllers/module/module-controller.js +46 -82
- package/dist/controllers/module/module-controller.js.map +1 -1
- package/dist/controllers/resource-definition/resource-definition-controller.d.ts.map +1 -1
- package/dist/controllers/resource-definition/resource-definition-controller.js +12 -4
- package/dist/controllers/resource-definition/resource-definition-controller.js.map +1 -1
- package/dist/evaluation-context.d.ts +91 -0
- package/dist/evaluation-context.d.ts.map +1 -0
- package/dist/evaluation-context.js +220 -0
- package/dist/evaluation-context.js.map +1 -0
- package/dist/execution-context.d.ts +13 -0
- package/dist/execution-context.d.ts.map +1 -0
- package/dist/execution-context.js +14 -0
- package/dist/execution-context.js.map +1 -0
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/kernel.d.ts +23 -31
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +212 -333
- package/dist/kernel.js.map +1 -1
- package/dist/loader.d.ts +2 -2
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +29 -9
- package/dist/loader.js.map +1 -1
- package/dist/manifest-adapters/local-file-adapter.d.ts.map +1 -1
- package/dist/manifest-adapters/local-file-adapter.js +21 -12
- package/dist/manifest-adapters/local-file-adapter.js.map +1 -1
- package/dist/manifest-schemas.d.ts +1 -25
- package/dist/manifest-schemas.d.ts.map +1 -1
- package/dist/manifest-schemas.js +3 -22
- package/dist/manifest-schemas.js.map +1 -1
- package/dist/module-context-registry.d.ts +48 -0
- package/dist/module-context-registry.d.ts.map +1 -0
- package/dist/module-context-registry.js +91 -0
- package/dist/module-context-registry.js.map +1 -0
- package/dist/module-context.d.ts +31 -0
- package/dist/module-context.d.ts.map +1 -0
- package/dist/module-context.js +67 -0
- package/dist/module-context.js.map +1 -0
- package/dist/registry.d.ts +1 -2
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +3 -3
- package/dist/registry.js.map +1 -1
- package/dist/resource-context.d.ts +25 -5
- package/dist/resource-context.d.ts.map +1 -1
- package/dist/resource-context.js +74 -28
- package/dist/resource-context.js.map +1 -1
- package/dist/schema-valiator.d.ts.map +1 -1
- package/dist/schema-valiator.js +3 -1
- package/dist/schema-valiator.js.map +1 -1
- package/dist/snapshot-serializer.d.ts +1 -2
- package/dist/snapshot-serializer.d.ts.map +1 -1
- package/dist/snapshot-serializer.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +9 -6
- package/src/boot-context-registry.ts +169 -0
- package/src/capabilities/component.yaml +4 -0
- package/src/capabilities/executable.yaml +8 -0
- package/src/capabilities/handler.yaml +4 -0
- package/src/capabilities/listener.yaml +4 -0
- package/src/capabilities/provider.yaml +4 -0
- package/src/capabilities/template.yaml +4 -0
- package/src/capabilities/type.yaml +4 -0
- package/src/controller-loader.ts +298 -0
- package/src/controller-registry.ts +206 -0
- package/src/controllers/capability/capability-controller.ts +41 -0
- package/src/controllers/module/import-controller.ts +143 -0
- package/src/controllers/module/module-controller.ts +67 -0
- package/src/controllers/module/module.json +48 -0
- package/src/controllers/resource-definition/resource-definition-controller.ts +87 -0
- package/src/controllers/resource-definition/resource-definition.json +18 -0
- package/src/event-stream.ts +121 -0
- package/src/events.ts +99 -0
- package/src/index.ts +7 -0
- package/src/kernel.ts +558 -0
- package/src/loader.ts +245 -0
- package/src/manifest-adapters/http-adapter.ts +35 -0
- package/src/manifest-adapters/local-file-adapter.ts +69 -0
- package/src/manifest-adapters/manifest-adapter.ts +33 -0
- package/src/manifest-adapters/registry-adapter.ts +56 -0
- package/src/manifest-schemas.ts +49 -0
- package/src/registry.ts +137 -0
- package/src/resource-context.ts +266 -0
- package/src/resource-uri.ts +200 -0
- package/src/schema-valiator.ts +57 -0
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -109
- package/dist/cli.js.map +0 -1
- package/dist/expressions.d.ts +0 -20
- package/dist/expressions.d.ts.map +0 -1
- package/dist/expressions.js +0 -253
- package/dist/expressions.js.map +0 -1
- package/dist/template-definition.d.ts +0 -38
- package/dist/template-definition.d.ts.map +0 -1
- package/dist/template-definition.js +0 -26
- package/dist/template-definition.js.map +0 -1
- package/dist/template-expander.d.ts +0 -19
- package/dist/template-expander.d.ts.map +0 -1
- package/dist/template-expander.js +0 -425
- package/dist/template-expander.js.map +0 -1
- /package/{dist/src → src}/controllers/module/module.yaml +0 -0
package/dist/expressions.js
DELETED
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
import { evaluate } from "cel-js";
|
|
2
|
-
const TEMPLATE_REGEX = /\$\{\{\s*([^}]+?)\s*\}\}/g;
|
|
3
|
-
const EXACT_TEMPLATE_REGEX = /^\s*\$\{\{\s*([^}]+?)\s*\}\}\s*$/;
|
|
4
|
-
export function evaluateCel(expression, context) {
|
|
5
|
-
return evaluate(expression, context);
|
|
6
|
-
}
|
|
7
|
-
export function expandValue(value, context) {
|
|
8
|
-
if (typeof value === "string") {
|
|
9
|
-
return expandString(value, context);
|
|
10
|
-
}
|
|
11
|
-
if (Array.isArray(value)) {
|
|
12
|
-
return value.map((entry) => expandValue(entry, context));
|
|
13
|
-
}
|
|
14
|
-
if (!value || typeof value !== "object") {
|
|
15
|
-
return value;
|
|
16
|
-
}
|
|
17
|
-
const resolved = {};
|
|
18
|
-
for (const [key, entry] of Object.entries(value)) {
|
|
19
|
-
resolved[key] = expandValue(entry, context);
|
|
20
|
-
}
|
|
21
|
-
return resolved;
|
|
22
|
-
}
|
|
23
|
-
export function resolveExpressionsInRegistry(registry, runtimeConfig) {
|
|
24
|
-
const maxPasses = 5;
|
|
25
|
-
for (let pass = 0; pass < maxPasses; pass += 1) {
|
|
26
|
-
const context = buildEvaluationContext(registry, runtimeConfig);
|
|
27
|
-
let changed = false;
|
|
28
|
-
for (const [kind, resourcesByName] of registry.entries()) {
|
|
29
|
-
for (const [name, resource] of resourcesByName.entries()) {
|
|
30
|
-
const { value, updated } = resolveResource(resource, context, {
|
|
31
|
-
kind,
|
|
32
|
-
name,
|
|
33
|
-
});
|
|
34
|
-
if (updated) {
|
|
35
|
-
resourcesByName.set(name, value);
|
|
36
|
-
changed = true;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
if (!changed) {
|
|
41
|
-
break;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function buildEvaluationContext(registry, runtimeConfig) {
|
|
46
|
-
// Whitelist environment variables
|
|
47
|
-
const allowedEnvVars = ["NODE_ENV", "PORT", "HOST", "PATH", "HOME", "USER", "LANG"];
|
|
48
|
-
const env = {};
|
|
49
|
-
for (const key of allowedEnvVars) {
|
|
50
|
-
if (process.env[key] !== undefined) {
|
|
51
|
-
env[key] = process.env[key];
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
const context = { env };
|
|
55
|
-
const modules = {};
|
|
56
|
-
if (runtimeConfig?.name) {
|
|
57
|
-
const moduleEntry = {
|
|
58
|
-
name: runtimeConfig.name,
|
|
59
|
-
version: runtimeConfig.version,
|
|
60
|
-
};
|
|
61
|
-
modules[runtimeConfig.name] = moduleEntry;
|
|
62
|
-
const alias = capitalize(runtimeConfig.name);
|
|
63
|
-
if (alias && alias !== runtimeConfig.name) {
|
|
64
|
-
modules[alias] = moduleEntry;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
context.Namespace = modules;
|
|
68
|
-
for (const [kind, resourcesByName] of registry.entries()) {
|
|
69
|
-
const kindBucket = {};
|
|
70
|
-
for (const [name, resource] of resourcesByName.entries()) {
|
|
71
|
-
kindBucket[name] = resource;
|
|
72
|
-
}
|
|
73
|
-
const parts = kind.split(".").filter(Boolean);
|
|
74
|
-
if (parts.length <= 1) {
|
|
75
|
-
context[kind] = kindBucket;
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
let cursor = context;
|
|
79
|
-
for (let i = 0; i < parts.length - 1; i += 1) {
|
|
80
|
-
const part = parts[i];
|
|
81
|
-
if (!cursor[part] || typeof cursor[part] !== "object") {
|
|
82
|
-
cursor[part] = {};
|
|
83
|
-
}
|
|
84
|
-
cursor = cursor[part];
|
|
85
|
-
}
|
|
86
|
-
cursor[parts[parts.length - 1]] = kindBucket;
|
|
87
|
-
}
|
|
88
|
-
return context;
|
|
89
|
-
}
|
|
90
|
-
function resolveResource(resource, context, id) {
|
|
91
|
-
const { value, updated } = resolveValue(resource, context, id, {
|
|
92
|
-
isRoot: true,
|
|
93
|
-
});
|
|
94
|
-
return { value: value, updated };
|
|
95
|
-
}
|
|
96
|
-
function resolveValue(value, context, id, options) {
|
|
97
|
-
if (typeof value === "string") {
|
|
98
|
-
return resolveString(value, context, id);
|
|
99
|
-
}
|
|
100
|
-
if (Array.isArray(value)) {
|
|
101
|
-
let changed = false;
|
|
102
|
-
const resolved = value.map((entry) => {
|
|
103
|
-
const result = resolveValue(entry, context, id);
|
|
104
|
-
if (result.updated) {
|
|
105
|
-
changed = true;
|
|
106
|
-
}
|
|
107
|
-
return result.value;
|
|
108
|
-
});
|
|
109
|
-
return { value: changed ? resolved : value, updated: changed };
|
|
110
|
-
}
|
|
111
|
-
if (!value || typeof value !== "object") {
|
|
112
|
-
return { value, updated: false };
|
|
113
|
-
}
|
|
114
|
-
let changed = false;
|
|
115
|
-
const resolved = {};
|
|
116
|
-
for (const [key, entry] of Object.entries(value)) {
|
|
117
|
-
if (options?.isRoot && key === "kind") {
|
|
118
|
-
resolved[key] = entry;
|
|
119
|
-
continue;
|
|
120
|
-
}
|
|
121
|
-
if (options?.isMetadata && key === "name") {
|
|
122
|
-
resolved[key] = entry;
|
|
123
|
-
continue;
|
|
124
|
-
}
|
|
125
|
-
if (options?.isRoot && key === "metadata" && entry && typeof entry === "object") {
|
|
126
|
-
const result = resolveValue(entry, context, id, { isMetadata: true });
|
|
127
|
-
resolved[key] = result.value;
|
|
128
|
-
if (result.updated) {
|
|
129
|
-
changed = true;
|
|
130
|
-
}
|
|
131
|
-
continue;
|
|
132
|
-
}
|
|
133
|
-
const result = resolveValue(entry, context, id);
|
|
134
|
-
resolved[key] = result.value;
|
|
135
|
-
if (result.updated) {
|
|
136
|
-
changed = true;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return { value: changed ? resolved : value, updated: changed };
|
|
140
|
-
}
|
|
141
|
-
function resolveString(value, context, id) {
|
|
142
|
-
if (!value.includes("${{")) {
|
|
143
|
-
return { value, updated: false };
|
|
144
|
-
}
|
|
145
|
-
const exact = value.match(EXACT_TEMPLATE_REGEX);
|
|
146
|
-
if (exact) {
|
|
147
|
-
const expr = exact[1];
|
|
148
|
-
const evaluated = evaluateExpression(expr, context, id);
|
|
149
|
-
if (evaluated.deferred) {
|
|
150
|
-
return { value, updated: false };
|
|
151
|
-
}
|
|
152
|
-
return { value: evaluated.value, updated: true };
|
|
153
|
-
}
|
|
154
|
-
let replaced = value;
|
|
155
|
-
replaced = replaced.replace(TEMPLATE_REGEX, (_match, expr) => {
|
|
156
|
-
const evaluated = evaluateExpression(expr, context, id);
|
|
157
|
-
if (evaluated.deferred) {
|
|
158
|
-
return _match;
|
|
159
|
-
}
|
|
160
|
-
if (evaluated.value === null || evaluated.value === undefined) {
|
|
161
|
-
return "";
|
|
162
|
-
}
|
|
163
|
-
return String(evaluated.value);
|
|
164
|
-
});
|
|
165
|
-
return { value: replaced, updated: replaced !== value };
|
|
166
|
-
}
|
|
167
|
-
function expandString(value, context) {
|
|
168
|
-
if (!value.includes("${{")) {
|
|
169
|
-
return value;
|
|
170
|
-
}
|
|
171
|
-
const exact = value.match(EXACT_TEMPLATE_REGEX);
|
|
172
|
-
if (exact) {
|
|
173
|
-
return evaluateCelWithError(exact[1], context, {
|
|
174
|
-
kind: "Value",
|
|
175
|
-
name: "expand",
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
return value.replace(TEMPLATE_REGEX, (_match, expr) => {
|
|
179
|
-
const evaluated = evaluateCelWithError(expr, context, {
|
|
180
|
-
kind: "Value",
|
|
181
|
-
name: "expand",
|
|
182
|
-
});
|
|
183
|
-
if (evaluated === null || evaluated === undefined) {
|
|
184
|
-
return "";
|
|
185
|
-
}
|
|
186
|
-
return String(evaluated);
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
function evaluateExpression(expr, context, id) {
|
|
190
|
-
try {
|
|
191
|
-
return { value: evaluateCelWithError(expr, context, id), deferred: false };
|
|
192
|
-
}
|
|
193
|
-
catch (error) {
|
|
194
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
195
|
-
if (isDeferredExpressionError(message, expr)) {
|
|
196
|
-
return { deferred: true };
|
|
197
|
-
}
|
|
198
|
-
throw new Error(`CEL evaluation failed for ${id.kind}.${id.name}: "${expr}": ${message}`);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
function capitalize(value) {
|
|
202
|
-
if (!value) {
|
|
203
|
-
return value;
|
|
204
|
-
}
|
|
205
|
-
return value[0].toUpperCase() + value.slice(1);
|
|
206
|
-
}
|
|
207
|
-
function isDeferredExpressionError(message, expr) {
|
|
208
|
-
const trimmed = expr.trim();
|
|
209
|
-
const deferredRoots = ["request.", "result."];
|
|
210
|
-
if (!deferredRoots.some((root) => trimmed.startsWith(root))) {
|
|
211
|
-
return false;
|
|
212
|
-
}
|
|
213
|
-
return message.includes('Identifier "') && message.includes("not found");
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Resolve all non-deferred CEL expressions in a resource manifest using the
|
|
217
|
-
* provided boot context. Expressions referencing `request.*` or `result.*` are
|
|
218
|
-
* left untouched — they will be resolved at request time by the runtime.
|
|
219
|
-
*
|
|
220
|
-
* Missing identifiers that are not deferred prefixes will throw, which is
|
|
221
|
-
* intentional: if a consumer's manifest references a boot-context identifier
|
|
222
|
-
* that is absent from the context, it is a configuration error.
|
|
223
|
-
*
|
|
224
|
-
* @param manifest - The raw (pre-creation) ResourceManifest
|
|
225
|
-
* @param context - CEL evaluation context built by BootContextRegistry.buildContext()
|
|
226
|
-
* @returns A new manifest object with all resolvable `${{ }}` templates replaced
|
|
227
|
-
*/
|
|
228
|
-
export function resolveManifestWithContext(manifest, context) {
|
|
229
|
-
const id = {
|
|
230
|
-
kind: manifest.kind,
|
|
231
|
-
name: manifest.metadata?.name ?? '(unknown)',
|
|
232
|
-
};
|
|
233
|
-
const { value } = resolveValue(manifest, context, id, { isRoot: true });
|
|
234
|
-
return value;
|
|
235
|
-
}
|
|
236
|
-
function evaluateCelWithError(expr, context, id) {
|
|
237
|
-
try {
|
|
238
|
-
return evaluateCel(expr, context);
|
|
239
|
-
}
|
|
240
|
-
catch (error) {
|
|
241
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
242
|
-
// Build helpful context information
|
|
243
|
-
const availableVars = Object.keys(context)
|
|
244
|
-
.filter((k) => k !== "env")
|
|
245
|
-
.concat(context.env ? Object.keys(context.env).map((k) => `env.${k}`) : [])
|
|
246
|
-
.sort();
|
|
247
|
-
throw new Error(`CEL evaluation failed for resource ${id.kind}.${id.name}\n` +
|
|
248
|
-
`Expression: "${expr}"\n` +
|
|
249
|
-
`Error: ${message}\n` +
|
|
250
|
-
`Available variables: ${availableVars.slice(0, 20).join(", ")}${availableVars.length > 20 ? "..." : ""}`);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
//# sourceMappingURL=expressions.js.map
|
package/dist/expressions.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { RuntimeResource } from "@telorun/sdk";
|
|
2
|
-
/**
|
|
3
|
-
* Built-in TemplateDefinition resource type
|
|
4
|
-
*/
|
|
5
|
-
export interface TemplateDefinition extends RuntimeResource {
|
|
6
|
-
kind: "TemplateDefinition";
|
|
7
|
-
schema: Record<string, any>;
|
|
8
|
-
resources: TemplateResourceBlueprint[];
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* A resource blueprint that can include control flow directives
|
|
12
|
-
*/
|
|
13
|
-
export interface TemplateResourceBlueprint {
|
|
14
|
-
for?: string | string[];
|
|
15
|
-
if?: string;
|
|
16
|
-
kind?: string;
|
|
17
|
-
metadata?: {
|
|
18
|
-
name: string;
|
|
19
|
-
[key: string]: any;
|
|
20
|
-
};
|
|
21
|
-
resource?: RuntimeResource;
|
|
22
|
-
[key: string]: any;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Template expansion context containing variables from schema
|
|
26
|
-
*/
|
|
27
|
-
export interface TemplateContext {
|
|
28
|
-
[varName: string]: any;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Validates if a resource is a TemplateDefinition
|
|
32
|
-
*/
|
|
33
|
-
export declare function isTemplateDefinition(resource: RuntimeResource): resource is TemplateDefinition;
|
|
34
|
-
/**
|
|
35
|
-
* Extracts default values from JSONSchema to build initial template context
|
|
36
|
-
*/
|
|
37
|
-
export declare function extractDefaultsFromSchema(schema: Record<string, any>): TemplateContext;
|
|
38
|
-
//# sourceMappingURL=template-definition.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template-definition.d.ts","sourceRoot":"","sources":["../src/template-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,IAAI,EAAE,oBAAoB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,SAAS,EAAE,yBAAyB,EAAE,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IAExC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IAGZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IAGF,QAAQ,CAAC,EAAE,eAAe,CAAC;IAG3B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,QAAQ,IAAI,kBAAkB,CAE9F;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,eAAe,CAmBtF"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validates if a resource is a TemplateDefinition
|
|
3
|
-
*/
|
|
4
|
-
export function isTemplateDefinition(resource) {
|
|
5
|
-
return resource.kind === "TemplateDefinition";
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Extracts default values from JSONSchema to build initial template context
|
|
9
|
-
*/
|
|
10
|
-
export function extractDefaultsFromSchema(schema) {
|
|
11
|
-
const context = {};
|
|
12
|
-
if (!schema || typeof schema !== "object") {
|
|
13
|
-
return context;
|
|
14
|
-
}
|
|
15
|
-
const properties = schema.properties;
|
|
16
|
-
if (!properties || typeof properties !== "object") {
|
|
17
|
-
return context;
|
|
18
|
-
}
|
|
19
|
-
for (const [key, propSchema] of Object.entries(properties)) {
|
|
20
|
-
if (propSchema && typeof propSchema === "object" && "default" in propSchema) {
|
|
21
|
-
context[key] = propSchema.default;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return context;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=template-definition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template-definition.js","sourceRoot":"","sources":["../src/template-definition.ts"],"names":[],"mappings":"AAwCA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAyB;IAC5D,OAAO,QAAQ,CAAC,IAAI,KAAK,oBAAoB,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAA2B;IACnE,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3D,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { RuntimeResource } from "@telorun/sdk";
|
|
2
|
-
import type { TemplateContext, TemplateDefinition } from "./template-definition.js";
|
|
3
|
-
/**
|
|
4
|
-
* Expands all TemplateDefinition resources into concrete resources
|
|
5
|
-
* Supports recursive expansion (templates can generate templates)
|
|
6
|
-
*/
|
|
7
|
-
export declare function expandTemplates(resources: RuntimeResource[]): RuntimeResource[];
|
|
8
|
-
/**
|
|
9
|
-
* Instantiates a template with provided parameters
|
|
10
|
-
* This is called when a resource of kind "Template.<Name>" is encountered
|
|
11
|
-
*/
|
|
12
|
-
export declare function instantiateTemplate(template: TemplateDefinition, parameters: Record<string, any>, instanceName: string, depth?: number, parentUri?: string): RuntimeResource[];
|
|
13
|
-
/**
|
|
14
|
-
* Expands array/object properties that contain 'for' directives
|
|
15
|
-
* Example: routes: [{ for: "r in routes", resource: { path: "${{ r }}" } }]
|
|
16
|
-
* Also supports nested loops with array syntax: { for: ["e in endpoints", "m in e.methods"], ... }
|
|
17
|
-
*/
|
|
18
|
-
export declare function expandPropertyWithControlFlow(value: any, context: TemplateContext): any;
|
|
19
|
-
//# sourceMappingURL=template-expander.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template-expander.d.ts","sourceRoot":"","sources":["../src/template-expander.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,KAAK,EACR,eAAe,EACf,kBAAkB,EAErB,MAAM,0BAA0B,CAAC;AAOlC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE,CAsB/E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,YAAY,EAAE,MAAM,EACpB,KAAK,SAAI,EACT,SAAS,CAAC,EAAE,MAAM,GACjB,eAAe,EAAE,CAoBnB;AAucD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,GAAG,CA4BvF"}
|