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/contract.mjs
CHANGED
|
@@ -295,6 +295,7 @@ const OverrideSectionSchema = z$1.enum([
|
|
|
295
295
|
const DEFAULT_LOGIN_EXPIRES_IN_SECONDS = 7776e3;
|
|
296
296
|
const LoginOptionsSchema = z$1.object({
|
|
297
297
|
key: z$1.boolean().default(false),
|
|
298
|
+
custody: z$1.boolean().default(false),
|
|
298
299
|
site: z$1.string().optional(),
|
|
299
300
|
expiresIn: z$1.number().int().positive().default(DEFAULT_LOGIN_EXPIRES_IN_SECONDS),
|
|
300
301
|
device: z$1.string().optional(),
|
|
@@ -313,6 +314,21 @@ const LoginResultSchema = z$1.object({
|
|
|
313
314
|
contract: z$1.string(),
|
|
314
315
|
exportedTo: z$1.string()
|
|
315
316
|
}).nullish(),
|
|
317
|
+
custodyWallet: z$1.object({
|
|
318
|
+
walletId: z$1.string(),
|
|
319
|
+
nearAccountId: z$1.string(),
|
|
320
|
+
network: z$1.enum(["mainnet", "testnet"]),
|
|
321
|
+
handoffUrl: z$1.string().nullish()
|
|
322
|
+
}).nullish(),
|
|
323
|
+
outlayerCli: z$1.object({
|
|
324
|
+
status: z$1.enum([
|
|
325
|
+
"linked",
|
|
326
|
+
"cli-missing",
|
|
327
|
+
"error"
|
|
328
|
+
]),
|
|
329
|
+
network: z$1.enum(["mainnet", "testnet"]),
|
|
330
|
+
detail: z$1.string().nullish()
|
|
331
|
+
}).nullish(),
|
|
316
332
|
warning: z$1.string().nullish(),
|
|
317
333
|
error: z$1.string().optional()
|
|
318
334
|
});
|
|
@@ -380,6 +396,68 @@ const SyncResultSchema = z$1.object({
|
|
|
380
396
|
backupDir: z$1.string().optional(),
|
|
381
397
|
error: z$1.string().optional()
|
|
382
398
|
});
|
|
399
|
+
const ImportOptionsSchema = z$1.object({
|
|
400
|
+
workspace: z$1.string(),
|
|
401
|
+
/** omitted → resolve the upstream from the authored config's extends chain */
|
|
402
|
+
from: z$1.string().optional(),
|
|
403
|
+
yes: z$1.boolean().default(false),
|
|
404
|
+
dryRun: z$1.boolean().default(false),
|
|
405
|
+
noInstall: z$1.boolean().default(false),
|
|
406
|
+
json: z$1.boolean().default(false)
|
|
407
|
+
});
|
|
408
|
+
const ImportRouteDeltaSchema = z$1.object({
|
|
409
|
+
oursOnly: z$1.array(z$1.string()),
|
|
410
|
+
theirsOnly: z$1.array(z$1.string())
|
|
411
|
+
});
|
|
412
|
+
const ImportMigrationCollisionSchema = z$1.object({
|
|
413
|
+
kind: z$1.literal("tag-mismatch"),
|
|
414
|
+
idx: z$1.number(),
|
|
415
|
+
localTag: z$1.string().optional(),
|
|
416
|
+
upstreamTag: z$1.string().optional(),
|
|
417
|
+
message: z$1.string()
|
|
418
|
+
});
|
|
419
|
+
const ImportMigrationAppendSchema = z$1.object({
|
|
420
|
+
idx: z$1.number(),
|
|
421
|
+
fromTag: z$1.string(),
|
|
422
|
+
toTag: z$1.string()
|
|
423
|
+
});
|
|
424
|
+
const ImportMigrationReconciliationSchema = z$1.object({
|
|
425
|
+
/** local journal tags kept verbatim (already applied, never renumbered) */
|
|
426
|
+
kept: z$1.array(z$1.string()),
|
|
427
|
+
/** upstream migrations renumbered and appended after the local tail */
|
|
428
|
+
appended: z$1.array(ImportMigrationAppendSchema),
|
|
429
|
+
/** upstream migrations matched to local entries by SQL content hash */
|
|
430
|
+
contentMatched: z$1.array(z$1.string())
|
|
431
|
+
});
|
|
432
|
+
const ImportResultSchema = z$1.object({
|
|
433
|
+
status: z$1.enum([
|
|
434
|
+
"imported",
|
|
435
|
+
"dry-run",
|
|
436
|
+
"conflicts",
|
|
437
|
+
"error"
|
|
438
|
+
]),
|
|
439
|
+
workspace: z$1.string(),
|
|
440
|
+
from: z$1.string(),
|
|
441
|
+
ref: z$1.string(),
|
|
442
|
+
resolvedSha: z$1.string().optional(),
|
|
443
|
+
/** the dereferenced upstream repository when the source was chain-resolved */
|
|
444
|
+
sourceRepository: z$1.string().optional(),
|
|
445
|
+
/** resolution notes (e.g. HEAD fallback when no git sha is pinned) */
|
|
446
|
+
warnings: z$1.array(z$1.string()).default([]),
|
|
447
|
+
added: z$1.array(z$1.string()),
|
|
448
|
+
updated: z$1.array(z$1.string()),
|
|
449
|
+
unchanged: z$1.array(z$1.string()).default([]),
|
|
450
|
+
preservedLocal: z$1.array(z$1.string()).default([]),
|
|
451
|
+
merged: z$1.array(z$1.string()).default([]),
|
|
452
|
+
conflicts: z$1.array(z$1.string()).default([]),
|
|
453
|
+
heldBackMigrations: z$1.array(z$1.string()).default([]),
|
|
454
|
+
routeDelta: ImportRouteDeltaSchema.optional(),
|
|
455
|
+
migrationCollisions: z$1.array(ImportMigrationCollisionSchema).default([]),
|
|
456
|
+
migrationReconciliation: ImportMigrationReconciliationSchema.optional(),
|
|
457
|
+
backupDir: z$1.string().optional(),
|
|
458
|
+
reportPath: z$1.string().optional(),
|
|
459
|
+
error: z$1.string().optional()
|
|
460
|
+
});
|
|
383
461
|
const UpgradeOptionsSchema = z$1.object({
|
|
384
462
|
dryRun: z$1.boolean().default(false),
|
|
385
463
|
noInstall: z$1.boolean().default(false),
|
|
@@ -618,6 +696,7 @@ const commandOptionSchemas = {
|
|
|
618
696
|
logout: LogoutOptionsSchema,
|
|
619
697
|
init: InitOptionsSchema,
|
|
620
698
|
sync: SyncOptionsSchema,
|
|
699
|
+
import: ImportOptionsSchema,
|
|
621
700
|
upgrade: UpgradeOptionsSchema,
|
|
622
701
|
typecheck: TypecheckOptionsSchema,
|
|
623
702
|
mfCheck: MfCheckOptionsSchema,
|
|
@@ -701,6 +780,10 @@ const bosContract = oc.router({
|
|
|
701
780
|
method: "POST",
|
|
702
781
|
path: "/sync"
|
|
703
782
|
}).input(SyncOptionsSchema).output(SyncResultSchema),
|
|
783
|
+
import: oc.route({
|
|
784
|
+
method: "POST",
|
|
785
|
+
path: "/import"
|
|
786
|
+
}).input(ImportOptionsSchema).output(ImportResultSchema),
|
|
704
787
|
upgrade: oc.route({
|
|
705
788
|
method: "POST",
|
|
706
789
|
path: "/upgrade"
|
|
@@ -752,5 +835,5 @@ const bosContract = oc.router({
|
|
|
752
835
|
});
|
|
753
836
|
|
|
754
837
|
//#endregion
|
|
755
|
-
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, SmokeOptionsSchema, SmokeResultSchema, StartOptionsSchema, StartResultSchema, StatusResultSchema, SyncOptionsSchema, SyncResultSchema, TypecheckOptionsSchema, TypecheckResultSchema, TypecheckWorkspaceResultSchema, TypesGenOptionsSchema, TypesGenResultSchema, UpgradeOptionsSchema, UpgradeResultSchema, WorkspaceDeployResultSchema, bosContract, commandOptionSchemas };
|
|
838
|
+
export { BuildOptionsSchema, BuildResultSchema, ConfigOptionsSchema, ConfigResultSchema, DbDoctorOptionsSchema, DbDoctorResultSchema, DbRepairOptionsSchema, DbRepairResultSchema, DbStudioOptionsSchema, DbStudioResultSchema, DeployManifestListEntrySchema, DeployOptionsSchema, DeployResultSchema, DeployedVersionStatusSchema, DevOptionsSchema, DevResultSchema, ImportMigrationAppendSchema, ImportMigrationCollisionSchema, ImportMigrationReconciliationSchema, ImportOptionsSchema, ImportResultSchema, ImportRouteDeltaSchema, 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, SmokeOptionsSchema, SmokeResultSchema, StartOptionsSchema, StartResultSchema, StatusResultSchema, SyncOptionsSchema, SyncResultSchema, TypecheckOptionsSchema, TypecheckResultSchema, TypecheckWorkspaceResultSchema, TypesGenOptionsSchema, TypesGenResultSchema, UpgradeOptionsSchema, UpgradeResultSchema, WorkspaceDeployResultSchema, bosContract, commandOptionSchemas };
|
|
756
839
|
//# sourceMappingURL=contract.mjs.map
|
package/dist/contract.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.mjs","names":["z"],"sources":["../src/contract.ts"],"sourcesContent":["import \"@orpc/openapi/extensions/route\";\nimport * as z from \"zod\";\nimport type { DevSessionData, StartSummary } from \"./dev-session-data\";\nimport { isValidImageDigest } from \"./image-deploy\";\nimport { oc } from \"./sdk\";\nimport {\n BosConfigInputSchema,\n BosConfigSchema,\n SourceModeSchema,\n StarterLevelSchema,\n} from \"./types\";\n\nexport const PhaseTimingSchema = z.object({\n name: z.string(),\n durationMs: z.number(),\n});\n\nexport const DevOptionsSchema = z.object({\n host: SourceModeSchema.default(\"local\"),\n ui: SourceModeSchema.default(\"local\"),\n api: SourceModeSchema.default(\"local\"),\n auth: SourceModeSchema.default(\"local\"),\n remotePlugins: z.array(z.string()).optional(),\n proxy: z.boolean().default(false),\n ssr: z.boolean().default(false),\n port: z.number().optional(),\n apiPort: z.number().optional(),\n uiPort: z.number().optional(),\n authPort: z.number().optional(),\n pluginPortStart: z.number().optional(),\n interactive: z.boolean().optional(),\n logLevel: z.enum([\"error\", \"warn\", \"info\", \"debug\"]).optional(),\n});\n\nexport const DevResultSchema = z.object({\n status: z.enum([\"started\", \"error\"]),\n description: z.string(),\n processes: z.array(z.string()),\n timings: z.array(PhaseTimingSchema).optional(),\n session: z.custom<DevSessionData>().optional(),\n});\n\nexport const StartOptionsSchema = z.object({\n port: z.number().optional(),\n interactive: z.boolean().optional(),\n account: z.string().optional(),\n domain: z.string().optional(),\n env: z.enum([\"production\", \"staging\"]).default(\"production\"),\n registry: z.string().optional(),\n configPath: z.string().optional(),\n});\n\nexport const StartResultSchema = z.object({\n status: z.enum([\"running\", \"error\"]),\n url: z.string(),\n error: z.string().optional(),\n session: z.custom<DevSessionData>().optional(),\n summary: z.custom<StartSummary>().optional(),\n});\n\nexport const BuildOptionsSchema = z.object({\n packages: z\n .string()\n .default(\"all\")\n .describe(\n \"Comma-separated keys, 'all' (default), or 'local' (only this repo's local plugins hosted via 'local:…')\",\n ),\n force: z.boolean().default(false),\n});\n\nexport const BuildResultSchema = z.object({\n status: z.enum([\"success\", \"error\"]),\n error: z.string().optional(),\n built: z.array(z.string()),\n skipped: z.array(z.string()).optional(),\n});\n\nexport const ConfigOptionsSchema = z.object({\n full: z.boolean().default(false),\n});\n\nexport const ConfigResultSchema = z.object({\n config: z.union([BosConfigInputSchema, BosConfigSchema]).nullable(),\n packages: z.array(z.string()),\n remotes: z.array(z.string()),\n full: z.boolean().default(false),\n});\n\nexport const RegistryUseOptionsSchema = z.object({\n from: z.string().describe(\"Published runtime to compose from (account/gateway or bos:// URL)\"),\n sections: z\n .array(z.string())\n .min(1)\n .describe(\"Sections to compose: app.ui, app.host, app.api, app.auth, plugins.<key>\"),\n dryRun: z.boolean().default(false),\n});\n\nexport const RegistryUseResultSchema = z.object({\n status: z.enum([\"updated\", \"dry-run\", \"error\"]),\n from: z.string(),\n applied: z.array(z.string()),\n configPath: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const PluginAddOptionsSchema = z.object({\n source: z.string(),\n as: z.string().optional(),\n production: z.string().optional(),\n});\n\nexport const PluginAddResultSchema = z.object({\n status: z.enum([\"added\", \"error\"]),\n key: z.string(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n version: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const PluginRemoveOptionsSchema = z.object({\n key: z.string(),\n});\n\nexport const PluginRemoveResultSchema = z.object({\n status: z.enum([\"removed\", \"error\"]),\n key: z.string(),\n error: z.string().optional(),\n});\n\nexport const PluginListResultSchema = z.object({\n status: z.enum([\"listed\", \"error\"]),\n plugins: z.array(\n z.object({\n key: z.string(),\n development: z.string().optional(),\n production: z.string().optional(),\n localPath: z.string().optional(),\n source: z.enum([\"local\", \"remote\"]),\n integrity: z.string().optional(),\n version: z.string().optional(),\n name: z.string().optional(),\n }),\n ),\n error: z.string().optional(),\n});\n\nexport const PluginPublishOptionsSchema = z.object({\n key: z.string(),\n});\n\nexport const PluginPublishResultSchema = z.object({\n status: z.enum([\"published\", \"error\"]),\n key: z.string(),\n path: z.string().optional(),\n production: z.string().optional(),\n version: z.string().optional(),\n fingerprint: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const WorkspaceDeployResultSchema = z.object({\n key: z.string(),\n kind: z.enum([\"app\", \"plugin\"]),\n success: z.boolean(),\n error: z.string().optional(),\n durationMs: z.number().optional(),\n});\n\nexport const PublishOptionsSchema = z.object({\n dryRun: z.boolean().default(false),\n verbose: z.boolean().default(false),\n network: z.enum([\"mainnet\", \"testnet\"]).optional(),\n privateKey: z.string().optional(),\n wallet: z.boolean().default(false),\n env: z.enum([\"production\", \"staging\"]).default(\"production\"),\n registry: z.string().optional(),\n});\n\nexport const RollbackOptionsSchema = z.object({\n listOnly: z.boolean().default(false),\n version: z.string().optional(),\n previous: z.boolean().default(false),\n force: z.boolean().default(false),\n limit: z.number().int().min(1).max(200).default(20),\n dryRun: z.boolean().default(false),\n verbose: z.boolean().default(false),\n network: z.enum([\"mainnet\", \"testnet\"]).optional(),\n privateKey: z.string().optional(),\n wallet: z.boolean().default(false),\n env: z.enum([\"production\", \"staging\"]).default(\"production\"),\n registry: z.string().optional(),\n});\n\nexport const RollbackHistoryEntrySchema = z.object({\n blockHeight: z.number(),\n blockTimestamp: z.string(),\n txHash: z.string().optional(),\n summary: z.string(),\n});\n\nexport const RollbackSlotCheckSchema = z.object({\n slot: z.string(),\n ok: z.boolean(),\n reason: z.string().optional(),\n});\n\nexport const RollbackResultSchema = z.object({\n status: z.enum([\"published\", \"error\", \"dry-run\", \"list\"]),\n registryUrl: z.string(),\n txHash: z.string().optional(),\n error: z.string().optional(),\n history: z.array(RollbackHistoryEntrySchema).optional(),\n verification: z.array(RollbackSlotCheckSchema).optional(),\n});\n\nexport const PublishResultSchema = z.object({\n status: z.enum([\"published\", \"error\", \"dry-run\"]),\n registryUrl: z.string(),\n txHash: z.string().optional(),\n fingerprint: z.string().optional(),\n slotPins: z.record(z.string(), z.string()).optional(),\n error: z.string().optional(),\n built: z.array(z.string()).optional(),\n skipped: z.array(z.string()).optional(),\n deployResults: z.array(WorkspaceDeployResultSchema).optional(),\n});\n\nexport const DeployOptionsSchema = z.object({\n statusList: z.boolean().default(false),\n env: z.enum([\"production\", \"staging\"]).default(\"production\"),\n build: z.boolean().default(true),\n dryRun: z.boolean().default(false),\n verbose: z.boolean().default(false),\n packages: z\n .string()\n .default(\"all\")\n .describe(\n \"Comma-separated keys, 'all' (default), or 'local' (only this repo's local plugins hosted via 'local:…')\",\n ),\n network: z.enum([\"mainnet\", \"testnet\"]).optional(),\n privateKey: z.string().optional(),\n service: z.string().optional(),\n registry: z.string().optional(),\n imageDigest: z\n .string()\n .optional()\n .refine((digest) => digest === undefined || isValidImageDigest(digest), {\n message: \"image digest must be sha256:<64 hex characters>\",\n })\n .describe(\n \"Digest (sha256:…) of a pre-pushed runtime image — skips the image build/push leg and pins Railway to this digest\",\n ),\n fullUpload: z\n .boolean()\n .default(false)\n .describe(\n \"Re-upload every dist file instead of diffing unchanged files against the previous deploy\",\n ),\n smoke: z\n .boolean()\n .default(false)\n .describe(\n \"After publish, boot the runtime image against the just-published config and gate the Railway promotion on it — a red smoke rolls the config back to the previous snapshot\",\n ),\n});\n\nexport const DeployManifestListEntrySchema = z.object({\n key: z.string(),\n blockHeight: z.number(),\n blockTimestamp: z.string(),\n txHash: z.string().optional(),\n publishedAt: z.string().optional(),\n});\n\nexport const DeployResultSchema = z.object({\n status: z.enum([\"deployed\", \"published\", \"error\", \"dry-run\", \"list\"]),\n registryUrl: z.string(),\n txHash: z.string().optional(),\n fingerprint: z.string().optional(),\n slotPins: z.record(z.string(), z.string()).optional(),\n history: z.array(DeployManifestListEntrySchema).optional(),\n built: z.array(z.string()).optional(),\n skipped: z.array(z.string()).optional(),\n image: z.string().optional(),\n service: z.string().optional(),\n error: z.string().optional(),\n deployResults: z.array(WorkspaceDeployResultSchema).optional(),\n});\n\nexport const SmokeOptionsSchema = z.object({\n image: z\n .string()\n .optional()\n .describe(\"Runtime image ref to boot — required unless defaulted by the deploy train\"),\n port: z.number().int().default(3000),\n keep: z.boolean().default(false),\n account: z\n .string()\n .optional()\n .describe(\"Registry identity — defaults to the resolved session config\"),\n gateway: z.string().optional(),\n apiDatabaseUrl: z.string().optional(),\n authDatabaseUrl: z.string().optional(),\n env: z.enum([\"production\", \"staging\"]).default(\"production\"),\n registry: z.string().optional(),\n});\n\nexport const SmokeResultSchema = z.object({\n status: z.enum([\"ok\", \"error\"]),\n image: z.string().optional(),\n summary: z.string().optional(),\n diagnosis: z.string().optional(),\n error: z.string().optional(),\n});\n\nfunction parseNearAmount(value: string): number {\n const cleaned = value.replace(/[\\s_,]/g, \"\");\n const match = cleaned.match(/^(\\d+(?:\\.\\d+)?)near$/i);\n if (!match) return NaN;\n return Number.parseFloat(match[1]!);\n}\n\nconst MIN_PUBLISH_ALLOWANCE_NEAR = 0.3;\n\nexport const KeyPublishOptionsSchema = z.object({\n allowance: z\n .string()\n .default(\"1NEAR\")\n .refine(\n (val) => {\n const amount = parseNearAmount(val);\n return !Number.isNaN(amount) && amount >= MIN_PUBLISH_ALLOWANCE_NEAR;\n },\n {\n message: `Allowance must be at least ${MIN_PUBLISH_ALLOWANCE_NEAR} NEAR to cover the transaction cost`,\n },\n ),\n env: z.enum([\"production\", \"staging\"]).default(\"production\"),\n registry: z.string().optional(),\n removeOldKeys: z.boolean().optional(),\n});\n\nexport const KeyPublishResultSchema = z.object({\n status: z.enum([\"published\", \"error\"]),\n account: z.string(),\n network: z.enum([\"mainnet\", \"testnet\"]),\n env: z.enum([\"production\", \"staging\"]),\n contract: z.string(),\n allowance: z.string(),\n functionNames: z.array(z.string()),\n publicKey: z.string().optional(),\n privateKey: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const OverrideSectionSchema = z.enum([\"ui\", \"api\", \"host\", \"plugins\"]);\n\nconst DEFAULT_LOGIN_EXPIRES_IN_SECONDS = 90 * 24 * 60 * 60;\n\nexport const LoginOptionsSchema = z.object({\n key: z.boolean().default(false),\n site: z.string().optional(),\n expiresIn: z.number().int().positive().default(DEFAULT_LOGIN_EXPIRES_IN_SECONDS),\n device: z.string().optional(),\n env: z.enum([\"production\", \"staging\"]).default(\"production\"),\n registry: z.string().optional(),\n});\n\nexport const LoginResultSchema = z.object({\n status: z.enum([\"logged-in\", \"error\"]),\n siteUrl: z.string(),\n accountId: z.string().nullish(),\n expiresAt: z.string().nullish(),\n loginUrl: z.string().nullish(),\n publishKey: z\n .object({\n publicKey: z.string(),\n network: z.enum([\"mainnet\", \"testnet\"]),\n contract: z.string(),\n exportedTo: z.string(),\n })\n .nullish(),\n warning: z.string().nullish(),\n error: z.string().optional(),\n});\n\nexport const LogoutOptionsSchema = z.object({\n configDir: z.string().optional(),\n});\n\nexport const LogoutResultSchema = z.object({\n status: z.enum([\"logged-out\", \"error\"]),\n revokedApiKey: z.boolean(),\n removedPublishKey: z.boolean(),\n warning: z.string().nullish(),\n error: z.string().optional(),\n});\n\nexport const RuntimeOverrideTargetBaseSchema = z.enum([\"ui\", \"api\", \"plugins\"]);\n\nexport const RuntimeOverrideTargetSchema = z.union([\n RuntimeOverrideTargetBaseSchema,\n z.string().regex(/^plugins\\.(\\*|[a-z0-9_-]+)$/),\n]);\n\nexport const InitOptionsSchema = z.object({\n extends: z.string().optional(),\n directory: z.string().optional(),\n account: z.string().optional(),\n domain: z.string().optional(),\n source: z.string().optional(),\n plugins: z.array(z.string()).optional(),\n overrides: z.array(OverrideSectionSchema).optional(),\n level: StarterLevelSchema.optional(),\n noInteractive: z.boolean().default(false),\n noInstall: z.boolean().default(false),\n});\n\nexport const InitResultSchema = z.object({\n status: z.enum([\"initialized\", \"error\"]),\n directory: z.string(),\n extendsRef: z.string(),\n account: z.string().optional(),\n domain: z.string().optional(),\n extends: z.string(),\n plugins: z.array(z.string()).optional(),\n overrides: z.array(OverrideSectionSchema).optional(),\n filesCopied: z.number(),\n timings: z.array(PhaseTimingSchema).optional(),\n targetDir: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const SyncOptionsSchema = z.object({\n dryRun: z.boolean().default(false),\n noInstall: z.boolean().default(false),\n json: z.boolean().default(false),\n});\n\nexport const SyncResultSchema = z.object({\n status: z.enum([\"synced\", \"dry-run\", \"error\"]),\n updated: z.array(z.string()),\n skipped: z.array(z.string()),\n added: z.array(z.string()),\n conflicted: z.array(z.string()).default([]),\n /** retired stub files deleted silently (unmodified) — ADR 0023 migration */\n retired: z.array(z.string()).optional(),\n /** retired stub files that were hand-modified — backed up, then deleted */\n retiredConflicted: z.array(z.string()).optional(),\n /** where the retired hand-modified copies were backed up */\n retiredBackupDir: z.string().optional(),\n backupDir: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const UpgradeOptionsSchema = z.object({\n dryRun: z.boolean().default(false),\n noInstall: z.boolean().default(false),\n noSync: z.boolean().default(false),\n json: z.boolean().default(false),\n migrationsOnly: z.boolean().default(false),\n});\n\nexport const UpgradeResultSchema = z.object({\n status: z.enum([\"upgraded\", \"dry-run\", \"error\"]),\n packages: z.array(\n z.object({\n name: z.string(),\n from: z.string().optional(),\n to: z.string(),\n }),\n ),\n sync: SyncResultSchema.optional(),\n migrated: z.array(z.string()).optional(),\n availablePlugins: z.array(z.string()).optional(),\n selectedPlugins: z.array(z.string()).optional(),\n timings: z.array(PhaseTimingSchema).optional(),\n changelogUrl: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const DeployedVersionStatusSchema = z.object({\n publishedFingerprint: z.string(),\n servedFingerprint: z.string().optional(),\n inSync: z.boolean(),\n error: z.string().optional(),\n});\n\nexport const StatusResultSchema = z.object({\n status: z.enum([\"ok\", \"error\"]),\n deployedVersion: DeployedVersionStatusSchema.optional(),\n extends: z.string().optional(),\n account: z.string().optional(),\n domain: z.string().optional(),\n packages: z.array(\n z.object({\n name: z.string(),\n installed: z.string().optional(),\n latest: z.string().optional(),\n isLinked: z.boolean().optional(),\n specifier: z.string().optional(),\n }),\n ),\n lastSync: z.string().optional(),\n envFile: z.enum([\"found\", \"missing\", \"example-only\"]),\n parentReachable: z.boolean().optional(),\n error: z.string().optional(),\n});\n\nexport const TypesGenOptionsSchema = z.object({\n env: z.enum([\"development\", \"production\"]).optional(),\n dryRun: z.boolean().default(false),\n remotePlugins: z.array(z.string()).optional(),\n});\n\nexport const TypesGenResultSchema = z.object({\n status: z.enum([\"success\", \"error\"]),\n generated: z.array(z.string()),\n fetched: z.array(z.string()),\n skipped: z.array(z.string()),\n failed: z.array(z.string()),\n error: z.string().optional(),\n});\n\nexport const DbStudioOptionsSchema = z.object({\n plugin: z.string().default(\"api\"),\n});\n\nexport const DbStudioResultSchema = z.object({\n status: z.enum([\"success\", \"error\"]),\n plugin: z.string(),\n source: z.enum([\"local\", \"remote\"]),\n section: z.string(),\n databaseSecret: z.string().optional(),\n databaseUrl: z.string().optional(),\n workspaceDir: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const DbDoctorOptionsSchema = z.object({\n plugin: z.string(),\n});\n\nexport const DbDoctorResultSchema = z.object({\n status: z.enum([\"success\", \"error\"]),\n plugin: z.string(),\n slug: z.string(),\n journalTable: z.string(),\n journalSchema: z.string(),\n diagnosis: z.string(),\n localMigrationCount: z.number(),\n appliedHashCount: z.number(),\n expectedTables: z.array(z.string()),\n missingTables: z.array(z.string()),\n workspaceDir: z.string().optional(),\n dbSecret: z.string().optional(),\n dbUrl: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const DbRepairOptionsSchema = z.object({\n plugin: z.string(),\n mode: z.enum([\"history-reset\", \"recreate\"]).default(\"history-reset\"),\n yes: z.boolean().optional(),\n});\n\nexport const DbRepairResultSchema = z.object({\n status: z.enum([\"repaired\", \"refused\", \"error\"]),\n message: z.string(),\n diagnosis: z.any(),\n error: z.string().optional(),\n});\n\nexport const ProcessRoleSchema = z.enum([\"standalone\", \"workspace-parent\", \"workspace-child\"]);\n\nexport const PidEntrySchema = z.object({\n pid: z.number(),\n configDir: z.string(),\n parentPid: z.number().optional(),\n role: ProcessRoleSchema,\n ports: z\n .object({\n host: z.number().optional(),\n api: z.number().optional(),\n ui: z.number().optional(),\n auth: z.number().optional(),\n })\n .default({}),\n budget: z\n .object({\n min: z.number(),\n max: z.number(),\n })\n .optional(),\n startedAt: z.number(),\n description: z.string(),\n});\n\nexport const PsResultSchema = z.object({\n status: z.enum([\"ok\", \"error\"]),\n entries: z.array(PidEntrySchema),\n error: z.string().optional(),\n});\n\nexport const LogsOptionsSchema = z.object({\n service: z.string().optional(),\n tail: z.number().int().positive().max(100_000).optional(),\n follow: z.boolean().optional(),\n});\n\nexport const LogsResultSchema = z.object({\n logFile: z.string(),\n lines: z.array(z.string()),\n});\n\nexport const KillOptionsSchema = z.object({\n configDir: z.string().optional(),\n signal: z.enum([\"SIGTERM\", \"SIGKILL\"]).default(\"SIGTERM\"),\n all: z.boolean().default(false),\n});\n\nexport const KillResultSchema = z.object({\n status: z.enum([\"killed\", \"error\"]),\n killed: z.array(z.object({ pid: z.number(), configDir: z.string() })),\n skipped: z.array(z.object({ pid: z.number(), reason: z.string() })),\n error: z.string().optional(),\n});\n\nexport const TypecheckOptionsSchema = z.object({\n packages: z.string().default(\"all\"),\n});\n\nexport const TypecheckWorkspaceResultSchema = z.object({\n workspace: z.string(),\n passed: z.boolean(),\n output: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const TypecheckResultSchema = z.object({\n status: z.enum([\"success\", \"error\"]),\n checked: z.array(z.string()),\n skipped: z.array(z.string()),\n results: z.array(TypecheckWorkspaceResultSchema),\n error: z.string().optional(),\n});\n\nexport const InfraExportServiceSchema = z.object({\n key: z.string(),\n image: z.string(),\n env: z.record(z.string(), z.string()).default({}),\n ports: z.array(z.string()),\n healthcheck: z\n .object({\n test: z.array(z.string()),\n interval: z.string(),\n timeout: z.string(),\n retries: z.number(),\n })\n .optional(),\n volumes: z.array(z.string()).default([]),\n});\n\nexport const InfraExportOptionsSchema = z.object({\n target: z.enum([\"ci\", \"local\"]).default(\"ci\"),\n network: z.enum([\"mainnet\", \"testnet\"]).optional(),\n configDir: z.string().optional(),\n});\n\nexport const InfraExportResultSchema = z.object({\n env: z.record(z.string(), z.string()),\n services: z.array(InfraExportServiceSchema),\n generatedAt: z.string(),\n project: z.string(),\n account: z.string(),\n gateway: z.string(),\n});\n\nexport const MfCheckOptionsSchema = z.object({\n timeoutMs: z.number().default(15_000),\n});\n\nexport const MfCheckRemoteResultSchema = z.object({\n role: z.string(),\n url: z.string(),\n reachable: z.boolean(),\n pluginVersion: z.string().nullable(),\n ok: z.boolean(),\n reason: z.string().optional(),\n});\n\nexport const MfCheckResultSchema = z.object({\n status: z.enum([\"ok\", \"fail\"]),\n hostVersion: z.string().nullable(),\n hostReachable: z.boolean(),\n hostReason: z.string().optional(),\n remotes: z.array(MfCheckRemoteResultSchema),\n});\n\nexport const commandOptionSchemas = {\n dev: DevOptionsSchema,\n start: StartOptionsSchema,\n build: BuildOptionsSchema,\n config: ConfigOptionsSchema,\n registryUse: RegistryUseOptionsSchema,\n pluginAdd: PluginAddOptionsSchema,\n pluginRemove: PluginRemoveOptionsSchema,\n pluginPublish: PluginPublishOptionsSchema,\n publish: PublishOptionsSchema,\n rollback: RollbackOptionsSchema,\n deploy: DeployOptionsSchema,\n smoke: SmokeOptionsSchema,\n keyPublish: KeyPublishOptionsSchema,\n login: LoginOptionsSchema,\n logout: LogoutOptionsSchema,\n init: InitOptionsSchema,\n sync: SyncOptionsSchema,\n upgrade: UpgradeOptionsSchema,\n typecheck: TypecheckOptionsSchema,\n mfCheck: MfCheckOptionsSchema,\n infraExport: InfraExportOptionsSchema,\n dbStudio: DbStudioOptionsSchema,\n dbDoctor: DbDoctorOptionsSchema,\n dbRepair: DbRepairOptionsSchema,\n logs: LogsOptionsSchema,\n kill: KillOptionsSchema,\n} satisfies Partial<Record<keyof typeof bosContract, z.ZodType>>;\n\nexport const bosContract = oc.router({\n dev: oc.route({ method: \"POST\", path: \"/dev\" }).input(DevOptionsSchema).output(DevResultSchema),\n start: oc\n .route({ method: \"POST\", path: \"/start\" })\n .input(StartOptionsSchema)\n .output(StartResultSchema),\n build: oc\n .route({ method: \"POST\", path: \"/build\" })\n .input(BuildOptionsSchema)\n .output(BuildResultSchema),\n config: oc\n .route({ method: \"GET\", path: \"/config\" })\n .input(ConfigOptionsSchema)\n .output(ConfigResultSchema),\n registryUse: oc\n .route({ method: \"POST\", path: \"/registry/use\" })\n .input(RegistryUseOptionsSchema)\n .output(RegistryUseResultSchema),\n pluginAdd: oc\n .route({ method: \"POST\", path: \"/plugin/add\" })\n .input(PluginAddOptionsSchema)\n .output(PluginAddResultSchema),\n pluginRemove: oc\n .route({ method: \"POST\", path: \"/plugin/remove\" })\n .input(PluginRemoveOptionsSchema)\n .output(PluginRemoveResultSchema),\n pluginList: oc.route({ method: \"GET\", path: \"/plugin/list\" }).output(PluginListResultSchema),\n pluginPublish: oc\n .route({ method: \"POST\", path: \"/plugin/publish\" })\n .input(PluginPublishOptionsSchema)\n .output(PluginPublishResultSchema),\n publish: oc\n .route({ method: \"POST\", path: \"/publish\" })\n .input(PublishOptionsSchema)\n .output(PublishResultSchema),\n rollback: oc\n .route({ method: \"POST\", path: \"/rollback\" })\n .input(RollbackOptionsSchema)\n .output(RollbackResultSchema),\n deploy: oc\n .route({ method: \"POST\", path: \"/deploy\" })\n .input(DeployOptionsSchema)\n .output(DeployResultSchema),\n smoke: oc\n .route({ method: \"POST\", path: \"/smoke\" })\n .input(SmokeOptionsSchema)\n .output(SmokeResultSchema),\n keyPublish: oc\n .route({ method: \"POST\", path: \"/key/publish\" })\n .input(KeyPublishOptionsSchema)\n .output(KeyPublishResultSchema),\n login: oc\n .route({ method: \"POST\", path: \"/login\" })\n .input(LoginOptionsSchema)\n .output(LoginResultSchema),\n logout: oc\n .route({ method: \"POST\", path: \"/logout\" })\n .input(LogoutOptionsSchema)\n .output(LogoutResultSchema),\n init: oc\n .route({ method: \"POST\", path: \"/init\" })\n .input(InitOptionsSchema)\n .output(InitResultSchema),\n sync: oc\n .route({ method: \"POST\", path: \"/sync\" })\n .input(SyncOptionsSchema)\n .output(SyncResultSchema),\n upgrade: oc\n .route({ method: \"POST\", path: \"/upgrade\" })\n .input(UpgradeOptionsSchema)\n .output(UpgradeResultSchema),\n status: oc.route({ method: \"GET\", path: \"/status\" }).output(StatusResultSchema),\n typesGen: oc\n .route({ method: \"POST\", path: \"/types/gen\" })\n .input(TypesGenOptionsSchema)\n .output(TypesGenResultSchema),\n dbStudio: oc\n .route({ method: \"POST\", path: \"/db/studio\" })\n .input(DbStudioOptionsSchema)\n .output(DbStudioResultSchema),\n dbDoctor: oc\n .route({ method: \"POST\", path: \"/db/doctor\" })\n .input(DbDoctorOptionsSchema)\n .output(DbDoctorResultSchema),\n dbRepair: oc\n .route({ method: \"POST\", path: \"/db/repair\" })\n .input(DbRepairOptionsSchema)\n .output(DbRepairResultSchema),\n ps: oc.route({ method: \"GET\", path: \"/ps\" }).output(PsResultSchema),\n logs: oc\n .route({ method: \"GET\", path: \"/logs\" })\n .input(LogsOptionsSchema)\n .output(LogsResultSchema),\n kill: oc\n .route({ method: \"POST\", path: \"/kill\" })\n .input(KillOptionsSchema)\n .output(KillResultSchema),\n typecheck: oc\n .route({ method: \"POST\", path: \"/typecheck\" })\n .input(TypecheckOptionsSchema)\n .output(TypecheckResultSchema),\n mfCheck: oc\n .route({ method: \"POST\", path: \"/mf/check\" })\n .input(MfCheckOptionsSchema)\n .output(MfCheckResultSchema),\n infraExport: oc\n .route({ method: \"POST\", path: \"/infra/export\" })\n .input(InfraExportOptionsSchema)\n .output(InfraExportResultSchema),\n});\n\nexport type DevOptions = z.infer<typeof DevOptionsSchema>;\nexport type DevResult = z.infer<typeof DevResultSchema>;\nexport type StartOptions = z.infer<typeof StartOptionsSchema>;\nexport type StartResult = z.infer<typeof StartResultSchema>;\nexport type BuildOptions = z.infer<typeof BuildOptionsSchema>;\nexport type BosConfigResult = z.infer<typeof ConfigResultSchema>;\nexport type PluginAddOptions = z.infer<typeof PluginAddOptionsSchema>;\nexport type PluginAddResult = z.infer<typeof PluginAddResultSchema>;\nexport type PluginRemoveOptions = z.infer<typeof PluginRemoveOptionsSchema>;\nexport type PluginRemoveResult = z.infer<typeof PluginRemoveResultSchema>;\nexport type PluginListResult = z.infer<typeof PluginListResultSchema>;\nexport type PluginPublishOptions = z.infer<typeof PluginPublishOptionsSchema>;\nexport type PluginPublishResult = z.infer<typeof PluginPublishResultSchema>;\nexport type WorkspaceDeployResult = z.infer<typeof WorkspaceDeployResultSchema>;\nexport type PublishOptions = z.infer<typeof PublishOptionsSchema>;\nexport type PublishResult = z.infer<typeof PublishResultSchema>;\nexport type DeployOptions = z.infer<typeof DeployOptionsSchema>;\nexport type DeployResult = z.infer<typeof DeployResultSchema>;\nexport type KeyPublishOptions = z.infer<typeof KeyPublishOptionsSchema>;\nexport type KeyPublishResult = z.infer<typeof KeyPublishResultSchema>;\nexport type LoginOptions = z.infer<typeof LoginOptionsSchema>;\nexport type LoginResult = z.infer<typeof LoginResultSchema>;\nexport type LogoutOptions = z.infer<typeof LogoutOptionsSchema>;\nexport type LogoutResult = z.infer<typeof LogoutResultSchema>;\nexport type InitOptions = z.infer<typeof InitOptionsSchema>;\nexport type InitResult = z.infer<typeof InitResultSchema>;\nexport type OverrideSection = z.infer<typeof OverrideSectionSchema>;\nexport type PhaseTiming = z.infer<typeof PhaseTimingSchema>;\nexport type SyncOptions = z.infer<typeof SyncOptionsSchema>;\nexport type SyncResult = z.infer<typeof SyncResultSchema>;\nexport type UpgradeOptions = z.infer<typeof UpgradeOptionsSchema>;\nexport type UpgradeResult = z.infer<typeof UpgradeResultSchema>;\nexport type StatusResult = z.infer<typeof StatusResultSchema>;\nexport type TypesGenOptions = z.infer<typeof TypesGenOptionsSchema>;\nexport type TypesGenResult = z.infer<typeof TypesGenResultSchema>;\nexport type DbStudioOptions = z.infer<typeof DbStudioOptionsSchema>;\nexport type DbStudioResult = z.infer<typeof DbStudioResultSchema>;\nexport type DbDoctorOptions = z.infer<typeof DbDoctorOptionsSchema>;\nexport type DbDoctorResult = z.infer<typeof DbDoctorResultSchema>;\nexport type DbRepairOptions = z.infer<typeof DbRepairOptionsSchema>;\nexport type DbRepairResult = z.infer<typeof DbRepairResultSchema>;\nexport type RuntimeOverrideTarget = z.infer<typeof RuntimeOverrideTargetSchema>;\nexport type ProcessRole = z.infer<typeof ProcessRoleSchema>;\nexport type PidEntry = z.infer<typeof PidEntrySchema>;\nexport type PsResult = z.infer<typeof PsResultSchema>;\nexport type LogsOptions = z.infer<typeof LogsOptionsSchema>;\nexport type LogsResult = z.infer<typeof LogsResultSchema>;\nexport type KillOptions = z.infer<typeof KillOptionsSchema>;\nexport type KillResult = z.infer<typeof KillResultSchema>;\nexport type TypecheckOptions = z.infer<typeof TypecheckOptionsSchema>;\nexport type TypecheckResult = z.infer<typeof TypecheckResultSchema>;\nexport type TypecheckWorkspaceResult = z.infer<typeof TypecheckWorkspaceResultSchema>;\nexport type InfraExportOptions = z.infer<typeof InfraExportOptionsSchema>;\nexport type MfCheckOptions = z.infer<typeof MfCheckOptionsSchema>;\nexport type MfCheckResult = z.infer<typeof MfCheckResultSchema>;\nexport type InfraExportResult = z.infer<typeof InfraExportResultSchema>;\nexport type InfraExportService = z.infer<typeof InfraExportServiceSchema>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contract.mjs","names":["z"],"sources":["../src/contract.ts"],"sourcesContent":["import \"@orpc/openapi/extensions/route\";\nimport * as z from \"zod\";\nimport type { DevSessionData, StartSummary } from \"./dev-session-data\";\nimport { isValidImageDigest } from \"./image-deploy\";\nimport { oc } from \"./sdk\";\nimport {\n BosConfigInputSchema,\n BosConfigSchema,\n SourceModeSchema,\n StarterLevelSchema,\n} from \"./types\";\n\nexport const PhaseTimingSchema = z.object({\n name: z.string(),\n durationMs: z.number(),\n});\n\nexport const DevOptionsSchema = z.object({\n host: SourceModeSchema.default(\"local\"),\n ui: SourceModeSchema.default(\"local\"),\n api: SourceModeSchema.default(\"local\"),\n auth: SourceModeSchema.default(\"local\"),\n remotePlugins: z.array(z.string()).optional(),\n proxy: z.boolean().default(false),\n ssr: z.boolean().default(false),\n port: z.number().optional(),\n apiPort: z.number().optional(),\n uiPort: z.number().optional(),\n authPort: z.number().optional(),\n pluginPortStart: z.number().optional(),\n interactive: z.boolean().optional(),\n logLevel: z.enum([\"error\", \"warn\", \"info\", \"debug\"]).optional(),\n});\n\nexport const DevResultSchema = z.object({\n status: z.enum([\"started\", \"error\"]),\n description: z.string(),\n processes: z.array(z.string()),\n timings: z.array(PhaseTimingSchema).optional(),\n session: z.custom<DevSessionData>().optional(),\n});\n\nexport const StartOptionsSchema = z.object({\n port: z.number().optional(),\n interactive: z.boolean().optional(),\n account: z.string().optional(),\n domain: z.string().optional(),\n env: z.enum([\"production\", \"staging\"]).default(\"production\"),\n registry: z.string().optional(),\n configPath: z.string().optional(),\n});\n\nexport const StartResultSchema = z.object({\n status: z.enum([\"running\", \"error\"]),\n url: z.string(),\n error: z.string().optional(),\n session: z.custom<DevSessionData>().optional(),\n summary: z.custom<StartSummary>().optional(),\n});\n\nexport const BuildOptionsSchema = z.object({\n packages: z\n .string()\n .default(\"all\")\n .describe(\n \"Comma-separated keys, 'all' (default), or 'local' (only this repo's local plugins hosted via 'local:…')\",\n ),\n force: z.boolean().default(false),\n});\n\nexport const BuildResultSchema = z.object({\n status: z.enum([\"success\", \"error\"]),\n error: z.string().optional(),\n built: z.array(z.string()),\n skipped: z.array(z.string()).optional(),\n});\n\nexport const ConfigOptionsSchema = z.object({\n full: z.boolean().default(false),\n});\n\nexport const ConfigResultSchema = z.object({\n config: z.union([BosConfigInputSchema, BosConfigSchema]).nullable(),\n packages: z.array(z.string()),\n remotes: z.array(z.string()),\n full: z.boolean().default(false),\n});\n\nexport const RegistryUseOptionsSchema = z.object({\n from: z.string().describe(\"Published runtime to compose from (account/gateway or bos:// URL)\"),\n sections: z\n .array(z.string())\n .min(1)\n .describe(\"Sections to compose: app.ui, app.host, app.api, app.auth, plugins.<key>\"),\n dryRun: z.boolean().default(false),\n});\n\nexport const RegistryUseResultSchema = z.object({\n status: z.enum([\"updated\", \"dry-run\", \"error\"]),\n from: z.string(),\n applied: z.array(z.string()),\n configPath: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const PluginAddOptionsSchema = z.object({\n source: z.string(),\n as: z.string().optional(),\n production: z.string().optional(),\n});\n\nexport const PluginAddResultSchema = z.object({\n status: z.enum([\"added\", \"error\"]),\n key: z.string(),\n development: z.string().optional(),\n production: z.string().optional(),\n integrity: z.string().optional(),\n version: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const PluginRemoveOptionsSchema = z.object({\n key: z.string(),\n});\n\nexport const PluginRemoveResultSchema = z.object({\n status: z.enum([\"removed\", \"error\"]),\n key: z.string(),\n error: z.string().optional(),\n});\n\nexport const PluginListResultSchema = z.object({\n status: z.enum([\"listed\", \"error\"]),\n plugins: z.array(\n z.object({\n key: z.string(),\n development: z.string().optional(),\n production: z.string().optional(),\n localPath: z.string().optional(),\n source: z.enum([\"local\", \"remote\"]),\n integrity: z.string().optional(),\n version: z.string().optional(),\n name: z.string().optional(),\n }),\n ),\n error: z.string().optional(),\n});\n\nexport const PluginPublishOptionsSchema = z.object({\n key: z.string(),\n});\n\nexport const PluginPublishResultSchema = z.object({\n status: z.enum([\"published\", \"error\"]),\n key: z.string(),\n path: z.string().optional(),\n production: z.string().optional(),\n version: z.string().optional(),\n fingerprint: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const WorkspaceDeployResultSchema = z.object({\n key: z.string(),\n kind: z.enum([\"app\", \"plugin\"]),\n success: z.boolean(),\n error: z.string().optional(),\n durationMs: z.number().optional(),\n});\n\nexport const PublishOptionsSchema = z.object({\n dryRun: z.boolean().default(false),\n verbose: z.boolean().default(false),\n network: z.enum([\"mainnet\", \"testnet\"]).optional(),\n privateKey: z.string().optional(),\n wallet: z.boolean().default(false),\n env: z.enum([\"production\", \"staging\"]).default(\"production\"),\n registry: z.string().optional(),\n});\n\nexport const RollbackOptionsSchema = z.object({\n listOnly: z.boolean().default(false),\n version: z.string().optional(),\n previous: z.boolean().default(false),\n force: z.boolean().default(false),\n limit: z.number().int().min(1).max(200).default(20),\n dryRun: z.boolean().default(false),\n verbose: z.boolean().default(false),\n network: z.enum([\"mainnet\", \"testnet\"]).optional(),\n privateKey: z.string().optional(),\n wallet: z.boolean().default(false),\n env: z.enum([\"production\", \"staging\"]).default(\"production\"),\n registry: z.string().optional(),\n});\n\nexport const RollbackHistoryEntrySchema = z.object({\n blockHeight: z.number(),\n blockTimestamp: z.string(),\n txHash: z.string().optional(),\n summary: z.string(),\n});\n\nexport const RollbackSlotCheckSchema = z.object({\n slot: z.string(),\n ok: z.boolean(),\n reason: z.string().optional(),\n});\n\nexport const RollbackResultSchema = z.object({\n status: z.enum([\"published\", \"error\", \"dry-run\", \"list\"]),\n registryUrl: z.string(),\n txHash: z.string().optional(),\n error: z.string().optional(),\n history: z.array(RollbackHistoryEntrySchema).optional(),\n verification: z.array(RollbackSlotCheckSchema).optional(),\n});\n\nexport const PublishResultSchema = z.object({\n status: z.enum([\"published\", \"error\", \"dry-run\"]),\n registryUrl: z.string(),\n txHash: z.string().optional(),\n fingerprint: z.string().optional(),\n slotPins: z.record(z.string(), z.string()).optional(),\n error: z.string().optional(),\n built: z.array(z.string()).optional(),\n skipped: z.array(z.string()).optional(),\n deployResults: z.array(WorkspaceDeployResultSchema).optional(),\n});\n\nexport const DeployOptionsSchema = z.object({\n statusList: z.boolean().default(false),\n env: z.enum([\"production\", \"staging\"]).default(\"production\"),\n build: z.boolean().default(true),\n dryRun: z.boolean().default(false),\n verbose: z.boolean().default(false),\n packages: z\n .string()\n .default(\"all\")\n .describe(\n \"Comma-separated keys, 'all' (default), or 'local' (only this repo's local plugins hosted via 'local:…')\",\n ),\n network: z.enum([\"mainnet\", \"testnet\"]).optional(),\n privateKey: z.string().optional(),\n service: z.string().optional(),\n registry: z.string().optional(),\n imageDigest: z\n .string()\n .optional()\n .refine((digest) => digest === undefined || isValidImageDigest(digest), {\n message: \"image digest must be sha256:<64 hex characters>\",\n })\n .describe(\n \"Digest (sha256:…) of a pre-pushed runtime image — skips the image build/push leg and pins Railway to this digest\",\n ),\n fullUpload: z\n .boolean()\n .default(false)\n .describe(\n \"Re-upload every dist file instead of diffing unchanged files against the previous deploy\",\n ),\n smoke: z\n .boolean()\n .default(false)\n .describe(\n \"After publish, boot the runtime image against the just-published config and gate the Railway promotion on it — a red smoke rolls the config back to the previous snapshot\",\n ),\n});\n\nexport const DeployManifestListEntrySchema = z.object({\n key: z.string(),\n blockHeight: z.number(),\n blockTimestamp: z.string(),\n txHash: z.string().optional(),\n publishedAt: z.string().optional(),\n});\n\nexport const DeployResultSchema = z.object({\n status: z.enum([\"deployed\", \"published\", \"error\", \"dry-run\", \"list\"]),\n registryUrl: z.string(),\n txHash: z.string().optional(),\n fingerprint: z.string().optional(),\n slotPins: z.record(z.string(), z.string()).optional(),\n history: z.array(DeployManifestListEntrySchema).optional(),\n built: z.array(z.string()).optional(),\n skipped: z.array(z.string()).optional(),\n image: z.string().optional(),\n service: z.string().optional(),\n error: z.string().optional(),\n deployResults: z.array(WorkspaceDeployResultSchema).optional(),\n});\n\nexport const SmokeOptionsSchema = z.object({\n image: z\n .string()\n .optional()\n .describe(\"Runtime image ref to boot — required unless defaulted by the deploy train\"),\n port: z.number().int().default(3000),\n keep: z.boolean().default(false),\n account: z\n .string()\n .optional()\n .describe(\"Registry identity — defaults to the resolved session config\"),\n gateway: z.string().optional(),\n apiDatabaseUrl: z.string().optional(),\n authDatabaseUrl: z.string().optional(),\n env: z.enum([\"production\", \"staging\"]).default(\"production\"),\n registry: z.string().optional(),\n});\n\nexport const SmokeResultSchema = z.object({\n status: z.enum([\"ok\", \"error\"]),\n image: z.string().optional(),\n summary: z.string().optional(),\n diagnosis: z.string().optional(),\n error: z.string().optional(),\n});\n\nfunction parseNearAmount(value: string): number {\n const cleaned = value.replace(/[\\s_,]/g, \"\");\n const match = cleaned.match(/^(\\d+(?:\\.\\d+)?)near$/i);\n if (!match) return NaN;\n return Number.parseFloat(match[1]!);\n}\n\nconst MIN_PUBLISH_ALLOWANCE_NEAR = 0.3;\n\nexport const KeyPublishOptionsSchema = z.object({\n allowance: z\n .string()\n .default(\"1NEAR\")\n .refine(\n (val) => {\n const amount = parseNearAmount(val);\n return !Number.isNaN(amount) && amount >= MIN_PUBLISH_ALLOWANCE_NEAR;\n },\n {\n message: `Allowance must be at least ${MIN_PUBLISH_ALLOWANCE_NEAR} NEAR to cover the transaction cost`,\n },\n ),\n env: z.enum([\"production\", \"staging\"]).default(\"production\"),\n registry: z.string().optional(),\n removeOldKeys: z.boolean().optional(),\n});\n\nexport const KeyPublishResultSchema = z.object({\n status: z.enum([\"published\", \"error\"]),\n account: z.string(),\n network: z.enum([\"mainnet\", \"testnet\"]),\n env: z.enum([\"production\", \"staging\"]),\n contract: z.string(),\n allowance: z.string(),\n functionNames: z.array(z.string()),\n publicKey: z.string().optional(),\n privateKey: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const OverrideSectionSchema = z.enum([\"ui\", \"api\", \"host\", \"plugins\"]);\n\nconst DEFAULT_LOGIN_EXPIRES_IN_SECONDS = 90 * 24 * 60 * 60;\n\nexport const LoginOptionsSchema = z.object({\n key: z.boolean().default(false),\n custody: z.boolean().default(false),\n site: z.string().optional(),\n expiresIn: z.number().int().positive().default(DEFAULT_LOGIN_EXPIRES_IN_SECONDS),\n device: z.string().optional(),\n env: z.enum([\"production\", \"staging\"]).default(\"production\"),\n registry: z.string().optional(),\n});\n\nexport const LoginResultSchema = z.object({\n status: z.enum([\"logged-in\", \"error\"]),\n siteUrl: z.string(),\n accountId: z.string().nullish(),\n expiresAt: z.string().nullish(),\n loginUrl: z.string().nullish(),\n publishKey: z\n .object({\n publicKey: z.string(),\n network: z.enum([\"mainnet\", \"testnet\"]),\n contract: z.string(),\n exportedTo: z.string(),\n })\n .nullish(),\n custodyWallet: z\n .object({\n walletId: z.string(),\n nearAccountId: z.string(),\n network: z.enum([\"mainnet\", \"testnet\"]),\n handoffUrl: z.string().nullish(),\n })\n .nullish(),\n outlayerCli: z\n .object({\n status: z.enum([\"linked\", \"cli-missing\", \"error\"]),\n network: z.enum([\"mainnet\", \"testnet\"]),\n detail: z.string().nullish(),\n })\n .nullish(),\n warning: z.string().nullish(),\n error: z.string().optional(),\n});\n\nexport const LogoutOptionsSchema = z.object({\n configDir: z.string().optional(),\n});\n\nexport const LogoutResultSchema = z.object({\n status: z.enum([\"logged-out\", \"error\"]),\n revokedApiKey: z.boolean(),\n removedPublishKey: z.boolean(),\n warning: z.string().nullish(),\n error: z.string().optional(),\n});\n\nexport const RuntimeOverrideTargetBaseSchema = z.enum([\"ui\", \"api\", \"plugins\"]);\n\nexport const RuntimeOverrideTargetSchema = z.union([\n RuntimeOverrideTargetBaseSchema,\n z.string().regex(/^plugins\\.(\\*|[a-z0-9_-]+)$/),\n]);\n\nexport const InitOptionsSchema = z.object({\n extends: z.string().optional(),\n directory: z.string().optional(),\n account: z.string().optional(),\n domain: z.string().optional(),\n source: z.string().optional(),\n plugins: z.array(z.string()).optional(),\n overrides: z.array(OverrideSectionSchema).optional(),\n level: StarterLevelSchema.optional(),\n noInteractive: z.boolean().default(false),\n noInstall: z.boolean().default(false),\n});\n\nexport const InitResultSchema = z.object({\n status: z.enum([\"initialized\", \"error\"]),\n directory: z.string(),\n extendsRef: z.string(),\n account: z.string().optional(),\n domain: z.string().optional(),\n extends: z.string(),\n plugins: z.array(z.string()).optional(),\n overrides: z.array(OverrideSectionSchema).optional(),\n filesCopied: z.number(),\n timings: z.array(PhaseTimingSchema).optional(),\n targetDir: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const SyncOptionsSchema = z.object({\n dryRun: z.boolean().default(false),\n noInstall: z.boolean().default(false),\n json: z.boolean().default(false),\n});\n\nexport const SyncResultSchema = z.object({\n status: z.enum([\"synced\", \"dry-run\", \"error\"]),\n updated: z.array(z.string()),\n skipped: z.array(z.string()),\n added: z.array(z.string()),\n conflicted: z.array(z.string()).default([]),\n /** retired stub files deleted silently (unmodified) — ADR 0023 migration */\n retired: z.array(z.string()).optional(),\n /** retired stub files that were hand-modified — backed up, then deleted */\n retiredConflicted: z.array(z.string()).optional(),\n /** where the retired hand-modified copies were backed up */\n retiredBackupDir: z.string().optional(),\n backupDir: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const ImportOptionsSchema = z.object({\n workspace: z.string(),\n /** omitted → resolve the upstream from the authored config's extends chain */\n from: z.string().optional(),\n yes: z.boolean().default(false),\n dryRun: z.boolean().default(false),\n noInstall: z.boolean().default(false),\n json: z.boolean().default(false),\n});\n\nexport const ImportRouteDeltaSchema = z.object({\n oursOnly: z.array(z.string()),\n theirsOnly: z.array(z.string()),\n});\n\nexport const ImportMigrationCollisionSchema = z.object({\n kind: z.literal(\"tag-mismatch\"),\n idx: z.number(),\n localTag: z.string().optional(),\n upstreamTag: z.string().optional(),\n message: z.string(),\n});\n\nexport const ImportMigrationAppendSchema = z.object({\n idx: z.number(),\n fromTag: z.string(),\n toTag: z.string(),\n});\n\nexport const ImportMigrationReconciliationSchema = z.object({\n /** local journal tags kept verbatim (already applied, never renumbered) */\n kept: z.array(z.string()),\n /** upstream migrations renumbered and appended after the local tail */\n appended: z.array(ImportMigrationAppendSchema),\n /** upstream migrations matched to local entries by SQL content hash */\n contentMatched: z.array(z.string()),\n});\n\nexport const ImportResultSchema = z.object({\n status: z.enum([\"imported\", \"dry-run\", \"conflicts\", \"error\"]),\n workspace: z.string(),\n from: z.string(),\n ref: z.string(),\n resolvedSha: z.string().optional(),\n /** the dereferenced upstream repository when the source was chain-resolved */\n sourceRepository: z.string().optional(),\n /** resolution notes (e.g. HEAD fallback when no git sha is pinned) */\n warnings: z.array(z.string()).default([]),\n added: z.array(z.string()),\n updated: z.array(z.string()),\n unchanged: z.array(z.string()).default([]),\n preservedLocal: z.array(z.string()).default([]),\n merged: z.array(z.string()).default([]),\n conflicts: z.array(z.string()).default([]),\n heldBackMigrations: z.array(z.string()).default([]),\n routeDelta: ImportRouteDeltaSchema.optional(),\n migrationCollisions: z.array(ImportMigrationCollisionSchema).default([]),\n migrationReconciliation: ImportMigrationReconciliationSchema.optional(),\n backupDir: z.string().optional(),\n reportPath: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const UpgradeOptionsSchema = z.object({\n dryRun: z.boolean().default(false),\n noInstall: z.boolean().default(false),\n noSync: z.boolean().default(false),\n json: z.boolean().default(false),\n migrationsOnly: z.boolean().default(false),\n});\n\nexport const UpgradeResultSchema = z.object({\n status: z.enum([\"upgraded\", \"dry-run\", \"error\"]),\n packages: z.array(\n z.object({\n name: z.string(),\n from: z.string().optional(),\n to: z.string(),\n }),\n ),\n sync: SyncResultSchema.optional(),\n migrated: z.array(z.string()).optional(),\n availablePlugins: z.array(z.string()).optional(),\n selectedPlugins: z.array(z.string()).optional(),\n timings: z.array(PhaseTimingSchema).optional(),\n changelogUrl: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const DeployedVersionStatusSchema = z.object({\n publishedFingerprint: z.string(),\n servedFingerprint: z.string().optional(),\n inSync: z.boolean(),\n error: z.string().optional(),\n});\n\nexport const StatusResultSchema = z.object({\n status: z.enum([\"ok\", \"error\"]),\n deployedVersion: DeployedVersionStatusSchema.optional(),\n extends: z.string().optional(),\n account: z.string().optional(),\n domain: z.string().optional(),\n packages: z.array(\n z.object({\n name: z.string(),\n installed: z.string().optional(),\n latest: z.string().optional(),\n isLinked: z.boolean().optional(),\n specifier: z.string().optional(),\n }),\n ),\n lastSync: z.string().optional(),\n envFile: z.enum([\"found\", \"missing\", \"example-only\"]),\n parentReachable: z.boolean().optional(),\n error: z.string().optional(),\n});\n\nexport const TypesGenOptionsSchema = z.object({\n env: z.enum([\"development\", \"production\"]).optional(),\n dryRun: z.boolean().default(false),\n remotePlugins: z.array(z.string()).optional(),\n});\n\nexport const TypesGenResultSchema = z.object({\n status: z.enum([\"success\", \"error\"]),\n generated: z.array(z.string()),\n fetched: z.array(z.string()),\n skipped: z.array(z.string()),\n failed: z.array(z.string()),\n error: z.string().optional(),\n});\n\nexport const DbStudioOptionsSchema = z.object({\n plugin: z.string().default(\"api\"),\n});\n\nexport const DbStudioResultSchema = z.object({\n status: z.enum([\"success\", \"error\"]),\n plugin: z.string(),\n source: z.enum([\"local\", \"remote\"]),\n section: z.string(),\n databaseSecret: z.string().optional(),\n databaseUrl: z.string().optional(),\n workspaceDir: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const DbDoctorOptionsSchema = z.object({\n plugin: z.string(),\n});\n\nexport const DbDoctorResultSchema = z.object({\n status: z.enum([\"success\", \"error\"]),\n plugin: z.string(),\n slug: z.string(),\n journalTable: z.string(),\n journalSchema: z.string(),\n diagnosis: z.string(),\n localMigrationCount: z.number(),\n appliedHashCount: z.number(),\n expectedTables: z.array(z.string()),\n missingTables: z.array(z.string()),\n workspaceDir: z.string().optional(),\n dbSecret: z.string().optional(),\n dbUrl: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const DbRepairOptionsSchema = z.object({\n plugin: z.string(),\n mode: z.enum([\"history-reset\", \"recreate\"]).default(\"history-reset\"),\n yes: z.boolean().optional(),\n});\n\nexport const DbRepairResultSchema = z.object({\n status: z.enum([\"repaired\", \"refused\", \"error\"]),\n message: z.string(),\n diagnosis: z.any(),\n error: z.string().optional(),\n});\n\nexport const ProcessRoleSchema = z.enum([\"standalone\", \"workspace-parent\", \"workspace-child\"]);\n\nexport const PidEntrySchema = z.object({\n pid: z.number(),\n configDir: z.string(),\n parentPid: z.number().optional(),\n role: ProcessRoleSchema,\n ports: z\n .object({\n host: z.number().optional(),\n api: z.number().optional(),\n ui: z.number().optional(),\n auth: z.number().optional(),\n })\n .default({}),\n budget: z\n .object({\n min: z.number(),\n max: z.number(),\n })\n .optional(),\n startedAt: z.number(),\n description: z.string(),\n});\n\nexport const PsResultSchema = z.object({\n status: z.enum([\"ok\", \"error\"]),\n entries: z.array(PidEntrySchema),\n error: z.string().optional(),\n});\n\nexport const LogsOptionsSchema = z.object({\n service: z.string().optional(),\n tail: z.number().int().positive().max(100_000).optional(),\n follow: z.boolean().optional(),\n});\n\nexport const LogsResultSchema = z.object({\n logFile: z.string(),\n lines: z.array(z.string()),\n});\n\nexport const KillOptionsSchema = z.object({\n configDir: z.string().optional(),\n signal: z.enum([\"SIGTERM\", \"SIGKILL\"]).default(\"SIGTERM\"),\n all: z.boolean().default(false),\n});\n\nexport const KillResultSchema = z.object({\n status: z.enum([\"killed\", \"error\"]),\n killed: z.array(z.object({ pid: z.number(), configDir: z.string() })),\n skipped: z.array(z.object({ pid: z.number(), reason: z.string() })),\n error: z.string().optional(),\n});\n\nexport const TypecheckOptionsSchema = z.object({\n packages: z.string().default(\"all\"),\n});\n\nexport const TypecheckWorkspaceResultSchema = z.object({\n workspace: z.string(),\n passed: z.boolean(),\n output: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const TypecheckResultSchema = z.object({\n status: z.enum([\"success\", \"error\"]),\n checked: z.array(z.string()),\n skipped: z.array(z.string()),\n results: z.array(TypecheckWorkspaceResultSchema),\n error: z.string().optional(),\n});\n\nexport const InfraExportServiceSchema = z.object({\n key: z.string(),\n image: z.string(),\n env: z.record(z.string(), z.string()).default({}),\n ports: z.array(z.string()),\n healthcheck: z\n .object({\n test: z.array(z.string()),\n interval: z.string(),\n timeout: z.string(),\n retries: z.number(),\n })\n .optional(),\n volumes: z.array(z.string()).default([]),\n});\n\nexport const InfraExportOptionsSchema = z.object({\n target: z.enum([\"ci\", \"local\"]).default(\"ci\"),\n network: z.enum([\"mainnet\", \"testnet\"]).optional(),\n configDir: z.string().optional(),\n});\n\nexport const InfraExportResultSchema = z.object({\n env: z.record(z.string(), z.string()),\n services: z.array(InfraExportServiceSchema),\n generatedAt: z.string(),\n project: z.string(),\n account: z.string(),\n gateway: z.string(),\n});\n\nexport const MfCheckOptionsSchema = z.object({\n timeoutMs: z.number().default(15_000),\n});\n\nexport const MfCheckRemoteResultSchema = z.object({\n role: z.string(),\n url: z.string(),\n reachable: z.boolean(),\n pluginVersion: z.string().nullable(),\n ok: z.boolean(),\n reason: z.string().optional(),\n});\n\nexport const MfCheckResultSchema = z.object({\n status: z.enum([\"ok\", \"fail\"]),\n hostVersion: z.string().nullable(),\n hostReachable: z.boolean(),\n hostReason: z.string().optional(),\n remotes: z.array(MfCheckRemoteResultSchema),\n});\n\nexport const commandOptionSchemas = {\n dev: DevOptionsSchema,\n start: StartOptionsSchema,\n build: BuildOptionsSchema,\n config: ConfigOptionsSchema,\n registryUse: RegistryUseOptionsSchema,\n pluginAdd: PluginAddOptionsSchema,\n pluginRemove: PluginRemoveOptionsSchema,\n pluginPublish: PluginPublishOptionsSchema,\n publish: PublishOptionsSchema,\n rollback: RollbackOptionsSchema,\n deploy: DeployOptionsSchema,\n smoke: SmokeOptionsSchema,\n keyPublish: KeyPublishOptionsSchema,\n login: LoginOptionsSchema,\n logout: LogoutOptionsSchema,\n init: InitOptionsSchema,\n sync: SyncOptionsSchema,\n import: ImportOptionsSchema,\n upgrade: UpgradeOptionsSchema,\n typecheck: TypecheckOptionsSchema,\n mfCheck: MfCheckOptionsSchema,\n infraExport: InfraExportOptionsSchema,\n dbStudio: DbStudioOptionsSchema,\n dbDoctor: DbDoctorOptionsSchema,\n dbRepair: DbRepairOptionsSchema,\n logs: LogsOptionsSchema,\n kill: KillOptionsSchema,\n} satisfies Partial<Record<keyof typeof bosContract, z.ZodType>>;\n\nexport const bosContract = oc.router({\n dev: oc.route({ method: \"POST\", path: \"/dev\" }).input(DevOptionsSchema).output(DevResultSchema),\n start: oc\n .route({ method: \"POST\", path: \"/start\" })\n .input(StartOptionsSchema)\n .output(StartResultSchema),\n build: oc\n .route({ method: \"POST\", path: \"/build\" })\n .input(BuildOptionsSchema)\n .output(BuildResultSchema),\n config: oc\n .route({ method: \"GET\", path: \"/config\" })\n .input(ConfigOptionsSchema)\n .output(ConfigResultSchema),\n registryUse: oc\n .route({ method: \"POST\", path: \"/registry/use\" })\n .input(RegistryUseOptionsSchema)\n .output(RegistryUseResultSchema),\n pluginAdd: oc\n .route({ method: \"POST\", path: \"/plugin/add\" })\n .input(PluginAddOptionsSchema)\n .output(PluginAddResultSchema),\n pluginRemove: oc\n .route({ method: \"POST\", path: \"/plugin/remove\" })\n .input(PluginRemoveOptionsSchema)\n .output(PluginRemoveResultSchema),\n pluginList: oc.route({ method: \"GET\", path: \"/plugin/list\" }).output(PluginListResultSchema),\n pluginPublish: oc\n .route({ method: \"POST\", path: \"/plugin/publish\" })\n .input(PluginPublishOptionsSchema)\n .output(PluginPublishResultSchema),\n publish: oc\n .route({ method: \"POST\", path: \"/publish\" })\n .input(PublishOptionsSchema)\n .output(PublishResultSchema),\n rollback: oc\n .route({ method: \"POST\", path: \"/rollback\" })\n .input(RollbackOptionsSchema)\n .output(RollbackResultSchema),\n deploy: oc\n .route({ method: \"POST\", path: \"/deploy\" })\n .input(DeployOptionsSchema)\n .output(DeployResultSchema),\n smoke: oc\n .route({ method: \"POST\", path: \"/smoke\" })\n .input(SmokeOptionsSchema)\n .output(SmokeResultSchema),\n keyPublish: oc\n .route({ method: \"POST\", path: \"/key/publish\" })\n .input(KeyPublishOptionsSchema)\n .output(KeyPublishResultSchema),\n login: oc\n .route({ method: \"POST\", path: \"/login\" })\n .input(LoginOptionsSchema)\n .output(LoginResultSchema),\n logout: oc\n .route({ method: \"POST\", path: \"/logout\" })\n .input(LogoutOptionsSchema)\n .output(LogoutResultSchema),\n init: oc\n .route({ method: \"POST\", path: \"/init\" })\n .input(InitOptionsSchema)\n .output(InitResultSchema),\n sync: oc\n .route({ method: \"POST\", path: \"/sync\" })\n .input(SyncOptionsSchema)\n .output(SyncResultSchema),\n import: oc\n .route({ method: \"POST\", path: \"/import\" })\n .input(ImportOptionsSchema)\n .output(ImportResultSchema),\n upgrade: oc\n .route({ method: \"POST\", path: \"/upgrade\" })\n .input(UpgradeOptionsSchema)\n .output(UpgradeResultSchema),\n status: oc.route({ method: \"GET\", path: \"/status\" }).output(StatusResultSchema),\n typesGen: oc\n .route({ method: \"POST\", path: \"/types/gen\" })\n .input(TypesGenOptionsSchema)\n .output(TypesGenResultSchema),\n dbStudio: oc\n .route({ method: \"POST\", path: \"/db/studio\" })\n .input(DbStudioOptionsSchema)\n .output(DbStudioResultSchema),\n dbDoctor: oc\n .route({ method: \"POST\", path: \"/db/doctor\" })\n .input(DbDoctorOptionsSchema)\n .output(DbDoctorResultSchema),\n dbRepair: oc\n .route({ method: \"POST\", path: \"/db/repair\" })\n .input(DbRepairOptionsSchema)\n .output(DbRepairResultSchema),\n ps: oc.route({ method: \"GET\", path: \"/ps\" }).output(PsResultSchema),\n logs: oc\n .route({ method: \"GET\", path: \"/logs\" })\n .input(LogsOptionsSchema)\n .output(LogsResultSchema),\n kill: oc\n .route({ method: \"POST\", path: \"/kill\" })\n .input(KillOptionsSchema)\n .output(KillResultSchema),\n typecheck: oc\n .route({ method: \"POST\", path: \"/typecheck\" })\n .input(TypecheckOptionsSchema)\n .output(TypecheckResultSchema),\n mfCheck: oc\n .route({ method: \"POST\", path: \"/mf/check\" })\n .input(MfCheckOptionsSchema)\n .output(MfCheckResultSchema),\n infraExport: oc\n .route({ method: \"POST\", path: \"/infra/export\" })\n .input(InfraExportOptionsSchema)\n .output(InfraExportResultSchema),\n});\n\nexport type DevOptions = z.infer<typeof DevOptionsSchema>;\nexport type DevResult = z.infer<typeof DevResultSchema>;\nexport type StartOptions = z.infer<typeof StartOptionsSchema>;\nexport type StartResult = z.infer<typeof StartResultSchema>;\nexport type BuildOptions = z.infer<typeof BuildOptionsSchema>;\nexport type BosConfigResult = z.infer<typeof ConfigResultSchema>;\nexport type PluginAddOptions = z.infer<typeof PluginAddOptionsSchema>;\nexport type PluginAddResult = z.infer<typeof PluginAddResultSchema>;\nexport type PluginRemoveOptions = z.infer<typeof PluginRemoveOptionsSchema>;\nexport type PluginRemoveResult = z.infer<typeof PluginRemoveResultSchema>;\nexport type PluginListResult = z.infer<typeof PluginListResultSchema>;\nexport type PluginPublishOptions = z.infer<typeof PluginPublishOptionsSchema>;\nexport type PluginPublishResult = z.infer<typeof PluginPublishResultSchema>;\nexport type WorkspaceDeployResult = z.infer<typeof WorkspaceDeployResultSchema>;\nexport type PublishOptions = z.infer<typeof PublishOptionsSchema>;\nexport type PublishResult = z.infer<typeof PublishResultSchema>;\nexport type DeployOptions = z.infer<typeof DeployOptionsSchema>;\nexport type DeployResult = z.infer<typeof DeployResultSchema>;\nexport type KeyPublishOptions = z.infer<typeof KeyPublishOptionsSchema>;\nexport type KeyPublishResult = z.infer<typeof KeyPublishResultSchema>;\nexport type LoginOptions = z.infer<typeof LoginOptionsSchema>;\nexport type LoginResult = z.infer<typeof LoginResultSchema>;\nexport type LogoutOptions = z.infer<typeof LogoutOptionsSchema>;\nexport type LogoutResult = z.infer<typeof LogoutResultSchema>;\nexport type InitOptions = z.infer<typeof InitOptionsSchema>;\nexport type InitResult = z.infer<typeof InitResultSchema>;\nexport type OverrideSection = z.infer<typeof OverrideSectionSchema>;\nexport type PhaseTiming = z.infer<typeof PhaseTimingSchema>;\nexport type SyncOptions = z.infer<typeof SyncOptionsSchema>;\nexport type SyncResult = z.infer<typeof SyncResultSchema>;\nexport type ImportOptions = z.infer<typeof ImportOptionsSchema>;\nexport type ImportResult = z.infer<typeof ImportResultSchema>;\nexport type ImportRouteDelta = z.infer<typeof ImportRouteDeltaSchema>;\nexport type ImportMigrationCollision = z.infer<typeof ImportMigrationCollisionSchema>;\nexport type ImportMigrationAppend = z.infer<typeof ImportMigrationAppendSchema>;\nexport type ImportMigrationReconciliation = z.infer<typeof ImportMigrationReconciliationSchema>;\nexport type UpgradeOptions = z.infer<typeof UpgradeOptionsSchema>;\nexport type UpgradeResult = z.infer<typeof UpgradeResultSchema>;\nexport type StatusResult = z.infer<typeof StatusResultSchema>;\nexport type TypesGenOptions = z.infer<typeof TypesGenOptionsSchema>;\nexport type TypesGenResult = z.infer<typeof TypesGenResultSchema>;\nexport type DbStudioOptions = z.infer<typeof DbStudioOptionsSchema>;\nexport type DbStudioResult = z.infer<typeof DbStudioResultSchema>;\nexport type DbDoctorOptions = z.infer<typeof DbDoctorOptionsSchema>;\nexport type DbDoctorResult = z.infer<typeof DbDoctorResultSchema>;\nexport type DbRepairOptions = z.infer<typeof DbRepairOptionsSchema>;\nexport type DbRepairResult = z.infer<typeof DbRepairResultSchema>;\nexport type RuntimeOverrideTarget = z.infer<typeof RuntimeOverrideTargetSchema>;\nexport type ProcessRole = z.infer<typeof ProcessRoleSchema>;\nexport type PidEntry = z.infer<typeof PidEntrySchema>;\nexport type PsResult = z.infer<typeof PsResultSchema>;\nexport type LogsOptions = z.infer<typeof LogsOptionsSchema>;\nexport type LogsResult = z.infer<typeof LogsResultSchema>;\nexport type KillOptions = z.infer<typeof KillOptionsSchema>;\nexport type KillResult = z.infer<typeof KillResultSchema>;\nexport type TypecheckOptions = z.infer<typeof TypecheckOptionsSchema>;\nexport type TypecheckResult = z.infer<typeof TypecheckResultSchema>;\nexport type TypecheckWorkspaceResult = z.infer<typeof TypecheckWorkspaceResultSchema>;\nexport type InfraExportOptions = z.infer<typeof InfraExportOptionsSchema>;\nexport type MfCheckOptions = z.infer<typeof MfCheckOptionsSchema>;\nexport type MfCheckResult = z.infer<typeof MfCheckResultSchema>;\nexport type InfraExportResult = z.infer<typeof InfraExportResultSchema>;\nexport type InfraExportService = z.infer<typeof InfraExportServiceSchema>;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
let _outlayer_sdk = require("@outlayer/sdk");
|
|
2
|
+
|
|
3
|
+
//#region src/custody-signer.ts
|
|
4
|
+
const PUBLISH_GAS = "30000000000000";
|
|
5
|
+
const MIN_GAS_BALANCE = "50000000000000000000000";
|
|
6
|
+
const OUTLAYER_HOSTS = {
|
|
7
|
+
mainnet: "https://api.outlayer.ai",
|
|
8
|
+
testnet: "https://testnet-api.outlayer.ai"
|
|
9
|
+
};
|
|
10
|
+
function custodyClient(custodyWallet) {
|
|
11
|
+
const network = custodyWallet.network;
|
|
12
|
+
return new _outlayer_sdk.OutlayerClient({
|
|
13
|
+
apiKey: custodyWallet.apiKey,
|
|
14
|
+
network,
|
|
15
|
+
baseUrl: OUTLAYER_HOSTS[network]
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function custodyFundUrl(custodyWallet) {
|
|
19
|
+
return `https://app.outlayer.ai/wallet/fund?to=${custodyWallet.nearAccountId}&amount=0.05&token=near`;
|
|
20
|
+
}
|
|
21
|
+
async function ensureCustodyBalance(custodyWallet) {
|
|
22
|
+
const client = custodyClient(custodyWallet);
|
|
23
|
+
try {
|
|
24
|
+
const { balance } = await client.getBalance({ chain: "near" });
|
|
25
|
+
if (BigInt(balance) < BigInt(MIN_GAS_BALANCE)) throw new Error(`The custody wallet ${custodyWallet.nearAccountId} holds ${balance} yoctoNEAR on ${custodyWallet.network}, below the gas minimum. Fund it at ${custodyFundUrl(custodyWallet)}`);
|
|
26
|
+
} catch (error) {
|
|
27
|
+
throw custodyPublishError(error, custodyWallet);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
async function submitRegistryWriteCustody(opts) {
|
|
31
|
+
const client = custodyClient(opts.custodyWallet);
|
|
32
|
+
try {
|
|
33
|
+
const result = await client.call({
|
|
34
|
+
receiver_id: opts.contract,
|
|
35
|
+
method_name: "__fastdata_kv",
|
|
36
|
+
args: opts.args,
|
|
37
|
+
gas: PUBLISH_GAS,
|
|
38
|
+
deposit: "0",
|
|
39
|
+
...opts.idempotencyKey ? { idempotencyKey: opts.idempotencyKey } : {}
|
|
40
|
+
});
|
|
41
|
+
if (result.status === "failed" || result.status === "rejected") throw new Error(`The custody publish did not settle (status ${result.status}). Inspect request ${result.request_id} at the OutLayer dashboard.`);
|
|
42
|
+
if (result.status === "pending_approval") throw new Error(`The custody publish needs multisig approval (${result.approved ?? 0}/${result.required ?? "?"} so far). Approve it at the OutLayer dashboard, then re-run the deploy.`);
|
|
43
|
+
return {
|
|
44
|
+
success: true,
|
|
45
|
+
txHash: result.tx_hash ?? void 0
|
|
46
|
+
};
|
|
47
|
+
} catch (error) {
|
|
48
|
+
if ((error instanceof _outlayer_sdk.OutlayerError ? error.code : "") === "onchain_tx_failed") return { success: true };
|
|
49
|
+
throw custodyPublishError(error, opts.custodyWallet);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function custodyPublishError(error, custodyWallet) {
|
|
53
|
+
if (!(error instanceof _outlayer_sdk.OutlayerError)) return error;
|
|
54
|
+
const code = error.code;
|
|
55
|
+
const context = custodyWallet.handoffUrl ? ` Manage the wallet at ${custodyWallet.handoffUrl}.` : "";
|
|
56
|
+
if (error instanceof _outlayer_sdk.PolicyDeniedError) return /* @__PURE__ */ new Error(`The custody wallet policy refused the publish.${context}`);
|
|
57
|
+
if (error instanceof _outlayer_sdk.WalletFrozenError) return /* @__PURE__ */ new Error(`The custody wallet is frozen.${context}`);
|
|
58
|
+
if (code === "insufficient_balance" || code === "wallet_underfunded") {
|
|
59
|
+
const detail = error.message ? ` (${error.message})` : "";
|
|
60
|
+
return /* @__PURE__ */ new Error(`The custody wallet ran out of gas for the publish${detail}. Fund it at ${custodyFundUrl(custodyWallet)}`);
|
|
61
|
+
}
|
|
62
|
+
if (code === "invalid_api_key" || code === "missing_auth") return /* @__PURE__ */ new Error(`The stored custody wallet key was rejected. Re-run \`bos login --custody\` to re-register.`);
|
|
63
|
+
return /* @__PURE__ */ new Error(`Custody publish failed (${code}): ${error.message}`);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
//#endregion
|
|
67
|
+
exports.custodyFundUrl = custodyFundUrl;
|
|
68
|
+
exports.ensureCustodyBalance = ensureCustodyBalance;
|
|
69
|
+
exports.submitRegistryWriteCustody = submitRegistryWriteCustody;
|
|
70
|
+
//# sourceMappingURL=custody-signer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custody-signer.cjs","names":["OutlayerClient","OutlayerError","PolicyDeniedError","WalletFrozenError"],"sources":["../src/custody-signer.ts"],"sourcesContent":["import { OutlayerClient, OutlayerError, PolicyDeniedError, WalletFrozenError } from \"@outlayer/sdk\";\nimport type { CustodyWalletRecord } from \"./auth-session\";\nimport type { RelayResult } from \"./delegate-signer\";\nimport type { NetworkId } from \"./fastkv\";\n\nconst PUBLISH_GAS = \"30000000000000\";\nconst MIN_GAS_BALANCE = \"50000000000000000000000\";\n\nconst OUTLAYER_HOSTS: Record<NetworkId, string> = {\n mainnet: \"https://api.outlayer.ai\",\n testnet: \"https://testnet-api.outlayer.ai\",\n};\n\nexport interface CustodySubmitOptions {\n contract: string;\n args: Record<string, string>;\n custodyWallet: CustodyWalletRecord;\n idempotencyKey?: string;\n}\n\nfunction custodyClient(custodyWallet: CustodyWalletRecord): OutlayerClient {\n const network = custodyWallet.network;\n return new OutlayerClient({\n apiKey: custodyWallet.apiKey,\n network,\n baseUrl: OUTLAYER_HOSTS[network],\n });\n}\n\nexport function custodyFundUrl(custodyWallet: CustodyWalletRecord): string {\n return `https://app.outlayer.ai/wallet/fund?to=${custodyWallet.nearAccountId}&amount=0.05&token=near`;\n}\n\nexport async function ensureCustodyBalance(custodyWallet: CustodyWalletRecord): Promise<void> {\n const client = custodyClient(custodyWallet);\n try {\n const { balance } = await client.getBalance({ chain: \"near\" });\n if (BigInt(balance) < BigInt(MIN_GAS_BALANCE)) {\n throw new Error(\n `The custody wallet ${custodyWallet.nearAccountId} holds ${balance} yoctoNEAR on ` +\n `${custodyWallet.network}, below the gas minimum. Fund it at ${custodyFundUrl(custodyWallet)}`,\n );\n }\n } catch (error) {\n throw custodyPublishError(error, custodyWallet);\n }\n}\n\nexport async function submitRegistryWriteCustody(opts: CustodySubmitOptions): Promise<RelayResult> {\n const client = custodyClient(opts.custodyWallet);\n try {\n const result = await client.call({\n receiver_id: opts.contract,\n method_name: \"__fastdata_kv\",\n args: opts.args,\n gas: PUBLISH_GAS,\n deposit: \"0\",\n ...(opts.idempotencyKey ? { idempotencyKey: opts.idempotencyKey } : {}),\n });\n if (result.status === \"failed\" || result.status === \"rejected\") {\n throw new Error(\n `The custody publish did not settle (status ${result.status}). Inspect request ${result.request_id} at the OutLayer dashboard.`,\n );\n }\n if (result.status === \"pending_approval\") {\n throw new Error(\n `The custody publish needs multisig approval (${result.approved ?? 0}/${result.required ?? \"?\"} so far). ` +\n \"Approve it at the OutLayer dashboard, then re-run the deploy.\",\n );\n }\n return { success: true, txHash: result.tx_hash ?? undefined };\n } catch (error) {\n const code: string = error instanceof OutlayerError ? error.code : \"\";\n if (code === \"onchain_tx_failed\") {\n return { success: true };\n }\n throw custodyPublishError(error, opts.custodyWallet);\n }\n}\n\nfunction custodyPublishError(error: unknown, custodyWallet: CustodyWalletRecord): unknown {\n if (!(error instanceof OutlayerError)) return error;\n const code: string = error.code;\n const context = custodyWallet.handoffUrl\n ? ` Manage the wallet at ${custodyWallet.handoffUrl}.`\n : \"\";\n if (error instanceof PolicyDeniedError) {\n return new Error(`The custody wallet policy refused the publish.${context}`);\n }\n if (error instanceof WalletFrozenError) {\n return new Error(`The custody wallet is frozen.${context}`);\n }\n if (code === \"insufficient_balance\" || code === \"wallet_underfunded\") {\n const detail = error.message ? ` (${error.message})` : \"\";\n return new Error(\n `The custody wallet ran out of gas for the publish${detail}. Fund it at ${custodyFundUrl(custodyWallet)}`,\n );\n }\n if (code === \"invalid_api_key\" || code === \"missing_auth\") {\n return new Error(\n `The stored custody wallet key was rejected. Re-run \\`bos login --custody\\` to re-register.`,\n );\n }\n return new Error(`Custody publish failed (${code}): ${error.message}`);\n}\n"],"mappings":";;;AAKA,MAAM,cAAc;AACpB,MAAM,kBAAkB;AAExB,MAAM,iBAA4C;CAChD,SAAS;CACT,SAAS;AACX;AASA,SAAS,cAAc,eAAoD;CACzE,MAAM,UAAU,cAAc;CAC9B,OAAO,IAAIA,6BAAe;EACxB,QAAQ,cAAc;EACtB;EACA,SAAS,eAAe;CAC1B,CAAC;AACH;AAEA,SAAgB,eAAe,eAA4C;CACzE,OAAO,0CAA0C,cAAc,cAAc;AAC/E;AAEA,eAAsB,qBAAqB,eAAmD;CAC5F,MAAM,SAAS,cAAc,aAAa;CAC1C,IAAI;EACF,MAAM,EAAE,YAAY,MAAM,OAAO,WAAW,EAAE,OAAO,OAAO,CAAC;EAC7D,IAAI,OAAO,OAAO,IAAI,OAAO,eAAe,GAC1C,MAAM,IAAI,MACR,sBAAsB,cAAc,cAAc,SAAS,QAAQ,gBAC9D,cAAc,QAAQ,sCAAsC,eAAe,aAAa,GAC/F;CAEJ,SAAS,OAAO;EACd,MAAM,oBAAoB,OAAO,aAAa;CAChD;AACF;AAEA,eAAsB,2BAA2B,MAAkD;CACjG,MAAM,SAAS,cAAc,KAAK,aAAa;CAC/C,IAAI;EACF,MAAM,SAAS,MAAM,OAAO,KAAK;GAC/B,aAAa,KAAK;GAClB,aAAa;GACb,MAAM,KAAK;GACX,KAAK;GACL,SAAS;GACT,GAAI,KAAK,iBAAiB,EAAE,gBAAgB,KAAK,eAAe,IAAI,CAAC;EACvE,CAAC;EACD,IAAI,OAAO,WAAW,YAAY,OAAO,WAAW,YAClD,MAAM,IAAI,MACR,8CAA8C,OAAO,OAAO,qBAAqB,OAAO,WAAW,4BACrG;EAEF,IAAI,OAAO,WAAW,oBACpB,MAAM,IAAI,MACR,gDAAgD,OAAO,YAAY,EAAE,GAAG,OAAO,YAAY,IAAI,wEAEjG;EAEF,OAAO;GAAE,SAAS;GAAM,QAAQ,OAAO,WAAW;EAAU;CAC9D,SAAS,OAAO;EAEd,KADqB,iBAAiBC,8BAAgB,MAAM,OAAO,QACtD,qBACX,OAAO,EAAE,SAAS,KAAK;EAEzB,MAAM,oBAAoB,OAAO,KAAK,aAAa;CACrD;AACF;AAEA,SAAS,oBAAoB,OAAgB,eAA6C;CACxF,IAAI,EAAE,iBAAiBA,8BAAgB,OAAO;CAC9C,MAAM,OAAe,MAAM;CAC3B,MAAM,UAAU,cAAc,aAC1B,yBAAyB,cAAc,WAAW,KAClD;CACJ,IAAI,iBAAiBC,iCACnB,uBAAO,IAAI,MAAM,iDAAiD,SAAS;CAE7E,IAAI,iBAAiBC,iCACnB,uBAAO,IAAI,MAAM,gCAAgC,SAAS;CAE5D,IAAI,SAAS,0BAA0B,SAAS,sBAAsB;EACpE,MAAM,SAAS,MAAM,UAAU,KAAK,MAAM,QAAQ,KAAK;EACvD,uBAAO,IAAI,MACT,oDAAoD,OAAO,eAAe,eAAe,aAAa,GACxG;CACF;CACA,IAAI,SAAS,qBAAqB,SAAS,gBACzC,uBAAO,IAAI,MACT,4FACF;CAEF,uBAAO,IAAI,MAAM,2BAA2B,KAAK,KAAK,MAAM,SAAS;AACvE"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { OutlayerClient, OutlayerError, PolicyDeniedError, WalletFrozenError } from "@outlayer/sdk";
|
|
2
|
+
|
|
3
|
+
//#region src/custody-signer.ts
|
|
4
|
+
const PUBLISH_GAS = "30000000000000";
|
|
5
|
+
const MIN_GAS_BALANCE = "50000000000000000000000";
|
|
6
|
+
const OUTLAYER_HOSTS = {
|
|
7
|
+
mainnet: "https://api.outlayer.ai",
|
|
8
|
+
testnet: "https://testnet-api.outlayer.ai"
|
|
9
|
+
};
|
|
10
|
+
function custodyClient(custodyWallet) {
|
|
11
|
+
const network = custodyWallet.network;
|
|
12
|
+
return new OutlayerClient({
|
|
13
|
+
apiKey: custodyWallet.apiKey,
|
|
14
|
+
network,
|
|
15
|
+
baseUrl: OUTLAYER_HOSTS[network]
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function custodyFundUrl(custodyWallet) {
|
|
19
|
+
return `https://app.outlayer.ai/wallet/fund?to=${custodyWallet.nearAccountId}&amount=0.05&token=near`;
|
|
20
|
+
}
|
|
21
|
+
async function ensureCustodyBalance(custodyWallet) {
|
|
22
|
+
const client = custodyClient(custodyWallet);
|
|
23
|
+
try {
|
|
24
|
+
const { balance } = await client.getBalance({ chain: "near" });
|
|
25
|
+
if (BigInt(balance) < BigInt(MIN_GAS_BALANCE)) throw new Error(`The custody wallet ${custodyWallet.nearAccountId} holds ${balance} yoctoNEAR on ${custodyWallet.network}, below the gas minimum. Fund it at ${custodyFundUrl(custodyWallet)}`);
|
|
26
|
+
} catch (error) {
|
|
27
|
+
throw custodyPublishError(error, custodyWallet);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
async function submitRegistryWriteCustody(opts) {
|
|
31
|
+
const client = custodyClient(opts.custodyWallet);
|
|
32
|
+
try {
|
|
33
|
+
const result = await client.call({
|
|
34
|
+
receiver_id: opts.contract,
|
|
35
|
+
method_name: "__fastdata_kv",
|
|
36
|
+
args: opts.args,
|
|
37
|
+
gas: PUBLISH_GAS,
|
|
38
|
+
deposit: "0",
|
|
39
|
+
...opts.idempotencyKey ? { idempotencyKey: opts.idempotencyKey } : {}
|
|
40
|
+
});
|
|
41
|
+
if (result.status === "failed" || result.status === "rejected") throw new Error(`The custody publish did not settle (status ${result.status}). Inspect request ${result.request_id} at the OutLayer dashboard.`);
|
|
42
|
+
if (result.status === "pending_approval") throw new Error(`The custody publish needs multisig approval (${result.approved ?? 0}/${result.required ?? "?"} so far). Approve it at the OutLayer dashboard, then re-run the deploy.`);
|
|
43
|
+
return {
|
|
44
|
+
success: true,
|
|
45
|
+
txHash: result.tx_hash ?? void 0
|
|
46
|
+
};
|
|
47
|
+
} catch (error) {
|
|
48
|
+
if ((error instanceof OutlayerError ? error.code : "") === "onchain_tx_failed") return { success: true };
|
|
49
|
+
throw custodyPublishError(error, opts.custodyWallet);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function custodyPublishError(error, custodyWallet) {
|
|
53
|
+
if (!(error instanceof OutlayerError)) return error;
|
|
54
|
+
const code = error.code;
|
|
55
|
+
const context = custodyWallet.handoffUrl ? ` Manage the wallet at ${custodyWallet.handoffUrl}.` : "";
|
|
56
|
+
if (error instanceof PolicyDeniedError) return /* @__PURE__ */ new Error(`The custody wallet policy refused the publish.${context}`);
|
|
57
|
+
if (error instanceof WalletFrozenError) return /* @__PURE__ */ new Error(`The custody wallet is frozen.${context}`);
|
|
58
|
+
if (code === "insufficient_balance" || code === "wallet_underfunded") {
|
|
59
|
+
const detail = error.message ? ` (${error.message})` : "";
|
|
60
|
+
return /* @__PURE__ */ new Error(`The custody wallet ran out of gas for the publish${detail}. Fund it at ${custodyFundUrl(custodyWallet)}`);
|
|
61
|
+
}
|
|
62
|
+
if (code === "invalid_api_key" || code === "missing_auth") return /* @__PURE__ */ new Error(`The stored custody wallet key was rejected. Re-run \`bos login --custody\` to re-register.`);
|
|
63
|
+
return /* @__PURE__ */ new Error(`Custody publish failed (${code}): ${error.message}`);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
//#endregion
|
|
67
|
+
export { custodyFundUrl, ensureCustodyBalance, submitRegistryWriteCustody };
|
|
68
|
+
//# sourceMappingURL=custody-signer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custody-signer.mjs","names":[],"sources":["../src/custody-signer.ts"],"sourcesContent":["import { OutlayerClient, OutlayerError, PolicyDeniedError, WalletFrozenError } from \"@outlayer/sdk\";\nimport type { CustodyWalletRecord } from \"./auth-session\";\nimport type { RelayResult } from \"./delegate-signer\";\nimport type { NetworkId } from \"./fastkv\";\n\nconst PUBLISH_GAS = \"30000000000000\";\nconst MIN_GAS_BALANCE = \"50000000000000000000000\";\n\nconst OUTLAYER_HOSTS: Record<NetworkId, string> = {\n mainnet: \"https://api.outlayer.ai\",\n testnet: \"https://testnet-api.outlayer.ai\",\n};\n\nexport interface CustodySubmitOptions {\n contract: string;\n args: Record<string, string>;\n custodyWallet: CustodyWalletRecord;\n idempotencyKey?: string;\n}\n\nfunction custodyClient(custodyWallet: CustodyWalletRecord): OutlayerClient {\n const network = custodyWallet.network;\n return new OutlayerClient({\n apiKey: custodyWallet.apiKey,\n network,\n baseUrl: OUTLAYER_HOSTS[network],\n });\n}\n\nexport function custodyFundUrl(custodyWallet: CustodyWalletRecord): string {\n return `https://app.outlayer.ai/wallet/fund?to=${custodyWallet.nearAccountId}&amount=0.05&token=near`;\n}\n\nexport async function ensureCustodyBalance(custodyWallet: CustodyWalletRecord): Promise<void> {\n const client = custodyClient(custodyWallet);\n try {\n const { balance } = await client.getBalance({ chain: \"near\" });\n if (BigInt(balance) < BigInt(MIN_GAS_BALANCE)) {\n throw new Error(\n `The custody wallet ${custodyWallet.nearAccountId} holds ${balance} yoctoNEAR on ` +\n `${custodyWallet.network}, below the gas minimum. Fund it at ${custodyFundUrl(custodyWallet)}`,\n );\n }\n } catch (error) {\n throw custodyPublishError(error, custodyWallet);\n }\n}\n\nexport async function submitRegistryWriteCustody(opts: CustodySubmitOptions): Promise<RelayResult> {\n const client = custodyClient(opts.custodyWallet);\n try {\n const result = await client.call({\n receiver_id: opts.contract,\n method_name: \"__fastdata_kv\",\n args: opts.args,\n gas: PUBLISH_GAS,\n deposit: \"0\",\n ...(opts.idempotencyKey ? { idempotencyKey: opts.idempotencyKey } : {}),\n });\n if (result.status === \"failed\" || result.status === \"rejected\") {\n throw new Error(\n `The custody publish did not settle (status ${result.status}). Inspect request ${result.request_id} at the OutLayer dashboard.`,\n );\n }\n if (result.status === \"pending_approval\") {\n throw new Error(\n `The custody publish needs multisig approval (${result.approved ?? 0}/${result.required ?? \"?\"} so far). ` +\n \"Approve it at the OutLayer dashboard, then re-run the deploy.\",\n );\n }\n return { success: true, txHash: result.tx_hash ?? undefined };\n } catch (error) {\n const code: string = error instanceof OutlayerError ? error.code : \"\";\n if (code === \"onchain_tx_failed\") {\n return { success: true };\n }\n throw custodyPublishError(error, opts.custodyWallet);\n }\n}\n\nfunction custodyPublishError(error: unknown, custodyWallet: CustodyWalletRecord): unknown {\n if (!(error instanceof OutlayerError)) return error;\n const code: string = error.code;\n const context = custodyWallet.handoffUrl\n ? ` Manage the wallet at ${custodyWallet.handoffUrl}.`\n : \"\";\n if (error instanceof PolicyDeniedError) {\n return new Error(`The custody wallet policy refused the publish.${context}`);\n }\n if (error instanceof WalletFrozenError) {\n return new Error(`The custody wallet is frozen.${context}`);\n }\n if (code === \"insufficient_balance\" || code === \"wallet_underfunded\") {\n const detail = error.message ? ` (${error.message})` : \"\";\n return new Error(\n `The custody wallet ran out of gas for the publish${detail}. Fund it at ${custodyFundUrl(custodyWallet)}`,\n );\n }\n if (code === \"invalid_api_key\" || code === \"missing_auth\") {\n return new Error(\n `The stored custody wallet key was rejected. Re-run \\`bos login --custody\\` to re-register.`,\n );\n }\n return new Error(`Custody publish failed (${code}): ${error.message}`);\n}\n"],"mappings":";;;AAKA,MAAM,cAAc;AACpB,MAAM,kBAAkB;AAExB,MAAM,iBAA4C;CAChD,SAAS;CACT,SAAS;AACX;AASA,SAAS,cAAc,eAAoD;CACzE,MAAM,UAAU,cAAc;CAC9B,OAAO,IAAI,eAAe;EACxB,QAAQ,cAAc;EACtB;EACA,SAAS,eAAe;CAC1B,CAAC;AACH;AAEA,SAAgB,eAAe,eAA4C;CACzE,OAAO,0CAA0C,cAAc,cAAc;AAC/E;AAEA,eAAsB,qBAAqB,eAAmD;CAC5F,MAAM,SAAS,cAAc,aAAa;CAC1C,IAAI;EACF,MAAM,EAAE,YAAY,MAAM,OAAO,WAAW,EAAE,OAAO,OAAO,CAAC;EAC7D,IAAI,OAAO,OAAO,IAAI,OAAO,eAAe,GAC1C,MAAM,IAAI,MACR,sBAAsB,cAAc,cAAc,SAAS,QAAQ,gBAC9D,cAAc,QAAQ,sCAAsC,eAAe,aAAa,GAC/F;CAEJ,SAAS,OAAO;EACd,MAAM,oBAAoB,OAAO,aAAa;CAChD;AACF;AAEA,eAAsB,2BAA2B,MAAkD;CACjG,MAAM,SAAS,cAAc,KAAK,aAAa;CAC/C,IAAI;EACF,MAAM,SAAS,MAAM,OAAO,KAAK;GAC/B,aAAa,KAAK;GAClB,aAAa;GACb,MAAM,KAAK;GACX,KAAK;GACL,SAAS;GACT,GAAI,KAAK,iBAAiB,EAAE,gBAAgB,KAAK,eAAe,IAAI,CAAC;EACvE,CAAC;EACD,IAAI,OAAO,WAAW,YAAY,OAAO,WAAW,YAClD,MAAM,IAAI,MACR,8CAA8C,OAAO,OAAO,qBAAqB,OAAO,WAAW,4BACrG;EAEF,IAAI,OAAO,WAAW,oBACpB,MAAM,IAAI,MACR,gDAAgD,OAAO,YAAY,EAAE,GAAG,OAAO,YAAY,IAAI,wEAEjG;EAEF,OAAO;GAAE,SAAS;GAAM,QAAQ,OAAO,WAAW;EAAU;CAC9D,SAAS,OAAO;EAEd,KADqB,iBAAiB,gBAAgB,MAAM,OAAO,QACtD,qBACX,OAAO,EAAE,SAAS,KAAK;EAEzB,MAAM,oBAAoB,OAAO,KAAK,aAAa;CACrD;AACF;AAEA,SAAS,oBAAoB,OAAgB,eAA6C;CACxF,IAAI,EAAE,iBAAiB,gBAAgB,OAAO;CAC9C,MAAM,OAAe,MAAM;CAC3B,MAAM,UAAU,cAAc,aAC1B,yBAAyB,cAAc,WAAW,KAClD;CACJ,IAAI,iBAAiB,mBACnB,uBAAO,IAAI,MAAM,iDAAiD,SAAS;CAE7E,IAAI,iBAAiB,mBACnB,uBAAO,IAAI,MAAM,gCAAgC,SAAS;CAE5D,IAAI,SAAS,0BAA0B,SAAS,sBAAsB;EACpE,MAAM,SAAS,MAAM,UAAU,KAAK,MAAM,QAAQ,KAAK;EACvD,uBAAO,IAAI,MACT,oDAAoD,OAAO,eAAe,eAAe,aAAa,GACxG;CACF;CACA,IAAI,SAAS,qBAAqB,SAAS,gBACzC,uBAAO,IAAI,MACT,4FACF;CAEF,uBAAO,IAAI,MAAM,2BAA2B,KAAK,KAAK,MAAM,SAAS;AACvE"}
|
|
@@ -86,11 +86,14 @@ const AppDescriptorSchema = zod.object({
|
|
|
86
86
|
railway: zod.object({ service: zod.string() }).strict().optional()
|
|
87
87
|
}).strict().optional(),
|
|
88
88
|
cdn: zod.object({ origin: zod.string().optional() }).strict().optional(),
|
|
89
|
-
publish: zod.object({
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
89
|
+
publish: zod.object({
|
|
90
|
+
auth: zod.enum([
|
|
91
|
+
"session",
|
|
92
|
+
"key",
|
|
93
|
+
"custody"
|
|
94
|
+
]).optional(),
|
|
95
|
+
sourcePublish: zod.boolean().optional()
|
|
96
|
+
}).strict().optional(),
|
|
94
97
|
host: HostRefSchema.optional(),
|
|
95
98
|
api: ApiRefSchema.optional(),
|
|
96
99
|
ui: UiRefSchema.optional(),
|