@telorun/kernel 0.4.1 → 0.6.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.
Files changed (89) hide show
  1. package/dist/controller-loader.d.ts +19 -20
  2. package/dist/controller-loader.d.ts.map +1 -1
  3. package/dist/controller-loader.js +67 -247
  4. package/dist/controller-loader.js.map +1 -1
  5. package/dist/controller-loaders/napi-loader.d.ts +27 -0
  6. package/dist/controller-loaders/napi-loader.d.ts.map +1 -0
  7. package/dist/controller-loaders/napi-loader.js +158 -0
  8. package/dist/controller-loaders/napi-loader.js.map +1 -0
  9. package/dist/controller-loaders/npm-loader.d.ts +20 -0
  10. package/dist/controller-loaders/npm-loader.d.ts.map +1 -0
  11. package/dist/controller-loaders/npm-loader.js +256 -0
  12. package/dist/controller-loaders/npm-loader.js.map +1 -0
  13. package/dist/controller-registry.d.ts +30 -20
  14. package/dist/controller-registry.d.ts.map +1 -1
  15. package/dist/controller-registry.js +50 -99
  16. package/dist/controller-registry.js.map +1 -1
  17. package/dist/controllers/module/import-controller.d.ts +11 -0
  18. package/dist/controllers/module/import-controller.d.ts.map +1 -1
  19. package/dist/controllers/module/import-controller.js +30 -3
  20. package/dist/controllers/module/import-controller.js.map +1 -1
  21. package/dist/controllers/resource-definition/abstract-controller.d.ts +35 -0
  22. package/dist/controllers/resource-definition/abstract-controller.d.ts.map +1 -0
  23. package/dist/controllers/resource-definition/abstract-controller.js +34 -0
  24. package/dist/controllers/resource-definition/abstract-controller.js.map +1 -0
  25. package/dist/controllers/resource-definition/resource-definition-controller.d.ts.map +1 -1
  26. package/dist/controllers/resource-definition/resource-definition-controller.js +1 -1
  27. package/dist/controllers/resource-definition/resource-definition-controller.js.map +1 -1
  28. package/dist/evaluation-context.js +1 -1
  29. package/dist/evaluation-context.js.map +1 -1
  30. package/dist/index.d.ts +2 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +2 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/kernel.d.ts +14 -16
  35. package/dist/kernel.d.ts.map +1 -1
  36. package/dist/kernel.js +58 -49
  37. package/dist/kernel.js.map +1 -1
  38. package/dist/manifest-schemas.d.ts +50 -0
  39. package/dist/manifest-schemas.d.ts.map +1 -1
  40. package/dist/manifest-schemas.js +31 -0
  41. package/dist/manifest-schemas.js.map +1 -1
  42. package/dist/{manifest-adapters/local-file-adapter.d.ts → manifest-sources/local-file-source.d.ts} +3 -3
  43. package/dist/manifest-sources/local-file-source.d.ts.map +1 -0
  44. package/dist/{manifest-adapters/local-file-adapter.js → manifest-sources/local-file-source.js} +2 -2
  45. package/dist/manifest-sources/local-file-source.js.map +1 -0
  46. package/dist/manifest-sources/memory-source.d.ts +23 -0
  47. package/dist/manifest-sources/memory-source.d.ts.map +1 -0
  48. package/dist/manifest-sources/memory-source.js +83 -0
  49. package/dist/manifest-sources/memory-source.js.map +1 -0
  50. package/dist/module-context.d.ts +17 -3
  51. package/dist/module-context.d.ts.map +1 -1
  52. package/dist/module-context.js +19 -1
  53. package/dist/module-context.js.map +1 -1
  54. package/dist/registry.d.ts.map +1 -1
  55. package/dist/registry.js +0 -1
  56. package/dist/registry.js.map +1 -1
  57. package/dist/resource-context.d.ts +2 -7
  58. package/dist/resource-context.d.ts.map +1 -1
  59. package/dist/resource-context.js +8 -28
  60. package/dist/resource-context.js.map +1 -1
  61. package/dist/runtime-registry.d.ts +50 -0
  62. package/dist/runtime-registry.d.ts.map +1 -0
  63. package/dist/runtime-registry.js +140 -0
  64. package/dist/runtime-registry.js.map +1 -0
  65. package/package.json +16 -5
  66. package/src/controller-loader.ts +77 -273
  67. package/src/controller-loaders/napi-loader.ts +191 -0
  68. package/src/controller-loaders/npm-loader.ts +285 -0
  69. package/src/controller-registry.ts +66 -129
  70. package/src/controllers/module/import-controller.ts +32 -3
  71. package/src/controllers/resource-definition/abstract-controller.ts +56 -0
  72. package/src/controllers/resource-definition/resource-definition-controller.ts +1 -0
  73. package/src/evaluation-context.ts +1 -1
  74. package/src/index.ts +2 -1
  75. package/src/kernel.ts +86 -67
  76. package/src/manifest-schemas.ts +33 -0
  77. package/src/{manifest-adapters/local-file-adapter.ts → manifest-sources/local-file-source.ts} +2 -2
  78. package/src/manifest-sources/memory-source.ts +104 -0
  79. package/src/module-context.ts +36 -3
  80. package/src/registry.ts +0 -1
  81. package/src/resource-context.ts +11 -36
  82. package/src/runtime-registry.ts +170 -0
  83. package/dist/manifest-adapters/local-file-adapter.d.ts.map +0 -1
  84. package/dist/manifest-adapters/local-file-adapter.js.map +0 -1
  85. package/dist/manifest-adapters/manifest-adapter.d.ts +0 -35
  86. package/dist/manifest-adapters/manifest-adapter.d.ts.map +0 -1
  87. package/dist/manifest-adapters/manifest-adapter.js +0 -2
  88. package/dist/manifest-adapters/manifest-adapter.js.map +0 -1
  89. package/src/manifest-adapters/manifest-adapter.ts +0 -35
