@bevel-software/platform-core-backend 0.31.0 → 0.32.0

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 (76) hide show
  1. package/dist/core/create-core-services.d.ts +7 -0
  2. package/dist/core/create-core-services.d.ts.map +1 -1
  3. package/dist/core/create-core-services.js +12 -1
  4. package/dist/core/create-core-services.js.map +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/modules/access-model/index.d.ts +14 -0
  10. package/dist/modules/access-model/index.d.ts.map +1 -0
  11. package/dist/modules/access-model/index.js +13 -0
  12. package/dist/modules/access-model/index.js.map +1 -0
  13. package/dist/modules/auth/account-hooks.d.ts +4 -6
  14. package/dist/modules/auth/account-hooks.d.ts.map +1 -1
  15. package/dist/modules/auth/account-hooks.js +7 -17
  16. package/dist/modules/auth/account-hooks.js.map +1 -1
  17. package/dist/modules/auth/auth.service.d.ts +9 -8
  18. package/dist/modules/auth/auth.service.d.ts.map +1 -1
  19. package/dist/modules/auth/auth.service.js +19 -18
  20. package/dist/modules/auth/auth.service.js.map +1 -1
  21. package/dist/modules/database/core-schema.d.ts +21 -1
  22. package/dist/modules/database/core-schema.d.ts.map +1 -1
  23. package/dist/modules/database/core-schema.js +16 -1
  24. package/dist/modules/database/core-schema.js.map +1 -1
  25. package/dist/modules/mcp/oauth/bevel-oauth-provider.d.ts +28 -0
  26. package/dist/modules/mcp/oauth/bevel-oauth-provider.d.ts.map +1 -1
  27. package/dist/modules/mcp/oauth/bevel-oauth-provider.js +166 -39
  28. package/dist/modules/mcp/oauth/bevel-oauth-provider.js.map +1 -1
  29. package/dist/modules/workflow/agent-tools/change-request-summary.d.ts +10 -1
  30. package/dist/modules/workflow/agent-tools/change-request-summary.d.ts.map +1 -1
  31. package/dist/modules/workflow/agent-tools/change-request-summary.js +2 -0
  32. package/dist/modules/workflow/agent-tools/change-request-summary.js.map +1 -1
  33. package/dist/modules/workflow/agent-tools/workflow.tools.d.ts.map +1 -1
  34. package/dist/modules/workflow/agent-tools/workflow.tools.js +5 -0
  35. package/dist/modules/workflow/agent-tools/workflow.tools.js.map +1 -1
  36. package/dist/modules/workflow/change-request-hooks.d.ts +78 -0
  37. package/dist/modules/workflow/change-request-hooks.d.ts.map +1 -0
  38. package/dist/modules/workflow/change-request-hooks.js +15 -0
  39. package/dist/modules/workflow/change-request-hooks.js.map +1 -0
  40. package/dist/modules/workflow/git/pull-request.service.d.ts +10 -0
  41. package/dist/modules/workflow/git/pull-request.service.d.ts.map +1 -1
  42. package/dist/modules/workflow/git/pull-request.service.js +9 -0
  43. package/dist/modules/workflow/git/pull-request.service.js.map +1 -1
  44. package/dist/modules/workflow/workflow.service.d.ts +75 -15
  45. package/dist/modules/workflow/workflow.service.d.ts.map +1 -1
  46. package/dist/modules/workflow/workflow.service.js +163 -32
  47. package/dist/modules/workflow/workflow.service.js.map +1 -1
  48. package/dist/shared/listener-seam.d.ts +34 -0
  49. package/dist/shared/listener-seam.d.ts.map +1 -0
  50. package/dist/shared/listener-seam.js +42 -0
  51. package/dist/shared/listener-seam.js.map +1 -0
  52. package/migrations/0019_oauth_token_rotated_at.sql +7 -0
  53. package/migrations/meta/0019_snapshot.json +2435 -0
  54. package/migrations/meta/_journal.json +7 -0
  55. package/package.json +3 -3
  56. package/src/core/create-core-services.ts +17 -0
  57. package/src/index.ts +7 -0
  58. package/src/modules/access-model/index.ts +13 -0
  59. package/src/modules/auth/__tests__/account-deactivation.test.ts +38 -2
  60. package/src/modules/auth/account-hooks.ts +13 -21
  61. package/src/modules/auth/auth.service.ts +19 -18
  62. package/src/modules/database/core-schema.ts +16 -1
  63. package/src/modules/mcp/__tests__/bevel-oauth-provider.pg.test.ts +279 -0
  64. package/src/modules/mcp/__tests__/bevel-oauth-provider.test.ts +190 -15
  65. package/src/modules/mcp/oauth/bevel-oauth-provider.ts +214 -48
  66. package/src/modules/workflow/__tests__/change-request-hooks.test.ts +62 -0
  67. package/src/modules/workflow/__tests__/workflow.routes.open-change-request.test.ts +79 -0
  68. package/src/modules/workflow/__tests__/workflow.service.delete-branch.test.ts +9 -1
  69. package/src/modules/workflow/__tests__/workflow.service.facade.test.ts +258 -1
  70. package/src/modules/workflow/agent-tools/__tests__/workflow.tools.test.ts +10 -0
  71. package/src/modules/workflow/agent-tools/change-request-summary.ts +10 -1
  72. package/src/modules/workflow/agent-tools/workflow.tools.ts +6 -0
  73. package/src/modules/workflow/change-request-hooks.ts +96 -0
  74. package/src/modules/workflow/git/pull-request.service.ts +10 -0
  75. package/src/modules/workflow/workflow.service.ts +188 -40
  76. package/src/shared/listener-seam.ts +52 -0
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../src/modules/auth/auth.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../src/modules/auth/auth.service.ts"],"names":[],"mappings":"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"}
@@ -2553,7 +2553,10 @@ export declare const agentConnections: import("drizzle-orm/pg-core").PgTableWith
2553
2553
  * `api_tokens`: plaintext shown only in the token response, SHA-256 hashes
