@zlooks.cn/gateway-server 1.0.6 → 1.0.8
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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +1 -2
- package/.next/build-manifest.json +6 -6
- package/.next/next-minimal-server.js.nft.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +3 -35
- package/.next/routes-manifest.json +0 -6
- package/.next/server/app/[pluginId]/[[...path]]/page.js +1 -1
- package/.next/server/app/[pluginId]/[[...path]]/page.js.nft.json +1 -1
- package/.next/server/app/[pluginId]/[[...path]]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error/page.js +2 -2
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +7 -7
- package/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/page.js +139 -139
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/robots.txt/route.js +2 -2
- package/.next/server/app/robots.txt/route.js.nft.json +1 -1
- package/.next/server/app-paths-manifest.json +1 -2
- package/.next/server/chunks/276.js +1 -0
- package/.next/server/chunks/369.js +193 -0
- package/.next/server/chunks/448.js +1 -0
- package/.next/server/chunks/486.js +30 -0
- package/.next/server/chunks/546.js +165 -0
- package/.next/server/chunks/748.js +107 -0
- package/.next/server/chunks/793.js +2 -0
- package/.next/server/chunks/872.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/server/webpack-runtime.js +1 -1
- package/.next/static/chunks/269-8aa7eb951aba0024.js +1 -0
- package/.next/static/chunks/275-bddb27d29e7e51af.js +1 -0
- package/.next/static/chunks/387b3e19-762a698cb31f79da.js +1 -0
- package/.next/static/chunks/469-04a1d77222f210e8.js +2 -0
- package/.next/static/chunks/550-e8abc67c7a1edf41.js +52 -0
- package/.next/static/chunks/{996-077fc2adb823b371.js → 608-65a4cc255f2a7adb.js} +127 -127
- package/.next/static/chunks/app/[pluginId]/[[...path]]/page-30ed03df8541cd76.js +1 -0
- package/.next/static/chunks/app/_global-error/page-03b2fd80c99da229.js +1 -0
- package/.next/static/chunks/app/_not-found/page-f5adedd76e894f13.js +1 -0
- package/.next/static/chunks/app/favicon.ico/route-03b2fd80c99da229.js +1 -0
- package/.next/static/chunks/app/layout-f0b86ab9dd5accbc.js +1 -0
- package/.next/static/chunks/app/page-fa81d6b33c269d0c.js +1 -0
- package/.next/static/chunks/app/robots.txt/route-03b2fd80c99da229.js +1 -0
- package/.next/static/chunks/main-app-98c326aff6aa17c8.js +1 -0
- package/.next/static/chunks/main-babcc17d8873b132.js +5 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-03b2fd80c99da229.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-03b2fd80c99da229.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-d58b04831400099b.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-03b2fd80c99da229.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-03b2fd80c99da229.js +1 -0
- package/.next/static/chunks/{webpack-28b302404fb8c1d3.js → webpack-4b774bd4ebe1a8a1.js} +1 -1
- package/.next/static/rwKTkmXmP-fXOvY9TPxU4/_buildManifest.js +1 -0
- package/.next/trace +22 -22
- package/.next/trace-build +1 -1
- package/.next/types/routes.d.ts +1 -2
- package/.next/types/validator.ts +0 -9
- package/dist/browser-api.d.ts +1 -0
- package/dist/browser-api.d.ts.map +1 -1
- package/dist/browser-api.js +1 -0
- package/dist/browser-api.js.map +1 -1
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +36 -12
- package/dist/config/schema.js.map +1 -1
- package/dist/controllers/api/shell/navigation.controller.d.ts +3 -0
- package/dist/controllers/api/shell/navigation.controller.d.ts.map +1 -0
- package/dist/controllers/api/shell/navigation.controller.js +19 -0
- package/dist/controllers/api/shell/navigation.controller.js.map +1 -0
- package/dist/runtime/gateway-runtime.d.ts +3 -8
- package/dist/runtime/gateway-runtime.d.ts.map +1 -1
- package/dist/runtime/gateway-runtime.js +27 -43
- package/dist/runtime/gateway-runtime.js.map +1 -1
- package/dist/runtime/http-over-micro-controller.d.ts +45 -0
- package/dist/runtime/http-over-micro-controller.d.ts.map +1 -0
- package/dist/runtime/http-over-micro-controller.js +305 -0
- package/dist/runtime/http-over-micro-controller.js.map +1 -0
- package/dist/runtime/public-asset-discovery.d.ts.map +1 -1
- package/dist/runtime/public-asset-discovery.js +13 -5
- package/dist/runtime/public-asset-discovery.js.map +1 -1
- package/dist/runtime/public-asset-proxy.d.ts.map +1 -1
- package/dist/runtime/public-asset-proxy.js +22 -7
- package/dist/runtime/public-asset-proxy.js.map +1 -1
- package/dist/runtime/rsc-initial-context.d.ts.map +1 -1
- package/dist/runtime/rsc-initial-context.js +6 -22
- package/dist/runtime/rsc-initial-context.js.map +1 -1
- package/dist/runtime/sitemap-http.d.ts +12 -0
- package/dist/runtime/sitemap-http.d.ts.map +1 -0
- package/dist/runtime/sitemap-http.js +91 -0
- package/dist/runtime/sitemap-http.js.map +1 -0
- package/dist/services/gateway-host.service.js +6 -1
- package/dist/services/gateway-host.service.js.map +1 -1
- package/dist/services/gateway-runtime.service.js +1 -1
- package/dist/services/gateway-runtime.service.js.map +1 -1
- package/package.json +24 -22
- package/.next/server/app/api/shell/navigation/route.js +0 -1
- package/.next/server/app/api/shell/navigation/route.js.nft.json +0 -1
- package/.next/server/app/api/shell/navigation/route_client-reference-manifest.js +0 -1
- package/.next/server/app/robots.txt.body +0 -5
- package/.next/server/app/robots.txt.meta +0 -1
- package/.next/server/chunks/377.js +0 -1
- package/.next/server/chunks/512.js +0 -2
- package/.next/server/chunks/621.js +0 -193
- package/.next/server/chunks/694.js +0 -165
- package/.next/server/chunks/761.js +0 -48
- package/.next/server/chunks/919.js +0 -107
- package/.next/server/chunks/941.js +0 -1
- package/.next/server/chunks/991.js +0 -1
- package/.next/static/W7JvaJOxXMTBDe7uMIlWm/_buildManifest.js +0 -1
- package/.next/static/chunks/128-88463f5aa049370d.js +0 -52
- package/.next/static/chunks/130-85ed753dd2afbb75.js +0 -1
- package/.next/static/chunks/507-30d5ae064837325c.js +0 -2
- package/.next/static/chunks/906-02ebd3fcb9fc3f0c.js +0 -1
- package/.next/static/chunks/app/[pluginId]/[[...path]]/page-4dd303371bb755c7.js +0 -1
- package/.next/static/chunks/app/_global-error/page-a519e69f1dbe97c4.js +0 -1
- package/.next/static/chunks/app/_not-found/page-64cb1a71ce368904.js +0 -1
- package/.next/static/chunks/app/api/shell/navigation/route-a519e69f1dbe97c4.js +0 -1
- package/.next/static/chunks/app/favicon.ico/route-a519e69f1dbe97c4.js +0 -1
- package/.next/static/chunks/app/layout-8208d5ac4dfff885.js +0 -1
- package/.next/static/chunks/app/page-8ee7b33b33cd79ee.js +0 -1
- package/.next/static/chunks/app/robots.txt/route-a519e69f1dbe97c4.js +0 -1
- package/.next/static/chunks/d3784132-6a36432fedf3ff6f.js +0 -1
- package/.next/static/chunks/main-0e4f61a9c633109e.js +0 -5
- package/.next/static/chunks/main-app-200aa40fca166de6.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-a519e69f1dbe97c4.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-a519e69f1dbe97c4.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-4329fe5c7ae59296.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-a519e69f1dbe97c4.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-a519e69f1dbe97c4.js +0 -1
- package/.next/types/app/api/shell/navigation/route.ts +0 -353
- package/dist/runtime/browser-api-discovery-runtime.d.ts +0 -24
- package/dist/runtime/browser-api-discovery-runtime.d.ts.map +0 -1
- package/dist/runtime/browser-api-discovery-runtime.js +0 -158
- package/dist/runtime/browser-api-discovery-runtime.js.map +0 -1
- package/dist/runtime/browser-api-provider-catalog.d.ts +0 -34
- package/dist/runtime/browser-api-provider-catalog.d.ts.map +0 -1
- package/dist/runtime/browser-api-provider-catalog.js +0 -133
- package/dist/runtime/browser-api-provider-catalog.js.map +0 -1
- package/dist/runtime/micro-browser-api-proxy.d.ts +0 -22
- package/dist/runtime/micro-browser-api-proxy.d.ts.map +0 -1
- package/dist/runtime/micro-browser-api-proxy.js +0 -206
- package/dist/runtime/micro-browser-api-proxy.js.map +0 -1
- /package/.next/static/{W7JvaJOxXMTBDe7uMIlWm → rwKTkmXmP-fXOvY9TPxU4}/_ssgManifest.js +0 -0
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-webpack","duration":
|
|
1
|
+
[{"name":"run-webpack","duration":152358898,"timestamp":1035913808727,"id":14,"parentId":1,"tags":{},"startTime":1789132358901,"traceId":"87ababaac088db1b"},{"name":"run-typescript","duration":3033429,"timestamp":1036066217745,"id":4549,"parentId":1,"tags":{},"startTime":1789132511315,"traceId":"87ababaac088db1b"},{"name":"static-check","duration":4067516,"timestamp":1036069343432,"id":4552,"parentId":1,"tags":{},"startTime":1789132514440,"traceId":"87ababaac088db1b"},{"name":"static-generation","duration":12232886,"timestamp":1036074982156,"id":4570,"parentId":1,"tags":{},"startTime":1789132520079,"traceId":"87ababaac088db1b"},{"name":"collect-build-traces","duration":47699476,"timestamp":1036073412620,"id":4567,"parentId":1,"tags":{},"startTime":1789132518510,"traceId":"87ababaac088db1b"},{"name":"telemetry-flush","duration":198,"timestamp":1036121122728,"id":4578,"parentId":1,"tags":{},"startTime":1789132566221,"traceId":"87ababaac088db1b"},{"name":"next-build","duration":207982663,"timestamp":1035913140289,"id":1,"tags":{"buildMode":"default","version":"16.3.0","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1789132358233,"traceId":"87ababaac088db1b"}]
|
package/.next/types/routes.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Do not edit this file manually
|
|
3
3
|
|
|
4
4
|
type AppRoutes = "/" | "/[pluginId]/[[...path]]"
|
|
5
|
-
type AppRouteHandlerRoutes = "/
|
|
5
|
+
type AppRouteHandlerRoutes = "/favicon.ico"
|
|
6
6
|
type PageRoutes = never
|
|
7
7
|
type LayoutRoutes = "/"
|
|
8
8
|
type RedirectRoutes = never
|
|
@@ -13,7 +13,6 @@ type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRo
|
|
|
13
13
|
interface ParamMap {
|
|
14
14
|
"/": {}
|
|
15
15
|
"/[pluginId]/[[...path]]": { "pluginId": string; "path"?: string[]; }
|
|
16
|
-
"/api/shell/navigation": {}
|
|
17
16
|
"/favicon.ico": {}
|
|
18
17
|
}
|
|
19
18
|
|
package/.next/types/validator.ts
CHANGED
|
@@ -65,15 +65,6 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
|
|
|
65
65
|
type __Unused = __Check
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
// Validate ../../src/app/api/shell/navigation/route.ts
|
|
69
|
-
{
|
|
70
|
-
type __IsExpected<Specific extends RouteHandlerConfig<"/api/shell/navigation">> = Specific
|
|
71
|
-
const handler = {} as typeof import("../../src/app/api/shell/navigation/route.js")
|
|
72
|
-
type __Check = __IsExpected<typeof handler>
|
|
73
|
-
// @ts-ignore
|
|
74
|
-
type __Unused = __Check
|
|
75
|
-
}
|
|
76
|
-
|
|
77
68
|
// Validate ../../src/app/favicon.ico/route.ts
|
|
78
69
|
{
|
|
79
70
|
type __IsExpected<Specific extends RouteHandlerConfig<"/favicon.ico">> = Specific
|
package/dist/browser-api.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-api.d.ts","sourceRoot":"","sources":["../src/browser-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,+BAA+B
|
|
1
|
+
{"version":3,"file":"browser-api.d.ts","sourceRoot":"","sources":["../src/browser-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,+BAA+B;;;;EAI1C,CAAC;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC"}
|
package/dist/browser-api.js
CHANGED
package/dist/browser-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-api.js","sourceRoot":"","sources":["../src/browser-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3D,WAAW,EAAE,IAAI;IACjB,kBAAkB,EAAE,IAAI;CACzB,CAAC,CAAC;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"browser-api.js","sourceRoot":"","sources":["../src/browser-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3D,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,IAAI;IACjB,kBAAkB,EAAE,IAAI;CACzB,CAAC,CAAC;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,mBAAmB;;;;kBAI9B,CAAC;AAEH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkCvB,CAAC;AAEH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAC7B;AACD,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAA;AACzE,eAAO,MAAM,kBAAkB,UAAW,OAAO;;;;CAAiD,CAAC;AAEnG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,GAAG,aAAa,CAmC7E"}
|
package/dist/config/schema.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createHmac } from 'node:crypto';
|
|
2
2
|
import { MCP_SCOPE_ALL } from '@hile/mcp';
|
|
3
|
-
import { parsePublicHostConfig
|
|
3
|
+
import { parsePublicHostConfig } from '@zlooks.cn/public-host-contract';
|
|
4
4
|
import { deepFreeze } from '@zlooks.cn/utils';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
const identifier = z.string().regex(/^[a-z][a-z0-9._-]{0,127}$/);
|
|
@@ -13,21 +13,32 @@ const positiveDuration = z.number().int().positive().max(2_147_483_647);
|
|
|
13
13
|
const gatewayConfigSchema = z.strictObject({
|
|
14
14
|
public: z.strictObject({ port: z.number().int().min(1).max(65_535), origin: z.url() }),
|
|
15
15
|
rsc: z.strictObject({
|
|
16
|
-
assetMountPath: z.literal('/_hile/rsc/assets'),
|
|
17
|
-
|
|
16
|
+
assetMountPath: z.literal('/_hile/rsc/assets'),
|
|
17
|
+
csrfToken: z.string().min(16),
|
|
18
|
+
render: z.strictObject({
|
|
19
|
+
timeoutMs: positiveDuration,
|
|
20
|
+
idleTimeoutMs: positiveDuration,
|
|
21
|
+
window: z.number().int().positive(),
|
|
22
|
+
}),
|
|
18
23
|
transfer: z.strictObject({
|
|
19
|
-
maxManifestBytes: z.number().int().positive(),
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
maxManifestBytes: z.number().int().positive(),
|
|
25
|
+
maxFileBytes: z.number().int().positive(),
|
|
26
|
+
maxTotalBytes: z.number().int().positive(),
|
|
27
|
+
maxArtifactFiles: z.number().int().positive(),
|
|
28
|
+
maxPathBytes: z.number().int().positive(),
|
|
29
|
+
maxPathDepth: z.number().int().positive(),
|
|
22
30
|
operationTimeoutMs: positiveDuration,
|
|
23
31
|
}),
|
|
24
32
|
discovery: z.strictObject({
|
|
25
|
-
pollIntervalMs: positiveDuration,
|
|
33
|
+
pollIntervalMs: positiveDuration,
|
|
34
|
+
missingReconciliations: z.number().int().positive(),
|
|
26
35
|
snapshotConcurrency: z.number().int().positive(),
|
|
27
36
|
}),
|
|
28
37
|
}),
|
|
29
38
|
mcp: z.strictObject({
|
|
30
|
-
path: z.literal('/mcp'),
|
|
39
|
+
path: z.literal('/mcp'),
|
|
40
|
+
pollIntervalMs: positiveDuration,
|
|
41
|
+
bearerToken: z.string().min(16),
|
|
31
42
|
clientId: identifier,
|
|
32
43
|
scopes: z.tuple([z.literal(MCP_SCOPE_ALL)]),
|
|
33
44
|
allowedHostnames: z.array(z.string().trim().min(1)).min(1),
|
|
@@ -43,16 +54,29 @@ export function parseGatewayConfig(input) {
|
|
|
43
54
|
public: { port: gateway.port, origin: publicHost.origin },
|
|
44
55
|
rsc: {
|
|
45
56
|
assetMountPath: '/_hile/rsc/assets',
|
|
46
|
-
csrfToken: createHmac('sha256', gateway.mcpBearerToken)
|
|
57
|
+
csrfToken: createHmac('sha256', gateway.mcpBearerToken)
|
|
58
|
+
.update('zlooks:gateway-rsc-csrf:v1')
|
|
59
|
+
.digest('base64url'),
|
|
47
60
|
render: { timeoutMs: 30_000, idleTimeoutMs: 10_000, window: 8 },
|
|
48
|
-
transfer: {
|
|
61
|
+
transfer: {
|
|
62
|
+
maxManifestBytes: 1_048_576,
|
|
63
|
+
maxFileBytes: 67_108_864,
|
|
64
|
+
maxTotalBytes: 268_435_456,
|
|
65
|
+
maxArtifactFiles: 4_096,
|
|
66
|
+
maxPathBytes: 1_024,
|
|
67
|
+
maxPathDepth: 32,
|
|
68
|
+
operationTimeoutMs: 30_000,
|
|
69
|
+
},
|
|
49
70
|
discovery: { pollIntervalMs: 500, missingReconciliations: 3, snapshotConcurrency: 16 },
|
|
50
71
|
},
|
|
51
72
|
mcp: {
|
|
52
|
-
path: '/mcp',
|
|
73
|
+
path: '/mcp',
|
|
74
|
+
pollIntervalMs: 2_000,
|
|
75
|
+
bearerToken: gateway.mcpBearerToken,
|
|
53
76
|
clientId: gateway.mcpBearerClientId,
|
|
54
77
|
scopes: [MCP_SCOPE_ALL],
|
|
55
|
-
allowedHostnames: [hostname],
|
|
78
|
+
allowedHostnames: [hostname],
|
|
79
|
+
allowedOriginHostnames: [hostname],
|
|
56
80
|
},
|
|
57
81
|
}));
|
|
58
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.controller.d.ts","sourceRoot":"","sources":["../../../../src/controllers/api/shell/navigation.controller.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { defineController } from '@hile/http';
|
|
2
|
+
import { loadService } from '@hile/core';
|
|
3
|
+
import { browserApiFailure, browserApiSuccess, GATEWAY_BROWSER_API_ERROR_CODES, } from '../../../browser-api.js';
|
|
4
|
+
import { listGatewayNavigation } from '../../../runtime/rsc-navigation.js';
|
|
5
|
+
import gatewayRuntimeService from '../../../services/gateway-runtime.service.js';
|
|
6
|
+
export default defineController('GET', async (context) => {
|
|
7
|
+
context.set('cache-control', 'private, no-store');
|
|
8
|
+
try {
|
|
9
|
+
const gateway = await loadService(gatewayRuntimeService);
|
|
10
|
+
return gateway.withCurrent(({ rsc, rscAccessPolicy }) => browserApiSuccess({
|
|
11
|
+
items: listGatewayNavigation(rsc, rscAccessPolicy),
|
|
12
|
+
}));
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
context.status = 503;
|
|
16
|
+
return browserApiFailure(GATEWAY_BROWSER_API_ERROR_CODES.gatewayUnavailable, '服务暂时不可用,请稍后重试');
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=navigation.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.controller.js","sourceRoot":"","sources":["../../../../src/controllers/api/shell/navigation.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,+BAA+B,GAChC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,qBAAqB,MAAM,8CAA8C,CAAC;AAEjF,eAAe,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACvD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,qBAAqB,CAAC,CAAC;QAEzD,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC;YACzE,KAAK,EAAE,qBAAqB,CAAC,GAAG,EAAE,eAAe,CAAC;SACnD,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;QAErB,OAAO,iBAAiB,CACtB,+BAA+B,CAAC,kBAAkB,EAClD,eAAe,CAChB,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import HttpNext from '@hile/http-next';
|
|
1
|
+
import type HttpNext from '@hile/http-next';
|
|
2
2
|
import type { Logger } from '@hile/logger';
|
|
3
3
|
import type { Application } from '@hile/micro';
|
|
4
4
|
import type { GatewayConfig } from '../config/schema';
|
|
5
|
-
import { BrowserApiDiscoveryRuntime } from './browser-api-discovery-runtime.js';
|
|
6
5
|
import { McpGatewayRuntime } from './mcp-gateway-runtime.js';
|
|
7
6
|
import { type GatewayRscAccessPolicy } from './rsc-access-policy.js';
|
|
8
7
|
import { RscDiscoveryRuntime } from './rsc-discovery-runtime.js';
|
|
@@ -10,20 +9,16 @@ import { PublicAssetDiscovery } from './public-asset-discovery.js';
|
|
|
10
9
|
type GatewayHost = Pick<HttpNext, 'use' | 'start'>;
|
|
11
10
|
type GatewayRscRuntime = Pick<RscDiscoveryRuntime, 'artifacts' | 'deployments' | 'locator' | 'start' | 'close'>;
|
|
12
11
|
type GatewayMcpRuntime = Pick<McpGatewayRuntime, 'middleware' | 'start' | 'close'>;
|
|
13
|
-
type GatewayBrowserApiRuntime = Pick<BrowserApiDiscoveryRuntime, 'resolve' | 'start' | 'close'>;
|
|
14
12
|
type GatewayPublicAssetRuntime = Pick<PublicAssetDiscovery, 'resolve' | 'start' | 'close'>;
|
|
15
13
|
type RuntimeLogger = Pick<Logger, 'error' | 'warn' | 'info'>;
|
|
16
14
|
interface GatewayRuntimeDependencies {
|
|
17
15
|
logger: RuntimeLogger;
|
|
18
16
|
debounceMs?: number;
|
|
19
|
-
createHost?(port: number, cwd: string): GatewayHost;
|
|
20
17
|
createRsc?(application: Application, readConfig: () => GatewayConfig): GatewayRscRuntime;
|
|
21
18
|
createMcp?(application: Application, config: GatewayConfig['mcp']): GatewayMcpRuntime;
|
|
22
|
-
createBrowserApi?(application: Application): GatewayBrowserApiRuntime;
|
|
23
19
|
createPublicAssets?(application: Application): GatewayPublicAssetRuntime;
|
|
24
20
|
createRscAccessPolicy?(rsc: GatewayRscRuntime): GatewayRscAccessPolicy;
|
|
25
21
|
mountRsc?(host: GatewayHost, rsc: GatewayRscRuntime, policy: GatewayRscAccessPolicy, readConfig: () => GatewayConfig): void;
|
|
26
|
-
mountBrowserApi?(host: GatewayHost, application: Application, routes: GatewayBrowserApiRuntime, readPublicOrigin: () => string, logger: RuntimeLogger): void;
|
|
27
22
|
mountRscBrowserContext?(host: GatewayHost): void;
|
|
28
23
|
}
|
|
29
24
|
interface GatewayRuntimeView {
|
|
@@ -37,10 +32,10 @@ export declare class GatewayRuntime {
|
|
|
37
32
|
#private;
|
|
38
33
|
readonly rsc: GatewayRscRuntime;
|
|
39
34
|
readonly rscAccessPolicy: GatewayRscAccessPolicy;
|
|
40
|
-
constructor(application: Application, initialConfig: GatewayConfig,
|
|
35
|
+
constructor(application: Application, initialConfig: GatewayConfig, dependencies: GatewayRuntimeDependencies);
|
|
41
36
|
get config(): GatewayConfig;
|
|
42
37
|
start(): Promise<void>;
|
|
43
|
-
startHost(): Promise<void>;
|
|
38
|
+
startHost(host: GatewayHost): Promise<void>;
|
|
44
39
|
stopHost(): Promise<void>;
|
|
45
40
|
update(config: GatewayConfig): Promise<void>;
|
|
46
41
|
withCurrent<T>(operation: (view: GatewayRuntimeView) => T | Promise<T>): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/gateway-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/gateway-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import HttpNext from '@hile/http-next';
|
|
2
1
|
import { createRuntimeReloader } from '@hile/reloader';
|
|
3
|
-
import { BrowserApiDiscoveryRuntime } from './browser-api-discovery-runtime.js';
|
|
4
2
|
import { closeInOrder } from './close-in-order.js';
|
|
5
3
|
import { assertGatewayConfigReloadable } from './gateway-reload-policy.js';
|
|
6
4
|
import { McpGatewayRuntime } from './mcp-gateway-runtime.js';
|
|
@@ -8,52 +6,36 @@ import { ReloadableMcpState } from './reloadable-mcp-state.js';
|
|
|
8
6
|
import { ActivePublicRscAccessPolicy, } from './rsc-access-policy.js';
|
|
9
7
|
import { RscDiscoveryRuntime } from './rsc-discovery-runtime.js';
|
|
10
8
|
import { mountGatewayRscAdapters } from './rsc-host-adapters.js';
|
|
11
|
-
import { mountMicroBrowserApiProxy } from './micro-browser-api-proxy.js';
|
|
12
9
|
import { mountRscBrowserContext } from './rsc-browser-context.js';
|
|
10
|
+
import { mountSitemapHttp } from './sitemap-http.js';
|
|
13
11
|
import { PublicAssetDiscovery } from './public-asset-discovery.js';
|
|
14
12
|
import { mountPublicAssetProxy } from './public-asset-proxy.js';
|
|
15
13
|
export class GatewayRuntime {
|
|
16
14
|
rsc;
|
|
17
15
|
rscAccessPolicy;
|
|
18
16
|
#application;
|
|
19
|
-
#host;
|
|
20
17
|
#initialConfig;
|
|
21
18
|
#logger;
|
|
22
|
-
#
|
|
19
|
+
#mountRsc;
|
|
20
|
+
#mountRscBrowserContext;
|
|
23
21
|
#publicAssets;
|
|
22
|
+
#host;
|
|
24
23
|
#publicTransfers;
|
|
25
24
|
#reloader;
|
|
26
25
|
#startHttpPromise;
|
|
27
26
|
#stopHttpPromise;
|
|
28
27
|
#stopHttp;
|
|
29
|
-
constructor(application, initialConfig,
|
|
28
|
+
constructor(application, initialConfig, dependencies) {
|
|
30
29
|
this.#application = application;
|
|
31
30
|
this.#initialConfig = initialConfig;
|
|
32
31
|
this.#logger = dependencies.logger;
|
|
33
|
-
const createHost = dependencies.createHost
|
|
34
|
-
?? ((port, root) => new HttpNext({ port, cwd: root }));
|
|
35
32
|
const createRsc = dependencies.createRsc
|
|
36
33
|
?? ((app, readConfig) => new RscDiscoveryRuntime(app, readConfig, dependencies.logger));
|
|
37
34
|
const createMcp = dependencies.createMcp
|
|
38
35
|
?? ((app, config) => new McpGatewayRuntime(app, config, dependencies.logger));
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const createBrowserApi = dependencies.createBrowserApi
|
|
42
|
-
?? ((app) => new BrowserApiDiscoveryRuntime({
|
|
43
|
-
application: app,
|
|
44
|
-
onRejected: (topic, error) => this.#logger.warn({
|
|
45
|
-
err: error,
|
|
46
|
-
event: 'browser-api.discovery.rejected',
|
|
47
|
-
topic,
|
|
48
|
-
}, 'Browser API Provider announcement rejected'),
|
|
49
|
-
onError: (error) => this.#logger.error({
|
|
50
|
-
err: error,
|
|
51
|
-
event: 'browser-api.discovery.poll-failed',
|
|
52
|
-
}, 'Browser API Provider discovery poll failed'),
|
|
53
|
-
}));
|
|
54
|
-
this.#host = createHost(initialConfig.public.port, cwd);
|
|
36
|
+
this.#mountRsc = dependencies.mountRsc ?? mountGatewayRscAdapters;
|
|
37
|
+
this.#mountRscBrowserContext = dependencies.mountRscBrowserContext ?? mountRscBrowserContext;
|
|
55
38
|
this.rsc = createRsc(application, () => this.config);
|
|
56
|
-
this.#browserApi = createBrowserApi(application);
|
|
57
39
|
this.#publicAssets = dependencies.createPublicAssets?.(application) ?? new PublicAssetDiscovery(application, {
|
|
58
40
|
onError: (error) => this.#logger.error({ err: error, event: 'public-asset.discovery.failed' }, 'Public transfer discovery failed'),
|
|
59
41
|
onRejected: (topic, error) => this.#logger.warn({ err: error, topic, event: 'public-asset.discovery.rejected' }, 'Public transfer announcement rejected'),
|
|
@@ -77,18 +59,6 @@ export class GatewayRuntime {
|
|
|
77
59
|
}, 'Gateway runtime reload failed');
|
|
78
60
|
},
|
|
79
61
|
});
|
|
80
|
-
(dependencies.mountRscBrowserContext ?? mountRscBrowserContext)(this.#host);
|
|
81
|
-
mountRsc(this.#host, this.rsc, this.rscAccessPolicy, () => this.config);
|
|
82
|
-
this.#host.use((context, next) => this.#useCurrent((state) => state.mcp.middleware(context, next)));
|
|
83
|
-
mountBrowserApi(this.#host, application, this.#browserApi, () => this.config.public.origin, this.#logger);
|
|
84
|
-
this.#publicTransfers = mountPublicAssetProxy(this.#host, application, {
|
|
85
|
-
resolve: (path, method) => {
|
|
86
|
-
const reserved = ['/api', '/_next', '/_hile', '/-', this.config.mcp.path, this.config.rsc.assetMountPath];
|
|
87
|
-
if (reserved.some((prefix) => path === prefix || path.startsWith(`${prefix.replace(/\/$/, '')}/`)))
|
|
88
|
-
return { status: 'none' };
|
|
89
|
-
return this.#publicAssets.resolve(path, method);
|
|
90
|
-
},
|
|
91
|
-
}, this.#logger);
|
|
92
62
|
}
|
|
93
63
|
get config() {
|
|
94
64
|
return this.#reloader?.current()?.config ?? this.#initialConfig;
|
|
@@ -96,7 +66,6 @@ export class GatewayRuntime {
|
|
|
96
66
|
async start() {
|
|
97
67
|
try {
|
|
98
68
|
await this.#requireReloader().update(this.#initialConfig);
|
|
99
|
-
await this.#browserApi.start();
|
|
100
69
|
await this.#publicAssets.start();
|
|
101
70
|
await this.rsc.start();
|
|
102
71
|
}
|
|
@@ -110,15 +79,17 @@ export class GatewayRuntime {
|
|
|
110
79
|
throw error;
|
|
111
80
|
}
|
|
112
81
|
}
|
|
113
|
-
async startHost() {
|
|
82
|
+
async startHost(host) {
|
|
114
83
|
if (!this.#requireReloader().current()) {
|
|
115
84
|
throw new Error('Gateway runtime is not ready');
|
|
116
85
|
}
|
|
117
|
-
if (this.#startHttpPromise || this.#stopHttp) {
|
|
86
|
+
if (this.#host || this.#startHttpPromise || this.#stopHttp) {
|
|
118
87
|
throw new Error('Gateway public Host is already started or starting');
|
|
119
88
|
}
|
|
89
|
+
this.#host = host;
|
|
90
|
+
this.#mountHost(host);
|
|
120
91
|
const startPromise = (async () => {
|
|
121
|
-
this.#stopHttp = await
|
|
92
|
+
this.#stopHttp = await host.start();
|
|
122
93
|
})();
|
|
123
94
|
this.#startHttpPromise = startPromise;
|
|
124
95
|
try {
|
|
@@ -142,7 +113,7 @@ export class GatewayRuntime {
|
|
|
142
113
|
return stopPromise;
|
|
143
114
|
}
|
|
144
115
|
async #stopHostOnce() {
|
|
145
|
-
this.#publicTransfers
|
|
116
|
+
this.#publicTransfers?.close();
|
|
146
117
|
await this.#startHttpPromise;
|
|
147
118
|
const stopHttp = this.#stopHttp;
|
|
148
119
|
if (!stopHttp)
|
|
@@ -151,6 +122,20 @@ export class GatewayRuntime {
|
|
|
151
122
|
if (this.#stopHttp === stopHttp)
|
|
152
123
|
this.#stopHttp = undefined;
|
|
153
124
|
}
|
|
125
|
+
#mountHost(host) {
|
|
126
|
+
this.#mountRscBrowserContext(host);
|
|
127
|
+
this.#mountRsc(host, this.rsc, this.rscAccessPolicy, () => this.config);
|
|
128
|
+
host.use((context, next) => this.#useCurrent((state) => state.mcp.middleware(context, next)));
|
|
129
|
+
mountSitemapHttp(host, this.#application, this.#logger);
|
|
130
|
+
this.#publicTransfers = mountPublicAssetProxy(host, this.#application, {
|
|
131
|
+
resolve: (path, method) => {
|
|
132
|
+
const reserved = ['/api', '/_next', '/_hile', '/-', '/sitemap.xml', this.config.mcp.path, this.config.rsc.assetMountPath];
|
|
133
|
+
if (reserved.some((prefix) => path === prefix || path.startsWith(`${prefix.replace(/\/$/, '')}/`)))
|
|
134
|
+
return { status: 'none' };
|
|
135
|
+
return this.#publicAssets.resolve(path, method);
|
|
136
|
+
},
|
|
137
|
+
}, this.#logger);
|
|
138
|
+
}
|
|
154
139
|
async update(config) {
|
|
155
140
|
await this.#requireReloader().update(config);
|
|
156
141
|
}
|
|
@@ -167,7 +152,6 @@ export class GatewayRuntime {
|
|
|
167
152
|
await closeInOrder([
|
|
168
153
|
() => this.stopHost(),
|
|
169
154
|
() => this.#requireReloader().stop(),
|
|
170
|
-
() => this.#browserApi.close(),
|
|
171
155
|
() => this.#publicAssets.close(),
|
|
172
156
|
() => this.rsc.close(),
|
|
173
157
|
], 'Gateway runtime cleanup failed');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-runtime.js","sourceRoot":"","sources":["../../src/runtime/gateway-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gateway-runtime.js","sourceRoot":"","sources":["../../src/runtime/gateway-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type Readable } from 'node:stream';
|
|
2
|
+
import { type HttpOverMicroCallOptions, type HttpOverMicroApplication, type HttpOverMicroRequest, type HttpOverMicroResponse } from '@hile/http-over-micro';
|
|
3
|
+
import type { Logger } from '@hile/logger';
|
|
4
|
+
type RuntimeLogger = Pick<Logger, 'error' | 'warn' | 'info'>;
|
|
5
|
+
type HttpOverMicroCall = (application: HttpOverMicroApplication, namespace: string, url: string, request: HttpOverMicroRequest<unknown>, options: HttpOverMicroCallOptions) => Promise<HttpOverMicroResponse<unknown>>;
|
|
6
|
+
export interface HttpOverMicroControllerContext {
|
|
7
|
+
readonly method: string;
|
|
8
|
+
readonly ip: string;
|
|
9
|
+
readonly querystring: string;
|
|
10
|
+
readonly req: Readable & {
|
|
11
|
+
aborted?: boolean;
|
|
12
|
+
headers: Record<string, string | readonly string[] | undefined>;
|
|
13
|
+
once(event: string, listener: () => void): unknown;
|
|
14
|
+
off(event: string, listener: () => void): unknown;
|
|
15
|
+
};
|
|
16
|
+
readonly res: {
|
|
17
|
+
destroyed?: boolean;
|
|
18
|
+
writableEnded?: boolean;
|
|
19
|
+
once(event: string, listener: () => void): unknown;
|
|
20
|
+
off(event: string, listener: () => void): unknown;
|
|
21
|
+
};
|
|
22
|
+
readonly request: {
|
|
23
|
+
body?: unknown;
|
|
24
|
+
is(...types: string[]): string | false | null;
|
|
25
|
+
};
|
|
26
|
+
readonly cookies: {
|
|
27
|
+
secure: boolean;
|
|
28
|
+
get(name: string): string | undefined;
|
|
29
|
+
set(name: string, value: string, options: Record<string, unknown>): void;
|
|
30
|
+
};
|
|
31
|
+
status: number;
|
|
32
|
+
body?: unknown;
|
|
33
|
+
get(name: string): string;
|
|
34
|
+
append(name: string, value: string): void;
|
|
35
|
+
throw(status: number, message: string): never;
|
|
36
|
+
}
|
|
37
|
+
export interface HttpOverMicroControllerDependencies {
|
|
38
|
+
readonly application: HttpOverMicroApplication;
|
|
39
|
+
readonly readPublicOrigin: () => string;
|
|
40
|
+
readonly logger: RuntimeLogger;
|
|
41
|
+
readonly call?: HttpOverMicroCall;
|
|
42
|
+
}
|
|
43
|
+
export declare function proxyHttpOverMicro(context: HttpOverMicroControllerContext, namespace: string, url: string, dependencies: HttpOverMicroControllerDependencies): Promise<unknown>;
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=http-over-micro-controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-over-micro-controller.d.ts","sourceRoot":"","sources":["../../src/runtime/http-over-micro-controller.ts"],"names":[],"mappings":"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"}
|