Skip to content

Commit 50503da

Browse files
Merge pull request #791 from ibuildthecloud/main
bug: include shared context from context tools referenced by "tools:"
2 parents 75d9600 + 707d483 commit 50503da

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

pkg/tests/testdata/TestToolRefAll/call1.golden

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
"role": "system",
5353
"content": [
5454
{
55-
"text": "\nContext Body\nMain tool"
55+
"text": "\nShared context\n\nContext Body\nMain tool"
5656
}
5757
],
5858
"usage": {}

pkg/tests/testdata/TestToolRefAll/test.gpt

+8
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,19 @@ Agent body
1111
---
1212
name: context
1313
type: context
14+
share context: sharedcontext
1415

1516
#!sys.echo
1617

1718
Context Body
1819

20+
---
21+
name: sharedcontext
22+
23+
#!sys.echo
24+
25+
Shared context
26+
1927
---
2028
name: none
2129
param: noneArg: stuff

pkg/types/tool.go

+11-1
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,17 @@ func (t Tool) getExportedTools(prg Program) ([]ToolReference, error) {
546546
func (t Tool) GetContextTools(prg Program) ([]ToolReference, error) {
547547
result := &toolRefSet{}
548548
result.AddAll(t.getDirectContextToolRefs(prg))
549-
result.AddAll(t.getCompletionToolRefs(prg, nil, ToolTypeContext))
549+
550+
contextRefs, err := t.getCompletionToolRefs(prg, nil, ToolTypeContext)
551+
if err != nil {
552+
return nil, err
553+
}
554+
555+
for _, contextRef := range contextRefs {
556+
result.AddAll(prg.ToolSet[contextRef.ToolID].getExportedContext(prg))
557+
result.Add(contextRef)
558+
}
559+
550560
return result.List()
551561
}
552562

0 commit comments

Comments
 (0)