UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

430 lines (428 loc) • 16.1 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const require_runtime = require('./_virtual/_rolldown/runtime.cjs'); let zod = require("zod"); zod = require_runtime.__toESM(zod, 1); let every_plugin_ui_manifest = require("every-plugin/ui/manifest"); //#region src/types.ts const JsonValueSchema = zod.lazy(() => zod.union([ zod.string(), zod.number(), zod.boolean(), zod.null(), zod.array(JsonValueSchema), zod.record(zod.string(), JsonValueSchema) ])); const JsonObjectSchema = zod.record(zod.string(), JsonValueSchema); const ExtendsSchema = zod.union([zod.string(), zod.object({ development: zod.string().optional(), production: zod.string().optional(), staging: zod.string().optional() })]); const SourceModeSchema = zod.enum(["local", "remote"]); const SharedConfigSchema = zod.object({ version: zod.string(), requiredVersion: zod.string().optional(), singleton: zod.boolean().optional(), eager: zod.boolean().optional(), strictVersion: zod.boolean().optional(), shareScope: zod.string().optional() }); const SharedDepConfigSchema = SharedConfigSchema; const SharedDepMapSchema = zod.record(zod.string(), SharedConfigSchema); const FederationEntrySchema = zod.object({ name: zod.string(), url: zod.string(), entry: zod.string(), /** the content-hashed container entry URL (derived from the version * manifest when the slot pins one) — consumers load this instead of * appending the legacy fixed name */ entryUrl: zod.string().optional(), source: SourceModeSchema, integrity: zod.string().optional() }); /** * Slot pin (atomic-deploys): an explicit pointer to the slot's immutable * per-deploy WorkspaceVersionManifest — `manifest` is the versioned manifest * filename relative to the slot's production base, `integrity` is that * document's SRI. Resolving the pin derives the slot's entry-level fields * (`entryUrl`, entry integrity, ssr entry). A slot without a `pin` uses its * top-level `integrity` as a direct entry SRI (fixed-name slots only). */ const SlotPinSchema = zod.object({ manifest: zod.string().min(1), integrity: zod.string().min(1) }); const PluginUiConfigSchema = zod.object({ name: zod.string(), development: zod.string().optional(), production: zod.string().optional(), /** browser-facing base overriding `production` when server-side loading * must stay container-local (image-native runtimes, ADR 0011) — may be * same-origin relative (/bundles/<account>/<gateway>/<slot>) */ publicUrl: zod.string().optional(), integrity: zod.string().optional(), ssr: zod.string().optional(), ssrIntegrity: zod.string().optional(), pin: SlotPinSchema.optional() }); const ComposableAppEntrySchema = zod.object({ extends: ExtendsSchema.optional(), name: zod.string().optional(), development: zod.string().optional(), production: zod.string().optional(), integrity: zod.string().optional(), proxy: zod.string().optional(), variables: JsonObjectSchema.optional(), secrets: zod.array(zod.string()).optional(), routes: zod.array(zod.string()).optional(), shared: SharedDepMapSchema.optional(), connectSrc: zod.array(zod.string()).optional(), ui: PluginUiConfigSchema.optional(), pin: SlotPinSchema.optional() }); const ApiPluginConfigSchema = ComposableAppEntrySchema.extend({ dependsOn: zod.array(zod.string()).optional() }); const BosPluginRefSchema = ComposableAppEntrySchema.extend({ version: zod.string().optional(), app: zod.record(zod.string(), zod.unknown()).optional(), plugins: zod.record(zod.string(), zod.unknown()).optional(), dependsOn: zod.array(zod.string()).optional() }); const PluginRuntimeUiSchema = zod.object({ name: zod.string(), url: zod.string(), entry: zod.string(), source: SourceModeSchema, /** browser-facing base; when set the client config serves this instead of * `url` (server-side loading keeps `url`) */ publicUrl: zod.string().optional(), localPath: zod.string().optional(), port: zod.number().optional(), integrity: zod.string().optional(), ssrUrl: zod.string().optional(), ssrIntegrity: zod.string().optional(), entryUrl: zod.string().optional(), ssrEntryUrl: zod.string().optional(), /** pin-derived hashed browser manifest (mf-manifest) — absent for local * slots; registration reads this instead of the overloaded `entry` */ browserManifestUrl: zod.string().optional(), dependsOn: zod.array(zod.string()).optional() }); const RuntimePluginConfigSchema = zod.object({ name: zod.string(), url: zod.string(), entry: zod.string(), source: SourceModeSchema, extendsRef: zod.string().optional(), localPath: zod.string().optional(), port: zod.number().optional(), proxy: zod.string().optional(), variables: JsonObjectSchema.optional(), secrets: zod.array(zod.string()).optional(), integrity: zod.string().optional(), entryUrl: zod.string().optional(), shared: SharedDepMapSchema.optional(), connectSrc: zod.array(zod.string()).optional(), ui: PluginRuntimeUiSchema.optional(), routes: zod.array(zod.string()).optional(), dependsOn: zod.array(zod.string()).optional() }); const DependencyNodeKindSchema = zod.enum([ "api", "auth", "ui", "plugin" ]); const RuntimeDependencyNodeSchema = zod.object({ key: zod.string(), kind: DependencyNodeKindSchema, name: zod.string(), url: zod.string(), entry: zod.string(), source: SourceModeSchema, dependsOn: zod.array(zod.string()).optional(), extendsRef: zod.string().optional(), localPath: zod.string().optional(), port: zod.number().optional(), proxy: zod.string().optional(), variables: JsonObjectSchema.optional(), secrets: zod.array(zod.string()).optional(), integrity: zod.string().optional(), shared: SharedDepMapSchema.optional(), connectSrc: zod.array(zod.string()).optional(), ui: PluginRuntimeUiSchema.optional(), routes: zod.array(zod.string()).optional(), sourceOrigin: zod.enum(["config", "manifest"]).optional(), singletonKey: zod.string().optional() }); const UiConfigSchema = zod.object({ name: zod.string().optional(), development: zod.string().optional(), production: zod.string().optional(), /** browser-facing base overriding `production` (see PluginUiConfigSchema) */ publicUrl: zod.string().optional(), /** direct entry SRI — only for slots without a `pin` */ integrity: zod.string().optional(), ssr: zod.string().optional(), ssrIntegrity: zod.string().optional(), pin: SlotPinSchema.optional() }).strict(); const HostConfigSchema = zod.object({ development: zod.string(), /** Deploy state (ADR 0005) — absent until the first publish writes it. */ production: zod.string().optional(), /** direct entry SRI — only for slots without a `pin` */ integrity: zod.string().optional(), secrets: zod.array(zod.string()).optional(), pin: SlotPinSchema.optional() }); const ClientRuntimeInfoSchema = zod.object({ accountId: zod.string(), gatewayId: zod.string(), runtimeBasePath: zod.string(), title: zod.string().nullable(), description: zod.string().nullable(), hostUrl: zod.string().nullable() }); const RuntimeLineageSchema = zod.object({ parent: zod.string().nullable(), root: zod.string().nullable(), depth: zod.number().int().nonnegative(), extendsChain: zod.array(zod.string()) }); const BosStagingSchema = zod.object({ domain: zod.string(), account: zod.string().optional() }); const BosConfigInputAppEntrySchema = zod.record(zod.string(), zod.unknown()); const BosConfigInputSchema = zod.lazy(() => zod.object({ extends: ExtendsSchema.optional(), account: zod.string().optional(), domain: zod.string().optional(), status: zod.enum([ "active", "suspended", "pending_deletion" ]).optional(), testnet: zod.string().optional(), staging: BosStagingSchema.optional(), template: zod.string().optional(), gateway: zod.object({ development: zod.string().optional(), production: zod.string().optional(), account: zod.string().optional() }).optional(), development: zod.string().optional(), production: zod.string().optional(), integrity: zod.string().optional(), name: zod.string().optional(), version: zod.string().optional(), proxy: zod.string().optional(), variables: JsonObjectSchema.optional(), secrets: zod.array(zod.string()).optional(), routes: zod.array(zod.string()).optional(), app: zod.record(zod.string(), BosConfigInputAppEntrySchema).optional(), plugins: zod.record(zod.string(), zod.union([zod.string(), BosConfigInputSchema])).optional(), publish: zod.object({ auth: zod.enum([ "session", "key", "custody" ]).optional() }).optional(), ci: CiConfigSchema.optional(), cdn: CdnConfigSchema.optional() })); const StarterLevelSchema = zod.enum(["simple", "advanced"]); const StarterLevelConfigSchema = zod.object({ include: zod.array(zod.string()).optional(), exclude: zod.array(zod.string()).optional() }); const ParentStarterConfigSchema = zod.object({ levels: zod.record(zod.string(), StarterLevelConfigSchema).optional(), exclude: zod.array(zod.string()).optional() }); const RailwayCiSchema = zod.object({ service: zod.string() }); const CiConfigSchema = zod.object({ image: zod.string().optional(), railway: RailwayCiSchema.optional() }); /** Where this runtime's built bundles are served from. Inherited via extends. */ const CdnConfigSchema = zod.object({ origin: zod.string().optional() }); const PublishAuthSchema = zod.enum([ "session", "key", "custody" ]); const PublishConfigSchema = zod.object({ auth: PublishAuthSchema.optional() }); const PluginKeySchema = zod.string().regex(/^[a-zA-Z0-9._-]+$/, "plugin key must match [a-zA-Z0-9._-] — keys from remote/extended configs are interpolated into shells and generated code"); const BosConfigSchema = zod.object({ account: zod.string(), extends: ExtendsSchema.optional(), domain: zod.string().optional(), title: zod.string().optional(), description: zod.string().optional(), testnet: zod.string().optional(), staging: BosStagingSchema.optional(), repository: zod.string().optional(), publish: PublishConfigSchema.optional(), ci: CiConfigSchema.optional(), cdn: CdnConfigSchema.optional(), rolledBackFrom: zod.string().optional(), starter: ParentStarterConfigSchema.optional(), plugins: zod.record(PluginKeySchema, zod.union([zod.string(), BosPluginRefSchema])).optional(), app: zod.object({ host: HostConfigSchema, ui: UiConfigSchema, api: ApiPluginConfigSchema, auth: ComposableAppEntrySchema.optional() }) }); const RuntimeConfigSchema = zod.object({ env: zod.enum([ "development", "production", "staging" ]), account: zod.string(), domain: zod.string().optional(), networkId: zod.enum(["mainnet", "testnet"]), /** the deploy fingerprint of the snapshot this config came from * (atomic-deploys 10) — rides the client config for the soft-refresh signal */ deploymentFingerprint: zod.string().optional(), title: zod.string().optional(), description: zod.string().optional(), repository: zod.string().optional(), host: FederationEntrySchema.extend({ localPath: zod.string().optional(), port: zod.number().optional(), secrets: zod.array(zod.string()).optional(), remoteUrl: zod.string().optional() }), ui: FederationEntrySchema.extend({ localPath: zod.string().optional(), port: zod.number().optional(), /** browser-facing base; when set the client config serves this instead * of `url` (server-side loading keeps `url`) */ publicUrl: zod.string().optional(), ssrUrl: zod.string().optional(), ssrIntegrity: zod.string().optional(), ssrEntryUrl: zod.string().optional(), /** pin-derived hashed browser manifest (mf-manifest) */ browserManifestUrl: zod.string().optional(), dependsOn: zod.array(zod.string()).optional() }), api: FederationEntrySchema.extend({ localPath: zod.string().optional(), port: zod.number().optional(), proxy: zod.string().optional(), variables: JsonObjectSchema.optional(), secrets: zod.array(zod.string()).optional(), shared: SharedDepMapSchema.optional(), dependsOn: zod.array(zod.string()).optional() }), auth: FederationEntrySchema.extend({ extendsRef: zod.string().optional(), localPath: zod.string().optional(), port: zod.number().optional(), proxy: zod.string().optional(), variables: JsonObjectSchema.optional(), secrets: zod.array(zod.string()).optional(), shared: SharedDepMapSchema.optional(), dependsOn: zod.array(zod.string()).optional(), ui: PluginRuntimeUiSchema.optional() }).optional(), plugins: zod.record(PluginKeySchema, RuntimePluginConfigSchema).optional(), nodes: zod.record(zod.string(), RuntimeDependencyNodeSchema).optional() }); const ClientRuntimeConfigSchema = zod.object({ env: zod.enum([ "development", "production", "staging" ]), account: zod.string(), networkId: zod.enum(["mainnet", "testnet"]), /** the deploy fingerprint this document was rendered from (soft refresh) */ deploymentFingerprint: zod.string().optional(), hostUrl: zod.string().optional(), assetsUrl: zod.string(), apiBase: zod.string(), rpcBase: zod.templateLiteral([zod.literal("/"), zod.string()]), repository: zod.string().optional(), authAvailable: zod.boolean().optional(), runtime: ClientRuntimeInfoSchema.optional(), ui: zod.object({ name: zod.string(), url: zod.string(), entry: zod.string(), integrity: zod.string().optional(), /** the content-hashed container entry URL when the slot pins a version manifest */ entryUrl: zod.string().optional(), /** composition payload — the server sets it; the client reconstructs the same tree from it before hydrate */ compose: every_plugin_ui_manifest.ComposePayloadSchema.optional() }).optional(), api: zod.object({ name: zod.string(), url: zod.string(), entry: zod.string(), integrity: zod.string().optional(), variables: JsonObjectSchema.optional() }).optional(), auth: zod.object({ name: zod.string(), url: zod.string(), entry: zod.string(), integrity: zod.string().optional(), variables: JsonObjectSchema.optional() }).optional(), plugins: zod.record(zod.string(), zod.object({ name: zod.string(), url: zod.string(), entry: zod.string(), integrity: zod.string().optional(), variables: JsonObjectSchema.optional(), ui: zod.object({ name: zod.string(), url: zod.string(), entry: zod.string(), source: SourceModeSchema, integrity: zod.string().optional(), ssrUrl: zod.string().optional(), ssrIntegrity: zod.string().optional(), entryUrl: zod.string().optional() }).optional() })).optional() }); //#endregion exports.ApiPluginConfigSchema = ApiPluginConfigSchema; exports.BosConfigInputSchema = BosConfigInputSchema; exports.BosConfigSchema = BosConfigSchema; exports.BosPluginRefSchema = BosPluginRefSchema; exports.BosStagingSchema = BosStagingSchema; exports.CdnConfigSchema = CdnConfigSchema; exports.CiConfigSchema = CiConfigSchema; exports.ClientRuntimeConfigSchema = ClientRuntimeConfigSchema; exports.ClientRuntimeInfoSchema = ClientRuntimeInfoSchema; exports.ComposableAppEntrySchema = ComposableAppEntrySchema; exports.DependencyNodeKindSchema = DependencyNodeKindSchema; exports.ExtendsSchema = ExtendsSchema; exports.FederationEntrySchema = FederationEntrySchema; exports.HostConfigSchema = HostConfigSchema; exports.JsonObjectSchema = JsonObjectSchema; exports.JsonValueSchema = JsonValueSchema; exports.ParentStarterConfigSchema = ParentStarterConfigSchema; exports.PluginUiConfigSchema = PluginUiConfigSchema; exports.PublishAuthSchema = PublishAuthSchema; exports.PublishConfigSchema = PublishConfigSchema; exports.RailwayCiSchema = RailwayCiSchema; exports.RuntimeConfigSchema = RuntimeConfigSchema; exports.RuntimeDependencyNodeSchema = RuntimeDependencyNodeSchema; exports.RuntimeLineageSchema = RuntimeLineageSchema; exports.RuntimePluginConfigSchema = RuntimePluginConfigSchema; exports.SharedConfigSchema = SharedConfigSchema; exports.SharedDepConfigSchema = SharedDepConfigSchema; exports.SharedDepMapSchema = SharedDepMapSchema; exports.SlotPinSchema = SlotPinSchema; exports.SourceModeSchema = SourceModeSchema; exports.StarterLevelConfigSchema = StarterLevelConfigSchema; exports.StarterLevelSchema = StarterLevelSchema; exports.UiConfigSchema = UiConfigSchema; //# sourceMappingURL=types.cjs.map