@caracalai/revocation-redis 0.1.1 → 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.
@@ -6,9 +6,11 @@ export interface RedisRevocationClient {
6
6
  set: (key: string, value: string, mode: 'PX', ttlMs: number) => Promise<unknown>;
7
7
  xgroup?: (...args: string[]) => Promise<unknown>;
8
8
  xreadgroup?: (...args: (string | number)[]) => Promise<RedisStreamResult | null>;
9
+ xautoclaim?: (...args: (string | number)[]) => Promise<RedisAutoClaimResult>;
9
10
  xack?: (stream: string, group: string, id: string) => Promise<unknown>;
10
11
  }
11
12
  export type RedisStreamResult = Array<[string, Array<[string, string[]]>]>;
13
+ export type RedisAutoClaimResult = [string, Array<[string, string[]]>];
12
14
  export interface RedisRevocationStoreOptions {
13
15
  keyPrefix?: string;
14
16
  defaultTtlMs?: number;
@@ -30,6 +32,7 @@ export interface RedisRevocationConsumerOptions {
30
32
  consumer: string;
31
33
  batchSize?: number;
32
34
  blockMs?: number;
35
+ pendingIdleMs?: number;
33
36
  streamHmacKey?: Buffer;
34
37
  requireSignature?: boolean;
35
38
  }
@@ -41,11 +44,13 @@ export declare class RedisRevocationConsumer {
41
44
  private readonly group;
42
45
  private readonly batchSize;
43
46
  private readonly blockMs;
47
+ private readonly pendingIdleMs;
44
48
  private readonly streamHmacKey;
45
49
  private readonly requireSignature;
46
50
  constructor(redis: RedisRevocationClient, store: RedisRevocationStore, opts: RedisRevocationConsumerOptions);
47
51
  ensureGroup(): Promise<void>;
48
52
  pollOnce(): Promise<number>;
53
+ private replayPending;
49
54
  private processMessage;
50
55
  private verify;
51
56
  private ack;
@@ -1 +1 @@
1
- {"version":3,"file":"revocation.d.ts","sourceRoot":"","sources":["../src/revocation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"revocation.d.ts","sourceRoot":"","sources":["../src/revocation.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ export class RedisRevocationConsumer {
46
46
  group;
47
47
  batchSize;
48
48
  blockMs;
49
+ pendingIdleMs;
49
50
  streamHmacKey;
50
51
  requireSignature;
51
52
  constructor(redis, store, opts) {
@@ -56,6 +57,7 @@ export class RedisRevocationConsumer {
56
57
  this.group = opts.group ?? 'resource-revocation';
57
58
  this.batchSize = opts.batchSize ?? 50;
58
59
  this.blockMs = opts.blockMs ?? 0;
60
+ this.pendingIdleMs = opts.pendingIdleMs ?? 30_000;
59
61
  this.streamHmacKey = opts.streamHmacKey;
60
62
  this.requireSignature = opts.requireSignature ?? Boolean(opts.streamHmacKey);
61
63
  if (this.requireSignature && !this.streamHmacKey) {
@@ -76,8 +78,10 @@ export class RedisRevocationConsumer {
76
78
  async pollOnce() {
77
79
  if (!this.redis.xreadgroup)
78
80
  throw new Error('redis client does not support xreadgroup');
81
+ if (!this.redis.xautoclaim)
82
+ throw new Error('redis client does not support xautoclaim');
83
+ let handled = await this.replayPending();
79
84
  const rows = await this.redis.xreadgroup('GROUP', this.group, this.opts.consumer, 'COUNT', this.batchSize, 'BLOCK', this.blockMs, 'STREAMS', this.stream, '>');
80
- let handled = 0;
81
85
  for (const [, messages] of rows ?? []) {
82
86
  for (const [id, fields] of messages) {
83
87
  await this.processMessage(id, fields);
@@ -86,15 +90,30 @@ export class RedisRevocationConsumer {
86
90
  }
87
91
  return handled;
88
92
  }
93
+ async replayPending() {
94
+ if (!this.redis.xautoclaim)
95
+ throw new Error('redis client does not support xautoclaim');
96
+ let handled = 0;
97
+ let start = '0-0';
98
+ for (;;) {
99
+ const [next, messages] = await this.redis.xautoclaim(this.stream, this.group, this.opts.consumer, this.pendingIdleMs, start, 'COUNT', this.batchSize);
100
+ for (const [id, fields] of messages) {
101
+ await this.processMessage(id, fields);
102
+ handled++;
103
+ }
104
+ if (messages.length === 0 || next === '' || next === '0-0')
105
+ return handled;
106
+ start = next;
107
+ }
108
+ }
89
109
  async processMessage(id, fields) {
90
110
  const values = fieldsToValues(fields);
91
111
  if (!this.verify(values)) {
92
112
  await this.ack(id);
93
113
  return;
94
114
  }
95
- const sid = values.session_id;
96
- if (typeof sid === 'string' && sid !== '') {
97
- await this.store.markRevoked(sid);
115
+ for (const anchor of revocationAnchors(values)) {
116
+ await this.store.markRevoked(anchor);
98
117
  }
99
118
  await this.ack(id);
100
119
  }
@@ -115,6 +134,16 @@ export class RedisRevocationConsumer {
115
134
  await this.redis.xack(this.stream, this.group, id);
116
135
  }
117
136
  }
137
+ function revocationAnchors(values) {
138
+ const anchors = [
139
+ values.session_id,
140
+ values.sid,
141
+ values.root_sid,
142
+ values.agent_session_id,
143
+ values.delegation_edge_id,
144
+ ].filter((value) => typeof value === 'string' && value !== '');
145
+ return [...new Set(anchors)];
146
+ }
118
147
  function fieldsToValues(fields) {
119
148
  const out = {};
120
149
  for (let i = 0; i < fields.length; i += 2) {
@@ -1 +1 @@
1
- {"version":3,"file":"revocation.js","sourceRoot":"","sources":["../src/revocation.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,qCAAqC;AACrC,EAAE;AACF,0EAA0E;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAoB,MAAM,iBAAiB,CAAA;AAGhF,MAAM,CAAC,MAAM,iBAAiB,GAAG,yBAAyB,CAAA;AAC1D,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAkB5D,MAAM,OAAO,oBAAoB;IAKF;IAJZ,SAAS,CAAQ;IACjB,YAAY,CAAQ;IACpB,UAAU,CAAS;IAEpC,YAA6B,KAA4B,EAAE,OAAoC,EAAE;QAApE,UAAK,GAAL,KAAK,CAAuB;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,2BAA2B,CAAA;QAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,yBAAyB,CAAA;QAClE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,IAAI,GAAG,KAAK,EAAE;YAAE,OAAO,KAAK,CAAA;QAC5B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAA;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAA;YAChC,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,KAAc;QAC3C,IAAI,GAAG,KAAK,EAAE;YAAE,OAAM;QACtB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,CAAA;IAC5E,CAAC;IAEO,GAAG,CAAC,GAAW;QACrB,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAA;IAClC,CAAC;CACF;AAYD,MAAM,OAAO,uBAAuB;IASf;IACA;IACA;IAVF,MAAM,CAAQ;IACd,KAAK,CAAQ;IACb,SAAS,CAAQ;IACjB,OAAO,CAAQ;IACf,aAAa,CAAoB;IACjC,gBAAgB,CAAS;IAE1C,YACmB,KAA4B,EAC5B,KAA2B,EAC3B,IAAoC;QAFpC,UAAK,GAAL,KAAK,CAAuB;QAC5B,UAAK,GAAL,KAAK,CAAsB;QAC3B,SAAI,GAAJ,IAAI,CAAgC;QAErD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,iBAAiB,CAAA;QAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,qBAAqB,CAAA;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAA;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC5E,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;QAC5E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QAC/E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAE,MAAM,GAAG,CAAA;QACtE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACvF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CACtC,OAAO,EACP,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,OAAO,EACP,IAAI,CAAC,SAAS,EACd,OAAO,EACP,IAAI,CAAC,OAAO,EACZ,SAAS,EACT,IAAI,CAAC,MAAM,EACX,GAAG,CACJ,CAAA;QACD,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,KAAK,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;gBACrC,OAAO,EAAE,CAAA;YACX,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,EAAU,EAAE,MAAgB;QACvD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;QACrC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAClB,OAAM;QACR,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAA;QAC7B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACnC,CAAC;QACD,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACpB,CAAC;IAEO,MAAM,CAAC,MAAmC;QAChD,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAA;QAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAA;QAChE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACxC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC1C,OAAO,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,IAAI,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACrF,CAAC;IAEO,KAAK,CAAC,GAAG,CAAC,EAAU;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QAC3E,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACpD,CAAC;CACF;AAED,SAAS,cAAc,CAAC,MAAgB;IACtC,MAAM,GAAG,GAAgC,EAAE,CAAA;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACrB,IAAI,GAAG,KAAK,SAAS;YAAE,SAAQ;QAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAChC,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"revocation.js","sourceRoot":"","sources":["../src/revocation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@caracalai/revocation-redis",
3
- "version": "0.1.1",
3
+ "version": "0.1.3-rc.1",
4
4
  "description": "Caracal Redis-backed revocation connector.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/Garudex-Labs/caracal",
@@ -16,6 +16,9 @@
16
16
  "connector"
17
17
  ],
18
18
  "type": "module",
19
+ "engines": {
20
+ "node": ">=24"
21
+ },
19
22
  "main": "./dist/index.js",
20
23
  "types": "./dist/index.d.ts",
21
24
  "exports": {
@@ -26,7 +29,6 @@
26
29
  },
27
30
  "files": [
28
31
  "dist",
29
- "README.md",
30
32
  "LICENSE"
31
33
  ],
32
34
  "publishConfig": {
@@ -39,8 +41,8 @@
39
41
  "prepublishOnly": "tsc"
40
42
  },
41
43
  "dependencies": {
42
- "@caracalai/core": "workspace:*",
43
- "@caracalai/revocation": "workspace:*"
44
+ "@caracalai/core": "0.1.3-rc.1",
45
+ "@caracalai/revocation": "0.1.3-rc.1"
44
46
  },
45
47
  "devDependencies": {
46
48
  "@types/node": "^24.12.2",