@zhin.js/pagemanager 1.1.9 → 1.1.11

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 (67) hide show
  1. package/lib/client-build/index.d.ts +0 -1
  2. package/lib/client-build/index.js.map +1 -1
  3. package/lib/client-build/manifest-loader.d.ts +0 -1
  4. package/lib/client-build/manifest-loader.js.map +1 -1
  5. package/lib/client-build/module-runtime.d.ts +0 -1
  6. package/lib/client-build/module-runtime.js.map +1 -1
  7. package/lib/client-build/static-metadata.d.ts +0 -1
  8. package/lib/client-build/static-metadata.js.map +1 -1
  9. package/lib/client-build/types.d.ts +0 -1
  10. package/lib/client-build/types.js.map +1 -1
  11. package/lib/client-build/typescript-builder.d.ts +0 -1
  12. package/lib/client-build/typescript-builder.js.map +1 -1
  13. package/lib/node/consoleApiRouter.d.ts +0 -1
  14. package/lib/node/consoleApiRouter.js.map +1 -1
  15. package/lib/node/consoleServerOptions.d.ts +0 -1
  16. package/lib/node/consoleServerOptions.js.map +1 -1
  17. package/lib/node/entries-handler.d.ts +0 -1
  18. package/lib/node/entries-handler.js.map +1 -1
  19. package/lib/node/entryStore.d.ts +0 -1
  20. package/lib/node/entryStore.js.map +1 -1
  21. package/lib/node/env.d.ts +0 -1
  22. package/lib/node/env.js.map +1 -1
  23. package/lib/node/esmForBrowser.d.ts +0 -1
  24. package/lib/node/esmForBrowser.js.map +1 -1
  25. package/lib/node/index.d.ts +0 -1
  26. package/lib/node/index.js.map +1 -1
  27. package/lib/node/pageManager.d.ts +0 -1
  28. package/lib/node/pageManager.js.map +1 -1
  29. package/lib/node/pluginEntryBundle.d.ts +0 -1
  30. package/lib/node/pluginEntryBundle.js.map +1 -1
  31. package/lib/node/resolveClientEntries.d.ts +0 -1
  32. package/lib/node/resolveClientEntries.js.map +1 -1
  33. package/lib/node/startHost.d.ts +0 -1
  34. package/lib/node/startHost.js.map +1 -1
  35. package/lib/plugin-runtime/access.d.ts +0 -1
  36. package/lib/plugin-runtime/access.js.map +1 -1
  37. package/lib/plugin-runtime/console-catalog.d.ts +0 -1
  38. package/lib/plugin-runtime/console-catalog.js.map +1 -1
  39. package/lib/plugin-runtime/console-runtime.d.ts +0 -1
  40. package/lib/plugin-runtime/console-runtime.js.map +1 -1
  41. package/lib/plugin-runtime/index.d.ts +0 -1
  42. package/lib/plugin-runtime/index.js.map +1 -1
  43. package/lib/plugin-runtime/navigation.d.ts +0 -1
  44. package/lib/plugin-runtime/navigation.js.map +1 -1
  45. package/package.json +7 -7
  46. package/lib/client-build/index.d.ts.map +0 -1
  47. package/lib/client-build/manifest-loader.d.ts.map +0 -1
  48. package/lib/client-build/module-runtime.d.ts.map +0 -1
  49. package/lib/client-build/static-metadata.d.ts.map +0 -1
  50. package/lib/client-build/types.d.ts.map +0 -1
  51. package/lib/client-build/typescript-builder.d.ts.map +0 -1
  52. package/lib/node/consoleApiRouter.d.ts.map +0 -1
  53. package/lib/node/consoleServerOptions.d.ts.map +0 -1
  54. package/lib/node/entries-handler.d.ts.map +0 -1
  55. package/lib/node/entryStore.d.ts.map +0 -1
  56. package/lib/node/env.d.ts.map +0 -1
  57. package/lib/node/esmForBrowser.d.ts.map +0 -1
  58. package/lib/node/index.d.ts.map +0 -1
  59. package/lib/node/pageManager.d.ts.map +0 -1
  60. package/lib/node/pluginEntryBundle.d.ts.map +0 -1
  61. package/lib/node/resolveClientEntries.d.ts.map +0 -1
  62. package/lib/node/startHost.d.ts.map +0 -1
  63. package/lib/plugin-runtime/access.d.ts.map +0 -1
  64. package/lib/plugin-runtime/console-catalog.d.ts.map +0 -1
  65. package/lib/plugin-runtime/console-runtime.d.ts.map +0 -1
  66. package/lib/plugin-runtime/index.d.ts.map +0 -1
  67. package/lib/plugin-runtime/navigation.d.ts.map +0 -1
@@ -3,4 +3,3 @@ export * from './module-runtime.js';
3
3
  export * from './static-metadata.js';
4
4
  export * from './typescript-builder.js';
5
5
  export * from './types.js';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client-build/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client-build/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC","sourcesContent":["export * from './manifest-loader.js';\nexport * from './module-runtime.js';\nexport * from './static-metadata.js';\nexport * from './typescript-builder.js';\nexport * from './types.js';\n"]}
@@ -6,4 +6,3 @@ export declare class ManifestClientModuleLoader implements ClientModuleLoader {
6
6
  static fromFile(path: string): Promise<ManifestClientModuleLoader>;
7
7
  load<T = unknown>(_source: string, request: ClientModuleRequest): Promise<T>;
8
8
  }
9
- //# sourceMappingURL=manifest-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-loader.js","sourceRoot":"","sources":["../../src/client-build/manifest-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQ5C,MAAM,OAAO,0BAA0B;IAC5B,QAAQ,CAAsD;IAEvE,YAAY,QAAgC;QAC1C,IAAI,QAAQ,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0C,CAAC;QAClE,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YACvC,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAY;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAA2B,CAAC;QAClF,OAAO,IAAI,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,IAAI,CAAc,OAAe,EAAE,OAA4B;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACnG,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAM,CAAC;IACV,CAAC;CACF;AAED,SAAS,WAAW,CAAC,OAA4B;IAC/C,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,KAAsC,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAU,EAAE,CAAC;QAC3F,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,SAAS,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,KAA6B,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"manifest-loader.js","sourceRoot":"","sources":["../../src/client-build/manifest-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQ5C,MAAM,OAAO,0BAA0B;IAC5B,QAAQ,CAAsD;IAEvE,YAAY,QAAgC;QAC1C,IAAI,QAAQ,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0C,CAAC;QAClE,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YACvC,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAY;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAA2B,CAAC;QAClF,OAAO,IAAI,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,IAAI,CAAc,OAAe,EAAE,OAA4B;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACnG,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAM,CAAC;IACV,CAAC;CACF;AAED,SAAS,WAAW,CAAC,OAA4B;IAC/C,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,KAAsC,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAU,EAAE,CAAC;QAC3F,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,SAAS,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,KAA6B,CAAC;AACvC,CAAC","sourcesContent":["import { readFile } from 'node:fs/promises';\nimport type { ClientModuleRequest } from '@zhin.js/feature-kit';\nimport type {\n ClientArtifactManifest,\n ClientArtifactRecord,\n ClientModuleLoader,\n} from './types.js';\n\nexport class ManifestClientModuleLoader implements ClientModuleLoader {\n readonly #entries: ReadonlyMap<string, Readonly<ClientArtifactRecord>>;\n\n constructor(manifest: ClientArtifactManifest) {\n if (manifest.protocol !== 1 || !Array.isArray(manifest.entries)) {\n throw new TypeError('Unsupported client artifact manifest');\n }\n const entries = new Map<string, Readonly<ClientArtifactRecord>>();\n for (const candidate of manifest.entries) {\n const entry = validateEntry(candidate);\n const key = artifactKey(entry);\n if (entries.has(key)) throw new Error(`Duplicate client artifact: ${key}`);\n entries.set(key, Object.freeze({ ...entry }));\n }\n this.#entries = entries;\n }\n\n static async fromFile(path: string): Promise<ManifestClientModuleLoader> {\n const parsed = JSON.parse(await readFile(path, 'utf8')) as ClientArtifactManifest;\n return new ManifestClientModuleLoader(parsed);\n }\n\n async load<T = unknown>(_source: string, request: ClientModuleRequest): Promise<T> {\n const entry = this.#entries.get(artifactKey(request));\n if (!entry) throw new Error(`Missing client artifact for ${request.feature}:${request.localName}`);\n return Object.freeze({\n module: entry.module,\n hash: entry.hash,\n metadata: entry.metadata,\n }) as T;\n }\n}\n\nfunction artifactKey(request: ClientModuleRequest): string {\n return `${request.owner}\\0${request.feature}\\0${request.localName}`;\n}\n\nfunction validateEntry(value: unknown): ClientArtifactRecord {\n if (!value || typeof value !== 'object') throw new TypeError('Invalid client artifact entry');\n const entry = value as Partial<ClientArtifactRecord>;\n for (const field of ['source', 'owner', 'feature', 'localName', 'module', 'hash'] as const) {\n if (typeof entry[field] !== 'string' || !entry[field]) {\n throw new TypeError(`Invalid client artifact ${field}`);\n }\n }\n return entry as ClientArtifactRecord;\n}\n"]}
@@ -19,4 +19,3 @@ export declare class ClientBuildModuleRuntime implements ModuleRuntime {
19
19
  watch(listener: (source: string) => void): Dispose;
20
20
  close(): Promise<void>;
21
21
  }
22
- //# sourceMappingURL=module-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-runtime.js","sourceRoot":"","sources":["../../src/client-build/module-runtime.ts"],"names":[],"mappings":"AAKA,wFAAwF;AACxF,MAAM,OAAO,wBAAwB;IAEhB;IACA;IAFnB,YACmB,MAAqB,EACrB,MAA0B;QAD1B,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAAoB;IAC1C,CAAC;IAEJ,IAAI,CAAc,MAAc;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAI,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,gBAAgB,CAAc,MAAc,EAAE,OAA4B;QACxE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAI,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,eAAe,CAAC,MAAc;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,sBAAsB,CAAC,MAAc;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;IAC/D,CAAC;IAED,eAAe;QACb,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;IAClC,CAAC;IAED,gBAAgB,CAAC,OAA0B;QACzC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,CAAC;IACrC,CAAC;IAED,gBAAgB,CAAC,KAAiC;QAChD,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,QAAkC;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"module-runtime.js","sourceRoot":"","sources":["../../src/client-build/module-runtime.ts"],"names":[],"mappings":"AAKA,wFAAwF;AACxF,MAAM,OAAO,wBAAwB;IAEhB;IACA;IAFnB,YACmB,MAAqB,EACrB,MAA0B;QAD1B,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAAoB;IAC1C,CAAC;IAEJ,IAAI,CAAc,MAAc;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAI,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,gBAAgB,CAAc,MAAc,EAAE,OAA4B;QACxE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAI,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,eAAe,CAAC,MAAc;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,sBAAsB,CAAC,MAAc;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;IAC/D,CAAC;IAED,eAAe;QACb,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;IAClC,CAAC;IAED,gBAAgB,CAAC,OAA0B;QACzC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,CAAC;IACrC,CAAC;IAED,gBAAgB,CAAC,KAAiC;QAChD,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,QAAkC;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF","sourcesContent":["import type { Dispose } from '@zhin.js/plugin-runtime';\nimport type { ClientModuleRequest } from '@zhin.js/feature-kit';\nimport type { ModuleRuntime, ModuleWatchRoot } from '@zhin.js/runtime';\nimport type { ClientModuleLoader } from './types.js';\n\n/** Adds client artifact loading while preserving the server ModuleRuntime authority. */\nexport class ClientBuildModuleRuntime implements ModuleRuntime {\n constructor(\n private readonly server: ModuleRuntime,\n private readonly client: ClientModuleLoader,\n ) {}\n\n load<T = unknown>(source: string): Promise<T> {\n return this.server.load<T>(source);\n }\n\n loadClientModule<T = unknown>(source: string, request: ClientModuleRequest): Promise<T> {\n return this.client.load<T>(source, request);\n }\n\n invalidate(source: string): Promise<void> | void {\n return this.server.invalidate?.(source);\n }\n\n affectedSources(source: string): readonly string[] {\n return this.server.affectedSources?.(source) ?? [source];\n }\n\n requiresProcessRestart(source: string): boolean {\n return this.server.requiresProcessRestart?.(source) ?? false;\n }\n\n beginGeneration(): void {\n this.server.beginGeneration?.();\n }\n\n commitGeneration(sources: readonly string[]): void {\n this.server.commitGeneration?.(sources);\n }\n\n rollbackGeneration(): void {\n this.server.rollbackGeneration?.();\n }\n\n updateWatchRoots(roots: readonly ModuleWatchRoot[]): void {\n this.server.updateWatchRoots?.(roots);\n }\n\n watch(listener: (source: string) => void): Dispose {\n return this.server.watch?.(listener) ?? (() => undefined);\n }\n\n close(): Promise<void> {\n return this.server.close();\n }\n}\n"]}
@@ -6,4 +6,3 @@ export declare class ClientSourceError extends Error {
6
6
  readonly column: number;
7
7
  constructor(source: string, line: number, column: number, message: string);
8
8
  }