@@ -0,0 +1,170 @@
1
+ import type { ControllerPolicy } from "@telorun/sdk";
2
+ import { RuntimeError } from "@telorun/sdk";
3
+
4
+ export type { ControllerPolicy } from "@telorun/sdk";
5
+
6
+ /**
7
+ * The PURL-type prefix the kernel itself runs (i.e. "no FFI" controllers
8
+ * for this kernel). For the Node.js kernel, that's `pkg:npm`. A future
9
+ * Rust kernel reports `pkg:cargo` here.
10
+ */
11
+ export const KERNEL_NATIVE_PURL_TYPE = "pkg:npm";
12
+
13
+ /**
14
+ * Wildcard sentinel inside a resolved `ControllerPolicy.load`. Means
15
+ * "all remaining controllers in declaration order, minus PURL types
16
+ * already listed earlier in the same policy." May appear at most once.
17
+ */
18
+ export const POLICY_WILDCARD = "*";
19
+
20
+ /**
21
+ * Maps user-facing runtime labels to PURL-type prefixes. The user-facing
22
+ * label is the implementation directory name a contributor sees at
23
+ * `modules/<name>/<label>/`.
24
+ */
25
+ const LABEL_TO_PURL_TYPE: Readonly<Record<string, string>> = {
26
+ nodejs: "pkg:npm",
27
+ rust: "pkg:cargo",
28
+ };
29
+
30
+ /**
31
+ * Labels that only make sense as a single value (`runtime: auto`,
32
+ * `runtime: native`) — they describe a whole policy, not one slot in a
33
+ * list. `any` is also reserved but is allowed as the final list entry,
34
+ * so it is handled separately in `normalizeRuntime`.
35
+ */
36
+ const SINGLE_ONLY_LABELS = new Set(["auto", "native"]);
37
+
38
+ /**
39
+ * Default policy for missing `runtime:` field — equivalent to `runtime: auto`.
40
+ * Tries kernel-native first, then any other declared controller in declaration order.
41
+ */
42
+ export const DEFAULT_POLICY: ControllerPolicy = {
43
+ load: [KERNEL_NATIVE_PURL_TYPE, POLICY_WILDCARD],
44
+ };
45
+
46
+ /**
47
+ * Resolve a `runtime:` field value (string, array, or undefined) into a
48
+ * canonical `ControllerPolicy`. Throws `ERR_RUNTIME_INVALID` on:
49
+ * - empty array
50
+ * - unknown label
51
+ * - `any` anywhere but the final list entry
52
+ * - duplicate label
53
+ */
54
+ export function normalizeRuntime(value: string | ReadonlyArray<string> | undefined): ControllerPolicy {
55
+ if (value === undefined) {
56
+ return DEFAULT_POLICY;
57
+ }
58
+ if (typeof value === "string") {
59
+ return resolveSingle(value);
60
+ }
61
+ if (!Array.isArray(value)) {
62
+ throw new RuntimeError(
63
+ "ERR_RUNTIME_INVALID",
64
+ `runtime must be a string or array of strings, got ${typeof value}`,
65
+ );
66
+ }
67
+ if (value.length === 0) {
68
+ throw new RuntimeError(
69
+ "ERR_RUNTIME_INVALID",
70
+ "runtime: [] has no useful meaning. Omit the field for `auto`, or list at least one runtime label.",
71
+ );
72
+ }
73
+ const load: string[] = [];
74
+ for (let i = 0; i < value.length; i++) {
75
+ const entry = value[i];
76
+ if (typeof entry !== "string") {
77
+ throw new RuntimeError(
78
+ "ERR_RUNTIME_INVALID",
79
+ `runtime list entries must be strings, got ${typeof entry}`,
80
+ );
81
+ }
82
+ if (entry === "any") {
83
+ if (i !== value.length - 1) {
84
+ throw new RuntimeError(
85
+ "ERR_RUNTIME_INVALID",
86
+ "runtime: 'any' may only appear as the last entry in the list",
87
+ );
88
+ }
89
+ load.push(POLICY_WILDCARD);
90
+ continue;
91
+ }
92
+ const purlType = labelToPurlType(entry);
93
+ if (load.includes(purlType)) {
94
+ throw new RuntimeError(
95
+ "ERR_RUNTIME_INVALID",
96
+ `runtime: '${entry}' listed twice (resolves to ${purlType})`,
97
+ );
98
+ }
99
+ load.push(purlType);
100
+ }
101
+ return { load };
102
+ }
103
+
104
+ function resolveSingle(label: string): ControllerPolicy {
105
+ if (label === "auto") {
106
+ return DEFAULT_POLICY;
107
+ }
108
+ if (label === "native") {
109
+ return { load: [KERNEL_NATIVE_PURL_TYPE] };
110
+ }
111
+ if (label === "any") {
112
+ return { load: [POLICY_WILDCARD] };
113
+ }
114
+ return { load: [labelToPurlType(label)] };
115
+ }
116
+
117
+ function labelToPurlType(label: string): string {
118
+ if (SINGLE_ONLY_LABELS.has(label)) {
119
+ throw new RuntimeError(
120
+ "ERR_RUNTIME_INVALID",
121
+ `runtime label '${label}' describes a whole policy and is only valid as a single value, not inside a list`,
122
+ );
123
+ }
124
+ const purlType = LABEL_TO_PURL_TYPE[label];
125
+ if (!purlType) {
126
+ const known = Object.keys(LABEL_TO_PURL_TYPE).concat(["auto", "native", "any"]).sort().join(", ");
127
+ throw new RuntimeError(
128
+ "ERR_RUNTIME_INVALID",
129
+ `Unknown runtime label '${label}'. Known: ${known}`,
130
+ );
131
+ }
132
+ return purlType;
133
+ }
134
+
135
+ /**
136
+ * Stable short hash of a resolved policy, for use as a registry cache key
137
+ * suffix. Two imports with the same resolved policy share a cached
138
+ * controller; divergent policies get separate entries.
139
+ *
140
+ * Both `undefined` (no policy stamped) and any policy structurally equal to
141
+ * `DEFAULT_POLICY` (`runtime: auto`, missing `runtime:`, or any list that
142
+ * normalizes to the auto shape) collapse to the `"default"` fingerprint —
143
+ * the plan's contract is that "missing" is sugar for "auto", so they must
144
+ * share a cache entry.
145
+ */
146
+ export function policyFingerprint(policy: ControllerPolicy | undefined): string {
147
+ if (!policy || isDefaultPolicy(policy)) {
148
+ return "default";
149
+ }
150
+ return policy.load.join(",");
151
+ }
152
+
153
+ /**
154
+ * Structural equality check against `DEFAULT_POLICY`. Used at policy-stamp
155
+ * time (import-controller) to skip stamping when the resolved policy is the
156
+ * canonical default — `runtime: auto`, `runtime: [nodejs, any]`, etc. all
157
+ * normalize to the same shape and should be observationally identical to a
158
+ * plain omitted `runtime:` field, both at the fingerprint level (handled by
159
+ * `policyFingerprint`) and at the policy-presence level.
160
+ */
161
+ export function isDefaultPolicy(policy: ControllerPolicy): boolean {
162
+ if (policy === DEFAULT_POLICY) return true;
163
+ const a = policy.load;
164
+ const b = DEFAULT_POLICY.load;
165
+ if (a.length !== b.length) return false;
166
+ for (let i = 0; i < a.length; i++) {
167
+ if (a[i] !== b[i]) return false;
168
+ }
169
+ return true;
170
+ }
@@ -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 +0,0 @@
1
- {"version":3,"file":"local-file-adapter.js","sourceRoot":"","sources":["../../src/manifest-adapters/local-file-adapter.ts"],"names":[],"mappings":"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"}
@@ -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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=manifest-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manifest-adapter.js","sourceRoot":"","sources":["../../src/manifest-adapters/manifest-adapter.ts"],"names":[],"mappings":""}
@@ -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
-
14
- export interface ManifestAdapter {
15
- /** Returns true if this adapter can handle the given path/URL */
16
- supports(pathOrUrl: string): boolean;
17
- /**
18
- * Read a single manifest entry point.
19
- * - File path or URL → read that file/URL.
20
- * - Directory path → find and read `telo.yaml` within it.
21
- */
22
- read(pathOrUrl: string): Promise<ManifestSourceData>;
23
- /**
24
- * Read all manifest files reachable from the given path/URL.
25
- * Used for module imports.
26
- * - Directory path → recursive walk, one entry per .yaml/.yml file found.
27
- * - File path or URL → single-item array.
28
- */
29
- readAll(pathOrUrl: string): Promise<ManifestSourceData[]>;
30
- /**
31
- * Resolve a potentially relative path/URL against a base directory/URL.
32
- * For absolute inputs the base is ignored.
33
- */
34
- resolveRelative(base: string, relative: string): string;
35
- }