import { BiomeSchemaSync, ChangesetConfigReader, Changesets, ConfigDiscovery, Repos } from "@savvy-web/silk-effects"; import { Cause, Effect, FileSystem, Path } from "effect"; import { Command } from "effect/unstable/cli"; import { ChildProcessSpawner } from "effect/unstable/process"; import { Git } from "@effected/git"; import { PublishabilityDetector, WorkspaceDiscovery, WorkspaceRoot } from "@effected/workspaces"; import { ManagedSection, SectionFileError, SectionParseError, SectionRenderError } from "@effected/templates"; import { PlatformError } from "effect/PlatformError"; import { ToolDiscovery } from "@effected/commands"; import { JsoncParseError } from "@effected/jsonc"; //#region src/commands/changeset/commands/check.d.ts /** * Run the check validation pipeline on all changeset files in `dir`. * * Groups lint messages by file and logs a human-readable summary. Sets * `process.exitCode = 1` when one or more errors are found. * * @param dir - Path to the changeset directory (resolved relative to cwd) * @returns An Effect that performs validation and logs results * * @internal */ export declare function runChangesetCheck(dir: string): Effect.Effect; //#endregion //#region src/commands/changeset/commands/init.d.ts /** * Run the full init pipeline. * * Exported so Task B5's unified `savvy init` orchestrator can invoke the * changeset init step directly without going through the CLI command layer. * * @param opts - The same options the CLI command receives * @returns An Effect that performs initialization * * @internal */ export declare function runChangesetInit(opts: { force: boolean; quiet: boolean; skipMarkdownlint: boolean; check: boolean; }): Effect.Effect; //#endregion //#region src/commands/changeset/index.d.ts /** * The `savvy changeset` command group for use in Task B7 root assembly. * * @remarks * Annotated with the exact five-parameter `Command.Command` instantiation * (verified against the inferred type): the bare inferred type additionally * prints the structural `subcommands` tree, whose inline command types * reference effect's non-exported `Inspectable` module (TS4023). The * annotation preserves the exact Error/Requirements channels, so the root * layer graph stays compiler-validated. * * The requirements channel names the subcommands' services rather than `never`: * `Command.withSubcommands` propagates each subcommand's requirements up into * the group's `R`, which the root assembly discharges via `AppLive`. */ export declare const changesetCommand: Command.Command<"changeset", Record, Record, Changesets.ConfigurationError | Error | Changesets.ReleasePlanError | Cause.UnknownError | Changesets.DepsRegenPlanError, ChildProcessSpawner.ChildProcessSpawner | Changesets.ConfigInspector | FileSystem.FileSystem | Path.Path | Changesets.ReleasePlanner>; //#endregion //#region src/commands/check.d.ts /** * Run all three check step Effects without short-circuiting. * * All three checks always run, sequentially (concurrency 1) so per-tool * output stays grouped. If any fail, the combined Effect fails with all * accumulated errors. Uses `Effect.all` with `{ concurrency: 1, mode: "validate" }` * to collect every failure rather than stopping at the first. * * @param steps - The three step Effects to run. Injected for testability. * @returns An Effect that resolves to `void` on success, or fails with the * union of all failing steps' errors. */ export declare function runCheck(steps: { changeset: Effect.Effect; commit: Effect.Effect; lint: Effect.Effect; }): Effect.Effect; /** * The `savvy check` command for use in the Task B7 root assembly. * * @remarks * Typed with `any` at the export boundary to avoid TypeScript declaration-emit * errors from Effect's internal types. Task B7 should use this via * `Command.withSubcommands([checkCommand as never])` or re-infer the type. */ export declare const checkCommand: Command.Command<"check", { readonly changesetDir: string; readonly quiet: boolean; }, {}, Error | import("@effected/jsonc").JsoncParseError | import("effect/PlatformError").PlatformError | import("@effected/templates").SectionFileError | import("@effected/templates").SectionParseError, import("@savvy-web/silk-effects").ChangesetConfigReader | import("@savvy-web/silk-effects").ConfigDiscovery | import("effect/FileSystem").FileSystem | import("@effected/templates").ManagedSection | import("@effected/workspaces").PublishabilityDetector | import("@effected/commands").ToolDiscovery | import("@effected/workspaces").WorkspaceDiscovery>; //#endregion //#region src/commands/commit/check.d.ts /** * Run the check validation pipeline. * * Exported so Task B6's unified `savvy check` orchestrator can invoke the * commitlint check step directly without going through the CLI command layer. * * @returns An Effect that performs validation and logs results * * @internal */ export declare function runCommitCheck(): Effect.Effect; //#endregion //#region src/commands/commit/init.d.ts /** * Run the full init pipeline. * * Exported so Task B5's unified `savvy init` orchestrator can invoke the * commitlint init step directly without going through the CLI command layer. * * @param opts - The same options the CLI command receives * @returns An Effect that performs initialization * * @internal */ export declare function runCommitInit(opts: { force: boolean; config: string; }): Effect.Effect; //#endregion //#region src/commands/commit/index.d.ts /** * The `savvy commit` command group for use in Task B7 root assembly. * * @remarks * Typed as `unknown` at the export boundary to avoid TypeScript declaration-emit * errors from Effect's internal types. Task B7 should import and use this directly * as `Command.withSubcommands([commitCommand])` — the cast is for declaration emit only. */ export declare const commitCommand: Command.Command<"commit", {}, {}, import("effect/unstable/cli/CliError").UserError, import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | import("@effected/git").Git>; //#endregion //#region src/commands/init.d.ts /** * Run the three init step Effects in order: changeset → commit → lint. * * Monadic sequencing via `Effect.gen` short-circuits on the first failure — * if changeset fails, neither commit nor lint will run. * * @param steps - The three step Effects to sequence. Injected for testability. * @returns An Effect that resolves to `void` on success, or fails with the * error of the first failing step. */ export declare function runInit(steps: { changeset: Effect.Effect; commit: Effect.Effect; lint: Effect.Effect; }): Effect.Effect; /** * The `savvy init` command for use in the Task B7 root assembly. * * @remarks * Typed with `any` at the export boundary to avoid TypeScript declaration-emit * errors from Effect's internal types. Task B7 should use this via * `Command.withSubcommands([initCommand as never])` or re-infer the type. */ export declare const initCommand: Command.Command<"init", { readonly force: boolean; readonly commitConfig: string; readonly lintConfig: string; readonly lintPreset: "minimal" | "silk" | "standard"; }, {}, Error | import("effect/PlatformError").PlatformError | import("@effected/templates").SectionFileError | import("@effected/templates").SectionParseError | import("@effected/templates").SectionRenderError, import("@savvy-web/silk-effects").BiomeSchemaSync | import("effect/FileSystem").FileSystem | import("@effected/git").Git | import("@effected/templates").ManagedSection | import("@effected/workspaces").WorkspaceDiscovery | import("@effected/workspaces").WorkspaceRoot>; //#endregion //#region src/commands/lint/check.d.ts /** * Run the lint check validation pipeline. * * Exported so Task B6's unified `savvy check` orchestrator can invoke the * lint check step directly without going through the CLI command layer. * * @param opts - Options for the check command * @returns An Effect that performs validation and logs results * * @internal */ export declare function runLintCheck(opts: { quiet: boolean; }): Effect.Effect; //#endregion //#region src/commands/lint/init.d.ts /** * Run the full lint init pipeline. * * Exported so Task B5's unified `savvy init` orchestrator can invoke the * lint-staged init step directly without going through the CLI command layer. * * @param opts - The same options the CLI command receives * @returns An Effect that performs initialization * * @internal */ export declare function runLintInit(opts: { force: boolean; config: string; preset: "minimal" | "standard" | "silk"; }): Effect.Effect; //#endregion //#region src/commands/lint/index.d.ts /** * The `savvy lint` command group for use in Task B7 root assembly. * * @remarks * Typed as `unknown` at the export boundary to avoid TypeScript declaration-emit * errors from Effect's internal types. Task B7 should import and use this directly * as `Command.withSubcommands([lintCommand])` — the cast is for declaration emit only. */ export declare const lintCommand: Command.Command<"lint", {}, {}, import("@effected/yaml").YamlParseError, never>; //#endregion //#region src/commands/repos/commands/status.d.ts /** * Drift report handler; exported for tests. * * @internal */ export declare const runReposStatus: (cwd: string, json: boolean, drift?: boolean) => Effect.Effect; //#endregion //#region src/commands/repos/commands/sync.d.ts /** * Sync handler; exported for tests. * * @internal */ export declare const runReposSync: (cwd: string) => Effect.Effect; //#endregion //#region src/commands/repos/index.d.ts /** * The `savvy repos` command group. * * @remarks * Annotated with the exact five-parameter `Command.Command` instantiation * (verified against the inferred type): the bare inferred type additionally * prints the structural `subcommands` tree, whose inline command types * reference effect's non-exported `Inspectable` module (TS4023). The * annotation preserves the exact Error/Requirements channels, so the root * layer graph stays compiler-validated. * * The requirements channel names `Repos.ReposManager | Repos.ReposDrift` * rather than `never`: `Command.withSubcommands` propagates each * subcommand's requirements up into the group's `R`, which the root assembly * discharges via `AppLive`. `Repos.ReposDrift` joins the union because * `status --drift` runs `Repos.ReposDrift.check` after the status check. * * The error channel is `Repos.GitSubmoduleError` alone: `add`/`pin`/`note`/ * `remove`/`rename`/`restore`/`sync`/`deregister` each `catchTag` every error * their underlying `ReposManager` method can produce — `ReposConfigError`, * `GitSubmoduleError`, `RepoNotFoundError`, `NoteNotFoundError`, and (for the * six ops that unlock/re-lock the vendored tree around a git mutation) * `ReposLockdownError` — down to a logged message and a non-zero exit code, * so none of those propagate past the handler. `status` only `catchTag`s * `ReposConfigError`; `GitSubmoduleError` from either `ReposManager.status` * or (under `--drift`) `Repos.ReposDrift.check` is the sole channel that * escapes uncaught, so it is the only member left in this union. */ export declare const reposCommand: Command.Command<"repos", Record, Record, Repos.GitSubmoduleError, Repos.ReposManager | Repos.ReposDrift>; //#endregion //# sourceMappingURL=index.d.ts.map