@telorun/kernel 0.13.0 → 0.13.2
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/package.json +2 -2
- package/dist/base-definition.d.ts +0 -14
- package/dist/base-definition.d.ts.map +0 -1
- package/dist/base-definition.js +0 -17
- package/dist/base-definition.js.map +0 -1
- package/dist/capabilities/capabilities/component.yaml +0 -4
- package/dist/capabilities/capabilities/executable.yaml +0 -8
- package/dist/capabilities/capabilities/handler.yaml +0 -4
- package/dist/capabilities/capabilities/listener.yaml +0 -4
- package/dist/capabilities/capabilities/provider.yaml +0 -4
- package/dist/capabilities/capabilities/template.yaml +0 -4
- package/dist/capabilities/capabilities/type.yaml +0 -4
- package/dist/capabilities/component.d.ts +0 -3
- package/dist/capabilities/component.d.ts.map +0 -1
- package/dist/capabilities/component.js +0 -4
- package/dist/capabilities/component.js.map +0 -1
- package/dist/capabilities/component.yaml +0 -3
- package/dist/capabilities/executable.d.ts +0 -3
- package/dist/capabilities/executable.d.ts.map +0 -1
- package/dist/capabilities/executable.js +0 -5
- package/dist/capabilities/executable.js.map +0 -1
- package/dist/capabilities/executable.yaml +0 -7
- package/dist/capabilities/handler.d.ts +0 -3
- package/dist/capabilities/handler.d.ts.map +0 -1
- package/dist/capabilities/handler.js +0 -4
- package/dist/capabilities/handler.js.map +0 -1
- package/dist/capabilities/handler.yaml +0 -3
- package/dist/capabilities/invokable.d.ts +0 -3
- package/dist/capabilities/invokable.d.ts.map +0 -1
- package/dist/capabilities/invokable.js +0 -5
- package/dist/capabilities/invokable.js.map +0 -1
- package/dist/capabilities/listener.d.ts +0 -3
- package/dist/capabilities/listener.d.ts.map +0 -1
- package/dist/capabilities/listener.js +0 -5
- package/dist/capabilities/listener.js.map +0 -1
- package/dist/capabilities/listener.yaml +0 -3
- package/dist/capabilities/mount.d.ts +0 -3
- package/dist/capabilities/mount.d.ts.map +0 -1
- package/dist/capabilities/mount.js +0 -5
- package/dist/capabilities/mount.js.map +0 -1
- package/dist/capabilities/provider.d.ts +0 -3
- package/dist/capabilities/provider.d.ts.map +0 -1
- package/dist/capabilities/provider.js +0 -8
- package/dist/capabilities/provider.js.map +0 -1
- package/dist/capabilities/provider.yaml +0 -3
- package/dist/capabilities/runnable.d.ts +0 -3
- package/dist/capabilities/runnable.d.ts.map +0 -1
- package/dist/capabilities/runnable.js +0 -5
- package/dist/capabilities/runnable.js.map +0 -1
- package/dist/capabilities/service.d.ts +0 -3
- package/dist/capabilities/service.d.ts.map +0 -1
- package/dist/capabilities/service.js +0 -5
- package/dist/capabilities/service.js.map +0 -1
- package/dist/capabilities/template.d.ts +0 -3
- package/dist/capabilities/template.d.ts.map +0 -1
- package/dist/capabilities/template.js +0 -5
- package/dist/capabilities/template.js.map +0 -1
- package/dist/capabilities/template.yaml +0 -3
- package/dist/capabilities/type.d.ts +0 -3
- package/dist/capabilities/type.d.ts.map +0 -1
- package/dist/capabilities/type.js +0 -5
- package/dist/capabilities/type.js.map +0 -1
- package/dist/capabilities/type.yaml +0 -3
- package/dist/controllers/capability/capability-controller.d.ts +0 -32
- package/dist/controllers/capability/capability-controller.d.ts.map +0 -1
- package/dist/controllers/capability/capability-controller.js +0 -26
- package/dist/controllers/capability/capability-controller.js.map +0 -1
- package/dist/controllers/module/module.json +0 -48
- package/dist/loader.d.ts +0 -18
- package/dist/loader.d.ts.map +0 -1
- package/dist/loader.js +0 -127
- package/dist/loader.js.map +0 -1
- package/dist/manifest-adapters/http-adapter.d.ts +0 -8
- package/dist/manifest-adapters/http-adapter.d.ts.map +0 -1
- package/dist/manifest-adapters/http-adapter.js +0 -31
- package/dist/manifest-adapters/http-adapter.js.map +0 -1
- package/dist/manifest-adapters/local-file-adapter.d.ts +0 -15
- package/dist/manifest-adapters/local-file-adapter.d.ts.map +0 -1
- package/dist/manifest-adapters/local-file-adapter.js +0 -95
- package/dist/manifest-adapters/local-file-adapter.js.map +0 -1
- package/dist/manifest-adapters/manifest-adapter.d.ts +0 -35
- package/dist/manifest-adapters/manifest-adapter.d.ts.map +0 -1
- package/dist/manifest-adapters/manifest-adapter.js +0 -2
- package/dist/manifest-adapters/manifest-adapter.js.map +0 -1
- package/dist/manifest-adapters/registry-adapter.d.ts +0 -9
- package/dist/manifest-adapters/registry-adapter.d.ts.map +0 -1
- package/dist/manifest-adapters/registry-adapter.js +0 -48
- package/dist/manifest-adapters/registry-adapter.js.map +0 -1
- package/dist/module-context-registry.d.ts +0 -48
- package/dist/module-context-registry.d.ts.map +0 -1
- package/dist/module-context-registry.js +0 -91
- package/dist/module-context-registry.js.map +0 -1
- package/dist/schema-valiator.d.ts +0 -15
- package/dist/schema-valiator.d.ts.map +0 -1
- package/dist/schema-valiator.js +0 -127
- package/dist/schema-valiator.js.map +0 -1
- package/dist/snapshot-serializer.d.ts +0 -62
- package/dist/snapshot-serializer.d.ts.map +0 -1
- package/dist/snapshot-serializer.js +0 -164
- package/dist/snapshot-serializer.js.map +0 -1
- package/dist/types.d.ts +0 -65
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -8
- package/dist/types.js.map +0 -1
package/dist/loader.js
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { Loader as BaseLoader } from "@telorun/analyzer";
|
|
2
|
-
import * as path from "path";
|
|
3
|
-
import { LocalFileAdapter } from "./manifest-adapters/local-file-adapter.js";
|
|
4
|
-
import { formatAjvErrors, validateRuntimeResource } from "./manifest-schemas.js";
|
|
5
|
-
export class Loader extends BaseLoader {
|
|
6
|
-
constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.localAdapter = new LocalFileAdapter();
|
|
9
|
-
this.register(this.localAdapter);
|
|
10
|
-
}
|
|
11
|
-
static ensureProjectRoot(baseDir) {
|
|
12
|
-
if (!Loader.projectRoot) {
|
|
13
|
-
Loader.projectRoot = path.resolve(baseDir);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
resolvePath(base, relative) {
|
|
17
|
-
return this.localAdapter.resolveRelative(base, relative);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Resolve a path-or-URL to its canonical file source URL.
|
|
21
|
-
* If the path refers to a directory, returns the URL of module.yaml inside it.
|
|
22
|
-
*/
|
|
23
|
-
async resolveEntryPoint(pathOrUrl) {
|
|
24
|
-
const { source } = await this.localAdapter.read(pathOrUrl);
|
|
25
|
-
return source;
|
|
26
|
-
}
|
|
27
|
-
async loadDirectory(pathOrUrl) {
|
|
28
|
-
const sources = await this.localAdapter.readAll(pathOrUrl);
|
|
29
|
-
const firstPath = sources[0] ? new URL(sources[0]).pathname : process.cwd();
|
|
30
|
-
Loader.ensureProjectRoot(path.dirname(firstPath));
|
|
31
|
-
const resources = [];
|
|
32
|
-
for (const source of sources) {
|
|
33
|
-
const manifests = await this.loadModule(source);
|
|
34
|
-
for (const m of manifests) {
|
|
35
|
-
if (!m.metadata?.name)
|
|
36
|
-
continue;
|
|
37
|
-
const resource = m;
|
|
38
|
-
if (!validateRuntimeResource(resource)) {
|
|
39
|
-
throw new Error(`Resource validation failed for ${m.kind}.${m.metadata.name}: ${formatAjvErrors(validateRuntimeResource.errors)}`);
|
|
40
|
-
}
|
|
41
|
-
const filePath = new URL(m.metadata.source).pathname;
|
|
42
|
-
const uriBase = `file://localhost${filePath.replace(/\\/g, "/")}`;
|
|
43
|
-
resource.metadata.uri = `${uriBase}#${m.kind}.${m.metadata.name}`;
|
|
44
|
-
resource.metadata.generationDepth = 0;
|
|
45
|
-
resources.push(resource);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return this.orderResourcesByKindDependencies(resources);
|
|
49
|
-
}
|
|
50
|
-
async loadManifest(pathOrUrl, baseUrl, compileContext = {}) {
|
|
51
|
-
if (!baseUrl) {
|
|
52
|
-
throw new Error("Base URL is required to load target manifest");
|
|
53
|
-
}
|
|
54
|
-
const url = new URL(pathOrUrl, baseUrl).toString();
|
|
55
|
-
if (!Loader.projectRoot) {
|
|
56
|
-
Loader.ensureProjectRoot(path.dirname(new URL(url).pathname));
|
|
57
|
-
}
|
|
58
|
-
return this.loadModule(url, { compile: true });
|
|
59
|
-
}
|
|
60
|
-
orderResourcesByKindDependencies(resources) {
|
|
61
|
-
if (resources.length <= 1)
|
|
62
|
-
return resources;
|
|
63
|
-
const indicesByName = new Map();
|
|
64
|
-
for (let i = 0; i < resources.length; i++) {
|
|
65
|
-
const name = resources[i]?.metadata?.name;
|
|
66
|
-
if (!name)
|
|
67
|
-
continue;
|
|
68
|
-
const list = indicesByName.get(name);
|
|
69
|
-
if (list)
|
|
70
|
-
list.push(i);
|
|
71
|
-
else
|
|
72
|
-
indicesByName.set(name, [i]);
|
|
73
|
-
}
|
|
74
|
-
const edges = new Map();
|
|
75
|
-
const indegree = new Map();
|
|
76
|
-
for (let i = 0; i < resources.length; i++)
|
|
77
|
-
indegree.set(i, 0);
|
|
78
|
-
for (let i = 0; i < resources.length; i++) {
|
|
79
|
-
const kind = resources[i]?.kind;
|
|
80
|
-
if (!kind)
|
|
81
|
-
continue;
|
|
82
|
-
const definers = indicesByName.get(kind);
|
|
83
|
-
if (!definers)
|
|
84
|
-
continue;
|
|
85
|
-
for (const definerIndex of definers) {
|
|
86
|
-
if (definerIndex === i)
|
|
87
|
-
continue;
|
|
88
|
-
let set = edges.get(definerIndex);
|
|
89
|
-
if (!set) {
|
|
90
|
-
set = new Set();
|
|
91
|
-
edges.set(definerIndex, set);
|
|
92
|
-
}
|
|
93
|
-
if (!set.has(i)) {
|
|
94
|
-
set.add(i);
|
|
95
|
-
indegree.set(i, (indegree.get(i) || 0) + 1);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
const ready = [];
|
|
100
|
-
for (let i = 0; i < resources.length; i++) {
|
|
101
|
-
if ((indegree.get(i) || 0) === 0)
|
|
102
|
-
ready.push(i);
|
|
103
|
-
}
|
|
104
|
-
ready.sort((a, b) => a - b);
|
|
105
|
-
const ordered = [];
|
|
106
|
-
while (ready.length > 0) {
|
|
107
|
-
const index = ready.shift();
|
|
108
|
-
ordered.push(resources[index]);
|
|
109
|
-
const next = edges.get(index);
|
|
110
|
-
if (!next)
|
|
111
|
-
continue;
|
|
112
|
-
for (const dependent of next) {
|
|
113
|
-
const count = (indegree.get(dependent) || 0) - 1;
|
|
114
|
-
indegree.set(dependent, count);
|
|
115
|
-
if (count === 0)
|
|
116
|
-
ready.push(dependent);
|
|
117
|
-
}
|
|
118
|
-
if (ready.length > 1)
|
|
119
|
-
ready.sort((a, b) => a - b);
|
|
120
|
-
}
|
|
121
|
-
if (ordered.length !== resources.length)
|
|
122
|
-
throw new Error("Resource dependency cycle detected");
|
|
123
|
-
return ordered;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
Loader.projectRoot = null;
|
|
127
|
-
//# sourceMappingURL=loader.js.map
|
package/dist/loader.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,MAAM,OAAO,MAAO,SAAQ,UAAU;IAIpC;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,OAAe;QAC9C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,QAAgB;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5E,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAClD,MAAM,SAAS,GAAsB,EAAE,CAAC;QACxC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI;oBAAE,SAAS;gBAChC,MAAM,QAAQ,GAAG,CAAoB,CAAC;gBACtC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CACb,kCAAkC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAClH,CAAC;gBACJ,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAgB,CAAC,CAAC,QAAQ,CAAC;gBAC/D,MAAM,OAAO,GAAG,mBAAmB,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAClE,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAc,EAAE,CAAC;gBAC5E,QAAQ,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAC;gBACtC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,SAAiB,EACjB,OAAe,EACf,iBAA0C,EAAE;QAE5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAEO,gCAAgC,CAAC,SAA4B;QACnE,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAE5C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC;YAC1C,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAClB,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,KAAK,MAAM,YAAY,IAAI,QAAQ,EAAE,CAAC;gBACpC,IAAI,YAAY,KAAK,CAAC;oBAAE,SAAS;gBACjC,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAClC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;oBAChB,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBAC/B,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACX,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5B,MAAM,OAAO,GAAsB,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAY,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACjD,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC/B,IAAI,KAAK,KAAK,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC/F,OAAO,OAAO,CAAC;IACjB,CAAC;;AA7Hc,kBAAW,GAAkB,IAAI,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { ManifestAdapter, ManifestSourceData } from "./manifest-adapter.js";
|
|
2
|
-
export declare class HttpAdapter implements ManifestAdapter {
|
|
3
|
-
supports(pathOrUrl: string): boolean;
|
|
4
|
-
read(url: string): Promise<ManifestSourceData>;
|
|
5
|
-
readAll(url: string): Promise<ManifestSourceData[]>;
|
|
6
|
-
resolveRelative(base: string, relative: string): string;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=http-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-adapter.d.ts","sourceRoot":"","sources":["../../src/manifest-adapters/http-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,qBAAa,WAAY,YAAW,eAAe;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI9B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAI9C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAoBzD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;CAIxD"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import * as yaml from "js-yaml";
|
|
2
|
-
export class HttpAdapter {
|
|
3
|
-
supports(pathOrUrl) {
|
|
4
|
-
return pathOrUrl.startsWith("http://") || pathOrUrl.startsWith("https://");
|
|
5
|
-
}
|
|
6
|
-
async read(url) {
|
|
7
|
-
return (await this.readAll(url))[0];
|
|
8
|
-
}
|
|
9
|
-
async readAll(url) {
|
|
10
|
-
const fetchUrl = url.includes(".yaml") ? url : url + "/module.yaml";
|
|
11
|
-
const response = await fetch(fetchUrl);
|
|
12
|
-
if (!response.ok) {
|
|
13
|
-
throw new Error(`Failed to fetch manifest from ${fetchUrl}: ${response.status} ${response.statusText}`);
|
|
14
|
-
}
|
|
15
|
-
const text = await response.text();
|
|
16
|
-
return [
|
|
17
|
-
{
|
|
18
|
-
text,
|
|
19
|
-
documents: yaml.loadAll(text),
|
|
20
|
-
source: fetchUrl,
|
|
21
|
-
baseDir: process.cwd(),
|
|
22
|
-
uriBase: url,
|
|
23
|
-
},
|
|
24
|
-
];
|
|
25
|
-
}
|
|
26
|
-
resolveRelative(base, relative) {
|
|
27
|
-
const baseWithSlash = base.endsWith("/") ? base : `${base}/`;
|
|
28
|
-
return new URL(relative, baseWithSlash).href;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=http-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-adapter.js","sourceRoot":"","sources":["../../src/manifest-adapters/http-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAGhC,MAAM,OAAO,WAAW;IACtB,QAAQ,CAAC,SAAiB;QACxB,OAAO,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW;QACpB,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW;QACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,cAAc,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,iCAAiC,QAAQ,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACvF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO;YACL;gBACE,IAAI;gBACJ,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,OAAO,EAAE,GAAG;aACb;SACF,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,QAAgB;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;QAC7D,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type ManifestAdapter } from "@telorun/analyzer";
|
|
2
|
-
export declare class LocalFileAdapter implements ManifestAdapter {
|
|
3
|
-
supports(pathOrUrl: string): boolean;
|
|
4
|
-
read(pathOrUrl: string): Promise<{
|
|
5
|
-
text: string;
|
|
6
|
-
source: string;
|
|
7
|
-
}>;
|
|
8
|
-
readAll(pathOrUrl: string): Promise<string[]>;
|
|
9
|
-
resolveRelative(base: string, relative: string): string;
|
|
10
|
-
expandGlob(base: string, patterns: string[]): Promise<string[]>;
|
|
11
|
-
resolveOwnerOf(fileUrl: string): Promise<string | null>;
|
|
12
|
-
private collectYamlSources;
|
|
13
|
-
private isYamlFile;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=local-file-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-file-adapter.d.ts","sourceRoot":"","sources":["../../src/manifest-adapters/local-file-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAcpF,qBAAa,gBAAiB,YAAW,eAAe;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAU9B,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAQlE,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IASnD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAMjD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgB/D,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAqB/C,kBAAkB;IAchC,OAAO,CAAC,UAAU;CAGnB"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_MANIFEST_FILENAME } from "@telorun/analyzer";
|
|
2
|
-
import * as fs from "fs/promises";
|
|
3
|
-
import * as path from "path";
|
|
4
|
-
import { fileURLToPath, pathToFileURL } from "url";
|
|
5
|
-
import { minimatch } from "minimatch";
|
|
6
|
-
function toFilePath(pathOrUrl) {
|
|
7
|
-
return pathOrUrl.startsWith("file://") ? fileURLToPath(pathOrUrl) : pathOrUrl;
|
|
8
|
-
}
|
|
9
|
-
function toFileUrl(filePath) {
|
|
10
|
-
return pathToFileURL(filePath).href;
|
|
11
|
-
}
|
|
12
|
-
export class LocalFileAdapter {
|
|
13
|
-
supports(pathOrUrl) {
|
|
14
|
-
return (pathOrUrl.startsWith("file://") ||
|
|
15
|
-
pathOrUrl.startsWith("/") ||
|
|
16
|
-
pathOrUrl.startsWith("./") ||
|
|
17
|
-
pathOrUrl.startsWith("../") ||
|
|
18
|
-
(!pathOrUrl.includes("://") && !pathOrUrl.includes("@")));
|
|
19
|
-
}
|
|
20
|
-
async read(pathOrUrl) {
|
|
21
|
-
const resolvedPath = path.resolve(toFilePath(pathOrUrl));
|
|
22
|
-
const stat = await fs.stat(resolvedPath);
|
|
23
|
-
const filePath = stat.isDirectory() ? path.join(resolvedPath, DEFAULT_MANIFEST_FILENAME) : resolvedPath;
|
|
24
|
-
const text = await fs.readFile(filePath, "utf-8");
|
|
25
|
-
return { text, source: toFileUrl(filePath) };
|
|
26
|
-
}
|
|
27
|
-
async readAll(pathOrUrl) {
|
|
28
|
-
const resolvedPath = path.resolve(toFilePath(pathOrUrl));
|
|
29
|
-
const stat = await fs.stat(resolvedPath);
|
|
30
|
-
if (stat.isDirectory()) {
|
|
31
|
-
return this.collectYamlSources(resolvedPath);
|
|
32
|
-
}
|
|
33
|
-
return [toFileUrl(resolvedPath)];
|
|
34
|
-
}
|
|
35
|
-
resolveRelative(base, relative) {
|
|
36
|
-
const basePath = toFilePath(base);
|
|
37
|
-
const baseDir = basePath.endsWith("/") ? basePath : path.dirname(basePath);
|
|
38
|
-
return toFileUrl(path.resolve(baseDir, relative));
|
|
39
|
-
}
|
|
40
|
-
async expandGlob(base, patterns) {
|
|
41
|
-
const baseDir = path.dirname(path.resolve(toFilePath(base)));
|
|
42
|
-
const entries = await fs.readdir(baseDir, { recursive: true, withFileTypes: true });
|
|
43
|
-
const normalizedPatterns = patterns.map((p) => p.replace(/\\/g, "/").replace(/^\.\//, ""));
|
|
44
|
-
const matched = [];
|
|
45
|
-
for (const entry of entries) {
|
|
46
|
-
if (!entry.isFile())
|
|
47
|
-
continue;
|
|
48
|
-
const relative = path.relative(baseDir, path.join(entry.parentPath, entry.name));
|
|
49
|
-
const normalized = relative.replace(/\\/g, "/");
|
|
50
|
-
if (normalizedPatterns.some((p) => minimatch(normalized, p))) {
|
|
51
|
-
matched.push(toFileUrl(path.resolve(baseDir, relative)));
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return matched.sort();
|
|
55
|
-
}
|
|
56
|
-
async resolveOwnerOf(fileUrl) {
|
|
57
|
-
const resolved = path.resolve(toFilePath(fileUrl));
|
|
58
|
-
let dir = path.dirname(resolved);
|
|
59
|
-
while (true) {
|
|
60
|
-
const candidate = path.join(dir, DEFAULT_MANIFEST_FILENAME);
|
|
61
|
-
if (candidate !== resolved) {
|
|
62
|
-
try {
|
|
63
|
-
await fs.access(candidate);
|
|
64
|
-
return toFileUrl(candidate);
|
|
65
|
-
}
|
|
66
|
-
catch {
|
|
67
|
-
// telo.yaml not found at this level
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
const parent = path.dirname(dir);
|
|
71
|
-
if (parent === dir)
|
|
72
|
-
break;
|
|
73
|
-
dir = parent;
|
|
74
|
-
}
|
|
75
|
-
return null;
|
|
76
|
-
}
|
|
77
|
-
async collectYamlSources(dirPath) {
|
|
78
|
-
const sources = [];
|
|
79
|
-
const entries = await fs.readdir(dirPath, { withFileTypes: true });
|
|
80
|
-
for (const entry of entries) {
|
|
81
|
-
const fullPath = path.join(dirPath, entry.name);
|
|
82
|
-
if (entry.isDirectory()) {
|
|
83
|
-
sources.push(...(await this.collectYamlSources(fullPath)));
|
|
84
|
-
}
|
|
85
|
-
else if (entry.isFile() && this.isYamlFile(entry.name)) {
|
|
86
|
-
sources.push(toFileUrl(fullPath));
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return sources;
|
|
90
|
-
}
|
|
91
|
-
isYamlFile(filename) {
|
|
92
|
-
return filename.endsWith(".yaml") || filename.endsWith(".yml");
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=local-file-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-file-adapter.js","sourceRoot":"","sources":["../../src/manifest-adapters/local-file-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAwB,MAAM,mBAAmB,CAAC;AACpF,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,SAAS,UAAU,CAAC,SAAiB;IACnC,OAAO,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChF,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB;IACjC,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;AACtC,CAAC;AAED,MAAM,OAAO,gBAAgB;IAC3B,QAAQ,CAAC,SAAiB;QACxB,OAAO,CACL,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;YAC/B,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;YACzB,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;YAC1B,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;YAC3B,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CACzD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QACxG,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,QAAgB;QAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3E,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,QAAkB;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3F,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBAAE,SAAS;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACjF,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChD,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACnD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEjC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;YAC5D,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC3B,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC9B,CAAC;gBAAC,MAAM,CAAC;oBACP,oCAAoC;gBACtC,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,MAAM,KAAK,GAAG;gBAAE,MAAM;YAC1B,GAAG,GAAG,MAAM,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,OAAe;QAC9C,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,UAAU,CAAC,QAAgB;QACjC,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;CACF"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export interface ManifestSourceData {
|
|
2
|
-
/** Raw YAML text */
|
|
3
|
-
text: string;
|
|
4
|
-
/** Parsed YAML documents (result of yaml.loadAll) */
|
|
5
|
-
documents: any[];
|
|
6
|
-
/** Stored as metadata.source (file path or URL) */
|
|
7
|
-
source: string;
|
|
8
|
-
/** Base directory for resolving relative controller entrypoints */
|
|
9
|
-
baseDir: string;
|
|
10
|
-
/** URI prefix — full resource URI is `${uriBase}#${kind}.${name}` */
|
|
11
|
-
uriBase: string;
|
|
12
|
-
}
|
|
13
|
-
export interface ManifestAdapter {
|
|
14
|
-
/** Returns true if this adapter can handle the given path/URL */
|
|
15
|
-
supports(pathOrUrl: string): boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Read a single manifest entry point.
|
|
18
|
-
* - File path or URL → read that file/URL.
|
|
19
|
-
* - Directory path → find and read `telo.yaml` within it.
|
|
20
|
-
*/
|
|
21
|
-
read(pathOrUrl: string): Promise<ManifestSourceData>;
|
|
22
|
-
/**
|
|
23
|
-
* Read all manifest files reachable from the given path/URL.
|
|
24
|
-
* Used for module imports.
|
|
25
|
-
* - Directory path → recursive walk, one entry per .yaml/.yml file found.
|
|
26
|
-
* - File path or URL → single-item array.
|
|
27
|
-
*/
|
|
28
|
-
readAll(pathOrUrl: string): Promise<ManifestSourceData[]>;
|
|
29
|
-
/**
|
|
30
|
-
* Resolve a potentially relative path/URL against a base directory/URL.
|
|
31
|
-
* For absolute inputs the base is ignored.
|
|
32
|
-
*/
|
|
33
|
-
resolveRelative(base: string, relative: string): string;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=manifest-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-adapter.d.ts","sourceRoot":"","sources":["../../src/manifest-adapters/manifest-adapter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC;;;;OAIG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrD;;;;;OAKG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC1D;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;CACzD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-adapter.js","sourceRoot":"","sources":["../../src/manifest-adapters/manifest-adapter.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ManifestAdapter, ManifestSourceData } from "./manifest-adapter.js";
|
|
2
|
-
export declare class RegistryAdapter implements ManifestAdapter {
|
|
3
|
-
supports(pathOrUrl: string): boolean;
|
|
4
|
-
read(moduleRef: string): Promise<ManifestSourceData>;
|
|
5
|
-
readAll(moduleRef: string): Promise<ManifestSourceData[]>;
|
|
6
|
-
resolveRelative(base: string, relative: string): string;
|
|
7
|
-
private toRegistryUrl;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=registry-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry-adapter.d.ts","sourceRoot":"","sources":["../../src/manifest-adapters/registry-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAIjF,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAY9B,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIpD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAoB/D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAQvD,OAAO,CAAC,aAAa;CAOtB"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import * as yaml from "js-yaml";
|
|
2
|
-
const REGISTRY_BASE = "https://registry.telo.run";
|
|
3
|
-
export class RegistryAdapter {
|
|
4
|
-
supports(pathOrUrl) {
|
|
5
|
-
// Matches "owner/module@version" — has @ and /, but not an http/https URL or local path
|
|
6
|
-
return (!pathOrUrl.startsWith("http://") &&
|
|
7
|
-
!pathOrUrl.startsWith("https://") &&
|
|
8
|
-
!pathOrUrl.startsWith("/") &&
|
|
9
|
-
!pathOrUrl.startsWith(".") &&
|
|
10
|
-
pathOrUrl.includes("@") &&
|
|
11
|
-
pathOrUrl.includes("/"));
|
|
12
|
-
}
|
|
13
|
-
async read(moduleRef) {
|
|
14
|
-
return (await this.readAll(moduleRef))[0];
|
|
15
|
-
}
|
|
16
|
-
async readAll(moduleRef) {
|
|
17
|
-
const url = this.toRegistryUrl(moduleRef);
|
|
18
|
-
const response = await fetch(url);
|
|
19
|
-
if (!response.ok) {
|
|
20
|
-
throw new Error(`Failed to fetch manifest ${moduleRef}: ${response.status} ${response.statusText}`);
|
|
21
|
-
}
|
|
22
|
-
const text = await response.text();
|
|
23
|
-
return [
|
|
24
|
-
{
|
|
25
|
-
text,
|
|
26
|
-
documents: yaml.loadAll(text),
|
|
27
|
-
source: url,
|
|
28
|
-
baseDir: process.cwd(),
|
|
29
|
-
uriBase: url.replace("/module.yaml", ""),
|
|
30
|
-
},
|
|
31
|
-
];
|
|
32
|
-
}
|
|
33
|
-
resolveRelative(base, relative) {
|
|
34
|
-
const baseUrl = this.supports(base)
|
|
35
|
-
? this.toRegistryUrl(base).replace("/module.yaml", "")
|
|
36
|
-
: base;
|
|
37
|
-
const baseWithSlash = baseUrl.endsWith("/") ? baseUrl : `${baseUrl}/`;
|
|
38
|
-
return new URL(relative, baseWithSlash).href;
|
|
39
|
-
}
|
|
40
|
-
toRegistryUrl(moduleRef) {
|
|
41
|
-
const atIdx = moduleRef.lastIndexOf("@");
|
|
42
|
-
const path = moduleRef.slice(0, atIdx); // "example/module"
|
|
43
|
-
const version = moduleRef.slice(atIdx + 1); // "1.2.3" or "v1.2.3"
|
|
44
|
-
const versionSegment = version.startsWith("v") ? version.substring(1) : version;
|
|
45
|
-
return `${REGISTRY_BASE}/${path}/${versionSegment}/module.yaml`;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=registry-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry-adapter.js","sourceRoot":"","sources":["../../src/manifest-adapters/registry-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAGhC,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAElD,MAAM,OAAO,eAAe;IAC1B,QAAQ,CAAC,SAAiB;QACxB,wFAAwF;QACxF,OAAO,CACL,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;YAChC,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;YACjC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;YAC1B,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;YAC1B,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;YACvB,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,4BAA4B,SAAS,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACnF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO;YACL;gBACE,IAAI;gBACJ,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;aACzC;SACF,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,QAAgB;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;QACtE,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;IAEO,aAAa,CAAC,SAAiB;QACrC,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,mBAAmB;QAC3D,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB;QAClE,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAChF,OAAO,GAAG,aAAa,IAAI,IAAI,IAAI,cAAc,cAAc,CAAC;IAClE,CAAC;CACF"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { EmitEvent, InstanceFactory, ModuleContext } from "@telorun/sdk";
|
|
2
|
-
/**
|
|
3
|
-
* Per-module ModuleContext registry, keyed by module name.
|
|
4
|
-
*
|
|
5
|
-
* Stores persistent (stateful) ModuleContext instances that accumulate
|
|
6
|
-
* variables, secrets, and resources throughout the initialization phase.
|
|
7
|
-
* Each instance is created once and mutated in place — no ephemeral snapshots.
|
|
8
|
-
*/
|
|
9
|
-
export declare class ModuleContextRegistry {
|
|
10
|
-
private readonly createInstance;
|
|
11
|
-
private readonly emitEvent;
|
|
12
|
-
private readonly store;
|
|
13
|
-
private readonly declaredModules;
|
|
14
|
-
constructor(createInstance: InstanceFactory | undefined, emitEvent: EmitEvent);
|
|
15
|
-
/**
|
|
16
|
-
* Mark a module name as declared and ensure its persistent context exists.
|
|
17
|
-
* Called by the kernel whenever a kind: Kernel.Module manifest is registered
|
|
18
|
-
* so that getContext() can distinguish "not yet populated" from "unknown".
|
|
19
|
-
*/
|
|
20
|
-
declareModule(moduleName: string): void;
|
|
21
|
-
private getOrCreate;
|
|
22
|
-
/**
|
|
23
|
-
* Set variables and secrets on the module's persistent context.
|
|
24
|
-
* Called by the kernel after a Kernel.Module resource is created.
|
|
25
|
-
*/
|
|
26
|
-
setVariablesAndSecrets(moduleName: string, variables: Record<string, unknown>, secrets: Record<string, unknown>): void;
|
|
27
|
-
/**
|
|
28
|
-
* Register or update a single resource's exported properties in the
|
|
29
|
-
* module's `resources` namespace.
|
|
30
|
-
*/
|
|
31
|
-
setResource(moduleName: string, resourceName: string, props: Record<string, unknown>): void;
|
|
32
|
-
/**
|
|
33
|
-
* Return the persistent ModuleContext for the given module name.
|
|
34
|
-
*
|
|
35
|
-
* If the module has been declared but not yet populated, returns the empty
|
|
36
|
-
* context so the multi-pass init loop can retry once the import controller
|
|
37
|
-
* has injected variables and secrets.
|
|
38
|
-
*
|
|
39
|
-
* If the module name is completely unknown throws immediately so the error
|
|
40
|
-
* surfaces as an init failure rather than a cryptic CEL runtime message.
|
|
41
|
-
*/
|
|
42
|
-
getContext(moduleName: string): ModuleContext;
|
|
43
|
-
hasModule(moduleName: string): boolean;
|
|
44
|
-
isDeclared(moduleName: string): boolean;
|
|
45
|
-
/** Iterate all registered module contexts (used for kernel-wide queries). */
|
|
46
|
-
allContexts(): IterableIterator<ModuleContext>;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=module-context-registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"module-context-registry.d.ts","sourceRoot":"","sources":["../src/module-context-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEzE;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAK9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;gBAGlC,cAAc,EAAE,eAAe,YAAmB,EAClD,SAAS,EAAE,SAAS;IAGvC;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAWvC,OAAO,CAAC,WAAW;IAUnB;;;OAGG;IACH,sBAAsB,CACpB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI;IAMP;;;OAGG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3F;;;;;;;;;OASG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa;IAsB7C,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAItC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIvC,6EAA6E;IAC7E,WAAW,IAAI,gBAAgB,CAAC,aAAa,CAAC;CAG/C"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { ModuleContext } from "@telorun/sdk";
|
|
2
|
-
/**
|
|
3
|
-
* Per-module ModuleContext registry, keyed by module name.
|
|
4
|
-
*
|
|
5
|
-
* Stores persistent (stateful) ModuleContext instances that accumulate
|
|
6
|
-
* variables, secrets, and resources throughout the initialization phase.
|
|
7
|
-
* Each instance is created once and mutated in place — no ephemeral snapshots.
|
|
8
|
-
*/
|
|
9
|
-
export class ModuleContextRegistry {
|
|
10
|
-
constructor(createInstance = async () => null, emitEvent) {
|
|
11
|
-
this.createInstance = createInstance;
|
|
12
|
-
this.emitEvent = emitEvent;
|
|
13
|
-
this.store = new Map();
|
|
14
|
-
this.declaredModules = new Set();
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Mark a module name as declared and ensure its persistent context exists.
|
|
18
|
-
* Called by the kernel whenever a kind: Kernel.Module manifest is registered
|
|
19
|
-
* so that getContext() can distinguish "not yet populated" from "unknown".
|
|
20
|
-
*/
|
|
21
|
-
declareModule(moduleName) {
|
|
22
|
-
// this.declaredModules.add(moduleName);
|
|
23
|
-
// // Idempotent: if the module context was already created (e.g. by a previous pass
|
|
24
|
-
// // of the multi-pass init loop that was retried), keep the existing context.
|
|
25
|
-
// if (this.store.has(moduleName)) return;
|
|
26
|
-
// const ctx = new ModuleContext({}, {}, {}, [], this.createInstance, this.emitEvent);
|
|
27
|
-
// // Every module automatically gets access to Kernel.* built-in kinds.
|
|
28
|
-
// ctx.registerImport("Kernel", "Kernel", []);
|
|
29
|
-
// this.store.set(moduleName, ctx);
|
|
30
|
-
}
|
|
31
|
-
getOrCreate(moduleName) {
|
|
32
|
-
if (!this.store.has(moduleName)) {
|
|
33
|
-
this.store.set(moduleName, new ModuleContext("", {}, {}, {}, [], this.createInstance, this.emitEvent));
|
|
34
|
-
}
|
|
35
|
-
return this.store.get(moduleName);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Set variables and secrets on the module's persistent context.
|
|
39
|
-
* Called by the kernel after a Kernel.Module resource is created.
|
|
40
|
-
*/
|
|
41
|
-
setVariablesAndSecrets(moduleName, variables, secrets) {
|
|
42
|
-
const ctx = this.getOrCreate(moduleName);
|
|
43
|
-
ctx.setVariables(variables);
|
|
44
|
-
ctx.setSecrets(secrets);
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Register or update a single resource's exported properties in the
|
|
48
|
-
* module's `resources` namespace.
|
|
49
|
-
*/
|
|
50
|
-
setResource(moduleName, resourceName, props) {
|
|
51
|
-
this.getOrCreate(moduleName).setResource(resourceName, props);
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Return the persistent ModuleContext for the given module name.
|
|
55
|
-
*
|
|
56
|
-
* If the module has been declared but not yet populated, returns the empty
|
|
57
|
-
* context so the multi-pass init loop can retry once the import controller
|
|
58
|
-
* has injected variables and secrets.
|
|
59
|
-
*
|
|
60
|
-
* If the module name is completely unknown throws immediately so the error
|
|
61
|
-
* surfaces as an init failure rather than a cryptic CEL runtime message.
|
|
62
|
-
*/
|
|
63
|
-
getContext(moduleName) {
|
|
64
|
-
// throw new Error("asd");
|
|
65
|
-
const ctx = this.store.get(moduleName);
|
|
66
|
-
if (!ctx) {
|
|
67
|
-
if (!this.declaredModules.has(moduleName)) {
|
|
68
|
-
const known = [...this.declaredModules].join(", ") || "(none)";
|
|
69
|
-
throw new Error(`Module '${moduleName}' not found. ` +
|
|
70
|
-
`Check that metadata.module matches a declared module name. ` +
|
|
71
|
-
`Known modules: ${known}.`);
|
|
72
|
-
}
|
|
73
|
-
// Declared but context not yet populated — return the empty context that
|
|
74
|
-
// declareModule() already created.
|
|
75
|
-
return (this.store.get(moduleName) ??
|
|
76
|
-
new ModuleContext("", {}, {}, {}, [], this.createInstance, this.emitEvent));
|
|
77
|
-
}
|
|
78
|
-
return ctx;
|
|
79
|
-
}
|
|
80
|
-
hasModule(moduleName) {
|
|
81
|
-
return this.store.has(moduleName);
|
|
82
|
-
}
|
|
83
|
-
isDeclared(moduleName) {
|
|
84
|
-
return this.declaredModules.has(moduleName);
|
|
85
|
-
}
|
|
86
|
-
/** Iterate all registered module contexts (used for kernel-wide queries). */
|
|
87
|
-
allContexts() {
|
|
88
|
-
return this.store.values();
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=module-context-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"module-context-registry.js","sourceRoot":"","sources":["../src/module-context-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { DataValidator, TypeRule } from "@telorun/sdk";
|
|
2
|
-
export declare class SchemaValidator {
|
|
3
|
-
private ajv;
|
|
4
|
-
private typeRules;
|
|
5
|
-
private rawSchemas;
|
|
6
|
-
private compiledValidators;
|
|
7
|
-
constructor();
|
|
8
|
-
addSchema(name: string, schema: object): void;
|
|
9
|
-
getSchema(name: string): object | undefined;
|
|
10
|
-
addTypeRules(name: string, rules: TypeRule[]): void;
|
|
11
|
-
getTypeRules(name: string): TypeRule[] | undefined;
|
|
12
|
-
compile(schema: any): DataValidator;
|
|
13
|
-
composeWithRules(base: DataValidator, typeName: string, rules: TypeRule[]): DataValidator;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=schema-valiator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-valiator.d.ts","sourceRoot":"","sources":["../src/schema-valiator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAgB,QAAQ,EAAE,MAAM,cAAc,CAAC;AAOrE,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,kBAAkB,CAAwC;;IAwBlE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAO7C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI;IAInD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,SAAS;IAIlD,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,aAAa;IAuDnC,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,aAAa;CAmC1F"}
|