sqlew 3.8.1 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +155 -285
- package/README.md +150 -32
- package/assets/sample-agents/sqlew-architect.md +72 -17
- package/assets/sample-agents/sqlew-researcher.md +62 -1
- package/assets/sample-agents/sqlew-scrum-master.md +5 -1
- package/assets/sample-commands/README.md +57 -0
- package/assets/sample-commands/sqw-documentor.md +158 -0
- package/assets/sample-commands/sqw-plan.md +301 -0
- package/assets/sample-commands/sqw-research.md +298 -0
- package/assets/sample-commands/sqw-review.md +340 -0
- package/assets/sample-commands/sqw-scrum.md +423 -0
- package/assets/sample-commands/sqw-secretary.md +187 -0
- package/dist/adapters/sqlite-adapter.d.ts +0 -6
- package/dist/adapters/sqlite-adapter.d.ts.map +1 -1
- package/dist/adapters/sqlite-adapter.js +10 -14
- package/dist/adapters/sqlite-adapter.js.map +1 -1
- package/dist/cli/db-dump.d.ts +1 -1
- package/dist/cli/db-dump.d.ts.map +1 -1
- package/dist/cli/db-dump.js +1 -1
- package/dist/cli/db-dump.js.map +1 -1
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.d.ts +4 -0
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.d.ts.map +1 -0
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.js +146 -0
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.js.map +1 -0
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts +22 -0
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.js +106 -0
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts +21 -0
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.js +106 -0
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts +21 -0
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.js +91 -0
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.js.map +1 -0
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts +15 -0
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js +270 -0
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts +15 -0
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.js +241 -0
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.d.ts +16 -0
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.js +168 -0
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.d.ts +14 -0
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.js +228 -0
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.d.ts +14 -0
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.js +237 -0
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts +14 -0
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.js +61 -0
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.d.ts +21 -0
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.js +127 -0
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.js.map +1 -0
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.d.ts +15 -0
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.js +69 -0
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts +15 -0
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.js +132 -0
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts +18 -0
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.js +47 -0
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.d.ts +20 -0
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.js +119 -0
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.js.map +1 -0
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts +19 -0
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.js +196 -0
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.js.map +1 -0
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.d.ts +22 -0
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.d.ts.map +1 -0
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.js +375 -0
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.js.map +1 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +4 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/config/minimal-generator.d.ts.map +1 -1
- package/dist/config/minimal-generator.js +34 -0
- package/dist/config/minimal-generator.js.map +1 -1
- package/dist/config/types.d.ts +19 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +8 -0
- package/dist/config/types.js.map +1 -1
- package/dist/constants.d.ts +30 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +33 -0
- package/dist/constants.js.map +1 -1
- package/dist/database/initialization/cleanup.d.ts +1 -1
- package/dist/database/initialization/cleanup.d.ts.map +1 -1
- package/dist/database/initialization/cleanup.js +15 -1
- package/dist/database/initialization/cleanup.js.map +1 -1
- package/dist/database/initialization/init.d.ts.map +1 -1
- package/dist/database/initialization/init.js +3 -0
- package/dist/database/initialization/init.js.map +1 -1
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.d.ts +16 -0
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.d.ts.map +1 -0
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.js +84 -0
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.js.map +1 -0
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.d.ts +14 -0
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.d.ts.map +1 -0
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.js +42 -0
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.js.map +1 -0
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.d.ts +17 -0
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.d.ts.map +1 -0
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.js +122 -0
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.js.map +1 -0
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.d.ts +12 -0
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.d.ts.map +1 -0
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.js +49 -0
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.js.map +1 -0
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts +12 -0
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts.map +1 -0
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.js +53 -0
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.js.map +1 -0
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.d.ts +12 -0
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.d.ts.map +1 -0
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.js +44 -0
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.js.map +1 -0
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.d.ts +13 -0
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.d.ts.map +1 -0
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.js +33 -0
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.js.map +1 -0
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.d.ts +17 -0
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.d.ts.map +1 -0
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.js +119 -0
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.js.map +1 -0
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.d.ts +15 -0
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.d.ts.map +1 -0
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.js +282 -0
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.js.map +1 -0
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.d.ts +21 -0
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.d.ts.map +1 -0
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.js +83 -0
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.js.map +1 -0
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.d.ts +22 -0
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.d.ts.map +1 -0
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.js +94 -0
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.js.map +1 -0
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.d.ts +19 -0
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.d.ts.map +1 -0
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.js +120 -0
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.js.map +1 -0
- package/dist/database/migrations/20251025070349_create_views_wrapper.d.ts +14 -0
- package/dist/database/migrations/20251025070349_create_views_wrapper.d.ts.map +1 -0
- package/dist/database/migrations/20251025070349_create_views_wrapper.js +160 -0
- package/dist/database/migrations/20251025070349_create_views_wrapper.js.map +1 -0
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.d.ts +9 -0
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.d.ts.map +1 -0
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.js +21 -0
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.js.map +1 -0
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.d.ts +13 -0
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.d.ts.map +1 -0
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.js +17 -0
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.js.map +1 -0
- package/dist/database/migrations/20251025090000_create_help_system_tables.d.ts +27 -0
- package/dist/database/migrations/20251025090000_create_help_system_tables.d.ts.map +1 -0
- package/dist/database/migrations/20251025090000_create_help_system_tables.js +120 -0
- package/dist/database/migrations/20251025090000_create_help_system_tables.js.map +1 -0
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.d.ts +18 -0
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.d.ts.map +1 -0
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.js +388 -0
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.js.map +1 -0
- package/dist/database/migrations/20251025100000_seed_help_metadata.d.ts +20 -0
- package/dist/database/migrations/20251025100000_seed_help_metadata.d.ts.map +1 -0
- package/dist/database/migrations/20251025100000_seed_help_metadata.js +264 -0
- package/dist/database/migrations/20251025100000_seed_help_metadata.js.map +1 -0
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.d.ts +21 -0
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.d.ts.map +1 -0
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.js +281 -0
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.js.map +1 -0
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.d.ts +13 -0
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.d.ts.map +1 -0
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.js +76 -0
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.js.map +1 -0
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.d.ts +17 -0
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.d.ts.map +1 -0
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.js +42 -0
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.js.map +1 -0
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.d.ts +10 -0
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.d.ts.map +1 -0
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.js +28 -0
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.js.map +1 -0
- package/dist/database/migrations/20251027020000_update_agent_reusability.d.ts +21 -0
- package/dist/database/migrations/20251027020000_update_agent_reusability.d.ts.map +1 -0
- package/dist/database/migrations/20251027020000_update_agent_reusability.js +38 -0
- package/dist/database/migrations/20251027020000_update_agent_reusability.js.map +1 -0
- package/dist/database/migrations/20251028000000_simplify_agent_system.d.ts +26 -0
- package/dist/database/migrations/20251028000000_simplify_agent_system.d.ts.map +1 -0
- package/dist/database/migrations/20251028000000_simplify_agent_system.js +56 -0
- package/dist/database/migrations/20251028000000_simplify_agent_system.js.map +1 -0
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.d.ts +16 -0
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.d.ts.map +1 -0
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.js +52 -0
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.js.map +1 -0
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.d.ts +56 -0
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.d.ts.map +1 -0
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.js +701 -0
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.js.map +1 -0
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.d.ts +30 -0
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.d.ts.map +1 -0
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.js +180 -0
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.js.map +1 -0
- package/dist/database/migrations/20251105000000_add_token_usage_table.d.ts +19 -0
- package/dist/database/migrations/20251105000000_add_token_usage_table.d.ts.map +1 -0
- package/dist/database/migrations/20251105000000_add_token_usage_table.js +47 -0
- package/dist/database/migrations/20251105000000_add_token_usage_table.js.map +1 -0
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts +28 -0
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts.map +1 -0
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.js +123 -0
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.js.map +1 -0
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts +36 -0
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts.map +1 -0
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.js +559 -0
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.js.map +1 -0
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.d.ts +26 -0
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.d.ts.map +1 -0
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.js +78 -0
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.js.map +1 -0
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts +17 -0
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts.map +1 -0
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.js +78 -0
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.js.map +1 -0
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts +24 -0
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts.map +1 -0
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js +63 -0
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js.map +1 -0
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts +27 -0
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts.map +1 -0
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.js +276 -0
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.js.map +1 -0
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts +27 -0
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts.map +1 -0
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.js +67 -0
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.js.map +1 -0
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.d.ts +32 -0
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.d.ts.map +1 -0
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.js +352 -0
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.js.map +1 -0
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.d.ts +35 -0
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.d.ts.map +1 -0
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.js +237 -0
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.js.map +1 -0
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts +22 -0
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.js +190 -0
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.d.ts +32 -0
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.js +342 -0
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts +25 -0
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.js +109 -0
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts +24 -0
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.js +111 -0
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts +24 -0
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts.map +1 -0
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.js +90 -0
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.js.map +1 -0
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts +20 -0
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js +275 -0
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts +20 -0
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.js +246 -0
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.d.ts +23 -0
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.js +175 -0
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.d.ts +21 -0
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.js +235 -0
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.d.ts +21 -0
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.js +244 -0
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts +23 -0
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.js +70 -0
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.d.ts +29 -0
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.d.ts.map +1 -0
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.js +135 -0
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.js.map +1 -0
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.d.ts +23 -0
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.js +42 -0
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts +25 -0
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.js +102 -0
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts +25 -0
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.js +55 -0
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.d.ts +29 -0
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.d.ts.map +1 -0
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.js +62 -0
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.js.map +1 -0
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.d.ts +25 -0
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.d.ts.map +1 -0
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.js +100 -0
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.js.map +1 -0
- package/dist/init-commands.d.ts +7 -0
- package/dist/init-commands.d.ts.map +1 -0
- package/dist/init-commands.js +185 -0
- package/dist/init-commands.js.map +1 -0
- package/dist/schema.d.ts +11 -19
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +51 -63
- package/dist/schema.js.map +1 -1
- package/dist/server/tool-handlers.d.ts.map +1 -1
- package/dist/server/tool-handlers.js +20 -1
- package/dist/server/tool-handlers.js.map +1 -1
- package/dist/server/tool-registry.d.ts.map +1 -1
- package/dist/server/tool-registry.js +42 -1
- package/dist/server/tool-registry.js.map +1 -1
- package/dist/sync-commands.d.ts +13 -0
- package/dist/sync-commands.d.ts.map +1 -0
- package/dist/sync-commands.js +115 -0
- package/dist/sync-commands.js.map +1 -0
- package/dist/tests/database/connection/connection-manager-integration.test.d.ts.map +1 -0
- package/dist/tests/{connection-manager-integration.test.js → database/connection/connection-manager-integration.test.js} +1 -1
- package/dist/tests/database/connection/connection-manager-integration.test.js.map +1 -0
- package/dist/tests/database/connection/connection-manager.test.d.ts.map +1 -0
- package/dist/tests/{connection-manager.test.js → database/connection/connection-manager.test.js} +1 -1
- package/dist/tests/database/connection/connection-manager.test.js.map +1 -0
- package/dist/tests/database/migrations/idempotency.test.d.ts +2 -0
- package/dist/tests/database/migrations/idempotency.test.d.ts.map +1 -0
- package/dist/tests/{migration-idempotency.test.js → database/migrations/idempotency.test.js} +1 -1
- package/dist/tests/database/migrations/idempotency.test.js.map +1 -0
- package/dist/tests/database/migrations/upgrade-paths.test.d.ts +2 -0
- package/dist/tests/database/migrations/upgrade-paths.test.d.ts.map +1 -0
- package/dist/tests/{migration-upgrade-paths.test.js → database/migrations/upgrade-paths.test.js} +1 -1
- package/dist/tests/database/migrations/upgrade-paths.test.js.map +1 -0
- package/dist/tests/database/multi-project/multi-project.test.d.ts.map +1 -0
- package/dist/tests/{multi-project.test.js → database/multi-project/multi-project.test.js} +5 -5
- package/dist/tests/database/multi-project/multi-project.test.js.map +1 -0
- package/dist/tests/{sql-dump-converters.test.d.ts → database/sql-dump/converters.test.d.ts} +1 -1
- package/dist/tests/database/sql-dump/converters.test.d.ts.map +1 -0
- package/dist/tests/{sql-dump-converters.test.js → database/sql-dump/converters.test.js} +2 -2
- package/dist/tests/database/sql-dump/converters.test.js.map +1 -0
- package/dist/tests/{sql-dump-default-conversions.test.d.ts → database/sql-dump/default-conversions.test.d.ts} +1 -1
- package/dist/tests/database/sql-dump/default-conversions.test.d.ts.map +1 -0
- package/dist/tests/{sql-dump-default-conversions.test.js → database/sql-dump/default-conversions.test.js} +2 -2
- package/dist/tests/database/sql-dump/default-conversions.test.js.map +1 -0
- package/dist/tests/database/sql-dump/table-ordering.test.d.ts +27 -0
- package/dist/tests/database/sql-dump/table-ordering.test.d.ts.map +1 -0
- package/dist/tests/{sql-dump-table-ordering.test.js → database/sql-dump/table-ordering.test.js} +34 -8
- package/dist/tests/database/sql-dump/table-ordering.test.js.map +1 -0
- package/dist/tests/database/sql-dump/type-conversion.test.d.ts.map +1 -0
- package/dist/tests/{type-conversion.test.js → database/sql-dump/type-conversion.test.js} +1 -1
- package/dist/tests/database/sql-dump/type-conversion.test.js.map +1 -0
- package/dist/tests/database/testing-config.d.ts +105 -0
- package/dist/tests/database/testing-config.d.ts.map +1 -0
- package/dist/tests/database/testing-config.js +192 -0
- package/dist/tests/database/testing-config.js.map +1 -0
- package/dist/tests/{sql-dump-cross-database.test.d.ts → docker/cross-database.test.d.ts} +1 -1
- package/dist/tests/docker/cross-database.test.d.ts.map +1 -0
- package/dist/tests/{sql-dump-cross-database.test.js → docker/cross-database.test.js} +3 -3
- package/dist/tests/docker/cross-database.test.js.map +1 -0
- package/dist/tests/docker/dump-import.test.d.ts.map +1 -0
- package/dist/tests/{dump-import.test.js → docker/dump-import.test.js} +25 -31
- package/dist/tests/docker/dump-import.test.js.map +1 -0
- package/dist/tests/{sql-dump-fk-constraints.test.d.ts → docker/fk-constraints.test.d.ts} +1 -1
- package/dist/tests/docker/fk-constraints.test.d.ts.map +1 -0
- package/dist/tests/{sql-dump-fk-constraints.test.js → docker/fk-constraints.test.js} +3 -3
- package/dist/tests/docker/fk-constraints.test.js.map +1 -0
- package/dist/tests/{sql-dump-indexes.test.d.ts → docker/indexes.test.d.ts} +1 -1
- package/dist/tests/docker/indexes.test.d.ts.map +1 -0
- package/dist/tests/{sql-dump-indexes.test.js → docker/indexes.test.js} +10 -29
- package/dist/tests/docker/indexes.test.js.map +1 -0
- package/dist/tests/{sql-dump-integration.test.d.ts → docker/integration.test.d.ts} +1 -1
- package/dist/tests/docker/integration.test.d.ts.map +1 -0
- package/dist/tests/{sql-dump-integration.test.js → docker/integration.test.js} +9 -28
- package/dist/tests/docker/integration.test.js.map +1 -0
- package/dist/tests/docker/multi-project-migration.test.d.ts.map +1 -0
- package/dist/tests/{multi-project-migration.test.js → docker/multi-project-migration.test.js} +20 -8
- package/dist/tests/docker/multi-project-migration.test.js.map +1 -0
- package/dist/tests/docker/native/constraint-operations.test.d.ts +23 -0
- package/dist/tests/docker/native/constraint-operations.test.d.ts.map +1 -0
- package/dist/tests/docker/native/constraint-operations.test.js +693 -0
- package/dist/tests/docker/native/constraint-operations.test.js.map +1 -0
- package/dist/tests/docker/native/db-init.d.ts +59 -0
- package/dist/tests/docker/native/db-init.d.ts.map +1 -0
- package/dist/tests/docker/native/db-init.js +207 -0
- package/dist/tests/docker/native/db-init.js.map +1 -0
- package/dist/tests/docker/native/decision-operations.test.d.ts +16 -0
- package/dist/tests/docker/native/decision-operations.test.d.ts.map +1 -0
- package/dist/tests/docker/native/decision-operations.test.js +590 -0
- package/dist/tests/docker/native/decision-operations.test.js.map +1 -0
- package/dist/tests/docker/native/help-system.test.d.ts +10 -0
- package/dist/tests/docker/native/help-system.test.d.ts.map +1 -0
- package/dist/tests/docker/native/help-system.test.js +568 -0
- package/dist/tests/docker/native/help-system.test.js.map +1 -0
- package/dist/tests/docker/native/suggest-tool.test.d.ts +16 -0
- package/dist/tests/docker/native/suggest-tool.test.d.ts.map +1 -0
- package/dist/tests/docker/native/suggest-tool.test.js +607 -0
- package/dist/tests/docker/native/suggest-tool.test.js.map +1 -0
- package/dist/tests/docker/native/task-operations.test.d.ts +16 -0
- package/dist/tests/docker/native/task-operations.test.d.ts.map +1 -0
- package/dist/tests/docker/native/task-operations.test.js +836 -0
- package/dist/tests/docker/native/task-operations.test.js.map +1 -0
- package/dist/tests/docker/native/test-harness.d.ts +129 -0
- package/dist/tests/docker/native/test-harness.d.ts.map +1 -0
- package/dist/tests/docker/native/test-harness.js +314 -0
- package/dist/tests/docker/native/test-harness.js.map +1 -0
- package/dist/tests/docker/schema-migration.test.d.ts.map +1 -0
- package/dist/tests/{schema-migration.test.js → docker/schema-migration.test.js} +8 -18
- package/dist/tests/docker/schema-migration.test.js.map +1 -0
- package/dist/tests/feature/decision/analytics.test.d.ts +7 -0
- package/dist/tests/feature/decision/analytics.test.d.ts.map +1 -0
- package/dist/tests/feature/decision/analytics.test.js +140 -0
- package/dist/tests/feature/decision/analytics.test.js.map +1 -0
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.d.ts.map +1 -0
- package/dist/tests/{batch-validation-comprehensive.test.js → feature/decision/batch-validation-comprehensive.test.js} +5 -5
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.js.map +1 -0
- package/dist/tests/feature/decision/batch-validation-integration.test.d.ts.map +1 -0
- package/dist/tests/{batch-validation-integration.test.js → feature/decision/batch-validation-integration.test.js} +3 -3
- package/dist/tests/feature/decision/batch-validation-integration.test.js.map +1 -0
- package/dist/tests/{decision-batch-validation.test.d.ts → feature/decision/batch-validation.test.d.ts} +1 -1
- package/dist/tests/feature/decision/batch-validation.test.d.ts.map +1 -0
- package/dist/tests/{decision-batch-validation.test.js → feature/decision/batch-validation.test.js} +4 -4
- package/dist/tests/feature/decision/batch-validation.test.js.map +1 -0
- package/dist/tests/feature/decision/context-modular.test.d.ts.map +1 -0
- package/dist/tests/{context-modular.test.js → feature/decision/context-modular.test.js} +17 -8
- package/dist/tests/feature/decision/context-modular.test.js.map +1 -0
- package/dist/tests/feature/help/help-system.test.d.ts.map +1 -0
- package/dist/tests/{help-system.test.js → feature/help/help-system.test.js} +9 -9
- package/dist/tests/feature/help/help-system.test.js.map +1 -0
- package/dist/tests/{tasks.auto-pruning-decision-link.test.d.ts → feature/task/auto-pruning-decision-link.test.d.ts} +1 -1
- package/dist/tests/feature/task/auto-pruning-decision-link.test.d.ts.map +1 -0
- package/dist/tests/{tasks.auto-pruning-decision-link.test.js → feature/task/auto-pruning-decision-link.test.js} +30 -8
- package/dist/tests/feature/task/auto-pruning-decision-link.test.js.map +1 -0
- package/dist/tests/{tasks.auto-pruning-partial.test.d.ts → feature/task/auto-pruning-partial.test.d.ts} +1 -1
- package/dist/tests/feature/task/auto-pruning-partial.test.d.ts.map +1 -0
- package/dist/tests/{tasks.auto-pruning-partial.test.js → feature/task/auto-pruning-partial.test.js} +26 -4
- package/dist/tests/feature/task/auto-pruning-partial.test.js.map +1 -0
- package/dist/tests/{tasks.auto-pruning-persistence.test.d.ts → feature/task/auto-pruning-persistence.test.d.ts} +1 -1
- package/dist/tests/feature/task/auto-pruning-persistence.test.d.ts.map +1 -0
- package/dist/tests/{tasks.auto-pruning-persistence.test.js → feature/task/auto-pruning-persistence.test.js} +23 -3
- package/dist/tests/feature/task/auto-pruning-persistence.test.js.map +1 -0
- package/dist/tests/{tasks.auto-pruning-safety.test.d.ts → feature/task/auto-pruning-safety.test.d.ts} +1 -1
- package/dist/tests/feature/task/auto-pruning-safety.test.d.ts.map +1 -0
- package/dist/tests/{tasks.auto-pruning-safety.test.js → feature/task/auto-pruning-safety.test.js} +46 -20
- package/dist/tests/feature/task/auto-pruning-safety.test.js.map +1 -0
- package/dist/tests/{tasks.dependencies.test.d.ts → feature/task/dependencies.test.d.ts} +1 -1
- package/dist/tests/feature/task/dependencies.test.d.ts.map +1 -0
- package/dist/tests/{tasks.dependencies.test.js → feature/task/dependencies.test.js} +46 -30
- package/dist/tests/feature/task/dependencies.test.js.map +1 -0
- package/dist/tests/{tasks.file-actions-integration.test.d.ts → feature/task/file-actions-integration.test.d.ts} +1 -1
- package/dist/tests/feature/task/file-actions-integration.test.d.ts.map +1 -0
- package/dist/tests/{tasks.file-actions-integration.test.js → feature/task/file-actions-integration.test.js} +6 -6
- package/dist/tests/feature/task/file-actions-integration.test.js.map +1 -0
- package/dist/tests/{tasks.file-actions-validation.test.d.ts → feature/task/file-actions-validation.test.d.ts} +1 -1
- package/dist/tests/feature/task/file-actions-validation.test.d.ts.map +1 -0
- package/dist/tests/{tasks.file-actions-validation.test.js → feature/task/file-actions-validation.test.js} +11 -4
- package/dist/tests/feature/task/file-actions-validation.test.js.map +1 -0
- package/dist/tests/{tasks.link-file-backward-compat.test.d.ts → feature/task/link-file-backward-compat.test.d.ts} +1 -1
- package/dist/tests/feature/task/link-file-backward-compat.test.d.ts.map +1 -0
- package/dist/tests/{tasks.link-file-backward-compat.test.js → feature/task/link-file-backward-compat.test.js} +65 -40
- package/dist/tests/feature/task/link-file-backward-compat.test.js.map +1 -0
- package/dist/tests/{tasks.watch-files-action.test.d.ts → feature/task/watch-files-action.test.d.ts} +3 -1
- package/dist/tests/feature/task/watch-files-action.test.d.ts.map +1 -0
- package/dist/tests/{tasks.watch-files-action.test.js → feature/task/watch-files-action.test.js} +58 -36
- package/dist/tests/feature/task/watch-files-action.test.js.map +1 -0
- package/dist/tests/{tasks.watch-files-parameter.test.d.ts → feature/task/watch-files-parameter.test.d.ts} +3 -1
- package/dist/tests/feature/task/watch-files-parameter.test.d.ts.map +1 -0
- package/dist/tests/{tasks.watch-files-parameter.test.js → feature/task/watch-files-parameter.test.js} +64 -39
- package/dist/tests/feature/task/watch-files-parameter.test.js.map +1 -0
- package/dist/tests/feature/vcs/git-aware-completion.test.d.ts.map +1 -0
- package/dist/tests/{git-aware-completion.test.js → feature/vcs/git-aware-completion.test.js} +25 -11
- package/dist/tests/feature/vcs/git-aware-completion.test.js.map +1 -0
- package/dist/tests/feature/vcs/two-step-git-completion.test.d.ts.map +1 -0
- package/dist/tests/{two-step-git-completion.test.js → feature/vcs/two-step-git-completion.test.js} +2 -2
- package/dist/tests/feature/vcs/two-step-git-completion.test.js.map +1 -0
- package/dist/tests/feature/vcs/vcs-staging.test.d.ts.map +1 -0
- package/dist/tests/{vcs-staging.test.js → feature/vcs/vcs-staging.test.js} +8 -3
- package/dist/tests/feature/vcs/vcs-staging.test.js.map +1 -0
- package/dist/tests/{all-features.test.d.ts → integration/all-features.standalone.d.ts} +1 -1
- package/dist/tests/integration/all-features.standalone.d.ts.map +1 -0
- package/dist/tests/{all-features.test.js → integration/all-features.standalone.js} +7 -9
- package/dist/tests/integration/all-features.standalone.js.map +1 -0
- package/dist/tests/integration/auto-trigger-suggestions.test.d.ts +7 -0
- package/dist/tests/integration/auto-trigger-suggestions.test.d.ts.map +1 -0
- package/dist/tests/integration/auto-trigger-suggestions.test.js +331 -0
- package/dist/tests/integration/auto-trigger-suggestions.test.js.map +1 -0
- package/dist/tests/integration/decision-intelligence-e2e.test.d.ts +13 -0
- package/dist/tests/integration/decision-intelligence-e2e.test.d.ts.map +1 -0
- package/dist/tests/integration/decision-intelligence-e2e.test.js +558 -0
- package/dist/tests/integration/decision-intelligence-e2e.test.js.map +1 -0
- package/dist/tests/integration/e2e-workflow1-debug.test.d.ts +5 -0
- package/dist/tests/integration/e2e-workflow1-debug.test.d.ts.map +1 -0
- package/dist/tests/integration/e2e-workflow1-debug.test.js +99 -0
- package/dist/tests/integration/e2e-workflow1-debug.test.js.map +1 -0
- package/dist/tests/integration/hybrid-similarity-detection.test.d.ts +7 -0
- package/dist/tests/integration/hybrid-similarity-detection.test.d.ts.map +1 -0
- package/dist/tests/integration/hybrid-similarity-detection.test.js +512 -0
- package/dist/tests/integration/hybrid-similarity-detection.test.js.map +1 -0
- package/dist/tests/integration/suggest-simple.test.d.ts +5 -0
- package/dist/tests/integration/suggest-simple.test.d.ts.map +1 -0
- package/dist/tests/integration/suggest-simple.test.js +72 -0
- package/dist/tests/integration/suggest-simple.test.js.map +1 -0
- package/dist/tests/unit/universal-knex.test.d.ts +2 -0
- package/dist/tests/unit/universal-knex.test.d.ts.map +1 -0
- package/dist/tests/unit/universal-knex.test.js +250 -0
- package/dist/tests/unit/universal-knex.test.js.map +1 -0
- package/dist/tests/unit/utils/config-loader.test.d.ts.map +1 -0
- package/dist/tests/{config-loader.test.js → unit/utils/config-loader.test.js} +63 -42
- package/dist/tests/unit/utils/config-loader.test.js.map +1 -0
- package/dist/tests/unit/utils/project-detector.test.d.ts.map +1 -0
- package/dist/tests/{project-detector.test.js → unit/utils/project-detector.test.js} +1 -1
- package/dist/tests/unit/utils/project-detector.test.js.map +1 -0
- package/dist/tests/unit/utils/semver.test.d.ts +2 -0
- package/dist/tests/unit/utils/semver.test.d.ts.map +1 -0
- package/dist/tests/unit/utils/semver.test.js +72 -0
- package/dist/tests/unit/utils/semver.test.js.map +1 -0
- package/dist/tests/unit/validation/batch-validation.test.d.ts.map +1 -0
- package/dist/tests/{batch-validation.test.js → unit/validation/batch-validation.test.js} +2 -2
- package/dist/tests/unit/validation/batch-validation.test.js.map +1 -0
- package/dist/tests/unit/validation/parameter-validation.test.d.ts.map +1 -0
- package/dist/tests/{parameter-validation.test.js → unit/validation/parameter-validation.test.js} +9 -12
- package/dist/tests/unit/validation/parameter-validation.test.js.map +1 -0
- package/dist/tests/unit/validation/policy-validation.test.d.ts +15 -0
- package/dist/tests/unit/validation/policy-validation.test.d.ts.map +1 -0
- package/dist/tests/unit/validation/policy-validation.test.js +343 -0
- package/dist/tests/unit/validation/policy-validation.test.js.map +1 -0
- package/dist/tests/utils/db-config.d.ts +21 -0
- package/dist/tests/utils/db-config.d.ts.map +1 -0
- package/dist/tests/utils/db-config.js +59 -0
- package/dist/tests/utils/db-config.js.map +1 -0
- package/dist/tests/utils/db-import.d.ts +11 -0
- package/dist/tests/utils/db-import.d.ts.map +1 -0
- package/dist/tests/utils/db-import.js +38 -0
- package/dist/tests/utils/db-import.js.map +1 -0
- package/dist/tests/utils/db-schema.d.ts +58 -0
- package/dist/tests/utils/db-schema.d.ts.map +1 -0
- package/dist/tests/utils/db-schema.js +218 -0
- package/dist/tests/utils/db-schema.js.map +1 -0
- package/dist/tests/utils/db-seeding.d.ts +18 -0
- package/dist/tests/utils/db-seeding.d.ts.map +1 -0
- package/dist/tests/utils/db-seeding.js +54 -0
- package/dist/tests/utils/db-seeding.js.map +1 -0
- package/dist/tests/utils/index.d.ts +20 -0
- package/dist/tests/utils/index.d.ts.map +1 -0
- package/dist/tests/utils/index.js +26 -0
- package/dist/tests/utils/index.js.map +1 -0
- package/dist/tests/utils/task-helpers.d.ts +67 -0
- package/dist/tests/utils/task-helpers.d.ts.map +1 -0
- package/dist/tests/utils/task-helpers.js +151 -0
- package/dist/tests/utils/task-helpers.js.map +1 -0
- package/dist/tests/utils/test-helpers.d.ts +93 -1
- package/dist/tests/utils/test-helpers.d.ts.map +1 -1
- package/dist/tests/utils/test-helpers.js +232 -64
- package/dist/tests/utils/test-helpers.js.map +1 -1
- package/dist/tests/utils/test-lifecycle.d.ts +52 -0
- package/dist/tests/utils/test-lifecycle.d.ts.map +1 -0
- package/dist/tests/utils/test-lifecycle.js +88 -0
- package/dist/tests/utils/test-lifecycle.js.map +1 -0
- package/dist/tools/context/actions/analytics.d.ts +88 -0
- package/dist/tools/context/actions/analytics.d.ts.map +1 -0
- package/dist/tools/context/actions/analytics.js +92 -0
- package/dist/tools/context/actions/analytics.js.map +1 -0
- package/dist/tools/context/actions/create-policy.d.ts +38 -0
- package/dist/tools/context/actions/create-policy.d.ts.map +1 -0
- package/dist/tools/context/actions/create-policy.js +87 -0
- package/dist/tools/context/actions/create-policy.js.map +1 -0
- package/dist/tools/context/actions/create-template.js +2 -2
- package/dist/tools/context/actions/create-template.js.map +1 -1
- package/dist/tools/context/actions/get.d.ts.map +1 -1
- package/dist/tools/context/actions/get.js +5 -4
- package/dist/tools/context/actions/get.js.map +1 -1
- package/dist/tools/context/actions/has-updates.d.ts.map +1 -1
- package/dist/tools/context/actions/has-updates.js +4 -19
- package/dist/tools/context/actions/has-updates.js.map +1 -1
- package/dist/tools/context/actions/list-policies.d.ts +31 -0
- package/dist/tools/context/actions/list-policies.d.ts.map +1 -0
- package/dist/tools/context/actions/list-policies.js +55 -0
- package/dist/tools/context/actions/list-policies.js.map +1 -0
- package/dist/tools/context/actions/list-templates.d.ts.map +1 -1
- package/dist/tools/context/actions/list-templates.js +2 -1
- package/dist/tools/context/actions/list-templates.js.map +1 -1
- package/dist/tools/context/actions/list.d.ts +1 -1
- package/dist/tools/context/actions/list.d.ts.map +1 -1
- package/dist/tools/context/actions/list.js +24 -18
- package/dist/tools/context/actions/list.js.map +1 -1
- package/dist/tools/context/actions/search-advanced.d.ts.map +1 -1
- package/dist/tools/context/actions/search-advanced.js +61 -42
- package/dist/tools/context/actions/search-advanced.js.map +1 -1
- package/dist/tools/context/actions/search-layer.d.ts.map +1 -1
- package/dist/tools/context/actions/search-layer.js +16 -7
- package/dist/tools/context/actions/search-layer.js.map +1 -1
- package/dist/tools/context/actions/search-tags.d.ts.map +1 -1
- package/dist/tools/context/actions/search-tags.js +22 -14
- package/dist/tools/context/actions/search-tags.js.map +1 -1
- package/dist/tools/context/actions/set-from-policy.d.ts +28 -0
- package/dist/tools/context/actions/set-from-policy.d.ts.map +1 -0
- package/dist/tools/context/actions/set-from-policy.js +54 -0
- package/dist/tools/context/actions/set-from-policy.js.map +1 -0
- package/dist/tools/context/actions/set-from-template.d.ts.map +1 -1
- package/dist/tools/context/actions/set-from-template.js +2 -1
- package/dist/tools/context/actions/set-from-template.js.map +1 -1
- package/dist/tools/context/index.d.ts +5 -0
- package/dist/tools/context/index.d.ts.map +1 -1
- package/dist/tools/context/index.js +5 -0
- package/dist/tools/context/index.js.map +1 -1
- package/dist/tools/context/internal/queries.d.ts.map +1 -1
- package/dist/tools/context/internal/queries.js +551 -31
- package/dist/tools/context/internal/queries.js.map +1 -1
- package/dist/tools/context/internal/validation.d.ts +4 -0
- package/dist/tools/context/internal/validation.d.ts.map +1 -1
- package/dist/tools/context/internal/validation.js +13 -0
- package/dist/tools/context/internal/validation.js.map +1 -1
- package/dist/tools/help/actions/query-action.js +1 -1
- package/dist/tools/help/actions/query-action.js.map +1 -1
- package/dist/tools/help/actions/query-params.js +1 -1
- package/dist/tools/help/actions/query-params.js.map +1 -1
- package/dist/tools/help/actions/query-tool.js +1 -1
- package/dist/tools/help/actions/query-tool.js.map +1 -1
- package/dist/tools/help-queries.d.ts +12 -12
- package/dist/tools/help-queries.d.ts.map +1 -1
- package/dist/tools/help-queries.js +121 -140
- package/dist/tools/help-queries.js.map +1 -1
- package/dist/tools/suggest/actions/by-context.d.ts +28 -0
- package/dist/tools/suggest/actions/by-context.d.ts.map +1 -0
- package/dist/tools/suggest/actions/by-context.js +68 -0
- package/dist/tools/suggest/actions/by-context.js.map +1 -0
- package/dist/tools/suggest/actions/by-key.d.ts +20 -0
- package/dist/tools/suggest/actions/by-key.d.ts.map +1 -0
- package/dist/tools/suggest/actions/by-key.js +55 -0
- package/dist/tools/suggest/actions/by-key.js.map +1 -0
- package/dist/tools/suggest/actions/by-tags.d.ts +23 -0
- package/dist/tools/suggest/actions/by-tags.d.ts.map +1 -0
- package/dist/tools/suggest/actions/by-tags.js +58 -0
- package/dist/tools/suggest/actions/by-tags.js.map +1 -0
- package/dist/tools/suggest/actions/check-duplicate.d.ts +20 -0
- package/dist/tools/suggest/actions/check-duplicate.d.ts.map +1 -0
- package/dist/tools/suggest/actions/check-duplicate.js +59 -0
- package/dist/tools/suggest/actions/check-duplicate.js.map +1 -0
- package/dist/tools/suggest/help/help.d.ts +5 -0
- package/dist/tools/suggest/help/help.d.ts.map +1 -0
- package/dist/tools/suggest/help/help.js +50 -0
- package/dist/tools/suggest/help/help.js.map +1 -0
- package/dist/tools/suggest/index.d.ts +18 -0
- package/dist/tools/suggest/index.d.ts.map +1 -0
- package/dist/tools/suggest/index.js +55 -0
- package/dist/tools/suggest/index.js.map +1 -0
- package/dist/tools/suggest/internal/queries.d.ts +60 -0
- package/dist/tools/suggest/internal/queries.d.ts.map +1 -0
- package/dist/tools/suggest/internal/queries.js +154 -0
- package/dist/tools/suggest/internal/queries.js.map +1 -0
- package/dist/tools/suggest/types.d.ts +70 -0
- package/dist/tools/suggest/types.d.ts.map +1 -0
- package/dist/tools/suggest/types.js +5 -0
- package/dist/tools/suggest/types.js.map +1 -0
- package/dist/tools/tasks/actions/link-pruned-file.d.ts +1 -0
- package/dist/tools/tasks/actions/link-pruned-file.d.ts.map +1 -1
- package/dist/tools/tasks/actions/link-pruned-file.js +7 -2
- package/dist/tools/tasks/actions/link-pruned-file.js.map +1 -1
- package/dist/tools/tasks/actions/link.d.ts.map +1 -1
- package/dist/tools/tasks/actions/link.js +4 -2
- package/dist/tools/tasks/actions/link.js.map +1 -1
- package/dist/tools/tasks/actions/list.d.ts.map +1 -1
- package/dist/tools/tasks/actions/list.js +37 -35
- package/dist/tools/tasks/actions/list.js.map +1 -1
- package/dist/tools/use_case/actions/search.d.ts +1 -1
- package/dist/tools/use_case/actions/search.d.ts.map +1 -1
- package/dist/tools/use_case/actions/search.js +31 -40
- package/dist/tools/use_case/actions/search.js.map +1 -1
- package/dist/types/actions.d.ts +10 -0
- package/dist/types/actions.d.ts.map +1 -1
- package/dist/types/decision/params.d.ts +7 -0
- package/dist/types/decision/params.d.ts.map +1 -1
- package/dist/types/decision/responses.d.ts +38 -0
- package/dist/types/decision/responses.d.ts.map +1 -1
- package/dist/types/view-entities.d.ts +1 -0
- package/dist/types/view-entities.d.ts.map +1 -1
- package/dist/types.d.ts +33 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/action-specs/decision-specs.js +3 -3
- package/dist/utils/action-specs/decision-specs.js.map +1 -1
- package/dist/utils/activity-logging.d.ts.map +1 -1
- package/dist/utils/activity-logging.js +7 -0
- package/dist/utils/activity-logging.js.map +1 -1
- package/dist/utils/db-aggregations.d.ts +88 -0
- package/dist/utils/db-aggregations.d.ts.map +1 -0
- package/dist/utils/db-aggregations.js +158 -0
- package/dist/utils/db-aggregations.js.map +1 -0
- package/dist/utils/file-pruning.d.ts +37 -13
- package/dist/utils/file-pruning.d.ts.map +1 -1
- package/dist/utils/file-pruning.js +93 -84
- package/dist/utils/file-pruning.js.map +1 -1
- package/dist/utils/policy-validator.d.ts +37 -0
- package/dist/utils/policy-validator.d.ts.map +1 -0
- package/dist/utils/policy-validator.js +240 -0
- package/dist/utils/policy-validator.js.map +1 -0
- package/dist/utils/quality-checks.d.ts +7 -7
- package/dist/utils/quality-checks.d.ts.map +1 -1
- package/dist/utils/quality-checks.js +18 -21
- package/dist/utils/quality-checks.js.map +1 -1
- package/dist/utils/semver.d.ts +50 -0
- package/dist/utils/semver.d.ts.map +1 -0
- package/dist/utils/semver.js +78 -0
- package/dist/utils/semver.js.map +1 -0
- package/dist/utils/sql-dump/schema/tables.d.ts.map +1 -1
- package/dist/utils/sql-dump/schema/tables.js +125 -7
- package/dist/utils/sql-dump/schema/tables.js.map +1 -1
- package/dist/utils/sql-dump/schema/views.d.ts.map +1 -1
- package/dist/utils/sql-dump/schema/views.js +6 -0
- package/dist/utils/sql-dump/schema/views.js.map +1 -1
- package/dist/utils/suggestion-scorer.d.ts +62 -0
- package/dist/utils/suggestion-scorer.d.ts.map +1 -0
- package/dist/utils/suggestion-scorer.js +169 -0
- package/dist/utils/suggestion-scorer.js.map +1 -0
- package/dist/utils/tag-parser.d.ts +52 -0
- package/dist/utils/tag-parser.d.ts.map +1 -0
- package/dist/utils/tag-parser.js +65 -0
- package/dist/utils/tag-parser.js.map +1 -0
- package/dist/utils/task-stale-detection.d.ts.map +1 -1
- package/dist/utils/task-stale-detection.js +40 -4
- package/dist/utils/task-stale-detection.js.map +1 -1
- package/dist/utils/token-logging.d.ts +9 -9
- package/dist/utils/token-logging.d.ts.map +1 -1
- package/dist/utils/token-logging.js +36 -38
- package/dist/utils/token-logging.js.map +1 -1
- package/dist/utils/universal-knex.d.ts +169 -0
- package/dist/utils/universal-knex.d.ts.map +1 -0
- package/dist/utils/universal-knex.js +318 -0
- package/dist/utils/universal-knex.js.map +1 -0
- package/dist/utils/validators.d.ts +2 -2
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +3 -2
- package/dist/utils/validators.js.map +1 -1
- package/dist/utils/vcs-adapter.d.ts.map +1 -1
- package/dist/utils/vcs-adapter.js +21 -14
- package/dist/utils/vcs-adapter.js.map +1 -1
- package/dist/utils/view-queries.d.ts +11 -3
- package/dist/utils/view-queries.d.ts.map +1 -1
- package/dist/utils/view-queries.js +122 -87
- package/dist/utils/view-queries.js.map +1 -1
- package/dist/watcher/file-watcher.d.ts.map +1 -1
- package/dist/watcher/file-watcher.js +99 -84
- package/dist/watcher/file-watcher.js.map +1 -1
- package/docs/BEST_PRACTICES.md +10 -0
- package/docs/DECISION_CONTEXT.md +190 -1
- package/docs/DECISION_INTELLIGENCE.md +594 -0
- package/docs/MIGRATION_GUIDE_V3.9.0.md +371 -0
- package/docs/SLASH_COMMANDS.md +652 -0
- package/docs/TOOL_REFERENCE.md +164 -22
- package/docs/TOOL_SELECTION.md +16 -2
- package/docs/WORKFLOWS.md +163 -0
- package/docs/changelogs/CHANGELOG_ARCHIVE_v3.4_and_older.md +296 -0
- package/package.json +35 -10
- package/scripts/check-cross-db-patterns.sh +105 -0
- package/scripts/filter-test-output.js +74 -0
- package/scripts/verify-migrations.sh +129 -0
- package/dist/tests/all-features.test.d.ts.map +0 -1
- package/dist/tests/all-features.test.js.map +0 -1
- package/dist/tests/batch-validation-comprehensive.test.d.ts.map +0 -1
- package/dist/tests/batch-validation-comprehensive.test.js.map +0 -1
- package/dist/tests/batch-validation-integration.test.d.ts.map +0 -1
- package/dist/tests/batch-validation-integration.test.js.map +0 -1
- package/dist/tests/batch-validation.test.d.ts.map +0 -1
- package/dist/tests/batch-validation.test.js.map +0 -1
- package/dist/tests/config-loader.test.d.ts.map +0 -1
- package/dist/tests/config-loader.test.js.map +0 -1
- package/dist/tests/connection-manager-integration.test.d.ts.map +0 -1
- package/dist/tests/connection-manager-integration.test.js.map +0 -1
- package/dist/tests/connection-manager.test.d.ts.map +0 -1
- package/dist/tests/connection-manager.test.js.map +0 -1
- package/dist/tests/context-modular.test.d.ts.map +0 -1
- package/dist/tests/context-modular.test.js.map +0 -1
- package/dist/tests/decision-batch-validation.test.d.ts.map +0 -1
- package/dist/tests/decision-batch-validation.test.js.map +0 -1
- package/dist/tests/dump-import.test.d.ts.map +0 -1
- package/dist/tests/dump-import.test.js.map +0 -1
- package/dist/tests/git-aware-completion.test.d.ts.map +0 -1
- package/dist/tests/git-aware-completion.test.js.map +0 -1
- package/dist/tests/help-system.test.d.ts.map +0 -1
- package/dist/tests/help-system.test.js.map +0 -1
- package/dist/tests/migration-idempotency.test.d.ts +0 -2
- package/dist/tests/migration-idempotency.test.d.ts.map +0 -1
- package/dist/tests/migration-idempotency.test.js.map +0 -1
- package/dist/tests/migration-upgrade-paths.test.d.ts +0 -2
- package/dist/tests/migration-upgrade-paths.test.d.ts.map +0 -1
- package/dist/tests/migration-upgrade-paths.test.js.map +0 -1
- package/dist/tests/multi-project-migration.test.d.ts.map +0 -1
- package/dist/tests/multi-project-migration.test.js.map +0 -1
- package/dist/tests/multi-project.test.d.ts.map +0 -1
- package/dist/tests/multi-project.test.js.map +0 -1
- package/dist/tests/parameter-validation.test.d.ts.map +0 -1
- package/dist/tests/parameter-validation.test.js.map +0 -1
- package/dist/tests/project-detector.test.d.ts.map +0 -1
- package/dist/tests/project-detector.test.js.map +0 -1
- package/dist/tests/schema-migration.test.d.ts.map +0 -1
- package/dist/tests/schema-migration.test.js.map +0 -1
- package/dist/tests/sql-dump-converters.test.d.ts.map +0 -1
- package/dist/tests/sql-dump-converters.test.js.map +0 -1
- package/dist/tests/sql-dump-cross-database.test.d.ts.map +0 -1
- package/dist/tests/sql-dump-cross-database.test.js.map +0 -1
- package/dist/tests/sql-dump-default-conversions.test.d.ts.map +0 -1
- package/dist/tests/sql-dump-default-conversions.test.js.map +0 -1
- package/dist/tests/sql-dump-fk-constraints.test.d.ts.map +0 -1
- package/dist/tests/sql-dump-fk-constraints.test.js.map +0 -1
- package/dist/tests/sql-dump-indexes.test.d.ts.map +0 -1
- package/dist/tests/sql-dump-indexes.test.js.map +0 -1
- package/dist/tests/sql-dump-integration.test.d.ts.map +0 -1
- package/dist/tests/sql-dump-integration.test.js.map +0 -1
- package/dist/tests/sql-dump-table-ordering.test.d.ts +0 -8
- package/dist/tests/sql-dump-table-ordering.test.d.ts.map +0 -1
- package/dist/tests/sql-dump-table-ordering.test.js.map +0 -1
- package/dist/tests/tasks.auto-pruning-decision-link.test.d.ts.map +0 -1
- package/dist/tests/tasks.auto-pruning-decision-link.test.js.map +0 -1
- package/dist/tests/tasks.auto-pruning-partial.test.d.ts.map +0 -1
- package/dist/tests/tasks.auto-pruning-partial.test.js.map +0 -1
- package/dist/tests/tasks.auto-pruning-persistence.test.d.ts.map +0 -1
- package/dist/tests/tasks.auto-pruning-persistence.test.js.map +0 -1
- package/dist/tests/tasks.auto-pruning-safety.test.d.ts.map +0 -1
- package/dist/tests/tasks.auto-pruning-safety.test.js.map +0 -1
- package/dist/tests/tasks.dependencies.test.d.ts.map +0 -1
- package/dist/tests/tasks.dependencies.test.js.map +0 -1
- package/dist/tests/tasks.file-actions-integration.test.d.ts.map +0 -1
- package/dist/tests/tasks.file-actions-integration.test.js.map +0 -1
- package/dist/tests/tasks.file-actions-validation.test.d.ts.map +0 -1
- package/dist/tests/tasks.file-actions-validation.test.js.map +0 -1
- package/dist/tests/tasks.link-file-backward-compat.test.d.ts.map +0 -1
- package/dist/tests/tasks.link-file-backward-compat.test.js.map +0 -1
- package/dist/tests/tasks.watch-files-action.test.d.ts.map +0 -1
- package/dist/tests/tasks.watch-files-action.test.js.map +0 -1
- package/dist/tests/tasks.watch-files-parameter.test.d.ts.map +0 -1
- package/dist/tests/tasks.watch-files-parameter.test.js.map +0 -1
- package/dist/tests/two-step-git-completion.test.d.ts.map +0 -1
- package/dist/tests/two-step-git-completion.test.js.map +0 -1
- package/dist/tests/type-conversion.test.d.ts.map +0 -1
- package/dist/tests/type-conversion.test.js.map +0 -1
- package/dist/tests/vcs-staging.test.d.ts.map +0 -1
- package/dist/tests/vcs-staging.test.js.map +0 -1
- package/dist/utils/sql-dump.d.ts +0 -102
- package/dist/utils/sql-dump.d.ts.map +0 -1
- package/dist/utils/sql-dump.js +0 -1590
- package/dist/utils/sql-dump.js.map +0 -1
- /package/dist/tests/{connection-manager-integration.test.d.ts → database/connection/connection-manager-integration.test.d.ts} +0 -0
- /package/dist/tests/{connection-manager.test.d.ts → database/connection/connection-manager.test.d.ts} +0 -0
- /package/dist/tests/{multi-project.test.d.ts → database/multi-project/multi-project.test.d.ts} +0 -0
- /package/dist/tests/{type-conversion.test.d.ts → database/sql-dump/type-conversion.test.d.ts} +0 -0
- /package/dist/tests/{dump-import.test.d.ts → docker/dump-import.test.d.ts} +0 -0
- /package/dist/tests/{multi-project-migration.test.d.ts → docker/multi-project-migration.test.d.ts} +0 -0
- /package/dist/tests/{schema-migration.test.d.ts → docker/schema-migration.test.d.ts} +0 -0
- /package/dist/tests/{batch-validation-comprehensive.test.d.ts → feature/decision/batch-validation-comprehensive.test.d.ts} +0 -0
- /package/dist/tests/{batch-validation-integration.test.d.ts → feature/decision/batch-validation-integration.test.d.ts} +0 -0
- /package/dist/tests/{context-modular.test.d.ts → feature/decision/context-modular.test.d.ts} +0 -0
- /package/dist/tests/{help-system.test.d.ts → feature/help/help-system.test.d.ts} +0 -0
- /package/dist/tests/{git-aware-completion.test.d.ts → feature/vcs/git-aware-completion.test.d.ts} +0 -0
- /package/dist/tests/{two-step-git-completion.test.d.ts → feature/vcs/two-step-git-completion.test.d.ts} +0 -0
- /package/dist/tests/{vcs-staging.test.d.ts → feature/vcs/vcs-staging.test.d.ts} +0 -0
- /package/dist/tests/{config-loader.test.d.ts → unit/utils/config-loader.test.d.ts} +0 -0
- /package/dist/tests/{project-detector.test.d.ts → unit/utils/project-detector.test.d.ts} +0 -0
- /package/dist/tests/{batch-validation.test.d.ts → unit/validation/batch-validation.test.d.ts} +0 -0
- /package/dist/tests/{parameter-validation.test.d.ts → unit/validation/parameter-validation.test.d.ts} +0 -0
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.ts
|
|
3
|
+
* Changes:
|
|
4
|
+
* - No Universal Knex Wrapper needed (pure data seeding migration)
|
|
5
|
+
* - Original code already idempotent and cross-database compatible
|
|
6
|
+
* - Line count: 244 (original) → 244 (no reduction - optimal as-is)
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Migration: Add Policy Actions to Help System (v3.9.0)
|
|
10
|
+
*
|
|
11
|
+
* Adds documentation for 3 policy management actions:
|
|
12
|
+
* - create_policy
|
|
13
|
+
* - list_policies
|
|
14
|
+
* - set_from_policy
|
|
15
|
+
*
|
|
16
|
+
* Part of v3.9.0 Decision Intelligence System
|
|
17
|
+
*/
|
|
18
|
+
export async function up(knex) {
|
|
19
|
+
// Check if policy actions already documented
|
|
20
|
+
const existingActions = await knex('m_help_actions')
|
|
21
|
+
.where('tool_name', 'decision')
|
|
22
|
+
.whereIn('action_name', ['create_policy', 'list_policies', 'set_from_policy'])
|
|
23
|
+
.select('action_name');
|
|
24
|
+
if (existingActions.length > 0) {
|
|
25
|
+
console.log('✓ Policy help already exists, skipping');
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
// Add policy actions to m_help_actions
|
|
29
|
+
await knex('m_help_actions').insert([
|
|
30
|
+
{
|
|
31
|
+
tool_name: 'decision',
|
|
32
|
+
action_name: 'create_policy',
|
|
33
|
+
description: 'Create reusable decision policy with validation rules, quality gates, and auto-suggestion triggers. Policies standardize common decision types and enforce architectural standards across team.'
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
tool_name: 'decision',
|
|
37
|
+
action_name: 'list_policies',
|
|
38
|
+
description: 'List all available decision policies with optional filtering by category or suggestion behavior. Shows policy defaults, validation rules, and quality requirements.'
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
tool_name: 'decision',
|
|
42
|
+
action_name: 'set_from_policy',
|
|
43
|
+
description: 'Create decision from policy template. Applies policy defaults (layer, tags, priority) and validates against policy rules. Automatically triggers suggestions if policy has suggest_similar enabled.'
|
|
44
|
+
}
|
|
45
|
+
]);
|
|
46
|
+
// Get action IDs for parameter seeding
|
|
47
|
+
const createPolicyAction = await knex('m_help_actions')
|
|
48
|
+
.where({ tool_name: 'decision', action_name: 'create_policy' })
|
|
49
|
+
.select('action_id')
|
|
50
|
+
.first();
|
|
51
|
+
const listPoliciesAction = await knex('m_help_actions')
|
|
52
|
+
.where({ tool_name: 'decision', action_name: 'list_policies' })
|
|
53
|
+
.select('action_id')
|
|
54
|
+
.first();
|
|
55
|
+
const setFromPolicyAction = await knex('m_help_actions')
|
|
56
|
+
.where({ tool_name: 'decision', action_name: 'set_from_policy' })
|
|
57
|
+
.select('action_id')
|
|
58
|
+
.first();
|
|
59
|
+
if (!createPolicyAction || !listPoliciesAction || !setFromPolicyAction) {
|
|
60
|
+
throw new Error('Failed to retrieve policy action IDs');
|
|
61
|
+
}
|
|
62
|
+
// Add parameters for create_policy
|
|
63
|
+
await knex('t_help_action_params').insert([
|
|
64
|
+
{
|
|
65
|
+
action_id: createPolicyAction.action_id,
|
|
66
|
+
param_name: 'name',
|
|
67
|
+
param_type: 'string',
|
|
68
|
+
required: 1,
|
|
69
|
+
description: 'Policy name (unique identifier). Use snake_case (e.g., "security_vulnerability", "architecture_decision").'
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
action_id: createPolicyAction.action_id,
|
|
73
|
+
param_name: 'defaults',
|
|
74
|
+
param_type: 'object',
|
|
75
|
+
required: 1,
|
|
76
|
+
description: 'Default metadata applied to decisions: {layer, status, tags, priority}. Decisions can override these.'
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
action_id: createPolicyAction.action_id,
|
|
80
|
+
param_name: 'validation_rules',
|
|
81
|
+
param_type: 'object',
|
|
82
|
+
required: 0,
|
|
83
|
+
description: 'Validation rules with regex patterns: {patterns: {field_name: "regex"}}. Validates key, value, or context fields.',
|
|
84
|
+
default_value: 'null'
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
action_id: createPolicyAction.action_id,
|
|
88
|
+
param_name: 'quality_gates',
|
|
89
|
+
param_type: 'object',
|
|
90
|
+
required: 0,
|
|
91
|
+
description: 'Quality requirements: {required_fields: ["rationale", "alternatives"]}. Enforces decision documentation standards.',
|
|
92
|
+
default_value: 'null'
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
action_id: createPolicyAction.action_id,
|
|
96
|
+
param_name: 'suggest_similar',
|
|
97
|
+
param_type: 'boolean',
|
|
98
|
+
required: 0,
|
|
99
|
+
description: 'Auto-trigger suggestions when decisions match this policy. Use for critical decision types to prevent duplicates.',
|
|
100
|
+
default_value: 'false'
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
action_id: createPolicyAction.action_id,
|
|
104
|
+
param_name: 'category',
|
|
105
|
+
param_type: 'string',
|
|
106
|
+
required: 0,
|
|
107
|
+
description: 'Policy category for organization (e.g., "security", "architecture", "performance").',
|
|
108
|
+
default_value: 'null'
|
|
109
|
+
}
|
|
110
|
+
]);
|
|
111
|
+
// Add parameters for list_policies
|
|
112
|
+
await knex('t_help_action_params').insert([
|
|
113
|
+
{
|
|
114
|
+
action_id: listPoliciesAction.action_id,
|
|
115
|
+
param_name: 'category',
|
|
116
|
+
param_type: 'string',
|
|
117
|
+
required: 0,
|
|
118
|
+
description: 'Filter policies by category (e.g., "security", "architecture").',
|
|
119
|
+
default_value: 'null'
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
action_id: listPoliciesAction.action_id,
|
|
123
|
+
param_name: 'suggest_similar',
|
|
124
|
+
param_type: 'boolean',
|
|
125
|
+
required: 0,
|
|
126
|
+
description: 'Filter policies by auto-suggestion behavior. True = policies that trigger suggestions.',
|
|
127
|
+
default_value: 'null'
|
|
128
|
+
}
|
|
129
|
+
]);
|
|
130
|
+
// Add parameters for set_from_policy
|
|
131
|
+
await knex('t_help_action_params').insert([
|
|
132
|
+
{
|
|
133
|
+
action_id: setFromPolicyAction.action_id,
|
|
134
|
+
param_name: 'policy_name',
|
|
135
|
+
param_type: 'string',
|
|
136
|
+
required: 1,
|
|
137
|
+
description: 'Policy to use (e.g., "security_vulnerability"). Policy defaults will be applied.'
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
action_id: setFromPolicyAction.action_id,
|
|
141
|
+
param_name: 'key',
|
|
142
|
+
param_type: 'string',
|
|
143
|
+
required: 1,
|
|
144
|
+
description: 'Decision key. Will be validated against policy patterns if defined.'
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
action_id: setFromPolicyAction.action_id,
|
|
148
|
+
param_name: 'value',
|
|
149
|
+
param_type: 'string|number',
|
|
150
|
+
required: 1,
|
|
151
|
+
description: 'Decision value. Will be validated against policy patterns if defined.'
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
action_id: setFromPolicyAction.action_id,
|
|
155
|
+
param_name: 'layer',
|
|
156
|
+
param_type: 'string',
|
|
157
|
+
required: 0,
|
|
158
|
+
description: 'Override policy default layer.',
|
|
159
|
+
default_value: 'null'
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
action_id: setFromPolicyAction.action_id,
|
|
163
|
+
param_name: 'tags',
|
|
164
|
+
param_type: 'array',
|
|
165
|
+
required: 0,
|
|
166
|
+
description: 'Override or extend policy default tags.',
|
|
167
|
+
default_value: '[]'
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
action_id: setFromPolicyAction.action_id,
|
|
171
|
+
param_name: 'rationale',
|
|
172
|
+
param_type: 'string',
|
|
173
|
+
required: 0,
|
|
174
|
+
description: 'Rationale/justification. Required if policy has quality_gates.required_fields.',
|
|
175
|
+
default_value: 'null'
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
action_id: setFromPolicyAction.action_id,
|
|
179
|
+
param_name: 'alternatives',
|
|
180
|
+
param_type: 'array',
|
|
181
|
+
required: 0,
|
|
182
|
+
description: 'Alternatives considered. Required if policy has quality_gates.required_fields.',
|
|
183
|
+
default_value: '[]'
|
|
184
|
+
}
|
|
185
|
+
]);
|
|
186
|
+
// Add code examples
|
|
187
|
+
await knex('t_help_action_examples').insert([
|
|
188
|
+
{
|
|
189
|
+
action_id: createPolicyAction.action_id,
|
|
190
|
+
example_title: 'Create security vulnerability policy',
|
|
191
|
+
example_code: '{"action":"create_policy","name":"security_vulnerability","defaults":{"layer":"cross-cutting","tags":["security","vulnerability"],"priority":4},"validation_rules":{"patterns":{"key":"^CVE-\\\\d{4}-\\\\d{4,7}$"}},"quality_gates":{"required_fields":["rationale"]},"suggest_similar":true,"category":"security"}',
|
|
192
|
+
explanation: 'Creates policy for CVE tracking with key pattern validation, required rationale, and auto-suggestions.'
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
action_id: createPolicyAction.action_id,
|
|
196
|
+
example_title: 'Create architecture decision policy',
|
|
197
|
+
example_code: '{"action":"create_policy","name":"architecture_decision","defaults":{"layer":"infrastructure","tags":["architecture","adr"],"priority":3},"quality_gates":{"required_fields":["rationale","alternatives","tradeoffs"]},"suggest_similar":true,"category":"architecture"}',
|
|
198
|
+
explanation: 'Creates ADR policy requiring full decision context (rationale, alternatives, tradeoffs).'
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
action_id: listPoliciesAction.action_id,
|
|
202
|
+
example_title: 'List all policies',
|
|
203
|
+
example_code: '{"action":"list_policies"}',
|
|
204
|
+
explanation: 'Returns all available policies with defaults, validation rules, and quality gates.'
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
action_id: listPoliciesAction.action_id,
|
|
208
|
+
example_title: 'List policies with auto-suggestions',
|
|
209
|
+
example_code: '{"action":"list_policies","suggest_similar":true}',
|
|
210
|
+
explanation: 'Returns only policies that auto-trigger suggestions (suggest_similar=true).'
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
action_id: setFromPolicyAction.action_id,
|
|
214
|
+
example_title: 'Create CVE decision from policy',
|
|
215
|
+
example_code: '{"action":"set_from_policy","policy_name":"security_vulnerability","key":"CVE-2024-12345","value":"SQL injection vulnerability in user authentication","rationale":"Discovered during security audit. Allows authentication bypass via crafted input."}',
|
|
216
|
+
explanation: 'Creates decision using security_vulnerability policy. Policy enforces CVE format, adds security tags, and triggers suggestions for related vulnerabilities.'
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
action_id: setFromPolicyAction.action_id,
|
|
220
|
+
example_title: 'Create architecture decision from policy',
|
|
221
|
+
example_code: '{"action":"set_from_policy","policy_name":"architecture_decision","key":"arch/microservices-migration","value":"Migrate to microservices architecture","rationale":"Improve scalability and team autonomy","alternatives":[{"option":"Monolith","rejected_because":"Cannot scale horizontally"}],"tradeoffs":{"pros":["Better scalability","Team autonomy"],"cons":["Operational complexity","Network overhead"]}}',
|
|
222
|
+
explanation: 'Creates ADR using architecture_decision policy. Policy enforces full decision context and auto-triggers related architecture suggestions.'
|
|
223
|
+
}
|
|
224
|
+
]);
|
|
225
|
+
console.log('✓ Added policy help (3 actions, 15 parameters, 6 examples)');
|
|
226
|
+
}
|
|
227
|
+
export async function down(knex) {
|
|
228
|
+
// Remove policy action help (cascades to parameters and examples)
|
|
229
|
+
await knex('m_help_actions')
|
|
230
|
+
.where('tool_name', 'decision')
|
|
231
|
+
.whereIn('action_name', ['create_policy', 'list_policies', 'set_from_policy'])
|
|
232
|
+
.delete();
|
|
233
|
+
console.log('✓ Removed policy help');
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=20251114140000_add_policy_help_v3_9_0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251114140000_add_policy_help_v3_9_0.js","sourceRoot":"","sources":["../../../src/database/migrations/20251114140000_add_policy_help_v3_9_0.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.ts
|
|
3
|
+
* Changes:
|
|
4
|
+
* - No Universal Knex Wrapper needed (pure data seeding migration)
|
|
5
|
+
* - Original code already idempotent and cross-database compatible
|
|
6
|
+
* - Line count: 248 (original) → 248 (no reduction - optimal as-is)
|
|
7
|
+
*/
|
|
8
|
+
import type { Knex } from "knex";
|
|
9
|
+
/**
|
|
10
|
+
* Migration: Add Policy Use Cases (v3.9.0)
|
|
11
|
+
*
|
|
12
|
+
* Adds comprehensive use cases for policy workflows:
|
|
13
|
+
* - Creating custom team policies
|
|
14
|
+
* - Using policies to enforce decision quality
|
|
15
|
+
* - Leveraging auto-suggestions from policies
|
|
16
|
+
*
|
|
17
|
+
* Part of v3.9.0 Decision Intelligence System
|
|
18
|
+
*/
|
|
19
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
20
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=20251114141000_add_policy_use_cases_v3_9_0.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251114141000_add_policy_use_cases_v3_9_0.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;;;;GASG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA+NlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpD"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.ts
|
|
3
|
+
* Changes:
|
|
4
|
+
* - No Universal Knex Wrapper needed (pure data seeding migration)
|
|
5
|
+
* - Original code already idempotent and cross-database compatible
|
|
6
|
+
* - Line count: 248 (original) → 248 (no reduction - optimal as-is)
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Migration: Add Policy Use Cases (v3.9.0)
|
|
10
|
+
*
|
|
11
|
+
* Adds comprehensive use cases for policy workflows:
|
|
12
|
+
* - Creating custom team policies
|
|
13
|
+
* - Using policies to enforce decision quality
|
|
14
|
+
* - Leveraging auto-suggestions from policies
|
|
15
|
+
*
|
|
16
|
+
* Part of v3.9.0 Decision Intelligence System
|
|
17
|
+
*/
|
|
18
|
+
export async function up(knex) {
|
|
19
|
+
// Get category IDs
|
|
20
|
+
const decisionCategory = await knex('m_help_use_case_categories')
|
|
21
|
+
.where('category_name', 'decision_tracking')
|
|
22
|
+
.select('category_id')
|
|
23
|
+
.first();
|
|
24
|
+
const crossToolCategory = await knex('m_help_use_case_categories')
|
|
25
|
+
.where('category_name', 'cross_tool_workflow')
|
|
26
|
+
.select('category_id')
|
|
27
|
+
.first();
|
|
28
|
+
if (!decisionCategory || !crossToolCategory) {
|
|
29
|
+
throw new Error('Required use case categories not found');
|
|
30
|
+
}
|
|
31
|
+
// Check if policy use cases already exist
|
|
32
|
+
const existing = await knex('t_help_use_cases')
|
|
33
|
+
.where('title', 'like', '%policy%')
|
|
34
|
+
.where('full_example', 'like', '%create_policy%');
|
|
35
|
+
if (existing.length > 0) {
|
|
36
|
+
console.log('✓ Policy use cases already exist, skipping');
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
// Add policy use cases
|
|
40
|
+
await knex('t_help_use_cases').insert([
|
|
41
|
+
{
|
|
42
|
+
category_id: decisionCategory.category_id,
|
|
43
|
+
title: 'Create custom policy for team standards',
|
|
44
|
+
complexity: 'basic',
|
|
45
|
+
description: 'Define a custom decision policy that enforces team standards for specific decision types. Policies provide defaults, validation rules, and quality requirements.',
|
|
46
|
+
full_example: JSON.stringify({
|
|
47
|
+
scenario: 'Your team needs to standardize API endpoint decisions with consistent metadata and documentation',
|
|
48
|
+
steps: [
|
|
49
|
+
{
|
|
50
|
+
step: 1,
|
|
51
|
+
action: 'decision.create_policy',
|
|
52
|
+
code: {
|
|
53
|
+
action: 'create_policy',
|
|
54
|
+
name: 'api_endpoint',
|
|
55
|
+
defaults: {
|
|
56
|
+
layer: 'presentation',
|
|
57
|
+
tags: ['api', 'endpoint'],
|
|
58
|
+
priority: 2
|
|
59
|
+
},
|
|
60
|
+
validation_rules: {
|
|
61
|
+
patterns: {
|
|
62
|
+
key: '^api/v\\d+/' // Must start with api/v1/, api/v2/, etc.
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
quality_gates: {
|
|
66
|
+
required_fields: ['rationale'] // Must document endpoint purpose
|
|
67
|
+
},
|
|
68
|
+
suggest_similar: true,
|
|
69
|
+
category: 'api'
|
|
70
|
+
},
|
|
71
|
+
explanation: 'Create policy enforcing API versioning pattern and documentation standards'
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
step: 2,
|
|
75
|
+
action: 'decision.set_from_policy',
|
|
76
|
+
code: {
|
|
77
|
+
action: 'set_from_policy',
|
|
78
|
+
policy_name: 'api_endpoint',
|
|
79
|
+
key: 'api/v1/users/create',
|
|
80
|
+
value: 'POST endpoint for user registration',
|
|
81
|
+
rationale: 'Allows new users to register with email and password'
|
|
82
|
+
},
|
|
83
|
+
explanation: 'Create API decision using policy. Policy auto-applies layer and tags, validates key format, and triggers suggestions for related endpoints.'
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
expected_outcome: 'Consistent API decisions with standardized metadata and documentation',
|
|
87
|
+
common_pitfalls: [
|
|
88
|
+
'Regex patterns need proper escaping in JSON',
|
|
89
|
+
'Policy names must be unique per project',
|
|
90
|
+
'Quality gate fields must exactly match decision context field names'
|
|
91
|
+
]
|
|
92
|
+
}),
|
|
93
|
+
action_sequence: 'decision.create_policy → decision.set_from_policy'
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
category_id: decisionCategory.category_id,
|
|
97
|
+
title: 'Enforce decision quality with policies',
|
|
98
|
+
complexity: 'intermediate',
|
|
99
|
+
description: 'Use policies to enforce documentation standards for architectural decisions. Policies validate that critical decisions include rationale, alternatives, and tradeoffs.',
|
|
100
|
+
full_example: JSON.stringify({
|
|
101
|
+
scenario: 'Your team wants to ensure all architecture decisions follow ADR (Architecture Decision Record) format',
|
|
102
|
+
steps: [
|
|
103
|
+
{
|
|
104
|
+
step: 1,
|
|
105
|
+
action: 'decision.list_policies',
|
|
106
|
+
code: {
|
|
107
|
+
action: 'list_policies'
|
|
108
|
+
},
|
|
109
|
+
explanation: 'Check if architecture_decision policy exists (built-in policy)'
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
step: 2,
|
|
113
|
+
action: 'decision.set_from_policy',
|
|
114
|
+
code: {
|
|
115
|
+
action: 'set_from_policy',
|
|
116
|
+
policy_name: 'architecture_decision',
|
|
117
|
+
key: 'arch/database-choice',
|
|
118
|
+
value: 'Use PostgreSQL for primary database',
|
|
119
|
+
rationale: 'Need ACID compliance, JSON support, and strong ecosystem',
|
|
120
|
+
alternatives: [
|
|
121
|
+
{
|
|
122
|
+
option: 'MongoDB',
|
|
123
|
+
rejected_because: 'Weak transaction support for financial data'
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
option: 'MySQL',
|
|
127
|
+
rejected_because: 'Limited JSON query capabilities'
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
tradeoffs: {
|
|
131
|
+
pros: ['ACID compliance', 'JSON support', 'Mature ecosystem'],
|
|
132
|
+
cons: ['Higher memory usage', 'Steeper learning curve']
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
explanation: 'Create architecture decision. Policy enforces full ADR context (rationale, alternatives, tradeoffs).'
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
step: 3,
|
|
139
|
+
validation: 'If rationale or alternatives are missing, policy validation fails',
|
|
140
|
+
error_example: {
|
|
141
|
+
success: false,
|
|
142
|
+
policy_validation: {
|
|
143
|
+
valid: false,
|
|
144
|
+
matched_policy: 'architecture_decision',
|
|
145
|
+
violations: ['Quality gate: Required field missing: "rationale"']
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
],
|
|
150
|
+
expected_outcome: 'All architecture decisions have comprehensive documentation meeting ADR standards',
|
|
151
|
+
common_pitfalls: [
|
|
152
|
+
'Forgetting to include required fields (rationale, alternatives, tradeoffs)',
|
|
153
|
+
'Not using set_from_policy - won\'t trigger validation',
|
|
154
|
+
'Policy validation is advisory - decision still created but violations returned'
|
|
155
|
+
],
|
|
156
|
+
related_tools: ['decision']
|
|
157
|
+
}),
|
|
158
|
+
action_sequence: 'decision.list_policies → decision.set_from_policy (with validation)'
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
category_id: crossToolCategory.category_id,
|
|
162
|
+
title: 'Auto-trigger suggestions with policies',
|
|
163
|
+
complexity: 'advanced',
|
|
164
|
+
description: 'Configure policies to automatically trigger similarity suggestions when decisions are created. Prevents duplicates and ensures consistency for critical decision types like security vulnerabilities.',
|
|
165
|
+
full_example: JSON.stringify({
|
|
166
|
+
scenario: 'Track CVE security vulnerabilities with auto-suggestions to discover related issues',
|
|
167
|
+
steps: [
|
|
168
|
+
{
|
|
169
|
+
step: 1,
|
|
170
|
+
action: 'decision.set_from_policy',
|
|
171
|
+
code: {
|
|
172
|
+
action: 'set_from_policy',
|
|
173
|
+
policy_name: 'security_vulnerability',
|
|
174
|
+
key: 'CVE-2024-12345',
|
|
175
|
+
value: 'SQL injection in authentication endpoint',
|
|
176
|
+
rationale: 'Allows bypass via crafted input in login form'
|
|
177
|
+
},
|
|
178
|
+
explanation: 'Create CVE decision using built-in security_vulnerability policy. Policy has suggest_similar=true, so suggestions auto-trigger.'
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
step: 2,
|
|
182
|
+
response_includes: 'Auto-generated suggestions',
|
|
183
|
+
example_response: {
|
|
184
|
+
success: true,
|
|
185
|
+
key: 'CVE-2024-12345',
|
|
186
|
+
message: 'Decision created',
|
|
187
|
+
suggestions: {
|
|
188
|
+
triggered_by: 'security_vulnerability',
|
|
189
|
+
reason: 'Policy has suggest_similar enabled',
|
|
190
|
+
suggestions: [
|
|
191
|
+
{
|
|
192
|
+
key: 'CVE-2024-11111',
|
|
193
|
+
score: 75,
|
|
194
|
+
layer: 'cross-cutting',
|
|
195
|
+
tags: ['security', 'vulnerability']
|
|
196
|
+
}
|
|
197
|
+
]
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
explanation: 'Response includes auto-triggered suggestions for related CVEs based on tags and layer'
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
step: 3,
|
|
204
|
+
action: 'decision.get',
|
|
205
|
+
code: {
|
|
206
|
+
action: 'get',
|
|
207
|
+
key: 'CVE-2024-11111',
|
|
208
|
+
include_context: true
|
|
209
|
+
},
|
|
210
|
+
explanation: 'Review suggested CVE to understand related vulnerability and potential patterns'
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
step: 4,
|
|
214
|
+
action: 'decision.add_decision_context',
|
|
215
|
+
code: {
|
|
216
|
+
action: 'add_decision_context',
|
|
217
|
+
key: 'CVE-2024-12345',
|
|
218
|
+
related_decisions: ['CVE-2024-11111']
|
|
219
|
+
},
|
|
220
|
+
explanation: 'Link related CVEs for cross-referencing'
|
|
221
|
+
}
|
|
222
|
+
],
|
|
223
|
+
expected_outcome: 'Automatic discovery of related security issues, preventing duplicate reports and revealing patterns',
|
|
224
|
+
common_pitfalls: [
|
|
225
|
+
'Auto-suggestions only trigger when using set_from_policy with suggest_similar=true policy',
|
|
226
|
+
'Suggestions require min_score threshold (default: 50) - low similarity matches excluded',
|
|
227
|
+
'Policy validation failures prevent auto-suggestions'
|
|
228
|
+
],
|
|
229
|
+
related_tools: ['decision', 'suggest']
|
|
230
|
+
}),
|
|
231
|
+
action_sequence: 'decision.set_from_policy (auto-triggers suggest.by_context) → decision.get → decision.add_decision_context'
|
|
232
|
+
}
|
|
233
|
+
]);
|
|
234
|
+
console.log('✓ Added 3 policy use cases (1 basic, 1 intermediate, 1 advanced)');
|
|
235
|
+
}
|
|
236
|
+
export async function down(knex) {
|
|
237
|
+
// Remove policy use cases
|
|
238
|
+
await knex('t_help_use_cases')
|
|
239
|
+
.where('title', 'like', '%policy%')
|
|
240
|
+
.where('full_example', 'like', '%create_policy%')
|
|
241
|
+
.delete();
|
|
242
|
+
console.log('✓ Removed policy use cases');
|
|
243
|
+
}
|
|
244
|
+
//# 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/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;;;GASG;AAEH,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,mBAAmB;IACnB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC;SAC9D,KAAK,CAAC,eAAe,EAAE,mBAAmB,CAAC;SAC3C,MAAM,CAAC,aAAa,CAAC;SACrB,KAAK,EAAE,CAAC;IAEX,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC;SAC/D,KAAK,CAAC,eAAe,EAAE,qBAAqB,CAAC;SAC7C,MAAM,CAAC,aAAa,CAAC;SACrB,KAAK,EAAE,CAAC;IAEX,IAAI,CAAC,gBAAgB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;SAC5C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC;SAClC,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAEpD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC;QACpC;YACE,WAAW,EAAE,gBAAgB,CAAC,WAAW;YACzC,KAAK,EAAE,yCAAyC;YAChD,UAAU,EAAE,OAAO;YACnB,WAAW,EAAE,kKAAkK;YAC/K,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC3B,QAAQ,EAAE,kGAAkG;gBAC5G,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,wBAAwB;wBAChC,IAAI,EAAE;4BACJ,MAAM,EAAE,eAAe;4BACvB,IAAI,EAAE,cAAc;4BACpB,QAAQ,EAAE;gCACR,KAAK,EAAE,cAAc;gCACrB,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;gCACzB,QAAQ,EAAE,CAAC;6BACZ;4BACD,gBAAgB,EAAE;gCAChB,QAAQ,EAAE;oCACR,GAAG,EAAE,aAAa,CAAE,yCAAyC;iCAC9D;6BACF;4BACD,aAAa,EAAE;gCACb,eAAe,EAAE,CAAC,WAAW,CAAC,CAAE,iCAAiC;6BAClE;4BACD,eAAe,EAAE,IAAI;4BACrB,QAAQ,EAAE,KAAK;yBAChB;wBACD,WAAW,EAAE,4EAA4E;qBAC1F;oBACD;wBACE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,0BAA0B;wBAClC,IAAI,EAAE;4BACJ,MAAM,EAAE,iBAAiB;4BACzB,WAAW,EAAE,cAAc;4BAC3B,GAAG,EAAE,qBAAqB;4BAC1B,KAAK,EAAE,qCAAqC;4BAC5C,SAAS,EAAE,sDAAsD;yBAClE;wBACD,WAAW,EAAE,6IAA6I;qBAC3J;iBACF;gBACD,gBAAgB,EAAE,uEAAuE;gBACzF,eAAe,EAAE;oBACf,6CAA6C;oBAC7C,yCAAyC;oBACzC,qEAAqE;iBACtE;aACF,CAAC;YACF,eAAe,EAAE,mDAAmD;SACrE;QACD;YACE,WAAW,EAAE,gBAAgB,CAAC,WAAW;YACzC,KAAK,EAAE,wCAAwC;YAC/C,UAAU,EAAE,cAAc;YAC1B,WAAW,EAAE,wKAAwK;YACrL,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC3B,QAAQ,EAAE,uGAAuG;gBACjH,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,wBAAwB;wBAChC,IAAI,EAAE;4BACJ,MAAM,EAAE,eAAe;yBACxB;wBACD,WAAW,EAAE,gEAAgE;qBAC9E;oBACD;wBACE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,0BAA0B;wBAClC,IAAI,EAAE;4BACJ,MAAM,EAAE,iBAAiB;4BACzB,WAAW,EAAE,uBAAuB;4BACpC,GAAG,EAAE,sBAAsB;4BAC3B,KAAK,EAAE,qCAAqC;4BAC5C,SAAS,EAAE,0DAA0D;4BACrE,YAAY,EAAE;gCACZ;oCACE,MAAM,EAAE,SAAS;oCACjB,gBAAgB,EAAE,6CAA6C;iCAChE;gCACD;oCACE,MAAM,EAAE,OAAO;oCACf,gBAAgB,EAAE,iCAAiC;iCACpD;6BACF;4BACD,SAAS,EAAE;gCACT,IAAI,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,CAAC;gCAC7D,IAAI,EAAE,CAAC,qBAAqB,EAAE,wBAAwB,CAAC;6BACxD;yBACF;wBACD,WAAW,EAAE,sGAAsG;qBACpH;oBACD;wBACE,IAAI,EAAE,CAAC;wBACP,UAAU,EAAE,mEAAmE;wBAC/E,aAAa,EAAE;4BACb,OAAO,EAAE,KAAK;4BACd,iBAAiB,EAAE;gCACjB,KAAK,EAAE,KAAK;gCACZ,cAAc,EAAE,uBAAuB;gCACvC,UAAU,EAAE,CAAC,mDAAmD,CAAC;6BAClE;yBACF;qBACF;iBACF;gBACD,gBAAgB,EAAE,mFAAmF;gBACrG,eAAe,EAAE;oBACf,4EAA4E;oBAC5E,uDAAuD;oBACvD,gFAAgF;iBACjF;gBACD,aAAa,EAAE,CAAC,UAAU,CAAC;aAC5B,CAAC;YACF,eAAe,EAAE,qEAAqE;SACvF;QACD;YACE,WAAW,EAAE,iBAAiB,CAAC,WAAW;YAC1C,KAAK,EAAE,wCAAwC;YAC/C,UAAU,EAAE,UAAU;YACtB,WAAW,EAAE,uMAAuM;YACpN,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC3B,QAAQ,EAAE,qFAAqF;gBAC/F,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,0BAA0B;wBAClC,IAAI,EAAE;4BACJ,MAAM,EAAE,iBAAiB;4BACzB,WAAW,EAAE,wBAAwB;4BACrC,GAAG,EAAE,gBAAgB;4BACrB,KAAK,EAAE,0CAA0C;4BACjD,SAAS,EAAE,+CAA+C;yBAC3D;wBACD,WAAW,EAAE,iIAAiI;qBAC/I;oBACD;wBACE,IAAI,EAAE,CAAC;wBACP,iBAAiB,EAAE,4BAA4B;wBAC/C,gBAAgB,EAAE;4BAChB,OAAO,EAAE,IAAI;4BACb,GAAG,EAAE,gBAAgB;4BACrB,OAAO,EAAE,kBAAkB;4BAC3B,WAAW,EAAE;gCACX,YAAY,EAAE,wBAAwB;gCACtC,MAAM,EAAE,oCAAoC;gCAC5C,WAAW,EAAE;oCACX;wCACE,GAAG,EAAE,gBAAgB;wCACrB,KAAK,EAAE,EAAE;wCACT,KAAK,EAAE,eAAe;wCACtB,IAAI,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC;qCACpC;iCACF;6BACF;yBACF;wBACD,WAAW,EAAE,uFAAuF;qBACrG;oBACD;wBACE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,cAAc;wBACtB,IAAI,EAAE;4BACJ,MAAM,EAAE,KAAK;4BACb,GAAG,EAAE,gBAAgB;4BACrB,eAAe,EAAE,IAAI;yBACtB;wBACD,WAAW,EAAE,iFAAiF;qBAC/F;oBACD;wBACE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,+BAA+B;wBACvC,IAAI,EAAE;4BACJ,MAAM,EAAE,sBAAsB;4BAC9B,GAAG,EAAE,gBAAgB;4BACrB,iBAAiB,EAAE,CAAC,gBAAgB,CAAC;yBACtC;wBACD,WAAW,EAAE,yCAAyC;qBACvD;iBACF;gBACD,gBAAgB,EAAE,qGAAqG;gBACvH,eAAe,EAAE;oBACf,2FAA2F;oBAC3F,yFAAyF;oBACzF,qDAAqD;iBACtD;gBACD,aAAa,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;aACvC,CAAC;YACF,eAAe,EAAE,4GAA4G;SAC9H;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,0BAA0B;IAC1B,MAAM,IAAI,CAAC,kBAAkB,CAAC;SAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC;SAClC,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,iBAAiB,CAAC;SAChD,MAAM,EAAE,CAAC;IAEZ,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.ts
|
|
3
|
+
* Changes:
|
|
4
|
+
* - Added Universal Knex Wrapper for createTableSafe
|
|
5
|
+
* - Replaced manual hasTable check with db.createTableSafe
|
|
6
|
+
* - Used helpers.stringColumn for database-aware VARCHAR lengths
|
|
7
|
+
* - Used helpers.timestampColumn for cross-database timestamp defaults
|
|
8
|
+
* - Line count: 74 (original) → 66 (12% reduction)
|
|
9
|
+
*/
|
|
10
|
+
import type { Knex } from "knex";
|
|
11
|
+
/**
|
|
12
|
+
* Migration: Fix t_decision_policies UNIQUE Constraint (v3.9.0)
|
|
13
|
+
*
|
|
14
|
+
* Removes single-column UNIQUE constraint on `name` column.
|
|
15
|
+
* Keeps only the composite UNIQUE constraint on (name, project_id).
|
|
16
|
+
*
|
|
17
|
+
* Root cause: Table was renamed from t_decision_templates which had
|
|
18
|
+
* UNIQUE(name), and project_id was added later with composite index,
|
|
19
|
+
* but old single-column constraint was never removed.
|
|
20
|
+
*/
|
|
21
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
22
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
23
|
+
//# sourceMappingURL=20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC;;;;;;;;;GASG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpD"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converted from: src/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.ts
|
|
3
|
+
* Changes:
|
|
4
|
+
* - Added Universal Knex Wrapper for createTableSafe
|
|
5
|
+
* - Replaced manual hasTable check with db.createTableSafe
|
|
6
|
+
* - Used helpers.stringColumn for database-aware VARCHAR lengths
|
|
7
|
+
* - Used helpers.timestampColumn for cross-database timestamp defaults
|
|
8
|
+
* - Line count: 74 (original) → 66 (12% reduction)
|
|
9
|
+
*/
|
|
10
|
+
import { UniversalKnex } from "../../utils/universal-knex.js";
|
|
11
|
+
/**
|
|
12
|
+
* Migration: Fix t_decision_policies UNIQUE Constraint (v3.9.0)
|
|
13
|
+
*
|
|
14
|
+
* Removes single-column UNIQUE constraint on `name` column.
|
|
15
|
+
* Keeps only the composite UNIQUE constraint on (name, project_id).
|
|
16
|
+
*
|
|
17
|
+
* Root cause: Table was renamed from t_decision_templates which had
|
|
18
|
+
* UNIQUE(name), and project_id was added later with composite index,
|
|
19
|
+
* but old single-column constraint was never removed.
|
|
20
|
+
*/
|
|
21
|
+
export async function up(knex) {
|
|
22
|
+
const db = new UniversalKnex(knex);
|
|
23
|
+
if (!db.isSQLite) {
|
|
24
|
+
// MySQL/PostgreSQL can drop constraints directly
|
|
25
|
+
console.log('✓ Non-SQLite database, skipping (constraint handling differs)');
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
// Check if table exists
|
|
29
|
+
const hasTable = await knex.schema.hasTable('t_decision_policies');
|
|
30
|
+
if (!hasTable) {
|
|
31
|
+
console.log('✓ t_decision_policies table does not exist, skipping');
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
// SQLite: Need to recreate table to remove column constraint
|
|
35
|
+
console.log('🔄 Fixing t_decision_policies UNIQUE constraint...');
|
|
36
|
+
// 1. Backup existing data
|
|
37
|
+
const existingPolicies = await knex('t_decision_policies').select('*');
|
|
38
|
+
console.log(` 📊 Backing up ${existingPolicies.length} existing policies...`);
|
|
39
|
+
// 2. Drop old table
|
|
40
|
+
await knex.schema.dropTable('t_decision_policies');
|
|
41
|
+
console.log(' ✓ Dropped old table');
|
|
42
|
+
// 3. Create new table with correct schema
|
|
43
|
+
await knex.schema.createTable('t_decision_policies', (table) => {
|
|
44
|
+
table.increments('id').primary();
|
|
45
|
+
table.string('name', 200).notNullable(); // NO single-column UNIQUE
|
|
46
|
+
table.integer('project_id').notNullable().defaultTo(1);
|
|
47
|
+
table.text('description'); // Policy description (from original schema)
|
|
48
|
+
table.text('defaults').notNullable(); // JSON: {layer, status, tags, priority}
|
|
49
|
+
table.text('required_fields'); // JSON array
|
|
50
|
+
table.text('validation_rules'); // JSON: pattern enforcement (v3.9.0)
|
|
51
|
+
table.text('quality_gates'); // JSON: completeness requirements (v3.9.0)
|
|
52
|
+
table.integer('suggest_similar').defaultTo(0); // Auto-trigger suggestions (v3.9.0)
|
|
53
|
+
table.string('category', 100); // Policy categorization (v3.9.0)
|
|
54
|
+
table.integer('created_by').nullable().references('id').inTable('m_agents').onDelete('SET NULL');
|
|
55
|
+
table.integer('ts').notNullable().defaultTo(db.nowTimestamp());
|
|
56
|
+
// Composite UNIQUE constraint (allows same name in different projects)
|
|
57
|
+
table.unique(['name', 'project_id']);
|
|
58
|
+
});
|
|
59
|
+
console.log(' ✓ Created new table with composite UNIQUE only');
|
|
60
|
+
// 4. Restore data
|
|
61
|
+
if (existingPolicies.length > 0) {
|
|
62
|
+
await knex('t_decision_policies').insert(existingPolicies);
|
|
63
|
+
console.log(` ✓ Restored ${existingPolicies.length} policies`);
|
|
64
|
+
}
|
|
65
|
+
console.log('✅ t_decision_policies UNIQUE constraint fixed');
|
|
66
|
+
}
|
|
67
|
+
export async function down(knex) {
|
|
68
|
+
console.log('⚠️ No rollback needed - schema remains valid');
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=20251114150000_fix_policy_unique_constraint_v3_9_0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251114150000_fix_policy_unique_constraint_v3_9_0.js","sourceRoot":"","sources":["../../../src/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.ts"],"names":[],"mappings":"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"}
|