@shipfox/api-auth 19.0.0 → 20.0.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 (86) hide show
  1. package/.turbo/turbo-build.log +17 -2
  2. package/CHANGELOG.md +13 -0
  3. package/dist/core/cimd.d.ts +39 -0
  4. package/dist/core/cimd.d.ts.map +1 -0
  5. package/dist/core/cimd.js +392 -0
  6. package/dist/core/cimd.js.map +1 -0
  7. package/dist/core/errors.d.ts +14 -0
  8. package/dist/core/errors.d.ts.map +1 -1
  9. package/dist/core/errors.js +26 -0
  10. package/dist/core/errors.js.map +1 -1
  11. package/dist/core/oauth-client-resolver.d.ts +54 -0
  12. package/dist/core/oauth-client-resolver.d.ts.map +1 -0
  13. package/dist/core/oauth-client-resolver.js +154 -0
  14. package/dist/core/oauth-client-resolver.js.map +1 -0
  15. package/dist/core/oauth-client.d.ts +39 -0
  16. package/dist/core/oauth-client.d.ts.map +1 -0
  17. package/dist/core/oauth-client.js +236 -0
  18. package/dist/core/oauth-client.js.map +1 -0
  19. package/dist/db/agent-access-retention.d.ts +10 -0
  20. package/dist/db/agent-access-retention.d.ts.map +1 -0
  21. package/dist/db/agent-access-retention.js +11 -0
  22. package/dist/db/agent-access-retention.js.map +1 -0
  23. package/dist/db/agent-access.d.ts +100 -4
  24. package/dist/db/agent-access.d.ts.map +1 -1
  25. package/dist/db/agent-access.js +483 -45
  26. package/dist/db/agent-access.js.map +1 -1
  27. package/dist/index.d.ts +9 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +25 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/metrics/instance.d.ts +1 -1
  32. package/dist/metrics/instance.d.ts.map +1 -1
  33. package/dist/metrics/instance.js.map +1 -1
  34. package/dist/presentation/routes/oauth.d.ts +9 -0
  35. package/dist/presentation/routes/oauth.d.ts.map +1 -0
  36. package/dist/presentation/routes/oauth.js +150 -0
  37. package/dist/presentation/routes/oauth.js.map +1 -0
  38. package/dist/presentation/routes/rate-limit.d.ts.map +1 -1
  39. package/dist/presentation/routes/rate-limit.js +24 -0
  40. package/dist/presentation/routes/rate-limit.js.map +1 -1
  41. package/dist/temporal/activities/agent-access-retention.d.ts +13 -0
  42. package/dist/temporal/activities/agent-access-retention.d.ts.map +1 -0
  43. package/dist/temporal/activities/agent-access-retention.js +58 -0
  44. package/dist/temporal/activities/agent-access-retention.js.map +1 -0
  45. package/dist/temporal/activities/index.d.ts +5 -0
  46. package/dist/temporal/activities/index.d.ts.map +1 -0
  47. package/dist/temporal/activities/index.js +8 -0
  48. package/dist/temporal/activities/index.js.map +1 -0
  49. package/dist/temporal/constants.d.ts +2 -0
  50. package/dist/temporal/constants.d.ts.map +1 -0
  51. package/dist/temporal/constants.js +3 -0
  52. package/dist/temporal/constants.js.map +1 -0
  53. package/dist/temporal/workflows/agent-access-retention-cron.d.ts +2 -0
  54. package/dist/temporal/workflows/agent-access-retention-cron.d.ts.map +1 -0
  55. package/dist/temporal/workflows/agent-access-retention-cron.js +22 -0
  56. package/dist/temporal/workflows/agent-access-retention-cron.js.map +1 -0
  57. package/dist/temporal/workflows/index.bundle.js +25227 -0
  58. package/dist/temporal/workflows/index.bundle.meta.json +1 -0
  59. package/dist/temporal/workflows/index.d.ts +2 -0
  60. package/dist/temporal/workflows/index.d.ts.map +1 -0
  61. package/dist/temporal/workflows/index.js +3 -0
  62. package/dist/temporal/workflows/index.js.map +1 -0
  63. package/dist/tsconfig.test.tsbuildinfo +1 -1
  64. package/package.json +7 -4
  65. package/src/core/cimd.test.ts +213 -0
  66. package/src/core/cimd.ts +532 -0
  67. package/src/core/errors.ts +41 -0
  68. package/src/core/oauth-client-resolver.test.ts +198 -0
  69. package/src/core/oauth-client-resolver.ts +253 -0
  70. package/src/core/oauth-client.test.ts +157 -0
  71. package/src/core/oauth-client.ts +331 -0
  72. package/src/db/agent-access-retention.ts +10 -0
  73. package/src/db/agent-access.test.ts +697 -3
  74. package/src/db/agent-access.ts +953 -91
  75. package/src/index.test.ts +27 -0
  76. package/src/index.ts +76 -0
  77. package/src/metrics/instance.ts +5 -1
  78. package/src/presentation/routes/oauth.test.ts +133 -0
  79. package/src/presentation/routes/oauth.ts +144 -0
  80. package/src/presentation/routes/rate-limit.ts +12 -0
  81. package/src/temporal/activities/agent-access-retention.ts +76 -0
  82. package/src/temporal/activities/index.ts +5 -0
  83. package/src/temporal/constants.ts +1 -0
  84. package/src/temporal/workflows/agent-access-retention-cron.ts +23 -0
  85. package/src/temporal/workflows/index.ts +1 -0
  86. package/tsconfig.build.tsbuildinfo +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-access-retention.d.ts","sourceRoot":"","sources":["../../src/db/agent-access-retention.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC,IAAI,CAAC;AACpD,eAAO,MAAM,kCAAkC,KAAK,CAAC;AACrD,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,eAAO,MAAM,kCAAkC,MAAM,CAAC;AACtD,eAAO,MAAM,qCAAqC,OAAQ,CAAC;AAC3D,eAAO,MAAM,qCAAqC,QAAa,CAAC;AAChE,eAAO,MAAM,wCAAwC,OAAQ,CAAC"}
