@noodleseed/one 0.84.3 → 0.84.5

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 (70) hide show
  1. package/dist/assistant-embed-scaffold-template.d.ts.map +1 -1
  2. package/dist/assistant-embed-scaffold-template.js +3 -1
  3. package/dist/assistant-embed-scaffold-template.js.map +1 -1
  4. package/dist/commands/assistant-embed-ops.d.ts +1 -1
  5. package/dist/commands/assistant-embed-ops.d.ts.map +1 -1
  6. package/dist/commands/assistant-embed-ops.js +145 -1
  7. package/dist/commands/assistant-embed-ops.js.map +1 -1
  8. package/dist/commands/assistant-ops.js +1 -1
  9. package/dist/commands/assistant-ops.js.map +1 -1
  10. package/dist/commands/catalog-data-assistant.d.ts.map +1 -1
  11. package/dist/commands/catalog-data-assistant.js +14 -0
  12. package/dist/commands/catalog-data-assistant.js.map +1 -1
  13. package/node_modules/@noodle-borg/agent-kit/dist/behavior-skills.d.ts.map +1 -1
  14. package/node_modules/@noodle-borg/agent-kit/dist/behavior-skills.js +1 -0
  15. package/node_modules/@noodle-borg/agent-kit/dist/behavior-skills.js.map +1 -1
  16. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +1 -1
  17. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
  18. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.d.ts.map +1 -1
  19. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js +34 -2
  20. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js.map +1 -1
  21. package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
  22. package/node_modules/@noodle-borg/service/dist/platform-account-reset-legacy-materialization-postgres.d.ts +10 -0
  23. package/node_modules/@noodle-borg/service/dist/platform-account-reset-legacy-materialization-postgres.d.ts.map +1 -0
  24. package/node_modules/@noodle-borg/service/dist/platform-account-reset-legacy-materialization-postgres.js +121 -0
  25. package/node_modules/@noodle-borg/service/dist/platform-account-reset-legacy-materialization-postgres.js.map +1 -0
  26. package/node_modules/@noodle-borg/service/dist/platform-account-reset-legacy-workspace-postgres.d.ts +23 -0
  27. package/node_modules/@noodle-borg/service/dist/platform-account-reset-legacy-workspace-postgres.d.ts.map +1 -0
  28. package/node_modules/@noodle-borg/service/dist/platform-account-reset-legacy-workspace-postgres.js +94 -0
  29. package/node_modules/@noodle-borg/service/dist/platform-account-reset-legacy-workspace-postgres.js.map +1 -0
  30. package/node_modules/@noodle-borg/service/dist/platform-account-reset-operation-postgres.d.ts +4 -0
  31. package/node_modules/@noodle-borg/service/dist/platform-account-reset-operation-postgres.d.ts.map +1 -1
  32. package/node_modules/@noodle-borg/service/dist/platform-account-reset-operation-postgres.js +17 -0
  33. package/node_modules/@noodle-borg/service/dist/platform-account-reset-operation-postgres.js.map +1 -1
  34. package/node_modules/@noodle-borg/service/dist/platform-account-reset-operator.d.ts.map +1 -1
  35. package/node_modules/@noodle-borg/service/dist/platform-account-reset-operator.js +13 -0
  36. package/node_modules/@noodle-borg/service/dist/platform-account-reset-operator.js.map +1 -1
  37. package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-postgres.d.ts +3 -0
  38. package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-postgres.d.ts.map +1 -1
  39. package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-postgres.js +11 -2
  40. package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-postgres.js.map +1 -1
  41. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-local-postgres.d.ts +3 -0
  42. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-local-postgres.d.ts.map +1 -1
  43. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-local-postgres.js +117 -38
  44. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-local-postgres.js.map +1 -1
  45. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-persistence-postgres.d.ts.map +1 -1
  46. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-persistence-postgres.js +28 -9
  47. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-persistence-postgres.js.map +1 -1
  48. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-postgres.d.ts +1 -0
  49. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-postgres.d.ts.map +1 -1
  50. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-postgres.js +16 -6
  51. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-postgres.js.map +1 -1
  52. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-result.d.ts +3 -0
  53. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-result.d.ts.map +1 -1
  54. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-result.js +2 -0
  55. package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-result.js.map +1 -1
  56. package/node_modules/@noodle-borg/service/dist/platform-account-reset-quarantine-postgres.d.ts +2 -1
  57. package/node_modules/@noodle-borg/service/dist/platform-account-reset-quarantine-postgres.d.ts.map +1 -1
  58. package/node_modules/@noodle-borg/service/dist/platform-account-reset-quarantine-postgres.js +21 -2
  59. package/node_modules/@noodle-borg/service/dist/platform-account-reset-quarantine-postgres.js.map +1 -1
  60. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-postgres.d.ts.map +1 -1
  61. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-postgres.js +7 -0
  62. package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-postgres.js.map +1 -1
  63. package/node_modules/@noodle-borg/service/dist/platform-account-reset-schema-postgres.d.ts.map +1 -1
  64. package/node_modules/@noodle-borg/service/dist/platform-account-reset-schema-postgres.js +148 -0
  65. package/node_modules/@noodle-borg/service/dist/platform-account-reset-schema-postgres.js.map +1 -1
  66. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-postgres.d.ts +2 -2
  67. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-postgres.d.ts.map +1 -1
  68. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-postgres.js +3 -1
  69. package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-postgres.js.map +1 -1
  70. package/package.json +1 -1
