yao/registry
Max 44af6ba759 Enhance command structure with MCP and Robot functionalities
- Introduce new MCP and Robot command groups in the CLI, allowing for better organization of package management commands.
- Add corresponding command descriptions for MCP and Robot functionalities to improve user guidance.
- Update the agent command group to include additional commands for enhanced agent management.
- Modify .gitignore to exclude specific design markdown files from version control.
- Add environment variable for test application path in GitHub workflows to streamline testing setup.
2026-03-03 08:11:43 +08:00
..
manager Enhance command structure with MCP and Robot functionalities 2026-03-03 08:11:43 +08:00
testdata Enhance testing framework with Registry Client SDK integration 2026-03-02 21:16:22 +08:00
client.go Refactor GitHub workflows for Registry Client SDK tests 2026-03-02 21:39:22 +08:00
client_test.go Refactor GitHub workflows for Registry Client SDK tests 2026-03-02 21:39:22 +08:00
README.md Refactor GitHub workflows for Registry Client SDK tests 2026-03-02 21:39:22 +08:00

registry

Go client SDK for Yao Registry.

Usage

import "github.com/yaoapp/yao/registry"

// Only the server URL is required. API prefix is auto-discovered
// via /.well-known/yao-registry on the first call.
c := registry.New("https://registry.yaoagents.com",
    registry.WithAuth("user", "pass"),  // optional, for push/delete
)

// Push a .yao.zip package
result, err := c.Push("assistants", "@yao", "hello", "1.0.0", zipBytes)

// Pull (by version or dist-tag)
data, digest, err := c.Pull("assistants", "@yao", "hello", "latest")

// Query
pack, err := c.GetPackument("assistants", "@yao", "hello")
ver, err  := c.GetVersion("assistants", "@yao", "hello", "1.0.0")
list, err := c.Search("hello", "assistants", 1, 20)

// Dependencies
deps, err := c.GetDependencies("assistants", "@yao", "hello", "1.0.0", true)

// Dist-tags
c.SetTag("assistants", "@yao", "hello", "stable", "1.0.0")
c.DeleteTag("assistants", "@yao", "hello", "stable")

// Delete
c.DeleteVersion("assistants", "@yao", "hello", "1.0.0")

Options

Option Description
WithAuth(user, pass) Basic Auth for push/delete
WithHTTPClient(hc) Custom *http.Client
WithTimeout(d) HTTP timeout

Environment

Tests require a running registry server. Set YAO_REGISTRY_URL (default http://localhost:8080) and create user yaoagents/yaoagents.

# Start registry with test user
REGISTRY_INIT_USER=yaoagents REGISTRY_INIT_PASS=yaoagents registry start

# Run tests
go test ./registry/... -v