fix: deprecate codersdk.AITaskPromptParameterName and reduce usage (#20501)

Depends on coder/sqlc#1
Fixes coder/internal#979
Updates coder/internal#973
This commit is contained in:
Mathias Fredriksson
2025-10-29 20:59:12 +02:00
committed by GitHub
parent 50749d131b
commit 859e94d67a
13 changed files with 163 additions and 447 deletions
+12 -20
View File
@@ -117,7 +117,6 @@ SELECT
latest_build.error as latest_build_error,
latest_build.transition as latest_build_transition,
latest_build.job_status as latest_build_status,
latest_build.has_ai_task as latest_build_has_ai_task,
latest_build.has_external_agent as latest_build_has_external_agent
FROM
workspaces_expanded as workspaces
@@ -351,25 +350,19 @@ WHERE
(latest_build.template_version_id = template.active_version_id) = sqlc.narg('using_active') :: boolean
ELSE true
END
-- Filter by has_ai_task in latest build
-- Filter by has_ai_task, checks if this is a task workspace.
AND CASE
WHEN sqlc.narg('has_ai_task') :: boolean IS NOT NULL THEN
(COALESCE(latest_build.has_ai_task, false) OR (
-- If the build has no AI task, it means that the provisioner job is in progress
-- and we don't know if it has an AI task yet. In this case, we optimistically
-- assume that it has an AI task if the AI Prompt parameter is not empty. This
-- lets the AI Task frontend spawn a task and see it immediately after instead of
-- having to wait for the build to complete.
latest_build.has_ai_task IS NULL AND
latest_build.completed_at IS NULL AND
EXISTS (
SELECT 1
FROM workspace_build_parameters
WHERE workspace_build_parameters.workspace_build_id = latest_build.id
AND workspace_build_parameters.name = 'AI Prompt'
AND workspace_build_parameters.value != ''
)
)) = (sqlc.narg('has_ai_task') :: boolean)
WHEN sqlc.narg('has_ai_task')::boolean IS NOT NULL
THEN sqlc.narg('has_ai_task')::boolean = EXISTS (
SELECT
1
FROM
tasks
WHERE
-- Consider all tasks, deleting a task does not turn the
-- workspace into a non-task workspace.
tasks.workspace_id = workspaces.id
)
ELSE true
END
-- Filter by has_external_agent in latest build
@@ -466,7 +459,6 @@ WHERE
'', -- latest_build_error
'start'::workspace_transition, -- latest_build_transition
'unknown'::provisioner_job_status, -- latest_build_status
false, -- latest_build_has_ai_task
false -- latest_build_has_external_agent
WHERE
@with_summary :: boolean = true