@@ -6,6 +6,7 @@ export function renderEmbeddedAssistantReference() {
6
6
  '## Contents',
7
7
  '',
8
8
  '- Architecture',
9
+ '- Choose the host experience',
9
10
  '- Author and validate',
10
11
  '- Customize the presentation',
11
12
  '- Configure and deploy',
@@ -16,6 +17,7 @@ export function renderEmbeddedAssistantReference() {
16
17
  '- Verified session context (identity and claims)',
17
18
  '- The session response',
18
19
  '- Choose a browser renderer',
20
+ '- Host readiness and promotion',
19
21
  '- Toolchain requirements',
20
22
  '- Verify the boundary',
21
23
  '- Troubleshooting: symptom to diagnosis',
@@ -24,12 +26,19 @@ export function renderEmbeddedAssistantReference() {
24
26
  '',
25
27
  'The browser never receives a model key, assistant client secret, MCP token, or raw application session. The embedding SaaS authenticates its own user, its backend exchanges that verified identity through `@noodleseed/assistant/server`, and the browser receives only a short-lived assistant session.',
26
28
  '',
27
- 'Keep the two configuration sets separate:',
29
+ 'Keep every credential and identity layer separate:',
28
30
  '',
29
31
  '| Owner | Values | Destination |',
30
32
  '| --- | --- | --- |',
33
+ '| Noodle operator | Login, selected org/app/env | Plugin-managed CLI profile and explicit target; never the SaaS runtime |',
31
34
  '| Noodle deployment | `ASSISTANT_MODEL_BASE_URL`, `ASSISTANT_MODEL`, `ASSISTANT_MODEL_API_KEY` | `noodle variables set` / `noodle secrets set`; never the SaaS environment |',
32
- '| SaaS backend | `NOODLE_SERVICE_URL`, `NOODLE_ASSISTANT_CLIENT_ID`, `NOODLE_ASSISTANT_CLIENT_SECRET` | Backend-only environment or secret manager; never browser code or `NEXT_PUBLIC_*`/equivalent variables |',
35
+ '| Connector/delegated exchange | Connector credentials and any customer-owned token-exchange client | Noodle managed configuration plus the matching customer backend secret manager |',
36
+ '| SaaS backend | `NOODLE_SERVICE_URL`, `NOODLE_ASSISTANT_CLIENT_ID`, `NOODLE_ASSISTANT_CLIENT_SECRET`, `PUBLIC_APP_ORIGIN` | Backend-only environment or secret manager; never browser code or public-prefixed variables |',
37
+ '| Browser | Short-lived assistant session only | In memory; never a client secret, model key, connector credential, or raw application session |',
38
+ '',
39
+ '## Choose the host experience',
40
+ '',
41
+ 'Before choosing code, ask the user which experience belongs in the existing product: the built-in floating, inline, or drawer assistant; a custom chat-first renderer; or a headless client feeding application-owned UI. Default to the built-in floating assistant only when the user has no preference. Preserve the host application until the user opens or submits into the assistant; do not copy one flagship layout into every product.',
33
42
  '',
34
43
  '## Author and validate',
35
44
  '',
@@ -467,6 +476,23 @@ export function renderEmbeddedAssistantReference() {
467
476
  '',
468
477
  '`clientContext` and typed `pageContext` are recomputed for each turn. `updateContext(...)` remains the legacy session-exchange context; `updatePageContext(...)` replaces the fresh per-turn application hint. `updateModelContext({ content, structuredContent })` publishes one cohesive renderer snapshot for later message turns without starting a turn; every call replaces the prior snapshot rather than merging fields. These are untrusted data, not conversation history or authorization input, and the boundaries reject credential-shaped or unbounded updates. A message may re-exchange once after a pre-execution `401`; the client never auto-retries interaction decisions. `tool_proposed.arguments` is a complete schema-aware review projection and, for connector-backed tools, names the sole exact connector version/operation/resolved arguments. Sensitive/write-only fields are redacted; truncating or omitting any non-sensitive action field fails closed. Accept is bound to the server-held action and claims at most one execution attempt—clients cannot replace it. Normal terminal outcomes scrub private arguments and continuations immediately; only an accepted action still executing retains them for the one-hour unknown-outcome recovery window, after which it records `interaction_outcome_unknown` and scrubs. Without downstream idempotency this is not an exactly-once business-effect guarantee. To reconcile a lost response, explicitly repeat the same id and decision: the service returns its durable stored outcome without re-execution.',
469
478
  '',
479
+ '## Host readiness and promotion',
480
+ '',
481
+ 'Run the non-mutating host preflight from the embedding application before its production build:',
482
+ '',
483
+ '```sh',
484
+ 'noodle assistant embed --check --json',
485
+ 'noodle assistant embed --check --json --require-env EXAMPLE_DELEG_CLIENT_SECRET',
486
+ '```',
487
+ '',
488
+ 'The check reports only required and missing environment names, never their values. It checks both `connect-src` and `frame-src` when a common static host CSP is determinable, fails on missing directives, and marks a dynamic expression unverified instead of guessing. Additional `--require-env` names are application-owned; use them for the customer side of delegated exchange or other backend-only integration requirements.',
489
+ '',
490
+ 'Inspect the host repository for generated environment bindings after adding names. Run its existing generator, review the diff, commit generated types only when that repository requires them, then run the production-equivalent host build. Do not invent a framework command or add a second generator.',
491
+ '',
492
+ 'Promotion checklist: provision each environment in the backend secret manager; map names through the CI environment and any secret allowlist or secrets file; run the presence-only preflight before asset upload; promote configuration before code; run the post-deploy probes from the JSON contract; rotate the assistant client and delegated credential independently, then rerun the same checks.',
493
+ '',
494
+ "Devtools privacy gate: default model and connector exercises to synthetic or mock data. Before Devtools Chat sends real connector data to an external model, disclose the data flow and obtain the user's approval. A local validation pass is not that approval.",
495
+ '',
470
496
  '## Toolchain requirements',
471
497
  '',
472
498
  '- Node.js 20+ for `@noodleseed/assistant/server`.',
@@ -482,6 +508,8 @@ export function renderEmbeddedAssistantReference() {
482
508
  '- An expired turn re-exchanges once; interaction decisions never auto-retry. An explicit same-decision repeat returns the stored outcome without executing again.',
483
509
  '- Accept, decline, and cancel are single-use. Only accept executes; the server ignores replacement tool arguments.',
484
510
  '- Wrong-origin and malformed-origin requests fail closed.',
511
+ '- Run the production-equivalent host build after regenerating environment bindings.',
512
+ '- In a real browser, submit with the keyboard, inspect console and network failures, complete session exchange and one tool turn, and render one linked App before claiming the host works.',
485
513
  '',
486
514
  '## Troubleshooting: symptom to diagnosis',
487
515
  '',
@@ -495,6 +523,10 @@ export function renderEmbeddedAssistantReference() {
495
523
  '| Validate rejects an origin | Non-loopback HTTP origin in `allowedOrigins` | Use the exact HTTPS production origin; HTTP is only for `localhost`/`127.0.0.1` |',
496
524
  '| Session exchange returns 404 | `serviceUrl` points at the deployment MCP endpoint | Use the control-plane service URL printed by `noodle assistant clients create` |',
497
525
  '| Session exchange returns 403 `origin is not allowed` | Request origin differs from `allowedOrigins` character-for-character | Align the exact scheme/host/port on both sides and redeploy |',
526
+ '| Host session 503 | A required backend environment name is absent or mapped into the wrong deployment environment | Run `noodle assistant embed --check --json`, repair the host CI mapping, then probe the session route again |',
527
+ '| `HEAD` on a widget or session path looks broken | The route contract is `GET` for the hosted sandbox/widget document or `POST` for session exchange; `HEAD` is not the product flow | Exercise the documented method and inspect its response instead of inferring readiness from `HEAD` |',
528
+ '| Local server reports `listen EPERM` | The coding sandbox blocked loopback binding before application behavior ran | Rerun the same local/browser test with approved loopback permissions; do not change product code |',
529
+ '| Tool succeeds but the widget is empty | The linked App delivery layer failed: result shape, resource link, CSP frame, or bridge hydration | Inspect the typed result, `view_available`, resource URI, browser console, and hosted frame separately |',
498
530
  '| Hydration or `HTMLElement is not defined` errors | The component mounted during server rendering | Mount client-only (`"use client"` or `next/dynamic` with `ssr: false`) |',
499
531
  '| A tool runs without the expected confirmation | Its compiled annotations omit `confirm: true` or explicitly set `false` | Pass `{ confirm: true }` to the action helper; action hints alone never gate. `noodle check --target embedded-assistant` lists every confirm-gated tool |',
500
532
  '| `${user.claims.<key>}` is empty | Claim not declared in `sessionClaims` (or key typo) — undeclared claims are dropped at exchange | Declare the key in `embeddedAssistant({ sessionClaims })` and redeploy |',
@@ -1 +1 @@
1
- {"version":3,"file":"skill-embedded-assistant-ref.js","sourceRoot":"","sources":["../src/skill-embedded-assistant-ref.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-embedded-assistant-ref.js","sourceRoot":"","sources":["../src/skill-embedded-assistant-ref.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noodle-borg/agent-kit",
3
- "version": "0.48.1",
3
+ "version": "0.48.2",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -0,0 +1,10 @@
1
+ import type { PlatformIdentityQueryable } from './platform-identity-postgres.js';
2
+ export type PlatformAccountResetLegacyMaterializationBoundary = 'legacy_principals_materialized' | 'legacy_links_materialized' | 'legacy_workspace_bindings_materialized' | 'legacy_targets_migrated';
3
+ export declare function materializePlatformAccountResetLegacyTargets(connection: PlatformIdentityQueryable, input: {
4
+ readonly operationId: string;
5
+ readonly targets: readonly string[];
6
+ readonly googleRealm: string;
7
+ readonly normalizedContacts: ReadonlyMap<string, string>;
8
+ readonly fault?: (boundary: PlatformAccountResetLegacyMaterializationBoundary) => void | Promise<void>;
9
+ }): Promise<void>;
10
+ //# sourceMappingURL=platform-account-reset-legacy-materialization-postgres.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-account-reset-legacy-materialization-postgres.d.ts","sourceRoot":"","sources":["../src/platform-account-reset-legacy-materialization-postgres.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,MAAM,MAAM,iDAAiD,GACzD,gCAAgC,GAChC,2BAA2B,GAC3B,wCAAwC,GACxC,yBAAyB,CAAC;AAE9B,wBAAsB,4CAA4C,CAChE,UAAU,EAAE,yBAAyB,EACrC,KAAK,EAAE;IACL,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE,CACf,QAAQ,EAAE,iDAAiD,KACxD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,GACA,OAAO,CAAC,IAAI,CAAC,CA6Hf"}
@@ -0,0 +1,121 @@
1
+ import { sha256Canonical } from './platform-account-reset-fingerprint.js';
2
+ import { createPlatformAccountResetLegacyWorkspacePlan, } from './platform-account-reset-legacy-workspace-postgres.js';
3
+ import { PlatformAccountResetPreviewError } from './platform-account-reset-preview-result.js';
4
+ export async function materializePlatformAccountResetLegacyTargets(connection, input) {
5
+ const targetFingerprints = input.targets.map((target) => sha256Canonical(target));
6
+ const contactValues = input.targets.map((target) => input.normalizedContacts.get(target) ?? '');
7
+ const evidence = await connection.query(`SELECT
8
+ (SELECT count(*)::int FROM platform_principals
9
+ WHERE principal_id = ANY($1::text[])
10
+ OR (billing_identity_issuer = 'https://accounts.google.com'
11
+ AND billing_subject = ANY($1::text[]))) AS principal_count,
12
+ (SELECT count(*)::int FROM platform_identity_links
13
+ WHERE principal_id = ANY($1::text[])
14
+ OR (provider = 'google' AND realm = $2
15
+ AND external_id = ANY($1::text[]))) AS link_count,
16
+ (SELECT count(*)::int FROM platform_verified_emails
17
+ WHERE principal_id = ANY($1::text[])
18
+ OR normalized_email = ANY($4::text[])) AS verified_count,
19
+ (SELECT count(*)::int FROM identity_backfill_ledger
20
+ WHERE source_subject = ANY($1::text[])
21
+ OR principal_id = ANY($1::text[])) AS backfill_count,
22
+ (SELECT count(*)::int FROM platform_identity_sync_outbox
23
+ WHERE principal_id = ANY($1::text[])
24
+ OR lease_normalized_email = ANY($4::text[])) AS outbox_count,
25
+ (SELECT count(*)::int FROM personal_workspace_bindings
26
+ WHERE principal_subject = ANY($1::text[])) AS binding_count,
27
+ (SELECT count(*)::int FROM workos_import_ledger
28
+ WHERE principal_id = ANY($1::text[])) AS import_count,
29
+ (SELECT count(*)::int FROM workos_import_attempt_evidence
30
+ WHERE principal_id = ANY($1::text[])
31
+ OR principal_fingerprint = ANY($3::text[])) AS attempt_count`, [input.targets, input.googleRealm, targetFingerprints, contactValues]);
32
+ const counts = evidence.rows[0];
33
+ if (counts === undefined ||
34
+ counts.principal_count !== 0 ||
35
+ counts.link_count !== 0 ||
36
+ counts.verified_count !== 0 ||
37
+ counts.backfill_count !== 0 ||
38
+ counts.outbox_count !== 0 ||
39
+ counts.binding_count !== 0 ||
40
+ counts.import_count !== 0 ||
41
+ counts.attempt_count !== 0)
42
+ throw new PlatformAccountResetPreviewError('operation_conflict');
43
+ const workspacePlans = await loadLegacyWorkspacePlans(connection, input.operationId, input.targets);
44
+ const principals = await connection.query(`INSERT INTO platform_principals
45
+ (principal_id, status, billing_identity_issuer, billing_subject)
46
+ SELECT target, 'active', 'https://accounts.google.com', target
47
+ FROM unnest($1::text[]) AS target
48
+ RETURNING principal_id`, [input.targets]);
49
+ if (principals.rows.length !== 3)
50
+ throw new PlatformAccountResetPreviewError('operation_conflict');
51
+ await input.fault?.('legacy_principals_materialized');
52
+ const links = await connection.query(`INSERT INTO platform_identity_links
53
+ (provider, realm, external_id, principal_id)
54
+ SELECT 'google', $2, target, target
55
+ FROM unnest($1::text[]) AS target
56
+ RETURNING external_id`, [input.targets, input.googleRealm]);
57
+ if (links.rows.length !== 3)
58
+ throw new PlatformAccountResetPreviewError('operation_conflict');
59
+ await input.fault?.('legacy_links_materialized');
60
+ const bindings = await connection.query(`INSERT INTO personal_workspace_bindings
61
+ (principal_subject, org_slug, billing_identity_issuer, billing_subject,
62
+ billing_account_id)
63
+ SELECT legacy_google_subject, personal_org_slug, billing_identity_issuer,
64
+ billing_subject, billing_account_id
65
+ FROM platform_account_reset_legacy_targets
66
+ WHERE operation_id = $1 AND lifecycle = 'previewed'
67
+ ORDER BY legacy_google_subject
68
+ RETURNING principal_subject`, [input.operationId]);
69
+ if (bindings.rows.length !== 3 ||
70
+ bindings.rows.some((row) => typeof row.principal_subject !== 'string' || !workspacePlans.has(row.principal_subject)))
71
+ throw new PlatformAccountResetPreviewError('operation_conflict');
72
+ await input.fault?.('legacy_workspace_bindings_materialized');
73
+ const staged = await connection.query(`UPDATE platform_account_reset_legacy_targets
74
+ SET lifecycle = 'materialized', updated_at = clock_timestamp()
75
+ WHERE operation_id = $1 AND lifecycle = 'previewed'
76
+ RETURNING legacy_google_subject`, [input.operationId]);
77
+ if (staged.rows.length !== 3)
78
+ throw new PlatformAccountResetPreviewError('operation_conflict');
79
+ const migrated = await connection.query(`INSERT INTO platform_account_reset_targets
80
+ (operation_id, principal_id, target_fingerprint,
81
+ source_snapshot_fingerprint, lifecycle)
82
+ SELECT operation_id, legacy_google_subject, target_fingerprint,
83
+ source_snapshot_fingerprint, 'previewed'
84
+ FROM platform_account_reset_legacy_targets
85
+ WHERE operation_id = $1 AND lifecycle = 'materialized'
86
+ RETURNING principal_id`, [input.operationId]);
87
+ if (migrated.rows.length !== 3)
88
+ throw new PlatformAccountResetPreviewError('operation_conflict');
89
+ await input.fault?.('legacy_targets_migrated');
90
+ }
91
+ async function loadLegacyWorkspacePlans(connection, operationId, targets) {
92
+ const result = await connection.query(`SELECT legacy_google_subject, personal_org_slug, billing_identity_issuer,
93
+ billing_subject, billing_account_id, workspace_plan_fingerprint
94
+ FROM platform_account_reset_legacy_targets
95
+ WHERE operation_id = $1 AND lifecycle = 'previewed'
96
+ ORDER BY legacy_google_subject
97
+ FOR UPDATE`, [operationId]);
98
+ if (result.rows.length !== 3)
99
+ throw new PlatformAccountResetPreviewError('operation_conflict');
100
+ const plans = new Map();
101
+ for (const row of result.rows) {
102
+ if (row.billing_identity_issuer !== 'https://accounts.google.com' ||
103
+ row.billing_subject !== row.legacy_google_subject ||
104
+ !targets.includes(row.legacy_google_subject))
105
+ throw new PlatformAccountResetPreviewError('operation_conflict');
106
+ const plan = createPlatformAccountResetLegacyWorkspacePlan({
107
+ principalSubject: row.legacy_google_subject,
108
+ orgSlug: row.personal_org_slug,
109
+ billingIdentityIssuer: row.billing_identity_issuer,
110
+ billingSubject: row.billing_subject,
111
+ billingAccountId: row.billing_account_id,
112
+ });
113
+ if (plan.planFingerprint !== row.workspace_plan_fingerprint)
114
+ throw new PlatformAccountResetPreviewError('operation_conflict');
115
+ plans.set(row.legacy_google_subject, plan);
116
+ }
117
+ if (plans.size !== 3)
118
+ throw new PlatformAccountResetPreviewError('operation_conflict');
119
+ return plans;
120
+ }
121
+ //# sourceMappingURL=platform-account-reset-legacy-materialization-postgres.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-account-reset-legacy-materialization-postgres.js","sourceRoot":"","sources":["../src/platform-account-reset-legacy-materialization-postgres.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { PlatformIdentityQueryable } from './platform-identity-postgres.js';
2
+ declare const GOOGLE_BILLING_ISSUER = "https://accounts.google.com";
3
+ export interface PlatformAccountResetLegacyWorkspacePlan {
4
+ readonly principalSubject: string;
5
+ readonly orgSlug: string;
6
+ readonly billingIdentityIssuer: typeof GOOGLE_BILLING_ISSUER;
7
+ readonly billingSubject: string;
8
+ readonly billingAccountId: string;
9
+ readonly planFingerprint: string;
10
+ }
11
+ export interface PlatformAccountResetLegacyWorkspaceEvidence {
12
+ readonly plans: ReadonlyMap<string, PlatformAccountResetLegacyWorkspacePlan>;
13
+ readonly evidenceByTarget: ReadonlyMap<string, Readonly<Record<string, unknown>>>;
14
+ readonly mismatchCount: number;
15
+ }
16
+ /**
17
+ * Derives the one personal-workspace tuple already implied by immutable owner/default/home/member rows.
18
+ * It never mutates those rows and deliberately excludes an existing personal binding from its authority.
19
+ */
20
+ export declare function loadPlatformAccountResetLegacyWorkspaceEvidence(connection: PlatformIdentityQueryable, targets: readonly string[], normalizedContacts: ReadonlyMap<string, string>): Promise<PlatformAccountResetLegacyWorkspaceEvidence>;
21
+ export declare function createPlatformAccountResetLegacyWorkspacePlan(input: Omit<PlatformAccountResetLegacyWorkspacePlan, 'planFingerprint'>): PlatformAccountResetLegacyWorkspacePlan;
22
+ export {};
23
+ //# sourceMappingURL=platform-account-reset-legacy-workspace-postgres.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-account-reset-legacy-workspace-postgres.d.ts","sourceRoot":"","sources":["../src/platform-account-reset-legacy-workspace-postgres.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,QAAA,MAAM,qBAAqB,gCAAgC,CAAC;AAY5D,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IAC7D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,2CAA2C;IAC1D,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,uCAAuC,CAAC,CAAC;IAC7E,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAClF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAsB,+CAA+C,CACnE,UAAU,EAAE,yBAAyB,EACrC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,OAAO,CAAC,2CAA2C,CAAC,CA+DtD;AAED,wBAAgB,6CAA6C,CAC3D,KAAK,EAAE,IAAI,CAAC,uCAAuC,EAAE,iBAAiB,CAAC,GACtE,uCAAuC,CAazC"}
@@ -0,0 +1,94 @@
1
+ import { sha256Canonical } from './platform-account-reset-fingerprint.js';
2
+ import { normalizePlatformIdentityEmail } from './platform-identity.js';
3
+ const GOOGLE_BILLING_ISSUER = 'https://accounts.google.com';
4
+ /**
5
+ * Derives the one personal-workspace tuple already implied by immutable owner/default/home/member rows.
6
+ * It never mutates those rows and deliberately excludes an existing personal binding from its authority.
7
+ */
8
+ export async function loadPlatformAccountResetLegacyWorkspaceEvidence(connection, targets, normalizedContacts) {
9
+ const result = await connection.query(`SELECT member.subject AS principal_subject, member.org_slug,
10
+ member.email AS org_owner_email,
11
+ defaults.identity_issuer AS billing_identity_issuer,
12
+ defaults.subject AS billing_subject,
13
+ defaults.billing_account_id,
14
+ billing_member.email AS billing_owner_email
15
+ FROM org_members member
16
+ JOIN org_billing_home_accounts home
17
+ ON home.org_slug = member.org_slug
18
+ AND home.home_owner_identity_issuer = $2
19
+ AND home.home_owner_subject = member.subject
20
+ JOIN billing_account_defaults defaults
21
+ ON defaults.identity_issuer = home.home_owner_identity_issuer
22
+ AND defaults.subject = home.home_owner_subject
23
+ AND defaults.billing_account_id = home.billing_account_id
24
+ JOIN billing_account_members billing_member
25
+ ON billing_member.billing_account_id = defaults.billing_account_id
26
+ AND billing_member.identity_issuer = defaults.identity_issuer
27
+ AND billing_member.subject = defaults.subject
28
+ AND billing_member.role = 'owner'
29
+ WHERE member.subject = ANY($1::text[])
30
+ AND member.role = 'owner'
31
+ ORDER BY member.subject, member.org_slug, defaults.billing_account_id`, [targets, GOOGLE_BILLING_ISSUER]);
32
+ const rowsByTarget = groupBy(result.rows, (row) => row.principal_subject);
33
+ const plans = new Map();
34
+ const evidenceByTarget = new Map();
35
+ let mismatchCount = 0;
36
+ for (const target of targets) {
37
+ const contact = normalizedContacts.get(target);
38
+ const candidates = (rowsByTarget.get(target) ?? []).filter((row) => row.billing_identity_issuer === GOOGLE_BILLING_ISSUER &&
39
+ row.billing_subject === target &&
40
+ contact !== undefined &&
41
+ safelyNormalizeEmail(row.org_owner_email) === contact &&
42
+ safelyNormalizeEmail(row.billing_owner_email) === contact);
43
+ const normalizedCandidates = candidates.map((row) => createPlatformAccountResetLegacyWorkspacePlan({
44
+ principalSubject: target,
45
+ orgSlug: row.org_slug,
46
+ billingIdentityIssuer: GOOGLE_BILLING_ISSUER,
47
+ billingSubject: target,
48
+ billingAccountId: row.billing_account_id,
49
+ }));
50
+ evidenceByTarget.set(target, {
51
+ schemaVersion: 1,
52
+ label: 'platform_account_reset_legacy_workspace_candidates',
53
+ candidateCount: normalizedCandidates.length,
54
+ candidateFingerprints: normalizedCandidates.map((candidate) => candidate.planFingerprint),
55
+ });
56
+ if (normalizedCandidates.length !== 1) {
57
+ mismatchCount += 1;
58
+ continue;
59
+ }
60
+ plans.set(target, normalizedCandidates[0]);
61
+ }
62
+ return { plans, evidenceByTarget, mismatchCount };
63
+ }
64
+ export function createPlatformAccountResetLegacyWorkspacePlan(input) {
65
+ return {
66
+ ...input,
67
+ planFingerprint: sha256Canonical({
68
+ schemaVersion: 1,
69
+ label: 'platform_account_reset_legacy_workspace_plan',
70
+ principalSubject: input.principalSubject,
71
+ orgSlug: input.orgSlug,
72
+ billingIdentityIssuer: input.billingIdentityIssuer,
73
+ billingSubject: input.billingSubject,
74
+ billingAccountId: input.billingAccountId,
75
+ }),
76
+ };
77
+ }
78
+ function safelyNormalizeEmail(value) {
79
+ try {
80
+ return normalizePlatformIdentityEmail(value);
81
+ }
82
+ catch {
83
+ return undefined;
84
+ }
85
+ }
86
+ function groupBy(values, key) {
87
+ const grouped = new Map();
88
+ for (const value of values) {
89
+ const itemKey = key(value);
90
+ grouped.set(itemKey, [...(grouped.get(itemKey) ?? []), value]);
91
+ }
92
+ return grouped;
93
+ }
94
+ //# sourceMappingURL=platform-account-reset-legacy-workspace-postgres.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-account-reset-legacy-workspace-postgres.js","sourceRoot":"","sources":["../src/platform-account-reset-legacy-workspace-postgres.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,10 @@ export declare function platformAccountResetActionEvidence(request: PlatformAcco
66
66
  export declare function lockPlatformAccountResetOperation(connection: PlatformIdentityQueryable, operationId: string): Promise<PlatformAccountResetOperationRow>;
67
67
  export declare function assertPlatformAccountResetApprovedTargetSet(operation: PlatformAccountResetOperationRow, approvedTargetSetFingerprint: string): void;
68
68
  export declare function loadPlatformAccountResetTargets(connection: PlatformIdentityQueryable, operationId: string, lifecycle: 'previewed' | 'quarantined'): Promise<readonly string[]>;
69
+ export declare function loadPlatformAccountResetPreviewTargetSet(connection: PlatformIdentityQueryable, operationId: string): Promise<{
70
+ readonly shape: 'canonical' | 'legacy_absent';
71
+ readonly targets: readonly string[];
72
+ }>;
69
73
  export declare function loadPlatformAccountResetFrozenResources(connection: PlatformIdentityQueryable, operationId: string): Promise<PlatformAccountResetFrozenResources>;
70
74
  export declare function parsePlatformAccountResetSafeResult(value: unknown): PlatformAccountResetResult;
71
75
  export declare function assertPlatformAccountResetRequestMatches(operation: PlatformAccountResetOperationRow, request: PlatformAccountResetExecuteRequest, options: {
@@ -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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"}
@@ -66,6 +66,23 @@ export async function loadPlatformAccountResetTargets(connection, operationId, l
66
66
  throw new PlatformAccountResetPreviewError('target_count_invalid');
67
67
  return result.rows.map((row) => row.principal_id);
68
68
  }
69
+ export async function loadPlatformAccountResetPreviewTargetSet(connection, operationId) {
70
+ const canonical = await connection.query(`SELECT principal_id
71
+ FROM platform_account_reset_targets
72
+ WHERE operation_id = $1 AND lifecycle = 'previewed'
73
+ ORDER BY principal_id
74
+ FOR UPDATE`, [operationId]);
75
+ const legacy = await connection.query(`SELECT legacy_google_subject AS principal_id
76
+ FROM platform_account_reset_legacy_targets
77
+ WHERE operation_id = $1 AND lifecycle = 'previewed'
78
+ ORDER BY legacy_google_subject
79
+ FOR UPDATE`, [operationId]);
80
+ if (canonical.rows.length === 3 && legacy.rows.length === 0)
81
+ return { shape: 'canonical', targets: canonical.rows.map((row) => row.principal_id) };
82
+ if (canonical.rows.length === 0 && legacy.rows.length === 3)
83
+ return { shape: 'legacy_absent', targets: legacy.rows.map((row) => row.principal_id) };
84
+ throw new PlatformAccountResetPreviewError('target_count_invalid');
85
+ }
69
86
  export async function loadPlatformAccountResetFrozenResources(connection, operationId) {
70
87
  const result = await connection.query(`SELECT provider, resource_kind, provider_locator, locator_fingerprint
71
88
  FROM platform_account_reset_cleanup_ledger
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"platform-account-reset-operator.d.ts","sourceRoot":"","sources":["../src/platform-account-reset-operator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kCAAkC,EAEvC,KAAK,0CAA0C,EAE/C,KAAK,kCAAkC,EACvC,KAAK,0BAA0B,EAE/B,KAAK,0CAA0C,EAC/C,KAAK,iCAAiC,EAEvC,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,mCAAmC,EACnC,gCAAgC,EACjC,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAE1F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,OAAO,EAAE;QAChB,OAAO,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;KACzF,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE;QACxB,OAAO,CAAC,KAAK,EAAE,0CAA0C,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;KACjG,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE;QACnB,KAAK,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;KAChG,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE;QACjB,KAAK,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;KAChG,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAC;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChG;AAUD,qBAAa,4BAA6B,YAAW,gCAAgC;;gBAGvE,OAAO,EAAE,mCAAmC;IAIxD,OAAO,CACL,QAAQ,EAAE,0CAA0C,GACnD,OAAO,CAAC,0BAA0B,CAAC;IAMhC,OAAO,CAAC,QAAQ,EAAE,kCAAkC,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAU1F,MAAM,CACV,QAAQ,EAAE,iCAAiC,GAC1C,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;CA8BnD"}
1
+ {"version":3,"file":"platform-account-reset-operator.d.ts","sourceRoot":"","sources":["../src/platform-account-reset-operator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kCAAkC,EAEvC,KAAK,0CAA0C,EAE/C,KAAK,kCAAkC,EACvC,KAAK,0BAA0B,EAE/B,KAAK,0CAA0C,EAC/C,KAAK,iCAAiC,EAEvC,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,mCAAmC,EACnC,gCAAgC,EACjC,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAE1F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,OAAO,EAAE;QAChB,OAAO,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;KACzF,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE;QACxB,OAAO,CAAC,KAAK,EAAE,0CAA0C,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;KACjG,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE;QACnB,KAAK,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;KAChG,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE;QACjB,KAAK,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;KAChG,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAC;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChG;AAYD,qBAAa,4BAA6B,YAAW,gCAAgC;;gBAGvE,OAAO,EAAE,mCAAmC;IAIxD,OAAO,CACL,QAAQ,EAAE,0CAA0C,GACnD,OAAO,CAAC,0BAA0B,CAAC;IAMhC,OAAO,CAAC,QAAQ,EAAE,kCAAkC,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAU1F,MAAM,CACV,QAAQ,EAAE,iCAAiC,GAC1C,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;CAoCnD"}
@@ -27,6 +27,10 @@ export class PlatformAccountResetOperator {
27
27
  const input = PlatformAccountResetStatusRequestSchema.parse(rawInput);
28
28
  const status = await this.#options.statusStore.query(`SELECT operation.lifecycle, operation.safe_result,
29
29
  operation.quarantine_safe_result, operation.rollback_safe_result,
30
+ (SELECT count(*)::int FROM platform_account_reset_targets target
31
+ WHERE target.operation_id = operation.operation_id) AS canonical_target_count,
32
+ (SELECT count(*)::int FROM platform_account_reset_legacy_targets legacy
33
+ WHERE legacy.operation_id = operation.operation_id) AS legacy_target_count,
30
34
  count(*) FILTER (
31
35
  WHERE cleanup.state IN ('pending', 'leased', 'failed')
32
36
  )::int AS cleanup_pending_count
@@ -38,6 +42,8 @@ export class PlatformAccountResetOperator {
38
42
  const row = status.rows[0];
39
43
  if (row === undefined)
40
44
  return undefined;
45
+ if (!validStoredTargetShape(row))
46
+ throw new PlatformAccountResetPreviewError('operation_conflict');
41
47
  const value = row.rollback_safe_result ?? row.quarantine_safe_result ?? row.safe_result;
42
48
  const result = PlatformAccountResetResultSchema.safeParse(value);
43
49
  if (!result.success)
@@ -53,6 +59,13 @@ export class PlatformAccountResetOperator {
53
59
  };
54
60
  }
55
61
  }
62
+ function validStoredTargetShape(row) {
63
+ if (row.lifecycle === 'previewed')
64
+ return ((row.canonical_target_count === 3 && row.legacy_target_count === 0) ||
65
+ (row.canonical_target_count === 0 && row.legacy_target_count === 3));
66
+ return (row.canonical_target_count === 3 &&
67
+ (row.legacy_target_count === 0 || row.legacy_target_count === 3));
68
+ }
56
69
  function isSuspendedLifecycle(lifecycle) {
57
70
  return ['quarantined', 'finalizing', 'finalization_blocked'].includes(lifecycle);
58
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform-account-reset-operator.js","sourceRoot":"","sources":["../src/platform-account-reset-operator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wCAAwC,EAExC,gDAAgD,EAGhD,gCAAgC,EAGhC,uCAAuC,GACxC,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AA4B9F,MAAM,OAAO,4BAA4B;IAC9B,QAAQ,CAAsC;IAEvD,YAAY,OAA4C;QACtD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,OAAO,CACL,QAAoD;QAEpD,MAAM,KAAK,GAAG,gDAAgD,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,WAAW,IAAI,KAAK;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAA4C;QACxD,MAAM,KAAK,GAAG,wCAAwC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvE,IAAI,OAA4C,CAAC;QACjD,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY;YAAE,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACpF,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;;YACrF,MAAM,IAAI,gCAAgC,CAAC,oBAAoB,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,QAA2C;QAE3C,MAAM,KAAK,GAAG,uCAAuC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAClD;;;;;;;;;wCASkC,EAClC,CAAC,KAAK,CAAC,WAAW,CAAC,CACpB,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACxC,MAAM,KAAK,GAAG,GAAG,CAAC,oBAAoB,IAAI,GAAG,CAAC,sBAAsB,IAAI,GAAG,CAAC,WAAW,CAAC;QACxF,MAAM,MAAM,GAAG,gCAAgC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,gCAAgC,CAAC,oBAAoB,CAAC,CAAC;QACtF,OAAO;YACL,GAAG,MAAM,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE;gBACN,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM;gBACrB,uBAAuB,EAAE,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,mBAAmB,EAAE,GAAG,CAAC,qBAAqB;aAC/C;SACF,CAAC;IACJ,CAAC;CACF;AAED,SAAS,oBAAoB,CAAC,SAAkD;IAC9E,OAAO,CAAC,aAAa,EAAE,YAAY,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACnF,CAAC"}
1
+ {"version":3,"file":"platform-account-reset-operator.js","sourceRoot":"","sources":["../src/platform-account-reset-operator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { PlatformAccountResetBlockerCode } from './platform-account-reset.js';
2
+ import type { PlatformAccountResetLegacyWorkspacePlan } from './platform-account-reset-legacy-workspace-postgres.js';
2
3
  import type { PlatformIdentityQueryable } from './platform-identity-postgres.js';
3
4
  export type ResetDisposition = 'personal_org' | 'sole_owned_org' | 'target_owner_only_app' | 'preserved_shared_org' | 'preserved_org_members_app' | 'blocker';
4
5
  export interface PlatformAccountResetCleanupResource {
@@ -33,6 +34,8 @@ export interface PlatformAccountResetOwnershipSnapshot {
33
34
  */
34
35
  export declare function loadPlatformAccountResetOwnershipSnapshot(pool: PlatformIdentityQueryable, input: {
35
36
  readonly targetPrincipalIds: readonly string[];
37
+ readonly allowMissingTargetPrincipals?: boolean;
38
+ readonly plannedPersonalWorkspaces?: readonly PlatformAccountResetLegacyWorkspacePlan[];
36
39
  readonly quarantine?: {
37
40
  readonly operationId: string;
38
41
  readonly cleanupResources: readonly PlatformAccountResetCleanupResource[];
@@ -1 +1 @@
1
- {"version":3,"file":"platform-account-reset-ownership-postgres.d.ts","sourceRoot":"","sources":["../src/platform-account-reset-ownership-postgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAkBnF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,gBAAgB,GAChB,uBAAuB,GACvB,sBAAsB,GACtB,2BAA2B,GAC3B,SAAS,CAAC;AAEd,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAClF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;QAC3C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;QAC5C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC;QAClD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;QACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;KACtC,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CACpB,+BAA+B,EAC/B,qBAAqB,GAAG,2BAA2B,CACpD,CAAC;QACF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;IACJ,QAAQ,CAAC,gBAAgB,EAAE,SAAS,mCAAmC,EAAE,CAAC;IAC1E,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAyDD;;;GAGG;AACH,wBAAsB,yCAAyC,CAC7D,IAAI,EAAE,yBAAyB,EAC/B,KAAK,EAAE;IACL,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE;QACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,mCAAmC,EAAE,CAAC;KAC3E,CAAC;CACH,GACA,OAAO,CAAC,qCAAqC,CAAC,CAmYhD"}
1
+ {"version":3,"file":"platform-account-reset-ownership-postgres.d.ts","sourceRoot":"","sources":["../src/platform-account-reset-ownership-postgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAEnF,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,uDAAuD,CAAC;AAiBrH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,gBAAgB,GAChB,uBAAuB,GACvB,sBAAsB,GACtB,2BAA2B,GAC3B,SAAS,CAAC;AAEd,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAClF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;QAC3C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;QAC5C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC;QAClD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;QACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;KACtC,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CACpB,+BAA+B,EAC/B,qBAAqB,GAAG,2BAA2B,CACpD,CAAC;QACF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;IACJ,QAAQ,CAAC,gBAAgB,EAAE,SAAS,mCAAmC,EAAE,CAAC;IAC1E,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAyDD;;;GAGG;AACH,wBAAsB,yCAAyC,CAC7D,IAAI,EAAE,yBAAyB,EAC/B,KAAK,EAAE;IACL,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAChD,QAAQ,CAAC,yBAAyB,CAAC,EAAE,SAAS,uCAAuC,EAAE,CAAC;IACxF,QAAQ,CAAC,UAAU,CAAC,EAAE;QACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,mCAAmC,EAAE,CAAC;KAC3E,CAAC;CACH,GACA,OAAO,CAAC,qCAAqC,CAAC,CAiZhD"}
@@ -12,9 +12,17 @@ export async function loadPlatformAccountResetOwnershipSnapshot(pool, input) {
12
12
  const blockers = new Map();
13
13
  const relationships = [];
14
14
  const resources = [];
15
- const personal = await rows(pool, `SELECT principal_subject, org_slug, billing_account_id
15
+ const storedPersonal = await rows(pool, `SELECT principal_subject, org_slug, billing_account_id
16
16
  FROM personal_workspace_bindings
17
17
  WHERE principal_subject = ANY($1::text[])`, [targets]);
18
+ const personal = [
19
+ ...storedPersonal,
20
+ ...(input.plannedPersonalWorkspaces ?? []).map((plan) => ({
21
+ principal_subject: plan.principalSubject,
22
+ org_slug: plan.orgSlug,
23
+ billing_account_id: plan.billingAccountId,
24
+ })),
25
+ ];
18
26
  const personalOrgOwners = new Map(personal.map((row) => [row.org_slug, row.principal_subject]));
19
27
  const targetOwnerOnlyDeployments = await rows(pool, `SELECT org_slug, app_slug
20
28
  FROM deploy_records
@@ -48,7 +56,8 @@ export async function loadPlatformAccountResetOwnershipSnapshot(pool, input) {
48
56
  let validPersonalOrganizations = 0;
49
57
  for (const org of involvedOrgs) {
50
58
  const orgOwners = ownersByOrg.get(org) ?? [];
51
- if (orgOwners.some((owner) => owner.status === null)) {
59
+ if (orgOwners.some((owner) => owner.status === null &&
60
+ !(input.allowMissingTargetPrincipals === true && targetSet.has(owner.subject)))) {
52
61
  increment(blockers, 'ownership_ambiguous');
53
62
  relationships.push({ disposition: 'blocker', kind: 'owner_status', org });
54
63
  continue;