pipework 0.83.0 → 0.84.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.
- package/CHANGELOG.md +9 -0
- package/dist/auth/auth/audit.d.ts +7 -0
- package/dist/auth/auth/audit.d.ts.map +1 -0
- package/dist/auth/auth/audit.js +28 -0
- package/dist/auth/auth/audit.js.map +1 -0
- package/dist/auth/auth/email-links.d.ts +103 -0
- package/dist/auth/auth/email-links.d.ts.map +1 -0
- package/dist/auth/auth/email-links.js +166 -0
- package/dist/auth/auth/email-links.js.map +1 -0
- package/dist/auth/auth/index.d.ts +2 -0
- package/dist/auth/auth/index.d.ts.map +1 -1
- package/dist/auth/auth/index.js +1 -0
- package/dist/auth/auth/index.js.map +1 -1
- package/dist/auth/auth/namespace.d.ts +3 -0
- package/dist/auth/auth/namespace.d.ts.map +1 -1
- package/dist/auth/auth/namespace.js +3 -0
- package/dist/auth/auth/namespace.js.map +1 -1
- package/dist/auth/auth/schema.d.ts +45 -0
- package/dist/auth/auth/schema.d.ts.map +1 -1
- package/dist/auth/auth/schema.js +27 -0
- package/dist/auth/auth/schema.js.map +1 -1
- package/dist/auth/auth/sign-in.d.ts.map +1 -1
- package/dist/auth/auth/sign-in.js +2 -21
- package/dist/auth/auth/sign-in.js.map +1 -1
- package/dist/core/config/namespace.d.ts +1 -0
- package/dist/core/config/namespace.d.ts.map +1 -1
- package/dist/core/config/schema.d.ts +1 -0
- package/dist/core/config/schema.d.ts.map +1 -1
- package/dist/core/config/schema.js +2 -0
- package/dist/core/config/schema.js.map +1 -1
- package/dist/data/migrate/internal-definitions.d.ts.map +1 -1
- package/dist/data/migrate/internal-definitions.js +5 -0
- package/dist/data/migrate/internal-definitions.js.map +1 -1
- package/dist/infra/email/mail.d.ts +13 -0
- package/dist/infra/email/mail.d.ts.map +1 -1
- package/dist/infra/email/mail.js +32 -2
- package/dist/infra/email/mail.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.84.0
|
|
4
|
+
|
|
5
|
+
- **New: `auth.emailLinks(config)`**, emailed single-use links that prove control of an address: password reset and address verification (#511).
|
|
6
|
+
- `request` answers the same, and takes at least `minResponseMs`, whether or not the address has an account or is over its limit; limits per address and per client are counted in Postgres outside the request transaction.
|
|
7
|
+
- The token is `HMAC(secret, link id, nonce)`: the link table keeps only its hash, and the stored mail message keeps only a reference, so the database alone cannot produce a working link. A new link for the same purpose ends the older ones; `endResets` ends a user's reset links on a password change.
|
|
8
|
+
- `check` reports a link's state without using it; `use` is one atomic step; `completeReset` stores the new hash through the app's `store`, ends the other reset links and signs the user out everywhere else.
|
|
9
|
+
- Requests and uses are flow steps and audited (`PasswordReset:requested`, `:completed`, `EmailAddress:verification-requested`, `:verified`), never with the token, the password or an unknown address. Tables behind the `auth.emailLinks` blueprint flag.
|
|
10
|
+
- **New: mail late data.** `mail.registerLateData(name, fn)` and `send({ …, lateData })` supply template data computed at delivery and never stored.
|
|
11
|
+
|
|
3
12
|
## 0.83.0
|
|
4
13
|
|
|
5
14
|
- **Fixed: a reaped job (worker lost) is retried.** `reap()` now applies the same rule as a failure: retried with backoff while attempts remain, then dead-lettered with a notification. `error_payload.reason` is `reaped`. `reap()` returns the reaped jobs (`ReapedJob[]`) instead of a count (#503).
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DB } from '../../data/db/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Writes an audit record with no tenant and no actor (the person is not yet signed in)
|
|
4
|
+
* under the Flow's open trace step; does nothing when no step is open. A failure is logged, not thrown.
|
|
5
|
+
*/
|
|
6
|
+
export declare function auditUnauthenticated(db: DB, entity: string, verb: string, entityId: string | null, details: Record<string, unknown>): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/auth/auth/audit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAIhD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9F,OAAO,CAAC,IAAI,CAAC,CAiBf"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { sql } from '../../data/db/sql.js';
|
|
2
|
+
import { getContext } from '../../request/context/store.js';
|
|
3
|
+
import { getBaseLogger } from '../../core/logging/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Writes an audit record with no tenant and no actor (the person is not yet signed in)
|
|
6
|
+
* under the Flow's open trace step; does nothing when no step is open. A failure is logged, not thrown.
|
|
7
|
+
*/
|
|
8
|
+
export async function auditUnauthenticated(db, entity, verb, entityId, details) {
|
|
9
|
+
const flow = getContext();
|
|
10
|
+
const trace = flow?.trace;
|
|
11
|
+
const stepId = trace?.buffer.openStepId ?? null;
|
|
12
|
+
if (trace === undefined || trace === null || stepId === null)
|
|
13
|
+
return;
|
|
14
|
+
try {
|
|
15
|
+
await db.transaction(async (sp) => {
|
|
16
|
+
await sp.execute(sql `
|
|
17
|
+
INSERT INTO audit_record
|
|
18
|
+
(trace_day, trace_id, trace_step_id, tenant_id, actor_id, entity, verb, entity_id, after, occurred_at)
|
|
19
|
+
VALUES (${trace.openedDay}, ${trace.id}, ${stepId}, NULL, NULL,
|
|
20
|
+
${entity}, ${verb}, ${entityId}, ${JSON.stringify(details)}::jsonb, now())
|
|
21
|
+
`);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
getBaseLogger().error({ err, traceId: trace.id }, `Failed to write the ${entity} ${verb} audit record`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/auth/auth/audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAE3D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,EAAM,EAAE,MAAc,EAAE,IAAY,EAAE,QAAuB,EAAE,OAAgC;IAE/F,MAAM,IAAI,GAAG,UAAU,EAAE,CAAA;IACzB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAA;IACzB,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,CAAA;IAC/C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;QAAE,OAAM;IACpE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAM,EAAE,EAAE;YACpC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;;kBAGR,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,EAAE,KAAK,MAAM;YAC7C,MAAM,KAAK,IAAI,KAAK,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;OAC7D,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,uBAAuB,MAAM,IAAI,IAAI,eAAe,CAAC,CAAA;IACzG,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { DB } from '../../data/db/index.js';
|
|
2
|
+
import type { Mail } from '../../infra/email/mail.js';
|
|
3
|
+
import type { Passwords } from './passwords.js';
|
|
4
|
+
import type { Sessions } from './sessions.js';
|
|
5
|
+
export type EmailLinkPurpose = 'reset' | 'verify';
|
|
6
|
+
export interface EmailLinkPurposeConfig {
|
|
7
|
+
/** The name of the app's mail template; it reads `data.url`. */
|
|
8
|
+
readonly template: string;
|
|
9
|
+
readonly expiresInSeconds: number;
|
|
10
|
+
/** The link the person opens, built from the token. */
|
|
11
|
+
readonly url: (token: string) => string;
|
|
12
|
+
}
|
|
13
|
+
export interface RequestLimit {
|
|
14
|
+
readonly max: number;
|
|
15
|
+
readonly windowSeconds: number;
|
|
16
|
+
}
|
|
17
|
+
export interface EmailLinksConfig {
|
|
18
|
+
readonly mail: Mail<any>;
|
|
19
|
+
readonly passwords: Passwords;
|
|
20
|
+
/** When set, a completed reset revokes the user's refresh tokens and bumps their auth version. */
|
|
21
|
+
readonly sessions?: Pick<Sessions, 'revokeAll' | 'bumpVersion'>;
|
|
22
|
+
/** Keys the token. At least 32 bytes; without it a copy of the database cannot make a token. */
|
|
23
|
+
readonly secret: string;
|
|
24
|
+
/** Finds the user for an address (given trimmed, NFC and lower-cased), or null. Runs in the request's transaction. */
|
|
25
|
+
readonly lookup: (db: DB, address: string) => Promise<{
|
|
26
|
+
userId: string;
|
|
27
|
+
} | null>;
|
|
28
|
+
readonly purposes: {
|
|
29
|
+
readonly reset?: EmailLinkPurposeConfig;
|
|
30
|
+
readonly verify?: EmailLinkPurposeConfig;
|
|
31
|
+
};
|
|
32
|
+
/** Defaults: 5 per address and 20 per client within 3600 seconds. */
|
|
33
|
+
readonly limits?: {
|
|
34
|
+
readonly perAddress?: RequestLimit;
|
|
35
|
+
readonly perClient?: RequestLimit;
|
|
36
|
+
};
|
|
37
|
+
/** Every `request` takes at least this long. Default 250. */
|
|
38
|
+
readonly minResponseMs?: number;
|
|
39
|
+
}
|
|
40
|
+
export type EmailLinkState = 'active' | 'used' | 'expired' | 'ended' | 'unknown';
|
|
41
|
+
export type EmailLinkRefusal = 'unknown' | 'used' | 'expired' | 'ended' | 'wrong-purpose';
|
|
42
|
+
export interface EmailLinks {
|
|
43
|
+
/**
|
|
44
|
+
* Asks for a link. Answers `{ ok: true }` for a known address, an unknown one and an over-limit one alike,
|
|
45
|
+
* and takes at least `minResponseMs` for each. Only a known, within-limit address gets a message.
|
|
46
|
+
* Runs in `db` (the caller's transaction): a rollback drops the link and the message. The limit counts
|
|
47
|
+
* are kept on `pipe.system()`, so they survive a rollback. Needs an active Flow.
|
|
48
|
+
*/
|
|
49
|
+
request(db: DB, input: {
|
|
50
|
+
purpose: EmailLinkPurpose;
|
|
51
|
+
address: string;
|
|
52
|
+
client?: string;
|
|
53
|
+
}): Promise<{
|
|
54
|
+
ok: true;
|
|
55
|
+
}>;
|
|
56
|
+
/** The state of a link, without using it. */
|
|
57
|
+
check(db: DB, token: string): Promise<{
|
|
58
|
+
state: EmailLinkState;
|
|
59
|
+
purpose?: EmailLinkPurpose;
|
|
60
|
+
userId?: string;
|
|
61
|
+
}>;
|
|
62
|
+
/** Uses a link of `purpose` in one atomic statement: of two concurrent uses exactly one succeeds. */
|
|
63
|
+
use(db: DB, token: string, purpose: EmailLinkPurpose): Promise<{
|
|
64
|
+
ok: true;
|
|
65
|
+
userId: string;
|
|
66
|
+
address: string;
|
|
67
|
+
} | {
|
|
68
|
+
ok: false;
|
|
69
|
+
reason: EmailLinkRefusal;
|
|
70
|
+
}>;
|
|
71
|
+
/**
|
|
72
|
+
* Uses a reset link, hashes the new password, calls `store(db, userId, hash)` (the app keeps the hash),
|
|
73
|
+
* ends the user's other reset links and, when `sessions` is configured, revokes all their refresh tokens
|
|
74
|
+
* and bumps their auth version. A link that cannot be used changes nothing. The caller starts the new session.
|
|
75
|
+
*/
|
|
76
|
+
completeReset(db: DB, token: string, newPassword: string, options: {
|
|
77
|
+
store: (db: DB, userId: string, passwordHash: string) => Promise<void>;
|
|
78
|
+
}): Promise<{
|
|
79
|
+
ok: true;
|
|
80
|
+
userId: string;
|
|
81
|
+
} | {
|
|
82
|
+
ok: false;
|
|
83
|
+
reason: EmailLinkRefusal;
|
|
84
|
+
}>;
|
|
85
|
+
/** Ends the user's outstanding reset links (call it when a password changes). */
|
|
86
|
+
endResets(db: DB, userId: string): Promise<void>;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Creates emailed single-use links that prove control of an address: password reset and address
|
|
90
|
+
* verification. Needs blueprint `emailLinks: {}` (tables `pipework_email_links`, `pipework_email_link_requests`)
|
|
91
|
+
* and `email: {}`; the app's mail module must run `mail.jobs`.
|
|
92
|
+
*
|
|
93
|
+
* The token is `base64url(HMAC-SHA256(secret, id || nonce))`. The link table holds only its sha256, and the
|
|
94
|
+
* stored message holds only a reference: the url is computed when the message is delivered, so no copy of the
|
|
95
|
+
* database holds a token or can make one without `secret`.
|
|
96
|
+
*
|
|
97
|
+
* Requesting, using and completing a reset are flow steps (`pipework/auth:email-link-request`,
|
|
98
|
+
* `pipework/auth:email-link-use`) and are audited (`PasswordReset:requested`, `PasswordReset:completed`,
|
|
99
|
+
* `PasswordReset:link-used`, `EmailAddress:verification-requested`, `EmailAddress:verified`; no tenant), never with the token,
|
|
100
|
+
* the password or an address that matched no user.
|
|
101
|
+
*/
|
|
102
|
+
export declare function createEmailLinks(config: EmailLinksConfig): EmailLinks;
|
|
103
|
+
//# sourceMappingURL=email-links.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-links.d.ts","sourceRoot":"","sources":["../../../src/auth/auth/email-links.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { createHash, createHmac, randomBytes, randomUUID } from 'node:crypto';
|
|
2
|
+
import { sql } from '../../data/db/sql.js';
|
|
3
|
+
import { pipeSystem } from '../../data/db/db.js';
|
|
4
|
+
import { getBaseLogger } from '../../core/logging/index.js';
|
|
5
|
+
import { __flowStep } from '../../trace/runtime/flow-step.js';
|
|
6
|
+
import { auditUnauthenticated } from './audit.js';
|
|
7
|
+
const LATE_NAME = 'pipework.emailLink';
|
|
8
|
+
const sha256 = (value) => createHash('sha256').update(value).digest('hex');
|
|
9
|
+
const normalize = (address) => address.normalize('NFC').trim().toLowerCase();
|
|
10
|
+
const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
|
11
|
+
/**
|
|
12
|
+
* Creates emailed single-use links that prove control of an address: password reset and address
|
|
13
|
+
* verification. Needs blueprint `emailLinks: {}` (tables `pipework_email_links`, `pipework_email_link_requests`)
|
|
14
|
+
* and `email: {}`; the app's mail module must run `mail.jobs`.
|
|
15
|
+
*
|
|
16
|
+
* The token is `base64url(HMAC-SHA256(secret, id || nonce))`. The link table holds only its sha256, and the
|
|
17
|
+
* stored message holds only a reference: the url is computed when the message is delivered, so no copy of the
|
|
18
|
+
* database holds a token or can make one without `secret`.
|
|
19
|
+
*
|
|
20
|
+
* Requesting, using and completing a reset are flow steps (`pipework/auth:email-link-request`,
|
|
21
|
+
* `pipework/auth:email-link-use`) and are audited (`PasswordReset:requested`, `PasswordReset:completed`,
|
|
22
|
+
* `PasswordReset:link-used`, `EmailAddress:verification-requested`, `EmailAddress:verified`; no tenant), never with the token,
|
|
23
|
+
* the password or an address that matched no user.
|
|
24
|
+
*/
|
|
25
|
+
export function createEmailLinks(config) {
|
|
26
|
+
if (Buffer.byteLength(config.secret, 'utf8') < 32) {
|
|
27
|
+
throw new Error('[pipework] auth.emailLinks: "secret" must be at least 32 bytes.');
|
|
28
|
+
}
|
|
29
|
+
const perAddress = config.limits?.perAddress ?? { max: 5, windowSeconds: 3600 };
|
|
30
|
+
const perClient = config.limits?.perClient ?? { max: 20, windowSeconds: 3600 };
|
|
31
|
+
const minResponseMs = config.minResponseMs ?? 250;
|
|
32
|
+
const tokenFor = (id, nonce) => createHmac('sha256', config.secret).update(id).update('\0').update(nonce).digest('base64url');
|
|
33
|
+
function purposeConfig(purpose) {
|
|
34
|
+
const found = config.purposes[purpose];
|
|
35
|
+
if (found === undefined)
|
|
36
|
+
throw new Error(`[pipework] auth.emailLinks: no "${purpose}" purpose is configured.`);
|
|
37
|
+
return found;
|
|
38
|
+
}
|
|
39
|
+
config.mail.registerLateData(LATE_NAME, async (db, ref) => {
|
|
40
|
+
const row = (await db.execute(sql `SELECT purpose, nonce FROM pipework_email_links WHERE id = ${ref}::uuid`))[0];
|
|
41
|
+
if (row === undefined)
|
|
42
|
+
throw new Error('[pipework] auth.emailLinks: the link behind a message no longer exists.');
|
|
43
|
+
return { url: purposeConfig(row['purpose']).url(tokenFor(ref, row['nonce'])) };
|
|
44
|
+
});
|
|
45
|
+
// Counts the request against a key and says whether it is over the limit. Atomic per key.
|
|
46
|
+
async function countRequest(db, key, limit) {
|
|
47
|
+
const rows = await db.execute(sql `
|
|
48
|
+
INSERT INTO pipework_email_link_requests AS r (key, count, window_start)
|
|
49
|
+
VALUES (${key}, 1, now())
|
|
50
|
+
ON CONFLICT (key) DO UPDATE SET
|
|
51
|
+
count = CASE WHEN r.window_start < now() - ${limit.windowSeconds}::int * interval '1 second' THEN 1 ELSE r.count + 1 END,
|
|
52
|
+
window_start = CASE WHEN r.window_start < now() - ${limit.windowSeconds}::int * interval '1 second' THEN now() ELSE r.window_start END
|
|
53
|
+
RETURNING count`);
|
|
54
|
+
return Number(rows[0]['count']) > limit.max;
|
|
55
|
+
}
|
|
56
|
+
const requestStep = __flowStep({ ref: 'pipework/auth:email-link-request' }, async (db, input) => {
|
|
57
|
+
const purposeCfg = purposeConfig(input.purpose);
|
|
58
|
+
const system = pipeSystem();
|
|
59
|
+
const address = normalize(input.address);
|
|
60
|
+
const over = [await countRequest(system, 'address:' + sha256(address), perAddress)];
|
|
61
|
+
if (input.client !== undefined && input.client !== '')
|
|
62
|
+
over.push(await countRequest(system, 'client:' + input.client, perClient));
|
|
63
|
+
const verbs = input.purpose === 'reset'
|
|
64
|
+
? { entity: 'PasswordReset', verb: 'requested' }
|
|
65
|
+
: { entity: 'EmailAddress', verb: 'verification-requested' };
|
|
66
|
+
const client = input.client ?? null;
|
|
67
|
+
if (over.some(Boolean)) {
|
|
68
|
+
getBaseLogger().warn({ event: 'email link refused', purpose: input.purpose, client }, 'email link request over its limit');
|
|
69
|
+
await auditUnauthenticated(system, verbs.entity, verbs.verb, null, { purpose: input.purpose, client, outcome: 'limited' });
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const found = await config.lookup(db, address);
|
|
73
|
+
if (found === null) {
|
|
74
|
+
await auditUnauthenticated(system, verbs.entity, verbs.verb, null, { purpose: input.purpose, client, outcome: 'unknown' });
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const id = randomUUID();
|
|
78
|
+
const nonce = randomBytes(16).toString('base64url');
|
|
79
|
+
const tokenHash = sha256(tokenFor(id, nonce));
|
|
80
|
+
await db.execute(sql `
|
|
81
|
+
UPDATE pipework_email_links SET ended_at = now()
|
|
82
|
+
WHERE user_id = ${found.userId} AND purpose = ${input.purpose}
|
|
83
|
+
AND used_at IS NULL AND ended_at IS NULL AND expires_at > now()`);
|
|
84
|
+
await db.execute(sql `
|
|
85
|
+
INSERT INTO pipework_email_links (id, purpose, user_id, address, token_hash, nonce, expires_at)
|
|
86
|
+
VALUES (${id}::uuid, ${input.purpose}, ${found.userId}, ${address}, ${tokenHash}, ${nonce},
|
|
87
|
+
now() + ${purposeCfg.expiresInSeconds}::int * interval '1 second')`);
|
|
88
|
+
await config.mail.send(db, {
|
|
89
|
+
to: address, template: purposeCfg.template, data: {}, key: `pipework.emailLink:${id}`,
|
|
90
|
+
lateData: { name: LATE_NAME, ref: id },
|
|
91
|
+
});
|
|
92
|
+
await auditUnauthenticated(system, verbs.entity, verbs.verb, found.userId, { purpose: input.purpose, client, outcome: 'sent' });
|
|
93
|
+
});
|
|
94
|
+
async function request(db, input) {
|
|
95
|
+
const started = performance.now();
|
|
96
|
+
try {
|
|
97
|
+
await requestStep(db, input);
|
|
98
|
+
}
|
|
99
|
+
finally {
|
|
100
|
+
for (let wait = minResponseMs - (performance.now() - started); wait > 0; wait = minResponseMs - (performance.now() - started)) {
|
|
101
|
+
await sleep(Math.ceil(wait));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return { ok: true };
|
|
105
|
+
}
|
|
106
|
+
async function check(db, token) {
|
|
107
|
+
const row = (await db.execute(sql `
|
|
108
|
+
SELECT purpose, user_id, used_at IS NOT NULL AS used, ended_at IS NOT NULL AS ended, expires_at <= now() AS expired
|
|
109
|
+
FROM pipework_email_links WHERE token_hash = ${sha256(token)}`))[0];
|
|
110
|
+
if (row === undefined)
|
|
111
|
+
return { state: 'unknown' };
|
|
112
|
+
const state = row['used'] === true ? 'used' : row['ended'] === true ? 'ended' : row['expired'] === true ? 'expired' : 'active';
|
|
113
|
+
return { state, purpose: row['purpose'], userId: row['user_id'] };
|
|
114
|
+
}
|
|
115
|
+
async function consume(db, token, purpose) {
|
|
116
|
+
const hash = sha256(token);
|
|
117
|
+
const rows = await db.execute(sql `
|
|
118
|
+
UPDATE pipework_email_links SET used_at = now()
|
|
119
|
+
WHERE token_hash = ${hash} AND purpose = ${purpose}
|
|
120
|
+
AND used_at IS NULL AND ended_at IS NULL AND expires_at > now()
|
|
121
|
+
RETURNING user_id, address`);
|
|
122
|
+
if (rows.length > 0)
|
|
123
|
+
return { ok: true, userId: rows[0]['user_id'], address: rows[0]['address'] };
|
|
124
|
+
const seen = await check(db, token);
|
|
125
|
+
if (seen.state === 'unknown')
|
|
126
|
+
return { ok: false, reason: 'unknown' };
|
|
127
|
+
if (seen.purpose !== purpose)
|
|
128
|
+
return { ok: false, reason: 'wrong-purpose' };
|
|
129
|
+
return { ok: false, reason: seen.state === 'active' ? 'used' : seen.state };
|
|
130
|
+
}
|
|
131
|
+
const useStep = __flowStep({ ref: 'pipework/auth:email-link-use' }, async (db, token, purpose) => {
|
|
132
|
+
const result = await consume(db, token, purpose);
|
|
133
|
+
if (result.ok) {
|
|
134
|
+
const [entity, verb] = purpose === 'verify' ? ['EmailAddress', 'verified'] : ['PasswordReset', 'link-used'];
|
|
135
|
+
await auditUnauthenticated(pipeSystem(), entity, verb, result.userId, { purpose });
|
|
136
|
+
}
|
|
137
|
+
return result;
|
|
138
|
+
});
|
|
139
|
+
async function endResets(db, userId) {
|
|
140
|
+
await db.execute(sql `
|
|
141
|
+
UPDATE pipework_email_links SET ended_at = now()
|
|
142
|
+
WHERE user_id = ${userId} AND purpose = 'reset' AND used_at IS NULL AND ended_at IS NULL`);
|
|
143
|
+
}
|
|
144
|
+
const completeStep = __flowStep({ ref: 'pipework/auth:email-link-use' }, async (db, token, newPassword, options) => {
|
|
145
|
+
const used = await consume(db, token, 'reset');
|
|
146
|
+
if (!used.ok)
|
|
147
|
+
return used;
|
|
148
|
+
const hash = await config.passwords.hash(newPassword);
|
|
149
|
+
await options.store(db, used.userId, hash);
|
|
150
|
+
await endResets(db, used.userId);
|
|
151
|
+
if (config.sessions !== undefined) {
|
|
152
|
+
await config.sessions.revokeAll(db, used.userId);
|
|
153
|
+
await config.sessions.bumpVersion(db, used.userId);
|
|
154
|
+
}
|
|
155
|
+
await auditUnauthenticated(pipeSystem(), 'PasswordReset', 'completed', used.userId, { purpose: 'reset' });
|
|
156
|
+
return { ok: true, userId: used.userId };
|
|
157
|
+
});
|
|
158
|
+
return {
|
|
159
|
+
request,
|
|
160
|
+
check,
|
|
161
|
+
use: (db, token, purpose) => useStep(db, token, purpose),
|
|
162
|
+
completeReset: (db, token, newPassword, options) => completeStep(db, token, newPassword, options),
|
|
163
|
+
endResets,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=email-links.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-links.js","sourceRoot":"","sources":["../../../src/auth/auth/email-links.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,4 +12,6 @@ export { createPasswords } from './passwords.js';
|
|
|
12
12
|
export type { Passwords, PasswordsConfig, ScryptParams, VerifyResult } from './passwords.js';
|
|
13
13
|
export { createSignIn } from './sign-in.js';
|
|
14
14
|
export type { SignIn, SignInConfig, SignInAttempt, SignInResult } from './sign-in.js';
|
|
15
|
+
export { createEmailLinks } from './email-links.js';
|
|
16
|
+
export type { EmailLinks, EmailLinksConfig, EmailLinkPurpose, EmailLinkPurposeConfig, EmailLinkState, EmailLinkRefusal, RequestLimit } from './email-links.js';
|
|
15
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/auth/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACxE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjI,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAClH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAC7K,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/auth/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACxE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjI,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAClH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAC7K,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA"}
|
package/dist/auth/auth/index.js
CHANGED
|
@@ -4,4 +4,5 @@ export { resolveCookieConfig, buildSetCookieHeader, buildClearCookieHeader, pars
|
|
|
4
4
|
export { createMultiOrgSessions } from './multi-org.js';
|
|
5
5
|
export { createPasswords } from './passwords.js';
|
|
6
6
|
export { createSignIn } from './sign-in.js';
|
|
7
|
+
export { createEmailLinks } from './email-links.js';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAI9C,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAClH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAI9C,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAClH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -2,6 +2,7 @@ import { createSessions } from './sessions.js';
|
|
|
2
2
|
import { createMultiOrgSessions } from './multi-org.js';
|
|
3
3
|
import { createPasswords } from './passwords.js';
|
|
4
4
|
import { createSignIn } from './sign-in.js';
|
|
5
|
+
import { createEmailLinks } from './email-links.js';
|
|
5
6
|
import { runAuthChain } from './chain.js';
|
|
6
7
|
import { resolveCookieConfig, parseCookieHeader, buildSetCookieHeader, buildClearCookieHeader } from './cookie.js';
|
|
7
8
|
/** Authentication namespace — session management, multi-org support, auth chain resolution. */
|
|
@@ -14,6 +15,8 @@ export declare const auth: {
|
|
|
14
15
|
passwords: typeof createPasswords;
|
|
15
16
|
/** Guarded password sign-in that slows, then refuses, repeated failures per account and per client. */
|
|
16
17
|
signIn: typeof createSignIn;
|
|
18
|
+
/** Emailed single-use links that prove control of an address: password reset and address verification; the token is never stored. */
|
|
19
|
+
emailLinks: typeof createEmailLinks;
|
|
17
20
|
/** Executes an auth chain (strategy pipeline) to resolve auth + tenant from a request. */
|
|
18
21
|
runChain: typeof runAuthChain;
|
|
19
22
|
/** Resolves CookieConfig with defaults for secure cookie-based token delivery. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../src/auth/auth/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAElH,+FAA+F;AAC/F,eAAO,MAAM,IAAI;IACf,gGAAgG;;IAEhG,wFAAwF;;IAExF,6FAA6F;;IAE7F,uGAAuG;;IAEvG,0FAA0F;;IAE1F,kFAAkF;;IAElF,0DAA0D;;IAE1D,4EAA4E;;IAE5E,iEAAiE;;CAElE,CAAA"}
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../src/auth/auth/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAElH,+FAA+F;AAC/F,eAAO,MAAM,IAAI;IACf,gGAAgG;;IAEhG,wFAAwF;;IAExF,6FAA6F;;IAE7F,uGAAuG;;IAEvG,qIAAqI;;IAErI,0FAA0F;;IAE1F,kFAAkF;;IAElF,0DAA0D;;IAE1D,4EAA4E;;IAE5E,iEAAiE;;CAElE,CAAA"}
|
|
@@ -2,6 +2,7 @@ import { createSessions } from './sessions.js';
|
|
|
2
2
|
import { createMultiOrgSessions } from './multi-org.js';
|
|
3
3
|
import { createPasswords } from './passwords.js';
|
|
4
4
|
import { createSignIn } from './sign-in.js';
|
|
5
|
+
import { createEmailLinks } from './email-links.js';
|
|
5
6
|
import { runAuthChain } from './chain.js';
|
|
6
7
|
import { resolveCookieConfig, parseCookieHeader, buildSetCookieHeader, buildClearCookieHeader } from './cookie.js';
|
|
7
8
|
/** Authentication namespace — session management, multi-org support, auth chain resolution. */
|
|
@@ -14,6 +15,8 @@ export const auth = {
|
|
|
14
15
|
passwords: createPasswords,
|
|
15
16
|
/** Guarded password sign-in that slows, then refuses, repeated failures per account and per client. */
|
|
16
17
|
signIn: createSignIn,
|
|
18
|
+
/** Emailed single-use links that prove control of an address: password reset and address verification; the token is never stored. */
|
|
19
|
+
emailLinks: createEmailLinks,
|
|
17
20
|
/** Executes an auth chain (strategy pipeline) to resolve auth + tenant from a request. */
|
|
18
21
|
runChain: runAuthChain,
|
|
19
22
|
/** Resolves CookieConfig with defaults for secure cookie-based token delivery. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/auth/auth/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAElH,+FAA+F;AAC/F,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,gGAAgG;IAChG,cAAc;IACd,wFAAwF;IACxF,cAAc,EAAE,sBAAsB;IACtC,6FAA6F;IAC7F,SAAS,EAAE,eAAe;IAC1B,uGAAuG;IACvG,MAAM,EAAE,YAAY;IACpB,0FAA0F;IAC1F,QAAQ,EAAE,YAAY;IACtB,kFAAkF;IAClF,aAAa,EAAE,mBAAmB;IAClC,0DAA0D;IAC1D,WAAW,EAAE,iBAAiB;IAC9B,4EAA4E;IAC5E,cAAc,EAAE,oBAAoB;IACpC,iEAAiE;IACjE,gBAAgB,EAAE,sBAAsB;CACzC,CAAA"}
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/auth/auth/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAElH,+FAA+F;AAC/F,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,gGAAgG;IAChG,cAAc;IACd,wFAAwF;IACxF,cAAc,EAAE,sBAAsB;IACtC,6FAA6F;IAC7F,SAAS,EAAE,eAAe;IAC1B,uGAAuG;IACvG,MAAM,EAAE,YAAY;IACpB,qIAAqI;IACrI,UAAU,EAAE,gBAAgB;IAC5B,0FAA0F;IAC1F,QAAQ,EAAE,YAAY;IACtB,kFAAkF;IAClF,aAAa,EAAE,mBAAmB;IAClC,0DAA0D;IAC1D,WAAW,EAAE,iBAAiB;IAC9B,4EAA4E;IAC5E,cAAc,EAAE,oBAAoB;IACpC,iEAAiE;IACjE,gBAAgB,EAAE,sBAAsB;CACzC,CAAA"}
|
|
@@ -101,4 +101,49 @@ export declare const signinAttempts: import("../../data/domain/types.js").Define
|
|
|
101
101
|
nullable: true;
|
|
102
102
|
}>;
|
|
103
103
|
}, "pipework_signin_attempts">;
|
|
104
|
+
export declare const emailLinks: import("../../data/domain/types.js").DefinedTable<{
|
|
105
|
+
id: import("../../data/domain/types.js").FieldDescriptor<string, {
|
|
106
|
+
primaryKey: true;
|
|
107
|
+
}> & import("../../data/domain/field.js").FieldModifiers<string, {
|
|
108
|
+
primaryKey: true;
|
|
109
|
+
}>;
|
|
110
|
+
purpose: import("../../data/domain/types.js").FieldDescriptor<string, {}> & import("../../data/domain/field.js").FieldModifiers<string, {}>;
|
|
111
|
+
userId: import("../../data/domain/types.js").FieldDescriptor<string, {}> & import("../../data/domain/field.js").FieldModifiers<string, {}>;
|
|
112
|
+
address: import("../../data/domain/types.js").FieldDescriptor<string, {}> & import("../../data/domain/field.js").FieldModifiers<string, {}>;
|
|
113
|
+
tokenHash: import("../../data/domain/types.js").FieldDescriptor<string, {}> & import("../../data/domain/field.js").FieldModifiers<string, {}>;
|
|
114
|
+
nonce: import("../../data/domain/types.js").FieldDescriptor<string, {}> & import("../../data/domain/field.js").FieldModifiers<string, {}>;
|
|
115
|
+
createdAt: import("../../data/domain/types.js").FieldDescriptor<Date, {
|
|
116
|
+
hasDefault: true;
|
|
117
|
+
}> & import("../../data/domain/field.js").FieldModifiers<Date, {
|
|
118
|
+
hasDefault: true;
|
|
119
|
+
}>;
|
|
120
|
+
expiresAt: import("../../data/domain/types.js").FieldDescriptor<Date, {}> & import("../../data/domain/field.js").FieldModifiers<Date, {}>;
|
|
121
|
+
usedAt: import("../../data/domain/types.js").FieldDescriptor<Date | null, {
|
|
122
|
+
nullable: true;
|
|
123
|
+
}> & import("../../data/domain/field.js").FieldModifiers<Date | null, {
|
|
124
|
+
nullable: true;
|
|
125
|
+
}>;
|
|
126
|
+
endedAt: import("../../data/domain/types.js").FieldDescriptor<Date | null, {
|
|
127
|
+
nullable: true;
|
|
128
|
+
}> & import("../../data/domain/field.js").FieldModifiers<Date | null, {
|
|
129
|
+
nullable: true;
|
|
130
|
+
}>;
|
|
131
|
+
}, "pipework_email_links">;
|
|
132
|
+
export declare const emailLinkRequests: import("../../data/domain/types.js").DefinedTable<{
|
|
133
|
+
key: import("../../data/domain/types.js").FieldDescriptor<string, {
|
|
134
|
+
primaryKey: true;
|
|
135
|
+
}> & import("../../data/domain/field.js").FieldModifiers<string, {
|
|
136
|
+
primaryKey: true;
|
|
137
|
+
}>;
|
|
138
|
+
count: import("../../data/domain/types.js").FieldDescriptor<number, {
|
|
139
|
+
hasDefault: true;
|
|
140
|
+
}> & import("../../data/domain/field.js").FieldModifiers<number, {
|
|
141
|
+
hasDefault: true;
|
|
142
|
+
}>;
|
|
143
|
+
windowStart: import("../../data/domain/types.js").FieldDescriptor<Date, {
|
|
144
|
+
hasDefault: true;
|
|
145
|
+
}> & import("../../data/domain/field.js").FieldModifiers<Date, {
|
|
146
|
+
hasDefault: true;
|
|
147
|
+
}>;
|
|
148
|
+
}, "pipework_email_link_requests">;
|
|
104
149
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/auth/auth/schema.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/auth/auth/schema.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAG/C,CAAA;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAexB,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;4BAIvB,CAAA;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAanB,CAAA;AAIF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;8BAMzB,CAAA;AAKF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAgBrB,CAAA;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;kCAI5B,CAAA"}
|
package/dist/auth/auth/schema.js
CHANGED
|
@@ -18,6 +18,7 @@ import { sql } from '../../data/db/sql.js';
|
|
|
18
18
|
import { index, unique } from '../../data/db/idx/index.js';
|
|
19
19
|
export const AUTH_TABLE_NAMES = new Set([
|
|
20
20
|
'pipework_refresh_tokens', 'pipework_auth_versions', 'pipework_user_orgs', 'pipework_signin_attempts',
|
|
21
|
+
'pipework_email_links', 'pipework_email_link_requests',
|
|
21
22
|
]);
|
|
22
23
|
export const refreshTokens = define('pipework_refresh_tokens', {
|
|
23
24
|
id: field.uuid().defaultRandom().primaryKey(),
|
|
@@ -63,4 +64,30 @@ export const signinAttempts = define('pipework_signin_attempts', {
|
|
|
63
64
|
lastFailureAt: field.timestamp().nullable(),
|
|
64
65
|
lockedUntil: field.timestamp().nullable(),
|
|
65
66
|
});
|
|
67
|
+
// Behind `auth.emailLinks`. Not tenant-scoped: a reset is asked for before any
|
|
68
|
+
// tenant is known. The link's token is never stored: `token_hash` is its sha256,
|
|
69
|
+
// and the token itself is an HMAC (keyed by the app's secret) of `id` and `nonce`.
|
|
70
|
+
export const emailLinks = define('pipework_email_links', {
|
|
71
|
+
id: field.uuid().primaryKey(),
|
|
72
|
+
purpose: field.text(),
|
|
73
|
+
userId: field.text(),
|
|
74
|
+
address: field.text(),
|
|
75
|
+
tokenHash: field.text(),
|
|
76
|
+
nonce: field.text(),
|
|
77
|
+
createdAt: field.timestamp().default('now'),
|
|
78
|
+
expiresAt: field.timestamp(),
|
|
79
|
+
usedAt: field.timestamp().nullable(),
|
|
80
|
+
endedAt: field.timestamp().nullable(),
|
|
81
|
+
}, {
|
|
82
|
+
indexes: (t) => ({
|
|
83
|
+
byHash: unique('pipework_email_links_token_hash_key').on(t['tokenHash']),
|
|
84
|
+
byUser: index('idx_pipework_email_links_user').on(t['userId'], t['purpose']),
|
|
85
|
+
}),
|
|
86
|
+
});
|
|
87
|
+
// Request counts behind `auth.emailLinks`; `key` is 'address:<sha256 of the address>' or 'client:<address>'.
|
|
88
|
+
export const emailLinkRequests = define('pipework_email_link_requests', {
|
|
89
|
+
key: field.text().primaryKey(),
|
|
90
|
+
count: field.integer().default(0),
|
|
91
|
+
windowStart: field.timestamp().default('now'),
|
|
92
|
+
});
|
|
66
93
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/auth/auth/schema.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,yEAAyE;AACzE,6EAA6E;AAC7E,4EAA4E;AAC5E,mDAAmD;AACnD,EAAE;AACF,yEAAyE;AACzE,uEAAuE;AACvE,6EAA6E;AAC7E,gFAAgF;AAChF,qDAAqD;AACrD,EAAE;AACF,8EAA8E;AAC9E,6BAA6B;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE1D,MAAM,CAAC,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IAC3D,yBAAyB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,0BAA0B;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/auth/auth/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign-in.d.ts","sourceRoot":"","sources":["../../../src/auth/auth/sign-in.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAIhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,qFAAqF;IACrF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,0FAA0F;IAC1F,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,gDAAgD;IAChD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,iGAAiG;IACjG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;CACvG;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GAC7E;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtG,MAAM,WAAW,MAAM;IACrB,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;CACrD;AAID;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"sign-in.d.ts","sourceRoot":"","sources":["../../../src/auth/auth/sign-in.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAIhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,qFAAqF;IACrF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,0FAA0F;IAC1F,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,gDAAgD;IAChD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,iGAAiG;IACjG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;CACvG;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GAC7E;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtG,MAAM,WAAW,MAAM;IACrB,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;CACrD;AAID;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA0FzD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { sql } from '../../data/db/sql.js';
|
|
3
3
|
import { pipeSystem } from '../../data/db/db.js';
|
|
4
|
-
import {
|
|
4
|
+
import { auditUnauthenticated } from './audit.js';
|
|
5
5
|
import { getBaseLogger } from '../../core/logging/index.js';
|
|
6
6
|
/**
|
|
7
7
|
* Creates a guarded password sign-in. `attempt` needs an active Flow (a request,
|
|
@@ -73,26 +73,7 @@ export function createSignIn(config) {
|
|
|
73
73
|
FROM pipework_signin_attempts WHERE key = ${key}`);
|
|
74
74
|
return { locked: true, failures: Number(held[0]?.['failures'] ?? 0), retryAfterSeconds: Number(held[0]?.['remaining'] ?? 1) };
|
|
75
75
|
}
|
|
76
|
-
|
|
77
|
-
const flow = getContext();
|
|
78
|
-
const trace = flow?.trace;
|
|
79
|
-
const stepId = trace?.buffer.openStepId ?? null;
|
|
80
|
-
if (trace === undefined || trace === null || stepId === null)
|
|
81
|
-
return;
|
|
82
|
-
try {
|
|
83
|
-
await db.transaction(async (sp) => {
|
|
84
|
-
await sp.execute(sql `
|
|
85
|
-
INSERT INTO audit_record
|
|
86
|
-
(trace_day, trace_id, trace_step_id, tenant_id, actor_id, entity, verb, entity_id, after, occurred_at)
|
|
87
|
-
VALUES (${trace.openedDay}, ${trace.id}, ${stepId}, NULL, NULL,
|
|
88
|
-
'SignIn', ${verb}, ${userId}, ${JSON.stringify(details)}::jsonb, now())
|
|
89
|
-
`);
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
catch (err) {
|
|
93
|
-
getBaseLogger().error({ err, traceId: trace.id }, `Failed to write the sign-in ${verb} audit record`);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
76
|
+
const audit = (db, verb, userId, details) => auditUnauthenticated(db, 'SignIn', verb, userId, details);
|
|
96
77
|
async function attempt(input) {
|
|
97
78
|
const db = pipeSystem();
|
|
98
79
|
const { accountKey, all } = keysFor(input.account, input.client);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign-in.js","sourceRoot":"","sources":["../../../src/auth/auth/sign-in.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sign-in.js","sourceRoot":"","sources":["../../../src/auth/auth/sign-in.ts"],"names":[],"mappings":"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"}
|
|
@@ -218,6 +218,7 @@ export declare const config: {
|
|
|
218
218
|
sessions: import("zod/v4").ZodOptional<import("zod/v4").ZodObject<{}, import("zod/v4/core").$strip>>;
|
|
219
219
|
orgs: import("zod/v4").ZodOptional<import("zod/v4").ZodObject<{}, import("zod/v4/core").$strip>>;
|
|
220
220
|
passwords: import("zod/v4").ZodOptional<import("zod/v4").ZodObject<{}, import("zod/v4/core").$strip>>;
|
|
221
|
+
emailLinks: import("zod/v4").ZodOptional<import("zod/v4").ZodObject<{}, import("zod/v4/core").$strip>>;
|
|
221
222
|
email: import("zod/v4").ZodOptional<import("zod/v4").ZodObject<{}, import("zod/v4/core").$strip>>;
|
|
222
223
|
fastPath: import("zod/v4").ZodOptional<import("zod/v4").ZodObject<{
|
|
223
224
|
default: import("zod/v4").ZodDefault<import("zod/v4").ZodEnum<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../src/core/config/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,oGAAoG;AACpG,eAAO,MAAM,MAAM;IACjB,4FAA4F;;IAE5F,0FAA0F;;IAE1F,kFAAkF
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../src/core/config/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,oGAAoG;AACpG,eAAO,MAAM,MAAM;IACjB,4FAA4F;;IAE5F,0FAA0F;;IAE1F,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAElF,gFAAgF;;CAEjF,CAAA"}
|
|
@@ -560,6 +560,7 @@ export declare const trunkConfigSchema: z.ZodObject<{
|
|
|
560
560
|
sessions: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
|
|
561
561
|
orgs: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
|
|
562
562
|
passwords: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
|
|
563
|
+
emailLinks: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
|
|
563
564
|
email: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
|
|
564
565
|
fastPath: z.ZodOptional<z.ZodObject<{
|
|
565
566
|
default: z.ZodDefault<z.ZodEnum<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;iBAmBlB,CAAA;AAEF,QAAA,MAAM,qBAAqB;;;;EAAmD,CAAA;AAE9E,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;iBAuBd,CAAA;AAEF,QAAA,MAAM,iBAAiB;;;;EAAgD,CAAA;AAOvE,QAAA,MAAM,WAAW;;;;;;;;;;;;;iBAUf,CAAA;AAEF,QAAA,MAAM,WAAW;;;iBAGf,CAAA;AAEF,QAAA,MAAM,WAAW,gCAAe,CAAA;AAEhC,QAAA,MAAM,iBAAiB,gCAAe,CAAA;AAEtC,QAAA,MAAM,aAAa,gCAAe,CAAA;AAElC,QAAA,MAAM,aAAa,gCAAe,CAAA;AAClC,QAAA,MAAM,YAAY,gCAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,7 @@ const supportSchema = z.object({});
|
|
|
58
58
|
const sessionsSchema = z.object({});
|
|
59
59
|
const orgsSchema = z.object({});
|
|
60
60
|
const passwordsSchema = z.object({});
|
|
61
|
+
const emailLinksSchema = z.object({});
|
|
61
62
|
const emailSchema = z.object({});
|
|
62
63
|
// Issue #325 — opt-in fast path for `check` / `test`. The fast path may trade
|
|
63
64
|
// coverage (fewer modules/tiers now, all of it at the gate) but never accuracy.
|
|
@@ -226,6 +227,7 @@ export const trunkConfigSchema = z.object({
|
|
|
226
227
|
sessions: sessionsSchema.optional().describe('Sessions — opts the pipework_refresh_tokens and pipework_auth_versions tables into generated migrations'),
|
|
227
228
|
orgs: orgsSchema.optional().describe('Multi-org — opts the pipework_user_orgs table into generated migrations'),
|
|
228
229
|
passwords: passwordsSchema.optional().describe('Password sign-in — opts the pipework_signin_attempts table into generated migrations'),
|
|
230
|
+
emailLinks: emailLinksSchema.optional().describe('Emailed single-use links (password reset, address verification) — opts the pipework_email_links and pipework_email_link_requests tables into generated migrations'),
|
|
229
231
|
email: emailSchema.optional().describe('Email — opts the pipework_email_messages, pipework_email_suppressions and pipework_email_inbound tables into generated migrations'),
|
|
230
232
|
fastPath: fastPathSchema.optional().describe('Opt-in fast path for `check` / `test` — affected-scoped, tier-trimmed iteration'),
|
|
231
233
|
observability: observabilitySchema.optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal-definitions.d.ts","sourceRoot":"","sources":["../../../src/data/migrate/internal-definitions.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAE5D,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE;IAAE,iBAAiB,EAAE,OAAO,CAAA;CAAE,GACtC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"internal-definitions.d.ts","sourceRoot":"","sources":["../../../src/data/migrate/internal-definitions.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAE5D,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE;IAAE,iBAAiB,EAAE,OAAO,CAAA;CAAE,GACtC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA4GlC"}
|
|
@@ -71,6 +71,11 @@ export async function loadInternalDefinitions(blueprint, options) {
|
|
|
71
71
|
const { signinAttempts } = await import('../../auth/auth/schema.js');
|
|
72
72
|
result['__pipework_signin_attempts'] = signinAttempts;
|
|
73
73
|
}
|
|
74
|
+
if (blueprint.emailLinks !== undefined) {
|
|
75
|
+
const { emailLinks, emailLinkRequests } = await import('../../auth/auth/schema.js');
|
|
76
|
+
result['__pipework_email_links'] = emailLinks;
|
|
77
|
+
result['__pipework_email_link_requests'] = emailLinkRequests;
|
|
78
|
+
}
|
|
74
79
|
if (blueprint.email !== undefined) {
|
|
75
80
|
const { emailMessages, emailSuppressions, emailInbound } = await import('../../infra/email/schema.js');
|
|
76
81
|
result['__pipework_email_messages'] = emailMessages;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal-definitions.js","sourceRoot":"","sources":["../../../src/data/migrate/internal-definitions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"internal-definitions.js","sourceRoot":"","sources":["../../../src/data/migrate/internal-definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,7 +43,18 @@ export interface SendInput<T extends EmailTemplates, K extends keyof T & string>
|
|
|
43
43
|
readonly inReplyTo?: string;
|
|
44
44
|
/** The queue priority of this message's delivery job; higher is claimed first. Default: the module's `priority`. */
|
|
45
45
|
readonly priority?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Data computed when the message is delivered, never stored: `name` is a function registered with
|
|
48
|
+
* `registerLateData`, `ref` the reference it receives. Its result is merged over `data` for rendering only.
|
|
49
|
+
* The stored row holds `name` and `ref` under the reserved data key `__late`. Delivery fails if `name` is not registered.
|
|
50
|
+
*/
|
|
51
|
+
readonly lateData?: {
|
|
52
|
+
readonly name: string;
|
|
53
|
+
readonly ref: string;
|
|
54
|
+
};
|
|
46
55
|
}
|
|
56
|
+
/** Computes the template data a message gets at delivery from the reference stored with it. */
|
|
57
|
+
export type LateData = (db: DB, ref: string) => Promise<Record<string, unknown>>;
|
|
47
58
|
export interface SendResult {
|
|
48
59
|
readonly messageId: string;
|
|
49
60
|
/** False when the key was already used; `messageId` is then the earlier message. */
|
|
@@ -55,6 +66,8 @@ export interface Mail<T extends EmailTemplates> {
|
|
|
55
66
|
* The same `key` twice gives one message, one job and one delivery.
|
|
56
67
|
*/
|
|
57
68
|
send<K extends keyof T & string>(db: DB, input: SendInput<T, K>): Promise<SendResult>;
|
|
69
|
+
/** Registers (or replaces) a late-data function by name; see `SendInput.lateData`. Used by other pipework modules. */
|
|
70
|
+
registerLateData(name: string, fn: LateData): void;
|
|
58
71
|
/** Job handlers for the send job; spread into the worker surface's `jobs`. */
|
|
59
72
|
readonly jobs: readonly Handler<Record<string, unknown>, unknown>[];
|
|
60
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../../src/infra/email/mail.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAOhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAGxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,uFAAuF;AACvF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,sFAAsF;AAEtF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,aAAa,CAAC,CAAA;AAEzE,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,cAAc;IAClD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;IACrB,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,gFAAgF;IAChF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,oGAAoG;IACpG,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,4GAA4G;IAC5G,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM;IAC7E,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAClC,sEAAsE;IACtE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,oHAAoH;IACpH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../../src/infra/email/mail.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAOhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAGxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,uFAAuF;AACvF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,sFAAsF;AAEtF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,aAAa,CAAC,CAAA;AAEzE,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,cAAc;IAClD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;IACrB,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,gFAAgF;IAChF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,oGAAoG;IACpG,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,4GAA4G;IAC5G,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM;IAC7E,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAClC,sEAAsE;IACtE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,oHAAoH;IACpH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CACpE;AAED,+FAA+F;AAC/F,MAAM,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAEhF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,oFAAoF;IACpF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,IAAI,CAAC,CAAC,SAAS,cAAc;IAC5C;;;OAGG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrF,sHAAsH;IACtH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAA;IAClD,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,CAAA;CACpE;AAED,eAAO,MAAM,QAAQ,wBAAwB,CAAA;AAM7C,+IAA+I;AAC/I,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKrG;AAgBD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,cAAc,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAgKnF"}
|
package/dist/infra/email/mail.js
CHANGED
|
@@ -20,6 +20,21 @@ export function replyHeaders(messageId, references) {
|
|
|
20
20
|
unique.shift();
|
|
21
21
|
return { 'In-Reply-To': `<${messageId}>`, 'References': unique.map(i => `<${i}>`).join(' ') };
|
|
22
22
|
}
|
|
23
|
+
function lateReference(data) {
|
|
24
|
+
if (typeof data !== 'object' || data === null)
|
|
25
|
+
return null;
|
|
26
|
+
const late = data['__late'];
|
|
27
|
+
if (typeof late !== 'object' || late === null)
|
|
28
|
+
return null;
|
|
29
|
+
const { name, ref } = late;
|
|
30
|
+
return typeof name === 'string' && typeof ref === 'string' ? { name, ref } : null;
|
|
31
|
+
}
|
|
32
|
+
function storedData(input) {
|
|
33
|
+
if (input.lateData === undefined)
|
|
34
|
+
return input.data ?? null;
|
|
35
|
+
const base = typeof input.data === 'object' && input.data !== null ? input.data : {};
|
|
36
|
+
return { ...base, __late: { name: input.lateData.name, ref: input.lateData.ref } };
|
|
37
|
+
}
|
|
23
38
|
export function normalizeAddress(address) {
|
|
24
39
|
return address.trim().toLowerCase();
|
|
25
40
|
}
|
|
@@ -50,6 +65,7 @@ export function createMail(config) {
|
|
|
50
65
|
' Configure a real provider, e.g. mail.ses({ region, credentials }).\n');
|
|
51
66
|
}
|
|
52
67
|
const staleSeconds = config.sendingStaleSeconds ?? 600;
|
|
68
|
+
const lateFns = new Map();
|
|
53
69
|
const deliver = __flowStep({ ref: 'pipework/email:deliver' }, async (messageId) => {
|
|
54
70
|
const db = pipeSystem();
|
|
55
71
|
const rows = await db.execute(sql `SELECT * FROM pipework_email_messages WHERE id = ${messageId}::uuid`);
|
|
@@ -80,6 +96,19 @@ export function createMail(config) {
|
|
|
80
96
|
headers = replyHeaders(parentId, parent['references'] ?? []);
|
|
81
97
|
}
|
|
82
98
|
const templateName = row['template'];
|
|
99
|
+
let templateData = row['data'];
|
|
100
|
+
const lateRef = lateReference(templateData);
|
|
101
|
+
if (lateRef !== null) {
|
|
102
|
+
const fn = lateFns.get(lateRef.name);
|
|
103
|
+
if (fn === undefined) {
|
|
104
|
+
const message = `no late-data function named "${lateRef.name}" is registered`;
|
|
105
|
+
getBaseLogger().error({ event: 'email failed', messageId }, `email not sent: ${message}`);
|
|
106
|
+
throw new Error(`[pipework] Email message ${messageId}: ${message}.`);
|
|
107
|
+
}
|
|
108
|
+
const stored = { ...templateData };
|
|
109
|
+
delete stored['__late'];
|
|
110
|
+
templateData = { ...stored, ...(await fn(db, lateRef.ref)) };
|
|
111
|
+
}
|
|
83
112
|
const template = config.templates[templateName];
|
|
84
113
|
let rendered = null;
|
|
85
114
|
let renderError = '';
|
|
@@ -88,7 +117,7 @@ export function createMail(config) {
|
|
|
88
117
|
}
|
|
89
118
|
else {
|
|
90
119
|
try {
|
|
91
|
-
rendered = template(
|
|
120
|
+
rendered = template(templateData);
|
|
92
121
|
}
|
|
93
122
|
catch (err) {
|
|
94
123
|
renderError = `template "${templateName}" threw: ${err instanceof Error ? err.message : String(err)}`;
|
|
@@ -166,7 +195,7 @@ export function createMail(config) {
|
|
|
166
195
|
const traceId = getContext()?.trace?.id ?? null;
|
|
167
196
|
const inserted = await db.execute(sql `
|
|
168
197
|
INSERT INTO pipework_email_messages (key, to_address, template, data, trace_id, conversation_id, in_reply_to_inbound)
|
|
169
|
-
VALUES (${input.key}, ${input.to.trim()}, ${input.template}, ${JSON.stringify(input
|
|
198
|
+
VALUES (${input.key}, ${input.to.trim()}, ${input.template}, ${JSON.stringify(storedData(input))}::jsonb, ${traceId}::uuid,
|
|
170
199
|
${conversationId}::uuid, ${input.inReplyTo ?? null}::uuid)
|
|
171
200
|
ON CONFLICT (key) DO NOTHING
|
|
172
201
|
RETURNING id`);
|
|
@@ -178,6 +207,7 @@ export function createMail(config) {
|
|
|
178
207
|
await config.queue.enqueue(db, { type: SEND_JOB, payload: { messageId }, continueFlow: true, ...(priority !== undefined ? { priority } : {}) });
|
|
179
208
|
return { messageId, queued: true };
|
|
180
209
|
},
|
|
210
|
+
registerLateData(name, fn) { lateFns.set(name, fn); },
|
|
181
211
|
jobs: [sendJob],
|
|
182
212
|
};
|
|
183
213
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail.js","sourceRoot":"","sources":["../../../src/infra/email/mail.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mail.js","sourceRoot":"","sources":["../../../src/infra/email/mail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAG3D,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AA6EvC,MAAM,CAAC,MAAM,QAAQ,GAAG,qBAAqB,CAAA;AAC7C,MAAM,OAAO,GAAG,iEAAiE,CAAA;AACjF,MAAM,cAAc,GAAG,EAAE,CAAA;AACzB,MAAM,oBAAoB,GAAG,GAAG,CAAA;AAChC,MAAM,UAAU,GAAG,6BAA6B,CAAA;AAEhD,+IAA+I;AAC/I,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,UAA6B;IAC3E,MAAM,GAAG,GAAG,CAAC,GAAG,UAAU,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAClG,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAA;IACtF,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,oBAAoB;QAAE,MAAM,CAAC,KAAK,EAAE,CAAA;IAC7G,OAAO,EAAE,aAAa,EAAE,IAAI,SAAS,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;AAC/F,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC1D,MAAM,IAAI,GAAI,IAAgC,CAAC,QAAQ,CAAC,CAAA;IACxD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAA+B,CAAA;IACrD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACnF,CAAC;AAED,SAAS,UAAU,CAAC,KAAmE;IACrF,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,IAAI,IAAI,IAAI,CAAA;IAC3D,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IACpF,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAA;AACpF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,UAAU,CAA2B,MAAqB;IACxE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CACb,0DAA0D;YAC1D,oEAAoE;YACpE,wEAAwE,CACzE,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,IAAI,GAAG,CAAA;IACtD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAA;IAE3C,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,GAAG,EAAE,wBAAwB,EAAE,EAAE,KAAK,EAAE,SAAiB,EAA+B,EAAE;QACrH,MAAM,EAAE,GAAG,UAAU,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,oDAAoD,SAAS,QAAQ,CAAC,CAAA;QACvG,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,kBAAkB,CAAC,CAAA;QAC/F,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAW,CAAA;QACtC,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,MAAM,EAAE,CAAA;QAE1F,MAAM,WAAW,GAAG,UAAU,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAA;QAC7D,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACzE,CAAC;QAED,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,CAAW,CAAA;QACtC,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,kEAAkE,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAChI,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,uEAAuE,SAAS,QAAQ,CAAC,CAAA;YAC7G,MAAM,UAAU,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YAC/E,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,EAAE,sCAAsC,CAAC,CAAA;YAC3G,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;QACjC,CAAC;QAED,IAAI,OAA2C,CAAA;QAC/C,MAAM,gBAAgB,GAAG,GAAG,CAAC,qBAAqB,CAAkB,CAAA;QACpE,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,iFAAiF,gBAAgB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAClJ,MAAM,QAAQ,GAAI,MAAM,EAAE,CAAC,mBAAmB,CAA+B,IAAI,IAAI,CAAA;YACrF,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAG,MAAO,CAAC,YAAY,CAAqB,IAAI,EAAE,CAAC,CAAA;QAC3G,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,CAAW,CAAA;QAC9C,IAAI,YAAY,GAAY,GAAG,CAAC,MAAM,CAAC,CAAA;QACvC,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;QAC3C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACpC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,gCAAgC,OAAO,CAAC,IAAI,iBAAiB,CAAA;gBAC7E,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,mBAAmB,OAAO,EAAE,CAAC,CAAA;gBACzF,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,KAAK,OAAO,GAAG,CAAC,CAAA;YACvE,CAAC;YACD,MAAM,MAAM,GAAG,EAAE,GAAI,YAAwC,EAAE,CAAA;YAC/D,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAA;YACvB,YAAY,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAA;QAC9D,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAC/C,IAAI,QAAQ,GAAyB,IAAI,CAAA;QACzC,IAAI,WAAW,GAAG,EAAE,CAAA;QACpB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,WAAW,GAAG,sBAAsB,YAAY,GAAG,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAA;YACnC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,WAAW,GAAG,aAAa,YAAY,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;YACvG,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,iEAAiE,WAAW,eAAe,SAAS,QAAQ,CAAC,CAAA;YACjI,MAAM,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;YAC7D,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,mBAAmB,WAAW,EAAE,CAAC,CAAA;YAC7F,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QAC7B,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;mBAErB,SAAS;uGAC2E,YAAY;mBAChG,CAAC,CAAA;QAChB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,SAAS,EAAE,EAAE,iEAAiE,CAAC,CAAA;YAC1I,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAC3B,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACtC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE;gBAChC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI;gBAC9C,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/F,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9C,CAAC,CAAA;YACF,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;wEAE8C,IAAI,CAAC,iBAAiB;qBACzE,SAAS,QAAQ,CAAC,CAAA;YACjC,MAAM,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;YAClH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAChE,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,oFAAoF,OAAO,eAAe,SAAS,QAAQ,CAAC,CAAA;YAChJ,MAAM,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC1E,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;SACxC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAChE,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAoC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IAEvF,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK;YAClB,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;gBACnD,MAAM,IAAI,eAAe,CACvB,EAAE,QAAQ,EAAE,CAAC,sBAAsB,KAAK,CAAC,QAAQ,YAAY,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAC3G,gCAAgC,KAAK,CAAC,QAAQ,IAAI,CACnD,CAAA;YACH,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,yBAAyB,CAAC,EAAE,EAAE,0CAA0C,CAAC,CAAA;YAC5G,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC5B,MAAM,IAAI,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,qCAAqC,CAAC,CAAA;YAClG,CAAC;YACD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC9E,MAAM,IAAI,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,6CAA6C,CAAC,CAAA;YAClH,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAA;YAClD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE,2CAA2C,CAAC,CAAA;YAC9G,CAAC;YACD,IAAI,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,IAAI,CAAA;YACjD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;oBACnC,MAAM,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,+BAA+B,CAAC,EAAE,EAAE,uDAAuD,CAAC,CAAA;gBACtI,CAAC;gBACD,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,iEAAiE,KAAK,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACjI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,iCAAiC,CAAC,EAAE,EAAE,kCAAkC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAA;gBACrI,CAAC;gBACD,cAAc,KAAM,MAAM,CAAC,iBAAiB,CAAmB,IAAI,IAAI,CAAA;YACzE,CAAC;YACD,MAAM,OAAO,GAAG,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,CAAA;YAC/C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA;;kBAEzB,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,YAAY,OAAO;YAC/G,cAAc,WAAW,KAAK,CAAC,SAAS,IAAI,IAAI;;qBAEvC,CAAC,CAAA;YAChB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAA,sDAAsD,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;gBACvG,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,CAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;YACnE,CAAC;YACD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,CAAW,CAAA;YAC9C,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC/I,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACpC,CAAC;QACD,gBAAgB,CAAC,IAAI,EAAE,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA,CAAC,CAAC;QACpD,IAAI,EAAE,CAAC,OAA+D,CAAC;KACxE,CAAA;AACH,CAAC"}
|