UNPKG

everything-dev

Version:

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

732 lines (730 loc) • 25.5 kB
import { BosConfigInputSchema, BosConfigSchema, SourceModeSchema, StarterLevelSchema } from "./types.mjs"; import { isValidImageDigest } from "./image-deploy.mjs"; import { oc } from "./sdk.mjs"; import * as z$1 from "zod"; import "@orpc/openapi/extensions/route"; //#region src/contract.ts const PhaseTimingSchema = z$1.object({ name: z$1.string(), durationMs: z$1.number() }); const DevOptionsSchema = z$1.object({ host: SourceModeSchema.default("local"), ui: SourceModeSchema.default("local"), api: SourceModeSchema.default("local"), auth: SourceModeSchema.default("local"), remotePlugins: z$1.array(z$1.string()).optional(), proxy: z$1.boolean().default(false), ssr: z$1.boolean().default(false), port: z$1.number().optional(), apiPort: z$1.number().optional(), uiPort: z$1.number().optional(), authPort: z$1.number().optional(), pluginPortStart: z$1.number().optional(), interactive: z$1.boolean().optional(), logLevel: z$1.enum([ "error", "warn", "info", "debug" ]).optional() }); const DevResultSchema = z$1.object({ status: z$1.enum(["started", "error"]), description: z$1.string(), processes: z$1.array(z$1.string()), timings: z$1.array(PhaseTimingSchema).optional(), session: z$1.custom().optional() }); const StartOptionsSchema = z$1.object({ port: z$1.number().optional(), interactive: z$1.boolean().optional(), account: z$1.string().optional(), domain: z$1.string().optional(), env: z$1.enum(["production", "staging"]).default("production"), registry: z$1.string().optional(), configPath: z$1.string().optional() }); const StartResultSchema = z$1.object({ status: z$1.enum(["running", "error"]), url: z$1.string(), error: z$1.string().optional(), session: z$1.custom().optional(), summary: z$1.custom().optional() }); const BuildOptionsSchema = z$1.object({ packages: z$1.string().default("all").describe("Comma-separated keys, 'all' (default), or 'local' (only this repo's local plugins hosted via 'local:…')"), force: z$1.boolean().default(false) }); const BuildResultSchema = z$1.object({ status: z$1.enum(["success", "error"]), error: z$1.string().optional(), built: z$1.array(z$1.string()), skipped: z$1.array(z$1.string()).optional() }); const ConfigOptionsSchema = z$1.object({ full: z$1.boolean().default(false) }); const ConfigResultSchema = z$1.object({ config: z$1.union([BosConfigInputSchema, BosConfigSchema]).nullable(), packages: z$1.array(z$1.string()), remotes: z$1.array(z$1.string()), full: z$1.boolean().default(false) }); const RegistryUseOptionsSchema = z$1.object({ from: z$1.string().describe("Published runtime to compose from (account/gateway or bos:// URL)"), sections: z$1.array(z$1.string()).min(1).describe("Sections to compose: app.ui, app.host, app.api, app.auth, plugins.<key>"), dryRun: z$1.boolean().default(false) }); const RegistryUseResultSchema = z$1.object({ status: z$1.enum([ "updated", "dry-run", "error" ]), from: z$1.string(), applied: z$1.array(z$1.string()), configPath: z$1.string().optional(), error: z$1.string().optional() }); const PluginAddOptionsSchema = z$1.object({ source: z$1.string(), as: z$1.string().optional(), production: z$1.string().optional() }); const PluginAddResultSchema = z$1.object({ status: z$1.enum(["added", "error"]), key: z$1.string(), development: z$1.string().optional(), production: z$1.string().optional(), integrity: z$1.string().optional(), version: z$1.string().optional(), error: z$1.string().optional() }); const PluginRemoveOptionsSchema = z$1.object({ key: z$1.string() }); const PluginRemoveResultSchema = z$1.object({ status: z$1.enum(["removed", "error"]), key: z$1.string(), error: z$1.string().optional() }); const PluginListResultSchema = z$1.object({ status: z$1.enum(["listed", "error"]), plugins: z$1.array(z$1.object({ key: z$1.string(), development: z$1.string().optional(), production: z$1.string().optional(), localPath: z$1.string().optional(), source: z$1.enum(["local", "remote"]), integrity: z$1.string().optional(), version: z$1.string().optional(), name: z$1.string().optional() })), error: z$1.string().optional() }); const PluginPublishOptionsSchema = z$1.object({ key: z$1.string() }); const PluginPublishResultSchema = z$1.object({ status: z$1.enum(["published", "error"]), key: z$1.string(), path: z$1.string().optional(), production: z$1.string().optional(), version: z$1.string().optional(), fingerprint: z$1.string().optional(), error: z$1.string().optional() }); const WorkspaceDeployResultSchema = z$1.object({ key: z$1.string(), kind: z$1.enum(["app", "plugin"]), success: z$1.boolean(), error: z$1.string().optional(), durationMs: z$1.number().optional() }); const PublishOptionsSchema = z$1.object({ dryRun: z$1.boolean().default(false), verbose: z$1.boolean().default(false), network: z$1.enum(["mainnet", "testnet"]).optional(), privateKey: z$1.string().optional(), wallet: z$1.boolean().default(false), env: z$1.enum(["production", "staging"]).default("production"), registry: z$1.string().optional() }); const RollbackOptionsSchema = z$1.object({ listOnly: z$1.boolean().default(false), version: z$1.string().optional(), previous: z$1.boolean().default(false), force: z$1.boolean().default(false), limit: z$1.number().int().min(1).max(200).default(20), dryRun: z$1.boolean().default(false), verbose: z$1.boolean().default(false), network: z$1.enum(["mainnet", "testnet"]).optional(), privateKey: z$1.string().optional(), wallet: z$1.boolean().default(false), env: z$1.enum(["production", "staging"]).default("production"), registry: z$1.string().optional() }); const RollbackHistoryEntrySchema = z$1.object({ blockHeight: z$1.number(), blockTimestamp: z$1.string(), txHash: z$1.string().optional(), summary: z$1.string() }); const RollbackSlotCheckSchema = z$1.object({ slot: z$1.string(), ok: z$1.boolean(), reason: z$1.string().optional() }); const RollbackResultSchema = z$1.object({ status: z$1.enum([ "published", "error", "dry-run", "list" ]), registryUrl: z$1.string(), txHash: z$1.string().optional(), error: z$1.string().optional(), history: z$1.array(RollbackHistoryEntrySchema).optional(), verification: z$1.array(RollbackSlotCheckSchema).optional() }); const PublishResultSchema = z$1.object({ status: z$1.enum([ "published", "error", "dry-run" ]), registryUrl: z$1.string(), txHash: z$1.string().optional(), fingerprint: z$1.string().optional(), slotPins: z$1.record(z$1.string(), z$1.string()).optional(), error: z$1.string().optional(), built: z$1.array(z$1.string()).optional(), skipped: z$1.array(z$1.string()).optional(), deployResults: z$1.array(WorkspaceDeployResultSchema).optional() }); const DeployOptionsSchema = z$1.object({ statusList: z$1.boolean().default(false), env: z$1.enum(["production", "staging"]).default("production"), build: z$1.boolean().default(true), dryRun: z$1.boolean().default(false), verbose: z$1.boolean().default(false), packages: z$1.string().default("all").describe("Comma-separated keys, 'all' (default), or 'local' (only this repo's local plugins hosted via 'local:…')"), network: z$1.enum(["mainnet", "testnet"]).optional(), privateKey: z$1.string().optional(), service: z$1.string().optional(), registry: z$1.string().optional(), imageDigest: z$1.string().optional().refine((digest) => digest === void 0 || isValidImageDigest(digest), { message: "image digest must be sha256:<64 hex characters>" }).describe("Digest (sha256:…) of a pre-pushed runtime image — skips the image build/push leg and pins Railway to this digest"), fullUpload: z$1.boolean().default(false).describe("Re-upload every dist file instead of diffing unchanged files against the previous deploy") }); const DeployManifestListEntrySchema = z$1.object({ key: z$1.string(), blockHeight: z$1.number(), blockTimestamp: z$1.string(), txHash: z$1.string().optional(), publishedAt: z$1.string().optional() }); const DeployResultSchema = z$1.object({ status: z$1.enum([ "deployed", "published", "error", "dry-run", "list" ]), registryUrl: z$1.string(), txHash: z$1.string().optional(), fingerprint: z$1.string().optional(), slotPins: z$1.record(z$1.string(), z$1.string()).optional(), history: z$1.array(DeployManifestListEntrySchema).optional(), built: z$1.array(z$1.string()).optional(), skipped: z$1.array(z$1.string()).optional(), image: z$1.string().optional(), service: z$1.string().optional(), error: z$1.string().optional(), deployResults: z$1.array(WorkspaceDeployResultSchema).optional() }); function parseNearAmount(value) { const match = value.replace(/[\s_,]/g, "").match(/^(\d+(?:\.\d+)?)near$/i); if (!match) return NaN; return Number.parseFloat(match[1]); } const MIN_PUBLISH_ALLOWANCE_NEAR = .3; const KeyPublishOptionsSchema = z$1.object({ allowance: z$1.string().default("1NEAR").refine((val) => { const amount = parseNearAmount(val); return !Number.isNaN(amount) && amount >= MIN_PUBLISH_ALLOWANCE_NEAR; }, { message: `Allowance must be at least ${MIN_PUBLISH_ALLOWANCE_NEAR} NEAR to cover the transaction cost` }), env: z$1.enum(["production", "staging"]).default("production"), registry: z$1.string().optional(), removeOldKeys: z$1.boolean().optional() }); const KeyPublishResultSchema = z$1.object({ status: z$1.enum(["published", "error"]), account: z$1.string(), network: z$1.enum(["mainnet", "testnet"]), env: z$1.enum(["production", "staging"]), contract: z$1.string(), allowance: z$1.string(), functionNames: z$1.array(z$1.string()), publicKey: z$1.string().optional(), privateKey: z$1.string().optional(), error: z$1.string().optional() }); const OverrideSectionSchema = z$1.enum([ "ui", "api", "host", "plugins" ]); const DEFAULT_LOGIN_EXPIRES_IN_SECONDS = 7776e3; const LoginOptionsSchema = z$1.object({ key: z$1.boolean().default(false), site: z$1.string().optional(), expiresIn: z$1.number().int().positive().default(DEFAULT_LOGIN_EXPIRES_IN_SECONDS), device: z$1.string().optional(), env: z$1.enum(["production", "staging"]).default("production"), registry: z$1.string().optional() }); const LoginResultSchema = z$1.object({ status: z$1.enum(["logged-in", "error"]), siteUrl: z$1.string(), accountId: z$1.string().nullish(), expiresAt: z$1.string().nullish(), loginUrl: z$1.string().nullish(), publishKey: z$1.object({ publicKey: z$1.string(), network: z$1.enum(["mainnet", "testnet"]), contract: z$1.string(), exportedTo: z$1.string() }).nullish(), warning: z$1.string().nullish(), error: z$1.string().optional() }); const LogoutOptionsSchema = z$1.object({ configDir: z$1.string().optional() }); const LogoutResultSchema = z$1.object({ status: z$1.enum(["logged-out", "error"]), revokedApiKey: z$1.boolean(), removedPublishKey: z$1.boolean(), warning: z$1.string().nullish(), error: z$1.string().optional() }); const RuntimeOverrideTargetBaseSchema = z$1.enum([ "ui", "api", "plugins" ]); const RuntimeOverrideTargetSchema = z$1.union([RuntimeOverrideTargetBaseSchema, z$1.string().regex(/^plugins\.(\*|[a-z0-9_-]+)$/)]); const InitOptionsSchema = z$1.object({ extends: z$1.string().optional(), directory: z$1.string().optional(), account: z$1.string().optional(), domain: z$1.string().optional(), source: z$1.string().optional(), plugins: z$1.array(z$1.string()).optional(), overrides: z$1.array(OverrideSectionSchema).optional(), level: StarterLevelSchema.optional(), noInteractive: z$1.boolean().default(false), noInstall: z$1.boolean().default(false) }); const InitResultSchema = z$1.object({ status: z$1.enum(["initialized", "error"]), directory: z$1.string(), extendsRef: z$1.string(), account: z$1.string().optional(), domain: z$1.string().optional(), extends: z$1.string(), plugins: z$1.array(z$1.string()).optional(), overrides: z$1.array(OverrideSectionSchema).optional(), filesCopied: z$1.number(), timings: z$1.array(PhaseTimingSchema).optional(), targetDir: z$1.string().optional(), error: z$1.string().optional() }); const SyncOptionsSchema = z$1.object({ dryRun: z$1.boolean().default(false), noInstall: z$1.boolean().default(false), json: z$1.boolean().default(false) }); const SyncResultSchema = z$1.object({ status: z$1.enum([ "synced", "dry-run", "error" ]), updated: z$1.array(z$1.string()), skipped: z$1.array(z$1.string()), added: z$1.array(z$1.string()), conflicted: z$1.array(z$1.string()).default([]), /** retired stub files deleted silently (unmodified) — ADR 0023 migration */ retired: z$1.array(z$1.string()).optional(), /** retired stub files that were hand-modified — backed up, then deleted */ retiredConflicted: z$1.array(z$1.string()).optional(), /** where the retired hand-modified copies were backed up */ retiredBackupDir: z$1.string().optional(), backupDir: z$1.string().optional(), error: z$1.string().optional() }); const UpgradeOptionsSchema = z$1.object({ dryRun: z$1.boolean().default(false), noInstall: z$1.boolean().default(false), noSync: z$1.boolean().default(false), json: z$1.boolean().default(false), migrationsOnly: z$1.boolean().default(false) }); const UpgradeResultSchema = z$1.object({ status: z$1.enum([ "upgraded", "dry-run", "error" ]), packages: z$1.array(z$1.object({ name: z$1.string(), from: z$1.string().optional(), to: z$1.string() })), sync: SyncResultSchema.optional(), migrated: z$1.array(z$1.string()).optional(), availablePlugins: z$1.array(z$1.string()).optional(), selectedPlugins: z$1.array(z$1.string()).optional(), timings: z$1.array(PhaseTimingSchema).optional(), changelogUrl: z$1.string().optional(), error: z$1.string().optional() }); const DeployedVersionStatusSchema = z$1.object({ publishedFingerprint: z$1.string(), servedFingerprint: z$1.string().optional(), inSync: z$1.boolean(), error: z$1.string().optional() }); const StatusResultSchema = z$1.object({ status: z$1.enum(["ok", "error"]), deployedVersion: DeployedVersionStatusSchema.optional(), extends: z$1.string().optional(), account: z$1.string().optional(), domain: z$1.string().optional(), packages: z$1.array(z$1.object({ name: z$1.string(), installed: z$1.string().optional(), latest: z$1.string().optional(), isLinked: z$1.boolean().optional(), specifier: z$1.string().optional() })), lastSync: z$1.string().optional(), envFile: z$1.enum([ "found", "missing", "example-only" ]), parentReachable: z$1.boolean().optional(), error: z$1.string().optional() }); const TypesGenOptionsSchema = z$1.object({ env: z$1.enum(["development", "production"]).optional(), dryRun: z$1.boolean().default(false), remotePlugins: z$1.array(z$1.string()).optional() }); const TypesGenResultSchema = z$1.object({ status: z$1.enum(["success", "error"]), generated: z$1.array(z$1.string()), fetched: z$1.array(z$1.string()), skipped: z$1.array(z$1.string()), failed: z$1.array(z$1.string()), error: z$1.string().optional() }); const DbStudioOptionsSchema = z$1.object({ plugin: z$1.string().default("api") }); const DbStudioResultSchema = z$1.object({ status: z$1.enum(["success", "error"]), plugin: z$1.string(), source: z$1.enum(["local", "remote"]), section: z$1.string(), databaseSecret: z$1.string().optional(), databaseUrl: z$1.string().optional(), workspaceDir: z$1.string().optional(), error: z$1.string().optional() }); const DbDoctorOptionsSchema = z$1.object({ plugin: z$1.string() }); const DbDoctorResultSchema = z$1.object({ status: z$1.enum(["success", "error"]), plugin: z$1.string(), slug: z$1.string(), journalTable: z$1.string(), journalSchema: z$1.string(), diagnosis: z$1.string(), localMigrationCount: z$1.number(), appliedHashCount: z$1.number(), expectedTables: z$1.array(z$1.string()), missingTables: z$1.array(z$1.string()), workspaceDir: z$1.string().optional(), dbSecret: z$1.string().optional(), dbUrl: z$1.string().optional(), error: z$1.string().optional() }); const DbRepairOptionsSchema = z$1.object({ plugin: z$1.string(), mode: z$1.enum(["history-reset", "recreate"]).default("history-reset"), yes: z$1.boolean().optional() }); const DbRepairResultSchema = z$1.object({ status: z$1.enum([ "repaired", "refused", "error" ]), message: z$1.string(), diagnosis: z$1.any(), error: z$1.string().optional() }); const ProcessRoleSchema = z$1.enum([ "standalone", "workspace-parent", "workspace-child" ]); const PidEntrySchema = z$1.object({ pid: z$1.number(), configDir: z$1.string(), parentPid: z$1.number().optional(), role: ProcessRoleSchema, ports: z$1.object({ host: z$1.number().optional(), api: z$1.number().optional(), ui: z$1.number().optional(), auth: z$1.number().optional() }).default({}), budget: z$1.object({ min: z$1.number(), max: z$1.number() }).optional(), startedAt: z$1.number(), description: z$1.string() }); const PsResultSchema = z$1.object({ status: z$1.enum(["ok", "error"]), entries: z$1.array(PidEntrySchema), error: z$1.string().optional() }); const LogsOptionsSchema = z$1.object({ service: z$1.string().optional(), tail: z$1.number().int().positive().max(1e5).optional(), follow: z$1.boolean().optional() }); const LogsResultSchema = z$1.object({ logFile: z$1.string(), lines: z$1.array(z$1.string()) }); const KillOptionsSchema = z$1.object({ configDir: z$1.string().optional(), signal: z$1.enum(["SIGTERM", "SIGKILL"]).default("SIGTERM"), all: z$1.boolean().default(false) }); const KillResultSchema = z$1.object({ status: z$1.enum(["killed", "error"]), killed: z$1.array(z$1.object({ pid: z$1.number(), configDir: z$1.string() })), skipped: z$1.array(z$1.object({ pid: z$1.number(), reason: z$1.string() })), error: z$1.string().optional() }); const TypecheckOptionsSchema = z$1.object({ packages: z$1.string().default("all") }); const TypecheckWorkspaceResultSchema = z$1.object({ workspace: z$1.string(), passed: z$1.boolean(), output: z$1.string().optional(), error: z$1.string().optional() }); const TypecheckResultSchema = z$1.object({ status: z$1.enum(["success", "error"]), checked: z$1.array(z$1.string()), skipped: z$1.array(z$1.string()), results: z$1.array(TypecheckWorkspaceResultSchema), error: z$1.string().optional() }); const InfraExportServiceSchema = z$1.object({ key: z$1.string(), image: z$1.string(), env: z$1.record(z$1.string(), z$1.string()).default({}), ports: z$1.array(z$1.string()), healthcheck: z$1.object({ test: z$1.array(z$1.string()), interval: z$1.string(), timeout: z$1.string(), retries: z$1.number() }).optional(), volumes: z$1.array(z$1.string()).default([]) }); const InfraExportOptionsSchema = z$1.object({ target: z$1.enum(["ci", "local"]).default("ci"), network: z$1.enum(["mainnet", "testnet"]).optional(), configDir: z$1.string().optional() }); const InfraExportResultSchema = z$1.object({ env: z$1.record(z$1.string(), z$1.string()), services: z$1.array(InfraExportServiceSchema), generatedAt: z$1.string(), project: z$1.string(), account: z$1.string(), gateway: z$1.string() }); const MfCheckOptionsSchema = z$1.object({ timeoutMs: z$1.number().default(15e3) }); const MfCheckRemoteResultSchema = z$1.object({ role: z$1.string(), url: z$1.string(), reachable: z$1.boolean(), pluginVersion: z$1.string().nullable(), ok: z$1.boolean(), reason: z$1.string().optional() }); const MfCheckResultSchema = z$1.object({ status: z$1.enum(["ok", "fail"]), hostVersion: z$1.string().nullable(), hostReachable: z$1.boolean(), hostReason: z$1.string().optional(), remotes: z$1.array(MfCheckRemoteResultSchema) }); const commandOptionSchemas = { dev: DevOptionsSchema, start: StartOptionsSchema, build: BuildOptionsSchema, config: ConfigOptionsSchema, registryUse: RegistryUseOptionsSchema, pluginAdd: PluginAddOptionsSchema, pluginRemove: PluginRemoveOptionsSchema, pluginPublish: PluginPublishOptionsSchema, publish: PublishOptionsSchema, rollback: RollbackOptionsSchema, deploy: DeployOptionsSchema, keyPublish: KeyPublishOptionsSchema, login: LoginOptionsSchema, logout: LogoutOptionsSchema, init: InitOptionsSchema, sync: SyncOptionsSchema, upgrade: UpgradeOptionsSchema, typecheck: TypecheckOptionsSchema, mfCheck: MfCheckOptionsSchema, infraExport: InfraExportOptionsSchema, dbStudio: DbStudioOptionsSchema, dbDoctor: DbDoctorOptionsSchema, dbRepair: DbRepairOptionsSchema, logs: LogsOptionsSchema, kill: KillOptionsSchema }; const bosContract = oc.router({ dev: oc.route({ method: "POST", path: "/dev" }).input(DevOptionsSchema).output(DevResultSchema), start: oc.route({ method: "POST", path: "/start" }).input(StartOptionsSchema).output(StartResultSchema), build: oc.route({ method: "POST", path: "/build" }).input(BuildOptionsSchema).output(BuildResultSchema), config: oc.route({ method: "GET", path: "/config" }).input(ConfigOptionsSchema).output(ConfigResultSchema), registryUse: oc.route({ method: "POST", path: "/registry/use" }).input(RegistryUseOptionsSchema).output(RegistryUseResultSchema), pluginAdd: oc.route({ method: "POST", path: "/plugin/add" }).input(PluginAddOptionsSchema).output(PluginAddResultSchema), pluginRemove: oc.route({ method: "POST", path: "/plugin/remove" }).input(PluginRemoveOptionsSchema).output(PluginRemoveResultSchema), pluginList: oc.route({ method: "GET", path: "/plugin/list" }).output(PluginListResultSchema), pluginPublish: oc.route({ method: "POST", path: "/plugin/publish" }).input(PluginPublishOptionsSchema).output(PluginPublishResultSchema), publish: oc.route({ method: "POST", path: "/publish" }).input(PublishOptionsSchema).output(PublishResultSchema), rollback: oc.route({ method: "POST", path: "/rollback" }).input(RollbackOptionsSchema).output(RollbackResultSchema), deploy: oc.route({ method: "POST", path: "/deploy" }).input(DeployOptionsSchema).output(DeployResultSchema), keyPublish: oc.route({ method: "POST", path: "/key/publish" }).input(KeyPublishOptionsSchema).output(KeyPublishResultSchema), login: oc.route({ method: "POST", path: "/login" }).input(LoginOptionsSchema).output(LoginResultSchema), logout: oc.route({ method: "POST", path: "/logout" }).input(LogoutOptionsSchema).output(LogoutResultSchema), init: oc.route({ method: "POST", path: "/init" }).input(InitOptionsSchema).output(InitResultSchema), sync: oc.route({ method: "POST", path: "/sync" }).input(SyncOptionsSchema).output(SyncResultSchema), upgrade: oc.route({ method: "POST", path: "/upgrade" }).input(UpgradeOptionsSchema).output(UpgradeResultSchema), status: oc.route({ method: "GET", path: "/status" }).output(StatusResultSchema), typesGen: oc.route({ method: "POST", path: "/types/gen" }).input(TypesGenOptionsSchema).output(TypesGenResultSchema), dbStudio: oc.route({ method: "POST", path: "/db/studio" }).input(DbStudioOptionsSchema).output(DbStudioResultSchema), dbDoctor: oc.route({ method: "POST", path: "/db/doctor" }).input(DbDoctorOptionsSchema).output(DbDoctorResultSchema), dbRepair: oc.route({ method: "POST", path: "/db/repair" }).input(DbRepairOptionsSchema).output(DbRepairResultSchema), ps: oc.route({ method: "GET", path: "/ps" }).output(PsResultSchema), logs: oc.route({ method: "GET", path: "/logs" }).input(LogsOptionsSchema).output(LogsResultSchema), kill: oc.route({ method: "POST", path: "/kill" }).input(KillOptionsSchema).output(KillResultSchema), typecheck: oc.route({ method: "POST", path: "/typecheck" }).input(TypecheckOptionsSchema).output(TypecheckResultSchema), mfCheck: oc.route({ method: "POST", path: "/mf/check" }).input(MfCheckOptionsSchema).output(MfCheckResultSchema), infraExport: oc.route({ method: "POST", path: "/infra/export" }).input(InfraExportOptionsSchema).output(InfraExportResultSchema) }); //#endregion export { BuildOptionsSchema, BuildResultSchema, ConfigOptionsSchema, ConfigResultSchema, DbDoctorOptionsSchema, DbDoctorResultSchema, DbRepairOptionsSchema, DbRepairResultSchema, DbStudioOptionsSchema, DbStudioResultSchema, DeployManifestListEntrySchema, DeployOptionsSchema, DeployResultSchema, DeployedVersionStatusSchema, DevOptionsSchema, DevResultSchema, InfraExportOptionsSchema, InfraExportResultSchema, InfraExportServiceSchema, InitOptionsSchema, InitResultSchema, KeyPublishOptionsSchema, KeyPublishResultSchema, KillOptionsSchema, KillResultSchema, LoginOptionsSchema, LoginResultSchema, LogoutOptionsSchema, LogoutResultSchema, LogsOptionsSchema, LogsResultSchema, MfCheckOptionsSchema, MfCheckRemoteResultSchema, MfCheckResultSchema, OverrideSectionSchema, PhaseTimingSchema, PidEntrySchema, PluginAddOptionsSchema, PluginAddResultSchema, PluginListResultSchema, PluginPublishOptionsSchema, PluginPublishResultSchema, PluginRemoveOptionsSchema, PluginRemoveResultSchema, ProcessRoleSchema, PsResultSchema, PublishOptionsSchema, PublishResultSchema, RegistryUseOptionsSchema, RegistryUseResultSchema, RollbackHistoryEntrySchema, RollbackOptionsSchema, RollbackResultSchema, RollbackSlotCheckSchema, RuntimeOverrideTargetBaseSchema, RuntimeOverrideTargetSchema, StartOptionsSchema, StartResultSchema, StatusResultSchema, SyncOptionsSchema, SyncResultSchema, TypecheckOptionsSchema, TypecheckResultSchema, TypecheckWorkspaceResultSchema, TypesGenOptionsSchema, TypesGenResultSchema, UpgradeOptionsSchema, UpgradeResultSchema, WorkspaceDeployResultSchema, bosContract, commandOptionSchemas }; //# sourceMappingURL=contract.mjs.map