INNER CODE UNIT · Go
int
voocel/ainovel-cli · internal/agents/agentcore_contract_test.go:44
func (m *contractModel) calls() int { return int(atomic.LoadInt64(&m.idx)) }
func (m *contractModel) Generate(_ context.Context, msgs []agentcore.Message, _ []agentcore.ToolSpec, _ ...agentcore.CallOption) (*agentcore.LLMResponse, error) {
return m.take(msgs)
}
func (m *contractModel) GenerateStream(_ context.Context, msgs []agentcore.Message, _ []agentcore.ToolSpec, _ ...agentcore.CallOption) (<-chan agentcore.StreamEvent, error) {
resp, err := m.take(msgs)
if err != nil {
return nil, err
}
ch := make(chan agentcore.StreamEvent, 1)
ch <- agentcore.StreamEvent{Type: agentcore.StreamEventDone, Message: resp.Message, StopReason: resp.Message.StopReason}
close(ch)
return ch, nil
}
func (m *contractModel) SupportsTools() bool { return true }