From 1c1888dce9141ec9940cce30bf473a502fad3c1e Mon Sep 17 00:00:00 2001 From: Nick Hale <4175918+njhale@users.noreply.github.com> Date: Wed, 26 Jun 2024 20:38:27 -0400 Subject: [PATCH] enhance: plumb credential context into run/eval requests Expose the `credentialOverride` field in the request payload for the run/eval sdkserver endpoints. This will enable credential override support to be implemented by the SDKs. Signed-off-by: Nick Hale <4175918+njhale@users.noreply.github.com> --- pkg/sdkserver/routes.go | 3 ++- pkg/sdkserver/types.go | 17 +++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/pkg/sdkserver/routes.go b/pkg/sdkserver/routes.go index 0380cff4..176552b1 100644 --- a/pkg/sdkserver/routes.go +++ b/pkg/sdkserver/routes.go @@ -200,7 +200,8 @@ func (s *server) execHandler(w http.ResponseWriter, r *http.Request) { CredentialContext: reqObject.CredentialContext, Runner: runner.Options{ // Set the monitor factory so that we can get events from the server. - MonitorFactory: NewSessionFactory(s.events), + MonitorFactory: NewSessionFactory(s.events), + CredentialOverride: reqObject.CredentialOverride, }, } diff --git a/pkg/sdkserver/types.go b/pkg/sdkserver/types.go index 0025539c..e6325956 100644 --- a/pkg/sdkserver/types.go +++ b/pkg/sdkserver/types.go @@ -52,14 +52,15 @@ type toolOrFileRequest struct { cacheOptions `json:",inline"` openAIOptions `json:",inline"` - ToolDefs toolDefs `json:"toolDefs,inline"` - SubTool string `json:"subTool"` - Input string `json:"input"` - ChatState string `json:"chatState"` - Workspace string `json:"workspace"` - Env []string `json:"env"` - CredentialContext string `json:"credentialContext"` - Confirm bool `json:"confirm"` + ToolDefs toolDefs `json:"toolDefs,inline"` + SubTool string `json:"subTool"` + Input string `json:"input"` + ChatState string `json:"chatState"` + Workspace string `json:"workspace"` + Env []string `json:"env"` + CredentialContext string `json:"credentialContext"` + CredentialOverride string `json:"credentialOverride"` + Confirm bool `json:"confirm"` } type content struct {