sqlew 3.8.0 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +251 -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 +154 -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 +37 -12
- 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,237 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: Add Policy Use Cases (v3.9.0)
|
|
3
|
+
*
|
|
4
|
+
* Adds comprehensive use cases for policy workflows:
|
|
5
|
+
* - Creating custom team policies
|
|
6
|
+
* - Using policies to enforce decision quality
|
|
7
|
+
* - Leveraging auto-suggestions from policies
|
|
8
|
+
*
|
|
9
|
+
* Part of v3.9.0 Decision Intelligence System
|
|
10
|
+
*/
|
|
11
|
+
export async function up(knex) {
|
|
12
|
+
// Get category IDs
|
|
13
|
+
const decisionCategory = await knex('m_help_use_case_categories')
|
|
14
|
+
.where('category_name', 'decision_tracking')
|
|
15
|
+
.select('category_id')
|
|
16
|
+
.first();
|
|
17
|
+
const crossToolCategory = await knex('m_help_use_case_categories')
|
|
18
|
+
.where('category_name', 'cross_tool_workflow')
|
|
19
|
+
.select('category_id')
|
|
20
|
+
.first();
|
|
21
|
+
if (!decisionCategory || !crossToolCategory) {
|
|
22
|
+
throw new Error('Required use case categories not found');
|
|
23
|
+
}
|
|
24
|
+
// Check if policy use cases already exist
|
|
25
|
+
const existing = await knex('t_help_use_cases')
|
|
26
|
+
.where('title', 'like', '%policy%')
|
|
27
|
+
.where('full_example', 'like', '%create_policy%');
|
|
28
|
+
if (existing.length > 0) {
|
|
29
|
+
console.log('✓ Policy use cases already exist, skipping');
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
// Add policy use cases
|
|
33
|
+
await knex('t_help_use_cases').insert([
|
|
34
|
+
{
|
|
35
|
+
category_id: decisionCategory.category_id,
|
|
36
|
+
title: 'Create custom policy for team standards',
|
|
37
|
+
complexity: 'basic',
|
|
38
|
+
description: 'Define a custom decision policy that enforces team standards for specific decision types. Policies provide defaults, validation rules, and quality requirements.',
|
|
39
|
+
full_example: JSON.stringify({
|
|
40
|
+
scenario: 'Your team needs to standardize API endpoint decisions with consistent metadata and documentation',
|
|
41
|
+
steps: [
|
|
42
|
+
{
|
|
43
|
+
step: 1,
|
|
44
|
+
action: 'decision.create_policy',
|
|
45
|
+
code: {
|
|
46
|
+
action: 'create_policy',
|
|
47
|
+
name: 'api_endpoint',
|
|
48
|
+
defaults: {
|
|
49
|
+
layer: 'presentation',
|
|
50
|
+
tags: ['api', 'endpoint'],
|
|
51
|
+
priority: 2
|
|
52
|
+
},
|
|
53
|
+
validation_rules: {
|
|
54
|
+
patterns: {
|
|
55
|
+
key: '^api/v\\d+/' // Must start with api/v1/, api/v2/, etc.
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
quality_gates: {
|
|
59
|
+
required_fields: ['rationale'] // Must document endpoint purpose
|
|
60
|
+
},
|
|
61
|
+
suggest_similar: true,
|
|
62
|
+
category: 'api'
|
|
63
|
+
},
|
|
64
|
+
explanation: 'Create policy enforcing API versioning pattern and documentation standards'
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
step: 2,
|
|
68
|
+
action: 'decision.set_from_policy',
|
|
69
|
+
code: {
|
|
70
|
+
action: 'set_from_policy',
|
|
71
|
+
policy_name: 'api_endpoint',
|
|
72
|
+
key: 'api/v1/users/create',
|
|
73
|
+
value: 'POST endpoint for user registration',
|
|
74
|
+
rationale: 'Allows new users to register with email and password'
|
|
75
|
+
},
|
|
76
|
+
explanation: 'Create API decision using policy. Policy auto-applies layer and tags, validates key format, and triggers suggestions for related endpoints.'
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
expected_outcome: 'Consistent API decisions with standardized metadata and documentation',
|
|
80
|
+
common_pitfalls: [
|
|
81
|
+
'Regex patterns need proper escaping in JSON',
|
|
82
|
+
'Policy names must be unique per project',
|
|
83
|
+
'Quality gate fields must exactly match decision context field names'
|
|
84
|
+
]
|
|
85
|
+
}),
|
|
86
|
+
action_sequence: 'decision.create_policy → decision.set_from_policy'
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
category_id: decisionCategory.category_id,
|
|
90
|
+
title: 'Enforce decision quality with policies',
|
|
91
|
+
complexity: 'intermediate',
|
|
92
|
+
description: 'Use policies to enforce documentation standards for architectural decisions. Policies validate that critical decisions include rationale, alternatives, and tradeoffs.',
|
|
93
|
+
full_example: JSON.stringify({
|
|
94
|
+
scenario: 'Your team wants to ensure all architecture decisions follow ADR (Architecture Decision Record) format',
|
|
95
|
+
steps: [
|
|
96
|
+
{
|
|
97
|
+
step: 1,
|
|
98
|
+
action: 'decision.list_policies',
|
|
99
|
+
code: {
|
|
100
|
+
action: 'list_policies'
|
|
101
|
+
},
|
|
102
|
+
explanation: 'Check if architecture_decision policy exists (built-in policy)'
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
step: 2,
|
|
106
|
+
action: 'decision.set_from_policy',
|
|
107
|
+
code: {
|
|
108
|
+
action: 'set_from_policy',
|
|
109
|
+
policy_name: 'architecture_decision',
|
|
110
|
+
key: 'arch/database-choice',
|
|
111
|
+
value: 'Use PostgreSQL for primary database',
|
|
112
|
+
rationale: 'Need ACID compliance, JSON support, and strong ecosystem',
|
|
113
|
+
alternatives: [
|
|
114
|
+
{
|
|
115
|
+
option: 'MongoDB',
|
|
116
|
+
rejected_because: 'Weak transaction support for financial data'
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
option: 'MySQL',
|
|
120
|
+
rejected_because: 'Limited JSON query capabilities'
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
tradeoffs: {
|
|
124
|
+
pros: ['ACID compliance', 'JSON support', 'Mature ecosystem'],
|
|
125
|
+
cons: ['Higher memory usage', 'Steeper learning curve']
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
explanation: 'Create architecture decision. Policy enforces full ADR context (rationale, alternatives, tradeoffs).'
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
step: 3,
|
|
132
|
+
validation: 'If rationale or alternatives are missing, policy validation fails',
|
|
133
|
+
error_example: {
|
|
134
|
+
success: false,
|
|
135
|
+
policy_validation: {
|
|
136
|
+
valid: false,
|
|
137
|
+
matched_policy: 'architecture_decision',
|
|
138
|
+
violations: ['Quality gate: Required field missing: "rationale"']
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
expected_outcome: 'All architecture decisions have comprehensive documentation meeting ADR standards',
|
|
144
|
+
common_pitfalls: [
|
|
145
|
+
'Forgetting to include required fields (rationale, alternatives, tradeoffs)',
|
|
146
|
+
'Not using set_from_policy - won\'t trigger validation',
|
|
147
|
+
'Policy validation is advisory - decision still created but violations returned'
|
|
148
|
+
],
|
|
149
|
+
related_tools: ['decision']
|
|
150
|
+
}),
|
|
151
|
+
action_sequence: 'decision.list_policies → decision.set_from_policy (with validation)'
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
category_id: crossToolCategory.category_id,
|
|
155
|
+
title: 'Auto-trigger suggestions with policies',
|
|
156
|
+
complexity: 'advanced',
|
|
157
|
+
description: 'Configure policies to automatically trigger similarity suggestions when decisions are created. Prevents duplicates and ensures consistency for critical decision types like security vulnerabilities.',
|
|
158
|
+
full_example: JSON.stringify({
|
|
159
|
+
scenario: 'Track CVE security vulnerabilities with auto-suggestions to discover related issues',
|
|
160
|
+
steps: [
|
|
161
|
+
{
|
|
162
|
+
step: 1,
|
|
163
|
+
action: 'decision.set_from_policy',
|
|
164
|
+
code: {
|
|
165
|
+
action: 'set_from_policy',
|
|
166
|
+
policy_name: 'security_vulnerability',
|
|
167
|
+
key: 'CVE-2024-12345',
|
|
168
|
+
value: 'SQL injection in authentication endpoint',
|
|
169
|
+
rationale: 'Allows bypass via crafted input in login form'
|
|
170
|
+
},
|
|
171
|
+
explanation: 'Create CVE decision using built-in security_vulnerability policy. Policy has suggest_similar=true, so suggestions auto-trigger.'
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
step: 2,
|
|
175
|
+
response_includes: 'Auto-generated suggestions',
|
|
176
|
+
example_response: {
|
|
177
|
+
success: true,
|
|
178
|
+
key: 'CVE-2024-12345',
|
|
179
|
+
message: 'Decision created',
|
|
180
|
+
suggestions: {
|
|
181
|
+
triggered_by: 'security_vulnerability',
|
|
182
|
+
reason: 'Policy has suggest_similar enabled',
|
|
183
|
+
suggestions: [
|
|
184
|
+
{
|
|
185
|
+
key: 'CVE-2024-11111',
|
|
186
|
+
score: 75,
|
|
187
|
+
layer: 'cross-cutting',
|
|
188
|
+
tags: ['security', 'vulnerability']
|
|
189
|
+
}
|
|
190
|
+
]
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
explanation: 'Response includes auto-triggered suggestions for related CVEs based on tags and layer'
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
step: 3,
|
|
197
|
+
action: 'decision.get',
|
|
198
|
+
code: {
|
|
199
|
+
action: 'get',
|
|
200
|
+
key: 'CVE-2024-11111',
|
|
201
|
+
include_context: true
|
|
202
|
+
},
|
|
203
|
+
explanation: 'Review suggested CVE to understand related vulnerability and potential patterns'
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
step: 4,
|
|
207
|
+
action: 'decision.add_decision_context',
|
|
208
|
+
code: {
|
|
209
|
+
action: 'add_decision_context',
|
|
210
|
+
key: 'CVE-2024-12345',
|
|
211
|
+
related_decisions: ['CVE-2024-11111']
|
|
212
|
+
},
|
|
213
|
+
explanation: 'Link related CVEs for cross-referencing'
|
|
214
|
+
}
|
|
215
|
+
],
|
|
216
|
+
expected_outcome: 'Automatic discovery of related security issues, preventing duplicate reports and revealing patterns',
|
|
217
|
+
common_pitfalls: [
|
|
218
|
+
'Auto-suggestions only trigger when using set_from_policy with suggest_similar=true policy',
|
|
219
|
+
'Suggestions require min_score threshold (default: 50) - low similarity matches excluded',
|
|
220
|
+
'Policy validation failures prevent auto-suggestions'
|
|
221
|
+
],
|
|
222
|
+
related_tools: ['decision', 'suggest']
|
|
223
|
+
}),
|
|
224
|
+
action_sequence: 'decision.set_from_policy (auto-triggers suggest.by_context) → decision.get → decision.add_decision_context'
|
|
225
|
+
}
|
|
226
|
+
]);
|
|
227
|
+
console.log('✓ Added 3 policy use cases (1 basic, 1 intermediate, 1 advanced)');
|
|
228
|
+
}
|
|
229
|
+
export async function down(knex) {
|
|
230
|
+
// Remove policy use cases
|
|
231
|
+
await knex('t_help_use_cases')
|
|
232
|
+
.where('title', 'like', '%policy%')
|
|
233
|
+
.where('full_example', 'like', '%create_policy%')
|
|
234
|
+
.delete();
|
|
235
|
+
console.log('✓ Removed policy use cases');
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=20251114141000_add_policy_use_cases_v3_9_0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251114141000_add_policy_use_cases_v3_9_0.js","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Knex } from "knex";
|
|
2
|
+
/**
|
|
3
|
+
* Migration: Fix t_decision_policies UNIQUE Constraint (v3.9.0)
|
|
4
|
+
*
|
|
5
|
+
* Removes single-column UNIQUE constraint on `name` column.
|
|
6
|
+
* Keeps only the composite UNIQUE constraint on (name, project_id).
|
|
7
|
+
*
|
|
8
|
+
* Root cause: Table was renamed from t_decision_templates which had
|
|
9
|
+
* UNIQUE(name), and project_id was added later with composite index,
|
|
10
|
+
* but old single-column constraint was never removed.
|
|
11
|
+
*/
|
|
12
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
13
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts.map
|
package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;;;;GASG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: Fix t_decision_policies UNIQUE Constraint (v3.9.0)
|
|
3
|
+
*
|
|
4
|
+
* Removes single-column UNIQUE constraint on `name` column.
|
|
5
|
+
* Keeps only the composite UNIQUE constraint on (name, project_id).
|
|
6
|
+
*
|
|
7
|
+
* Root cause: Table was renamed from t_decision_templates which had
|
|
8
|
+
* UNIQUE(name), and project_id was added later with composite index,
|
|
9
|
+
* but old single-column constraint was never removed.
|
|
10
|
+
*/
|
|
11
|
+
export async function up(knex) {
|
|
12
|
+
const client = knex.client.config.client;
|
|
13
|
+
const isSQLite = client === 'sqlite3' || client === 'better-sqlite3';
|
|
14
|
+
if (!isSQLite) {
|
|
15
|
+
// MySQL/PostgreSQL can drop constraints directly
|
|
16
|
+
console.log('✓ Non-SQLite database, skipping (constraint handling differs)');
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
// Check if table exists
|
|
20
|
+
const hasTable = await knex.schema.hasTable('t_decision_policies');
|
|
21
|
+
if (!hasTable) {
|
|
22
|
+
console.log('✓ t_decision_policies table does not exist, skipping');
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
// SQLite: Need to recreate table to remove column constraint
|
|
26
|
+
console.log('🔄 Fixing t_decision_policies UNIQUE constraint...');
|
|
27
|
+
// 1. Backup existing data
|
|
28
|
+
const existingPolicies = await knex('t_decision_policies').select('*');
|
|
29
|
+
console.log(` 📊 Backing up ${existingPolicies.length} existing policies...`);
|
|
30
|
+
// 2. Drop old table
|
|
31
|
+
await knex.schema.dropTable('t_decision_policies');
|
|
32
|
+
console.log(' ✓ Dropped old table');
|
|
33
|
+
// 3. Create new table with correct schema
|
|
34
|
+
await knex.schema.createTable('t_decision_policies', (table) => {
|
|
35
|
+
table.increments('id').primary();
|
|
36
|
+
table.string('name', 200).notNullable(); // NO single-column UNIQUE
|
|
37
|
+
table.integer('project_id').notNullable().defaultTo(1);
|
|
38
|
+
table.text('description'); // Policy description (from original schema)
|
|
39
|
+
table.text('defaults').notNullable(); // JSON: {layer, status, tags, priority}
|
|
40
|
+
table.text('required_fields'); // JSON array
|
|
41
|
+
table.text('validation_rules'); // JSON: pattern enforcement (v3.9.0)
|
|
42
|
+
table.text('quality_gates'); // JSON: completeness requirements (v3.9.0)
|
|
43
|
+
table.integer('suggest_similar').defaultTo(0); // Auto-trigger suggestions (v3.9.0)
|
|
44
|
+
table.string('category', 100); // Policy categorization (v3.9.0)
|
|
45
|
+
table.integer('created_by').nullable().references('id').inTable('m_agents').onDelete('SET NULL');
|
|
46
|
+
table.integer('ts').notNullable().defaultTo(knex.raw('(strftime(\'%s\', \'now\'))'));
|
|
47
|
+
// Composite UNIQUE constraint (allows same name in different projects)
|
|
48
|
+
table.unique(['name', 'project_id']);
|
|
49
|
+
});
|
|
50
|
+
console.log(' ✓ Created new table with composite UNIQUE only');
|
|
51
|
+
// 4. Restore data
|
|
52
|
+
if (existingPolicies.length > 0) {
|
|
53
|
+
await knex('t_decision_policies').insert(existingPolicies);
|
|
54
|
+
console.log(` ✓ Restored ${existingPolicies.length} policies`);
|
|
55
|
+
}
|
|
56
|
+
console.log('✅ t_decision_policies UNIQUE constraint fixed');
|
|
57
|
+
}
|
|
58
|
+
export async function down(knex) {
|
|
59
|
+
console.log('⚠️ No rollback needed - schema remains valid');
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=20251114150000_fix_policy_unique_constraint_v3_9_0.js.map
|
package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251114150000_fix_policy_unique_constraint_v3_9_0.js","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.ts"],"names":[],"mappings":"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"}
|
package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Knex } from "knex";
|
|
2
|
+
/**
|
|
3
|
+
* Enhancement Migration: Fix t_task_decision_links UNIQUE Constraint
|
|
4
|
+
*
|
|
5
|
+
* Root Cause:
|
|
6
|
+
* - Bootstrap migration created table with composite PRIMARY KEY (task_id, decision_key_id)
|
|
7
|
+
* - v3.7.0 upgrade migration recreated table with AUTO INCREMENT id PRIMARY KEY
|
|
8
|
+
* - But v3.7.0 forgot to add UNIQUE(task_id, decision_key_id) constraint
|
|
9
|
+
* - Result: .onConflict(['task_id', 'decision_key_id']) fails with "no UNIQUE constraint"
|
|
10
|
+
*
|
|
11
|
+
* This migration:
|
|
12
|
+
* - Recreates t_task_decision_links with proper UNIQUE constraint
|
|
13
|
+
* - Preserves all data
|
|
14
|
+
* - Idempotent (safe to run multiple times)
|
|
15
|
+
* - Fixes both existing databases and future fresh installs
|
|
16
|
+
*
|
|
17
|
+
* Related Decision: v3.7.0/task-decision-links-schema-discrepancy
|
|
18
|
+
*/
|
|
19
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
20
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=20251115000000_fix_task_decision_links_unique_constraint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251115000000_fix_task_decision_links_unique_constraint.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA4FlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCpD"}
|
package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhancement Migration: Fix t_task_decision_links UNIQUE Constraint
|
|
3
|
+
*
|
|
4
|
+
* Root Cause:
|
|
5
|
+
* - Bootstrap migration created table with composite PRIMARY KEY (task_id, decision_key_id)
|
|
6
|
+
* - v3.7.0 upgrade migration recreated table with AUTO INCREMENT id PRIMARY KEY
|
|
7
|
+
* - But v3.7.0 forgot to add UNIQUE(task_id, decision_key_id) constraint
|
|
8
|
+
* - Result: .onConflict(['task_id', 'decision_key_id']) fails with "no UNIQUE constraint"
|
|
9
|
+
*
|
|
10
|
+
* This migration:
|
|
11
|
+
* - Recreates t_task_decision_links with proper UNIQUE constraint
|
|
12
|
+
* - Preserves all data
|
|
13
|
+
* - Idempotent (safe to run multiple times)
|
|
14
|
+
* - Fixes both existing databases and future fresh installs
|
|
15
|
+
*
|
|
16
|
+
* Related Decision: v3.7.0/task-decision-links-schema-discrepancy
|
|
17
|
+
*/
|
|
18
|
+
export async function up(knex) {
|
|
19
|
+
// Check if UNIQUE constraint already exists
|
|
20
|
+
const client = knex.client.config.client;
|
|
21
|
+
const isSQLite = client === 'sqlite3' || client === 'better-sqlite3';
|
|
22
|
+
if (isSQLite) {
|
|
23
|
+
// SQLite: Check if UNIQUE index exists
|
|
24
|
+
const indexes = await knex.raw(`
|
|
25
|
+
SELECT name FROM sqlite_master
|
|
26
|
+
WHERE type='index'
|
|
27
|
+
AND tbl_name='t_task_decision_links'
|
|
28
|
+
AND (
|
|
29
|
+
name LIKE '%unique%'
|
|
30
|
+
OR sql LIKE '%UNIQUE%'
|
|
31
|
+
)
|
|
32
|
+
`);
|
|
33
|
+
if (indexes.length > 0) {
|
|
34
|
+
console.log('✓ UNIQUE constraint already exists on t_task_decision_links, skipping');
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
// MySQL/PostgreSQL: Check constraints
|
|
40
|
+
const hasUniqueConstraint = await knex.schema.raw(`
|
|
41
|
+
SELECT COUNT(*) as count
|
|
42
|
+
FROM information_schema.table_constraints
|
|
43
|
+
WHERE table_name = 't_task_decision_links'
|
|
44
|
+
AND constraint_type = 'UNIQUE'
|
|
45
|
+
`).then((result) => {
|
|
46
|
+
const row = result[0] || result.rows?.[0];
|
|
47
|
+
return row && row.count > 0;
|
|
48
|
+
});
|
|
49
|
+
if (hasUniqueConstraint) {
|
|
50
|
+
console.log('✓ UNIQUE constraint already exists on t_task_decision_links, skipping');
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
console.log('🔧 Recreating t_task_decision_links with UNIQUE constraint...');
|
|
55
|
+
// Step 1: Backup existing data
|
|
56
|
+
const existingData = await knex('t_task_decision_links').select('*');
|
|
57
|
+
console.log(` Backed up ${existingData.length} links`);
|
|
58
|
+
// Step 2: Drop existing table
|
|
59
|
+
await knex.schema.dropTableIfExists('t_task_decision_links');
|
|
60
|
+
console.log(' Dropped old table');
|
|
61
|
+
// Step 3: Recreate table with UNIQUE constraint
|
|
62
|
+
await knex.schema.createTable('t_task_decision_links', (table) => {
|
|
63
|
+
table.increments('id').primary();
|
|
64
|
+
table.integer('task_id').unsigned().notNullable();
|
|
65
|
+
table.integer('decision_key_id').unsigned().notNullable();
|
|
66
|
+
table.integer('project_id').unsigned().notNullable().defaultTo(1);
|
|
67
|
+
table.text('link_type').defaultTo('implements');
|
|
68
|
+
table.integer('linked_ts').notNullable();
|
|
69
|
+
// ✅ Add UNIQUE constraint (the missing piece!)
|
|
70
|
+
table.unique(['task_id', 'decision_key_id'], {
|
|
71
|
+
indexName: 'idx_task_decision_links_unique'
|
|
72
|
+
});
|
|
73
|
+
// Foreign keys
|
|
74
|
+
table.foreign('task_id').references('id').inTable('t_tasks').onDelete('CASCADE');
|
|
75
|
+
table.foreign('decision_key_id').references('id').inTable('m_context_keys');
|
|
76
|
+
table.foreign('project_id').references('id').inTable('m_projects').onDelete('CASCADE');
|
|
77
|
+
// Indexes
|
|
78
|
+
table.index('task_id', 'idx_task_decision_links_task');
|
|
79
|
+
table.index('decision_key_id', 'idx_task_decision_links_decision');
|
|
80
|
+
table.index(['project_id', 'task_id'], 'idx_task_decision_links_project');
|
|
81
|
+
});
|
|
82
|
+
console.log(' Created new table with UNIQUE constraint');
|
|
83
|
+
// Step 4: Restore data (preserving all columns including id)
|
|
84
|
+
if (existingData.length > 0) {
|
|
85
|
+
// Ensure all required columns exist, fill missing ones
|
|
86
|
+
const dataToRestore = existingData.map((row) => ({
|
|
87
|
+
id: row.id,
|
|
88
|
+
task_id: row.task_id,
|
|
89
|
+
decision_key_id: row.decision_key_id,
|
|
90
|
+
project_id: row.project_id || 1,
|
|
91
|
+
link_type: row.link_type || 'implements',
|
|
92
|
+
linked_ts: row.linked_ts || Math.floor(Date.now() / 1000)
|
|
93
|
+
}));
|
|
94
|
+
await knex('t_task_decision_links').insert(dataToRestore);
|
|
95
|
+
console.log(` Restored ${dataToRestore.length} links`);
|
|
96
|
+
}
|
|
97
|
+
console.log('✅ Successfully fixed t_task_decision_links UNIQUE constraint');
|
|
98
|
+
}
|
|
99
|
+
export async function down(knex) {
|
|
100
|
+
console.log('🔄 Rolling back UNIQUE constraint fix...');
|
|
101
|
+
// Backup data
|
|
102
|
+
const existingData = await knex('t_task_decision_links').select('*');
|
|
103
|
+
// Recreate table WITHOUT UNIQUE constraint (back to broken state)
|
|
104
|
+
await knex.schema.dropTableIfExists('t_task_decision_links');
|
|
105
|
+
await knex.schema.createTable('t_task_decision_links', (table) => {
|
|
106
|
+
table.increments('id').primary();
|
|
107
|
+
table.integer('task_id').unsigned().notNullable();
|
|
108
|
+
table.integer('decision_key_id').unsigned().notNullable();
|
|
109
|
+
table.integer('project_id').unsigned().notNullable().defaultTo(1);
|
|
110
|
+
table.text('link_type').defaultTo('implements');
|
|
111
|
+
table.integer('linked_ts').notNullable();
|
|
112
|
+
// Foreign keys
|
|
113
|
+
table.foreign('task_id').references('id').inTable('t_tasks').onDelete('CASCADE');
|
|
114
|
+
table.foreign('decision_key_id').references('id').inTable('m_context_keys');
|
|
115
|
+
table.foreign('project_id').references('id').inTable('m_projects').onDelete('CASCADE');
|
|
116
|
+
// Indexes (no UNIQUE constraint)
|
|
117
|
+
table.index('task_id', 'idx_task_decision_links_task');
|
|
118
|
+
table.index('decision_key_id', 'idx_task_decision_links_decision');
|
|
119
|
+
table.index(['project_id', 'task_id'], 'idx_task_decision_links_project');
|
|
120
|
+
});
|
|
121
|
+
// Restore data
|
|
122
|
+
if (existingData.length > 0) {
|
|
123
|
+
await knex('t_task_decision_links').insert(existingData);
|
|
124
|
+
}
|
|
125
|
+
console.log('✅ Rolled back to schema without UNIQUE constraint');
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=20251115000000_fix_task_decision_links_unique_constraint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251115000000_fix_task_decision_links_unique_constraint.js","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Knex } from "knex";
|
|
2
|
+
/**
|
|
3
|
+
* Migration: Fix idx_messages_to_agent Index - MySQL Reserved Keyword (v3.9.0)
|
|
4
|
+
*
|
|
5
|
+
* Problem: Bootstrap migration 20251025021351_create_indexes.ts creates index on
|
|
6
|
+
* t_agent_messages(to_agent_id, read) but 'read' is a reserved keyword in MySQL/MariaDB.
|
|
7
|
+
*
|
|
8
|
+
* Solution: Drop and recreate index with properly quoted column name.
|
|
9
|
+
*
|
|
10
|
+
* Note: This is a hotfix migration. We cannot edit the bootstrap migration since
|
|
11
|
+
* it's already pushed to the repository.
|
|
12
|
+
*/
|
|
13
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
14
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=20251115100000_fix_read_keyword_index_v3_9_0.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251115100000_fix_read_keyword_index_v3_9_0.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;;;;;GAUG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA6ClD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAYpD"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: Fix idx_messages_to_agent Index - MySQL Reserved Keyword (v3.9.0)
|
|
3
|
+
*
|
|
4
|
+
* Problem: Bootstrap migration 20251025021351_create_indexes.ts creates index on
|
|
5
|
+
* t_agent_messages(to_agent_id, read) but 'read' is a reserved keyword in MySQL/MariaDB.
|
|
6
|
+
*
|
|
7
|
+
* Solution: Drop and recreate index with properly quoted column name.
|
|
8
|
+
*
|
|
9
|
+
* Note: This is a hotfix migration. We cannot edit the bootstrap migration since
|
|
10
|
+
* it's already pushed to the repository.
|
|
11
|
+
*/
|
|
12
|
+
export async function up(knex) {
|
|
13
|
+
const client = knex.client.config.client;
|
|
14
|
+
const isSQLite = client === 'sqlite3' || client === 'better-sqlite3';
|
|
15
|
+
const isMySQL = client === 'mysql2' || client === 'mysql';
|
|
16
|
+
const isPostgreSQL = client === 'pg' || client === 'postgresql';
|
|
17
|
+
// Check if table exists
|
|
18
|
+
const hasTable = await knex.schema.hasTable('t_agent_messages');
|
|
19
|
+
if (!hasTable) {
|
|
20
|
+
console.log('⏭️ Skipping index fix: t_agent_messages table does not exist');
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
// Drop the problematic index if it exists
|
|
24
|
+
if (isSQLite) {
|
|
25
|
+
await knex.raw('DROP INDEX IF EXISTS idx_messages_to_agent');
|
|
26
|
+
}
|
|
27
|
+
else if (isMySQL) {
|
|
28
|
+
// MySQL doesn't support IF EXISTS for DROP INDEX, so check first
|
|
29
|
+
const indexes = await knex.raw(`
|
|
30
|
+
SELECT DISTINCT INDEX_NAME
|
|
31
|
+
FROM INFORMATION_SCHEMA.STATISTICS
|
|
32
|
+
WHERE TABLE_SCHEMA = DATABASE()
|
|
33
|
+
AND TABLE_NAME = 't_agent_messages'
|
|
34
|
+
AND INDEX_NAME = 'idx_messages_to_agent'
|
|
35
|
+
`);
|
|
36
|
+
if (indexes[0].length > 0) {
|
|
37
|
+
await knex.raw('DROP INDEX idx_messages_to_agent ON t_agent_messages');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else if (isPostgreSQL) {
|
|
41
|
+
await knex.raw('DROP INDEX IF EXISTS idx_messages_to_agent');
|
|
42
|
+
}
|
|
43
|
+
// Recreate index with properly quoted column name
|
|
44
|
+
if (isSQLite) {
|
|
45
|
+
await knex.raw('CREATE INDEX IF NOT EXISTS idx_messages_to_agent ON t_agent_messages(to_agent_id, "read")');
|
|
46
|
+
}
|
|
47
|
+
else if (isMySQL) {
|
|
48
|
+
// MySQL uses backticks for quoting identifiers
|
|
49
|
+
await knex.raw('CREATE INDEX idx_messages_to_agent ON t_agent_messages(to_agent_id, `read`)');
|
|
50
|
+
}
|
|
51
|
+
else if (isPostgreSQL) {
|
|
52
|
+
// PostgreSQL uses double quotes for quoting identifiers
|
|
53
|
+
await knex.raw('CREATE INDEX idx_messages_to_agent ON t_agent_messages(to_agent_id, "read")');
|
|
54
|
+
}
|
|
55
|
+
console.log('✅ Fixed idx_messages_to_agent index with quoted column name');
|
|
56
|
+
}
|
|
57
|
+
export async function down(knex) {
|
|
58
|
+
const client = knex.client.config.client;
|
|
59
|
+
const isSQLite = client === 'sqlite3' || client === 'better-sqlite3';
|
|
60
|
+
// Drop the fixed index
|
|
61
|
+
if (isSQLite) {
|
|
62
|
+
await knex.raw('DROP INDEX IF EXISTS idx_messages_to_agent');
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
await knex.raw('DROP INDEX IF EXISTS idx_messages_to_agent');
|
|
66
|
+
}
|
|
67
|
+
console.log('✅ Dropped idx_messages_to_agent index');
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=20251115100000_fix_read_keyword_index_v3_9_0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251115100000_fix_read_keyword_index_v3_9_0.js","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,gBAAgB,CAAC;IACrE,MAAM,OAAO,GAAG,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,OAAO,CAAC;IAC1D,MAAM,YAAY,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,YAAY,CAAC;IAEhE,wBAAwB;IACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IAED,0CAA0C;IAC1C,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC/D,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,iEAAiE;QACjE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC;;;;;;KAM9B,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;SAAM,IAAI,YAAY,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC/D,CAAC;IAED,kDAAkD;IAClD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,CAAC,GAAG,CAAC,2FAA2F,CAAC,CAAC;IAC9G,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,+CAA+C;QAC/C,MAAM,IAAI,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;IAChG,CAAC;SAAM,IAAI,YAAY,EAAE,CAAC;QACxB,wDAAwD;QACxD,MAAM,IAAI,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;IAChG,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,gBAAgB,CAAC;IAErE,uBAAuB;IACvB,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;AACvD,CAAC"}
|
package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Knex } from "knex";
|
|
2
|
+
/**
|
|
3
|
+
* Migration: Fix Cross-Database Timestamp Defaults (v3.9.0)
|
|
4
|
+
*
|
|
5
|
+
* Problem: Upgrade migration 20251112000000_decision_intelligence_v3_9_0.ts uses
|
|
6
|
+
* SQLite-specific strftime('%s', 'now') for DEFAULT values, which fails on PostgreSQL.
|
|
7
|
+
*
|
|
8
|
+
* Solution: This migration acts as a "catch-up" to complete the work if the original
|
|
9
|
+
* migration failed on non-SQLite databases. It uses database-aware timestamp functions.
|
|
10
|
+
*
|
|
11
|
+
* Note: This is a hotfix migration. We cannot edit the pushed upgrade migration.
|
|
12
|
+
*/
|
|
13
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
14
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts.map
|
package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;;;;;GAUG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAuHlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBpD"}
|