summaryrefslogtreecommitdiffhomepage
path: root/internal/llm/tools/tools.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/llm/tools/tools.go')
-rw-r--r--internal/llm/tools/tools.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/internal/llm/tools/tools.go b/internal/llm/tools/tools.go
index 6bb528686..473b787bb 100644
--- a/internal/llm/tools/tools.go
+++ b/internal/llm/tools/tools.go
@@ -17,6 +17,9 @@ type toolResponseType string
const (
ToolResponseTypeText toolResponseType = "text"
ToolResponseTypeImage toolResponseType = "image"
+
+ SessionIDContextKey = "session_id"
+ MessageIDContextKey = "message_id"
)
type ToolResponse struct {
@@ -62,3 +65,15 @@ type BaseTool interface {
Info() ToolInfo
Run(ctx context.Context, params ToolCall) (ToolResponse, error)
}
+
+func getContextValues(ctx context.Context) (string, string) {
+ sessionID := ctx.Value(SessionIDContextKey)
+ messageID := ctx.Value(MessageIDContextKey)
+ if sessionID == nil {
+ return "", ""
+ }
+ if messageID == nil {
+ return sessionID.(string), ""
+ }
+ return sessionID.(string), messageID.(string)
+}