Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita52a4a1

Browse files
committed
chore: remove deprecated AITaskPromptParameterName constant
This removes the deprecated AITaskPromptParameterName constant andall backward compatibility code that was added in v2.28.Changes:- Remove AITaskPromptParameterName constant from codersdk/aitasks.go- Remove backward compatibility code in coderd/aitasks.go that automatically populated the 'AI Prompt' parameter for templates that defined it- Remove the backward compatibility test (OK AIPromptBackCompat)- Update dbfake to no longer set the AI Prompt parameter- Update toolsdk tests to not require AI Prompt parameter- Remove AITaskPromptParameterName from frontend TypeScript types- Remove preset prompt read-only feature from TaskPrompt component that relied on the AI Prompt parameter- Update test mocks (MockAIPromptPresets) to not include AI PromptTask prompts are now exclusively stored in the tasks.prompt databasecolumn, as introduced in the migration that added the tasks table.Related:coder/internal#1150
1 parentd3fe72c commita52a4a1

File tree

9 files changed

+4
-135
lines changed

9 files changed

+4
-135
lines changed

‎coderd/aitasks.go‎

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import (
2626
"github.com/coder/coder/v2/coderd/rbac/policy"
2727
"github.com/coder/coder/v2/coderd/searchquery"
2828
"github.com/coder/coder/v2/coderd/util/ptr"
29-
"github.com/coder/coder/v2/coderd/util/slice"
3029
"github.com/coder/coder/v2/codersdk"
3130
)
3231

@@ -129,31 +128,10 @@ func (api *API) tasksCreate(rw http.ResponseWriter, r *http.Request) {
129128
}
130129
}
131130

132-
// Check if the template defines the AI Prompt parameter.
133-
templateParams,err:=api.Database.GetTemplateVersionParameters(ctx,req.TemplateVersionID)
134-
iferr!=nil {
135-
httpapi.Write(ctx,rw,http.StatusInternalServerError, codersdk.Response{
136-
Message:"Internal error fetching template parameters.",
137-
Detail:err.Error(),
138-
})
139-
return
140-
}
141-
142-
varrichParams []codersdk.WorkspaceBuildParameter
143-
if_,hasAIPromptParam:=slice.Find(templateParams,func(param database.TemplateVersionParameter)bool {
144-
returnparam.Name==codersdk.AITaskPromptParameterName
145-
});hasAIPromptParam {
146-
// Only add the AI Prompt parameter if the template defines it.
147-
richParams= []codersdk.WorkspaceBuildParameter{
148-
{Name:codersdk.AITaskPromptParameterName,Value:req.Input},
149-
}
150-
}
151-
152131
createReq:= codersdk.CreateWorkspaceRequest{
153132
Name:taskName,
154133
TemplateVersionID:req.TemplateVersionID,
155134
TemplateVersionPresetID:req.TemplateVersionPresetID,
156-
RichParameterValues:richParams,
157135
}
158136

159137
varownerworkspaceOwner

‎coderd/aitasks_test.go‎

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -973,56 +973,6 @@ func TestTasksCreate(t *testing.T) {
973973
require.Len(t,parameters,0)
974974
})
975975

