package main

import (
	"context"
	"example.com/sonny-notes/gen/server"
	"example.com/sonny-notes/internal/notes"
	"log/slog"
	"os"
	"os/signal"
	"syscall"
)

func main() {
	ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
	defer cancel()
	impl, err := notes.New()
	if err == nil {
		err = server.Serve(ctx, server.WithMCPImpl(impl), server.WithStdioOnly())
	}
	if err != nil {
		slog.Error("notes server stopped", "error", err)
		os.Exit(1)
	}
}
