@noodleseed/one 0.27.0 → 0.28.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.
Files changed (60) hide show
  1. package/node_modules/@noodle-borg/module/dist/contract.d.ts +7 -0
  2. package/node_modules/@noodle-borg/module/dist/contract.d.ts.map +1 -1
  3. package/node_modules/@noodle-borg/module/dist/contract.js +148 -0
  4. package/node_modules/@noodle-borg/module/dist/contract.js.map +1 -1
  5. package/node_modules/@noodle-borg/service/dist/main.js +35 -1
  6. package/node_modules/@noodle-borg/service/dist/main.js.map +1 -1
  7. package/node_modules/@noodle-borg/service/dist/mcp-public-routing.d.ts +17 -0
  8. package/node_modules/@noodle-borg/service/dist/mcp-public-routing.d.ts.map +1 -0
  9. package/node_modules/@noodle-borg/service/dist/mcp-public-routing.js +46 -0
  10. package/node_modules/@noodle-borg/service/dist/mcp-public-routing.js.map +1 -0
  11. package/node_modules/@noodle-borg/service/dist/options.d.ts +11 -1
  12. package/node_modules/@noodle-borg/service/dist/options.d.ts.map +1 -1
  13. package/node_modules/@noodle-borg/service/dist/registry-helpers.d.ts +3 -1
  14. package/node_modules/@noodle-borg/service/dist/registry-helpers.d.ts.map +1 -1
  15. package/node_modules/@noodle-borg/service/dist/registry-helpers.js +8 -2
  16. package/node_modules/@noodle-borg/service/dist/registry-helpers.js.map +1 -1
  17. package/node_modules/@noodle-borg/service/dist/registry.d.ts +3 -1
  18. package/node_modules/@noodle-borg/service/dist/registry.d.ts.map +1 -1
  19. package/node_modules/@noodle-borg/service/dist/registry.js +2 -2
  20. package/node_modules/@noodle-borg/service/dist/registry.js.map +1 -1
  21. package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts +3 -2
  22. package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts.map +1 -1
  23. package/node_modules/@noodle-borg/service/dist/routes/apps.js +4 -4
  24. package/node_modules/@noodle-borg/service/dist/routes/apps.js.map +1 -1
  25. package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts.map +1 -1
  26. package/node_modules/@noodle-borg/service/dist/routes/control-plane.js +8 -4
  27. package/node_modules/@noodle-borg/service/dist/routes/control-plane.js.map +1 -1
  28. package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts +3 -2
  29. package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts.map +1 -1
  30. package/node_modules/@noodle-borg/service/dist/routes/deployments.js +4 -4
  31. package/node_modules/@noodle-borg/service/dist/routes/deployments.js.map +1 -1
  32. package/node_modules/@noodle-borg/service/dist/routes/diagnostics.d.ts.map +1 -1
  33. package/node_modules/@noodle-borg/service/dist/routes/diagnostics.js +8 -4
  34. package/node_modules/@noodle-borg/service/dist/routes/diagnostics.js.map +1 -1
  35. package/node_modules/@noodle-borg/service/dist/routes/endpoint-enrichment.d.ts +6 -3
  36. package/node_modules/@noodle-borg/service/dist/routes/endpoint-enrichment.d.ts.map +1 -1
  37. package/node_modules/@noodle-borg/service/dist/routes/endpoint-enrichment.js +10 -6
  38. package/node_modules/@noodle-borg/service/dist/routes/endpoint-enrichment.js.map +1 -1
  39. package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts +3 -2
  40. package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts.map +1 -1
  41. package/node_modules/@noodle-borg/service/dist/routes/envs.js +4 -4
  42. package/node_modules/@noodle-borg/service/dist/routes/envs.js.map +1 -1
  43. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts +2 -1
  44. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts.map +1 -1
  45. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js +6 -6
  46. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js.map +1 -1
  47. package/node_modules/@noodle-borg/service/dist/routes/rollback.d.ts.map +1 -1
  48. package/node_modules/@noodle-borg/service/dist/routes/rollback.js +3 -1
  49. package/node_modules/@noodle-borg/service/dist/routes/rollback.js.map +1 -1
  50. package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
  51. package/node_modules/@noodle-borg/service/dist/serve.js +26 -59
  52. package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
  53. package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
  54. package/node_modules/@noodle-borg/service/dist/service.js +36 -52
  55. package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
  56. package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts +7 -8
  57. package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts.map +1 -1
  58. package/node_modules/@noodle-borg/transport-http/dist/handler.js +60 -62
  59. package/node_modules/@noodle-borg/transport-http/dist/handler.js.map +1 -1
  60. package/package.json +2 -2
