@helipod/authz 0.1.0 → 0.1.3

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 (2) hide show
  1. package/README.md +2 -2
  2. package/package.json +9 -9
package/README.md CHANGED
@@ -60,7 +60,7 @@ export const authz = defineAuthz({
60
60
  That's it. Now **every** query on `documents` — including ones that forgot to filter, and including `documents` hydrated through a join — returns only rows the caller owns, and any write to a `documents` row the caller doesn't own throws `Forbidden`. And it's reactive: if you later change `ownerId`, every subscriber's view updates live.
61
61
 
62
62
  ```ts
63
- // convex/documents.ts — no manual authz call needed; the policy is enforced by the engine
63
+ // helipod/documents.ts — no manual authz call needed; the policy is enforced by the engine
64
64
  export const list = query(async (ctx) => ctx.db.query("documents").collect()); // already filtered
65
65
  ```
66
66
 
@@ -413,7 +413,7 @@ This is the deliberate, correct trade for a reactive backend — and it is state
413
413
 
414
414
  ## Comparison (at a glance)
415
415
 
416
- | | Helipod authz | OpenFGA / SpiceDB (ReBAC) | Supabase RLS | Plain function checks |
416
+ | | Helipod authz | OpenFGA / SpiceDB (ReBAC) | SQL row-level security | Plain function checks |
417
417
  |---|---|---|---|---|
418
418
  | Reactive (live revocation) | ✅ by construction | ❌ out-of-process check | ❌ DB can't notify | ⚠️ only if you read authz data |
419
419
  | Check cost | O(1) indexed read | graph traversal | row predicate | varies |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helipod/authz",
3
- "version": "0.1.0",
3
+ "version": "0.1.3",
4
4
  "license": "FSL-1.1-Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -14,18 +14,18 @@
14
14
  "scripts": {
15
15
  "build": "tsup",
16
16
  "typecheck": "tsc --noEmit",
17
- "test": "vitest run"
17
+ "test": "vitest run --testTimeout=60000 --hookTimeout=60000"
18
18
  },
19
19
  "dependencies": {
20
- "@helipod/auth": "0.1.0",
21
- "@helipod/component": "0.1.0",
22
- "@helipod/errors": "0.1.0",
23
- "@helipod/executor": "0.1.0",
24
- "@helipod/values": "0.1.0"
20
+ "@helipod/auth": "0.1.3",
21
+ "@helipod/component": "0.1.3",
22
+ "@helipod/errors": "0.1.3",
23
+ "@helipod/executor": "0.1.3",
24
+ "@helipod/values": "0.1.3"
25
25
  },
26
26
  "devDependencies": {
27
- "@helipod/docstore-sqlite": "0.1.0",
28
- "@helipod/runtime-embedded": "0.1.0",
27
+ "@helipod/docstore-sqlite": "0.1.3",
28
+ "@helipod/runtime-embedded": "0.1.3",
29
29
  "@types/node": "^22.10.5",
30
30
  "tsup": "^8.3.5",
31
31
  "typescript": "^5.7.2",