@noodleseed/one 0.7.0 → 0.10.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/banner.d.ts +11 -0
- package/dist/banner.d.ts.map +1 -0
- package/dist/banner.js +183 -0
- package/dist/banner.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/author-loop.d.ts.map +1 -1
- package/dist/commands/author-loop.js +78 -3
- package/dist/commands/author-loop.js.map +1 -1
- package/dist/commands/deploy-ops.d.ts +1 -30
- package/dist/commands/deploy-ops.d.ts.map +1 -1
- package/dist/commands/deploy-ops.js +79 -88
- package/dist/commands/deploy-ops.js.map +1 -1
- package/dist/commands/deploy-output.d.ts +31 -0
- package/dist/commands/deploy-output.d.ts.map +1 -0
- package/dist/commands/deploy-output.js +86 -0
- package/dist/commands/deploy-output.js.map +1 -0
- package/dist/commands/deploy-version-resolution.d.ts +20 -0
- package/dist/commands/deploy-version-resolution.d.ts.map +1 -0
- package/dist/commands/deploy-version-resolution.js +77 -0
- package/dist/commands/deploy-version-resolution.js.map +1 -0
- package/dist/commands/docs-mcp.d.ts +32 -0
- package/dist/commands/docs-mcp.d.ts.map +1 -0
- package/dist/commands/docs-mcp.js +66 -0
- package/dist/commands/docs-mcp.js.map +1 -0
- package/dist/commands/mcp-apps.d.ts.map +1 -1
- package/dist/commands/mcp-apps.js +38 -37
- package/dist/commands/mcp-apps.js.map +1 -1
- package/dist/commands/project-setup.d.ts +1 -1
- package/dist/commands/project-setup.d.ts.map +1 -1
- package/dist/commands/project-setup.js +36 -2
- package/dist/commands/project-setup.js.map +1 -1
- package/dist/commands/shared.d.ts +1 -0
- package/dist/commands/shared.d.ts.map +1 -1
- package/dist/commands/shared.js +10 -4
- package/dist/commands/shared.js.map +1 -1
- package/dist/deploy-version.d.ts +3 -0
- package/dist/deploy-version.d.ts.map +1 -0
- package/dist/deploy-version.js +28 -0
- package/dist/deploy-version.js.map +1 -0
- package/dist/deploy.d.ts +5 -1
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +27 -3
- package/dist/deploy.js.map +1 -1
- package/dist/dev.d.ts.map +1 -1
- package/dist/dev.js +9 -1
- package/dist/dev.js.map +1 -1
- package/dist/devtools-chat.d.ts +76 -0
- package/dist/devtools-chat.d.ts.map +1 -0
- package/dist/devtools-chat.js +114 -0
- package/dist/devtools-chat.js.map +1 -0
- package/dist/devtools-env.d.ts +16 -0
- package/dist/devtools-env.d.ts.map +1 -0
- package/dist/devtools-env.js +71 -0
- package/dist/devtools-env.js.map +1 -0
- package/dist/devtools-harness.d.ts +28 -0
- package/dist/devtools-harness.d.ts.map +1 -0
- package/dist/devtools-harness.js +387 -0
- package/dist/devtools-harness.js.map +1 -0
- package/dist/devtools-preview.d.ts +42 -0
- package/dist/devtools-preview.d.ts.map +1 -0
- package/dist/devtools-preview.js +394 -0
- package/dist/devtools-preview.js.map +1 -0
- package/dist/first-run-entry.d.ts +2 -0
- package/dist/first-run-entry.d.ts.map +1 -0
- package/dist/first-run-entry.js +36 -0
- package/dist/first-run-entry.js.map +1 -0
- package/dist/first-run.d.ts +26 -0
- package/dist/first-run.d.ts.map +1 -0
- package/dist/first-run.js +439 -0
- package/dist/first-run.js.map +1 -0
- package/dist/gradient.d.ts +46 -0
- package/dist/gradient.d.ts.map +1 -0
- package/dist/gradient.js +87 -0
- package/dist/gradient.js.map +1 -0
- package/dist/openapi-import.d.ts.map +1 -1
- package/dist/openapi-import.js +47 -8
- package/dist/openapi-import.js.map +1 -1
- package/dist/preview-session.d.ts +46 -0
- package/dist/preview-session.d.ts.map +1 -0
- package/dist/preview-session.js +132 -0
- package/dist/preview-session.js.map +1 -0
- package/dist/project.d.ts +2 -0
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +2 -0
- package/dist/project.js.map +1 -1
- package/dist/prompts.d.ts +61 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +209 -0
- package/dist/prompts.js.map +1 -0
- package/dist/react-widget-build.js +3 -1
- package/dist/react-widget-build.js.map +1 -1
- package/dist/status.d.ts +58 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +106 -0
- package/dist/status.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js +4 -0
- package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js.map +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 -0
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/compile-expr.d.ts +23 -0
- package/node_modules/@noodle-borg/connector-defs/dist/compile-expr.d.ts.map +1 -0
- package/node_modules/@noodle-borg/connector-defs/dist/compile-expr.js +41 -0
- package/node_modules/@noodle-borg/connector-defs/dist/compile-expr.js.map +1 -0
- package/node_modules/@noodle-borg/connector-defs/dist/compile.d.ts +2 -6
- package/node_modules/@noodle-borg/connector-defs/dist/compile.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/compile.js +10 -32
- package/node_modules/@noodle-borg/connector-defs/dist/compile.js.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/schema.d.ts +16 -0
- package/node_modules/@noodle-borg/connector-defs/dist/schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/schema.js +6 -0
- package/node_modules/@noodle-borg/connector-defs/dist/schema.js.map +1 -1
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.d.ts +7 -0
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.d.ts.map +1 -1
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.js +14 -5
- package/node_modules/@noodle-borg/connector-http/dist/http-connector.js.map +1 -1
- package/node_modules/@noodle-borg/module/dist/contract.d.ts +12 -0
- package/node_modules/@noodle-borg/module/dist/contract.d.ts.map +1 -1
- package/node_modules/@noodle-borg/module/dist/contract.js +41 -0
- package/node_modules/@noodle-borg/module/dist/contract.js.map +1 -1
- package/node_modules/@noodle-borg/openapi-import/dist/index.d.ts +4 -0
- package/node_modules/@noodle-borg/openapi-import/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/openapi-import/dist/index.js +27 -1
- package/node_modules/@noodle-borg/openapi-import/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/openapi-import/dist/response-schema.d.ts +50 -0
- package/node_modules/@noodle-borg/openapi-import/dist/response-schema.d.ts.map +1 -0
- package/node_modules/@noodle-borg/openapi-import/dist/response-schema.js +227 -0
- package/node_modules/@noodle-borg/openapi-import/dist/response-schema.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts +20 -2
- 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 +37 -2
- package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/deployment-versioning.d.ts +18 -0
- package/node_modules/@noodle-borg/service/dist/deployment-versioning.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/deployment-versioning.js +29 -0
- package/node_modules/@noodle-borg/service/dist/deployment-versioning.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/main.js +7 -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 +2 -1
- package/node_modules/@noodle-borg/service/dist/oauth/app.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/branding.d.ts +30 -0
- package/node_modules/@noodle-borg/service/dist/oauth/branding.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/branding.js +224 -0
- package/node_modules/@noodle-borg/service/dist/oauth/branding.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/oauth/consent.d.ts +0 -6
- package/node_modules/@noodle-borg/service/dist/oauth/consent.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/consent.js +23 -34
- package/node_modules/@noodle-borg/service/dist/oauth/consent.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/customer-bridge.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/customer-bridge.js +13 -28
- package/node_modules/@noodle-borg/service/dist/oauth/customer-bridge.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-helpers.d.ts +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-helpers.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-helpers.js +5 -3
- package/node_modules/@noodle-borg/service/dist/registry-helpers.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-targets.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/registry-targets.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-targets.js +4 -0
- package/node_modules/@noodle-borg/service/dist/registry-targets.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-types.d.ts +59 -0
- package/node_modules/@noodle-borg/service/dist/registry-types.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/registry-types.js +2 -0
- package/node_modules/@noodle-borg/service/dist/registry-types.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/registry.d.ts +8 -65
- package/node_modules/@noodle-borg/service/dist/registry.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry.js +100 -82
- package/node_modules/@noodle-borg/service/dist/registry.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/access-mode.d.ts +4 -0
- package/node_modules/@noodle-borg/service/dist/routes/access-mode.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/access-mode.js +15 -0
- package/node_modules/@noodle-borg/service/dist/routes/access-mode.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts +1 -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 +34 -21
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.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 +4 -6
- package/node_modules/@noodle-borg/service/dist/routes/rollback.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve.d.ts +6 -0
- package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve.js +72 -32
- package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/server-auth-bindings.d.ts +7 -0
- package/node_modules/@noodle-borg/service/dist/server-auth-bindings.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/server-auth-bindings.js +14 -0
- package/node_modules/@noodle-borg/service/dist/server-auth-bindings.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service.js +32 -3
- package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
- 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 +13 -2
- package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts +3 -2
- package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres.js +41 -9
- package/node_modules/@noodle-borg/service/dist/store/postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store.d.ts +9 -3
- package/node_modules/@noodle-borg/service/dist/store.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store.js +29 -27
- package/node_modules/@noodle-borg/service/dist/store.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts +1 -0
- package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/handler.js +37 -0
- package/node_modules/@noodle-borg/transport-http/dist/handler.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/index.d.ts +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/index.js.map +1 -1
- package/package.json +3 -2
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { renderOAuthPage } from './branding.js';
|
|
1
2
|
const FIREBASE_AUTHORIZE_PATH = '/oauth/customer/firebase/authorize';
|
|
2
3
|
const FIREBASE_CALLBACK_PATH = '/oauth/customer/firebase/callback';
|
|
3
4
|
export const MICROSOFT_CALLBACK_PATH = '/oauth/customer/microsoft/callback';
|
|
@@ -121,35 +122,14 @@ function firebaseWebConfig(auth) {
|
|
|
121
122
|
function htmlPage(input) {
|
|
122
123
|
const configJson = safeScriptJson(input.config ?? {});
|
|
123
124
|
const tenantJson = safeScriptJson(input.tenantId ?? null);
|
|
124
|
-
|
|
125
|
-
<html lang="en">
|
|
126
|
-
<head>
|
|
127
|
-
<meta charset="utf-8">
|
|
128
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
129
|
-
<title>${escapeHtml(input.title)}</title>
|
|
130
|
-
<style>
|
|
131
|
-
:root { color-scheme: light dark; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
|
|
132
|
-
body { min-height: 100vh; margin: 0; display: grid; place-items: center; background: #101010; color: #f5f1ea; }
|
|
133
|
-
main { width: min(100% - 32px, 440px); }
|
|
134
|
-
h1 { font-size: 1.5rem; line-height: 1.2; margin: 0 0 12px; }
|
|
135
|
-
p { color: #cfc7bc; line-height: 1.55; margin: 0 0 24px; }
|
|
136
|
-
button { width: 100%; border: 0; border-radius: 8px; padding: 12px 16px; font: inherit; font-weight: 650; background: #f5c0a8; color: #171412; cursor: pointer; }
|
|
137
|
-
button:disabled { cursor: not-allowed; opacity: .55; }
|
|
138
|
-
.error { color: #ffb4a8; }
|
|
139
|
-
</style>
|
|
140
|
-
</head>
|
|
141
|
-
<body>
|
|
142
|
-
<main>
|
|
143
|
-
<h1>${escapeHtml(input.title)}</h1>
|
|
144
|
-
<p class="${input.disabled ? 'error' : ''}" id="status">${escapeHtml(input.details)}</p>
|
|
125
|
+
const contentHtml = `<p class="ns-lede ${input.disabled ? 'ns-error' : ''}" id="status">${escapeHtml(input.details)}</p>
|
|
145
126
|
<form id="firebase-auth-form" method="post" action="${escapeAttribute(input.expectedRedirectUri)}">
|
|
146
127
|
<input type="hidden" name="state" value="${escapeAttribute(input.state)}">
|
|
147
128
|
<input type="hidden" name="id_token" id="id-token">
|
|
148
129
|
<input type="hidden" name="refresh_token" id="refresh-token">
|
|
149
|
-
<button type="button" id="firebase-sign-in" ${input.disabled ? 'disabled' : ''}>Continue with Google</button>
|
|
150
|
-
</form
|
|
151
|
-
|
|
152
|
-
<script type="module">
|
|
130
|
+
<div class="ns-row"><span class="btn-glow"><button type="button" id="firebase-sign-in" class="btn btn-primary" ${input.disabled ? 'disabled' : ''}><svg width="18" height="18" viewBox="0 0 18 18" style="flex:none" aria-hidden="true"><path fill="#4285F4" d="M17.64 9.205c0-.639-.057-1.252-.164-1.841H9v3.481h4.844a4.14 4.14 0 0 1-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615z"/><path fill="#34A853" d="M9 18c2.43 0 4.467-.806 5.956-2.18l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H.957v2.332A8.997 8.997 0 0 0 9 18z"/><path fill="#FBBC05" d="M3.964 10.71A5.41 5.41 0 0 1 3.682 9c0-.593.102-1.17.282-1.71V4.958H.957A8.997 8.997 0 0 0 0 9c0 1.452.348 2.827.957 4.042l3.007-2.332z"/><path fill="#EA4335" d="M9 3.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C13.463.891 11.426 0 9 0A8.997 8.997 0 0 0 .957 4.958L3.964 7.29C4.672 5.163 6.656 3.58 9 3.58z"/></svg>Continue with Google</button></span></div>
|
|
131
|
+
</form>`;
|
|
132
|
+
const scriptHtml = `<script type="module">
|
|
153
133
|
const firebaseConfig = ${configJson};
|
|
154
134
|
const tenantId = ${tenantJson};
|
|
155
135
|
const disabled = ${JSON.stringify(input.disabled)};
|
|
@@ -180,9 +160,14 @@ function htmlPage(input) {
|
|
|
180
160
|
}
|
|
181
161
|
});
|
|
182
162
|
}
|
|
183
|
-
</script
|
|
184
|
-
|
|
185
|
-
|
|
163
|
+
</script>`;
|
|
164
|
+
return renderOAuthPage({
|
|
165
|
+
title: input.title,
|
|
166
|
+
kicker: 'Sign in',
|
|
167
|
+
heading: input.title,
|
|
168
|
+
contentHtml,
|
|
169
|
+
scriptHtml,
|
|
170
|
+
});
|
|
186
171
|
}
|
|
187
172
|
function firebaseCallbackUrl(issuer) {
|
|
188
173
|
return `${issuer}${FIREBASE_CALLBACK_PATH}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customer-bridge.js","sourceRoot":"","sources":["../../src/oauth/customer-bridge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"customer-bridge.js","sourceRoot":"","sources":["../../src/oauth/customer-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,6 @@ import type { TenantRef } from './store.js';
|
|
|
5
5
|
export declare function missingCapabilityErrors(required: readonly CapabilityName[], available: readonly CapabilityName[]): readonly DeployError[];
|
|
6
6
|
export declare function missingSecretErrors(bindings: readonly SecretBinding[], secrets: Readonly<Record<string, string>>): DeployError[];
|
|
7
7
|
export declare function missingVariableErrors(bindings: readonly string[], variables: Readonly<Record<string, string>>): DeployError[];
|
|
8
|
-
export declare function tenantMcpUrl(base: string, tenant: TenantRef): string;
|
|
8
|
+
export declare function tenantMcpUrl(base: string, tenant: TenantRef, serverVersion?: string): string;
|
|
9
9
|
export declare function missingSecretNames(errors: readonly DeployError[]): string[];
|
|
10
10
|
//# sourceMappingURL=registry-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-helpers.d.ts","sourceRoot":"","sources":["../src/registry-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"registry-helpers.d.ts","sourceRoot":"","sources":["../src/registry-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,SAAS,cAAc,EAAE,EACnC,SAAS,EAAE,SAAS,cAAc,EAAE,GACnC,SAAS,WAAW,EAAE,CASxB;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACxC,WAAW,EAAE,CAef;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC1C,WAAW,EAAE,CAcf;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAM5F;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,EAAE,CAQ3E"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { serverVersionPathSegment } from '@noodle-borg/module';
|
|
1
2
|
export function missingCapabilityErrors(required, available) {
|
|
2
3
|
const enabled = new Set(available);
|
|
3
4
|
return required
|
|
@@ -40,10 +41,11 @@ export function missingVariableErrors(bindings, variables) {
|
|
|
40
41
|
}
|
|
41
42
|
return errors;
|
|
42
43
|
}
|
|
43
|
-
export function tenantMcpUrl(base, tenant) {
|
|
44
|
+
export function tenantMcpUrl(base, tenant, serverVersion) {
|
|
45
|
+
const versionPath = serverVersion !== undefined ? `/${serverVersionPathSegment(serverVersion)}` : '';
|
|
44
46
|
return tenant.env === 'prod'
|
|
45
|
-
? `${base}/o/${tenant.org}/${tenant.app}/mcp`
|
|
46
|
-
: `${base}/o/${tenant.org}/${tenant.app}/${tenant.env}/mcp`;
|
|
47
|
+
? `${base}/o/${tenant.org}/${tenant.app}${versionPath}/mcp`
|
|
48
|
+
: `${base}/o/${tenant.org}/${tenant.app}/${tenant.env}${versionPath}/mcp`;
|
|
47
49
|
}
|
|
48
50
|
export function missingSecretNames(errors) {
|
|
49
51
|
const names = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-helpers.js","sourceRoot":"","sources":["../src/registry-helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry-helpers.js","sourceRoot":"","sources":["../src/registry-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ export declare function recordTenant(record: DeployRecord): TenantRef;
|
|
|
15
15
|
export declare function recordMatchesTenant(record: DeployRecord, ref: TenantRef): boolean;
|
|
16
16
|
export declare function emptySecretEnvelope(): SecretEnvelope;
|
|
17
17
|
export declare function tenantKey(ref: TenantRef): string;
|
|
18
|
+
export declare function tenantDeploymentKey(ref: TenantRef, serverVersion?: string): string;
|
|
18
19
|
/** Build a URL-safe, human-readable id from the manifest's server name plus a short random suffix. */
|
|
19
20
|
export declare function mintDeploymentId(name: string): string;
|
|
20
21
|
//# sourceMappingURL=registry-targets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-targets.d.ts","sourceRoot":"","sources":["../src/registry-targets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,cAAc,EACtB,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,kBAAkB,GACvE,YAAY,CAiBd;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,gBAAgB,EACtB,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,kBAAkB,GACvE;IACD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC3C,CAUA;AAID,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"registry-targets.d.ts","sourceRoot":"","sources":["../src/registry-targets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,cAAc,EACtB,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,kBAAkB,GACvE,YAAY,CAiBd;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,gBAAgB,EACtB,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,kBAAkB,GACvE;IACD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC3C,CAUA;AAID,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAarE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAE5D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAEjF;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAEpD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAEhD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAElF;AAED,sGAAsG;AACtG,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOrD"}
|
|
@@ -39,6 +39,7 @@ export function recordSummary(record) {
|
|
|
39
39
|
orgSlug: record.orgSlug,
|
|
40
40
|
appSlug: record.appSlug,
|
|
41
41
|
environment: record.environment,
|
|
42
|
+
...(record.serverVersion !== undefined ? { serverVersion: record.serverVersion } : {}),
|
|
42
43
|
active: record.active,
|
|
43
44
|
serverName: record.serverName,
|
|
44
45
|
createdAt: record.createdAt,
|
|
@@ -58,6 +59,9 @@ export function emptySecretEnvelope() {
|
|
|
58
59
|
export function tenantKey(ref) {
|
|
59
60
|
return `${ref.org}/${ref.app}/${ref.env}`;
|
|
60
61
|
}
|
|
62
|
+
export function tenantDeploymentKey(ref, serverVersion) {
|
|
63
|
+
return serverVersion === undefined ? tenantKey(ref) : `${tenantKey(ref)}@${serverVersion}`;
|
|
64
|
+
}
|
|
61
65
|
/** Build a URL-safe, human-readable id from the manifest's server name plus a short random suffix. */
|
|
62
66
|
export function mintDeploymentId(name) {
|
|
63
67
|
const slug = name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-targets.js","sourceRoot":"","sources":["../src/registry-targets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry-targets.js","sourceRoot":"","sources":["../src/registry-targets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { CapabilityName } from '@noodle-borg/capabilities';
|
|
2
|
+
import type { CatalogConnector } from '@noodle-borg/compiler';
|
|
3
|
+
import type { PolicyGate } from '@noodle-borg/module';
|
|
4
|
+
import type { Connector } from '@noodle-borg/runtime';
|
|
5
|
+
import type { AccessMode, OwnerTokenVerifier } from '@noodle-borg/transport-http';
|
|
6
|
+
import type { OAuthStore } from './oauth/store.js';
|
|
7
|
+
import type { StateHandleStoreFactory } from './state-connector-factory.js';
|
|
8
|
+
import type { SecretEnvelope, TenantAuthConfig } from './store.js';
|
|
9
|
+
/** A deploy error from compiling either the connector catalog or the manifest. */
|
|
10
|
+
export interface DeployError {
|
|
11
|
+
readonly code: string;
|
|
12
|
+
readonly path: string;
|
|
13
|
+
readonly message: string;
|
|
14
|
+
}
|
|
15
|
+
export type DeployResult = {
|
|
16
|
+
readonly ok: true;
|
|
17
|
+
readonly deploymentId: string;
|
|
18
|
+
readonly deploymentVersion: number;
|
|
19
|
+
readonly serverVersion?: string;
|
|
20
|
+
readonly accessMode?: AccessMode;
|
|
21
|
+
} | {
|
|
22
|
+
readonly ok: false;
|
|
23
|
+
readonly errors: readonly DeployError[];
|
|
24
|
+
};
|
|
25
|
+
export type RollbackResult = {
|
|
26
|
+
readonly ok: true;
|
|
27
|
+
readonly deploymentId: string;
|
|
28
|
+
readonly serverVersion?: string;
|
|
29
|
+
readonly previousDeploymentId?: string;
|
|
30
|
+
readonly alreadyActive: boolean;
|
|
31
|
+
readonly accessMode: AccessMode;
|
|
32
|
+
readonly previousAccessMode?: AccessMode;
|
|
33
|
+
readonly serverName: string;
|
|
34
|
+
readonly createdAt: string;
|
|
35
|
+
} | {
|
|
36
|
+
readonly ok: false;
|
|
37
|
+
readonly status: 404 | 409;
|
|
38
|
+
readonly error: string;
|
|
39
|
+
};
|
|
40
|
+
export interface ServerRegistryOptions {
|
|
41
|
+
readonly customerVerifierFactory?: (auth: TenantAuthConfig) => OwnerTokenVerifier;
|
|
42
|
+
readonly policyGate?: PolicyGate;
|
|
43
|
+
readonly serviceCapabilities?: readonly CapabilityName[];
|
|
44
|
+
readonly platformCatalog?: readonly CatalogConnector[];
|
|
45
|
+
readonly platformConnectors?: readonly Connector[];
|
|
46
|
+
readonly stateHandleStoreFactory?: StateHandleStoreFactory;
|
|
47
|
+
readonly delegatedCredentialStore?: Pick<OAuthStore, 'getDelegatedCredential' | 'putDelegatedCredential'>;
|
|
48
|
+
readonly sealCustomerCredential?: (credential: string) => Promise<SecretEnvelope>;
|
|
49
|
+
readonly openCustomerCredential?: (credential: SecretEnvelope) => Promise<string>;
|
|
50
|
+
}
|
|
51
|
+
/** Outcome of recover: how many servers were rebuilt, and which records failed. */
|
|
52
|
+
export interface RecoverResult {
|
|
53
|
+
readonly recovered: number;
|
|
54
|
+
readonly failed: ReadonlyArray<{
|
|
55
|
+
readonly deploymentId: string;
|
|
56
|
+
readonly errors: readonly DeployError[];
|
|
57
|
+
}>;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=registry-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-types.d.ts","sourceRoot":"","sources":["../src/registry-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-types.js","sourceRoot":"","sources":["../src/registry-types.ts"],"names":[],"mappings":""}
|
|
@@ -1,60 +1,11 @@
|
|
|
1
1
|
import type { CapabilityName } from '@noodle-borg/capabilities';
|
|
2
2
|
import { type CatalogConnector, type HostedPackagedAsset, type LocalAssetOptions, type PackagedAsset } from '@noodle-borg/compiler';
|
|
3
|
-
import type { PolicyGate } from '@noodle-borg/module';
|
|
4
3
|
import { type Connector, type SecretBox } from '@noodle-borg/runtime';
|
|
5
|
-
import type { AccessMode,
|
|
4
|
+
import type { AccessMode, ServedTarget } from '@noodle-borg/transport-http';
|
|
6
5
|
import type { ControlPlaneIdentity } from './auth/deploy-gate.js';
|
|
7
|
-
import type {
|
|
8
|
-
import { type
|
|
9
|
-
|
|
10
|
-
/** A deploy error from compiling either the connector catalog or the manifest. */
|
|
11
|
-
export interface DeployError {
|
|
12
|
-
readonly code: string;
|
|
13
|
-
readonly path: string;
|
|
14
|
-
readonly message: string;
|
|
15
|
-
}
|
|
16
|
-
export type DeployResult = {
|
|
17
|
-
readonly ok: true;
|
|
18
|
-
readonly deploymentId: string;
|
|
19
|
-
readonly deploymentVersion: number;
|
|
20
|
-
readonly accessMode?: AccessMode;
|
|
21
|
-
} | {
|
|
22
|
-
readonly ok: false;
|
|
23
|
-
readonly errors: readonly DeployError[];
|
|
24
|
-
};
|
|
25
|
-
export type RollbackResult = {
|
|
26
|
-
readonly ok: true;
|
|
27
|
-
readonly deploymentId: string;
|
|
28
|
-
readonly previousDeploymentId?: string;
|
|
29
|
-
readonly alreadyActive: boolean;
|
|
30
|
-
readonly accessMode: AccessMode;
|
|
31
|
-
readonly previousAccessMode?: AccessMode;
|
|
32
|
-
readonly serverName: string;
|
|
33
|
-
readonly createdAt: string;
|
|
34
|
-
} | {
|
|
35
|
-
readonly ok: false;
|
|
36
|
-
readonly status: 404 | 409;
|
|
37
|
-
readonly error: string;
|
|
38
|
-
};
|
|
39
|
-
export interface ServerRegistryOptions {
|
|
40
|
-
readonly customerVerifierFactory?: (auth: TenantAuthConfig) => OwnerTokenVerifier;
|
|
41
|
-
readonly policyGate?: PolicyGate;
|
|
42
|
-
readonly serviceCapabilities?: readonly CapabilityName[];
|
|
43
|
-
readonly platformCatalog?: readonly CatalogConnector[];
|
|
44
|
-
readonly platformConnectors?: readonly Connector[];
|
|
45
|
-
readonly stateHandleStoreFactory?: StateHandleStoreFactory;
|
|
46
|
-
readonly delegatedCredentialStore?: Pick<OAuthStore, 'getDelegatedCredential' | 'putDelegatedCredential'>;
|
|
47
|
-
readonly sealCustomerCredential?: (credential: string) => Promise<SecretEnvelope>;
|
|
48
|
-
readonly openCustomerCredential?: (credential: SecretEnvelope) => Promise<string>;
|
|
49
|
-
}
|
|
50
|
-
/** Outcome of {@link ServerRegistry.recover}: how many servers were rebuilt, and which records failed. */
|
|
51
|
-
export interface RecoverResult {
|
|
52
|
-
readonly recovered: number;
|
|
53
|
-
readonly failed: ReadonlyArray<{
|
|
54
|
-
readonly deploymentId: string;
|
|
55
|
-
readonly errors: readonly DeployError[];
|
|
56
|
-
}>;
|
|
57
|
-
}
|
|
6
|
+
import type { DeployResult, RecoverResult, RollbackResult, ServerRegistryOptions } from './registry-types.js';
|
|
7
|
+
import { type ArtifactStore, type ConfigStore, type DeploymentStatus, type DeploymentSummary, type DeployRecord, type TenantRef } from './store.js';
|
|
8
|
+
export type { DeployError, DeployResult, RecoverResult, RollbackResult, ServerRegistryOptions, } from './registry-types.js';
|
|
58
9
|
/**
|
|
59
10
|
* Holds deployed servers in memory and serves them by id. Each deploy compiles an optional declarative
|
|
60
11
|
* connector catalog and the manifest (against that catalog) to a resolved artifact, then registers the
|
|
@@ -86,31 +37,23 @@ export declare class ServerRegistry {
|
|
|
86
37
|
}): void;
|
|
87
38
|
setLocalAssetOptions(options: LocalAssetOptions): void;
|
|
88
39
|
getLocalAsset(pathname: string): PackagedAsset | undefined;
|
|
89
|
-
deploy(tenant: TenantRef, manifest: string, connectors?: string, actor?: ControlPlaneIdentity, accessMode?: AccessMode, hostedAssets?: readonly HostedPackagedAsset[]): Promise<DeployResult>;
|
|
40
|
+
deploy(tenant: TenantRef, manifest: string, connectors?: string, actor?: ControlPlaneIdentity, accessMode?: AccessMode, hostedAssets?: readonly HostedPackagedAsset[], serverVersion?: string): Promise<DeployResult>;
|
|
90
41
|
/**
|
|
91
42
|
* Rebuild every persisted server into memory on startup. Each record is replayed through the same
|
|
92
43
|
* compile path as a fresh deploy, reusing its stored id and access metadata. A record that no longer
|
|
93
44
|
* compiles (e.g. source/catalog drift) is skipped and reported — the remaining servers still recover.
|
|
94
45
|
*/
|
|
95
46
|
recover(): Promise<RecoverResult>;
|
|
96
|
-
/**
|
|
97
|
-
* Resolve a served server by id. A cache hit returns immediately. On a cache miss **with a durable
|
|
98
|
-
* store**, the record is point-read ({@link ArtifactStore.get}), recompiled through the shared
|
|
99
|
-
* {@link #compileTarget} path, cached, and returned — so **any instance can serve any deploy**, including
|
|
100
|
-
* one it never handled (multi-instance correctness, ADR 0036). A miss with no record resolves to
|
|
101
|
-
* `undefined` (→ `404`). A record that no longer compiles, or whose secret will not decrypt, **throws**
|
|
102
|
-
* (→ `500`) — failing only its own request, never the instance. Concurrent first-hits for the same id
|
|
103
|
-
* share one in-flight compile (single-flight).
|
|
104
|
-
*/
|
|
105
47
|
get(deploymentId: string): Promise<ServedTarget | undefined>;
|
|
106
48
|
getActiveByTenant(ref: TenantRef): Promise<ServedTarget | undefined>;
|
|
49
|
+
getActiveByTenantVersion(ref: TenantRef, serverVersion: string): Promise<ServedTarget | undefined>;
|
|
107
50
|
listDeployments(filter: {
|
|
108
51
|
org: string;
|
|
109
52
|
app?: string;
|
|
110
53
|
env?: string;
|
|
111
54
|
}): Promise<readonly DeploymentSummary[]>;
|
|
112
|
-
getStatus(ref: TenantRef, baseUrl: string): Promise<DeploymentStatus | undefined>;
|
|
113
|
-
updateAccess(ref: TenantRef, accessMode: AccessMode): Promise<DeployRecord | undefined>;
|
|
55
|
+
getStatus(ref: TenantRef, baseUrl: string, serverVersion?: string): Promise<DeploymentStatus | undefined>;
|
|
56
|
+
updateAccess(ref: TenantRef, accessMode: AccessMode, serverVersion?: string): Promise<DeployRecord | undefined>;
|
|
114
57
|
rollback(ref: TenantRef, deploymentId: string): Promise<RollbackResult>;
|
|
115
58
|
get configStore(): ConfigStore;
|
|
116
59
|
get size(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,KAAK,gBAAgB,EAErB,KAAK,mBAAmB,EAExB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|