@kya-os/checkpoint-wasm-runtime 1.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.
Files changed (71) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/dist/adapters.d.mts +257 -0
  3. package/dist/adapters.d.ts +257 -0
  4. package/dist/adapters.js +603 -0
  5. package/dist/adapters.js.map +1 -0
  6. package/dist/adapters.mjs +586 -0
  7. package/dist/adapters.mjs.map +1 -0
  8. package/dist/dynamic-loader-cS-pUisw.d.ts +65 -0
  9. package/dist/dynamic-loader-qGJacfEC.d.mts +65 -0
  10. package/dist/edge.d.mts +22 -0
  11. package/dist/edge.d.ts +22 -0
  12. package/dist/edge.js +1403 -0
  13. package/dist/edge.js.map +1 -0
  14. package/dist/edge.mjs +1391 -0
  15. package/dist/edge.mjs.map +1 -0
  16. package/dist/engine-edge.d.mts +58 -0
  17. package/dist/engine-edge.d.ts +58 -0
  18. package/dist/engine-edge.js +537 -0
  19. package/dist/engine-edge.js.map +1 -0
  20. package/dist/engine-edge.mjs +533 -0
  21. package/dist/engine-edge.mjs.map +1 -0
  22. package/dist/engine.d.mts +34 -0
  23. package/dist/engine.d.ts +34 -0
  24. package/dist/engine.js +11 -0
  25. package/dist/engine.js.map +1 -0
  26. package/dist/engine.mjs +9 -0
  27. package/dist/engine.mjs.map +1 -0
  28. package/dist/index.d.mts +58 -0
  29. package/dist/index.d.ts +58 -0
  30. package/dist/index.js +1652 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/index.mjs +1637 -0
  33. package/dist/index.mjs.map +1 -0
  34. package/dist/node.d.mts +26 -0
  35. package/dist/node.d.ts +26 -0
  36. package/dist/node.js +972 -0
  37. package/dist/node.js.map +1 -0
  38. package/dist/node.mjs +960 -0
  39. package/dist/node.mjs.map +1 -0
  40. package/dist/orchestrator-edge.d.mts +243 -0
  41. package/dist/orchestrator-edge.d.ts +243 -0
  42. package/dist/orchestrator-edge.js +1076 -0
  43. package/dist/orchestrator-edge.js.map +1 -0
  44. package/dist/orchestrator-edge.mjs +1065 -0
  45. package/dist/orchestrator-edge.mjs.map +1 -0
  46. package/dist/orchestrator.d.mts +50 -0
  47. package/dist/orchestrator.d.ts +50 -0
  48. package/dist/orchestrator.js +1185 -0
  49. package/dist/orchestrator.js.map +1 -0
  50. package/dist/orchestrator.mjs +1172 -0
  51. package/dist/orchestrator.mjs.map +1 -0
  52. package/dist/rules-detector-DjbTJ1-Q.d.mts +470 -0
  53. package/dist/rules-detector-DjbTJ1-Q.d.ts +470 -0
  54. package/dist/static-loader-C1hUlksK.d.ts +72 -0
  55. package/dist/static-loader-Ds4iNw7c.d.mts +72 -0
  56. package/dist/types-D0j85fF0.d.mts +163 -0
  57. package/dist/types-D0j85fF0.d.ts +163 -0
  58. package/package.json +141 -0
  59. package/wasm/agentshield_wasm.d.ts +485 -0
  60. package/wasm/agentshield_wasm.js +1551 -0
  61. package/wasm/agentshield_wasm_bg.wasm +0 -0
  62. package/wasm/agentshield_wasm_bg.wasm.d.ts +97 -0
  63. package/wasm/kya-os-engine/kya_os_engine.d.ts +24 -0
  64. package/wasm/kya-os-engine/kya_os_engine.js +517 -0
  65. package/wasm/kya-os-engine/kya_os_engine_bg.wasm +0 -0
  66. package/wasm/kya-os-engine/kya_os_engine_bg.wasm.d.ts +8 -0
  67. package/wasm/kya-os-engine-web/kya_os_engine.d.ts +56 -0
  68. package/wasm/kya-os-engine-web/kya_os_engine.js +574 -0
  69. package/wasm/kya-os-engine-web/kya_os_engine_bg.wasm +0 -0
  70. package/wasm/kya-os-engine-web/kya_os_engine_bg.wasm.d.ts +8 -0
  71. package/wasm/package.json +30 -0
