everything-dev
Version:
A consolidated product package for building Module Federation apps with oRPC APIs.
298 lines (296 loc) • 9.23 kB
JavaScript
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