INNER CODE UNIT · Go
func
voocel/ainovel-cli · internal/agents/agentcore_contract_test.go:39
func (m *contractModel) take(msgs []agentcore.Message) (*agentcore.LLMResponse, error) {
i := int(atomic.AddInt64(&m.idx, 1) - 1)
return m.fn(i, msgs)
}
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}