@@ -0,0 +1,11 @@
1
+ export const AGENT_AUTHORIZATION_RETENTION_DAYS = 1;
2
+ export const AGENT_REFRESH_TOKEN_RETENTION_DAYS = 30;
3
+ export const AGENT_GRANT_RETENTION_DAYS = 90;
4
+ export const AGENT_PAT_RETENTION_DAYS = 90;
5
+ export const AGENT_CLIENT_RETENTION_DAYS = 30;
6
+ export const AGENT_ACCESS_RETENTION_BATCH_LIMIT = 200;
7
+ export const AGENT_ACCESS_RETENTION_MAX_ITERATIONS = 1_000;
8
+ export const AGENT_ACCESS_RETENTION_TIME_BUDGET_MS = 4 * 60_000;
9
+ export const AGENT_ACCESS_RETENTION_TIMEOUT_MARGIN_MS = 1_000;
10
+
11
+ //# sourceMappingURL=agent-access-retention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/db/agent-access-retention.ts"],"sourcesContent":["export const AGENT_AUTHORIZATION_RETENTION_DAYS = 1;\nexport const AGENT_REFRESH_TOKEN_RETENTION_DAYS = 30;\nexport const AGENT_GRANT_RETENTION_DAYS = 90;\nexport const AGENT_PAT_RETENTION_DAYS = 90;\nexport const AGENT_CLIENT_RETENTION_DAYS = 30;\n\nexport const AGENT_ACCESS_RETENTION_BATCH_LIMIT = 200;\nexport const AGENT_ACCESS_RETENTION_MAX_ITERATIONS = 1_000;\nexport const AGENT_ACCESS_RETENTION_TIME_BUDGET_MS = 4 * 60_000;\nexport const AGENT_ACCESS_RETENTION_TIMEOUT_MARGIN_MS = 1_000;\n"],"names":["AGENT_AUTHORIZATION_RETENTION_DAYS","AGENT_REFRESH_TOKEN_RETENTION_DAYS","AGENT_GRANT_RETENTION_DAYS","AGENT_PAT_RETENTION_DAYS","AGENT_CLIENT_RETENTION_DAYS","AGENT_ACCESS_RETENTION_BATCH_LIMIT","AGENT_ACCESS_RETENTION_MAX_ITERATIONS","AGENT_ACCESS_RETENTION_TIME_BUDGET_MS","AGENT_ACCESS_RETENTION_TIMEOUT_MARGIN_MS"],"mappings":"AAAA,OAAO,MAAMA,qCAAqC,EAAE;AACpD,OAAO,MAAMC,qCAAqC,GAAG;AACrD,OAAO,MAAMC,6BAA6B,GAAG;AAC7C,OAAO,MAAMC,2BAA2B,GAAG;AAC3C,OAAO,MAAMC,8BAA8B,GAAG;AAE9C,OAAO,MAAMC,qCAAqC,IAAI;AACtD,OAAO,MAAMC,wCAAwC,MAAM;AAC3D,OAAO,MAAMC,wCAAwC,IAAI,OAAO;AAChE,OAAO,MAAMC,2CAA2C,MAAM"}
@@ -2,6 +2,18 @@ import type { AgentAuthorizationCode, AgentAuthorizationRequest, AgentClient, Ag
2
2
  import { db } from './db.js';
3
3
  export type AgentAccessTx = Parameters<Parameters<ReturnType<typeof db>['transaction']>[0]>[0];
4
4
  type AgentAccessExecutor = ReturnType<typeof db> | AgentAccessTx;
5
+ /** Returns the default sliding lifetime for a newly issued agent refresh token. */
6
+ export declare function agentRefreshTokenExpiresAt(now?: Date): Date;
7
+ /**
8
+ * A rotated token remains usable for an access-token-only grace response. The
9
+ * row must still exist; pruning deliberately turns later replays into plain
10
+ * unknown-token responses.
11
+ */
12
+ export declare function isWithinAgentRefreshRotationGrace(params: {
13
+ rotatedAt: Date | null;
14
+ now?: Date;
15
+ graceSeconds?: number | undefined;
16
+ }): boolean;
5
17
  export interface CreateAgentClientParams {
6
18
  clientId: string;
7
19
  name: string;
@@ -10,6 +22,17 @@ export interface CreateAgentClientParams {
10
22
  }
11
23
  export declare function createAgentClient(params: CreateAgentClientParams): Promise<AgentClient>;
12
24
  export declare function createAgentClientTx(tx: AgentAccessTx, params: CreateAgentClientParams): Promise<AgentClient>;
25
+ export interface UpsertCimdAgentClientParams {
26
+ clientId: string;
27
+ name: string;
28
+ redirectUris: string[];
29
+ }
30
+ /**
31
+ * Stores the latest validated CIMD identity. The generic client upsert above
32
+ * intentionally preserves registration metadata; CIMD documents are the
33
+ * source of truth and therefore use this explicit update path.
34
+ */
35
+ export declare function upsertCimdAgentClient(params: UpsertCimdAgentClientParams): Promise<AgentClient>;
13
36
  export declare function findAgentClientByClientId(params: {
14
37
  clientId: string;
15
38
  executor?: AgentAccessExecutor;
@@ -55,6 +78,12 @@ export interface CreateAgentGrantParams {
55
78
  scopes: string[];
56
79
  }
57
80
  export declare function createAgentGrant(params: CreateAgentGrantParams): Promise<AgentGrant>;
81
+ /**
82
+ * Creates or reauthorizes a grant while holding its client row lock. A newly
83
+ * created grant has no live child until its first authorization code or refresh
84
+ * token is issued, so approval callers must compose that first child creation
85
+ * with this Tx helper in one database transaction.
86
+ */
58
87
  export declare function createAgentGrantTx(tx: AgentAccessTx, params: CreateAgentGrantParams): Promise<AgentGrant>;
59
88
  export declare function findAgentGrant(params: {
60
89
  id: string;
@@ -97,7 +126,8 @@ export declare function consumeAgentAuthorizationCodeTx(tx: AgentAccessTx, param
97
126
  export interface CreateAgentRefreshTokenParams {
98
127
  grantId: string;
99
128
  hashedToken: string;
100
- expiresAt: Date;
129
+ /** Defaults to the configured 14-day lifetime. */
130
+ expiresAt?: Date;
101
131
  }
102
132
  export declare function createAgentRefreshToken(params: CreateAgentRefreshTokenParams): Promise<AgentRefreshToken>;
103
133
  export declare function createAgentRefreshTokenTx(tx: AgentAccessTx, params: CreateAgentRefreshTokenParams): Promise<AgentRefreshToken>;
@@ -109,20 +139,72 @@ export declare function findActiveAgentRefreshTokenByHash(params: {
109
139
  hashedToken: string;
110
140
  executor?: AgentAccessExecutor;
111
141
  }): Promise<AgentRefreshToken | undefined>;
142
+ /** Finds the one live refresh token currently attached to a grant. */
143
+ export declare function findActiveAgentRefreshTokenByGrantId(params: {
144
+ grantId: string;
145
+ executor?: AgentAccessExecutor;
146
+ }): Promise<AgentRefreshToken | undefined>;
147
+ export type AgentRefreshTokenReplayResult = {
148
+ kind: 'grace';
149
+ grant: AgentGrant;
150
+ predecessor: AgentRefreshToken;
151
+ successor: AgentRefreshToken;
152
+ } | {
153
+ kind: 'reused';
154
+ grant: AgentGrant;
155
+ predecessor: AgentRefreshToken;
156
+ };
157
+ /**
158
+ * Resolves a replay of a retained, rotated token. A grace hit returns the one
159
+ * live successor so the caller can mint an access token without issuing a new
160
+ * refresh cookie. A replay after grace revokes the complete grant family.
161
+ * Missing or pruned rows return undefined and therefore remain plain 401s.
162
+ */
163
+ export declare function resolveAgentRefreshTokenReplay(params: {
164
+ hashedToken: string;
165
+ now?: Date;
166
+ graceSeconds?: number;
167
+ }): Promise<AgentRefreshTokenReplayResult | undefined>;
168
+ export declare function resolveAgentRefreshTokenReplayTx(tx: AgentAccessTx, params: {
169
+ hashedToken: string;
170
+ now?: Date;
171
+ graceSeconds?: number;
172
+ }): Promise<AgentRefreshTokenReplayResult | undefined>;
112
173
  /** Rotates a refresh token atomically; a concurrent rotation cannot win twice. */
113
174
  export declare function rotateAgentRefreshToken(params: {
114
175
  hashedToken: string;
115
176
  replacementHashedToken: string;
116
- replacementExpiresAt: Date;
177
+ /** Defaults to the configured 14-day sliding lifetime. */
178
+ replacementExpiresAt?: Date;
117
179
  }): Promise<AgentRefreshToken | undefined>;
118
180
  export declare function rotateAgentRefreshTokenTx(tx: AgentAccessTx, params: {
119
181
  hashedToken: string;
120
182
  replacementHashedToken: string;
121
- replacementExpiresAt: Date;
183
+ replacementExpiresAt?: Date;
122
184
  }): Promise<AgentRefreshToken | undefined>;
123
185
  export declare function revokeAgentRefreshToken(params: {
124
186
  id: string;
125
187
  }): Promise<AgentRefreshToken | undefined>;
188
+ /** Revokes a grant and every refresh-token generation in its family. */
189
+ export declare function revokeAgentGrant(params: {
190
+ grantId: string;
191
+ }): Promise<AgentGrant | undefined>;
192
+ export declare function revokeAgentGrantTx(tx: AgentAccessTx, params: {
193
+ grantId: string;
194
+ }): Promise<AgentGrant | undefined>;
195
+ export interface TransitionAgentGrantsToTerminalParams {
196
+ limit?: number;
197
+ now?: Date;
198
+ deadlineMs?: number | undefined;
199
+ }
200
+ /**
201
+ * Marks grants terminal once they have no usable refresh token or authorization
202
+ * code left. Each candidate is locked before its children are inspected so a
203
+ * concurrent code exchange or token rotation cannot create a live child after
204
+ * the decision.
205
+ */
206
+ export declare function transitionAgentGrantsToTerminal(params?: TransitionAgentGrantsToTerminalParams): Promise<number>;
207
+ export declare function transitionAgentGrantsToTerminalTx(tx: AgentAccessTx, params?: TransitionAgentGrantsToTerminalParams): Promise<number>;
126
208
  export interface CreateAgentPersonalAccessTokenParams {
127
209
  userId: string;
128
210
  workspaceId: string;
@@ -144,16 +226,30 @@ export declare function findActiveAgentPersonalAccessTokenByHash(params: {
144
226
  }): Promise<AgentPersonalAccessToken | undefined>;
145
227
  export declare function markAgentPersonalAccessTokenUsed(params: {
146
228
  id: string;
229
+ throttleSeconds?: number;
147
230
  }): Promise<AgentPersonalAccessToken | undefined>;
148
231
  export declare function revokeAgentPersonalAccessToken(params: {
149
232
  id: string;
150
233
  }): Promise<AgentPersonalAccessToken | undefined>;
151
234
  export interface PruneAgentAccessParams {
235
+ /** Overrides every retention horizon for deterministic maintenance tests. */
152
236
  retentionDays?: number;
153
237
  limit?: number;
154
238
  now?: Date;
239
+ /** Absolute epoch deadline used to bound every PostgreSQL statement. */
240
+ deadlineMs?: number;
241
+ }
242
+ export interface PruneAgentAccessResult {
243
+ deleted: number;
244
+ transitioned: number;
155
245
  }
156
- /** Deletes terminal credentials and ephemeral authorization rows in bounded batches. */
246
+ /**
247
+ * Transitions inactive grants and deletes retained agent-access rows in bounded
248
+ * batches. The caller can override the common horizon in tests; production uses
249
+ * the per-row windows from the agent-access retention policy.
250
+ */
157
251
  export declare function pruneAgentAccess(params?: PruneAgentAccessParams): Promise<number>;
252
+ /** Runs one bounded retention transaction and reports terminal transitions separately. */
253
+ export declare function pruneAgentAccessBatch(params?: PruneAgentAccessParams): Promise<PruneAgentAccessResult>;
158
254
  export {};
159
255
  //# sourceMappingURL=agent-access.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-access.d.ts","sourceRoot":"","sources":["../../src/db/agent-access.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-access.d.ts","sourceRoot":"","sources":["../../src/db/agent-access.ts"],"names":[],"mappings":"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"}