@noodleseed/one 0.84.2 → 0.84.3

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 (43) hide show
  1. package/node_modules/@noodle-borg/service/dist/platform-account-reset-operation-postgres.d.ts +5 -0
  2. package/node_modules/@noodle-borg/service/dist/platform-account-reset-operation-postgres.d.ts.map +1 -1
  3. package/node_modules/@noodle-borg/service/dist/platform-account-reset-operation-postgres.js +18 -0
  4. package/node_modules/@noodle-borg/service/dist/platform-account-reset-operation-postgres.js.map +1 -1
  5. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-evidence-postgres.d.ts +7 -1
  6. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-evidence-postgres.d.ts.map +1 -1
  7. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-evidence-postgres.js +85 -2
  8. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-evidence-postgres.js.map +1 -1
  9. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-linked-evidence-postgres.d.ts +37 -0
  10. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-linked-evidence-postgres.d.ts.map +1 -0
  11. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-linked-evidence-postgres.js +136 -0
  12. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-linked-evidence-postgres.js.map +1 -0
  13. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-local-postgres.d.ts +2 -0
  14. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-local-postgres.d.ts.map +1 -1
  15. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-local-postgres.js +38 -11
  16. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-local-postgres.js.map +1 -1
  17. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-postgres.d.ts.map +1 -1
  18. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-postgres.js +2 -1
  19. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-postgres.js.map +1 -1
  20. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-result.js +1 -1
  21. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-result.js.map +1 -1
  22. package/node_modules/@noodle-borg/service/dist/platform-account-reset-quarantine-postgres.d.ts +1 -1
  23. package/node_modules/@noodle-borg/service/dist/platform-account-reset-quarantine-postgres.d.ts.map +1 -1
  24. package/node_modules/@noodle-borg/service/dist/platform-account-reset-quarantine-postgres.js +12 -0
  25. package/node_modules/@noodle-borg/service/dist/platform-account-reset-quarantine-postgres.js.map +1 -1
  26. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-eligibility-postgres.d.ts.map +1 -1
  27. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-eligibility-postgres.js +65 -8
  28. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-eligibility-postgres.js.map +1 -1
  29. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-local-postgres.d.ts +2 -0
  30. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-local-postgres.d.ts.map +1 -1
  31. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-local-postgres.js +22 -2
  32. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-local-postgres.js.map +1 -1
  33. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-postgres.d.ts +1 -1
  34. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-postgres.d.ts.map +1 -1
  35. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-postgres.js +16 -0
  36. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-postgres.js.map +1 -1
  37. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-preview-postgres.d.ts.map +1 -1
  38. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-preview-postgres.js +1 -1
  39. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-preview-postgres.js.map +1 -1
  40. package/node_modules/@noodle-borg/service/dist/platform-identity-schema-postgres.d.ts.map +1 -1
  41. package/node_modules/@noodle-borg/service/dist/platform-identity-schema-postgres.js +32 -1
  42. package/node_modules/@noodle-borg/service/dist/platform-identity-schema-postgres.js.map +1 -1
  43. package/package.json +1 -1
@@ -55,6 +55,11 @@ export interface PlatformAccountResetFrozenResources {
55
55
  readonly app: string;
56
56
  }[];
57
57
  readonly deploymentIds: readonly string[];
58
+ readonly workosLinks: readonly {
59
+ readonly principalId: string;
60
+ readonly realm: string;
61
+ readonly externalId: string;
62
+ }[];
58
63
  readonly resourceCount: number;
59
64
  }
60
65
  export declare function platformAccountResetActionEvidence(request: PlatformAccountResetExecuteRequest, actorFingerprint: string): PlatformAccountResetActionEvidence;
