@visiq/core-wasm 0.1.8 → 0.1.10
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/index.d.ts +19 -0
- package/package.json +2 -2
- package/pkg/visiq_core_bg.wasm +0 -0
package/index.d.ts
CHANGED
|
@@ -53,6 +53,25 @@ export interface CoreNoCoverage {
|
|
|
53
53
|
}
|
|
54
54
|
export type SessionEvalState = Record<string, unknown>;
|
|
55
55
|
|
|
56
|
+
/**
|
|
57
|
+
* `input.session` IS TOTAL AT ALL THREE ENTRYPOINTS BELOW (since 0.1.10).
|
|
58
|
+
*
|
|
59
|
+
* Whatever a caller supplies — absent, null, a bare `{}`, a partial object, or a
|
|
60
|
+
* type-confused leaf at any depth — is HYDRATED into the SSOT-shaped session state
|
|
61
|
+
* before evaluation. This matters for exactly one class of rule and it is the class
|
|
62
|
+
* that grants authority: a relational identity binding
|
|
63
|
+
* (`not input.normalized.write.subject_id in input.session.identity.attested_subjects`)
|
|
64
|
+
* cannot be satisfied against an ABSENT right operand, because the relational hard stop
|
|
65
|
+
* refuses a non-array before negation — so before hydration the deny arm did not fire
|
|
66
|
+
* and a confused-deputy action was PERMITTED. Hydration degrades an out-of-shape leaf to
|
|
67
|
+
* the EMPTY set, which is the protective direction, and preserves a well-formed attested
|
|
68
|
+
* set unchanged. A caller therefore does NOT need to pre-materialize the session, and a
|
|
69
|
+
* partial one can no longer authorize.
|
|
70
|
+
*
|
|
71
|
+
* Proven against the COMMITTED wasm — the bytes in this package, not just the Rust
|
|
72
|
+
* source — by this package's own session-materialization gate, a required CI
|
|
73
|
+
* context. A correct fix that was never rebuilt reds there rather than shipping.
|
|
74
|
+
*/
|
|
56
75
|
export function evaluate(event: unknown, bundle: unknown): CoreDecision;
|
|
57
76
|
export function evaluateUnifiedRulesRaw(
|
|
58
77
|
op: 'action' | 'retrieval' | 'delegation',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visiq/core-wasm",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "VisIQ governance core for Node.js — the one compiled Rust rule engine behind every VisIQ SDK, prebuilt to WebAssembly; evaluate(event, bundle) takes plain objects and synchronously returns a decision object.",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "index.js",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
|
-
"url": "https://github.com/VISIQ-LABS/
|
|
11
|
+
"url": "https://github.com/VISIQ-LABS/visiq-platform.git",
|
|
12
12
|
"directory": "packages/core-wasm"
|
|
13
13
|
},
|
|
14
14
|
"homepage": "https://docs.visiqlabs.com",
|
package/pkg/visiq_core_bg.wasm
CHANGED
|
Binary file
|