@@ -10,13 +10,14 @@ import type { IncomingMessage, ServerResponse } from 'node:http';
10
10
  import type { DeployAuthGate } from '../auth/deploy-gate.js';
11
11
  import type { ServerRegistry } from '../registry.js';
12
12
  import type { ControlPlaneStore } from '../store.js';
13
+ import { type EndpointUrlOptions } from './endpoint-enrichment.js';
13
14
  export declare function handleEnvs(req: IncomingMessage, res: ServerResponse, registry: ServerRegistry, gate: DeployAuthGate, controlPlane: ControlPlaneStore, ref: {
14
15
  org: string;
15
16
  app: string;
16
- }, url: URL, endpointBase: string): Promise<void>;
17
+ }, url: URL, endpointBase: string, endpointOptions?: EndpointUrlOptions): Promise<void>;
17
18
  export declare function handleEnv(req: IncomingMessage, res: ServerResponse, registry: ServerRegistry, gate: DeployAuthGate, controlPlane: ControlPlaneStore, ref: {
18
19
  org: string;
19
20
  app: string;
20
21
  env: string;
21
- }, endpointBase: string): Promise<void>;
22
+ }, endpointBase: string, endpointOptions?: EndpointUrlOptions): Promise<void>;
22
23
  //# sourceMappingURL=envs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"envs.d.ts","sourceRoot":"","sources":["../../src/routes/envs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMrD,wBAAsB,UAAU,CAC9B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,iBAAiB,EAC/B,GAAG,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACjC,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,wBAAsB,SAAS,CAC7B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,iBAAiB,EAC/B,GAAG,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAC9C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAYf"}