@@ -1 +1 @@
1
- {"version":3,"file":"platform-account-reset-operation-postgres.d.ts","sourceRoot":"","sources":["../src/platform-account-reset-operation-postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-account-reset-operation-postgres.d.ts","sourceRoot":"","sources":["../src/platform-account-reset-operation-postgres.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,7 @@ export async function loadPlatformAccountResetFrozenResources(connection, operat
74
74
  FOR SHARE`, [operationId]);
75
75
  const apps = new Map();
76
76
  const deploymentIds = new Set();
77
+ const workosLinks = new Map();
77
78
  for (const row of result.rows) {
78
79
  let locator;
79
80
  try {
@@ -107,10 +108,27 @@ export async function loadPlatformAccountResetFrozenResources(connection, operat
107
108
  if (!locator.archived)
108
109
  deploymentIds.add(deploymentId);
109
110
  }
111
+ if (row.resource_kind === 'workos_identity_link') {
112
+ const principalId = locator.principalId;
113
+ const realm = locator.realm;
114
+ const externalId = locator.externalId;
115
+ if (typeof principalId !== 'string' ||
116
+ typeof realm !== 'string' ||
117
+ typeof externalId !== 'string' ||
118
+ locator.provider !== 'workos' ||
119
+ locator.disabledAt !== null)
120
+ throw new PlatformAccountResetPreviewError('operation_conflict');
121
+ workosLinks.set(`${principalId}\u0000${realm}\u0000${externalId}`, {
122
+ principalId,
123
+ realm,
124
+ externalId,
125
+ });
126
+ }
110
127
  }
111
128
  return {
112
129
  apps: [...apps.values()].sort((left, right) => `${left.org}/${left.app}`.localeCompare(`${right.org}/${right.app}`)),
113
130
  deploymentIds: [...deploymentIds].sort(),
131
+ workosLinks: [...workosLinks.values()].sort((left, right) => `${left.principalId}\u0000${left.realm}\u0000${left.externalId}`.localeCompare(`${right.principalId}\u0000${right.realm}\u0000${right.externalId}`)),
114
132
  resourceCount: result.rows.length,
115
133
  };
116
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform-account-reset-operation-postgres.js","sourceRoot":"","sources":["../src/platform-account-reset-operation-postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-account-reset-operation-postgres.js","sourceRoot":"","sources":["../src/platform-account-reset-operation-postgres.ts"],"names":[],"mappings":"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"}
@@ -12,11 +12,17 @@ export interface PlatformAccountResetWorkosEvidence {
12
12
  readonly resources: readonly PlatformAccountResetCleanupResource[];
13
13
  readonly providerUnavailableCount: number;
14
14
  readonly conflictCount: number;
15
+ readonly presentCount: number;
16
+ }
17
+ export interface PlatformAccountResetExpectedWorkosIdentity {
18
+ readonly principalId: string;
19
+ readonly externalId: string;
20
+ readonly normalizedEmail: string;
15
21
  }
16
22
  export declare function loadPlatformAccountResetCustomerEvidence(connection: PlatformIdentityQueryable, targets: readonly string[]): Promise<readonly {
17
23
  readonly subject: string;
18
24
  readonly source: string;
19
25
  }[]>;
20
26
  export declare function loadPlatformAccountResetContactEvidence(connection: PlatformIdentityQueryable, targets: readonly string[], configured: PlatformAuthInventorySourceManifest): Promise<PlatformAccountResetContactEvidence>;
21
- export declare function loadPlatformAccountResetWorkosEvidence(contacts: ReadonlyMap<string, string>, directory: PlatformAccountResetDirectory, workosRealm: string, options: PlatformAccountResetDirectoryReadOptions): Promise<PlatformAccountResetWorkosEvidence>;
27
+ export declare function loadPlatformAccountResetWorkosEvidence(contacts: ReadonlyMap<string, string>, linkedIdentities: ReadonlyMap<string, PlatformAccountResetExpectedWorkosIdentity>, directory: PlatformAccountResetDirectory, workosRealm: string, options: PlatformAccountResetDirectoryReadOptions): Promise<PlatformAccountResetWorkosEvidence>;
22
28
  //# sourceMappingURL=platform-account-reset-preview-evidence-postgres.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform-account-reset-preview-evidence-postgres.d.ts","sourceRoot":"","sources":["../src/platform-account-reset-preview-evidence-postgres.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,gDAAgD,CAAC;AAC1G,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAC;AAEhG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EACV,6BAA6B,EAC7B,wCAAwC,EAEzC,MAAM,uBAAuB,CAAC;AAQ/B,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,SAAS,EAAE,SAAS,mCAAmC,EAAE,CAAC;IACnE,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,wBAAsB,wCAAwC,CAC5D,UAAU,EAAE,yBAAyB,EACrC,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,OAAO,CAAC,SAAS;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAY3E;AAED,wBAAsB,uCAAuC,CAC3D,UAAU,EAAE,yBAAyB,EACrC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,UAAU,EAAE,mCAAmC,GAC9C,OAAO,CAAC,mCAAmC,CAAC,CA4E9C;AAED,wBAAsB,sCAAsC,CAC1D,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,SAAS,EAAE,6BAA6B,EACxC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,wCAAwC,GAChD,OAAO,CAAC,kCAAkC,CAAC,CA2D7C"}
1
+ {"version":3,"file":"platform-account-reset-preview-evidence-postgres.d.ts","sourceRoot":"","sources":["../src/platform-account-reset-preview-evidence-postgres.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,gDAAgD,CAAC;AAC1G,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAC;AAEhG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EACV,6BAA6B,EAC7B,wCAAwC,EAEzC,MAAM,uBAAuB,CAAC;AAQ/B,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,SAAS,EAAE,SAAS,mCAAmC,EAAE,CAAC;IACnE,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,0CAA0C;IACzD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,wBAAsB,wCAAwC,CAC5D,UAAU,EAAE,yBAAyB,EACrC,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,OAAO,CAAC,SAAS;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAY3E;AAED,wBAAsB,uCAAuC,CAC3D,UAAU,EAAE,yBAAyB,EACrC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,UAAU,EAAE,mCAAmC,GAC9C,OAAO,CAAC,mCAAmC,CAAC,CA4E9C;AAED,wBAAsB,sCAAsC,CAC1D,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,0CAA0C,CAAC,EACjF,SAAS,EAAE,6BAA6B,EACxC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,wCAAwC,GAChD,OAAO,CAAC,kCAAkC,CAAC,CAkF7C"}
@@ -74,10 +74,11 @@ export async function loadPlatformAccountResetContactEvidence(connection, target
74
74
  ambiguousCount,
75
75
  };
76
76
  }
77
- export async function loadPlatformAccountResetWorkosEvidence(contacts, directory, workosRealm, options) {
77
+ export async function loadPlatformAccountResetWorkosEvidence(contacts, linkedIdentities, directory, workosRealm, options) {
78
78
  const resources = [];
79
79
  let providerUnavailableCount = 0;
80
80
  let conflictCount = 0;
81
+ let presentCount = 0;
81
82
  const orderedContacts = [...contacts].sort(([left], [right]) => compareText(left, right));
82
83
  for (const [principalId, normalizedEmail] of orderedContacts) {
83
84
  if (providerReadAborted(options))
@@ -97,6 +98,27 @@ export async function loadPlatformAccountResetWorkosEvidence(contacts, directory
97
98
  const exact = users
98
99
  .filter((user) => safelyNormalizeEmail(user.normalizedEmail) === normalizedEmail)
99
100
  .sort((left, right) => compareText(left.id, right.id));
101
+ const linked = linkedIdentities.get(principalId);
102
+ if (linked !== undefined) {
103
+ const linkedResult = await reconcileLinkedWorkosIdentity({
104
+ linked,
105
+ exact,
106
+ directory,
107
+ workosRealm,
108
+ options,
109
+ });
110
+ if (linkedResult === 'unavailable') {
111
+ providerUnavailableCount += 1;
112
+ continue;
113
+ }
114
+ if (linkedResult === 'conflict') {
115
+ conflictCount += 1;
116
+ continue;
117
+ }
118
+ resources.push(linkedResult.resource);
119
+ presentCount += linkedResult.present ? 1 : 0;
120
+ continue;
121
+ }
100
122
  if (exact.length > 1 || exact.some((user) => user.externalId !== undefined)) {
101
123
  conflictCount += 1;
102
124
  continue;
@@ -137,10 +159,70 @@ export async function loadPlatformAccountResetWorkosEvidence(contacts, directory
137
159
  locator,
138
160
  }),
139
161
  });
162
+ presentCount += 1;
140
163
  }
141
164
  if (providerReadAborted(options))
142
165
  return unavailableWorkosEvidence(orderedContacts.length);
143
- return { resources, providerUnavailableCount, conflictCount };
166
+ return { resources, providerUnavailableCount, conflictCount, presentCount };
167
+ }
168
+ async function reconcileLinkedWorkosIdentity(input) {
169
+ let byId;
170
+ try {
171
+ byId = await input.directory.findUserById(input.linked.externalId, input.options);
172
+ }
173
+ catch {
174
+ return 'unavailable';
175
+ }
176
+ if (providerReadAborted(input.options))
177
+ return 'unavailable';
178
+ const exactUser = input.exact[0];
179
+ if (byId === undefined && input.exact.length === 0) {
180
+ return {
181
+ present: false,
182
+ resource: workosResource('absent_linked_user', {
183
+ principalId: input.linked.principalId,
184
+ userId: input.linked.externalId,
185
+ normalizedEmail: input.linked.normalizedEmail,
186
+ realm: input.workosRealm,
187
+ externalId: input.linked.principalId,
188
+ }),
189
+ };
190
+ }
191
+ if (byId === undefined ||
192
+ input.exact.length !== 1 ||
193
+ exactUser === undefined ||
194
+ exactUser.id !== input.linked.externalId ||
195
+ safelyNormalizeEmail(exactUser.normalizedEmail) !== input.linked.normalizedEmail ||
196
+ exactUser.externalId !== input.linked.principalId ||
197
+ exactUser.verified !== true ||
198
+ byId.id !== input.linked.externalId ||
199
+ safelyNormalizeEmail(byId.normalizedEmail) !== input.linked.normalizedEmail ||
200
+ byId.externalId !== input.linked.principalId ||
201
+ byId.verified !== true) {
202
+ return 'conflict';
203
+ }
204
+ return {
205
+ present: true,
206
+ resource: workosResource('linked_user', {
207
+ principalId: input.linked.principalId,
208
+ userId: input.linked.externalId,
209
+ normalizedEmail: input.linked.normalizedEmail,
210
+ realm: input.workosRealm,
211
+ externalId: input.linked.principalId,
212
+ }),
213
+ };
214
+ }
215
+ function workosResource(resourceKind, locator) {
216
+ return {
217
+ provider: 'workos',
218
+ resourceKind,
219
+ locator,
220
+ locatorFingerprint: sha256Canonical({
221
+ schemaVersion: 1,
222
+ label: `platform_account_reset_locator:workos:${resourceKind}`,
223
+ locator,
224
+ }),
225
+ };
144
226
  }
145
227
  function providerReadAborted(options) {
146
228
  return options.signal.aborted || options.deadline.getTime() <= Date.now();
@@ -150,6 +232,7 @@ function unavailableWorkosEvidence(contactCount) {
150
232
  resources: [],
151
233
  providerUnavailableCount: contactCount,
152
234
  conflictCount: 0,
235
+ presentCount: 0,
153
236
  };
154
237
  }
155
238
  function queryRows(pool, text, values) {
@@ -1 +1 @@
1
- {"version":3,"file":"platform-account-reset-preview-evidence-postgres.js","sourceRoot":"","sources":["../src/platform-account-reset-preview-evidence-postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-account-reset-preview-evidence-postgres.js","sourceRoot":"","sources":["../src/platform-account-reset-preview-evidence-postgres.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAG1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAkCxE,MAAM,CAAC,KAAK,UAAU,wCAAwC,CAC5D,UAAqC,EACrC,OAA0B;IAE1B,OAAO,SAAS,CACd,UAAU,EACV;;;;;;2EAMuE,EACvE,CAAC,OAAO,CAAC,CACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uCAAuC,CAC3D,UAAqC,EACrC,OAA0B,EAC1B,UAA+C;IAE/C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,UAAU,CAAC,WAAW,KAAK,YAAY;QACzC,UAAU,CAAC,IAAI,CACb;0DACoD,CACrD,CAAC;IACJ,IAAI,UAAU,CAAC,uBAAuB,KAAK,YAAY;QACrD,UAAU,CAAC,IAAI,CACb;sEACgE,CACjE,CAAC;IACJ,IAAI,UAAU,CAAC,oBAAoB,KAAK,YAAY;QAClD,UAAU,CAAC,IAAI,CACb;;;8EAGwE,CACzE,CAAC;IACJ,IAAI,UAAU,CAAC,cAAc,KAAK,YAAY;QAC5C,UAAU,CAAC,IAAI,CACb;;;sFAGgF,CACjF,CAAC;IACJ,IAAI,UAAU,CAAC,2BAA2B,KAAK,YAAY;QACzD,UAAU,CAAC,IAAI,CACb;;;8EAGwE,CACzE,CAAC;IACJ,IAAI,UAAU,CAAC,oBAAoB,KAAK,YAAY;QAClD,UAAU,CAAC,IAAI,CACb;mEAC6D,CAC9D,CAAC;IACJ,MAAM,IAAI,GACR,UAAU,CAAC,MAAM,KAAK,CAAC;QACrB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,MAAM,SAAS,CAAa,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzF,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAmB,CAAC;IACpD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG;YACjB,GAAG,IAAI,GAAG,CACR,UAAU;iBACP,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBAC7C,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAC3D;SACF,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,YAAY,IAAI,CAAC,CAAC;aAC1C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,cAAc,IAAI,CAAC,CAAC;;YACjD,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAW,CAAC,CAAC;QAC7D,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE;YAC3B,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACjE,aAAa,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpC,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnD,OAAO;oBACL,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,gBAAgB,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;iBACzF,CAAC;YACJ,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,kBAAkB;QAClB,gBAAgB;QAChB,YAAY;QACZ,cAAc;KACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC1D,QAAqC,EACrC,gBAAiF,EACjF,SAAwC,EACxC,WAAmB,EACnB,OAAiD;IAEjD,MAAM,SAAS,GAA0C,EAAE,CAAC;IAC5D,IAAI,wBAAwB,GAAG,CAAC,CAAC;IACjC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,eAAe,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1F,KAAK,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,IAAI,eAAe,EAAE,CAAC;QAC7D,IAAI,mBAAmB,CAAC,OAAO,CAAC;YAAE,OAAO,yBAAyB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3F,IAAI,KAAmD,CAAC;QACxD,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,SAAS,CAAC,0BAA0B,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,mBAAmB,CAAC,OAAO,CAAC;gBAAE,OAAO,yBAAyB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC3F,wBAAwB,IAAI,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,IAAI,mBAAmB,CAAC,OAAO,CAAC;YAAE,OAAO,yBAAyB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3F,MAAM,KAAK,GAAG,KAAK;aAChB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,eAAe,CAAC;aAChF,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,MAAM,6BAA6B,CAAC;gBACvD,MAAM;gBACN,KAAK;gBACL,SAAS;gBACT,WAAW;gBACX,OAAO;aACR,CAAC,CAAC;YACH,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;gBACnC,wBAAwB,IAAI,CAAC,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;gBAChC,aAAa,IAAI,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACtC,YAAY,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,EAAE,CAAC;YAC5E,aAAa,IAAI,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,IAAI,mBAAmB,CAAC,OAAO,CAAC;YAAE,OAAO,yBAAyB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3F,IAAI,IAAmD,CAAC;QACxD,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,mBAAmB,CAAC,OAAO,CAAC;gBAAE,OAAO,yBAAyB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC3F,wBAAwB,IAAI,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,IAAI,mBAAmB,CAAC,OAAO,CAAC;YAAE,OAAO,yBAAyB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3F,IACE,IAAI,KAAK,SAAS;YAClB,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;YACnB,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,eAAe;YAC9D,IAAI,CAAC,UAAU,KAAK,SAAS,EAC7B,CAAC;YACD,aAAa,IAAI,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QACtF,MAAM,YAAY,GAAG,eAAe,CAAC;QACrC,SAAS,CAAC,IAAI,CAAC;YACb,QAAQ,EAAE,QAAQ;YAClB,YAAY;YACZ,OAAO;YACP,kBAAkB,EAAE,eAAe,CAAC;gBAClC,aAAa,EAAE,CAAC;gBAChB,KAAK,EAAE,yCAAyC,YAAY,EAAE;gBAC9D,OAAO;aACR,CAAC;SACH,CAAC,CAAC;QACH,YAAY,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,mBAAmB,CAAC,OAAO,CAAC;QAAE,OAAO,yBAAyB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3F,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AAC9E,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,KAM5C;IAKC,IAAI,IAAmD,CAAC;IACxD,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,aAAa,CAAC;IAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,cAAc,CAAC,oBAAoB,EAAE;gBAC7C,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;gBACrC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;gBAC/B,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe;gBAC7C,KAAK,EAAE,KAAK,CAAC,WAAW;gBACxB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;aACrC,CAAC;SACH,CAAC;IACJ,CAAC;IACD,IACE,IAAI,KAAK,SAAS;QAClB,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QACxB,SAAS,KAAK,SAAS;QACvB,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,UAAU;QACxC,oBAAoB,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,eAAe;QAChF,SAAS,CAAC,UAAU,KAAK,KAAK,CAAC,MAAM,CAAC,WAAW;QACjD,SAAS,CAAC,QAAQ,KAAK,IAAI;QAC3B,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,UAAU;QACnC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,eAAe;QAC3E,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,MAAM,CAAC,WAAW;QAC5C,IAAI,CAAC,QAAQ,KAAK,IAAI,EACtB,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,cAAc,CAAC,aAAa,EAAE;YACtC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;YACrC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;YAC/B,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe;YAC7C,KAAK,EAAE,KAAK,CAAC,WAAW;YACxB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;SACrC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,YAAoB,EACpB,OAA0C;IAE1C,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,YAAY;QACZ,OAAO;QACP,kBAAkB,EAAE,eAAe,CAAC;YAClC,aAAa,EAAE,CAAC;YAChB,KAAK,EAAE,yCAAyC,YAAY,EAAE;YAC9D,OAAO;SACR,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAiD;IAC5E,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,yBAAyB,CAAC,YAAoB;IACrD,OAAO;QACL,SAAS,EAAE,EAAE;QACb,wBAAwB,EAAE,YAAY;QACtC,aAAa,EAAE,CAAC;QAChB,YAAY,EAAE,CAAC;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,IAA+B,EAC/B,IAAY,EACZ,MAA2B;IAE3B,OAAO,IAAI,CAAC,KAAK,CAAI,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,OAAO,CACd,MAAoB,EACpB,GAAyB;IAEzB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa;IAC9C,OAAO,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,IAAI,CAAC;QACH,OAAO,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { PlatformAccountResetCleanupResource } from './platform-account-reset-ownership-postgres.js';
2
+ import type { PlatformAccountResetExpectedWorkosIdentity } from './platform-account-reset-preview-evidence-postgres.js';
3
+ export interface PlatformAccountResetIdentityLinkEvidenceRow {
4
+ readonly principal_id: string;
5
+ readonly provider: string;
6
+ readonly realm: string;
7
+ readonly external_id: string;
8
+ readonly disabled_at: Date | string | null;
9
+ readonly created_at: Date | string;
10
+ }
11
+ export interface PlatformAccountResetVerifiedEmailEvidenceRow {
12
+ readonly principal_id: string;
13
+ readonly original_email: string;
14
+ readonly normalized_email: string;
15
+ readonly provider: string;
16
+ readonly realm: string;
17
+ readonly status: 'active' | 'superseded';
18
+ readonly verified_at: Date | string;
19
+ readonly observed_at: Date | string;
20
+ }
21
+ export declare function inspectPlatformAccountResetLinkedEvidence(input: {
22
+ readonly targets: readonly string[];
23
+ readonly verified: readonly PlatformAccountResetVerifiedEmailEvidenceRow[];
24
+ readonly identityLinks: readonly PlatformAccountResetIdentityLinkEvidenceRow[];
25
+ readonly contacts: ReadonlyMap<string, string>;
26
+ readonly googleRealm: string;
27
+ readonly workosRealm: string;
28
+ readonly sharedExternalSubjectCount: number;
29
+ }): {
30
+ readonly identities: ReadonlyMap<string, PlatformAccountResetExpectedWorkosIdentity>;
31
+ readonly resources: readonly PlatformAccountResetCleanupResource[];
32
+ readonly blockers: readonly {
33
+ readonly code: 'verified_email_evidence_present' | 'workos_link_present';
34
+ readonly count: number;
35
+ }[];
36
+ };
37
+ //# sourceMappingURL=platform-account-reset-preview-linked-evidence-postgres.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-account-reset-preview-linked-evidence-postgres.d.ts","sourceRoot":"","sources":["../src/platform-account-reset-preview-linked-evidence-postgres.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,gDAAgD,CAAC;AAC1G,OAAO,KAAK,EAAE,0CAA0C,EAAE,MAAM,uDAAuD,CAAC;AAGxH,MAAM,WAAW,2CAA2C;IAC1D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,4CAA4C;IAC3D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC;CACrC;AAED,wBAAgB,yCAAyC,CAAC,KAAK,EAAE;IAC/D,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,SAAS,4CAA4C,EAAE,CAAC;IAC3E,QAAQ,CAAC,aAAa,EAAE,SAAS,2CAA2C,EAAE,CAAC;IAC/E,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;CAC7C,GAAG;IACF,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;IACrF,QAAQ,CAAC,SAAS,EAAE,SAAS,mCAAmC,EAAE,CAAC;IACnE,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAC1B,QAAQ,CAAC,IAAI,EAAE,iCAAiC,GAAG,qBAAqB,CAAC;QACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;CACL,CAuHA"}
@@ -0,0 +1,136 @@
1
+ import { sha256Canonical } from './platform-account-reset-fingerprint.js';
2
+ import { normalizePlatformIdentityEmail } from './platform-identity.js';
3
+ export function inspectPlatformAccountResetLinkedEvidence(input) {
4
+ const identities = new Map();
5
+ const resources = [];
6
+ const blockers = new Map();
7
+ const workosLinks = input.identityLinks.filter((row) => row.provider === 'workos');
8
+ const linkedShape = input.verified.length !== 0 || workosLinks.length !== 0;
9
+ if (!linkedShape) {
10
+ const unexpectedLinks = input.identityLinks.filter((row) => row.provider !== 'google' ||
11
+ row.realm !== input.googleRealm ||
12
+ row.external_id !== row.principal_id ||
13
+ row.disabled_at !== null);
14
+ return {
15
+ identities,
16
+ resources,
17
+ blockers: unexpectedLinks.length === 0
18
+ ? []
19
+ : [{ code: 'workos_link_present', count: unexpectedLinks.length }],
20
+ };
21
+ }
22
+ const verifiedByTarget = groupBy(input.verified, (row) => row.principal_id);
23
+ const linksByTarget = groupBy(input.identityLinks, (row) => row.principal_id);
24
+ for (const target of input.targets) {
25
+ const contact = input.contacts.get(target);
26
+ const verifiedRows = verifiedByTarget.get(target) ?? [];
27
+ const normalized = [
28
+ ...new Set(verifiedRows
29
+ .map((row) => safelyNormalizeEmail(row.normalized_email))
30
+ .filter((value) => value !== undefined)),
31
+ ];
32
+ const providerRealms = new Set(verifiedRows.map((row) => `${row.provider}\u0000${row.realm}`));
33
+ const invalidVerified = contact === undefined ||
34
+ verifiedRows.length !== 2 ||
35
+ providerRealms.size !== 2 ||
36
+ !providerRealms.has(`google\u0000${input.googleRealm}`) ||
37
+ !providerRealms.has(`workos\u0000${input.workosRealm}`) ||
38
+ normalized.length !== 1 ||
39
+ normalized[0] !== contact ||
40
+ verifiedRows.some((row) => row.status !== 'active' ||
41
+ safelyNormalizeEmail(row.original_email) !== contact ||
42
+ safelyNormalizeEmail(row.normalized_email) !== contact);
43
+ if (invalidVerified)
44
+ increment(blockers, 'verified_email_evidence_present');
45
+ const targetLinks = linksByTarget.get(target) ?? [];
46
+ const googleLinks = targetLinks.filter((row) => row.provider === 'google' &&
47
+ row.realm === input.googleRealm &&
48
+ row.external_id === target &&
49
+ row.disabled_at === null);
50
+ const targetWorkosLinks = targetLinks.filter((row) => row.provider === 'workos');
51
+ const workosLink = targetWorkosLinks[0];
52
+ const invalidLink = targetLinks.length !== 2 ||
53
+ googleLinks.length !== 1 ||
54
+ targetWorkosLinks.length !== 1 ||
55
+ workosLink === undefined ||
56
+ workosLink.realm !== input.workosRealm ||
57
+ workosLink.disabled_at !== null ||
58
+ workosLink.external_id.trim().length === 0;
59
+ if (invalidLink)
60
+ increment(blockers, 'workos_link_present');
61
+ if (invalidVerified || invalidLink || contact === undefined || workosLink === undefined)
62
+ continue;
63
+ identities.set(target, {
64
+ principalId: target,
65
+ externalId: workosLink.external_id,
66
+ normalizedEmail: contact,
67
+ });
68
+ for (const row of verifiedRows) {
69
+ resources.push(localEvidenceResource('verified_email_evidence', {
70
+ principalId: row.principal_id,
71
+ originalEmail: row.original_email,
72
+ normalizedEmail: row.normalized_email,
73
+ provider: row.provider,
74
+ realm: row.realm,
75
+ status: row.status,
76
+ verifiedAt: timestamp(row.verified_at),
77
+ observedAt: timestamp(row.observed_at),
78
+ }));
79
+ }
80
+ resources.push(localEvidenceResource('workos_identity_link', {
81
+ principalId: workosLink.principal_id,
82
+ provider: workosLink.provider,
83
+ realm: workosLink.realm,
84
+ externalId: workosLink.external_id,
85
+ createdAt: timestamp(workosLink.created_at),
86
+ disabledAt: null,
87
+ }));
88
+ }
89
+ const duplicateExternalIds = workosLinks.length - new Set(workosLinks.map((row) => row.external_id)).size;
90
+ const sharedOrDuplicateCount = duplicateExternalIds + input.sharedExternalSubjectCount;
91
+ if (sharedOrDuplicateCount !== 0)
92
+ blockers.set('workos_link_present', (blockers.get('workos_link_present') ?? 0) + sharedOrDuplicateCount);
93
+ return {
94
+ identities,
95
+ resources,
96
+ blockers: [...blockers].map(([code, count]) => ({ code, count })),
97
+ };
98
+ }
99
+ function localEvidenceResource(resourceKind, locator) {
100
+ return {
101
+ provider: 'postgres',
102
+ resourceKind,
103
+ locator,
104
+ locatorFingerprint: sha256Canonical({
105
+ schemaVersion: 1,
106
+ label: `platform_account_reset_locator:postgres:${resourceKind}`,
107
+ locator,
108
+ }),
109
+ };
110
+ }
111
+ function timestamp(value) {
112
+ const parsed = new Date(value);
113
+ if (!Number.isFinite(parsed.getTime()))
114
+ throw new TypeError('account-reset evidence timestamp is invalid');
115
+ return parsed.toISOString();
116
+ }
117
+ function safelyNormalizeEmail(value) {
118
+ try {
119
+ return normalizePlatformIdentityEmail(value);
120
+ }
121
+ catch {
122
+ return undefined;
123
+ }
124
+ }
125
+ function groupBy(values, key) {
126
+ const grouped = new Map();
127
+ for (const value of values) {
128
+ const itemKey = key(value);
129
+ grouped.set(itemKey, [...(grouped.get(itemKey) ?? []), value]);
130
+ }
131
+ return grouped;
132
+ }
133
+ function increment(blockers, code) {
134
+ blockers.set(code, (blockers.get(code) ?? 0) + 1);
135
+ }
136
+ //# sourceMappingURL=platform-account-reset-preview-linked-evidence-postgres.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-account-reset-preview-linked-evidence-postgres.js","sourceRoot":"","sources":["../src/platform-account-reset-preview-linked-evidence-postgres.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { PlatformAccountResetBlockerCode, PlatformAccountResetPreviewRequest, PlatformAccountResetResult } from './platform-account-reset.js';
2
2
  import { type PlatformAccountResetCleanupResource } from './platform-account-reset-ownership-postgres.js';
3
+ import { type PlatformAccountResetExpectedWorkosIdentity } from './platform-account-reset-preview-evidence-postgres.js';
3
4
  import type { PlatformAuthInventorySourceManifest } from './platform-auth-inventory-sources.js';
4
5
  import type { PlatformIdentityQueryable } from './platform-identity-postgres.js';
5
6
  export interface PlatformAccountResetLocalInspection {
@@ -7,6 +8,7 @@ export interface PlatformAccountResetLocalInspection {
7
8
  readonly request: PlatformAccountResetPreviewRequest;
8
9
  readonly targets: readonly string[];
9
10
  readonly normalizedContacts: ReadonlyMap<string, string>;
11
+ readonly linkedWorkosIdentities: ReadonlyMap<string, PlatformAccountResetExpectedWorkosIdentity>;
10
12
  readonly targetEvidence: ReadonlyMap<string, Readonly<Record<string, unknown>>>;
11
13
  readonly cleanupResources: readonly PlatformAccountResetCleanupResource[];
12
14
  readonly ownershipFingerprint: string;
@@ -1 +1 @@
1
- {"version":3,"file":"platform-account-reset-preview-local-postgres.d.ts","sourceRoot":"","sources":["../src/platform-account-reset-preview-local-postgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,kCAAkC,EAClC,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAEL,KAAK,mCAAmC,EACzC,MAAM,gDAAgD,CAAC;AAMxD,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAC;AAChG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AA6BjF,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,kCAAkC,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAChF,QAAQ,CAAC,gBAAgB,EAAE,SAAS,mCAAmC,EAAE,CAAC;IAC1E,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAC1B,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;QAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;IACJ,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,0CAA0C;IACzD,QAAQ,CAAC,kBAAkB,EAAE,mCAAmC,CAAC;IACjE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,SAAS;QAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC;KACzC,EAAE,CAAC;IACJ,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED,wBAAsB,wCAAwC,CAC5D,UAAU,EAAE,yBAAyB,EACrC,OAAO,EAAE,kCAAkC,EAC3C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,0CAA0C,GAClD,OAAO,CAAC,mCAAmC,CAAC,CAoN9C"}
1
+ {"version":3,"file":"platform-account-reset-preview-local-postgres.d.ts","sourceRoot":"","sources":["../src/platform-account-reset-preview-local-postgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,kCAAkC,EAClC,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAEL,KAAK,mCAAmC,EACzC,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAGL,KAAK,0CAA0C,EAChD,MAAM,uDAAuD,CAAC;AAO/D,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAC;AAChG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAqBjF,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,kCAAkC,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;IACjG,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAChF,QAAQ,CAAC,gBAAgB,EAAE,SAAS,mCAAmC,EAAE,CAAC;IAC1E,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAC1B,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;QAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;IACJ,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,0CAA0C;IACzD,QAAQ,CAAC,kBAAkB,EAAE,mCAAmC,CAAC;IACjE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,SAAS;QAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC;KACzC,EAAE,CAAC;IACJ,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED,wBAAsB,wCAAwC,CAC5D,UAAU,EAAE,yBAAyB,EACrC,OAAO,EAAE,kCAAkC,EAC3C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,0CAA0C,GAClD,OAAO,CAAC,mCAAmC,CAAC,CA2P9C"}
@@ -1,29 +1,35 @@
1
1
  import { sha256Canonical } from './platform-account-reset-fingerprint.js';
2
2
  import { loadPlatformAccountResetOwnershipSnapshot, } from './platform-account-reset-ownership-postgres.js';
3
3
  import { loadPlatformAccountResetContactEvidence, loadPlatformAccountResetCustomerEvidence, } from './platform-account-reset-preview-evidence-postgres.js';
4
+ import { inspectPlatformAccountResetLinkedEvidence, } from './platform-account-reset-preview-linked-evidence-postgres.js';
4
5
  import { readPlatformAuthInventorySourceEpoch } from './platform-auth-inventory-source-fence-postgres.js';
5
6
  export async function inspectPlatformAccountResetLocalEvidence(connection, request, operationId, options) {
6
7
  const targets = [...request.targetSet.principalIds].sort(compareText);
7
8
  const targetSet = new Set(targets);
8
9
  const targetFingerprints = targets.map((target) => sha256Canonical(target));
9
10
  const blockers = new Map();
10
- const rollout = await connection.query(`SELECT generation::text FROM platform_auth_rollout_state
11
+ const rollout = await connection.query(`SELECT generation::text, lifecycle, workos_percentage FROM platform_auth_rollout_state
11
12
  WHERE singleton = true FOR SHARE`);
12
- const generation = Number(rollout.rows[0]?.generation);
13
+ const rolloutState = rollout.rows[0];
14
+ const generation = Number(rolloutState?.generation);
13
15
  const sourceEpoch = Number(await readPlatformAuthInventorySourceEpoch(connection));
14
16
  if (request.releaseSha !== options.releaseSha)
15
17
  increment(blockers, 'release_mismatch');
16
18
  if (request.expectedGeneration !== generation)
17
19
  increment(blockers, 'generation_mismatch');
20
+ if (rolloutState?.lifecycle !== 'google' || rolloutState.workos_percentage !== 0)
21
+ increment(blockers, 'operation_conflict');
18
22
  if (request.sourceEpoch !== sourceEpoch)
19
23
  increment(blockers, 'source_epoch_mismatch');
20
24
  if (request.workosRealm !== options.workosRealm)
21
25
  increment(blockers, 'operation_conflict');
22
26
  const principals = await queryRows(connection, `SELECT principal_id, status, billing_identity_issuer, billing_subject
23
27
  FROM platform_principals WHERE principal_id = ANY($1::text[])`, [targets]);
24
- const links = await queryRows(connection, `SELECT principal_id, provider, realm, external_id, disabled_at
28
+ const links = await queryRows(connection, `SELECT principal_id, provider, realm, external_id, disabled_at, created_at
25
29
  FROM platform_identity_links WHERE principal_id = ANY($1::text[])`, [targets]);
26
- const verified = await queryRows(connection, `SELECT principal_id FROM platform_verified_emails
30
+ const verified = await queryRows(connection, `SELECT principal_id, original_email, normalized_email, provider, realm, status,
31
+ verified_at, observed_at
32
+ FROM platform_verified_emails
27
33
  WHERE principal_id = ANY($1::text[])`, [targets]);
28
34
  const imports = await queryRows(connection, `SELECT principal_id FROM workos_import_ledger
29
35
  WHERE principal_id = ANY($1::text[])`, [targets]);
@@ -68,11 +74,14 @@ export async function inspectPlatformAccountResetLocalEvidence(connection, reque
68
74
  principal.billing_subject !== target)
69
75
  increment(blockers, 'principal_not_legacy_google');
70
76
  }
71
- if (verified.length !== 0)
72
- blockers.set('verified_email_evidence_present', verified.length);
73
77
  const workosLinks = links.filter((row) => row.provider === 'workos');
74
- if (workosLinks.length !== 0)
75
- blockers.set('workos_link_present', workosLinks.length);
78
+ const sharedWorkosSubjects = workosLinks.length === 0
79
+ ? []
80
+ : await queryRows(connection, `SELECT external_id
81
+ FROM platform_identity_links
82
+ WHERE provider = 'workos'
83
+ AND external_id = ANY($1::text[])
84
+ AND NOT (principal_id = ANY($2::text[]))`, [workosLinks.map((row) => row.external_id), targets]);
76
85
  if (imports.length + importAttempts.length !== 0)
77
86
  blockers.set('workos_import_present', imports.length + importAttempts.length);
78
87
  if (activeResets.length !== 0)
@@ -100,11 +109,28 @@ export async function inspectPlatformAccountResetLocalEvidence(connection, reque
100
109
  blockers.set('contact_hint_missing', contactEvidence.missingCount);
101
110
  if (contactEvidence.ambiguousCount !== 0)
102
111
  blockers.set('contact_hint_ambiguous', contactEvidence.ambiguousCount);
112
+ const linkedEvidence = inspectPlatformAccountResetLinkedEvidence({
113
+ targets,
114
+ verified,
115
+ identityLinks: links,
116
+ contacts: contactEvidence.normalizedContacts,
117
+ googleRealm: options.googleRealm,
118
+ workosRealm: options.workosRealm,
119
+ sharedExternalSubjectCount: sharedWorkosSubjects.length,
120
+ });
121
+ for (const blocker of linkedEvidence.blockers)
122
+ blockers.set(blocker.code, (blockers.get(blocker.code) ?? 0) + blocker.count);
103
123
  const ownership = await loadPlatformAccountResetOwnershipSnapshot(connection, {
104
124
  targetPrincipalIds: targets,
105
125
  });
106
126
  for (const blocker of ownership.blockers)
107
127
  blockers.set(blocker.code, (blockers.get(blocker.code) ?? 0) + blocker.count);
128
+ const cleanupResources = [...ownership.cleanupResources, ...linkedEvidence.resources].sort((left, right) => JSON.stringify(left).localeCompare(JSON.stringify(right)));
129
+ const localCleanupSetFingerprint = sha256Canonical({
130
+ schemaVersion: 1,
131
+ label: 'platform_account_reset_cleanup_set',
132
+ resources: cleanupResources,
133
+ });
108
134
  const blockerList = [...blockers]
109
135
  .map(([code, count]) => ({ code, count }))
110
136
  .sort((left, right) => left.code.localeCompare(right.code));
@@ -146,17 +172,18 @@ export async function inspectPlatformAccountResetLocalEvidence(connection, reque
146
172
  blockers: blockerList,
147
173
  counts,
148
174
  ownershipFingerprint: ownership.ownershipFingerprint,
149
- cleanupSetFingerprint: ownership.cleanupSetFingerprint,
175
+ cleanupSetFingerprint: localCleanupSetFingerprint,
150
176
  });
151
177
  return {
152
178
  operationId,
153
179
  request,
154
180
  targets,
155
181
  normalizedContacts: contactEvidence.normalizedContacts,
182
+ linkedWorkosIdentities: linkedEvidence.identities,
156
183
  targetEvidence,
157
- cleanupResources: ownership.cleanupResources,
184
+ cleanupResources,
158
185
  ownershipFingerprint: ownership.ownershipFingerprint,
159
- localCleanupSetFingerprint: ownership.cleanupSetFingerprint,
186
+ localCleanupSetFingerprint,
160
187
  requestFingerprint,
161
188
  workosRealmFingerprint,
162
189
  counts,