@caracalai/revocation 0.1.2 → 0.1.3-rc.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/README.md ADDED
@@ -0,0 +1,6 @@
1
+ # Caracal Revocation for TypeScript
2
+
3
+ TypeScript revocation lookup interface and in-memory default for Caracal resource servers.
4
+
5
+ The in-memory store is process-local. Distributed production deployments should use a connector-backed store and fail closed when revocation cannot be checked or writes cannot be confirmed.
6
+
package/dist/iface.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export interface RevocationStore {
2
2
  isRevoked: (sid: string) => boolean | Promise<boolean>;
3
- markRevoked: (sid: string, ttlMs?: number) => void;
3
+ markRevoked: (sid: string, ttlMs?: number) => void | Promise<void>;
4
4
  }
5
5
  //# sourceMappingURL=iface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../src/iface.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACtD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACnD"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../src/iface.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACtD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnE"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // Copyright (C) 2026 Garudex Labs. All Rights Reserved.
2
2
  // Caracal, a product of Garudex Labs
3
3
  //
4
- // @caracalai/revocation revocation iface and in-memory default.
4
+ // @caracalai/revocation: revocation iface and in-memory default.
5
5
  export * from './iface.js';
6
6
  export * from './inmem.js';
7
7
  //# 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,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,kEAAkE;AAElE,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,iEAAiE;AAEjE,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
package/dist/inmem.d.ts CHANGED
@@ -11,6 +11,5 @@ export declare class InMemoryRevocationStore implements RevocationStore {
11
11
  markRevoked(sid: string, ttlMs?: number): void;
12
12
  size(): number;
13
13
  private reapExpired;
14
- private evictOldest;
15
14
  }
16
15
  //# sourceMappingURL=inmem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inmem.d.ts","sourceRoot":"","sources":["../src/inmem.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAMjD,qBAAa,uBAAwB,YAAW,eAAe;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;gBAEvB,IAAI,GAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAKrE,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAU/B,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ9C,IAAI,IAAI,MAAM;IAId,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,WAAW;CAIpB"}
1
+ {"version":3,"file":"inmem.d.ts","sourceRoot":"","sources":["../src/inmem.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAMjD,qBAAa,uBAAwB,YAAW,eAAe;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;gBAEvB,IAAI,GAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAKrE,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAU/B,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ9C,IAAI,IAAI,MAAM;IAId,OAAO,CAAC,WAAW;CAOpB"}
package/dist/inmem.js CHANGED
@@ -24,7 +24,7 @@ export class InMemoryRevocationStore {
24
24
  if (this.entries.size >= this.maxEntries) {
25
25
  this.reapExpired();
26
26
  if (this.entries.size >= this.maxEntries)
27
- this.evictOldest();
27
+ throw new Error('Revocation store capacity exceeded');
28
28
  }
29
29
  this.entries.set(sid, { expiresAt: Date.now() + (ttlMs ?? this.defaultTtlMs) });
30
30
  }
@@ -38,10 +38,5 @@ export class InMemoryRevocationStore {
38
38
  this.entries.delete(sid);
39
39
  }
40
40
  }
41
- evictOldest() {
42
- const it = this.entries.keys().next();
43
- if (!it.done)
44
- this.entries.delete(it.value);
45
- }
46
41
  }
47
42
  //# sourceMappingURL=inmem.js.map
package/dist/inmem.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"inmem.js","sourceRoot":"","sources":["../src/inmem.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,sEAAsE;AAQtE,MAAM,OAAO,uBAAuB;IACjB,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAA;IAClC,YAAY,CAAQ;IACpB,UAAU,CAAQ;IAEnC,YAAY,OAAuD,EAAE;QACnE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAA;IAC9C,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QACxB,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACxB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,KAAc;QACrC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,EAAE,CAAA;YAClB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,WAAW,EAAE,CAAA;QAC9D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;IACjF,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;IAC1B,CAAC;IAEO,WAAW;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,SAAS,IAAI,GAAG;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;QACrC,IAAI,CAAC,EAAE,CAAC,IAAI;YAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;CACF"}
1
+ {"version":3,"file":"inmem.js","sourceRoot":"","sources":["../src/inmem.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,sEAAsE;AAQtE,MAAM,OAAO,uBAAuB;IACjB,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAA;IAClC,YAAY,CAAQ;IACpB,UAAU,CAAQ;IAEnC,YAAY,OAAuD,EAAE;QACnE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAA;IAC9C,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QACxB,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACxB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,KAAc;QACrC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,EAAE,CAAA;YAClB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACjG,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;IACjF,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;IAC1B,CAAC;IAEO,WAAW;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,SAAS,IAAI,GAAG;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;CAEF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@caracalai/revocation",
3
- "version": "0.1.2",
3
+ "version": "0.1.3-rc.1",
4
4
  "description": "Caracal revocation lookup interface and in-memory default.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/Garudex-Labs/caracal",