976-
t.Run("OK AIPromptBackCompat",func(t*testing.T) {
977-
t.Parallel()
978-
979-
var (
980-
ctx=testutil.Context(t,testutil.WaitShort)
981-
982-
taskPrompt="Some task prompt"
983-
)
984-
985-
client:=coderdtest.New(t,&coderdtest.Options{IncludeProvisionerDaemon:true})
986-
user:=coderdtest.CreateFirstUser(t,client)
987-
988-
// Given: A template with an "AI Prompt" parameter
989-
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,&echo.Responses{
990-
Parse:echo.ParseComplete,
991-
ProvisionApply:echo.ApplyComplete,
992-
ProvisionPlan: []*proto.Response{
993-
{Type:&proto.Response_Plan{Plan:&proto.PlanComplete{
994-
Parameters: []*proto.RichParameter{{Name:codersdk.AITaskPromptParameterName,Type:"string"}},
995-
HasAiTasks:true,
996-
}}},
997-
},
998-
})
999-
coderdtest.AwaitTemplateVersionJobCompleted(t,client,version.ID)
1000-
template:=coderdtest.CreateTemplate(t,client,user.OrganizationID,version.ID)
1001-
1002-
// When: We attempt to create a Task.
1003-
task,err:=client.CreateTask(ctx,"me", codersdk.CreateTaskRequest{
1004-
TemplateVersionID:template.ActiveVersionID,
1005-
Input:taskPrompt,
1006-
})
1007-
require.NoError(t,err)
1008-
require.True(t,task.WorkspaceID.Valid)
1009-
1010-
ws,err:=client.Workspace(ctx,task.WorkspaceID.UUID)
1011-
require.NoError(t,err)
1012-
coderdtest.AwaitWorkspaceBuildJobCompleted(t,client,ws.LatestBuild.ID)
1013-
1014-
// Then: We expect a workspace to have been created.
1015-
assert.NotEmpty(t,task.Name)
1016-
assert.Equal(t,template.ID,task.TemplateID)
1017-
1018-
// And: We expect it to have the "AI Prompt" parameter correctly set.
1019-
parameters,err:=client.WorkspaceBuildParameters(ctx,ws.LatestBuild.ID)
1020-
require.NoError(t,err)
1021-
require.Len(t,parameters,1)
1022-
assert.Equal(t,codersdk.AITaskPromptParameterName,parameters[0].Name)
1023-
assert.Equal(t,taskPrompt,parameters[0].Value)
1024-
})
1025-
1026976
t.Run("CustomNames",func(t*testing.T) {
1027977
t.Parallel()
1028978

‎coderd/database/dbfake/dbfake.go‎

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import (
2424
"github.com/coder/coder/v2/coderd/rbac"
2525
"github.com/coder/coder/v2/coderd/telemetry"
2626
"github.com/coder/coder/v2/coderd/wspubsub"
27-
"github.com/coder/coder/v2/codersdk"
2827
"github.com/coder/coder/v2/provisionersdk"
2928
sdkproto"github.com/coder/coder/v2/provisionersdk/proto"
3029
)
@@ -130,10 +129,7 @@ func (b WorkspaceBuildBuilder) WithTask(taskSeed database.TaskTable, appSeed *sd
130129
b.taskAppID,err=uuid.Parse(takeFirst(appSeed.Id,uuid.NewString()))
131130
require.NoError(b.t,err)
132131

133-
returnb.Params(database.WorkspaceBuildParameter{
134-
Name:codersdk.AITaskPromptParameterName,
135-
Value:b.taskSeed.Prompt,
136-
}).WithAgent(func(a []*sdkproto.Agent) []*sdkproto.Agent {
132+
returnb.WithAgent(func(a []*sdkproto.Agent) []*sdkproto.Agent {
137133
a[0].Apps= []*sdkproto.App{
138134
{
139135
Id:b.taskAppID.String(),

‎codersdk/aitasks.go‎

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,8 @@ import (
1010

1111
"github.com/google/uuid"
1212
"golang.org/x/xerrors"
13-
14-
"github.com/coder/terraform-provider-coder/v2/provider"
1513
)
1614

17-
// AITaskPromptParameterName is the name of the parameter used to pass prompts
18-
// to AI tasks.
19-
//
20-
// Deprecated: This constant is deprecated and maintained only for backwards
21-
// compatibility with older templates. Task prompts are now stored directly
22-
// in the tasks.prompt database column. New code should access prompts via
23-
// the Task.InitialPrompt field returned from task endpoints.
24-
//
25-
// This constant will be removed in a future major version. Templates should
26-
// not rely on this parameter name, as the backend will continue to create it
27-
// automatically for compatibility but reads from tasks.prompt.
28-
constAITaskPromptParameterName=provider.TaskPromptParameterName
29-
3015
// CreateTaskRequest represents the request to create a new task.
3116
typeCreateTaskRequeststruct {
3217
TemplateVersionID uuid.UUID`json:"template_version_id" format:"uuid"`

‎codersdk/toolsdk/toolsdk_test.go‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1017,7 +1017,6 @@ func TestTools(t *testing.T) {
10171017
ProvisionApply:echo.ApplyComplete,
10181018
ProvisionPlan: []*proto.Response{
10191019
{Type:&proto.Response_Plan{Plan:&proto.PlanComplete{
1020-
Parameters: []*proto.RichParameter{{Name:"AI Prompt",Type:"string"}},
10211020
HasAiTasks:true,
10221021
}}},
10231022
},

‎site/src/api/typesGenerated.ts‎

Lines changed: 0 additions & 16 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎site/src/modules/tasks/TaskPrompt/TaskPrompt.stories.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ export const WithPresets: Story = {
7272
},
7373
};
7474

75-
exportconstReadOnlyPresetPrompt:Story={
75+
exportconstWithAIPresets:Story={
7676
beforeEach:()=>{
7777
spyOn(API,"getTemplateVersionPresets").mockResolvedValue(
7878
MockAIPromptPresets,

‎site/src/modules/tasks/TaskPrompt/TaskPrompt.tsx‎

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import type {
77
Template,
88
TemplateVersionExternalAuth,
99
}from"api/typesGenerated";
10-
import{AITaskPromptParameterName}from"api/typesGenerated";
1110
import{ErrorAlert}from"components/Alert/ErrorAlert";
1211
import{Button}from"components/Button/Button";
1312
import{ExternalImage}from"components/ExternalImage/ExternalImage";
@@ -162,19 +161,6 @@ const CreateTaskForm: FC<CreateTaskFormProps> = ({ templates, onSuccess }) => {
162161
constdefaultPreset=presets?.find((p)=>p.Default);
163162
setSelectedPresetId(defaultPreset?.ID??presets?.[0]?.ID);
164163
},[presets]);
165-
constselectedPreset=presets?.find((p)=>p.ID===selectedPresetId);
166-
167-
// Read-only prompt if defined in preset
168-
constpresetPrompt=selectedPreset?.Parameters?.find(
169-
(param)=>param.Name===AITaskPromptParameterName,
170-
)?.Value;
171-
constisPromptReadOnly=!!presetPrompt;
172-
useEffect(()=>{
173-
if(presetPrompt){
174-
setPrompt(presetPrompt);
175-
}
176-
},[presetPrompt]);
177-
178164
// External Auth
179165
const{
180166
externalAuth,
@@ -243,21 +229,13 @@ const CreateTaskForm: FC<CreateTaskFormProps> = ({ templates, onSuccess }) => {
243229
className="border border-border border-solid rounded-3xl p-3 bg-surface-secondary"
244230
disabled={createTaskMutation.isPending}
245231
>
246-
<label
247-
htmlFor="prompt"
248-
className={
249-
isPromptReadOnly
250-
?"text-xs font-medium text-content-primary block px-3 pt-2"
251-
:"sr-only"
252-
}
253-
>
254-
{isPromptReadOnly ?"Prompt defined by preset" :"Prompt"}
232+
<labelhtmlFor="prompt"className="sr-only">
233+
Prompt
255234
</label>
256235
<PromptTextarea
257236
required
258237
value={prompt}
259238
onChange={(e)=>setPrompt(e.target.value)}
260-
readOnly={isPromptReadOnly}
261239
isSubmitting={createTaskMutation.isPending}
262240
/>
263241
<divclassName="flex items-center justify-between pt-2">

‎site/src/testHelpers/entities.ts‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4977,7 +4977,6 @@ export const MockAIPromptPresets: TypesGen.Preset[] = [
49774977
Description:"",
49784978
Icon:"",
49794979
Parameters:[
4980-
{Name:"AI Prompt",Value:"Review the code for best practices"},
49814980
{Name:"cpu",Value:"4"},
49824981
{Name:"memory",Value:"8GB"},
49834982
],

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp