@caracalai/revocation-redis 0.1.2 → 0.1.4-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/dist/revocation.d.ts +28 -0
- package/dist/revocation.d.ts.map +1 -1
- package/dist/revocation.js +154 -3
- package/dist/revocation.js.map +1 -1
- package/package.json +6 -4
package/dist/revocation.d.ts
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import type { RevocationStore } from '@caracalai/revocation';
|
|
2
2
|
export declare const REVOCATION_STREAM = "caracal.sessions.revoke";
|
|
3
|
+
export declare const DELEGATION_INVALIDATION_STREAM = "caracal.delegations.invalidate";
|
|
3
4
|
export declare const DEFAULT_REVOCATION_TTL_MS: number;
|
|
4
5
|
export interface RedisRevocationClient {
|
|
5
6
|
get: (key: string) => Promise<string | null>;
|
|
6
7
|
set: (key: string, value: string, mode: 'PX', ttlMs: number) => Promise<unknown>;
|
|
7
8
|
xgroup?: (...args: string[]) => Promise<unknown>;
|
|
8
9
|
xreadgroup?: (...args: (string | number)[]) => Promise<RedisStreamResult | null>;
|
|
10
|
+
xautoclaim?: (...args: (string | number)[]) => Promise<RedisAutoClaimResult>;
|
|
9
11
|
xack?: (stream: string, group: string, id: string) => Promise<unknown>;
|
|
10
12
|
}
|
|
11
13
|
export type RedisStreamResult = Array<[string, Array<[string, string[]]>]>;
|
|
14
|
+
export type RedisAutoClaimResult = [string, Array<[string, string[]]>];
|
|
12
15
|
export interface RedisRevocationStoreOptions {
|
|
13
16
|
keyPrefix?: string;
|
|
14
17
|
defaultTtlMs?: number;
|
|
@@ -22,7 +25,10 @@ export declare class RedisRevocationStore implements RevocationStore {
|
|
|
22
25
|
constructor(redis: RedisRevocationClient, opts?: RedisRevocationStoreOptions);
|
|
23
26
|
isRevoked(sid: string): Promise<boolean>;
|
|
24
27
|
markRevoked(sid: string, ttlMs?: number): Promise<void>;
|
|
28
|
+
currentDelegationEpoch(zoneId: string): Promise<number>;
|
|
29
|
+
markDelegationEpoch(zoneId: string, epoch: number, ttlMs?: number): Promise<void>;
|
|
25
30
|
private key;
|
|
31
|
+
private delegationEpochKey;
|
|
26
32
|
}
|
|
27
33
|
export interface RedisRevocationConsumerOptions {
|
|
28
34
|
stream?: string;
|
|
@@ -30,6 +36,7 @@ export interface RedisRevocationConsumerOptions {
|
|
|
30
36
|
consumer: string;
|
|
31
37
|
batchSize?: number;
|
|
32
38
|
blockMs?: number;
|
|
39
|
+
pendingIdleMs?: number;
|
|
33
40
|
streamHmacKey?: Buffer;
|
|
34
41
|
requireSignature?: boolean;
|
|
35
42
|
}
|
|
@@ -41,11 +48,32 @@ export declare class RedisRevocationConsumer {
|
|
|
41
48
|
private readonly group;
|
|
42
49
|
private readonly batchSize;
|
|
43
50
|
private readonly blockMs;
|
|
51
|
+
private readonly pendingIdleMs;
|
|
44
52
|
private readonly streamHmacKey;
|
|
45
53
|
private readonly requireSignature;
|
|
46
54
|
constructor(redis: RedisRevocationClient, store: RedisRevocationStore, opts: RedisRevocationConsumerOptions);
|
|
47
55
|
ensureGroup(): Promise<void>;
|
|
48
56
|
pollOnce(): Promise<number>;
|
|
57
|
+
private replayPending;
|
|
58
|
+
private processMessage;
|
|
59
|
+
private verify;
|
|
60
|
+
private ack;
|
|
61
|
+
}
|
|
62
|
+
export declare class RedisDelegationInvalidationConsumer {
|
|
63
|
+
private readonly redis;
|
|
64
|
+
private readonly store;
|
|
65
|
+
private readonly opts;
|
|
66
|
+
private readonly stream;
|
|
67
|
+
private readonly group;
|
|
68
|
+
private readonly batchSize;
|
|
69
|
+
private readonly blockMs;
|
|
70
|
+
private readonly pendingIdleMs;
|
|
71
|
+
private readonly streamHmacKey;
|
|
72
|
+
private readonly requireSignature;
|
|
73
|
+
constructor(redis: RedisRevocationClient, store: RedisRevocationStore, opts: RedisRevocationConsumerOptions);
|
|
74
|
+
ensureGroup(): Promise<void>;
|
|
75
|
+
pollOnce(): Promise<number>;
|
|
76
|
+
private replayPending;
|
|
49
77
|
private processMessage;
|
|
50
78
|
private verify;
|
|
51
79
|
private ack;
|
package/dist/revocation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revocation.d.ts","sourceRoot":"","sources":["../src/revocation.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE5D,eAAO,MAAM,iBAAiB,4BAA4B,CAAA;AAC1D,eAAO,MAAM,yBAAyB,QAAsB,CAAA;AAE5D,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC5C,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAChF,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAChD,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;IAChF,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACvE;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"revocation.d.ts","sourceRoot":"","sources":["../src/revocation.ts"],"names":[],"mappings":"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"}
|
package/dist/revocation.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { timingSafeEqual } from 'node:crypto';
|
|
6
6
|
import { signStream, STREAM_SIG_FIELD } from '@caracalai/core';
|
|
7
7
|
export const REVOCATION_STREAM = 'caracal.sessions.revoke';
|
|
8
|
+
export const DELEGATION_INVALIDATION_STREAM = 'caracal.delegations.invalidate';
|
|
8
9
|
export const DEFAULT_REVOCATION_TTL_MS = 24 * 60 * 60 * 1000;
|
|
9
10
|
export class RedisRevocationStore {
|
|
10
11
|
redis;
|
|
@@ -34,9 +35,32 @@ export class RedisRevocationStore {
|
|
|
34
35
|
return;
|
|
35
36
|
await this.redis.set(this.key(sid), '1', 'PX', ttlMs ?? this.defaultTtlMs);
|
|
36
37
|
}
|
|
38
|
+
async currentDelegationEpoch(zoneId) {
|
|
39
|
+
try {
|
|
40
|
+
const value = await this.redis.get(this.delegationEpochKey(zoneId));
|
|
41
|
+
const epoch = Number(value ?? 0);
|
|
42
|
+
return Number.isSafeInteger(epoch) && epoch > 0 ? epoch : 0;
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
if (this.failClosed)
|
|
46
|
+
return Number.MAX_SAFE_INTEGER;
|
|
47
|
+
throw err;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async markDelegationEpoch(zoneId, epoch, ttlMs) {
|
|
51
|
+
if (zoneId === '' || !Number.isSafeInteger(epoch) || epoch < 0)
|
|
52
|
+
return;
|
|
53
|
+
const current = await this.currentDelegationEpoch(zoneId);
|
|
54
|
+
if (epoch <= current)
|
|
55
|
+
return;
|
|
56
|
+
await this.redis.set(this.delegationEpochKey(zoneId), String(epoch), 'PX', ttlMs ?? this.defaultTtlMs);
|
|
57
|
+
}
|
|
37
58
|
key(sid) {
|
|
38
59
|
return `${this.keyPrefix}${sid}`;
|
|
39
60
|
}
|
|
61
|
+
delegationEpochKey(zoneId) {
|
|
62
|
+
return `${this.keyPrefix}delegation-epoch:${zoneId}`;
|
|
63
|
+
}
|
|
40
64
|
}
|
|
41
65
|
export class RedisRevocationConsumer {
|
|
42
66
|
redis;
|
|
@@ -46,6 +70,7 @@ export class RedisRevocationConsumer {
|
|
|
46
70
|
group;
|
|
47
71
|
batchSize;
|
|
48
72
|
blockMs;
|
|
73
|
+
pendingIdleMs;
|
|
49
74
|
streamHmacKey;
|
|
50
75
|
requireSignature;
|
|
51
76
|
constructor(redis, store, opts) {
|
|
@@ -56,6 +81,7 @@ export class RedisRevocationConsumer {
|
|
|
56
81
|
this.group = opts.group ?? 'resource-revocation';
|
|
57
82
|
this.batchSize = opts.batchSize ?? 50;
|
|
58
83
|
this.blockMs = opts.blockMs ?? 0;
|
|
84
|
+
this.pendingIdleMs = opts.pendingIdleMs ?? 30_000;
|
|
59
85
|
this.streamHmacKey = opts.streamHmacKey;
|
|
60
86
|
this.requireSignature = opts.requireSignature ?? Boolean(opts.streamHmacKey);
|
|
61
87
|
if (this.requireSignature && !this.streamHmacKey) {
|
|
@@ -76,8 +102,106 @@ export class RedisRevocationConsumer {
|
|
|
76
102
|
async pollOnce() {
|
|
77
103
|
if (!this.redis.xreadgroup)
|
|
78
104
|
throw new Error('redis client does not support xreadgroup');
|
|
105
|
+
if (!this.redis.xautoclaim)
|
|
106
|
+
throw new Error('redis client does not support xautoclaim');
|
|
107
|
+
let handled = await this.replayPending();
|
|
79
108
|
const rows = await this.redis.xreadgroup('GROUP', this.group, this.opts.consumer, 'COUNT', this.batchSize, 'BLOCK', this.blockMs, 'STREAMS', this.stream, '>');
|
|
109
|
+
for (const [, messages] of rows ?? []) {
|
|
110
|
+
for (const [id, fields] of messages) {
|
|
111
|
+
await this.processMessage(id, fields);
|
|
112
|
+
handled++;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return handled;
|
|
116
|
+
}
|
|
117
|
+
async replayPending() {
|
|
118
|
+
if (!this.redis.xautoclaim)
|
|
119
|
+
throw new Error('redis client does not support xautoclaim');
|
|
80
120
|
let handled = 0;
|
|
121
|
+
let start = '0-0';
|
|
122
|
+
for (;;) {
|
|
123
|
+
const [next, messages] = await this.redis.xautoclaim(this.stream, this.group, this.opts.consumer, this.pendingIdleMs, start, 'COUNT', this.batchSize);
|
|
124
|
+
for (const [id, fields] of messages) {
|
|
125
|
+
await this.processMessage(id, fields);
|
|
126
|
+
handled++;
|
|
127
|
+
}
|
|
128
|
+
if (messages.length === 0 || next === '' || next === '0-0')
|
|
129
|
+
return handled;
|
|
130
|
+
start = next;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
async processMessage(id, fields) {
|
|
134
|
+
const values = fieldsToValues(fields);
|
|
135
|
+
if (!this.verify(values)) {
|
|
136
|
+
await this.ack(id);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
for (const anchor of revocationAnchors(values)) {
|
|
140
|
+
await this.store.markRevoked(anchor);
|
|
141
|
+
}
|
|
142
|
+
await this.ack(id);
|
|
143
|
+
}
|
|
144
|
+
verify(values) {
|
|
145
|
+
if (!this.requireSignature && !this.streamHmacKey)
|
|
146
|
+
return true;
|
|
147
|
+
const got = values[STREAM_SIG_FIELD];
|
|
148
|
+
if (typeof got !== 'string' || !this.streamHmacKey)
|
|
149
|
+
return false;
|
|
150
|
+
const want = signStream(this.streamHmacKey, this.stream, values);
|
|
151
|
+
const gotBytes = Buffer.from(got, 'hex');
|
|
152
|
+
const wantBytes = Buffer.from(want, 'hex');
|
|
153
|
+
return gotBytes.length === wantBytes.length && timingSafeEqual(gotBytes, wantBytes);
|
|
154
|
+
}
|
|
155
|
+
async ack(id) {
|
|
156
|
+
if (!this.redis.xack)
|
|
157
|
+
throw new Error('redis client does not support xack');
|
|
158
|
+
await this.redis.xack(this.stream, this.group, id);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
export class RedisDelegationInvalidationConsumer {
|
|
162
|
+
redis;
|
|
163
|
+
store;
|
|
164
|
+
opts;
|
|
165
|
+
stream;
|
|
166
|
+
group;
|
|
167
|
+
batchSize;
|
|
168
|
+
blockMs;
|
|
169
|
+
pendingIdleMs;
|
|
170
|
+
streamHmacKey;
|
|
171
|
+
requireSignature;
|
|
172
|
+
constructor(redis, store, opts) {
|
|
173
|
+
this.redis = redis;
|
|
174
|
+
this.store = store;
|
|
175
|
+
this.opts = opts;
|
|
176
|
+
this.stream = opts.stream ?? DELEGATION_INVALIDATION_STREAM;
|
|
177
|
+
this.group = opts.group ?? 'resource-delegation-invalidation';
|
|
178
|
+
this.batchSize = opts.batchSize ?? 50;
|
|
179
|
+
this.blockMs = opts.blockMs ?? 0;
|
|
180
|
+
this.pendingIdleMs = opts.pendingIdleMs ?? 30_000;
|
|
181
|
+
this.streamHmacKey = opts.streamHmacKey;
|
|
182
|
+
this.requireSignature = opts.requireSignature ?? Boolean(opts.streamHmacKey);
|
|
183
|
+
if (this.requireSignature && !this.streamHmacKey) {
|
|
184
|
+
throw new Error('streamHmacKey is required when requireSignature is true');
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
async ensureGroup() {
|
|
188
|
+
if (!this.redis.xgroup)
|
|
189
|
+
throw new Error('redis client does not support xgroup');
|
|
190
|
+
try {
|
|
191
|
+
await this.redis.xgroup('CREATE', this.stream, this.group, '0', 'MKSTREAM');
|
|
192
|
+
}
|
|
193
|
+
catch (err) {
|
|
194
|
+
if (!String(err.message).includes('BUSYGROUP'))
|
|
195
|
+
throw err;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
async pollOnce() {
|
|
199
|
+
if (!this.redis.xreadgroup)
|
|
200
|
+
throw new Error('redis client does not support xreadgroup');
|
|
201
|
+
if (!this.redis.xautoclaim)
|
|
202
|
+
throw new Error('redis client does not support xautoclaim');
|
|
203
|
+
let handled = await this.replayPending();
|
|
204
|
+
const rows = await this.redis.xreadgroup('GROUP', this.group, this.opts.consumer, 'COUNT', this.batchSize, 'BLOCK', this.blockMs, 'STREAMS', this.stream, '>');
|
|
81
205
|
for (const [, messages] of rows ?? []) {
|
|
82
206
|
for (const [id, fields] of messages) {
|
|
83
207
|
await this.processMessage(id, fields);
|
|
@@ -86,15 +210,32 @@ export class RedisRevocationConsumer {
|
|
|
86
210
|
}
|
|
87
211
|
return handled;
|
|
88
212
|
}
|
|
213
|
+
async replayPending() {
|
|
214
|
+
if (!this.redis.xautoclaim)
|
|
215
|
+
throw new Error('redis client does not support xautoclaim');
|
|
216
|
+
let handled = 0;
|
|
217
|
+
let start = '0-0';
|
|
218
|
+
for (;;) {
|
|
219
|
+
const [next, messages] = await this.redis.xautoclaim(this.stream, this.group, this.opts.consumer, this.pendingIdleMs, start, 'COUNT', this.batchSize);
|
|
220
|
+
for (const [id, fields] of messages) {
|
|
221
|
+
await this.processMessage(id, fields);
|
|
222
|
+
handled++;
|
|
223
|
+
}
|
|
224
|
+
if (messages.length === 0 || next === '' || next === '0-0')
|
|
225
|
+
return handled;
|
|
226
|
+
start = next;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
89
229
|
async processMessage(id, fields) {
|
|
90
230
|
const values = fieldsToValues(fields);
|
|
91
231
|
if (!this.verify(values)) {
|
|
92
232
|
await this.ack(id);
|
|
93
233
|
return;
|
|
94
234
|
}
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
235
|
+
const zoneId = values.zone_id;
|
|
236
|
+
const epoch = Number(values.epoch);
|
|
237
|
+
if (typeof zoneId === 'string' && Number.isSafeInteger(epoch) && epoch >= 0) {
|
|
238
|
+
await this.store.markDelegationEpoch(zoneId, epoch);
|
|
98
239
|
}
|
|
99
240
|
await this.ack(id);
|
|
100
241
|
}
|
|
@@ -115,6 +256,16 @@ export class RedisRevocationConsumer {
|
|
|
115
256
|
await this.redis.xack(this.stream, this.group, id);
|
|
116
257
|
}
|
|
117
258
|
}
|
|
259
|
+
function revocationAnchors(values) {
|
|
260
|
+
const anchors = [
|
|
261
|
+
values.session_id,
|
|
262
|
+
values.sid,
|
|
263
|
+
values.root_sid,
|
|
264
|
+
values.agent_session_id,
|
|
265
|
+
values.delegation_edge_id,
|
|
266
|
+
].filter((value) => typeof value === 'string' && value !== '');
|
|
267
|
+
return [...new Set(anchors)];
|
|
268
|
+
}
|
|
118
269
|
function fieldsToValues(fields) {
|
|
119
270
|
const out = {};
|
|
120
271
|
for (let i = 0; i < fields.length; i += 2) {
|
package/dist/revocation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revocation.js","sourceRoot":"","sources":["../src/revocation.ts"],"names":[],"mappings":"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"}
|
|
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.
|
|
3
|
+
"version": "0.1.4-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": ">=22"
|
|
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": "0.1.
|
|
43
|
-
"@caracalai/revocation": "0.1.
|
|
44
|
+
"@caracalai/core": "0.1.4-rc.1",
|
|
45
|
+
"@caracalai/revocation": "0.1.4-rc.1"
|
|
44
46
|
},
|
|
45
47
|
"devDependencies": {
|
|
46
48
|
"@types/node": "^24.12.2",
|