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
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Record a file change with optional layer assignment and description
|
|
3
|
+
* Auto-registers the file and agent if they don't exist
|
|
4
|
+
*/
|
|
5
|
+
import { DatabaseAdapter } from '../../../adapters/index.js';
|
|
6
|
+
import type { RecordFileChangeParams, RecordFileChangeResponse } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Record a file change with optional layer assignment and description.
|
|
9
|
+
* Auto-registers the file and agent if they don't exist.
|
|
10
|
+
*
|
|
11
|
+
* @param params - File change parameters
|
|
12
|
+
* @param adapter - Optional database adapter (for testing)
|
|
13
|
+
* @returns Success response with change ID and timestamp
|
|
14
|
+
*/
|
|
15
|
+
export declare function recordFileChange(params: RecordFileChangeParams, adapter?: DatabaseAdapter): Promise<RecordFileChangeResponse>;
|
|
16
|
+
//# sourceMappingURL=record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../../src/tools/files/actions/record.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAM7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEpF;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,wBAAwB,CAAC,CAoBnC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Record a file change with optional layer assignment and description
|
|
3
|
+
* Auto-registers the file and agent if they don't exist
|
|
4
|
+
*/
|
|
5
|
+
import { getAdapter } from '../../../database.js';
|
|
6
|
+
import { getProjectContext } from '../../../utils/project-context.js';
|
|
7
|
+
import connectionManager from '../../../utils/connection-manager.js';
|
|
8
|
+
import { validateActionParams } from '../internal/validation.js';
|
|
9
|
+
import { recordFileChangeInternal } from '../internal/queries.js';
|
|
10
|
+
/**
|
|
11
|
+
* Record a file change with optional layer assignment and description.
|
|
12
|
+
* Auto-registers the file and agent if they don't exist.
|
|
13
|
+
*
|
|
14
|
+
* @param params - File change parameters
|
|
15
|
+
* @param adapter - Optional database adapter (for testing)
|
|
16
|
+
* @returns Success response with change ID and timestamp
|
|
17
|
+
*/
|
|
18
|
+
export async function recordFileChange(params, adapter) {
|
|
19
|
+
const actualAdapter = adapter ?? getAdapter();
|
|
20
|
+
try {
|
|
21
|
+
// Validate parameters
|
|
22
|
+
validateActionParams('file', 'record', params);
|
|
23
|
+
// Fail-fast: Validate project context is initialized (Constraint #29)
|
|
24
|
+
const projectId = getProjectContext().getProjectId();
|
|
25
|
+
// Use transaction for atomicity with connection retry
|
|
26
|
+
return await connectionManager.executeWithRetry(async () => {
|
|
27
|
+
return await actualAdapter.transaction(async (trx) => {
|
|
28
|
+
return await recordFileChangeInternal(params, actualAdapter, projectId, trx);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
34
|
+
throw new Error(`Failed to record file change: ${message}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=record.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/tools/files/actions/record.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,iBAAiB,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGlE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAA8B,EAC9B,OAAyB;IAEzB,MAAM,aAAa,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;IAE9C,IAAI,CAAC;QACH,sBAAsB;QACtB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE/C,sEAAsE;QACtE,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC;QAErD,sDAAsD;QACtD,OAAO,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACzD,OAAO,MAAM,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACnD,OAAO,MAAM,wBAAwB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Forces SQLite WAL (Write-Ahead Log) checkpoint to flush pending transactions
|
|
3
|
+
* to the main database file. Essential for Git workflow to ensure .db file is
|
|
4
|
+
* up-to-date before committing to version control.
|
|
5
|
+
*
|
|
6
|
+
* SQLite WAL Mode:
|
|
7
|
+
* - Writes go to .db-wal file, not main .db file
|
|
8
|
+
* - Without flush, .db file is stale, .db-wal has latest data
|
|
9
|
+
* - Git commits should include up-to-date .db file for clean diffs
|
|
10
|
+
*
|
|
11
|
+
* Checkpoint Modes:
|
|
12
|
+
* - TRUNCATE: Most aggressive, blocks until complete, ensures ALL data flushed
|
|
13
|
+
* - This is the correct mode for Git workflow
|
|
14
|
+
*
|
|
15
|
+
* @returns FlushWALResponse with pages flushed count
|
|
16
|
+
*/
|
|
17
|
+
import { DatabaseAdapter } from '../../../adapters/index.js';
|
|
18
|
+
import type { FlushWALResponse } from '../../../types.js';
|
|
19
|
+
/**
|
|
20
|
+
* Forces SQLite WAL checkpoint to flush pending transactions to main database file
|
|
21
|
+
* SQLite-specific operation - returns error for MySQL/PostgreSQL
|
|
22
|
+
*
|
|
23
|
+
* @param adapter - Optional database adapter (for testing)
|
|
24
|
+
* @returns Checkpoint result with pages flushed
|
|
25
|
+
*/
|
|
26
|
+
export declare function sqliteFlush(adapter?: DatabaseAdapter): Promise<FlushWALResponse>;
|
|
27
|
+
//# sourceMappingURL=sqlite-flush.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-flush.d.ts","sourceRoot":"","sources":["../../../../src/tools/files/actions/sqlite-flush.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAI7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,gBAAgB,CAAC,CA0C3B"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Forces SQLite WAL (Write-Ahead Log) checkpoint to flush pending transactions
|
|
3
|
+
* to the main database file. Essential for Git workflow to ensure .db file is
|
|
4
|
+
* up-to-date before committing to version control.
|
|
5
|
+
*
|
|
6
|
+
* SQLite WAL Mode:
|
|
7
|
+
* - Writes go to .db-wal file, not main .db file
|
|
8
|
+
* - Without flush, .db file is stale, .db-wal has latest data
|
|
9
|
+
* - Git commits should include up-to-date .db file for clean diffs
|
|
10
|
+
*
|
|
11
|
+
* Checkpoint Modes:
|
|
12
|
+
* - TRUNCATE: Most aggressive, blocks until complete, ensures ALL data flushed
|
|
13
|
+
* - This is the correct mode for Git workflow
|
|
14
|
+
*
|
|
15
|
+
* @returns FlushWALResponse with pages flushed count
|
|
16
|
+
*/
|
|
17
|
+
import { getAdapter } from '../../../database.js';
|
|
18
|
+
import connectionManager from '../../../utils/connection-manager.js';
|
|
19
|
+
import { validateActionParams } from '../../../utils/parameter-validator.js';
|
|
20
|
+
/**
|
|
21
|
+
* Forces SQLite WAL checkpoint to flush pending transactions to main database file
|
|
22
|
+
* SQLite-specific operation - returns error for MySQL/PostgreSQL
|
|
23
|
+
*
|
|
24
|
+
* @param adapter - Optional database adapter (for testing)
|
|
25
|
+
* @returns Checkpoint result with pages flushed
|
|
26
|
+
*/
|
|
27
|
+
export async function sqliteFlush(adapter) {
|
|
28
|
+
const actualAdapter = adapter ?? getAdapter();
|
|
29
|
+
const knex = actualAdapter.getKnex();
|
|
30
|
+
try {
|
|
31
|
+
// Validate parameters
|
|
32
|
+
validateActionParams('file', 'sqlite_flush', {});
|
|
33
|
+
// Check if using SQLite (WAL mode is SQLite-specific)
|
|
34
|
+
const client = knex.client.config.client;
|
|
35
|
+
if (!['better-sqlite3', 'sqlite3'].includes(client)) {
|
|
36
|
+
return {
|
|
37
|
+
success: false,
|
|
38
|
+
mode: 'TRUNCATE',
|
|
39
|
+
pages_flushed: 0,
|
|
40
|
+
message: `WAL checkpoint is SQLite-specific. Current database: ${client}`
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return await connectionManager.executeWithRetry(async () => {
|
|
44
|
+
// Execute TRUNCATE checkpoint - most aggressive mode
|
|
45
|
+
// Blocks until complete, ensures all WAL data written to main DB file
|
|
46
|
+
// Returns array: [[busy, log, checkpointed]]
|
|
47
|
+
// - busy: number of frames not checkpointed due to locks
|
|
48
|
+
// - log: total number of frames in WAL file
|
|
49
|
+
// - checkpointed: number of frames checkpointed
|
|
50
|
+
const result = await knex.raw('PRAGMA wal_checkpoint(TRUNCATE)');
|
|
51
|
+
// Parse result array format from Knex
|
|
52
|
+
const pagesFlushed = result?.[0]?.[0]?.[2] || 0;
|
|
53
|
+
return {
|
|
54
|
+
success: true,
|
|
55
|
+
mode: 'TRUNCATE',
|
|
56
|
+
pages_flushed: pagesFlushed,
|
|
57
|
+
message: `WAL checkpoint completed successfully. ${pagesFlushed} pages flushed to main database file.`
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
63
|
+
throw new Error(`Failed to flush WAL: ${message}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=sqlite-flush.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-flush.js","sourceRoot":"","sources":["../../../../src/tools/files/actions/sqlite-flush.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,iBAAiB,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAG7E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAyB;IAEzB,MAAM,aAAa,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;IAErC,IAAI,CAAC;QACH,sBAAsB;QACtB,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QAEjD,sDAAsD;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,UAAU;gBAChB,aAAa,EAAE,CAAC;gBAChB,OAAO,EAAE,wDAAwD,MAAM,EAAE;aAC1E,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACzD,qDAAqD;YACrD,sEAAsE;YACtE,6CAA6C;YAC7C,yDAAyD;YACzD,4CAA4C;YAC5C,gDAAgD;YAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAQ,CAAC;YAExE,sCAAsC;YACtC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,UAAU;gBAChB,aAAa,EAAE,YAAY;gBAC3B,OAAO,EAAE,0CAA0C,YAAY,uCAAuC;aACvG,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../../../src/tools/files/help/example.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,WAAW,IAAI,GAAG,CA6FjC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Example action for file tool
|
|
3
|
+
*/
|
|
4
|
+
export function fileExample() {
|
|
5
|
+
return {
|
|
6
|
+
tool: 'file',
|
|
7
|
+
description: 'Comprehensive file tracking examples for multi-agent coordination',
|
|
8
|
+
scenarios: {
|
|
9
|
+
basic_tracking: {
|
|
10
|
+
title: 'Basic File Change Tracking',
|
|
11
|
+
examples: [
|
|
12
|
+
{
|
|
13
|
+
scenario: 'Record file modification',
|
|
14
|
+
request: '{ action: "record", file_path: "src/api/users.ts", agent_name: "refactor-agent", change_type: "modified", layer: "business", description: "Added email validation" }',
|
|
15
|
+
explanation: 'Track changes with layer and description'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
scenario: 'Get recent changes by agent',
|
|
19
|
+
request: '{ action: "get", agent_name: "refactor-agent", limit: 10 }',
|
|
20
|
+
explanation: 'View what an agent has been working on'
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
scenario: 'Track changes to specific file',
|
|
24
|
+
request: '{ action: "get", file_path: "src/api/users.ts" }',
|
|
25
|
+
explanation: 'See all modifications to a particular file'
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
file_locking: {
|
|
30
|
+
title: 'Concurrent Access Prevention',
|
|
31
|
+
workflow: [
|
|
32
|
+
{
|
|
33
|
+
step: 1,
|
|
34
|
+
action: 'Check if file is locked',
|
|
35
|
+
request: '{ action: "check_lock", file_path: "src/database/schema.sql", lock_duration: 300 }',
|
|
36
|
+
result: '{ locked: false } or { locked: true, locked_by: "agent-name", locked_at: "timestamp" }'
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
step: 2,
|
|
40
|
+
action: 'If not locked, record change (creates lock)',
|
|
41
|
+
request: '{ action: "record", file_path: "src/database/schema.sql", agent_name: "migration-agent", change_type: "modified" }'
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
step: 3,
|
|
45
|
+
action: 'Lock expires after 5 minutes (default) or specified duration'
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
layer_organization: {
|
|
50
|
+
title: 'Tracking by Architecture Layer',
|
|
51
|
+
examples: [
|
|
52
|
+
{
|
|
53
|
+
scenario: 'Get all presentation layer changes',
|
|
54
|
+
request: '{ action: "get", layer: "presentation", limit: 20 }',
|
|
55
|
+
explanation: 'View frontend/UI changes across agents'
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
scenario: 'Track infrastructure changes',
|
|
59
|
+
request: '{ action: "get", layer: "infrastructure", change_type: "modified" }',
|
|
60
|
+
explanation: 'Monitor config and deployment file changes'
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
batch_tracking: {
|
|
65
|
+
title: 'Batch File Operations',
|
|
66
|
+
examples: [
|
|
67
|
+
{
|
|
68
|
+
scenario: 'Record multiple file changes atomically',
|
|
69
|
+
request: '{ action: "record_batch", file_changes: [{"file_path": "src/api.ts", "agent_name": "bot1", "change_type": "modified", "layer": "presentation"}, {"file_path": "src/types.ts", "agent_name": "bot1", "change_type": "modified", "layer": "data"}], atomic: true }',
|
|
70
|
+
explanation: 'All changes recorded or none (transaction)'
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
best_practices: {
|
|
76
|
+
change_tracking: [
|
|
77
|
+
'Always specify layer for better organization',
|
|
78
|
+
'Include description for non-obvious changes',
|
|
79
|
+
'Use check_lock before modifying shared files',
|
|
80
|
+
'Track both creation and deletion of files'
|
|
81
|
+
],
|
|
82
|
+
lock_management: [
|
|
83
|
+
'Default lock duration is 300 seconds (5 minutes)',
|
|
84
|
+
'Locks prevent concurrent modifications',
|
|
85
|
+
'Locks auto-expire - no manual unlock needed',
|
|
86
|
+
'Use appropriate lock_duration for operation complexity'
|
|
87
|
+
],
|
|
88
|
+
layer_assignment: [
|
|
89
|
+
'presentation: UI components, API controllers',
|
|
90
|
+
'business: Services, domain logic',
|
|
91
|
+
'data: Models, repositories, migrations',
|
|
92
|
+
'infrastructure: Config, deployment, CI/CD',
|
|
93
|
+
'cross-cutting: Utilities used across layers'
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=example.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../src/tools/files/help/example.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,WAAW;IACzB,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mEAAmE;QAChF,SAAS,EAAE;YACT,cAAc,EAAE;gBACd,KAAK,EAAE,4BAA4B;gBACnC,QAAQ,EAAE;oBACR;wBACE,QAAQ,EAAE,0BAA0B;wBACpC,OAAO,EAAE,sKAAsK;wBAC/K,WAAW,EAAE,0CAA0C;qBACxD;oBACD;wBACE,QAAQ,EAAE,6BAA6B;wBACvC,OAAO,EAAE,4DAA4D;wBACrE,WAAW,EAAE,wCAAwC;qBACtD;oBACD;wBACE,QAAQ,EAAE,gCAAgC;wBAC1C,OAAO,EAAE,kDAAkD;wBAC3D,WAAW,EAAE,4CAA4C;qBAC1D;iBACF;aACF;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,8BAA8B;gBACrC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,yBAAyB;wBACjC,OAAO,EAAE,oFAAoF;wBAC7F,MAAM,EAAE,wFAAwF;qBACjG;oBACD;wBACE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,6CAA6C;wBACrD,OAAO,EAAE,oHAAoH;qBAC9H;oBACD;wBACE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,8DAA8D;qBACvE;iBACF;aACF;YACD,kBAAkB,EAAE;gBAClB,KAAK,EAAE,gCAAgC;gBACvC,QAAQ,EAAE;oBACR;wBACE,QAAQ,EAAE,oCAAoC;wBAC9C,OAAO,EAAE,qDAAqD;wBAC9D,WAAW,EAAE,wCAAwC;qBACtD;oBACD;wBACE,QAAQ,EAAE,8BAA8B;wBACxC,OAAO,EAAE,qEAAqE;wBAC9E,WAAW,EAAE,4CAA4C;qBAC1D;iBACF;aACF;YACD,cAAc,EAAE;gBACd,KAAK,EAAE,uBAAuB;gBAC9B,QAAQ,EAAE;oBACR;wBACE,QAAQ,EAAE,yCAAyC;wBACnD,OAAO,EAAE,kQAAkQ;wBAC3Q,WAAW,EAAE,4CAA4C;qBAC1D;iBACF;aACF;SACF;QACD,cAAc,EAAE;YACd,eAAe,EAAE;gBACf,8CAA8C;gBAC9C,6CAA6C;gBAC7C,8CAA8C;gBAC9C,2CAA2C;aAC5C;YACD,eAAe,EAAE;gBACf,kDAAkD;gBAClD,wCAAwC;gBACxC,6CAA6C;gBAC7C,wDAAwD;aACzD;YACD,gBAAgB,EAAE;gBAChB,8CAA8C;gBAC9C,kCAAkC;gBAClC,wCAAwC;gBACxC,2CAA2C;gBAC3C,6CAA6C;aAC9C;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../../src/tools/files/help/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,QAAQ,IAAI,GAAG,CAwB9B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Help action for file tool
|
|
3
|
+
*/
|
|
4
|
+
export function fileHelp() {
|
|
5
|
+
return {
|
|
6
|
+
tool: 'file',
|
|
7
|
+
description: 'Track file changes across agents with layer classification',
|
|
8
|
+
note: '💡 TIP: Use action: "example" to see comprehensive usage scenarios and real-world examples for all file tracking actions.',
|
|
9
|
+
actions: {
|
|
10
|
+
record: 'Record file change. Params: file_path (required), agent_name (required), change_type (required), layer, description',
|
|
11
|
+
get: 'Get file changes. Params: file_path, agent_name, layer, change_type, since, limit',
|
|
12
|
+
check_lock: 'Check if file locked. Params: file_path (required), lock_duration',
|
|
13
|
+
record_batch: 'Batch record file changes (FR-005). Params: file_changes (required, array of RecordFileChangeParams, max: 50), atomic (optional, boolean, default: true). Returns: {success, inserted, failed, results}. ATOMIC MODE (atomic: true): All file changes succeed or all fail as a single transaction. IF ANY record fails, entire batch is rolled back and error is thrown. NON-ATOMIC MODE (atomic: false): Each file change is processed independently. If some fail, others still succeed. Returns partial results with per-item success/error status. RECOMMENDATION FOR AI AGENTS: Use atomic:false by default for best-effort recording. Use atomic:true only when all-or-nothing guarantee is required. 52% token reduction vs individual calls.'
|
|
14
|
+
},
|
|
15
|
+
examples: {
|
|
16
|
+
record: '{ action: "record", file_path: "src/index.ts", agent_name: "refactor-bot", change_type: "modified", layer: "infrastructure" }',
|
|
17
|
+
get: '{ action: "get", agent_name: "refactor-bot", layer: "infrastructure", limit: 10 }',
|
|
18
|
+
check_lock: '{ action: "check_lock", file_path: "src/index.ts", lock_duration: 300 }',
|
|
19
|
+
record_batch: '{ action: "record_batch", file_changes: [{"file_path": "src/types.ts", "agent_name": "bot1", "change_type": "modified", "layer": "data"}, {"file_path": "src/index.ts", "agent_name": "bot1", "change_type": "modified", "layer": "infrastructure"}], atomic: true }'
|
|
20
|
+
},
|
|
21
|
+
documentation: {
|
|
22
|
+
workflows: 'docs/WORKFLOWS.md - File locking patterns, concurrent file access workflows (602 lines, ~30k tokens)',
|
|
23
|
+
tool_reference: 'docs/TOOL_REFERENCE.md - File tool parameters, batch operations (471 lines, ~24k tokens)',
|
|
24
|
+
shared_concepts: 'docs/SHARED_CONCEPTS.md - Layer definitions, enum values (change_type), atomic mode (339 lines, ~17k tokens)',
|
|
25
|
+
best_practices: 'docs/BEST_PRACTICES.md - File tracking best practices (345 lines, ~17k tokens)'
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../../src/tools/files/help/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,QAAQ;IACtB,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,4DAA4D;QACzE,IAAI,EAAE,2HAA2H;QACjI,OAAO,EAAE;YACP,MAAM,EAAE,qHAAqH;YAC7H,GAAG,EAAE,mFAAmF;YACxF,UAAU,EAAE,mEAAmE;YAC/E,YAAY,EAAE,stBAAstB;SACruB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,+HAA+H;YACvI,GAAG,EAAE,mFAAmF;YACxF,UAAU,EAAE,yEAAyE;YACrF,YAAY,EAAE,sQAAsQ;SACrR;QACD,aAAa,EAAE;YACb,SAAS,EAAE,sGAAsG;YACjH,cAAc,EAAE,0FAA0F;YAC1G,eAAe,EAAE,8GAA8G;YAC/H,cAAc,EAAE,gFAAgF;SACjG;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File tool - Barrel export
|
|
3
|
+
*
|
|
4
|
+
* Exports all file-related actions from modular structure
|
|
5
|
+
*/
|
|
6
|
+
export { recordFileChange } from './actions/record.js';
|
|
7
|
+
export { getFileChanges } from './actions/get.js';
|
|
8
|
+
export { checkFileLock } from './actions/check-lock.js';
|
|
9
|
+
export { recordFileChangeBatch } from './actions/record-batch.js';
|
|
10
|
+
export { sqliteFlush } from './actions/sqlite-flush.js';
|
|
11
|
+
export { fileHelp } from './help/help.js';
|
|
12
|
+
export { fileExample } from './help/example.js';
|
|
13
|
+
export type { RecordFileChangeParams, GetFileChangesParams, CheckFileLockParams, RecordFileChangeBatchParams, RecordFileChangeResponse, GetFileChangesResponse, CheckFileLockResponse, RecordFileChangeBatchResponse, RecentFileChange } from './types.js';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/files/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,YAAY,EACV,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File tool - Barrel export
|
|
3
|
+
*
|
|
4
|
+
* Exports all file-related actions from modular structure
|
|
5
|
+
*/
|
|
6
|
+
// Action exports
|
|
7
|
+
export { recordFileChange } from './actions/record.js';
|
|
8
|
+
export { getFileChanges } from './actions/get.js';
|
|
9
|
+
export { checkFileLock } from './actions/check-lock.js';
|
|
10
|
+
export { recordFileChangeBatch } from './actions/record-batch.js';
|
|
11
|
+
export { sqliteFlush } from './actions/sqlite-flush.js';
|
|
12
|
+
// Help exports
|
|
13
|
+
export { fileHelp } from './help/help.js';
|
|
14
|
+
export { fileExample } from './help/example.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/files/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,iBAAiB;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,eAAe;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared database queries for file operations
|
|
3
|
+
*/
|
|
4
|
+
import { DatabaseAdapter } from '../../../adapters/index.js';
|
|
5
|
+
import { Knex } from 'knex';
|
|
6
|
+
import type { RecordFileChangeParams, RecordFileChangeResponse } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Internal helper: Record file change without transaction wrapper
|
|
9
|
+
* Used by recordFileChange (with transaction) and recordFileChangeBatch (manages its own transaction)
|
|
10
|
+
*
|
|
11
|
+
* @param params - File change parameters
|
|
12
|
+
* @param adapter - Database adapter instance
|
|
13
|
+
* @param projectId - Project ID
|
|
14
|
+
* @param trx - Optional transaction
|
|
15
|
+
* @returns Success response with change ID and timestamp
|
|
16
|
+
*/
|
|
17
|
+
export declare function recordFileChangeInternal(params: RecordFileChangeParams, adapter: DatabaseAdapter, projectId: number, trx?: Knex.Transaction): Promise<RecordFileChangeResponse>;
|
|
18
|
+
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/tools/files/internal/queries.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAY5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEpF;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC,wBAAwB,CAAC,CAsDnC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared database queries for file operations
|
|
3
|
+
*/
|
|
4
|
+
import { getOrCreateFile, getOrCreateAgent, getLayerId } from '../../../database.js';
|
|
5
|
+
import { STRING_TO_CHANGE_TYPE, STANDARD_LAYERS } from '../../../constants.js';
|
|
6
|
+
import { validateChangeType } from '../../../utils/validators.js';
|
|
7
|
+
import { logFileRecord } from '../../../utils/activity-logging.js';
|
|
8
|
+
/**
|
|
9
|
+
* Internal helper: Record file change without transaction wrapper
|
|
10
|
+
* Used by recordFileChange (with transaction) and recordFileChangeBatch (manages its own transaction)
|
|
11
|
+
*
|
|
12
|
+
* @param params - File change parameters
|
|
13
|
+
* @param adapter - Database adapter instance
|
|
14
|
+
* @param projectId - Project ID
|
|
15
|
+
* @param trx - Optional transaction
|
|
16
|
+
* @returns Success response with change ID and timestamp
|
|
17
|
+
*/
|
|
18
|
+
export async function recordFileChangeInternal(params, adapter, projectId, trx) {
|
|
19
|
+
const knex = trx || adapter.getKnex();
|
|
20
|
+
// Validate change_type
|
|
21
|
+
validateChangeType(params.change_type);
|
|
22
|
+
const changeTypeInt = STRING_TO_CHANGE_TYPE[params.change_type];
|
|
23
|
+
// Validate layer if provided
|
|
24
|
+
let layerId = null;
|
|
25
|
+
if (params.layer) {
|
|
26
|
+
if (!STANDARD_LAYERS.includes(params.layer)) {
|
|
27
|
+
throw new Error(`Invalid layer: ${params.layer}. Must be one of: ${STANDARD_LAYERS.join(', ')}`);
|
|
28
|
+
}
|
|
29
|
+
layerId = await getLayerId(adapter, params.layer, trx);
|
|
30
|
+
if (layerId === null) {
|
|
31
|
+
throw new Error(`Layer not found: ${params.layer}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Auto-register file and agent (v3.7.3: pass projectId)
|
|
35
|
+
const fileId = await getOrCreateFile(adapter, projectId, params.file_path, trx);
|
|
36
|
+
const agentId = await getOrCreateAgent(adapter, params.agent_name, trx);
|
|
37
|
+
// Current timestamp
|
|
38
|
+
const ts = Math.floor(Date.now() / 1000);
|
|
39
|
+
// Insert file change record with project_id
|
|
40
|
+
const [changeId] = await knex('t_file_changes').insert({
|
|
41
|
+
file_id: fileId,
|
|
42
|
+
agent_id: agentId,
|
|
43
|
+
layer_id: layerId,
|
|
44
|
+
change_type: changeTypeInt,
|
|
45
|
+
description: params.description || null,
|
|
46
|
+
project_id: projectId,
|
|
47
|
+
ts: ts
|
|
48
|
+
});
|
|
49
|
+
// Activity logging (replaces trigger)
|
|
50
|
+
await logFileRecord(knex, {
|
|
51
|
+
file_path: params.file_path,
|
|
52
|
+
change_type: changeTypeInt,
|
|
53
|
+
agent_id: agentId,
|
|
54
|
+
layer_id: layerId || undefined
|
|
55
|
+
});
|
|
56
|
+
const timestamp = new Date(ts * 1000).toISOString();
|
|
57
|
+
return {
|
|
58
|
+
success: true,
|
|
59
|
+
change_id: Number(changeId),
|
|
60
|
+
timestamp: timestamp,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../src/tools/files/internal/queries.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,UAAU,EACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGnE;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAA8B,EAC9B,OAAwB,EACxB,SAAiB,EACjB,GAAsB;IAEtB,MAAM,IAAI,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAEtC,uBAAuB;IACvB,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAEhE,6BAA6B;IAC7B,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAY,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CACb,kBAAkB,MAAM,CAAC,KAAK,qBAAqB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChF,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAExE,oBAAoB;IACpB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAEzC,4CAA4C;IAC5C,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC;QACrD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;QACvC,UAAU,EAAE,SAAS;QACrB,EAAE,EAAE,EAAE;KACP,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,aAAa,CAAC,IAAI,EAAE;QACxB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,aAAa;QAC1B,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,OAAO,IAAI,SAAS;KAC/B,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAEpD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC3B,SAAS,EAAE,SAAS;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parameter validation utilities for file operations
|
|
3
|
+
*/
|
|
4
|
+
import { validateChangeType } from '../../../utils/validators.js';
|
|
5
|
+
import { validateActionParams, validateBatchParams } from '../../../utils/parameter-validator.js';
|
|
6
|
+
import type { DatabaseAdapter } from '../../../adapters/types.js';
|
|
7
|
+
import { BatchValidationError } from '../../../utils/batch-validation.js';
|
|
8
|
+
/**
|
|
9
|
+
* Validate layer parameter
|
|
10
|
+
*/
|
|
11
|
+
export declare function validateLayerParam(layer?: string): void;
|
|
12
|
+
export { validateChangeType, validateActionParams, validateBatchParams };
|
|
13
|
+
/**
|
|
14
|
+
* Validate single file change item in batch operation
|
|
15
|
+
* Accumulates all validation errors for the item
|
|
16
|
+
*/
|
|
17
|
+
export declare function validateFileChangeItem(item: any, index: number, adapter: DatabaseAdapter, errors: BatchValidationError[]): Promise<void>;
|
|
18
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/tools/files/internal/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAElG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EACL,oBAAoB,EAGrB,MAAM,oCAAoC,CAAC;AAE5C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAMvD;AAGD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;AAOzE;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,GAAG,EACT,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,oBAAoB,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CAiBf"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parameter validation utilities for file operations
|
|
3
|
+
*/
|
|
4
|
+
import { validateChangeType } from '../../../utils/validators.js';
|
|
5
|
+
import { validateActionParams, validateBatchParams } from '../../../utils/parameter-validator.js';
|
|
6
|
+
import { STANDARD_LAYERS } from '../../../constants.js';
|
|
7
|
+
import { validateRequiredField, validateEnum, } from '../../../utils/batch-validation.js';
|
|
8
|
+
/**
|
|
9
|
+
* Validate layer parameter
|
|
10
|
+
*/
|
|
11
|
+
export function validateLayerParam(layer) {
|
|
12
|
+
if (layer && !STANDARD_LAYERS.includes(layer)) {
|
|
13
|
+
throw new Error(`Invalid layer: ${layer}. Must be one of: ${STANDARD_LAYERS.join(', ')}`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
// Re-export common validators
|
|
17
|
+
export { validateChangeType, validateActionParams, validateBatchParams };
|
|
18
|
+
/**
|
|
19
|
+
* Valid change types for file operations
|
|
20
|
+
*/
|
|
21
|
+
const VALID_CHANGE_TYPES = ['created', 'modified', 'deleted'];
|
|
22
|
+
/**
|
|
23
|
+
* Validate single file change item in batch operation
|
|
24
|
+
* Accumulates all validation errors for the item
|
|
25
|
+
*/
|
|
26
|
+
export async function validateFileChangeItem(item, index, adapter, errors) {
|
|
27
|
+
const identifier = item.file_path || `Item ${index + 1}`;
|
|
28
|
+
// Required: file_path
|
|
29
|
+
validateRequiredField(item.file_path, 'file_path', index, identifier, errors);
|
|
30
|
+
// Required: agent_name
|
|
31
|
+
validateRequiredField(item.agent_name, 'agent_name', index, identifier, errors);
|
|
32
|
+
// Required: change_type
|
|
33
|
+
validateRequiredField(item.change_type, 'change_type', index, identifier, errors);
|
|
34
|
+
validateEnum(item.change_type, 'change_type', VALID_CHANGE_TYPES, index, identifier, errors);
|
|
35
|
+
// Optional but must be valid: layer
|
|
36
|
+
if (item.layer !== undefined) {
|
|
37
|
+
validateEnum(item.layer, 'layer', STANDARD_LAYERS, index, identifier, errors);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/tools/files/internal/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAEL,qBAAqB,EACrB,YAAY,GACb,MAAM,oCAAoC,CAAC;AAE5C;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAY,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CACb,kBAAkB,KAAK,qBAAqB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,8BAA8B;AAC9B,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;AAEzE;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC;AAEvE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAS,EACT,KAAa,EACb,OAAwB,EACxB,MAA8B;IAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC;IAEzD,sBAAsB;IACtB,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAE9E,uBAAuB;IACvB,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAEhF,wBAAwB;IACxB,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAClF,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAE7F,oCAAoC;IACpC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File-specific types
|
|
3
|
+
* Re-exports from main types module
|
|
4
|
+
*/
|
|
5
|
+
export type { RecordFileChangeParams, GetFileChangesParams, CheckFileLockParams, RecordFileChangeBatchParams, RecordFileChangeResponse, GetFileChangesResponse, CheckFileLockResponse, RecordFileChangeBatchResponse, RecentFileChange } from '../../types.js';
|
|
6
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/files/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACV,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/tools/files/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Help Tool - batch_guide Action
|
|
3
|
+
* Get guidance for batch operations
|
|
4
|
+
*/
|
|
5
|
+
import { DatabaseAdapter } from '../../../adapters/index.js';
|
|
6
|
+
import { HelpBatchGuideParams, HelpBatchGuideResult } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Get batch operation guide
|
|
9
|
+
* Queries database for batch-specific examples and adds best practices
|
|
10
|
+
*/
|
|
11
|
+
export declare function batchGuide(params: HelpBatchGuideParams, adapter?: DatabaseAdapter): Promise<HelpBatchGuideResult | {
|
|
12
|
+
error: string;
|
|
13
|
+
}>;
|
|
14
|
+
//# sourceMappingURL=batch-guide.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-guide.d.ts","sourceRoot":"","sources":["../../../../src/tools/help/actions/batch-guide.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAe,MAAM,aAAa,CAAC;AAEtF;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,oBAAoB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA2DnD"}
|