MCPcopy Create free account
hub / github.com/coder/coder / injectTools

Method injectTools

aibridge/intercept/responses/reqpayload.go:171–190  ·  view source on GitHub ↗
(injected []responses.ToolUnionParam)

Source from the content-addressed store, hash-verified

169}
170
171func (p RequestPayload) injectTools(injected []responses.ToolUnionParam) (RequestPayload, error) {
172 if len(injected) == 0 {
173 return p, nil
174 }
175
176 existing, err := p.toolItems()
177 if err != nil {
178 return p, xerrors.Errorf("failed to get existing tools: %w", err)
179 }
180
181 allTools := make([]any, 0, len(existing)+len(injected))
182 for _, item := range existing {
183 allTools = append(allTools, item)
184 }
185 for _, tool := range injected {
186 allTools = append(allTools, tool)
187 }
188
189 return p.set(reqPathTools, allTools)
190}
191
192func (p RequestPayload) disableParallelToolCalls() (RequestPayload, error) {
193 return p.set(reqPathParallelToolCalls, false)

Callers 4

ProcessRequestMethod · 0.45
ProcessRequestMethod · 0.45
TestInjectToolsFunction · 0.45

Calls 3

toolItemsMethod · 0.95
setMethod · 0.95
ErrorfMethod · 0.45

Tested by 2

TestInjectToolsFunction · 0.36