9
- //# sourceMappingURL=static-metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"static-metadata.js","sourceRoot":"","sources":["../../src/client-build/static-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"static-metadata.js","sourceRoot":"","sources":["../../src/client-build/static-metadata.ts"],"names":[],"mappings":"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","sourcesContent":["import { createRequire } from 'node:module';\nimport type ts from 'typescript';\n\nconst require = createRequire(import.meta.url);\n\n/** TypeScript is optional until a client source actually needs static analysis. */\nfunction compiler(): typeof ts {\n try {\n return require('typescript') as typeof ts;\n } catch (cause) {\n throw new Error('Console Page/Layout compilation requires the optional typescript peer dependency. Install typescript >=5.8.0 <7.0.0 in the application.', { cause });\n }\n}\n\nexport function extractPageMetadata(source: string, fileName: string): unknown {\n const file = compiler().createSourceFile(fileName, source, compiler().ScriptTarget.Latest, true, scriptKind(fileName));\n assertDefaultExport(file);\n let metadata: unknown;\n let found = false;\n for (const statement of file.statements) {\n if (!compiler().isVariableStatement(statement) || !hasModifier(statement, compiler().SyntaxKind.ExportKeyword)) continue;\n for (const declaration of statement.declarationList.declarations) {\n if (!compiler().isIdentifier(declaration.name) || declaration.name.text !== 'meta') continue;\n if (found) fail(file, declaration, 'Page module exports meta more than once');\n found = true;\n assertDefinePageImport(file, declaration);\n metadata = parseDefinePage(file, declaration.initializer);\n }\n }\n return metadata;\n}\n\nfunction assertDefinePageImport(file: ts.SourceFile, node: ts.Node): void {\n const found = file.statements.some((statement) => {\n if (!compiler().isImportDeclaration(statement)\n || !compiler().isStringLiteral(statement.moduleSpecifier)\n || statement.moduleSpecifier.text !== '@zhin.js/console-contract') return false;\n const bindings = statement.importClause?.namedBindings;\n return bindings && compiler().isNamedImports(bindings)\n && bindings.elements.some((element) => element.name.text === 'definePage'\n && (element.propertyName?.text ?? element.name.text) === 'definePage');\n });\n if (!found) fail(\n file,\n node,\n 'Page meta requires a named definePage import from @zhin.js/console-contract',\n );\n}\n\nexport function assertLayoutModule(source: string, fileName: string): void {\n const file = compiler().createSourceFile(fileName, source, compiler().ScriptTarget.Latest, true, scriptKind(fileName));\n assertDefaultExport(file);\n}\n\nfunction parseDefinePage(file: ts.SourceFile, expression: ts.Expression | undefined): unknown {\n if (!expression || !compiler().isCallExpression(expression)\n || !compiler().isIdentifier(expression.expression) || expression.expression.text !== 'definePage') {\n fail(file, expression ?? file, 'Page meta must be definePage({...})');\n }\n if (expression.arguments.length > 1) fail(file, expression, 'definePage() accepts at most one argument');\n const argument = expression.arguments[0];\n return argument ? literal(file, argument) : {};\n}\n\nfunction literal(file: ts.SourceFile, node: ts.Expression): unknown {\n if (compiler().isStringLiteral(node) || compiler().isNoSubstitutionTemplateLiteral(node)) return node.text;\n if (compiler().isNumericLiteral(node)) return Number(node.text);\n if (node.kind === compiler().SyntaxKind.TrueKeyword) return true;\n if (node.kind === compiler().SyntaxKind.FalseKeyword) return false;\n if (node.kind === compiler().SyntaxKind.NullKeyword) return null;\n if (compiler().isPrefixUnaryExpression(node)\n && node.operator === compiler().SyntaxKind.MinusToken && compiler().isNumericLiteral(node.operand)) {\n return -Number(node.operand.text);\n }\n if (compiler().isArrayLiteralExpression(node)) {\n return node.elements.map((element) => {\n if (compiler().isSpreadElement(element) || compiler().isOmittedExpression(element)) {\n fail(file, element, 'Page metadata arrays cannot contain spreads or holes');\n }\n return literal(file, element);\n });\n }\n if (compiler().isObjectLiteralExpression(node)) {\n const result: Record<string, unknown> = {};\n for (const property of node.properties) {\n if (!compiler().isPropertyAssignment(property)) {\n fail(file, property, 'Page metadata only supports static property assignments');\n }\n const name = propertyName(file, property.name);\n if (Object.hasOwn(result, name)) fail(file, property.name, `Duplicate Page metadata key: ${name}`);\n result[name] = literal(file, property.initializer);\n }\n return result;\n }\n fail(file, node, 'Page metadata must contain JSON-like literals only');\n}\n\nfunction propertyName(file: ts.SourceFile, name: ts.PropertyName): string {\n if (compiler().isIdentifier(name) || compiler().isStringLiteral(name) || compiler().isNumericLiteral(name)) return name.text;\n fail(file, name, 'Page metadata does not support computed property names');\n}\n\nfunction assertDefaultExport(file: ts.SourceFile): void {\n const found = file.statements.some((statement) => {\n if (compiler().isExportAssignment(statement)) return !statement.isExportEquals;\n return (compiler().isFunctionDeclaration(statement) || compiler().isClassDeclaration(statement))\n && hasModifier(statement, compiler().SyntaxKind.ExportKeyword)\n && hasModifier(statement, compiler().SyntaxKind.DefaultKeyword);\n });\n if (!found) fail(file, file, 'Client module must have a default export');\n}\n\nfunction hasModifier(node: ts.Node, kind: ts.SyntaxKind): boolean {\n return compiler().canHaveModifiers(node) && compiler().getModifiers(node)?.some((modifier) => modifier.kind === kind) === true;\n}\n\nfunction scriptKind(fileName: string): ts.ScriptKind {\n return fileName.endsWith('.tsx') ? compiler().ScriptKind.TSX : compiler().ScriptKind.TS;\n}\n\nfunction fail(file: ts.SourceFile, node: ts.Node, message: string): never {\n const position = file.getLineAndCharacterOfPosition(node.getStart(file, false));\n throw new ClientSourceError(file.fileName, position.line + 1, position.character + 1, message);\n}\n\nexport class ClientSourceError extends Error {\n constructor(\n readonly source: string,\n readonly line: number,\n readonly column: number,\n message: string,\n ) {\n super(`${source}:${line}:${column} ${message}`);\n this.name = 'ClientSourceError';\n }\n}\n"]}
@@ -23,4 +23,3 @@ export interface TypeScriptClientBuilderOptions {
23
23
  readonly consoleBasePath?: string;
24
24
  readonly manifestFile?: string;
25
25
  }
26
- //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client-build/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client-build/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ClientModuleArtifact } from '@zhin.js/console-contract';\nimport type { ClientModuleRequest } from '@zhin.js/feature-kit';\n\nexport interface ClientBuildEntry extends ClientModuleRequest {\n readonly source: string;\n}\n\nexport interface ClientArtifactRecord extends ClientBuildEntry, ClientModuleArtifact {}\n\nexport interface ClientArtifactManifest {\n readonly protocol: 1;\n readonly entries: readonly ClientArtifactRecord[];\n}\n\nexport interface ClientModuleLoader {\n load<T = unknown>(source: string, request: ClientModuleRequest): Promise<T>;\n}\n\nexport interface TypeScriptClientBuilderOptions {\n readonly outDir: string;\n readonly projectRoot?: string;\n readonly publicBase?: string;\n /**\n * Console public base used when rewriting bare React imports to `/esm/…`.\n * Defaults to `/` (Host root). Must match the base passed to `GET /esm/:enc.mjs`.\n */\n readonly consoleBasePath?: string;\n readonly manifestFile?: string;\n}\n"]}
@@ -6,4 +6,3 @@ export declare class TypeScriptClientBuilder implements ClientModuleLoader {
6
6
  load<T = unknown>(source: string, request: ClientModuleRequest): Promise<T>;
7
7
  build(entries: readonly ClientBuildEntry[]): Promise<Readonly<ClientArtifactManifest>>;
8
8
  }
