@synoikia/core 0.14.2 → 0.16.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 (63) hide show
  1. package/dist/app.d.ts +8 -0
  2. package/dist/app.js +7 -5
  3. package/dist/app.js.map +1 -1
  4. package/dist/approvals/grants.d.ts +4 -1
  5. package/dist/approvals/grants.js +4 -4
  6. package/dist/approvals/grants.js.map +1 -1
  7. package/dist/approvals/service.d.ts +28 -10
  8. package/dist/approvals/service.js +5 -2
  9. package/dist/approvals/service.js.map +1 -1
  10. package/dist/auth/external-cloudflare.js +5 -3
  11. package/dist/auth/external-cloudflare.js.map +1 -1
  12. package/dist/auth/external.d.ts +6 -2
  13. package/dist/auth/external.js.map +1 -1
  14. package/dist/auth/mcp-auth.js +1 -1
  15. package/dist/auth/mcp-auth.js.map +1 -1
  16. package/dist/auth/oidc.d.ts +4 -3
  17. package/dist/auth/oidc.js +18 -6
  18. package/dist/auth/oidc.js.map +1 -1
  19. package/dist/auth/sessions.d.ts +2 -2
  20. package/dist/auth/sessions.js +2 -2
  21. package/dist/auth/sessions.js.map +1 -1
  22. package/dist/auth/throttle.d.ts +2 -1
  23. package/dist/auth/throttle.js +16 -6
  24. package/dist/auth/throttle.js.map +1 -1
  25. package/dist/auth/users.d.ts +19 -1
  26. package/dist/auth/users.js +45 -11
  27. package/dist/auth/users.js.map +1 -1
  28. package/dist/catalog/role-levels.d.ts +1 -1
  29. package/dist/catalog/role-levels.js +5 -3
  30. package/dist/catalog/role-levels.js.map +1 -1
  31. package/dist/db/schema.d.ts +24 -0
  32. package/dist/db/schema.js +2 -0
  33. package/dist/db/schema.js.map +1 -1
  34. package/dist/errors.d.ts +10 -2
  35. package/dist/errors.js +12 -0
  36. package/dist/errors.js.map +1 -1
  37. package/dist/gate/pipeline.d.ts +2 -2
  38. package/dist/gate/pipeline.js +53 -18
  39. package/dist/gate/pipeline.js.map +1 -1
  40. package/dist/http/admin/auth.js +64 -28
  41. package/dist/http/admin/auth.js.map +1 -1
  42. package/dist/http/admin/system.js +27 -3
  43. package/dist/http/admin/system.js.map +1 -1
  44. package/dist/http/common.d.ts +1 -1
  45. package/dist/http/mcp/approval-routes.js +2 -1
  46. package/dist/http/mcp/approval-routes.js.map +1 -1
  47. package/dist/http/mcp/endpoint.js +5 -5
  48. package/dist/http/mcp/endpoint.js.map +1 -1
  49. package/dist/http/mcp/oauth-routes.js +16 -7
  50. package/dist/http/mcp/oauth-routes.js.map +1 -1
  51. package/dist/instances/manager.d.ts +4 -0
  52. package/dist/instances/manager.js +30 -13
  53. package/dist/instances/manager.js.map +1 -1
  54. package/dist/notify/service.d.ts +32 -2
  55. package/dist/notify/service.js +40 -12
  56. package/dist/notify/service.js.map +1 -1
  57. package/dist/plugins/repos.d.ts +70 -1
  58. package/dist/plugins/repos.js +234 -61
  59. package/dist/plugins/repos.js.map +1 -1
  60. package/drizzle/0018_plugin_manual.sql +1 -0
  61. package/drizzle/meta/0018_snapshot.json +2862 -0
  62. package/drizzle/meta/_journal.json +7 -0
  63. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  /** Service-layer errors that the Admin API maps onto HTTP status codes. */
2
2
  export declare class ServiceError extends Error {
3
- readonly status: 400 | 403 | 404 | 409;
3
+ readonly status: 400 | 403 | 404 | 409 | 502;
4
4
  readonly code: string;
5
5
  readonly details?: unknown | undefined;
6
- constructor(status: 400 | 403 | 404 | 409, code: string, message: string, details?: unknown | undefined);
6
+ constructor(status: 400 | 403 | 404 | 409 | 502, code: string, message: string, details?: unknown | undefined);
7
7
  }
