INNER CODE UNIT · Go
func
voocel/ainovel-cli · internal/agents/agentcore_contract_test.go:35
fn func(i int, msgs []agentcore.Message) (*agentcore.LLMResponse, error)
idx int64
}
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 {