9
- //# sourceMappingURL=typescript-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-builder.js","sourceRoot":"","sources":["../../src/client-build/typescript-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript-builder.js","sourceRoot":"","sources":["../../src/client-build/typescript-builder.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from 'node:crypto';\nimport { mkdir, readFile, rename, writeFile } from 'node:fs/promises';\nimport { basename, dirname, join, relative, resolve, sep } from 'node:path';\nimport { build as esbuild, type Plugin as EsbuildPlugin } from 'esbuild';\nimport { pageRoute, type ClientModuleArtifact } from '@zhin.js/console-contract';\nimport type { ClientModuleRequest } from '@zhin.js/feature-kit';\nimport { rootPluginId } from '@zhin.js/plugin-runtime';\nimport {\n assertLayoutModule,\n extractPageMetadata,\n} from './static-metadata.js';\nimport {\n ALLOWED_ESM_CANONICAL,\n rewriteBareImportsForBrowser,\n} from '../node/esmForBrowser.js';\nimport type {\n ClientArtifactManifest,\n ClientArtifactRecord,\n ClientBuildEntry,\n ClientModuleLoader,\n TypeScriptClientBuilderOptions,\n} from './types.js';\n\nconst pageFeature = 'zhin.page';\nconst layoutFeature = 'zhin.layout';\n\n/** Host-shared React/router graph — never bundle (single instance via `/esm/*`). */\nconst BROWSER_EXTERNALS = [...ALLOWED_ESM_CANONICAL];\n\n/**\n * Browser-only stubs for build-time contracts. Page `meta` is already extracted by\n * static-metadata; the runtime only needs `definePage`/`defineLayout` as identity so\n * we never leave a bare `@zhin.js/*` import for the browser to resolve.\n */\nconst CONSOLE_CONTRACT_STUB = [\n 'export function definePage(metadata = {}) { return metadata; }',\n 'export function defineLayout(metadata = {}) { return metadata; }',\n 'export function normalizePageMetadata(_name, metadata) { return metadata; }',\n 'export function normalizeClientModuleArtifact(value) { return value; }',\n].join('\\n');\n\nexport class TypeScriptClientBuilder implements ClientModuleLoader {\n readonly #outDir: string;\n readonly #projectRoot: string;\n readonly #publicBase: string;\n /** Console public base for rewritten bare imports (`/esm/…`); defaults to `/`. */\n readonly #consoleBasePath: string;\n readonly #manifestFile: string;\n\n constructor(options: TypeScriptClientBuilderOptions) {\n this.#outDir = resolve(options.outDir);\n this.#projectRoot = resolve(options.projectRoot ?? process.cwd());\n this.#publicBase = `/${trimSlashes(options.publicBase ?? '@zhin/client')}`;\n this.#consoleBasePath = options.consoleBasePath ?? '/';\n this.#manifestFile = resolve(options.manifestFile ?? join(this.#outDir, 'pages.manifest.json'));\n }\n\n async load<T = unknown>(source: string, request: ClientModuleRequest): Promise<T> {\n const absSource = resolve(source);\n const text = await readFile(absSource, 'utf8');\n const metadata = metadataFor(text, absSource, request);\n const hash = contentHash(text);\n const fileName = `${safe(request.owner)}-${safe(request.localName)}-${hash}.js`;\n const output = join(this.#outDir, fileName);\n // Bundle page TSX (inlines `@zhin.js/console-contract` stubs) + wrap with\n // `export function register(api)` so Remote Console loadConsoleEntries can mount it.\n // Then rewrite React bare imports to Host `/esm/<enc>.mjs`.\n const bundled = await bundlePageEntry(absSource, this.#projectRoot, request, metadata);\n const code = rewriteBareImportsForBrowser(bundled, this.#consoleBasePath, '');\n await atomicWrite(output, code);\n return Object.freeze({\n module: `${this.#publicBase}/${fileName}`,\n hash,\n metadata,\n }) as T;\n }\n\n async build(entries: readonly ClientBuildEntry[]): Promise<Readonly<ClientArtifactManifest>> {\n const records: ClientArtifactRecord[] = [];\n for (const entry of [...entries].sort(compareEntry)) {\n const artifact = await this.load<ClientModuleArtifact>(entry.source, entry);\n records.push(Object.freeze({\n ...entry,\n source: manifestSource(this.#projectRoot, entry.source),\n ...artifact,\n }));\n }\n const manifest = Object.freeze({\n protocol: 1 as const,\n entries: Object.freeze(records),\n });\n await atomicWrite(this.#manifestFile, `${JSON.stringify(manifest, null, 2)}\\n`);\n return manifest;\n }\n}\n\ntype PageMeta = {\n readonly title?: string;\n readonly icon?: string;\n readonly hideInNav?: boolean;\n};\n\nasync function bundlePageEntry(\n absSource: string,\n projectRoot: string,\n request: ClientModuleRequest,\n metadata: unknown,\n): Promise<string> {\n // Layout modules stay bare components (no Console shell register contract).\n if (String(request.feature) === layoutFeature) {\n return bundleSource(absSource, projectRoot);\n }\n const meta = (metadata && typeof metadata === 'object' ? metadata : {}) as PageMeta;\n const route = safePageRoute(request.owner, request.localName);\n const title = meta.title ?? request.localName;\n const icon = meta.icon;\n const hideInNav = meta.hideInNav === true;\n const wrapperSource = buildPageRegisterWrapper(absSource, {\n route,\n title,\n icon,\n hideInNav,\n localName: request.localName,\n });\n const result = await esbuild({\n stdin: {\n contents: wrapperSource,\n resolveDir: dirname(absSource),\n sourcefile: `${request.localName}.register.tsx`,\n loader: 'tsx',\n },\n bundle: true,\n write: false,\n format: 'esm',\n platform: 'browser',\n target: 'es2022',\n jsx: 'automatic',\n sourcemap: false,\n logLevel: 'silent',\n absWorkingDir: projectRoot,\n nodePaths: [\n join(dirname(absSource), 'node_modules'),\n join(projectRoot, 'node_modules'),\n ],\n external: BROWSER_EXTERNALS,\n plugins: [consoleContractStubPlugin()],\n });\n const file = result.outputFiles?.[0];\n if (!file) throw new Error(`esbuild produced no output for ${absSource}`);\n return file.text;\n}\n\nasync function bundleSource(absSource: string, projectRoot: string): Promise<string> {\n const result = await esbuild({\n entryPoints: [absSource],\n bundle: true,\n write: false,\n format: 'esm',\n platform: 'browser',\n target: 'es2022',\n jsx: 'automatic',\n sourcemap: false,\n logLevel: 'silent',\n absWorkingDir: projectRoot,\n nodePaths: [\n join(dirname(absSource), 'node_modules'),\n join(projectRoot, 'node_modules'),\n ],\n external: BROWSER_EXTERNALS,\n plugins: [consoleContractStubPlugin()],\n });\n const file = result.outputFiles?.[0];\n if (!file) throw new Error(`esbuild produced no output for ${absSource}`);\n return file.text;\n}\n\n/**\n * Wrap a convention page (default export component + optional meta) into the\n * Remote Console entry contract: `export function register(api)`.\n */\nfunction buildPageRegisterWrapper(\n absSource: string,\n options: {\n readonly route: string;\n readonly title: string;\n readonly icon?: string;\n readonly hideInNav: boolean;\n readonly localName: string;\n },\n): string {\n // abs path import so esbuild resolves the real page regardless of stdin dir.\n const pageImport = JSON.stringify(absSource);\n const route = JSON.stringify(options.route);\n const title = JSON.stringify(options.title);\n const icon = options.icon === undefined ? 'undefined' : JSON.stringify(options.icon);\n const hideInNav = options.hideInNav ? 'true' : 'false';\n const toolId = JSON.stringify(options.localName);\n // Re-export `meta` only when present via namespace — a hard\n // `export { meta } from page` fails esbuild for pages that only\n // export a default component (no meta).\n return `\nimport Page, * as pageNs from ${pageImport};\nexport { default } from ${pageImport};\nexport const meta = pageNs.meta;\n\nexport function register(api) {\n const Component = Page?.default ?? Page;\n if (typeof Component !== 'function' && (typeof Component !== 'object' || Component == null)) {\n throw new Error('Page module default export is not a React component');\n }\n const m = pageNs.meta && typeof pageNs.meta === 'object' ? pageNs.meta : {};\n const route = ${route};\n const name = typeof m.title === 'string' && m.title ? m.title : ${title};\n const icon = m.icon ?? ${icon};\n const element = api.React.createElement(Component);\n api.addRoute({\n path: route,\n name,\n element,\n ...(icon != null ? { icon } : {}),\n meta: { hideInMenu: m.hideInNav === true || ${hideInNav} },\n });\n if (typeof api.addTool === 'function') {\n api.addTool({\n id: ${toolId},\n name,\n path: route,\n ...(icon != null ? { icon } : {}),\n });\n }\n}\n`;\n}\n\n/** Safe pageRoute — adversarial/invalid localName falls back to a sanitized path. */\nfunction safePageRoute(owner: string, localName: string): string {\n try {\n return pageRoute(owner, rootPluginId(), localName);\n } catch {\n const slug = safe(localName) || 'page';\n return `/p-${slug}`;\n }\n}\n\nfunction consoleContractStubPlugin(): EsbuildPlugin {\n return {\n name: 'zhin-console-contract-stub',\n setup(build) {\n build.onResolve({ filter: /^@zhin\\.js\\/console-contract$/ }, () => ({\n path: 'zhin-console-contract-stub',\n namespace: 'zhin-virtual',\n }));\n build.onLoad({ filter: /.*/, namespace: 'zhin-virtual' }, () => ({\n contents: CONSOLE_CONTRACT_STUB,\n loader: 'js',\n }));\n },\n };\n}\n\nfunction manifestSource(root: string, source: string): string {\n const result = relative(root, resolve(source));\n if (!result || result === '..' || result.startsWith(`..${sep}`)) {\n throw new Error(`Client source is outside project Root: ${source}`);\n }\n return result.split(sep).join('/');\n}\n\nfunction metadataFor(source: string, fileName: string, request: ClientModuleRequest): unknown {\n if (request.feature === pageFeature) return extractPageMetadata(source, fileName);\n if (request.feature === layoutFeature) {\n assertLayoutModule(source, fileName);\n return undefined;\n }\n throw new Error(`Unsupported client Feature: ${request.feature}`);\n}\n\nfunction contentHash(source: string): string {\n return createHash('sha256').update(source).digest('hex').slice(0, 16);\n}\n\nfunction safe(value: string): string {\n const result = trimDashes(value.replace(/[^a-z0-9-]+/giu, '-')).toLowerCase();\n return result || 'root';\n}\n\n/** 线性裁剪首尾 `/`(等价于 /^\\/+|\\/+$/gu,无回溯 — js/polynomial-redos)。 */\nfunction trimSlashes(value: string): string {\n let start = 0;\n let end = value.length;\n while (start < end && value[start] === '/') start += 1;\n while (end > start && value[end - 1] === '/') end -= 1;\n return value.slice(start, end);\n}\n\n/** 线性裁剪首尾 `-`(等价于 /^-+|-+$/gu,无回溯 — js/polynomial-redos)。 */\nfunction trimDashes(value: string): string {\n let start = 0;\n let end = value.length;\n while (start < end && value[start] === '-') start += 1;\n while (end > start && value[end - 1] === '-') end -= 1;\n return value.slice(start, end);\n}\n\nfunction compareEntry(left: ClientBuildEntry, right: ClientBuildEntry): number {\n return left.owner.localeCompare(right.owner)\n || String(left.feature).localeCompare(String(right.feature))\n || left.localName.localeCompare(right.localName)\n || left.source.localeCompare(right.source);\n}\n\nasync function atomicWrite(path: string, content: string): Promise<void> {\n await mkdir(dirname(path), { recursive: true });\n const temporary = join(dirname(path), `.${basename(path)}.${process.pid}.tmp`);\n await writeFile(temporary, content);\n await rename(temporary, path);\n}\n"]}
@@ -2,4 +2,3 @@ import Router from "@koa/router";
2
2
  import type { EntryStore } from "./entryStore.js";
3
3
  import type { ConsoleServerOptions } from "./consoleServerOptions.js";
4
4
  export declare function registerConsoleApiRoutes(router: Router, entryStore: EntryStore, options: ConsoleServerOptions): void;