2554
2554
  * stored, revoked-not-deleted so `last_used_at` keeps its audit value and a
2555
2555
  * revoked token can't be re-issued. One row per pair; refresh rotation
2556
- * revokes the old row and inserts a new one.
2556
+ * retires the old row (`rotated_at`) and inserts a new one. A retired row's
2557
+ * access token still verifies until its own expiry, unless the row is then
2558
+ * revoked: by a revoke, a sign-out, or its refresh token's one allowed replay
2559
+ * within the reuse grace, which revokes it in the statement that admits it.
2557
2560
  *
2558
2561
  * `connection_id` names the {@link agentConnections} row the pair belongs to,
2559
2562
  * so every call made with the token is attributed to that agent and revoking
@@ -2751,6 +2754,23 @@ export declare const oauthTokens: import("drizzle-orm/pg-core").PgTableWithColum
2751
2754
  identity: undefined;
2752
2755
  generated: undefined;
2753
2756
  }, {}, {}>;
2757
+ rotatedAt: import("drizzle-orm/pg-core").PgColumn<{
2758
+ name: "rotated_at";
2759
+ tableName: "oauth_tokens";
2760
+ dataType: "date";
2761
+ columnType: "PgTimestamp";
2762
+ data: Date;
2763
+ driverParam: string;
2764
+ notNull: false;
2765
+ hasDefault: false;
2766
+ isPrimaryKey: false;
2767
+ isAutoincrement: false;
2768
+ hasRuntimeDefault: false;
2769
+ enumValues: undefined;
2770
+ baseColumn: never;
2771
+ identity: undefined;
2772
+ generated: undefined;
2773
+ }, {}, {}>;
2754
2774
  lastUsedAt: import("drizzle-orm/pg-core").PgColumn<{
2755
2775
  name: "last_used_at";
2756
2776
  tableName: "oauth_tokens";
@@ -1 +1 @@
1
- {"version":3,"file":"core-schema.d.ts","sourceRoot":"","sources":["../../../src/modules/database/core-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-schema.d.ts","sourceRoot":"","sources":["../../../src/modules/database/core-schema.ts"],"names":[],"mappings":"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"}
@@ -531,7 +531,10 @@ export const agentConnections = pgTable('agent_connections', {
531
531
  * `api_tokens`: plaintext shown only in the token response, SHA-256 hashes
532
532
  * stored, revoked-not-deleted so `last_used_at` keeps its audit value and a
533
533
  * revoked token can't be re-issued. One row per pair; refresh rotation
534
- * revokes the old row and inserts a new one.
534
+ * retires the old row (`rotated_at`) and inserts a new one. A retired row's
535
+ * access token still verifies until its own expiry, unless the row is then
536
+ * revoked: by a revoke, a sign-out, or its refresh token's one allowed replay
537
+ * within the reuse grace, which revokes it in the statement that admits it.
535
538
  *
536
539
  * `connection_id` names the {@link agentConnections} row the pair belongs to,
537
540
  * so every call made with the token is attributed to that agent and revoking
@@ -550,6 +553,18 @@ export const oauthTokens = pgTable('oauth_tokens', {
550
553
  expiresAt: timestamp('expires_at').notNull(),
551
554
  refreshExpiresAt: timestamp('refresh_expires_at'),
552
555
  revokedAt: timestamp('revoked_at'),
556
+ /**
557
+ * When a refresh of this row's refresh token minted its successor. Set by
558
+ * rotation and never by a revoke, so the two are told apart: a rotated
559
+ * row's access token still verifies until its own expiry, and its refresh
560
+ * token is honoured once more within the reuse grace (see
561
+ * `exchangeRefreshToken`), a replay that revokes the row — access token
562
+ * included — in the statement that admits it; a revoked row does neither.
563
+ * Null on a row whose refresh token has not been used, and on rows from
564
+ * before the column existed, which rotation then marks as it does any
565
+ * other.
566
+ */
567
+ rotatedAt: timestamp('rotated_at'),
553
568
  lastUsedAt: timestamp('last_used_at'),
554
569
  createdAt: timestamp('created_at').defaultNow().notNull(),
555
570
  }, (t) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"core-schema.js","sourceRoot":"","sources":["../../../src/modules/database/core-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-schema.js","sourceRoot":"","sources":["../../../src/modules/database/core-schema.ts"],"names":[],"mappings":"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"}
@@ -72,6 +72,16 @@ export declare class BevelOAuthProvider implements OAuthServerProvider {
72
72
  exchangeAuthorizationCode(client: OAuthClientInformationFull, authorizationCode: string, _codeVerifier?: string, // PKCE already verified locally by the SDK token handler
73
73
  redirectUri?: string, _resource?: URL): Promise<OAuthTokens>;
74
74
  exchangeRefreshToken(client: OAuthClientInformationFull, refreshToken: string, scopes?: string[], _resource?: URL): Promise<OAuthTokens>;
75
+ /** Retire a fresh refresh token: the one statement that wins a rotation. */
76
+ private retireFresh;
77
+ /** Consume a retired refresh token's one replay: revoked in the statement that admits it, within the grace only. */
78
+ private replayRetired;
79
+ /**
80
+ * The one place a refresh is refused: logged with its reason, never the
81
+ * token, then the client's error — `invalid_grant` unless the caller says
82
+ * otherwise (a widened scope is `invalid_scope`).
83
+ */
84
+ private refuseRefresh;
75
85
  verifyAccessToken(token: string): Promise<AuthInfo>;
76
86
  /**
77
87
  * Internal revoke by the bearer itself (no client binding) — used by the MCP
@@ -86,8 +96,26 @@ export declare class BevelOAuthProvider implements OAuthServerProvider {
86
96
  * @param connectionId The agent connection the pair belongs to, when the
87
97
  * caller already holds one (a refresh: the consumed token's). Absent on a
88
98
  * first mint, which finds or makes the live connection for (user, client).
99
+ * @param tx The transaction the insert belongs to, when the mint must land
100
+ * with the statement that consumed the token it replaces (a refresh).
101
+ * The prune is then the caller's, before the transaction opens: a
102
+ * best-effort statement that fails inside a transaction would abort the
103
+ * mint it is meant to spare, and one on the pool from inside it would
104
+ * hold this request's client while waiting for another.
89
105
  */
90
106
  private mintTokens;
107
+ /**
108
+ * Opportunistic pruning, piggybacked on every mint (one per sign-in /
109
+ * refresh — no scheduler needed) so the oauth tables stay bounded: a token
110
+ * row whose refresh window has closed can never authenticate again
111
+ * (revoked-but-live rows are kept until then, so revocation stays
112
+ * observable), a rotated row can authenticate for its access token's hour
113
+ * and be replayed for the reuse grace and past both is history only, and
114
+ * an auth code past its 60s TTL can never be exchanged. Best-effort, on the
115
+ * pool and never inside a transaction — a cleanup hiccup must not fail the
116
+ * token issuance itself.
117
+ */
118
+ private pruneTokenTables;
91
119
  /**
92
120
  * The live `agent_connections` row for (user, client) — found, or made on
93
121
  * the first mint for the pair. A refresh finds the row the sign-in made, so
@@ -1 +1 @@
1
- {"version":3,"file":"bevel-oauth-provider.d.ts","sourceRoot":"","sources":["../../../../src/modules/mcp/oauth/bevel-oauth-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bevel-oauth-provider.d.ts","sourceRoot":"","sources":["../../../../src/modules/mcp/oauth/bevel-oauth-provider.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,21 @@ const TOKEN_BYTES = 32;
13
13
  const ACCESS_TTL_MS = 60 * 60_000; // 1 hour
14
14
  const REFRESH_TTL_MS = 30 * 24 * 60 * 60_000; // 30 days, rotated on use
15
15
  const CODE_TTL_MS = 60_000; // exchanged within seconds of Finish
16
+ /**
17
+ * How long a refresh token that was just rotated is honoured once more.
18
+ *
19
+ * Rotation makes a refresh token single-use, and a client that refreshes
20
+ * from two places at once — Claude's hosted apps refresh proactively before
21
+ * expiry AND reactively on a 401, and a scheduled task runs beside the chat
22
+ * that shares its connector — presents the same token twice. The second
23
+ * presentation used to be answered `invalid_grant`, which a client reads as
24
+ * "the credential is dead" and turns into a re-authorization prompt every
25
+ * day or two. Within this window the loser is answered as the winner was,
26
+ * with a fresh pair; past it, reuse is refused, which is what makes a stolen
27
+ * token's later replay fail. Sixty seconds is the window Okta allows at most
28
+ * and Auth0 recommends for exactly this case.
29
+ */
30
+ const REFRESH_REUSE_GRACE_MS = 60_000;
16
31
  /**
17
32
  * How often, at most, one process stamps an agent connection's `last_used_at`.
18
33
  * The Audit log shows the instant relatively ("4 minutes ago"), so a minute's
@@ -177,28 +192,42 @@ export class BevelOAuthProvider {
177
192
  }
178
193
  async exchangeRefreshToken(client, refreshToken, scopes, _resource) {
179
194
  const now = new Date();
180
- // Rotation: atomically revoke the presented refresh token; the winner of
181
- // a concurrent double-refresh gets the new pair, the loser a clean 400.
182
- // `clientId` is IN the predicate so a caller presenting a valid refresh
183
- // token under the WRONG client can't revoke (kill) another client's
184
- // session — the update matches nothing and their token stays live.
185
- const [row] = await this.deps.db
186
- .update(oauthTokens)
187
- .set({ revokedAt: now })
188
- .where(and(eq(oauthTokens.refreshTokenHash, hashToken(refreshToken)), eq(oauthTokens.clientId, client.client_id), isNull(oauthTokens.revokedAt)))
189
- .returning();
190
- if (!row) {
191
- throw new InvalidGrantError('Invalid or revoked refresh token');
195
+ const hash = hashToken(refreshToken);
196
+ const clientId = client.client_id;
197
+ // The row is READ first and judged whole, and consumed only once every
198
+ // check has passed: a refusal must leave a token the client could still
199
+ // use with a different request (a narrower scope) usable, and nothing
200
+ // may be minted or retired on a token that is expired, revoked, or
201
+ // bound to a revoked agent. Looked up by hash AND client, so a caller
202
+ // presenting a valid refresh token under the WRONG client learns
203
+ // nothing and changes nothing.
204
+ const [seen] = await this.deps.db
205
+ .select()
206
+ .from(oauthTokens)
207
+ .where(and(eq(oauthTokens.refreshTokenHash, hash), eq(oauthTokens.clientId, clientId)))
208
+ .limit(1);
209
+ if (!seen)
210
+ return this.refuseRefresh('unknown refresh token for this client', 'Invalid or revoked refresh token', { clientId });
211
+ const rotatedAgoMs = seen.rotatedAt ? now.getTime() - seen.rotatedAt.getTime() : null;
212
+ const rotatedAgo = rotatedAgoMs === null ? null : `${Math.round(rotatedAgoMs / 1000)} s ago`;
213
+ if (seen.revokedAt) {
214
+ return this.refuseRefresh(rotatedAgo ? `refresh token rotated ${rotatedAgo} and already replayed once, or revoked since` : 'refresh token revoked', 'Invalid or revoked refresh token', seen);
215
+ }
216
+ if (rotatedAgoMs !== null && rotatedAgoMs > REFRESH_REUSE_GRACE_MS) {
217
+ return this.refuseRefresh(`refresh token rotated ${rotatedAgo}, past the ${REFRESH_REUSE_GRACE_MS / 1000} s reuse grace`, 'Invalid or revoked refresh token', seen);
192
218
  }
193
- if (row.refreshExpiresAt && row.refreshExpiresAt <= now) {
194
- throw new InvalidGrantError('Refresh token expired');
219
+ if (seen.refreshExpiresAt && seen.refreshExpiresAt <= now) {
220
+ return this.refuseRefresh('refresh token expired', 'Refresh token expired', seen);
195
221
  }
196
222
  // Scope may only narrow on refresh (RFC 6749 §6).
197
- let scope = row.scope;
223
+ let scope = seen.scope;
198
224
  if (scopes?.length) {
199
- const granted = new Set((row.scope ?? '').split(' ').filter(Boolean));
225
+ const granted = new Set((seen.scope ?? '').split(' ').filter(Boolean));
200
226
  if (!scopes.every((s) => granted.has(s))) {
201
- throw new InvalidScopeError('Requested scope exceeds the originally granted scope');
227
+ // `invalid_scope` to the client (RFC 6749 §5.2), since the token
228
+ // itself is fine — and untouched, so the same token refreshes with
229
+ // the scope it was granted.
230
+ return this.refuseRefresh('requested scope exceeds the originally granted scope', 'Requested scope exceeds the originally granted scope', seen, (message) => new InvalidScopeError(message));
202
231
  }
203
232
  scope = scopes.join(' ');
204
233
  }
@@ -209,13 +238,89 @@ export class BevelOAuthProvider {
209
238
  // mint an unrevoked pair — the revoke undone by a millisecond. A token
210
239
  // from before connections existed has none to stay on and is placed
211
240
  // under one as a first mint would be.
212
- if (row.connectionId) {
213
- if (!(await this.isConnectionLive(row.connectionId))) {
214
- throw new InvalidGrantError('Access for this agent was revoked');
241
+ if (seen.connectionId && !(await this.isConnectionLive(seen.connectionId))) {
242
+ return this.refuseRefresh('access for this agent was revoked', 'Access for this agent was revoked', seen);
243
+ }
244
+ // Consume, with the state the row was judged in as the predicate, so two
245
+ // refreshes racing on one row have exactly one winner. A fresh token is
246
+ // RETIRED (`rotatedAt`), not revoked: its pair's access token stays good
247
+ // until its own expiry, an hour at most, so a runner still holding it is
248
+ // not cut off mid-task by a refresh another runner made, while a revoke
249
+ // or a sign-out still ends it at once. A token already retired within
250
+ // the reuse grace — the loser of a double refresh, which is what a client
251
+ // refreshing from two places at once produces — is honoured ONCE more,
252
+ // and the replay revokes the row in the same statement that admits it,
253
+ // so a third presentation, or two replays racing, find nothing. That does
254
+ // end the retired pair's access token: the runner that replayed holds the
255
+ // fresh pair from here, and the rotation's winner holds its own.
256
+ //
257
+ // The consume and the mint are ONE transaction: a token is retired or
258
+ // replayed only in the same commit that hands its holder the new pair, so
259
+ // a mint that fails leaves the token exactly as it was — never spent with
260
+ // nothing to show for it, which for a replayed token would be the lockout
261
+ // this whole path exists to prevent. A token from before connections
262
+ // existed is placed under one first, outside the transaction, as a first
263
+ // mint would place it: finding or making a connection is idempotent.
264
+ const connectionId = seen.connectionId ?? (await this.ensureConnection(seen.userId, seen.clientId));
265
+ // The opportunistic prune too runs BEFORE the transaction opens, on the
266
+ // pool: inside it, this request would hold a transaction's client while
267
+ // waiting for a second one, and a burst of refreshes the size of the pool
268
+ // would have every one of them wait out the connect timeout.
269
+ await this.pruneTokenTables(now.getTime());
270
+ const { consumed, tokens, replayed } = await this.deps.db.transaction(async (tx) => {
271
+ let row = rotatedAgoMs === null ? await this.retireFresh(tx, hash, clientId, now) : undefined;
272
+ let replayed = rotatedAgoMs !== null;
273
+ if (!row) {
274
+ // Either a retired token within the grace, or a fresh one that lost
275
+ // its rotation to a concurrent refresh between the read above and the
276
+ // retire — which makes it the loser of a double refresh, and so
277
+ // replayable now.
278
+ row = await this.replayRetired(tx, hash, clientId, now);
279
+ replayed = true;
215
280
  }
216
- this.noteConnectionUse(row.connectionId);
281
+ if (!row) {
282
+ return this.refuseRefresh('refresh token rotated or revoked by a concurrent request', 'Invalid or revoked refresh token', seen);
283
+ }
284
+ const tokens = await this.mintTokens(row.userId, row.clientId, scope, row.resource, connectionId, tx);
285
+ return { consumed: row, tokens, replayed };
286
+ });
287
+ if (replayed) {
288
+ log.info(`refresh replayed ${Math.round((now.getTime() - consumed.rotatedAt.getTime()) / 1000)} s after its rotation, within the reuse grace; a fresh pair is minted`, { clientId, connectionId, userId: consumed.userId });
217
289
  }
218
- return this.mintTokens(row.userId, row.clientId, scope, row.resource, row.connectionId ?? undefined);
290
+ this.noteConnectionUse(connectionId);
291
+ return tokens;
292
+ }
293
+ /** Retire a fresh refresh token: the one statement that wins a rotation. */
294
+ async retireFresh(tx, hash, clientId, now) {
295
+ const [row] = await tx
296
+ .update(oauthTokens)
297
+ .set({ rotatedAt: now })
298
+ .where(and(eq(oauthTokens.refreshTokenHash, hash), eq(oauthTokens.clientId, clientId), isNull(oauthTokens.revokedAt), isNull(oauthTokens.rotatedAt)))
299
+ .returning();
300
+ return row;
301
+ }
302
+ /** Consume a retired refresh token's one replay: revoked in the statement that admits it, within the grace only. */
303
+ async replayRetired(tx, hash, clientId, now) {
304
+ const since = new Date(now.getTime() - REFRESH_REUSE_GRACE_MS);
305
+ const [row] = await tx
306
+ .update(oauthTokens)
307
+ .set({ revokedAt: now })
308
+ .where(and(eq(oauthTokens.refreshTokenHash, hash), eq(oauthTokens.clientId, clientId), isNull(oauthTokens.revokedAt), gt(oauthTokens.rotatedAt, since)))
309
+ .returning();
310
+ return row;
311
+ }
312
+ /**
313
+ * The one place a refresh is refused: logged with its reason, never the
314
+ * token, then the client's error — `invalid_grant` unless the caller says
315
+ * otherwise (a widened scope is `invalid_scope`).
316
+ */
317
+ refuseRefresh(reason, clientMessage, row, error = (message) => new InvalidGrantError(message)) {
318
+ log.warn(`refresh refused: ${reason}`, {
319
+ clientId: row.clientId,
320
+ connectionId: row.connectionId ?? null,
321
+ userId: row.userId ?? null,
322
+ });
323
+ throw error(clientMessage);
219
324
  }
220
325
  async verifyAccessToken(token) {
221
326
  const now = new Date();
@@ -306,10 +411,13 @@ export class BevelOAuthProvider {
306
411
  const connectionId = revoked.find((r) => r.connectionId)?.connectionId;
307
412
  if (!connectionId)
308
413
  return;
414
+ // A rotated row is not a live token: its successor is the live one, and
415
+ // counting it would keep a connection open on a refresh token nobody can
416
+ // use any more.
309
417
  const [{ live }] = await this.deps.db
310
418
  .select({ live: count() })
311
419
  .from(oauthTokens)
312
- .where(and(eq(oauthTokens.connectionId, connectionId), isNull(oauthTokens.revokedAt)));
420
+ .where(and(eq(oauthTokens.connectionId, connectionId), isNull(oauthTokens.revokedAt), isNull(oauthTokens.rotatedAt)));
313
421
  if (Number(live) > 0)
314
422
  return;
315
423
  await this.deps.db
@@ -321,27 +429,24 @@ export class BevelOAuthProvider {
321
429
  * @param connectionId The agent connection the pair belongs to, when the
322
430
  * caller already holds one (a refresh: the consumed token's). Absent on a
323
431
  * first mint, which finds or makes the live connection for (user, client).
432
+ * @param tx The transaction the insert belongs to, when the mint must land
433
+ * with the statement that consumed the token it replaces (a refresh).
434
+ * The prune is then the caller's, before the transaction opens: a
435
+ * best-effort statement that fails inside a transaction would abort the
436
+ * mint it is meant to spare, and one on the pool from inside it would
437
+ * hold this request's client while waiting for another.
324
438
  */
325
- async mintTokens(userId, clientId, scope, resource, connectionId) {
439
+ async mintTokens(userId, clientId, scope, resource, connectionId, tx) {
326
440
  const accessToken = this.deps.tokenPrefix + randomBytes(TOKEN_BYTES).toString('base64url');
327
441
  const refreshToken = this.refreshPrefix + randomBytes(TOKEN_BYTES).toString('base64url');
328
442
  const now = Date.now();
329
- // Opportunistic pruning, piggybacked on mint (one per sign-in / refresh —
330
- // no scheduler needed) so the oauth tables stay bounded: a token row whose
331
- // refresh window has closed can never authenticate again (revoked-but-live
332
- // rows are kept until then, so revocation stays observable), and an auth
333
- // code past its 60s TTL can never be exchanged. Best-effort — a cleanup
334
- // hiccup must not fail the token issuance itself.
335
- try {
336
- const cutoff = new Date(now);
337
- await this.deps.db.delete(oauthTokens).where(or(lt(oauthTokens.refreshExpiresAt, cutoff), and(isNull(oauthTokens.refreshExpiresAt), lt(oauthTokens.expiresAt, cutoff))));
338
- await this.deps.db.delete(oauthAuthCodes).where(lt(oauthAuthCodes.expiresAt, cutoff));
339
- }
340
- catch (err) {
341
- log.warn('token-table prune failed (non-fatal):', { err });
342
- }
443
+ // A mint of its own (a sign-in) prunes here; a refresh pruned before its
444
+ // transaction opened.
445
+ if (!tx)
446
+ await this.pruneTokenTables(now);
343
447
  const boundTo = connectionId ?? (await this.ensureConnection(userId, clientId));
344
- await this.deps.db.insert(oauthTokens).values({
448
+ const sink = tx ?? this.deps.db;
449
+ await sink.insert(oauthTokens).values({
345
450
  accessTokenHash: hashToken(accessToken),
346
451
  refreshTokenHash: hashToken(refreshToken),
347
452
  clientId,
@@ -360,6 +465,28 @@ export class BevelOAuthProvider {
360
465
  ...(scope ? { scope } : {}),
361
466
  };
362
467
  }
468
+ /**
469
+ * Opportunistic pruning, piggybacked on every mint (one per sign-in /
470
+ * refresh — no scheduler needed) so the oauth tables stay bounded: a token
471
+ * row whose refresh window has closed can never authenticate again
472
+ * (revoked-but-live rows are kept until then, so revocation stays
473
+ * observable), a rotated row can authenticate for its access token's hour
474
+ * and be replayed for the reuse grace and past both is history only, and
475
+ * an auth code past its 60s TTL can never be exchanged. Best-effort, on the
476
+ * pool and never inside a transaction — a cleanup hiccup must not fail the
477
+ * token issuance itself.
478
+ */
479
+ async pruneTokenTables(now) {
480
+ try {
481
+ const cutoff = new Date(now);
482
+ const rotatedCutoff = new Date(now - ACCESS_TTL_MS - REFRESH_REUSE_GRACE_MS);
483
+ await this.deps.db.delete(oauthTokens).where(or(lt(oauthTokens.refreshExpiresAt, cutoff), and(isNull(oauthTokens.refreshExpiresAt), lt(oauthTokens.expiresAt, cutoff)), lt(oauthTokens.rotatedAt, rotatedCutoff)));
484
+ await this.deps.db.delete(oauthAuthCodes).where(lt(oauthAuthCodes.expiresAt, cutoff));
485
+ }
486
+ catch (err) {
487
+ log.warn('token-table prune failed (non-fatal):', { err });
488
+ }
489
+ }
363
490
  /**
364
491
  * The live `agent_connections` row for (user, client) — found, or made on
365
492
  * the first mint for the pair. A refresh finds the row the sign-in made, so