summaryrefslogtreecommitdiff
path: root/libpanto-go/README.md
diff options
context:
space:
mode:
authort <t@tjp.lol>2026-06-19 14:53:03 -0600
committert <t@tjp.lol>2026-06-19 14:55:35 -0600
commit81ddb61dcfcc9bc85585f262bf303e1a9da507b0 (patch)
treeb38b39a937de047d35246a3e64df6fda5737850e /libpanto-go/README.md
parent270cd00129551647e7c764a13836e03e0b2dc4e2 (diff)
libpanto fixes
- ensuring stream.next() sequences are interruptible - Agent.run() takes any user message, not just chat text
Diffstat (limited to 'libpanto-go/README.md')
-rw-r--r--libpanto-go/README.md12
1 files changed, 10 insertions, 2 deletions
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 */ }
```