5
- //# sourceMappingURL=consoleApiRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consoleApiRouter.js","sourceRoot":"","sources":["../../src/node/consoleApiRouter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,SAAS,qBAAqB,CAAC,GAAgB;IAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC;IAC3D,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;IACrD,OAAO,GAAG,KAAK,MAAM,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAAc,EACd,UAAsB,EACtB,OAA6B;IAE7B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,yBAAyB,CAAC;IAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAE7C,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;QACrD,IAAI,SAAiB,CAAC;QACtB,IAAI,CAAC;YACH,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAE,GAAG,CAAC,MAA2B,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACjB,GAAG,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACjB,GAAG,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,4BAA4B,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YACjF,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAC;YAC1D,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;YACjD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACjB,GAAG,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC;QACrF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,KAAK,EAAE,GAAgB,EAAE,SAAiB,EAAE,QAAgB,EAAE,EAAE;QACrF,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,4BAA4B,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjE,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAC;QAC1D,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACrC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;QACrD,MAAM,EAAE,GAAG,MAAM,CAAE,GAAG,CAAC,MAA0B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACjB,GAAG,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;YAClE,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACjB,GAAG,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE,CAAC;QAC5F,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;QACxD,MAAM,EAAE,GAAG,MAAM,CAAE,GAAG,CAAC,MAA0B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACjB,GAAG,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC1F,OAAO;YACT,CAAC;YACD,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACjB,GAAG,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACjB,GAAG,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,EAAE,CAAC;QAC9F,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"consoleApiRouter.js","sourceRoot":"","sources":["../../src/node/consoleApiRouter.ts"],"names":[],"mappings":"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","sourcesContent":["import Router from \"@koa/router\";\nimport type Koa from \"koa\";\nimport { readFile } from \"node:fs/promises\";\nimport { DEFAULT_CONSOLE_BASE_PATH } from \"@zhin.js/contract\";\nimport {\n ALLOWED_ESM_CANONICAL,\n decodeSpecifierSegment,\n getOrBuildCanonicalEsmBundle,\n rewriteBareImportsForBrowser,\n} from \"./esmForBrowser.js\";\nimport { bundleEntryToTempFile } from \"./pluginEntryBundle.js\";\nimport type { EntryStore } from \"./entryStore.js\";\nimport type { ConsoleServerOptions } from \"./consoleServerOptions.js\";\n\nfunction effectivePublicOrigin(ctx: Koa.Context): string {\n const proto = ctx.get(\"x-forwarded-proto\") || ctx.protocol;\n const host = ctx.get(\"x-forwarded-host\") || ctx.host;\n return `${proto}://${host}`;\n}\n\nexport function registerConsoleApiRoutes(\n router: Router,\n entryStore: EntryStore,\n options: ConsoleServerOptions,\n): void {\n const basePath = options.path ?? DEFAULT_CONSOLE_BASE_PATH;\n const resolveDir = options.clientPackageRoot;\n\n router.get(\"/esm/:enc.mjs\", async (ctx: Koa.Context) => {\n let canonical: string;\n try {\n canonical = decodeSpecifierSegment(String((ctx.params as { enc?: string }).enc ?? \"\"));\n } catch {\n ctx.status = 400;\n ctx.body = { message: \"Invalid esm enc\" };\n return;\n }\n if (!ALLOWED_ESM_CANONICAL.has(canonical)) {\n ctx.status = 403;\n ctx.body = { message: \"ESM canonical not allowed\" };\n return;\n }\n\n try {\n const code = await getOrBuildCanonicalEsmBundle(canonical, resolveDir, basePath);\n ctx.set(\"content-type\", \"text/javascript; charset=utf-8\");\n ctx.set(\"cache-control\", \"public, max-age=3600\");\n ctx.body = code;\n } catch (err) {\n ctx.status = 500;\n ctx.body = { message: err instanceof Error ? err.message : \"Failed to build ESM\" };\n }\n });\n\n const sendPluginBody = async (ctx: Koa.Context, absSource: string, cacheKey: string) => {\n const origin = effectivePublicOrigin(ctx);\n const outfile = await bundleEntryToTempFile(cacheKey, absSource, resolveDir);\n const raw = await readFile(outfile, \"utf8\");\n const code = rewriteBareImportsForBrowser(raw, basePath, origin);\n ctx.set(\"content-type\", \"text/javascript; charset=utf-8\");\n ctx.set(\"cache-control\", \"no-store\");\n ctx.body = code;\n };\n\n router.get(\"/@dev/:id.mjs\", async (ctx: Koa.Context) => {\n const id = String((ctx.params as { id?: string }).id ?? \"\");\n const entry = entryStore.list().find((e) => e.id === id);\n if (!entry?.paths) {\n ctx.status = 404;\n ctx.body = { message: \"Unknown entry or not a filesystem entry\" };\n return;\n }\n try {\n await sendPluginBody(ctx, entry.paths.development, `dev:${id}:${entry.paths.development}`);\n } catch (err) {\n ctx.status = 500;\n ctx.body = { message: err instanceof Error ? err.message : \"Failed to serve dev plugin\" };\n }\n });\n\n router.get(\"/@assets/:id.mjs\", async (ctx: Koa.Context) => {\n const id = String((ctx.params as { id?: string }).id ?? \"\");\n const entry = entryStore.list().find((e) => e.id === id);\n if (!entry) {\n ctx.status = 404;\n ctx.body = { message: \"Unknown entry\" };\n return;\n }\n try {\n if (entry.paths) {\n await sendPluginBody(ctx, entry.paths.production, `prod:${id}:${entry.paths.production}`);\n return;\n }\n ctx.status = 500;\n ctx.body = { message: \"Entry has no paths configured\" };\n } catch (err) {\n ctx.status = 500;\n ctx.body = { message: err instanceof Error ? err.message : \"Failed to serve plugin asset\" };\n }\n });\n}\n"]}
@@ -46,4 +46,3 @@ export type ConsoleClientHostAttachment = {
46
46
  prepareListen(): Promise<void>;
47
47
  close(): Promise<void>;
48
48
  };
49
- //# sourceMappingURL=consoleServerOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consoleServerOptions.js","sourceRoot":"","sources":["../../src/node/consoleServerOptions.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"consoleServerOptions.js","sourceRoot":"","sources":["../../src/node/consoleServerOptions.ts"],"names":[],"mappings":"","sourcesContent":["import type Router from \"@koa/router\";\nimport type Koa from \"koa\";\nimport type { RuntimeEnv } from \"@zhin.js/contract\";\nimport type { EntryStore } from \"./entryStore.js\";\n\nexport type PluginServerRegisterHostApi = {\n router: Router;\n entryStore: EntryStore;\n basePath: string;\n runtimeEnvHint?: RuntimeEnv;\n};\n\nexport type PluginServerRegister = (api: PluginServerRegisterHostApi) => void | Promise<void>;\n\nexport type ConsoleServerRouteRegistrar = (ctx: PluginServerRegisterHostApi) => void | Promise<void>;\n\nexport type ConsoleServerOptions = {\n path?: string;\n router?: Router;\n entryStore?: EntryStore;\n runtimeEnvHint?: RuntimeEnv;\n clientPackageRoot: string;\n koa: Koa;\n farmConfigPath?: string;\n mode?: \"development\" | \"production\";\n logger?: { info: (...args: unknown[]) => void; error: (...args: unknown[]) => void; warn: (...args: unknown[]) => void };\n serverRouteRegistrars?: ConsoleServerRouteRegistrar[];\n port?: number;\n farmServerPort?: number;\n farmStrictPort?: boolean;\n /** Mount Farm/static UI on Host Koa. Remote-only deployments should set false. */\n serveClientHost?: boolean;\n};\n\nexport type ConsoleClientHostAttachOptions = {\n clientPackageRoot: string;\n farmConfigPath?: string;\n mode?: \"development\" | \"production\";\n farmLogger?: unknown;\n port?: number;\n farmServerPort?: number;\n farmStrictPort?: boolean;\n consoleBasePath?: string;\n};\n\nexport type ConsoleClientHostAttachment = {\n bindDevWebSocket(server: import(\"node:http\").Server): void;\n prepareListen(): Promise<void>;\n close(): Promise<void>;\n};\n"]}
@@ -6,4 +6,3 @@ export type EntriesResponseBody = {
6
6
  runtimeEnvHint: ReturnType<typeof serverRuntimeEnv>;
7
7
  };
8
8
  export declare function buildEntriesResponse(entryStore: EntryStore, basePath: string, runtimeEnvHint?: ReturnType<typeof serverRuntimeEnv>): EntriesResponseBody;
9
- //# sourceMappingURL=entries-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entries-handler.js","sourceRoot":"","sources":["../../src/node/entries-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAOpE,MAAM,UAAU,oBAAoB,CAClC,UAAsB,EACtB,QAAgB,EAChB,cAAoD;IAEpD,MAAM,IAAI,GAAG,UAAU;SACpB,IAAI,EAAE;SACN,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC;SAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,cAAc,IAAI,gBAAgB,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,uBAAuB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChF,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"entries-handler.js","sourceRoot":"","sources":["../../src/node/entries-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAOpE,MAAM,UAAU,oBAAoB,CAClC,UAAsB,EACtB,QAAgB,EAChB,cAAoD;IAEpD,MAAM,IAAI,GAAG,UAAU;SACpB,IAAI,EAAE;SACN,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC;SAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,cAAc,IAAI,gBAAgB,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,uBAAuB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChF,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AAChD,CAAC","sourcesContent":["import type { ConsoleClientEntry } from \"@zhin.js/contract\";\nimport type { EntryStore } from \"./entryStore.js\";\nimport { serverRuntimeEnv } from \"./env.js\";\nimport { rewriteEntriesForClient } from \"./resolveClientEntries.js\";\n\nexport type EntriesResponseBody = {\n entries: ConsoleClientEntry[];\n runtimeEnvHint: ReturnType<typeof serverRuntimeEnv>;\n};\n\nexport function buildEntriesResponse(\n entryStore: EntryStore,\n basePath: string,\n runtimeEnvHint?: ReturnType<typeof serverRuntimeEnv>,\n): EntriesResponseBody {\n const list = entryStore\n .list()\n .filter((e) => e.enabled !== false)\n .sort((a, b) => (a.order ?? 0) - (b.order ?? 0));\n\n const serverEnv = runtimeEnvHint ?? serverRuntimeEnv();\n const entries = rewriteEntriesForClient({ entries: list, serverEnv, basePath });\n return { entries, runtimeEnvHint: serverEnv };\n}\n"]}
@@ -4,4 +4,3 @@ export type EntryStore = {
4
4
  list(): ConsoleEntry[];
5
5
  };
6
6
  export declare function createInMemoryEntryStore(): EntryStore;
7
- //# sourceMappingURL=entryStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entryStore.js","sourceRoot":"","sources":["../../src/node/entryStore.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,wBAAwB;IACtC,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,OAAO;QACL,GAAG,CAAC,KAAK;YACP,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,IAAI;YACF,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"entryStore.js","sourceRoot":"","sources":["../../src/node/entryStore.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,wBAAwB;IACtC,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,OAAO;QACL,GAAG,CAAC,KAAK;YACP,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,IAAI;YACF,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { ConsoleEntry } from \"@zhin.js/contract\";\n\nexport type EntryStore = {\n add(entry: ConsoleEntry): void;\n list(): ConsoleEntry[];\n};\n\nexport function createInMemoryEntryStore(): EntryStore {\n const entries: ConsoleEntry[] = [];\n return {\n add(entry) {\n entries.push(entry);\n },\n list() {\n return [...entries];\n },\n };\n}\n"]}
package/lib/node/env.d.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  import type { RuntimeEnv } from "@zhin.js/contract";
2
2
  export declare function serverRuntimeEnv(): RuntimeEnv;
3
- //# sourceMappingURL=env.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/node/env.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/node/env.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;AAC9E,CAAC","sourcesContent":["import type { RuntimeEnv } from \"@zhin.js/contract\";\n\nexport function serverRuntimeEnv(): RuntimeEnv {\n return process.env.NODE_ENV === \"production\" ? \"production\" : \"development\";\n}\n"]}
@@ -5,4 +5,3 @@ export declare function encodeSpecifierSegment(specifier: string): string;
5
5
  export declare function decodeSpecifierSegment(enc: string): string;
6
6
  export declare function getOrBuildCanonicalEsmBundle(canonical: string, resolveDir: string, basePath: string): Promise<string>;
7
7
  export declare function rewriteBareImportsForBrowser(code: string, basePath: string, _origin: string): string;
