@noodleseed/one 0.58.0 → 0.60.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 +72 -7
- package/dist/cli.js.map +1 -1
- package/dist/commands/alerts-ops.d.ts +2 -1
- package/dist/commands/alerts-ops.d.ts.map +1 -1
- package/dist/commands/alerts-ops.js.map +1 -1
- package/dist/commands/analytics-ops.d.ts +4 -3
- package/dist/commands/analytics-ops.d.ts.map +1 -1
- package/dist/commands/analytics-ops.js.map +1 -1
- package/dist/commands/apps-ops.d.ts +5 -4
- package/dist/commands/apps-ops.d.ts.map +1 -1
- package/dist/commands/apps-ops.js.map +1 -1
- package/dist/commands/archive-ops.d.ts +3 -2
- package/dist/commands/archive-ops.d.ts.map +1 -1
- package/dist/commands/archive-ops.js.map +1 -1
- package/dist/commands/assistant-embed-ops.d.ts +9 -1
- package/dist/commands/assistant-embed-ops.d.ts.map +1 -1
- package/dist/commands/assistant-embed-ops.js.map +1 -1
- package/dist/commands/assistant-ops.d.ts +2 -1
- package/dist/commands/assistant-ops.d.ts.map +1 -1
- package/dist/commands/assistant-ops.js +3 -2
- package/dist/commands/assistant-ops.js.map +1 -1
- package/dist/commands/audit-ops.d.ts +2 -1
- package/dist/commands/audit-ops.d.ts.map +1 -1
- package/dist/commands/audit-ops.js.map +1 -1
- package/dist/commands/auth-ops.d.ts +2 -1
- package/dist/commands/auth-ops.d.ts.map +1 -1
- package/dist/commands/auth-ops.js.map +1 -1
- package/dist/commands/author-loop.d.ts +4 -3
- package/dist/commands/author-loop.d.ts.map +1 -1
- package/dist/commands/author-loop.js.map +1 -1
- package/dist/commands/billing-apply-ops.d.ts +2 -1
- package/dist/commands/billing-apply-ops.d.ts.map +1 -1
- package/dist/commands/billing-apply-ops.js.map +1 -1
- package/dist/commands/billing-enforcement-activation-ops.d.ts +2 -1
- package/dist/commands/billing-enforcement-activation-ops.d.ts.map +1 -1
- package/dist/commands/billing-enforcement-activation-ops.js.map +1 -1
- package/dist/commands/billing-enforcement-ops.d.ts +2 -1
- package/dist/commands/billing-enforcement-ops.d.ts.map +1 -1
- package/dist/commands/billing-enforcement-ops.js.map +1 -1
- package/dist/commands/billing-metering-ops.d.ts +2 -1
- package/dist/commands/billing-metering-ops.d.ts.map +1 -1
- package/dist/commands/billing-metering-ops.js.map +1 -1
- package/dist/commands/billing-metering-validation-ops.d.ts +2 -1
- package/dist/commands/billing-metering-validation-ops.d.ts.map +1 -1
- package/dist/commands/billing-metering-validation-ops.js.map +1 -1
- package/dist/commands/billing-ops.d.ts +2 -1
- package/dist/commands/billing-ops.d.ts.map +1 -1
- package/dist/commands/billing-ops.js.map +1 -1
- package/dist/commands/billing-read-ops.d.ts +3 -2
- package/dist/commands/billing-read-ops.d.ts.map +1 -1
- package/dist/commands/billing-read-ops.js.map +1 -1
- package/dist/commands/billing-stripe-ops.d.ts +2 -1
- package/dist/commands/billing-stripe-ops.d.ts.map +1 -1
- package/dist/commands/billing-stripe-ops.js +1 -0
- package/dist/commands/billing-stripe-ops.js.map +1 -1
- package/dist/commands/config-values.d.ts +2 -1
- package/dist/commands/config-values.d.ts.map +1 -1
- package/dist/commands/config-values.js.map +1 -1
- package/dist/commands/deploy-github-hint.d.ts +6 -0
- package/dist/commands/deploy-github-hint.d.ts.map +1 -0
- package/dist/commands/deploy-github-hint.js +53 -0
- package/dist/commands/deploy-github-hint.js.map +1 -0
- package/dist/commands/deploy-ops.d.ts +5 -7
- package/dist/commands/deploy-ops.d.ts.map +1 -1
- package/dist/commands/deploy-ops.js +14 -54
- package/dist/commands/deploy-ops.js.map +1 -1
- package/dist/commands/deploy-status-ops.d.ts +5 -3
- package/dist/commands/deploy-status-ops.d.ts.map +1 -1
- package/dist/commands/deploy-status-ops.js +9 -1
- package/dist/commands/deploy-status-ops.js.map +1 -1
- package/dist/commands/deploy-target.d.ts +2 -1
- package/dist/commands/deploy-target.d.ts.map +1 -1
- package/dist/commands/deploy-target.js.map +1 -1
- package/dist/commands/deployments-ops.d.ts +5 -4
- package/dist/commands/deployments-ops.d.ts.map +1 -1
- package/dist/commands/deployments-ops.js.map +1 -1
- package/dist/commands/devtools.d.ts +2 -1
- package/dist/commands/devtools.d.ts.map +1 -1
- package/dist/commands/devtools.js.map +1 -1
- package/dist/commands/diagnostics-ops.d.ts +3 -2
- package/dist/commands/diagnostics-ops.d.ts.map +1 -1
- package/dist/commands/diagnostics-ops.js.map +1 -1
- package/dist/commands/envs-ops.d.ts +4 -3
- package/dist/commands/envs-ops.d.ts.map +1 -1
- package/dist/commands/envs-ops.js.map +1 -1
- package/dist/commands/feedback-ops.d.ts +2 -1
- package/dist/commands/feedback-ops.d.ts.map +1 -1
- package/dist/commands/feedback-ops.js.map +1 -1
- package/dist/commands/github-ops.d.ts +5 -4
- package/dist/commands/github-ops.d.ts.map +1 -1
- package/dist/commands/github-ops.js.map +1 -1
- package/dist/commands/github-runs-ops.d.ts +2 -1
- package/dist/commands/github-runs-ops.d.ts.map +1 -1
- package/dist/commands/github-runs-ops.js.map +1 -1
- package/dist/commands/github-shared.d.ts +2 -1
- package/dist/commands/github-shared.d.ts.map +1 -1
- package/dist/commands/github-shared.js.map +1 -1
- package/dist/commands/logs-ops.d.ts +2 -1
- package/dist/commands/logs-ops.d.ts.map +1 -1
- package/dist/commands/logs-ops.js.map +1 -1
- package/dist/commands/org-admin.d.ts +3 -2
- package/dist/commands/org-admin.d.ts.map +1 -1
- package/dist/commands/org-admin.js.map +1 -1
- package/dist/commands/org-openai-challenge.d.ts +2 -1
- package/dist/commands/org-openai-challenge.d.ts.map +1 -1
- package/dist/commands/org-openai-challenge.js.map +1 -1
- package/dist/commands/policy-ops.d.ts +2 -1
- package/dist/commands/policy-ops.d.ts.map +1 -1
- package/dist/commands/policy-ops.js.map +1 -1
- package/dist/commands/resource-shared.d.ts +2 -1
- package/dist/commands/resource-shared.d.ts.map +1 -1
- package/dist/commands/resource-shared.js.map +1 -1
- package/dist/commands/service-ops.d.ts +2 -1
- package/dist/commands/service-ops.d.ts.map +1 -1
- package/dist/commands/service-ops.js.map +1 -1
- package/dist/commands/session.d.ts +12 -4
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +40 -9
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/shared.d.ts +2 -1
- package/dist/commands/shared.d.ts.map +1 -1
- package/dist/commands/shared.js.map +1 -1
- package/dist/config.d.ts +17 -8
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/control-plane.d.ts +10 -3
- package/dist/control-plane.d.ts.map +1 -1
- package/dist/control-plane.js +38 -2
- package/dist/control-plane.js.map +1 -1
- package/dist/doctor.d.ts +2 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js.map +1 -1
- package/dist/first-run-entry.d.ts +2 -1
- package/dist/first-run-entry.d.ts.map +1 -1
- package/dist/first-run-entry.js.map +1 -1
- package/dist/first-run.d.ts +2 -1
- package/dist/first-run.d.ts.map +1 -1
- package/dist/first-run.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/local-target.d.ts +2 -1
- package/dist/local-target.d.ts.map +1 -1
- package/dist/local-target.js.map +1 -1
- package/dist/plugin-mode/build-readiness-contract.d.ts +36 -0
- package/dist/plugin-mode/build-readiness-contract.d.ts.map +1 -0
- package/dist/plugin-mode/build-readiness-contract.js +107 -0
- package/dist/plugin-mode/build-readiness-contract.js.map +1 -0
- package/dist/plugin-mode/build-readiness-fingerprint.d.ts +7 -0
- package/dist/plugin-mode/build-readiness-fingerprint.d.ts.map +1 -0
- package/dist/plugin-mode/build-readiness-fingerprint.js +83 -0
- package/dist/plugin-mode/build-readiness-fingerprint.js.map +1 -0
- package/dist/plugin-mode/build-readiness-recorder.d.ts +15 -0
- package/dist/plugin-mode/build-readiness-recorder.d.ts.map +1 -0
- package/dist/plugin-mode/build-readiness-recorder.js +150 -0
- package/dist/plugin-mode/build-readiness-recorder.js.map +1 -0
- package/dist/plugin-mode/build-readiness-server.d.ts +22 -0
- package/dist/plugin-mode/build-readiness-server.d.ts.map +1 -0
- package/dist/plugin-mode/build-readiness-server.js +322 -0
- package/dist/plugin-mode/build-readiness-server.js.map +1 -0
- package/dist/plugin-mode/build-readiness-store.d.ts +16 -0
- package/dist/plugin-mode/build-readiness-store.d.ts.map +1 -0
- package/dist/plugin-mode/build-readiness-store.js +198 -0
- package/dist/plugin-mode/build-readiness-store.js.map +1 -0
- package/dist/plugin-mode/build-readiness-tools.d.ts +47 -0
- package/dist/plugin-mode/build-readiness-tools.d.ts.map +1 -0
- package/dist/plugin-mode/build-readiness-tools.js +159 -0
- package/dist/plugin-mode/build-readiness-tools.js.map +1 -0
- package/dist/plugin-mode/build-readiness-widget.css.d.ts +2 -0
- package/dist/plugin-mode/build-readiness-widget.css.d.ts.map +1 -0
- package/dist/plugin-mode/build-readiness-widget.css.js +217 -0
- package/dist/plugin-mode/build-readiness-widget.css.js.map +1 -0
- package/dist/plugin-mode/build-readiness-widget.d.ts +28 -0
- package/dist/plugin-mode/build-readiness-widget.d.ts.map +1 -0
- package/dist/plugin-mode/build-readiness-widget.js +60 -0
- package/dist/plugin-mode/build-readiness-widget.js.map +1 -0
- package/dist/plugin-mode/compatibility.d.ts +22 -0
- package/dist/plugin-mode/compatibility.d.ts.map +1 -0
- package/dist/plugin-mode/compatibility.js +59 -0
- package/dist/plugin-mode/compatibility.js.map +1 -0
- package/dist/plugin-mode/plugin-mcp-bootstrap.d.ts +13 -0
- package/dist/plugin-mode/plugin-mcp-bootstrap.d.ts.map +1 -0
- package/dist/plugin-mode/plugin-mcp-bootstrap.js +90 -0
- package/dist/plugin-mode/plugin-mcp-bootstrap.js.map +1 -0
- package/dist/plugin-mode/profile.d.ts +16 -0
- package/dist/plugin-mode/profile.d.ts.map +1 -0
- package/dist/plugin-mode/profile.js +66 -0
- package/dist/plugin-mode/profile.js.map +1 -0
- package/dist/plugin-mode/service-compatibility.d.ts +15 -0
- package/dist/plugin-mode/service-compatibility.d.ts.map +1 -0
- package/dist/plugin-mode/service-compatibility.js +57 -0
- package/dist/plugin-mode/service-compatibility.js.map +1 -0
- package/dist/update-check.d.ts +2 -16
- package/dist/update-check.d.ts.map +1 -1
- package/dist/update-check.js.map +1 -1
- 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/generated/surface.d.ts +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/index.d.ts +3 -0
- package/node_modules/@noodle-borg/agent-kit/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/index.js +3 -0
- package/node_modules/@noodle-borg/agent-kit/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.d.ts +5 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.js +106 -28
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-bundle.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-compatibility.d.ts +22 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-compatibility.d.ts.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-compatibility.js +100 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-compatibility.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-launcher.d.ts +8 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-launcher.d.ts.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-launcher.js +55 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-launcher.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-manifests.d.ts +27 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-manifests.d.ts.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-manifests.js +108 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-manifests.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.d.ts +9 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.d.ts.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.js +121 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-marketplace-docs.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-submission.d.ts +130 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-submission.d.ts.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-submission.js +220 -0
- package/node_modules/@noodle-borg/agent-kit/dist/plugin-submission.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-content.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js +2 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.js +5 -0
- package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts +4 -0
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.d.ts.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js +2 -0
- package/node_modules/@noodle-borg/auth/dist/jwt-issuer.js.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/verify.d.ts +4 -0
- package/node_modules/@noodle-borg/auth/dist/verify.d.ts.map +1 -1
- package/node_modules/@noodle-borg/auth/dist/verify.js +10 -0
- package/node_modules/@noodle-borg/auth/dist/verify.js.map +1 -1
- package/node_modules/@noodle-borg/developer-mcp/dist/capabilities.d.ts +9 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/capabilities.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/capabilities.js +41 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/capabilities.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/contracts.d.ts +637 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/contracts.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/contracts.js +364 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/contracts.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/diagnosis.d.ts +79 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/diagnosis.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/diagnosis.js +138 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/diagnosis.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/index.d.ts +12 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/index.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/index.js +12 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/index.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/port.d.ts +16 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/port.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/port.js +9 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/port.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/prompts.d.ts +16 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/prompts.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/prompts.js +51 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/prompts.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/resources.d.ts +13 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/resources.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/resources.js +90 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/resources.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/results.d.ts +31 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/results.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/results.js +80 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/results.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/server.d.ts +19 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/server.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/server.js +79 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/server.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/apps.d.ts +43 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/apps.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/apps.js +77 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/apps.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/context.d.ts +4 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/context.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/context.js +21 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/context.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/deployments.d.ts +61 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/deployments.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/deployments.js +37 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/deployments.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/diagnose.d.ts +29 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/diagnose.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/diagnose.js +83 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/diagnose.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/index.d.ts +7 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/index.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/index.js +7 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/index.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/operations.d.ts +138 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/operations.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/operations.js +99 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/operations.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/rollback.d.ts +24 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/rollback.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/rollback.js +59 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/tools/rollback.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widget-links.d.ts +16 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widget-links.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widget-links.js +20 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widget-links.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/analytics.d.ts +2 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/analytics.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/analytics.js +6 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/analytics.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/app-overview.d.ts +2 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/app-overview.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/app-overview.js +6 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/app-overview.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/deployment-detail.d.ts +2 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/deployment-detail.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/deployment-detail.js +7 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/deployment-detail.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/operations.d.ts +2 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/operations.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/operations.js +6 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/operations.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/resources.d.ts +37 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/resources.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/resources.js +76 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/resources.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/shared.d.ts +30 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/shared.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/shared.js +23 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/shared.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/styles.d.ts +2 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/styles.d.ts.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/styles.js +153 -0
- package/node_modules/@noodle-borg/developer-mcp/dist/widgets/styles.js.map +1 -0
- package/node_modules/@noodle-borg/developer-mcp/package.json +37 -0
- package/node_modules/@noodle-borg/module/dist/contract.d.ts +4 -0
- package/node_modules/@noodle-borg/module/dist/contract.d.ts.map +1 -1
- package/node_modules/@noodle-borg/module/dist/contract.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts +7 -1
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js +17 -5
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/auth/developer-grant-guard.d.ts +16 -0
- package/node_modules/@noodle-borg/service/dist/auth/developer-grant-guard.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/auth/developer-grant-guard.js +40 -0
- package/node_modules/@noodle-borg/service/dist/auth/developer-grant-guard.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-checkouts.d.ts +7 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-checkouts.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-checkouts.js +247 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-checkouts.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-schema.js +14 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-schema.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-store.d.ts +4 -4
- package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-store.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-store.js +10 -99
- package/node_modules/@noodle-borg/service/dist/billing/postgres-stripe-store.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/stripe-contract.d.ts +6 -0
- package/node_modules/@noodle-borg/service/dist/billing/stripe-contract.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/stripe-contract.js +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/stripe-contract.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/stripe-provider.d.ts +3 -0
- package/node_modules/@noodle-borg/service/dist/billing/stripe-provider.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/stripe-provider.js +27 -0
- package/node_modules/@noodle-borg/service/dist/billing/stripe-provider.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/stripe-service.d.ts +5 -4
- package/node_modules/@noodle-borg/service/dist/billing/stripe-service.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/stripe-service.js +112 -43
- package/node_modules/@noodle-borg/service/dist/billing/stripe-service.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/stripe-store.d.ts +35 -5
- package/node_modules/@noodle-borg/service/dist/billing/stripe-store.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/stripe-store.js +8 -1
- package/node_modules/@noodle-borg/service/dist/billing/stripe-store.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/build-info.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/build-info.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/build-info.js +11 -0
- package/node_modules/@noodle-borg/service/dist/build-info.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.d.ts +30 -0
- package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.js +311 -0
- package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.d.ts +69 -0
- package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.js +118 -0
- package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/developer-mcp/mount.d.ts +29 -0
- package/node_modules/@noodle-borg/service/dist/developer-mcp/mount.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/developer-mcp/mount.js +223 -0
- package/node_modules/@noodle-borg/service/dist/developer-mcp/mount.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/developer-mcp/service-options.d.ts +18 -0
- package/node_modules/@noodle-borg/service/dist/developer-mcp/service-options.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/developer-mcp/service-options.js +26 -0
- package/node_modules/@noodle-borg/service/dist/developer-mcp/service-options.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/index.d.ts +5 -0
- package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/index.js +5 -0
- package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/main.js +1 -0
- package/node_modules/@noodle-borg/service/dist/main.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/app.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/app.js +5 -0
- package/node_modules/@noodle-borg/service/dist/oauth/app.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.d.ts +6 -0
- package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.js +28 -0
- package/node_modules/@noodle-borg/service/dist/oauth/consent-claims.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-authorizer.d.ts +48 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-authorizer.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-authorizer.js +90 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-authorizer.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-bootstrap.d.ts +18 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-bootstrap.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-bootstrap.js +29 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-bootstrap.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.d.ts +22 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.js +144 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-flow.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-page.d.ts +12 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-page.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-page.js +61 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-page.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-store-postgres.d.ts +11 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-store-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-store-postgres.js +89 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant-store-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant.d.ts +48 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant.js +123 -0
- package/node_modules/@noodle-borg/service/dist/oauth/developer-grant.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/paths.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/paths.js +2 -0
- package/node_modules/@noodle-borg/service/dist/oauth/paths.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/provider.d.ts +6 -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 +53 -0
- package/node_modules/@noodle-borg/service/dist/oauth/provider.js.map +1 -1
- 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 +17 -6
- 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 +3 -0
- package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/store.js +2 -0
- package/node_modules/@noodle-borg/service/dist/oauth/store.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.d.ts +2 -0
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.js +8 -0
- package/node_modules/@noodle-borg/service/dist/oauth/token-issuer.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.d.ts +52 -0
- package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.js +120 -0
- package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/options.d.ts +7 -1
- package/node_modules/@noodle-borg/service/dist/options.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.d.ts +2 -0
- package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.js +4 -4
- package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/analytics.d.ts +4 -3
- package/node_modules/@noodle-borg/service/dist/routes/analytics.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/analytics.js +7 -7
- package/node_modules/@noodle-borg/service/dist/routes/analytics.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts +3 -2
- package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/apps.js +28 -7
- package/node_modules/@noodle-borg/service/dist/routes/apps.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/billing-stripe.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/billing-stripe.js +4 -2
- package/node_modules/@noodle-borg/service/dist/routes/billing-stripe.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts +12 -1
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.js +36 -4
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts +4 -3
- package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/deployments.js +26 -18
- package/node_modules/@noodle-borg/service/dist/routes/deployments.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/diagnostics.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/diagnostics.js +8 -105
- package/node_modules/@noodle-borg/service/dist/routes/diagnostics.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts +3 -2
- package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/envs.js +9 -5
- package/node_modules/@noodle-borg/service/dist/routes/envs.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/logs.d.ts +2 -1
- package/node_modules/@noodle-borg/service/dist/routes/logs.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/logs.js +3 -3
- package/node_modules/@noodle-borg/service/dist/routes/logs.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/plans.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/plans.js +3 -14
- package/node_modules/@noodle-borg/service/dist/routes/plans.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/policies.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/policies.js +3 -14
- package/node_modules/@noodle-borg/service/dist/routes/policies.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.d.ts +8 -0
- package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.js +51 -0
- package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts +2 -0
- package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js +6 -6
- package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/rollback.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/rollback.js +25 -86
- package/node_modules/@noodle-borg/service/dist/routes/rollback.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve-resource-auth.d.ts +11 -0
- package/node_modules/@noodle-borg/service/dist/serve-resource-auth.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/serve-resource-auth.js +62 -0
- package/node_modules/@noodle-borg/service/dist/serve-resource-auth.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve.js +19 -62
- 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 +25 -45
- package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts +2 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js +35 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js.map +1 -1
- package/node_modules/@noodle-borg/service/package.json +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type DeveloperCapability } from '@noodle-borg/developer-mcp';
|
|
2
|
+
export interface DeveloperAccessGrant {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly clientId: string;
|
|
5
|
+
readonly subject: string;
|
|
6
|
+
readonly org: string;
|
|
7
|
+
readonly environments: readonly string[];
|
|
8
|
+
readonly capabilities: readonly DeveloperCapability[];
|
|
9
|
+
readonly createdAt: string;
|
|
10
|
+
readonly updatedAt: string;
|
|
11
|
+
readonly expiresAt?: string;
|
|
12
|
+
readonly revokedAt?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface CreateDeveloperAccessGrant {
|
|
15
|
+
readonly clientId: string;
|
|
16
|
+
readonly subject: string;
|
|
17
|
+
readonly org: string;
|
|
18
|
+
readonly environments: readonly string[];
|
|
19
|
+
readonly capabilities: readonly DeveloperCapability[];
|
|
20
|
+
readonly expiresAt?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface DeveloperGrantStore {
|
|
23
|
+
create(input: CreateDeveloperAccessGrant): Promise<DeveloperAccessGrant>;
|
|
24
|
+
get(id: string): Promise<DeveloperAccessGrant | undefined>;
|
|
25
|
+
revoke(id: string, at: string): Promise<DeveloperAccessGrant | undefined>;
|
|
26
|
+
}
|
|
27
|
+
export interface ActiveDeveloperGrantInput {
|
|
28
|
+
readonly subject: string;
|
|
29
|
+
readonly clientId: string;
|
|
30
|
+
readonly at: string;
|
|
31
|
+
}
|
|
32
|
+
export interface DeveloperGrantFactoryOptions {
|
|
33
|
+
readonly now?: () => string;
|
|
34
|
+
readonly id?: () => string;
|
|
35
|
+
}
|
|
36
|
+
export type InMemoryDeveloperGrantStoreOptions = DeveloperGrantFactoryOptions;
|
|
37
|
+
export declare class InMemoryDeveloperGrantStore implements DeveloperGrantStore {
|
|
38
|
+
#private;
|
|
39
|
+
constructor(options?: InMemoryDeveloperGrantStoreOptions);
|
|
40
|
+
create(input: CreateDeveloperAccessGrant): Promise<DeveloperAccessGrant>;
|
|
41
|
+
get(id: string): Promise<DeveloperAccessGrant | undefined>;
|
|
42
|
+
revoke(id: string, at: string): Promise<DeveloperAccessGrant | undefined>;
|
|
43
|
+
}
|
|
44
|
+
export declare function activeDeveloperGrant(grant: DeveloperAccessGrant, input: ActiveDeveloperGrantInput): boolean;
|
|
45
|
+
export declare function createDeveloperAccessGrantRecord(input: CreateDeveloperAccessGrant, options?: DeveloperGrantFactoryOptions): DeveloperAccessGrant;
|
|
46
|
+
export declare function normalizeDeveloperAccessGrant(grant: DeveloperAccessGrant): DeveloperAccessGrant;
|
|
47
|
+
export declare function normalizeDeveloperGrantTimestamp(label: string, value: string): string;
|
|
48
|
+
//# sourceMappingURL=developer-grant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"developer-grant.d.ts","sourceRoot":"","sources":["../../src/oauth/developer-grant.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,mBAAmB,EAAyB,MAAM,4BAA4B,CAAC;AAI7F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,kCAAkC,GAAG,4BAA4B,CAAC;AAE9E,qBAAa,2BAA4B,YAAW,mBAAmB;;gBAKzD,OAAO,GAAE,kCAAuC;IAKtD,MAAM,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IASxE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAK1D,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;CAahF;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAQT;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,0BAA0B,EACjC,OAAO,GAAE,4BAAiC,GACzC,oBAAoB,CAgBtB;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,CAkC/F;AAUD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIrF"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { isDeveloperCapability } from '@noodle-borg/developer-mcp';
|
|
3
|
+
import { validateSlug } from '../store/validate.js';
|
|
4
|
+
export class InMemoryDeveloperGrantStore {
|
|
5
|
+
#records = new Map();
|
|
6
|
+
#now;
|
|
7
|
+
#id;
|
|
8
|
+
constructor(options = {}) {
|
|
9
|
+
this.#now = options.now ?? (() => new Date().toISOString());
|
|
10
|
+
this.#id = options.id ?? randomUUID;
|
|
11
|
+
}
|
|
12
|
+
async create(input) {
|
|
13
|
+
const record = createDeveloperAccessGrantRecord(input, { now: this.#now, id: this.#id });
|
|
14
|
+
if (this.#records.has(record.id)) {
|
|
15
|
+
throw new Error(`developer grant "${record.id}" already exists`);
|
|
16
|
+
}
|
|
17
|
+
this.#records.set(record.id, record);
|
|
18
|
+
return cloneGrant(record);
|
|
19
|
+
}
|
|
20
|
+
async get(id) {
|
|
21
|
+
const record = this.#records.get(id);
|
|
22
|
+
return record === undefined ? undefined : cloneGrant(record);
|
|
23
|
+
}
|
|
24
|
+
async revoke(id, at) {
|
|
25
|
+
const record = this.#records.get(id);
|
|
26
|
+
if (record === undefined)
|
|
27
|
+
return undefined;
|
|
28
|
+
if (record.revokedAt !== undefined)
|
|
29
|
+
return cloneGrant(record);
|
|
30
|
+
const revokedAt = normalizeDeveloperGrantTimestamp('revokedAt', at);
|
|
31
|
+
if (revokedAt < record.createdAt) {
|
|
32
|
+
throw new Error('developer grant revokedAt must not be before createdAt');
|
|
33
|
+
}
|
|
34
|
+
const revoked = normalizeDeveloperAccessGrant({ ...record, revokedAt, updatedAt: revokedAt });
|
|
35
|
+
this.#records.set(id, revoked);
|
|
36
|
+
return cloneGrant(revoked);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export function activeDeveloperGrant(grant, input) {
|
|
40
|
+
const at = normalizeDeveloperGrantTimestamp('authorization time', input.at);
|
|
41
|
+
return (grant.subject === input.subject &&
|
|
42
|
+
grant.clientId === input.clientId &&
|
|
43
|
+
grant.revokedAt === undefined &&
|
|
44
|
+
(grant.expiresAt === undefined || grant.expiresAt > at));
|
|
45
|
+
}
|
|
46
|
+
export function createDeveloperAccessGrantRecord(input, options = {}) {
|
|
47
|
+
const createdAt = normalizeDeveloperGrantTimestamp('createdAt', options.now?.() ?? new Date().toISOString());
|
|
48
|
+
return normalizeDeveloperAccessGrant({
|
|
49
|
+
id: options.id?.() ?? randomUUID(),
|
|
50
|
+
clientId: input.clientId,
|
|
51
|
+
subject: input.subject,
|
|
52
|
+
org: input.org,
|
|
53
|
+
environments: input.environments,
|
|
54
|
+
capabilities: input.capabilities,
|
|
55
|
+
createdAt,
|
|
56
|
+
updatedAt: createdAt,
|
|
57
|
+
...(input.expiresAt === undefined ? {} : { expiresAt: input.expiresAt }),
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
export function normalizeDeveloperAccessGrant(grant) {
|
|
61
|
+
const createdAt = normalizeDeveloperGrantTimestamp('createdAt', grant.createdAt);
|
|
62
|
+
const updatedAt = normalizeDeveloperGrantTimestamp('updatedAt', grant.updatedAt);
|
|
63
|
+
const expiresAt = grant.expiresAt === undefined
|
|
64
|
+
? undefined
|
|
65
|
+
: normalizeDeveloperGrantTimestamp('expiresAt', grant.expiresAt);
|
|
66
|
+
const revokedAt = grant.revokedAt === undefined
|
|
67
|
+
? undefined
|
|
68
|
+
: normalizeDeveloperGrantTimestamp('revokedAt', grant.revokedAt);
|
|
69
|
+
if (updatedAt < createdAt)
|
|
70
|
+
throw new Error('developer grant updatedAt must not be before createdAt');
|
|
71
|
+
if (expiresAt !== undefined && expiresAt <= createdAt) {
|
|
72
|
+
throw new Error('developer grant expiresAt must be after createdAt');
|
|
73
|
+
}
|
|
74
|
+
if (revokedAt !== undefined && revokedAt < createdAt) {
|
|
75
|
+
throw new Error('developer grant revokedAt must not be before createdAt');
|
|
76
|
+
}
|
|
77
|
+
return freezeGrant({
|
|
78
|
+
id: validateScalar('developer grant ID', grant.id),
|
|
79
|
+
clientId: validateScalar('OAuth client ID', grant.clientId),
|
|
80
|
+
subject: validateScalar('subject', grant.subject),
|
|
81
|
+
org: validateSlug('org', grant.org),
|
|
82
|
+
environments: normalizeNonEmpty('environment', grant.environments, (value) => validateSlug('env', value)),
|
|
83
|
+
capabilities: normalizeNonEmpty('capability', grant.capabilities, validateCapability),
|
|
84
|
+
createdAt,
|
|
85
|
+
updatedAt,
|
|
86
|
+
...(expiresAt === undefined ? {} : { expiresAt }),
|
|
87
|
+
...(revokedAt === undefined ? {} : { revokedAt }),
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function validateScalar(label, value) {
|
|
91
|
+
const normalized = value.trim();
|
|
92
|
+
if (normalized.length === 0 || normalized.length > 200) {
|
|
93
|
+
throw new Error(`${label} must be between 1 and 200 characters`);
|
|
94
|
+
}
|
|
95
|
+
return normalized;
|
|
96
|
+
}
|
|
97
|
+
export function normalizeDeveloperGrantTimestamp(label, value) {
|
|
98
|
+
const parsed = new Date(value);
|
|
99
|
+
if (!Number.isFinite(parsed.getTime()))
|
|
100
|
+
throw new Error(`${label} must be an ISO timestamp`);
|
|
101
|
+
return parsed.toISOString();
|
|
102
|
+
}
|
|
103
|
+
function validateCapability(value) {
|
|
104
|
+
if (!isDeveloperCapability(value))
|
|
105
|
+
throw new Error(`invalid developer capability "${String(value)}"`);
|
|
106
|
+
return value;
|
|
107
|
+
}
|
|
108
|
+
function normalizeNonEmpty(label, values, validate) {
|
|
109
|
+
if (values.length === 0)
|
|
110
|
+
throw new Error(`developer grant requires at least one ${label}`);
|
|
111
|
+
return Object.freeze([...new Set(values.map(validate))].sort());
|
|
112
|
+
}
|
|
113
|
+
function freezeGrant(grant) {
|
|
114
|
+
return Object.freeze({
|
|
115
|
+
...grant,
|
|
116
|
+
environments: Object.freeze([...grant.environments]),
|
|
117
|
+
capabilities: Object.freeze([...grant.capabilities]),
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
function cloneGrant(grant) {
|
|
121
|
+
return freezeGrant(grant);
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=developer-grant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"developer-grant.js","sourceRoot":"","sources":["../../src/oauth/developer-grant.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/oauth/paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/oauth/paths.ts"],"names":[],"mappings":"AAoBA,2GAA2G;AAC3G,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D"}
|
|
@@ -6,9 +6,11 @@
|
|
|
6
6
|
const AUTH_SERVER_PATHS = new Set([
|
|
7
7
|
'/authorize',
|
|
8
8
|
'/token',
|
|
9
|
+
'/revoke',
|
|
9
10
|
'/register',
|
|
10
11
|
'/oauth/google/callback',
|
|
11
12
|
'/oauth/consent',
|
|
13
|
+
'/oauth/developer-grant',
|
|
12
14
|
'/oauth/customer/firebase/authorize',
|
|
13
15
|
'/oauth/customer/firebase/callback',
|
|
14
16
|
'/oauth/customer/microsoft/callback',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/oauth/paths.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IACrD,YAAY;IACZ,QAAQ;IACR,WAAW;IACX,wBAAwB;IACxB,gBAAgB;IAChB,oCAAoC;IACpC,mCAAmC;IACnC,oCAAoC;IACpC,yCAAyC;IACzC,wBAAwB;CACzB,CAAC,CAAC;AAEH,2GAA2G;AAC3G,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC"}
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/oauth/paths.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IACrD,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,WAAW;IACX,wBAAwB;IACxB,gBAAgB;IAChB,wBAAwB;IACxB,oCAAoC;IACpC,mCAAmC;IACnC,oCAAoC;IACpC,yCAAyC;IACzC,wBAAwB;CACzB,CAAC,CAAC;AAEH,2GAA2G;AAC3G,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { OAuthRegisteredClientsStore } from '@modelcontextprotocol/sdk/server/auth/clients.js';
|
|
2
2
|
import type { AuthorizationParams, OAuthServerProvider } from '@modelcontextprotocol/sdk/server/auth/provider.js';
|
|
3
3
|
import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
|
|
4
|
-
import type { OAuthClientInformationFull, OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth.js';
|
|
4
|
+
import type { OAuthClientInformationFull, OAuthTokenRevocationRequest, OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth.js';
|
|
5
5
|
import { type SigningKeyProvider, type VerifiedIdentity } from '@noodle-borg/auth';
|
|
6
6
|
import { type Logger } from '@noodle-borg/transport-http';
|
|
7
7
|
import type { Request, Response } from 'express';
|
|
8
8
|
import type { SignupAuthorizer } from '../auth/deploy-gate.js';
|
|
9
9
|
import type { SecretEnvelope, TenantBridgeAuthConfig } from '../store.js';
|
|
10
|
+
import type { DeveloperGrantAuthorizer } from './developer-grant-authorizer.js';
|
|
10
11
|
import type { GoogleAuthenticator } from './google.js';
|
|
11
12
|
import type { OAuthStore } from './store.js';
|
|
12
13
|
export interface NoodleOAuthProviderConfig {
|
|
@@ -18,6 +19,7 @@ export interface NoodleOAuthProviderConfig {
|
|
|
18
19
|
/** When set, only users whose email ends with this domain may authorize (alpha gate, e.g. `@noodleseed.com`). */
|
|
19
20
|
readonly allowedEmailDomain?: string;
|
|
20
21
|
readonly signupAuthorizer?: SignupAuthorizer;
|
|
22
|
+
readonly developerGrantAuthorizer?: DeveloperGrantAuthorizer;
|
|
21
23
|
/** Compatibility hook for OAuth clients that cannot send RFC 8707 `resource` during authorization. */
|
|
22
24
|
readonly defaultResourceForClient?: (client: OAuthClientInformationFull) => string | undefined;
|
|
23
25
|
/** Resolve bridge auth for a resource-bound tenant MCP URL, when the deployment uses Noodle-managed bridge auth. */
|
|
@@ -56,6 +58,8 @@ export declare class NoodleOAuthProvider implements OAuthServerProvider {
|
|
|
56
58
|
/** Verify an access token (issuer/signature/expiry). Provided for interface completeness — the data-plane
|
|
57
59
|
* resource server verifies with its own audience-bound verifier; this is not on the AS request path. */
|
|
58
60
|
verifyAccessToken(token: string): Promise<AuthInfo>;
|
|
61
|
+
/** RFC 7009 revocation also invalidates the exact developer grant bound to this client token. */
|
|
62
|
+
revokeToken(client: OAuthClientInformationFull, request: OAuthTokenRevocationRequest): Promise<void>;
|
|
59
63
|
/** RFC 8414 authorization-server metadata (plus our `jwks_uri`), served at `/.well-known/oauth-authorization-server`. */
|
|
60
64
|
metadata(): Record<string, unknown>;
|
|
61
65
|
/** The public JWKS the resource server (and external validators) read to verify access tokens. */
|
|
@@ -66,6 +70,7 @@ export declare class NoodleOAuthProvider implements OAuthServerProvider {
|
|
|
66
70
|
handleGoogleCallback(req: Request, res: Response): Promise<void>;
|
|
67
71
|
/** Consent decision: on approve, mint a PKCE-bound code and redirect to the client; on deny, redirect with an error. */
|
|
68
72
|
handleConsent(req: Request, res: Response): Promise<void>;
|
|
73
|
+
handleDeveloperGrant(req: Request, res: Response): Promise<void>;
|
|
69
74
|
/** Customer bridge callback: verify the tenant app's customer token and issue a normal OAuth code. */
|
|
70
75
|
handleFirebaseCustomerAuthorize(req: Request, res: Response): Promise<void>;
|
|
71
76
|
handleFirebaseCustomerCallback(req: Request, res: Response): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/oauth/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAMpG,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mDAAmD,CAAC;AAE3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,KAAK,EACV,0BAA0B,EAC1B,WAAW,EACZ,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,MAAM,EAAc,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAU1E,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,aAAa,CAAC;AAkBvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAY7C,MAAM,WAAW,yBAAyB;IACxC,gGAAgG;IAChG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,iHAAiH;IACjH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAC7C,sGAAsG;IACtG,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/F,oHAAoH;IACpH,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CACvC,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC;IACjD,4GAA4G;IAC5G,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CACnC,IAAI,EAAE,sBAAsB,EAC5B,KAAK,EAAE,MAAM,KACV,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACjC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAClC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,wFAAwF;IACxF,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,kFAAkF;IAClF,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,2FAA2F;IAC3F,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED,wEAAwE;AACxE,qBAAa,mBAAoB,YAAW,mBAAmB;;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/oauth/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { jwtVerify, SignJWT } from 'jose';
|
|
|
6
6
|
import { renderConsentPage } from './consent.js';
|
|
7
7
|
import { isConsentClaims } from './consent-claims.js';
|
|
8
8
|
import { bridgeAuthorizeUrl, customerBridgeAuthorizeFields, customerBridgeCallbackFields, microsoftCallbackUrl, renderFirebaseAuthorizePage, } from './customer-bridge.js';
|
|
9
|
+
import { DeveloperGrantOAuthFlow, isDeveloperResourceForIssuer } from './developer-grant-flow.js';
|
|
9
10
|
import { storedOAuthOwnerPreferences, verifiedIdentityOwnerPreferences, } from './identity-preferences.js';
|
|
10
11
|
import { exchangeMicrosoftAuthorizationCode, isConfiguredMicrosoftBridge, verifyMicrosoftIdToken, } from './microsoft.js';
|
|
11
12
|
import { defaultResourceFromClient, hostOf, normalizeResource, resourcePath, trimTrailingSlash, } from './provider-util.js';
|
|
@@ -31,6 +32,7 @@ export class NoodleOAuthProvider {
|
|
|
31
32
|
#logger;
|
|
32
33
|
#now;
|
|
33
34
|
#tokenIssuer;
|
|
35
|
+
#developerGrantFlow;
|
|
34
36
|
#verifier;
|
|
35
37
|
constructor(config) {
|
|
36
38
|
this.#config = config;
|
|
@@ -52,6 +54,17 @@ export class NoodleOAuthProvider {
|
|
|
52
54
|
codeTtl: this.#codeTtl,
|
|
53
55
|
nowSeconds: () => this.#nowSeconds(),
|
|
54
56
|
});
|
|
57
|
+
this.#developerGrantFlow =
|
|
58
|
+
config.developerGrantAuthorizer === undefined
|
|
59
|
+
? undefined
|
|
60
|
+
: new DeveloperGrantOAuthFlow({
|
|
61
|
+
issuer: config.issuer,
|
|
62
|
+
signer: config.signer,
|
|
63
|
+
store: config.store,
|
|
64
|
+
authorizer: config.developerGrantAuthorizer,
|
|
65
|
+
tokenIssuer: this.#tokenIssuer,
|
|
66
|
+
tokenTtlSeconds: this.#consentTtl,
|
|
67
|
+
});
|
|
55
68
|
}
|
|
56
69
|
get clientsStore() {
|
|
57
70
|
return {
|
|
@@ -142,6 +155,9 @@ export class NoodleOAuthProvider {
|
|
|
142
155
|
...(record.identityProvider !== undefined
|
|
143
156
|
? { identityProvider: record.identityProvider }
|
|
144
157
|
: {}),
|
|
158
|
+
...(record.developerGrantId !== undefined
|
|
159
|
+
? { developerGrantId: record.developerGrantId }
|
|
160
|
+
: {}),
|
|
145
161
|
});
|
|
146
162
|
}
|
|
147
163
|
/** Rotate a refresh token with grace/recovery handling for concurrent or retried refreshes. */
|
|
@@ -189,6 +205,10 @@ export class NoodleOAuthProvider {
|
|
|
189
205
|
...(identity.identityProvider !== undefined
|
|
190
206
|
? { identityProvider: identity.identityProvider }
|
|
191
207
|
: {}),
|
|
208
|
+
...(identity.developerGrantId !== undefined
|
|
209
|
+
? { developerGrantId: identity.developerGrantId }
|
|
210
|
+
: {}),
|
|
211
|
+
oauthClientId: client.client_id,
|
|
192
212
|
},
|
|
193
213
|
});
|
|
194
214
|
return {
|
|
@@ -212,6 +232,24 @@ export class NoodleOAuthProvider {
|
|
|
212
232
|
...(identity.expiresAt !== undefined ? { expiresAt: identity.expiresAt } : {}),
|
|
213
233
|
};
|
|
214
234
|
}
|
|
235
|
+
/** RFC 7009 revocation also invalidates the exact developer grant bound to this client token. */
|
|
236
|
+
async revokeToken(client, request) {
|
|
237
|
+
try {
|
|
238
|
+
const identity = await this.#verify()(request.token);
|
|
239
|
+
if (identity?.developerGrantId === undefined || identity.oauthClientId !== client.client_id) {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
await this.#config.developerGrantAuthorizer?.revoke({
|
|
243
|
+
id: identity.developerGrantId,
|
|
244
|
+
clientId: client.client_id,
|
|
245
|
+
subject: identity.subject,
|
|
246
|
+
at: new Date(this.#now()).toISOString(),
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
catch {
|
|
250
|
+
// RFC 7009 requires invalid and already-revoked tokens to be indistinguishable no-ops.
|
|
251
|
+
}
|
|
252
|
+
}
|
|
215
253
|
/** RFC 8414 authorization-server metadata (plus our `jwks_uri`), served at `/.well-known/oauth-authorization-server`. */
|
|
216
254
|
metadata() {
|
|
217
255
|
const issuer = trimTrailingSlash(this.#config.issuer);
|
|
@@ -261,6 +299,14 @@ export class NoodleOAuthProvider {
|
|
|
261
299
|
return;
|
|
262
300
|
}
|
|
263
301
|
const preferences = storedOAuthOwnerPreferences(identity);
|
|
302
|
+
if (isDeveloperResourceForIssuer(pending.resource, this.#config.issuer)) {
|
|
303
|
+
if (this.#developerGrantFlow === undefined) {
|
|
304
|
+
res.status(400).type('text/plain').send('developer access is not configured');
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
await this.#developerGrantFlow.renderSelection(pending, identity, res);
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
264
310
|
// Remembered consent: if this human already approved this (client, subject, resource), skip the
|
|
265
311
|
// interstitial and issue the code directly — a re-authorizing client (e.g. ChatGPT, which does not persist
|
|
266
312
|
// its MCP session) never re-prompts the user. A new client or resource has no grant and still consents
|
|
@@ -348,6 +394,13 @@ export class NoodleOAuthProvider {
|
|
|
348
394
|
...(claims.scope !== undefined ? { scope: claims.scope } : {}),
|
|
349
395
|
});
|
|
350
396
|
}
|
|
397
|
+
async handleDeveloperGrant(req, res) {
|
|
398
|
+
if (this.#developerGrantFlow === undefined) {
|
|
399
|
+
res.status(400).type('text/plain').send('developer access is not configured');
|
|
400
|
+
return;
|
|
401
|
+
}
|
|
402
|
+
await this.#developerGrantFlow.handleDecision(req, res);
|
|
403
|
+
}
|
|
351
404
|
/** Customer bridge callback: verify the tenant app's customer token and issue a normal OAuth code. */
|
|
352
405
|
async handleFirebaseCustomerAuthorize(req, res) {
|
|
353
406
|
const input = customerBridgeAuthorizeFields(req);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/oauth/provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/oauth/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-postgres.d.ts","sourceRoot":"","sources":["../../src/oauth/store-postgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,IAAI,CAAC;AAC3C,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,UAAU,EACV,0BAA0B,EAE1B,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,YAAW,UAAU;;gBAGvC,IAAI,EAAE,IAAI;IAItB,uGAAuG;IACjG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"store-postgres.d.ts","sourceRoot":"","sources":["../../src/oauth/store-postgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,IAAI,CAAC;AAC3C,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,UAAU,EACV,0BAA0B,EAE1B,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,YAAW,UAAU;;gBAGvC,IAAI,EAAE,IAAI;IAItB,uGAAuG;IACjG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAyH7B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAQ5E,SAAS,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IASlF,0BAA0B,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7E,2BAA2B,CAC/B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAmB5C,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BvE,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAShF,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAUnF,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB7D,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAU3E,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5D,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC;IASb,sBAAsB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBxE,sBAAsB,CAC1B,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAkBjD;;;;OAIG;IACG,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;CAkHhF"}
|
|
@@ -48,6 +48,7 @@ export class PostgresOAuthStore {
|
|
|
48
48
|
scope text,
|
|
49
49
|
identity_kind text,
|
|
50
50
|
identity_provider text,
|
|
51
|
+
developer_grant_id text,
|
|
51
52
|
expires_at timestamptz NOT NULL
|
|
52
53
|
)
|
|
53
54
|
`);
|
|
@@ -63,6 +64,7 @@ export class PostgresOAuthStore {
|
|
|
63
64
|
scope text,
|
|
64
65
|
identity_kind text,
|
|
65
66
|
identity_provider text,
|
|
67
|
+
developer_grant_id text,
|
|
66
68
|
expires_at timestamptz NOT NULL,
|
|
67
69
|
family_id text,
|
|
68
70
|
rotated_at timestamptz,
|
|
@@ -73,10 +75,12 @@ export class PostgresOAuthStore {
|
|
|
73
75
|
await this.#pool.query('ALTER TABLE oauth_authorization_codes ADD COLUMN IF NOT EXISTS owner_locale text');
|
|
74
76
|
await this.#pool.query('ALTER TABLE oauth_authorization_codes ADD COLUMN IF NOT EXISTS owner_time_zone text');
|
|
75
77
|
await this.#pool.query('ALTER TABLE oauth_authorization_codes ADD COLUMN IF NOT EXISTS identity_provider text');
|
|
78
|
+
await this.#pool.query('ALTER TABLE oauth_authorization_codes ADD COLUMN IF NOT EXISTS developer_grant_id text');
|
|
76
79
|
await this.#pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS identity_kind text');
|
|
77
80
|
await this.#pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS owner_locale text');
|
|
78
81
|
await this.#pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS owner_time_zone text');
|
|
79
82
|
await this.#pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS identity_provider text');
|
|
83
|
+
await this.#pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS developer_grant_id text');
|
|
80
84
|
// Rotation hardening columns + family index (idempotent; covers tables created before this change).
|
|
81
85
|
await this.#pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS family_id text');
|
|
82
86
|
await this.#pool.query('ALTER TABLE oauth_refresh_tokens ADD COLUMN IF NOT EXISTS rotated_at timestamptz');
|
|
@@ -144,8 +148,9 @@ export class PostgresOAuthStore {
|
|
|
144
148
|
async createAuthorizationCode(record) {
|
|
145
149
|
await this.#pool.query(`INSERT INTO oauth_authorization_codes
|
|
146
150
|
(code, client_id, code_challenge, redirect_uri, resource, owner_subject, owner_email,
|
|
147
|
-
owner_locale, owner_time_zone, scope, identity_kind, identity_provider,
|
|
148
|
-
|
|
151
|
+
owner_locale, owner_time_zone, scope, identity_kind, identity_provider, developer_grant_id,
|
|
152
|
+
expires_at)
|
|
153
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, to_timestamp($14))`, [
|
|
149
154
|
record.code,
|
|
150
155
|
record.clientId,
|
|
151
156
|
record.codeChallenge,
|
|
@@ -158,6 +163,7 @@ export class PostgresOAuthStore {
|
|
|
158
163
|
record.scope ?? null,
|
|
159
164
|
record.identityKind ?? null,
|
|
160
165
|
record.identityProvider ?? null,
|
|
166
|
+
record.developerGrantId ?? null,
|
|
161
167
|
record.expiresAt,
|
|
162
168
|
]);
|
|
163
169
|
}
|
|
@@ -176,8 +182,8 @@ export class PostgresOAuthStore {
|
|
|
176
182
|
async createRefreshToken(record) {
|
|
177
183
|
await this.#pool.query(`INSERT INTO oauth_refresh_tokens
|
|
178
184
|
(token, client_id, owner_subject, owner_email, owner_locale, owner_time_zone, resource,
|
|
179
|
-
scope, identity_kind, identity_provider, expires_at, family_id)
|
|
180
|
-
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, to_timestamp($
|
|
185
|
+
scope, identity_kind, identity_provider, developer_grant_id, expires_at, family_id)
|
|
186
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, to_timestamp($12), $13)`, [
|
|
181
187
|
record.token,
|
|
182
188
|
record.clientId,
|
|
183
189
|
record.ownerSubject,
|
|
@@ -188,6 +194,7 @@ export class PostgresOAuthStore {
|
|
|
188
194
|
record.scope ?? null,
|
|
189
195
|
record.identityKind ?? null,
|
|
190
196
|
record.identityProvider ?? null,
|
|
197
|
+
record.developerGrantId ?? null,
|
|
191
198
|
record.expiresAt,
|
|
192
199
|
record.familyId ?? null,
|
|
193
200
|
]);
|
|
@@ -309,8 +316,8 @@ export class PostgresOAuthStore {
|
|
|
309
316
|
async #insertSuccessor(client, old, newTokenHash, newExpiresAt, clientId) {
|
|
310
317
|
await client.query(`INSERT INTO oauth_refresh_tokens
|
|
311
318
|
(token, client_id, owner_subject, owner_email, owner_locale, owner_time_zone, resource,
|
|
312
|
-
scope, identity_kind, identity_provider, expires_at, family_id)
|
|
313
|
-
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, to_timestamp($
|
|
319
|
+
scope, identity_kind, identity_provider, developer_grant_id, expires_at, family_id)
|
|
320
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, to_timestamp($12), $13)`, [
|
|
314
321
|
newTokenHash,
|
|
315
322
|
clientId,
|
|
316
323
|
old.owner_subject,
|
|
@@ -321,6 +328,7 @@ export class PostgresOAuthStore {
|
|
|
321
328
|
old.scope,
|
|
322
329
|
old.identity_kind,
|
|
323
330
|
old.identity_provider,
|
|
331
|
+
old.developer_grant_id,
|
|
324
332
|
newExpiresAt,
|
|
325
333
|
old.family_id,
|
|
326
334
|
]);
|
|
@@ -338,6 +346,7 @@ function refreshRowToRecord(row) {
|
|
|
338
346
|
...(row.scope !== null ? { scope: row.scope } : {}),
|
|
339
347
|
...(row.identity_kind !== null ? { identityKind: row.identity_kind } : {}),
|
|
340
348
|
...(row.identity_provider !== null ? { identityProvider: row.identity_provider } : {}),
|
|
349
|
+
...(row.developer_grant_id !== null ? { developerGrantId: row.developer_grant_id } : {}),
|
|
341
350
|
expiresAt: epochSeconds(row.expires_at),
|
|
342
351
|
...(row.family_id !== null ? { familyId: row.family_id } : {}),
|
|
343
352
|
...(row.rotated_at !== null ? { rotatedAt: epochSeconds(row.rotated_at) } : {}),
|
|
@@ -355,6 +364,7 @@ function rowIdentity(row) {
|
|
|
355
364
|
...(row.family_id !== null ? { familyId: row.family_id } : {}),
|
|
356
365
|
...(row.identity_kind !== null ? { identityKind: row.identity_kind } : {}),
|
|
357
366
|
...(row.identity_provider !== null ? { identityProvider: row.identity_provider } : {}),
|
|
367
|
+
...(row.developer_grant_id !== null ? { developerGrantId: row.developer_grant_id } : {}),
|
|
358
368
|
};
|
|
359
369
|
}
|
|
360
370
|
function sameFamily(a, b) {
|
|
@@ -376,6 +386,7 @@ function authCodeRowToRecord(row) {
|
|
|
376
386
|
...(row.scope !== null ? { scope: row.scope } : {}),
|
|
377
387
|
...(row.identity_kind !== null ? { identityKind: row.identity_kind } : {}),
|
|
378
388
|
...(row.identity_provider !== null ? { identityProvider: row.identity_provider } : {}),
|
|
389
|
+
...(row.developer_grant_id !== null ? { developerGrantId: row.developer_grant_id } : {}),
|
|
379
390
|
expiresAt: epochSeconds(row.expires_at),
|
|
380
391
|
};
|
|
381
392
|
}
|