🎉 First-time contributors
@notowen333
@agent-of-mkmeral
✦ Features 8
- prevent self-handoffs in Swarmmultiagent
- update default model to Claude Sonnet 4 (claude-sonnet-4-6)
- add before tool cancellation supporthooks
- add local traces into agentResultotel
- add multi-agent tracesmultiagentotel
- add model subpath exports, rename GeminiModel to GoogleModel, and add api field to OpenAIModel
- add toJSON() to multiagent and a2a streaming events for wire-safe serializationmultiagent
- add toJSON() to all streaming events for wire-safe serializationbidirectional-streaming
⊘ Fixes 20
- gemini model should handle throttling correctlymodel
- use logger instead of console log that bypass logging system
- remove vi.restoreAllMocks() breaking Anthropic mock in browser testsmodel
- swarm maxstep throws when finish normallymultiagent
- correctly restore null systemPrompt in loadSnapshot
- add newline after printing agent responseagent
- update anthropic log line to follow structured logging conventionmodel
- use undefined rather than falsy system prompt check
- clarify A2AAgent log message for non-text content stripping
- sliding window conversation manager treats windowSize 0 as no-op
- standardize log messages to follow structured logging format
- update default OpenAI model IDs to current generationmodel
- inner node status should propagate
- add SessionManager guard rails and widen snapshot types to LocalAgent
- add persistence to vended bash tooltool
- force slidingWindowConversationManager to use user message
- guarantee after-events fire during hook errors and stream cleanuphooks
- move A2AExpressServer to dedicated subpath export for browser compatibility
- allow pre-release versions in NPM publish workflow
- add --tag latest to npm publish for pre-release versions