8
- //# sourceMappingURL=esmForBrowser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"esmForBrowser.js","sourceRoot":"","sources":["../../src/node/esmForBrowser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"esmForBrowser.js","sourceRoot":"","sources":["../../src/node/esmForBrowser.ts"],"names":[],"mappings":"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","sourcesContent":["import { build } from \"esbuild\";\nimport * as path from \"node:path\";\nimport * as os from \"node:os\";\nimport { existsSync, mkdirSync, readFileSync } from \"node:fs\";\nimport { createHash } from \"node:crypto\";\nimport { createRequire } from \"node:module\";\nimport { CONSOLE_SHARED_MODULES_KEY } from \"@zhin.js/contract\";\n\nexport const ALLOWED_ESM_CANONICAL = new Set([\n \"react\",\n \"react-dom\",\n \"react-dom/client\",\n \"react/jsx-runtime\",\n \"react/jsx-dev-runtime\",\n \"react-router\",\n \"react-router-dom\",\n]);\n\nconst HOST_PROXIED_MODULES = new Set([\n \"react\",\n \"react-dom\",\n \"react-dom/client\",\n \"react/jsx-runtime\",\n \"react/jsx-dev-runtime\",\n \"react-router\",\n \"react-router-dom\",\n]);\n\n/** discoverCjsExports 失败时的兜底(须与 Host Console 注册的 CJS 导出一致) */\nconst KNOWN_NAMED_EXPORTS: Record<string, string[]> = {\n \"react/jsx-runtime\": [\"Fragment\", \"jsx\", \"jsxs\"],\n \"react/jsx-dev-runtime\": [\"Fragment\", \"jsx\", \"jsxs\", \"jsxDEV\"],\n react: [\n \"Children\",\n \"Component\",\n \"Fragment\",\n \"Profiler\",\n \"PureComponent\",\n \"StrictMode\",\n \"Suspense\",\n \"cloneElement\",\n \"createContext\",\n \"createElement\",\n \"createFactory\",\n \"createRef\",\n \"forwardRef\",\n \"isValidElement\",\n \"lazy\",\n \"memo\",\n \"startTransition\",\n \"useCallback\",\n \"useContext\",\n \"useDebugValue\",\n \"useDeferredValue\",\n \"useEffect\",\n \"useId\",\n \"useImperativeHandle\",\n \"useInsertionEffect\",\n \"useLayoutEffect\",\n \"useMemo\",\n \"useReducer\",\n \"useRef\",\n \"useState\",\n \"version\",\n ],\n};\n\nconst esmCache = new Map<string, string>();\nconst tmpDir = path.join(os.tmpdir(), \"zhin-console-esm\");\n\n/** `basePath` `/` must not become `//esm/...` (browser resolves to `http://esm/...`). */\nexport function joinConsolePublicPath(basePath: string, subpath: string): string {\n const base =\n basePath === \"/\" || basePath === \"\"\n ? \"\"\n : basePath.replace(/\\/$/, \"\").replace(/^\\/+/, \"\");\n const rest = subpath.replace(/^\\/+/, \"\");\n return base ? `/${base}/${rest}` : `/${rest}`;\n}\nconst esmVersionTag = Date.now().toString(36);\n\nexport function encodeSpecifierSegment(specifier: string): string {\n return encodeURIComponent(specifier).replace(/%2F/g, \"~\");\n}\n\nexport function decodeSpecifierSegment(enc: string): string {\n return decodeURIComponent(enc.replace(/~/g, \"%2F\"));\n}\n\nfunction discoverCjsExports(canonical: string, resolveDir: string): string[] {\n const req = createRequire(path.join(resolveDir, \"_virtual.js\"));\n try {\n const mod = req(canonical);\n if (mod && typeof mod === \"object\") {\n return Object.keys(mod).filter(\n (k) => k !== \"default\" && k !== \"__esModule\" && /^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(k),\n );\n }\n } catch { /* resolve failed */ }\n return [];\n}\n\nfunction resolveNamedExports(canonical: string, resolveDir: string): string[] {\n const discovered = discoverCjsExports(canonical, resolveDir);\n const known = KNOWN_NAMED_EXPORTS[canonical] ?? [];\n return [...new Set([...discovered, ...known])];\n}\n\nfunction buildHostProxyModule(canonical: string, namedExports: string[]): string {\n const lines = [\n `const _m = globalThis[${JSON.stringify(CONSOLE_SHARED_MODULES_KEY)}]?.get(${JSON.stringify(canonical)});`,\n // Prefer Host-registered React (single instance with shell). If the shell has not\n // populated SHARED_MODULES yet, fall through is not possible at static ESM time —\n // throw a clear error pointing operators at the shell/Host contract.\n `if (!_m) throw new Error(\"[zhin-console] Host module not registered: ${canonical}. Remote Console must set globalThis.${CONSOLE_SHARED_MODULES_KEY} before loading plugin entries.\");`,\n `export default _m;`,\n ...namedExports.map((n) => `export const ${n} = _m.${n};`),\n ];\n return lines.join(\"\\n\");\n}\n\nfunction buildEsbuildEntrySource(canonical: string, namedExports: string[]): string {\n if (namedExports.length === 0) {\n return [\n `export * from ${JSON.stringify(canonical)};`,\n `export { default } from ${JSON.stringify(canonical)};`,\n ].join(\"\\n\");\n }\n return [\n `import _cjsMod from ${JSON.stringify(canonical)};`,\n `export default _cjsMod;`,\n ...namedExports.map((n) => `export const ${n} = _cjsMod.${n};`),\n ].join(\"\\n\");\n}\n\nexport async function getOrBuildCanonicalEsmBundle(\n canonical: string,\n resolveDir: string,\n basePath: string,\n): Promise<string> {\n const cached = esmCache.get(canonical);\n if (cached) return cached;\n\n const namedExports = resolveNamedExports(canonical, resolveDir);\n\n if (HOST_PROXIED_MODULES.has(canonical)) {\n const code = buildHostProxyModule(canonical, namedExports);\n esmCache.set(canonical, code);\n return code;\n }\n\n if (!existsSync(tmpDir)) mkdirSync(tmpDir, { recursive: true });\n\n const hash = createHash(\"sha256\").update(canonical).digest(\"hex\").slice(0, 12);\n const outfile = path.join(tmpDir, `${hash}.mjs`);\n\n const reactExternals = [...HOST_PROXIED_MODULES];\n const entrySource = buildEsbuildEntrySource(canonical, namedExports);\n\n await build({\n stdin: {\n contents: entrySource,\n resolveDir,\n loader: \"js\",\n },\n outfile,\n bundle: true,\n format: \"esm\",\n platform: \"browser\",\n target: \"es2022\",\n logLevel: \"warning\",\n external: reactExternals,\n });\n\n let code = readFileSync(outfile, \"utf8\");\n code = rewriteBareImportsForBrowser(code, basePath, \"\");\n esmCache.set(canonical, code);\n return code;\n}\n\nexport function rewriteBareImportsForBrowser(\n code: string,\n basePath: string,\n _origin: string,\n): string {\n for (const canonical of ALLOWED_ESM_CANONICAL) {\n const enc = encodeSpecifierSegment(canonical);\n const esmUrl = `${joinConsolePublicPath(basePath, `esm/${enc}.mjs`)}?v=${esmVersionTag}`;\n const pattern = new RegExp(\n `from\\\\s*[\"']${canonical.replace(/[.*+?^${}()|[\\]\\\\\\/]/g, \"\\\\$&\")}[\"']`,\n \"g\",\n );\n code = code.replace(pattern, `from \"${esmUrl}\"`);\n }\n return code;\n}\n"]}
@@ -9,4 +9,3 @@ export { createInMemoryEntryStore } from "./entryStore.js";
9
9
  export { PageManager, mountConsoleRouter } from "./pageManager.js";
10
10
  /** Browser ESM bare-import rewrite + Host React/router proxies (for Plugin Runtime client chunks). */
11
11
  export { ALLOWED_ESM_CANONICAL, decodeSpecifierSegment, encodeSpecifierSegment, getOrBuildCanonicalEsmBundle, joinConsolePublicPath, rewriteBareImportsForBrowser, } from "./esmForBrowser.js";
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,sGAAsG;AACtG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,sGAAsG;AACtG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC","sourcesContent":["export type {\n ConsoleServerOptions,\n ConsoleClientHostAttachOptions,\n ConsoleClientHostAttachment,\n PluginServerRegisterHostApi,\n PluginServerRegister,\n ConsoleServerRouteRegistrar,\n} from \"./consoleServerOptions.js\";\n\nexport { rewriteEntriesForClient } from \"./resolveClientEntries.js\";\nexport { buildEntriesResponse } from \"./entries-handler.js\";\nexport type { EntriesResponseBody } from \"./entries-handler.js\";\nexport { serverRuntimeEnv } from \"./env.js\";\nexport { attachConsoleClientHost } from \"./startHost.js\";\n\nexport type { EntryStore } from \"./entryStore.js\";\nexport { createInMemoryEntryStore } from \"./entryStore.js\";\n\nexport { PageManager, mountConsoleRouter } from \"./pageManager.js\";\n\n/** Browser ESM bare-import rewrite + Host React/router proxies (for Plugin Runtime client chunks). */\nexport {\n ALLOWED_ESM_CANONICAL,\n decodeSpecifierSegment,\n encodeSpecifierSegment,\n getOrBuildCanonicalEsmBundle,\n joinConsolePublicPath,\n rewriteBareImportsForBrowser,\n} from \"./esmForBrowser.js\";\n"]}
@@ -16,4 +16,3 @@ export declare class PageManager {
16
16
  start(): Promise<ConsoleClientHostAttachment>;
17
17
  addEntry(input: ConsoleFileAddEntryInput): void;
18
18
  }
