serve.ts 796 B

12345678910111213141516171819202122232425262728293031
  1. import { Server } from "../../server/server"
  2. import { cmd } from "./cmd"
  3. export const ServeCommand = cmd({
  4. command: "serve",
  5. builder: (yargs) =>
  6. yargs
  7. .option("port", {
  8. alias: ["p"],
  9. type: "number",
  10. describe: "port to listen on",
  11. default: 0,
  12. })
  13. .option("hostname", {
  14. type: "string",
  15. describe: "hostname to listen on",
  16. default: "127.0.0.1",
  17. }),
  18. describe: "starts a headless opencode server",
  19. handler: async (args) => {
  20. const hostname = args.hostname
  21. const port = args.port
  22. const server = Server.listen({
  23. port,
  24. hostname,
  25. })
  26. console.log(`opencode server listening on http://${server.hostname}:${server.port}`)
  27. await new Promise(() => {})
  28. await server.stop()
  29. },
  30. })