UNPKG

everything-dev

Version:

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

298 lines (296 loc) 9.23 kB
import { BosConfigSchema, SourceModeSchema } from "./types.mjs"; import { oc } from "./sdk.mjs"; import * as z from "zod"; //#region src/contract.ts const DevOptionsSchema = z.object({ host: SourceModeSchema.default("local"), ui: SourceModeSchema.default("local"), api: SourceModeSchema.default("local"), auth: SourceModeSchema.default("local"), proxy: z.boolean().default(false), ssr: z.boolean().default(false), port: z.number().optional(), interactive: z.boolean().optional() }); const DevResultSchema = z.object({ status: z.enum(["started", "error"]), description: z.string(), processes: z.array(z.string()) }); const StartOptionsSchema = z.object({ port: z.number().optional(), interactive: z.boolean().optional(), account: z.string().optional(), domain: z.string().optional(), env: z.enum(["production", "staging"]).default("production") }); const StartResultSchema = z.object({ status: z.enum(["running", "error"]), url: z.string(), error: z.string().optional() }); const BuildOptionsSchema = z.object({ packages: z.string().default("all"), force: z.boolean().default(false), deploy: z.boolean().default(false) }); const BuildResultSchema = z.object({ status: z.enum(["success", "error"]), built: z.array(z.string()), skipped: z.array(z.string()).optional(), deployed: z.boolean().optional() }); const ConfigResultSchema = z.object({ config: BosConfigSchema.nullable(), packages: z.array(z.string()), remotes: z.array(z.string()) }); const PluginAddOptionsSchema = z.object({ source: z.string(), as: z.string().optional(), production: z.string().optional() }); const PluginAddResultSchema = z.object({ status: z.enum(["added", "error"]), key: z.string(), development: z.string().optional(), production: z.string().optional(), integrity: z.string().optional(), version: z.string().optional(), error: z.string().optional() }); const PluginRemoveOptionsSchema = z.object({ key: z.string() }); const PluginRemoveResultSchema = z.object({ status: z.enum(["removed", "error"]), key: z.string(), error: z.string().optional() }); const PluginListResultSchema = z.object({ status: z.enum(["listed", "error"]), plugins: z.array(z.object({ key: z.string(), development: z.string().optional(), production: z.string().optional(), localPath: z.string().optional(), source: z.enum(["local", "remote"]), integrity: z.string().optional(), version: z.string().optional(), name: z.string().optional() })), error: z.string().optional() }); const PluginPublishOptionsSchema = z.object({ key: z.string() }); const PluginPublishResultSchema = z.object({ status: z.enum(["published", "error"]), key: z.string(), path: z.string().optional(), script: z.string().optional(), production: z.string().optional(), integrity: z.string().optional(), version: z.string().optional(), error: z.string().optional() }); const PublishOptionsSchema = z.object({ deploy: z.boolean().default(false), dryRun: z.boolean().default(false), packages: z.string().default("all"), network: z.enum(["mainnet", "testnet"]).optional(), privateKey: z.string().optional() }); const PublishResultSchema = z.object({ status: z.enum([ "published", "error", "dry-run" ]), registryUrl: z.string(), txHash: z.string().optional(), error: z.string().optional(), built: z.array(z.string()).optional(), skipped: z.array(z.string()).optional() }); const KeyPublishOptionsSchema = z.object({ allowance: z.string().default("0.25NEAR") }); const KeyPublishResultSchema = z.object({ status: z.enum(["published", "error"]), account: z.string(), network: z.enum(["mainnet", "testnet"]), contract: z.string(), allowance: z.string(), functionNames: z.array(z.string()), publicKey: z.string().optional(), privateKey: z.string().optional(), error: z.string().optional() }); const OverrideSectionSchema = z.enum([ "ui", "api", "host", "plugins" ]); const InitOptionsSchema = z.object({ extends: z.string().optional(), directory: z.string().optional(), account: z.string().optional(), domain: z.string().optional(), source: z.string().optional(), plugins: z.array(z.string()).optional(), overrides: z.array(OverrideSectionSchema).optional(), noInteractive: z.boolean().default(false), noInstall: z.boolean().default(false) }); const PhaseTimingSchema = z.object({ name: z.string(), durationMs: z.number() }); const InitResultSchema = z.object({ status: z.enum(["initialized", "error"]), directory: z.string(), extendsRef: z.string(), account: z.string().optional(), domain: z.string().optional(), extends: z.string(), plugins: z.array(z.string()).optional(), overrides: z.array(OverrideSectionSchema).optional(), filesCopied: z.number(), timings: z.array(PhaseTimingSchema).optional(), targetDir: z.string().optional(), error: z.string().optional() }); const SyncOptionsSchema = z.object({ dryRun: z.boolean().default(false), force: z.boolean().default(false), noInstall: z.boolean().default(false) }); const SyncResultSchema = z.object({ status: z.enum([ "synced", "dry-run", "error" ]), updated: z.array(z.string()), skipped: z.array(z.string()), added: z.array(z.string()), error: z.string().optional() }); const UpgradeOptionsSchema = z.object({ dryRun: z.boolean().default(false), force: z.boolean().default(false), noInstall: z.boolean().default(false), noSync: z.boolean().default(false) }); const UpgradeResultSchema = z.object({ status: z.enum([ "upgraded", "dry-run", "error" ]), packages: z.array(z.object({ name: z.string(), from: z.string().optional(), to: z.string() })), sync: SyncResultSchema.optional(), migrated: z.array(z.string()).optional(), availablePlugins: z.array(z.string()).optional(), selectedPlugins: z.array(z.string()).optional(), timings: z.array(PhaseTimingSchema).optional(), changelogUrl: z.string().optional(), error: z.string().optional() }); const StatusResultSchema = z.object({ status: z.enum(["ok", "error"]), extends: z.string().optional(), account: z.string().optional(), domain: z.string().optional(), packages: z.array(z.object({ name: z.string(), installed: z.string().optional(), latest: z.string().optional() })), lastSync: z.string().optional(), envFile: z.enum([ "found", "missing", "example-only" ]), parentReachable: z.boolean().optional(), error: z.string().optional() }); const TypesGenOptionsSchema = z.object({ env: z.enum(["development", "production"]).optional(), dryRun: z.boolean().default(false) }); const TypesGenResultSchema = z.object({ status: z.enum(["success", "error"]), generated: z.array(z.string()), fetched: z.array(z.string()), skipped: z.array(z.string()), failed: z.array(z.string()), source: z.enum(["local", "remote"]).optional(), error: z.string().optional() }); 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" }).output(ConfigResultSchema), 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), keyPublish: oc.route({ method: "POST", path: "/key/publish" }).input(KeyPublishOptionsSchema).output(KeyPublishResultSchema), 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) }); //#endregion export { BuildOptionsSchema, BuildResultSchema, ConfigResultSchema, DevOptionsSchema, DevResultSchema, InitOptionsSchema, InitResultSchema, KeyPublishOptionsSchema, KeyPublishResultSchema, OverrideSectionSchema, PhaseTimingSchema, PluginAddOptionsSchema, PluginAddResultSchema, PluginListResultSchema, PluginPublishOptionsSchema, PluginPublishResultSchema, PluginRemoveOptionsSchema, PluginRemoveResultSchema, PublishOptionsSchema, PublishResultSchema, StartOptionsSchema, StartResultSchema, StatusResultSchema, SyncOptionsSchema, SyncResultSchema, TypesGenOptionsSchema, TypesGenResultSchema, UpgradeOptionsSchema, UpgradeResultSchema, bosContract }; //# sourceMappingURL=contract.mjs.map