19
- //# sourceMappingURL=pageManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pageManager.js","sourceRoot":"","sources":["../../src/node/pageManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pageManager.js","sourceRoot":"","sources":["../../src/node/pageManager.ts"],"names":[],"mappings":"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","sourcesContent":["import Router from \"@koa/router\";\nimport type Koa from \"koa\";\nimport compose from \"koa-compose\";\nimport { createHash } from \"node:crypto\";\nimport { existsSync } from \"node:fs\";\nimport * as path from \"node:path\";\nimport { DEFAULT_CONSOLE_BASE_PATH, type ConsoleEntry, type ConsoleFileAddEntryInput } from '@zhin.js/contract';\n\nimport { createInMemoryEntryStore, type EntryStore } from \"./entryStore.js\";\nimport type {\n ConsoleServerOptions,\n PluginServerRegisterHostApi,\n ConsoleClientHostAttachment,\n} from \"./consoleServerOptions.js\";\nimport { registerConsoleApiRoutes } from \"./consoleApiRouter.js\";\nimport { attachConsoleClientHost } from \"./startHost.js\";\n\nexport function mountConsoleRouter(router: Router): Koa.Middleware {\n return compose([router.routes(), router.allowedMethods()]) as unknown as Koa.Middleware;\n}\n\nexport class PageManager {\n readonly router: Router;\n readonly entryStore: EntryStore;\n private readonly _apiRouter: Router;\n private readonly serverOptions: ConsoleServerOptions;\n\n constructor(options: ConsoleServerOptions) {\n this.serverOptions = options;\n this.entryStore = options.entryStore ?? createInMemoryEntryStore();\n const basePath = options.path ?? DEFAULT_CONSOLE_BASE_PATH;\n const api =\n basePath === \"/\" || basePath === \"\"\n ? new Router()\n : new Router({ prefix: basePath });\n this._apiRouter = api;\n registerConsoleApiRoutes(api, this.entryStore, options);\n if (options.router) {\n options.router.use(api.routes());\n options.router.use(api.allowedMethods());\n this.router = options.router;\n } else {\n this.router = api;\n }\n }\n\n private pluginServerRouteContext(): PluginServerRegisterHostApi {\n const basePath = this.serverOptions.path ?? DEFAULT_CONSOLE_BASE_PATH;\n return {\n router: this._apiRouter,\n entryStore: this.entryStore,\n basePath,\n runtimeEnvHint: this.serverOptions.runtimeEnvHint,\n };\n }\n\n private async registerEntryServerPlugins(): Promise<void> {\n const runtimeMode =\n this.serverOptions.mode ??\n (process.env.NODE_ENV === \"production\" ? \"production\" : \"development\");\n const mode: \"development\" | \"production\" =\n runtimeMode === \"production\" ? \"production\" : \"development\";\n const { pathToFileURL } = await import(\"node:url\");\n\n for (const e of this.entryStore.list()) {\n if (!e.serverPaths) continue;\n const abs = mode === \"production\" ? e.serverPaths.production : e.serverPaths.development;\n const href = pathToFileURL(abs).href;\n const mod = (await import(href)) as {\n register?: (api: PluginServerRegisterHostApi) => void | Promise<void>;\n default?: { register?: (api: PluginServerRegisterHostApi) => void | Promise<void> };\n };\n const register = mod.register ?? mod.default?.register;\n if (typeof register !== \"function\") {\n throw new Error(\n `[zhin-console] Entry \"${e.id}\" server module must export register(api) (${abs})`,\n );\n }\n await Promise.resolve(register(this.pluginServerRouteContext()));\n }\n }\n\n private async runServerRouteRegistrars(): Promise<void> {\n const ctx = this.pluginServerRouteContext();\n for (const reg of this.serverOptions.serverRouteRegistrars ?? []) {\n await Promise.resolve(reg(ctx));\n }\n }\n\n async start(): Promise<ConsoleClientHostAttachment> {\n await this.registerEntryServerPlugins();\n await this.runServerRouteRegistrars();\n\n const clientPackageRoot = this.serverOptions.clientPackageRoot;\n const consoleBasePath = this.serverOptions.path ?? DEFAULT_CONSOLE_BASE_PATH;\n const mode =\n this.serverOptions.mode ??\n (process.env.NODE_ENV === \"production\" ? \"production\" : \"development\");\n const farmConfigPath =\n this.serverOptions.farmConfigPath ?? path.join(clientPackageRoot, \"farm.config.ts\");\n const port = this.serverOptions.port ?? Number(process.env.PORT ?? 3001);\n\n if (this.serverOptions.serveClientHost === false) {\n return {\n bindDevWebSocket() {},\n prepareListen: async () => {},\n close: async () => {},\n };\n }\n\n return attachConsoleClientHost(this.serverOptions.koa, {\n clientPackageRoot,\n farmConfigPath,\n mode,\n port,\n farmServerPort: this.serverOptions.farmServerPort,\n farmStrictPort: this.serverOptions.farmStrictPort,\n consoleBasePath,\n });\n }\n\n addEntry(input: ConsoleFileAddEntryInput) {\n const id =\n input.id ??\n `${path.basename(input.production, path.extname(input.production))}-${createHash(\"sha256\").update(input.production).digest(\"hex\").slice(0, 8)}`;\n\n const entry: ConsoleEntry = {\n id,\n paths: { development: input.development, production: input.production },\n order: input.order,\n enabled: input.enabled,\n meta: input.meta,\n requiredPermissions: input.requiredPermissions,\n };\n if (input.serverDevelopment != null && input.serverProduction != null) {\n entry.serverPaths = {\n development: input.serverDevelopment,\n production: input.serverProduction,\n };\n }\n this.entryStore.add(entry);\n }\n}\n"]}
@@ -1,2 +1 @@
1
1
  export declare function bundleEntryToTempFile(cacheKey: string, absSource: string, resolveDir: string): Promise<string>;
2
- //# sourceMappingURL=pluginEntryBundle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pluginEntryBundle.js","sourceRoot":"","sources":["../../src/node/pluginEntryBundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,6BAA6B,CAAC,CAAC;AAErE,SAAS,iBAAiB,CAAC,QAAgB,EAAE,SAAiB;IAC5D,IAAI,CAAC;QACH,OAAO,GAAG,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAgB,EAChB,SAAiB,EACjB,UAAkB;IAElB,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAEhD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC;IAEjD,MAAM,KAAK,CAAC;QACV,WAAW,EAAE,CAAC,SAAS,CAAC;QACxB,OAAO;QACP,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,cAAc,EAAE,kBAAkB,CAAC;QAClH,iBAAiB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;QACzD,aAAa,EAAE,UAAU;QACzB,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;IAEH,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"pluginEntryBundle.js","sourceRoot":"","sources":["../../src/node/pluginEntryBundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,6BAA6B,CAAC,CAAC;AAErE,SAAS,iBAAiB,CAAC,QAAgB,EAAE,SAAiB;IAC5D,IAAI,CAAC;QACH,OAAO,GAAG,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAgB,EAChB,SAAiB,EACjB,UAAkB;IAElB,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAEhD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC;IAEjD,MAAM,KAAK,CAAC;QACV,WAAW,EAAE,CAAC,SAAS,CAAC;QACxB,OAAO;QACP,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,cAAc,EAAE,kBAAkB,CAAC;QAClH,iBAAiB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;QACzD,aAAa,EAAE,UAAU;QACzB,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;IAEH,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import { build } from \"esbuild\";\nimport { existsSync, mkdirSync, statSync } from \"node:fs\";\nimport { createHash } from \"node:crypto\";\nimport * as path from \"node:path\";\nimport * as os from \"node:os\";\n\nconst bundleCache = new Map<string, string>();\n\nconst tmpDir = path.join(os.tmpdir(), \"zhin-console-plugin-bundles\");\n\nfunction cacheKeyWithMtime(cacheKey: string, absSource: string): string {\n try {\n return `${cacheKey}:${statSync(absSource).mtimeMs}`;\n } catch {\n return cacheKey;\n }\n}\n\nexport async function bundleEntryToTempFile(\n cacheKey: string,\n absSource: string,\n resolveDir: string,\n): Promise<string> {\n const keyed = cacheKeyWithMtime(cacheKey, absSource);\n const cached = bundleCache.get(keyed);\n if (cached && existsSync(cached)) return cached;\n\n if (!existsSync(tmpDir)) mkdirSync(tmpDir, { recursive: true });\n\n const hash = createHash(\"sha256\").update(keyed).digest(\"hex\").slice(0, 12);\n const outfile = path.join(tmpDir, `${hash}.mjs`);\n\n await build({\n entryPoints: [absSource],\n outfile,\n bundle: true,\n format: \"esm\",\n platform: \"browser\",\n target: \"es2022\",\n sourcemap: false,\n minify: false,\n external: [\"react\", \"react-dom\", \"react/jsx-runtime\", \"react/jsx-dev-runtime\", \"react-router\", \"react-router-dom\"],\n resolveExtensions: [\".tsx\", \".ts\", \".jsx\", \".js\", \".mjs\"],\n absWorkingDir: resolveDir,\n logLevel: \"warning\",\n });\n\n bundleCache.set(keyed, outfile);\n return outfile;\n}\n"]}
@@ -6,4 +6,3 @@ export declare function rewriteEntriesForClient(options: {
6
6
  serverEnv: RuntimeEnv;
7
7
  basePath: string;
8
8
  }): ConsoleClientEntry[];
9
- //# sourceMappingURL=resolveClientEntries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveClientEntries.js","sourceRoot":"","sources":["../../src/node/resolveClientEntries.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,UAAU,YAAY,CAAC,IAAqB,EAAE,OAAmB;IACrE,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,OAAO,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC;IAC/C,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,KAAyC,EACzC,OAAmB;IAEnB,OAAO,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAIvC;IACC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEjD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,cAAc,GAClB,SAAS,KAAK,aAAa;gBACzB,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;gBACrD,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7D,OAAO,EAAE,GAAG,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;QACpE,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,MAAO,EAAE,SAAS,CAAC,CAAC;QAClD,OAAO,EAAE,GAAG,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"resolveClientEntries.js","sourceRoot":"","sources":["../../src/node/resolveClientEntries.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,UAAU,YAAY,CAAC,IAAqB,EAAE,OAAmB;IACrE,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,OAAO,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC;IAC/C,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,KAAyC,EACzC,OAAmB;IAEnB,OAAO,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAIvC;IACC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEjD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,cAAc,GAClB,SAAS,KAAK,aAAa;gBACzB,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;gBACrD,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7D,OAAO,EAAE,GAAG,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;QACpE,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,MAAO,EAAE,SAAS,CAAC,CAAC;QAClD,OAAO,EAAE,GAAG,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type {\n ConsoleClientEntry,\n ConsoleEntry,\n EntryModuleSpec,\n RuntimeEnv,\n} from \"@zhin.js/contract\";\nimport { joinConsolePublicPath } from \"./esmForBrowser.js\";\n\nexport function chooseModule(spec: EntryModuleSpec, runtime: RuntimeEnv): string {\n if (typeof spec === \"string\") return spec;\n if (runtime === \"development\") return spec.dev;\n return spec.prod ?? spec.dev;\n}\n\nexport function chooseFsPath(\n paths: NonNullable<ConsoleEntry[\"paths\"]>,\n runtime: RuntimeEnv,\n): string {\n return runtime === \"development\" ? paths.development : paths.production;\n}\n\nexport function rewriteEntriesForClient(options: {\n entries: ConsoleEntry[];\n serverEnv: RuntimeEnv;\n basePath: string;\n}): ConsoleClientEntry[] {\n const { entries, serverEnv, basePath } = options;\n\n return entries.map((e) => {\n const { serverPaths: _serverPaths, ...eForClient } = e;\n if (e.paths) {\n const resolvedModule =\n serverEnv === \"development\"\n ? joinConsolePublicPath(basePath, `@dev/${e.id}.mjs`)\n : joinConsolePublicPath(basePath, `@assets/${e.id}.mjs`);\n return { ...eForClient, packageEntry: undefined, resolvedModule };\n }\n\n const chosen = chooseModule(e.module!, serverEnv);\n return { ...eForClient, resolvedModule: chosen };\n });\n}\n"]}
@@ -1,4 +1,3 @@
1
1
  import type Koa from "koa";
2
2
  import type { ConsoleClientHostAttachOptions, ConsoleClientHostAttachment } from "./consoleServerOptions.js";
3
3
  export declare function attachConsoleClientHost(koaApp: Koa, options: ConsoleClientHostAttachOptions): Promise<ConsoleClientHostAttachment>;
