opencode/packages/cli/src/commands/handlers/server/remove.ts
2026-07-18 19:15:58 +00:00

19 lines
742 B
TypeScript

import { Effect } from "effect"
import { Commands } from "../../commands"
import { Config } from "../../../config"
import { Runtime } from "../../../framework/runtime"
export default Runtime.handler(
Commands.commands.server.commands.remove,
Effect.fn("cli.server.remove")(function* (input) {
const config = yield* Config.Service
if ((yield* config.get()).servers?.[input.name] === undefined)
return yield* Effect.fail(new Error(`Saved server "${input.name}" not found`))
yield* config.update((draft) => {
if (!draft.servers) return
delete draft.servers[input.name]
if (!Object.keys(draft.servers).length) delete draft.servers
})
process.stdout.write(`Removed server ${input.name}\n`)
}),
)