sqlew 3.7.4 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +339 -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 +133 -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 +7 -5
- 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
package/dist/cli.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
3
|
* CLI for sqlew - Standalone query commands for mcp-sqlew
|
|
4
|
-
* Provides quick terminal access to decisions, messages,
|
|
4
|
+
* Provides quick terminal access to decisions, messages, and files
|
|
5
5
|
*/
|
|
6
6
|
import { initializeDatabase } from './database.js';
|
|
7
|
-
import { searchAdvanced } from './tools/context.js';
|
|
8
|
-
import {
|
|
9
|
-
import { getFileChanges } from './tools/files.js';
|
|
10
|
-
import { getActivityLog } from './tools/utils.js';
|
|
7
|
+
import { searchAdvanced } from './tools/context/index.js';
|
|
8
|
+
import { getFileChanges } from './tools/files/index.js';
|
|
11
9
|
import { dbDumpCommand } from './cli/db-dump.js';
|
|
12
10
|
import { dbExportCommand } from './cli/db-export.js';
|
|
13
11
|
import { dbImportCommand } from './cli/db-import.js';
|
|
@@ -103,7 +101,7 @@ USAGE:
|
|
|
103
101
|
sqlew <command> [subcommand] [options]
|
|
104
102
|
|
|
105
103
|
COMMANDS:
|
|
106
|
-
query Query context data (decisions, messages, files
|
|
104
|
+
query Query context data (decisions, messages, files)
|
|
107
105
|
db:dump Generate SQL dump for database migration (schema + data)
|
|
108
106
|
db:export Export project data to JSON format (data-only, for append-import)
|
|
109
107
|
db:import Import project data from JSON export (append to existing database)
|
|
@@ -112,7 +110,6 @@ QUERY SUBCOMMANDS:
|
|
|
112
110
|
decisions Query decisions with filtering
|
|
113
111
|
messages Query agent messages
|
|
114
112
|
files Query file changes
|
|
115
|
-
activity Query activity log
|
|
116
113
|
|
|
117
114
|
QUERY OPTIONS:
|
|
118
115
|
--layer <layer> Filter by layer (presentation, business, data, infrastructure, cross-cutting)
|
|
@@ -121,7 +118,6 @@ QUERY OPTIONS:
|
|
|
121
118
|
--unread Show only unread messages (messages only)
|
|
122
119
|
--priority <priority> Filter by priority (low, medium, high, critical)
|
|
123
120
|
--agent <agent> Filter by agent name
|
|
124
|
-
--actions <actions> Filter by action types (comma-separated, activity only)
|
|
125
121
|
--limit <number> Limit number of results
|
|
126
122
|
--output <format> Output format: json or table (default: json)
|
|
127
123
|
--db-path <path> Database file path (default: .sqlew/sqlew.db)
|
|
@@ -186,33 +182,12 @@ async function queryDecisions(args) {
|
|
|
186
182
|
}
|
|
187
183
|
/**
|
|
188
184
|
* Query messages command
|
|
185
|
+
* @deprecated Messaging system removed in v3.8.0
|
|
189
186
|
*/
|
|
190
187
|
async function queryMessages(args) {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
// Build query params
|
|
195
|
-
const params = {
|
|
196
|
-
agent_name: agentName,
|
|
197
|
-
};
|
|
198
|
-
if (args.unread) {
|
|
199
|
-
params.unread_only = true;
|
|
200
|
-
}
|
|
201
|
-
if (args.priority) {
|
|
202
|
-
params.priority_filter = args.priority;
|
|
203
|
-
}
|
|
204
|
-
if (args.limit) {
|
|
205
|
-
params.limit = args.limit;
|
|
206
|
-
}
|
|
207
|
-
// Execute query
|
|
208
|
-
const result = await getMessages(params);
|
|
209
|
-
// Output results
|
|
210
|
-
if (outputFormat === 'json') {
|
|
211
|
-
formatJSON(result);
|
|
212
|
-
}
|
|
213
|
-
else {
|
|
214
|
-
formatTable(result.messages, ['id', 'from_agent', 'msg_type', 'priority', 'timestamp', 'read']);
|
|
215
|
-
}
|
|
188
|
+
console.error('Error: The messaging system has been removed in v3.8.0.');
|
|
189
|
+
console.error('The "messages" query command is no longer available.');
|
|
190
|
+
process.exit(1);
|
|
216
191
|
}
|
|
217
192
|
/**
|
|
218
193
|
* Query files command
|
|
@@ -243,41 +218,6 @@ async function queryFiles(args) {
|
|
|
243
218
|
formatTable(result.changes, ['path', 'changed_by', 'change_type', 'layer', 'changed_at']);
|
|
244
219
|
}
|
|
245
220
|
}
|
|
246
|
-
/**
|
|
247
|
-
* Query activity command
|
|
248
|
-
*/
|
|
249
|
-
async function queryActivity(args) {
|
|
250
|
-
const outputFormat = args.output || 'json';
|
|
251
|
-
// Build query params
|
|
252
|
-
const params = {};
|
|
253
|
-
if (args.since) {
|
|
254
|
-
params.since = args.since;
|
|
255
|
-
}
|
|
256
|
-
if (args.agent) {
|
|
257
|
-
// Support wildcard for all agents
|
|
258
|
-
if (args.agent === '*') {
|
|
259
|
-
params.agent_names = ['*'];
|
|
260
|
-
}
|
|
261
|
-
else {
|
|
262
|
-
params.agent_names = args.agent.split(',').map(a => a.trim());
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
if (args.actions) {
|
|
266
|
-
params.actions = args.actions.split(',').map(a => a.trim());
|
|
267
|
-
}
|
|
268
|
-
if (args.limit) {
|
|
269
|
-
params.limit = args.limit;
|
|
270
|
-
}
|
|
271
|
-
// Execute query
|
|
272
|
-
const result = await getActivityLog(params);
|
|
273
|
-
// Output results
|
|
274
|
-
if (outputFormat === 'json') {
|
|
275
|
-
formatJSON(result);
|
|
276
|
-
}
|
|
277
|
-
else {
|
|
278
|
-
formatTable(result.activities, ['id', 'timestamp', 'agent', 'action', 'target', 'layer']);
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
221
|
// ============================================================================
|
|
282
222
|
// Main Entry Point
|
|
283
223
|
// ============================================================================
|
|
@@ -320,9 +260,6 @@ async function main() {
|
|
|
320
260
|
case 'files':
|
|
321
261
|
await queryFiles(args);
|
|
322
262
|
break;
|
|
323
|
-
case 'activity':
|
|
324
|
-
await queryActivity(args);
|
|
325
|
-
break;
|
|
326
263
|
default:
|
|
327
264
|
console.error(`Unknown subcommand: ${args.subcommand}`);
|
|
328
265
|
console.error('Run "sqlew --help" for usage information.');
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAc,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"20251025021416_seed_master_data.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025021416_seed_master_data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"20251025021416_seed_master_data.d.ts","sourceRoot":"","sources":["../../../../src/config/knex/bootstrap/20251025021416_seed_master_data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,wBAAsB,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA6KlD;AAGD,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CASpD"}
|
|
@@ -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"}
|