* feat: autocomplete v2 * wip chat * wip * feat: chat ai review and apply * feat: multiple providers * update cli gen * fixes * improvements * fix build * fix issues * fix build * final nits * nits * nits
25 lines
1.0 KiB
SQL
25 lines
1.0 KiB
SQL
ALTER TABLE workspace_settings RENAME COLUMN ai_config TO ai_resource;
|
|
|
|
ALTER TABLE workspace_settings
|
|
ADD COLUMN ai_models VARCHAR(255)[] NOT NULL DEFAULT '{}',
|
|
ADD COLUMN code_completion_model VARCHAR(255);
|
|
|
|
UPDATE workspace_settings
|
|
SET ai_resource = CASE
|
|
WHEN ai_resource IS NULL THEN NULL
|
|
ELSE jsonb_build_object(
|
|
'provider',
|
|
COALESCE((SELECT jsonb_object_keys(COALESCE(ai_resource->>'providers', '{}')::jsonb) LIMIT 1), 'openai'), -- Get the first provider key
|
|
'path',
|
|
ai_resource->'providers'->(SELECT jsonb_object_keys(COALESCE(ai_resource->>'providers', '{}')::jsonb) LIMIT 1)->>'resource_path'
|
|
)
|
|
END,
|
|
ai_models = COALESCE((
|
|
SELECT array_agg(model)
|
|
FROM jsonb_array_elements_text(
|
|
COALESCE(ai_resource->'providers'->(SELECT jsonb_object_keys(COALESCE(ai_resource->>'providers', '{}')::jsonb) LIMIT 1)->>'models', '[]')::jsonb
|
|
) model
|
|
WHERE model IS NOT NULL
|
|
), '{}'),
|
|
code_completion_model = ai_resource->'code_completion_model'->>'model';
|