sqlew 3.8.1 → 3.9.0
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/CHANGELOG.md +155 -285
- package/README.md +150 -32
- package/assets/sample-agents/sqlew-architect.md +72 -17
- package/assets/sample-agents/sqlew-researcher.md +62 -1
- package/assets/sample-agents/sqlew-scrum-master.md +5 -1
- package/assets/sample-commands/README.md +57 -0
- package/assets/sample-commands/sqw-documentor.md +158 -0
- package/assets/sample-commands/sqw-plan.md +301 -0
- package/assets/sample-commands/sqw-research.md +298 -0
- package/assets/sample-commands/sqw-review.md +340 -0
- package/assets/sample-commands/sqw-scrum.md +423 -0
- package/assets/sample-commands/sqw-secretary.md +187 -0
- package/dist/adapters/sqlite-adapter.d.ts +0 -6
- package/dist/adapters/sqlite-adapter.d.ts.map +1 -1
- package/dist/adapters/sqlite-adapter.js +10 -14
- package/dist/adapters/sqlite-adapter.js.map +1 -1
- package/dist/cli/db-dump.d.ts +1 -1
- package/dist/cli/db-dump.d.ts.map +1 -1
- package/dist/cli/db-dump.js +1 -1
- package/dist/cli/db-dump.js.map +1 -1
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.d.ts +4 -0
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.d.ts.map +1 -0
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.js +146 -0
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.js.map +1 -0
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts +22 -0
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.js +106 -0
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts +21 -0
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.js +106 -0
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts +21 -0
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.js +91 -0
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.js.map +1 -0
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts +15 -0
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js +270 -0
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts +15 -0
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.js +241 -0
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.d.ts +16 -0
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.js +168 -0
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.d.ts +14 -0
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.js +228 -0
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.d.ts +14 -0
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.js +237 -0
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts +14 -0
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.js +61 -0
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.d.ts +21 -0
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.js +127 -0
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.js.map +1 -0
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.d.ts +15 -0
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.js +69 -0
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts +15 -0
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.js +132 -0
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts +18 -0
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.js +47 -0
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.d.ts +20 -0
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.js +119 -0
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.js.map +1 -0
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts +19 -0
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.js +196 -0
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.js.map +1 -0
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.d.ts +22 -0
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.js +375 -0
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.js.map +1 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +4 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/config/minimal-generator.d.ts.map +1 -1
- package/dist/config/minimal-generator.js +34 -0
- package/dist/config/minimal-generator.js.map +1 -1
- package/dist/config/types.d.ts +19 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +8 -0
- package/dist/config/types.js.map +1 -1
- package/dist/constants.d.ts +30 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +33 -0
- package/dist/constants.js.map +1 -1
- package/dist/database/initialization/cleanup.d.ts +1 -1
- package/dist/database/initialization/cleanup.d.ts.map +1 -1
- package/dist/database/initialization/cleanup.js +15 -1
- package/dist/database/initialization/cleanup.js.map +1 -1
- package/dist/database/initialization/init.d.ts.map +1 -1
- package/dist/database/initialization/init.js +3 -0
- package/dist/database/initialization/init.js.map +1 -1
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.d.ts +16 -0
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.d.ts.map +1 -0
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.js +84 -0
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.js.map +1 -0
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.d.ts +14 -0
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.d.ts.map +1 -0
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.js +42 -0
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.js.map +1 -0
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.d.ts +17 -0
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.d.ts.map +1 -0
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.js +122 -0
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.js.map +1 -0
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.d.ts +12 -0
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.d.ts.map +1 -0
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.js +49 -0
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.js.map +1 -0
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts +12 -0
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts.map +1 -0
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.js +53 -0
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.js.map +1 -0
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.d.ts +12 -0
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.d.ts.map +1 -0
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.js +44 -0
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.js.map +1 -0
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.d.ts +13 -0
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.d.ts.map +1 -0
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.js +33 -0
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.js.map +1 -0
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.d.ts +17 -0
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.d.ts.map +1 -0
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.js +119 -0
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.js.map +1 -0
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.d.ts +15 -0
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.d.ts.map +1 -0
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.js +282 -0
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.js.map +1 -0
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.d.ts +21 -0
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.d.ts.map +1 -0
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.js +83 -0
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.js.map +1 -0
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.d.ts +22 -0
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.d.ts.map +1 -0
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.js +94 -0
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.js.map +1 -0
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.d.ts +19 -0
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.d.ts.map +1 -0
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.js +120 -0
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.js.map +1 -0
- package/dist/database/migrations/20251025070349_create_views_wrapper.d.ts +14 -0
- package/dist/database/migrations/20251025070349_create_views_wrapper.d.ts.map +1 -0
- package/dist/database/migrations/20251025070349_create_views_wrapper.js +160 -0
- package/dist/database/migrations/20251025070349_create_views_wrapper.js.map +1 -0
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.d.ts +9 -0
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.d.ts.map +1 -0
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.js +21 -0
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.js.map +1 -0
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.d.ts +13 -0
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.d.ts.map +1 -0
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.js +17 -0
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.js.map +1 -0
- package/dist/database/migrations/20251025090000_create_help_system_tables.d.ts +27 -0
- package/dist/database/migrations/20251025090000_create_help_system_tables.d.ts.map +1 -0
- package/dist/database/migrations/20251025090000_create_help_system_tables.js +120 -0
- package/dist/database/migrations/20251025090000_create_help_system_tables.js.map +1 -0
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.d.ts +18 -0
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.d.ts.map +1 -0
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.js +388 -0
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.js.map +1 -0
- package/dist/database/migrations/20251025100000_seed_help_metadata.d.ts +20 -0
- package/dist/database/migrations/20251025100000_seed_help_metadata.d.ts.map +1 -0
- package/dist/database/migrations/20251025100000_seed_help_metadata.js +264 -0
- package/dist/database/migrations/20251025100000_seed_help_metadata.js.map +1 -0
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.d.ts +21 -0
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.d.ts.map +1 -0
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.js +281 -0
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.js.map +1 -0
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.d.ts +13 -0
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.d.ts.map +1 -0
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.js +76 -0
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.js.map +1 -0
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.d.ts +17 -0
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.d.ts.map +1 -0
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.js +42 -0
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.js.map +1 -0
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.d.ts +10 -0
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.d.ts.map +1 -0
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.js +28 -0
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.js.map +1 -0
- package/dist/database/migrations/20251027020000_update_agent_reusability.d.ts +21 -0
- package/dist/database/migrations/20251027020000_update_agent_reusability.d.ts.map +1 -0
- package/dist/database/migrations/20251027020000_update_agent_reusability.js +38 -0
- package/dist/database/migrations/20251027020000_update_agent_reusability.js.map +1 -0
- package/dist/database/migrations/20251028000000_simplify_agent_system.d.ts +26 -0
- package/dist/database/migrations/20251028000000_simplify_agent_system.d.ts.map +1 -0
- package/dist/database/migrations/20251028000000_simplify_agent_system.js +56 -0
- package/dist/database/migrations/20251028000000_simplify_agent_system.js.map +1 -0
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.d.ts +16 -0
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.d.ts.map +1 -0
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.js +52 -0
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.js.map +1 -0
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.d.ts +56 -0
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.d.ts.map +1 -0
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.js +701 -0
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.js.map +1 -0
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.d.ts +30 -0
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.d.ts.map +1 -0
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.js +180 -0
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.js.map +1 -0
- package/dist/database/migrations/20251105000000_add_token_usage_table.d.ts +19 -0
- package/dist/database/migrations/20251105000000_add_token_usage_table.d.ts.map +1 -0
- package/dist/database/migrations/20251105000000_add_token_usage_table.js +47 -0
- package/dist/database/migrations/20251105000000_add_token_usage_table.js.map +1 -0
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts +28 -0
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts.map +1 -0
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.js +123 -0
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.js.map +1 -0
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts +36 -0
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts.map +1 -0
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.js +559 -0
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.js.map +1 -0
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.d.ts +26 -0
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.d.ts.map +1 -0
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.js +78 -0
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.js.map +1 -0
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts +17 -0
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts.map +1 -0
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.js +78 -0
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.js.map +1 -0
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts +24 -0
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts.map +1 -0
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js +63 -0
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js.map +1 -0
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts +27 -0
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts.map +1 -0
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.js +276 -0
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.js.map +1 -0
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts +27 -0
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts.map +1 -0
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.js +67 -0
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.js.map +1 -0
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.d.ts +32 -0
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.d.ts.map +1 -0
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.js +352 -0
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.js.map +1 -0
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.d.ts +35 -0
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.d.ts.map +1 -0
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.js +237 -0
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.js.map +1 -0
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts +22 -0
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.js +190 -0
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.d.ts +32 -0
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.js +342 -0
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts +25 -0
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.js +109 -0
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts +24 -0
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.js +111 -0
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts +24 -0
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts.map +1 -0
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.js +90 -0
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.js.map +1 -0
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts +20 -0
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js +275 -0
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts +20 -0
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.js +246 -0
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.d.ts +23 -0
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.js +175 -0
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.d.ts +21 -0
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.js +235 -0
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.d.ts +21 -0
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.js +244 -0
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts +23 -0
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.js +70 -0
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.d.ts +29 -0
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.d.ts.map +1 -0
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.js +135 -0
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.js.map +1 -0
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.d.ts +23 -0
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.js +42 -0
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts +25 -0
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.js +102 -0
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts +25 -0
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.js +55 -0
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.d.ts +29 -0
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.js +62 -0
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.d.ts +25 -0
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.d.ts.map +1 -0
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.js +100 -0
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.js.map +1 -0
- package/dist/init-commands.d.ts +7 -0
- package/dist/init-commands.d.ts.map +1 -0
- package/dist/init-commands.js +185 -0
- package/dist/init-commands.js.map +1 -0
- package/dist/schema.d.ts +11 -19
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +51 -63
- package/dist/schema.js.map +1 -1
- package/dist/server/tool-handlers.d.ts.map +1 -1
- package/dist/server/tool-handlers.js +20 -1
- package/dist/server/tool-handlers.js.map +1 -1
- package/dist/server/tool-registry.d.ts.map +1 -1
- package/dist/server/tool-registry.js +42 -1
- package/dist/server/tool-registry.js.map +1 -1
- package/dist/sync-commands.d.ts +13 -0
- package/dist/sync-commands.d.ts.map +1 -0
- package/dist/sync-commands.js +115 -0
- package/dist/sync-commands.js.map +1 -0
- package/dist/tests/database/connection/connection-manager-integration.test.d.ts.map +1 -0
- package/dist/tests/{connection-manager-integration.test.js → database/connection/connection-manager-integration.test.js} +1 -1
- package/dist/tests/database/connection/connection-manager-integration.test.js.map +1 -0
- package/dist/tests/database/connection/connection-manager.test.d.ts.map +1 -0
- package/dist/tests/{connection-manager.test.js → database/connection/connection-manager.test.js} +1 -1
- package/dist/tests/database/connection/connection-manager.test.js.map +1 -0
- package/dist/tests/database/migrations/idempotency.test.d.ts +2 -0
- package/dist/tests/database/migrations/idempotency.test.d.ts.map +1 -0
- package/dist/tests/{migration-idempotency.test.js → database/migrations/idempotency.test.js} +1 -1
- package/dist/tests/database/migrations/idempotency.test.js.map +1 -0
- package/dist/tests/database/migrations/upgrade-paths.test.d.ts +2 -0
- package/dist/tests/database/migrations/upgrade-paths.test.d.ts.map +1 -0
- package/dist/tests/{migration-upgrade-paths.test.js → database/migrations/upgrade-paths.test.js} +1 -1
- package/dist/tests/database/migrations/upgrade-paths.test.js.map +1 -0
- package/dist/tests/database/multi-project/multi-project.test.d.ts.map +1 -0
- package/dist/tests/{multi-project.test.js → database/multi-project/multi-project.test.js} +5 -5
- package/dist/tests/database/multi-project/multi-project.test.js.map +1 -0
- package/dist/tests/{sql-dump-converters.test.d.ts → database/sql-dump/converters.test.d.ts} +1 -1
- package/dist/tests/database/sql-dump/converters.test.d.ts.map +1 -0
- package/dist/tests/{sql-dump-converters.test.js → database/sql-dump/converters.test.js} +2 -2
- package/dist/tests/database/sql-dump/converters.test.js.map +1 -0
- package/dist/tests/{sql-dump-default-conversions.test.d.ts → database/sql-dump/default-conversions.test.d.ts} +1 -1
- package/dist/tests/database/sql-dump/default-conversions.test.d.ts.map +1 -0
- package/dist/tests/{sql-dump-default-conversions.test.js → database/sql-dump/default-conversions.test.js} +2 -2
- package/dist/tests/database/sql-dump/default-conversions.test.js.map +1 -0
- package/dist/tests/database/sql-dump/table-ordering.test.d.ts +27 -0
- package/dist/tests/database/sql-dump/table-ordering.test.d.ts.map +1 -0
- package/dist/tests/{sql-dump-table-ordering.test.js → database/sql-dump/table-ordering.test.js} +34 -8
- package/dist/tests/database/sql-dump/table-ordering.test.js.map +1 -0
- package/dist/tests/database/sql-dump/type-conversion.test.d.ts.map +1 -0
- package/dist/tests/{type-conversion.test.js → database/sql-dump/type-conversion.test.js} +1 -1
- package/dist/tests/database/sql-dump/type-conversion.test.js.map +1 -0
- package/dist/tests/database/testing-config.d.ts +105 -0
- package/dist/tests/database/testing-config.d.ts.map +1 -0
- package/dist/tests/database/testing-config.js +192 -0
- package/dist/tests/database/testing-config.js.map +1 -0
- package/dist/tests/{sql-dump-cross-database.test.d.ts → docker/cross-database.test.d.ts} +1 -1
- package/dist/tests/docker/cross-database.test.d.ts.map +1 -0
- package/dist/tests/{sql-dump-cross-database.test.js → docker/cross-database.test.js} +3 -3
- package/dist/tests/docker/cross-database.test.js.map +1 -0
- package/dist/tests/docker/dump-import.test.d.ts.map +1 -0
- package/dist/tests/{dump-import.test.js → docker/dump-import.test.js} +25 -31
- package/dist/tests/docker/dump-import.test.js.map +1 -0
- package/dist/tests/{sql-dump-fk-constraints.test.d.ts → docker/fk-constraints.test.d.ts} +1 -1
- package/dist/tests/docker/fk-constraints.test.d.ts.map +1 -0
- package/dist/tests/{sql-dump-fk-constraints.test.js → docker/fk-constraints.test.js} +3 -3
- package/dist/tests/docker/fk-constraints.test.js.map +1 -0
- package/dist/tests/{sql-dump-indexes.test.d.ts → docker/indexes.test.d.ts} +1 -1
- package/dist/tests/docker/indexes.test.d.ts.map +1 -0
- package/dist/tests/{sql-dump-indexes.test.js → docker/indexes.test.js} +10 -29
- package/dist/tests/docker/indexes.test.js.map +1 -0
- package/dist/tests/{sql-dump-integration.test.d.ts → docker/integration.test.d.ts} +1 -1
- package/dist/tests/docker/integration.test.d.ts.map +1 -0
- package/dist/tests/{sql-dump-integration.test.js → docker/integration.test.js} +9 -28
- package/dist/tests/docker/integration.test.js.map +1 -0
- package/dist/tests/docker/multi-project-migration.test.d.ts.map +1 -0
- package/dist/tests/{multi-project-migration.test.js → docker/multi-project-migration.test.js} +20 -8
- package/dist/tests/docker/multi-project-migration.test.js.map +1 -0
- package/dist/tests/docker/native/constraint-operations.test.d.ts +23 -0
- package/dist/tests/docker/native/constraint-operations.test.d.ts.map +1 -0
- package/dist/tests/docker/native/constraint-operations.test.js +693 -0
- package/dist/tests/docker/native/constraint-operations.test.js.map +1 -0
- package/dist/tests/docker/native/db-init.d.ts +59 -0
- package/dist/tests/docker/native/db-init.d.ts.map +1 -0
- package/dist/tests/docker/native/db-init.js +207 -0
- package/dist/tests/docker/native/db-init.js.map +1 -0
- package/dist/tests/docker/native/decision-operations.test.d.ts +16 -0
- package/dist/tests/docker/native/decision-operations.test.d.ts.map +1 -0
- package/dist/tests/docker/native/decision-operations.test.js +590 -0
- package/dist/tests/docker/native/decision-operations.test.js.map +1 -0
- package/dist/tests/docker/native/help-system.test.d.ts +10 -0
- package/dist/tests/docker/native/help-system.test.d.ts.map +1 -0
- package/dist/tests/docker/native/help-system.test.js +568 -0
- package/dist/tests/docker/native/help-system.test.js.map +1 -0
- package/dist/tests/docker/native/suggest-tool.test.d.ts +16 -0
- package/dist/tests/docker/native/suggest-tool.test.d.ts.map +1 -0
- package/dist/tests/docker/native/suggest-tool.test.js +607 -0
- package/dist/tests/docker/native/suggest-tool.test.js.map +1 -0
- package/dist/tests/docker/native/task-operations.test.d.ts +16 -0
- package/dist/tests/docker/native/task-operations.test.d.ts.map +1 -0
- package/dist/tests/docker/native/task-operations.test.js +836 -0
- package/dist/tests/docker/native/task-operations.test.js.map +1 -0
- package/dist/tests/docker/native/test-harness.d.ts +129 -0
- package/dist/tests/docker/native/test-harness.d.ts.map +1 -0
- package/dist/tests/docker/native/test-harness.js +314 -0
- package/dist/tests/docker/native/test-harness.js.map +1 -0
- package/dist/tests/docker/schema-migration.test.d.ts.map +1 -0
- package/dist/tests/{schema-migration.test.js → docker/schema-migration.test.js} +8 -18
- package/dist/tests/docker/schema-migration.test.js.map +1 -0
- package/dist/tests/feature/decision/analytics.test.d.ts +7 -0
- package/dist/tests/feature/decision/analytics.test.d.ts.map +1 -0
- package/dist/tests/feature/decision/analytics.test.js +140 -0
- package/dist/tests/feature/decision/analytics.test.js.map +1 -0
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.d.ts.map +1 -0
- package/dist/tests/{batch-validation-comprehensive.test.js → feature/decision/batch-validation-comprehensive.test.js} +5 -5
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.js.map +1 -0
- package/dist/tests/feature/decision/batch-validation-integration.test.d.ts.map +1 -0
- package/dist/tests/{batch-validation-integration.test.js → feature/decision/batch-validation-integration.test.js} +3 -3
- package/dist/tests/feature/decision/batch-validation-integration.test.js.map +1 -0
- package/dist/tests/{decision-batch-validation.test.d.ts → feature/decision/batch-validation.test.d.ts} +1 -1
- package/dist/tests/feature/decision/batch-validation.test.d.ts.map +1 -0
- package/dist/tests/{decision-batch-validation.test.js → feature/decision/batch-validation.test.js} +4 -4
- package/dist/tests/feature/decision/batch-validation.test.js.map +1 -0
- package/dist/tests/feature/decision/context-modular.test.d.ts.map +1 -0
- package/dist/tests/{context-modular.test.js → feature/decision/context-modular.test.js} +17 -8
- package/dist/tests/feature/decision/context-modular.test.js.map +1 -0
- package/dist/tests/feature/help/help-system.test.d.ts.map +1 -0
- package/dist/tests/{help-system.test.js → feature/help/help-system.test.js} +9 -9
- package/dist/tests/feature/help/help-system.test.js.map +1 -0
- package/dist/tests/{tasks.auto-pruning-decision-link.test.d.ts → feature/task/auto-pruning-decision-link.test.d.ts} +1 -1
- package/dist/tests/feature/task/auto-pruning-decision-link.test.d.ts.map +1 -0
- package/dist/tests/{tasks.auto-pruning-decision-link.test.js → feature/task/auto-pruning-decision-link.test.js} +30 -8
- package/dist/tests/feature/task/auto-pruning-decision-link.test.js.map +1 -0
- package/dist/tests/{tasks.auto-pruning-partial.test.d.ts → feature/task/auto-pruning-partial.test.d.ts} +1 -1
- package/dist/tests/feature/task/auto-pruning-partial.test.d.ts.map +1 -0
- package/dist/tests/{tasks.auto-pruning-partial.test.js → feature/task/auto-pruning-partial.test.js} +26 -4
- package/dist/tests/feature/task/auto-pruning-partial.test.js.map +1 -0
- package/dist/tests/{tasks.auto-pruning-persistence.test.d.ts → feature/task/auto-pruning-persistence.test.d.ts} +1 -1
- package/dist/tests/feature/task/auto-pruning-persistence.test.d.ts.map +1 -0
- package/dist/tests/{tasks.auto-pruning-persistence.test.js → feature/task/auto-pruning-persistence.test.js} +23 -3
- package/dist/tests/feature/task/auto-pruning-persistence.test.js.map +1 -0
- package/dist/tests/{tasks.auto-pruning-safety.test.d.ts → feature/task/auto-pruning-safety.test.d.ts} +1 -1
- package/dist/tests/feature/task/auto-pruning-safety.test.d.ts.map +1 -0
- package/dist/tests/{tasks.auto-pruning-safety.test.js → feature/task/auto-pruning-safety.test.js} +46 -20
- package/dist/tests/feature/task/auto-pruning-safety.test.js.map +1 -0
- package/dist/tests/{tasks.dependencies.test.d.ts → feature/task/dependencies.test.d.ts} +1 -1
- package/dist/tests/feature/task/dependencies.test.d.ts.map +1 -0
- package/dist/tests/{tasks.dependencies.test.js → feature/task/dependencies.test.js} +46 -30
- package/dist/tests/feature/task/dependencies.test.js.map +1 -0
- package/dist/tests/{tasks.file-actions-integration.test.d.ts → feature/task/file-actions-integration.test.d.ts} +1 -1
- package/dist/tests/feature/task/file-actions-integration.test.d.ts.map +1 -0
- package/dist/tests/{tasks.file-actions-integration.test.js → feature/task/file-actions-integration.test.js} +6 -6
- package/dist/tests/feature/task/file-actions-integration.test.js.map +1 -0
- package/dist/tests/{tasks.file-actions-validation.test.d.ts → feature/task/file-actions-validation.test.d.ts} +1 -1
- package/dist/tests/feature/task/file-actions-validation.test.d.ts.map +1 -0
- package/dist/tests/{tasks.file-actions-validation.test.js → feature/task/file-actions-validation.test.js} +11 -4
- package/dist/tests/feature/task/file-actions-validation.test.js.map +1 -0
- package/dist/tests/{tasks.link-file-backward-compat.test.d.ts → feature/task/link-file-backward-compat.test.d.ts} +1 -1
- package/dist/tests/feature/task/link-file-backward-compat.test.d.ts.map +1 -0
- package/dist/tests/{tasks.link-file-backward-compat.test.js → feature/task/link-file-backward-compat.test.js} +65 -40
- package/dist/tests/feature/task/link-file-backward-compat.test.js.map +1 -0
- package/dist/tests/{tasks.watch-files-action.test.d.ts → feature/task/watch-files-action.test.d.ts} +3 -1
- package/dist/tests/feature/task/watch-files-action.test.d.ts.map +1 -0
- package/dist/tests/{tasks.watch-files-action.test.js → feature/task/watch-files-action.test.js} +58 -36
- package/dist/tests/feature/task/watch-files-action.test.js.map +1 -0
- package/dist/tests/{tasks.watch-files-parameter.test.d.ts → feature/task/watch-files-parameter.test.d.ts} +3 -1
- package/dist/tests/feature/task/watch-files-parameter.test.d.ts.map +1 -0
- package/dist/tests/{tasks.watch-files-parameter.test.js → feature/task/watch-files-parameter.test.js} +64 -39
- package/dist/tests/feature/task/watch-files-parameter.test.js.map +1 -0
- package/dist/tests/feature/vcs/git-aware-completion.test.d.ts.map +1 -0
- package/dist/tests/{git-aware-completion.test.js → feature/vcs/git-aware-completion.test.js} +25 -11
- package/dist/tests/feature/vcs/git-aware-completion.test.js.map +1 -0
- package/dist/tests/feature/vcs/two-step-git-completion.test.d.ts.map +1 -0
- package/dist/tests/{two-step-git-completion.test.js → feature/vcs/two-step-git-completion.test.js} +2 -2
- package/dist/tests/feature/vcs/two-step-git-completion.test.js.map +1 -0
- package/dist/tests/feature/vcs/vcs-staging.test.d.ts.map +1 -0
- package/dist/tests/{vcs-staging.test.js → feature/vcs/vcs-staging.test.js} +8 -3
- package/dist/tests/feature/vcs/vcs-staging.test.js.map +1 -0
- package/dist/tests/{all-features.test.d.ts → integration/all-features.standalone.d.ts} +1 -1
- package/dist/tests/integration/all-features.standalone.d.ts.map +1 -0
- package/dist/tests/{all-features.test.js → integration/all-features.standalone.js} +7 -9
- package/dist/tests/integration/all-features.standalone.js.map +1 -0
- package/dist/tests/integration/auto-trigger-suggestions.test.d.ts +7 -0
- package/dist/tests/integration/auto-trigger-suggestions.test.d.ts.map +1 -0
- package/dist/tests/integration/auto-trigger-suggestions.test.js +331 -0
- package/dist/tests/integration/auto-trigger-suggestions.test.js.map +1 -0
- package/dist/tests/integration/decision-intelligence-e2e.test.d.ts +13 -0
- package/dist/tests/integration/decision-intelligence-e2e.test.d.ts.map +1 -0
- package/dist/tests/integration/decision-intelligence-e2e.test.js +558 -0
- package/dist/tests/integration/decision-intelligence-e2e.test.js.map +1 -0
- package/dist/tests/integration/e2e-workflow1-debug.test.d.ts +5 -0
- package/dist/tests/integration/e2e-workflow1-debug.test.d.ts.map +1 -0
- package/dist/tests/integration/e2e-workflow1-debug.test.js +99 -0
- package/dist/tests/integration/e2e-workflow1-debug.test.js.map +1 -0
- package/dist/tests/integration/hybrid-similarity-detection.test.d.ts +7 -0
- package/dist/tests/integration/hybrid-similarity-detection.test.d.ts.map +1 -0
- package/dist/tests/integration/hybrid-similarity-detection.test.js +512 -0
- package/dist/tests/integration/hybrid-similarity-detection.test.js.map +1 -0
- package/dist/tests/integration/suggest-simple.test.d.ts +5 -0
- package/dist/tests/integration/suggest-simple.test.d.ts.map +1 -0
- package/dist/tests/integration/suggest-simple.test.js +72 -0
- package/dist/tests/integration/suggest-simple.test.js.map +1 -0
- package/dist/tests/unit/universal-knex.test.d.ts +2 -0
- package/dist/tests/unit/universal-knex.test.d.ts.map +1 -0
- package/dist/tests/unit/universal-knex.test.js +250 -0
- package/dist/tests/unit/universal-knex.test.js.map +1 -0
- package/dist/tests/unit/utils/config-loader.test.d.ts.map +1 -0
- package/dist/tests/{config-loader.test.js → unit/utils/config-loader.test.js} +63 -42
- package/dist/tests/unit/utils/config-loader.test.js.map +1 -0
- package/dist/tests/unit/utils/project-detector.test.d.ts.map +1 -0
- package/dist/tests/{project-detector.test.js → unit/utils/project-detector.test.js} +1 -1
- package/dist/tests/unit/utils/project-detector.test.js.map +1 -0
- package/dist/tests/unit/utils/semver.test.d.ts +2 -0
- package/dist/tests/unit/utils/semver.test.d.ts.map +1 -0
- package/dist/tests/unit/utils/semver.test.js +72 -0
- package/dist/tests/unit/utils/semver.test.js.map +1 -0
- package/dist/tests/unit/validation/batch-validation.test.d.ts.map +1 -0
- package/dist/tests/{batch-validation.test.js → unit/validation/batch-validation.test.js} +2 -2
- package/dist/tests/unit/validation/batch-validation.test.js.map +1 -0
- package/dist/tests/unit/validation/parameter-validation.test.d.ts.map +1 -0
- package/dist/tests/{parameter-validation.test.js → unit/validation/parameter-validation.test.js} +9 -12
- package/dist/tests/unit/validation/parameter-validation.test.js.map +1 -0
- package/dist/tests/unit/validation/policy-validation.test.d.ts +15 -0
- package/dist/tests/unit/validation/policy-validation.test.d.ts.map +1 -0
- package/dist/tests/unit/validation/policy-validation.test.js +343 -0
- package/dist/tests/unit/validation/policy-validation.test.js.map +1 -0
- package/dist/tests/utils/db-config.d.ts +21 -0
- package/dist/tests/utils/db-config.d.ts.map +1 -0
- package/dist/tests/utils/db-config.js +59 -0
- package/dist/tests/utils/db-config.js.map +1 -0
- package/dist/tests/utils/db-import.d.ts +11 -0
- package/dist/tests/utils/db-import.d.ts.map +1 -0
- package/dist/tests/utils/db-import.js +38 -0
- package/dist/tests/utils/db-import.js.map +1 -0
- package/dist/tests/utils/db-schema.d.ts +58 -0
- package/dist/tests/utils/db-schema.d.ts.map +1 -0
- package/dist/tests/utils/db-schema.js +218 -0
- package/dist/tests/utils/db-schema.js.map +1 -0
- package/dist/tests/utils/db-seeding.d.ts +18 -0
- package/dist/tests/utils/db-seeding.d.ts.map +1 -0
- package/dist/tests/utils/db-seeding.js +54 -0
- package/dist/tests/utils/db-seeding.js.map +1 -0
- package/dist/tests/utils/index.d.ts +20 -0
- package/dist/tests/utils/index.d.ts.map +1 -0
- package/dist/tests/utils/index.js +26 -0
- package/dist/tests/utils/index.js.map +1 -0
- package/dist/tests/utils/task-helpers.d.ts +67 -0
- package/dist/tests/utils/task-helpers.d.ts.map +1 -0
- package/dist/tests/utils/task-helpers.js +151 -0
- package/dist/tests/utils/task-helpers.js.map +1 -0
- package/dist/tests/utils/test-helpers.d.ts +93 -1
- package/dist/tests/utils/test-helpers.d.ts.map +1 -1
- package/dist/tests/utils/test-helpers.js +232 -64
- package/dist/tests/utils/test-helpers.js.map +1 -1
- package/dist/tests/utils/test-lifecycle.d.ts +52 -0
- package/dist/tests/utils/test-lifecycle.d.ts.map +1 -0
- package/dist/tests/utils/test-lifecycle.js +88 -0
- package/dist/tests/utils/test-lifecycle.js.map +1 -0
- package/dist/tools/context/actions/analytics.d.ts +88 -0
- package/dist/tools/context/actions/analytics.d.ts.map +1 -0
- package/dist/tools/context/actions/analytics.js +92 -0
- package/dist/tools/context/actions/analytics.js.map +1 -0
- package/dist/tools/context/actions/create-policy.d.ts +38 -0
- package/dist/tools/context/actions/create-policy.d.ts.map +1 -0
- package/dist/tools/context/actions/create-policy.js +87 -0
- package/dist/tools/context/actions/create-policy.js.map +1 -0
- package/dist/tools/context/actions/create-template.js +2 -2
- package/dist/tools/context/actions/create-template.js.map +1 -1
- package/dist/tools/context/actions/get.d.ts.map +1 -1
- package/dist/tools/context/actions/get.js +5 -4
- package/dist/tools/context/actions/get.js.map +1 -1
- package/dist/tools/context/actions/has-updates.d.ts.map +1 -1
- package/dist/tools/context/actions/has-updates.js +4 -19
- package/dist/tools/context/actions/has-updates.js.map +1 -1
- package/dist/tools/context/actions/list-policies.d.ts +31 -0
- package/dist/tools/context/actions/list-policies.d.ts.map +1 -0
- package/dist/tools/context/actions/list-policies.js +55 -0
- package/dist/tools/context/actions/list-policies.js.map +1 -0
- package/dist/tools/context/actions/list-templates.d.ts.map +1 -1
- package/dist/tools/context/actions/list-templates.js +2 -1
- package/dist/tools/context/actions/list-templates.js.map +1 -1
- package/dist/tools/context/actions/list.d.ts +1 -1
- package/dist/tools/context/actions/list.d.ts.map +1 -1
- package/dist/tools/context/actions/list.js +24 -18
- package/dist/tools/context/actions/list.js.map +1 -1
- package/dist/tools/context/actions/search-advanced.d.ts.map +1 -1
- package/dist/tools/context/actions/search-advanced.js +61 -42
- package/dist/tools/context/actions/search-advanced.js.map +1 -1
- package/dist/tools/context/actions/search-layer.d.ts.map +1 -1
- package/dist/tools/context/actions/search-layer.js +16 -7
- package/dist/tools/context/actions/search-layer.js.map +1 -1
- package/dist/tools/context/actions/search-tags.d.ts.map +1 -1
- package/dist/tools/context/actions/search-tags.js +22 -14
- package/dist/tools/context/actions/search-tags.js.map +1 -1
- package/dist/tools/context/actions/set-from-policy.d.ts +28 -0
- package/dist/tools/context/actions/set-from-policy.d.ts.map +1 -0
- package/dist/tools/context/actions/set-from-policy.js +54 -0
- package/dist/tools/context/actions/set-from-policy.js.map +1 -0
- package/dist/tools/context/actions/set-from-template.d.ts.map +1 -1
- package/dist/tools/context/actions/set-from-template.js +2 -1
- package/dist/tools/context/actions/set-from-template.js.map +1 -1
- package/dist/tools/context/index.d.ts +5 -0
- package/dist/tools/context/index.d.ts.map +1 -1
- package/dist/tools/context/index.js +5 -0
- package/dist/tools/context/index.js.map +1 -1
- package/dist/tools/context/internal/queries.d.ts.map +1 -1
- package/dist/tools/context/internal/queries.js +551 -31
- package/dist/tools/context/internal/queries.js.map +1 -1
- package/dist/tools/context/internal/validation.d.ts +4 -0
- package/dist/tools/context/internal/validation.d.ts.map +1 -1
- package/dist/tools/context/internal/validation.js +13 -0
- package/dist/tools/context/internal/validation.js.map +1 -1
- package/dist/tools/help/actions/query-action.js +1 -1
- package/dist/tools/help/actions/query-action.js.map +1 -1
- package/dist/tools/help/actions/query-params.js +1 -1
- package/dist/tools/help/actions/query-params.js.map +1 -1
- package/dist/tools/help/actions/query-tool.js +1 -1
- package/dist/tools/help/actions/query-tool.js.map +1 -1
- package/dist/tools/help-queries.d.ts +12 -12
- package/dist/tools/help-queries.d.ts.map +1 -1
- package/dist/tools/help-queries.js +121 -140
- package/dist/tools/help-queries.js.map +1 -1
- package/dist/tools/suggest/actions/by-context.d.ts +28 -0
- package/dist/tools/suggest/actions/by-context.d.ts.map +1 -0
- package/dist/tools/suggest/actions/by-context.js +68 -0
- package/dist/tools/suggest/actions/by-context.js.map +1 -0
- package/dist/tools/suggest/actions/by-key.d.ts +20 -0
- package/dist/tools/suggest/actions/by-key.d.ts.map +1 -0
- package/dist/tools/suggest/actions/by-key.js +55 -0
- package/dist/tools/suggest/actions/by-key.js.map +1 -0
- package/dist/tools/suggest/actions/by-tags.d.ts +23 -0
- package/dist/tools/suggest/actions/by-tags.d.ts.map +1 -0
- package/dist/tools/suggest/actions/by-tags.js +58 -0
- package/dist/tools/suggest/actions/by-tags.js.map +1 -0
- package/dist/tools/suggest/actions/check-duplicate.d.ts +20 -0
- package/dist/tools/suggest/actions/check-duplicate.d.ts.map +1 -0
- package/dist/tools/suggest/actions/check-duplicate.js +59 -0
- package/dist/tools/suggest/actions/check-duplicate.js.map +1 -0
- package/dist/tools/suggest/help/help.d.ts +5 -0
- package/dist/tools/suggest/help/help.d.ts.map +1 -0
- package/dist/tools/suggest/help/help.js +50 -0
- package/dist/tools/suggest/help/help.js.map +1 -0
- package/dist/tools/suggest/index.d.ts +18 -0
- package/dist/tools/suggest/index.d.ts.map +1 -0
- package/dist/tools/suggest/index.js +55 -0
- package/dist/tools/suggest/index.js.map +1 -0
- package/dist/tools/suggest/internal/queries.d.ts +60 -0
- package/dist/tools/suggest/internal/queries.d.ts.map +1 -0
- package/dist/tools/suggest/internal/queries.js +154 -0
- package/dist/tools/suggest/internal/queries.js.map +1 -0
- package/dist/tools/suggest/types.d.ts +70 -0
- package/dist/tools/suggest/types.d.ts.map +1 -0
- package/dist/tools/suggest/types.js +5 -0
- package/dist/tools/suggest/types.js.map +1 -0
- package/dist/tools/tasks/actions/link-pruned-file.d.ts +1 -0
- package/dist/tools/tasks/actions/link-pruned-file.d.ts.map +1 -1
- package/dist/tools/tasks/actions/link-pruned-file.js +7 -2
- package/dist/tools/tasks/actions/link-pruned-file.js.map +1 -1
- package/dist/tools/tasks/actions/link.d.ts.map +1 -1
- package/dist/tools/tasks/actions/link.js +4 -2
- package/dist/tools/tasks/actions/link.js.map +1 -1
- package/dist/tools/tasks/actions/list.d.ts.map +1 -1
- package/dist/tools/tasks/actions/list.js +37 -35
- package/dist/tools/tasks/actions/list.js.map +1 -1
- package/dist/tools/use_case/actions/search.d.ts +1 -1
- package/dist/tools/use_case/actions/search.d.ts.map +1 -1
- package/dist/tools/use_case/actions/search.js +31 -40
- package/dist/tools/use_case/actions/search.js.map +1 -1
- package/dist/types/actions.d.ts +10 -0
- package/dist/types/actions.d.ts.map +1 -1
- package/dist/types/decision/params.d.ts +7 -0
- package/dist/types/decision/params.d.ts.map +1 -1
- package/dist/types/decision/responses.d.ts +38 -0
- package/dist/types/decision/responses.d.ts.map +1 -1
- package/dist/types/view-entities.d.ts +1 -0
- package/dist/types/view-entities.d.ts.map +1 -1
- package/dist/types.d.ts +33 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/action-specs/decision-specs.js +3 -3
- package/dist/utils/action-specs/decision-specs.js.map +1 -1
- package/dist/utils/activity-logging.d.ts.map +1 -1
- package/dist/utils/activity-logging.js +7 -0
- package/dist/utils/activity-logging.js.map +1 -1
- package/dist/utils/db-aggregations.d.ts +88 -0
- package/dist/utils/db-aggregations.d.ts.map +1 -0
- package/dist/utils/db-aggregations.js +158 -0
- package/dist/utils/db-aggregations.js.map +1 -0
- package/dist/utils/file-pruning.d.ts +37 -13
- package/dist/utils/file-pruning.d.ts.map +1 -1
- package/dist/utils/file-pruning.js +93 -84
- package/dist/utils/file-pruning.js.map +1 -1
- package/dist/utils/policy-validator.d.ts +37 -0
- package/dist/utils/policy-validator.d.ts.map +1 -0
- package/dist/utils/policy-validator.js +240 -0
- package/dist/utils/policy-validator.js.map +1 -0
- package/dist/utils/quality-checks.d.ts +7 -7
- package/dist/utils/quality-checks.d.ts.map +1 -1
- package/dist/utils/quality-checks.js +18 -21
- package/dist/utils/quality-checks.js.map +1 -1
- package/dist/utils/semver.d.ts +50 -0
- package/dist/utils/semver.d.ts.map +1 -0
- package/dist/utils/semver.js +78 -0
- package/dist/utils/semver.js.map +1 -0
- package/dist/utils/sql-dump/schema/tables.d.ts.map +1 -1
- package/dist/utils/sql-dump/schema/tables.js +125 -7
- package/dist/utils/sql-dump/schema/tables.js.map +1 -1
- package/dist/utils/sql-dump/schema/views.d.ts.map +1 -1
- package/dist/utils/sql-dump/schema/views.js +6 -0
- package/dist/utils/sql-dump/schema/views.js.map +1 -1
- package/dist/utils/suggestion-scorer.d.ts +62 -0
- package/dist/utils/suggestion-scorer.d.ts.map +1 -0
- package/dist/utils/suggestion-scorer.js +169 -0
- package/dist/utils/suggestion-scorer.js.map +1 -0
- package/dist/utils/tag-parser.d.ts +52 -0
- package/dist/utils/tag-parser.d.ts.map +1 -0
- package/dist/utils/tag-parser.js +65 -0
- package/dist/utils/tag-parser.js.map +1 -0
- package/dist/utils/task-stale-detection.d.ts.map +1 -1
- package/dist/utils/task-stale-detection.js +40 -4
- package/dist/utils/task-stale-detection.js.map +1 -1
- package/dist/utils/token-logging.d.ts +9 -9
- package/dist/utils/token-logging.d.ts.map +1 -1
- package/dist/utils/token-logging.js +36 -38
- package/dist/utils/token-logging.js.map +1 -1
- package/dist/utils/universal-knex.d.ts +169 -0
- package/dist/utils/universal-knex.d.ts.map +1 -0
- package/dist/utils/universal-knex.js +318 -0
- package/dist/utils/universal-knex.js.map +1 -0
- package/dist/utils/validators.d.ts +2 -2
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +3 -2
- package/dist/utils/validators.js.map +1 -1
- package/dist/utils/vcs-adapter.d.ts.map +1 -1
- package/dist/utils/vcs-adapter.js +21 -14
- package/dist/utils/vcs-adapter.js.map +1 -1
- package/dist/utils/view-queries.d.ts +11 -3
- package/dist/utils/view-queries.d.ts.map +1 -1
- package/dist/utils/view-queries.js +122 -87
- package/dist/utils/view-queries.js.map +1 -1
- package/dist/watcher/file-watcher.d.ts.map +1 -1
- package/dist/watcher/file-watcher.js +99 -84
- package/dist/watcher/file-watcher.js.map +1 -1
- package/docs/BEST_PRACTICES.md +10 -0
- package/docs/DECISION_CONTEXT.md +190 -1
- package/docs/DECISION_INTELLIGENCE.md +594 -0
- package/docs/MIGRATION_GUIDE_V3.9.0.md +371 -0
- package/docs/SLASH_COMMANDS.md +652 -0
- package/docs/TOOL_REFERENCE.md +164 -22
- package/docs/TOOL_SELECTION.md +16 -2
- package/docs/WORKFLOWS.md +163 -0
- package/docs/changelogs/CHANGELOG_ARCHIVE_v3.4_and_older.md +296 -0
- package/package.json +35 -10
- package/scripts/check-cross-db-patterns.sh +105 -0
- package/scripts/filter-test-output.js +74 -0
- package/scripts/verify-migrations.sh +129 -0
- package/dist/tests/all-features.test.d.ts.map +0 -1
- package/dist/tests/all-features.test.js.map +0 -1
- package/dist/tests/batch-validation-comprehensive.test.d.ts.map +0 -1
- package/dist/tests/batch-validation-comprehensive.test.js.map +0 -1
- package/dist/tests/batch-validation-integration.test.d.ts.map +0 -1
- package/dist/tests/batch-validation-integration.test.js.map +0 -1
- package/dist/tests/batch-validation.test.d.ts.map +0 -1
- package/dist/tests/batch-validation.test.js.map +0 -1
- package/dist/tests/config-loader.test.d.ts.map +0 -1
- package/dist/tests/config-loader.test.js.map +0 -1
- package/dist/tests/connection-manager-integration.test.d.ts.map +0 -1
- package/dist/tests/connection-manager-integration.test.js.map +0 -1
- package/dist/tests/connection-manager.test.d.ts.map +0 -1
- package/dist/tests/connection-manager.test.js.map +0 -1
- package/dist/tests/context-modular.test.d.ts.map +0 -1
- package/dist/tests/context-modular.test.js.map +0 -1
- package/dist/tests/decision-batch-validation.test.d.ts.map +0 -1
- package/dist/tests/decision-batch-validation.test.js.map +0 -1
- package/dist/tests/dump-import.test.d.ts.map +0 -1
- package/dist/tests/dump-import.test.js.map +0 -1
- package/dist/tests/git-aware-completion.test.d.ts.map +0 -1
- package/dist/tests/git-aware-completion.test.js.map +0 -1
- package/dist/tests/help-system.test.d.ts.map +0 -1
- package/dist/tests/help-system.test.js.map +0 -1
- package/dist/tests/migration-idempotency.test.d.ts +0 -2
- package/dist/tests/migration-idempotency.test.d.ts.map +0 -1
- package/dist/tests/migration-idempotency.test.js.map +0 -1
- package/dist/tests/migration-upgrade-paths.test.d.ts +0 -2
- package/dist/tests/migration-upgrade-paths.test.d.ts.map +0 -1
- package/dist/tests/migration-upgrade-paths.test.js.map +0 -1
- package/dist/tests/multi-project-migration.test.d.ts.map +0 -1
- package/dist/tests/multi-project-migration.test.js.map +0 -1
- package/dist/tests/multi-project.test.d.ts.map +0 -1
- package/dist/tests/multi-project.test.js.map +0 -1
- package/dist/tests/parameter-validation.test.d.ts.map +0 -1
- package/dist/tests/parameter-validation.test.js.map +0 -1
- package/dist/tests/project-detector.test.d.ts.map +0 -1
- package/dist/tests/project-detector.test.js.map +0 -1
- package/dist/tests/schema-migration.test.d.ts.map +0 -1
- package/dist/tests/schema-migration.test.js.map +0 -1
- package/dist/tests/sql-dump-converters.test.d.ts.map +0 -1
- package/dist/tests/sql-dump-converters.test.js.map +0 -1
- package/dist/tests/sql-dump-cross-database.test.d.ts.map +0 -1
- package/dist/tests/sql-dump-cross-database.test.js.map +0 -1
- package/dist/tests/sql-dump-default-conversions.test.d.ts.map +0 -1
- package/dist/tests/sql-dump-default-conversions.test.js.map +0 -1
- package/dist/tests/sql-dump-fk-constraints.test.d.ts.map +0 -1
- package/dist/tests/sql-dump-fk-constraints.test.js.map +0 -1
- package/dist/tests/sql-dump-indexes.test.d.ts.map +0 -1
- package/dist/tests/sql-dump-indexes.test.js.map +0 -1
- package/dist/tests/sql-dump-integration.test.d.ts.map +0 -1
- package/dist/tests/sql-dump-integration.test.js.map +0 -1
- package/dist/tests/sql-dump-table-ordering.test.d.ts +0 -8
- package/dist/tests/sql-dump-table-ordering.test.d.ts.map +0 -1
- package/dist/tests/sql-dump-table-ordering.test.js.map +0 -1
- package/dist/tests/tasks.auto-pruning-decision-link.test.d.ts.map +0 -1
- package/dist/tests/tasks.auto-pruning-decision-link.test.js.map +0 -1
- package/dist/tests/tasks.auto-pruning-partial.test.d.ts.map +0 -1
- package/dist/tests/tasks.auto-pruning-partial.test.js.map +0 -1
- package/dist/tests/tasks.auto-pruning-persistence.test.d.ts.map +0 -1
- package/dist/tests/tasks.auto-pruning-persistence.test.js.map +0 -1
- package/dist/tests/tasks.auto-pruning-safety.test.d.ts.map +0 -1
- package/dist/tests/tasks.auto-pruning-safety.test.js.map +0 -1
- package/dist/tests/tasks.dependencies.test.d.ts.map +0 -1
- package/dist/tests/tasks.dependencies.test.js.map +0 -1
- package/dist/tests/tasks.file-actions-integration.test.d.ts.map +0 -1
- package/dist/tests/tasks.file-actions-integration.test.js.map +0 -1
- package/dist/tests/tasks.file-actions-validation.test.d.ts.map +0 -1
- package/dist/tests/tasks.file-actions-validation.test.js.map +0 -1
- package/dist/tests/tasks.link-file-backward-compat.test.d.ts.map +0 -1
- package/dist/tests/tasks.link-file-backward-compat.test.js.map +0 -1
- package/dist/tests/tasks.watch-files-action.test.d.ts.map +0 -1
- package/dist/tests/tasks.watch-files-action.test.js.map +0 -1
- package/dist/tests/tasks.watch-files-parameter.test.d.ts.map +0 -1
- package/dist/tests/tasks.watch-files-parameter.test.js.map +0 -1
- package/dist/tests/two-step-git-completion.test.d.ts.map +0 -1
- package/dist/tests/two-step-git-completion.test.js.map +0 -1
- package/dist/tests/type-conversion.test.d.ts.map +0 -1
- package/dist/tests/type-conversion.test.js.map +0 -1
- package/dist/tests/vcs-staging.test.d.ts.map +0 -1
- package/dist/tests/vcs-staging.test.js.map +0 -1
- package/dist/utils/sql-dump.d.ts +0 -102
- package/dist/utils/sql-dump.d.ts.map +0 -1
- package/dist/utils/sql-dump.js +0 -1590
- package/dist/utils/sql-dump.js.map +0 -1
- /package/dist/tests/{connection-manager-integration.test.d.ts → database/connection/connection-manager-integration.test.d.ts} +0 -0
- /package/dist/tests/{connection-manager.test.d.ts → database/connection/connection-manager.test.d.ts} +0 -0
- /package/dist/tests/{multi-project.test.d.ts → database/multi-project/multi-project.test.d.ts} +0 -0
- /package/dist/tests/{type-conversion.test.d.ts → database/sql-dump/type-conversion.test.d.ts} +0 -0
- /package/dist/tests/{dump-import.test.d.ts → docker/dump-import.test.d.ts} +0 -0
- /package/dist/tests/{multi-project-migration.test.d.ts → docker/multi-project-migration.test.d.ts} +0 -0
- /package/dist/tests/{schema-migration.test.d.ts → docker/schema-migration.test.d.ts} +0 -0
- /package/dist/tests/{batch-validation-comprehensive.test.d.ts → feature/decision/batch-validation-comprehensive.test.d.ts} +0 -0
- /package/dist/tests/{batch-validation-integration.test.d.ts → feature/decision/batch-validation-integration.test.d.ts} +0 -0
- /package/dist/tests/{context-modular.test.d.ts → feature/decision/context-modular.test.d.ts} +0 -0
- /package/dist/tests/{help-system.test.d.ts → feature/help/help-system.test.d.ts} +0 -0
- /package/dist/tests/{git-aware-completion.test.d.ts → feature/vcs/git-aware-completion.test.d.ts} +0 -0
- /package/dist/tests/{two-step-git-completion.test.d.ts → feature/vcs/two-step-git-completion.test.d.ts} +0 -0
- /package/dist/tests/{vcs-staging.test.d.ts → feature/vcs/vcs-staging.test.d.ts} +0 -0
- /package/dist/tests/{config-loader.test.d.ts → unit/utils/config-loader.test.d.ts} +0 -0
- /package/dist/tests/{project-detector.test.d.ts → unit/utils/project-detector.test.d.ts} +0 -0
- /package/dist/tests/{batch-validation.test.d.ts → unit/validation/batch-validation.test.d.ts} +0 -0
- /package/dist/tests/{parameter-validation.test.d.ts → unit/validation/parameter-validation.test.d.ts} +0 -0
package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.ts
|
|
3
|
+
* Changes:
|
|
4
|
+
* - Added Universal Knex Wrapper for database detection
|
|
5
|
+
* - Replaced manual client detection with db.isSQLite, db.isMySQL, db.isPostgreSQL
|
|
6
|
+
* - Used db.createTableSafe pattern (manual in this case for data preservation)
|
|
7
|
+
* - Line count: 149 (original) → 141 (5% reduction)
|
|
8
|
+
*/
|
|
9
|
+
import type { Knex } from "knex";
|
|
10
|
+
/**
|
|
11
|
+
* Enhancement Migration: Fix t_task_decision_links UNIQUE Constraint
|
|
12
|
+
*
|
|
13
|
+
* Root Cause:
|
|
14
|
+
* - Bootstrap migration created table with composite PRIMARY KEY (task_id, decision_key_id)
|
|
15
|
+
* - v3.7.0 upgrade migration recreated table with AUTO INCREMENT id PRIMARY KEY
|
|
16
|
+
* - But v3.7.0 forgot to add UNIQUE(task_id, decision_key_id) constraint
|
|
17
|
+
* - Result: .onConflict(['task_id', 'decision_key_id']) fails with "no UNIQUE constraint"
|
|
18
|
+
*
|
|
19
|
+
* This migration:
|
|
20
|
+
* - Recreates t_task_decision_links with proper UNIQUE constraint
|
|
21
|
+
* - Preserves all data
|
|
22
|
+
* - Idempotent (safe to run multiple times)
|
|
23
|
+
* - Fixes both existing databases and future fresh installs
|
|
24
|
+
*
|
|
25
|
+
* Related Decision: v3.7.0/task-decision-links-schema-discrepancy
|
|
26
|
+
*/
|
|
27
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
28
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
29
|
+
//# sourceMappingURL=20251115000000_fix_task_decision_links_unique_constraint.d.ts.map
|
package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251115000000_fix_task_decision_links_unique_constraint.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA2FlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCpD"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.ts
|
|
3
|
+
* Changes:
|
|
4
|
+
* - Added Universal Knex Wrapper for database detection
|
|
5
|
+
* - Replaced manual client detection with db.isSQLite, db.isMySQL, db.isPostgreSQL
|
|
6
|
+
* - Used db.createTableSafe pattern (manual in this case for data preservation)
|
|
7
|
+
* - Line count: 149 (original) → 141 (5% reduction)
|
|
8
|
+
*/
|
|
9
|
+
import { UniversalKnex } from "../../utils/universal-knex.js";
|
|
10
|
+
/**
|
|
11
|
+
* Enhancement Migration: Fix t_task_decision_links UNIQUE Constraint
|
|
12
|
+
*
|
|
13
|
+
* Root Cause:
|
|
14
|
+
* - Bootstrap migration created table with composite PRIMARY KEY (task_id, decision_key_id)
|
|
15
|
+
* - v3.7.0 upgrade migration recreated table with AUTO INCREMENT id PRIMARY KEY
|
|
16
|
+
* - But v3.7.0 forgot to add UNIQUE(task_id, decision_key_id) constraint
|
|
17
|
+
* - Result: .onConflict(['task_id', 'decision_key_id']) fails with "no UNIQUE constraint"
|
|
18
|
+
*
|
|
19
|
+
* This migration:
|
|
20
|
+
* - Recreates t_task_decision_links with proper UNIQUE constraint
|
|
21
|
+
* - Preserves all data
|
|
22
|
+
* - Idempotent (safe to run multiple times)
|
|
23
|
+
* - Fixes both existing databases and future fresh installs
|
|
24
|
+
*
|
|
25
|
+
* Related Decision: v3.7.0/task-decision-links-schema-discrepancy
|
|
26
|
+
*/
|
|
27
|
+
export async function up(knex) {
|
|
28
|
+
const db = new UniversalKnex(knex);
|
|
29
|
+
// Check if UNIQUE constraint already exists
|
|
30
|
+
if (db.isSQLite) {
|
|
31
|
+
// SQLite: Check if UNIQUE index exists
|
|
32
|
+
const indexes = await knex.raw(`
|
|
33
|
+
SELECT name FROM sqlite_master
|
|
34
|
+
WHERE type='index'
|
|
35
|
+
AND tbl_name='t_task_decision_links'
|
|
36
|
+
AND (
|
|
37
|
+
name LIKE '%unique%'
|
|
38
|
+
OR sql LIKE '%UNIQUE%'
|
|
39
|
+
)
|
|
40
|
+
`);
|
|
41
|
+
if (indexes.length > 0) {
|
|
42
|
+
console.log('✓ UNIQUE constraint already exists on t_task_decision_links, skipping');
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// MySQL/PostgreSQL: Check constraints
|
|
48
|
+
const hasUniqueConstraint = await knex.schema.raw(`
|
|
49
|
+
SELECT COUNT(*) as count
|
|
50
|
+
FROM information_schema.table_constraints
|
|
51
|
+
WHERE table_name = 't_task_decision_links'
|
|
52
|
+
AND constraint_type = 'UNIQUE'
|
|
53
|
+
`).then((result) => {
|
|
54
|
+
const row = result[0] || result.rows?.[0];
|
|
55
|
+
return row && row.count > 0;
|
|
56
|
+
});
|
|
57
|
+
if (hasUniqueConstraint) {
|
|
58
|
+
console.log('✓ UNIQUE constraint already exists on t_task_decision_links, skipping');
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
console.log('🔧 Recreating t_task_decision_links with UNIQUE constraint...');
|
|
63
|
+
// Step 1: Backup existing data
|
|
64
|
+
const existingData = await knex('t_task_decision_links').select('*');
|
|
65
|
+
console.log(` Backed up ${existingData.length} links`);
|
|
66
|
+
// Step 2: Drop existing table
|
|
67
|
+
await knex.schema.dropTableIfExists('t_task_decision_links');
|
|
68
|
+
console.log(' Dropped old table');
|
|
69
|
+
// Step 3: Recreate table with UNIQUE constraint
|
|
70
|
+
await knex.schema.createTable('t_task_decision_links', (table) => {
|
|
71
|
+
table.increments('id').primary();
|
|
72
|
+
table.integer('task_id').unsigned().notNullable();
|
|
73
|
+
table.integer('decision_key_id').unsigned().notNullable();
|
|
74
|
+
table.integer('project_id').unsigned().notNullable().defaultTo(1);
|
|
75
|
+
table.text('link_type').defaultTo('implements');
|
|
76
|
+
table.integer('linked_ts').notNullable();
|
|
77
|
+
// ✅ Add UNIQUE constraint (the missing piece!)
|
|
78
|
+
table.unique(['task_id', 'decision_key_id'], {
|
|
79
|
+
indexName: 'idx_task_decision_links_unique'
|
|
80
|
+
});
|
|
81
|
+
// Foreign keys
|
|
82
|
+
table.foreign('task_id').references('id').inTable('t_tasks').onDelete('CASCADE');
|
|
83
|
+
table.foreign('decision_key_id').references('id').inTable('m_context_keys');
|
|
84
|
+
table.foreign('project_id').references('id').inTable('m_projects').onDelete('CASCADE');
|
|
85
|
+
// Indexes
|
|
86
|
+
table.index('task_id', 'idx_task_decision_links_task');
|
|
87
|
+
table.index('decision_key_id', 'idx_task_decision_links_decision');
|
|
88
|
+
table.index(['project_id', 'task_id'], 'idx_task_decision_links_project');
|
|
89
|
+
});
|
|
90
|
+
console.log(' Created new table with UNIQUE constraint');
|
|
91
|
+
// Step 4: Restore data (preserving all columns including id)
|
|
92
|
+
if (existingData.length > 0) {
|
|
93
|
+
// Ensure all required columns exist, fill missing ones
|
|
94
|
+
const dataToRestore = existingData.map((row) => ({
|
|
95
|
+
id: row.id,
|
|
96
|
+
task_id: row.task_id,
|
|
97
|
+
decision_key_id: row.decision_key_id,
|
|
98
|
+
project_id: row.project_id || 1,
|
|
99
|
+
link_type: row.link_type || 'implements',
|
|
100
|
+
linked_ts: row.linked_ts || Math.floor(Date.now() / 1000)
|
|
101
|
+
}));
|
|
102
|
+
await knex('t_task_decision_links').insert(dataToRestore);
|
|
103
|
+
console.log(` Restored ${dataToRestore.length} links`);
|
|
104
|
+
}
|
|
105
|
+
console.log('✅ Successfully fixed t_task_decision_links UNIQUE constraint');
|
|
106
|
+
}
|
|
107
|
+
export async function down(knex) {
|
|
108
|
+
console.log('🔄 Rolling back UNIQUE constraint fix...');
|
|
109
|
+
// Backup data
|
|
110
|
+
const existingData = await knex('t_task_decision_links').select('*');
|
|
111
|
+
// Recreate table WITHOUT UNIQUE constraint (back to broken state)
|
|
112
|
+
await knex.schema.dropTableIfExists('t_task_decision_links');
|
|
113
|
+
await knex.schema.createTable('t_task_decision_links', (table) => {
|
|
114
|
+
table.increments('id').primary();
|
|
115
|
+
table.integer('task_id').unsigned().notNullable();
|
|
116
|
+
table.integer('decision_key_id').unsigned().notNullable();
|
|
117
|
+
table.integer('project_id').unsigned().notNullable().defaultTo(1);
|
|
118
|
+
table.text('link_type').defaultTo('implements');
|
|
119
|
+
table.integer('linked_ts').notNullable();
|
|
120
|
+
// Foreign keys
|
|
121
|
+
table.foreign('task_id').references('id').inTable('t_tasks').onDelete('CASCADE');
|
|
122
|
+
table.foreign('decision_key_id').references('id').inTable('m_context_keys');
|
|
123
|
+
table.foreign('project_id').references('id').inTable('m_projects').onDelete('CASCADE');
|
|
124
|
+
// Indexes (no UNIQUE constraint)
|
|
125
|
+
table.index('task_id', 'idx_task_decision_links_task');
|
|
126
|
+
table.index('decision_key_id', 'idx_task_decision_links_decision');
|
|
127
|
+
table.index(['project_id', 'task_id'], 'idx_task_decision_links_project');
|
|
128
|
+
});
|
|
129
|
+
// Restore data
|
|
130
|
+
if (existingData.length > 0) {
|
|
131
|
+
await knex('t_task_decision_links').insert(existingData);
|
|
132
|
+
}
|
|
133
|
+
console.log('✅ Rolled back to schema without UNIQUE constraint');
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=20251115000000_fix_task_decision_links_unique_constraint.js.map
|
package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251115000000_fix_task_decision_links_unique_constraint.js","sourceRoot":"","sources":["../../../src/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.ts
|
|
3
|
+
*
|
|
4
|
+
* Changes:
|
|
5
|
+
* - Replaced DB-specific client detection with UniversalKnex wrapper
|
|
6
|
+
* - Eliminated 45+ lines of conditional DB logic
|
|
7
|
+
* - Used db.createIndexSafe() for cross-database index creation
|
|
8
|
+
* - Line count: 75 → 38 (49% reduction)
|
|
9
|
+
*
|
|
10
|
+
* Migration: Fix idx_messages_to_agent Index - MySQL Reserved Keyword (v3.9.0)
|
|
11
|
+
*
|
|
12
|
+
* Problem: Bootstrap migration 20251025021351_create_indexes.ts creates index on
|
|
13
|
+
* t_agent_messages(to_agent_id, read) but 'read' is a reserved keyword in MySQL/MariaDB.
|
|
14
|
+
*
|
|
15
|
+
* Solution: Drop and recreate index with properly quoted column name.
|
|
16
|
+
*
|
|
17
|
+
* Note: This is a hotfix migration. We cannot edit the bootstrap migration since
|
|
18
|
+
* it's already pushed to the repository.
|
|
19
|
+
*/
|
|
20
|
+
import type { Knex } from "knex";
|
|
21
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
22
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
23
|
+
//# sourceMappingURL=20251115100000_fix_read_keyword_index_v3_9_0.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251115100000_fix_read_keyword_index_v3_9_0.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAKpD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.ts
|
|
3
|
+
*
|
|
4
|
+
* Changes:
|
|
5
|
+
* - Replaced DB-specific client detection with UniversalKnex wrapper
|
|
6
|
+
* - Eliminated 45+ lines of conditional DB logic
|
|
7
|
+
* - Used db.createIndexSafe() for cross-database index creation
|
|
8
|
+
* - Line count: 75 → 38 (49% reduction)
|
|
9
|
+
*
|
|
10
|
+
* Migration: Fix idx_messages_to_agent Index - MySQL Reserved Keyword (v3.9.0)
|
|
11
|
+
*
|
|
12
|
+
* Problem: Bootstrap migration 20251025021351_create_indexes.ts creates index on
|
|
13
|
+
* t_agent_messages(to_agent_id, read) but 'read' is a reserved keyword in MySQL/MariaDB.
|
|
14
|
+
*
|
|
15
|
+
* Solution: Drop and recreate index with properly quoted column name.
|
|
16
|
+
*
|
|
17
|
+
* Note: This is a hotfix migration. We cannot edit the bootstrap migration since
|
|
18
|
+
* it's already pushed to the repository.
|
|
19
|
+
*/
|
|
20
|
+
import { UniversalKnex } from "../../utils/universal-knex.js";
|
|
21
|
+
export async function up(knex) {
|
|
22
|
+
const db = new UniversalKnex(knex);
|
|
23
|
+
// Check if table exists
|
|
24
|
+
const hasTable = await knex.schema.hasTable('t_agent_messages');
|
|
25
|
+
if (!hasTable) {
|
|
26
|
+
console.log('⏭️ Skipping index fix: t_agent_messages table does not exist');
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
// Drop the problematic index if it exists
|
|
30
|
+
await knex.raw('DROP INDEX IF EXISTS idx_messages_to_agent');
|
|
31
|
+
// Recreate index with properly quoted column name
|
|
32
|
+
// Note: 'read' is a reserved keyword, needs quoting (backticks for MySQL, quotes for SQLite/PostgreSQL)
|
|
33
|
+
const readColumn = db.isMySQL ? '`read`' : '"read"';
|
|
34
|
+
await db.createIndexSafe('t_agent_messages', ['to_agent_id', readColumn], 'idx_messages_to_agent');
|
|
35
|
+
console.log('✅ Fixed idx_messages_to_agent index with quoted column name');
|
|
36
|
+
}
|
|
37
|
+
export async function down(knex) {
|
|
38
|
+
// Drop the fixed index
|
|
39
|
+
await knex.raw('DROP INDEX IF EXISTS idx_messages_to_agent');
|
|
40
|
+
console.log('✅ Dropped idx_messages_to_agent index');
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=20251115100000_fix_read_keyword_index_v3_9_0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251115100000_fix_read_keyword_index_v3_9_0.js","sourceRoot":"","sources":["../../../src/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IAEnC,wBAAwB;IACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IAED,0CAA0C;IAC1C,MAAM,IAAI,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAE7D,kDAAkD;IAClD,wGAAwG;IACxG,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IACpD,MAAM,EAAE,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAEnG,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,uBAAuB;IACvB,MAAM,IAAI,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAE7D,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.ts
|
|
3
|
+
*
|
|
4
|
+
* Changes:
|
|
5
|
+
* - Replaced DB-specific client detection with UniversalKnex wrapper
|
|
6
|
+
* - Used db.createTableSafe() for idempotent table creation
|
|
7
|
+
* - Used db.addColumnSafe() for idempotent column additions
|
|
8
|
+
* - Used db.timestampColumn() and db.primaryKeyString() helpers
|
|
9
|
+
* - Eliminated 40+ lines of conditional DB logic
|
|
10
|
+
* - Line count: 153 → 82 (46% reduction)
|
|
11
|
+
*
|
|
12
|
+
* Migration: Fix Cross-Database Timestamp Defaults (v3.9.0)
|
|
13
|
+
*
|
|
14
|
+
* Problem: Upgrade migration 20251112000000_decision_intelligence_v3_9_0.ts uses
|
|
15
|
+
* SQLite-specific strftime('%s', 'now') for DEFAULT values, which fails on PostgreSQL.
|
|
16
|
+
*
|
|
17
|
+
* Solution: This migration acts as a "catch-up" to complete the work if the original
|
|
18
|
+
* migration failed on non-SQLite databases. It uses database-aware timestamp functions.
|
|
19
|
+
*
|
|
20
|
+
* Note: This is a hotfix migration. We cannot edit the pushed upgrade migration.
|
|
21
|
+
*/
|
|
22
|
+
import type { Knex } from "knex";
|
|
23
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
24
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
25
|
+
//# sourceMappingURL=20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAepD"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.ts
|
|
3
|
+
*
|
|
4
|
+
* Changes:
|
|
5
|
+
* - Replaced DB-specific client detection with UniversalKnex wrapper
|
|
6
|
+
* - Used db.createTableSafe() for idempotent table creation
|
|
7
|
+
* - Used db.addColumnSafe() for idempotent column additions
|
|
8
|
+
* - Used db.timestampColumn() and db.primaryKeyString() helpers
|
|
9
|
+
* - Eliminated 40+ lines of conditional DB logic
|
|
10
|
+
* - Line count: 153 → 82 (46% reduction)
|
|
11
|
+
*
|
|
12
|
+
* Migration: Fix Cross-Database Timestamp Defaults (v3.9.0)
|
|
13
|
+
*
|
|
14
|
+
* Problem: Upgrade migration 20251112000000_decision_intelligence_v3_9_0.ts uses
|
|
15
|
+
* SQLite-specific strftime('%s', 'now') for DEFAULT values, which fails on PostgreSQL.
|
|
16
|
+
*
|
|
17
|
+
* Solution: This migration acts as a "catch-up" to complete the work if the original
|
|
18
|
+
* migration failed on non-SQLite databases. It uses database-aware timestamp functions.
|
|
19
|
+
*
|
|
20
|
+
* Note: This is a hotfix migration. We cannot edit the pushed upgrade migration.
|
|
21
|
+
*/
|
|
22
|
+
import { UniversalKnex } from "../../utils/universal-knex.js";
|
|
23
|
+
export async function up(knex) {
|
|
24
|
+
const db = new UniversalKnex(knex);
|
|
25
|
+
// Skip on SQLite - original migration works fine there
|
|
26
|
+
if (db.isSQLite) {
|
|
27
|
+
console.log('✓ SQLite: Original migration already handled timestamps correctly');
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
console.log(`🔧 Fixing cross-database timestamp issues for ${db.isMySQL ? 'MySQL' : 'PostgreSQL'}...`);
|
|
31
|
+
// ============================================================================
|
|
32
|
+
// Fix t_decision_policies table
|
|
33
|
+
// ============================================================================
|
|
34
|
+
const hasPoliciesTable = await knex.schema.hasTable('t_decision_policies');
|
|
35
|
+
if (hasPoliciesTable) {
|
|
36
|
+
// Add missing columns if needed
|
|
37
|
+
await db.addColumnSafe('t_decision_policies', 'project_id', (table) => table.integer('project_id').notNullable().defaultTo(1));
|
|
38
|
+
await db.addColumnSafe('t_decision_policies', 'created_by', (table) => table.integer('created_by').nullable());
|
|
39
|
+
// Check if ts column exists
|
|
40
|
+
const hasTs = await knex.schema.hasColumn('t_decision_policies', 'ts');
|
|
41
|
+
if (!hasTs) {
|
|
42
|
+
console.log(' ⏭️ Adding ts column to t_decision_policies...');
|
|
43
|
+
await knex.schema.alterTable('t_decision_policies', (table) => {
|
|
44
|
+
table.integer('ts').nullable();
|
|
45
|
+
});
|
|
46
|
+
// Populate ts column with current timestamp
|
|
47
|
+
const currentTs = Math.floor(Date.now() / 1000);
|
|
48
|
+
await knex('t_decision_policies').update({ ts: currentTs });
|
|
49
|
+
// Make ts NOT NULL
|
|
50
|
+
if (db.isMySQL) {
|
|
51
|
+
await knex.raw('ALTER TABLE t_decision_policies MODIFY ts INT NOT NULL');
|
|
52
|
+
}
|
|
53
|
+
else if (db.isPostgreSQL) {
|
|
54
|
+
await knex.raw('ALTER TABLE t_decision_policies ALTER COLUMN ts SET NOT NULL');
|
|
55
|
+
}
|
|
56
|
+
console.log(' ✅ Fixed t_decision_policies columns');
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
console.log(' ✓ t_decision_policies already has required columns');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// ============================================================================
|
|
63
|
+
// Fix t_decision_pruning_log table
|
|
64
|
+
// ============================================================================
|
|
65
|
+
await db.createTableSafe('t_decision_pruning_log', (table, helpers) => {
|
|
66
|
+
table.increments('id').primary();
|
|
67
|
+
table.integer('original_decision_id').notNullable();
|
|
68
|
+
table.string('original_key', 256).notNullable();
|
|
69
|
+
table.text('original_value').notNullable();
|
|
70
|
+
table.integer('original_version').notNullable();
|
|
71
|
+
table.bigInteger('original_ts').notNullable();
|
|
72
|
+
table.integer('project_id').notNullable().defaultTo(1);
|
|
73
|
+
table.bigInteger('pruned_ts').notNullable().defaultTo(Math.floor(Date.now() / 1000));
|
|
74
|
+
});
|
|
75
|
+
// ============================================================================
|
|
76
|
+
// Fix m_tag_index table
|
|
77
|
+
// ============================================================================
|
|
78
|
+
await db.createTableSafe('m_tag_index', (table, helpers) => {
|
|
79
|
+
// Use VARCHAR(191) for PRIMARY KEY (MySQL/MariaDB utf8mb4 compatibility)
|
|
80
|
+
helpers.primaryKeyString('tag_name', 191);
|
|
81
|
+
table.integer('decision_count').notNullable().defaultTo(0);
|
|
82
|
+
table.integer('constraint_count').notNullable().defaultTo(0);
|
|
83
|
+
table.integer('task_count').notNullable().defaultTo(0);
|
|
84
|
+
table.integer('total_count').notNullable().defaultTo(0);
|
|
85
|
+
});
|
|
86
|
+
console.log('✅ Cross-database timestamp fixes applied successfully');
|
|
87
|
+
}
|
|
88
|
+
export async function down(knex) {
|
|
89
|
+
const db = new UniversalKnex(knex);
|
|
90
|
+
if (db.isSQLite) {
|
|
91
|
+
console.log('✓ SQLite: No rollback needed');
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
// This migration is a hotfix, so down() should not break the database
|
|
95
|
+
// We'll just log what we would do but not actually drop columns/tables
|
|
96
|
+
console.log('⚠️ Hotfix migration rollback: Not dropping columns/tables to preserve data');
|
|
97
|
+
console.log(' If you need to rollback, manually drop the columns/tables:');
|
|
98
|
+
console.log(' - t_decision_policies: project_id, created_by, ts');
|
|
99
|
+
console.log(' - t_decision_pruning_log: entire table');
|
|
100
|
+
console.log(' - m_tag_index: entire table');
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=20251115110000_fix_cross_database_timestamps_v3_9_0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251115110000_fix_cross_database_timestamps_v3_9_0.js","sourceRoot":"","sources":["../../../src/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.ts
|
|
3
|
+
* Changes:
|
|
4
|
+
* - Added Universal Knex Wrapper for database detection
|
|
5
|
+
* - Replaced manual client detection with db.isSQLite
|
|
6
|
+
* - Line count: 55 (original) � 50 (9% reduction)
|
|
7
|
+
*/
|
|
8
|
+
import type { Knex } from "knex";
|
|
9
|
+
/**
|
|
10
|
+
* Migration: Final Cross-Database Compatibility Hotfix (v3.9.0)
|
|
11
|
+
*
|
|
12
|
+
* This migration runs AFTER all v3.9.0 migrations to ensure cross-database
|
|
13
|
+
* compatibility. It acts as a "safety net" to handle any issues that weren't
|
|
14
|
+
* caught by the pre-emptive migrations.
|
|
15
|
+
*
|
|
16
|
+
* Fixes:
|
|
17
|
+
* 1. Ensures all tables exist (no-op if already created)
|
|
18
|
+
* 2. Database-agnostic - skips on SQLite, handles MySQL/PostgreSQL specifics
|
|
19
|
+
*
|
|
20
|
+
* Note: This is a final safety migration. All future migrations should use
|
|
21
|
+
* database-aware syntax from the start.
|
|
22
|
+
*/
|
|
23
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
24
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
25
|
+
//# sourceMappingURL=20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC;;;;;;;;;;;;;GAaG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpD"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.ts
|
|
3
|
+
* Changes:
|
|
4
|
+
* - Added Universal Knex Wrapper for database detection
|
|
5
|
+
* - Replaced manual client detection with db.isSQLite
|
|
6
|
+
* - Line count: 55 (original) � 50 (9% reduction)
|
|
7
|
+
*/
|
|
8
|
+
import { UniversalKnex } from "../../utils/universal-knex.js";
|
|
9
|
+
/**
|
|
10
|
+
* Migration: Final Cross-Database Compatibility Hotfix (v3.9.0)
|
|
11
|
+
*
|
|
12
|
+
* This migration runs AFTER all v3.9.0 migrations to ensure cross-database
|
|
13
|
+
* compatibility. It acts as a "safety net" to handle any issues that weren't
|
|
14
|
+
* caught by the pre-emptive migrations.
|
|
15
|
+
*
|
|
16
|
+
* Fixes:
|
|
17
|
+
* 1. Ensures all tables exist (no-op if already created)
|
|
18
|
+
* 2. Database-agnostic - skips on SQLite, handles MySQL/PostgreSQL specifics
|
|
19
|
+
*
|
|
20
|
+
* Note: This is a final safety migration. All future migrations should use
|
|
21
|
+
* database-aware syntax from the start.
|
|
22
|
+
*/
|
|
23
|
+
export async function up(knex) {
|
|
24
|
+
const db = new UniversalKnex(knex);
|
|
25
|
+
// Skip on SQLite - all migrations work correctly there
|
|
26
|
+
if (db.isSQLite) {
|
|
27
|
+
console.log(' SQLite: All migrations completed successfully');
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const dbType = db.isMySQL ? 'MySQL' : db.isPostgreSQL ? 'PostgreSQL' : 'Unknown';
|
|
31
|
+
console.log(`=' Final cross-database safety check for ${dbType}...`);
|
|
32
|
+
// Verify all critical tables exist
|
|
33
|
+
const criticalTables = [
|
|
34
|
+
't_decision_policies',
|
|
35
|
+
'm_tag_index',
|
|
36
|
+
't_decision_pruning_log',
|
|
37
|
+
't_task_pruned_files'
|
|
38
|
+
];
|
|
39
|
+
for (const tableName of criticalTables) {
|
|
40
|
+
const exists = await knex.schema.hasTable(tableName);
|
|
41
|
+
if (!exists) {
|
|
42
|
+
console.log(`� WARNING: Table ${tableName} does not exist!`);
|
|
43
|
+
console.log(` This suggests a migration failure. Please check migration logs.`);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
console.log(` ${tableName} exists`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
console.log(' Cross-database compatibility verified');
|
|
50
|
+
}
|
|
51
|
+
export async function down(knex) {
|
|
52
|
+
// This is a safety check migration - no rollback needed
|
|
53
|
+
console.log(' Safety check migration - no rollback actions');
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=20251115120000_fix_all_cross_db_issues_v3_9_0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251115120000_fix_all_cross_db_issues_v3_9_0.js","sourceRoot":"","sources":["../../../src/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IAEnC,uDAAuD;IACvD,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,4CAA4C,MAAM,KAAK,CAAC,CAAC;IAErE,mCAAmC;IACnC,MAAM,cAAc,GAAG;QACrB,qBAAqB;QACrB,aAAa;QACb,wBAAwB;QACxB,qBAAqB;KACtB,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,kBAAkB,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,OAAO,SAAS,SAAS,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,wDAAwD;IACxD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v3.9.0: Eliminate database views for cross-database compatibility
|
|
3
|
+
*
|
|
4
|
+
* Problem:
|
|
5
|
+
* - Knex.js doesn't handle views well across different database engines
|
|
6
|
+
* - View creation SQL is database-specific (datetime functions, string aggregation, etc.)
|
|
7
|
+
* - Migration failures on MySQL/MariaDB/PostgreSQL due to view syntax differences
|
|
8
|
+
*
|
|
9
|
+
* Solution:
|
|
10
|
+
* - Drop all 7 views (v_tagged_decisions, v_active_context, v_layer_summary,
|
|
11
|
+
* v_unread_messages_by_priority, v_recent_file_changes, v_tagged_constraints, v_task_board)
|
|
12
|
+
* - Replace with cross-database query functions in src/utils/view-queries.ts
|
|
13
|
+
* - Tool files updated to use query functions instead of querying views
|
|
14
|
+
*
|
|
15
|
+
* Related files updated:
|
|
16
|
+
* - src/utils/view-queries.ts - Refactored for cross-DB compatibility using UniversalKnex
|
|
17
|
+
* - src/utils/universal-knex.ts - Added dateFunction(), boolTrue(), boolFalse() helpers
|
|
18
|
+
* - src/tools/context/actions/{get,list,search-tags,search-layer,search-advanced}.ts
|
|
19
|
+
* - src/tools/tasks/actions/list.ts
|
|
20
|
+
*
|
|
21
|
+
* Architectural decision: testing/eliminate-database-views-v3.9.0
|
|
22
|
+
*
|
|
23
|
+
* IDEMPOTENT: Can be run multiple times safely.
|
|
24
|
+
* SQLite, MySQL, PostgreSQL compatible.
|
|
25
|
+
*/
|
|
26
|
+
import type { Knex } from 'knex';
|
|
27
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
28
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
29
|
+
//# sourceMappingURL=20251118000000_eliminate_views_v3_9_0.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251118000000_eliminate_views_v3_9_0.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/20251118000000_eliminate_views_v3_9_0.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAYjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAKpD"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v3.9.0: Eliminate database views for cross-database compatibility
|
|
3
|
+
*
|
|
4
|
+
* Problem:
|
|
5
|
+
* - Knex.js doesn't handle views well across different database engines
|
|
6
|
+
* - View creation SQL is database-specific (datetime functions, string aggregation, etc.)
|
|
7
|
+
* - Migration failures on MySQL/MariaDB/PostgreSQL due to view syntax differences
|
|
8
|
+
*
|
|
9
|
+
* Solution:
|
|
10
|
+
* - Drop all 7 views (v_tagged_decisions, v_active_context, v_layer_summary,
|
|
11
|
+
* v_unread_messages_by_priority, v_recent_file_changes, v_tagged_constraints, v_task_board)
|
|
12
|
+
* - Replace with cross-database query functions in src/utils/view-queries.ts
|
|
13
|
+
* - Tool files updated to use query functions instead of querying views
|
|
14
|
+
*
|
|
15
|
+
* Related files updated:
|
|
16
|
+
* - src/utils/view-queries.ts - Refactored for cross-DB compatibility using UniversalKnex
|
|
17
|
+
* - src/utils/universal-knex.ts - Added dateFunction(), boolTrue(), boolFalse() helpers
|
|
18
|
+
* - src/tools/context/actions/{get,list,search-tags,search-layer,search-advanced}.ts
|
|
19
|
+
* - src/tools/tasks/actions/list.ts
|
|
20
|
+
*
|
|
21
|
+
* Architectural decision: testing/eliminate-database-views-v3.9.0
|
|
22
|
+
*
|
|
23
|
+
* IDEMPOTENT: Can be run multiple times safely.
|
|
24
|
+
* SQLite, MySQL, PostgreSQL compatible.
|
|
25
|
+
*/
|
|
26
|
+
const VIEWS_TO_DROP = [
|
|
27
|
+
'v_tagged_decisions',
|
|
28
|
+
'v_active_context',
|
|
29
|
+
'v_layer_summary',
|
|
30
|
+
'v_unread_messages_by_priority',
|
|
31
|
+
'v_recent_file_changes',
|
|
32
|
+
'v_tagged_constraints',
|
|
33
|
+
'v_task_board',
|
|
34
|
+
];
|
|
35
|
+
export async function up(knex) {
|
|
36
|
+
console.log('🔄 Eliminating database views for cross-database compatibility (v3.9.0)...');
|
|
37
|
+
for (const viewName of VIEWS_TO_DROP) {
|
|
38
|
+
try {
|
|
39
|
+
await knex.raw(`DROP VIEW IF EXISTS ${viewName}`);
|
|
40
|
+
console.log(` ✓ Dropped view: ${viewName}`);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
// Ignore errors if view doesn't exist
|
|
44
|
+
const errorMsg = error.message?.toLowerCase() || '';
|
|
45
|
+
if (errorMsg.includes('does not exist') || errorMsg.includes('unknown')) {
|
|
46
|
+
console.log(` ⚠️ View ${viewName} does not exist, skipping`);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
console.log('✅ All views eliminated successfully');
|
|
54
|
+
console.log('📝 Tool files now use cross-database query functions from src/utils/view-queries.ts');
|
|
55
|
+
}
|
|
56
|
+
export async function down(knex) {
|
|
57
|
+
console.log('⚠️ WARNING: Cannot recreate views in down() migration');
|
|
58
|
+
console.log(' Views had database-specific syntax that caused cross-DB issues');
|
|
59
|
+
console.log(' Use query functions from src/utils/view-queries.ts instead');
|
|
60
|
+
console.log(' If you absolutely need views, restore from v3.8.x backup');
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=20251118000000_eliminate_views_v3_9_0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251118000000_eliminate_views_v3_9_0.js","sourceRoot":"","sources":["../../../src/database/migrations/20251118000000_eliminate_views_v3_9_0.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,MAAM,aAAa,GAAG;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,iBAAiB;IACjB,+BAA+B;IAC/B,uBAAuB;IACvB,sBAAsB;IACtB,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;IAE1F,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,sCAAsC;YACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YACpD,IAAI,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxE,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,2BAA2B,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: Add constraint_text_hash for UNIQUE constraint (v3.9.1)
|
|
3
|
+
*
|
|
4
|
+
* This migration adds a SHA256 hash column to t_constraints to enable
|
|
5
|
+
* UNIQUE constraint enforcement on (constraint_text_hash, project_id).
|
|
6
|
+
*
|
|
7
|
+
* Problem: MySQL/MariaDB cannot create indexes on TEXT columns or
|
|
8
|
+
* VARCHAR columns exceeding 768 bytes (utf8mb4).
|
|
9
|
+
*
|
|
10
|
+
* Solution: Store SHA256 hash of constraint_text in a fixed-size column
|
|
11
|
+
* and enforce uniqueness on the hash + project_id combination.
|
|
12
|
+
*
|
|
13
|
+
* Cross-Database Compatibility:
|
|
14
|
+
* - SQLite: Using hex() + custom SHA256 implementation or Application-level hash
|
|
15
|
+
* - MySQL/MariaDB: SHA2() function
|
|
16
|
+
* - PostgreSQL: encode(digest(), 'hex') from pgcrypto or Application-level
|
|
17
|
+
*
|
|
18
|
+
* For simplicity and cross-database compatibility, this migration uses
|
|
19
|
+
* application-level hashing via Node.js crypto module during data operations.
|
|
20
|
+
* The hash is computed by the application before insert/update.
|
|
21
|
+
*/
|
|
22
|
+
import type { Knex } from "knex";
|
|
23
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
24
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
25
|
+
//# sourceMappingURL=20251119000000_add_constraint_text_hash_v3_9_1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251119000000_add_constraint_text_hash_v3_9_1.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BpD"}
|