diff --git a/coderd/apidoc/docs.go b/coderd/apidoc/docs.go
index beacf64fc2..2ab44f1faf 100644
--- a/coderd/apidoc/docs.go
+++ b/coderd/apidoc/docs.go
@@ -20529,11 +20529,6 @@ const docTemplate = `{
"codersdk.WorkspaceBuild": {
"type": "object",
"properties": {
- "ai_task_sidebar_app_id": {
- "description": "Deprecated: This field has been replaced with ` + "`" + `Task.WorkspaceAppID` + "`" + `",
- "type": "string",
- "format": "uuid"
- },
"build_number": {
"type": "integer"
},
diff --git a/coderd/apidoc/swagger.json b/coderd/apidoc/swagger.json
index 477b01a897..0de2caec52 100644
--- a/coderd/apidoc/swagger.json
+++ b/coderd/apidoc/swagger.json
@@ -18863,11 +18863,6 @@
"codersdk.WorkspaceBuild": {
"type": "object",
"properties": {
- "ai_task_sidebar_app_id": {
- "description": "Deprecated: This field has been replaced with `Task.WorkspaceAppID`",
- "type": "string",
- "format": "uuid"
- },
"build_number": {
"type": "integer"
},
diff --git a/coderd/database/dbauthz/dbauthz_test.go b/coderd/database/dbauthz/dbauthz_test.go
index 7d7c136eb5..fc98700c54 100644
--- a/coderd/database/dbauthz/dbauthz_test.go
+++ b/coderd/database/dbauthz/dbauthz_test.go
@@ -2161,7 +2161,7 @@ func (s *MethodTestSuite) TestWorkspace() {
})
res := testutil.Fake(s.T(), faker, database.WorkspaceResource{JobID: b.JobID})
agt := testutil.Fake(s.T(), faker, database.WorkspaceAgent{ResourceID: res.ID})
- app := testutil.Fake(s.T(), faker, database.WorkspaceApp{AgentID: agt.ID})
+ _ = testutil.Fake(s.T(), faker, database.WorkspaceApp{AgentID: agt.ID})
dbm.EXPECT().GetWorkspaceByID(gomock.Any(), w.ID).Return(w, nil).AnyTimes()
dbm.EXPECT().GetWorkspaceBuildByID(gomock.Any(), b.ID).Return(b, nil).AnyTimes()
@@ -2170,7 +2170,6 @@ func (s *MethodTestSuite) TestWorkspace() {
ID: b.ID,
HasAITask: sql.NullBool{Bool: true, Valid: true},
HasExternalAgent: sql.NullBool{Bool: true, Valid: true},
- SidebarAppID: uuid.NullUUID{UUID: app.ID, Valid: true},
UpdatedAt: b.UpdatedAt,
}).Asserts(w, policy.ActionUpdate)
}))
diff --git a/coderd/database/dbfake/dbfake.go b/coderd/database/dbfake/dbfake.go
index b812be6e16..45a441bbe9 100644
--- a/coderd/database/dbfake/dbfake.go
+++ b/coderd/database/dbfake/dbfake.go
@@ -189,7 +189,6 @@ func (b WorkspaceBuildBuilder) doInTX() WorkspaceResponse {
Bool: true,
Valid: true,
}
- b.seed.AITaskSidebarAppID = uuid.NullUUID{UUID: b.taskAppID, Valid: true}
}
resp := WorkspaceResponse{
diff --git a/coderd/database/dbgen/dbgen.go b/coderd/database/dbgen/dbgen.go
index 532460700a..9914a8c403 100644
--- a/coderd/database/dbgen/dbgen.go
+++ b/coderd/database/dbgen/dbgen.go
@@ -451,7 +451,6 @@ func WorkspaceBuild(t testing.TB, db database.Store, orig database.WorkspaceBuil
buildID := takeFirst(orig.ID, uuid.New())
jobID := takeFirst(orig.JobID, uuid.New())
hasAITask := takeFirst(orig.HasAITask, sql.NullBool{})
- sidebarAppID := takeFirst(orig.AITaskSidebarAppID, uuid.NullUUID{})
hasExternalAgent := takeFirst(orig.HasExternalAgent, sql.NullBool{})
var build database.WorkspaceBuild
err := db.InTx(func(db database.Store) error {
@@ -491,7 +490,6 @@ func WorkspaceBuild(t testing.TB, db database.Store, orig database.WorkspaceBuil
ID: buildID,
HasAITask: hasAITask,
HasExternalAgent: hasExternalAgent,
- SidebarAppID: sidebarAppID,
UpdatedAt: dbtime.Now(),
}))
}
diff --git a/coderd/database/dump.sql b/coderd/database/dump.sql
index f08454a897..d4e8906ef7 100644
--- a/coderd/database/dump.sql
+++ b/coderd/database/dump.sql
@@ -1948,7 +1948,6 @@ CREATE TABLE workspace_builds (
max_deadline timestamp with time zone DEFAULT '0001-01-01 00:00:00+00'::timestamp with time zone NOT NULL,
template_version_preset_id uuid,
has_ai_task boolean,
- ai_task_sidebar_app_id uuid,
has_external_agent boolean,
CONSTRAINT workspace_builds_deadline_below_max_deadline CHECK ((((deadline <> '0001-01-01 00:00:00+00'::timestamp with time zone) AND (deadline <= max_deadline)) OR (max_deadline = '0001-01-01 00:00:00+00'::timestamp with time zone)))
);
@@ -2702,7 +2701,6 @@ CREATE VIEW workspace_build_with_user AS
workspace_builds.max_deadline,
workspace_builds.template_version_preset_id,
workspace_builds.has_ai_task,
- workspace_builds.ai_task_sidebar_app_id,
workspace_builds.has_external_agent,
COALESCE(visible_users.avatar_url, ''::text) AS initiator_by_avatar_url,
COALESCE(visible_users.username, ''::text) AS initiator_by_username,
@@ -3803,9 +3801,6 @@ ALTER TABLE ONLY workspace_apps
ALTER TABLE ONLY workspace_build_parameters
ADD CONSTRAINT workspace_build_parameters_workspace_build_id_fkey FOREIGN KEY (workspace_build_id) REFERENCES workspace_builds(id) ON DELETE CASCADE;
-ALTER TABLE ONLY workspace_builds
- ADD CONSTRAINT workspace_builds_ai_task_sidebar_app_id_fkey FOREIGN KEY (ai_task_sidebar_app_id) REFERENCES workspace_apps(id);
-
ALTER TABLE ONLY workspace_builds
ADD CONSTRAINT workspace_builds_job_id_fkey FOREIGN KEY (job_id) REFERENCES provisioner_jobs(id) ON DELETE CASCADE;
diff --git a/coderd/database/foreign_key_constraint.go b/coderd/database/foreign_key_constraint.go
index 6737275dd3..0c295e4316 100644
--- a/coderd/database/foreign_key_constraint.go
+++ b/coderd/database/foreign_key_constraint.go
@@ -94,7 +94,6 @@ const (
ForeignKeyWorkspaceAppStatusesWorkspaceID ForeignKeyConstraint = "workspace_app_statuses_workspace_id_fkey" // ALTER TABLE ONLY workspace_app_statuses ADD CONSTRAINT workspace_app_statuses_workspace_id_fkey FOREIGN KEY (workspace_id) REFERENCES workspaces(id);
ForeignKeyWorkspaceAppsAgentID ForeignKeyConstraint = "workspace_apps_agent_id_fkey" // ALTER TABLE ONLY workspace_apps ADD CONSTRAINT workspace_apps_agent_id_fkey FOREIGN KEY (agent_id) REFERENCES workspace_agents(id) ON DELETE CASCADE;
ForeignKeyWorkspaceBuildParametersWorkspaceBuildID ForeignKeyConstraint = "workspace_build_parameters_workspace_build_id_fkey" // ALTER TABLE ONLY workspace_build_parameters ADD CONSTRAINT workspace_build_parameters_workspace_build_id_fkey FOREIGN KEY (workspace_build_id) REFERENCES workspace_builds(id) ON DELETE CASCADE;
- ForeignKeyWorkspaceBuildsAiTaskSidebarAppID ForeignKeyConstraint = "workspace_builds_ai_task_sidebar_app_id_fkey" // ALTER TABLE ONLY workspace_builds ADD CONSTRAINT workspace_builds_ai_task_sidebar_app_id_fkey FOREIGN KEY (ai_task_sidebar_app_id) REFERENCES workspace_apps(id);
ForeignKeyWorkspaceBuildsJobID ForeignKeyConstraint = "workspace_builds_job_id_fkey" // ALTER TABLE ONLY workspace_builds ADD CONSTRAINT workspace_builds_job_id_fkey FOREIGN KEY (job_id) REFERENCES provisioner_jobs(id) ON DELETE CASCADE;
ForeignKeyWorkspaceBuildsTemplateVersionID ForeignKeyConstraint = "workspace_builds_template_version_id_fkey" // ALTER TABLE ONLY workspace_builds ADD CONSTRAINT workspace_builds_template_version_id_fkey FOREIGN KEY (template_version_id) REFERENCES template_versions(id) ON DELETE CASCADE;
ForeignKeyWorkspaceBuildsTemplateVersionPresetID ForeignKeyConstraint = "workspace_builds_template_version_preset_id_fkey" // ALTER TABLE ONLY workspace_builds ADD CONSTRAINT workspace_builds_template_version_preset_id_fkey FOREIGN KEY (template_version_preset_id) REFERENCES template_version_presets(id) ON DELETE SET NULL;
diff --git a/coderd/database/migrations/000395_drop_ai_task_sidebar_app_id_from_workspace_builds.down.sql b/coderd/database/migrations/000395_drop_ai_task_sidebar_app_id_from_workspace_builds.down.sql
new file mode 100644
index 0000000000..440eda07ad
--- /dev/null
+++ b/coderd/database/migrations/000395_drop_ai_task_sidebar_app_id_from_workspace_builds.down.sql
@@ -0,0 +1,45 @@
+ALTER TABLE workspace_builds ADD COLUMN ai_task_sidebar_app_id UUID;
+ALTER TABLE workspace_builds ADD CONSTRAINT workspace_builds_ai_task_sidebar_app_id_fkey FOREIGN KEY (ai_task_sidebar_app_id) REFERENCES workspace_apps(id);
+
+DROP VIEW workspace_build_with_user;
+-- Restore view.
+CREATE VIEW workspace_build_with_user AS
+SELECT
+ workspace_builds.id,
+ workspace_builds.created_at,
+ workspace_builds.updated_at,
+ workspace_builds.workspace_id,
+ workspace_builds.template_version_id,
+ workspace_builds.build_number,
+ workspace_builds.transition,
+ workspace_builds.initiator_id,
+ workspace_builds.provisioner_state,
+ workspace_builds.job_id,
+ workspace_builds.deadline,
+ workspace_builds.reason,
+ workspace_builds.daily_cost,
+ workspace_builds.max_deadline,
+ workspace_builds.template_version_preset_id,
+ workspace_builds.has_ai_task,
+ workspace_builds.ai_task_sidebar_app_id,
+ workspace_builds.has_external_agent,
+ COALESCE(
+ visible_users.avatar_url,
+ '' :: text
+ ) AS initiator_by_avatar_url,
+ COALESCE(
+ visible_users.username,
+ '' :: text
+ ) AS initiator_by_username,
+ COALESCE(visible_users.name, '' :: text) AS initiator_by_name
+FROM
+ (
+ workspace_builds
+ LEFT JOIN visible_users ON (
+ (
+ workspace_builds.initiator_id = visible_users.id
+ )
+ )
+ );
+
+COMMENT ON VIEW workspace_build_with_user IS 'Joins in the username + avatar url of the initiated by user.';
diff --git a/coderd/database/migrations/000395_drop_ai_task_sidebar_app_id_from_workspace_builds.up.sql b/coderd/database/migrations/000395_drop_ai_task_sidebar_app_id_from_workspace_builds.up.sql
new file mode 100644
index 0000000000..e55bf2763e
--- /dev/null
+++ b/coderd/database/migrations/000395_drop_ai_task_sidebar_app_id_from_workspace_builds.up.sql
@@ -0,0 +1,43 @@
+-- We're dropping the ai_task_sidebar_app_id column.
+DROP VIEW workspace_build_with_user;
+CREATE VIEW workspace_build_with_user AS
+SELECT
+ workspace_builds.id,
+ workspace_builds.created_at,
+ workspace_builds.updated_at,
+ workspace_builds.workspace_id,
+ workspace_builds.template_version_id,
+ workspace_builds.build_number,
+ workspace_builds.transition,
+ workspace_builds.initiator_id,
+ workspace_builds.provisioner_state,
+ workspace_builds.job_id,
+ workspace_builds.deadline,
+ workspace_builds.reason,
+ workspace_builds.daily_cost,
+ workspace_builds.max_deadline,
+ workspace_builds.template_version_preset_id,
+ workspace_builds.has_ai_task,
+ workspace_builds.has_external_agent,
+ COALESCE(
+ visible_users.avatar_url,
+ '' :: text
+ ) AS initiator_by_avatar_url,
+ COALESCE(
+ visible_users.username,
+ '' :: text
+ ) AS initiator_by_username,
+ COALESCE(visible_users.name, '' :: text) AS initiator_by_name
+FROM
+ (
+ workspace_builds
+ LEFT JOIN visible_users ON (
+ (
+ workspace_builds.initiator_id = visible_users.id
+ )
+ )
+ );
+
+COMMENT ON VIEW workspace_build_with_user IS 'Joins in the username + avatar url of the initiated by user.';
+
+ALTER TABLE workspace_builds DROP COLUMN ai_task_sidebar_app_id;
diff --git a/coderd/database/models.go b/coderd/database/models.go
index 0c132a33d0..0f65f8c36b 100644
--- a/coderd/database/models.go
+++ b/coderd/database/models.go
@@ -4939,7 +4939,6 @@ type WorkspaceBuild struct {
MaxDeadline time.Time `db:"max_deadline" json:"max_deadline"`
TemplateVersionPresetID uuid.NullUUID `db:"template_version_preset_id" json:"template_version_preset_id"`
HasAITask sql.NullBool `db:"has_ai_task" json:"has_ai_task"`
- AITaskSidebarAppID uuid.NullUUID `db:"ai_task_sidebar_app_id" json:"ai_task_sidebar_app_id"`
HasExternalAgent sql.NullBool `db:"has_external_agent" json:"has_external_agent"`
InitiatorByAvatarUrl string `db:"initiator_by_avatar_url" json:"initiator_by_avatar_url"`
InitiatorByUsername string `db:"initiator_by_username" json:"initiator_by_username"`
@@ -4971,7 +4970,6 @@ type WorkspaceBuildTable struct {
MaxDeadline time.Time `db:"max_deadline" json:"max_deadline"`
TemplateVersionPresetID uuid.NullUUID `db:"template_version_preset_id" json:"template_version_preset_id"`
HasAITask sql.NullBool `db:"has_ai_task" json:"has_ai_task"`
- AITaskSidebarAppID uuid.NullUUID `db:"ai_task_sidebar_app_id" json:"ai_task_sidebar_app_id"`
HasExternalAgent sql.NullBool `db:"has_external_agent" json:"has_external_agent"`
}
diff --git a/coderd/database/queries.sql.go b/coderd/database/queries.sql.go
index 5c9a2f499c..6943e2acdf 100644
--- a/coderd/database/queries.sql.go
+++ b/coderd/database/queries.sql.go
@@ -17607,7 +17607,7 @@ const getWorkspaceAgentAndLatestBuildByAuthToken = `-- name: GetWorkspaceAgentAn
SELECT
workspaces.id, workspaces.created_at, workspaces.updated_at, workspaces.owner_id, workspaces.organization_id, workspaces.template_id, workspaces.deleted, workspaces.name, workspaces.autostart_schedule, workspaces.ttl, workspaces.last_used_at, workspaces.dormant_at, workspaces.deleting_at, workspaces.automatic_updates, workspaces.favorite, workspaces.next_start_at, workspaces.group_acl, workspaces.user_acl,
workspace_agents.id, workspace_agents.created_at, workspace_agents.updated_at, workspace_agents.name, workspace_agents.first_connected_at, workspace_agents.last_connected_at, workspace_agents.disconnected_at, workspace_agents.resource_id, workspace_agents.auth_token, workspace_agents.auth_instance_id, workspace_agents.architecture, workspace_agents.environment_variables, workspace_agents.operating_system, workspace_agents.instance_metadata, workspace_agents.resource_metadata, workspace_agents.directory, workspace_agents.version, workspace_agents.last_connected_replica_id, workspace_agents.connection_timeout_seconds, workspace_agents.troubleshooting_url, workspace_agents.motd_file, workspace_agents.lifecycle_state, workspace_agents.expanded_directory, workspace_agents.logs_length, workspace_agents.logs_overflowed, workspace_agents.started_at, workspace_agents.ready_at, workspace_agents.subsystems, workspace_agents.display_apps, workspace_agents.api_version, workspace_agents.display_order, workspace_agents.parent_id, workspace_agents.api_key_scope, workspace_agents.deleted,
- workspace_build_with_user.id, workspace_build_with_user.created_at, workspace_build_with_user.updated_at, workspace_build_with_user.workspace_id, workspace_build_with_user.template_version_id, workspace_build_with_user.build_number, workspace_build_with_user.transition, workspace_build_with_user.initiator_id, workspace_build_with_user.provisioner_state, workspace_build_with_user.job_id, workspace_build_with_user.deadline, workspace_build_with_user.reason, workspace_build_with_user.daily_cost, workspace_build_with_user.max_deadline, workspace_build_with_user.template_version_preset_id, workspace_build_with_user.has_ai_task, workspace_build_with_user.ai_task_sidebar_app_id, workspace_build_with_user.has_external_agent, workspace_build_with_user.initiator_by_avatar_url, workspace_build_with_user.initiator_by_username, workspace_build_with_user.initiator_by_name,
+ workspace_build_with_user.id, workspace_build_with_user.created_at, workspace_build_with_user.updated_at, workspace_build_with_user.workspace_id, workspace_build_with_user.template_version_id, workspace_build_with_user.build_number, workspace_build_with_user.transition, workspace_build_with_user.initiator_id, workspace_build_with_user.provisioner_state, workspace_build_with_user.job_id, workspace_build_with_user.deadline, workspace_build_with_user.reason, workspace_build_with_user.daily_cost, workspace_build_with_user.max_deadline, workspace_build_with_user.template_version_preset_id, workspace_build_with_user.has_ai_task, workspace_build_with_user.has_external_agent, workspace_build_with_user.initiator_by_avatar_url, workspace_build_with_user.initiator_by_username, workspace_build_with_user.initiator_by_name,
tasks.id AS task_id
FROM
workspace_agents
@@ -17725,7 +17725,6 @@ func (q *sqlQuerier) GetWorkspaceAgentAndLatestBuildByAuthToken(ctx context.Cont
&i.WorkspaceBuild.MaxDeadline,
&i.WorkspaceBuild.TemplateVersionPresetID,
&i.WorkspaceBuild.HasAITask,
- &i.WorkspaceBuild.AITaskSidebarAppID,
&i.WorkspaceBuild.HasExternalAgent,
&i.WorkspaceBuild.InitiatorByAvatarUrl,
&i.WorkspaceBuild.InitiatorByUsername,
@@ -20526,7 +20525,7 @@ func (q *sqlQuerier) InsertWorkspaceBuildParameters(ctx context.Context, arg Ins
}
const getActiveWorkspaceBuildsByTemplateID = `-- name: GetActiveWorkspaceBuildsByTemplateID :many
-SELECT wb.id, wb.created_at, wb.updated_at, wb.workspace_id, wb.template_version_id, wb.build_number, wb.transition, wb.initiator_id, wb.provisioner_state, wb.job_id, wb.deadline, wb.reason, wb.daily_cost, wb.max_deadline, wb.template_version_preset_id, wb.has_ai_task, wb.ai_task_sidebar_app_id, wb.has_external_agent, wb.initiator_by_avatar_url, wb.initiator_by_username, wb.initiator_by_name
+SELECT wb.id, wb.created_at, wb.updated_at, wb.workspace_id, wb.template_version_id, wb.build_number, wb.transition, wb.initiator_id, wb.provisioner_state, wb.job_id, wb.deadline, wb.reason, wb.daily_cost, wb.max_deadline, wb.template_version_preset_id, wb.has_ai_task, wb.has_external_agent, wb.initiator_by_avatar_url, wb.initiator_by_username, wb.initiator_by_name
FROM (
SELECT
workspace_id, MAX(build_number) as max_build_number
@@ -20582,7 +20581,6 @@ func (q *sqlQuerier) GetActiveWorkspaceBuildsByTemplateID(ctx context.Context, t
&i.MaxDeadline,
&i.TemplateVersionPresetID,
&i.HasAITask,
- &i.AITaskSidebarAppID,
&i.HasExternalAgent,
&i.InitiatorByAvatarUrl,
&i.InitiatorByUsername,
@@ -20683,7 +20681,7 @@ func (q *sqlQuerier) GetFailedWorkspaceBuildsByTemplateID(ctx context.Context, a
const getLatestWorkspaceBuildByWorkspaceID = `-- name: GetLatestWorkspaceBuildByWorkspaceID :one
SELECT
- id, created_at, updated_at, workspace_id, template_version_id, build_number, transition, initiator_id, provisioner_state, job_id, deadline, reason, daily_cost, max_deadline, template_version_preset_id, has_ai_task, ai_task_sidebar_app_id, has_external_agent, initiator_by_avatar_url, initiator_by_username, initiator_by_name
+ id, created_at, updated_at, workspace_id, template_version_id, build_number, transition, initiator_id, provisioner_state, job_id, deadline, reason, daily_cost, max_deadline, template_version_preset_id, has_ai_task, has_external_agent, initiator_by_avatar_url, initiator_by_username, initiator_by_name
FROM
workspace_build_with_user AS workspace_builds
WHERE
@@ -20714,7 +20712,6 @@ func (q *sqlQuerier) GetLatestWorkspaceBuildByWorkspaceID(ctx context.Context, w
&i.MaxDeadline,
&i.TemplateVersionPresetID,
&i.HasAITask,
- &i.AITaskSidebarAppID,
&i.HasExternalAgent,
&i.InitiatorByAvatarUrl,
&i.InitiatorByUsername,
@@ -20726,7 +20723,7 @@ func (q *sqlQuerier) GetLatestWorkspaceBuildByWorkspaceID(ctx context.Context, w
const getLatestWorkspaceBuildsByWorkspaceIDs = `-- name: GetLatestWorkspaceBuildsByWorkspaceIDs :many
SELECT
DISTINCT ON (workspace_id)
- id, created_at, updated_at, workspace_id, template_version_id, build_number, transition, initiator_id, provisioner_state, job_id, deadline, reason, daily_cost, max_deadline, template_version_preset_id, has_ai_task, ai_task_sidebar_app_id, has_external_agent, initiator_by_avatar_url, initiator_by_username, initiator_by_name
+ id, created_at, updated_at, workspace_id, template_version_id, build_number, transition, initiator_id, provisioner_state, job_id, deadline, reason, daily_cost, max_deadline, template_version_preset_id, has_ai_task, has_external_agent, initiator_by_avatar_url, initiator_by_username, initiator_by_name
FROM
workspace_build_with_user AS workspace_builds
WHERE
@@ -20761,7 +20758,6 @@ func (q *sqlQuerier) GetLatestWorkspaceBuildsByWorkspaceIDs(ctx context.Context,
&i.MaxDeadline,
&i.TemplateVersionPresetID,
&i.HasAITask,
- &i.AITaskSidebarAppID,
&i.HasExternalAgent,
&i.InitiatorByAvatarUrl,
&i.InitiatorByUsername,
@@ -20782,7 +20778,7 @@ func (q *sqlQuerier) GetLatestWorkspaceBuildsByWorkspaceIDs(ctx context.Context,
const getWorkspaceBuildByID = `-- name: GetWorkspaceBuildByID :one
SELECT
- id, created_at, updated_at, workspace_id, template_version_id, build_number, transition, initiator_id, provisioner_state, job_id, deadline, reason, daily_cost, max_deadline, template_version_preset_id, has_ai_task, ai_task_sidebar_app_id, has_external_agent, initiator_by_avatar_url, initiator_by_username, initiator_by_name
+ id, created_at, updated_at, workspace_id, template_version_id, build_number, transition, initiator_id, provisioner_state, job_id, deadline, reason, daily_cost, max_deadline, template_version_preset_id, has_ai_task, has_external_agent, initiator_by_avatar_url, initiator_by_username, initiator_by_name
FROM
workspace_build_with_user AS workspace_builds
WHERE
@@ -20811,7 +20807,6 @@ func (q *sqlQuerier) GetWorkspaceBuildByID(ctx context.Context, id uuid.UUID) (W
&i.MaxDeadline,
&i.TemplateVersionPresetID,
&i.HasAITask,
- &i.AITaskSidebarAppID,
&i.HasExternalAgent,
&i.InitiatorByAvatarUrl,
&i.InitiatorByUsername,
@@ -20822,7 +20817,7 @@ func (q *sqlQuerier) GetWorkspaceBuildByID(ctx context.Context, id uuid.UUID) (W
const getWorkspaceBuildByJobID = `-- name: GetWorkspaceBuildByJobID :one
SELECT
- id, created_at, updated_at, workspace_id, template_version_id, build_number, transition, initiator_id, provisioner_state, job_id, deadline, reason, daily_cost, max_deadline, template_version_preset_id, has_ai_task, ai_task_sidebar_app_id, has_external_agent, initiator_by_avatar_url, initiator_by_username, initiator_by_name
+ id, created_at, updated_at, workspace_id, template_version_id, build_number, transition, initiator_id, provisioner_state, job_id, deadline, reason, daily_cost, max_deadline, template_version_preset_id, has_ai_task, has_external_agent, initiator_by_avatar_url, initiator_by_username, initiator_by_name
FROM
workspace_build_with_user AS workspace_builds
WHERE
@@ -20851,7 +20846,6 @@ func (q *sqlQuerier) GetWorkspaceBuildByJobID(ctx context.Context, jobID uuid.UU
&i.MaxDeadline,
&i.TemplateVersionPresetID,
&i.HasAITask,
- &i.AITaskSidebarAppID,
&i.HasExternalAgent,
&i.InitiatorByAvatarUrl,
&i.InitiatorByUsername,
@@ -20862,7 +20856,7 @@ func (q *sqlQuerier) GetWorkspaceBuildByJobID(ctx context.Context, jobID uuid.UU
const getWorkspaceBuildByWorkspaceIDAndBuildNumber = `-- name: GetWorkspaceBuildByWorkspaceIDAndBuildNumber :one
SELECT
- id, created_at, updated_at, workspace_id, template_version_id, build_number, transition, initiator_id, provisioner_state, job_id, deadline, reason, daily_cost, max_deadline, template_version_preset_id, has_ai_task, ai_task_sidebar_app_id, has_external_agent, initiator_by_avatar_url, initiator_by_username, initiator_by_name
+ id, created_at, updated_at, workspace_id, template_version_id, build_number, transition, initiator_id, provisioner_state, job_id, deadline, reason, daily_cost, max_deadline, template_version_preset_id, has_ai_task, has_external_agent, initiator_by_avatar_url, initiator_by_username, initiator_by_name
FROM
workspace_build_with_user AS workspace_builds
WHERE
@@ -20895,7 +20889,6 @@ func (q *sqlQuerier) GetWorkspaceBuildByWorkspaceIDAndBuildNumber(ctx context.Co
&i.MaxDeadline,
&i.TemplateVersionPresetID,
&i.HasAITask,
- &i.AITaskSidebarAppID,
&i.HasExternalAgent,
&i.InitiatorByAvatarUrl,
&i.InitiatorByUsername,
@@ -20973,7 +20966,7 @@ func (q *sqlQuerier) GetWorkspaceBuildStatsByTemplates(ctx context.Context, sinc
const getWorkspaceBuildsByWorkspaceID = `-- name: GetWorkspaceBuildsByWorkspaceID :many
SELECT
- id, created_at, updated_at, workspace_id, template_version_id, build_number, transition, initiator_id, provisioner_state, job_id, deadline, reason, daily_cost, max_deadline, template_version_preset_id, has_ai_task, ai_task_sidebar_app_id, has_external_agent, initiator_by_avatar_url, initiator_by_username, initiator_by_name
+ id, created_at, updated_at, workspace_id, template_version_id, build_number, transition, initiator_id, provisioner_state, job_id, deadline, reason, daily_cost, max_deadline, template_version_preset_id, has_ai_task, has_external_agent, initiator_by_avatar_url, initiator_by_username, initiator_by_name
FROM
workspace_build_with_user AS workspace_builds
WHERE
@@ -21045,7 +21038,6 @@ func (q *sqlQuerier) GetWorkspaceBuildsByWorkspaceID(ctx context.Context, arg Ge
&i.MaxDeadline,
&i.TemplateVersionPresetID,
&i.HasAITask,
- &i.AITaskSidebarAppID,
&i.HasExternalAgent,
&i.InitiatorByAvatarUrl,
&i.InitiatorByUsername,
@@ -21065,7 +21057,7 @@ func (q *sqlQuerier) GetWorkspaceBuildsByWorkspaceID(ctx context.Context, arg Ge
}
const getWorkspaceBuildsCreatedAfter = `-- name: GetWorkspaceBuildsCreatedAfter :many
-SELECT id, created_at, updated_at, workspace_id, template_version_id, build_number, transition, initiator_id, provisioner_state, job_id, deadline, reason, daily_cost, max_deadline, template_version_preset_id, has_ai_task, ai_task_sidebar_app_id, has_external_agent, initiator_by_avatar_url, initiator_by_username, initiator_by_name FROM workspace_build_with_user WHERE created_at > $1
+SELECT id, created_at, updated_at, workspace_id, template_version_id, build_number, transition, initiator_id, provisioner_state, job_id, deadline, reason, daily_cost, max_deadline, template_version_preset_id, has_ai_task, has_external_agent, initiator_by_avatar_url, initiator_by_username, initiator_by_name FROM workspace_build_with_user WHERE created_at > $1
`
func (q *sqlQuerier) GetWorkspaceBuildsCreatedAfter(ctx context.Context, createdAt time.Time) ([]WorkspaceBuild, error) {
@@ -21094,7 +21086,6 @@ func (q *sqlQuerier) GetWorkspaceBuildsCreatedAfter(ctx context.Context, created
&i.MaxDeadline,
&i.TemplateVersionPresetID,
&i.HasAITask,
- &i.AITaskSidebarAppID,
&i.HasExternalAgent,
&i.InitiatorByAvatarUrl,
&i.InitiatorByUsername,
@@ -21231,24 +21222,21 @@ UPDATE
workspace_builds
SET
has_ai_task = $1,
- ai_task_sidebar_app_id = $2,
- has_external_agent = $3,
- updated_at = $4::timestamptz
-WHERE id = $5::uuid
+ has_external_agent = $2,
+ updated_at = $3::timestamptz
+WHERE id = $4::uuid
`
type UpdateWorkspaceBuildFlagsByIDParams struct {
- HasAITask sql.NullBool `db:"has_ai_task" json:"has_ai_task"`
- SidebarAppID uuid.NullUUID `db:"sidebar_app_id" json:"sidebar_app_id"`
- HasExternalAgent sql.NullBool `db:"has_external_agent" json:"has_external_agent"`
- UpdatedAt time.Time `db:"updated_at" json:"updated_at"`
- ID uuid.UUID `db:"id" json:"id"`
+ HasAITask sql.NullBool `db:"has_ai_task" json:"has_ai_task"`
+ HasExternalAgent sql.NullBool `db:"has_external_agent" json:"has_external_agent"`
+ UpdatedAt time.Time `db:"updated_at" json:"updated_at"`
+ ID uuid.UUID `db:"id" json:"id"`
}
func (q *sqlQuerier) UpdateWorkspaceBuildFlagsByID(ctx context.Context, arg UpdateWorkspaceBuildFlagsByIDParams) error {
_, err := q.db.ExecContext(ctx, updateWorkspaceBuildFlagsByID,
arg.HasAITask,
- arg.SidebarAppID,
arg.HasExternalAgent,
arg.UpdatedAt,
arg.ID,
diff --git a/coderd/database/queries/workspacebuilds.sql b/coderd/database/queries/workspacebuilds.sql
index 0736c5514b..cf13b30758 100644
--- a/coderd/database/queries/workspacebuilds.sql
+++ b/coderd/database/queries/workspacebuilds.sql
@@ -240,7 +240,6 @@ UPDATE
workspace_builds
SET
has_ai_task = @has_ai_task,
- ai_task_sidebar_app_id = @sidebar_app_id,
has_external_agent = @has_external_agent,
updated_at = @updated_at::timestamptz
WHERE id = @id::uuid;
diff --git a/coderd/provisionerdserver/provisionerdserver.go b/coderd/provisionerdserver/provisionerdserver.go
index 7c96c36eab..ae1338722a 100644
--- a/coderd/provisionerdserver/provisionerdserver.go
+++ b/coderd/provisionerdserver/provisionerdserver.go
@@ -2123,7 +2123,6 @@ func (s *server) completeWorkspaceBuildJob(ctx context.Context, job database.Pro
Bool: hasAITask,
Valid: true,
},
- SidebarAppID: taskAppID, // SidebarAppID is not required, but kept for API backwards compatibility.
HasExternalAgent: sql.NullBool{
Bool: hasExternalAgent,
Valid: true,
diff --git a/coderd/provisionerdserver/provisionerdserver_test.go b/coderd/provisionerdserver/provisionerdserver_test.go
index c4644e0a66..a41940d77d 100644
--- a/coderd/provisionerdserver/provisionerdserver_test.go
+++ b/coderd/provisionerdserver/provisionerdserver_test.go
@@ -3134,7 +3134,6 @@ func TestCompleteJob(t *testing.T) {
}
require.Equal(t, tc.expectAppID, task.WorkspaceAppID)
- require.Equal(t, tc.expectAppID, build.AITaskSidebarAppID)
if tc.expectUsageEvent {
// Check that a usage event was collected.
@@ -4448,19 +4447,18 @@ func seedPreviousWorkspaceStartWithAITask(ctx context.Context, t testing.TB, db
agt := dbgen.WorkspaceAgent(t, db, database.WorkspaceAgent{
ResourceID: res.ID,
})
- wa := dbgen.WorkspaceApp(t, db, database.WorkspaceApp{
+ _ = dbgen.WorkspaceApp(t, db, database.WorkspaceApp{
AgentID: agt.ID,
})
_ = dbgen.WorkspaceBuild(t, db, database.WorkspaceBuild{
- BuildNumber: 1,
- HasAITask: sql.NullBool{Valid: true, Bool: true},
- AITaskSidebarAppID: uuid.NullUUID{Valid: true, UUID: wa.ID},
- ID: w.ID,
- InitiatorID: w.OwnerID,
- JobID: prevJob.ID,
- TemplateVersionID: tvs[0].ID,
- Transition: database.WorkspaceTransitionStart,
- WorkspaceID: w.ID,
+ BuildNumber: 1,
+ HasAITask: sql.NullBool{Valid: true, Bool: true},
+ ID: w.ID,
+ InitiatorID: w.OwnerID,
+ JobID: prevJob.ID,
+ TemplateVersionID: tvs[0].ID,
+ Transition: database.WorkspaceTransitionStart,
+ WorkspaceID: w.ID,
})
return nil
}
diff --git a/coderd/telemetry/telemetry_test.go b/coderd/telemetry/telemetry_test.go
index dede229acd..a818b66db2 100644
--- a/coderd/telemetry/telemetry_test.go
+++ b/coderd/telemetry/telemetry_test.go
@@ -145,13 +145,12 @@ func TestTelemetry(t *testing.T) {
AgentID: taskWsAgent.ID,
})
taskWB := dbgen.WorkspaceBuild(t, db, database.WorkspaceBuild{
- Transition: database.WorkspaceTransitionStart,
- Reason: database.BuildReasonAutostart,
- WorkspaceID: taskWs.ID,
- TemplateVersionID: tv.ID,
- JobID: taskJob.ID,
- HasAITask: sql.NullBool{Valid: true, Bool: true},
- AITaskSidebarAppID: uuid.NullUUID{Valid: true, UUID: taskWsApp.ID},
+ Transition: database.WorkspaceTransitionStart,
+ Reason: database.BuildReasonAutostart,
+ WorkspaceID: taskWs.ID,
+ TemplateVersionID: tv.ID,
+ JobID: taskJob.ID,
+ HasAITask: sql.NullBool{Valid: true, Bool: true},
})
task := dbgen.Task(t, db, database.TaskTable{
OwnerID: user.ID,
diff --git a/coderd/workspacebuilds.go b/coderd/workspacebuilds.go
index d064a0ef3f..0c58b902e2 100644
--- a/coderd/workspacebuilds.go
+++ b/coderd/workspacebuilds.go
@@ -1190,11 +1190,6 @@ func (api *API) convertWorkspaceBuild(
if build.HasAITask.Valid {
hasAITask = &build.HasAITask.Bool
}
- var taskAppID *uuid.UUID
- if build.AITaskSidebarAppID.Valid {
- taskAppID = &build.AITaskSidebarAppID.UUID
- }
-
var hasExternalAgent *bool
if build.HasExternalAgent.Valid {
hasExternalAgent = &build.HasExternalAgent.Bool
@@ -1227,7 +1222,6 @@ func (api *API) convertWorkspaceBuild(
MatchedProvisioners: &matchedProvisioners,
TemplateVersionPresetID: presetID,
HasAITask: hasAITask,
- AITaskSidebarAppID: taskAppID,
HasExternalAgent: hasExternalAgent,
}, nil
}
diff --git a/coderd/workspaces_test.go b/coderd/workspaces_test.go
index 6515367bfe..7449c0355a 100644
--- a/coderd/workspaces_test.go
+++ b/coderd/workspaces_test.go
@@ -4732,12 +4732,11 @@ func TestWorkspaceFilterHasAITask(t *testing.T) {
agnt := dbgen.WorkspaceAgent(t, db, database.WorkspaceAgent{ResourceID: res.ID})
taskApp := dbgen.WorkspaceApp(t, db, database.WorkspaceApp{AgentID: agnt.ID})
build := dbgen.WorkspaceBuild(t, db, database.WorkspaceBuild{
- WorkspaceID: ws.ID,
- TemplateVersionID: version.ID,
- InitiatorID: user.UserID,
- JobID: job.ID,
- BuildNumber: 1,
- AITaskSidebarAppID: uuid.NullUUID{UUID: taskApp.ID, Valid: createTask},
+ WorkspaceID: ws.ID,
+ TemplateVersionID: version.ID,
+ InitiatorID: user.UserID,
+ JobID: job.ID,
+ BuildNumber: 1,
})
if createTask {
diff --git a/codersdk/workspacebuilds.go b/codersdk/workspacebuilds.go
index 8c38bd5c64..ff9bf54bbe 100644
--- a/codersdk/workspacebuilds.go
+++ b/codersdk/workspacebuilds.go
@@ -89,9 +89,7 @@ type WorkspaceBuild struct {
MatchedProvisioners *MatchedProvisioners `json:"matched_provisioners,omitempty"`
TemplateVersionPresetID *uuid.UUID `json:"template_version_preset_id" format:"uuid"`
HasAITask *bool `json:"has_ai_task,omitempty"`
- // Deprecated: This field has been replaced with `Task.WorkspaceAppID`
- AITaskSidebarAppID *uuid.UUID `json:"ai_task_sidebar_app_id,omitempty" format:"uuid"`
- HasExternalAgent *bool `json:"has_external_agent,omitempty"`
+ HasExternalAgent *bool `json:"has_external_agent,omitempty"`
}
// WorkspaceResource describes resources used to create a workspace, for instance:
diff --git a/docs/admin/security/audit-logs.md b/docs/admin/security/audit-logs.md
index 75c349aee2..a5b12f4e87 100644
--- a/docs/admin/security/audit-logs.md
+++ b/docs/admin/security/audit-logs.md
@@ -36,7 +36,7 @@ We track the following resources:
| Template
write, delete |
| Field | Tracked |
| | active_version_id | true |
| activity_bump | true |
| allow_user_autostart | true |
| allow_user_autostop | true |
| allow_user_cancel_workspace_jobs | true |
| autostart_block_days_of_week | true |
| autostop_requirement_days_of_week | true |
| autostop_requirement_weeks | true |
| cors_behavior | true |
| created_at | false |
| created_by | true |
| created_by_avatar_url | false |
| created_by_name | false |
| created_by_username | false |
| default_ttl | true |
| deleted | false |
| deprecated | true |
| description | true |
| display_name | true |
| failure_ttl | true |
| group_acl | true |
| icon | true |
| id | true |
| max_port_sharing_level | true |
| name | true |
| organization_display_name | false |
| organization_icon | false |
| organization_id | false |
| organization_name | false |
| provisioner | true |
| require_active_version | true |
| time_til_dormant | true |
| time_til_dormant_autodelete | true |
| updated_at | false |
| use_classic_parameter_flow | true |
| user_acl | true |
|
| TemplateVersion
create, write | | Field | Tracked |
| | archived | true |
| created_at | false |
| created_by | true |
| created_by_avatar_url | false |
| created_by_name | false |
| created_by_username | false |
| external_auth_providers | false |
| has_ai_task | false |
| has_external_agent | false |
| id | true |
| job_id | false |
| message | false |
| name | true |
| organization_id | false |
| readme | true |
| source_example_id | false |
| template_id | true |
| updated_at | false |
|
| User
create, write, delete | | Field | Tracked |
| | avatar_url | false |
| created_at | false |
| deleted | true |
| email | true |
| github_com_user_id | false |
| hashed_one_time_passcode | false |
| hashed_password | true |
| id | true |
| is_system | true |
| last_seen_at | false |
| login_type | true |
| name | true |
| one_time_passcode_expires_at | true |
| quiet_hours_schedule | true |
| rbac_roles | true |
| status | true |
| updated_at | false |
| username | true |
|
-| WorkspaceBuild
start, stop | | Field | Tracked |
| | ai_task_sidebar_app_id | false |
| build_number | false |
| created_at | false |
| daily_cost | false |
| deadline | false |
| has_ai_task | false |
| has_external_agent | false |
| id | false |
| initiator_by_avatar_url | false |
| initiator_by_name | false |
| initiator_by_username | false |
| initiator_id | false |
| job_id | false |
| max_deadline | false |
| provisioner_state | false |
| reason | false |
| template_version_id | true |
| template_version_preset_id | false |
| transition | false |
| updated_at | false |
| workspace_id | false |
|
+| WorkspaceBuild
start, stop | | Field | Tracked |
| | build_number | false |
| created_at | false |
| daily_cost | false |
| deadline | false |
| has_ai_task | false |
| has_external_agent | false |
| id | false |
| initiator_by_avatar_url | false |
| initiator_by_name | false |
| initiator_by_username | false |
| initiator_id | false |
| job_id | false |
| max_deadline | false |
| provisioner_state | false |
| reason | false |
| template_version_id | true |
| template_version_preset_id | false |
| transition | false |
| updated_at | false |
| workspace_id | false |
|
| WorkspaceProxy
| | Field | Tracked |
| | created_at | true |
| deleted | false |
| derp_enabled | true |
| derp_only | true |
| display_name | true |
| icon | true |
| id | true |
| name | true |
| region_id | true |
| token_hashed_secret | true |
| updated_at | false |
| url | true |
| version | true |
| wildcard_hostname | true |
|
| WorkspaceTable
| | Field | Tracked |
| | automatic_updates | true |
| autostart_schedule | true |
| created_at | false |
| deleted | false |
| deleting_at | true |
| dormant_at | true |
| favorite | true |
| group_acl | true |
| id | true |
| last_used_at | false |
| name | true |
| next_start_at | true |
| organization_id | false |
| owner_id | true |
| template_id | true |
| ttl | true |
| updated_at | false |
| user_acl | true |
|
diff --git a/docs/reference/api/builds.md b/docs/reference/api/builds.md
index 82b7cb8365..5476e84f08 100644
--- a/docs/reference/api/builds.md
+++ b/docs/reference/api/builds.md
@@ -27,7 +27,6 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam
```json
{
- "ai_task_sidebar_app_id": "852ddafb-2cb9-4cbf-8a8c-075389fb3d3d",
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
@@ -268,7 +267,6 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild} \
```json
{
- "ai_task_sidebar_app_id": "852ddafb-2cb9-4cbf-8a8c-075389fb3d3d",
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
@@ -1000,7 +998,6 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/sta
```json
{
- "ai_task_sidebar_app_id": "852ddafb-2cb9-4cbf-8a8c-075389fb3d3d",
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
@@ -1314,7 +1311,6 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/builds \
```json
[
{
- "ai_task_sidebar_app_id": "852ddafb-2cb9-4cbf-8a8c-075389fb3d3d",
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
@@ -1536,7 +1532,6 @@ Status Code **200**
| Name | Type | Required | Restrictions | Description |
|----------------------------------|--------------------------------------------------------------------------------------------------------|----------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `[array item]` | array | false | | |
-| `» ai_task_sidebar_app_id` | string(uuid) | false | | Deprecated: This field has been replaced with `Task.WorkspaceAppID` |
| `» build_number` | integer | false | | |
| `» created_at` | string(date-time) | false | | |
| `» daily_cost` | integer | false | | |
@@ -1813,7 +1808,6 @@ curl -X POST http://coder-server:8080/api/v2/workspaces/{workspace}/builds \
```json
{
- "ai_task_sidebar_app_id": "852ddafb-2cb9-4cbf-8a8c-075389fb3d3d",
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
diff --git a/docs/reference/api/schemas.md b/docs/reference/api/schemas.md
index 351afae7aa..33fb21c8e0 100644
--- a/docs/reference/api/schemas.md
+++ b/docs/reference/api/schemas.md
@@ -9971,7 +9971,6 @@ If the schedule is empty, the user will be updated to use the default schedule.|
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
},
"latest_build": {
- "ai_task_sidebar_app_id": "852ddafb-2cb9-4cbf-8a8c-075389fb3d3d",
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
@@ -11145,7 +11144,6 @@ If the schedule is empty, the user will be updated to use the default schedule.|
```json
{
- "ai_task_sidebar_app_id": "852ddafb-2cb9-4cbf-8a8c-075389fb3d3d",
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
@@ -11357,7 +11355,6 @@ If the schedule is empty, the user will be updated to use the default schedule.|
| Name | Type | Required | Restrictions | Description |
|------------------------------|-------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------|
-| `ai_task_sidebar_app_id` | string | false | | Deprecated: This field has been replaced with `Task.WorkspaceAppID` |
| `build_number` | integer | false | | |
| `created_at` | string | false | | |
| `daily_cost` | integer | false | | |
@@ -11984,7 +11981,6 @@ If the schedule is empty, the user will be updated to use the default schedule.|
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
},
"latest_build": {
- "ai_task_sidebar_app_id": "852ddafb-2cb9-4cbf-8a8c-075389fb3d3d",
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
diff --git a/docs/reference/api/workspaces.md b/docs/reference/api/workspaces.md
index 4bd188df3d..733c599366 100644
--- a/docs/reference/api/workspaces.md
+++ b/docs/reference/api/workspaces.md
@@ -82,7 +82,6 @@ of the template will be used.
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
},
"latest_build": {
- "ai_task_sidebar_app_id": "852ddafb-2cb9-4cbf-8a8c-075389fb3d3d",
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
@@ -377,7 +376,6 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
},
"latest_build": {
- "ai_task_sidebar_app_id": "852ddafb-2cb9-4cbf-8a8c-075389fb3d3d",
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
@@ -697,7 +695,6 @@ of the template will be used.
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
},
"latest_build": {
- "ai_task_sidebar_app_id": "852ddafb-2cb9-4cbf-8a8c-075389fb3d3d",
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
@@ -995,7 +992,6 @@ curl -X GET http://coder-server:8080/api/v2/workspaces \
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
},
"latest_build": {
- "ai_task_sidebar_app_id": "852ddafb-2cb9-4cbf-8a8c-075389fb3d3d",
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
@@ -1274,7 +1270,6 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace} \
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
},
"latest_build": {
- "ai_task_sidebar_app_id": "852ddafb-2cb9-4cbf-8a8c-075389fb3d3d",
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
@@ -1829,7 +1824,6 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/dormant \
"workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"
},
"latest_build": {
- "ai_task_sidebar_app_id": "852ddafb-2cb9-4cbf-8a8c-075389fb3d3d",
"build_number": 0,
"created_at": "2019-08-24T14:15:22Z",
"daily_cost": 0,
diff --git a/enterprise/audit/table.go b/enterprise/audit/table.go
index 9b887b30ef..e09f0b5876 100644
--- a/enterprise/audit/table.go
+++ b/enterprise/audit/table.go
@@ -198,7 +198,6 @@ var auditableResourcesTypes = map[any]map[string]Action{
"initiator_by_name": ActionIgnore,
"template_version_preset_id": ActionIgnore, // Never changes.
"has_ai_task": ActionIgnore, // Never changes.
- "ai_task_sidebar_app_id": ActionIgnore, // Never changes.
"has_external_agent": ActionIgnore, // Never changes.
},
&database.AuditableGroup{}: {
diff --git a/site/src/api/typesGenerated.ts b/site/src/api/typesGenerated.ts
index b6e17cf467..872dbf1daf 100644
--- a/site/src/api/typesGenerated.ts
+++ b/site/src/api/typesGenerated.ts
@@ -6393,10 +6393,6 @@ export interface WorkspaceBuild {
readonly matched_provisioners?: MatchedProvisioners;
readonly template_version_preset_id: string | null;
readonly has_ai_task?: boolean;
- /**
- * Deprecated: This field has been replaced with `Task.WorkspaceAppID`
- */
- readonly ai_task_sidebar_app_id?: string;
readonly has_external_agent?: boolean;
}