@metaharness/kernel 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +82 -27
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -14,5 +14,22 @@ interface KernelBackend {
|
|
|
14
14
|
* Load the kernel. native > wasm > pure-JS. The JS backend is the floor, so
|
|
15
15
|
* this never rejects with a missing-module error. Cached.
|
|
16
16
|
*/
|
|
17
|
+
/** Test-only: clear the cached backend + recorded errors so a subsequent
|
|
18
|
+
* loadKernel() re-resolves (e.g. after changing METAHARNESS_KERNEL_BACKEND). */
|
|
19
|
+
export declare function _resetKernelCacheForTests(): void;
|
|
17
20
|
export declare function loadKernel(): Promise<KernelBackend>;
|
|
21
|
+
/**
|
|
22
|
+
* GH #20/#22: backend diagnostics for `doctor` and honest capability reporting.
|
|
23
|
+
* Returns the resolved backend, the requested backend (if any), and the reason
|
|
24
|
+
* each higher-tier backend was unavailable. Triggers resolution if needed.
|
|
25
|
+
*/
|
|
26
|
+
export interface KernelDiagnostics {
|
|
27
|
+
resolved: 'native' | 'wasm' | 'js';
|
|
28
|
+
requested: string | null;
|
|
29
|
+
reasons: {
|
|
30
|
+
native?: string;
|
|
31
|
+
wasm?: string;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export declare function kernelDiagnostics(): Promise<KernelDiagnostics>;
|
|
18
35
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzG,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,UAAU,IAAI,UAAU,CAAC;IACzB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7C,OAAO,IAAI,MAAM,CAAC;IAClB,OAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;CACnC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzG,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,UAAU,IAAI,UAAU,CAAC;IACzB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7C,OAAO,IAAI,MAAM,CAAC;IAClB,OAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;CACnC;AAuHD;;;GAGG;AACH;gFACgF;AAChF,wBAAgB,yBAAyB,IAAI,IAAI,CAIhD;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC,CAwCzD;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAIpE"}
|
package/dist/index.js
CHANGED
|
@@ -10,19 +10,25 @@
|
|
|
10
10
|
// but js is the floor — the kernel is always loadable. (ADR-002a §fallback.)
|
|
11
11
|
import { createRequire } from 'node:module';
|
|
12
12
|
let _cached = null;
|
|
13
|
+
// GH #20/#22: remember WHY a higher-tier backend was unavailable so `doctor`
|
|
14
|
+
// and a requested-but-missing backend can report the actual reason instead of
|
|
15
|
+
// silently using js.
|
|
16
|
+
const _backendErrors = {};
|
|
13
17
|
async function loadNative() {
|
|
18
|
+
const plat = `${process.platform}-${process.arch}`;
|
|
19
|
+
const map = {
|
|
20
|
+
'darwin-arm64': '@metaharness/kernel-darwin-arm64',
|
|
21
|
+
'darwin-x64': '@metaharness/kernel-darwin-x64',
|
|
22
|
+
'linux-x64': '@metaharness/kernel-linux-x64-gnu',
|
|
23
|
+
'linux-arm64': '@metaharness/kernel-linux-arm64-gnu',
|
|
24
|
+
'win32-x64': '@metaharness/kernel-win32-x64-msvc',
|
|
25
|
+
};
|
|
26
|
+
const pkg = map[plat];
|
|
27
|
+
if (!pkg) {
|
|
28
|
+
_backendErrors.native = `no native package mapping for platform "${plat}"`;
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
14
31
|
try {
|
|
15
|
-
const plat = `${process.platform}-${process.arch}`;
|
|
16
|
-
const map = {
|
|
17
|
-
'darwin-arm64': '@metaharness/kernel-darwin-arm64',
|
|
18
|
-
'darwin-x64': '@metaharness/kernel-darwin-x64',
|
|
19
|
-
'linux-x64': '@metaharness/kernel-linux-x64-gnu',
|
|
20
|
-
'linux-arm64': '@metaharness/kernel-linux-arm64-gnu',
|
|
21
|
-
'win32-x64': '@metaharness/kernel-win32-x64-msvc',
|
|
22
|
-
};
|
|
23
|
-
const pkg = map[plat];
|
|
24
|
-
if (!pkg)
|
|
25
|
-
return null;
|
|
26
32
|
const mod = await import(pkg);
|
|
27
33
|
return {
|
|
28
34
|
kernelInfo: () => mod.kernelInfo(),
|
|
@@ -31,27 +37,32 @@ async function loadNative() {
|
|
|
31
37
|
backend: 'native',
|
|
32
38
|
};
|
|
33
39
|
}
|
|
34
|
-
catch {
|
|
40
|
+
catch (e) {
|
|
41
|
+
_backendErrors.native = `optional dependency "${pkg}" not installed (${e.message})`;
|
|
35
42
|
return null;
|
|
36
43
|
}
|
|
37
44
|
}
|
|
38
45
|
async function loadWasm() {
|
|
39
46
|
try {
|
|
40
|
-
// @ts-ignore — generated by `wasm-pack build` into ../pkg
|
|
41
|
-
//
|
|
42
|
-
//
|
|
47
|
+
// @ts-ignore — generated by `wasm-pack build --target nodejs` into ../pkg/.
|
|
48
|
+
// The nodejs target is CommonJS and auto-initializes the wasm on require
|
|
49
|
+
// (no init() call). pkg/package.json carries {"type":"commonjs"} (GH #21)
|
|
50
|
+
// so this ESM module loads the CJS shim correctly; ESM interop puts the
|
|
51
|
+
// exports on `.default` (and, via cjs-module-lexer, as named exports too).
|
|
43
52
|
const mod = await import('../pkg/ruflo_kernel_wasm.js');
|
|
44
|
-
|
|
45
|
-
|
|
53
|
+
const api = typeof mod.kernelInfo === 'function' ? mod : (mod.default ?? mod);
|
|
54
|
+
if (typeof api.kernelInfo !== 'function') {
|
|
55
|
+
throw new Error('wasm shim loaded but kernelInfo() is missing');
|
|
46
56
|
}
|
|
47
57
|
return {
|
|
48
|
-
kernelInfo: () =>
|
|
49
|
-
mcpValidate: (s) =>
|
|
50
|
-
version: () =>
|
|
58
|
+
kernelInfo: () => api.kernelInfo(),
|
|
59
|
+
mcpValidate: (s) => api.mcpValidate(s) ?? null,
|
|
60
|
+
version: () => api.version(),
|
|
51
61
|
backend: 'wasm',
|
|
52
62
|
};
|
|
53
63
|
}
|
|
54
|
-
catch {
|
|
64
|
+
catch (e) {
|
|
65
|
+
_backendErrors.wasm = `wasm artifact (pkg/ruflo_kernel_wasm.js) not present in @metaharness/kernel (${e.message})`;
|
|
55
66
|
return null;
|
|
56
67
|
}
|
|
57
68
|
}
|
|
@@ -98,16 +109,19 @@ function loadJs() {
|
|
|
98
109
|
// Mirror the NAPI binding, which throws on unparseable spec JSON.
|
|
99
110
|
throw new Error(`invalid spec json: ${e.message}`);
|
|
100
111
|
}
|
|
101
|
-
// Rules, byte-for-byte from crates/kernel/src/mcp.rs::validate.
|
|
112
|
+
// Rules, byte-for-byte from crates/kernel/src/mcp.rs::validate. The real
|
|
113
|
+
// kernel surfaces these through `Error::Mcp(..)`, whose Display prefixes
|
|
114
|
+
// "mcp: " — so native + wasm return "mcp: <reason>". The js floor must
|
|
115
|
+
// match exactly (GH #20: drift surfaced once wasm became loadable).
|
|
102
116
|
if (typeof spec.name !== 'string' || spec.name.length === 0) {
|
|
103
|
-
return 'server name is empty';
|
|
117
|
+
return 'mcp: server name is empty';
|
|
104
118
|
}
|
|
105
119
|
const hasCommand = Array.isArray(spec.command) && spec.command.length > 0;
|
|
106
120
|
const hasUrl = typeof spec.url === 'string' && spec.url.length > 0;
|
|
107
121
|
if (hasCommand && hasUrl)
|
|
108
|
-
return 'command and url are mutually exclusive';
|
|
122
|
+
return 'mcp: command and url are mutually exclusive';
|
|
109
123
|
if (!hasCommand && !hasUrl)
|
|
110
|
-
return 'either command or url must be set';
|
|
124
|
+
return 'mcp: either command or url must be set';
|
|
111
125
|
return null;
|
|
112
126
|
},
|
|
113
127
|
backend: 'js',
|
|
@@ -117,11 +131,52 @@ function loadJs() {
|
|
|
117
131
|
* Load the kernel. native > wasm > pure-JS. The JS backend is the floor, so
|
|
118
132
|
* this never rejects with a missing-module error. Cached.
|
|
119
133
|
*/
|
|
134
|
+
/** Test-only: clear the cached backend + recorded errors so a subsequent
|
|
135
|
+
* loadKernel() re-resolves (e.g. after changing METAHARNESS_KERNEL_BACKEND). */
|
|
136
|
+
export function _resetKernelCacheForTests() {
|
|
137
|
+
_cached = null;
|
|
138
|
+
delete _backendErrors.native;
|
|
139
|
+
delete _backendErrors.wasm;
|
|
140
|
+
}
|
|
120
141
|
export async function loadKernel() {
|
|
121
142
|
if (_cached)
|
|
122
143
|
return _cached;
|
|
123
|
-
|
|
124
|
-
|
|
144
|
+
// GH #22: honor METAHARNESS_KERNEL_BACKEND=native|wasm|js. When a specific
|
|
145
|
+
// backend is requested but cannot load, FAIL LOUDLY with the reason instead
|
|
146
|
+
// of silently using js.
|
|
147
|
+
const requested = (process.env.METAHARNESS_KERNEL_BACKEND || '').trim().toLowerCase();
|
|
148
|
+
if (requested && !['native', 'wasm', 'js'].includes(requested)) {
|
|
149
|
+
throw new Error(`METAHARNESS_KERNEL_BACKEND="${requested}" is invalid; choose one of: native, wasm, js`);
|
|
150
|
+
}
|
|
151
|
+
if (requested === 'js') {
|
|
152
|
+
_cached = loadJs();
|
|
153
|
+
return _cached;
|
|
154
|
+
}
|
|
155
|
+
if (requested === 'native') {
|
|
156
|
+
const n = await loadNative();
|
|
157
|
+
if (!n) {
|
|
158
|
+
throw new Error(`kernel backend "native" was requested but is unavailable: ${_backendErrors.native ?? 'unknown reason'}. ` +
|
|
159
|
+
`Unset METAHARNESS_KERNEL_BACKEND to fall back to js.`);
|
|
160
|
+
}
|
|
161
|
+
_cached = n;
|
|
162
|
+
return _cached;
|
|
163
|
+
}
|
|
164
|
+
if (requested === 'wasm') {
|
|
165
|
+
const w = await loadWasm();
|
|
166
|
+
if (!w) {
|
|
167
|
+
throw new Error(`kernel backend "wasm" was requested but is unavailable: ${_backendErrors.wasm ?? 'unknown reason'}. ` +
|
|
168
|
+
`Unset METAHARNESS_KERNEL_BACKEND to fall back to js.`);
|
|
169
|
+
}
|
|
170
|
+
_cached = w;
|
|
171
|
+
return _cached;
|
|
172
|
+
}
|
|
173
|
+
// Auto: native > wasm > pure-JS (the floor).
|
|
174
|
+
_cached = (await loadNative()) ?? (await loadWasm()) ?? loadJs();
|
|
125
175
|
return _cached;
|
|
126
176
|
}
|
|
177
|
+
export async function kernelDiagnostics() {
|
|
178
|
+
const k = await loadKernel();
|
|
179
|
+
const requested = (process.env.METAHARNESS_KERNEL_BACKEND || '').trim().toLowerCase() || null;
|
|
180
|
+
return { resolved: k.backend, requested, reasons: { ..._backendErrors } };
|
|
181
|
+
}
|
|
127
182
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,4EAA4E;AAC5E,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,+EAA+E;AAC/E,6EAA6E;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAiB5C,IAAI,OAAO,GAAyB,IAAI,CAAC;AAEzC,KAAK,UAAU,UAAU;IACvB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metaharness/kernel",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Cross-platform kernel for the agent-harness-generator — wasm primary, NAPI-RS native fallback",
|
|
5
5
|
"homepage": "https://github.com/ruvnet/agent-harness-generator",
|
|
6
6
|
"repository": {
|
|
@@ -40,7 +40,8 @@
|
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build": "tsc",
|
|
42
42
|
"test": "vitest run",
|
|
43
|
-
"lint": "tsc --noEmit"
|
|
43
|
+
"lint": "tsc --noEmit",
|
|
44
|
+
"build:wasm": "RUSTFLAGS= wasm-pack build ../../crates/kernel-wasm --target nodejs --release --out-dir pkg && node -e \"const f=require('fs');const j=require('./pkg/package.json');j.type='commonjs';f.writeFileSync('./pkg/package.json',JSON.stringify(j,null,2)+'\\n')\""
|
|
44
45
|
},
|
|
45
46
|
"keywords": [
|
|
46
47
|
"agent-harness",
|