From 81ddb61dcfcc9bc85585f262bf303e1a9da507b0 Mon Sep 17 00:00:00 2001 From: t Date: Fri, 19 Jun 2026 14:53:03 -0600 Subject: libpanto fixes - ensuring stream.next() sequences are interruptible - Agent.run() takes any user message, not just chat text --- libpanto-go/README.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'libpanto-go/README.md') diff --git a/libpanto-go/README.md b/libpanto-go/README.md index a19e788..063f800 100644 --- a/libpanto-go/README.md +++ b/libpanto-go/README.md @@ -37,12 +37,20 @@ agent, err := panto.NewAgent(panto.Config{ if err != nil { /* handle */ } defer agent.Close() -stream, err := agent.Run("hello") +stream, err := agent.Run(panto.UserMessage(panto.TextBlock("hello"))) if err != nil { /* handle */ } defer stream.Close() for ev := range stream.Iter() { - // ev.Tag identifies the active payload. + // ev is an Event interface; type-switch on the concrete event, or branch + // on ev.EventType(). Breaking out of the loop is safe: the session store + // is current at every step. + switch ev := ev.(type) { + case panto.ContentDeltaEvent: + fmt.Print(ev.Delta) + case panto.MessageCompleteEvent: + // full message at agent.Conversation().Message(ev.MessageIndex) + } } if err := stream.Err(); err != nil { /* handle */ } ``` -- cgit v1.3