1
+ {"version":3,"file":"envs.d.ts","sourceRoot":"","sources":["../../src/routes/envs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIrD,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,0BAA0B,CAAC;AAEvF,wBAAsB,UAAU,CAC9B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,iBAAiB,EAC/B,GAAG,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACjC,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,MAAM,EACpB,eAAe,GAAE,kBAAuB,GACvC,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,wBAAsB,SAAS,CAC7B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,iBAAiB,EAC/B,GAAG,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAC9C,YAAY,EAAE,MAAM,EACpB,eAAe,GAAE,kBAAuB,GACvC,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -3,7 +3,7 @@ import { sendContract } from './apps.js';
3
3
  import { EnvResponseSchema, EnvsListResponseSchema } from './contracts.js';
4
4
  import { authorizeTenantControl } from './control-plane.js';
5
5
  import { envWithEndpointUrl } from './endpoint-enrichment.js';
6
- export async function handleEnvs(req, res, registry, gate, controlPlane, ref, url, endpointBase) {
6
+ export async function handleEnvs(req, res, registry, gate, controlPlane, ref, url, endpointBase, endpointOptions = {}) {
7
7
  const identity = await authorizeTenantControl(req, res, gate, controlPlane, ref.org);
8
8
  if (identity === false)
9
9
  return;
@@ -24,10 +24,10 @@ export async function handleEnvs(req, res, registry, gate, controlPlane, ref, ur
24
24
  }
25
25
  return sendContract(res, () => EnvsListResponseSchema.parse({
26
26
  ok: true,
27
- data: { envs: envs.map((env) => envWithEndpointUrl(env, endpointBase)) },
27
+ data: { envs: envs.map((env) => envWithEndpointUrl(env, endpointBase, endpointOptions)) },
28
28
  }));
29
29
  }
30
- export async function handleEnv(req, res, registry, gate, controlPlane, ref, endpointBase) {
30
+ export async function handleEnv(req, res, registry, gate, controlPlane, ref, endpointBase, endpointOptions = {}) {
31
31
  const identity = await authorizeTenantControl(req, res, gate, controlPlane, ref.org);
32
32
  if (identity === false)
33
33
  return;
@@ -40,7 +40,7 @@ export async function handleEnv(req, res, registry, gate, controlPlane, ref, end
40
40
  }
41
41
  if (env === undefined)
42
42
  return sendJson(res, 404, { error: 'not found' });
43
- const enriched = envWithEndpointUrl(env, endpointBase);
43
+ const enriched = envWithEndpointUrl(env, endpointBase, endpointOptions);
44
44
  return sendContract(res, () => EnvResponseSchema.parse({ ok: true, data: enriched }));
45
45
  }
46
46
  //# sourceMappingURL=envs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"envs.js","sourceRoot":"","sources":["../../src/routes/envs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"envs.js","sourceRoot":"","sources":["../../src/routes/envs.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ import type { TlsPosture } from '@noodle-borg/transport-http';
14
14
  import type { DeployAuthGate } from '../auth/deploy-gate.js';
15
15
  import type { ServerRegistry } from '../registry.js';
16
16
  import type { ControlPlaneStore } from '../store.js';
17
- import type { ResolveEndpointBase } from './endpoint-enrichment.js';
17
+ import type { EndpointUrlOptions, ResolveEndpointBase } from './endpoint-enrichment.js';
18
18
  export interface ResourceReadDeps {
19
19
  readonly registry: ServerRegistry;
20
20
  readonly gate: DeployAuthGate;
@@ -24,6 +24,7 @@ export interface ResourceReadDeps {
24
24
  readonly sendJson: (res: ServerResponse, status: number, body: unknown) => void;
25
25
  readonly tls: TlsPosture;
26
26
  readonly resolveEndpointBase: ResolveEndpointBase;
27
+ readonly endpointOptions?: EndpointUrlOptions;
27
28
  }
28
29
  /**
29
30
  * Try the resource read routes; returns true when the request was handled (or a guard ended it).
@@ -1 +1 @@
1
- {"version":3,"file":"resource-read-dispatch.d.ts","sourceRoot":"","sources":["../../src/routes/resource-read-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAUpE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9E,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC;IAC/F,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChF,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;CACnD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAmET"}
1
+ {"version":3,"file":"resource-read-dispatch.d.ts","sourceRoot":"","sources":["../../src/routes/resource-read-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAUxF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9E,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC;IAC/F,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChF,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAClD,QAAQ,CAAC,eAAe,CAAC,EAAE,kBAAkB,CAAC;CAC/C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,gBAAgB,GACrB,OAAO,CA2GT"}
@@ -7,14 +7,14 @@ import { parseAppItemPath, parseAppsPath, parseDeploymentItemPath, parseEnvItemP
7
7
  * `orgRef` GET (org inspect) stays in `service.ts` beside its PATCH sibling, which shares the parse.
8
8
  */
9
9
  export function dispatchResourceReads(req, res, url, deps) {
10
- const { registry, gate, controlPlane, applySecurityHeaders, enforceHttps, sendJson, tls, resolveEndpointBase, } = deps;
10
+ const { registry, gate, controlPlane, applySecurityHeaders, enforceHttps, sendJson, tls, resolveEndpointBase, endpointOptions = {}, } = deps;
11
11
  const endpointBase = resolveEndpointBase(req);
12
12
  const appsRef = parseAppsPath(url.pathname);
13
13
  if (appsRef !== undefined && req.method === 'GET') {
14
14
  applySecurityHeaders(res, tls);
15
15
  if (enforceHttps(req, res, tls))
16
16
  return true;
17
- handleApps(req, res, registry, gate, controlPlane, appsRef, url, endpointBase).catch(() => {
17
+ handleApps(req, res, registry, gate, controlPlane, appsRef, url, endpointBase, endpointOptions).catch(() => {
18
18
  if (!res.headersSent)
19
19
  sendJson(res, 500, { error: 'internal error' });
20
20
  });
@@ -25,7 +25,7 @@ export function dispatchResourceReads(req, res, url, deps) {
25
25
  applySecurityHeaders(res, tls);
26
26
  if (enforceHttps(req, res, tls))
27
27
  return true;
28
- handleApp(req, res, registry, gate, controlPlane, appItemRef, endpointBase).catch(() => {
28
+ handleApp(req, res, registry, gate, controlPlane, appItemRef, endpointBase, endpointOptions).catch(() => {
29
29
  if (!res.headersSent)
30
30
  sendJson(res, 500, { error: 'internal error' });
31
31
  });
@@ -36,7 +36,7 @@ export function dispatchResourceReads(req, res, url, deps) {
36
36
  applySecurityHeaders(res, tls);
37
37
  if (enforceHttps(req, res, tls))
38
38
  return true;
39
- handleEnvs(req, res, registry, gate, controlPlane, envsRef, url, endpointBase).catch(() => {
39
+ handleEnvs(req, res, registry, gate, controlPlane, envsRef, url, endpointBase, endpointOptions).catch(() => {
40
40
  if (!res.headersSent)
41
41
  sendJson(res, 500, { error: 'internal error' });
42
42
  });
@@ -47,7 +47,7 @@ export function dispatchResourceReads(req, res, url, deps) {
47
47
  applySecurityHeaders(res, tls);
48
48
  if (enforceHttps(req, res, tls))
49
49
  return true;
50
- handleEnv(req, res, registry, gate, controlPlane, envItemRef, endpointBase).catch(() => {
50
+ handleEnv(req, res, registry, gate, controlPlane, envItemRef, endpointBase, endpointOptions).catch(() => {
51
51
  if (!res.headersSent)
52
52
  sendJson(res, 500, { error: 'internal error' });
53
53
  });
@@ -58,7 +58,7 @@ export function dispatchResourceReads(req, res, url, deps) {
58
58
  applySecurityHeaders(res, tls);
59
59
  if (enforceHttps(req, res, tls))
60
60
  return true;
61
- handleDeploymentItem(req, res, registry, gate, controlPlane, deploymentItemRef, endpointBase).catch(() => {
61
+ handleDeploymentItem(req, res, registry, gate, controlPlane, deploymentItemRef, endpointBase, endpointOptions).catch(() => {
62
62
  if (!res.headersSent)
63
63
  sendJson(res, 500, { error: 'internal error' });
64
64
  });
@@ -1 +1 @@
1
- {"version":3,"file":"resource-read-dispatch.js","sourceRoot":"","sources":["../../src/routes/resource-read-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-read-dispatch.js","sourceRoot":"","sources":["../../src/routes/resource-read-dispatch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../src/routes/rollback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIhE,wBAAsB,cAAc,CAClC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,iBAAiB,EAC/B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CA8Ef"}
1
+ {"version":3,"file":"rollback.d.ts","sourceRoot":"","sources":["../../src/routes/rollback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIhE,wBAAsB,cAAc,CAClC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,iBAAiB,EAC/B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAqFf"}
@@ -40,7 +40,9 @@ export async function handleRollback(req, res, registry, gate, controlPlane, aud
40
40
  if (!result.ok)
41
41
  return sendJson(res, result.status, { ok: false, error: result.error });
42
42
  const base = options.publicBaseUrl ?? baseFromRequest(req, options.tls ?? {});
43
- const endpointUrl = tenantMcpUrl(base, tenant, result.serverVersion);
43
+ const endpointUrl = tenantMcpUrl(base, tenant, result.serverVersion, options.mcpPublicRouting?.publicBaseDomain !== undefined
44
+ ? { publicBaseDomain: options.mcpPublicRouting.publicBaseDomain }
45
+ : {});
44
46
  await audit.emit({
45
47
  eventType: 'deploy.rollback',
46
48
  org: tenant.org,
@@ -1 +1 @@
1
- {"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../src/routes/rollback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rollback.js","sourceRoot":"","sources":["../../src/routes/rollback.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { createServer } from 'node:http';
2
2
  import { createJwtVerifier } from '@noodle-borg/auth';
3
- import { serverVersionFromPathSegment } from '@noodle-borg/module';
3
+ import { parseLegacyTenantMcpPath, parsePublicTenantMcpUrl, } from '@noodle-borg/module';
4
4
  import { SecretBox, staticMasterKeyProvider } from '@noodle-borg/runtime';
5
5
  import { noopLogger } from '@noodle-borg/transport-http';
6
6
  import { ALERT_EVALUATION_INTERVAL_MS, AlertEvaluator } from './alert-evaluator.js';
@@ -231,6 +231,7 @@ export async function serveService(options = {}) {
231
231
  let resolvedAuthServerIssuer = options.authServerIssuer;
232
232
  let registry;
233
233
  let oauthStore;
234
+ const allowedMcpDomains = allowedMcpBaseDomains(options);
234
235
  const rawCustomerVerifierFactory = createCustomerVerifierFactory({
235
236
  allowInsecureLocalhost: options.customerVerifierAllowInsecureLocalhost === true,
236
237
  ...(options.customerVerifierFirebaseJwks !== undefined
@@ -263,8 +264,12 @@ export async function serveService(options = {}) {
263
264
  store: oauthStore,
264
265
  signer: options.oauth.signer,
265
266
  google: options.oauth.google,
266
- customerBridgeAuthForResource: async (resource) => registry !== undefined ? bridgeAuthForResource(registry, resource) : undefined,
267
- managedSecretForResource: async (resource, name) => registry !== undefined ? managedSecretForResource(registry, resource, name) : undefined,
267
+ customerBridgeAuthForResource: async (resource) => registry !== undefined
268
+ ? bridgeAuthForResource(registry, resource, allowedMcpDomains)
269
+ : undefined,
270
+ managedSecretForResource: async (resource, name) => registry !== undefined
271
+ ? managedSecretForResource(registry, resource, name, allowedMcpDomains)
272
+ : undefined,
268
273
  verifyCustomerBridgeToken: async (auth, token) => {
269
274
  const identity = await rawCustomerVerifierFactory(auth)(token, auth.projectId ?? '');
270
275
  return identity === null ? null : { ...identity, scopes: identity.scopes ?? [] };
@@ -504,15 +509,8 @@ async function openCustomerCredential(secretBox, envelope) {
504
509
  throw new Error('secret box is required for delegated credential');
505
510
  return secretBox.open(envelope.sealed);
506
511
  }
507
- async function bridgeAuthForResource(registry, resource) {
508
- let url;
509
- try {
510
- url = new URL(resource);
511
- }
512
- catch {
513
- return undefined;
514
- }
515
- const tenant = tenantRefFromMcpPath(url.pathname);
512
+ async function bridgeAuthForResource(registry, resource, allowedBaseDomains) {
513
+ const tenant = tenantRefFromResource(resource, allowedBaseDomains);
516
514
  if (tenant === undefined)
517
515
  return undefined;
518
516
  const target = tenant.serverVersion === undefined
@@ -524,7 +522,14 @@ async function bridgeAuthForResource(registry, resource) {
524
522
  const variables = await registry.configStore.resolveConfigValues('variable', resolveConfigScope(tenant));
525
523
  return resolveTenantBridgeAuthVariables(auth, variables);
526
524
  }
527
- async function managedSecretForResource(registry, resource, name) {
525
+ async function managedSecretForResource(registry, resource, name, allowedBaseDomains) {
526
+ const tenant = tenantRefFromResource(resource, allowedBaseDomains);
527
+ if (tenant === undefined)
528
+ return undefined;
529
+ const secrets = await registry.configStore.resolveConfigValues('secret', resolveConfigScope(tenant));
530
+ return secrets[name];
531
+ }
532
+ function tenantRefFromResource(resource, allowedBaseDomains) {
528
533
  let url;
529
534
  try {
530
535
  url = new URL(resource);
@@ -532,52 +537,14 @@ async function managedSecretForResource(registry, resource, name) {
532
537
  catch {
533
538
  return undefined;
534
539
  }
535
- const tenant = tenantRefFromMcpPath(url.pathname);
536
- if (tenant === undefined)
537
- return undefined;
538
- const secrets = await registry.configStore.resolveConfigValues('secret', resolveConfigScope(tenant));
539
- return secrets[name];
540
+ return ((allowedBaseDomains.length > 0
541
+ ? parsePublicTenantMcpUrl(resource, allowedBaseDomains)
542
+ : undefined) ?? parseLegacyTenantMcpPath(url.pathname));
540
543
  }
541
- function tenantRefFromMcpPath(pathname) {
542
- const envVersion = /^\/o\/([^/]+)\/([^/]+)\/([^/]+)\/([^/]+)\/mcp$/.exec(pathname);
543
- if (envVersion) {
544
- const serverVersion = serverVersionFromPathSegment(decodeURIComponent(envVersion[4]));
545
- if (serverVersion === undefined)
546
- return undefined;
547
- return {
548
- org: decodeURIComponent(envVersion[1]),
549
- app: decodeURIComponent(envVersion[2]),
550
- env: decodeURIComponent(envVersion[3]),
551
- serverVersion,
552
- };
553
- }
554
- const prodVersion = /^\/o\/([^/]+)\/([^/]+)\/([^/]+)\/mcp$/.exec(pathname);
555
- if (prodVersion) {
556
- const serverVersion = serverVersionFromPathSegment(decodeURIComponent(prodVersion[3]));
557
- if (serverVersion !== undefined) {
558
- return {
559
- org: decodeURIComponent(prodVersion[1]),
560
- app: decodeURIComponent(prodVersion[2]),
561
- env: 'prod',
562
- serverVersion,
563
- };
564
- }
565
- }
566
- const prod = /^\/o\/([^/]+)\/([^/]+)\/mcp$/.exec(pathname);
567
- if (prod) {
568
- return {
569
- org: decodeURIComponent(prod[1]),
570
- app: decodeURIComponent(prod[2]),
571
- env: 'prod',
572
- };
573
- }
574
- const env = /^\/o\/([^/]+)\/([^/]+)\/([^/]+)\/mcp$/.exec(pathname);
575
- if (!env)
576
- return undefined;
577
- return {
578
- org: decodeURIComponent(env[1]),
579
- app: decodeURIComponent(env[2]),
580
- env: decodeURIComponent(env[3]),
581
- };
544
+ function allowedMcpBaseDomains(options) {
545
+ return (options.mcpPublicRouting?.allowedBaseDomains ??
546
+ (options.mcpPublicRouting?.publicBaseDomain !== undefined
547
+ ? [options.mcpPublicRouting.publicBaseDomain]
548
+ : []));
582
549
  }
583
550
  //# sourceMappingURL=serve.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAyBjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAgDpD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE,cAAmB,GAC3B,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,CA4nBrD"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA0BjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAgDpD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE,cAAmB,GAC3B,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,CA8pBrD"}
@@ -1,6 +1,6 @@
1
1
  import { readFile } from 'node:fs/promises';
2
2
  import { protectedResourceMetadata } from '@noodle-borg/auth';
3
- import { serverVersionFromPathSegment } from '@noodle-borg/module';
3
+ import { parseLegacyTenantMcpPath } from '@noodle-borg/module';
4
4
  import { STATE_CONNECTOR_ID, STATE_CONNECTOR_VERSION, STATE_OPERATION_SIGNATURES, } from '@noodle-borg/runtime';
5
5
  import { applySecurityHeaders, createMcpRouter, enforceHttps, noopLogger, } from '@noodle-borg/transport-http';
6
6
  import { AnonymousConsumerLimiter, createAdmissionGate } from './admission.js';
@@ -11,6 +11,7 @@ import { serviceCapabilityReport } from './capabilities.js';
11
11
  import { resolveCommercialPlanCatalog } from './commercial-plans.js';
12
12
  import { InMemoryPendingGithubInstallationStore } from './github/pending-installations.js';
13
13
  import { baseFromRequest, normalizeServiceBase, respondRouteError, sendJson } from './http-util.js';
14
+ import { allowedMcpBaseDomains, trustedMcpResourceFromRequest } from './mcp-public-routing.js';
14
15
  import { ModuleHost } from './modules/host.js';
15
16
  import { isAuthServerPath } from './oauth/paths.js';
16
17
  import { createLocalPolicyAdmissionGate } from './policy.js';
@@ -104,6 +105,15 @@ export function createServiceHandler(registry, options = {}) {
104
105
  registry.setServiceCapabilities(capabilityReport.capabilities);
105
106
  const audit = moduleHost.audit;
106
107
  activeAudit = audit;
108
+ const endpointOptions = options.mcpPublicRouting?.publicBaseDomain !== undefined
109
+ ? { publicBaseDomain: options.mcpPublicRouting.publicBaseDomain }
110
+ : {};
111
+ const publicTenantRouting = options.mcpPublicRouting?.edgeToken !== undefined
112
+ ? {
113
+ allowedBaseDomains: allowedMcpBaseDomains(options),
114
+ edgeToken: options.mcpPublicRouting.edgeToken,
115
+ }
116
+ : undefined;
107
117
  const router = createMcpRouter((id) => registry.get(id), {
108
118
  logger,
109
119
  tls,
@@ -127,6 +137,7 @@ export function createServiceHandler(registry, options = {}) {
127
137
  });
128
138
  },
129
139
  admissionGate: moduleHost.admissionGate,
140
+ ...(publicTenantRouting !== undefined ? { publicTenantRouting } : {}),
130
141
  tenantLookup: (ref) => ref.serverVersion === undefined
131
142
  ? registry.getActiveByTenant(ref)
132
143
  : registry.getActiveByTenantVersion(ref, ref.serverVersion),
@@ -205,12 +216,24 @@ export function createServiceHandler(registry, options = {}) {
205
216
  return;
206
217
  void Promise.resolve()
207
218
  .then(async () => {
219
+ const trustedResource = trustedMcpResourceFromRequest(req, options);
220
+ if (trustedResource.status !== 'none' && !trustedResource.ok) {
221
+ return sendJson(res, trustedResource.status, {
222
+ error: trustedResource.status === 403 ? 'forbidden' : 'not found',
223
+ });
224
+ }
208
225
  const base = options.publicBaseUrl ?? baseFromRequest(req, tls);
209
226
  const resourcePath = url.pathname.slice(PRM_PREFIX.length);
210
- const authServerIssuer = (await authServerIssuerForResourcePath(registry, resourcePath)) ??
211
- options.authServerIssuer;
227
+ const tenant = trustedResource.status === 'ok'
228
+ ? trustedResource.tenant
229
+ : parseLegacyTenantMcpPath(resourcePath);
230
+ const authServerIssuer = (tenant !== undefined
231
+ ? await authServerIssuerForTenant(registry, tenant)
232
+ : undefined) ?? options.authServerIssuer;
212
233
  const doc = protectedResourceMetadata({
213
- resource: `${base}${resourcePath}`,
234
+ resource: trustedResource.status === 'ok'
235
+ ? trustedResource.resourceUrl
236
+ : `${base}${resourcePath}`,
214
237
  ...(authServerIssuer ? { authorizationServers: [authServerIssuer] } : {}),
215
238
  });
216
239
  return sendJson(res, 200, doc);
@@ -328,6 +351,7 @@ export function createServiceHandler(registry, options = {}) {
328
351
  sendJson,
329
352
  tls,
330
353
  resolveEndpointBase: (request) => options.publicBaseUrl ?? baseFromRequest(request, tls),
354
+ endpointOptions,
331
355
  })) {
332
356
  return;
333
357
  }
@@ -404,7 +428,7 @@ export function createServiceHandler(registry, options = {}) {
404
428
  if (enforceHttps(req, res, tls))
405
429
  return;
406
430
  archiveSweeper.maybeSweep();
407
- handleDeployments(req, res, registry, gate, controlPlane, deploymentsRef, url, options.publicBaseUrl ?? baseFromRequest(req, tls)).catch(() => {
431
+ handleDeployments(req, res, registry, gate, controlPlane, deploymentsRef, url, options.publicBaseUrl ?? baseFromRequest(req, tls), endpointOptions).catch(() => {
408
432
  if (!res.headersSent)
409
433
  sendJson(res, 500, { error: 'internal error' });
410
434
  });
@@ -597,7 +621,12 @@ export function createServiceHandler(registry, options = {}) {
597
621
  }
598
622
  // Archived-app pre-check (ADR 0117 §7): a tenant MCP path for an archived app answers 410 Gone
599
623
  // before the router; anything else (including invalid slugs) falls through to the router.
600
- const mcpTenant = tenantRefFromMcpPath(url.pathname);
624
+ const trustedResource = trustedMcpResourceFromRequest(req, options);
625
+ const mcpTenant = trustedResource.status === 'ok'
626
+ ? trustedResource.tenant
627
+ : trustedResource.status === 'none'
628
+ ? parseLegacyTenantMcpPath(url.pathname)
629
+ : undefined;
601
630
  if (mcpTenant !== undefined) {
602
631
  void (async () => {
603
632
  let archivedAt;
@@ -621,55 +650,10 @@ export function createServiceHandler(registry, options = {}) {
621
650
  router(req, res);
622
651
  };
623
652
  }
624
- async function authServerIssuerForResourcePath(registry, resourcePath) {
625
- const tenant = tenantRefFromMcpPath(resourcePath);
626
- if (tenant === undefined)
627
- return undefined;
653
+ async function authServerIssuerForTenant(registry, tenant) {
628
654
  const target = tenant.serverVersion === undefined
629
655
  ? await registry.getActiveByTenant(tenant)
630
656
  : await registry.getActiveByTenantVersion(tenant, tenant.serverVersion);
631
657
  return target?.authServerIssuer;
632
658
  }
633
- function tenantRefFromMcpPath(pathname) {
634
- const envVersion = /^\/o\/([^/]+)\/([^/]+)\/([^/]+)\/([^/]+)\/mcp$/.exec(pathname);
635
- if (envVersion) {
636
- const serverVersion = serverVersionFromPathSegment(decodeURIComponent(envVersion[4]));
637
- if (serverVersion === undefined)
638
- return undefined;
639
- return {
640
- org: decodeURIComponent(envVersion[1]),
641
- app: decodeURIComponent(envVersion[2]),
642
- env: decodeURIComponent(envVersion[3]),
643
- serverVersion,
644
- };
645
- }
646
- const prodVersion = /^\/o\/([^/]+)\/([^/]+)\/([^/]+)\/mcp$/.exec(pathname);
647
- if (prodVersion) {
648
- const serverVersion = serverVersionFromPathSegment(decodeURIComponent(prodVersion[3]));
649
- if (serverVersion !== undefined) {
650
- return {
651
- org: decodeURIComponent(prodVersion[1]),
652
- app: decodeURIComponent(prodVersion[2]),
653
- env: 'prod',
654
- serverVersion,
655
- };
656
- }
657
- }
658
- const prod = /^\/o\/([^/]+)\/([^/]+)\/mcp$/.exec(pathname);
659
- if (prod) {
660
- return {
661
- org: decodeURIComponent(prod[1]),
662
- app: decodeURIComponent(prod[2]),
663
- env: 'prod',
664
- };
665
- }
666
- const env = /^\/o\/([^/]+)\/([^/]+)\/([^/]+)\/mcp$/.exec(pathname);
667
- if (!env)
668
- return undefined;
669
- return {
670
- org: decodeURIComponent(env[1]),
671
- app: decodeURIComponent(env[2]),
672
- env: decodeURIComponent(env[3]),
673
- };
674
- }
675
659
  //# sourceMappingURL=service.js.map