sqlew 3.7.4 → 3.8.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 +243 -1
- package/LICENSE +0 -0
- package/README.md +69 -0
- package/assets/config.example.toml +0 -0
- package/assets/kanban-style.png +0 -0
- package/assets/kanban-visualizer.png +0 -0
- package/assets/sample-agents/README.md +0 -0
- package/assets/sample-agents/sqlew-architect.md +0 -0
- package/assets/sample-agents/sqlew-researcher.md +0 -0
- package/assets/sample-agents/sqlew-scrum-master.md +4 -4
- package/assets/schema.sql +0 -0
- package/assets/sqlew-logo.png +0 -0
- package/dist/adapters/postgresql-adapter.d.ts +197 -5
- package/dist/adapters/postgresql-adapter.d.ts.map +1 -1
- package/dist/adapters/postgresql-adapter.js +300 -36
- package/dist/adapters/postgresql-adapter.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +8 -71
- package/dist/cli.js.map +1 -1
- package/dist/config/knex/bootstrap/20251025021416_seed_master_data.d.ts.map +1 -1
- package/dist/config/knex/bootstrap/20251025021416_seed_master_data.js +158 -45
- package/dist/config/knex/bootstrap/20251025021416_seed_master_data.js.map +1 -1
- package/dist/config/knex/bootstrap/20251025070349_create_views.d.ts.map +1 -1
- package/dist/config/knex/bootstrap/20251025070349_create_views.js +60 -8
- package/dist/config/knex/bootstrap/20251025070349_create_views.js.map +1 -1
- package/dist/config/knex/enhancements/20251025100000_seed_help_metadata.js +1 -1
- package/dist/config/knex/enhancements/20251025100100_seed_remaining_use_cases.js +5 -5
- package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.d.ts.map +1 -1
- package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.js +9 -1
- package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.js.map +1 -1
- package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.d.ts.map +1 -1
- package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.js +8 -1
- package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.js.map +1 -1
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.d.ts +21 -0
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.js +73 -0
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts +19 -0
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js +88 -0
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts +24 -0
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.js +79 -0
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.js.map +1 -0
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.d.ts +27 -0
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.js +347 -0
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.d.ts +30 -0
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.js +232 -0
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.js.map +1 -0
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.d.ts.map +1 -1
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.js +9 -0
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.js.map +1 -1
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts +14 -0
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts.map +1 -0
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.js +97 -0
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.js.map +1 -0
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts +24 -0
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts.map +1 -0
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.js +303 -0
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.js.map +1 -0
- package/dist/constants.d.ts +14 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +28 -1
- package/dist/constants.js.map +1 -1
- package/dist/database/config/adapter-factory.d.ts +13 -0
- package/dist/database/config/adapter-factory.d.ts.map +1 -0
- package/dist/database/config/adapter-factory.js +21 -0
- package/dist/database/config/adapter-factory.js.map +1 -0
- package/dist/database/config/config-ops.d.ts +34 -0
- package/dist/database/config/config-ops.d.ts.map +1 -0
- package/dist/database/config/config-ops.js +76 -0
- package/dist/database/config/config-ops.js.map +1 -0
- package/dist/database/index.d.ts +21 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +31 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/initialization/cleanup.d.ts +8 -0
- package/dist/database/initialization/cleanup.d.ts.map +1 -0
- package/dist/database/initialization/cleanup.js +17 -0
- package/dist/database/initialization/cleanup.js.map +1 -0
- package/dist/database/initialization/init.d.ts +21 -0
- package/dist/database/initialization/init.d.ts.map +1 -0
- package/dist/database/initialization/init.js +83 -0
- package/dist/database/initialization/init.js.map +1 -0
- package/dist/database/operations/deletes.d.ts +10 -0
- package/dist/database/operations/deletes.d.ts.map +1 -0
- package/dist/database/operations/deletes.js +14 -0
- package/dist/database/operations/deletes.js.map +1 -0
- package/dist/database/operations/inserts.d.ts +40 -0
- package/dist/database/operations/inserts.d.ts.map +1 -0
- package/dist/database/operations/inserts.js +202 -0
- package/dist/database/operations/inserts.js.map +1 -0
- package/dist/database/operations/queries.d.ts +57 -0
- package/dist/database/operations/queries.d.ts.map +1 -0
- package/dist/database/operations/queries.js +77 -0
- package/dist/database/operations/queries.js.map +1 -0
- package/dist/database/operations/updates.d.ts +10 -0
- package/dist/database/operations/updates.d.ts.map +1 -0
- package/dist/database/operations/updates.js +14 -0
- package/dist/database/operations/updates.js.map +1 -0
- package/dist/database/types.d.ts +5 -0
- package/dist/database/types.d.ts.map +1 -0
- package/dist/database/types.js +5 -0
- package/dist/database/types.js.map +1 -0
- package/dist/database.d.ts +4 -144
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +5 -461
- package/dist/database.js.map +1 -1
- package/dist/index.js +29 -777
- package/dist/index.js.map +1 -1
- package/dist/server/arg-parser.d.ts +40 -0
- package/dist/server/arg-parser.d.ts.map +1 -0
- package/dist/server/arg-parser.js +137 -0
- package/dist/server/arg-parser.js.map +1 -0
- package/dist/server/setup.d.ts +31 -0
- package/dist/server/setup.d.ts.map +1 -0
- package/dist/server/setup.js +186 -0
- package/dist/server/setup.js.map +1 -0
- package/dist/server/shutdown.d.ts +15 -0
- package/dist/server/shutdown.d.ts.map +1 -0
- package/dist/server/shutdown.js +42 -0
- package/dist/server/shutdown.js.map +1 -0
- package/dist/server/tool-handlers.d.ts +10 -0
- package/dist/server/tool-handlers.d.ts.map +1 -0
- package/dist/server/tool-handlers.js +478 -0
- package/dist/server/tool-handlers.js.map +1 -0
- package/dist/server/tool-registry.d.ts +11 -0
- package/dist/server/tool-registry.d.ts.map +1 -0
- package/dist/server/tool-registry.js +225 -0
- package/dist/server/tool-registry.js.map +1 -0
- package/dist/tests/all-features.test.js +6 -38
- package/dist/tests/all-features.test.js.map +1 -1
- package/dist/tests/batch-validation-comprehensive.test.d.ts +12 -0
- package/dist/tests/batch-validation-comprehensive.test.d.ts.map +1 -0
- package/dist/tests/batch-validation-comprehensive.test.js +472 -0
- package/dist/tests/batch-validation-comprehensive.test.js.map +1 -0
- package/dist/tests/batch-validation-integration.test.d.ts +6 -0
- package/dist/tests/batch-validation-integration.test.d.ts.map +1 -0
- package/dist/tests/batch-validation-integration.test.js +193 -0
- package/dist/tests/batch-validation-integration.test.js.map +1 -0
- package/dist/tests/batch-validation.test.d.ts +6 -0
- package/dist/tests/batch-validation.test.d.ts.map +1 -0
- package/dist/tests/batch-validation.test.js +298 -0
- package/dist/tests/batch-validation.test.js.map +1 -0
- package/dist/tests/context-modular.test.d.ts +7 -0
- package/dist/tests/context-modular.test.d.ts.map +1 -0
- package/dist/tests/context-modular.test.js +271 -0
- package/dist/tests/context-modular.test.js.map +1 -0
- package/dist/tests/decision-batch-validation.test.d.ts +6 -0
- package/dist/tests/decision-batch-validation.test.d.ts.map +1 -0
- package/dist/tests/decision-batch-validation.test.js +253 -0
- package/dist/tests/decision-batch-validation.test.js.map +1 -0
- package/dist/tests/help-system.test.js +1 -1
- package/dist/tests/help-system.test.js.map +1 -1
- package/dist/tests/multi-project.test.js +2 -2
- package/dist/tests/multi-project.test.js.map +1 -1
- package/dist/tests/parameter-validation.test.js +2 -16
- package/dist/tests/parameter-validation.test.js.map +1 -1
- package/dist/tests/tasks.auto-pruning-decision-link.test.js +1 -1
- package/dist/tests/tasks.auto-pruning-decision-link.test.js.map +1 -1
- package/dist/tests/tasks.file-actions-integration.test.d.ts +10 -0
- package/dist/tests/tasks.file-actions-integration.test.d.ts.map +1 -0
- package/dist/tests/tasks.file-actions-integration.test.js +162 -0
- package/dist/tests/tasks.file-actions-integration.test.js.map +1 -0
- package/dist/tests/tasks.file-actions-validation.test.d.ts +6 -0
- package/dist/tests/tasks.file-actions-validation.test.d.ts.map +1 -0
- package/dist/tests/tasks.file-actions-validation.test.js +221 -0
- package/dist/tests/tasks.file-actions-validation.test.js.map +1 -0
- package/dist/tools/constraints/actions/add.d.ts +15 -0
- package/dist/tools/constraints/actions/add.d.ts.map +1 -0
- package/dist/tools/constraints/actions/add.js +101 -0
- package/dist/tools/constraints/actions/add.js.map +1 -0
- package/dist/tools/constraints/actions/deactivate.d.ts +16 -0
- package/dist/tools/constraints/actions/deactivate.d.ts.map +1 -0
- package/dist/tools/constraints/actions/deactivate.js +49 -0
- package/dist/tools/constraints/actions/deactivate.js.map +1 -0
- package/dist/tools/constraints/actions/get.d.ts +16 -0
- package/dist/tools/constraints/actions/get.d.ts.map +1 -0
- package/dist/tools/constraints/actions/get.js +76 -0
- package/dist/tools/constraints/actions/get.js.map +1 -0
- package/dist/tools/constraints/help/example.d.ts +9 -0
- package/dist/tools/constraints/help/example.d.ts.map +1 -0
- package/dist/tools/constraints/help/example.js +144 -0
- package/dist/tools/constraints/help/example.js.map +1 -0
- package/dist/tools/constraints/help/help.d.ts +9 -0
- package/dist/tools/constraints/help/help.d.ts.map +1 -0
- package/dist/tools/constraints/help/help.js +31 -0
- package/dist/tools/constraints/help/help.js.map +1 -0
- package/dist/tools/constraints/index.d.ts +12 -0
- package/dist/tools/constraints/index.d.ts.map +1 -0
- package/dist/tools/constraints/index.js +13 -0
- package/dist/tools/constraints/index.js.map +1 -0
- package/dist/tools/constraints/internal/validation.d.ts +11 -0
- package/dist/tools/constraints/internal/validation.d.ts.map +1 -0
- package/dist/tools/constraints/internal/validation.js +17 -0
- package/dist/tools/constraints/internal/validation.js.map +1 -0
- package/dist/tools/constraints/types.d.ts +6 -0
- package/dist/tools/constraints/types.d.ts.map +1 -0
- package/dist/tools/constraints/types.js +6 -0
- package/dist/tools/constraints/types.js.map +1 -0
- package/dist/tools/context/actions/add-context.d.ts +14 -0
- package/dist/tools/context/actions/add-context.d.ts.map +1 -0
- package/dist/tools/context/actions/add-context.js +62 -0
- package/dist/tools/context/actions/add-context.js.map +1 -0
- package/dist/tools/context/actions/batch-set.d.ts +16 -0
- package/dist/tools/context/actions/batch-set.d.ts.map +1 -0
- package/dist/tools/context/actions/batch-set.js +126 -0
- package/dist/tools/context/actions/batch-set.js.map +1 -0
- package/dist/tools/context/actions/create-template.d.ts +15 -0
- package/dist/tools/context/actions/create-template.d.ts.map +1 -0
- package/dist/tools/context/actions/create-template.js +68 -0
- package/dist/tools/context/actions/create-template.js.map +1 -0
- package/dist/tools/context/actions/get.d.ts +18 -0
- package/dist/tools/context/actions/get.d.ts.map +1 -0
- package/dist/tools/context/actions/get.js +80 -0
- package/dist/tools/context/actions/get.js.map +1 -0
- package/dist/tools/context/actions/hard-delete.d.ts +18 -0
- package/dist/tools/context/actions/hard-delete.d.ts.map +1 -0
- package/dist/tools/context/actions/hard-delete.js +85 -0
- package/dist/tools/context/actions/hard-delete.js.map +1 -0
- package/dist/tools/context/actions/has-updates.d.ts +16 -0
- package/dist/tools/context/actions/has-updates.d.ts.map +1 -0
- package/dist/tools/context/actions/has-updates.js +83 -0
- package/dist/tools/context/actions/has-updates.js.map +1 -0
- package/dist/tools/context/actions/list-contexts.d.ts +14 -0
- package/dist/tools/context/actions/list-contexts.d.ts.map +1 -0
- package/dist/tools/context/actions/list-contexts.js +43 -0
- package/dist/tools/context/actions/list-contexts.js.map +1 -0
- package/dist/tools/context/actions/list-templates.d.ts +15 -0
- package/dist/tools/context/actions/list-templates.d.ts.map +1 -0
- package/dist/tools/context/actions/list-templates.js +47 -0
- package/dist/tools/context/actions/list-templates.js.map +1 -0
- package/dist/tools/context/actions/list.d.ts +16 -0
- package/dist/tools/context/actions/list.d.ts.map +1 -0
- package/dist/tools/context/actions/list.js +100 -0
- package/dist/tools/context/actions/list.js.map +1 -0
- package/dist/tools/context/actions/quick-set.d.ts +21 -0
- package/dist/tools/context/actions/quick-set.d.ts.map +1 -0
- package/dist/tools/context/actions/quick-set.js +104 -0
- package/dist/tools/context/actions/quick-set.js.map +1 -0
- package/dist/tools/context/actions/search-advanced.d.ts +15 -0
- package/dist/tools/context/actions/search-advanced.d.ts.map +1 -0
- package/dist/tools/context/actions/search-advanced.js +140 -0
- package/dist/tools/context/actions/search-advanced.js.map +1 -0
- package/dist/tools/context/actions/search-layer.d.ts +15 -0
- package/dist/tools/context/actions/search-layer.d.ts.map +1 -0
- package/dist/tools/context/actions/search-layer.js +106 -0
- package/dist/tools/context/actions/search-layer.js.map +1 -0
- package/dist/tools/context/actions/search-tags.d.ts +15 -0
- package/dist/tools/context/actions/search-tags.d.ts.map +1 -0
- package/dist/tools/context/actions/search-tags.js +85 -0
- package/dist/tools/context/actions/search-tags.js.map +1 -0
- package/dist/tools/context/actions/set-from-template.d.ts +16 -0
- package/dist/tools/context/actions/set-from-template.d.ts.map +1 -0
- package/dist/tools/context/actions/set-from-template.js +83 -0
- package/dist/tools/context/actions/set-from-template.js.map +1 -0
- package/dist/tools/context/actions/set.d.ts +16 -0
- package/dist/tools/context/actions/set.d.ts.map +1 -0
- package/dist/tools/context/actions/set.js +56 -0
- package/dist/tools/context/actions/set.js.map +1 -0
- package/dist/tools/context/actions/versions.d.ts +15 -0
- package/dist/tools/context/actions/versions.d.ts.map +1 -0
- package/dist/tools/context/actions/versions.js +69 -0
- package/dist/tools/context/actions/versions.js.map +1 -0
- package/dist/tools/context/help/example.d.ts +5 -0
- package/dist/tools/context/help/example.d.ts.map +1 -0
- package/dist/tools/context/help/example.js +96 -0
- package/dist/tools/context/help/example.js.map +1 -0
- package/dist/tools/context/help/help.d.ts +5 -0
- package/dist/tools/context/help/help.d.ts.map +1 -0
- package/dist/tools/context/help/help.js +65 -0
- package/dist/tools/context/help/help.js.map +1 -0
- package/dist/tools/context/index.d.ts +25 -0
- package/dist/tools/context/index.d.ts.map +1 -0
- package/dist/tools/context/index.js +26 -0
- package/dist/tools/context/index.js.map +1 -0
- package/dist/tools/context/internal/queries.d.ts +18 -0
- package/dist/tools/context/internal/queries.d.ts.map +1 -0
- package/dist/tools/context/internal/queries.js +160 -0
- package/dist/tools/context/internal/queries.js.map +1 -0
- package/dist/tools/context/internal/validation.d.ts +39 -0
- package/dist/tools/context/internal/validation.d.ts.map +1 -0
- package/dist/tools/context/internal/validation.js +125 -0
- package/dist/tools/context/internal/validation.js.map +1 -0
- package/dist/tools/context/types.d.ts +6 -0
- package/dist/tools/context/types.d.ts.map +1 -0
- package/dist/tools/context/types.js +6 -0
- package/dist/tools/context/types.js.map +1 -0
- package/dist/tools/example/actions/get.d.ts +14 -0
- package/dist/tools/example/actions/get.d.ts.map +1 -0
- package/dist/tools/example/actions/get.js +40 -0
- package/dist/tools/example/actions/get.js.map +1 -0
- package/dist/tools/example/actions/list-all.d.ts +13 -0
- package/dist/tools/example/actions/list-all.d.ts.map +1 -0
- package/dist/tools/example/actions/list-all.js +39 -0
- package/dist/tools/example/actions/list-all.js.map +1 -0
- package/dist/tools/example/actions/search.d.ts +14 -0
- package/dist/tools/example/actions/search.d.ts.map +1 -0
- package/dist/tools/example/actions/search.js +52 -0
- package/dist/tools/example/actions/search.js.map +1 -0
- package/dist/tools/example/help/example.d.ts +6 -0
- package/dist/tools/example/help/example.d.ts.map +1 -0
- package/dist/tools/example/help/example.js +69 -0
- package/dist/tools/example/help/example.js.map +1 -0
- package/dist/tools/example/help/help.d.ts +6 -0
- package/dist/tools/example/help/help.d.ts.map +1 -0
- package/dist/tools/example/help/help.js +133 -0
- package/dist/tools/example/help/help.js.map +1 -0
- package/dist/tools/example/index.d.ts +11 -0
- package/dist/tools/example/index.d.ts.map +1 -0
- package/dist/tools/example/index.js +12 -0
- package/dist/tools/example/index.js.map +1 -0
- package/dist/tools/example/types.d.ts +59 -0
- package/dist/tools/example/types.d.ts.map +1 -0
- package/dist/tools/example/types.js +6 -0
- package/dist/tools/example/types.js.map +1 -0
- package/dist/tools/files/actions/check-lock.d.ts +16 -0
- package/dist/tools/files/actions/check-lock.d.ts.map +1 -0
- package/dist/tools/files/actions/check-lock.js +70 -0
- package/dist/tools/files/actions/check-lock.js.map +1 -0
- package/dist/tools/files/actions/get.d.ts +16 -0
- package/dist/tools/files/actions/get.d.ts.map +1 -0
- package/dist/tools/files/actions/get.js +113 -0
- package/dist/tools/files/actions/get.js.map +1 -0
- package/dist/tools/files/actions/record-batch.d.ts +18 -0
- package/dist/tools/files/actions/record-batch.d.ts.map +1 -0
- package/dist/tools/files/actions/record-batch.js +114 -0
- package/dist/tools/files/actions/record-batch.js.map +1 -0
- package/dist/tools/files/actions/record.d.ts +16 -0
- package/dist/tools/files/actions/record.d.ts.map +1 -0
- package/dist/tools/files/actions/record.js +37 -0
- package/dist/tools/files/actions/record.js.map +1 -0
- package/dist/tools/files/actions/sqlite-flush.d.ts +27 -0
- package/dist/tools/files/actions/sqlite-flush.d.ts.map +1 -0
- package/dist/tools/files/actions/sqlite-flush.js +66 -0
- package/dist/tools/files/actions/sqlite-flush.js.map +1 -0
- package/dist/tools/files/help/example.d.ts +5 -0
- package/dist/tools/files/help/example.d.ts.map +1 -0
- package/dist/tools/files/help/example.js +98 -0
- package/dist/tools/files/help/example.js.map +1 -0
- package/dist/tools/files/help/help.d.ts +5 -0
- package/dist/tools/files/help/help.d.ts.map +1 -0
- package/dist/tools/files/help/help.js +29 -0
- package/dist/tools/files/help/help.js.map +1 -0
- package/dist/tools/files/index.d.ts +14 -0
- package/dist/tools/files/index.d.ts.map +1 -0
- package/dist/tools/files/index.js +15 -0
- package/dist/tools/files/index.js.map +1 -0
- package/dist/tools/files/internal/queries.d.ts +18 -0
- package/dist/tools/files/internal/queries.d.ts.map +1 -0
- package/dist/tools/files/internal/queries.js +63 -0
- package/dist/tools/files/internal/queries.js.map +1 -0
- package/dist/tools/files/internal/validation.d.ts +18 -0
- package/dist/tools/files/internal/validation.d.ts.map +1 -0
- package/dist/tools/files/internal/validation.js +40 -0
- package/dist/tools/files/internal/validation.js.map +1 -0
- package/dist/tools/files/types.d.ts +6 -0
- package/dist/tools/files/types.d.ts.map +1 -0
- package/dist/tools/files/types.js +6 -0
- package/dist/tools/files/types.js.map +1 -0
- package/dist/tools/help/actions/batch-guide.d.ts +14 -0
- package/dist/tools/help/actions/batch-guide.d.ts.map +1 -0
- package/dist/tools/help/actions/batch-guide.js +59 -0
- package/dist/tools/help/actions/batch-guide.js.map +1 -0
- package/dist/tools/help/actions/error-recovery.d.ts +12 -0
- package/dist/tools/help/actions/error-recovery.d.ts.map +1 -0
- package/dist/tools/help/actions/error-recovery.js +107 -0
- package/dist/tools/help/actions/error-recovery.js.map +1 -0
- package/dist/tools/help/actions/query-action.d.ts +15 -0
- package/dist/tools/help/actions/query-action.d.ts.map +1 -0
- package/dist/tools/help/actions/query-action.js +15 -0
- package/dist/tools/help/actions/query-action.js.map +1 -0
- package/dist/tools/help/actions/query-params.d.ts +15 -0
- package/dist/tools/help/actions/query-params.d.ts.map +1 -0
- package/dist/tools/help/actions/query-params.js +15 -0
- package/dist/tools/help/actions/query-params.js.map +1 -0
- package/dist/tools/help/actions/query-tool.d.ts +15 -0
- package/dist/tools/help/actions/query-tool.d.ts.map +1 -0
- package/dist/tools/help/actions/query-tool.js +15 -0
- package/dist/tools/help/actions/query-tool.js.map +1 -0
- package/dist/tools/help/actions/workflow-hints.d.ts +14 -0
- package/dist/tools/help/actions/workflow-hints.d.ts.map +1 -0
- package/dist/tools/help/actions/workflow-hints.js +15 -0
- package/dist/tools/help/actions/workflow-hints.js.map +1 -0
- package/dist/tools/help/help/example.d.ts +6 -0
- package/dist/tools/help/help/example.d.ts.map +1 -0
- package/dist/tools/help/help/example.js +70 -0
- package/dist/tools/help/help/example.js.map +1 -0
- package/dist/tools/help/help/help.d.ts +6 -0
- package/dist/tools/help/help/help.d.ts.map +1 -0
- package/dist/tools/help/help/help.js +67 -0
- package/dist/tools/help/help/help.js.map +1 -0
- package/dist/tools/help/index.d.ts +14 -0
- package/dist/tools/help/index.d.ts.map +1 -0
- package/dist/tools/help/index.js +15 -0
- package/dist/tools/help/index.js.map +1 -0
- package/dist/tools/help/types.d.ts +92 -0
- package/dist/tools/help/types.d.ts.map +1 -0
- package/dist/tools/help/types.js +6 -0
- package/dist/tools/help/types.js.map +1 -0
- package/dist/tools/help-queries.d.ts.map +1 -1
- package/dist/tools/help-queries.js +1 -0
- package/dist/tools/help-queries.js.map +1 -1
- package/dist/tools/tasks/actions/add-dependency.d.ts +12 -0
- package/dist/tools/tasks/actions/add-dependency.d.ts.map +1 -0
- package/dist/tools/tasks/actions/add-dependency.js +124 -0
- package/dist/tools/tasks/actions/add-dependency.js.map +1 -0
- package/dist/tools/tasks/actions/archive.d.ts +11 -0
- package/dist/tools/tasks/actions/archive.d.ts.map +1 -0
- package/dist/tools/tasks/actions/archive.js +67 -0
- package/dist/tools/tasks/actions/archive.js.map +1 -0
- package/dist/tools/tasks/actions/create-batch.d.ts +19 -0
- package/dist/tools/tasks/actions/create-batch.d.ts.map +1 -0
- package/dist/tools/tasks/actions/create-batch.js +103 -0
- package/dist/tools/tasks/actions/create-batch.js.map +1 -0
- package/dist/tools/tasks/actions/create.d.ts +16 -0
- package/dist/tools/tasks/actions/create.d.ts.map +1 -0
- package/dist/tools/tasks/actions/create.js +180 -0
- package/dist/tools/tasks/actions/create.js.map +1 -0
- package/dist/tools/tasks/actions/get-dependencies.d.ts +12 -0
- package/dist/tools/tasks/actions/get-dependencies.d.ts.map +1 -0
- package/dist/tools/tasks/actions/get-dependencies.js +41 -0
- package/dist/tools/tasks/actions/get-dependencies.js.map +1 -0
- package/dist/tools/tasks/actions/get-pruned-files.d.ts +13 -0
- package/dist/tools/tasks/actions/get-pruned-files.d.ts.map +1 -0
- package/dist/tools/tasks/actions/get-pruned-files.js +45 -0
- package/dist/tools/tasks/actions/get-pruned-files.js.map +1 -0
- package/dist/tools/tasks/actions/get.d.ts +12 -0
- package/dist/tools/tasks/actions/get.d.ts.map +1 -0
- package/dist/tools/tasks/actions/get.js +88 -0
- package/dist/tools/tasks/actions/get.js.map +1 -0
- package/dist/tools/tasks/actions/link-pruned-file.d.ts +13 -0
- package/dist/tools/tasks/actions/link-pruned-file.d.ts.map +1 -0
- package/dist/tools/tasks/actions/link-pruned-file.js +63 -0
- package/dist/tools/tasks/actions/link-pruned-file.js.map +1 -0
- package/dist/tools/tasks/actions/link.d.ts +14 -0
- package/dist/tools/tasks/actions/link.d.ts.map +1 -0
- package/dist/tools/tasks/actions/link.js +118 -0
- package/dist/tools/tasks/actions/link.js.map +1 -0
- package/dist/tools/tasks/actions/list.d.ts +17 -0
- package/dist/tools/tasks/actions/list.d.ts.map +1 -0
- package/dist/tools/tasks/actions/list.js +98 -0
- package/dist/tools/tasks/actions/list.js.map +1 -0
- package/dist/tools/tasks/actions/move.d.ts +12 -0
- package/dist/tools/tasks/actions/move.d.ts.map +1 -0
- package/dist/tools/tasks/actions/move.js +91 -0
- package/dist/tools/tasks/actions/move.js.map +1 -0
- package/dist/tools/tasks/actions/remove-dependency.d.ts +12 -0
- package/dist/tools/tasks/actions/remove-dependency.d.ts.map +1 -0
- package/dist/tools/tasks/actions/remove-dependency.js +36 -0
- package/dist/tools/tasks/actions/remove-dependency.js.map +1 -0
- package/dist/tools/tasks/actions/update.d.ts +10 -0
- package/dist/tools/tasks/actions/update.d.ts.map +1 -0
- package/dist/tools/tasks/actions/update.js +186 -0
- package/dist/tools/tasks/actions/update.js.map +1 -0
- package/dist/tools/tasks/actions/watch-files.d.ts +14 -0
- package/dist/tools/tasks/actions/watch-files.d.ts.map +1 -0
- package/dist/tools/tasks/actions/watch-files.js +127 -0
- package/dist/tools/tasks/actions/watch-files.js.map +1 -0
- package/dist/tools/tasks/help/example.d.ts +8 -0
- package/dist/tools/tasks/help/example.d.ts.map +1 -0
- package/dist/tools/tasks/help/example.js +215 -0
- package/dist/tools/tasks/help/example.js.map +1 -0
- package/dist/tools/tasks/help/help.d.ts +8 -0
- package/dist/tools/tasks/help/help.d.ts.map +1 -0
- package/dist/tools/tasks/help/help.js +293 -0
- package/dist/tools/tasks/help/help.js.map +1 -0
- package/dist/tools/tasks/help/use-case.d.ts +11 -0
- package/dist/tools/tasks/help/use-case.d.ts.map +1 -0
- package/dist/tools/tasks/help/use-case.js +768 -0
- package/dist/tools/tasks/help/use-case.js.map +1 -0
- package/dist/tools/tasks/index.d.ts +28 -0
- package/dist/tools/tasks/index.d.ts.map +1 -0
- package/dist/tools/tasks/index.js +33 -0
- package/dist/tools/tasks/index.js.map +1 -0
- package/dist/tools/tasks/internal/state-machine.d.ts +16 -0
- package/dist/tools/tasks/internal/state-machine.d.ts.map +1 -0
- package/dist/tools/tasks/internal/state-machine.js +36 -0
- package/dist/tools/tasks/internal/state-machine.js.map +1 -0
- package/dist/tools/tasks/internal/task-queries.d.ts +12 -0
- package/dist/tools/tasks/internal/task-queries.d.ts.map +1 -0
- package/dist/tools/tasks/internal/task-queries.js +61 -0
- package/dist/tools/tasks/internal/task-queries.js.map +1 -0
- package/dist/tools/tasks/internal/validation.d.ts +47 -0
- package/dist/tools/tasks/internal/validation.d.ts.map +1 -0
- package/dist/tools/tasks/internal/validation.js +261 -0
- package/dist/tools/tasks/internal/validation.js.map +1 -0
- package/dist/tools/tasks/types.d.ts +68 -0
- package/dist/tools/tasks/types.d.ts.map +1 -0
- package/dist/tools/tasks/types.js +45 -0
- package/dist/tools/tasks/types.js.map +1 -0
- package/dist/tools/tasks/watcher/status.d.ts +9 -0
- package/dist/tools/tasks/watcher/status.d.ts.map +1 -0
- package/dist/tools/tasks/watcher/status.js +126 -0
- package/dist/tools/tasks/watcher/status.js.map +1 -0
- package/dist/tools/tasks.d.ts +12 -148
- package/dist/tools/tasks.d.ts.map +1 -1
- package/dist/tools/tasks.js +12 -2037
- package/dist/tools/tasks.js.map +1 -1
- package/dist/tools/use_case/actions/get.d.ts +14 -0
- package/dist/tools/use_case/actions/get.d.ts.map +1 -0
- package/dist/tools/use_case/actions/get.js +15 -0
- package/dist/tools/use_case/actions/get.js.map +1 -0
- package/dist/tools/use_case/actions/list-all.d.ts +15 -0
- package/dist/tools/use_case/actions/list-all.d.ts.map +1 -0
- package/dist/tools/use_case/actions/list-all.js +20 -0
- package/dist/tools/use_case/actions/list-all.js.map +1 -0
- package/dist/tools/use_case/actions/search.d.ts +14 -0
- package/dist/tools/use_case/actions/search.d.ts.map +1 -0
- package/dist/tools/use_case/actions/search.js +87 -0
- package/dist/tools/use_case/actions/search.js.map +1 -0
- package/dist/tools/use_case/help/example.d.ts +105 -0
- package/dist/tools/use_case/help/example.d.ts.map +1 -0
- package/dist/tools/use_case/help/example.js +138 -0
- package/dist/tools/use_case/help/example.js.map +1 -0
- package/dist/tools/use_case/help/help.d.ts +33 -0
- package/dist/tools/use_case/help/help.d.ts.map +1 -0
- package/dist/tools/use_case/help/help.js +109 -0
- package/dist/tools/use_case/help/help.js.map +1 -0
- package/dist/tools/use_case/index.d.ts +11 -0
- package/dist/tools/use_case/index.d.ts.map +1 -0
- package/dist/tools/use_case/index.js +12 -0
- package/dist/tools/use_case/index.js.map +1 -0
- package/dist/tools/use_case/types.d.ts +58 -0
- package/dist/tools/use_case/types.d.ts.map +1 -0
- package/dist/tools/use_case/types.js +6 -0
- package/dist/tools/use_case/types.js.map +1 -0
- package/dist/types/actions.d.ts +37 -0
- package/dist/types/actions.d.ts.map +1 -0
- package/dist/types/actions.js +6 -0
- package/dist/types/actions.js.map +1 -0
- package/dist/types/constraint/params.d.ts +2 -0
- package/dist/types/constraint/params.d.ts.map +1 -0
- package/dist/types/constraint/params.js +2 -0
- package/dist/types/constraint/params.js.map +1 -0
- package/dist/types/constraint/responses.d.ts +2 -0
- package/dist/types/constraint/responses.d.ts.map +1 -0
- package/dist/types/constraint/responses.js +2 -0
- package/dist/types/constraint/responses.js.map +1 -0
- package/dist/types/decision/batch.d.ts +24 -0
- package/dist/types/decision/batch.d.ts.map +1 -0
- package/dist/types/decision/batch.js +5 -0
- package/dist/types/decision/batch.js.map +1 -0
- package/dist/types/decision/params.d.ts +73 -0
- package/dist/types/decision/params.d.ts.map +1 -0
- package/dist/types/decision/params.js +5 -0
- package/dist/types/decision/params.js.map +1 -0
- package/dist/types/decision/responses.d.ts +79 -0
- package/dist/types/decision/responses.d.ts.map +1 -0
- package/dist/types/decision/responses.js +5 -0
- package/dist/types/decision/responses.js.map +1 -0
- package/dist/types/decision/templates.d.ts +74 -0
- package/dist/types/decision/templates.d.ts.map +1 -0
- package/dist/types/decision/templates.js +5 -0
- package/dist/types/decision/templates.js.map +1 -0
- package/dist/types/enums.d.ts +43 -0
- package/dist/types/enums.d.ts.map +1 -0
- package/dist/types/enums.js +47 -0
- package/dist/types/enums.js.map +1 -0
- package/dist/types/file/params.d.ts +40 -0
- package/dist/types/file/params.d.ts.map +1 -0
- package/dist/types/file/params.js +6 -0
- package/dist/types/file/params.js.map +1 -0
- package/dist/types/file/responses.d.ts +2 -0
- package/dist/types/file/responses.d.ts.map +1 -0
- package/dist/types/file/responses.js +2 -0
- package/dist/types/file/responses.js.map +1 -0
- package/dist/types/import-export.d.ts +126 -0
- package/dist/types/import-export.d.ts.map +1 -0
- package/dist/types/import-export.js +6 -0
- package/dist/types/import-export.js.map +1 -0
- package/dist/types/index.d.ts +25 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +35 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/master-entities.d.ts +33 -0
- package/dist/types/master-entities.d.ts.map +1 -0
- package/dist/types/master-entities.js +6 -0
- package/dist/types/master-entities.js.map +1 -0
- package/dist/types/task/params.d.ts +172 -0
- package/dist/types/task/params.d.ts.map +1 -0
- package/dist/types/task/params.js +8 -0
- package/dist/types/task/params.js.map +1 -0
- package/dist/types/task/responses.d.ts +334 -0
- package/dist/types/task/responses.d.ts.map +1 -0
- package/dist/types/task/responses.js +8 -0
- package/dist/types/task/responses.js.map +1 -0
- package/dist/types/transaction-entities.d.ts +89 -0
- package/dist/types/transaction-entities.d.ts.map +1 -0
- package/dist/types/transaction-entities.js +5 -0
- package/dist/types/transaction-entities.js.map +1 -0
- package/dist/types/validation.d.ts +44 -0
- package/dist/types/validation.d.ts.map +1 -0
- package/dist/types/validation.js +6 -0
- package/dist/types/validation.js.map +1 -0
- package/dist/types/view-entities.d.ts +61 -0
- package/dist/types/view-entities.d.ts.map +1 -0
- package/dist/types/view-entities.js +5 -0
- package/dist/types/view-entities.js.map +1 -0
- package/dist/types.d.ts +12 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/action-specs/config-specs.d.ts +10 -0
- package/dist/utils/action-specs/config-specs.d.ts.map +1 -0
- package/dist/utils/action-specs/config-specs.js +12 -0
- package/dist/utils/action-specs/config-specs.js.map +1 -0
- package/dist/utils/action-specs/constraint-specs.d.ts +9 -0
- package/dist/utils/action-specs/constraint-specs.d.ts.map +1 -0
- package/dist/utils/action-specs/constraint-specs.js +42 -0
- package/dist/utils/action-specs/constraint-specs.js.map +1 -0
- package/dist/utils/action-specs/decision-specs.d.ts +9 -0
- package/dist/utils/action-specs/decision-specs.d.ts.map +1 -0
- package/dist/utils/action-specs/decision-specs.js +194 -0
- package/dist/utils/action-specs/decision-specs.js.map +1 -0
- package/dist/utils/action-specs/file-specs.d.ts +9 -0
- package/dist/utils/action-specs/file-specs.d.ts.map +1 -0
- package/dist/utils/action-specs/file-specs.js +56 -0
- package/dist/utils/action-specs/file-specs.js.map +1 -0
- package/dist/utils/action-specs/index.d.ts +38 -0
- package/dist/utils/action-specs/index.d.ts.map +1 -0
- package/dist/utils/action-specs/index.js +63 -0
- package/dist/utils/action-specs/index.js.map +1 -0
- package/dist/utils/action-specs/task-specs.d.ts +9 -0
- package/dist/utils/action-specs/task-specs.d.ts.map +1 -0
- package/dist/utils/action-specs/task-specs.js +143 -0
- package/dist/utils/action-specs/task-specs.js.map +1 -0
- package/dist/utils/action-specs/types.d.ts +14 -0
- package/dist/utils/action-specs/types.d.ts.map +1 -0
- package/dist/utils/action-specs/types.js +9 -0
- package/dist/utils/action-specs/types.js.map +1 -0
- package/dist/utils/batch-validation.d.ts +156 -0
- package/dist/utils/batch-validation.d.ts.map +1 -0
- package/dist/utils/batch-validation.example.d.ts +48 -0
- package/dist/utils/batch-validation.example.d.ts.map +1 -0
- package/dist/utils/batch-validation.example.js +180 -0
- package/dist/utils/batch-validation.example.js.map +1 -0
- package/dist/utils/batch-validation.js +345 -0
- package/dist/utils/batch-validation.js.map +1 -0
- package/dist/utils/levenshtein.d.ts +18 -0
- package/dist/utils/levenshtein.d.ts.map +1 -0
- package/dist/utils/levenshtein.js +46 -0
- package/dist/utils/levenshtein.js.map +1 -0
- package/dist/utils/parameter-validator.d.ts +3 -3
- package/dist/utils/parameter-validator.d.ts.map +1 -1
- package/dist/utils/parameter-validator.js +3 -39
- package/dist/utils/parameter-validator.js.map +1 -1
- package/dist/utils/sql-dump/core/dependency-sort.d.ts +16 -0
- package/dist/utils/sql-dump/core/dependency-sort.d.ts.map +1 -0
- package/dist/utils/sql-dump/core/dependency-sort.js +105 -0
- package/dist/utils/sql-dump/core/dependency-sort.js.map +1 -0
- package/dist/utils/sql-dump/core/generate-dump.d.ts +13 -0
- package/dist/utils/sql-dump/core/generate-dump.d.ts.map +1 -0
- package/dist/utils/sql-dump/core/generate-dump.js +181 -0
- package/dist/utils/sql-dump/core/generate-dump.js.map +1 -0
- package/dist/utils/sql-dump/core/index-export.d.ts +9 -0
- package/dist/utils/sql-dump/core/index-export.d.ts.map +1 -0
- package/dist/utils/sql-dump/core/index-export.js +173 -0
- package/dist/utils/sql-dump/core/index-export.js.map +1 -0
- package/dist/utils/sql-dump/core/sequence-reset.d.ts +6 -0
- package/dist/utils/sql-dump/core/sequence-reset.d.ts.map +1 -0
- package/dist/utils/sql-dump/core/sequence-reset.js +28 -0
- package/dist/utils/sql-dump/core/sequence-reset.js.map +1 -0
- package/dist/utils/sql-dump/core/table-export.d.ts +2 -0
- package/dist/utils/sql-dump/core/table-export.d.ts.map +1 -0
- package/dist/utils/sql-dump/core/table-export.js +4 -0
- package/dist/utils/sql-dump/core/table-export.js.map +1 -0
- package/dist/utils/sql-dump/core/view-export.d.ts +2 -0
- package/dist/utils/sql-dump/core/view-export.d.ts.map +1 -0
- package/dist/utils/sql-dump/core/view-export.js +4 -0
- package/dist/utils/sql-dump/core/view-export.js.map +1 -0
- package/dist/utils/sql-dump/formatters/bulk-insert.d.ts +14 -0
- package/dist/utils/sql-dump/formatters/bulk-insert.d.ts.map +1 -0
- package/dist/utils/sql-dump/formatters/bulk-insert.js +177 -0
- package/dist/utils/sql-dump/formatters/bulk-insert.js.map +1 -0
- package/dist/utils/sql-dump/formatters/identifiers.d.ts +6 -0
- package/dist/utils/sql-dump/formatters/identifiers.d.ts.map +1 -0
- package/dist/utils/sql-dump/formatters/identifiers.js +16 -0
- package/dist/utils/sql-dump/formatters/identifiers.js.map +1 -0
- package/dist/utils/sql-dump/formatters/value-formatter.d.ts +14 -0
- package/dist/utils/sql-dump/formatters/value-formatter.d.ts.map +1 -0
- package/dist/utils/sql-dump/formatters/value-formatter.js +281 -0
- package/dist/utils/sql-dump/formatters/value-formatter.js.map +1 -0
- package/dist/utils/sql-dump/generators/controls.d.ts +10 -0
- package/dist/utils/sql-dump/generators/controls.d.ts.map +1 -0
- package/dist/utils/sql-dump/generators/controls.js +36 -0
- package/dist/utils/sql-dump/generators/controls.js.map +1 -0
- package/dist/utils/sql-dump/generators/headers.d.ts +6 -0
- package/dist/utils/sql-dump/generators/headers.d.ts.map +1 -0
- package/dist/utils/sql-dump/generators/headers.js +19 -0
- package/dist/utils/sql-dump/generators/headers.js.map +1 -0
- package/dist/utils/sql-dump/index.d.ts +14 -0
- package/dist/utils/sql-dump/index.d.ts.map +1 -0
- package/dist/utils/sql-dump/index.js +16 -0
- package/dist/utils/sql-dump/index.js.map +1 -0
- package/dist/utils/sql-dump/schema/indexes.d.ts +6 -0
- package/dist/utils/sql-dump/schema/indexes.d.ts.map +1 -0
- package/dist/utils/sql-dump/schema/indexes.js +42 -0
- package/dist/utils/sql-dump/schema/indexes.js.map +1 -0
- package/dist/utils/sql-dump/schema/primary-keys.d.ts +6 -0
- package/dist/utils/sql-dump/schema/primary-keys.d.ts.map +1 -0
- package/dist/utils/sql-dump/schema/primary-keys.js +41 -0
- package/dist/utils/sql-dump/schema/primary-keys.js.map +1 -0
- package/dist/utils/sql-dump/schema/tables.d.ts +12 -0
- package/dist/utils/sql-dump/schema/tables.d.ts.map +1 -0
- package/dist/utils/sql-dump/schema/tables.js +370 -0
- package/dist/utils/sql-dump/schema/tables.js.map +1 -0
- package/dist/utils/sql-dump/schema/views.d.ts +11 -0
- package/dist/utils/sql-dump/schema/views.d.ts.map +1 -0
- package/dist/utils/sql-dump/schema/views.js +110 -0
- package/dist/utils/sql-dump/schema/views.js.map +1 -0
- package/dist/utils/sql-dump/types.d.ts +10 -0
- package/dist/utils/sql-dump/types.d.ts.map +1 -0
- package/dist/utils/sql-dump/types.js +3 -0
- package/dist/utils/sql-dump/types.js.map +1 -0
- package/docs/ACCEPTANCE_CRITERIA.md +0 -0
- package/docs/AI_AGENT_GUIDE.md +2 -2
- package/docs/ARCHITECTURE.md +0 -0
- package/docs/AUTO_FILE_TRACKING.md +0 -0
- package/docs/BATCH_VALIDATION.md +617 -0
- package/docs/BEST_PRACTICES.md +0 -0
- package/docs/CONFIGURATION.md +0 -0
- package/docs/DATABASE_AUTH.md +0 -0
- package/docs/DECISION_CONTEXT.md +0 -0
- package/docs/DECISION_TO_TASK_MIGRATION_GUIDE.md +2 -2
- package/docs/GIT_AWARE_AUTO_COMPLETE.md +0 -0
- package/docs/SHARED_CONCEPTS.md +2 -2
- package/docs/SPECIALIZED_AGENTS.md +1 -1
- package/docs/TASK_ACTIONS.md +7 -7
- package/docs/TASK_DEPENDENCIES.md +0 -0
- package/docs/TASK_LINKING.md +0 -0
- package/docs/TASK_MIGRATION.md +5 -5
- package/docs/TASK_OVERVIEW.md +0 -0
- package/docs/TASK_PRUNING.md +0 -0
- package/docs/TASK_SYSTEM.md +5 -5
- package/docs/TOOL_REFERENCE.md +1 -1
- package/docs/TOOL_SELECTION.md +0 -0
- package/docs/WORKFLOWS.md +1 -1
- package/docs/cli/DATABASE_MIGRATION.md +0 -0
- package/docs/cli/DATA_EXPORT_IMPORT.md +400 -400
- package/docs/cli/README.md +227 -227
- package/package.json +5 -3
- package/dist/tools/config.d.ts +0 -58
- package/dist/tools/config.d.ts.map +0 -1
- package/dist/tools/config.js +0 -281
- package/dist/tools/config.js.map +0 -1
- package/dist/tools/constraints.d.ts +0 -49
- package/dist/tools/constraints.d.ts.map +0 -1
- package/dist/tools/constraints.js +0 -378
- package/dist/tools/constraints.js.map +0 -1
- package/dist/tools/context.d.ts +0 -208
- package/dist/tools/context.d.ts.map +0 -1
- package/dist/tools/context.js +0 -1661
- package/dist/tools/context.js.map +0 -1
- package/dist/tools/files.d.ts +0 -54
- package/dist/tools/files.d.ts.map +0 -1
- package/dist/tools/files.js +0 -478
- package/dist/tools/files.js.map +0 -1
- package/dist/tools/messaging.d.ts +0 -71
- package/dist/tools/messaging.d.ts.map +0 -1
- package/dist/tools/messaging.js +0 -483
- package/dist/tools/messaging.js.map +0 -1
- package/dist/tools/utils.d.ts +0 -70
- package/dist/tools/utils.d.ts.map +0 -1
- package/dist/tools/utils.js +0 -483
- package/dist/tools/utils.js.map +0 -1
- package/dist/utils/action-specs.d.ts +0 -46
- package/dist/utils/action-specs.d.ts.map +0 -1
- package/dist/utils/action-specs.js +0 -527
- package/dist/utils/action-specs.js.map +0 -1
|
@@ -1,60 +1,173 @@
|
|
|
1
1
|
export async function up(knex) {
|
|
2
2
|
// ============================================================================
|
|
3
3
|
// Initial Data Seeding
|
|
4
|
-
// Database-aware INSERT syntax:
|
|
4
|
+
// Database-aware INSERT syntax:
|
|
5
|
+
// - SQLite: INSERT OR IGNORE
|
|
6
|
+
// - MySQL/MariaDB: INSERT IGNORE
|
|
7
|
+
// - PostgreSQL: INSERT ... ON CONFLICT DO NOTHING
|
|
5
8
|
// ============================================================================
|
|
6
|
-
const
|
|
7
|
-
const
|
|
9
|
+
const client = knex.client.config.client;
|
|
10
|
+
const isMySQL = client === 'mysql2' || client === 'mysql';
|
|
11
|
+
const isPostgreSQL = client === 'pg' || client === 'postgresql';
|
|
12
|
+
const isSQLite = client === 'sqlite3' || client === 'better-sqlite3';
|
|
8
13
|
// Seed layers (5 predefined architecture layers)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
if (isPostgreSQL) {
|
|
15
|
+
await knex.raw(`
|
|
16
|
+
INSERT INTO m_layers (id, name) VALUES
|
|
17
|
+
(1, 'presentation'),
|
|
18
|
+
(2, 'business'),
|
|
19
|
+
(3, 'data'),
|
|
20
|
+
(4, 'infrastructure'),
|
|
21
|
+
(5, 'cross-cutting')
|
|
22
|
+
ON CONFLICT (id) DO NOTHING
|
|
23
|
+
`);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
const insertIgnore = isMySQL ? 'INSERT IGNORE' : 'INSERT OR IGNORE';
|
|
27
|
+
await knex.raw(`
|
|
28
|
+
${insertIgnore} INTO m_layers (id, name) VALUES
|
|
29
|
+
(1, 'presentation'),
|
|
30
|
+
(2, 'business'),
|
|
31
|
+
(3, 'data'),
|
|
32
|
+
(4, 'infrastructure'),
|
|
33
|
+
(5, 'cross-cutting')
|
|
34
|
+
`);
|
|
35
|
+
}
|
|
17
36
|
// Seed constraint categories
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
37
|
+
if (isPostgreSQL) {
|
|
38
|
+
await knex.raw(`
|
|
39
|
+
INSERT INTO m_constraint_categories (name) VALUES
|
|
40
|
+
('architecture'),
|
|
41
|
+
('security'),
|
|
42
|
+
('performance'),
|
|
43
|
+
('compatibility'),
|
|
44
|
+
('maintainability')
|
|
45
|
+
ON CONFLICT (name) DO NOTHING
|
|
46
|
+
`);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const insertIgnore = isMySQL ? 'INSERT IGNORE' : 'INSERT OR IGNORE';
|
|
50
|
+
await knex.raw(`
|
|
51
|
+
${insertIgnore} INTO m_constraint_categories (name) VALUES
|
|
52
|
+
('architecture'),
|
|
53
|
+
('security'),
|
|
54
|
+
('performance'),
|
|
55
|
+
('compatibility'),
|
|
56
|
+
('maintainability')
|
|
57
|
+
`);
|
|
58
|
+
}
|
|
26
59
|
// Seed common tags
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
60
|
+
// Check if project_id column exists (added in v3.7.0 multi-project migration)
|
|
61
|
+
const hasProjectId = await knex.schema.hasColumn('m_tags', 'project_id');
|
|
62
|
+
if (hasProjectId) {
|
|
63
|
+
// New schema with project_id
|
|
64
|
+
if (isPostgreSQL) {
|
|
65
|
+
await knex.raw(`
|
|
66
|
+
INSERT INTO m_tags (project_id, name) VALUES
|
|
67
|
+
(1, 'authentication'),
|
|
68
|
+
(1, 'authorization'),
|
|
69
|
+
(1, 'validation'),
|
|
70
|
+
(1, 'error-handling'),
|
|
71
|
+
(1, 'logging'),
|
|
72
|
+
(1, 'performance'),
|
|
73
|
+
(1, 'security'),
|
|
74
|
+
(1, 'testing')
|
|
75
|
+
ON CONFLICT (project_id, name) DO NOTHING
|
|
76
|
+
`);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const insertIgnore = isMySQL ? 'INSERT IGNORE' : 'INSERT OR IGNORE';
|
|
80
|
+
await knex.raw(`
|
|
81
|
+
${insertIgnore} INTO m_tags (project_id, name) VALUES
|
|
82
|
+
(1, 'authentication'),
|
|
83
|
+
(1, 'authorization'),
|
|
84
|
+
(1, 'validation'),
|
|
85
|
+
(1, 'error-handling'),
|
|
86
|
+
(1, 'logging'),
|
|
87
|
+
(1, 'performance'),
|
|
88
|
+
(1, 'security'),
|
|
89
|
+
(1, 'testing')
|
|
90
|
+
`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
// Old schema without project_id (v3.1-v3.6)
|
|
95
|
+
if (isPostgreSQL) {
|
|
96
|
+
await knex.raw(`
|
|
97
|
+
INSERT INTO m_tags (name) VALUES
|
|
98
|
+
('authentication'),
|
|
99
|
+
('authorization'),
|
|
100
|
+
('validation'),
|
|
101
|
+
('error-handling'),
|
|
102
|
+
('logging'),
|
|
103
|
+
('performance'),
|
|
104
|
+
('security'),
|
|
105
|
+
('testing')
|
|
106
|
+
ON CONFLICT (name) DO NOTHING
|
|
107
|
+
`);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
const insertIgnore = isMySQL ? 'INSERT IGNORE' : 'INSERT OR IGNORE';
|
|
111
|
+
await knex.raw(`
|
|
112
|
+
${insertIgnore} INTO m_tags (name) VALUES
|
|
113
|
+
('authentication'),
|
|
114
|
+
('authorization'),
|
|
115
|
+
('validation'),
|
|
116
|
+
('error-handling'),
|
|
117
|
+
('logging'),
|
|
118
|
+
('performance'),
|
|
119
|
+
('security'),
|
|
120
|
+
('testing')
|
|
121
|
+
`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
38
124
|
// Seed configuration defaults
|
|
39
125
|
// Note: 'key' and 'value' are MySQL reserved words, so we escape them with backticks for MySQL/MariaDB
|
|
40
126
|
const keyCol = isMySQL ? '`key`' : 'key';
|
|
41
127
|
const valueCol = isMySQL ? '`value`' : 'value';
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
128
|
+
if (isPostgreSQL) {
|
|
129
|
+
await knex.raw(`
|
|
130
|
+
INSERT INTO m_config (key, value) VALUES
|
|
131
|
+
('autodelete_ignore_weekend', '1'),
|
|
132
|
+
('autodelete_message_hours', '24'),
|
|
133
|
+
('autodelete_file_history_days', '7')
|
|
134
|
+
ON CONFLICT (key) DO NOTHING
|
|
135
|
+
`);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
const insertIgnore = isMySQL ? 'INSERT IGNORE' : 'INSERT OR IGNORE';
|
|
139
|
+
await knex.raw(`
|
|
140
|
+
${insertIgnore} INTO m_config (${keyCol}, ${valueCol}) VALUES
|
|
141
|
+
('autodelete_ignore_weekend', '1'),
|
|
142
|
+
('autodelete_message_hours', '24'),
|
|
143
|
+
('autodelete_file_history_days', '7')
|
|
144
|
+
`);
|
|
145
|
+
}
|
|
48
146
|
// Seed task statuses
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
147
|
+
if (isPostgreSQL) {
|
|
148
|
+
await knex.raw(`
|
|
149
|
+
INSERT INTO m_task_statuses (id, name) VALUES
|
|
150
|
+
(1, 'todo'),
|
|
151
|
+
(2, 'in_progress'),
|
|
152
|
+
(3, 'waiting_review'),
|
|
153
|
+
(4, 'blocked'),
|
|
154
|
+
(5, 'done'),
|
|
155
|
+
(6, 'archived')
|
|
156
|
+
ON CONFLICT (id) DO NOTHING
|
|
157
|
+
`);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
const insertIgnore = isMySQL ? 'INSERT IGNORE' : 'INSERT OR IGNORE';
|
|
161
|
+
await knex.raw(`
|
|
162
|
+
${insertIgnore} INTO m_task_statuses (id, name) VALUES
|
|
163
|
+
(1, 'todo'),
|
|
164
|
+
(2, 'in_progress'),
|
|
165
|
+
(3, 'waiting_review'),
|
|
166
|
+
(4, 'blocked'),
|
|
167
|
+
(5, 'done'),
|
|
168
|
+
(6, 'archived')
|
|
169
|
+
`);
|
|
170
|
+
}
|
|
58
171
|
console.log('✅ Master data seeded successfully');
|
|
59
172
|
}
|
|
60
173
|
export async function down(knex) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"20251025021416_seed_master_data.js","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025021416_seed_master_data.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,+EAA+E;IAC/E,uBAAuB;IACvB,
|
|
1
|
+
{"version":3,"file":"20251025021416_seed_master_data.js","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025021416_seed_master_data.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"20251025070349_create_views.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025070349_create_views.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"20251025070349_create_views.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025070349_create_views.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAsHjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA2IlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAUpD"}
|
|
@@ -50,6 +50,58 @@ function getCreateViewStatement(knex, viewName) {
|
|
|
50
50
|
return `CREATE VIEW IF NOT EXISTS ${viewName} AS`;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Returns database-specific string aggregation function
|
|
55
|
+
* @param knex - Knex instance with database client configuration
|
|
56
|
+
* @param column - Column name to aggregate
|
|
57
|
+
* @param separator - Separator string (default: ',')
|
|
58
|
+
* @returns SQL function string for string aggregation
|
|
59
|
+
*/
|
|
60
|
+
function getStringAggFunction(knex, column, separator = ',') {
|
|
61
|
+
const client = knex.client.config.client;
|
|
62
|
+
switch (client) {
|
|
63
|
+
case 'mysql':
|
|
64
|
+
case 'mysql2':
|
|
65
|
+
case 'better-sqlite3':
|
|
66
|
+
case 'sqlite3':
|
|
67
|
+
return `GROUP_CONCAT(${column}, '${separator}')`;
|
|
68
|
+
case 'pg':
|
|
69
|
+
case 'postgresql':
|
|
70
|
+
return `string_agg(${column}, '${separator}')`;
|
|
71
|
+
default:
|
|
72
|
+
return `GROUP_CONCAT(${column}, '${separator}')`;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Returns database-specific boolean TRUE value
|
|
77
|
+
* @param knex - Knex instance with database client configuration
|
|
78
|
+
* @returns SQL boolean TRUE value
|
|
79
|
+
*/
|
|
80
|
+
function getBooleanTrue(knex) {
|
|
81
|
+
const client = knex.client.config.client;
|
|
82
|
+
switch (client) {
|
|
83
|
+
case 'pg':
|
|
84
|
+
case 'postgresql':
|
|
85
|
+
return 'TRUE';
|
|
86
|
+
default: // MySQL, SQLite use 1 for true
|
|
87
|
+
return '1';
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Returns database-specific boolean FALSE value
|
|
92
|
+
* @param knex - Knex instance with database client configuration
|
|
93
|
+
* @returns SQL boolean FALSE value
|
|
94
|
+
*/
|
|
95
|
+
function getBooleanFalse(knex) {
|
|
96
|
+
const client = knex.client.config.client;
|
|
97
|
+
switch (client) {
|
|
98
|
+
case 'pg':
|
|
99
|
+
case 'postgresql':
|
|
100
|
+
return 'FALSE';
|
|
101
|
+
default: // MySQL, SQLite use 0 for false
|
|
102
|
+
return '0';
|
|
103
|
+
}
|
|
104
|
+
}
|
|
53
105
|
export async function up(knex) {
|
|
54
106
|
// ============================================================================
|
|
55
107
|
// Token-Efficient Views (v_ prefix)
|
|
@@ -63,10 +115,10 @@ export async function up(knex) {
|
|
|
63
115
|
d.version,
|
|
64
116
|
CASE d.status WHEN 1 THEN 'active' WHEN 2 THEN 'deprecated' ELSE 'draft' END as status,
|
|
65
117
|
l.name as layer,
|
|
66
|
-
(SELECT
|
|
118
|
+
(SELECT ${getStringAggFunction(knex, 't2.name', ',')} FROM t_decision_tags dt2
|
|
67
119
|
JOIN m_tags t2 ON dt2.tag_id = t2.id
|
|
68
120
|
WHERE dt2.decision_key_id = d.key_id) as tags,
|
|
69
|
-
(SELECT
|
|
121
|
+
(SELECT ${getStringAggFunction(knex, 's2.name', ',')} FROM t_decision_scopes ds2
|
|
70
122
|
JOIN m_scopes s2 ON ds2.scope_id = s2.id
|
|
71
123
|
WHERE ds2.decision_key_id = d.key_id) as scopes,
|
|
72
124
|
a.name as decided_by,
|
|
@@ -104,7 +156,7 @@ export async function up(knex) {
|
|
|
104
156
|
FROM m_layers l
|
|
105
157
|
LEFT JOIN t_decisions d ON l.id = d.layer_id AND d.status = 1
|
|
106
158
|
LEFT JOIN t_file_changes fc ON l.id = fc.layer_id AND fc.ts > ${getCurrentUnixTimestamp(knex)} - 3600
|
|
107
|
-
LEFT JOIN t_constraints c ON l.id = c.layer_id AND c.active =
|
|
159
|
+
LEFT JOIN t_constraints c ON l.id = c.layer_id AND c.active = ${getBooleanTrue(knex)}
|
|
108
160
|
GROUP BY l.id
|
|
109
161
|
`);
|
|
110
162
|
// Unread Messages by Priority
|
|
@@ -116,8 +168,8 @@ export async function up(knex) {
|
|
|
116
168
|
COUNT(*) as count
|
|
117
169
|
FROM t_agent_messages m
|
|
118
170
|
JOIN m_agents a ON m.to_agent_id = a.id
|
|
119
|
-
WHERE m.read =
|
|
120
|
-
GROUP BY
|
|
171
|
+
WHERE m.read = ${getBooleanFalse(knex)}
|
|
172
|
+
GROUP BY a.name, m.priority
|
|
121
173
|
ORDER BY m.priority DESC
|
|
122
174
|
`);
|
|
123
175
|
// Recent File Changes (With Layer)
|
|
@@ -146,7 +198,7 @@ export async function up(knex) {
|
|
|
146
198
|
l.name as layer,
|
|
147
199
|
c.constraint_text,
|
|
148
200
|
CASE c.priority WHEN 4 THEN 'critical' WHEN 3 THEN 'high' WHEN 2 THEN 'medium' ELSE 'low' END as priority,
|
|
149
|
-
(SELECT
|
|
201
|
+
(SELECT ${getStringAggFunction(knex, 't2.name', ',')} FROM t_constraint_tags ct2
|
|
150
202
|
JOIN m_tags t2 ON ct2.tag_id = t2.id
|
|
151
203
|
WHERE ct2.constraint_id = c.id) as tags,
|
|
152
204
|
a.name as created_by,
|
|
@@ -155,7 +207,7 @@ export async function up(knex) {
|
|
|
155
207
|
JOIN m_constraint_categories cc ON c.category_id = cc.id
|
|
156
208
|
LEFT JOIN m_layers l ON c.layer_id = l.id
|
|
157
209
|
LEFT JOIN m_agents a ON c.agent_id = a.id
|
|
158
|
-
WHERE c.active =
|
|
210
|
+
WHERE c.active = ${getBooleanTrue(knex)}
|
|
159
211
|
ORDER BY c.priority DESC, cc.name, c.ts DESC
|
|
160
212
|
`);
|
|
161
213
|
// Task Board View (Token-efficient)
|
|
@@ -171,7 +223,7 @@ export async function up(knex) {
|
|
|
171
223
|
t.created_ts,
|
|
172
224
|
t.updated_ts,
|
|
173
225
|
t.completed_ts,
|
|
174
|
-
(SELECT
|
|
226
|
+
(SELECT ${getStringAggFunction(knex, 'tg2.name', ', ')}
|
|
175
227
|
FROM t_task_tags tt2
|
|
176
228
|
JOIN m_tags tg2 ON tt2.tag_id = tg2.id
|
|
177
229
|
WHERE tt2.task_id = t.id) as tags
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"20251025070349_create_views.js","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025070349_create_views.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,SAAS,eAAe,CAAC,IAAU,EAAE,aAAqB,IAAI;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAEzC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,iBAAiB,UAAU,GAAG,CAAC;QACxC,KAAK,IAAI;YACP,OAAO,gBAAgB,UAAU,GAAG,CAAC;QACvC,SAAS,UAAU;YACjB,OAAO,YAAY,UAAU,gBAAgB,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,IAAU;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAEzC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,kBAAkB,CAAC;QAC5B,KAAK,IAAI;YACP,OAAO,2BAA2B,CAAC;QACrC,SAAS,UAAU;YACjB,OAAO,aAAa,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,IAAU,EAAE,QAAgB;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAEzC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,OAAO,0BAA0B,QAAQ,KAAK,CAAC;QACjD,SAAS,UAAU;YACjB,OAAO,6BAA6B,QAAQ,KAAK,CAAC;IACtD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,+EAA+E;IAC/E,oCAAoC;IACpC,+EAA+E;IAE/E,yCAAyC;IACzC,MAAM,IAAI,CAAC,GAAG,CAAC;MACX,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,CAAC
|
|
1
|
+
{"version":3,"file":"20251025070349_create_views.js","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025070349_create_views.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,7 +74,7 @@ export async function up(knex) {
|
|
|
74
74
|
{ tool_name: 'task', action_name: 'move', description: 'Move task to new status with validation. Enforces state machine transitions (e.g., cannot jump todo → done). Automatically logs status changes and updates timestamps.' },
|
|
75
75
|
{ tool_name: 'task', action_name: 'link', description: 'Link task to decision, constraint, or file for context tracking. Supports multiple link types (implements, addresses, modifies) to express relationships.' },
|
|
76
76
|
{ tool_name: 'task', action_name: 'archive', description: 'Archive a task (soft delete) removing it from active lists while preserving data. Archived tasks remain queryable for history but do not appear in default views.' },
|
|
77
|
-
{ tool_name: 'task', action_name: '
|
|
77
|
+
{ tool_name: 'task', action_name: 'create_batch', description: 'Create multiple tasks in a single operation for efficiency. Accepts array of task definitions and returns array of created task IDs. Atomic operation with transaction safety.' },
|
|
78
78
|
{ tool_name: 'task', action_name: 'add_dependency', description: 'Add blocking dependency between tasks. Prevents circular dependencies and maintains dependency graph integrity. Task cannot be marked done while blockers are incomplete.' },
|
|
79
79
|
{ tool_name: 'task', action_name: 'remove_dependency', description: 'Remove blocking dependency between tasks. Validates dependency exists before removal. Updates dependency graph and unblocks dependent task if all blockers removed.' },
|
|
80
80
|
{ tool_name: 'task', action_name: 'get_dependencies', description: 'Get all dependencies for a task showing which tasks block it and which tasks it blocks. Returns dependency graph with task details for visualization.' },
|
|
@@ -40,17 +40,17 @@ export async function up(knex) {
|
|
|
40
40
|
category_id: categoryMap.task_management,
|
|
41
41
|
title: 'Batch create multiple related tasks',
|
|
42
42
|
complexity: 'intermediate',
|
|
43
|
-
description: 'Use
|
|
43
|
+
description: 'Use create_batch to create multiple related tasks in a single operation with consistent metadata.\n\nExpected Outcome: Multiple tasks created atomically with shared tags and layer\n\nCommon Pitfalls: ["Not providing required title for each task","Mixing unrelated tasks in batch","Forgetting to link tasks after batch creation"]\n\nRelated Tools: ["task"]',
|
|
44
44
|
full_example: JSON.stringify({
|
|
45
45
|
steps: [
|
|
46
|
-
{ step: 1, action: 'task', params: { action: '
|
|
46
|
+
{ step: 1, action: 'task', params: { action: 'create_batch', tasks: [
|
|
47
47
|
{ title: 'Setup CI pipeline', priority: 3, layer: 'infrastructure', tags: ['devops', 'ci'] },
|
|
48
48
|
{ title: 'Configure deployment', priority: 3, layer: 'infrastructure', tags: ['devops', 'deployment'] },
|
|
49
49
|
{ title: 'Setup monitoring', priority: 2, layer: 'infrastructure', tags: ['devops', 'monitoring'] }
|
|
50
50
|
] } }
|
|
51
51
|
]
|
|
52
52
|
}),
|
|
53
|
-
action_sequence: JSON.stringify(['
|
|
53
|
+
action_sequence: JSON.stringify(['create_batch'])
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
category_id: categoryMap.task_management,
|
|
@@ -221,7 +221,7 @@ export async function up(knex) {
|
|
|
221
221
|
outcome: 'Complete constraint lifecycle managed. All API endpoints measured, constraint enforced through tasks, validation tasks created, constraint deactivated when new decision supersedes it.',
|
|
222
222
|
audit_trail: 'Full history of constraint enforcement preserved even after deactivation'
|
|
223
223
|
}),
|
|
224
|
-
action_sequence: JSON.stringify(['constraint.add', 'task.
|
|
224
|
+
action_sequence: JSON.stringify(['constraint.add', 'task.create_batch', 'task.link', 'task.move', 'constraint.get', 'decision.set', 'constraint.deactivate'])
|
|
225
225
|
},
|
|
226
226
|
{
|
|
227
227
|
category_id: categoryMap.cross_tool_workflow,
|
|
@@ -236,7 +236,7 @@ export async function up(knex) {
|
|
|
236
236
|
outcome: 'Feature complete with: architectural decision documented, 8 tasks created/linked, 15 file changes tracked, 3 constraints enforced, 12 coordination messages sent',
|
|
237
237
|
token_efficiency: 'Complete feature context in ~3k tokens vs ~20k tokens with manual tracking'
|
|
238
238
|
}),
|
|
239
|
-
action_sequence: JSON.stringify(['decision.set', 'decision.add_decision_context', 'task.
|
|
239
|
+
action_sequence: JSON.stringify(['decision.set', 'decision.add_decision_context', 'task.create_batch', 'constraint.add', 'task.link', 'message.send', 'file.record', 'task.watch_files', 'task.add_dependency', 'task.move', 'stats.layer_summary'])
|
|
240
240
|
},
|
|
241
241
|
{
|
|
242
242
|
category_id: categoryMap.configuration,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"20251028000000_simplify_agent_system.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251028000000_simplify_agent_system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;;;;;;;;;;;;;GAkBG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"20251028000000_simplify_agent_system.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251028000000_simplify_agent_system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;;;;;;;;;;;;;GAkBG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAelD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBpD"}
|
|
@@ -19,7 +19,15 @@
|
|
|
19
19
|
*/
|
|
20
20
|
export async function up(knex) {
|
|
21
21
|
// Drop t_agent_messages table (messaging system not used)
|
|
22
|
-
|
|
22
|
+
// PostgreSQL requires CASCADE when dropping tables with foreign key dependencies
|
|
23
|
+
const client = knex.client.config.client;
|
|
24
|
+
const isPostgreSQL = client === 'pg' || client === 'postgresql';
|
|
25
|
+
if (isPostgreSQL) {
|
|
26
|
+
await knex.raw('DROP TABLE IF EXISTS t_agent_messages CASCADE');
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
await knex.schema.dropTableIfExists('t_agent_messages');
|
|
30
|
+
}
|
|
23
31
|
// Note: in_use and is_reusable columns remain in m_agents table but are ignored by code
|
|
24
32
|
// Dropping these columns would require complex table recreation on SQLite due to FK constraints
|
|
25
33
|
// This approach maintains cross-RDBMS compatibility without raw SQL
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"20251028000000_simplify_agent_system.js","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251028000000_simplify_agent_system.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,0DAA0D;IAC1D,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"20251028000000_simplify_agent_system.js","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251028000000_simplify_agent_system.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,0DAA0D;IAC1D,iFAAiF;IACjF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,YAAY,CAAC;IAEhE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,wFAAwF;IACxF,gGAAgG;IAChG,oEAAoE;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,gCAAgC;IAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEhE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,kCAAkC;IAClC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1D,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACjC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QAC3C,KAAK,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,8BAA8B,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,+EAA+E;AACjF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"20251105000000_add_token_usage_table.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251105000000_add_token_usage_table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;;;;;;GAWG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"20251105000000_add_token_usage_table.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251105000000_add_token_usage_table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;;;;;;GAWG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDlD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAWpD"}
|
|
@@ -11,6 +11,14 @@
|
|
|
11
11
|
* This migration ensures consistency across all databases.
|
|
12
12
|
*/
|
|
13
13
|
export async function up(knex) {
|
|
14
|
+
const client = knex.client.config.client;
|
|
15
|
+
const isSQLite = client === 'better-sqlite3' || client === 'sqlite3';
|
|
16
|
+
// **BUG FIX v3.7.5**: MySQL/PostgreSQL compatibility issue with DEFAULT UNIX_TIMESTAMP()
|
|
17
|
+
// MySQL/PostgreSQL handled by 20251109000003_token_usage_cross_db_compat_v3_7_5.ts
|
|
18
|
+
if (!isSQLite) {
|
|
19
|
+
console.log(`✓ Non-SQLite database (${client}) detected, skipping (handled by 20251109000003)`);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
14
22
|
// Check if table already exists (idempotency)
|
|
15
23
|
const hasTable = await knex.schema.hasTable('t_help_token_usage');
|
|
16
24
|
if (hasTable) {
|
|
@@ -18,7 +26,6 @@ export async function up(knex) {
|
|
|
18
26
|
return;
|
|
19
27
|
}
|
|
20
28
|
console.log('Creating t_help_token_usage table...');
|
|
21
|
-
const client = knex.client.config.client;
|
|
22
29
|
await knex.schema.createTable('t_help_token_usage', (table) => {
|
|
23
30
|
table.increments('usage_id').primary();
|
|
24
31
|
table.text('query_type').notNullable();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"20251105000000_add_token_usage_table.js","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251105000000_add_token_usage_table.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAClE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAEpD,MAAM,
|
|
1
|
+
{"version":3,"file":"20251105000000_add_token_usage_table.js","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251105000000_add_token_usage_table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Knex } from "knex";
|
|
2
|
+
/**
|
|
3
|
+
* Migration: Add Planning Layers (v3.8.0)
|
|
4
|
+
*
|
|
5
|
+
* Expands layer taxonomy from 5 to 9 layers by adding 4 planning-focused layers:
|
|
6
|
+
* - planning: Research, surveys, investigation (file_actions optional)
|
|
7
|
+
* - documentation: README, CHANGELOG, docs/ (file_actions REQUIRED - docs = files!)
|
|
8
|
+
* - coordination: Multi-agent orchestration (file_actions optional)
|
|
9
|
+
* - review: Code review, verification (file_actions optional)
|
|
10
|
+
*
|
|
11
|
+
* This enables layer-based file_actions validation:
|
|
12
|
+
* - 6 file-required layers: presentation, business, data, infrastructure, cross-cutting, documentation
|
|
13
|
+
* - 3 file-optional layers: planning, coordination, review
|
|
14
|
+
*
|
|
15
|
+
* Idempotent: Checks for existing layers before inserting
|
|
16
|
+
*
|
|
17
|
+
* Related: v3.8.0 File Actions & Layer Expansion Plan
|
|
18
|
+
*/
|
|
19
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
20
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=20251108000000_add_planning_layers_v3_8_0.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251108000000_add_planning_layers_v3_8_0.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAyClD;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBpD"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: Add Planning Layers (v3.8.0)
|
|
3
|
+
*
|
|
4
|
+
* Expands layer taxonomy from 5 to 9 layers by adding 4 planning-focused layers:
|
|
5
|
+
* - planning: Research, surveys, investigation (file_actions optional)
|
|
6
|
+
* - documentation: README, CHANGELOG, docs/ (file_actions REQUIRED - docs = files!)
|
|
7
|
+
* - coordination: Multi-agent orchestration (file_actions optional)
|
|
8
|
+
* - review: Code review, verification (file_actions optional)
|
|
9
|
+
*
|
|
10
|
+
* This enables layer-based file_actions validation:
|
|
11
|
+
* - 6 file-required layers: presentation, business, data, infrastructure, cross-cutting, documentation
|
|
12
|
+
* - 3 file-optional layers: planning, coordination, review
|
|
13
|
+
*
|
|
14
|
+
* Idempotent: Checks for existing layers before inserting
|
|
15
|
+
*
|
|
16
|
+
* Related: v3.8.0 File Actions & Layer Expansion Plan
|
|
17
|
+
*/
|
|
18
|
+
export async function up(knex) {
|
|
19
|
+
console.log('🔧 Adding v3.8.0 planning layers...');
|
|
20
|
+
// Check if any of the new layers already exist
|
|
21
|
+
const newLayerNames = ['planning', 'documentation', 'coordination', 'review'];
|
|
22
|
+
const existingLayers = await knex('m_layers')
|
|
23
|
+
.whereIn('name', newLayerNames)
|
|
24
|
+
.select('name');
|
|
25
|
+
if (existingLayers.length > 0) {
|
|
26
|
+
console.log(`✓ Planning layers already exist (${existingLayers.map(l => l.name).join(', ')}), skipping`);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
// Insert the 4 new layers
|
|
30
|
+
// Note: Explicit IDs (6-9) required for PostgreSQL compatibility
|
|
31
|
+
// PostgreSQL sequences don't auto-increment when explicit IDs are used in bootstrap (IDs 1-5)
|
|
32
|
+
const client = knex.client.config.client;
|
|
33
|
+
const isPostgreSQL = client === 'pg' || client === 'postgresql';
|
|
34
|
+
if (isPostgreSQL) {
|
|
35
|
+
// PostgreSQL: Use explicit IDs and update sequence
|
|
36
|
+
await knex('m_layers').insert([
|
|
37
|
+
{ id: 6, name: 'planning' },
|
|
38
|
+
{ id: 7, name: 'documentation' },
|
|
39
|
+
{ id: 8, name: 'coordination' },
|
|
40
|
+
{ id: 9, name: 'review' }
|
|
41
|
+
]);
|
|
42
|
+
// Update sequence to 9 so future auto-increment starts at 10
|
|
43
|
+
await knex.raw("SELECT setval('m_layers_id_seq', 9, true)");
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
// SQLite/MySQL: Let auto-increment handle IDs
|
|
47
|
+
await knex('m_layers').insert([
|
|
48
|
+
{ name: 'planning' },
|
|
49
|
+
{ name: 'documentation' },
|
|
50
|
+
{ name: 'coordination' },
|
|
51
|
+
{ name: 'review' }
|
|
52
|
+
]);
|
|
53
|
+
}
|
|
54
|
+
console.log('✅ Added 4 planning layers: planning, documentation, coordination, review');
|
|
55
|
+
}
|
|
56
|
+
export async function down(knex) {
|
|
57
|
+
console.log('🔄 Removing v3.8.0 planning layers...');
|
|
58
|
+
// Check if layers exist before removing
|
|
59
|
+
const layersToRemove = ['planning', 'documentation', 'coordination', 'review'];
|
|
60
|
+
const existingLayers = await knex('m_layers')
|
|
61
|
+
.whereIn('name', layersToRemove)
|
|
62
|
+
.select('name');
|
|
63
|
+
if (existingLayers.length === 0) {
|
|
64
|
+
console.log('✓ Planning layers already removed, skipping');
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
// Remove the 4 planning layers
|
|
68
|
+
await knex('m_layers')
|
|
69
|
+
.whereIn('name', layersToRemove)
|
|
70
|
+
.delete();
|
|
71
|
+
console.log('✅ Removed planning layers');
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=20251108000000_add_planning_layers_v3_8_0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20251108000000_add_planning_layers_v3_8_0.js","sourceRoot":"","sources":["../../../../src/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAEnD,+CAA+C;IAC/C,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;SAC1C,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;SAC9B,MAAM,CAAC,MAAM,CAAC,CAAC;IAElB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,oCAAoC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzG,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,iEAAiE;IACjE,8FAA8F;IAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,YAAY,CAAC;IAEhE,IAAI,YAAY,EAAE,CAAC;QACjB,mDAAmD;QACnD,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YAC5B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;YAC3B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE;YAChC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE;YAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1B,CAAC,CAAC;QACH,6DAA6D;QAC7D,MAAM,IAAI,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,8CAA8C;QAC9C,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YAC5B,EAAE,IAAI,EAAE,UAAU,EAAE;YACpB,EAAE,IAAI,EAAE,eAAe,EAAE;YACzB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,QAAQ,EAAE;SACnB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IAErD,wCAAwC;IACxC,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC/E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;SAC1C,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;SAC/B,MAAM,CAAC,MAAM,CAAC,CAAC;IAElB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,+BAA+B;IAC/B,MAAM,IAAI,CAAC,UAAU,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;SAC/B,MAAM,EAAE,CAAC;IAEZ,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: Fix t_task_file_links UNIQUE constraint (v3.8.0)
|
|
3
|
+
*
|
|
4
|
+
* Problem: t_task_file_links missing UNIQUE constraint on (project_id, task_id, file_id)
|
|
5
|
+
* Code expects: ON CONFLICT (project_id, task_id, file_id) DO NOTHING
|
|
6
|
+
* Current state: Only has auto-increment PRIMARY KEY on id
|
|
7
|
+
*
|
|
8
|
+
* Root Cause: v3.7.0 migration added project_id column but didn't update PRIMARY KEY
|
|
9
|
+
* or add UNIQUE constraint. This causes "ON CONFLICT clause does not match any
|
|
10
|
+
* PRIMARY KEY or UNIQUE constraint" error when linking files to tasks.
|
|
11
|
+
*
|
|
12
|
+
* Solution: Add UNIQUE constraint on (project_id, task_id, file_id)
|
|
13
|
+
*
|
|
14
|
+
* Idempotency: Checks if constraint/index already exists before creating
|
|
15
|
+
*/
|
|
16
|
+
import type { Knex } from 'knex';
|
|
17
|
+
export declare function up(knex: Knex): Promise<void>;
|
|
18
|
+
export declare function down(knex: Knex): Promise<void>;
|
|
19
|
+
//# sourceMappingURL=20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts.map
|