Reapply "feat(core): optional mdns service (#6192)"

This reverts commit 505068d5a6.
This commit is contained in:
Adam
2025-12-26 14:24:44 -06:00
parent 1e2ef07c97
commit b2f45d574f
15 changed files with 234 additions and 112 deletions

View File

@@ -1,29 +1,16 @@
import { Config } from "../../config/config"
import { Server } from "../../server/server"
import { cmd } from "./cmd"
import { withNetworkOptions, resolveNetworkOptions } from "../network"
export const ServeCommand = cmd({
command: "serve",
builder: (yargs) =>
yargs
.option("port", {
alias: ["p"],
type: "number",
describe: "port to listen on",
default: 0,
})
.option("hostname", {
type: "string",
describe: "hostname to listen on",
default: "127.0.0.1",
}),
builder: (yargs) => withNetworkOptions(yargs),
describe: "starts a headless opencode server",
handler: async (args) => {
const hostname = args.hostname
const port = args.port
const server = Server.listen({
port,
hostname,
})
const config = await Config.get()
const opts = resolveNetworkOptions(args, config)
const server = Server.listen(opts)
console.log(`opencode server listening on http://${server.hostname}:${server.port}`)
await new Promise(() => {})
await server.stop()