4
- //# sourceMappingURL=startHost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"startHost.js","sourceRoot":"","sources":["../../src/node/startHost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startHost.js","sourceRoot":"","sources":["../../src/node/startHost.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync, readFileSync } from \"node:fs\";\nimport * as path from \"node:path\";\nimport type { Context, Next } from \"koa\";\nimport type Koa from \"koa\";\nimport serve from \"koa-static\";\nimport compose from \"koa-compose\";\nimport { DEFAULT_CONSOLE_BASE_PATH } from \"@zhin.js/contract\";\nimport type {\n ConsoleClientHostAttachOptions,\n ConsoleClientHostAttachment,\n} from \"./consoleServerOptions.js\";\n\nfunction isConsoleApiPath(ctxPath: string, basePath: string): boolean {\n const base = basePath.endsWith(\"/\") ? basePath.slice(0, -1) : basePath;\n if (!ctxPath.startsWith(`${base}/`) && ctxPath !== base) return false;\n const rest = ctxPath === base ? \"/\" : ctxPath.slice(base.length);\n return (\n rest === \"/entries\" ||\n rest.startsWith(\"/entries/\") ||\n rest === \"/me\" ||\n rest.startsWith(\"/me/\") ||\n rest.startsWith(\"/@dev/\") ||\n rest.startsWith(\"/@assets/\") ||\n rest.startsWith(\"/esm/\")\n );\n}\n\nfunction isConsoleSpaCandidate(ctxPath: string, consoleBasePath: string): boolean {\n const base = consoleBasePath.endsWith(\"/\") ? consoleBasePath.slice(0, -1) : consoleBasePath;\n if (ctxPath !== base && !ctxPath.startsWith(`${base}/`)) return false;\n if (isConsoleApiPath(ctxPath, consoleBasePath)) return false;\n const ext = path.extname(ctxPath);\n return !ext || ext === \".html\";\n}\n\nfunction createSpaFallbackMiddleware(\n getHtml: () => string,\n consoleBasePath: string,\n): Koa.Middleware {\n return async (ctx: Context, next: Next) => {\n await next();\n if (ctx.status !== 404) return;\n if (ctx.method !== \"GET\" && ctx.method !== \"HEAD\") return;\n if (!isConsoleSpaCandidate(ctx.path, consoleBasePath)) return;\n ctx.type = \"html\";\n ctx.status = 200;\n ctx.body = getHtml();\n };\n}\n\nexport async function attachConsoleClientHost(\n koaApp: Koa,\n options: ConsoleClientHostAttachOptions,\n): Promise<ConsoleClientHostAttachment> {\n const {\n clientPackageRoot,\n mode = process.env.NODE_ENV === \"production\" ? \"production\" : \"development\",\n consoleBasePath = DEFAULT_CONSOLE_BASE_PATH,\n } = options;\n\n if (mode === \"production\") {\n await attachProductionClientHost(koaApp, clientPackageRoot, consoleBasePath);\n return {\n bindDevWebSocket() {},\n prepareListen: async () => {},\n close: async () => {},\n };\n }\n\n return attachDevelopmentClientHost(koaApp, clientPackageRoot, {\n ...options,\n consoleBasePath,\n });\n}\n\nasync function attachProductionClientHost(\n koaApp: Koa,\n clientRoot: string,\n consoleBasePath: string,\n): Promise<void> {\n const browserDist = path.join(clientRoot, \"dist\");\n const indexHtmlPath = path.join(browserDist, \"index.html\");\n if (!existsSync(indexHtmlPath)) {\n console.error(\n `[zhin-console] Missing static: ${indexHtmlPath}. Build Remote Console UI (zhin-console) or enable serveClientHost with a dist.`,\n );\n return;\n }\n\n let htmlCache: string | null = null;\n const getHtml = () => (htmlCache ??= readFileSync(indexHtmlPath, \"utf8\"));\n\n const spaMw = createSpaFallbackMiddleware(getHtml, consoleBasePath);\n koaApp.middleware.unshift(spaMw);\n koaApp.use(serve(browserDist, { index: false }));\n}\n\nasync function attachDevelopmentClientHost(\n koaApp: Koa,\n clientRoot: string,\n devOptions: ConsoleClientHostAttachOptions & { consoleBasePath: string },\n): Promise<ConsoleClientHostAttachment> {\n void koaApp;\n void devOptions;\n console.warn(\n \"[zhin-console] Embedded Farm dev UI was removed. Use Remote Console (zhin-console) or serveClientHost with a prebuilt dist.\",\n { clientRoot },\n );\n return {\n bindDevWebSocket() {},\n prepareListen: async () => {},\n close: async () => {},\n };\n}\n"]}
@@ -5,4 +5,3 @@ export interface AccessIndex {
5
5
  }
6
6
  export declare function createAccessIndex(access: AccessSnapshot): AccessIndex;
7
7
  export declare function allowsPage(page: PageManifest, access: AccessIndex): boolean;
8
- //# sourceMappingURL=access.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/plugin-runtime/access.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;QACxC,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAkB,EAAE,MAAmB;IAChE,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;WACpF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/plugin-runtime/access.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;QACxC,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAkB,EAAE,MAAmB;IAChE,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;WACpF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAClE,CAAC","sourcesContent":["import type { AccessSnapshot, PageManifest } from '@zhin.js/console-contract';\n\nexport interface AccessIndex {\n readonly permissions: ReadonlySet<string>;\n readonly roles: ReadonlySet<string>;\n}\n\nexport function createAccessIndex(access: AccessSnapshot): AccessIndex {\n return Object.freeze({\n permissions: new Set(access.permissions),\n roles: new Set(access.roles),\n });\n}\n\nexport function allowsPage(page: PageManifest, access: AccessIndex): boolean {\n return page.requiredPermissions.every((permission) => access.permissions.has(permission))\n && page.requiredRoles.every((role) => access.roles.has(role));\n}\n"]}
@@ -25,4 +25,3 @@ export declare class ConsoleCatalog {
25
25
  layouts(owner: PluginId, slot: LayoutSlot): readonly Readonly<LayoutManifest>[];
26
26
  fallback(owner: PluginId): string | undefined;
27
27
  }
28
- //# sourceMappingURL=console-catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"console-catalog.js","sourceRoot":"","sources":["../../src/plugin-runtime/console-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"console-catalog.js","sourceRoot":"","sources":["../../src/plugin-runtime/console-catalog.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n AccessSnapshot,\n ConsoleLayoutSlots,\n ConsoleRouteResolution,\n ConsoleTopology,\n LayoutManifest,\n LayoutSlot,\n NavNode,\n PageManifest,\n} from '@zhin.js/console-contract';\nimport type { FeatureId, PluginId, RuntimeSnapshot } from '@zhin.js/plugin-runtime';\nimport { LayoutIndex, layoutFeatureId } from '@zhin.js/layout';\nimport { PageIndex, pageFeatureId } from '@zhin.js/page';\nimport { allowsPage, createAccessIndex } from './access.js';\nimport { buildNavigation } from './navigation.js';\n\nexport type RouteMatch =\n | { readonly status: 'found'; readonly page: Readonly<PageManifest> }\n | { readonly status: 'forbidden'; readonly page: Readonly<PageManifest> }\n | { readonly status: 'missing' };\n\nexport class ConsoleCatalog {\n readonly generation: number;\n readonly #snapshot: RuntimeSnapshot;\n readonly #pages?: PageIndex;\n readonly #layouts?: LayoutIndex;\n readonly #access: ReturnType<typeof createAccessIndex>;\n readonly #active: () => boolean;\n\n constructor(\n snapshot: RuntimeSnapshot,\n access: AccessSnapshot,\n active: () => boolean = () => true,\n ) {\n this.generation = snapshot.generation;\n this.#snapshot = snapshot;\n this.#pages = projection(snapshot, pageFeatureId, PageIndex);\n this.#layouts = projection(snapshot, layoutFeatureId, LayoutIndex);\n this.#access = createAccessIndex(access);\n this.#active = active;\n }\n\n pages(): readonly Readonly<PageManifest>[] {\n this.#assertActive();\n return Object.freeze((this.#pages?.list() ?? []).filter((page) => allowsPage(page, this.#access)));\n }\n\n match(path: string): RouteMatch {\n this.#assertActive();\n const page = this.#pages?.route(path);\n if (!page) return Object.freeze({ status: 'missing' });\n return allowsPage(page, this.#access)\n ? Object.freeze({ status: 'found', page })\n : Object.freeze({ status: 'forbidden', page });\n }\n\n navigation(): readonly Readonly<NavNode>[] {\n this.#assertActive();\n return buildNavigation(this.#snapshot, this.pages());\n }\n\n /**\n * Return the complete Console view for this generation. Pages, navigation,\n * and layout resolution all retain the same snapshot through the caller's\n * ConsoleRuntime lease, including while a later generation is prepared.\n */\n topology(): Readonly<ConsoleTopology> {\n this.#assertActive();\n const pages = this.pages();\n return Object.freeze({\n generation: this.generation,\n pages,\n navigation: buildNavigation(this.#snapshot, pages),\n resolve: (path: string) => this.#resolveTopology(path),\n });\n }\n\n layouts(owner: PluginId, slot: LayoutSlot): readonly Readonly<LayoutManifest>[] {\n this.#assertActive();\n if (!this.#snapshot.tree.has(owner)) throw new Error(`Unknown Layout owner: ${owner}`);\n return this.#layouts?.chain(owner, slot) ?? Object.freeze([]);\n }\n\n fallback(owner: PluginId): string | undefined {\n this.#assertActive();\n if (!this.#snapshot.tree.has(owner)) throw new Error(`Unknown Page fallback owner: ${owner}`);\n let current: PluginId | undefined = owner;\n while (current) {\n const page = this.#pages?.ownedBy(current).find((candidate) => allowsPage(candidate, this.#access));\n if (page) return page.route;\n current = this.#snapshot.tree.get(current)?.parent;\n }\n return undefined;\n }\n\n #resolveTopology(path: string): Readonly<ConsoleRouteResolution> {\n const match = this.match(path);\n if (match.status !== 'found') return Object.freeze({ status: match.status });\n return Object.freeze({\n status: 'found',\n page: match.page,\n layouts: this.#nearestLayouts(match.page.owner as PluginId),\n });\n }\n\n #nearestLayouts(owner: PluginId): Readonly<ConsoleLayoutSlots> {\n const nav = this.#layouts?.resolve(owner, 'nav');\n const footer = this.#layouts?.resolve(owner, 'footer');\n return Object.freeze({\n ...(nav ? { nav } : {}),\n ...(footer ? { footer } : {}),\n });\n }\n\n #assertActive(): void {\n if (!this.#active()) throw new Error('Console catalog view scope has ended');\n }\n}\n\nfunction projection<T>(\n snapshot: RuntimeSnapshot,\n id: FeatureId,\n constructor: { readonly prototype: T },\n): T | undefined {\n const value = snapshot.projections.get(id);\n return value\n && typeof value === 'object'\n && Object.prototype.isPrototypeOf.call(constructor.prototype, value)\n ? value as T\n : undefined;\n}\n"]}
@@ -7,4 +7,3 @@ export declare class ConsoleRuntime {
7
7
  attach(snapshots: SnapshotReader): void;
8
8
  runView<TResult>(access: AccessSnapshot, operation: (catalog: ConsoleCatalog) => TResult | Promise<TResult>): Promise<TResult>;
9
9
  }
10
- //# sourceMappingURL=console-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"console-runtime.js","sourceRoot":"","sources":["../../src/plugin-runtime/console-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAiB,sBAAsB,CAAC,CAAC;AAEvF,MAAM,OAAO,cAAc;IACzB,UAAU,CAAkB;IAE5B,MAAM,CAAC,SAAyB;QAC9B,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAsB,EACtB,SAAkE;QAElE,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAChF,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,KAAK,CAAC;YACf,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"console-runtime.js","sourceRoot":"","sources":["../../src/plugin-runtime/console-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAiB,sBAAsB,CAAC,CAAC;AAEvF,MAAM,OAAO,cAAc;IACzB,UAAU,CAAkB;IAE5B,MAAM,CAAC,SAAyB;QAC9B,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAsB,EACtB,SAAkE;QAElE,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAChF,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,KAAK,CAAC;YACf,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;CACF","sourcesContent":["import { createToken, type SnapshotReader } from '@zhin.js/plugin-runtime';\nimport type { AccessSnapshot } from '@zhin.js/console-contract';\nimport { ConsoleCatalog } from './console-catalog.js';\n\nexport const consoleRuntimeToken = createToken<ConsoleRuntime>('zhin.console.runtime');\n\nexport class ConsoleRuntime {\n #snapshots?: SnapshotReader;\n\n attach(snapshots: SnapshotReader): void {\n if (this.#snapshots && this.#snapshots !== snapshots) {\n throw new Error('ConsoleRuntime is already attached to another Root');\n }\n this.#snapshots = snapshots;\n }\n\n async runView<TResult>(\n access: AccessSnapshot,\n operation: (catalog: ConsoleCatalog) => TResult | Promise<TResult>,\n ): Promise<TResult> {\n if (!this.#snapshots) throw new Error('ConsoleRuntime is not attached to a Root');\n const lease = this.#snapshots.acquire();\n let active = true;\n try {\n return await operation(new ConsoleCatalog(lease.value, access, () => active));\n } finally {\n active = false;\n lease.release();\n }\n }\n}\n"]}
@@ -2,4 +2,3 @@ export * from './access.js';
2
2
  export * from './console-catalog.js';
