@relkit/compiler 0.0.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/LICENSE +21 -0
- package/README.md +5 -0
- package/dist/config-loader-deployment.d.ts +7 -0
- package/dist/config-loader-deployment.d.ts.map +1 -0
- package/dist/config-loader-deployment.js +36 -0
- package/dist/config-loader-deployment.js.map +1 -0
- package/dist/config-loader-runtime.d.ts +30 -0
- package/dist/config-loader-runtime.d.ts.map +1 -0
- package/dist/config-loader-runtime.js +105 -0
- package/dist/config-loader-runtime.js.map +1 -0
- package/dist/config-loader-types.d.ts +107 -0
- package/dist/config-loader-types.d.ts.map +1 -0
- package/dist/config-loader-types.js +37 -0
- package/dist/config-loader-types.js.map +1 -0
- package/dist/config-loader-utils.d.ts +10 -0
- package/dist/config-loader-utils.d.ts.map +1 -0
- package/dist/config-loader-utils.js +88 -0
- package/dist/config-loader-utils.js.map +1 -0
- package/dist/config-loader.d.ts +12 -0
- package/dist/config-loader.d.ts.map +1 -0
- package/dist/config-loader.js +89 -0
- package/dist/config-loader.js.map +1 -0
- package/dist/context-registry.d.ts +7 -0
- package/dist/context-registry.d.ts.map +1 -0
- package/dist/context-registry.js +55 -0
- package/dist/context-registry.js.map +1 -0
- package/dist/conventions.d.ts +32 -0
- package/dist/conventions.d.ts.map +1 -0
- package/dist/conventions.js +125 -0
- package/dist/conventions.js.map +1 -0
- package/dist/discovery/ast-prefilter-utils.d.ts +4 -0
- package/dist/discovery/ast-prefilter-utils.d.ts.map +1 -0
- package/dist/discovery/ast-prefilter-utils.js +186 -0
- package/dist/discovery/ast-prefilter-utils.js.map +1 -0
- package/dist/discovery/ast-prefilter.d.ts +36 -0
- package/dist/discovery/ast-prefilter.d.ts.map +1 -0
- package/dist/discovery/ast-prefilter.js +33 -0
- package/dist/discovery/ast-prefilter.js.map +1 -0
- package/dist/discovery/data-model-isolation.d.ts +8 -0
- package/dist/discovery/data-model-isolation.d.ts.map +1 -0
- package/dist/discovery/data-model-isolation.js +52 -0
- package/dist/discovery/data-model-isolation.js.map +1 -0
- package/dist/discovery/evaluator-child-utils.d.ts +4 -0
- package/dist/discovery/evaluator-child-utils.d.ts.map +1 -0
- package/dist/discovery/evaluator-child-utils.js +48 -0
- package/dist/discovery/evaluator-child-utils.js.map +1 -0
- package/dist/discovery/evaluator-child.d.ts +2 -0
- package/dist/discovery/evaluator-child.d.ts.map +1 -0
- package/dist/discovery/evaluator-child.js +139 -0
- package/dist/discovery/evaluator-child.js.map +1 -0
- package/dist/discovery/evaluator-detector-files.d.ts +9 -0
- package/dist/discovery/evaluator-detector-files.d.ts.map +1 -0
- package/dist/discovery/evaluator-detector-files.js +105 -0
- package/dist/discovery/evaluator-detector-files.js.map +1 -0
- package/dist/discovery/evaluator-detector-network.d.ts +6 -0
- package/dist/discovery/evaluator-detector-network.d.ts.map +1 -0
- package/dist/discovery/evaluator-detector-network.js +109 -0
- package/dist/discovery/evaluator-detector-network.js.map +1 -0
- package/dist/discovery/evaluator-detector-timers.d.ts +9 -0
- package/dist/discovery/evaluator-detector-timers.d.ts.map +1 -0
- package/dist/discovery/evaluator-detector-timers.js +105 -0
- package/dist/discovery/evaluator-detector-timers.js.map +1 -0
- package/dist/discovery/evaluator-detectors.d.ts +18 -0
- package/dist/discovery/evaluator-detectors.d.ts.map +1 -0
- package/dist/discovery/evaluator-detectors.js +54 -0
- package/dist/discovery/evaluator-detectors.js.map +1 -0
- package/dist/discovery/evaluator-protocol.d.ts +94 -0
- package/dist/discovery/evaluator-protocol.d.ts.map +1 -0
- package/dist/discovery/evaluator-protocol.js +89 -0
- package/dist/discovery/evaluator-protocol.js.map +1 -0
- package/dist/discovery/evaluator-request.d.ts +18 -0
- package/dist/discovery/evaluator-request.d.ts.map +1 -0
- package/dist/discovery/evaluator-request.js +49 -0
- package/dist/discovery/evaluator-request.js.map +1 -0
- package/dist/discovery/evaluator-snapshot.d.ts +12 -0
- package/dist/discovery/evaluator-snapshot.d.ts.map +1 -0
- package/dist/discovery/evaluator-snapshot.js +87 -0
- package/dist/discovery/evaluator-snapshot.js.map +1 -0
- package/dist/discovery/evaluator.d.ts +8 -0
- package/dist/discovery/evaluator.d.ts.map +1 -0
- package/dist/discovery/evaluator.js +123 -0
- package/dist/discovery/evaluator.js.map +1 -0
- package/dist/discovery/extract.d.ts +21 -0
- package/dist/discovery/extract.d.ts.map +1 -0
- package/dist/discovery/extract.js +60 -0
- package/dist/discovery/extract.js.map +1 -0
- package/dist/discovery/source-facts-factory.d.ts +5 -0
- package/dist/discovery/source-facts-factory.d.ts.map +1 -0
- package/dist/discovery/source-facts-factory.js +109 -0
- package/dist/discovery/source-facts-factory.js.map +1 -0
- package/dist/discovery/source-facts-types.d.ts +52 -0
- package/dist/discovery/source-facts-types.d.ts.map +1 -0
- package/dist/discovery/source-facts-types.js +2 -0
- package/dist/discovery/source-facts-types.js.map +1 -0
- package/dist/discovery/source-facts.d.ts +6 -0
- package/dist/discovery/source-facts.d.ts.map +1 -0
- package/dist/discovery/source-facts.js +141 -0
- package/dist/discovery/source-facts.js.map +1 -0
- package/dist/discovery/source-id-route.d.ts +3 -0
- package/dist/discovery/source-id-route.d.ts.map +1 -0
- package/dist/discovery/source-id-route.js +61 -0
- package/dist/discovery/source-id-route.js.map +1 -0
- package/dist/discovery/source-id.d.ts +36 -0
- package/dist/discovery/source-id.d.ts.map +1 -0
- package/dist/discovery/source-id.js +146 -0
- package/dist/discovery/source-id.js.map +1 -0
- package/dist/discovery/source-map-utils.d.ts +10 -0
- package/dist/discovery/source-map-utils.d.ts.map +1 -0
- package/dist/discovery/source-map-utils.js +29 -0
- package/dist/discovery/source-map-utils.js.map +1 -0
- package/dist/discovery/source-map.d.ts +26 -0
- package/dist/discovery/source-map.d.ts.map +1 -0
- package/dist/discovery/source-map.js +119 -0
- package/dist/discovery/source-map.js.map +1 -0
- package/dist/event-registry.d.ts +9 -0
- package/dist/event-registry.d.ts.map +1 -0
- package/dist/event-registry.js +43 -0
- package/dist/event-registry.js.map +1 -0
- package/dist/generate-manifest-event.d.ts +5 -0
- package/dist/generate-manifest-event.d.ts.map +1 -0
- package/dist/generate-manifest-event.js +81 -0
- package/dist/generate-manifest-event.js.map +1 -0
- package/dist/generate-manifest-expressions.d.ts +12 -0
- package/dist/generate-manifest-expressions.d.ts.map +1 -0
- package/dist/generate-manifest-expressions.js +141 -0
- package/dist/generate-manifest-expressions.js.map +1 -0
- package/dist/generate-manifest-format.d.ts +4 -0
- package/dist/generate-manifest-format.d.ts.map +1 -0
- package/dist/generate-manifest-format.js +74 -0
- package/dist/generate-manifest-format.js.map +1 -0
- package/dist/generate-manifest-identities.d.ts +6 -0
- package/dist/generate-manifest-identities.d.ts.map +1 -0
- package/dist/generate-manifest-identities.js +115 -0
- package/dist/generate-manifest-identities.js.map +1 -0
- package/dist/generate-manifest-utils.d.ts +23 -0
- package/dist/generate-manifest-utils.d.ts.map +1 -0
- package/dist/generate-manifest-utils.js +125 -0
- package/dist/generate-manifest-utils.js.map +1 -0
- package/dist/generate-manifest.d.ts +30 -0
- package/dist/generate-manifest.d.ts.map +1 -0
- package/dist/generate-manifest.js +89 -0
- package/dist/generate-manifest.js.map +1 -0
- package/dist/generated-artifacts.d.ts +69 -0
- package/dist/generated-artifacts.d.ts.map +1 -0
- package/dist/generated-artifacts.js +124 -0
- package/dist/generated-artifacts.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware-coverage.d.ts +12 -0
- package/dist/middleware-coverage.d.ts.map +1 -0
- package/dist/middleware-coverage.js +90 -0
- package/dist/middleware-coverage.js.map +1 -0
- package/dist/normalize-compat.d.ts +26 -0
- package/dist/normalize-compat.d.ts.map +1 -0
- package/dist/normalize-compat.js +155 -0
- package/dist/normalize-compat.js.map +1 -0
- package/dist/normalize-event-listener.d.ts +11 -0
- package/dist/normalize-event-listener.d.ts.map +1 -0
- package/dist/normalize-event-listener.js +123 -0
- package/dist/normalize-event-listener.js.map +1 -0
- package/dist/normalize-event-validation.d.ts +4 -0
- package/dist/normalize-event-validation.d.ts.map +1 -0
- package/dist/normalize-event-validation.js +137 -0
- package/dist/normalize-event-validation.js.map +1 -0
- package/dist/normalize-generated-function.d.ts +10 -0
- package/dist/normalize-generated-function.d.ts.map +1 -0
- package/dist/normalize-generated-function.js +20 -0
- package/dist/normalize-generated-function.js.map +1 -0
- package/dist/normalize-graph-app.d.ts +8 -0
- package/dist/normalize-graph-app.d.ts.map +1 -0
- package/dist/normalize-graph-app.js +71 -0
- package/dist/normalize-graph-app.js.map +1 -0
- package/dist/normalize-graph-config.d.ts +5 -0
- package/dist/normalize-graph-config.d.ts.map +1 -0
- package/dist/normalize-graph-config.js +97 -0
- package/dist/normalize-graph-config.js.map +1 -0
- package/dist/normalize-graph-edges.d.ts +3 -0
- package/dist/normalize-graph-edges.d.ts.map +1 -0
- package/dist/normalize-graph-edges.js +139 -0
- package/dist/normalize-graph-edges.js.map +1 -0
- package/dist/normalize-graph-nodes.d.ts +3 -0
- package/dist/normalize-graph-nodes.d.ts.map +1 -0
- package/dist/normalize-graph-nodes.js +184 -0
- package/dist/normalize-graph-nodes.js.map +1 -0
- package/dist/normalize-graph-providers.d.ts +4 -0
- package/dist/normalize-graph-providers.d.ts.map +1 -0
- package/dist/normalize-graph-providers.js +63 -0
- package/dist/normalize-graph-providers.js.map +1 -0
- package/dist/normalize-graph-services.d.ts +2 -0
- package/dist/normalize-graph-services.d.ts.map +1 -0
- package/dist/normalize-graph-services.js +23 -0
- package/dist/normalize-graph-services.js.map +1 -0
- package/dist/normalize-graph-types.d.ts +26 -0
- package/dist/normalize-graph-types.d.ts.map +1 -0
- package/dist/normalize-graph-types.js +2 -0
- package/dist/normalize-graph-types.js.map +1 -0
- package/dist/normalize-graph-utils.d.ts +4 -0
- package/dist/normalize-graph-utils.d.ts.map +1 -0
- package/dist/normalize-graph-utils.js +29 -0
- package/dist/normalize-graph-utils.js.map +1 -0
- package/dist/normalize-graph.d.ts +4 -0
- package/dist/normalize-graph.d.ts.map +1 -0
- package/dist/normalize-graph.js +21 -0
- package/dist/normalize-graph.js.map +1 -0
- package/dist/normalize-http-validation.d.ts +8 -0
- package/dist/normalize-http-validation.d.ts.map +1 -0
- package/dist/normalize-http-validation.js +86 -0
- package/dist/normalize-http-validation.js.map +1 -0
- package/dist/normalize-identity-rewrite.d.ts +3 -0
- package/dist/normalize-identity-rewrite.d.ts.map +1 -0
- package/dist/normalize-identity-rewrite.js +30 -0
- package/dist/normalize-identity-rewrite.js.map +1 -0
- package/dist/normalize-job-validation.d.ts +3 -0
- package/dist/normalize-job-validation.d.ts.map +1 -0
- package/dist/normalize-job-validation.js +31 -0
- package/dist/normalize-job-validation.js.map +1 -0
- package/dist/normalize-model-selection.d.ts +17 -0
- package/dist/normalize-model-selection.d.ts.map +1 -0
- package/dist/normalize-model-selection.js +103 -0
- package/dist/normalize-model-selection.js.map +1 -0
- package/dist/normalize-output.d.ts +4 -0
- package/dist/normalize-output.d.ts.map +1 -0
- package/dist/normalize-output.js +42 -0
- package/dist/normalize-output.js.map +1 -0
- package/dist/normalize-pass-core.d.ts +9 -0
- package/dist/normalize-pass-core.d.ts.map +1 -0
- package/dist/normalize-pass-core.js +113 -0
- package/dist/normalize-pass-core.js.map +1 -0
- package/dist/normalize-pass-semantic.d.ts +11 -0
- package/dist/normalize-pass-semantic.d.ts.map +1 -0
- package/dist/normalize-pass-semantic.js +149 -0
- package/dist/normalize-pass-semantic.js.map +1 -0
- package/dist/normalize-pass-utils.d.ts +12 -0
- package/dist/normalize-pass-utils.d.ts.map +1 -0
- package/dist/normalize-pass-utils.js +116 -0
- package/dist/normalize-pass-utils.js.map +1 -0
- package/dist/normalize-passes.d.ts +3 -0
- package/dist/normalize-passes.d.ts.map +1 -0
- package/dist/normalize-passes.js +3 -0
- package/dist/normalize-passes.js.map +1 -0
- package/dist/normalize-provider-validation.d.ts +4 -0
- package/dist/normalize-provider-validation.d.ts.map +1 -0
- package/dist/normalize-provider-validation.js +34 -0
- package/dist/normalize-provider-validation.js.map +1 -0
- package/dist/normalize-public-types.d.ts +13 -0
- package/dist/normalize-public-types.d.ts.map +1 -0
- package/dist/normalize-public-types.js +2 -0
- package/dist/normalize-public-types.js.map +1 -0
- package/dist/normalize-rate-limit.d.ts +4 -0
- package/dist/normalize-rate-limit.d.ts.map +1 -0
- package/dist/normalize-rate-limit.js +35 -0
- package/dist/normalize-rate-limit.js.map +1 -0
- package/dist/normalize-reference-index.d.ts +6 -0
- package/dist/normalize-reference-index.d.ts.map +1 -0
- package/dist/normalize-reference-index.js +82 -0
- package/dist/normalize-reference-index.js.map +1 -0
- package/dist/normalize-reference-validation.d.ts +4 -0
- package/dist/normalize-reference-validation.d.ts.map +1 -0
- package/dist/normalize-reference-validation.js +88 -0
- package/dist/normalize-reference-validation.js.map +1 -0
- package/dist/normalize-route-file.d.ts +4 -0
- package/dist/normalize-route-file.d.ts.map +1 -0
- package/dist/normalize-route-file.js +41 -0
- package/dist/normalize-route-file.js.map +1 -0
- package/dist/normalize-route-inference.d.ts +4 -0
- package/dist/normalize-route-inference.d.ts.map +1 -0
- package/dist/normalize-route-inference.js +117 -0
- package/dist/normalize-route-inference.js.map +1 -0
- package/dist/normalize-schema-validation.d.ts +3 -0
- package/dist/normalize-schema-validation.d.ts.map +1 -0
- package/dist/normalize-schema-validation.js +50 -0
- package/dist/normalize-schema-validation.js.map +1 -0
- package/dist/normalize-source-identities.d.ts +3 -0
- package/dist/normalize-source-identities.d.ts.map +1 -0
- package/dist/normalize-source-identities.js +158 -0
- package/dist/normalize-source-identities.js.map +1 -0
- package/dist/normalize-types.d.ts +130 -0
- package/dist/normalize-types.d.ts.map +1 -0
- package/dist/normalize-types.js +99 -0
- package/dist/normalize-types.js.map +1 -0
- package/dist/normalize-utils.d.ts +24 -0
- package/dist/normalize-utils.d.ts.map +1 -0
- package/dist/normalize-utils.js +139 -0
- package/dist/normalize-utils.js.map +1 -0
- package/dist/normalize.d.ts +9 -0
- package/dist/normalize.d.ts.map +1 -0
- package/dist/normalize.js +106 -0
- package/dist/normalize.js.map +1 -0
- package/dist/project-typecheck.d.ts +4 -0
- package/dist/project-typecheck.d.ts.map +1 -0
- package/dist/project-typecheck.js +49 -0
- package/dist/project-typecheck.js.map +1 -0
- package/dist/route-file.d.ts +29 -0
- package/dist/route-file.d.ts.map +1 -0
- package/dist/route-file.js +97 -0
- package/dist/route-file.js.map +1 -0
- package/dist/watch.d.ts +27 -0
- package/dist/watch.d.ts.map +1 -0
- package/dist/watch.js +117 -0
- package/dist/watch.js.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { normalizeSourcePath } from "@relkit/contracts";
|
|
2
|
+
import { isRecord, generatedAgentMarker, missingReference, } from "./generate-manifest-utils.js";
|
|
3
|
+
import { eventListenerExecutableExpression } from "./generate-manifest-event.js";
|
|
4
|
+
export function functionExpressionsFor(functions, functionById, bindings, input, diagnostics) {
|
|
5
|
+
const expressions = new Map();
|
|
6
|
+
for (const descriptor of functions) {
|
|
7
|
+
const listener = eventListenerExecutableExpression(descriptor, bindings, input, "handler");
|
|
8
|
+
if (listener !== undefined) {
|
|
9
|
+
expressions.set(descriptor.id, listener);
|
|
10
|
+
continue;
|
|
11
|
+
}
|
|
12
|
+
const generated = isGeneratedFunction(descriptor.value);
|
|
13
|
+
if (generated !== undefined) {
|
|
14
|
+
expressions.set(descriptor.id, `__relkit_createGeneratedAgentFunction(${JSON.stringify(generated.agentId)})`);
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
const reference = executableExpression(descriptor, "handler", bindings, input);
|
|
18
|
+
const liveHandler = isRecord(descriptor.value) && typeof descriptor.value.handler === "function";
|
|
19
|
+
if (reference !== undefined)
|
|
20
|
+
expressions.set(descriptor.id, reference);
|
|
21
|
+
else if (descriptor.reference === undefined && liveHandler)
|
|
22
|
+
expressions.set(descriptor.id, "undefined");
|
|
23
|
+
else
|
|
24
|
+
missingReference(diagnostics, descriptor, "function");
|
|
25
|
+
}
|
|
26
|
+
for (const id of functionById.keys())
|
|
27
|
+
if (!expressions.has(id))
|
|
28
|
+
expressions.set(id, "undefined");
|
|
29
|
+
return expressions;
|
|
30
|
+
}
|
|
31
|
+
export function functionTargetExpressionsFor(functions, bindings, input) {
|
|
32
|
+
const expressions = new Map();
|
|
33
|
+
for (const descriptor of functions) {
|
|
34
|
+
const listener = eventListenerExecutableExpression(descriptor, bindings, input, "target");
|
|
35
|
+
if (listener !== undefined) {
|
|
36
|
+
expressions.set(descriptor.id, listener);
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
const expression = executableExpression(descriptor, "descriptor", bindings, input);
|
|
40
|
+
if (expression !== undefined)
|
|
41
|
+
expressions.set(descriptor.id, expression);
|
|
42
|
+
}
|
|
43
|
+
return expressions;
|
|
44
|
+
}
|
|
45
|
+
export function applicationExpressionFor(descriptor, bindings, input) {
|
|
46
|
+
return descriptor === undefined
|
|
47
|
+
? undefined
|
|
48
|
+
: executableExpression(descriptor, "descriptor", bindings, input);
|
|
49
|
+
}
|
|
50
|
+
export function descriptorExpressionsFor(descriptors, bindings, input) {
|
|
51
|
+
return new Map(descriptors.flatMap((descriptor) => {
|
|
52
|
+
const expression = executableExpression(descriptor, "descriptor", bindings, input);
|
|
53
|
+
return expression === undefined ? [] : [[descriptor.id, expression]];
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
function isGeneratedFunction(value) {
|
|
57
|
+
if (!isRecord(value) || !isRecord(value.generated))
|
|
58
|
+
return undefined;
|
|
59
|
+
if (value.generated.generated !== true ||
|
|
60
|
+
value.generated.generatedBy !== "agent" ||
|
|
61
|
+
typeof value.generated.agentId !== "string" ||
|
|
62
|
+
typeof value.generated.functionId !== "string")
|
|
63
|
+
return undefined;
|
|
64
|
+
return value.generated;
|
|
65
|
+
}
|
|
66
|
+
export function transformExpressionsFor(transforms, bindings, input, diagnostics) {
|
|
67
|
+
const expressions = new Map();
|
|
68
|
+
for (const descriptor of transforms) {
|
|
69
|
+
const expression = executableExpression(descriptor, "schema", bindings, input);
|
|
70
|
+
const liveSchema = isExecutableSchema(descriptor.value);
|
|
71
|
+
if (expression !== undefined)
|
|
72
|
+
expressions.set(descriptor.id, expression);
|
|
73
|
+
else if (descriptor.reference === undefined && liveSchema)
|
|
74
|
+
expressions.set(descriptor.id, "undefined");
|
|
75
|
+
else
|
|
76
|
+
missingReference(diagnostics, descriptor, "transform");
|
|
77
|
+
}
|
|
78
|
+
return expressions;
|
|
79
|
+
}
|
|
80
|
+
export function middlewareExpressionsFor(middleware, bindings, input, diagnostics) {
|
|
81
|
+
const expressions = new Map();
|
|
82
|
+
for (const descriptor of middleware) {
|
|
83
|
+
const expression = executableExpression(descriptor, "descriptor", bindings, input);
|
|
84
|
+
if (expression !== undefined)
|
|
85
|
+
expressions.set(descriptor.id, expression);
|
|
86
|
+
else if (descriptor.reference === undefined &&
|
|
87
|
+
isExecutableProperty(descriptor.value, "handler"))
|
|
88
|
+
expressions.set(descriptor.id, "undefined");
|
|
89
|
+
else
|
|
90
|
+
missingReference(diagnostics, descriptor, "middleware");
|
|
91
|
+
}
|
|
92
|
+
return expressions;
|
|
93
|
+
}
|
|
94
|
+
export function hookExpressionsFor(descriptors, bindings, input) {
|
|
95
|
+
const expressions = new Map();
|
|
96
|
+
for (const descriptor of descriptors) {
|
|
97
|
+
if (descriptor.kind !== "function" && descriptor.kind !== "tool")
|
|
98
|
+
continue;
|
|
99
|
+
const target = executableExpression(descriptor, "descriptor", bindings, input);
|
|
100
|
+
for (const phase of ["before", "after"]) {
|
|
101
|
+
const property = phase === "before" ? "onBefore" : "onAfter";
|
|
102
|
+
if (!isExecutableProperty(descriptor.value, property))
|
|
103
|
+
continue;
|
|
104
|
+
expressions.set(`${descriptor.id}.${phase}`, target === undefined ? "undefined" : `${target}.${property}`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return expressions;
|
|
108
|
+
}
|
|
109
|
+
function executableExpression(descriptor, property, bindings, input) {
|
|
110
|
+
const reference = descriptor.reference;
|
|
111
|
+
if (reference === undefined ||
|
|
112
|
+
reference.kind !== descriptor.kind ||
|
|
113
|
+
reference.descriptorId !== descriptor.id)
|
|
114
|
+
return undefined;
|
|
115
|
+
const module = modulePath(reference, input);
|
|
116
|
+
const binding = module === undefined ? undefined : bindings.get(module);
|
|
117
|
+
if (binding === undefined)
|
|
118
|
+
return undefined;
|
|
119
|
+
const value = `${binding.alias}[${JSON.stringify(reference.exportName)}]`;
|
|
120
|
+
return property === "descriptor" ? value : `${value}.${property}`;
|
|
121
|
+
}
|
|
122
|
+
function modulePath(reference, input) {
|
|
123
|
+
try {
|
|
124
|
+
return normalizeSourcePath(reference.module, input.projectRoot);
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function isExecutableSchema(value) {
|
|
131
|
+
if (!isRecord(value) || !isRecord(value.schema) || !isRecord(value.schema["~standard"]))
|
|
132
|
+
return false;
|
|
133
|
+
return typeof value.schema["~standard"].validate === "function";
|
|
134
|
+
}
|
|
135
|
+
function isExecutableProperty(value, property) {
|
|
136
|
+
if (!isRecord(value))
|
|
137
|
+
return false;
|
|
138
|
+
const candidate = value[property];
|
|
139
|
+
return (typeof candidate === "function" || (isRecord(candidate) && candidate.$relkit === "function"));
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=generate-manifest-expressions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-manifest-expressions.js","sourceRoot":"","sources":["../src/generate-manifest-expressions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ManifestGenerationInput } from "./generate-manifest.js";
|
|
2
|
+
import type { ImportBinding } from "./generate-manifest-utils.js";
|
|
3
|
+
export declare function renderManifest(input: ManifestGenerationInput, bindings: ReadonlyMap<string, ImportBinding>, functions: ReadonlyMap<string, string>, targets: ReadonlyMap<string, string>, middleware: ReadonlyMap<string, string>, hooks: ReadonlyMap<string, string>, transforms: ReadonlyMap<string, string>, providers: readonly string[], application?: string, agents?: ReadonlyMap<string, string>, tools?: ReadonlyMap<string, string>, routes?: ReadonlyMap<string, string>, constants?: ReadonlyMap<string, string>, prompts?: ReadonlyMap<string, string>, dataModel?: string, services?: ReadonlyMap<string, string>, identityBindings?: readonly string[]): string;
|
|
4
|
+
//# sourceMappingURL=generate-manifest-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-manifest-format.d.ts","sourceRoot":"","sources":["../src/generate-manifest-format.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,EAC5C,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa,EAC/C,KAAK,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa,EAC9C,MAAM,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa,EAC/C,SAAS,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa,EAClD,OAAO,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa,EAChD,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa,EACjD,gBAAgB,GAAE,SAAS,MAAM,EAAO,GACvC,MAAM,CAqDR"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { GENERATOR_VERSION, MANIFEST_VERSION } from "@relkit/contracts";
|
|
2
|
+
export function renderManifest(input, bindings, functions, targets, middleware, hooks, transforms, providers, application, agents = new Map(), tools = new Map(), routes = new Map(), constants = new Map(), prompts = new Map(), dataModel, services = new Map(), identityBindings = []) {
|
|
3
|
+
const imports = [...bindings.values()]
|
|
4
|
+
.map(({ alias, module }) => `import * as ${alias} from ${JSON.stringify(importPath(module, input))};`)
|
|
5
|
+
.join("\n");
|
|
6
|
+
const generatedImports = [
|
|
7
|
+
identityBindings.length > 0
|
|
8
|
+
? 'import { bindDescriptorIdentity as __relkit_bindDescriptorIdentity } from "@relkit/invocation";'
|
|
9
|
+
: "",
|
|
10
|
+
[...functions.values()].some((value) => value.startsWith("__relkit_createGeneratedAgentFunction("))
|
|
11
|
+
? 'import { createGeneratedAgentFunction as __relkit_createGeneratedAgentFunction } from "@relkit/agents";'
|
|
12
|
+
: "",
|
|
13
|
+
[...targets.values()].some((value) => value.startsWith("__relkit_createEventListenerTarget("))
|
|
14
|
+
? 'import { createEventListenerTarget as __relkit_createEventListenerTarget } from "@relkit/events";'
|
|
15
|
+
: "",
|
|
16
|
+
]
|
|
17
|
+
.filter(Boolean)
|
|
18
|
+
.join("\n");
|
|
19
|
+
return [
|
|
20
|
+
[generatedImports, imports].filter(Boolean).join("\n"),
|
|
21
|
+
...(generatedImports !== "" || imports !== "" ? [""] : []),
|
|
22
|
+
...identityBindings,
|
|
23
|
+
...(identityBindings.length > 0 ? [""] : []),
|
|
24
|
+
`export const manifestContractVersion = ${MANIFEST_VERSION} as const;`,
|
|
25
|
+
`export const manifestGeneratorVersion = ${GENERATOR_VERSION} as const;`,
|
|
26
|
+
`export const manifestGraphHash = ${JSON.stringify(input.graphHash)} as const;`,
|
|
27
|
+
`export const providerFactories = ${renderProviders(providers)} as const;`,
|
|
28
|
+
"export const runtimeManifest = {",
|
|
29
|
+
" contractVersion: manifestContractVersion,",
|
|
30
|
+
" generatorVersion: manifestGeneratorVersion,",
|
|
31
|
+
" graphHash: manifestGraphHash,",
|
|
32
|
+
` functions: ${renderMap(functions)},`,
|
|
33
|
+
` targets: ${renderMap(targets)},`,
|
|
34
|
+
` agents: ${renderMap(agents)},`,
|
|
35
|
+
` tools: ${renderMap(tools)},`,
|
|
36
|
+
` routes: ${renderMap(routes)},`,
|
|
37
|
+
` constants: ${renderMap(constants)},`,
|
|
38
|
+
` prompts: ${renderMap(prompts)},`,
|
|
39
|
+
...(dataModel === undefined ? [] : [` dataModel: ${dataModel},`]),
|
|
40
|
+
` services: ${renderMap(services)},`,
|
|
41
|
+
" providers: providerFactories,",
|
|
42
|
+
" providerFactories,",
|
|
43
|
+
` middleware: ${renderMap(middleware)},`,
|
|
44
|
+
` hooks: ${renderMap(hooks)},`,
|
|
45
|
+
` requestTransforms: ${renderMap(transforms)},`,
|
|
46
|
+
...(application === undefined ? [] : [` application: ${application},`]),
|
|
47
|
+
"} as const;",
|
|
48
|
+
"",
|
|
49
|
+
].join("\n");
|
|
50
|
+
}
|
|
51
|
+
function renderMap(values) {
|
|
52
|
+
const entries = [...values.entries()].sort(([left], [right]) => left.localeCompare(right));
|
|
53
|
+
return `{ ${entries.map(([key, value]) => `${JSON.stringify(key)}: ${value}`).join(", ")} }`;
|
|
54
|
+
}
|
|
55
|
+
function renderProviders(keys) {
|
|
56
|
+
return `{ ${keys
|
|
57
|
+
.map((key) => {
|
|
58
|
+
const separator = key.indexOf(":");
|
|
59
|
+
const capability = key.slice(0, separator);
|
|
60
|
+
const adapter = key.slice(separator + 1);
|
|
61
|
+
return `${JSON.stringify(key)}: { capability: ${JSON.stringify(capability)}, adapter: ${JSON.stringify(adapter)}, factory: undefined }`;
|
|
62
|
+
})
|
|
63
|
+
.join(", ")} }`;
|
|
64
|
+
}
|
|
65
|
+
function importPath(module, input) {
|
|
66
|
+
const generated = (input.generatedDirectory ?? ".relkit/generated")
|
|
67
|
+
.replaceAll("\\", "/")
|
|
68
|
+
.replace(/\/+$/, "");
|
|
69
|
+
const depth = generated.split("/").filter(Boolean).length;
|
|
70
|
+
const prefix = depth === 0 ? "" : "../".repeat(depth);
|
|
71
|
+
const path = `${prefix}${module}`;
|
|
72
|
+
return path.startsWith(".") ? path : `./${path}`;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=generate-manifest-format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-manifest-format.js","sourceRoot":"","sources":["../src/generate-manifest-format.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ManifestGenerationInput } from "./generate-manifest.js";
|
|
2
|
+
import type { ImportBinding } from "./generate-manifest-utils.js";
|
|
3
|
+
import type { NormalizedDescriptor } from "./normalize-types.js";
|
|
4
|
+
/** Emits deterministic runtime bindings for imported descriptors and nested errors. */
|
|
5
|
+
export declare function identityBindingStatements(descriptors: readonly NormalizedDescriptor[], bindings: ReadonlyMap<string, ImportBinding>, input: ManifestGenerationInput): readonly string[];
|
|
6
|
+
//# sourceMappingURL=generate-manifest-identities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-manifest-identities.d.ts","sourceRoot":"","sources":["../src/generate-manifest-identities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AASjE,uFAAuF;AACvF,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,SAAS,oBAAoB,EAAE,EAC5C,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,EAC5C,KAAK,EAAE,uBAAuB,GAC7B,SAAS,MAAM,EAAE,CA0BnB"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { normalizeSourcePath } from "@relkit/contracts";
|
|
2
|
+
/** Emits deterministic runtime bindings for imported descriptors and nested errors. */
|
|
3
|
+
export function identityBindingStatements(descriptors, bindings, input) {
|
|
4
|
+
const entries = descriptors.flatMap((descriptor) => descriptorBindings(descriptor, bindings, input));
|
|
5
|
+
const seen = new Set();
|
|
6
|
+
return Object.freeze(entries
|
|
7
|
+
.sort(compareBindings)
|
|
8
|
+
.filter((entry) => {
|
|
9
|
+
const key = `${entry.module}\0${entry.exportName}\0${pathKey(entry.path)}\0${entry.id}`;
|
|
10
|
+
if (seen.has(key))
|
|
11
|
+
return false;
|
|
12
|
+
seen.add(key);
|
|
13
|
+
return true;
|
|
14
|
+
})
|
|
15
|
+
.map((entry) => {
|
|
16
|
+
const binding = bindings.get(entry.module);
|
|
17
|
+
if (binding === undefined)
|
|
18
|
+
return "";
|
|
19
|
+
const root = `${binding.alias}[${JSON.stringify(entry.exportName)}]`;
|
|
20
|
+
const value = entry.path.reduce((expression, segment) => `${expression}[${JSON.stringify(segment)}]`, root);
|
|
21
|
+
return `__relkit_bindDescriptorIdentity(${value}, ${JSON.stringify(entry.id)});`;
|
|
22
|
+
})
|
|
23
|
+
.filter(Boolean));
|
|
24
|
+
}
|
|
25
|
+
function descriptorBindings(descriptor, bindings, input) {
|
|
26
|
+
if (isGeneratedEventListener(descriptor.value))
|
|
27
|
+
return [];
|
|
28
|
+
const reference = descriptor.reference;
|
|
29
|
+
if (reference === undefined)
|
|
30
|
+
return [];
|
|
31
|
+
const module = modulePath(reference.module, input);
|
|
32
|
+
if (module === undefined || bindings.has(module) === false)
|
|
33
|
+
return [];
|
|
34
|
+
const entries = [
|
|
35
|
+
{
|
|
36
|
+
module,
|
|
37
|
+
exportName: reference.exportName,
|
|
38
|
+
path: [],
|
|
39
|
+
id: descriptor.id,
|
|
40
|
+
},
|
|
41
|
+
];
|
|
42
|
+
collectNested(descriptor.value, [], module, reference.exportName, entries, new Set());
|
|
43
|
+
return entries;
|
|
44
|
+
}
|
|
45
|
+
function collectNested(value, path, module, exportName, entries, active) {
|
|
46
|
+
if (Array.isArray(value)) {
|
|
47
|
+
if (active.has(value))
|
|
48
|
+
return;
|
|
49
|
+
active.add(value);
|
|
50
|
+
value.forEach((entry, index) => collectNested(entry, [...path, index], module, exportName, entries, active));
|
|
51
|
+
active.delete(value);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (!isObjectLike(value) || active.has(value))
|
|
55
|
+
return;
|
|
56
|
+
active.add(value);
|
|
57
|
+
if (path.length > 0) {
|
|
58
|
+
if (isIdentityRecord(value)) {
|
|
59
|
+
entries.push({ module, exportName, path, id: value.id });
|
|
60
|
+
}
|
|
61
|
+
else if (isFunctionTarget(value)) {
|
|
62
|
+
entries.push({ module, exportName, path, id: value.ref.id });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const record = value;
|
|
66
|
+
for (const key of Object.keys(record).sort()) {
|
|
67
|
+
collectNested(record[key], [...path, key], module, exportName, entries, active);
|
|
68
|
+
}
|
|
69
|
+
active.delete(value);
|
|
70
|
+
}
|
|
71
|
+
function isIdentityRecord(value) {
|
|
72
|
+
const candidate = value;
|
|
73
|
+
const ref = candidate.ref;
|
|
74
|
+
return (typeof candidate.kind === "string" &&
|
|
75
|
+
typeof candidate.id === "string" &&
|
|
76
|
+
isObjectLike(ref) &&
|
|
77
|
+
ref.kind === candidate.kind &&
|
|
78
|
+
ref.id === candidate.id);
|
|
79
|
+
}
|
|
80
|
+
function isFunctionTarget(value) {
|
|
81
|
+
const candidate = value;
|
|
82
|
+
const ref = candidate.ref;
|
|
83
|
+
return (!Object.hasOwn(candidate, "id") &&
|
|
84
|
+
isObjectLike(ref) &&
|
|
85
|
+
ref.kind === "function" &&
|
|
86
|
+
typeof ref.id === "string");
|
|
87
|
+
}
|
|
88
|
+
function isGeneratedEventListener(value) {
|
|
89
|
+
if (!isObjectLike(value))
|
|
90
|
+
return false;
|
|
91
|
+
const generated = value.generated;
|
|
92
|
+
return (isObjectLike(generated) &&
|
|
93
|
+
generated.generatedBy === "event-listener");
|
|
94
|
+
}
|
|
95
|
+
function isObjectLike(value) {
|
|
96
|
+
return value !== null && (typeof value === "object" || typeof value === "function");
|
|
97
|
+
}
|
|
98
|
+
function modulePath(module, input) {
|
|
99
|
+
try {
|
|
100
|
+
return normalizeSourcePath(module, input.projectRoot);
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function compareBindings(left, right) {
|
|
107
|
+
return (left.module.localeCompare(right.module) ||
|
|
108
|
+
left.exportName.localeCompare(right.exportName) ||
|
|
109
|
+
pathKey(left.path).localeCompare(pathKey(right.path)) ||
|
|
110
|
+
left.id.localeCompare(right.id));
|
|
111
|
+
}
|
|
112
|
+
function pathKey(path) {
|
|
113
|
+
return path.map((segment) => String(segment)).join("\0");
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=generate-manifest-identities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-manifest-identities.js","sourceRoot":"","sources":["../src/generate-manifest-identities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type Diagnostic } from "@relkit/diagnostics";
|
|
2
|
+
import type { ManifestGenerationInput } from "./generate-manifest.js";
|
|
3
|
+
import type { NormalizedDescriptor } from "./normalize-types.js";
|
|
4
|
+
export interface ImportBinding {
|
|
5
|
+
readonly module: string;
|
|
6
|
+
readonly alias: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function descriptorsOf(descriptors: readonly NormalizedDescriptor[], kind: string): readonly NormalizedDescriptor[];
|
|
9
|
+
export declare function generatedFunctionDescriptors(descriptors: readonly NormalizedDescriptor[]): readonly NormalizedDescriptor[];
|
|
10
|
+
export declare function uniqueById(descriptors: readonly NormalizedDescriptor[], diagnostics: Diagnostic[]): ReadonlyMap<string, NormalizedDescriptor>;
|
|
11
|
+
export declare function collectModules(functions: readonly NormalizedDescriptor[], middleware: readonly NormalizedDescriptor[], transforms: readonly NormalizedDescriptor[], input: ManifestGenerationInput, application?: NormalizedDescriptor, runtimeDescriptors?: readonly NormalizedDescriptor[]): readonly string[];
|
|
12
|
+
export declare function importBindings(modules: readonly string[]): ReadonlyMap<string, ImportBinding>;
|
|
13
|
+
export declare function providerFactoryKeys(descriptors: readonly NormalizedDescriptor[]): readonly string[];
|
|
14
|
+
export declare function referenceId(value: unknown): string | undefined;
|
|
15
|
+
export declare function missingReference(diagnostics: Diagnostic[], descriptor: NormalizedDescriptor | undefined, kind: string): void;
|
|
16
|
+
export declare function isRecord(value: unknown): value is Record<string, any>;
|
|
17
|
+
export declare function generatedAgentMarker(agentId: string): {
|
|
18
|
+
readonly generated: true;
|
|
19
|
+
readonly generatedBy: "agent";
|
|
20
|
+
readonly agentId: string;
|
|
21
|
+
readonly functionId: string;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=generate-manifest-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-manifest-utils.d.ts","sourceRoot":"","sources":["../src/generate-manifest-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,aAAa,CAC3B,WAAW,EAAE,SAAS,oBAAoB,EAAE,EAC5C,IAAI,EAAE,MAAM,GACX,SAAS,oBAAoB,EAAE,CAEjC;AAED,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,SAAS,oBAAoB,EAAE,GAC3C,SAAS,oBAAoB,EAAE,CAYjC;AAYD,wBAAgB,UAAU,CACxB,WAAW,EAAE,SAAS,oBAAoB,EAAE,EAC5C,WAAW,EAAE,UAAU,EAAE,GACxB,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAoB3C;AAED,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,oBAAoB,EAAE,EAC1C,UAAU,EAAE,SAAS,oBAAoB,EAAE,EAC3C,UAAU,EAAE,SAAS,oBAAoB,EAAE,EAC3C,KAAK,EAAE,uBAAuB,EAC9B,WAAW,CAAC,EAAE,oBAAoB,EAClC,kBAAkB,GAAE,SAAS,oBAAoB,EAAO,GACvD,SAAS,MAAM,EAAE,CAcnB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAI7F;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,SAAS,oBAAoB,EAAE,GAC3C,SAAS,MAAM,EAAE,CAYnB;AAaD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAQ9D;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,UAAU,EAAE,EACzB,UAAU,EAAE,oBAAoB,GAAG,SAAS,EAC5C,IAAI,EAAE,MAAM,GACX,IAAI,CAiBN;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAErE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG;IACrD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAOA"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { createDiagnostic } from "@relkit/diagnostics";
|
|
2
|
+
import { normalizeSourcePath } from "@relkit/contracts";
|
|
3
|
+
import { providerMaps } from "./normalize-graph-app.js";
|
|
4
|
+
export function descriptorsOf(descriptors, kind) {
|
|
5
|
+
return descriptors.filter((descriptor) => descriptor.kind === kind).sort(compareDescriptors);
|
|
6
|
+
}
|
|
7
|
+
export function generatedFunctionDescriptors(descriptors) {
|
|
8
|
+
return descriptorsOf(descriptors, "agent").map((descriptor) => {
|
|
9
|
+
const generated = generatedAgentMarker(descriptor.id);
|
|
10
|
+
return {
|
|
11
|
+
kind: "function",
|
|
12
|
+
id: generated.functionId,
|
|
13
|
+
source: descriptor.source,
|
|
14
|
+
exportName: `<generated:${descriptor.id}>`,
|
|
15
|
+
exportKind: "named",
|
|
16
|
+
value: { kind: "function", id: generated.functionId, generated },
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function compareDescriptors(left, right) {
|
|
21
|
+
return (left.id.localeCompare(right.id) ||
|
|
22
|
+
left.source.file.localeCompare(right.source.file) ||
|
|
23
|
+
left.source.line - right.source.line ||
|
|
24
|
+
left.source.column - right.source.column ||
|
|
25
|
+
left.exportName.localeCompare(right.exportName));
|
|
26
|
+
}
|
|
27
|
+
export function uniqueById(descriptors, diagnostics) {
|
|
28
|
+
const result = new Map();
|
|
29
|
+
for (const descriptor of descriptors) {
|
|
30
|
+
const previous = result.get(descriptor.id);
|
|
31
|
+
if (previous !== undefined) {
|
|
32
|
+
diagnostics.push(createDiagnostic({
|
|
33
|
+
code: "RELKIT_DUPLICATE_ID",
|
|
34
|
+
severity: "error",
|
|
35
|
+
message: `Duplicate function ID "${descriptor.id}" cannot be registered twice.`,
|
|
36
|
+
descriptorId: descriptor.id,
|
|
37
|
+
location: descriptor.source,
|
|
38
|
+
related: [{ ...previous.source, descriptorId: previous.id }],
|
|
39
|
+
}));
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
result.set(descriptor.id, descriptor);
|
|
43
|
+
}
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
export function collectModules(functions, middleware, transforms, input, application, runtimeDescriptors = []) {
|
|
47
|
+
const modules = new Set();
|
|
48
|
+
const add = (descriptor) => {
|
|
49
|
+
const reference = descriptor?.reference;
|
|
50
|
+
if (reference === undefined)
|
|
51
|
+
return;
|
|
52
|
+
const module = modulePath(reference, input);
|
|
53
|
+
if (module !== undefined)
|
|
54
|
+
modules.add(module);
|
|
55
|
+
};
|
|
56
|
+
functions.forEach(add);
|
|
57
|
+
transforms.forEach(add);
|
|
58
|
+
middleware.forEach(add);
|
|
59
|
+
add(application);
|
|
60
|
+
runtimeDescriptors.forEach(add);
|
|
61
|
+
return [...modules].sort();
|
|
62
|
+
}
|
|
63
|
+
export function importBindings(modules) {
|
|
64
|
+
return new Map(modules.map((module, index) => [module, { module, alias: `__relkit_module_${index}` }]));
|
|
65
|
+
}
|
|
66
|
+
export function providerFactoryKeys(descriptors) {
|
|
67
|
+
const keys = new Set();
|
|
68
|
+
const app = descriptors.find((descriptor) => descriptor.kind === "app");
|
|
69
|
+
const value = app && isRecord(app.value) ? app.value : {};
|
|
70
|
+
for (const [capability, profiles] of providerMaps(value)) {
|
|
71
|
+
if (!isRecord(profiles))
|
|
72
|
+
continue;
|
|
73
|
+
for (const binding of Object.values(profiles)) {
|
|
74
|
+
const adapter = isRecord(binding) && isRecord(binding.adapter) ? binding.adapter : {};
|
|
75
|
+
if (typeof adapter.adapter === "string")
|
|
76
|
+
keys.add(`${capability}:${adapter.adapter}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return [...keys].sort();
|
|
80
|
+
}
|
|
81
|
+
function modulePath(reference, input) {
|
|
82
|
+
try {
|
|
83
|
+
return normalizeSourcePath(reference.module, input.projectRoot);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export function referenceId(value) {
|
|
90
|
+
return isRecord(value) &&
|
|
91
|
+
isRecord(value.target) &&
|
|
92
|
+
isRecord(value.target.ref) &&
|
|
93
|
+
value.target.ref.kind === "function" &&
|
|
94
|
+
typeof value.target.ref.id === "string"
|
|
95
|
+
? value.target.ref.id
|
|
96
|
+
: undefined;
|
|
97
|
+
}
|
|
98
|
+
export function missingReference(diagnostics, descriptor, kind) {
|
|
99
|
+
if (descriptor === undefined)
|
|
100
|
+
return;
|
|
101
|
+
const code = kind === "function"
|
|
102
|
+
? "RELKIT_MANIFEST_HANDLER_MISSING"
|
|
103
|
+
: kind === "transform"
|
|
104
|
+
? "RELKIT_MANIFEST_TRANSFORM_MISSING"
|
|
105
|
+
: "RELKIT_MANIFEST_MIDDLEWARE_MISSING";
|
|
106
|
+
diagnostics.push(createDiagnostic({
|
|
107
|
+
code,
|
|
108
|
+
severity: "error",
|
|
109
|
+
message: `Manifest ${kind} "${descriptor.id}" has no executable reference.`,
|
|
110
|
+
descriptorId: descriptor.id,
|
|
111
|
+
location: descriptor.source,
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
114
|
+
export function isRecord(value) {
|
|
115
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
116
|
+
}
|
|
117
|
+
export function generatedAgentMarker(agentId) {
|
|
118
|
+
return {
|
|
119
|
+
generated: true,
|
|
120
|
+
generatedBy: "agent",
|
|
121
|
+
agentId,
|
|
122
|
+
functionId: `relkit.agent.${agentId}.invoke`,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=generate-manifest-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-manifest-utils.js","sourceRoot":"","sources":["../src/generate-manifest-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type Diagnostic } from "@relkit/diagnostics";
|
|
2
|
+
import type { NormalizedDescriptor, NormalizedGraph } from "./normalize-types.js";
|
|
3
|
+
import { type ImportBinding } from "./generate-manifest-utils.js";
|
|
4
|
+
export declare const MANIFEST_CODES: Readonly<{
|
|
5
|
+
handler: "RELKIT_MANIFEST_HANDLER_MISSING";
|
|
6
|
+
middleware: "RELKIT_MANIFEST_MIDDLEWARE_MISSING";
|
|
7
|
+
transform: "RELKIT_MANIFEST_TRANSFORM_MISSING";
|
|
8
|
+
mismatch: "RELKIT_GRAPH_MANIFEST_MISMATCH";
|
|
9
|
+
}>;
|
|
10
|
+
export interface ManifestGenerationInput {
|
|
11
|
+
readonly graph?: NormalizedGraph;
|
|
12
|
+
readonly graphHash: string;
|
|
13
|
+
readonly descriptors: readonly NormalizedDescriptor[];
|
|
14
|
+
readonly middleware?: readonly NormalizedDescriptor[];
|
|
15
|
+
readonly transforms?: readonly NormalizedDescriptor[];
|
|
16
|
+
readonly diagnostics?: readonly Diagnostic[];
|
|
17
|
+
readonly projectRoot?: string;
|
|
18
|
+
readonly generatedDirectory?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface GeneratedManifest {
|
|
21
|
+
readonly source: string;
|
|
22
|
+
readonly diagnostics: readonly Diagnostic[];
|
|
23
|
+
readonly activatable: boolean;
|
|
24
|
+
}
|
|
25
|
+
/** Generates the executable manifest source after graph and semantic validation. */
|
|
26
|
+
export declare function generateManifest(input: ManifestGenerationInput): GeneratedManifest;
|
|
27
|
+
export declare const MANIFEST_CONTRACT_VERSION: 5;
|
|
28
|
+
export declare const MANIFEST_GENERATOR_VERSION: 2;
|
|
29
|
+
export type { ImportBinding };
|
|
30
|
+
//# sourceMappingURL=generate-manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-manifest.d.ts","sourceRoot":"","sources":["../src/generate-manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEzF,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AAatC,eAAO,MAAM,cAAc;;;;;EAKzB,CAAC;AAEH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,GAAG,iBAAiB,CAsGlF;AAcD,eAAO,MAAM,yBAAyB,GAAmB,CAAC;AAC1D,eAAO,MAAM,0BAA0B,GAAoB,CAAC;AAM5D,YAAY,EAAE,aAAa,EAAE,CAAC"}
|