mirror of
https://github.com/coder/coder.git
synced 2026-06-02 20:48:20 +00:00
fix(coderd/provisionerdserver): pipe through task id and prompt (#20408)
Pipes through the Task's ID and prompt into the provisioner. This is required to support the new `coder_ai_task.prompt` field and modified `coder_ai_task.id` field.
This commit is contained in:
@@ -597,13 +597,10 @@ func (s *server) acquireProtoJob(ctx context.Context, job database.ProvisionerJo
|
|||||||
return nil, failJob(fmt.Sprintf("get workspace build parameters: %s", err))
|
return nil, failJob(fmt.Sprintf("get workspace build parameters: %s", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(DanielleMaywood):
|
task, err := s.Database.GetTaskByWorkspaceID(ctx, workspaceBuild.WorkspaceID)
|
||||||
// Plumb a task prompt into this when we have the new data-model ready
|
if err != nil && !errors.Is(err, sql.ErrNoRows) {
|
||||||
var taskPrompt string
|
return nil, xerrors.Errorf("get task by workspace id: %w", err)
|
||||||
|
}
|
||||||
// TODO(DanielleMaywood):
|
|
||||||
// Plumb a task ID into this when we have the new data-model ready
|
|
||||||
var taskID string
|
|
||||||
|
|
||||||
dbExternalAuthProviders := []database.ExternalAuthProvider{}
|
dbExternalAuthProviders := []database.ExternalAuthProvider{}
|
||||||
err = json.Unmarshal(templateVersion.ExternalAuthProviders, &dbExternalAuthProviders)
|
err = json.Unmarshal(templateVersion.ExternalAuthProviders, &dbExternalAuthProviders)
|
||||||
@@ -729,8 +726,8 @@ func (s *server) acquireProtoJob(ctx context.Context, job database.ProvisionerJo
|
|||||||
WorkspaceOwnerRbacRoles: ownerRbacRoles,
|
WorkspaceOwnerRbacRoles: ownerRbacRoles,
|
||||||
RunningAgentAuthTokens: runningAgentAuthTokens,
|
RunningAgentAuthTokens: runningAgentAuthTokens,
|
||||||
PrebuiltWorkspaceBuildStage: input.PrebuiltWorkspaceBuildStage,
|
PrebuiltWorkspaceBuildStage: input.PrebuiltWorkspaceBuildStage,
|
||||||
TaskId: taskID,
|
TaskId: task.ID.String(),
|
||||||
TaskPrompt: taskPrompt,
|
TaskPrompt: task.Prompt,
|
||||||
},
|
},
|
||||||
LogLevel: input.LogLevel,
|
LogLevel: input.LogLevel,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -334,6 +334,16 @@ func TestAcquireJob(t *testing.T) {
|
|||||||
Transition: database.WorkspaceTransitionStart,
|
Transition: database.WorkspaceTransitionStart,
|
||||||
Reason: database.BuildReasonInitiator,
|
Reason: database.BuildReasonInitiator,
|
||||||
})
|
})
|
||||||
|
task := dbgen.Task(t, db, database.TaskTable{
|
||||||
|
OrganizationID: pd.OrganizationID,
|
||||||
|
OwnerID: user.ID,
|
||||||
|
WorkspaceID: uuid.NullUUID{Valid: true, UUID: workspace.ID},
|
||||||
|
TemplateVersionID: version.ID,
|
||||||
|
TemplateParameters: json.RawMessage("{}"),
|
||||||
|
Prompt: "Build me a REST API",
|
||||||
|
CreatedAt: dbtime.Now(),
|
||||||
|
DeletedAt: sql.NullTime{},
|
||||||
|
})
|
||||||
|
|
||||||
var agent database.WorkspaceAgent
|
var agent database.WorkspaceAgent
|
||||||
if prebuiltWorkspaceBuildStage == sdkproto.PrebuiltWorkspaceBuildStage_CLAIM {
|
if prebuiltWorkspaceBuildStage == sdkproto.PrebuiltWorkspaceBuildStage_CLAIM {
|
||||||
@@ -446,6 +456,8 @@ func TestAcquireJob(t *testing.T) {
|
|||||||
WorkspaceBuildId: build.ID.String(),
|
WorkspaceBuildId: build.ID.String(),
|
||||||
WorkspaceOwnerLoginType: string(user.LoginType),
|
WorkspaceOwnerLoginType: string(user.LoginType),
|
||||||
WorkspaceOwnerRbacRoles: []*sdkproto.Role{{Name: rbac.RoleOrgMember(), OrgId: pd.OrganizationID.String()}, {Name: "member", OrgId: ""}, {Name: rbac.RoleOrgAuditor(), OrgId: pd.OrganizationID.String()}},
|
WorkspaceOwnerRbacRoles: []*sdkproto.Role{{Name: rbac.RoleOrgMember(), OrgId: pd.OrganizationID.String()}, {Name: "member", OrgId: ""}, {Name: rbac.RoleOrgAuditor(), OrgId: pd.OrganizationID.String()}},
|
||||||
|
TaskId: task.ID.String(),
|
||||||
|
TaskPrompt: task.Prompt,
|
||||||
}
|
}
|
||||||
if prebuiltWorkspaceBuildStage == sdkproto.PrebuiltWorkspaceBuildStage_CLAIM {
|
if prebuiltWorkspaceBuildStage == sdkproto.PrebuiltWorkspaceBuildStage_CLAIM {
|
||||||
// For claimed prebuilds, we expect the prebuild state to be set to CLAIM
|
// For claimed prebuilds, we expect the prebuild state to be set to CLAIM
|
||||||
|
|||||||
Reference in New Issue
Block a user