1import * as Schema from "effect/Schema";
2
3/** Wire format passed from the `alchemy dev` supervisor to its exec child. */
4export const DevOptions = Schema.Struct({
5 main: Schema.String,
6 stage: Schema.String,
7 envFile: Schema.OptionFromOptional(Schema.String),
8 profile: Schema.optional(Schema.String),
9 force: Schema.Boolean,
10 include: Schema.optional(Schema.Array(Schema.String)),
11 exclude: Schema.optional(Schema.Array(Schema.String)),
12});
13
14export type DevOptions = typeof DevOptions.Type;
15
16/**
17 * Exit status the exec child uses to ask the supervisor for a fresh process.
18 * Bun cannot evict evaluated modules, so a stack-graph change under Bun tears
19 * the generation down and exits with this code instead of reloading in place.
20 */
21export const DEV_RELOAD_EXIT_CODE = 75;