everything-dev 2.0.0-rc.8 → 2.0.0-rc.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apps/upload/src/client.cjs +7 -1
- package/dist/apps/upload/src/client.cjs.map +1 -1
- package/dist/apps/upload/src/client.mjs +7 -1
- package/dist/apps/upload/src/client.mjs.map +1 -1
- package/dist/auth-login.cjs +24 -1
- package/dist/auth-login.cjs.map +1 -1
- package/dist/auth-login.mjs +24 -1
- package/dist/auth-login.mjs.map +1 -1
- package/dist/auth-session.cjs +4 -2
- package/dist/auth-session.cjs.map +1 -1
- package/dist/auth-session.mjs +4 -2
- package/dist/auth-session.mjs.map +1 -1
- package/dist/cdn-deploy.cjs +11 -7
- package/dist/cdn-deploy.cjs.map +1 -1
- package/dist/cdn-deploy.mjs +11 -7
- package/dist/cdn-deploy.mjs.map +1 -1
- package/dist/cli/import.cjs +1140 -0
- package/dist/cli/import.cjs.map +1 -0
- package/dist/cli/import.mjs +1126 -0
- package/dist/cli/import.mjs.map +1 -0
- package/dist/cli/init.cjs +11 -4
- package/dist/cli/init.cjs.map +1 -1
- package/dist/cli/init.d.cts +8 -2
- package/dist/cli/init.d.mts +8 -2
- package/dist/cli/init.mjs +11 -5
- package/dist/cli/init.mjs.map +1 -1
- package/dist/cli.cjs +55 -0
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.mjs +55 -0
- package/dist/cli.mjs.map +1 -1
- package/dist/commands/import.cjs +49 -0
- package/dist/commands/import.cjs.map +1 -0
- package/dist/commands/import.mjs +46 -0
- package/dist/commands/import.mjs.map +1 -0
- package/dist/commands/keys.cjs +24 -3
- package/dist/commands/keys.cjs.map +1 -1
- package/dist/commands/keys.mjs +24 -3
- package/dist/commands/keys.mjs.map +1 -1
- package/dist/config.d.cts +1 -0
- package/dist/config.d.mts +1 -0
- package/dist/contract.cjs +89 -0
- package/dist/contract.cjs.map +1 -1
- package/dist/contract.d.cts +190 -1
- package/dist/contract.d.mts +190 -1
- package/dist/contract.meta.cjs +16 -0
- package/dist/contract.meta.cjs.map +1 -1
- package/dist/contract.meta.d.cts +26 -0
- package/dist/contract.meta.d.mts +26 -0
- package/dist/contract.meta.mjs +16 -0
- package/dist/contract.meta.mjs.map +1 -1
- package/dist/contract.mjs +84 -1
- package/dist/contract.mjs.map +1 -1
- package/dist/custody-signer.cjs +70 -0
- package/dist/custody-signer.cjs.map +1 -0
- package/dist/custody-signer.mjs +68 -0
- package/dist/custody-signer.mjs.map +1 -0
- package/dist/descriptor/schema.cjs +8 -5
- package/dist/descriptor/schema.cjs.map +1 -1
- package/dist/descriptor/schema.d.cts +1 -0
- package/dist/descriptor/schema.d.mts +1 -0
- package/dist/descriptor/schema.mjs +8 -5
- package/dist/descriptor/schema.mjs.map +1 -1
- package/dist/descriptor/serialize.cjs +1 -1
- package/dist/descriptor/serialize.cjs.map +1 -1
- package/dist/descriptor/serialize.mjs +1 -1
- package/dist/descriptor/serialize.mjs.map +1 -1
- package/dist/index.cjs +6 -0
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +2 -2
- package/dist/outlayer-login.cjs +54 -0
- package/dist/outlayer-login.cjs.map +1 -0
- package/dist/outlayer-login.mjs +54 -0
- package/dist/outlayer-login.mjs.map +1 -0
- package/dist/plugin.cjs +2 -0
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.cts +74 -0
- package/dist/plugin.d.mts +74 -0
- package/dist/plugin.mjs +2 -0
- package/dist/plugin.mjs.map +1 -1
- package/dist/publish.cjs +145 -22
- package/dist/publish.cjs.map +1 -1
- package/dist/publish.mjs +147 -24
- package/dist/publish.mjs.map +1 -1
- package/dist/source-archive.cjs +51 -0
- package/dist/source-archive.cjs.map +1 -0
- package/dist/source-archive.mjs +50 -0
- package/dist/source-archive.mjs.map +1 -0
- package/dist/storage-upload.cjs +6 -1
- package/dist/storage-upload.cjs.map +1 -1
- package/dist/storage-upload.mjs +6 -1
- package/dist/storage-upload.mjs.map +1 -1
- package/dist/types.cjs +5 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +2 -0
- package/dist/types.d.mts +2 -0
- package/dist/types.mjs +5 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/workspace-subtree.cjs +37 -0
- package/dist/utils/workspace-subtree.cjs.map +1 -0
- package/dist/utils/workspace-subtree.mjs +36 -0
- package/dist/utils/workspace-subtree.mjs.map +1 -0
- package/dist/version-manifest-deploy.cjs +4 -2
- package/dist/version-manifest-deploy.cjs.map +1 -1
- package/dist/version-manifest-deploy.mjs +4 -2
- package/dist/version-manifest-deploy.mjs.map +1 -1
- package/dist/version-manifest-resolve.cjs +2 -1
- package/dist/version-manifest-resolve.cjs.map +1 -1
- package/dist/version-manifest-resolve.d.cts +3 -0
- package/dist/version-manifest-resolve.d.mts +3 -0
- package/dist/version-manifest-resolve.mjs +2 -1
- package/dist/version-manifest-resolve.mjs.map +1 -1
- package/package.json +3 -2
- package/skills/cli-reference/SKILL.md +17 -1
- package/skills/init-upgrade/SKILL.md +76 -3
package/dist/types.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.cjs","names":["z","ComposePayloadSchema"],"sources":["../src/types.ts"],"sourcesContent":["import { ComposePayloadSchema } from \"every-plugin/ui/manifest\";\nimport * as z from \"zod\";\n\nexport type JsonPrimitive = string | number | boolean | null;\nexport interface JsonObject {\n [key: string]: JsonValue;\n}\nexport type JsonValue = JsonPrimitive | JsonObject | JsonValue[];\n\nexport const JsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>\n z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.null(),\n z.array(JsonValueSchema),\n z.record(z.string(), JsonValueSchema),\n ]),\n);\nexport const JsonObjectSchema = z.record(z.string(), JsonValueSchema);\n\nexport const ExtendsSchema = z.union([\n z.string(),\n z.object({\n development: z.string().optional(),\n production: z.string().optional(),\n staging: z.string().optional(),\n }),\n]);\nexport type Extends = z.infer<typeof ExtendsSchema>;\nexport type ExtendsConfig = Extract<Extends, Record<string, string | undefined>>;\n\nexport const SourceModeSchema = z.enum([\"local\", \"remote\"]);\nexport type SourceMode = z.infer<typeof SourceModeSchema>;\n\nexport const SharedConfigSchema = z.object({\n version: z.string(),\n requiredVersion: z.string().optional(),\n singleton: z.boolean().optional(),\n eager: z.boolean().optional(),\n strictVersion: z.boolean().optional(),\n shareScope: z.string().optional(),\n});\nexport type SharedConfig = z.infer<typeof SharedConfigSchema>;\nexport type SharedDepConfig = SharedConfig;\nexport const SharedDepConfigSchema = SharedConfigSchema;\nexport const SharedDepMapSchema = z.record(z.string(), SharedConfigSchema);\n\nexport const FederationEntrySchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n /** the content-hashed container entry URL (derived from the version\n * manifest when the slot pins one) — consumers load this instead of\n * appending the legacy fixed name */\n entryUrl: z.string().optional(),\n source: SourceModeSchema,\n integrity: z.string().optional(),\n});\nexport type FederationEntry = z.infer<typeof FederationEntrySchema>;\n\n/**\n * Slot pin (atomic-deploys): an explicit pointer to the slot's immutable\n * per-deploy WorkspaceVersionManifest — `manifest` is the versioned manifest\n * filename relative to the slot's production base, `integrity` is that\n * document's SRI. Resolving the pin derives the slot's entry-level fields\n * (`entryUrl`, entry integrity, ssr entry). A slot without a `pin` uses its\n * top-level `integrity` as a direct entry SRI (fixed-name slots only).\n */\nexport const SlotPinSchema = z.object({\n manifest: z.string().min(1),\n integrity: z.string().min(1),\n});\nexport type SlotPin = z.infer<typeof SlotPinSchema>;\n\nexport const PluginUiConfigSchema = z.object({\n name: z.string(),\n development: z.string().optional(),\n production: z.string().optional(),\n /** browser-facing base overriding `production` when server-side loading\n * must stay container-local (image-native runtimes, ADR 0011) — may be\n * same-origin relative (/bundles/<account>/<gateway>/<slot>) */\n publicUrl: z.string().optional(),\n integrity: z.string().optional(),\n ssr: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n pin: SlotPinSchema.optional(),\n});\nexport type PluginUiConfig = z.infer<typeof PluginUiConfigSchema>;\n\nexport const ComposableAppEntrySchema = z.object({\n extends: ExtendsSchema.optional(),\n name: z.string().optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n routes: z.array(z.string()).optional(),\n shared: SharedDepMapSchema.optional(),\n connectSrc: z.array(z.string()).optional(),\n ui: PluginUiConfigSchema.optional(),\n pin: SlotPinSchema.optional(),\n});\nexport type ComposableAppEntry = z.infer<typeof ComposableAppEntrySchema>;\n\nexport const ApiPluginConfigSchema = ComposableAppEntrySchema.extend({\n dependsOn: z.array(z.string()).optional(),\n});\nexport type ApiPluginConfig = z.infer<typeof ApiPluginConfigSchema>;\n\nexport const BosPluginRefSchema = ComposableAppEntrySchema.extend({\n version: z.string().optional(),\n app: z.record(z.string(), z.unknown()).optional(),\n plugins: z.record(z.string(), z.unknown()).optional(),\n dependsOn: z.array(z.string()).optional(),\n});\nexport type BosPluginRef = z.infer<typeof BosPluginRefSchema>;\nexport type PluginEntryValue = string | BosPluginRef;\nexport type PluginEntries = Record<string, PluginEntryValue>;\n\nconst PluginRuntimeUiSchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n /** browser-facing base; when set the client config serves this instead of\n * `url` (server-side loading keeps `url`) */\n publicUrl: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n integrity: z.string().optional(),\n ssrUrl: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n entryUrl: z.string().optional(),\n ssrEntryUrl: z.string().optional(),\n /** pin-derived hashed browser manifest (mf-manifest) — absent for local\n * slots; registration reads this instead of the overloaded `entry` */\n browserManifestUrl: z.string().optional(),\n dependsOn: z.array(z.string()).optional(),\n});\nexport type PluginRuntimeUi = z.infer<typeof PluginRuntimeUiSchema>;\n\nexport const RuntimePluginConfigSchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n extendsRef: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n integrity: z.string().optional(),\n entryUrl: z.string().optional(),\n shared: SharedDepMapSchema.optional(),\n connectSrc: z.array(z.string()).optional(),\n ui: PluginRuntimeUiSchema.optional(),\n routes: z.array(z.string()).optional(),\n dependsOn: z.array(z.string()).optional(),\n});\nexport type RuntimePluginConfig = z.infer<typeof RuntimePluginConfigSchema>;\n\nexport const DependencyNodeKindSchema = z.enum([\"api\", \"auth\", \"ui\", \"plugin\"]);\nexport type DependencyNodeKind = z.infer<typeof DependencyNodeKindSchema>;\n\nexport const RuntimeDependencyNodeSchema = z.object({\n key: z.string(),\n kind: DependencyNodeKindSchema,\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n dependsOn: z.array(z.string()).optional(),\n extendsRef: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n integrity: z.string().optional(),\n shared: SharedDepMapSchema.optional(),\n connectSrc: z.array(z.string()).optional(),\n ui: PluginRuntimeUiSchema.optional(),\n routes: z.array(z.string()).optional(),\n sourceOrigin: z.enum([\"config\", \"manifest\"]).optional(),\n singletonKey: z.string().optional(),\n});\nexport type RuntimeDependencyNode = z.infer<typeof RuntimeDependencyNodeSchema>;\n\nexport const UiConfigSchema = z\n .object({\n name: z.string().optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n /** browser-facing base overriding `production` (see PluginUiConfigSchema) */\n publicUrl: z.string().optional(),\n /** direct entry SRI — only for slots without a `pin` */\n integrity: z.string().optional(),\n ssr: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n pin: SlotPinSchema.optional(),\n })\n .strict();\nexport type UiConfig = z.infer<typeof UiConfigSchema>;\n\nexport const HostConfigSchema = z.object({\n development: z.string(),\n /** Deploy state (ADR 0005) — absent until the first publish writes it. */\n production: z.string().optional(),\n /** direct entry SRI — only for slots without a `pin` */\n integrity: z.string().optional(),\n secrets: z.array(z.string()).optional(),\n pin: SlotPinSchema.optional(),\n});\nexport type HostConfig = z.infer<typeof HostConfigSchema>;\n\nexport const ClientRuntimeInfoSchema = z.object({\n accountId: z.string(),\n gatewayId: z.string(),\n runtimeBasePath: z.string(),\n title: z.string().nullable(),\n description: z.string().nullable(),\n hostUrl: z.string().nullable(),\n});\nexport type ClientRuntimeInfo = z.infer<typeof ClientRuntimeInfoSchema>;\n\nexport const RuntimeLineageSchema = z.object({\n parent: z.string().nullable(),\n root: z.string().nullable(),\n depth: z.number().int().nonnegative(),\n extendsChain: z.array(z.string()),\n});\nexport type RuntimeLineage = z.infer<typeof RuntimeLineageSchema>;\n\nexport const BosStagingSchema = z.object({\n domain: z.string(),\n account: z.string().optional(),\n});\nexport type BosStaging = z.infer<typeof BosStagingSchema>;\n\nconst BosConfigInputAppEntrySchema = z.record(z.string(), z.unknown());\nexport type BosConfigInputAppEntry = z.infer<typeof BosConfigInputAppEntrySchema>;\n\nexport const BosConfigInputSchema: z.ZodType<BosConfigInput> = z.lazy(() =>\n z.object({\n extends: ExtendsSchema.optional(),\n account: z.string().optional(),\n domain: z.string().optional(),\n status: z.enum([\"active\", \"suspended\", \"pending_deletion\"]).optional(),\n testnet: z.string().optional(),\n staging: BosStagingSchema.optional(),\n template: z.string().optional(),\n gateway: z\n .object({\n development: z.string().optional(),\n production: z.string().optional(),\n account: z.string().optional(),\n })\n .optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n name: z.string().optional(),\n version: z.string().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n routes: z.array(z.string()).optional(),\n app: z.record(z.string(), BosConfigInputAppEntrySchema).optional(),\n plugins: z.record(z.string(), z.union([z.string(), BosConfigInputSchema])).optional(),\n publish: z\n .object({\n auth: z.enum([\"session\", \"key\", \"custody\"]).optional(),\n })\n .optional(),\n ci: CiConfigSchema.optional(),\n cdn: CdnConfigSchema.optional(),\n }),\n);\n\nexport type StarterLevel = \"simple\" | \"advanced\";\n\nexport const StarterLevelSchema = z.enum([\"simple\", \"advanced\"]);\n\nexport interface StarterLevelConfig {\n include?: string[];\n exclude?: string[];\n}\n\nexport const StarterLevelConfigSchema = z.object({\n include: z.array(z.string()).optional(),\n exclude: z.array(z.string()).optional(),\n});\n\n/** Authoring metadata a parent publishes so `bos init` can prune its starter. */\nexport interface ParentStarterConfig {\n levels?: Record<string, StarterLevelConfig>;\n exclude?: string[];\n}\n\nexport const ParentStarterConfigSchema = z.object({\n levels: z.record(z.string(), StarterLevelConfigSchema).optional(),\n exclude: z.array(z.string()).optional(),\n});\n\nexport interface BosConfigInput {\n extends?: string | ExtendsConfig;\n account?: string;\n domain?: string;\n status?: \"active\" | \"suspended\" | \"pending_deletion\";\n title?: string;\n description?: string;\n testnet?: string;\n template?: string;\n gateway?: {\n development?: string;\n production?: string;\n account?: string;\n };\n staging?: BosStaging;\n development?: string;\n production?: string;\n integrity?: string;\n name?: string;\n version?: string;\n proxy?: string;\n variables?: JsonObject;\n secrets?: string[];\n routes?: string[];\n app?: Record<string, BosConfigInputAppEntry>;\n plugins?: Record<string, string | BosConfigInput>;\n publish?: PublishConfig;\n ci?: CiConfig;\n cdn?: CdnConfig;\n rolledBackFrom?: string;\n starter?: ParentStarterConfig;\n}\n\nexport const RailwayCiSchema = z.object({\n service: z.string(),\n});\nexport type RailwayCi = z.infer<typeof RailwayCiSchema>;\n\nexport const CiConfigSchema = z.object({\n image: z.string().optional(),\n railway: RailwayCiSchema.optional(),\n});\nexport type CiConfig = z.infer<typeof CiConfigSchema>;\n\n/** Where this runtime's built bundles are served from. Inherited via extends. */\nexport const CdnConfigSchema = z.object({\n origin: z.string().optional(),\n});\nexport type CdnConfig = z.infer<typeof CdnConfigSchema>;\n\nexport const PublishAuthSchema = z.enum([\"session\", \"key\", \"custody\"]);\nexport type PublishAuth = z.infer<typeof PublishAuthSchema>;\n\nexport const PublishConfigSchema = z.object({\n auth: PublishAuthSchema.optional(),\n});\nexport type PublishConfig = z.infer<typeof PublishConfigSchema>;\n\nconst PluginKeySchema = z\n .string()\n .regex(\n /^[a-zA-Z0-9._-]+$/,\n \"plugin key must match [a-zA-Z0-9._-] — keys from remote/extended configs are interpolated into shells and generated code\",\n );\n\nexport const BosConfigSchema = z.object({\n account: z.string(),\n extends: ExtendsSchema.optional(),\n domain: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n testnet: z.string().optional(),\n staging: BosStagingSchema.optional(),\n repository: z.string().optional(),\n publish: PublishConfigSchema.optional(),\n ci: CiConfigSchema.optional(),\n cdn: CdnConfigSchema.optional(),\n rolledBackFrom: z.string().optional(),\n starter: ParentStarterConfigSchema.optional(),\n plugins: z.record(PluginKeySchema, z.union([z.string(), BosPluginRefSchema])).optional(),\n app: z.object({\n host: HostConfigSchema,\n ui: UiConfigSchema,\n api: ApiPluginConfigSchema,\n auth: ComposableAppEntrySchema.optional(),\n }),\n});\nexport type BosConfig = z.infer<typeof BosConfigSchema>;\n\nexport const RuntimeConfigSchema = z.object({\n env: z.enum([\"development\", \"production\", \"staging\"]),\n account: z.string(),\n domain: z.string().optional(),\n networkId: z.enum([\"mainnet\", \"testnet\"]),\n /** the deploy fingerprint of the snapshot this config came from\n * (atomic-deploys 10) — rides the client config for the soft-refresh signal */\n deploymentFingerprint: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n repository: z.string().optional(),\n host: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n secrets: z.array(z.string()).optional(),\n remoteUrl: z.string().optional(),\n }),\n ui: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n /** browser-facing base; when set the client config serves this instead\n * of `url` (server-side loading keeps `url`) */\n publicUrl: z.string().optional(),\n ssrUrl: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n ssrEntryUrl: z.string().optional(),\n /** pin-derived hashed browser manifest (mf-manifest) */\n browserManifestUrl: z.string().optional(),\n dependsOn: z.array(z.string()).optional(),\n }),\n api: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n shared: SharedDepMapSchema.optional(),\n dependsOn: z.array(z.string()).optional(),\n }),\n auth: FederationEntrySchema.extend({\n extendsRef: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n shared: SharedDepMapSchema.optional(),\n dependsOn: z.array(z.string()).optional(),\n ui: PluginRuntimeUiSchema.optional(),\n }).optional(),\n plugins: z.record(PluginKeySchema, RuntimePluginConfigSchema).optional(),\n nodes: z.record(z.string(), RuntimeDependencyNodeSchema).optional(),\n});\nexport type RuntimeConfig = z.infer<typeof RuntimeConfigSchema>;\n\nexport const ClientRuntimeConfigSchema = z.object({\n env: z.enum([\"development\", \"production\", \"staging\"]),\n account: z.string(),\n networkId: z.enum([\"mainnet\", \"testnet\"]),\n /** the deploy fingerprint this document was rendered from (soft refresh) */\n deploymentFingerprint: z.string().optional(),\n hostUrl: z.string().optional(),\n assetsUrl: z.string(),\n apiBase: z.string(),\n rpcBase: z.templateLiteral([z.literal(\"/\"), z.string()]),\n repository: z.string().optional(),\n authAvailable: z.boolean().optional(),\n runtime: ClientRuntimeInfoSchema.optional(),\n ui: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n /** the content-hashed container entry URL when the slot pins a version manifest */\n entryUrl: z.string().optional(),\n /** composition payload — the server sets it; the client reconstructs the same tree from it before hydrate */\n compose: ComposePayloadSchema.optional(),\n })\n .optional(),\n api: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n })\n .optional(),\n auth: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n })\n .optional(),\n plugins: z\n .record(\n z.string(),\n z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n ui: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n integrity: z.string().optional(),\n ssrUrl: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n entryUrl: z.string().optional(),\n })\n .optional(),\n }),\n )\n .optional(),\n});\nexport type ClientRuntimeConfig = z.infer<typeof ClientRuntimeConfigSchema>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.cjs","names":["z","ComposePayloadSchema"],"sources":["../src/types.ts"],"sourcesContent":["import { ComposePayloadSchema } from \"every-plugin/ui/manifest\";\nimport * as z from \"zod\";\n\nexport type JsonPrimitive = string | number | boolean | null;\nexport interface JsonObject {\n [key: string]: JsonValue;\n}\nexport type JsonValue = JsonPrimitive | JsonObject | JsonValue[];\n\nexport const JsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>\n z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.null(),\n z.array(JsonValueSchema),\n z.record(z.string(), JsonValueSchema),\n ]),\n);\nexport const JsonObjectSchema = z.record(z.string(), JsonValueSchema);\n\nexport const ExtendsSchema = z.union([\n z.string(),\n z.object({\n development: z.string().optional(),\n production: z.string().optional(),\n staging: z.string().optional(),\n }),\n]);\nexport type Extends = z.infer<typeof ExtendsSchema>;\nexport type ExtendsConfig = Extract<Extends, Record<string, string | undefined>>;\n\nexport const SourceModeSchema = z.enum([\"local\", \"remote\"]);\nexport type SourceMode = z.infer<typeof SourceModeSchema>;\n\nexport const SharedConfigSchema = z.object({\n version: z.string(),\n requiredVersion: z.string().optional(),\n singleton: z.boolean().optional(),\n eager: z.boolean().optional(),\n strictVersion: z.boolean().optional(),\n shareScope: z.string().optional(),\n});\nexport type SharedConfig = z.infer<typeof SharedConfigSchema>;\nexport type SharedDepConfig = SharedConfig;\nexport const SharedDepConfigSchema = SharedConfigSchema;\nexport const SharedDepMapSchema = z.record(z.string(), SharedConfigSchema);\n\nexport const FederationEntrySchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n /** the content-hashed container entry URL (derived from the version\n * manifest when the slot pins one) — consumers load this instead of\n * appending the legacy fixed name */\n entryUrl: z.string().optional(),\n source: SourceModeSchema,\n integrity: z.string().optional(),\n});\nexport type FederationEntry = z.infer<typeof FederationEntrySchema>;\n\n/**\n * Slot pin (atomic-deploys): an explicit pointer to the slot's immutable\n * per-deploy WorkspaceVersionManifest — `manifest` is the versioned manifest\n * filename relative to the slot's production base, `integrity` is that\n * document's SRI. Resolving the pin derives the slot's entry-level fields\n * (`entryUrl`, entry integrity, ssr entry). A slot without a `pin` uses its\n * top-level `integrity` as a direct entry SRI (fixed-name slots only).\n */\nexport const SlotPinSchema = z.object({\n manifest: z.string().min(1),\n integrity: z.string().min(1),\n});\nexport type SlotPin = z.infer<typeof SlotPinSchema>;\n\nexport const PluginUiConfigSchema = z.object({\n name: z.string(),\n development: z.string().optional(),\n production: z.string().optional(),\n /** browser-facing base overriding `production` when server-side loading\n * must stay container-local (image-native runtimes, ADR 0011) — may be\n * same-origin relative (/bundles/<account>/<gateway>/<slot>) */\n publicUrl: z.string().optional(),\n integrity: z.string().optional(),\n ssr: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n pin: SlotPinSchema.optional(),\n});\nexport type PluginUiConfig = z.infer<typeof PluginUiConfigSchema>;\n\nexport const ComposableAppEntrySchema = z.object({\n extends: ExtendsSchema.optional(),\n name: z.string().optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n routes: z.array(z.string()).optional(),\n shared: SharedDepMapSchema.optional(),\n connectSrc: z.array(z.string()).optional(),\n ui: PluginUiConfigSchema.optional(),\n pin: SlotPinSchema.optional(),\n});\nexport type ComposableAppEntry = z.infer<typeof ComposableAppEntrySchema>;\n\nexport const ApiPluginConfigSchema = ComposableAppEntrySchema.extend({\n dependsOn: z.array(z.string()).optional(),\n});\nexport type ApiPluginConfig = z.infer<typeof ApiPluginConfigSchema>;\n\nexport const BosPluginRefSchema = ComposableAppEntrySchema.extend({\n version: z.string().optional(),\n app: z.record(z.string(), z.unknown()).optional(),\n plugins: z.record(z.string(), z.unknown()).optional(),\n dependsOn: z.array(z.string()).optional(),\n});\nexport type BosPluginRef = z.infer<typeof BosPluginRefSchema>;\nexport type PluginEntryValue = string | BosPluginRef;\nexport type PluginEntries = Record<string, PluginEntryValue>;\n\nconst PluginRuntimeUiSchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n /** browser-facing base; when set the client config serves this instead of\n * `url` (server-side loading keeps `url`) */\n publicUrl: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n integrity: z.string().optional(),\n ssrUrl: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n entryUrl: z.string().optional(),\n ssrEntryUrl: z.string().optional(),\n /** pin-derived hashed browser manifest (mf-manifest) — absent for local\n * slots; registration reads this instead of the overloaded `entry` */\n browserManifestUrl: z.string().optional(),\n dependsOn: z.array(z.string()).optional(),\n});\nexport type PluginRuntimeUi = z.infer<typeof PluginRuntimeUiSchema>;\n\nexport const RuntimePluginConfigSchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n extendsRef: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n integrity: z.string().optional(),\n entryUrl: z.string().optional(),\n shared: SharedDepMapSchema.optional(),\n connectSrc: z.array(z.string()).optional(),\n ui: PluginRuntimeUiSchema.optional(),\n routes: z.array(z.string()).optional(),\n dependsOn: z.array(z.string()).optional(),\n});\nexport type RuntimePluginConfig = z.infer<typeof RuntimePluginConfigSchema>;\n\nexport const DependencyNodeKindSchema = z.enum([\"api\", \"auth\", \"ui\", \"plugin\"]);\nexport type DependencyNodeKind = z.infer<typeof DependencyNodeKindSchema>;\n\nexport const RuntimeDependencyNodeSchema = z.object({\n key: z.string(),\n kind: DependencyNodeKindSchema,\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n dependsOn: z.array(z.string()).optional(),\n extendsRef: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n integrity: z.string().optional(),\n shared: SharedDepMapSchema.optional(),\n connectSrc: z.array(z.string()).optional(),\n ui: PluginRuntimeUiSchema.optional(),\n routes: z.array(z.string()).optional(),\n sourceOrigin: z.enum([\"config\", \"manifest\"]).optional(),\n singletonKey: z.string().optional(),\n});\nexport type RuntimeDependencyNode = z.infer<typeof RuntimeDependencyNodeSchema>;\n\nexport const UiConfigSchema = z\n .object({\n name: z.string().optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n /** browser-facing base overriding `production` (see PluginUiConfigSchema) */\n publicUrl: z.string().optional(),\n /** direct entry SRI — only for slots without a `pin` */\n integrity: z.string().optional(),\n ssr: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n pin: SlotPinSchema.optional(),\n })\n .strict();\nexport type UiConfig = z.infer<typeof UiConfigSchema>;\n\nexport const HostConfigSchema = z.object({\n development: z.string(),\n /** Deploy state (ADR 0005) — absent until the first publish writes it. */\n production: z.string().optional(),\n /** direct entry SRI — only for slots without a `pin` */\n integrity: z.string().optional(),\n secrets: z.array(z.string()).optional(),\n pin: SlotPinSchema.optional(),\n});\nexport type HostConfig = z.infer<typeof HostConfigSchema>;\n\nexport const ClientRuntimeInfoSchema = z.object({\n accountId: z.string(),\n gatewayId: z.string(),\n runtimeBasePath: z.string(),\n title: z.string().nullable(),\n description: z.string().nullable(),\n hostUrl: z.string().nullable(),\n});\nexport type ClientRuntimeInfo = z.infer<typeof ClientRuntimeInfoSchema>;\n\nexport const RuntimeLineageSchema = z.object({\n parent: z.string().nullable(),\n root: z.string().nullable(),\n depth: z.number().int().nonnegative(),\n extendsChain: z.array(z.string()),\n});\nexport type RuntimeLineage = z.infer<typeof RuntimeLineageSchema>;\n\nexport const BosStagingSchema = z.object({\n domain: z.string(),\n account: z.string().optional(),\n});\nexport type BosStaging = z.infer<typeof BosStagingSchema>;\n\nconst BosConfigInputAppEntrySchema = z.record(z.string(), z.unknown());\nexport type BosConfigInputAppEntry = z.infer<typeof BosConfigInputAppEntrySchema>;\n\nexport const BosConfigInputSchema: z.ZodType<BosConfigInput> = z.lazy(() =>\n z.object({\n extends: ExtendsSchema.optional(),\n account: z.string().optional(),\n domain: z.string().optional(),\n status: z.enum([\"active\", \"suspended\", \"pending_deletion\"]).optional(),\n testnet: z.string().optional(),\n staging: BosStagingSchema.optional(),\n template: z.string().optional(),\n gateway: z\n .object({\n development: z.string().optional(),\n production: z.string().optional(),\n account: z.string().optional(),\n })\n .optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n name: z.string().optional(),\n version: z.string().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n routes: z.array(z.string()).optional(),\n app: z.record(z.string(), BosConfigInputAppEntrySchema).optional(),\n plugins: z.record(z.string(), z.union([z.string(), BosConfigInputSchema])).optional(),\n publish: z\n .object({\n auth: z.enum([\"session\", \"key\", \"custody\"]).optional(),\n })\n .optional(),\n ci: CiConfigSchema.optional(),\n cdn: CdnConfigSchema.optional(),\n }),\n);\n\nexport type StarterLevel = \"simple\" | \"advanced\";\n\nexport const StarterLevelSchema = z.enum([\"simple\", \"advanced\"]);\n\nexport interface StarterLevelConfig {\n include?: string[];\n exclude?: string[];\n}\n\nexport const StarterLevelConfigSchema = z.object({\n include: z.array(z.string()).optional(),\n exclude: z.array(z.string()).optional(),\n});\n\n/** Authoring metadata a parent publishes so `bos init` can prune its starter. */\nexport interface ParentStarterConfig {\n levels?: Record<string, StarterLevelConfig>;\n exclude?: string[];\n}\n\nexport const ParentStarterConfigSchema = z.object({\n levels: z.record(z.string(), StarterLevelConfigSchema).optional(),\n exclude: z.array(z.string()).optional(),\n});\n\nexport interface BosConfigInput {\n extends?: string | ExtendsConfig;\n account?: string;\n domain?: string;\n status?: \"active\" | \"suspended\" | \"pending_deletion\";\n title?: string;\n description?: string;\n testnet?: string;\n template?: string;\n gateway?: {\n development?: string;\n production?: string;\n account?: string;\n };\n staging?: BosStaging;\n development?: string;\n production?: string;\n integrity?: string;\n name?: string;\n version?: string;\n proxy?: string;\n variables?: JsonObject;\n secrets?: string[];\n routes?: string[];\n app?: Record<string, BosConfigInputAppEntry>;\n plugins?: Record<string, string | BosConfigInput>;\n publish?: PublishConfig;\n ci?: CiConfig;\n cdn?: CdnConfig;\n rolledBackFrom?: string;\n starter?: ParentStarterConfig;\n}\n\nexport const RailwayCiSchema = z.object({\n service: z.string(),\n});\nexport type RailwayCi = z.infer<typeof RailwayCiSchema>;\n\nexport const CiConfigSchema = z.object({\n image: z.string().optional(),\n railway: RailwayCiSchema.optional(),\n});\nexport type CiConfig = z.infer<typeof CiConfigSchema>;\n\n/** Where this runtime's built bundles are served from. Inherited via extends. */\nexport const CdnConfigSchema = z.object({\n origin: z.string().optional(),\n});\nexport type CdnConfig = z.infer<typeof CdnConfigSchema>;\n\nexport const PublishAuthSchema = z.enum([\"session\", \"key\", \"custody\"]);\nexport type PublishAuth = z.infer<typeof PublishAuthSchema>;\n\nexport const PublishConfigSchema = z.object({\n auth: PublishAuthSchema.optional(),\n /** Publish per-workspace source archives beside the dists (#406). */\n sourcePublish: z.boolean().optional(),\n});\nexport type PublishConfig = z.infer<typeof PublishConfigSchema>;\n\nconst PluginKeySchema = z\n .string()\n .regex(\n /^[a-zA-Z0-9._-]+$/,\n \"plugin key must match [a-zA-Z0-9._-] — keys from remote/extended configs are interpolated into shells and generated code\",\n );\n\nexport const BosConfigSchema = z.object({\n account: z.string(),\n extends: ExtendsSchema.optional(),\n domain: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n testnet: z.string().optional(),\n staging: BosStagingSchema.optional(),\n repository: z.string().optional(),\n publish: PublishConfigSchema.optional(),\n ci: CiConfigSchema.optional(),\n cdn: CdnConfigSchema.optional(),\n rolledBackFrom: z.string().optional(),\n starter: ParentStarterConfigSchema.optional(),\n plugins: z.record(PluginKeySchema, z.union([z.string(), BosPluginRefSchema])).optional(),\n app: z.object({\n host: HostConfigSchema,\n ui: UiConfigSchema,\n api: ApiPluginConfigSchema,\n auth: ComposableAppEntrySchema.optional(),\n }),\n});\nexport type BosConfig = z.infer<typeof BosConfigSchema>;\n\nexport const RuntimeConfigSchema = z.object({\n env: z.enum([\"development\", \"production\", \"staging\"]),\n account: z.string(),\n domain: z.string().optional(),\n networkId: z.enum([\"mainnet\", \"testnet\"]),\n /** the deploy fingerprint of the snapshot this config came from\n * (atomic-deploys 10) — rides the client config for the soft-refresh signal */\n deploymentFingerprint: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n repository: z.string().optional(),\n host: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n secrets: z.array(z.string()).optional(),\n remoteUrl: z.string().optional(),\n }),\n ui: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n /** browser-facing base; when set the client config serves this instead\n * of `url` (server-side loading keeps `url`) */\n publicUrl: z.string().optional(),\n ssrUrl: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n ssrEntryUrl: z.string().optional(),\n /** pin-derived hashed browser manifest (mf-manifest) */\n browserManifestUrl: z.string().optional(),\n dependsOn: z.array(z.string()).optional(),\n }),\n api: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n shared: SharedDepMapSchema.optional(),\n dependsOn: z.array(z.string()).optional(),\n }),\n auth: FederationEntrySchema.extend({\n extendsRef: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n shared: SharedDepMapSchema.optional(),\n dependsOn: z.array(z.string()).optional(),\n ui: PluginRuntimeUiSchema.optional(),\n }).optional(),\n plugins: z.record(PluginKeySchema, RuntimePluginConfigSchema).optional(),\n nodes: z.record(z.string(), RuntimeDependencyNodeSchema).optional(),\n});\nexport type RuntimeConfig = z.infer<typeof RuntimeConfigSchema>;\n\nexport const ClientRuntimeConfigSchema = z.object({\n env: z.enum([\"development\", \"production\", \"staging\"]),\n account: z.string(),\n networkId: z.enum([\"mainnet\", \"testnet\"]),\n /** the deploy fingerprint this document was rendered from (soft refresh) */\n deploymentFingerprint: z.string().optional(),\n hostUrl: z.string().optional(),\n assetsUrl: z.string(),\n apiBase: z.string(),\n rpcBase: z.templateLiteral([z.literal(\"/\"), z.string()]),\n repository: z.string().optional(),\n authAvailable: z.boolean().optional(),\n runtime: ClientRuntimeInfoSchema.optional(),\n ui: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n /** the content-hashed container entry URL when the slot pins a version manifest */\n entryUrl: z.string().optional(),\n /** composition payload — the server sets it; the client reconstructs the same tree from it before hydrate */\n compose: ComposePayloadSchema.optional(),\n })\n .optional(),\n api: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n })\n .optional(),\n auth: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n })\n .optional(),\n plugins: z\n .record(\n z.string(),\n z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n ui: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n integrity: z.string().optional(),\n ssrUrl: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n entryUrl: z.string().optional(),\n })\n .optional(),\n }),\n )\n .optional(),\n});\nexport type ClientRuntimeConfig = z.infer<typeof ClientRuntimeConfigSchema>;\n"],"mappings":"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"}
|
package/dist/types.d.cts
CHANGED
|
@@ -485,6 +485,7 @@ declare const PublishConfigSchema: z$1.ZodObject<{
|
|
|
485
485
|
key: "key";
|
|
486
486
|
session: "session";
|
|
487
487
|
}>>;
|
|
488
|
+
sourcePublish: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
488
489
|
}, z$1.core.$strip>;
|
|
489
490
|
type PublishConfig = z$1.infer<typeof PublishConfigSchema>;
|
|
490
491
|
declare const BosConfigSchema: z$1.ZodObject<{
|
|
@@ -509,6 +510,7 @@ declare const BosConfigSchema: z$1.ZodObject<{
|
|
|
509
510
|
key: "key";
|
|
510
511
|
session: "session";
|
|
511
512
|
}>>;
|
|
513
|
+
sourcePublish: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
512
514
|
}, z$1.core.$strip>>;
|
|
513
515
|
ci: z$1.ZodOptional<z$1.ZodObject<{
|
|
514
516
|
image: z$1.ZodOptional<z$1.ZodString>;
|
package/dist/types.d.mts
CHANGED
|
@@ -485,6 +485,7 @@ declare const PublishConfigSchema: z$1.ZodObject<{
|
|
|
485
485
|
key: "key";
|
|
486
486
|
session: "session";
|
|
487
487
|
}>>;
|
|
488
|
+
sourcePublish: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
488
489
|
}, z$1.core.$strip>;
|
|
489
490
|
type PublishConfig = z$1.infer<typeof PublishConfigSchema>;
|
|
490
491
|
declare const BosConfigSchema: z$1.ZodObject<{
|
|
@@ -509,6 +510,7 @@ declare const BosConfigSchema: z$1.ZodObject<{
|
|
|
509
510
|
key: "key";
|
|
510
511
|
session: "session";
|
|
511
512
|
}>>;
|
|
513
|
+
sourcePublish: z$1.ZodOptional<z$1.ZodBoolean>;
|
|
512
514
|
}, z$1.core.$strip>>;
|
|
513
515
|
ci: z$1.ZodOptional<z$1.ZodObject<{
|
|
514
516
|
image: z$1.ZodOptional<z$1.ZodString>;
|
package/dist/types.mjs
CHANGED
|
@@ -249,7 +249,11 @@ const PublishAuthSchema = z$1.enum([
|
|
|
249
249
|
"key",
|
|
250
250
|
"custody"
|
|
251
251
|
]);
|
|
252
|
-
const PublishConfigSchema = z$1.object({
|
|
252
|
+
const PublishConfigSchema = z$1.object({
|
|
253
|
+
auth: PublishAuthSchema.optional(),
|
|
254
|
+
/** Publish per-workspace source archives beside the dists (#406). */
|
|
255
|
+
sourcePublish: z$1.boolean().optional()
|
|
256
|
+
});
|
|
253
257
|
const PluginKeySchema = z$1.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");
|
|
254
258
|
const BosConfigSchema = z$1.object({
|
|
255
259
|
account: z$1.string(),
|
package/dist/types.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","names":["z"],"sources":["../src/types.ts"],"sourcesContent":["import { ComposePayloadSchema } from \"every-plugin/ui/manifest\";\nimport * as z from \"zod\";\n\nexport type JsonPrimitive = string | number | boolean | null;\nexport interface JsonObject {\n [key: string]: JsonValue;\n}\nexport type JsonValue = JsonPrimitive | JsonObject | JsonValue[];\n\nexport const JsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>\n z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.null(),\n z.array(JsonValueSchema),\n z.record(z.string(), JsonValueSchema),\n ]),\n);\nexport const JsonObjectSchema = z.record(z.string(), JsonValueSchema);\n\nexport const ExtendsSchema = z.union([\n z.string(),\n z.object({\n development: z.string().optional(),\n production: z.string().optional(),\n staging: z.string().optional(),\n }),\n]);\nexport type Extends = z.infer<typeof ExtendsSchema>;\nexport type ExtendsConfig = Extract<Extends, Record<string, string | undefined>>;\n\nexport const SourceModeSchema = z.enum([\"local\", \"remote\"]);\nexport type SourceMode = z.infer<typeof SourceModeSchema>;\n\nexport const SharedConfigSchema = z.object({\n version: z.string(),\n requiredVersion: z.string().optional(),\n singleton: z.boolean().optional(),\n eager: z.boolean().optional(),\n strictVersion: z.boolean().optional(),\n shareScope: z.string().optional(),\n});\nexport type SharedConfig = z.infer<typeof SharedConfigSchema>;\nexport type SharedDepConfig = SharedConfig;\nexport const SharedDepConfigSchema = SharedConfigSchema;\nexport const SharedDepMapSchema = z.record(z.string(), SharedConfigSchema);\n\nexport const FederationEntrySchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n /** the content-hashed container entry URL (derived from the version\n * manifest when the slot pins one) — consumers load this instead of\n * appending the legacy fixed name */\n entryUrl: z.string().optional(),\n source: SourceModeSchema,\n integrity: z.string().optional(),\n});\nexport type FederationEntry = z.infer<typeof FederationEntrySchema>;\n\n/**\n * Slot pin (atomic-deploys): an explicit pointer to the slot's immutable\n * per-deploy WorkspaceVersionManifest — `manifest` is the versioned manifest\n * filename relative to the slot's production base, `integrity` is that\n * document's SRI. Resolving the pin derives the slot's entry-level fields\n * (`entryUrl`, entry integrity, ssr entry). A slot without a `pin` uses its\n * top-level `integrity` as a direct entry SRI (fixed-name slots only).\n */\nexport const SlotPinSchema = z.object({\n manifest: z.string().min(1),\n integrity: z.string().min(1),\n});\nexport type SlotPin = z.infer<typeof SlotPinSchema>;\n\nexport const PluginUiConfigSchema = z.object({\n name: z.string(),\n development: z.string().optional(),\n production: z.string().optional(),\n /** browser-facing base overriding `production` when server-side loading\n * must stay container-local (image-native runtimes, ADR 0011) — may be\n * same-origin relative (/bundles/<account>/<gateway>/<slot>) */\n publicUrl: z.string().optional(),\n integrity: z.string().optional(),\n ssr: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n pin: SlotPinSchema.optional(),\n});\nexport type PluginUiConfig = z.infer<typeof PluginUiConfigSchema>;\n\nexport const ComposableAppEntrySchema = z.object({\n extends: ExtendsSchema.optional(),\n name: z.string().optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n routes: z.array(z.string()).optional(),\n shared: SharedDepMapSchema.optional(),\n connectSrc: z.array(z.string()).optional(),\n ui: PluginUiConfigSchema.optional(),\n pin: SlotPinSchema.optional(),\n});\nexport type ComposableAppEntry = z.infer<typeof ComposableAppEntrySchema>;\n\nexport const ApiPluginConfigSchema = ComposableAppEntrySchema.extend({\n dependsOn: z.array(z.string()).optional(),\n});\nexport type ApiPluginConfig = z.infer<typeof ApiPluginConfigSchema>;\n\nexport const BosPluginRefSchema = ComposableAppEntrySchema.extend({\n version: z.string().optional(),\n app: z.record(z.string(), z.unknown()).optional(),\n plugins: z.record(z.string(), z.unknown()).optional(),\n dependsOn: z.array(z.string()).optional(),\n});\nexport type BosPluginRef = z.infer<typeof BosPluginRefSchema>;\nexport type PluginEntryValue = string | BosPluginRef;\nexport type PluginEntries = Record<string, PluginEntryValue>;\n\nconst PluginRuntimeUiSchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n /** browser-facing base; when set the client config serves this instead of\n * `url` (server-side loading keeps `url`) */\n publicUrl: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n integrity: z.string().optional(),\n ssrUrl: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n entryUrl: z.string().optional(),\n ssrEntryUrl: z.string().optional(),\n /** pin-derived hashed browser manifest (mf-manifest) — absent for local\n * slots; registration reads this instead of the overloaded `entry` */\n browserManifestUrl: z.string().optional(),\n dependsOn: z.array(z.string()).optional(),\n});\nexport type PluginRuntimeUi = z.infer<typeof PluginRuntimeUiSchema>;\n\nexport const RuntimePluginConfigSchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n extendsRef: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n integrity: z.string().optional(),\n entryUrl: z.string().optional(),\n shared: SharedDepMapSchema.optional(),\n connectSrc: z.array(z.string()).optional(),\n ui: PluginRuntimeUiSchema.optional(),\n routes: z.array(z.string()).optional(),\n dependsOn: z.array(z.string()).optional(),\n});\nexport type RuntimePluginConfig = z.infer<typeof RuntimePluginConfigSchema>;\n\nexport const DependencyNodeKindSchema = z.enum([\"api\", \"auth\", \"ui\", \"plugin\"]);\nexport type DependencyNodeKind = z.infer<typeof DependencyNodeKindSchema>;\n\nexport const RuntimeDependencyNodeSchema = z.object({\n key: z.string(),\n kind: DependencyNodeKindSchema,\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n dependsOn: z.array(z.string()).optional(),\n extendsRef: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n integrity: z.string().optional(),\n shared: SharedDepMapSchema.optional(),\n connectSrc: z.array(z.string()).optional(),\n ui: PluginRuntimeUiSchema.optional(),\n routes: z.array(z.string()).optional(),\n sourceOrigin: z.enum([\"config\", \"manifest\"]).optional(),\n singletonKey: z.string().optional(),\n});\nexport type RuntimeDependencyNode = z.infer<typeof RuntimeDependencyNodeSchema>;\n\nexport const UiConfigSchema = z\n .object({\n name: z.string().optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n /** browser-facing base overriding `production` (see PluginUiConfigSchema) */\n publicUrl: z.string().optional(),\n /** direct entry SRI — only for slots without a `pin` */\n integrity: z.string().optional(),\n ssr: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n pin: SlotPinSchema.optional(),\n })\n .strict();\nexport type UiConfig = z.infer<typeof UiConfigSchema>;\n\nexport const HostConfigSchema = z.object({\n development: z.string(),\n /** Deploy state (ADR 0005) — absent until the first publish writes it. */\n production: z.string().optional(),\n /** direct entry SRI — only for slots without a `pin` */\n integrity: z.string().optional(),\n secrets: z.array(z.string()).optional(),\n pin: SlotPinSchema.optional(),\n});\nexport type HostConfig = z.infer<typeof HostConfigSchema>;\n\nexport const ClientRuntimeInfoSchema = z.object({\n accountId: z.string(),\n gatewayId: z.string(),\n runtimeBasePath: z.string(),\n title: z.string().nullable(),\n description: z.string().nullable(),\n hostUrl: z.string().nullable(),\n});\nexport type ClientRuntimeInfo = z.infer<typeof ClientRuntimeInfoSchema>;\n\nexport const RuntimeLineageSchema = z.object({\n parent: z.string().nullable(),\n root: z.string().nullable(),\n depth: z.number().int().nonnegative(),\n extendsChain: z.array(z.string()),\n});\nexport type RuntimeLineage = z.infer<typeof RuntimeLineageSchema>;\n\nexport const BosStagingSchema = z.object({\n domain: z.string(),\n account: z.string().optional(),\n});\nexport type BosStaging = z.infer<typeof BosStagingSchema>;\n\nconst BosConfigInputAppEntrySchema = z.record(z.string(), z.unknown());\nexport type BosConfigInputAppEntry = z.infer<typeof BosConfigInputAppEntrySchema>;\n\nexport const BosConfigInputSchema: z.ZodType<BosConfigInput> = z.lazy(() =>\n z.object({\n extends: ExtendsSchema.optional(),\n account: z.string().optional(),\n domain: z.string().optional(),\n status: z.enum([\"active\", \"suspended\", \"pending_deletion\"]).optional(),\n testnet: z.string().optional(),\n staging: BosStagingSchema.optional(),\n template: z.string().optional(),\n gateway: z\n .object({\n development: z.string().optional(),\n production: z.string().optional(),\n account: z.string().optional(),\n })\n .optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n name: z.string().optional(),\n version: z.string().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n routes: z.array(z.string()).optional(),\n app: z.record(z.string(), BosConfigInputAppEntrySchema).optional(),\n plugins: z.record(z.string(), z.union([z.string(), BosConfigInputSchema])).optional(),\n publish: z\n .object({\n auth: z.enum([\"session\", \"key\", \"custody\"]).optional(),\n })\n .optional(),\n ci: CiConfigSchema.optional(),\n cdn: CdnConfigSchema.optional(),\n }),\n);\n\nexport type StarterLevel = \"simple\" | \"advanced\";\n\nexport const StarterLevelSchema = z.enum([\"simple\", \"advanced\"]);\n\nexport interface StarterLevelConfig {\n include?: string[];\n exclude?: string[];\n}\n\nexport const StarterLevelConfigSchema = z.object({\n include: z.array(z.string()).optional(),\n exclude: z.array(z.string()).optional(),\n});\n\n/** Authoring metadata a parent publishes so `bos init` can prune its starter. */\nexport interface ParentStarterConfig {\n levels?: Record<string, StarterLevelConfig>;\n exclude?: string[];\n}\n\nexport const ParentStarterConfigSchema = z.object({\n levels: z.record(z.string(), StarterLevelConfigSchema).optional(),\n exclude: z.array(z.string()).optional(),\n});\n\nexport interface BosConfigInput {\n extends?: string | ExtendsConfig;\n account?: string;\n domain?: string;\n status?: \"active\" | \"suspended\" | \"pending_deletion\";\n title?: string;\n description?: string;\n testnet?: string;\n template?: string;\n gateway?: {\n development?: string;\n production?: string;\n account?: string;\n };\n staging?: BosStaging;\n development?: string;\n production?: string;\n integrity?: string;\n name?: string;\n version?: string;\n proxy?: string;\n variables?: JsonObject;\n secrets?: string[];\n routes?: string[];\n app?: Record<string, BosConfigInputAppEntry>;\n plugins?: Record<string, string | BosConfigInput>;\n publish?: PublishConfig;\n ci?: CiConfig;\n cdn?: CdnConfig;\n rolledBackFrom?: string;\n starter?: ParentStarterConfig;\n}\n\nexport const RailwayCiSchema = z.object({\n service: z.string(),\n});\nexport type RailwayCi = z.infer<typeof RailwayCiSchema>;\n\nexport const CiConfigSchema = z.object({\n image: z.string().optional(),\n railway: RailwayCiSchema.optional(),\n});\nexport type CiConfig = z.infer<typeof CiConfigSchema>;\n\n/** Where this runtime's built bundles are served from. Inherited via extends. */\nexport const CdnConfigSchema = z.object({\n origin: z.string().optional(),\n});\nexport type CdnConfig = z.infer<typeof CdnConfigSchema>;\n\nexport const PublishAuthSchema = z.enum([\"session\", \"key\", \"custody\"]);\nexport type PublishAuth = z.infer<typeof PublishAuthSchema>;\n\nexport const PublishConfigSchema = z.object({\n auth: PublishAuthSchema.optional(),\n});\nexport type PublishConfig = z.infer<typeof PublishConfigSchema>;\n\nconst PluginKeySchema = z\n .string()\n .regex(\n /^[a-zA-Z0-9._-]+$/,\n \"plugin key must match [a-zA-Z0-9._-] — keys from remote/extended configs are interpolated into shells and generated code\",\n );\n\nexport const BosConfigSchema = z.object({\n account: z.string(),\n extends: ExtendsSchema.optional(),\n domain: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n testnet: z.string().optional(),\n staging: BosStagingSchema.optional(),\n repository: z.string().optional(),\n publish: PublishConfigSchema.optional(),\n ci: CiConfigSchema.optional(),\n cdn: CdnConfigSchema.optional(),\n rolledBackFrom: z.string().optional(),\n starter: ParentStarterConfigSchema.optional(),\n plugins: z.record(PluginKeySchema, z.union([z.string(), BosPluginRefSchema])).optional(),\n app: z.object({\n host: HostConfigSchema,\n ui: UiConfigSchema,\n api: ApiPluginConfigSchema,\n auth: ComposableAppEntrySchema.optional(),\n }),\n});\nexport type BosConfig = z.infer<typeof BosConfigSchema>;\n\nexport const RuntimeConfigSchema = z.object({\n env: z.enum([\"development\", \"production\", \"staging\"]),\n account: z.string(),\n domain: z.string().optional(),\n networkId: z.enum([\"mainnet\", \"testnet\"]),\n /** the deploy fingerprint of the snapshot this config came from\n * (atomic-deploys 10) — rides the client config for the soft-refresh signal */\n deploymentFingerprint: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n repository: z.string().optional(),\n host: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n secrets: z.array(z.string()).optional(),\n remoteUrl: z.string().optional(),\n }),\n ui: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n /** browser-facing base; when set the client config serves this instead\n * of `url` (server-side loading keeps `url`) */\n publicUrl: z.string().optional(),\n ssrUrl: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n ssrEntryUrl: z.string().optional(),\n /** pin-derived hashed browser manifest (mf-manifest) */\n browserManifestUrl: z.string().optional(),\n dependsOn: z.array(z.string()).optional(),\n }),\n api: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n shared: SharedDepMapSchema.optional(),\n dependsOn: z.array(z.string()).optional(),\n }),\n auth: FederationEntrySchema.extend({\n extendsRef: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n shared: SharedDepMapSchema.optional(),\n dependsOn: z.array(z.string()).optional(),\n ui: PluginRuntimeUiSchema.optional(),\n }).optional(),\n plugins: z.record(PluginKeySchema, RuntimePluginConfigSchema).optional(),\n nodes: z.record(z.string(), RuntimeDependencyNodeSchema).optional(),\n});\nexport type RuntimeConfig = z.infer<typeof RuntimeConfigSchema>;\n\nexport const ClientRuntimeConfigSchema = z.object({\n env: z.enum([\"development\", \"production\", \"staging\"]),\n account: z.string(),\n networkId: z.enum([\"mainnet\", \"testnet\"]),\n /** the deploy fingerprint this document was rendered from (soft refresh) */\n deploymentFingerprint: z.string().optional(),\n hostUrl: z.string().optional(),\n assetsUrl: z.string(),\n apiBase: z.string(),\n rpcBase: z.templateLiteral([z.literal(\"/\"), z.string()]),\n repository: z.string().optional(),\n authAvailable: z.boolean().optional(),\n runtime: ClientRuntimeInfoSchema.optional(),\n ui: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n /** the content-hashed container entry URL when the slot pins a version manifest */\n entryUrl: z.string().optional(),\n /** composition payload — the server sets it; the client reconstructs the same tree from it before hydrate */\n compose: ComposePayloadSchema.optional(),\n })\n .optional(),\n api: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n })\n .optional(),\n auth: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n })\n .optional(),\n plugins: z\n .record(\n z.string(),\n z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n ui: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n integrity: z.string().optional(),\n ssrUrl: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n entryUrl: z.string().optional(),\n })\n .optional(),\n }),\n )\n .optional(),\n});\nexport type ClientRuntimeConfig = z.infer<typeof ClientRuntimeConfigSchema>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.mjs","names":["z"],"sources":["../src/types.ts"],"sourcesContent":["import { ComposePayloadSchema } from \"every-plugin/ui/manifest\";\nimport * as z from \"zod\";\n\nexport type JsonPrimitive = string | number | boolean | null;\nexport interface JsonObject {\n [key: string]: JsonValue;\n}\nexport type JsonValue = JsonPrimitive | JsonObject | JsonValue[];\n\nexport const JsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>\n z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.null(),\n z.array(JsonValueSchema),\n z.record(z.string(), JsonValueSchema),\n ]),\n);\nexport const JsonObjectSchema = z.record(z.string(), JsonValueSchema);\n\nexport const ExtendsSchema = z.union([\n z.string(),\n z.object({\n development: z.string().optional(),\n production: z.string().optional(),\n staging: z.string().optional(),\n }),\n]);\nexport type Extends = z.infer<typeof ExtendsSchema>;\nexport type ExtendsConfig = Extract<Extends, Record<string, string | undefined>>;\n\nexport const SourceModeSchema = z.enum([\"local\", \"remote\"]);\nexport type SourceMode = z.infer<typeof SourceModeSchema>;\n\nexport const SharedConfigSchema = z.object({\n version: z.string(),\n requiredVersion: z.string().optional(),\n singleton: z.boolean().optional(),\n eager: z.boolean().optional(),\n strictVersion: z.boolean().optional(),\n shareScope: z.string().optional(),\n});\nexport type SharedConfig = z.infer<typeof SharedConfigSchema>;\nexport type SharedDepConfig = SharedConfig;\nexport const SharedDepConfigSchema = SharedConfigSchema;\nexport const SharedDepMapSchema = z.record(z.string(), SharedConfigSchema);\n\nexport const FederationEntrySchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n /** the content-hashed container entry URL (derived from the version\n * manifest when the slot pins one) — consumers load this instead of\n * appending the legacy fixed name */\n entryUrl: z.string().optional(),\n source: SourceModeSchema,\n integrity: z.string().optional(),\n});\nexport type FederationEntry = z.infer<typeof FederationEntrySchema>;\n\n/**\n * Slot pin (atomic-deploys): an explicit pointer to the slot's immutable\n * per-deploy WorkspaceVersionManifest — `manifest` is the versioned manifest\n * filename relative to the slot's production base, `integrity` is that\n * document's SRI. Resolving the pin derives the slot's entry-level fields\n * (`entryUrl`, entry integrity, ssr entry). A slot without a `pin` uses its\n * top-level `integrity` as a direct entry SRI (fixed-name slots only).\n */\nexport const SlotPinSchema = z.object({\n manifest: z.string().min(1),\n integrity: z.string().min(1),\n});\nexport type SlotPin = z.infer<typeof SlotPinSchema>;\n\nexport const PluginUiConfigSchema = z.object({\n name: z.string(),\n development: z.string().optional(),\n production: z.string().optional(),\n /** browser-facing base overriding `production` when server-side loading\n * must stay container-local (image-native runtimes, ADR 0011) — may be\n * same-origin relative (/bundles/<account>/<gateway>/<slot>) */\n publicUrl: z.string().optional(),\n integrity: z.string().optional(),\n ssr: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n pin: SlotPinSchema.optional(),\n});\nexport type PluginUiConfig = z.infer<typeof PluginUiConfigSchema>;\n\nexport const ComposableAppEntrySchema = z.object({\n extends: ExtendsSchema.optional(),\n name: z.string().optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n routes: z.array(z.string()).optional(),\n shared: SharedDepMapSchema.optional(),\n connectSrc: z.array(z.string()).optional(),\n ui: PluginUiConfigSchema.optional(),\n pin: SlotPinSchema.optional(),\n});\nexport type ComposableAppEntry = z.infer<typeof ComposableAppEntrySchema>;\n\nexport const ApiPluginConfigSchema = ComposableAppEntrySchema.extend({\n dependsOn: z.array(z.string()).optional(),\n});\nexport type ApiPluginConfig = z.infer<typeof ApiPluginConfigSchema>;\n\nexport const BosPluginRefSchema = ComposableAppEntrySchema.extend({\n version: z.string().optional(),\n app: z.record(z.string(), z.unknown()).optional(),\n plugins: z.record(z.string(), z.unknown()).optional(),\n dependsOn: z.array(z.string()).optional(),\n});\nexport type BosPluginRef = z.infer<typeof BosPluginRefSchema>;\nexport type PluginEntryValue = string | BosPluginRef;\nexport type PluginEntries = Record<string, PluginEntryValue>;\n\nconst PluginRuntimeUiSchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n /** browser-facing base; when set the client config serves this instead of\n * `url` (server-side loading keeps `url`) */\n publicUrl: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n integrity: z.string().optional(),\n ssrUrl: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n entryUrl: z.string().optional(),\n ssrEntryUrl: z.string().optional(),\n /** pin-derived hashed browser manifest (mf-manifest) — absent for local\n * slots; registration reads this instead of the overloaded `entry` */\n browserManifestUrl: z.string().optional(),\n dependsOn: z.array(z.string()).optional(),\n});\nexport type PluginRuntimeUi = z.infer<typeof PluginRuntimeUiSchema>;\n\nexport const RuntimePluginConfigSchema = z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n extendsRef: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n integrity: z.string().optional(),\n entryUrl: z.string().optional(),\n shared: SharedDepMapSchema.optional(),\n connectSrc: z.array(z.string()).optional(),\n ui: PluginRuntimeUiSchema.optional(),\n routes: z.array(z.string()).optional(),\n dependsOn: z.array(z.string()).optional(),\n});\nexport type RuntimePluginConfig = z.infer<typeof RuntimePluginConfigSchema>;\n\nexport const DependencyNodeKindSchema = z.enum([\"api\", \"auth\", \"ui\", \"plugin\"]);\nexport type DependencyNodeKind = z.infer<typeof DependencyNodeKindSchema>;\n\nexport const RuntimeDependencyNodeSchema = z.object({\n key: z.string(),\n kind: DependencyNodeKindSchema,\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n dependsOn: z.array(z.string()).optional(),\n extendsRef: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n integrity: z.string().optional(),\n shared: SharedDepMapSchema.optional(),\n connectSrc: z.array(z.string()).optional(),\n ui: PluginRuntimeUiSchema.optional(),\n routes: z.array(z.string()).optional(),\n sourceOrigin: z.enum([\"config\", \"manifest\"]).optional(),\n singletonKey: z.string().optional(),\n});\nexport type RuntimeDependencyNode = z.infer<typeof RuntimeDependencyNodeSchema>;\n\nexport const UiConfigSchema = z\n .object({\n name: z.string().optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n /** browser-facing base overriding `production` (see PluginUiConfigSchema) */\n publicUrl: z.string().optional(),\n /** direct entry SRI — only for slots without a `pin` */\n integrity: z.string().optional(),\n ssr: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n pin: SlotPinSchema.optional(),\n })\n .strict();\nexport type UiConfig = z.infer<typeof UiConfigSchema>;\n\nexport const HostConfigSchema = z.object({\n development: z.string(),\n /** Deploy state (ADR 0005) — absent until the first publish writes it. */\n production: z.string().optional(),\n /** direct entry SRI — only for slots without a `pin` */\n integrity: z.string().optional(),\n secrets: z.array(z.string()).optional(),\n pin: SlotPinSchema.optional(),\n});\nexport type HostConfig = z.infer<typeof HostConfigSchema>;\n\nexport const ClientRuntimeInfoSchema = z.object({\n accountId: z.string(),\n gatewayId: z.string(),\n runtimeBasePath: z.string(),\n title: z.string().nullable(),\n description: z.string().nullable(),\n hostUrl: z.string().nullable(),\n});\nexport type ClientRuntimeInfo = z.infer<typeof ClientRuntimeInfoSchema>;\n\nexport const RuntimeLineageSchema = z.object({\n parent: z.string().nullable(),\n root: z.string().nullable(),\n depth: z.number().int().nonnegative(),\n extendsChain: z.array(z.string()),\n});\nexport type RuntimeLineage = z.infer<typeof RuntimeLineageSchema>;\n\nexport const BosStagingSchema = z.object({\n domain: z.string(),\n account: z.string().optional(),\n});\nexport type BosStaging = z.infer<typeof BosStagingSchema>;\n\nconst BosConfigInputAppEntrySchema = z.record(z.string(), z.unknown());\nexport type BosConfigInputAppEntry = z.infer<typeof BosConfigInputAppEntrySchema>;\n\nexport const BosConfigInputSchema: z.ZodType<BosConfigInput> = z.lazy(() =>\n z.object({\n extends: ExtendsSchema.optional(),\n account: z.string().optional(),\n domain: z.string().optional(),\n status: z.enum([\"active\", \"suspended\", \"pending_deletion\"]).optional(),\n testnet: z.string().optional(),\n staging: BosStagingSchema.optional(),\n template: z.string().optional(),\n gateway: z\n .object({\n development: z.string().optional(),\n production: z.string().optional(),\n account: z.string().optional(),\n })\n .optional(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n name: z.string().optional(),\n version: z.string().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n routes: z.array(z.string()).optional(),\n app: z.record(z.string(), BosConfigInputAppEntrySchema).optional(),\n plugins: z.record(z.string(), z.union([z.string(), BosConfigInputSchema])).optional(),\n publish: z\n .object({\n auth: z.enum([\"session\", \"key\", \"custody\"]).optional(),\n })\n .optional(),\n ci: CiConfigSchema.optional(),\n cdn: CdnConfigSchema.optional(),\n }),\n);\n\nexport type StarterLevel = \"simple\" | \"advanced\";\n\nexport const StarterLevelSchema = z.enum([\"simple\", \"advanced\"]);\n\nexport interface StarterLevelConfig {\n include?: string[];\n exclude?: string[];\n}\n\nexport const StarterLevelConfigSchema = z.object({\n include: z.array(z.string()).optional(),\n exclude: z.array(z.string()).optional(),\n});\n\n/** Authoring metadata a parent publishes so `bos init` can prune its starter. */\nexport interface ParentStarterConfig {\n levels?: Record<string, StarterLevelConfig>;\n exclude?: string[];\n}\n\nexport const ParentStarterConfigSchema = z.object({\n levels: z.record(z.string(), StarterLevelConfigSchema).optional(),\n exclude: z.array(z.string()).optional(),\n});\n\nexport interface BosConfigInput {\n extends?: string | ExtendsConfig;\n account?: string;\n domain?: string;\n status?: \"active\" | \"suspended\" | \"pending_deletion\";\n title?: string;\n description?: string;\n testnet?: string;\n template?: string;\n gateway?: {\n development?: string;\n production?: string;\n account?: string;\n };\n staging?: BosStaging;\n development?: string;\n production?: string;\n integrity?: string;\n name?: string;\n version?: string;\n proxy?: string;\n variables?: JsonObject;\n secrets?: string[];\n routes?: string[];\n app?: Record<string, BosConfigInputAppEntry>;\n plugins?: Record<string, string | BosConfigInput>;\n publish?: PublishConfig;\n ci?: CiConfig;\n cdn?: CdnConfig;\n rolledBackFrom?: string;\n starter?: ParentStarterConfig;\n}\n\nexport const RailwayCiSchema = z.object({\n service: z.string(),\n});\nexport type RailwayCi = z.infer<typeof RailwayCiSchema>;\n\nexport const CiConfigSchema = z.object({\n image: z.string().optional(),\n railway: RailwayCiSchema.optional(),\n});\nexport type CiConfig = z.infer<typeof CiConfigSchema>;\n\n/** Where this runtime's built bundles are served from. Inherited via extends. */\nexport const CdnConfigSchema = z.object({\n origin: z.string().optional(),\n});\nexport type CdnConfig = z.infer<typeof CdnConfigSchema>;\n\nexport const PublishAuthSchema = z.enum([\"session\", \"key\", \"custody\"]);\nexport type PublishAuth = z.infer<typeof PublishAuthSchema>;\n\nexport const PublishConfigSchema = z.object({\n auth: PublishAuthSchema.optional(),\n /** Publish per-workspace source archives beside the dists (#406). */\n sourcePublish: z.boolean().optional(),\n});\nexport type PublishConfig = z.infer<typeof PublishConfigSchema>;\n\nconst PluginKeySchema = z\n .string()\n .regex(\n /^[a-zA-Z0-9._-]+$/,\n \"plugin key must match [a-zA-Z0-9._-] — keys from remote/extended configs are interpolated into shells and generated code\",\n );\n\nexport const BosConfigSchema = z.object({\n account: z.string(),\n extends: ExtendsSchema.optional(),\n domain: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n testnet: z.string().optional(),\n staging: BosStagingSchema.optional(),\n repository: z.string().optional(),\n publish: PublishConfigSchema.optional(),\n ci: CiConfigSchema.optional(),\n cdn: CdnConfigSchema.optional(),\n rolledBackFrom: z.string().optional(),\n starter: ParentStarterConfigSchema.optional(),\n plugins: z.record(PluginKeySchema, z.union([z.string(), BosPluginRefSchema])).optional(),\n app: z.object({\n host: HostConfigSchema,\n ui: UiConfigSchema,\n api: ApiPluginConfigSchema,\n auth: ComposableAppEntrySchema.optional(),\n }),\n});\nexport type BosConfig = z.infer<typeof BosConfigSchema>;\n\nexport const RuntimeConfigSchema = z.object({\n env: z.enum([\"development\", \"production\", \"staging\"]),\n account: z.string(),\n domain: z.string().optional(),\n networkId: z.enum([\"mainnet\", \"testnet\"]),\n /** the deploy fingerprint of the snapshot this config came from\n * (atomic-deploys 10) — rides the client config for the soft-refresh signal */\n deploymentFingerprint: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n repository: z.string().optional(),\n host: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n secrets: z.array(z.string()).optional(),\n remoteUrl: z.string().optional(),\n }),\n ui: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n /** browser-facing base; when set the client config serves this instead\n * of `url` (server-side loading keeps `url`) */\n publicUrl: z.string().optional(),\n ssrUrl: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n ssrEntryUrl: z.string().optional(),\n /** pin-derived hashed browser manifest (mf-manifest) */\n browserManifestUrl: z.string().optional(),\n dependsOn: z.array(z.string()).optional(),\n }),\n api: FederationEntrySchema.extend({\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n shared: SharedDepMapSchema.optional(),\n dependsOn: z.array(z.string()).optional(),\n }),\n auth: FederationEntrySchema.extend({\n extendsRef: z.string().optional(),\n localPath: z.string().optional(),\n port: z.number().optional(),\n proxy: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n secrets: z.array(z.string()).optional(),\n shared: SharedDepMapSchema.optional(),\n dependsOn: z.array(z.string()).optional(),\n ui: PluginRuntimeUiSchema.optional(),\n }).optional(),\n plugins: z.record(PluginKeySchema, RuntimePluginConfigSchema).optional(),\n nodes: z.record(z.string(), RuntimeDependencyNodeSchema).optional(),\n});\nexport type RuntimeConfig = z.infer<typeof RuntimeConfigSchema>;\n\nexport const ClientRuntimeConfigSchema = z.object({\n env: z.enum([\"development\", \"production\", \"staging\"]),\n account: z.string(),\n networkId: z.enum([\"mainnet\", \"testnet\"]),\n /** the deploy fingerprint this document was rendered from (soft refresh) */\n deploymentFingerprint: z.string().optional(),\n hostUrl: z.string().optional(),\n assetsUrl: z.string(),\n apiBase: z.string(),\n rpcBase: z.templateLiteral([z.literal(\"/\"), z.string()]),\n repository: z.string().optional(),\n authAvailable: z.boolean().optional(),\n runtime: ClientRuntimeInfoSchema.optional(),\n ui: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n /** the content-hashed container entry URL when the slot pins a version manifest */\n entryUrl: z.string().optional(),\n /** composition payload — the server sets it; the client reconstructs the same tree from it before hydrate */\n compose: ComposePayloadSchema.optional(),\n })\n .optional(),\n api: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n })\n .optional(),\n auth: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n })\n .optional(),\n plugins: z\n .record(\n z.string(),\n z.object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n integrity: z.string().optional(),\n variables: JsonObjectSchema.optional(),\n ui: z\n .object({\n name: z.string(),\n url: z.string(),\n entry: z.string(),\n source: SourceModeSchema,\n integrity: z.string().optional(),\n ssrUrl: z.string().optional(),\n ssrIntegrity: z.string().optional(),\n entryUrl: z.string().optional(),\n })\n .optional(),\n }),\n )\n .optional(),\n});\nexport type ClientRuntimeConfig = z.infer<typeof ClientRuntimeConfigSchema>;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
let node_fs = require("node:fs");
|
|
2
|
+
let node_path = require("node:path");
|
|
3
|
+
let glob = require("glob");
|
|
4
|
+
|
|
5
|
+
//#region src/utils/workspace-subtree.ts
|
|
6
|
+
/**
|
|
7
|
+
* The ignore set both sides of a source handoff agree on: `bos import`
|
|
8
|
+
* classifies files under it, and source archives published by the deploy
|
|
9
|
+
* train (#406) exclude it — so an imported archive never smuggles in
|
|
10
|
+
* build output, VCS state, or local .bos state. Keep this list in sync
|
|
11
|
+
* with nothing else: it is the single source of truth.
|
|
12
|
+
*/
|
|
13
|
+
const WORKSPACE_SUBTREE_IGNORE = [
|
|
14
|
+
"**/node_modules/**",
|
|
15
|
+
"**/.git/**",
|
|
16
|
+
"**/dist/**",
|
|
17
|
+
"**/.bos/**",
|
|
18
|
+
"**/.every-plugin/**"
|
|
19
|
+
];
|
|
20
|
+
/** Sorted, file-only list of the workspace subtree at `root`, under the shared ignore set. */
|
|
21
|
+
async function listWorkspaceSubtreeFiles(root, workspace) {
|
|
22
|
+
const matches = await (0, glob.glob)(`${workspace}/**`, {
|
|
23
|
+
cwd: root,
|
|
24
|
+
nodir: true,
|
|
25
|
+
dot: true,
|
|
26
|
+
absolute: false,
|
|
27
|
+
ignore: WORKSPACE_SUBTREE_IGNORE
|
|
28
|
+
});
|
|
29
|
+
const files = [];
|
|
30
|
+
for (const match of matches) if ((0, node_fs.lstatSync)((0, node_path.join)(root, match)).isFile()) files.push(match);
|
|
31
|
+
return files.sort();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
//#endregion
|
|
35
|
+
exports.WORKSPACE_SUBTREE_IGNORE = WORKSPACE_SUBTREE_IGNORE;
|
|
36
|
+
exports.listWorkspaceSubtreeFiles = listWorkspaceSubtreeFiles;
|
|
37
|
+
//# sourceMappingURL=workspace-subtree.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-subtree.cjs","names":["lstatSync","join"],"sources":["../../src/utils/workspace-subtree.ts"],"sourcesContent":["import { lstatSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { glob } from \"glob\";\n\n/**\n * The ignore set both sides of a source handoff agree on: `bos import`\n * classifies files under it, and source archives published by the deploy\n * train (#406) exclude it — so an imported archive never smuggles in\n * build output, VCS state, or local .bos state. Keep this list in sync\n * with nothing else: it is the single source of truth.\n */\nexport const WORKSPACE_SUBTREE_IGNORE = [\n \"**/node_modules/**\",\n \"**/.git/**\",\n \"**/dist/**\",\n \"**/.bos/**\",\n \"**/.every-plugin/**\",\n];\n\n/** Sorted, file-only list of the workspace subtree at `root`, under the shared ignore set. */\nexport async function listWorkspaceSubtreeFiles(\n root: string,\n workspace: string,\n): Promise<string[]> {\n const matches = await glob(`${workspace}/**`, {\n cwd: root,\n nodir: true,\n dot: true,\n absolute: false,\n ignore: WORKSPACE_SUBTREE_IGNORE,\n });\n const files: string[] = [];\n for (const match of matches) {\n if (lstatSync(join(root, match)).isFile()) {\n files.push(match);\n }\n }\n return files.sort();\n}\n"],"mappings":";;;;;;;;;;;;AAWA,MAAa,2BAA2B;CACtC;CACA;CACA;CACA;CACA;AACF;;AAGA,eAAsB,0BACpB,MACA,WACmB;CACnB,MAAM,UAAU,UAAM,WAAK,GAAG,UAAU,MAAM;EAC5C,KAAK;EACL,OAAO;EACP,KAAK;EACL,UAAU;EACV,QAAQ;CACV,CAAC;CACD,MAAM,QAAkB,CAAC;CACzB,KAAK,MAAM,SAAS,SAClB,QAAIA,uBAAUC,gBAAK,MAAM,KAAK,CAAC,CAAC,CAAC,OAAO,GACtC,MAAM,KAAK,KAAK;CAGpB,OAAO,MAAM,KAAK;AACpB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { lstatSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { glob } from "glob";
|
|
4
|
+
|
|
5
|
+
//#region src/utils/workspace-subtree.ts
|
|
6
|
+
/**
|
|
7
|
+
* The ignore set both sides of a source handoff agree on: `bos import`
|
|
8
|
+
* classifies files under it, and source archives published by the deploy
|
|
9
|
+
* train (#406) exclude it — so an imported archive never smuggles in
|
|
10
|
+
* build output, VCS state, or local .bos state. Keep this list in sync
|
|
11
|
+
* with nothing else: it is the single source of truth.
|
|
12
|
+
*/
|
|
13
|
+
const WORKSPACE_SUBTREE_IGNORE = [
|
|
14
|
+
"**/node_modules/**",
|
|
15
|
+
"**/.git/**",
|
|
16
|
+
"**/dist/**",
|
|
17
|
+
"**/.bos/**",
|
|
18
|
+
"**/.every-plugin/**"
|
|
19
|
+
];
|
|
20
|
+
/** Sorted, file-only list of the workspace subtree at `root`, under the shared ignore set. */
|
|
21
|
+
async function listWorkspaceSubtreeFiles(root, workspace) {
|
|
22
|
+
const matches = await glob(`${workspace}/**`, {
|
|
23
|
+
cwd: root,
|
|
24
|
+
nodir: true,
|
|
25
|
+
dot: true,
|
|
26
|
+
absolute: false,
|
|
27
|
+
ignore: WORKSPACE_SUBTREE_IGNORE
|
|
28
|
+
});
|
|
29
|
+
const files = [];
|
|
30
|
+
for (const match of matches) if (lstatSync(join(root, match)).isFile()) files.push(match);
|
|
31
|
+
return files.sort();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
//#endregion
|
|
35
|
+
export { WORKSPACE_SUBTREE_IGNORE, listWorkspaceSubtreeFiles };
|
|
36
|
+
//# sourceMappingURL=workspace-subtree.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-subtree.mjs","names":[],"sources":["../../src/utils/workspace-subtree.ts"],"sourcesContent":["import { lstatSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { glob } from \"glob\";\n\n/**\n * The ignore set both sides of a source handoff agree on: `bos import`\n * classifies files under it, and source archives published by the deploy\n * train (#406) exclude it — so an imported archive never smuggles in\n * build output, VCS state, or local .bos state. Keep this list in sync\n * with nothing else: it is the single source of truth.\n */\nexport const WORKSPACE_SUBTREE_IGNORE = [\n \"**/node_modules/**\",\n \"**/.git/**\",\n \"**/dist/**\",\n \"**/.bos/**\",\n \"**/.every-plugin/**\",\n];\n\n/** Sorted, file-only list of the workspace subtree at `root`, under the shared ignore set. */\nexport async function listWorkspaceSubtreeFiles(\n root: string,\n workspace: string,\n): Promise<string[]> {\n const matches = await glob(`${workspace}/**`, {\n cwd: root,\n nodir: true,\n dot: true,\n absolute: false,\n ignore: WORKSPACE_SUBTREE_IGNORE,\n });\n const files: string[] = [];\n for (const match of matches) {\n if (lstatSync(join(root, match)).isFile()) {\n files.push(match);\n }\n }\n return files.sort();\n}\n"],"mappings":";;;;;;;;;;;;AAWA,MAAa,2BAA2B;CACtC;CACA;CACA;CACA;CACA;AACF;;AAGA,eAAsB,0BACpB,MACA,WACmB;CACnB,MAAM,UAAU,MAAM,KAAK,GAAG,UAAU,MAAM;EAC5C,KAAK;EACL,OAAO;EACP,KAAK;EACL,UAAU;EACV,QAAQ;CACV,CAAC;CACD,MAAM,QAAkB,CAAC;CACzB,KAAK,MAAM,SAAS,SAClB,IAAI,UAAU,KAAK,MAAM,KAAK,CAAC,CAAC,CAAC,OAAO,GACtC,MAAM,KAAK,KAAK;CAGpB,OAAO,MAAM,KAAK;AACpB"}
|
|
@@ -23,7 +23,7 @@ function readBuildReport(distRoot) {
|
|
|
23
23
|
* uploaded workspaces must pin.
|
|
24
24
|
*/
|
|
25
25
|
function composeWorkspaceVersionManifest(input) {
|
|
26
|
-
const { report, ssrReport, integrityMap, files } = input;
|
|
26
|
+
const { report, ssrReport, integrityMap, files, source, gitSha } = input;
|
|
27
27
|
const entryIntegrity = integrityMap[report.entry];
|
|
28
28
|
if (!entryIntegrity) return null;
|
|
29
29
|
const ssrEntry = ssrReport?.entry;
|
|
@@ -40,7 +40,9 @@ function composeWorkspaceVersionManifest(input) {
|
|
|
40
40
|
integrity: integrityMap[report.browserManifest]
|
|
41
41
|
} } : {},
|
|
42
42
|
...report.css && integrityMap[report.css] ? { assets: { css: integrityMap[report.css] } } : {},
|
|
43
|
-
...files ? { files } : {}
|
|
43
|
+
...files ? { files } : {},
|
|
44
|
+
...source ? { source } : {},
|
|
45
|
+
...gitSha ? { gitSha } : {}
|
|
44
46
|
});
|
|
45
47
|
}
|
|
46
48
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-manifest-deploy.cjs","names":["join","existsSync","BuildEntryReportSchema","readFileSync","composeVersionManifest"],"sources":["../src/version-manifest-deploy.ts"],"sourcesContent":["import { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { type BuildEntryReport, BuildEntryReportSchema } from \"every-plugin/build/artifact-names\";\nimport {\n composeVersionManifest,\n type WorkspaceVersionManifest,\n} from \"every-plugin/version-manifest\";\n\n/** Read a workspace dist's build-report.json (ticket 01's entry-name report). */\nexport function readBuildReport(distRoot: string): BuildEntryReport | null {\n const reportPath = join(distRoot, \"build-report.json\");\n if (!existsSync(reportPath)) return null;\n try {\n return BuildEntryReportSchema.parse(JSON.parse(readFileSync(reportPath, \"utf8\")));\n } catch {\n return null;\n }\n}\n\n/**\n * Compose the workspace's version manifest from the dist build reports and\n * the **server-computed** SRI map of the upload response (MAP decision 6 —\n * SRI is authoritative from the storage boundary, never computed\n * client-side). Returns null when the dist predates hashed entry names\n * (no report, or the SRI map lacks the entry) — the deploy leg then aborts:\n * uploaded workspaces must pin.\n */\nexport function composeWorkspaceVersionManifest(input: {\n report: BuildEntryReport;\n ssrReport?: BuildEntryReport | null;\n integrityMap: Record<string, string>;\n /** full per-file SRI map of the dist — recorded for the next deploy's diff */\n files?: Record<string, string>;\n}): WorkspaceVersionManifest | null {\n const { report, ssrReport, integrityMap, files } = input;\n\n const entryIntegrity = integrityMap[report.entry];\n if (!entryIntegrity) return null;\n\n const ssrEntry = ssrReport?.entry;\n const ssrIntegrity = ssrEntry ? integrityMap[`ssr/${ssrEntry}`] : undefined;\n\n return composeVersionManifest({\n entry: report.entry,\n entryIntegrity,\n ...(ssrEntry && ssrIntegrity\n ? { ssr: { entry: `ssr/${ssrEntry}`, integrity: ssrIntegrity } }\n : {}),\n ...(report.browserManifest && integrityMap[report.browserManifest]\n ? {\n browserManifest: {\n file: report.browserManifest,\n integrity: integrityMap[report.browserManifest]!,\n },\n }\n : {}),\n ...(report.css && integrityMap[report.css]\n ? { assets: { css: integrityMap[report.css]! } }\n : {}),\n ...(files ? { files } : {}),\n });\n}\n"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"version-manifest-deploy.cjs","names":["join","existsSync","BuildEntryReportSchema","readFileSync","composeVersionManifest"],"sources":["../src/version-manifest-deploy.ts"],"sourcesContent":["import { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { type BuildEntryReport, BuildEntryReportSchema } from \"every-plugin/build/artifact-names\";\nimport {\n composeVersionManifest,\n type SourceRef,\n type WorkspaceVersionManifest,\n} from \"every-plugin/version-manifest\";\n\n/** Read a workspace dist's build-report.json (ticket 01's entry-name report). */\nexport function readBuildReport(distRoot: string): BuildEntryReport | null {\n const reportPath = join(distRoot, \"build-report.json\");\n if (!existsSync(reportPath)) return null;\n try {\n return BuildEntryReportSchema.parse(JSON.parse(readFileSync(reportPath, \"utf8\")));\n } catch {\n return null;\n }\n}\n\n/**\n * Compose the workspace's version manifest from the dist build reports and\n * the **server-computed** SRI map of the upload response (MAP decision 6 —\n * SRI is authoritative from the storage boundary, never computed\n * client-side). Returns null when the dist predates hashed entry names\n * (no report, or the SRI map lacks the entry) — the deploy leg then aborts:\n * uploaded workspaces must pin.\n */\nexport function composeWorkspaceVersionManifest(input: {\n report: BuildEntryReport;\n ssrReport?: BuildEntryReport | null;\n integrityMap: Record<string, string>;\n /** full per-file SRI map of the dist — recorded for the next deploy's diff */\n files?: Record<string, string>;\n /** source archive reference (publish.sourcePublish) — server-computed SRI */\n source?: SourceRef;\n /** the repo HEAD the build was produced from — best-effort, may be absent */\n gitSha?: string;\n}): WorkspaceVersionManifest | null {\n const { report, ssrReport, integrityMap, files, source, gitSha } = input;\n\n const entryIntegrity = integrityMap[report.entry];\n if (!entryIntegrity) return null;\n\n const ssrEntry = ssrReport?.entry;\n const ssrIntegrity = ssrEntry ? integrityMap[`ssr/${ssrEntry}`] : undefined;\n\n return composeVersionManifest({\n entry: report.entry,\n entryIntegrity,\n ...(ssrEntry && ssrIntegrity\n ? { ssr: { entry: `ssr/${ssrEntry}`, integrity: ssrIntegrity } }\n : {}),\n ...(report.browserManifest && integrityMap[report.browserManifest]\n ? {\n browserManifest: {\n file: report.browserManifest,\n integrity: integrityMap[report.browserManifest]!,\n },\n }\n : {}),\n ...(report.css && integrityMap[report.css]\n ? { assets: { css: integrityMap[report.css]! } }\n : {}),\n ...(files ? { files } : {}),\n ...(source ? { source } : {}),\n ...(gitSha ? { gitSha } : {}),\n });\n}\n"],"mappings":";;;;;;;AAUA,SAAgB,gBAAgB,UAA2C;CACzE,MAAM,iBAAaA,gBAAK,UAAU,mBAAmB;CACrD,IAAI,KAACC,oBAAW,UAAU,GAAG,OAAO;CACpC,IAAI;EACF,OAAOC,yDAAuB,MAAM,KAAK,UAAMC,sBAAa,YAAY,MAAM,CAAC,CAAC;CAClF,QAAQ;EACN,OAAO;CACT;AACF;;;;;;;;;AAUA,SAAgB,gCAAgC,OAUZ;CAClC,MAAM,EAAE,QAAQ,WAAW,cAAc,OAAO,QAAQ,WAAW;CAEnE,MAAM,iBAAiB,aAAa,OAAO;CAC3C,IAAI,CAAC,gBAAgB,OAAO;CAE5B,MAAM,WAAW,WAAW;CAC5B,MAAM,eAAe,WAAW,aAAa,OAAO,cAAc;CAElE,WAAOC,sDAAuB;EAC5B,OAAO,OAAO;EACd;EACA,GAAI,YAAY,eACZ,EAAE,KAAK;GAAE,OAAO,OAAO;GAAY,WAAW;EAAa,EAAE,IAC7D,CAAC;EACL,GAAI,OAAO,mBAAmB,aAAa,OAAO,mBAC9C,EACE,iBAAiB;GACf,MAAM,OAAO;GACb,WAAW,aAAa,OAAO;EACjC,EACF,IACA,CAAC;EACL,GAAI,OAAO,OAAO,aAAa,OAAO,OAClC,EAAE,QAAQ,EAAE,KAAK,aAAa,OAAO,KAAM,EAAE,IAC7C,CAAC;EACL,GAAI,QAAQ,EAAE,MAAM,IAAI,CAAC;EACzB,GAAI,SAAS,EAAE,OAAO,IAAI,CAAC;EAC3B,GAAI,SAAS,EAAE,OAAO,IAAI,CAAC;CAC7B,CAAC;AACH"}
|
|
@@ -23,7 +23,7 @@ function readBuildReport(distRoot) {
|
|
|
23
23
|
* uploaded workspaces must pin.
|
|
24
24
|
*/
|
|
25
25
|
function composeWorkspaceVersionManifest(input) {
|
|
26
|
-
const { report, ssrReport, integrityMap, files } = input;
|
|
26
|
+
const { report, ssrReport, integrityMap, files, source, gitSha } = input;
|
|
27
27
|
const entryIntegrity = integrityMap[report.entry];
|
|
28
28
|
if (!entryIntegrity) return null;
|
|
29
29
|
const ssrEntry = ssrReport?.entry;
|
|
@@ -40,7 +40,9 @@ function composeWorkspaceVersionManifest(input) {
|
|
|
40
40
|
integrity: integrityMap[report.browserManifest]
|
|
41
41
|
} } : {},
|
|
42
42
|
...report.css && integrityMap[report.css] ? { assets: { css: integrityMap[report.css] } } : {},
|
|
43
|
-
...files ? { files } : {}
|
|
43
|
+
...files ? { files } : {},
|
|
44
|
+
...source ? { source } : {},
|
|
45
|
+
...gitSha ? { gitSha } : {}
|
|
44
46
|
});
|
|
45
47
|
}
|
|
46
48
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-manifest-deploy.mjs","names":[],"sources":["../src/version-manifest-deploy.ts"],"sourcesContent":["import { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { type BuildEntryReport, BuildEntryReportSchema } from \"every-plugin/build/artifact-names\";\nimport {\n composeVersionManifest,\n type WorkspaceVersionManifest,\n} from \"every-plugin/version-manifest\";\n\n/** Read a workspace dist's build-report.json (ticket 01's entry-name report). */\nexport function readBuildReport(distRoot: string): BuildEntryReport | null {\n const reportPath = join(distRoot, \"build-report.json\");\n if (!existsSync(reportPath)) return null;\n try {\n return BuildEntryReportSchema.parse(JSON.parse(readFileSync(reportPath, \"utf8\")));\n } catch {\n return null;\n }\n}\n\n/**\n * Compose the workspace's version manifest from the dist build reports and\n * the **server-computed** SRI map of the upload response (MAP decision 6 —\n * SRI is authoritative from the storage boundary, never computed\n * client-side). Returns null when the dist predates hashed entry names\n * (no report, or the SRI map lacks the entry) — the deploy leg then aborts:\n * uploaded workspaces must pin.\n */\nexport function composeWorkspaceVersionManifest(input: {\n report: BuildEntryReport;\n ssrReport?: BuildEntryReport | null;\n integrityMap: Record<string, string>;\n /** full per-file SRI map of the dist — recorded for the next deploy's diff */\n files?: Record<string, string>;\n}): WorkspaceVersionManifest | null {\n const { report, ssrReport, integrityMap, files } = input;\n\n const entryIntegrity = integrityMap[report.entry];\n if (!entryIntegrity) return null;\n\n const ssrEntry = ssrReport?.entry;\n const ssrIntegrity = ssrEntry ? integrityMap[`ssr/${ssrEntry}`] : undefined;\n\n return composeVersionManifest({\n entry: report.entry,\n entryIntegrity,\n ...(ssrEntry && ssrIntegrity\n ? { ssr: { entry: `ssr/${ssrEntry}`, integrity: ssrIntegrity } }\n : {}),\n ...(report.browserManifest && integrityMap[report.browserManifest]\n ? {\n browserManifest: {\n file: report.browserManifest,\n integrity: integrityMap[report.browserManifest]!,\n },\n }\n : {}),\n ...(report.css && integrityMap[report.css]\n ? { assets: { css: integrityMap[report.css]! } }\n : {}),\n ...(files ? { files } : {}),\n });\n}\n"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"version-manifest-deploy.mjs","names":[],"sources":["../src/version-manifest-deploy.ts"],"sourcesContent":["import { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { type BuildEntryReport, BuildEntryReportSchema } from \"every-plugin/build/artifact-names\";\nimport {\n composeVersionManifest,\n type SourceRef,\n type WorkspaceVersionManifest,\n} from \"every-plugin/version-manifest\";\n\n/** Read a workspace dist's build-report.json (ticket 01's entry-name report). */\nexport function readBuildReport(distRoot: string): BuildEntryReport | null {\n const reportPath = join(distRoot, \"build-report.json\");\n if (!existsSync(reportPath)) return null;\n try {\n return BuildEntryReportSchema.parse(JSON.parse(readFileSync(reportPath, \"utf8\")));\n } catch {\n return null;\n }\n}\n\n/**\n * Compose the workspace's version manifest from the dist build reports and\n * the **server-computed** SRI map of the upload response (MAP decision 6 —\n * SRI is authoritative from the storage boundary, never computed\n * client-side). Returns null when the dist predates hashed entry names\n * (no report, or the SRI map lacks the entry) — the deploy leg then aborts:\n * uploaded workspaces must pin.\n */\nexport function composeWorkspaceVersionManifest(input: {\n report: BuildEntryReport;\n ssrReport?: BuildEntryReport | null;\n integrityMap: Record<string, string>;\n /** full per-file SRI map of the dist — recorded for the next deploy's diff */\n files?: Record<string, string>;\n /** source archive reference (publish.sourcePublish) — server-computed SRI */\n source?: SourceRef;\n /** the repo HEAD the build was produced from — best-effort, may be absent */\n gitSha?: string;\n}): WorkspaceVersionManifest | null {\n const { report, ssrReport, integrityMap, files, source, gitSha } = input;\n\n const entryIntegrity = integrityMap[report.entry];\n if (!entryIntegrity) return null;\n\n const ssrEntry = ssrReport?.entry;\n const ssrIntegrity = ssrEntry ? integrityMap[`ssr/${ssrEntry}`] : undefined;\n\n return composeVersionManifest({\n entry: report.entry,\n entryIntegrity,\n ...(ssrEntry && ssrIntegrity\n ? { ssr: { entry: `ssr/${ssrEntry}`, integrity: ssrIntegrity } }\n : {}),\n ...(report.browserManifest && integrityMap[report.browserManifest]\n ? {\n browserManifest: {\n file: report.browserManifest,\n integrity: integrityMap[report.browserManifest]!,\n },\n }\n : {}),\n ...(report.css && integrityMap[report.css]\n ? { assets: { css: integrityMap[report.css]! } }\n : {}),\n ...(files ? { files } : {}),\n ...(source ? { source } : {}),\n ...(gitSha ? { gitSha } : {}),\n });\n}\n"],"mappings":";;;;;;;AAUA,SAAgB,gBAAgB,UAA2C;CACzE,MAAM,aAAa,KAAK,UAAU,mBAAmB;CACrD,IAAI,CAAC,WAAW,UAAU,GAAG,OAAO;CACpC,IAAI;EACF,OAAO,uBAAuB,MAAM,KAAK,MAAM,aAAa,YAAY,MAAM,CAAC,CAAC;CAClF,QAAQ;EACN,OAAO;CACT;AACF;;;;;;;;;AAUA,SAAgB,gCAAgC,OAUZ;CAClC,MAAM,EAAE,QAAQ,WAAW,cAAc,OAAO,QAAQ,WAAW;CAEnE,MAAM,iBAAiB,aAAa,OAAO;CAC3C,IAAI,CAAC,gBAAgB,OAAO;CAE5B,MAAM,WAAW,WAAW;CAC5B,MAAM,eAAe,WAAW,aAAa,OAAO,cAAc;CAElE,OAAO,uBAAuB;EAC5B,OAAO,OAAO;EACd;EACA,GAAI,YAAY,eACZ,EAAE,KAAK;GAAE,OAAO,OAAO;GAAY,WAAW;EAAa,EAAE,IAC7D,CAAC;EACL,GAAI,OAAO,mBAAmB,aAAa,OAAO,mBAC9C,EACE,iBAAiB;GACf,MAAM,OAAO;GACb,WAAW,aAAa,OAAO;EACjC,EACF,IACA,CAAC;EACL,GAAI,OAAO,OAAO,aAAa,OAAO,OAClC,EAAE,QAAQ,EAAE,KAAK,aAAa,OAAO,KAAM,EAAE,IAC7C,CAAC;EACL,GAAI,QAAQ,EAAE,MAAM,IAAI,CAAC;EACzB,GAAI,SAAS,EAAE,OAAO,IAAI,CAAC;EAC3B,GAAI,SAAS,EAAE,OAAO,IAAI,CAAC;CAC7B,CAAC;AACH"}
|
|
@@ -28,7 +28,8 @@ function slotVersionFromManifest(base, manifest) {
|
|
|
28
28
|
ssrEntryUrl: `${trimmedBase}/${manifest.ssr.entry}`,
|
|
29
29
|
ssrIntegrity: manifest.ssr.integrity
|
|
30
30
|
} : {},
|
|
31
|
-
...manifest.files ? { files: manifest.files } : {}
|
|
31
|
+
...manifest.files ? { files: manifest.files } : {},
|
|
32
|
+
...manifest.source ? { source: manifest.source } : {}
|
|
32
33
|
};
|
|
33
34
|
}
|
|
34
35
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-manifest-resolve.cjs","names":["bundleUrlToStagedPath","existsSync","resolveContained","path","readdirSync","statSync","WorkspaceVersionManifestSchema","readFileSync","createHash"],"sources":["../src/version-manifest-resolve.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { existsSync, readdirSync, readFileSync, statSync } from \"node:fs\";\nimport path from \"node:path\";\nimport {\n type WorkspaceVersionManifest,\n WorkspaceVersionManifestSchema,\n} from \"every-plugin/version-manifest\";\nimport { bundleUrlToStagedPath, resolveContained } from \"./resolver\";\n\n/**\n * Version-manifest slot resolution (atomic-deploys 04): a config slot's\n * `pin` ({ manifest, integrity }) resolves to the derived entry-level fields\n * every consumer needs. The cache is keyed by the full pin — the pinned\n * bytes are immutable, so a verified entry is cached for the process\n * lifetime and serves as last-known-good if the origin later fails; a fetch\n * or SRI failure with nothing cached propagates (a boot-time resolution\n * failure fails the deploy, which is the platform's rollback).\n */\n\nexport interface ResolvedSlotVersion {\n /** Absolute URL of the content-hashed container entry. */\n entryUrl: string;\n entryIntegrity: string;\n /** Absolute URL of the hashed browser manifest (mf-manifest), when present. */\n browserManifestUrl?: string;\n /** Absolute URL of the content-hashed SSR entry, when present. */\n ssrEntryUrl?: string;\n ssrIntegrity?: string;\n /** Full per-file digest map of the dist (object path → SRI), when the\n * pinned manifest carries one — the diff base for skip-unchanged uploads. */\n files?: Record<string, string>;\n}\n\nexport interface SlotPin {\n /** versioned manifest filename, relative to the slot's production base */\n manifest: string;\n /** the manifest document's own SRI */\n integrity: string;\n}\n\nconst cache = new Map<string, ResolvedSlotVersion>();\n\nexport function clearSlotVersionCache(): void {\n cache.clear();\n}\n\nfunction fetchText(url: string, fetchImpl: typeof fetch): Promise<string> {\n return fetchImpl(url).then((response) => {\n if (!response.ok) throw new Error(`version manifest fetch failed: ${response.status}`);\n return response.text();\n });\n}\n\nfunction slotVersionFromManifest(\n base: string,\n manifest: WorkspaceVersionManifest,\n): ResolvedSlotVersion {\n const trimmedBase = base.replace(/\\/$/, \"\");\n return {\n entryUrl: `${trimmedBase}/${manifest.entry}`,\n entryIntegrity: manifest.entryIntegrity,\n ...(manifest.browserManifest\n ? { browserManifestUrl: `${trimmedBase}/${manifest.browserManifest.file}` }\n : {}),\n ...(manifest.ssr\n ? {\n ssrEntryUrl: `${trimmedBase}/${manifest.ssr.entry}`,\n ssrIntegrity: manifest.ssr.integrity,\n }\n : {}),\n ...(manifest.files ? { files: manifest.files } : {}),\n };\n}\n\n/**\n * Staged-slot preference (ADR 0020/0021 self-contained tier): when a runtime\n * stages its own namespace under `BOS_BUNDLE_DIR`, a slot resolves from the\n * staged dist's own version manifest instead of the config's pin — pinned\n * manifest bytes that predate the image (deploy lag after a release bump)\n * cannot exist in the staged namespace, so their hashed files would 404 the\n * disk and fall through to the network, where the stale immutable bytes\n * still answer 200 and boot a foreign build. The staged manifest is trusted\n * (staged by the image build itself) and skipped entirely when the slot is\n * absent from the staged namespace or the pinned manifest is present (the\n * normal healthy case, which keeps the pin's SRI check).\n */\nfunction readStagedSlotVersion(base: string, pin: SlotPin): ResolvedSlotVersion | null {\n const bundleDir = process.env.BOS_BUNDLE_DIR;\n if (!bundleDir) return null;\n\n const slotDir = bundleUrlToStagedPath(base, bundleDir);\n if (!slotDir || !existsSync(slotDir)) return null;\n\n const pinnedManifestPath = resolveContained(slotDir, pin.manifest);\n if (!pinnedManifestPath || existsSync(pinnedManifestPath)) return null;\n\n const versionsDir = path.join(slotDir, \"versions\");\n if (!existsSync(versionsDir)) return null;\n const manifests = readdirSync(versionsDir)\n .filter((name) => name.endsWith(\".json\"))\n .map((name) => path.join(versionsDir, name))\n .filter((file) => statSync(file).isFile())\n .sort((a, b) => statSync(b).mtimeMs - statSync(a).mtimeMs || (a < b ? -1 : 1));\n if (manifests.length === 0) return null;\n const manifestPath = manifests[0];\n if (!manifestPath) return null;\n\n try {\n const manifest = WorkspaceVersionManifestSchema.parse(\n JSON.parse(readFileSync(manifestPath, \"utf8\")),\n );\n return slotVersionFromManifest(base, manifest);\n } catch {\n return null;\n }\n}\n\nexport async function resolveSlotVersion(input: {\n base: string;\n pin: SlotPin;\n fetchImpl?: typeof fetch;\n}): Promise<ResolvedSlotVersion> {\n const key = `${input.base}::${input.pin.manifest}::${input.pin.integrity}`;\n // content-addressed: a verified pin is cached for the process lifetime and\n // never refetched — the cache IS the last-known-good\n const cached = cache.get(key);\n if (cached) return cached;\n\n const staged = readStagedSlotVersion(input.base, input.pin);\n if (staged) {\n cache.set(key, staged);\n return staged;\n }\n\n const manifestUrl = `${input.base.replace(/\\/$/, \"\")}/${input.pin.manifest.replace(/^\\//, \"\")}`;\n const body = await fetchText(manifestUrl, input.fetchImpl ?? fetch);\n const computed = `sha384-${createHash(\"sha384\").update(body).digest(\"base64\")}`;\n if (computed !== input.pin.integrity) {\n throw new Error(\n `[SRI] version manifest integrity mismatch for ${manifestUrl}\\n Expected: ${input.pin.integrity}\\n Computed: ${computed}`,\n );\n }\n const manifest: WorkspaceVersionManifest = WorkspaceVersionManifestSchema.parse(JSON.parse(body));\n\n const resolved = slotVersionFromManifest(input.base, manifest);\n cache.set(key, resolved);\n return resolved;\n}\n"],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"version-manifest-resolve.cjs","names":["bundleUrlToStagedPath","existsSync","resolveContained","path","readdirSync","statSync","WorkspaceVersionManifestSchema","readFileSync","createHash"],"sources":["../src/version-manifest-resolve.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { existsSync, readdirSync, readFileSync, statSync } from \"node:fs\";\nimport path from \"node:path\";\nimport {\n type SourceRef,\n type WorkspaceVersionManifest,\n WorkspaceVersionManifestSchema,\n} from \"every-plugin/version-manifest\";\nimport { bundleUrlToStagedPath, resolveContained } from \"./resolver\";\n\n/**\n * Version-manifest slot resolution (atomic-deploys 04): a config slot's\n * `pin` ({ manifest, integrity }) resolves to the derived entry-level fields\n * every consumer needs. The cache is keyed by the full pin — the pinned\n * bytes are immutable, so a verified entry is cached for the process\n * lifetime and serves as last-known-good if the origin later fails; a fetch\n * or SRI failure with nothing cached propagates (a boot-time resolution\n * failure fails the deploy, which is the platform's rollback).\n */\n\nexport interface ResolvedSlotVersion {\n /** Absolute URL of the content-hashed container entry. */\n entryUrl: string;\n entryIntegrity: string;\n /** Absolute URL of the hashed browser manifest (mf-manifest), when present. */\n browserManifestUrl?: string;\n /** Absolute URL of the content-hashed SSR entry, when present. */\n ssrEntryUrl?: string;\n ssrIntegrity?: string;\n /** Full per-file digest map of the dist (object path → SRI), when the\n * pinned manifest carries one — the diff base for skip-unchanged uploads. */\n files?: Record<string, string>;\n /** Source archive reference from the pinned manifest (publish.sourcePublish). */\n source?: SourceRef;\n}\n\nexport interface SlotPin {\n /** versioned manifest filename, relative to the slot's production base */\n manifest: string;\n /** the manifest document's own SRI */\n integrity: string;\n}\n\nconst cache = new Map<string, ResolvedSlotVersion>();\n\nexport function clearSlotVersionCache(): void {\n cache.clear();\n}\n\nfunction fetchText(url: string, fetchImpl: typeof fetch): Promise<string> {\n return fetchImpl(url).then((response) => {\n if (!response.ok) throw new Error(`version manifest fetch failed: ${response.status}`);\n return response.text();\n });\n}\n\nfunction slotVersionFromManifest(\n base: string,\n manifest: WorkspaceVersionManifest,\n): ResolvedSlotVersion {\n const trimmedBase = base.replace(/\\/$/, \"\");\n return {\n entryUrl: `${trimmedBase}/${manifest.entry}`,\n entryIntegrity: manifest.entryIntegrity,\n ...(manifest.browserManifest\n ? { browserManifestUrl: `${trimmedBase}/${manifest.browserManifest.file}` }\n : {}),\n ...(manifest.ssr\n ? {\n ssrEntryUrl: `${trimmedBase}/${manifest.ssr.entry}`,\n ssrIntegrity: manifest.ssr.integrity,\n }\n : {}),\n ...(manifest.files ? { files: manifest.files } : {}),\n ...(manifest.source ? { source: manifest.source } : {}),\n };\n}\n\n/**\n * Staged-slot preference (ADR 0020/0021 self-contained tier): when a runtime\n * stages its own namespace under `BOS_BUNDLE_DIR`, a slot resolves from the\n * staged dist's own version manifest instead of the config's pin — pinned\n * manifest bytes that predate the image (deploy lag after a release bump)\n * cannot exist in the staged namespace, so their hashed files would 404 the\n * disk and fall through to the network, where the stale immutable bytes\n * still answer 200 and boot a foreign build. The staged manifest is trusted\n * (staged by the image build itself) and skipped entirely when the slot is\n * absent from the staged namespace or the pinned manifest is present (the\n * normal healthy case, which keeps the pin's SRI check).\n */\nfunction readStagedSlotVersion(base: string, pin: SlotPin): ResolvedSlotVersion | null {\n const bundleDir = process.env.BOS_BUNDLE_DIR;\n if (!bundleDir) return null;\n\n const slotDir = bundleUrlToStagedPath(base, bundleDir);\n if (!slotDir || !existsSync(slotDir)) return null;\n\n const pinnedManifestPath = resolveContained(slotDir, pin.manifest);\n if (!pinnedManifestPath || existsSync(pinnedManifestPath)) return null;\n\n const versionsDir = path.join(slotDir, \"versions\");\n if (!existsSync(versionsDir)) return null;\n const manifests = readdirSync(versionsDir)\n .filter((name) => name.endsWith(\".json\"))\n .map((name) => path.join(versionsDir, name))\n .filter((file) => statSync(file).isFile())\n .sort((a, b) => statSync(b).mtimeMs - statSync(a).mtimeMs || (a < b ? -1 : 1));\n if (manifests.length === 0) return null;\n const manifestPath = manifests[0];\n if (!manifestPath) return null;\n\n try {\n const manifest = WorkspaceVersionManifestSchema.parse(\n JSON.parse(readFileSync(manifestPath, \"utf8\")),\n );\n return slotVersionFromManifest(base, manifest);\n } catch {\n return null;\n }\n}\n\nexport async function resolveSlotVersion(input: {\n base: string;\n pin: SlotPin;\n fetchImpl?: typeof fetch;\n}): Promise<ResolvedSlotVersion> {\n const key = `${input.base}::${input.pin.manifest}::${input.pin.integrity}`;\n // content-addressed: a verified pin is cached for the process lifetime and\n // never refetched — the cache IS the last-known-good\n const cached = cache.get(key);\n if (cached) return cached;\n\n const staged = readStagedSlotVersion(input.base, input.pin);\n if (staged) {\n cache.set(key, staged);\n return staged;\n }\n\n const manifestUrl = `${input.base.replace(/\\/$/, \"\")}/${input.pin.manifest.replace(/^\\//, \"\")}`;\n const body = await fetchText(manifestUrl, input.fetchImpl ?? fetch);\n const computed = `sha384-${createHash(\"sha384\").update(body).digest(\"base64\")}`;\n if (computed !== input.pin.integrity) {\n throw new Error(\n `[SRI] version manifest integrity mismatch for ${manifestUrl}\\n Expected: ${input.pin.integrity}\\n Computed: ${computed}`,\n );\n }\n const manifest: WorkspaceVersionManifest = WorkspaceVersionManifestSchema.parse(JSON.parse(body));\n\n const resolved = slotVersionFromManifest(input.base, manifest);\n cache.set(key, resolved);\n return resolved;\n}\n"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SourceRef } from "every-plugin/version-manifest";
|
|
1
2
|
//#region src/version-manifest-resolve.d.ts
|
|
2
3
|
/**
|
|
3
4
|
* Version-manifest slot resolution (atomic-deploys 04): a config slot's
|
|
@@ -20,6 +21,8 @@ interface ResolvedSlotVersion {
|
|
|
20
21
|
/** Full per-file digest map of the dist (object path → SRI), when the
|
|
21
22
|
* pinned manifest carries one — the diff base for skip-unchanged uploads. */
|
|
22
23
|
files?: Record<string, string>;
|
|
24
|
+
/** Source archive reference from the pinned manifest (publish.sourcePublish). */
|
|
25
|
+
source?: SourceRef;
|
|
23
26
|
}
|
|
24
27
|
interface SlotPin {
|
|
25
28
|
/** versioned manifest filename, relative to the slot's production base */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SourceRef } from "every-plugin/version-manifest";
|
|
1
2
|
//#region src/version-manifest-resolve.d.ts
|
|
2
3
|
/**
|
|
3
4
|
* Version-manifest slot resolution (atomic-deploys 04): a config slot's
|
|
@@ -20,6 +21,8 @@ interface ResolvedSlotVersion {
|
|
|
20
21
|
/** Full per-file digest map of the dist (object path → SRI), when the
|
|
21
22
|
* pinned manifest carries one — the diff base for skip-unchanged uploads. */
|
|
22
23
|
files?: Record<string, string>;
|
|
24
|
+
/** Source archive reference from the pinned manifest (publish.sourcePublish). */
|
|
25
|
+
source?: SourceRef;
|
|
23
26
|
}
|
|
24
27
|
interface SlotPin {
|
|
25
28
|
/** versioned manifest filename, relative to the slot's production base */
|
|
@@ -25,7 +25,8 @@ function slotVersionFromManifest(base, manifest) {
|
|
|
25
25
|
ssrEntryUrl: `${trimmedBase}/${manifest.ssr.entry}`,
|
|
26
26
|
ssrIntegrity: manifest.ssr.integrity
|
|
27
27
|
} : {},
|
|
28
|
-
...manifest.files ? { files: manifest.files } : {}
|
|
28
|
+
...manifest.files ? { files: manifest.files } : {},
|
|
29
|
+
...manifest.source ? { source: manifest.source } : {}
|
|
29
30
|
};
|
|
30
31
|
}
|
|
31
32
|
/**
|