@noodleseed/one 0.82.0 → 0.84.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/catalog-data-platform-auth.d.ts.map +1 -1
- package/dist/commands/catalog-data-platform-auth.js +70 -2
- package/dist/commands/catalog-data-platform-auth.js.map +1 -1
- package/dist/commands/platform-account-reset-args.d.ts +40 -0
- package/dist/commands/platform-account-reset-args.d.ts.map +1 -0
- package/dist/commands/platform-account-reset-args.js +181 -0
- package/dist/commands/platform-account-reset-args.js.map +1 -0
- package/dist/commands/platform-account-reset-files.d.ts +9 -0
- package/dist/commands/platform-account-reset-files.d.ts.map +1 -0
- package/dist/commands/platform-account-reset-files.js +45 -0
- package/dist/commands/platform-account-reset-files.js.map +1 -0
- package/dist/commands/platform-account-reset-ops.d.ts +3 -0
- package/dist/commands/platform-account-reset-ops.d.ts.map +1 -0
- package/dist/commands/platform-account-reset-ops.js +162 -0
- package/dist/commands/platform-account-reset-ops.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js +39 -3
- package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
- package/node_modules/@noodle-borg/service/dist/assistant-interactive.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-interactive.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/assistant-interactive.js +1 -0
- package/node_modules/@noodle-borg/service/dist/assistant-interactive.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/enforcement-activation.d.ts +4 -4
- package/node_modules/@noodle-borg/service/dist/billing/read-contract.d.ts +6 -6
- package/node_modules/@noodle-borg/service/dist/index.d.ts +4 -1
- package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/index.js +2 -0
- package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/main.js +5 -0
- package/node_modules/@noodle-borg/service/dist/main.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.js +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/provider.js +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/provider.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres-schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres-schema.js +17 -0
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres-schema.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.d.ts +2 -2
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js +25 -5
- package/node_modules/@noodle-borg/service/dist/oauth/store-postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts +5 -3
- package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store.js +5 -5
- package/node_modules/@noodle-borg/service/dist/oauth/store.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-handler.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-handler.js +7 -2
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-handler.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-support.d.ts +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-support.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-callback-support.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-consent.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-consent.js +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-consent.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-federation.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-federation.js +6 -1
- package/node_modules/@noodle-borg/service/dist/oauth/upstream-federation.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/options.d.ts +13 -0
- package/node_modules/@noodle-borg/service/dist/options.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-config.d.ts +9 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-config.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-config.js +24 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-config.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-dispatch-lock-postgres.d.ts +12 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-dispatch-lock-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-dispatch-lock-postgres.js +110 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-dispatch-lock-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-fingerprint.d.ts +9 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-fingerprint.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-fingerprint.js +46 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-fingerprint.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-operation-postgres.d.ts +77 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-operation-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-operation-postgres.js +144 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-operation-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-operator.d.ts +29 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-operator.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-operator.js +59 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-operator.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-helpers.d.ts +11 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-helpers.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-helpers.js +22 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-helpers.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-postgres.d.ts +41 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-postgres.js +314 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-resources-postgres.d.ts +14 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-resources-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-resources-postgres.js +210 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-resources-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-rollback-postgres.d.ts +11 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-rollback-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-rollback-postgres.js +71 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-rollback-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ports.d.ts +12 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ports.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ports.js +2 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-ports.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-evidence-postgres.d.ts +22 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-evidence-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-evidence-postgres.js +177 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-evidence-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-local-postgres.d.ts +35 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-local-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-local-postgres.js +184 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-local-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-persistence-postgres.d.ts +11 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-persistence-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-persistence-postgres.js +120 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-persistence-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-postgres.d.ts +79 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-postgres.js +286 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-result.d.ts +21 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-result.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-result.js +81 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-result.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-quarantine-postgres.d.ts +46 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-quarantine-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-quarantine-postgres.js +283 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-quarantine-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-eligibility-postgres.d.ts +13 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-eligibility-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-eligibility-postgres.js +81 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-eligibility-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-local-postgres.d.ts +30 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-local-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-local-postgres.js +248 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-local-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-postgres.d.ts +29 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-postgres.js +281 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-preview-postgres.d.ts +55 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-preview-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-preview-postgres.js +262 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-rollback-preview-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-schema-postgres.d.ts +7 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-schema-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-schema-postgres.js +439 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset-schema-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset.d.ts +276 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset.js +141 -0
- package/node_modules/@noodle-borg/service/dist/platform-account-reset.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-auth-configuration.d.ts +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-legacy-sources-postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-legacy-sources-postgres.js +5 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-legacy-sources-postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-local-subjects-postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-local-subjects-postgres.js +10 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-local-subjects-postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-postgres.d.ts +5 -10
- package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-postgres.js +86 -47
- package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-transaction-postgres.d.ts +17 -0
- package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-transaction-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-transaction-postgres.js +240 -0
- package/node_modules/@noodle-borg/service/dist/platform-auth-inventory-source-fence-transaction-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/platform-auth-operator.d.ts +63 -63
- package/node_modules/@noodle-borg/service/dist/platform-auth-rollout-support.d.ts +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-runtime.d.ts +18 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-runtime.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-runtime.js +97 -2
- package/node_modules/@noodle-borg/service/dist/platform-auth-runtime.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-service-bootstrap.d.ts +4 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-service-bootstrap.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-service-bootstrap.js +4 -0
- package/node_modules/@noodle-borg/service/dist/platform-auth-service-bootstrap.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-identity-postgres.d.ts +7 -2
- package/node_modules/@noodle-borg/service/dist/platform-identity-postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-identity-postgres.js +24 -2
- package/node_modules/@noodle-borg/service/dist/platform-identity-postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-identity-schema-postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-identity-schema-postgres.js +4 -0
- package/node_modules/@noodle-borg/service/dist/platform-identity-schema-postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-identity-sync-postgres.d.ts +7 -1
- package/node_modules/@noodle-borg/service/dist/platform-identity-sync-postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-identity-sync-postgres.js +121 -8
- package/node_modules/@noodle-borg/service/dist/platform-identity-sync-postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-identity-sync-recovery-postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-identity-sync-recovery-postgres.js +11 -1
- package/node_modules/@noodle-borg/service/dist/platform-identity-sync-recovery-postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-identity-sync.d.ts +5 -3
- package/node_modules/@noodle-borg/service/dist/platform-identity-sync.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-identity-sync.js +15 -1
- package/node_modules/@noodle-borg/service/dist/platform-identity-sync.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-identity.d.ts +23 -2
- package/node_modules/@noodle-borg/service/dist/platform-identity.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-identity.js +21 -0
- package/node_modules/@noodle-borg/service/dist/platform-identity.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-state.d.ts +8 -0
- package/node_modules/@noodle-borg/service/dist/registry-state.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-state.js +15 -2
- package/node_modules/@noodle-borg/service/dist/registry-state.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry.d.ts +2 -0
- package/node_modules/@noodle-borg/service/dist/registry.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry.js +4 -1
- package/node_modules/@noodle-borg/service/dist/registry.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.d.ts +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.js +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/platform-account-reset-dispatch.d.ts +8 -0
- package/node_modules/@noodle-borg/service/dist/routes/platform-account-reset-dispatch.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/platform-account-reset-dispatch.js +36 -0
- package/node_modules/@noodle-borg/service/dist/routes/platform-account-reset-dispatch.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/platform-account-reset.d.ts +22 -0
- package/node_modules/@noodle-borg/service/dist/routes/platform-account-reset.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/platform-account-reset.js +201 -0
- package/node_modules/@noodle-borg/service/dist/routes/platform-account-reset.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/private-platform-auth-dispatch.d.ts +18 -0
- package/node_modules/@noodle-borg/service/dist/routes/private-platform-auth-dispatch.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/private-platform-auth-dispatch.js +36 -0
- package/node_modules/@noodle-borg/service/dist/routes/private-platform-auth-dispatch.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/serve-options.d.ts +2 -1
- package/node_modules/@noodle-borg/service/dist/serve-options.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve.js +16 -1
- package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service.js +4 -5
- package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/workos-directory.d.ts +22 -3
- package/node_modules/@noodle-borg/service/dist/workos-directory.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/workos-directory.js +56 -5
- package/node_modules/@noodle-borg/service/dist/workos-directory.js.map +1 -1
- package/node_modules/@noodle-borg/wire-contracts/dist/assistant.d.ts +7 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/assistant.d.ts.map +1 -1
- package/node_modules/@noodle-borg/wire-contracts/dist/assistant.js +5 -0
- package/node_modules/@noodle-borg/wire-contracts/dist/assistant.js.map +1 -1
- package/package.json +1 -1
package/node_modules/@noodle-borg/service/dist/platform-account-reset-ownership-rollback-postgres.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { canonicalJson } from './platform-account-reset-fingerprint.js';
|
|
2
|
+
/**
|
|
3
|
+
* Reintroduces only exact frozen owner-only app locators into rollback discovery. The current row must
|
|
4
|
+
* still carry this operation's quarantine archive stamp; broader archived deployment scans are forbidden.
|
|
5
|
+
*/
|
|
6
|
+
export async function loadPlatformAccountResetFrozenOwnerOnlyApps(pool, operationId, targetPrincipalIds, cleanupResources) {
|
|
7
|
+
const applications = new Set(cleanupResources
|
|
8
|
+
.filter((resource) => resource.provider === 'postgres' && resource.resourceKind === 'application')
|
|
9
|
+
.map((resource) => frozenApplication(resource.locator))
|
|
10
|
+
.filter((application) => application !== undefined)
|
|
11
|
+
.map(applicationKey));
|
|
12
|
+
const deployments = cleanupResources
|
|
13
|
+
.filter((resource) => resource.provider === 'postgres' && resource.resourceKind === 'deployment')
|
|
14
|
+
.map((resource) => frozenDeployment(resource.locator))
|
|
15
|
+
.filter((deployment) => deployment !== undefined && applications.has(applicationKey(deployment)));
|
|
16
|
+
if (deployments.length === 0)
|
|
17
|
+
return [];
|
|
18
|
+
const stored = await pool.query(`SELECT deployment.deployment_id, deployment.org_slug, deployment.app_slug,
|
|
19
|
+
deployment.environment, deployment.active, deployment.access_mode,
|
|
20
|
+
deployment.created_by_subject,
|
|
21
|
+
deployment.archived_at = operation.quarantined_at AS operation_archived
|
|
22
|
+
FROM deploy_records deployment
|
|
23
|
+
JOIN platform_account_reset_operations operation
|
|
24
|
+
ON operation.operation_id = $1
|
|
25
|
+
WHERE deployment.deployment_id = ANY($2::text[])`, [operationId, deployments.map((deployment) => deployment.deploymentId)]);
|
|
26
|
+
const frozenById = new Map(deployments.map((deployment) => [deployment.deploymentId, deployment]));
|
|
27
|
+
return [
|
|
28
|
+
...new Map(stored.rows
|
|
29
|
+
.filter((row) => {
|
|
30
|
+
const frozen = frozenById.get(row.deployment_id);
|
|
31
|
+
return (frozen !== undefined &&
|
|
32
|
+
row.operation_archived &&
|
|
33
|
+
row.org_slug === frozen.org &&
|
|
34
|
+
row.app_slug === frozen.app &&
|
|
35
|
+
row.environment === frozen.environment &&
|
|
36
|
+
row.active === frozen.active &&
|
|
37
|
+
row.access_mode === 'owner-only' &&
|
|
38
|
+
row.created_by_subject !== null &&
|
|
39
|
+
targetPrincipalIds.includes(row.created_by_subject));
|
|
40
|
+
})
|
|
41
|
+
.map((row) => [
|
|
42
|
+
applicationKey({ org: row.org_slug, app: row.app_slug }),
|
|
43
|
+
{ org_slug: row.org_slug, app_slug: row.app_slug },
|
|
44
|
+
])).values(),
|
|
45
|
+
].sort((left, right) => canonicalJson(left).localeCompare(canonicalJson(right)));
|
|
46
|
+
}
|
|
47
|
+
function frozenApplication(locator) {
|
|
48
|
+
return typeof locator.org === 'string' && typeof locator.app === 'string'
|
|
49
|
+
? { org: locator.org, app: locator.app }
|
|
50
|
+
: undefined;
|
|
51
|
+
}
|
|
52
|
+
function frozenDeployment(locator) {
|
|
53
|
+
const application = frozenApplication(locator);
|
|
54
|
+
return application !== undefined &&
|
|
55
|
+
typeof locator.deploymentId === 'string' &&
|
|
56
|
+
typeof locator.environment === 'string' &&
|
|
57
|
+
locator.active === true &&
|
|
58
|
+
locator.archived === false
|
|
59
|
+
? {
|
|
60
|
+
...application,
|
|
61
|
+
deploymentId: locator.deploymentId,
|
|
62
|
+
environment: locator.environment,
|
|
63
|
+
active: true,
|
|
64
|
+
archived: false,
|
|
65
|
+
}
|
|
66
|
+
: undefined;
|
|
67
|
+
}
|
|
68
|
+
function applicationKey(application) {
|
|
69
|
+
return `${application.org}\u0000${application.app}`;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=platform-account-reset-ownership-rollback-postgres.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-account-reset-ownership-rollback-postgres.js","sourceRoot":"","sources":["../src/platform-account-reset-ownership-rollback-postgres.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PlatformAccountResetExecuteRequest, PlatformAccountResetOperatorPreviewRequest, PlatformAccountResetResult, PlatformAccountResetStatusRequest } from './platform-account-reset.js';
|
|
2
|
+
/** Route and CLI boundary for the private, aggregate-only account-reset operator. */
|
|
3
|
+
export interface PlatformAccountResetOperatorPort {
|
|
4
|
+
preview(input: PlatformAccountResetOperatorPreviewRequest): Promise<PlatformAccountResetResult>;
|
|
5
|
+
execute(input: PlatformAccountResetExecuteRequest): Promise<PlatformAccountResetResult>;
|
|
6
|
+
status(input: PlatformAccountResetStatusRequest): Promise<PlatformAccountResetResult | undefined>;
|
|
7
|
+
}
|
|
8
|
+
/** Persistence boundary; implementations must never return reservation emails or provider locators. */
|
|
9
|
+
export interface PlatformAccountResetStorePort {
|
|
10
|
+
readSafeResult(operationId: string): Promise<PlatformAccountResetResult | undefined>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=platform-account-reset-ports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-account-reset-ports.d.ts","sourceRoot":"","sources":["../src/platform-account-reset-ports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kCAAkC,EAClC,0CAA0C,EAC1C,0BAA0B,EAC1B,iCAAiC,EAClC,MAAM,6BAA6B,CAAC;AAErC,qFAAqF;AACrF,MAAM,WAAW,gCAAgC;IAC/C,OAAO,CAAC,KAAK,EAAE,0CAA0C,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAChG,OAAO,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACxF,MAAM,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;CACnG;AAED,uGAAuG;AACvG,MAAM,WAAW,6BAA6B;IAC5C,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;CACtF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-account-reset-ports.js","sourceRoot":"","sources":["../src/platform-account-reset-ports.ts"],"names":[],"mappings":""}
|
package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-evidence-postgres.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { PlatformAccountResetCleanupResource } from './platform-account-reset-ownership-postgres.js';
|
|
2
|
+
import type { PlatformAuthInventorySourceManifest } from './platform-auth-inventory-sources.js';
|
|
3
|
+
import type { PlatformIdentityQueryable } from './platform-identity-postgres.js';
|
|
4
|
+
import type { PlatformAccountResetDirectory, PlatformAccountResetDirectoryReadOptions } from './workos-directory.js';
|
|
5
|
+
export interface PlatformAccountResetContactEvidence {
|
|
6
|
+
readonly normalizedContacts: ReadonlyMap<string, string>;
|
|
7
|
+
readonly evidenceByTarget: ReadonlyMap<string, unknown>;
|
|
8
|
+
readonly missingCount: number;
|
|
9
|
+
readonly ambiguousCount: number;
|
|
10
|
+
}
|
|
11
|
+
export interface PlatformAccountResetWorkosEvidence {
|
|
12
|
+
readonly resources: readonly PlatformAccountResetCleanupResource[];
|
|
13
|
+
readonly providerUnavailableCount: number;
|
|
14
|
+
readonly conflictCount: number;
|
|
15
|
+
}
|
|
16
|
+
export declare function loadPlatformAccountResetCustomerEvidence(connection: PlatformIdentityQueryable, targets: readonly string[]): Promise<readonly {
|
|
17
|
+
readonly subject: string;
|
|
18
|
+
readonly source: string;
|
|
19
|
+
}[]>;
|
|
20
|
+
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>;
|
|
22
|
+
//# sourceMappingURL=platform-account-reset-preview-evidence-postgres.d.ts.map
|
|
@@ -0,0 +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"}
|
package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-evidence-postgres.js
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { sha256Canonical } from './platform-account-reset-fingerprint.js';
|
|
2
|
+
import { normalizePlatformIdentityEmail } from './platform-identity.js';
|
|
3
|
+
export async function loadPlatformAccountResetCustomerEvidence(connection, targets) {
|
|
4
|
+
return queryRows(connection, `SELECT owner_subject AS subject, 'oauth_refresh_tokens'::text AS source
|
|
5
|
+
FROM oauth_refresh_tokens
|
|
6
|
+
WHERE owner_subject = ANY($1::text[]) AND identity_kind = 'customer'
|
|
7
|
+
UNION ALL
|
|
8
|
+
SELECT owner_subject AS subject, 'oauth_device_authorizations'::text AS source
|
|
9
|
+
FROM oauth_device_authorizations
|
|
10
|
+
WHERE owner_subject = ANY($1::text[]) AND identity_kind = 'customer'`, [targets]);
|
|
11
|
+
}
|
|
12
|
+
export async function loadPlatformAccountResetContactEvidence(connection, targets, configured) {
|
|
13
|
+
const statements = [];
|
|
14
|
+
if (configured.org_members === 'configured')
|
|
15
|
+
statements.push(`SELECT subject, email, 'org_members'::text AS source
|
|
16
|
+
FROM org_members WHERE subject = ANY($1::text[])`);
|
|
17
|
+
if (configured.billing_account_members === 'configured')
|
|
18
|
+
statements.push(`SELECT subject, email, 'billing_account_members'::text AS source
|
|
19
|
+
FROM billing_account_members WHERE subject = ANY($1::text[])`);
|
|
20
|
+
if (configured.oauth_refresh_tokens === 'configured')
|
|
21
|
+
statements.push(`SELECT owner_subject AS subject, owner_email AS email,
|
|
22
|
+
'oauth_refresh_tokens'::text AS source
|
|
23
|
+
FROM oauth_refresh_tokens
|
|
24
|
+
WHERE owner_subject = ANY($1::text[]) AND identity_kind <> 'customer'`);
|
|
25
|
+
if (configured.deploy_records === 'configured')
|
|
26
|
+
statements.push(`SELECT created_by_subject AS subject, created_by_email AS email,
|
|
27
|
+
'deploy_records'::text AS source
|
|
28
|
+
FROM deploy_records
|
|
29
|
+
WHERE created_by_subject = ANY($1::text[]) AND active AND archived_at IS NULL`);
|
|
30
|
+
if (configured.oauth_device_authorizations === 'configured')
|
|
31
|
+
statements.push(`SELECT owner_subject AS subject, owner_email AS email,
|
|
32
|
+
'oauth_device_authorizations'::text AS source
|
|
33
|
+
FROM oauth_device_authorizations
|
|
34
|
+
WHERE owner_subject = ANY($1::text[]) AND identity_kind <> 'customer'`);
|
|
35
|
+
if (configured.welcome_email_outbox === 'configured')
|
|
36
|
+
statements.push(`SELECT subject, email, 'welcome_email_outbox'::text AS source
|
|
37
|
+
FROM welcome_email_outbox WHERE subject = ANY($1::text[])`);
|
|
38
|
+
const rows = statements.length === 0
|
|
39
|
+
? []
|
|
40
|
+
: await queryRows(connection, statements.join(' UNION ALL '), [targets]);
|
|
41
|
+
const rowsByTarget = groupBy(rows, (row) => row.subject);
|
|
42
|
+
const normalizedContacts = new Map();
|
|
43
|
+
const evidenceByTarget = new Map();
|
|
44
|
+
let missingCount = 0;
|
|
45
|
+
let ambiguousCount = 0;
|
|
46
|
+
for (const target of targets) {
|
|
47
|
+
const targetRows = rowsByTarget.get(target) ?? [];
|
|
48
|
+
const candidates = [
|
|
49
|
+
...new Set(targetRows
|
|
50
|
+
.map((row) => safelyNormalizeEmail(row.email))
|
|
51
|
+
.filter((email) => email !== undefined)),
|
|
52
|
+
].sort(compareText);
|
|
53
|
+
if (candidates.length === 0)
|
|
54
|
+
missingCount += 1;
|
|
55
|
+
else if (candidates.length !== 1)
|
|
56
|
+
ambiguousCount += 1;
|
|
57
|
+
else
|
|
58
|
+
normalizedContacts.set(target, candidates[0]);
|
|
59
|
+
evidenceByTarget.set(target, {
|
|
60
|
+
candidates: candidates.map((email) => sha256Canonical({ email })),
|
|
61
|
+
contributions: targetRows.map((row) => {
|
|
62
|
+
const normalized = safelyNormalizeEmail(row.email);
|
|
63
|
+
return {
|
|
64
|
+
source: row.source,
|
|
65
|
+
valueFingerprint: normalized === undefined ? 'invalid' : sha256Canonical({ normalized }),
|
|
66
|
+
};
|
|
67
|
+
}),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
normalizedContacts,
|
|
72
|
+
evidenceByTarget,
|
|
73
|
+
missingCount,
|
|
74
|
+
ambiguousCount,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export async function loadPlatformAccountResetWorkosEvidence(contacts, directory, workosRealm, options) {
|
|
78
|
+
const resources = [];
|
|
79
|
+
let providerUnavailableCount = 0;
|
|
80
|
+
let conflictCount = 0;
|
|
81
|
+
const orderedContacts = [...contacts].sort(([left], [right]) => compareText(left, right));
|
|
82
|
+
for (const [principalId, normalizedEmail] of orderedContacts) {
|
|
83
|
+
if (providerReadAborted(options))
|
|
84
|
+
return unavailableWorkosEvidence(orderedContacts.length);
|
|
85
|
+
let users;
|
|
86
|
+
try {
|
|
87
|
+
users = await directory.listUsersByNormalizedEmail(normalizedEmail, options);
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
if (providerReadAborted(options))
|
|
91
|
+
return unavailableWorkosEvidence(orderedContacts.length);
|
|
92
|
+
providerUnavailableCount += 1;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
if (providerReadAborted(options))
|
|
96
|
+
return unavailableWorkosEvidence(orderedContacts.length);
|
|
97
|
+
const exact = users
|
|
98
|
+
.filter((user) => safelyNormalizeEmail(user.normalizedEmail) === normalizedEmail)
|
|
99
|
+
.sort((left, right) => compareText(left.id, right.id));
|
|
100
|
+
if (exact.length > 1 || exact.some((user) => user.externalId !== undefined)) {
|
|
101
|
+
conflictCount += 1;
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
const user = exact[0];
|
|
105
|
+
if (user === undefined)
|
|
106
|
+
continue;
|
|
107
|
+
if (providerReadAborted(options))
|
|
108
|
+
return unavailableWorkosEvidence(orderedContacts.length);
|
|
109
|
+
let byId;
|
|
110
|
+
try {
|
|
111
|
+
byId = await directory.findUserById(user.id, options);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
if (providerReadAborted(options))
|
|
115
|
+
return unavailableWorkosEvidence(orderedContacts.length);
|
|
116
|
+
providerUnavailableCount += 1;
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
if (providerReadAborted(options))
|
|
120
|
+
return unavailableWorkosEvidence(orderedContacts.length);
|
|
121
|
+
if (byId === undefined ||
|
|
122
|
+
byId.id !== user.id ||
|
|
123
|
+
safelyNormalizeEmail(byId.normalizedEmail) !== normalizedEmail ||
|
|
124
|
+
byId.externalId !== undefined) {
|
|
125
|
+
conflictCount += 1;
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
const locator = { principalId, userId: user.id, normalizedEmail, realm: workosRealm };
|
|
129
|
+
const resourceKind = 'unlinked_user';
|
|
130
|
+
resources.push({
|
|
131
|
+
provider: 'workos',
|
|
132
|
+
resourceKind,
|
|
133
|
+
locator,
|
|
134
|
+
locatorFingerprint: sha256Canonical({
|
|
135
|
+
schemaVersion: 1,
|
|
136
|
+
label: `platform_account_reset_locator:workos:${resourceKind}`,
|
|
137
|
+
locator,
|
|
138
|
+
}),
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
if (providerReadAborted(options))
|
|
142
|
+
return unavailableWorkosEvidence(orderedContacts.length);
|
|
143
|
+
return { resources, providerUnavailableCount, conflictCount };
|
|
144
|
+
}
|
|
145
|
+
function providerReadAborted(options) {
|
|
146
|
+
return options.signal.aborted || options.deadline.getTime() <= Date.now();
|
|
147
|
+
}
|
|
148
|
+
function unavailableWorkosEvidence(contactCount) {
|
|
149
|
+
return {
|
|
150
|
+
resources: [],
|
|
151
|
+
providerUnavailableCount: contactCount,
|
|
152
|
+
conflictCount: 0,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
function queryRows(pool, text, values) {
|
|
156
|
+
return pool.query(text, values).then((result) => result.rows);
|
|
157
|
+
}
|
|
158
|
+
function groupBy(values, key) {
|
|
159
|
+
const grouped = new Map();
|
|
160
|
+
for (const value of values) {
|
|
161
|
+
const itemKey = key(value);
|
|
162
|
+
grouped.set(itemKey, [...(grouped.get(itemKey) ?? []), value]);
|
|
163
|
+
}
|
|
164
|
+
return grouped;
|
|
165
|
+
}
|
|
166
|
+
function compareText(left, right) {
|
|
167
|
+
return left < right ? -1 : left > right ? 1 : 0;
|
|
168
|
+
}
|
|
169
|
+
function safelyNormalizeEmail(value) {
|
|
170
|
+
try {
|
|
171
|
+
return normalizePlatformIdentityEmail(value);
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
return undefined;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=platform-account-reset-preview-evidence-postgres.js.map
|
|
@@ -0,0 +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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"}
|
package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-local-postgres.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { PlatformAccountResetBlockerCode, PlatformAccountResetPreviewRequest, PlatformAccountResetResult } from './platform-account-reset.js';
|
|
2
|
+
import { type PlatformAccountResetCleanupResource } from './platform-account-reset-ownership-postgres.js';
|
|
3
|
+
import type { PlatformAuthInventorySourceManifest } from './platform-auth-inventory-sources.js';
|
|
4
|
+
import type { PlatformIdentityQueryable } from './platform-identity-postgres.js';
|
|
5
|
+
export interface PlatformAccountResetLocalInspection {
|
|
6
|
+
readonly operationId: string;
|
|
7
|
+
readonly request: PlatformAccountResetPreviewRequest;
|
|
8
|
+
readonly targets: readonly string[];
|
|
9
|
+
readonly normalizedContacts: ReadonlyMap<string, string>;
|
|
10
|
+
readonly targetEvidence: ReadonlyMap<string, Readonly<Record<string, unknown>>>;
|
|
11
|
+
readonly cleanupResources: readonly PlatformAccountResetCleanupResource[];
|
|
12
|
+
readonly ownershipFingerprint: string;
|
|
13
|
+
readonly localCleanupSetFingerprint: string;
|
|
14
|
+
readonly requestFingerprint: string;
|
|
15
|
+
readonly workosRealmFingerprint: string;
|
|
16
|
+
readonly counts: PlatformAccountResetResult['counts'];
|
|
17
|
+
readonly blockers: readonly {
|
|
18
|
+
readonly code: PlatformAccountResetBlockerCode;
|
|
19
|
+
readonly count: number;
|
|
20
|
+
}[];
|
|
21
|
+
readonly evidenceFingerprint: string;
|
|
22
|
+
}
|
|
23
|
+
export interface PlatformAccountResetLocalInspectionOptions {
|
|
24
|
+
readonly sourceAvailability: PlatformAuthInventorySourceManifest;
|
|
25
|
+
readonly googleRealm: string;
|
|
26
|
+
readonly workosRealm: string;
|
|
27
|
+
readonly releaseSha: string;
|
|
28
|
+
readonly excludedSubjects: readonly {
|
|
29
|
+
readonly subject: string;
|
|
30
|
+
readonly kind: 'workload' | 'synthetic';
|
|
31
|
+
}[];
|
|
32
|
+
readonly ignoreCurrentOperation?: boolean;
|
|
33
|
+
}
|
|
34
|
+
export declare function inspectPlatformAccountResetLocalEvidence(connection: PlatformIdentityQueryable, request: PlatformAccountResetPreviewRequest, operationId: string, options: PlatformAccountResetLocalInspectionOptions): Promise<PlatformAccountResetLocalInspection>;
|
|
35
|
+
//# sourceMappingURL=platform-account-reset-preview-local-postgres.d.ts.map
|
|
@@ -0,0 +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"}
|
package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-local-postgres.js
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { sha256Canonical } from './platform-account-reset-fingerprint.js';
|
|
2
|
+
import { loadPlatformAccountResetOwnershipSnapshot, } from './platform-account-reset-ownership-postgres.js';
|
|
3
|
+
import { loadPlatformAccountResetContactEvidence, loadPlatformAccountResetCustomerEvidence, } from './platform-account-reset-preview-evidence-postgres.js';
|
|
4
|
+
import { readPlatformAuthInventorySourceEpoch } from './platform-auth-inventory-source-fence-postgres.js';
|
|
5
|
+
export async function inspectPlatformAccountResetLocalEvidence(connection, request, operationId, options) {
|
|
6
|
+
const targets = [...request.targetSet.principalIds].sort(compareText);
|
|
7
|
+
const targetSet = new Set(targets);
|
|
8
|
+
const targetFingerprints = targets.map((target) => sha256Canonical(target));
|
|
9
|
+
const blockers = new Map();
|
|
10
|
+
const rollout = await connection.query(`SELECT generation::text FROM platform_auth_rollout_state
|
|
11
|
+
WHERE singleton = true FOR SHARE`);
|
|
12
|
+
const generation = Number(rollout.rows[0]?.generation);
|
|
13
|
+
const sourceEpoch = Number(await readPlatformAuthInventorySourceEpoch(connection));
|
|
14
|
+
if (request.releaseSha !== options.releaseSha)
|
|
15
|
+
increment(blockers, 'release_mismatch');
|
|
16
|
+
if (request.expectedGeneration !== generation)
|
|
17
|
+
increment(blockers, 'generation_mismatch');
|
|
18
|
+
if (request.sourceEpoch !== sourceEpoch)
|
|
19
|
+
increment(blockers, 'source_epoch_mismatch');
|
|
20
|
+
if (request.workosRealm !== options.workosRealm)
|
|
21
|
+
increment(blockers, 'operation_conflict');
|
|
22
|
+
const principals = await queryRows(connection, `SELECT principal_id, status, billing_identity_issuer, billing_subject
|
|
23
|
+
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
|
|
25
|
+
FROM platform_identity_links WHERE principal_id = ANY($1::text[])`, [targets]);
|
|
26
|
+
const verified = await queryRows(connection, `SELECT principal_id FROM platform_verified_emails
|
|
27
|
+
WHERE principal_id = ANY($1::text[])`, [targets]);
|
|
28
|
+
const imports = await queryRows(connection, `SELECT principal_id FROM workos_import_ledger
|
|
29
|
+
WHERE principal_id = ANY($1::text[])`, [targets]);
|
|
30
|
+
const importAttempts = await queryRows(connection, `SELECT principal_id, principal_fingerprint FROM workos_import_attempt_evidence
|
|
31
|
+
WHERE principal_id = ANY($1::text[])
|
|
32
|
+
OR principal_fingerprint = ANY($2::text[])`, [targets, targetFingerprints]);
|
|
33
|
+
const activeResets = await queryRows(connection, `SELECT target.principal_id
|
|
34
|
+
FROM platform_account_reset_targets target
|
|
35
|
+
JOIN platform_account_reset_operations operation
|
|
36
|
+
ON operation.operation_id = target.operation_id
|
|
37
|
+
WHERE target.principal_id = ANY($1::text[])
|
|
38
|
+
AND (
|
|
39
|
+
(operation.lifecycle = 'previewed'
|
|
40
|
+
AND operation.preview_expires_at > clock_timestamp())
|
|
41
|
+
OR operation.lifecycle IN ('quarantined','finalizing','finalization_blocked')
|
|
42
|
+
)
|
|
43
|
+
AND ($2::text IS NULL OR target.operation_id <> $2)`, [targets, options.ignoreCurrentOperation === true ? operationId : null]);
|
|
44
|
+
const personal = await queryRows(connection, `SELECT binding.principal_subject, binding.org_slug,
|
|
45
|
+
binding.billing_identity_issuer, binding.billing_subject,
|
|
46
|
+
binding.billing_account_id,
|
|
47
|
+
defaults.billing_account_id AS default_billing_account_id,
|
|
48
|
+
home.billing_account_id AS home_billing_account_id,
|
|
49
|
+
home.home_owner_identity_issuer, home.home_owner_subject
|
|
50
|
+
FROM personal_workspace_bindings binding
|
|
51
|
+
LEFT JOIN billing_account_defaults defaults
|
|
52
|
+
ON defaults.identity_issuer = binding.billing_identity_issuer
|
|
53
|
+
AND defaults.subject = binding.billing_subject
|
|
54
|
+
LEFT JOIN org_billing_home_accounts home ON home.org_slug = binding.org_slug
|
|
55
|
+
WHERE binding.principal_subject = ANY($1::text[])`, [targets]);
|
|
56
|
+
const principalsById = new Map(principals.map((row) => [row.principal_id, row]));
|
|
57
|
+
const linksByPrincipal = groupBy(links, (row) => row.principal_id);
|
|
58
|
+
for (const target of targets) {
|
|
59
|
+
const principal = principalsById.get(target);
|
|
60
|
+
if (principal?.status !== 'active') {
|
|
61
|
+
increment(blockers, 'principal_not_active');
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
const googleLinks = (linksByPrincipal.get(target) ?? []).filter((row) => row.provider === 'google' && row.realm === options.googleRealm && row.disabled_at === null);
|
|
65
|
+
if (googleLinks.length !== 1 ||
|
|
66
|
+
googleLinks[0]?.external_id !== target ||
|
|
67
|
+
principal.billing_identity_issuer !== 'https://accounts.google.com' ||
|
|
68
|
+
principal.billing_subject !== target)
|
|
69
|
+
increment(blockers, 'principal_not_legacy_google');
|
|
70
|
+
}
|
|
71
|
+
if (verified.length !== 0)
|
|
72
|
+
blockers.set('verified_email_evidence_present', verified.length);
|
|
73
|
+
const workosLinks = links.filter((row) => row.provider === 'workos');
|
|
74
|
+
if (workosLinks.length !== 0)
|
|
75
|
+
blockers.set('workos_link_present', workosLinks.length);
|
|
76
|
+
if (imports.length + importAttempts.length !== 0)
|
|
77
|
+
blockers.set('workos_import_present', imports.length + importAttempts.length);
|
|
78
|
+
if (activeResets.length !== 0)
|
|
79
|
+
blockers.set('operation_conflict', activeResets.length);
|
|
80
|
+
const customerEvidence = await loadPlatformAccountResetCustomerEvidence(connection, targets);
|
|
81
|
+
const configuredExcluded = options.excludedSubjects.filter((entry) => targetSet.has(entry.subject));
|
|
82
|
+
if (customerEvidence.length + configuredExcluded.length !== 0)
|
|
83
|
+
blockers.set('synthetic_or_customer_identity', customerEvidence.length + configuredExcluded.length);
|
|
84
|
+
const personalByTarget = groupBy(personal, (row) => row.principal_subject);
|
|
85
|
+
for (const target of targets) {
|
|
86
|
+
const rows = personalByTarget.get(target) ?? [];
|
|
87
|
+
const row = rows[0];
|
|
88
|
+
if (rows.length !== 1 ||
|
|
89
|
+
row === undefined ||
|
|
90
|
+
row.billing_identity_issuer !== 'https://accounts.google.com' ||
|
|
91
|
+
row.billing_subject !== target ||
|
|
92
|
+
row.billing_account_id !== row.default_billing_account_id ||
|
|
93
|
+
row.billing_account_id !== row.home_billing_account_id ||
|
|
94
|
+
row.home_owner_identity_issuer !== 'https://accounts.google.com' ||
|
|
95
|
+
row.home_owner_subject !== target)
|
|
96
|
+
increment(blockers, 'personal_workspace_mismatch');
|
|
97
|
+
}
|
|
98
|
+
const contactEvidence = await loadPlatformAccountResetContactEvidence(connection, targets, options.sourceAvailability);
|
|
99
|
+
if (contactEvidence.missingCount !== 0)
|
|
100
|
+
blockers.set('contact_hint_missing', contactEvidence.missingCount);
|
|
101
|
+
if (contactEvidence.ambiguousCount !== 0)
|
|
102
|
+
blockers.set('contact_hint_ambiguous', contactEvidence.ambiguousCount);
|
|
103
|
+
const ownership = await loadPlatformAccountResetOwnershipSnapshot(connection, {
|
|
104
|
+
targetPrincipalIds: targets,
|
|
105
|
+
});
|
|
106
|
+
for (const blocker of ownership.blockers)
|
|
107
|
+
blockers.set(blocker.code, (blockers.get(blocker.code) ?? 0) + blocker.count);
|
|
108
|
+
const blockerList = [...blockers]
|
|
109
|
+
.map(([code, count]) => ({ code, count }))
|
|
110
|
+
.sort((left, right) => left.code.localeCompare(right.code));
|
|
111
|
+
const targetEvidence = new Map();
|
|
112
|
+
for (const target of targets) {
|
|
113
|
+
targetEvidence.set(target, {
|
|
114
|
+
schemaVersion: 1,
|
|
115
|
+
label: 'platform_account_reset_target_eligibility',
|
|
116
|
+
target,
|
|
117
|
+
principal: principalsById.get(target) ?? null,
|
|
118
|
+
links: linksByPrincipal.get(target) ?? [],
|
|
119
|
+
verifiedEmailEvidence: verified.filter((row) => row.principal_id === target),
|
|
120
|
+
importEvidence: imports.filter((row) => row.principal_id === target),
|
|
121
|
+
importAttemptEvidence: importAttempts.filter((row) => row.principal_id === target || row.principal_fingerprint === sha256Canonical(target)),
|
|
122
|
+
personal: personalByTarget.get(target) ?? [],
|
|
123
|
+
contact: contactEvidence.evidenceByTarget.get(target),
|
|
124
|
+
configuredExclusion: configuredExcluded.find((entry) => entry.subject === target) ?? null,
|
|
125
|
+
customerEvidence: customerEvidence.filter((row) => row.subject === target),
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
const requestFingerprint = sha256Canonical(request);
|
|
129
|
+
const workosRealmFingerprint = sha256Canonical({
|
|
130
|
+
schemaVersion: 1,
|
|
131
|
+
label: 'workos_realm',
|
|
132
|
+
realm: request.workosRealm,
|
|
133
|
+
});
|
|
134
|
+
const counts = {
|
|
135
|
+
targetCount: targets.length,
|
|
136
|
+
suspendedPrincipalCount: principals.filter((row) => row.status === 'suspended').length,
|
|
137
|
+
...ownership.counts,
|
|
138
|
+
cleanupPendingCount: 0,
|
|
139
|
+
};
|
|
140
|
+
const evidenceFingerprint = sha256Canonical({
|
|
141
|
+
schemaVersion: 1,
|
|
142
|
+
label: 'platform_account_reset_local_evidence',
|
|
143
|
+
requestFingerprint,
|
|
144
|
+
workosRealmFingerprint,
|
|
145
|
+
targetEvidence: [...targetEvidence],
|
|
146
|
+
blockers: blockerList,
|
|
147
|
+
counts,
|
|
148
|
+
ownershipFingerprint: ownership.ownershipFingerprint,
|
|
149
|
+
cleanupSetFingerprint: ownership.cleanupSetFingerprint,
|
|
150
|
+
});
|
|
151
|
+
return {
|
|
152
|
+
operationId,
|
|
153
|
+
request,
|
|
154
|
+
targets,
|
|
155
|
+
normalizedContacts: contactEvidence.normalizedContacts,
|
|
156
|
+
targetEvidence,
|
|
157
|
+
cleanupResources: ownership.cleanupResources,
|
|
158
|
+
ownershipFingerprint: ownership.ownershipFingerprint,
|
|
159
|
+
localCleanupSetFingerprint: ownership.cleanupSetFingerprint,
|
|
160
|
+
requestFingerprint,
|
|
161
|
+
workosRealmFingerprint,
|
|
162
|
+
counts,
|
|
163
|
+
blockers: blockerList,
|
|
164
|
+
evidenceFingerprint,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
function queryRows(pool, text, values) {
|
|
168
|
+
return pool.query(text, values).then((result) => result.rows);
|
|
169
|
+
}
|
|
170
|
+
function groupBy(values, key) {
|
|
171
|
+
const grouped = new Map();
|
|
172
|
+
for (const value of values) {
|
|
173
|
+
const itemKey = key(value);
|
|
174
|
+
grouped.set(itemKey, [...(grouped.get(itemKey) ?? []), value]);
|
|
175
|
+
}
|
|
176
|
+
return grouped;
|
|
177
|
+
}
|
|
178
|
+
function increment(blockers, code) {
|
|
179
|
+
blockers.set(code, (blockers.get(code) ?? 0) + 1);
|
|
180
|
+
}
|
|
181
|
+
function compareText(left, right) {
|
|
182
|
+
return left < right ? -1 : left > right ? 1 : 0;
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=platform-account-reset-preview-local-postgres.js.map
|
package/node_modules/@noodle-borg/service/dist/platform-account-reset-preview-local-postgres.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-account-reset-preview-local-postgres.js","sourceRoot":"","sources":["../src/platform-account-reset-preview-local-postgres.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type PlatformAccountResetFrozenInspection } from './platform-account-reset-preview-result.js';
|
|
2
|
+
import type { PlatformIdentityQueryable } from './platform-identity-postgres.js';
|
|
3
|
+
export declare function persistPlatformAccountResetPreview(connection: PlatformIdentityQueryable, inspection: PlatformAccountResetFrozenInspection, options: {
|
|
4
|
+
readonly actorFingerprint: string;
|
|
5
|
+
readonly approvedTargetSetFingerprint: string;
|
|
6
|
+
readonly workosRealm: string;
|
|
7
|
+
readonly createdAt: Date | string;
|
|
8
|
+
readonly previewExpiresAt: Date | string;
|
|
9
|
+
}): Promise<void>;
|
|
10
|
+
export declare function assertPlatformAccountResetCleanupEvidence(connection: PlatformIdentityQueryable, operationId: string, inspection: PlatformAccountResetFrozenInspection): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=platform-account-reset-preview-persistence-postgres.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-account-reset-preview-persistence-postgres.d.ts","sourceRoot":"","sources":["../src/platform-account-reset-preview-persistence-postgres.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,oCAAoC,EAE1C,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,yBAAyB,EACrC,UAAU,EAAE,oCAAoC,EAChD,OAAO,EAAE;IACP,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,GAAG,MAAM,CAAC;CAC1C,GACA,OAAO,CAAC,IAAI,CAAC,CAkFf;AAED,wBAAsB,yCAAyC,CAC7D,UAAU,EAAE,yBAAyB,EACrC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,oCAAoC,GAC/C,OAAO,CAAC,IAAI,CAAC,CAgDf"}
|