Skip to content

feat: add SLIMRPC transport support - #18

Draft
Tehsmash wants to merge 1 commit into
mainfrom
feat/slimrpc-transport
Draft

feat: add SLIMRPC transport support#18
Tehsmash wants to merge 1 commit into
mainfrom
feat/slimrpc-transport

Conversation

@Tehsmash

Copy link
Copy Markdown
Contributor

Closes #17

Summary

  • Adds --transport slimrpc backed by github.com/agntcy/slim-a2a-go, the Go reference implementation of the experimental SLIMRPC custom protocol binding
  • CGO-gated: slim.go (cgo build tag) wires the SLIM runtime; slim_nocgo.go returns a clear error when CGO_ENABLED=0
  • New flags (active only with --transport slimrpc):
    • --slim-endpoint — SLIM node endpoint (default http://127.0.0.1:46357)
    • --slim-local-name — local SLIM identity in org/namespace/app form
    • --slim-identity-provider-type / --slim-identity-provider-shared-secret
    • --slim-identity-verifier-type / --slim-identity-verifier-shared-secret
  • CI: runs slim-bindings-setup to install the native library before build/test, caches ~/.cgo-cache, sets CGO_ENABLED=1

Usage

a2a send --transport slimrpc --endpoint agntcy/demo/echo_agent \
  --slim-endpoint http://127.0.0.1:46357 \
  --slim-local-name agntcy/a2a-cli/client \
  --slim-identity-provider-type sharedSecret \
  --slim-identity-provider-shared-secret my_secret \
  --slim-identity-verifier-type sharedSecret \
  --slim-identity-verifier-shared-secret my_secret \
  "hello"

Add --transport slimrpc backed by github.com/agntcy/slim-a2a-go, the
Go reference implementation of the experimental SLIMRPC custom protocol
binding (https://github.com/a2aproject/experimental-cpb-slimrpc).

The implementation is CGO-gated: slim.go (cgo build tag) wires up the
SLIM runtime; slim_nocgo.go returns a clear error when CGO is disabled.

New flags (all used only with --transport slimrpc):
  --slim-endpoint                        SLIM node endpoint
  --slim-local-name                      local SLIM identity (org/ns/app)
  --slim-identity-provider-type          identity provider type (sharedSecret)
  --slim-identity-provider-shared-secret shared secret for provider
  --slim-identity-verifier-type          identity verifier type (sharedSecret)
  --slim-identity-verifier-shared-secret shared secret for verifier

CI: install the SLIM native library via slim-bindings-setup before
build/test, cache ~/.cgo-cache across runs, and set CGO_ENABLED=1.

Closes #17

Signed-off-by: Sam Betts <1769706+Tehsmash@users.noreply.github.com>
@msampathkumar msampathkumar added the enhancement New feature or request label Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: add support for SLIMRPC custom protocol binding

2 participants