@tenuo/core 0.2.4-beta.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 +187 -0
- package/README.md +62 -0
- package/dist/api.d.ts +270 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +8 -0
- package/dist/api.js.map +1 -0
- package/dist/client.d.ts +18 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +417 -0
- package/dist/client.js.map +1 -0
- package/dist/constraints.d.ts +11 -0
- package/dist/constraints.d.ts.map +1 -0
- package/dist/constraints.js +32 -0
- package/dist/constraints.js.map +1 -0
- package/dist/errors.d.ts +19 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +37 -0
- package/dist/errors.js.map +1 -0
- package/dist/generated/package.json +1 -0
- package/dist/generated/tenuo_wasm.d.ts +290 -0
- package/dist/generated/tenuo_wasm.js +1415 -0
- package/dist/generated/tenuo_wasm_bg.wasm +0 -0
- package/dist/generated/tenuo_wasm_bg.wasm.d.ts +58 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp.d.ts +4 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +258 -0
- package/dist/mcp.js.map +1 -0
- package/dist/nonce.d.ts +11 -0
- package/dist/nonce.d.ts.map +1 -0
- package/dist/nonce.js +28 -0
- package/dist/nonce.js.map +1 -0
- package/dist/session.d.ts +19 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +50 -0
- package/dist/session.js.map +1 -0
- package/dist/wasm.d.ts +107 -0
- package/dist/wasm.d.ts.map +1 -0
- package/dist/wasm.js +64 -0
- package/dist/wasm.js.map +1 -0
- package/package.json +64 -0
package/dist/wasm.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
import { TenuoConfigurationError } from "./errors.js";
|
|
6
|
+
let loaded;
|
|
7
|
+
function generatedPath() {
|
|
8
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
9
|
+
return join(here, "generated", "tenuo_wasm.js");
|
|
10
|
+
}
|
|
11
|
+
export function wasmAvailable() {
|
|
12
|
+
return existsSync(generatedPath());
|
|
13
|
+
}
|
|
14
|
+
const WASM_LOAD_HINT = "WASM core is missing from this @tenuo/core install. @tenuo/core is Node 20+ only (not a bundler target). If this is Next.js/webpack, set serverExternalPackages: ['@tenuo/core']. Do not run wasm-pack in the consuming app.";
|
|
15
|
+
export function loadWasm() {
|
|
16
|
+
if (loaded) {
|
|
17
|
+
return loaded;
|
|
18
|
+
}
|
|
19
|
+
const path = generatedPath();
|
|
20
|
+
if (!existsSync(path)) {
|
|
21
|
+
throw new TenuoConfigurationError(WASM_LOAD_HINT, "TENUO_NOT_READY");
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
const require = createRequire(import.meta.url);
|
|
25
|
+
loaded = require(path);
|
|
26
|
+
return loaded;
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
const wrapped = new TenuoConfigurationError(WASM_LOAD_HINT, "TENUO_NOT_READY");
|
|
30
|
+
wrapped.cause = error;
|
|
31
|
+
throw wrapped;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export function createDevContext() {
|
|
35
|
+
const { SdkContext } = loadWasm();
|
|
36
|
+
return new SdkContext();
|
|
37
|
+
}
|
|
38
|
+
export function createVerifierContext(rootHexes, revocationList) {
|
|
39
|
+
const { SdkContext } = loadWasm();
|
|
40
|
+
const context = SdkContext.fromTrustedRoots([...rootHexes]);
|
|
41
|
+
if (revocationList !== undefined && revocationList.length > 0) {
|
|
42
|
+
context.loadRevocationList(revocationList);
|
|
43
|
+
}
|
|
44
|
+
return context;
|
|
45
|
+
}
|
|
46
|
+
export function importSessionFromWire(warrant, holderKey) {
|
|
47
|
+
const { SdkSession } = loadWasm();
|
|
48
|
+
return SdkSession.fromWire(warrant, holderKey);
|
|
49
|
+
}
|
|
50
|
+
export function importSessionFromParts(payloadHex, signatureHex, holderKey) {
|
|
51
|
+
const { SdkSession } = loadWasm();
|
|
52
|
+
return SdkSession.fromParts(payloadHex, signatureHex, holderKey);
|
|
53
|
+
}
|
|
54
|
+
export function importSessionFromChain(parts, holderKey) {
|
|
55
|
+
const { SdkSession } = loadWasm();
|
|
56
|
+
return SdkSession.fromChain(parts, holderKey);
|
|
57
|
+
}
|
|
58
|
+
export function inspectWarrant(wire) {
|
|
59
|
+
return loadWasm().sdkInspectWarrant(wire);
|
|
60
|
+
}
|
|
61
|
+
export function inspectParts(payloadHex, signatureHex) {
|
|
62
|
+
return loadWasm().sdkInspectParts(payloadHex, signatureHex);
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=wasm.js.map
|
package/dist/wasm.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm.js","sourceRoot":"","sources":["../src/wasm.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tenuo/core",
|
|
3
|
+
"version": "0.2.4-beta.0",
|
|
4
|
+
"description": "Tenuo TypeScript SDK — authorization decisions run in the Rust core (WASM).",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"author": "Tenuo Contributors",
|
|
7
|
+
"homepage": "https://github.com/tenuo-ai/tenuo/tree/main/tenuo-ts/packages/core",
|
|
8
|
+
"bugs": {
|
|
9
|
+
"url": "https://github.com/tenuo-ai/tenuo/issues"
|
|
10
|
+
},
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "git+https://github.com/tenuo-ai/tenuo.git",
|
|
14
|
+
"directory": "tenuo-ts/packages/core"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"tenuo",
|
|
18
|
+
"authorization",
|
|
19
|
+
"agents",
|
|
20
|
+
"mcp",
|
|
21
|
+
"wasm",
|
|
22
|
+
"capabilities"
|
|
23
|
+
],
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"access": "public"
|
|
26
|
+
},
|
|
27
|
+
"type": "module",
|
|
28
|
+
"sideEffects": [
|
|
29
|
+
"./dist/generated/**"
|
|
30
|
+
],
|
|
31
|
+
"main": "./dist/index.js",
|
|
32
|
+
"types": "./dist/index.d.ts",
|
|
33
|
+
"exports": {
|
|
34
|
+
".": {
|
|
35
|
+
"types": "./dist/index.d.ts",
|
|
36
|
+
"import": "./dist/index.js",
|
|
37
|
+
"default": "./dist/index.js"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"files": [
|
|
41
|
+
"dist",
|
|
42
|
+
"LICENSE",
|
|
43
|
+
"README.md"
|
|
44
|
+
],
|
|
45
|
+
"scripts": {
|
|
46
|
+
"test": "vitest run",
|
|
47
|
+
"test:watch": "vitest",
|
|
48
|
+
"typecheck": "tsc --noEmit",
|
|
49
|
+
"build": "tsc -p tsconfig.build.json && mkdir -p dist/generated && cp src/generated/package.json src/generated/tenuo_wasm.js src/generated/tenuo_wasm.d.ts src/generated/tenuo_wasm_bg.wasm src/generated/tenuo_wasm_bg.wasm.d.ts dist/generated/ && cp ../../../LICENSE LICENSE",
|
|
50
|
+
"pack:smoke": "node scripts/pack-smoke.mjs",
|
|
51
|
+
"publish:npm": "npm publish --access public --provenance --tag beta",
|
|
52
|
+
"build:wasm": "pnpm --dir ../.. build:wasm"
|
|
53
|
+
},
|
|
54
|
+
"engines": {
|
|
55
|
+
"node": ">=20"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"@modelcontextprotocol/sdk": "1.26.0",
|
|
59
|
+
"@types/node": "^22.13.10",
|
|
60
|
+
"typescript": "~5.8.2",
|
|
61
|
+
"vitest": "^3.0.9",
|
|
62
|
+
"zod": "3.25.76"
|
|
63
|
+
}
|
|
64
|
+
}
|