3
3
  export * from './console-runtime.js';
4
4
  export * from './navigation.js';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin-runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin-runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC","sourcesContent":["export * from './access.js';\nexport * from './console-catalog.js';\nexport * from './console-runtime.js';\nexport * from './navigation.js';\n"]}
@@ -1,4 +1,3 @@
1
1
  import type { NavNode, PageManifest } from '@zhin.js/console-contract';
2
2
  import type { RuntimeSnapshot } from '@zhin.js/plugin-runtime';
3
3
  export declare function buildNavigation(snapshot: RuntimeSnapshot, pages: readonly Readonly<PageManifest>[]): readonly Readonly<NavNode>[];
4
- //# sourceMappingURL=navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/plugin-runtime/navigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/plugin-runtime/navigation.ts"],"names":[],"mappings":"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","sourcesContent":["import type { NavNode, PageManifest } from '@zhin.js/console-contract';\nimport type { PluginId, PluginNodeSnapshot, RuntimeSnapshot } from '@zhin.js/plugin-runtime';\n\nexport function buildNavigation(\n snapshot: RuntimeSnapshot,\n pages: readonly Readonly<PageManifest>[],\n): readonly Readonly<NavNode>[] {\n const byOwner = new Map<string, PageManifest[]>();\n for (const page of pages) {\n if (page.hideInNav) continue;\n const owned = byOwner.get(page.owner) ?? [];\n owned.push(page);\n byOwner.set(page.owner, owned);\n }\n\n const visit = (id: PluginId): Readonly<NavNode> | undefined => {\n const plugin = requiredPlugin(snapshot, id);\n const leaves = (byOwner.get(id) ?? []).map(pageNode);\n const groups = plugin.children\n .map(visit)\n .filter((node): node is Readonly<NavNode> => node !== undefined);\n const children = Object.freeze([...leaves, ...groups].sort(compareNode));\n if (children.length === 0) return undefined;\n return Object.freeze({\n id: plugin.id,\n type: 'plugin' as const,\n label: plugin.metadata?.displayName ?? plugin.instanceKey,\n icon: plugin.metadata?.icon,\n order: plugin.metadata?.order ?? 100,\n children,\n });\n };\n\n const root = requiredPlugin(snapshot, snapshot.root);\n const rootPages = (byOwner.get(snapshot.root) ?? []).map(pageNode);\n const groups = root.children\n .map(visit)\n .filter((node): node is Readonly<NavNode> => node !== undefined);\n return Object.freeze([...rootPages, ...groups].sort(compareNode));\n}\n\nfunction pageNode(page: PageManifest): Readonly<NavNode> {\n return Object.freeze({\n id: page.id,\n type: 'page' as const,\n label: page.title,\n icon: page.icon,\n path: page.route,\n order: page.order,\n children: Object.freeze([]),\n });\n}\n\nfunction compareNode(left: NavNode, right: NavNode): number {\n return left.order - right.order\n || left.type.localeCompare(right.type)\n || left.id.localeCompare(right.id);\n}\n\nfunction requiredPlugin(snapshot: RuntimeSnapshot, id: PluginId): PluginNodeSnapshot {\n const node = snapshot.tree.get(id);\n if (!node) throw new Error(`Unknown Plugin in Console tree: ${id}`);\n return node;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/pagemanager",
3
- "version": "1.1.9",
3
+ "version": "1.1.11",
4
4
  "description": "Zhin PageManager Host runtime: entries, esbuild pipeline (no UI; contract in @zhin.js/contract)",
5
5
  "type": "module",
6
6
  "exports": {
@@ -30,10 +30,10 @@
30
30
  "koa-compose": "^4.1.0",
31
31
  "koa-static": "^5.0.0",
32
32
  "@zhin.js/console-contract": "1.1.2",
33
- "@zhin.js/contract": "1.1.8",
34
- "@zhin.js/layout": "1.1.6",
35
- "@zhin.js/page": "1.1.6",
36
- "@zhin.js/plugin-runtime": "1.1.14"
33
+ "@zhin.js/contract": "1.1.10",
34
+ "@zhin.js/layout": "1.1.8",
35
+ "@zhin.js/page": "1.1.8",
36
+ "@zhin.js/plugin-runtime": "1.1.15"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/koa": "^3.0.3",
@@ -43,8 +43,8 @@
43
43
  "@types/node": "^26.1.2",
44
44
  "rimraf": "^6.1.3",
45
45
  "typescript": "^6.0.3",
46
- "@zhin.js/feature-kit": "1.1.5",
47
- "@zhin.js/runtime": "1.1.8"
46
+ "@zhin.js/feature-kit": "1.1.7",
47
+ "@zhin.js/runtime": "1.1.10"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "typescript": ">=5.8.0 <7.0.0"
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client-build/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"manifest-loader.d.ts","sourceRoot":"","sources":["../../src/client-build/manifest-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EACV,sBAAsB,EAEtB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,qBAAa,0BAA2B,YAAW,kBAAkB;;gBAGvD,QAAQ,EAAE,sBAAsB;WAc/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAKlE,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;CASnF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"module-runtime.d.ts","sourceRoot":"","sources":["../../src/client-build/module-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,wFAAwF;AACxF,qBAAa,wBAAyB,YAAW,aAAa;IAE1D,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,kBAAkB;IAG7C,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAI7C,gBAAgB,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAIvF,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIhD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE;IAIlD,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI/C,eAAe,IAAI,IAAI;IAIvB,gBAAgB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAIlD,kBAAkB,IAAI,IAAI;IAI1B,gBAAgB,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,IAAI;IAIzD,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO;IAIlD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"static-metadata.d.ts","sourceRoot":"","sources":["../../src/client-build/static-metadata.ts"],"names":[],"mappings":"AAcA,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAgB7E;AAmBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGzE;AAyED,qBAAa,iBAAkB,SAAQ,KAAK;IAExC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAFd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM;CAKlB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client-build/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB,EAAE,oBAAoB;CAAG;AAEvF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"typescript-builder.d.ts","sourceRoot":"","sources":["../../src/client-build/typescript-builder.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAUhE,OAAO,KAAK,EACV,sBAAsB,EAEtB,gBAAgB,EAChB,kBAAkB,EAClB,8BAA8B,EAC/B,MAAM,YAAY,CAAC;AAoBpB,qBAAa,uBAAwB,YAAW,kBAAkB;;gBAQpD,OAAO,EAAE,8BAA8B;IAQ7C,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAoB3E,KAAK,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;CAiB7F"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"consoleApiRouter.d.ts","sourceRoot":"","sources":["../../src/node/consoleApiRouter.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAWjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAQtE,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CA4EN"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"consoleServerOptions.d.ts","sourceRoot":"","sources":["../../src/node/consoleServerOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,UAAU,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,2BAA2B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9F,MAAM,MAAM,2BAA2B,GAAG,CAAC,GAAG,EAAE,2BAA2B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAErG,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC;IACzH,qBAAqB,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kFAAkF;IAClF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,gBAAgB,CAAC,MAAM,EAAE,OAAO,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"entries-handler.d.ts","sourceRoot":"","sources":["../../src/node/entries-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,cAAc,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;CACrD,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GACnD,mBAAmB,CASrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"entryStore.d.ts","sourceRoot":"","sources":["../../src/node/entryStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,IAAI,IAAI,YAAY,EAAE,CAAC;CACxB,CAAC;AAEF,wBAAgB,wBAAwB,IAAI,UAAU,CAUrD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/node/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,wBAAgB,gBAAgB,IAAI,UAAU,CAE7C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"esmForBrowser.d.ts","sourceRoot":"","sources":["../../src/node/esmForBrowser.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB,aAQhC,CAAC;AAsDH,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAO/E;AAGD,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1D;AAgDD,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,MAAM,CAWR"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,8BAA8B,EAC9B,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,sGAAsG;AACtG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pageManager.d.ts","sourceRoot":"","sources":["../../src/node/pageManager.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAK3B,OAAO,EAAgD,KAAK,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAEhH,OAAO,EAA4B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EACV,oBAAoB,EAEpB,2BAA2B,EAC5B,MAAM,2BAA2B,CAAC;AAInC,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,UAAU,CAEjE;AAED,qBAAa,WAAW;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;gBAEzC,OAAO,EAAE,oBAAoB;IAmBzC,OAAO,CAAC,wBAAwB;YAUlB,0BAA0B;YA0B1B,wBAAwB;IAOhC,KAAK,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAgCnD,QAAQ,CAAC,KAAK,EAAE,wBAAwB;CAqBzC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pluginEntryBundle.d.ts","sourceRoot":"","sources":["../../src/node/pluginEntryBundle.ts"],"names":[],"mappings":"AAkBA,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CA2BjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveClientEntries.d.ts","sourceRoot":"","sources":["../../src/node/resolveClientEntries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,UAAU,EACX,MAAM,mBAAmB,CAAC;AAG3B,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,CAI/E;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EACzC,OAAO,EAAE,UAAU,GAClB,MAAM,CAER;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,SAAS,EAAE,UAAU,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,kBAAkB,EAAE,CAgBvB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"startHost.d.ts","sourceRoot":"","sources":["../../src/node/startHost.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAI3B,OAAO,KAAK,EACV,8BAA8B,EAC9B,2BAA2B,EAC5B,MAAM,2BAA2B,CAAC;AAwCnC,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,2BAA2B,CAAC,CAoBtC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/plugin-runtime/access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACrC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,WAAW,CAKrE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAG3E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"console-catalog.d.ts","sourceRoot":"","sources":["../../src/plugin-runtime/console-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAGd,eAAe,EACf,cAAc,EACd,UAAU,EACV,OAAO,EACP,YAAY,EACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAa,QAAQ,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAMpF,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;CAAE,GACnE;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;CAAE,GACvE;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAEnC,qBAAa,cAAc;;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAQ1B,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,cAAc,EACtB,MAAM,GAAE,MAAM,OAAoB;IAUpC,KAAK,IAAI,SAAS,QAAQ,CAAC,YAAY,CAAC,EAAE;IAK1C,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IAS/B,UAAU,IAAI,SAAS,QAAQ,CAAC,OAAO,CAAC,EAAE;IAK1C;;;;OAIG;IACH,QAAQ,IAAI,QAAQ,CAAC,eAAe,CAAC;IAWrC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,SAAS,QAAQ,CAAC,cAAc,CAAC,EAAE;IAM/E,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;CAkC9C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"console-runtime.d.ts","sourceRoot":"","sources":["../../src/plugin-runtime/console-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,eAAO,MAAM,mBAAmB,yDAAsD,CAAC;AAEvF,qBAAa,cAAc;;IAGzB,MAAM,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IAOjC,OAAO,CAAC,OAAO,EACnB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GACjE,OAAO,CAAC,OAAO,CAAC;CAWpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin-runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/plugin-runtime/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAgC,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE7F,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,SAAS,QAAQ,CAAC,YAAY,CAAC,EAAE,GACvC,SAAS,QAAQ,CAAC,OAAO,CAAC,EAAE,CAiC9B"}