Ed Zynda
558fb5214f
feat(sdk): expose remaining Fantasy lifecycle callbacks as events and hooks
...
Closes #19 .
SDK events (pkg/kit):
- Add 10 new event types: StepStart, StepFinish, TextStart, TextEnd,
ReasoningStart, Warnings, Source, StreamFinish, Error, Retry
- Add typed convenience subscribers for all 31 event types (20 previously
required raw Subscribe + type assertion)
- Add OnPrepareStep hook for intercepting/replacing messages between
steps within a multi-step turn (composes with existing steering)
- Rename OnStreaming to OnMessageUpdate (deprecated alias kept)
Agent internals (internal/agent):
- Add GenerateCallbacks struct replacing 16 positional callback params
- Add GenerateWithCallbacks method; deprecate GenerateWithLoopAndStreaming
- Wire all Fantasy stream callbacks: OnStepStart, OnTextStart/End,
OnReasoningStart, OnWarnings, OnSource, OnStreamFinish, OnError,
OnRetry, OnStepFinish (unified step event)
- Compose PrepareStep with steering channel + consumer hook
Extension system (internal/extensions):
- Add 8 new extension events: StepStart, StepFinish, ReasoningStart,
Warnings, Source, Error, Retry, PrepareStep
- Bridge SDK events to extension runner with Yaegi-safe types (string
errors, plain int64 token fields, ContextMessage for PrepareStep)
Docs: update README, SDK skill, www/sdk/callbacks, www/sdk/overview
2026-04-22 20:25:06 +03:00