2025-12-27 00:29:48 +08:00
|
|
|
import { Config } from "../../config/config"
|
2025-06-25 08:52:09 +08:00
|
|
|
import { Server } from "../../server/server"
|
|
|
|
|
import { cmd } from "./cmd"
|
2025-12-27 00:29:48 +08:00
|
|
|
import { withNetworkOptions, resolveNetworkOptions } from "../network"
|
2025-06-25 08:52:09 +08:00
|
|
|
|
|
|
|
|
export const ServeCommand = cmd({
|
|
|
|
|
command: "serve",
|
2025-12-27 00:29:48 +08:00
|
|
|
builder: (yargs) => withNetworkOptions(yargs),
|
2025-06-25 08:52:09 +08:00
|
|
|
describe: "starts a headless opencode server",
|
|
|
|
|
handler: async (args) => {
|
2025-12-27 00:29:48 +08:00
|
|
|
const config = await Config.get()
|
|
|
|
|
const opts = resolveNetworkOptions(args, config)
|
|
|
|
|
const server = Server.listen(opts)
|
2025-11-04 05:35:46 +08:00
|
|
|
console.log(`opencode server listening on http://${server.hostname}:${server.port}`)
|
2025-09-02 05:15:49 +08:00
|
|
|
await new Promise(() => {})
|
2025-10-31 12:57:58 +08:00
|
|
|
await server.stop()
|
2025-06-25 08:52:09 +08:00
|
|
|
},
|
|
|
|
|
})
|