go.mod becomes module go.attesto.eu/sdk; all internal imports (CLI, connectorkit, examples), the publication-evidence/registry contracts, docs, and the README install line follow. No rotz.ai hostname remains in the customer-visible Go chain. All Go packages build and pass under the new path. All three SDKs bump to 0.3.0 (Python version.py/pyproject, TS package.json + SDK_VERSION, Go SDKVersion + cliVersion) — the Phase-1 release version, shipped atomically with the registry publish so the publication-evidence contract stays consistent. Full sweep green: Python 84, TS 55, Go 3 packages. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
37 lines
705 B
Go
37 lines
705 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
|
|
attesto "go.attesto.eu/sdk"
|
|
)
|
|
|
|
func main() {
|
|
ctx := context.Background()
|
|
client, err := attesto.NewClient(os.Getenv("ATTESTO_API_KEY"))
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
stream, err := client.CreateStream(ctx, attesto.StreamCreateInput{
|
|
UseCase: "ai-governance",
|
|
PolicyID: "policy-main",
|
|
})
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
receipt, err := client.LogEvent(ctx, stream.StreamID, attesto.EventInput{
|
|
SourceRef: "example-decision",
|
|
Payload: attesto.M{
|
|
"decision": "approved",
|
|
"reason": "policy-threshold-met",
|
|
},
|
|
})
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
fmt.Printf("%s %s\n", receipt.StreamEventID, receipt.EventHash)
|
|
}
|