Skip to content

Examples

Wire Envelope

```go import "github.com/jonwraymond/toolprotocol/wire"

msg := wire.Envelope{ Version: "1.0", Type: "discover.request", Payload: map[string]any{ "query": "create issue", }, } ```

Stream

```go import "github.com/jonwraymond/toolprotocol/stream"

s := stream.NewDefaultStream()

go func() { _ = s.Send(stream.Event{Type: "progress", Data: map[string]any{"pct": 50}}) _ = s.Close() }()

for ev := range s.Events() { _ = ev } ```

Session

```go import "github.com/jonwraymond/toolprotocol/session"

sess := session.New(session.Config{ID: "session-1"}) ctx := sess.Context() _ = ctx ```

Content Blocks

```go import "github.com/jonwraymond/toolprotocol/content"

block := content.Block{ Type: "text", Data: map[string]any{"text": "hello"}, } ```