@taodigital/database 0.0.0-stage → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -2
- package/dist/index.d.ts +58 -0
- package/dist/index.js +209 -0
- package/package.json +29 -4
- package/prisma/migrations/0000_init/migration.sql +220 -0
- package/prisma/migrations/0001_tenant_isolation/migration.sql +43 -0
- package/prisma/migrations/0002_app_runtime_role/migration.sql +14 -0
- package/prisma/migrations/0003_skill_taxonomy/migration.sql +30 -0
- package/prisma/migrations/0004_extended_models/migration.sql +215 -0
- package/prisma/migrations/0005_enhanced_test_artifacts/migration.sql +24 -0
- package/prisma/migrations/0006_tenant_settings/migration.sql +28 -0
- package/prisma/migrations/0007_project_slug/migration.sql +11 -0
- package/prisma/migrations/0008_project_crawl_config/migration.sql +3 -0
- package/prisma/migrations/0009_tenant_slug/migration.sql +11 -0
- package/prisma/migrations/0010_user_password/migration.sql +3 -0
- package/prisma/migrations/0011_oauth_connections/migration.sql +78 -0
- package/prisma/migrations/0012_agent_webhooks/migration.sql +46 -0
- package/prisma/migrations/0013_project_artifacts/migration.sql +27 -0
- package/prisma/migrations/0014_knowledge_chunks/migration.sql +37 -0
- package/prisma/migrations/20260626022056_platform_job_migration/migration.sql +44 -0
- package/prisma/migrations/20260626053339_kag_schema_update/migration.sql +27 -0
- package/prisma/migrations/20260626053340_restore_bm25_index/migration.sql +13 -0
- package/prisma/migrations/20260626063704_token_optimisation/migration.sql +86 -0
- package/prisma/migrations/20260626080000_job_name/migration.sql +2 -0
- package/prisma/migrations/20260626090000_rls_missing_tables/migration.sql +39 -0
- package/prisma/migrations/20260626100000_token_budget/migration.sql +21 -0
- package/prisma/migrations/20260626110000_screen_groups/migration.sql +42 -0
- package/prisma/migrations/20260626120000_artifact_intelligence/migration.sql +5 -0
- package/prisma/migrations/20260626130000_notifications/migration.sql +34 -0
- package/prisma/migrations/20260627100000_element_viewport/migration.sql +2 -0
- package/prisma/migrations/20260627100000_screenshot_cloud_url/migration.sql +2 -0
- package/prisma/migrations/20260627110000_screenshot_index/migration.sql +2 -0
- package/prisma/migrations/20260627140000_artifact_storage_key/migration.sql +3 -0
- package/prisma/migrations/20260627150000_screen_lifecycle/migration.sql +5 -0
- package/prisma/migrations/20260627160000_native_app_support/migration.sql +41 -0
- package/prisma/migrations/20260627200000_rls_missing_tables/migration.sql +57 -0
- package/prisma/migrations/20260627210000_llmcalllog_tasktype/migration.sql +1 -0
- package/prisma/migrations/20260628100000_element_enrichment/migration.sql +7 -0
- package/prisma/migrations/20260628110000_element_hash/migration.sql +6 -0
- package/prisma/migrations/20260628120000_screen_diff/migration.sql +20 -0
- package/prisma/migrations/20260628130000_probe_observations/migration.sql +19 -0
- package/prisma/migrations/20260629100000_visual_baseline_masking/migration.sql +1 -0
- package/prisma/migrations/20260629110000_testcase_viewports/migration.sql +1 -0
- package/prisma/migrations/20260630100000_visual_baseline_element_snapshot/migration.sql +1 -0
- package/prisma/migrations/20260630110000_git_branched_baselines/migration.sql +11 -0
- package/prisma/migrations/20260630120000_testcase_viewport_constraint/migration.sql +1 -0
- package/prisma/migrations/20260630130000_test_case_runs/migration.sql +22 -0
- package/prisma/migrations/20260630140000_perf_env_comments/migration.sql +68 -0
- package/prisma/migrations/20260630150000_testcase_gen_at/migration.sql +2 -0
- package/prisma/migrations/20260630160000_rls_catchup_late_tables/migration.sql +41 -0
- package/prisma/migrations/20260701100000_skill_file_diff_approval/migration.sql +9 -0
- package/prisma/migrations/20260701200000_workspace_connector/migration.sql +20 -0
- package/prisma/migrations/20260701220000_screen_a11y_security/migration.sql +2 -0
- package/prisma/migrations/20260702100000_ci_threshold_root_cause/migration.sql +2 -0
- package/prisma/migrations/20260702120000_medium_priority_gaps/migration.sql +28 -0
- package/prisma/migrations/20260702140000_testcase_v2_technique/migration.sql +7 -0
- package/prisma/migrations/20260702150000_add_app_field/migration.sql +40 -0
- package/prisma/migrations/20260702160000_add_requirement_model/migration.sql +62 -0
- package/prisma/migrations/20260702180000_add_invitation_model/migration.sql +53 -0
- package/prisma/migrations/20260702190000_suite_hierarchy_artifact_trace/migration.sql +28 -0
- package/prisma/migrations/20260702200000_project_member_access/migration.sql +31 -0
- package/prisma/migrations/20260703000000_add_system_config/migration.sql +11 -0
- package/prisma/migrations/20260703000000_custom_roles/migration.sql +29 -0
- package/prisma/migrations/20260703100000_platform_admin/migration.sql +11 -0
- package/prisma/migrations/20260703110000_add_extension_models/migration.sql +106 -0
- package/prisma/migrations/20260703120000_project_restricted_column/migration.sql +1 -0
- package/prisma/migrations/20260703200000_system_config_category_index/migration.sql +1 -0
- package/prisma/migrations/20260703210000_workspace_layer/migration.sql +24 -0
- package/prisma/migrations/20260703230000_workspace_agent_tokens/migration.sql +2 -0
- package/prisma/migrations/20260704000000_requirement_rls_policy/migration.sql +35 -0
- package/prisma/migrations/20260704100000_fix_oauth_auditlog_cascade/migration.sql +9 -0
- package/prisma/migrations/20260704110000_skillfile_approval_status/migration.sql +2 -0
- package/prisma/migrations/20260704120000_scenario_suspect_workspace/migration.sql +35 -0
- package/prisma/migrations/20260704130000_testcase_traceto_suspect_indexes/migration.sql +5 -0
- package/prisma/migrations/20260704140000_workspace_rls/migration.sql +19 -0
- package/prisma/migrations/20260704150000_project_cascade_deletes/migration.sql +125 -0
- package/prisma/migrations/20260705100000_platform_job_worker_id/migration.sql +12 -0
- package/prisma/migrations/20260705110000_screen_discovery_method/migration.sql +7 -0
- package/prisma/migrations/20260705120000_webhook_delivery/migration.sql +32 -0
- package/prisma/migrations/20260705130000_tenant_feature_flags/migration.sql +23 -0
- package/prisma/migrations/20260705140000_auth_sessions/migration.sql +30 -0
- package/prisma/migrations/20260705150000_fix_rls_wrong_session_var/migration.sql +51 -0
- package/prisma/migrations/20260705160000_testcase_flaky_quarantine/migration.sql +14 -0
- package/prisma/migrations/20260705170000_testcaserun_browser/migration.sql +6 -0
- package/prisma/migrations/20260705180000_allow_custom_roles/migration.sql +22 -0
- package/prisma/migrations/20260706050000_screen_markdown_extraction/migration.sql +8 -0
- package/prisma/migrations/20260706090000_add_lighthouse_to_performance_snapshot/migration.sql +4 -0
- package/prisma/migrations/20260706100000_add_lighthouse_bp_and_job_index/migration.sql +5 -0
- package/prisma/migrations/20260706110000_add_visual_diff_ai_summary/migration.sql +2 -0
- package/prisma/migrations/20260707120000_script_bundles/migration.sql +25 -0
- package/prisma/migrations/20260707130000_requirement_source_section/migration.sql +4 -0
- package/prisma/migrations/20260707140000_structured_skill_metadata/migration.sql +8 -0
- package/prisma/migrations/20260707150000_crawler_platform_primitives/migration.sql +112 -0
- package/prisma/migrations/20260707160000_screen_group_versioning/migration.sql +9 -0
- package/prisma/migrations/20260707170000_add_mfa_fields/migration.sql +24 -0
- package/prisma/migrations/20260707180000_add_missing_tables/migration.sql +158 -0
- package/prisma/migrations/20260707190000_add_missing_columns/migration.sql +15 -0
- package/prisma/migrations/20260707200000_add_plan_sessions/migration.sql +1 -0
- package/prisma/migrations/20260708100000_missing_columns_comprehensive/migration.sql +15 -0
- package/prisma/migrations/20260708200000_testcase_dataset_column/migration.sql +16 -0
- package/prisma/migrations/20260709100000_add_filename_to_native_app_build/migration.sql +1 -0
- package/prisma/migrations/20260709200000_cloud_url_visual_artifacts/migration.sql +6 -0
- package/prisma/migrations/20260714200000_add_cached_scenarios_to_artifact/migration.sql +4 -0
- package/prisma/migrations/20260715200000_screen_markdown_content/migration.sql +2 -0
- package/prisma/migrations/20260716100000_github_repo_coverage_tables/migration.sql +114 -0
- package/prisma/migrations/20260716200000_github_pr_script_validation/migration.sql +48 -0
- package/prisma/migrations/20260716210000_s3_content_keys/migration.sql +20 -0
- package/prisma/migrations/20260717220000_ide_push_token/migration.sql +21 -0
- package/prisma/migrations/20260717230000_ide_push_script_ids/migration.sql +2 -0
- package/prisma/migrations/20260730040000_add_step_evidence_and_validation/migration.sql +93 -0
- package/prisma/migrations/20260803000000_add_tenantId_to_test_data_row/migration.sql +40 -0
- package/prisma/migrations/20260804000000_add_project_restricted/migration.sql +6 -0
- package/prisma/migrations/20260804000000_add_user_avatar_url/migration.sql +4 -0
- package/prisma/migrations/20260805000000_add_auditlog_ipaddress/migration.sql +2 -0
- package/prisma/migrations/20260807000000_add_test_data_classification/migration.sql +18 -0
- package/prisma/migrations/20260807000001_add_test_case_notes/migration.sql +5 -0
- package/prisma/migrations/20260807000002_add_visual_baseline_browser_structured_steps/migration.sql +11 -0
- package/prisma/migrations/20260807100000_add_tenant_plan_config/migration.sql +14 -0
- package/prisma/migrations/20260808000000_agent_token_missing_columns/migration.sql +22 -0
- package/prisma/migrations/20260808000001_visual_diff_image_and_threshold/migration.sql +8 -0
- package/prisma/migrations/20260808000002_ssoconfig_email_domains/migration.sql +7 -0
- package/prisma/migrations/20260808000003_project_status_description_updatedat/migration.sql +7 -0
- package/prisma/migrations/20260814000000_workspace_require_mfa/migration.sql +2 -0
- package/prisma/migrations/20260814000001_add_screenshot_dpr/migration.sql +2 -0
- package/prisma/migrations/20260818000000_add_content_hash_to_test_case/migration.sql +6 -0
- package/prisma/migrations/20260818000001_add_grounding_hash_to_test_case/migration.sql +3 -0
- package/prisma/migrations/20260819000000_coverage_mapping_cross_encoder_fields/migration.sql +3 -0
- package/prisma/migrations/20260820000000_add_locators_json_to_test_case/migration.sql +6 -0
- package/prisma/migrations/20260820000001_add_test_case_version/migration.sql +27 -0
- package/prisma/migrations/20260826000000_add_capture_step_screenshots/migration.sql +1 -0
- package/prisma/migrations/20260903000000_add_platform_job_dlq/migration.sql +10 -0
- package/prisma/migrations/20260903000002_add_versioning_tables/migration.sql +38 -0
- package/prisma/migrations/20260903000003_add_learning_models/migration.sql +71 -0
- package/prisma/migrations/20260903000004_add_workspace_agent_prompts/migration.sql +33 -0
- package/prisma/migrations/20260903000005_add_config_history/migration.sql +70 -0
- package/prisma/migrations/20260903000006_add_skill_file_config/migration.sql +24 -0
- package/prisma/migrations/20260904000000_add_agent_prompt_platform_table/migration.sql +23 -0
- package/prisma/migrations/20260904180424_rbac_role_configs_admin_roles/migration.sql +606 -0
- package/prisma/migrations/20260907000000_fix_testcase_timestamps/migration.sql +13 -0
- package/prisma/migrations/20260907000001_add_artifact_imported_suite_id/migration.sql +1 -0
- package/prisma/migrations/20260907000002_add_user_login_tracking/migration.sql +9 -0
- package/prisma/migrations/20260907000003_add_artifact_import_tracking/migration.sql +9 -0
- package/prisma/migrations/20260907000004_add_artifact_version_chain/migration.sql +18 -0
- package/prisma/migrations/20260908000000_add_project_vsa_enabled/migration.sql +2 -0
- package/prisma/migrations/20260908000001_rbac_migration_catchup/migration.sql +314 -0
- package/prisma/migrations/20260908000002_fix_role_configs_empty_permissions/migration.sql +22 -0
- package/prisma/migrations/20260908000003_sync_builtin_role_permissions/migration.sql +38 -0
- package/prisma/migrations/20260909000000_add_filepath_to_testscript/migration.sql +5 -0
- package/prisma/migrations/20260909000001_add_alignment_result_table/migration.sql +31 -0
- package/prisma/migrations/20260910000000_add_admin_mfa/migration.sql +35 -0
- package/prisma/migrations/20260910000000_add_dom_snapshot_cloud_url/migration.sql +2 -0
- package/prisma/migrations/20260910000001_add_requires_auth_to_screen/migration.sql +1 -0
- package/prisma/migrations/20260910000002_add_screen_requires_auth/migration.sql +2 -0
- package/prisma/migrations/20260910000003_add_admin_auth_sessions/migration.sql +17 -0
- package/prisma/migrations/20260916000001_add_admin_last_login/migration.sql +1 -0
- package/prisma/migrations/20260916000002_add_admin_failed_login/migration.sql +2 -0
- package/prisma/migrations/20260916000003_seed_system_tenant/migration.sql +6 -0
- package/prisma/migrations/20260918000000_fix_permissions_comprehensive/migration.sql +63 -0
- package/prisma/migrations/20260924000000_add_screen_role_access/migration.sql +2 -0
- package/prisma/migrations/20260928000000_add_navigation_graph/migration.sql +41 -0
- package/prisma/migrations/20260929000000_artifact_content_hash_suite_unique/migration.sql +25 -0
- package/prisma/migrations/20260929000000_navigation_graph_unique_constraint/migration.sql +5 -0
- package/prisma/migrations/20260929000001_add_membership_status/migration.sql +7 -0
- package/prisma/migrations/20260929000002_add_sso_config_scim_token_hash/migration.sql +8 -0
- package/prisma/migrations/20261005000001_jobs_workers_hardening/migration.sql +63 -0
- package/prisma/migrations/20261009000001_add_suite_category/migration.sql +2 -0
- package/prisma/migrations/20261009000002_add_testcase_approved_fields/migration.sql +3 -0
- package/prisma/migrations/20261012_auto_version_history/migration.sql +111 -0
- package/prisma/migrations/20261015000001_traceability_alignment_gaps/migration.sql +11 -0
- package/prisma/migrations/20261028000001_context_intelligence_p1_p7/migration.sql +76 -0
- package/prisma/migrations/migration_lock.toml +3 -0
- package/prisma/schema.prisma +2901 -0
- package/prisma/seed.ts +1262 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
-- Learning / Onboarding models: UserContext, LearningJourney, LearningTask, TaskSubmission
|
|
2
|
+
|
|
3
|
+
CREATE TABLE IF NOT EXISTS "UserContext" (
|
|
4
|
+
"id" TEXT NOT NULL,
|
|
5
|
+
"userId" TEXT NOT NULL,
|
|
6
|
+
"dailyTasks" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
|
7
|
+
"roles" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
|
8
|
+
"responsibilities" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
|
9
|
+
"toolsUsed" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
|
10
|
+
"lastExtractedAt" TIMESTAMP(3),
|
|
11
|
+
CONSTRAINT "UserContext_pkey" PRIMARY KEY ("id")
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
CREATE TABLE IF NOT EXISTS "LearningJourney" (
|
|
15
|
+
"id" TEXT NOT NULL,
|
|
16
|
+
"userId" TEXT NOT NULL,
|
|
17
|
+
"tenantId" TEXT NOT NULL,
|
|
18
|
+
"level" INTEGER NOT NULL DEFAULT 1,
|
|
19
|
+
"status" TEXT NOT NULL DEFAULT 'ACTIVE',
|
|
20
|
+
CONSTRAINT "LearningJourney_pkey" PRIMARY KEY ("id")
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
CREATE TABLE IF NOT EXISTS "LearningTask" (
|
|
24
|
+
"id" TEXT NOT NULL,
|
|
25
|
+
"journeyId" TEXT NOT NULL,
|
|
26
|
+
"title" TEXT NOT NULL,
|
|
27
|
+
"description" TEXT NOT NULL,
|
|
28
|
+
"requiredArtifacts" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
|
29
|
+
"status" TEXT NOT NULL DEFAULT 'ASSIGNED',
|
|
30
|
+
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
31
|
+
CONSTRAINT "LearningTask_pkey" PRIMARY KEY ("id")
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
CREATE TABLE IF NOT EXISTS "TaskSubmission" (
|
|
35
|
+
"id" TEXT NOT NULL,
|
|
36
|
+
"taskId" TEXT NOT NULL,
|
|
37
|
+
"textContent" TEXT,
|
|
38
|
+
"contentUrl" TEXT,
|
|
39
|
+
"submittedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
40
|
+
CONSTRAINT "TaskSubmission_pkey" PRIMARY KEY ("id")
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "UserContext_userId_key" ON "UserContext"("userId");
|
|
44
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "LearningJourney_userId_key" ON "LearningJourney"("userId");
|
|
45
|
+
CREATE INDEX IF NOT EXISTS "LearningJourney_tenantId_idx" ON "LearningJourney"("tenantId");
|
|
46
|
+
CREATE INDEX IF NOT EXISTS "LearningTask_journeyId_idx" ON "LearningTask"("journeyId");
|
|
47
|
+
CREATE INDEX IF NOT EXISTS "TaskSubmission_taskId_idx" ON "TaskSubmission"("taskId");
|
|
48
|
+
|
|
49
|
+
DO $$ BEGIN
|
|
50
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'UserContext_userId_fkey') THEN
|
|
51
|
+
ALTER TABLE "UserContext" ADD CONSTRAINT "UserContext_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
52
|
+
END IF;
|
|
53
|
+
END $$;
|
|
54
|
+
|
|
55
|
+
DO $$ BEGIN
|
|
56
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LearningJourney_userId_fkey') THEN
|
|
57
|
+
ALTER TABLE "LearningJourney" ADD CONSTRAINT "LearningJourney_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
58
|
+
END IF;
|
|
59
|
+
END $$;
|
|
60
|
+
|
|
61
|
+
DO $$ BEGIN
|
|
62
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LearningTask_journeyId_fkey') THEN
|
|
63
|
+
ALTER TABLE "LearningTask" ADD CONSTRAINT "LearningTask_journeyId_fkey" FOREIGN KEY ("journeyId") REFERENCES "LearningJourney"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
64
|
+
END IF;
|
|
65
|
+
END $$;
|
|
66
|
+
|
|
67
|
+
DO $$ BEGIN
|
|
68
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'TaskSubmission_taskId_fkey') THEN
|
|
69
|
+
ALTER TABLE "TaskSubmission" ADD CONSTRAINT "TaskSubmission_taskId_fkey" FOREIGN KEY ("taskId") REFERENCES "LearningTask"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
70
|
+
END IF;
|
|
71
|
+
END $$;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
-- CreateTable
|
|
2
|
+
CREATE TABLE IF NOT EXISTS "WorkspaceAgentPrompt" (
|
|
3
|
+
"id" TEXT NOT NULL,
|
|
4
|
+
"tenantId" TEXT NOT NULL,
|
|
5
|
+
"agentKey" TEXT NOT NULL,
|
|
6
|
+
"passKey" TEXT,
|
|
7
|
+
"name" TEXT NOT NULL,
|
|
8
|
+
"body" TEXT NOT NULL,
|
|
9
|
+
"isActive" BOOLEAN NOT NULL DEFAULT true,
|
|
10
|
+
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
11
|
+
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
12
|
+
"updatedBy" TEXT,
|
|
13
|
+
|
|
14
|
+
CONSTRAINT "WorkspaceAgentPrompt_pkey" PRIMARY KEY ("id")
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
-- CreateIndex
|
|
18
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "WorkspaceAgentPrompt_tenantId_agentKey_passKey_key"
|
|
19
|
+
ON "WorkspaceAgentPrompt"("tenantId", "agentKey", "passKey");
|
|
20
|
+
|
|
21
|
+
-- CreateIndex
|
|
22
|
+
CREATE INDEX IF NOT EXISTS "WorkspaceAgentPrompt_tenantId_agentKey_isActive_idx"
|
|
23
|
+
ON "WorkspaceAgentPrompt"("tenantId", "agentKey", "isActive");
|
|
24
|
+
|
|
25
|
+
-- AddForeignKey
|
|
26
|
+
DO $$ BEGIN
|
|
27
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'WorkspaceAgentPrompt_tenantId_fkey') THEN
|
|
28
|
+
ALTER TABLE "WorkspaceAgentPrompt"
|
|
29
|
+
ADD CONSTRAINT "WorkspaceAgentPrompt_tenantId_fkey"
|
|
30
|
+
FOREIGN KEY ("tenantId") REFERENCES "Tenant"("id")
|
|
31
|
+
ON DELETE CASCADE ON UPDATE CASCADE;
|
|
32
|
+
END IF;
|
|
33
|
+
END $$;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
-- Migration: add_config_history
|
|
2
|
+
-- Adds immutable audit trail tables for:
|
|
3
|
+
-- SystemConfigHistory — admin config upsert/delete events
|
|
4
|
+
-- AgentPromptHistory — platform prompt body changes
|
|
5
|
+
-- WorkspaceAgentPromptHistory — tenant prompt override changes
|
|
6
|
+
|
|
7
|
+
-- -------------------------------------------------------------------
|
|
8
|
+
-- SystemConfigHistory
|
|
9
|
+
-- -------------------------------------------------------------------
|
|
10
|
+
CREATE TABLE IF NOT EXISTS "SystemConfigHistory" (
|
|
11
|
+
"id" TEXT NOT NULL,
|
|
12
|
+
"configKey" TEXT NOT NULL,
|
|
13
|
+
"category" TEXT NOT NULL,
|
|
14
|
+
"fieldKey" TEXT NOT NULL,
|
|
15
|
+
"oldValue" TEXT,
|
|
16
|
+
"newValue" TEXT,
|
|
17
|
+
"action" TEXT NOT NULL,
|
|
18
|
+
"sensitive" BOOLEAN NOT NULL DEFAULT false,
|
|
19
|
+
"adminId" TEXT,
|
|
20
|
+
"adminEmail" TEXT,
|
|
21
|
+
"changedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
22
|
+
|
|
23
|
+
CONSTRAINT "SystemConfigHistory_pkey" PRIMARY KEY ("id")
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
CREATE INDEX IF NOT EXISTS "SystemConfigHistory_configKey_changedAt_idx" ON "SystemConfigHistory"("configKey", "changedAt" DESC);
|
|
27
|
+
CREATE INDEX IF NOT EXISTS "SystemConfigHistory_category_changedAt_idx" ON "SystemConfigHistory"("category", "changedAt" DESC);
|
|
28
|
+
CREATE INDEX IF NOT EXISTS "SystemConfigHistory_adminId_idx" ON "SystemConfigHistory"("adminId");
|
|
29
|
+
|
|
30
|
+
-- -------------------------------------------------------------------
|
|
31
|
+
-- AgentPromptHistory
|
|
32
|
+
-- -------------------------------------------------------------------
|
|
33
|
+
CREATE TABLE IF NOT EXISTS "AgentPromptHistory" (
|
|
34
|
+
"id" TEXT NOT NULL,
|
|
35
|
+
"agentPromptId" TEXT NOT NULL,
|
|
36
|
+
"agentKey" TEXT NOT NULL,
|
|
37
|
+
"passKey" TEXT,
|
|
38
|
+
"oldBody" TEXT NOT NULL,
|
|
39
|
+
"newBody" TEXT NOT NULL,
|
|
40
|
+
"version" INTEGER NOT NULL,
|
|
41
|
+
"adminId" TEXT,
|
|
42
|
+
"adminEmail" TEXT,
|
|
43
|
+
"changedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
44
|
+
|
|
45
|
+
CONSTRAINT "AgentPromptHistory_pkey" PRIMARY KEY ("id")
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
CREATE INDEX IF NOT EXISTS "AgentPromptHistory_agentPromptId_changedAt_idx" ON "AgentPromptHistory"("agentPromptId", "changedAt" DESC);
|
|
49
|
+
CREATE INDEX IF NOT EXISTS "AgentPromptHistory_agentKey_changedAt_idx" ON "AgentPromptHistory"("agentKey", "changedAt" DESC);
|
|
50
|
+
|
|
51
|
+
-- -------------------------------------------------------------------
|
|
52
|
+
-- WorkspaceAgentPromptHistory
|
|
53
|
+
-- -------------------------------------------------------------------
|
|
54
|
+
CREATE TABLE IF NOT EXISTS "WorkspaceAgentPromptHistory" (
|
|
55
|
+
"id" TEXT NOT NULL,
|
|
56
|
+
"workspaceAgentPromptId" TEXT,
|
|
57
|
+
"tenantId" TEXT NOT NULL,
|
|
58
|
+
"agentKey" TEXT NOT NULL,
|
|
59
|
+
"passKey" TEXT,
|
|
60
|
+
"oldBody" TEXT,
|
|
61
|
+
"newBody" TEXT,
|
|
62
|
+
"action" TEXT NOT NULL,
|
|
63
|
+
"updatedBy" TEXT,
|
|
64
|
+
"changedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
65
|
+
|
|
66
|
+
CONSTRAINT "WorkspaceAgentPromptHistory_pkey" PRIMARY KEY ("id")
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
CREATE INDEX IF NOT EXISTS "WorkspaceAgentPromptHistory_tenantId_agentKey_changedAt_idx" ON "WorkspaceAgentPromptHistory"("tenantId", "agentKey", "changedAt" DESC);
|
|
70
|
+
CREATE INDEX IF NOT EXISTS "WorkspaceAgentPromptHistory_workspaceAgentPromptId_changedAt_idx" ON "WorkspaceAgentPromptHistory"("workspaceAgentPromptId", "changedAt" DESC);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
-- Migration: add_skill_file_config
|
|
2
|
+
-- Adds SkillFileConfig table for per-project, per-kind skill file settings.
|
|
3
|
+
-- Allows platform admins to enable/disable generation, set intervals, require approval.
|
|
4
|
+
|
|
5
|
+
CREATE TABLE IF NOT EXISTS "SkillFileConfig" (
|
|
6
|
+
"id" TEXT NOT NULL,
|
|
7
|
+
"projectId" TEXT NOT NULL,
|
|
8
|
+
"tenantId" TEXT NOT NULL,
|
|
9
|
+
"kind" TEXT NOT NULL,
|
|
10
|
+
"enabled" BOOLEAN NOT NULL DEFAULT true,
|
|
11
|
+
"requireApproval" BOOLEAN NOT NULL DEFAULT false,
|
|
12
|
+
"autoGenIntervalMins" INTEGER,
|
|
13
|
+
"generationStrategy" TEXT NOT NULL DEFAULT 'AUTO',
|
|
14
|
+
"validationThresholds" JSONB,
|
|
15
|
+
"adminNotes" TEXT,
|
|
16
|
+
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
17
|
+
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
18
|
+
|
|
19
|
+
CONSTRAINT "SkillFileConfig_pkey" PRIMARY KEY ("id"),
|
|
20
|
+
CONSTRAINT "SkillFileConfig_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "SkillFileConfig_projectId_kind_key" ON "SkillFileConfig"("projectId", "kind");
|
|
24
|
+
CREATE INDEX IF NOT EXISTS "SkillFileConfig_tenantId_projectId_idx" ON "SkillFileConfig"("tenantId", "projectId");
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
-- CreateTable: Platform-wide agent prompt overrides managed via admin UI.
|
|
2
|
+
-- Resolution order: WorkspaceAgentPrompt (tenant) → AgentPrompt (platform) → hardcoded fallback.
|
|
3
|
+
CREATE TABLE IF NOT EXISTS "AgentPrompt" (
|
|
4
|
+
"id" TEXT NOT NULL,
|
|
5
|
+
"name" TEXT NOT NULL,
|
|
6
|
+
"agentKey" TEXT NOT NULL,
|
|
7
|
+
"passKey" TEXT,
|
|
8
|
+
"body" TEXT NOT NULL,
|
|
9
|
+
"version" INTEGER NOT NULL DEFAULT 1,
|
|
10
|
+
"isActive" BOOLEAN NOT NULL DEFAULT true,
|
|
11
|
+
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
12
|
+
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
13
|
+
|
|
14
|
+
CONSTRAINT "AgentPrompt_pkey" PRIMARY KEY ("id")
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
-- CreateIndex
|
|
18
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "AgentPrompt_agentKey_passKey_isActive_key"
|
|
19
|
+
ON "AgentPrompt"("agentKey", "passKey", "isActive");
|
|
20
|
+
|
|
21
|
+
-- CreateIndex
|
|
22
|
+
CREATE INDEX IF NOT EXISTS "AgentPrompt_agentKey_isActive_idx"
|
|
23
|
+
ON "AgentPrompt"("agentKey", "isActive");
|