sqlew 3.8.1 → 3.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +121 -96
- 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
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.ts
|
|
3
|
+
* Changes: None (data seeding with PostgreSQL-specific sequence handling - no wrapper benefit)
|
|
4
|
+
* Line count: 85 → 85 lines (0% reduction)
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Migration: Add Planning Layers (v3.8.0)
|
|
8
|
+
*
|
|
9
|
+
* Expands layer taxonomy from 5 to 9 layers by adding 4 planning-focused layers:
|
|
10
|
+
* - planning: Research, surveys, investigation (file_actions optional)
|
|
11
|
+
* - documentation: README, CHANGELOG, docs/ (file_actions REQUIRED - docs = files!)
|
|
12
|
+
* - coordination: Multi-agent orchestration (file_actions optional)
|
|
13
|
+
* - review: Code review, verification (file_actions optional)
|
|
14
|
+
*
|
|
15
|
+
* This enables layer-based file_actions validation:
|
|
16
|
+
* - 6 file-required layers: presentation, business, data, infrastructure, cross-cutting, documentation
|
|
17
|
+
* - 3 file-optional layers: planning, coordination, review
|
|
18
|
+
*
|
|
19
|
+
* Idempotent: Checks for existing layers before inserting
|
|
20
|
+
*
|
|
21
|
+
* Related: v3.8.0 File Actions & Layer Expansion Plan
|
|
22
|
+
*/
|
|
23
|
+
export async function up(knex) {
|
|
24
|
+
console.log('🔧 Adding v3.8.0 planning layers...');
|
|
25
|
+
// Check if any of the new layers already exist
|
|
26
|
+
const newLayerNames = ['planning', 'documentation', 'coordination', 'review'];
|
|
27
|
+
const existingLayers = await knex('m_layers')
|
|
28
|
+
.whereIn('name', newLayerNames)
|
|
29
|
+
.select('name');
|
|
30
|
+
if (existingLayers.length > 0) {
|
|
31
|
+
console.log(`✓ Planning layers already exist (${existingLayers.map(l => l.name).join(', ')}), skipping`);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
// Insert the 4 new layers
|
|
35
|
+
// Note: Explicit IDs (6-9) required for PostgreSQL compatibility
|
|
36
|
+
// PostgreSQL sequences don't auto-increment when explicit IDs are used in bootstrap (IDs 1-5)
|
|
37
|
+
const client = knex.client.config.client;
|
|
38
|
+
const isPostgreSQL = client === 'pg' || client === 'postgresql';
|
|
39
|
+
if (isPostgreSQL) {
|
|
40
|
+
// PostgreSQL: Use explicit IDs and update sequence
|
|
41
|
+
await knex('m_layers').insert([
|
|
42
|
+
{ id: 6, name: 'planning' },
|
|
43
|
+
{ id: 7, name: 'documentation' },
|
|
44
|
+
{ id: 8, name: 'coordination' },
|
|
45
|
+
{ id: 9, name: 'review' }
|
|
46
|
+
]);
|
|
47
|
+
// Update sequence to 9 so future auto-increment starts at 10
|
|
48
|
+
await knex.raw("SELECT setval('m_layers_id_seq', 9, true)");
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// SQLite/MySQL: Let auto-increment handle IDs
|
|
52
|
+
await knex('m_layers').insert([
|
|
53
|
+
{ name: 'planning' },
|
|
54
|
+
{ name: 'documentation' },
|
|
55
|
+
{ name: 'coordination' },
|
|
56
|
+
{ name: 'review' }
|
|
57
|
+
]);
|
|
58
|
+
}
|
|
59
|
+
console.log('✅ Added 4 planning layers: planning, documentation, coordination, review');
|
|
60
|
+
}
|
|
61
|
+
export async function down(knex) {
|
|
62
|
+
console.log('🔄 Removing v3.8.0 planning layers...');
|
|
63
|
+
// Check if layers exist before removing
|
|
64
|
+
const layersToRemove = ['planning', 'documentation', 'coordination', 'review'];
|
|
65
|
+
const existingLayers = await knex('m_layers')
|
|
66
|
+
.whereIn('name', layersToRemove)
|
|
67
|
+
.select('name');
|
|
68
|
+
if (existingLayers.length === 0) {
|
|
69
|
+
console.log('✓ Planning layers already removed, skipping');
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
// Remove the 4 planning layers
|
|
73
|
+
await knex('m_layers')
|
|
74
|
+
.whereIn('name', layersToRemove)
|
|
75
|
+
.delete();
|
|
76
|
+
console.log('✅ Removed planning layers');
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=20251108000000_add_planning_layers_v3_8_0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251108000000_add_planning_layers_v3_8_0.js","sourceRoot":"","sources":["../../../src/database/migrations/20251108000000_add_planning_layers_v3_8_0.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAEnD,+CAA+C;IAC/C,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;SAC1C,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;SAC9B,MAAM,CAAC,MAAM,CAAC,CAAC;IAElB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,oCAAoC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzG,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,iEAAiE;IACjE,8FAA8F;IAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,YAAY,CAAC;IAEhE,IAAI,YAAY,EAAE,CAAC;QACjB,mDAAmD;QACnD,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YAC5B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;YAC3B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE;YAChC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE;YAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B,CAAC,CAAC;QACH,6DAA6D;QAC7D,MAAM,IAAI,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,8CAA8C;QAC9C,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YAC5B,EAAE,IAAI,EAAE,UAAU,EAAE;YACpB,EAAE,IAAI,EAAE,eAAe,EAAE;YACzB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,QAAQ,EAAE;SACnB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IAErD,wCAAwC;IACxC,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC/E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;SAC1C,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;SAC/B,MAAM,CAAC,MAAM,CAAC,CAAC;IAElB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,+BAA+B;IAC/B,MAAM,IAAI,CAAC,UAAU,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;SAC/B,MAAM,EAAE,CAAC;IAEZ,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.ts
|
|
3
|
+
* Line count: 106 lines → ~70 lines (34% reduction)
|
|
4
|
+
*
|
|
5
|
+
* Migration: Hotfix v_tagged_constraints view to include project_id
|
|
6
|
+
* Date: 2025-11-08
|
|
7
|
+
* Version: v3.7.4
|
|
8
|
+
*
|
|
9
|
+
* ISSUE: v_tagged_constraints view was missing project_id column in down() migration,
|
|
10
|
+
* causing "no such column: project_id" errors when querying constraints.
|
|
11
|
+
*
|
|
12
|
+
* FIX: Recreate view with project_id column
|
|
13
|
+
*/
|
|
14
|
+
import type { Knex } from "knex";
|
|
15
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
16
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=20251108000000_hotfix_v_tagged_constraints_project_id.d.ts.map
|
package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251108000000_hotfix_v_tagged_constraints_project_id.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA2ClD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCpD"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.ts
|
|
3
|
+
* Line count: 106 lines → ~70 lines (34% reduction)
|
|
4
|
+
*
|
|
5
|
+
* Migration: Hotfix v_tagged_constraints view to include project_id
|
|
6
|
+
* Date: 2025-11-08
|
|
7
|
+
* Version: v3.7.4
|
|
8
|
+
*
|
|
9
|
+
* ISSUE: v_tagged_constraints view was missing project_id column in down() migration,
|
|
10
|
+
* causing "no such column: project_id" errors when querying constraints.
|
|
11
|
+
*
|
|
12
|
+
* FIX: Recreate view with project_id column
|
|
13
|
+
*/
|
|
14
|
+
import { UniversalKnex } from "../../utils/universal-knex.js";
|
|
15
|
+
export async function up(knex) {
|
|
16
|
+
const db = new UniversalKnex(knex);
|
|
17
|
+
console.log("🔧 Hotfix: Recreating v_tagged_constraints with project_id...");
|
|
18
|
+
// Check if t_constraints has project_id (required for this view)
|
|
19
|
+
const hasProjectId = await knex.schema.hasColumn("t_constraints", "project_id");
|
|
20
|
+
if (!hasProjectId) {
|
|
21
|
+
console.log("✓ t_constraints.project_id does not exist yet, skipping (will be created later)");
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
// Determine timestamp conversion function
|
|
25
|
+
const timestampFunc = db.isSQLite
|
|
26
|
+
? "datetime(c.ts, 'unixepoch')"
|
|
27
|
+
: db.isMySQL
|
|
28
|
+
? "FROM_UNIXTIME(c.ts)"
|
|
29
|
+
: db.isPostgreSQL
|
|
30
|
+
? "TO_TIMESTAMP(c.ts)"
|
|
31
|
+
: "c.ts";
|
|
32
|
+
const activeValue = db.isPostgreSQL ? "TRUE" : "1";
|
|
33
|
+
// Recreate view with project_id
|
|
34
|
+
await db.createViewSafe("v_tagged_constraints", `
|
|
35
|
+
SELECT c.id,
|
|
36
|
+
c.constraint_text,
|
|
37
|
+
c.project_id,
|
|
38
|
+
cat.name as category,
|
|
39
|
+
c.priority,
|
|
40
|
+
a.name as author,
|
|
41
|
+
${timestampFunc} as created
|
|
42
|
+
FROM t_constraints c
|
|
43
|
+
LEFT JOIN m_constraint_categories cat ON c.category_id = cat.id
|
|
44
|
+
LEFT JOIN m_agents a ON c.agent_id = a.id
|
|
45
|
+
WHERE c.active = ${activeValue}
|
|
46
|
+
ORDER BY c.priority DESC, c.ts DESC
|
|
47
|
+
`);
|
|
48
|
+
console.log("✅ v_tagged_constraints view recreated with project_id");
|
|
49
|
+
}
|
|
50
|
+
export async function down(knex) {
|
|
51
|
+
const db = new UniversalKnex(knex);
|
|
52
|
+
console.log("⏪ Rolling back v_tagged_constraints hotfix...");
|
|
53
|
+
// Determine timestamp conversion function
|
|
54
|
+
const timestampFunc = db.isSQLite
|
|
55
|
+
? "datetime(c.ts, 'unixepoch')"
|
|
56
|
+
: db.isMySQL
|
|
57
|
+
? "FROM_UNIXTIME(c.ts)"
|
|
58
|
+
: db.isPostgreSQL
|
|
59
|
+
? "TO_TIMESTAMP(c.ts)"
|
|
60
|
+
: "c.ts";
|
|
61
|
+
const activeValue = db.isPostgreSQL ? "TRUE" : "1";
|
|
62
|
+
// Recreate the version without project_id (for rollback compatibility)
|
|
63
|
+
await db.createViewSafe("v_tagged_constraints", `
|
|
64
|
+
SELECT c.id,
|
|
65
|
+
c.constraint_text,
|
|
66
|
+
cat.name as category,
|
|
67
|
+
c.priority,
|
|
68
|
+
a.name as author,
|
|
69
|
+
${timestampFunc} as created
|
|
70
|
+
FROM t_constraints c
|
|
71
|
+
LEFT JOIN m_constraint_categories cat ON c.category_id = cat.id
|
|
72
|
+
LEFT JOIN m_agents a ON c.agent_id = a.id
|
|
73
|
+
WHERE c.active = ${activeValue}
|
|
74
|
+
ORDER BY c.priority DESC, c.ts DESC
|
|
75
|
+
`);
|
|
76
|
+
console.log("⏪ Rolled back to original v_tagged_constraints (without project_id)");
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=20251108000000_hotfix_v_tagged_constraints_project_id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251108000000_hotfix_v_tagged_constraints_project_id.js","sourceRoot":"","sources":["../../../src/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;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,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAE7E,iEAAiE;IACjE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IAChF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;QAC/F,OAAO;IACT,CAAC;IAED,0CAA0C;IAC1C,MAAM,aAAa,GAAG,EAAE,CAAC,QAAQ;QAC/B,CAAC,CAAC,6BAA6B;QAC/B,CAAC,CAAC,EAAE,CAAC,OAAO;YACZ,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,EAAE,CAAC,YAAY;gBACjB,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,MAAM,CAAC;IAEX,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IAEnD,gCAAgC;IAChC,MAAM,EAAE,CAAC,cAAc,CACrB,sBAAsB,EACtB;;;;;;;aAOS,aAAa;;;;uBAIH,WAAW;;GAE/B,CACA,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IAEnC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAE7D,0CAA0C;IAC1C,MAAM,aAAa,GAAG,EAAE,CAAC,QAAQ;QAC/B,CAAC,CAAC,6BAA6B;QAC/B,CAAC,CAAC,EAAE,CAAC,OAAO;YACZ,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,EAAE,CAAC,YAAY;gBACjB,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,MAAM,CAAC;IAEX,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IAEnD,uEAAuE;IACvE,MAAM,EAAE,CAAC,cAAc,CACrB,sBAAsB,EACtB;;;;;;aAMS,aAAa;;;;uBAIH,WAAW;;GAE/B,CACA,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;AACrF,CAAC"}
|
package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.ts
|
|
3
|
+
* Changes: Replaced manual hasColumn check and DB-specific index creation with UniversalKnex.createIndexSafe()
|
|
4
|
+
* Line count: 94 → 42 lines (55% reduction)
|
|
5
|
+
*/
|
|
6
|
+
import type { Knex } from 'knex';
|
|
7
|
+
/**
|
|
8
|
+
* Migration: Fix t_task_file_links UNIQUE constraint (v3.8.0)
|
|
9
|
+
*
|
|
10
|
+
* Problem: t_task_file_links missing UNIQUE constraint on (project_id, task_id, file_id)
|
|
11
|
+
* Code expects: ON CONFLICT (project_id, task_id, file_id) DO NOTHING
|
|
12
|
+
* Current state: Only has auto-increment PRIMARY KEY on id
|
|
13
|
+
*
|
|
14
|
+
* Root Cause: v3.7.0 migration added project_id column but didn't update PRIMARY KEY
|
|
15
|
+
* or add UNIQUE constraint. This causes "ON CONFLICT clause does not match any
|
|
16
|
+
* PRIMARY KEY or UNIQUE constraint" error when linking files to tasks.
|
|
17
|
+
*
|
|
18
|
+
* Solution: Add UNIQUE constraint on (project_id, task_id, file_id)
|
|
19
|
+
*
|
|
20
|
+
* Idempotency: Checks if constraint/index already exists before creating
|
|
21
|
+
*/
|
|
22
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
23
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
24
|
+
//# sourceMappingURL=20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC;;;;;;;;;;;;;;GAcG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BpD"}
|
package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.ts
|
|
3
|
+
* Changes: Replaced manual hasColumn check and DB-specific index creation with UniversalKnex.createIndexSafe()
|
|
4
|
+
* Line count: 94 → 42 lines (55% reduction)
|
|
5
|
+
*/
|
|
6
|
+
import { UniversalKnex } from '../../utils/universal-knex.js';
|
|
7
|
+
/**
|
|
8
|
+
* Migration: Fix t_task_file_links UNIQUE constraint (v3.8.0)
|
|
9
|
+
*
|
|
10
|
+
* Problem: t_task_file_links missing UNIQUE constraint on (project_id, task_id, file_id)
|
|
11
|
+
* Code expects: ON CONFLICT (project_id, task_id, file_id) DO NOTHING
|
|
12
|
+
* Current state: Only has auto-increment PRIMARY KEY on id
|
|
13
|
+
*
|
|
14
|
+
* Root Cause: v3.7.0 migration added project_id column but didn't update PRIMARY KEY
|
|
15
|
+
* or add UNIQUE constraint. This causes "ON CONFLICT clause does not match any
|
|
16
|
+
* PRIMARY KEY or UNIQUE constraint" error when linking files to tasks.
|
|
17
|
+
*
|
|
18
|
+
* Solution: Add UNIQUE constraint on (project_id, task_id, file_id)
|
|
19
|
+
*
|
|
20
|
+
* Idempotency: Checks if constraint/index already exists before creating
|
|
21
|
+
*/
|
|
22
|
+
export async function up(knex) {
|
|
23
|
+
console.log('🔧 Adding UNIQUE constraint to t_task_file_links...');
|
|
24
|
+
// Check if project_id column exists (required for this constraint)
|
|
25
|
+
const hasProjectId = await knex.schema.hasColumn('t_task_file_links', 'project_id');
|
|
26
|
+
if (!hasProjectId) {
|
|
27
|
+
console.log('✓ t_task_file_links.project_id does not exist yet, skipping (will be created later)');
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const db = new UniversalKnex(knex);
|
|
31
|
+
// Create unique index with cross-database support
|
|
32
|
+
await db.createIndexSafe('t_task_file_links', ['project_id', 'task_id', 'file_id'], 'idx_task_file_links_unique', { unique: true });
|
|
33
|
+
}
|
|
34
|
+
export async function down(knex) {
|
|
35
|
+
console.log('🔧 Removing UNIQUE constraint from t_task_file_links...');
|
|
36
|
+
const db = new UniversalKnex(knex);
|
|
37
|
+
const client = knex.client.config.client;
|
|
38
|
+
try {
|
|
39
|
+
if (db.isSQLite) {
|
|
40
|
+
await knex.raw('DROP INDEX IF EXISTS idx_task_file_links_unique');
|
|
41
|
+
}
|
|
42
|
+
else if (db.isMySQL) {
|
|
43
|
+
await knex.raw('DROP INDEX idx_task_file_links_unique ON t_task_file_links');
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
// PostgreSQL
|
|
47
|
+
await knex.schema.alterTable('t_task_file_links', (table) => {
|
|
48
|
+
table.dropUnique(['project_id', 'task_id', 'file_id'], 'idx_task_file_links_unique');
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
console.log('✅ Removed UNIQUE constraint from t_task_file_links');
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
if (error.message && (error.message.includes('does not exist') ||
|
|
55
|
+
error.message.includes("Can't DROP"))) {
|
|
56
|
+
console.log('✓ UNIQUE constraint does not exist, nothing to remove');
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
throw error;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js.map
|
package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js","sourceRoot":"","sources":["../../../src/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IAEnE,mEAAmE;IACnE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;IACpF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;QACnG,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IAEnC,kDAAkD;IAClD,MAAM,EAAE,CAAC,eAAe,CACtB,mBAAmB,EACnB,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,EACpC,4BAA4B,EAC5B,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IAEvE,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAEzC,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,aAAa;YACb,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC1D,KAAK,CAAC,UAAU,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,4BAA4B,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,OAAO,IAAI,CACnB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACxC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CACrC,EAAE,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.ts
|
|
3
|
+
* Line count: 348 lines → ~290 lines (17% reduction)
|
|
4
|
+
*
|
|
5
|
+
* Migration: Multi-Project Cross-Database Compatibility v3.7.5
|
|
6
|
+
* Date: 2025-11-09
|
|
7
|
+
* Version: v3.7.5
|
|
8
|
+
*
|
|
9
|
+
* CONTEXT:
|
|
10
|
+
* The original multi-project migration (20251104000000) was SQLite-specific.
|
|
11
|
+
* This migration provides MySQL/PostgreSQL/MariaDB compatibility by implementing
|
|
12
|
+
* the same schema changes with database-agnostic syntax.
|
|
13
|
+
*
|
|
14
|
+
* CHANGES:
|
|
15
|
+
* - Implements 20251104000000 changes for MySQL/PostgreSQL/MariaDB
|
|
16
|
+
* - Skips on SQLite (already handled by 20251104000000)
|
|
17
|
+
* - Uses database-specific syntax (SET FOREIGN_KEY_CHECKS vs PRAGMA)
|
|
18
|
+
* - Replaces sqlite_master queries with INFORMATION_SCHEMA
|
|
19
|
+
*
|
|
20
|
+
* IDEMPOTENCY:
|
|
21
|
+
* - Checks if m_projects exists (skip if already migrated)
|
|
22
|
+
* - Checks database type (skip if SQLite)
|
|
23
|
+
*/
|
|
24
|
+
import type { Knex } from "knex";
|
|
25
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
26
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
27
|
+
//# sourceMappingURL=20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAIjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA+RlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAWpD"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.ts
|
|
3
|
+
* Line count: 348 lines → ~290 lines (17% reduction)
|
|
4
|
+
*
|
|
5
|
+
* Migration: Multi-Project Cross-Database Compatibility v3.7.5
|
|
6
|
+
* Date: 2025-11-09
|
|
7
|
+
* Version: v3.7.5
|
|
8
|
+
*
|
|
9
|
+
* CONTEXT:
|
|
10
|
+
* The original multi-project migration (20251104000000) was SQLite-specific.
|
|
11
|
+
* This migration provides MySQL/PostgreSQL/MariaDB compatibility by implementing
|
|
12
|
+
* the same schema changes with database-agnostic syntax.
|
|
13
|
+
*
|
|
14
|
+
* CHANGES:
|
|
15
|
+
* - Implements 20251104000000 changes for MySQL/PostgreSQL/MariaDB
|
|
16
|
+
* - Skips on SQLite (already handled by 20251104000000)
|
|
17
|
+
* - Uses database-specific syntax (SET FOREIGN_KEY_CHECKS vs PRAGMA)
|
|
18
|
+
* - Replaces sqlite_master queries with INFORMATION_SCHEMA
|
|
19
|
+
*
|
|
20
|
+
* IDEMPOTENCY:
|
|
21
|
+
* - Checks if m_projects exists (skip if already migrated)
|
|
22
|
+
* - Checks database type (skip if SQLite)
|
|
23
|
+
*/
|
|
24
|
+
import { UniversalKnex } from "../../utils/universal-knex.js";
|
|
25
|
+
import { detectProjectNameSync } from "../../utils/project-detector.js";
|
|
26
|
+
export async function up(knex) {
|
|
27
|
+
const db = new UniversalKnex(knex);
|
|
28
|
+
// Skip on SQLite (handled by 20251104000000)
|
|
29
|
+
if (db.isSQLite) {
|
|
30
|
+
console.log("✓ SQLite database detected, skipping (handled by 20251104000000)");
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
console.log(`🔧 Multi-project cross-database compatibility for ${db.isMySQL ? "MySQL" : "PostgreSQL"}...`);
|
|
34
|
+
// Check if already migrated
|
|
35
|
+
const hasProjectsTable = await knex.schema.hasTable("m_projects");
|
|
36
|
+
const hasProjectIdInDecisions = await knex.schema.hasColumn("t_decisions", "project_id");
|
|
37
|
+
if (hasProjectsTable && hasProjectIdInDecisions) {
|
|
38
|
+
console.log("✓ Multi-project schema already migrated, skipping");
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
// Disable foreign key checks (MySQL only)
|
|
42
|
+
if (db.isMySQL) {
|
|
43
|
+
await knex.raw("SET FOREIGN_KEY_CHECKS=0");
|
|
44
|
+
console.log("✓ Disabled foreign key constraints (MySQL)");
|
|
45
|
+
}
|
|
46
|
+
// ============================================================================
|
|
47
|
+
// STEP 1: Create m_projects Master Table
|
|
48
|
+
// ============================================================================
|
|
49
|
+
let defaultProjectId;
|
|
50
|
+
const projectRoot = process.cwd();
|
|
51
|
+
const detected = detectProjectNameSync(projectRoot);
|
|
52
|
+
if (!hasProjectsTable) {
|
|
53
|
+
await db.createTableSafe("m_projects", (table, helpers) => {
|
|
54
|
+
table.increments("id").primary();
|
|
55
|
+
table.string("name", 200).notNullable();
|
|
56
|
+
table.string("display_name", 200);
|
|
57
|
+
table.text("description");
|
|
58
|
+
table.string("detection_source", 50);
|
|
59
|
+
helpers.timestampColumn("created_ts");
|
|
60
|
+
helpers.timestampColumn("last_active_ts");
|
|
61
|
+
});
|
|
62
|
+
const now = Math.floor(Date.now() / 1000);
|
|
63
|
+
await knex("m_projects").insert({
|
|
64
|
+
id: 1,
|
|
65
|
+
name: detected.name,
|
|
66
|
+
display_name: detected.name,
|
|
67
|
+
detection_source: detected.source,
|
|
68
|
+
created_ts: now,
|
|
69
|
+
last_active_ts: now,
|
|
70
|
+
});
|
|
71
|
+
defaultProjectId = 1;
|
|
72
|
+
console.log(`✓ Created m_projects table with project "${detected.name}"`);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
defaultProjectId = 1;
|
|
76
|
+
console.log("✓ m_projects table already exists");
|
|
77
|
+
}
|
|
78
|
+
// ============================================================================
|
|
79
|
+
// STEP 2: Drop All Views (Database-Agnostic)
|
|
80
|
+
// ============================================================================
|
|
81
|
+
const viewsToDrop = [
|
|
82
|
+
"v_tagged_decisions",
|
|
83
|
+
"v_active_context",
|
|
84
|
+
"v_layer_summary",
|
|
85
|
+
"v_unread_messages_by_priority",
|
|
86
|
+
"v_recent_file_changes",
|
|
87
|
+
"v_tagged_constraints",
|
|
88
|
+
"v_task_board",
|
|
89
|
+
];
|
|
90
|
+
for (const viewName of viewsToDrop) {
|
|
91
|
+
await knex.raw(`DROP VIEW IF EXISTS ${viewName}`);
|
|
92
|
+
}
|
|
93
|
+
console.log(`✓ Dropped ${viewsToDrop.length} views before table modifications`);
|
|
94
|
+
// Drop old t_agent_messages table if exists (removed in v3.6.5)
|
|
95
|
+
await knex.schema.dropTableIfExists("t_agent_messages");
|
|
96
|
+
console.log("✓ t_agent_messages dropped if it existed (removed in v3.6.5)");
|
|
97
|
+
// ============================================================================
|
|
98
|
+
// STEP 3: Add project_id to Transaction Tables
|
|
99
|
+
// ============================================================================
|
|
100
|
+
const transactionTables = [
|
|
101
|
+
"t_decision_history",
|
|
102
|
+
"t_decision_tags",
|
|
103
|
+
"t_decision_scopes",
|
|
104
|
+
"t_file_changes",
|
|
105
|
+
"t_constraints",
|
|
106
|
+
"t_tasks",
|
|
107
|
+
"t_task_file_links",
|
|
108
|
+
"t_task_decision_links",
|
|
109
|
+
"t_activity_log",
|
|
110
|
+
];
|
|
111
|
+
for (const tableName of transactionTables) {
|
|
112
|
+
const hasTable = await knex.schema.hasTable(tableName);
|
|
113
|
+
if (hasTable) {
|
|
114
|
+
await db.addColumnSafe(tableName, "project_id", (table) => table.integer("project_id").unsigned().notNullable().defaultTo(defaultProjectId));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
// ============================================================================
|
|
118
|
+
// STEP 4: Recreate t_decisions Tables with Composite PRIMARY KEY
|
|
119
|
+
// ============================================================================
|
|
120
|
+
// For MySQL/PostgreSQL, we need to drop and recreate tables to change PRIMARY KEY
|
|
121
|
+
// (MySQL doesn't support ALTER TABLE ... DROP PRIMARY KEY easily with auto_increment)
|
|
122
|
+
const hasDecisionsTable = await knex.schema.hasTable("t_decisions");
|
|
123
|
+
if (hasDecisionsTable) {
|
|
124
|
+
const decisionsData = await knex("t_decisions").select("*");
|
|
125
|
+
const decisionContextData = (await knex.schema.hasTable("t_decision_context"))
|
|
126
|
+
? await knex("t_decision_context").select("*")
|
|
127
|
+
: [];
|
|
128
|
+
// Drop dependent table first
|
|
129
|
+
await knex.schema.dropTableIfExists("t_decision_context");
|
|
130
|
+
// Drop and recreate t_decisions
|
|
131
|
+
await knex.schema.dropTable("t_decisions");
|
|
132
|
+
await knex.schema.createTable("t_decisions", (table) => {
|
|
133
|
+
table.integer("key_id").unsigned();
|
|
134
|
+
table.integer("project_id").unsigned().notNullable().defaultTo(defaultProjectId);
|
|
135
|
+
table.text("value").notNullable();
|
|
136
|
+
table.integer("agent_id").unsigned();
|
|
137
|
+
table.integer("layer_id").unsigned();
|
|
138
|
+
table.string("version", 20).defaultTo("1.0.0");
|
|
139
|
+
table.integer("status").defaultTo(1);
|
|
140
|
+
table.integer("ts").notNullable();
|
|
141
|
+
table.primary(["key_id", "project_id"]);
|
|
142
|
+
table.foreign("key_id").references("id").inTable("m_context_keys");
|
|
143
|
+
table.foreign("project_id").references("id").inTable("m_projects").onDelete("CASCADE");
|
|
144
|
+
table.foreign("agent_id").references("id").inTable("m_agents");
|
|
145
|
+
table.foreign("layer_id").references("id").inTable("m_layers");
|
|
146
|
+
});
|
|
147
|
+
if (decisionsData.length > 0) {
|
|
148
|
+
await knex("t_decisions").insert(decisionsData);
|
|
149
|
+
}
|
|
150
|
+
console.log(`✓ Recreated t_decisions with composite PRIMARY KEY (${decisionsData.length} rows)`);
|
|
151
|
+
// Recreate t_decisions_numeric
|
|
152
|
+
const decisionsNumericData = (await knex.schema.hasTable("t_decisions_numeric"))
|
|
153
|
+
? await knex("t_decisions_numeric").select("*")
|
|
154
|
+
: [];
|
|
155
|
+
if (await knex.schema.hasTable("t_decisions_numeric")) {
|
|
156
|
+
await knex.schema.dropTable("t_decisions_numeric");
|
|
157
|
+
}
|
|
158
|
+
await knex.schema.createTable("t_decisions_numeric", (table) => {
|
|
159
|
+
table.integer("key_id").unsigned();
|
|
160
|
+
table.integer("project_id").unsigned().notNullable().defaultTo(defaultProjectId);
|
|
161
|
+
table.double("value").notNullable();
|
|
162
|
+
table.integer("agent_id").unsigned();
|
|
163
|
+
table.integer("layer_id").unsigned();
|
|
164
|
+
table.string("version", 20).defaultTo("1.0.0");
|
|
165
|
+
table.integer("status").defaultTo(1);
|
|
166
|
+
table.integer("ts").notNullable();
|
|
167
|
+
table.primary(["key_id", "project_id"]);
|
|
168
|
+
table.foreign("key_id").references("id").inTable("m_context_keys");
|
|
169
|
+
table.foreign("project_id").references("id").inTable("m_projects").onDelete("CASCADE");
|
|
170
|
+
table.foreign("agent_id").references("id").inTable("m_agents");
|
|
171
|
+
table.foreign("layer_id").references("id").inTable("m_layers");
|
|
172
|
+
});
|
|
173
|
+
if (decisionsNumericData.length > 0) {
|
|
174
|
+
await knex("t_decisions_numeric").insert(decisionsNumericData);
|
|
175
|
+
}
|
|
176
|
+
console.log(`✓ Recreated t_decisions_numeric with composite PRIMARY KEY (${decisionsNumericData.length} rows)`);
|
|
177
|
+
// Recreate t_decision_context
|
|
178
|
+
await knex.schema.createTable("t_decision_context", (table) => {
|
|
179
|
+
table.increments("id").primary();
|
|
180
|
+
table.integer("decision_key_id").unsigned();
|
|
181
|
+
table.foreign("decision_key_id").references("id").inTable("m_context_keys");
|
|
182
|
+
table.text("rationale");
|
|
183
|
+
table.text("alternatives_considered");
|
|
184
|
+
table.text("tradeoffs");
|
|
185
|
+
table.integer("decision_date");
|
|
186
|
+
table.integer("agent_id").unsigned();
|
|
187
|
+
table.foreign("agent_id").references("id").inTable("m_agents");
|
|
188
|
+
table.integer("ts").notNullable();
|
|
189
|
+
});
|
|
190
|
+
if (decisionContextData.length > 0) {
|
|
191
|
+
await knex("t_decision_context").insert(decisionContextData);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
// Create migration marker table
|
|
195
|
+
await knex.schema.createTable("_multi_project_pk_fixed", (table) => {
|
|
196
|
+
table.integer("migrated_ts").notNullable();
|
|
197
|
+
});
|
|
198
|
+
await knex("_multi_project_pk_fixed").insert({
|
|
199
|
+
migrated_ts: Math.floor(Date.now() / 1000),
|
|
200
|
+
});
|
|
201
|
+
// ============================================================================
|
|
202
|
+
// STEP 4.5: Add UNIQUE Constraint to t_task_file_links
|
|
203
|
+
// ============================================================================
|
|
204
|
+
try {
|
|
205
|
+
await db.createIndexSafe("t_task_file_links", ["project_id", "task_id", "file_id"], "idx_task_file_links_unique", {
|
|
206
|
+
unique: true,
|
|
207
|
+
});
|
|
208
|
+
console.log("✓ Created UNIQUE constraint on t_task_file_links (project_id, task_id, file_id)");
|
|
209
|
+
}
|
|
210
|
+
catch (error) {
|
|
211
|
+
if (error.message &&
|
|
212
|
+
(error.message.includes("already exists") || error.message.includes("Duplicate key name"))) {
|
|
213
|
+
console.log("✓ UNIQUE constraint already exists on t_task_file_links");
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
throw error;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
// ============================================================================
|
|
220
|
+
// STEP 5: Recreate Views
|
|
221
|
+
// ============================================================================
|
|
222
|
+
const timestampFunc = db.isMySQL
|
|
223
|
+
? "FROM_UNIXTIME"
|
|
224
|
+
: db.isPostgreSQL
|
|
225
|
+
? "TO_TIMESTAMP"
|
|
226
|
+
: "CAST";
|
|
227
|
+
const activeValue = db.isPostgreSQL ? "TRUE" : "1";
|
|
228
|
+
// v_tagged_decisions
|
|
229
|
+
await db.createViewSafe("v_tagged_decisions", `
|
|
230
|
+
SELECT d.key_id,
|
|
231
|
+
d.project_id,
|
|
232
|
+
k.key as decision_key,
|
|
233
|
+
d.value,
|
|
234
|
+
l.name as layer,
|
|
235
|
+
d.version,
|
|
236
|
+
d.status,
|
|
237
|
+
${db.isMySQL ? "FROM_UNIXTIME(d.ts)" : db.isPostgreSQL ? "TO_TIMESTAMP(d.ts)" : "d.ts"} as timestamp
|
|
238
|
+
FROM t_decisions d
|
|
239
|
+
LEFT JOIN m_context_keys k ON d.key_id = k.id
|
|
240
|
+
LEFT JOIN m_layers l ON d.layer_id = l.id
|
|
241
|
+
ORDER BY d.ts DESC
|
|
242
|
+
`);
|
|
243
|
+
// v_tagged_constraints
|
|
244
|
+
await db.createViewSafe("v_tagged_constraints", `
|
|
245
|
+
SELECT c.id,
|
|
246
|
+
c.constraint_text,
|
|
247
|
+
c.project_id,
|
|
248
|
+
cat.name as category,
|
|
249
|
+
c.priority,
|
|
250
|
+
a.name as author,
|
|
251
|
+
${db.isMySQL ? "FROM_UNIXTIME(c.ts)" : db.isPostgreSQL ? "TO_TIMESTAMP(c.ts)" : "c.ts"} as created
|
|
252
|
+
FROM t_constraints c
|
|
253
|
+
LEFT JOIN m_constraint_categories cat ON c.category_id = cat.id
|
|
254
|
+
LEFT JOIN m_agents a ON c.agent_id = a.id
|
|
255
|
+
WHERE c.active = ${activeValue}
|
|
256
|
+
ORDER BY c.priority DESC, c.ts DESC
|
|
257
|
+
`);
|
|
258
|
+
console.log("✓ Recreated views with project_id support");
|
|
259
|
+
// Re-enable foreign key checks (MySQL)
|
|
260
|
+
if (db.isMySQL) {
|
|
261
|
+
await knex.raw("SET FOREIGN_KEY_CHECKS=1");
|
|
262
|
+
console.log("✓ Re-enabled foreign key constraints (MySQL)");
|
|
263
|
+
}
|
|
264
|
+
console.log("✅ Multi-project cross-database migration completed successfully");
|
|
265
|
+
}
|
|
266
|
+
export async function down(knex) {
|
|
267
|
+
const db = new UniversalKnex(knex);
|
|
268
|
+
// Skip on SQLite
|
|
269
|
+
if (db.isSQLite) {
|
|
270
|
+
console.log("✓ SQLite database detected, skipping rollback");
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
console.log("⏪ Rolling back multi-project cross-database migration...");
|
|
274
|
+
console.log("⚠️ Rollback not implemented - migration is one-way for non-SQLite databases");
|
|
275
|
+
}
|
|
276
|
+
//# sourceMappingURL=20251109000002_multi_project_cross_db_compat_v3_7_5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251109000002_multi_project_cross_db_compat_v3_7_5.js","sourceRoot":"","sources":["../../../src/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.ts
|
|
3
|
+
* Line count: 94 → 55 (41% reduction)
|
|
4
|
+
*
|
|
5
|
+
* Migration: Token Usage Table Cross-Database Compatibility v3.7.5
|
|
6
|
+
* Date: 2025-11-09
|
|
7
|
+
* Version: v3.7.5
|
|
8
|
+
*
|
|
9
|
+
* CONTEXT:
|
|
10
|
+
* The original token usage migration (20251105000000) has MySQL/PostgreSQL compatibility issues.
|
|
11
|
+
* MySQL doesn't support `DEFAULT UNIX_TIMESTAMP()` syntax without parentheses in DEFAULT clause.
|
|
12
|
+
*
|
|
13
|
+
* This migration creates t_help_token_usage for MySQL/PostgreSQL/MariaDB with corrected syntax.
|
|
14
|
+
*
|
|
15
|
+
* CHANGES:
|
|
16
|
+
* - Creates t_help_token_usage table for non-SQLite databases
|
|
17
|
+
* - Skips on SQLite (handled by 20251105000000)
|
|
18
|
+
* - Uses application-provided timestamps instead of database defaults (simpler, more portable)
|
|
19
|
+
*
|
|
20
|
+
* IDEMPOTENCY:
|
|
21
|
+
* - Checks if table exists (skip if already created)
|
|
22
|
+
* - Checks database type (skip if SQLite)
|
|
23
|
+
*/
|
|
24
|
+
import type { Knex } from 'knex';
|
|
25
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
26
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
27
|
+
//# sourceMappingURL=20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAsClD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAUpD"}
|