// Command errcontract-gen emits the authoritative Web Workflow
// public-error contract artifact as JSON. It is the `go generate` emitter.
package main

import (
	"encoding/json"
	"fmt"
	"os"

	"github.com/tidbcloud/AgentTeam/internal/workflow/errcontract"
)

func main() {
	contract := errcontract.BuildContract()
	encoded, err := json.MarshalIndent(contract, "", "  ")
	if err != nil {
		fmt.Fprintf(os.Stderr, "marshal contract: %v\n", err)
		os.Exit(1)
	}
	_, _ = os.Stdout.Write(append(encoded, '\n'))
}