@@ -0,0 +1,163 @@
1
+ import { McpIPayload } from '@kya-os/checkpoint-shared';
2
+
3
+ /**
4
+ * TypeScript shapes for the `kya-os-engine` WASM `verify` ABI (E-1).
5
+ *
6
+ * These mirror the Rust types in `rust/crates/kya-os-engine/src/{types,context,signing,error}.rs`.
7
+ *
8
+ * **Wire format is camelCase across every type.** The engine crate
9
+ * carries `#[serde(rename_all = "camelCase")]` on every struct with
10
+ * multi-word fields, so JS hosts produce idiomatic camelCase and the
11
+ * cross-runtime parity contract has one convention. The initial E-1
12
+ * drop had an asymmetry (some structs lacked the rename attr) which
13
+ * Bugbot caught at the serde-wasm-bindgen boundary; harmonising the
14
+ * Rust side fixed it without changing any Rust public-API field name.
15
+ *
16
+ * **Do not extend these in this package.** When the engine's surface
17
+ * changes (a re-ratification event), regenerate from the Rust types.
18
+ * Phase 1 host wrappers see what D-design § 6 ratified — nothing more.
19
+ */
20
+
21
+ interface McpIRequest {
22
+ raw: number[];
23
+ payload: McpIPayload;
24
+ }
25
+ interface A2ARequest {
26
+ raw: number[];
27
+ }
28
+ interface A2PRequest {
29
+ raw: number[];
30
+ }
31
+ interface HttpSignedRequest {
32
+ raw: number[];
33
+ method: string;
34
+ path: string;
35
+ headers: Array<[string, string]>;
36
+ }
37
+ interface PlainHttpRequest {
38
+ raw: number[];
39
+ method: string;
40
+ path: string;
41
+ headers: Array<[string, string]>;
42
+ userAgent?: string | null;
43
+ remoteIp?: string | null;
44
+ }
45
+ type AgentRequest = {
46
+ protocol: 'McpI';
47
+ request: McpIRequest;
48
+ } | {
49
+ protocol: 'A2A';
50
+ request: A2ARequest;
51
+ } | {
52
+ protocol: 'A2P';
53
+ request: A2PRequest;
54
+ } | {
55
+ protocol: 'HttpSigned';
56
+ request: HttpSignedRequest;
57
+ } | {
58
+ protocol: 'PlainHttp';
59
+ request: PlainHttpRequest;
60
+ };
61
+ type BlockReason = {
62
+ kind: 'Revoked';
63
+ } | {
64
+ kind: 'InvalidSignature';
65
+ } | {
66
+ kind: 'Unauthenticated';
67
+ } | {
68
+ kind: 'Expired';
69
+ } | {
70
+ kind: 'OutOfScope';
71
+ requested: string;
72
+ granted: string[];
73
+ } | {
74
+ kind: 'LowReputation';
75
+ score: number;
76
+ threshold: number;
77
+ } | {
78
+ kind: 'PolicyDenied';
79
+ detail: string;
80
+ } | {
81
+ kind: 'ParseError';
82
+ detail: string;
83
+ };
84
+ interface ChallengeParams {
85
+ nonce: string;
86
+ audience: string;
87
+ expiresAt: number;
88
+ algorithmsAccepted: string[];
89
+ }
90
+ interface RedirectTarget {
91
+ url: string;
92
+ reason: string;
93
+ state?: string | null;
94
+ }
95
+ type SuggestedAction = {
96
+ kind: 'UseDifferentScope';
97
+ scope: string;
98
+ } | {
99
+ kind: 'UpdateRequestField';
100
+ field: string;
101
+ acceptedValues: string[];
102
+ } | {
103
+ kind: 'UpgradeProtocolVersion';
104
+ version: string;
105
+ } | {
106
+ kind: 'Other';
107
+ code: string;
108
+ detail: string;
109
+ };
110
+ interface InstructPayload {
111
+ problem: string;
112
+ title: string;
113
+ suggestedActions: SuggestedAction[];
114
+ }
115
+ type Decision = {
116
+ kind: 'Permit';
117
+ } | {
118
+ kind: 'Block';
119
+ reason: BlockReason;
120
+ } | {
121
+ kind: 'Challenge';
122
+ params: ChallengeParams;
123
+ } | {
124
+ kind: 'Redirect';
125
+ target: RedirectTarget;
126
+ } | {
127
+ kind: 'Instruct';
128
+ payload: InstructPayload;
129
+ };
130
+ type EnforcementMode = 'enforce' | 'observe';
131
+ interface EngineInfo {
132
+ name: string;
133
+ version: string;
134
+ rulesetHash: string;
135
+ rulesetVersion: string;
136
+ buildSha?: string;
137
+ extras?: Record<string, unknown>;
138
+ }
139
+ interface VerifyResult {
140
+ decision: Decision;
141
+ enforcementMode: EnforcementMode;
142
+ engineInfo: EngineInfo;
143
+ }
144
+ type KeyType = 'Ed25519';
145
+ interface VerificationMethod {
146
+ id: string;
147
+ keyType: KeyType;
148
+ publicKeyBytes: number[];
149
+ }
150
+ interface DidDocument {
151
+ id: string;
152
+ verificationMethods: VerificationMethod[];
153
+ }
154
+ interface ContextSpec {
155
+ didDocs?: Record<string, DidDocument>;
156
+ revoked?: Record<string, number[]>;
157
+ reputation?: Record<string, number>;
158
+ tenantDecision: Decision;
159
+ nowUnix: number;
160
+ enforcementMode: EnforcementMode;
161
+ }
162
+
163
+ export type { AgentRequest as A, BlockReason as B, ContextSpec as C, Decision as D, EnforcementMode as E, HttpSignedRequest as H, InstructPayload as I, KeyType as K, McpIRequest as M, PlainHttpRequest as P, RedirectTarget as R, SuggestedAction as S, VerifyResult as V, A2ARequest as a, A2PRequest as b, ChallengeParams as c, DidDocument as d, EngineInfo as e, VerificationMethod as f };
@@ -0,0 +1,163 @@
1
+ import { McpIPayload } from '@kya-os/checkpoint-shared';
2
+
3
+ /**
4
+ * TypeScript shapes for the `kya-os-engine` WASM `verify` ABI (E-1).
5
+ *
6
+ * These mirror the Rust types in `rust/crates/kya-os-engine/src/{types,context,signing,error}.rs`.
7
+ *
8
+ * **Wire format is camelCase across every type.** The engine crate
9
+ * carries `#[serde(rename_all = "camelCase")]` on every struct with
10
+ * multi-word fields, so JS hosts produce idiomatic camelCase and the
11
+ * cross-runtime parity contract has one convention. The initial E-1
12
+ * drop had an asymmetry (some structs lacked the rename attr) which
13
+ * Bugbot caught at the serde-wasm-bindgen boundary; harmonising the
14
+ * Rust side fixed it without changing any Rust public-API field name.
15
+ *
16
+ * **Do not extend these in this package.** When the engine's surface
17
+ * changes (a re-ratification event), regenerate from the Rust types.
18
+ * Phase 1 host wrappers see what D-design § 6 ratified — nothing more.
19
+ */
20
+
21
+ interface McpIRequest {
22
+ raw: number[];
23
+ payload: McpIPayload;
24
+ }
25
+ interface A2ARequest {
26
+ raw: number[];
27
+ }
28
+ interface A2PRequest {
29
+ raw: number[];
30
+ }
31
+ interface HttpSignedRequest {
32
+ raw: number[];
33
+ method: string;
34
+ path: string;
35
+ headers: Array<[string, string]>;
36
+ }
37
+ interface PlainHttpRequest {
38
+ raw: number[];
39
+ method: string;
40
+ path: string;
41
+ headers: Array<[string, string]>;
42
+ userAgent?: string | null;
43
+ remoteIp?: string | null;
44
+ }
45
+ type AgentRequest = {
46
+ protocol: 'McpI';
47
+ request: McpIRequest;
48
+ } | {
49
+ protocol: 'A2A';
50
+ request: A2ARequest;
51
+ } | {
52
+ protocol: 'A2P';
53
+ request: A2PRequest;
54
+ } | {
55
+ protocol: 'HttpSigned';
56
+ request: HttpSignedRequest;
57
+ } | {
58
+ protocol: 'PlainHttp';
59
+ request: PlainHttpRequest;
60
+ };
61
+ type BlockReason = {
62
+ kind: 'Revoked';
63
+ } | {
64
+ kind: 'InvalidSignature';
65
+ } | {
66
+ kind: 'Unauthenticated';
67
+ } | {
68
+ kind: 'Expired';
69
+ } | {
70
+ kind: 'OutOfScope';
71
+ requested: string;
72
+ granted: string[];
73
+ } | {
74
+ kind: 'LowReputation';
75
+ score: number;
76
+ threshold: number;
77
+ } | {
78
+ kind: 'PolicyDenied';
79
+ detail: string;
80
+ } | {
81
+ kind: 'ParseError';
82
+ detail: string;
83
+ };
84
+ interface ChallengeParams {
85
+ nonce: string;
86
+ audience: string;
87
+ expiresAt: number;
88
+ algorithmsAccepted: string[];
89
+ }
90
+ interface RedirectTarget {
91
+ url: string;
92
+ reason: string;
93
+ state?: string | null;
94
+ }
95
+ type SuggestedAction = {
96
+ kind: 'UseDifferentScope';
97
+ scope: string;
98
+ } | {
99
+ kind: 'UpdateRequestField';
100
+ field: string;
101
+ acceptedValues: string[];
102
+ } | {
103
+ kind: 'UpgradeProtocolVersion';
104
+ version: string;
105
+ } | {
106
+ kind: 'Other';
107
+ code: string;
108
+ detail: string;
109
+ };
110
+ interface InstructPayload {
111
+ problem: string;
112
+ title: string;
113
+ suggestedActions: SuggestedAction[];
114
+ }
115
+ type Decision = {
116
+ kind: 'Permit';
117
+ } | {
118
+ kind: 'Block';
119
+ reason: BlockReason;
120
+ } | {
121
+ kind: 'Challenge';
122
+ params: ChallengeParams;
123
+ } | {
124
+ kind: 'Redirect';
125
+ target: RedirectTarget;
126
+ } | {
127
+ kind: 'Instruct';
128
+ payload: InstructPayload;
129
+ };
130
+ type EnforcementMode = 'enforce' | 'observe';
131
+ interface EngineInfo {
132
+ name: string;
133
+ version: string;
134
+ rulesetHash: string;
135
+ rulesetVersion: string;
136
+ buildSha?: string;
137
+ extras?: Record<string, unknown>;
138
+ }
139
+ interface VerifyResult {
140
+ decision: Decision;
141
+ enforcementMode: EnforcementMode;
142
+ engineInfo: EngineInfo;
143
+ }
144
+ type KeyType = 'Ed25519';
145
+ interface VerificationMethod {
146
+ id: string;
147
+ keyType: KeyType;
148
+ publicKeyBytes: number[];
149
+ }
150
+ interface DidDocument {
151
+ id: string;
152
+ verificationMethods: VerificationMethod[];
153
+ }
154
+ interface ContextSpec {
155
+ didDocs?: Record<string, DidDocument>;
156
+ revoked?: Record<string, number[]>;
157
+ reputation?: Record<string, number>;
158
+ tenantDecision: Decision;
159
+ nowUnix: number;
160
+ enforcementMode: EnforcementMode;
161
+ }
162
+
163
+ export type { AgentRequest as A, BlockReason as B, ContextSpec as C, Decision as D, EnforcementMode as E, HttpSignedRequest as H, InstructPayload as I, KeyType as K, McpIRequest as M, PlainHttpRequest as P, RedirectTarget as R, SuggestedAction as S, VerifyResult as V, A2ARequest as a, A2PRequest as b, ChallengeParams as c, DidDocument as d, EngineInfo as e, VerificationMethod as f };
package/package.json ADDED
@@ -0,0 +1,141 @@
1
+ {
2
+ "name": "@kya-os/checkpoint-wasm-runtime",
3
+ "version": "1.0.0",
4
+ "description": "Checkpoint WASM runtime for AI agent detection across all environments (formerly @kya-os/agentshield-wasm-runtime)",
5
+ "keywords": [
6
+ "ai",
7
+ "agent",
8
+ "detection",
9
+ "wasm",
10
+ "webassembly",
11
+ "edge-runtime",
12
+ "checkpoint"
13
+ ],
14
+ "license": "MIT OR Apache-2.0",
15
+ "author": "KnowThat.ai",
16
+ "homepage": "https://github.com/Know-That-Ai/agent-shield#readme",
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/Know-That-Ai/agent-shield.git",
20
+ "directory": "packages/checkpoint-wasm-runtime"
21
+ },
22
+ "bugs": {
23
+ "url": "https://github.com/Know-That-Ai/agent-shield/issues"
24
+ },
25
+ "main": "./dist/index.js",
26
+ "module": "./dist/index.mjs",
27
+ "types": "./dist/index.d.ts",
28
+ "exports": {
29
+ ".": {
30
+ "types": "./dist/index.d.ts",
31
+ "edge-runtime": "./dist/edge.mjs",
32
+ "import": "./dist/index.mjs",
33
+ "require": "./dist/index.js"
34
+ },
35
+ "./edge": {
36
+ "types": "./dist/edge.d.ts",
37
+ "edge-runtime": "./dist/edge.mjs",
38
+ "import": "./dist/edge.mjs"
39
+ },
40
+ "./node": {
41
+ "types": "./dist/node.d.ts",
42
+ "import": "./dist/node.mjs",
43
+ "require": "./dist/node.js"
44
+ },
45
+ "./wasm": {
46
+ "types": "./dist/wasm.d.ts",
47
+ "import": "./dist/wasm.mjs"
48
+ },
49
+ "./engine": {
50
+ "edge-runtime": {
51
+ "types": "./dist/engine-edge.d.ts",
52
+ "import": "./dist/engine-edge.mjs"
53
+ },
54
+ "browser": {
55
+ "types": "./dist/engine-edge.d.ts",
56
+ "import": "./dist/engine-edge.mjs"
57
+ },
58
+ "types": "./dist/engine.d.ts",
59
+ "import": "./dist/engine.mjs",
60
+ "require": "./dist/engine.js"
61
+ },
62
+ "./engine/edge": {
63
+ "types": "./dist/engine-edge.d.ts",
64
+ "edge-runtime": "./dist/engine-edge.mjs",
65
+ "browser": "./dist/engine-edge.mjs",
66
+ "import": "./dist/engine-edge.mjs",
67
+ "require": "./dist/engine-edge.js"
68
+ },
69
+ "./orchestrator": {
70
+ "edge-runtime": {
71
+ "types": "./dist/orchestrator-edge.d.ts",
72
+ "import": "./dist/orchestrator-edge.mjs"
73
+ },
74
+ "browser": {
75
+ "types": "./dist/orchestrator-edge.d.ts",
76
+ "import": "./dist/orchestrator-edge.mjs"
77
+ },
78
+ "types": "./dist/orchestrator.d.ts",
79
+ "import": "./dist/orchestrator.mjs",
80
+ "require": "./dist/orchestrator.js"
81
+ },
82
+ "./orchestrator/edge": {
83
+ "types": "./dist/orchestrator-edge.d.ts",
84
+ "edge-runtime": "./dist/orchestrator-edge.mjs",
85
+ "browser": "./dist/orchestrator-edge.mjs",
86
+ "import": "./dist/orchestrator-edge.mjs",
87
+ "require": "./dist/orchestrator-edge.js"
88
+ },
89
+ "./adapters": {
90
+ "types": "./dist/adapters.d.ts",
91
+ "import": "./dist/adapters.mjs",
92
+ "require": "./dist/adapters.js"
93
+ },
94
+ "./wasm/agentshield_wasm_bg.wasm": "./wasm/agentshield_wasm_bg.wasm",
95
+ "./wasm/kya-os-engine/kya_os_engine_bg.wasm": "./wasm/kya-os-engine/kya_os_engine_bg.wasm",
96
+ "./wasm/kya-os-engine-web/kya_os_engine_bg.wasm": "./wasm/kya-os-engine-web/kya_os_engine_bg.wasm",
97
+ "./package.json": "./package.json"
98
+ },
99
+ "files": [
100
+ "dist",
101
+ "wasm",
102
+ "README.md",
103
+ "CHANGELOG.md"
104
+ ],
105
+ "engines": {
106
+ "node": ">=18.0.0"
107
+ },
108
+ "dependencies": {
109
+ "multiformats": "^13",
110
+ "@kya-os/checkpoint-shared": "1.0.0"
111
+ },
112
+ "devDependencies": {
113
+ "@types/node": "^20.11.24",
114
+ "@vitest/coverage-v8": "^1.3.1",
115
+ "rimraf": "^5.0.5",
116
+ "tsup": "^8.0.2",
117
+ "typescript": "^5.4.2",
118
+ "vitest": "^1.3.1"
119
+ },
120
+ "publishConfig": {
121
+ "access": "public"
122
+ },
123
+ "sideEffects": false,
124
+ "scripts": {
125
+ "build": "tsup",
126
+ "build:watch": "tsup --watch",
127
+ "dev": "tsup --watch",
128
+ "clean": "rimraf dist .tsbuildinfo",
129
+ "test": "vitest run",
130
+ "test:watch": "vitest",
131
+ "test:coverage": "vitest run --coverage",
132
+ "type-check": "tsc --noEmit",
133
+ "lint": "eslint src --ext .ts,.tsx",
134
+ "lint:fix": "eslint src --ext .ts,.tsx --fix",
135
+ "format": "prettier --write \"src/**/*.{ts,tsx,json,md}\"",
136
+ "format:check": "prettier --check \"src/**/*.{ts,tsx,json,md}\"",
137
+ "copy-wasm": "mkdir -p ./wasm && cp ../../rust/crates/agentshield-wasm/pkg/agentshield_wasm_bg.wasm ./wasm/",
138
+ "copy-engine-wasm": "mkdir -p ./wasm/kya-os-engine && cp ../../rust/crates/kya-os-engine/pkg/kya_os_engine_bg.wasm ../../rust/crates/kya-os-engine/pkg/kya_os_engine_bg.wasm.d.ts ../../rust/crates/kya-os-engine/pkg/kya_os_engine.d.ts ../../rust/crates/kya-os-engine/pkg/kya_os_engine.js ./wasm/kya-os-engine/",
139
+ "copy-engine-wasm-web": "mkdir -p ./wasm/kya-os-engine-web && cp ../../rust/crates/kya-os-engine/pkg-web/kya_os_engine_bg.wasm ../../rust/crates/kya-os-engine/pkg-web/kya_os_engine_bg.wasm.d.ts ../../rust/crates/kya-os-engine/pkg-web/kya_os_engine.d.ts ../../rust/crates/kya-os-engine/pkg-web/kya_os_engine.js ./wasm/kya-os-engine-web/"
140
+ }
141
+ }