8
8
  export declare class ValidationError extends ServiceError {
9
9
  constructor(code: string, message: string, details?: unknown);
@@ -17,3 +17,11 @@ export declare class ConflictError extends ServiceError {
17
17
  export declare class ForbiddenError extends ServiceError {
18
18
  constructor(code: string, message: string, details?: unknown);
19
19
  }
20
+ /** Stored secrets that the current master key cannot decrypt (design §7.2). */
21
+ export declare class SecretsUnreadableError extends ConflictError {
22
+ constructor();
23
+ }
24
+ /** A plugin or upstream answered, but with something core cannot use. */
25
+ export declare class BadGatewayError extends ServiceError {
26
+ constructor(code: string, message: string, details?: unknown);
27
+ }
package/dist/errors.js CHANGED
@@ -31,4 +31,16 @@ export class ForbiddenError extends ServiceError {
31
31
  super(403, code, message, details);
32
32
  }
33
33
  }
34
+ /** Stored secrets that the current master key cannot decrypt (design §7.2). */
35
+ export class SecretsUnreadableError extends ConflictError {
36
+ constructor() {
37
+ super('secrets_unreadable', 'The stored secrets cannot be read with the current master key. Enter them again.');
38
+ }
39
+ }
40
+ /** A plugin or upstream answered, but with something core cannot use. */
41
+ export class BadGatewayError extends ServiceError {
42
+ constructor(code, message, details) {
43
+ super(502, code, message, details);
44
+ }
45
+ }
34
46
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,OAAO,YAAa,SAAQ,KAAK;IAE1B;IACA;IAEA;IAJX,YACW,MAA6B,EAC7B,IAAY,EACrB,OAAe,EACN,OAAiB;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAC;QALN,WAAM,GAAN,MAAM,CAAuB;QAC7B,SAAI,GAAJ,IAAI,CAAQ;QAEZ,YAAO,GAAP,OAAO,CAAU;QAG1B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,YAAY,IAAY,EAAE,OAAe,EAAE,OAAiB;QAC1D,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC7C,YAAY,IAAY,EAAE,OAAe,EAAE,OAAiB;QAC1D,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC7C,YAAY,IAAY,EAAE,OAAe,EAAE,OAAiB;QAC1D,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC9C,YAAY,IAAY,EAAE,OAAe,EAAE,OAAiB;QAC1D,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,OAAO,YAAa,SAAQ,KAAK;IAE1B;IACA;IAEA;IAJX,YACW,MAAmC,EACnC,IAAY,EACrB,OAAe,EACN,OAAiB;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAC;QALN,WAAM,GAAN,MAAM,CAA6B;QACnC,SAAI,GAAJ,IAAI,CAAQ;QAEZ,YAAO,GAAP,OAAO,CAAU;QAG1B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,YAAY,IAAY,EAAE,OAAe,EAAE,OAAiB;QAC1D,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC7C,YAAY,IAAY,EAAE,OAAe,EAAE,OAAiB;QAC1D,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC7C,YAAY,IAAY,EAAE,OAAe,EAAE,OAAiB;QAC1D,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC9C,YAAY,IAAY,EAAE,OAAe,EAAE,OAAiB;QAC1D,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;CACF;AAED,+EAA+E;AAC/E,MAAM,OAAO,sBAAuB,SAAQ,aAAa;IACvD;QACE,KAAK,CAAC,oBAAoB,EAAE,kFAAkF,CAAC,CAAC;IAClH,CAAC;CACF;AAED,yEAAyE;AACzE,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,YAAY,IAAY,EAAE,OAAe,EAAE,OAAiB;QAC1D,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;CACF"}
@@ -9,8 +9,8 @@ import type { PluginProcess } from '../plugins/process.js';
9
9
  import type { Binding } from '../sandbox/index.js';
10
10
  import type { SlidingWindowLimiter } from './rate-limit.js';
11
11
  import type { Redactor } from './redact.js';
12
- /** The permission gate (design §5.2), the only path from sandboxed code to `invoke`: resolve → attest →
13
- * access → targets → prepareWrite → [grant | rule | human] → invoke → redact → audit (every branch audited). */
12
+ /** The permission gate (design §5.2), the only path from sandboxed code to `invoke`: resolve → access →
13
+ * attest → targets → prepareWrite → [grant | rule | human] → invoke → redact → audit (every branch audited). */
14
14
  export interface GateDeps {
15
15
  db: Db;
16
16
  approvals: ApprovalService;
@@ -9,9 +9,21 @@ import { verifyAttestationKey } from './attestation.js';
9
9
  import { canonicalJson, sha256Hex } from './canonical.js';
10
10
  import { evaluatePreApproval } from './preapproval.js';
11
11
  import { redactDiff, redactPaths, redactResult } from './redact.js';
12
+ /** How an approved call runs besides its classification: a sync must not change it during the wait (§5.3). */
13
+ const runRules = (op) => canonicalJson({
14
+ typedConfirmation: op.typedConfirmation,
15
+ sensitiveParams: [...(op.sensitiveParams ?? [])].sort(),
16
+ sensitiveResult: op.sensitiveResult && op.sensitiveResult !== 'whole'
17
+ ? { ...op.sensitiveResult, keys: [...op.sensitiveResult.keys].sort() }
18
+ : (op.sensitiveResult ?? null),
19
+ });
12
20
  /** What per-principal limits are keyed on: the stable principal, never the display name. */
13
21
  export const principalKey = (caller) => caller.client.key ?? caller.client.id ?? 'anonymous';
14
22
  const MAX_ERROR_MESSAGE = 500;
23
+ // `invoke` times out this long before the run does, so the agent learns that the result is unknown.
24
+ const INVOKE_MARGIN_MS = 500;
25
+ // A shorter deadline can miss even a fast answer, so the run ends with its time limit instead.
26
+ const MIN_INVOKE_MS = 100;
15
27
  const PASSTHROUGH_PLUGIN_CODES = new Set([
16
28
  'UNKNOWN_OPERATION',
17
29
  'INVALID_PARAMS',
@@ -52,6 +64,7 @@ const DENIAL_MESSAGES = {
52
64
  prompt_failed: 'needs approval, but the client could not show the approval prompt',
53
65
  confirmation_mismatch: 'was denied (confirmation mismatch)',
54
66
  endpoint_stopped: 'was cancelled: the endpoint was stopped or reconfigured while it waited for approval',
67
+ user_deleted: 'was cancelled: the owner of this credential was deleted',
55
68
  park_refused: 'needs approval, and an earlier approval of this execution was not given or it reached its approval limit; call execute again',
56
69
  too_many_parked: 'needs approval, and too many earlier calls of this client still wait for one; resume or finish those first',
57
70
  };
@@ -118,27 +131,29 @@ export function createGateBindings(deps, rt, caller, signal = new AbortControlle
118
131
  // Redacted by key name, plus the paths the plugin declared for this operation (positional secrets).
119
132
  const redactParams = (p) => redactPaths(rt.redact(p), op?.sensitiveParams);
120
133
  audit.params = redactParams(resolved.params);
121
- // 1. Attestation, before anything else about the op is revealed.
122
- if (op && !op.stale && op.attestationRequired) {
134
+ // 1. Access level (operation's own, else its group's) under the principal's ceiling. Unknown or
135
+ // stale ops fail here too.
136
+ const access = resolveAccess(deps.db, rt.instanceId, resolved.key, caller.principal);
137
+ if (!access.reachable || !op) {
138
+ const reason = access.reachable ? 'unknown_operation' : access.reason;
139
+ reject(`rejected:${reason}`, Object.assign(new BindingError('OPERATION_DISABLED', `${resolved.key} ${DISABLED_MESSAGES[reason] ?? 'is not available'}`), { reason }));
140
+ }
141
+ const operation = op;
142
+ // The row that redacts the result: re-read after a human approval.
143
+ let resultRules = operation;
144
+ // 2. Attestation (design §5.2), for an operation this caller can reach.
145
+ if (operation.attestationRequired) {
123
146
  const presented = resolved.params?.best_practice_key;
124
147
  if (!verifyAttestationKey(deps.db, deps.attestationKey, {
125
148
  instanceId: rt.instanceId,
126
- operationId: op.id,
127
- opKey: op.key,
149
+ operationId: operation.id,
150
+ opKey: operation.key,
128
151
  mcpSessionId: caller.mcpSessionId,
129
152
  presented,
130
153
  })) {
131
- reject('rejected:attestation_required', new BindingError('ATTESTATION_REQUIRED', `Call search() for the ${op.key} guide first and pass its best_practice_key`));
154
+ reject('rejected:attestation_required', new BindingError('ATTESTATION_REQUIRED', `Call search() for the ${operation.key} guide first and pass its best_practice_key`));
132
155
  }
133
156
  }
134
- // 2. Access level (operation's own, else its group's) under the principal's ceiling. Unknown or
135
- // stale ops fail here too.
136
- const access = resolveAccess(deps.db, rt.instanceId, resolved.key, caller.principal);
137
- if (!access.reachable || !op) {
138
- const reason = access.reachable ? 'unknown_operation' : access.reason;
139
- reject(`rejected:${reason}`, Object.assign(new BindingError('OPERATION_DISABLED', `${resolved.key} ${DISABLED_MESSAGES[reason] ?? 'is not available'}`), { reason }));
140
- }
141
- const operation = op;
142
157
  const mode = access.reachable ? access.mode : 'run';
143
158
  // A read at its own Ask needs a decision too, but only writes use the write budget or prepareWrite.
144
159
  const needsDecision = mode !== 'run';
@@ -282,6 +297,8 @@ export function createGateBindings(deps, rt, caller, signal = new AbortControlle
282
297
  if (approval.outcome === 'cancelled' && signal.aborted)
283
298
  ensureRunning();
284
299
  if (approval.outcome !== 'approved') {
300
+ if (approval.reason)
301
+ audit.detail.reason = approval.reason;
285
302
  const label = approval.outcome === 'timed_out' ? 'timed-out' : 'denied';
286
303
  reject(label, new BindingError('PERMISSION_DENIED', approval.outcome === 'timed_out'
287
304
  ? `Approval for ${operation.key} timed out and was denied`
@@ -293,6 +310,14 @@ export function createGateBindings(deps, rt, caller, signal = new AbortControlle
293
310
  if (!after.reachable || after.mode === 'run') {
294
311
  reject('rejected:access_changed', new BindingError('OPERATION_DISABLED', `${operation.key} was disabled while waiting for approval`));
295
312
  }
313
+ // The human approved one classification and its run rules; a sync during the wait may change them (§5.3).
314
+ const opNow = deps.db.select().from(operations).where(eq(operations.id, operation.id)).get();
315
+ if (!opNow ||
316
+ (opNow.locked ? 'locked' : opNow.classification) !== audit.classification ||
317
+ runRules(opNow) !== runRules(operation)) {
318
+ reject('rejected:operation_changed', new BindingError('OPERATION_CHANGED', `${operation.key} changed while it waited for approval; call it again`));
319
+ }
320
+ resultRules = opNow;
296
321
  decision = 'human-approved';
297
322
  const maxHours = rt.settings.sessionGrantMaxHours;
298
323
  if (approval.sessionGrantUntil &&
@@ -306,7 +331,8 @@ export function createGateBindings(deps, rt, caller, signal = new AbortControlle
306
331
  instanceId: rt.instanceId,
307
332
  principal: principalKey(caller),
308
333
  client: caller.client.id,
309
- createdBy: approval.decidedBy ?? 'unknown',
334
+ createdBy: approval.decidedBy,
335
+ createdById: approval.decidedById,
310
336
  approvalId: request.id,
311
337
  expiresAt: new Date(Math.min(approval.sessionGrantUntil.getTime(), cap)),
312
338
  });
@@ -330,10 +356,14 @@ export function createGateBindings(deps, rt, caller, signal = new AbortControlle
330
356
  throw new BindingError('PLUGIN_UNAVAILABLE', 'The plugin changed while this call was pending (an update or restart); call it again');
331
357
  }
332
358
  // 9. The real upstream call, within what's left of the sandbox budget.
359
+ const remaining = budget.remainingMs() - INVOKE_MARGIN_MS;
360
+ if (remaining < MIN_INVOKE_MS)
361
+ reject('rejected:time_limit', new BindingError('TIMEOUT', 'Sandbox time limit exceeded'));
333
362
  if (isWrite && !deps.limiter.take(writeBucket, rt.settings.writesPerMinute, 60_000))
334
363
  overWriteBudget();
335
- const remaining = Math.max(1, budget.remainingMs());
336
- const result = await rt.plugin().call('invoke', {
364
+ const result = await rt
365
+ .plugin()
366
+ .call('invoke', {
337
367
  key: operation.key,
338
368
  params,
339
369
  context: {
@@ -342,11 +372,16 @@ export function createGateBindings(deps, rt, caller, signal = new AbortControlle
342
372
  deadlineMs: remaining,
343
373
  ...(rt.manifest.capabilities.targets ? { targets } : {}),
344
374
  },
345
- }, remaining);
375
+ }, remaining)
376
+ .catch((err) => {
377
+ if (!(err instanceof PluginTimeoutError))
378
+ throw err;
379
+ throw new BindingError('UPSTREAM_TIMEOUT', `${rt.manifest.name} did not answer in time. The result is unknown: check before you retry`);
380
+ });
346
381
  // 10–11. Redact (the operation's declared result secrets first, then by key name and secret
347
382
  // value), audit, hand back. Nothing past this point sees the plugin's raw result.
348
383
  finish(decision, { resultStatus: 'ok' });
349
- return rt.redact(redactResult(result, operation.sensitiveResult));
384
+ return rt.redact(redactResult(result, resultRules.sensitiveResult));
350
385
  }
351
386
  catch (err) {
352
387
  const raw = toBindingError(err);
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/gate/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/gate/pipeline.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { deleteCookie, getCookie, setCookie } from 'hono/cookie';
2
2
  import { z } from 'zod';
3
3
  import { writeAudit } from '../../audit.js';
4
4
  import { randomToken, safeEqual, signPayload, verifyPayload } from '../../auth/tokens.js';
5
- import { ConflictError } from '../../errors.js';
5
+ import { ConflictError, ServiceError } from '../../errors.js';
6
6
  import { getSettings } from '../../settings.js';
7
7
  import { clientIp, isSecure, readJson, requestOrigin } from '../common.js';
8
8
  const SESSION_COOKIE = 'syn_admin';
@@ -104,6 +104,31 @@ function adminCallbackUrl(c, ctx) {
104
104
  const base = ctx.config.PUBLIC_ADMIN_URL ?? requestOrigin(c, ctx.config.TRUST_PROXY);
105
105
  return new URL('/auth/oidc/callback', base).toString();
106
106
  }
107
+ const lockedAnswer = (lockedFor) => ({
108
+ error: 'locked',
109
+ message: `Too many failed attempts; try again in ${Math.ceil(lockedFor / 60)} min`,
110
+ });
111
+ /** A wrong second-factor code counts toward the name's lock (§6.1), announces a new lock and is audited. */
112
+ function codeFailed(ctx, username, detail = {}) {
113
+ if (ctx.throttle.fail(username))
114
+ ctx.events.emit('auth.lockout', { username });
115
+ writeAudit(ctx.db, { kind: 'auth', decision: 'totp_failed', actorKind: 'system', detail: { username, ...detail } });
116
+ }
117
+ /** A profile change that needs a current code: the sign-in lock of the name covers it too (§6.1). */
118
+ async function withProfileCode(c, ctx, verify, done) {
119
+ const { code } = await readJson(c, z.object({ code: z.string().max(32) }));
120
+ const user = c.get('user');
121
+ const lockedFor = ctx.throttle.lockedFor(user.username);
122
+ if (lockedFor > 0)
123
+ return c.json(lockedAnswer(lockedFor), 429);
124
+ const result = verify(user, code);
125
+ if (!result) {
126
+ codeFailed(ctx, user.username, { route: c.req.path });
127
+ return c.json({ error: 'invalid_code', message: 'Invalid code' }, 401);
128
+ }
129
+ ctx.throttle.succeed(user.username);
130
+ return done(result);
131
+ }
107
132
  const safeReturnTo = (v) => (v && v.startsWith('/') && !v.startsWith('//') ? v : '/');
108
133
  export function registerAuthRoutes(app, ctx) {
109
134
  const LoginBody = z.object({ username: z.string().min(1).max(64), password: z.string().min(1).max(1024) });
@@ -169,9 +194,8 @@ export function registerAuthRoutes(app, ctx) {
169
194
  return c.json({ error: 'local_login_disabled', message: 'Use single sign-on' }, 403);
170
195
  const body = await readJson(c, LoginBody);
171
196
  const lockedFor = ctx.throttle.lockedFor(body.username);
172
- if (lockedFor > 0) {
173
- return c.json({ error: 'locked', message: `Too many failed attempts; try again in ${Math.ceil(lockedFor / 60)} min` }, 429);
174
- }
197
+ if (lockedFor > 0)
198
+ return c.json(lockedAnswer(lockedFor), 429);
175
199
  const user = await ctx.users.verifyPassword(body.username, body.password);
176
200
  if (!user) {
177
201
  const locked = ctx.throttle.fail(body.username);
@@ -186,7 +210,7 @@ export function registerAuthRoutes(app, ctx) {
186
210
  return c.json({ error: 'invalid_credentials', message: 'Invalid username or password' }, 401);
187
211
  }
188
212
  if (user.totpEnabled) {
189
- setCookie(c, MFA_COOKIE, signPayload(ctx.keys.state, { mfaUser: user.id }, MFA_TTL_MS), {
213
+ setCookie(c, MFA_COOKIE, signPayload(ctx.keys.state, { mfaUser: user.id }, MFA_TTL_MS, ctx.now().getTime()), {
190
214
  httpOnly: true,
191
215
  secure: isSecure(c, ctx.config.TRUST_PROXY),
192
216
  sameSite: 'Strict',
@@ -200,8 +224,10 @@ export function registerAuthRoutes(app, ctx) {
200
224
  return c.json({ status: 'ok', mustEnrollTotp: ctx.users.mustEnrollTotp(user) });
201
225
  });
202
226
  app.post('/auth/totp', async (c) => {
227
+ if (!ctx.throttle.allowIp(clientIp(c, ctx.config.TRUST_PROXY)))
228
+ return c.json({ error: 'rate_limited', message: 'Too many attempts; try again later' }, 429);
203
229
  const { code } = await readJson(c, z.object({ code: z.string().min(1).max(32) }));
204
- const pending = verifyPayload(ctx.keys.state, getCookie(c, MFA_COOKIE));
230
+ const pending = verifyPayload(ctx.keys.state, getCookie(c, MFA_COOKIE), ctx.now().getTime());
205
231
  if (!pending)
206
232
  return c.json({ error: 'mfa_expired', message: 'Sign in again' }, 401);
207
233
  const user = ctx.users.get(pending.mfaUser);
@@ -209,14 +235,7 @@ export function registerAuthRoutes(app, ctx) {
209
235
  return c.json({ error: 'locked', message: 'Too many failed attempts' }, 429);
210
236
  const factor = ctx.users.verifySecondFactor(user.id, code);
211
237
  if (!factor) {
212
- if (ctx.throttle.fail(user.username))
213
- ctx.events.emit('auth.lockout', { username: user.username });
214
- writeAudit(ctx.db, {
215
- kind: 'auth',
216
- decision: 'totp_failed',
217
- actorKind: 'system',
218
- detail: { username: user.username },
219
- });
238
+ codeFailed(ctx, user.username);
220
239
  return c.json({ error: 'invalid_code', message: 'Invalid code' }, 401);
221
240
  }
222
241
  deleteCookie(c, MFA_COOKIE, { path: '/auth' });
@@ -286,7 +305,7 @@ export function registerAuthRoutes(app, ctx) {
286
305
  if (!ctx.oidc.isAllowed(identity))
287
306
  return c.redirect('/profile?error=oidc_not_allowed');
288
307
  // The IdP's cross-site redirect carries no SameSite=Strict session; a same-origin hop does.
289
- const token = signPayload(ctx.keys.state, { purpose: 'oidc_link', userId: state.userId, issuer: identity.issuer, subject: identity.subject }, LINK_TTL_MS);
308
+ const token = signPayload(ctx.keys.state, { purpose: 'oidc_link', userId: state.userId, issuer: identity.issuer, subject: identity.subject }, LINK_TTL_MS, ctx.now().getTime());
290
309
  const next = `/auth/oidc/link/finish?t=${encodeURIComponent(token)}`;
291
310
  c.header('Cache-Control', 'no-store');
292
311
  c.header('Referrer-Policy', 'no-referrer');
@@ -312,7 +331,7 @@ export function registerAuthRoutes(app, ctx) {
312
331
  const session = ctx.sessions.validate(readSessionCookie(c), 'admin', sessionLimits(ctx));
313
332
  if (!session)
314
333
  return c.redirect('/login?error=session_changed');
315
- const link = LinkTokenSchema.safeParse(verifyPayload(ctx.keys.state, c.req.query('t'))).data;
334
+ const link = LinkTokenSchema.safeParse(verifyPayload(ctx.keys.state, c.req.query('t'), ctx.now().getTime())).data;
316
335
  if (!link || link.userId !== session.user.id)
317
336
  return c.redirect('/profile?error=session_changed');
318
337
  try {
@@ -327,14 +346,34 @@ export function registerAuthRoutes(app, ctx) {
327
346
  });
328
347
  }
329
348
  export function registerProfileRoutes(app, ctx) {
330
- app.get('/api/profile', (c) => c.json(ctx.users.toPublic(ctx.users.get(c.get('user').id))));
349
+ app.get('/api/profile', (c) => c.json(ctx.users.profile(c.get('user').id)));
331
350
  app.post('/api/profile/password', async (c) => {
332
351
  const body = await readJson(c, z.object({ currentPassword: z.string().optional(), newPassword: z.string() }));
333
352
  const user = c.get('user');
334
- await ctx.users.setPassword(user.id, body.newPassword, {
335
- currentPassword: body.currentPassword ?? '',
336
- actorId: user.id,
337
- });
353
+ // The current password is a guess like a sign-in: it counts toward the name's lock (§6.1).
354
+ const lockedFor = ctx.throttle.lockedFor(user.username);
355
+ if (lockedFor > 0)
356
+ return c.json(lockedAnswer(lockedFor), 429);
357
+ try {
358
+ await ctx.users.setPassword(user.id, body.newPassword, {
359
+ currentPassword: body.currentPassword ?? '',
360
+ actorId: user.id,
361
+ });
362
+ }
363
+ catch (err) {
364
+ if (err instanceof ServiceError && err.code === 'wrong_password') {
365
+ if (ctx.throttle.fail(user.username))
366
+ ctx.events.emit('auth.lockout', { username: user.username });
367
+ writeAudit(ctx.db, {
368
+ kind: 'auth',
369
+ decision: 'password_failed',
370
+ actorKind: 'system',
371
+ detail: { username: user.username, route: c.req.path },
372
+ });
373
+ }
374
+ throw err;
375
+ }
376
+ ctx.throttle.succeed(user.username);
338
377
  ctx.sessions.revokeUser(user.id, c.get('sessionRaw'));
339
378
  ctx.oauth.revokeUserGrants(user.id, 'password_changed', { userId: user.id });
340
379
  return c.json({ status: 'ok' });
@@ -352,14 +391,11 @@ export function registerProfileRoutes(app, ctx) {
352
391
  ctx.sessions.revokeKind(c.get('user').id, 'approval_ui');
353
392
  return c.json({ recoveryCodes });
354
393
  });
355
- app.post('/api/profile/totp/disable', async (c) => {
356
- const { code } = await readJson(c, z.object({ code: z.string() }));
357
- const user = c.get('user');
358
- if (!ctx.users.disableOwnTotp(user, code))
359
- return c.json({ error: 'invalid_code', message: 'Invalid code' }, 401);
360
- ctx.sessions.revokeKind(user.id, 'approval_ui');
394
+ app.post('/api/profile/totp/disable', (c) => withProfileCode(c, ctx, (user, code) => ctx.users.disableOwnTotp(user, code), () => {
395
+ ctx.sessions.revokeKind(c.get('user').id, 'approval_ui');
361
396
  return c.json({ status: 'ok' });
362
- });
397
+ }));
398
+ app.post('/api/profile/totp/recovery-codes', (c) => withProfileCode(c, ctx, (user, code) => ctx.users.rotateRecoveryCodes(user.id, code), (recoveryCodes) => c.json({ recoveryCodes })));
363
399
  app.post('/api/profile/oidc/unlink', (c) => {
364
400
  ctx.users.unlinkOwnOidc(c.get('user'));
365
401
  return c.json({ status: 'ok' });