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 @@
|
|
|
1
|
+
{"version":3,"file":"set-from-template.js","sourceRoot":"","sources":["../../../../src/tools/context/actions/set-from-template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA6B,EAC7B,OAAyB;IAEzB,sBAAsB;IACtB,oBAAoB,CAAC,UAAU,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAE9D,MAAM,aAAa,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;IAErC,2BAA2B;IAC3B,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC;IAErD,IAAI,CAAC;QACH,8CAA8C;QAC9C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;aACnD,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;aACvD,KAAK,EAKO,CAAC;QAEhB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAK/C,CAAC;QAEF,wBAAwB;QACxB,MAAM,cAAc,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,CAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QAEhH,wCAAwC;QACxC,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,IAAK,MAAc,CAAC,KAAK,CAAC,KAAK,SAAS,IAAK,MAAc,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;oBAClG,MAAM,IAAI,KAAK,CAAC,aAAa,MAAM,CAAC,QAAQ,qBAAqB,KAAK,EAAE,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,MAAM,eAAe,GAIjB,EAAE,CAAC;QAEP,MAAM,cAAc,GAAsB;YACxC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;YACrC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM;YACxC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;QAEF,mCAAmC;QACnC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpC,eAAe,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClC,eAAe,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACtC,eAAe,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC3C,CAAC;QAED,iEAAiE;QACjE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAEhE,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,aAAa,EAAE,MAAM,CAAC,QAAQ;YAC9B,gBAAgB,EAAE,eAAe;YACjC,OAAO,EAAE,aAAa,MAAM,CAAC,GAAG,sCAAsC,MAAM,CAAC,QAAQ,GAAG;SACzF,CAAC;IACJ,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,yCAAyC,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Set or update a decision in the context
|
|
3
|
+
* Auto-detects numeric vs string values and routes to appropriate table
|
|
4
|
+
* Supports tags, layers, scopes, and version tracking
|
|
5
|
+
*/
|
|
6
|
+
import { DatabaseAdapter } from '../../../adapters/index.js';
|
|
7
|
+
import type { SetDecisionParams, SetDecisionResponse } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Set or update a decision in the context
|
|
10
|
+
*
|
|
11
|
+
* @param params - Decision parameters
|
|
12
|
+
* @param adapter - Optional database adapter (for testing)
|
|
13
|
+
* @returns Response with success status and metadata
|
|
14
|
+
*/
|
|
15
|
+
export declare function setDecision(params: SetDecisionParams, adapter?: DatabaseAdapter): Promise<SetDecisionResponse>;
|
|
16
|
+
//# sourceMappingURL=set.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../src/tools/context/actions/set.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAY7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE1E;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAwC9B"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Set or update a decision in the context
|
|
3
|
+
* Auto-detects numeric vs string values and routes to appropriate table
|
|
4
|
+
* Supports tags, layers, scopes, and version tracking
|
|
5
|
+
*/
|
|
6
|
+
import { getAdapter } from '../../../database.js';
|
|
7
|
+
import { getProjectContext } from '../../../utils/project-context.js';
|
|
8
|
+
import connectionManager from '../../../utils/connection-manager.js';
|
|
9
|
+
import { debugLogFunctionEntry, debugLogFunctionExit, debugLogTransaction, debugLogCriticalError } from '../../../utils/debug-logger.js';
|
|
10
|
+
import { validateActionParams } from '../internal/validation.js';
|
|
11
|
+
import { setDecisionInternal } from '../internal/queries.js';
|
|
12
|
+
/**
|
|
13
|
+
* Set or update a decision in the context
|
|
14
|
+
*
|
|
15
|
+
* @param params - Decision parameters
|
|
16
|
+
* @param adapter - Optional database adapter (for testing)
|
|
17
|
+
* @returns Response with success status and metadata
|
|
18
|
+
*/
|
|
19
|
+
export async function setDecision(params, adapter) {
|
|
20
|
+
debugLogFunctionEntry('setDecision', params);
|
|
21
|
+
// Validate parameters
|
|
22
|
+
try {
|
|
23
|
+
validateActionParams('decision', 'set', params);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
const actualAdapter = adapter ?? getAdapter();
|
|
29
|
+
try {
|
|
30
|
+
debugLogTransaction('START', 'setDecision');
|
|
31
|
+
// Validate project context (Constraint #29 - fail-fast before mutations)
|
|
32
|
+
const projectId = getProjectContext().getProjectId();
|
|
33
|
+
// Use transaction for atomicity with connection retry
|
|
34
|
+
const result = await connectionManager.executeWithRetry(async () => {
|
|
35
|
+
return await actualAdapter.transaction(async (trx) => {
|
|
36
|
+
debugLogTransaction('COMMIT', 'setDecision-transaction-begin');
|
|
37
|
+
const internalResult = await setDecisionInternal(params, actualAdapter, projectId, trx);
|
|
38
|
+
debugLogTransaction('COMMIT', 'setDecision-transaction-end');
|
|
39
|
+
return internalResult;
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
debugLogFunctionExit('setDecision', true, result);
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
47
|
+
debugLogCriticalError('setDecision', error, {
|
|
48
|
+
function: 'setDecision',
|
|
49
|
+
params
|
|
50
|
+
});
|
|
51
|
+
debugLogTransaction('ROLLBACK', 'setDecision');
|
|
52
|
+
debugLogFunctionExit('setDecision', false, undefined, error);
|
|
53
|
+
throw new Error(`Failed to set decision: ${message}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../src/tools/context/actions/set.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,iBAAiB,MAAM,sCAAsC,CAAC;AACrE,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAyB,EACzB,OAAyB;IAEzB,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAE7C,sBAAsB;IACtB,IAAI,CAAC;QACH,oBAAoB,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;IAE9C,IAAI,CAAC;QACH,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAE5C,yEAAyE;QACzE,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC;QAErD,sDAAsD;QACtD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACjE,OAAO,MAAM,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACnD,mBAAmB,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;gBAC/D,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;gBACxF,mBAAmB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;gBAC7D,OAAO,cAAc,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,oBAAoB,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,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,qBAAqB,CAAC,aAAa,EAAE,KAAK,EAAE;YAC1C,QAAQ,EAAE,aAAa;YACvB,MAAM;SACP,CAAC,CAAC;QACH,mBAAmB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAC/C,oBAAoB,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get version history for a specific decision key
|
|
3
|
+
* Returns all historical versions ordered by timestamp (newest first)
|
|
4
|
+
*/
|
|
5
|
+
import { DatabaseAdapter } from '../../../adapters/index.js';
|
|
6
|
+
import type { GetVersionsParams, GetVersionsResponse } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Get version history for a decision
|
|
9
|
+
*
|
|
10
|
+
* @param params - Decision key to get history for
|
|
11
|
+
* @param adapter - Optional database adapter (for testing)
|
|
12
|
+
* @returns Array of historical versions with metadata
|
|
13
|
+
*/
|
|
14
|
+
export declare function getVersions(params: GetVersionsParams, adapter?: DatabaseAdapter): Promise<GetVersionsResponse>;
|
|
15
|
+
//# sourceMappingURL=versions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../../src/tools/context/actions/versions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAI7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE1E;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAsE9B"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get version history for a specific decision key
|
|
3
|
+
* Returns all historical versions ordered by timestamp (newest first)
|
|
4
|
+
*/
|
|
5
|
+
import { getAdapter } from '../../../database.js';
|
|
6
|
+
import { getProjectContext } from '../../../utils/project-context.js';
|
|
7
|
+
import { validateActionParams } from '../internal/validation.js';
|
|
8
|
+
/**
|
|
9
|
+
* Get version history for a decision
|
|
10
|
+
*
|
|
11
|
+
* @param params - Decision key to get history for
|
|
12
|
+
* @param adapter - Optional database adapter (for testing)
|
|
13
|
+
* @returns Array of historical versions with metadata
|
|
14
|
+
*/
|
|
15
|
+
export async function getVersions(params, adapter) {
|
|
16
|
+
// Validate parameters
|
|
17
|
+
try {
|
|
18
|
+
validateActionParams('decision', 'versions', params);
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
23
|
+
const actualAdapter = adapter ?? getAdapter();
|
|
24
|
+
const knex = actualAdapter.getKnex();
|
|
25
|
+
// Validate project context
|
|
26
|
+
const projectId = getProjectContext().getProjectId();
|
|
27
|
+
// Validate required parameter
|
|
28
|
+
if (!params.key || params.key.trim() === '') {
|
|
29
|
+
throw new Error('Parameter "key" is required and cannot be empty');
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
// Get key_id for the decision
|
|
33
|
+
const keyResult = await knex('m_context_keys')
|
|
34
|
+
.where({ key: params.key })
|
|
35
|
+
.first('id');
|
|
36
|
+
if (!keyResult) {
|
|
37
|
+
// Key doesn't exist, return empty history
|
|
38
|
+
return {
|
|
39
|
+
key: params.key,
|
|
40
|
+
history: [],
|
|
41
|
+
count: 0
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
const keyId = keyResult.id;
|
|
45
|
+
// Query t_decision_history with agent join
|
|
46
|
+
const rows = await knex('t_decision_history as dh')
|
|
47
|
+
.leftJoin('m_agents as a', 'dh.agent_id', 'a.id')
|
|
48
|
+
.where({ 'dh.key_id': keyId, 'dh.project_id': projectId })
|
|
49
|
+
.select('dh.version', 'dh.value', 'a.name as agent_name', knex.raw(`datetime(dh.ts, 'unixepoch') as timestamp`))
|
|
50
|
+
.orderBy('dh.ts', 'desc');
|
|
51
|
+
// Transform to response format
|
|
52
|
+
const history = rows.map(row => ({
|
|
53
|
+
version: row.version,
|
|
54
|
+
value: row.value,
|
|
55
|
+
agent: row.agent_name,
|
|
56
|
+
timestamp: row.timestamp
|
|
57
|
+
}));
|
|
58
|
+
return {
|
|
59
|
+
key: params.key,
|
|
60
|
+
history: history,
|
|
61
|
+
count: history.length
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
66
|
+
throw new Error(`Failed to get versions: ${message}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=versions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../src/tools/context/actions/versions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAyB,EACzB,OAAyB;IAEzB,sBAAsB;IACtB,IAAI,CAAC;QACH,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;IAErC,2BAA2B;IAC3B,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC;IAErD,8BAA8B;IAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC;aAC3C,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;aAC1B,KAAK,CAAC,IAAI,CAA+B,CAAC;QAE7C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,0CAA0C;YAC1C,OAAO;gBACL,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,CAAC;aACT,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC;QAE3B,2CAA2C;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC;aAChD,QAAQ,CAAC,eAAe,EAAE,aAAa,EAAE,MAAM,CAAC;aAChD,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;aACzD,MAAM,CACL,YAAY,EACZ,UAAU,EACV,sBAAsB,EACtB,IAAI,CAAC,GAAG,CAAC,2CAA2C,CAAC,CACtD;aACA,OAAO,CAAC,OAAO,EAAE,MAAM,CAKtB,CAAC;QAEL,+BAA+B;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,KAAK,EAAE,GAAG,CAAC,UAAU;YACrB,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,OAAO,CAAC,MAAM;SACtB,CAAC;IACJ,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,2BAA2B,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../../../src/tools/context/help/example.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,eAAe,IAAI,GAAG,CA2FrC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Example action for decision tool
|
|
3
|
+
*/
|
|
4
|
+
export function decisionExample() {
|
|
5
|
+
return {
|
|
6
|
+
tool: 'decision',
|
|
7
|
+
description: 'Comprehensive decision tool examples without needing WebFetch access',
|
|
8
|
+
scenarios: {
|
|
9
|
+
basic_usage: {
|
|
10
|
+
title: 'Basic Decision Management',
|
|
11
|
+
examples: [
|
|
12
|
+
{
|
|
13
|
+
scenario: 'Record API design decision',
|
|
14
|
+
request: '{ action: "set", key: "api_auth_method", value: "JWT with refresh tokens", layer: "business", tags: ["api", "security", "authentication"] }',
|
|
15
|
+
explanation: 'Documents the choice of authentication method for the API'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
scenario: 'Retrieve a decision',
|
|
19
|
+
request: '{ action: "get", key: "api_auth_method" }',
|
|
20
|
+
response_structure: '{ key, value, layer, status, version, tags, scopes, decided_by, updated_at }'
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
advanced_filtering: {
|
|
25
|
+
title: 'Advanced Search and Filtering',
|
|
26
|
+
examples: [
|
|
27
|
+
{
|
|
28
|
+
scenario: 'Find all security-related decisions in business layer',
|
|
29
|
+
request: '{ action: "search_advanced", layers: ["business"], tags_any: ["security", "authentication"], status: ["active"], sort_by: "updated", sort_order: "desc" }'
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
versioning_workflow: {
|
|
34
|
+
title: 'Version Management',
|
|
35
|
+
steps: [
|
|
36
|
+
{
|
|
37
|
+
step: 1,
|
|
38
|
+
action: 'Create initial decision',
|
|
39
|
+
request: '{ action: "set", key: "database_choice", value: "PostgreSQL", layer: "data", version: "1.0.0", tags: ["database"] }'
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
step: 2,
|
|
43
|
+
action: 'View version history',
|
|
44
|
+
request: '{ action: "versions", key: "database_choice" }'
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
batch_operations: {
|
|
49
|
+
title: 'Batch Decision Management',
|
|
50
|
+
examples: [
|
|
51
|
+
{
|
|
52
|
+
scenario: 'Record multiple related decisions atomically',
|
|
53
|
+
request: '{ action: "set_batch", decisions: [{"key": "cache_layer", "value": "Redis", "layer": "infrastructure"}, {"key": "cache_ttl", "value": "3600", "layer": "infrastructure"}], atomic: true }'
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
templates: {
|
|
58
|
+
title: 'Using Decision Templates',
|
|
59
|
+
examples: [
|
|
60
|
+
{
|
|
61
|
+
scenario: 'Use built-in breaking_change template',
|
|
62
|
+
request: '{ action: "set_from_template", template: "breaking_change", key: "api_remove_legacy_endpoint", value: "Removed /v1/users endpoint" }'
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
quick_set_inference: {
|
|
67
|
+
title: 'Quick Set with Smart Defaults',
|
|
68
|
+
examples: [
|
|
69
|
+
{
|
|
70
|
+
scenario: 'Auto-infer layer from key prefix',
|
|
71
|
+
request: '{ action: "quick_set", key: "api/instruments/oscillator-refactor", value: "Moved oscillator_type to MonophonicSynthConfig" }',
|
|
72
|
+
inferred: 'layer=presentation (from api/*), tags=["instruments", "oscillator-refactor"]'
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
best_practices: {
|
|
78
|
+
key_naming: [
|
|
79
|
+
'Use hierarchical keys: "api/users/authentication"',
|
|
80
|
+
'Prefix with layer hint: api/* → presentation, db/* → data',
|
|
81
|
+
'Use descriptive names that explain the decision context'
|
|
82
|
+
],
|
|
83
|
+
tagging: [
|
|
84
|
+
'Tag with relevant categories: security, performance, breaking',
|
|
85
|
+
'Include version tags for release-specific decisions',
|
|
86
|
+
'Use consistent tag naming conventions across team'
|
|
87
|
+
],
|
|
88
|
+
versioning: [
|
|
89
|
+
'Use semantic versioning: 1.0.0, 1.1.0, 2.0.0',
|
|
90
|
+
'Increment major version for breaking changes',
|
|
91
|
+
'Document rationale in decision value text'
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=example.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../src/tools/context/help/example.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,sEAAsE;QACnF,SAAS,EAAE;YACT,WAAW,EAAE;gBACX,KAAK,EAAE,2BAA2B;gBAClC,QAAQ,EAAE;oBACR;wBACE,QAAQ,EAAE,4BAA4B;wBACtC,OAAO,EAAE,6IAA6I;wBACtJ,WAAW,EAAE,2DAA2D;qBACzE;oBACD;wBACE,QAAQ,EAAE,qBAAqB;wBAC/B,OAAO,EAAE,2CAA2C;wBACpD,kBAAkB,EAAE,8EAA8E;qBACnG;iBACF;aACF;YACD,kBAAkB,EAAE;gBAClB,KAAK,EAAE,+BAA+B;gBACtC,QAAQ,EAAE;oBACR;wBACE,QAAQ,EAAE,uDAAuD;wBACjE,OAAO,EAAE,2JAA2J;qBACrK;iBACF;aACF;YACD,mBAAmB,EAAE;gBACnB,KAAK,EAAE,oBAAoB;gBAC3B,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,yBAAyB;wBACjC,OAAO,EAAE,qHAAqH;qBAC/H;oBACD;wBACE,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,sBAAsB;wBAC9B,OAAO,EAAE,gDAAgD;qBAC1D;iBACF;aACF;YACD,gBAAgB,EAAE;gBAChB,KAAK,EAAE,2BAA2B;gBAClC,QAAQ,EAAE;oBACR;wBACE,QAAQ,EAAE,8CAA8C;wBACxD,OAAO,EAAE,2LAA2L;qBACrM;iBACF;aACF;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,0BAA0B;gBACjC,QAAQ,EAAE;oBACR;wBACE,QAAQ,EAAE,uCAAuC;wBACjD,OAAO,EAAE,sIAAsI;qBAChJ;iBACF;aACF;YACD,mBAAmB,EAAE;gBACnB,KAAK,EAAE,+BAA+B;gBACtC,QAAQ,EAAE;oBACR;wBACE,QAAQ,EAAE,kCAAkC;wBAC5C,OAAO,EAAE,8HAA8H;wBACvI,QAAQ,EAAE,8EAA8E;qBACzF;iBACF;aACF;SACF;QACD,cAAc,EAAE;YACd,UAAU,EAAE;gBACV,mDAAmD;gBACnD,2DAA2D;gBAC3D,yDAAyD;aAC1D;YACD,OAAO,EAAE;gBACP,+DAA+D;gBAC/D,qDAAqD;gBACrD,mDAAmD;aACpD;YACD,UAAU,EAAE;gBACV,8CAA8C;gBAC9C,8CAA8C;gBAC9C,2CAA2C;aAC5C;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../../src/tools/context/help/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,YAAY,IAAI,GAAG,CA4DlC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Help action for decision tool
|
|
3
|
+
*/
|
|
4
|
+
export function decisionHelp() {
|
|
5
|
+
return {
|
|
6
|
+
tool: 'decision',
|
|
7
|
+
description: 'Manage decisions with metadata (tags, layers, versions, scopes)',
|
|
8
|
+
note: '💡 TIP: Use action: "example" to see comprehensive usage scenarios and real-world examples for all decision actions.',
|
|
9
|
+
purpose: {
|
|
10
|
+
title: '⚠️ CRITICAL: Store WHY and REASON, Not WHAT',
|
|
11
|
+
principle: 'Decisions table is for ARCHITECTURAL CONTEXT and REASONING, NOT implementation logs or task completion status',
|
|
12
|
+
what_to_store: {
|
|
13
|
+
correct: [
|
|
14
|
+
'WHY a design choice was made (e.g., "Chose JWT over sessions because stateless auth scales better for our microservice architecture")',
|
|
15
|
+
'REASONING behind architecture decisions (e.g., "Moved oscillator_type to MonophonicSynthConfig to separate synthesis methods - FM operators use different config")',
|
|
16
|
+
'PROBLEM ANALYSIS and solution rationale (e.g., "Nested transaction bug: setDecision wraps in transaction, batch also wraps → solution: extract internal helper without transaction wrapper")',
|
|
17
|
+
'DESIGN TRADE-OFFS and alternatives considered (e.g., "Query builder limited to simple filters, kept domain-specific logic inline for maintainability")',
|
|
18
|
+
'CONSTRAINTS and requirements reasoning (e.g., "API response must be <100ms because mobile clients timeout at 200ms")',
|
|
19
|
+
'BREAKING CHANGES with migration rationale (e.g., "Removed /v1/users endpoint - clients must use /v2/users with pagination for scalability")'
|
|
20
|
+
],
|
|
21
|
+
incorrect: [
|
|
22
|
+
'❌ Task completion logs (e.g., "Task 5 completed", "Refactoring done", "Tests passing") → Use tasks tool instead',
|
|
23
|
+
'❌ Implementation status (e.g., "Added validators.ts", "Fixed bug in create_batch", "Updated README") → These are WHAT, not WHY',
|
|
24
|
+
'❌ Test results (e.g., "All tests passing", "Integration tests complete", "v3.0.2 testing verified") → Temporary status, not architectural context',
|
|
25
|
+
'❌ Git commit summaries (e.g., "Released v3.0.2", "Created git commit 2bf55a0") → Belongs in git history',
|
|
26
|
+
'❌ Documentation updates (e.g., "README reorganized", "Help actions enhanced") → Implementation logs, not decisions',
|
|
27
|
+
'❌ Build status (e.g., "Build succeeded", "TypeScript compiled with zero errors") → Temporary status'
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
analogy: {
|
|
31
|
+
git_history: 'WHAT changed (files, lines, commits)',
|
|
32
|
+
code_comments: 'HOW it works (implementation details, algorithms)',
|
|
33
|
+
sqlew_decisions: 'WHY it was changed (reasoning, trade-offs, context)',
|
|
34
|
+
sqlew_tasks: 'WHAT needs to be done (work items, status, completion)'
|
|
35
|
+
},
|
|
36
|
+
cleanup_rule: 'Delete decisions that start with "COMPLETED:", contain task status, test results, or implementation logs. Keep only architectural reasoning and design rationale.'
|
|
37
|
+
},
|
|
38
|
+
actions: {
|
|
39
|
+
set: 'Set/update a decision. Params: key (required), value (required), agent, layer, version, status, tags, scopes',
|
|
40
|
+
get: 'Get specific decision by key. Params: key (required), include_context (optional, boolean, default: false)',
|
|
41
|
+
list: 'List/filter decisions. Params: status, layer, tags, scope, tag_match',
|
|
42
|
+
search_tags: 'Search decisions by tags. Params: tags (required), match_mode, status, layer',
|
|
43
|
+
search_layer: 'Search decisions by layer. Params: layer (required), status, include_tags',
|
|
44
|
+
versions: 'Get version history for a decision. Params: key (required)',
|
|
45
|
+
quick_set: 'Quick set with smart defaults (FR-002). Auto-infers layer, tags, scope from key',
|
|
46
|
+
search_advanced: 'Advanced query with complex filtering (FR-004). Supports layers, tags, scopes, temporal filters',
|
|
47
|
+
set_batch: 'Batch set decisions (FR-005). Max 50 items. Atomic or non-atomic modes',
|
|
48
|
+
has_updates: 'Check for updates since timestamp (FR-003 Phase A). Lightweight polling mechanism',
|
|
49
|
+
set_from_template: 'Set decision using template (FR-006). Applies defaults and validates required fields',
|
|
50
|
+
create_template: 'Create new decision template (FR-006). Define reusable defaults',
|
|
51
|
+
list_templates: 'List all decision templates (FR-006)',
|
|
52
|
+
hard_delete: 'Permanently delete a decision. WARNING: IRREVERSIBLE',
|
|
53
|
+
add_decision_context: 'Add rich context to a decision (v3.2.2). Rationale, alternatives, tradeoffs',
|
|
54
|
+
list_decision_contexts: 'List decision contexts with filters (v3.2.2)'
|
|
55
|
+
},
|
|
56
|
+
documentation: {
|
|
57
|
+
tool_selection: 'docs/TOOL_SELECTION.md - Decision tree, tool comparison',
|
|
58
|
+
tool_reference: 'docs/TOOL_REFERENCE.md - Parameter requirements, batch operations',
|
|
59
|
+
workflows: 'docs/WORKFLOWS.md - Multi-step workflow examples',
|
|
60
|
+
best_practices: 'docs/BEST_PRACTICES.md - Common errors, best practices',
|
|
61
|
+
shared_concepts: 'docs/SHARED_CONCEPTS.md - Layer definitions, enum values'
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../../src/tools/context/help/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,YAAY;IAC1B,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,iEAAiE;QAC9E,IAAI,EAAE,sHAAsH;QAC5H,OAAO,EAAE;YACP,KAAK,EAAE,6CAA6C;YACpD,SAAS,EAAE,+GAA+G;YAC1H,aAAa,EAAE;gBACb,OAAO,EAAE;oBACP,uIAAuI;oBACvI,oKAAoK;oBACpK,8LAA8L;oBAC9L,wJAAwJ;oBACxJ,sHAAsH;oBACtH,6IAA6I;iBAC9I;gBACD,SAAS,EAAE;oBACT,iHAAiH;oBACjH,gIAAgI;oBAChI,mJAAmJ;oBACnJ,yGAAyG;oBACzG,oHAAoH;oBACpH,qGAAqG;iBACtG;aACF;YACD,OAAO,EAAE;gBACP,WAAW,EAAE,sCAAsC;gBACnD,aAAa,EAAE,mDAAmD;gBAClE,eAAe,EAAE,qDAAqD;gBACtE,WAAW,EAAE,wDAAwD;aACtE;YACD,YAAY,EAAE,mKAAmK;SAClL;QACD,OAAO,EAAE;YACP,GAAG,EAAE,8GAA8G;YACnH,GAAG,EAAE,2GAA2G;YAChH,IAAI,EAAE,sEAAsE;YAC5E,WAAW,EAAE,8EAA8E;YAC3F,YAAY,EAAE,2EAA2E;YACzF,QAAQ,EAAE,4DAA4D;YACtE,SAAS,EAAE,iFAAiF;YAC5F,eAAe,EAAE,iGAAiG;YAClH,SAAS,EAAE,wEAAwE;YACnF,WAAW,EAAE,mFAAmF;YAChG,iBAAiB,EAAE,sFAAsF;YACzG,eAAe,EAAE,iEAAiE;YAClF,cAAc,EAAE,sCAAsC;YACtD,WAAW,EAAE,sDAAsD;YACnE,oBAAoB,EAAE,6EAA6E;YACnG,sBAAsB,EAAE,8CAA8C;SACvE;QACD,aAAa,EAAE;YACb,cAAc,EAAE,yDAAyD;YACzE,cAAc,EAAE,mEAAmE;YACnF,SAAS,EAAE,kDAAkD;YAC7D,cAAc,EAAE,wDAAwD;YACxE,eAAe,EAAE,0DAA0D;SAC5E;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context/Decision tool - Barrel export
|
|
3
|
+
*
|
|
4
|
+
* Exports all decision-related actions from modular structure
|
|
5
|
+
*/
|
|
6
|
+
export { setDecision } from './actions/set.js';
|
|
7
|
+
export { getDecision } from './actions/get.js';
|
|
8
|
+
export { getContext } from './actions/list.js';
|
|
9
|
+
export { searchByTags } from './actions/search-tags.js';
|
|
10
|
+
export { searchByLayer } from './actions/search-layer.js';
|
|
11
|
+
export { searchAdvanced } from './actions/search-advanced.js';
|
|
12
|
+
export { getVersions } from './actions/versions.js';
|
|
13
|
+
export { quickSetDecision } from './actions/quick-set.js';
|
|
14
|
+
export { setDecisionBatch } from './actions/batch-set.js';
|
|
15
|
+
export { hasUpdates } from './actions/has-updates.js';
|
|
16
|
+
export { setFromTemplate } from './actions/set-from-template.js';
|
|
17
|
+
export { createTemplate } from './actions/create-template.js';
|
|
18
|
+
export { listTemplates } from './actions/list-templates.js';
|
|
19
|
+
export { hardDeleteDecision } from './actions/hard-delete.js';
|
|
20
|
+
export { addDecisionContextAction } from './actions/add-context.js';
|
|
21
|
+
export { listDecisionContextsAction } from './actions/list-contexts.js';
|
|
22
|
+
export { decisionHelp } from './help/help.js';
|
|
23
|
+
export { decisionExample } from './help/example.js';
|
|
24
|
+
export type { SetDecisionParams, GetContextParams, GetDecisionParams, SetDecisionResponse, GetContextResponse, GetDecisionResponse, TaggedDecision, Status, SearchByTagsParams, SearchByTagsResponse, GetVersionsParams, GetVersionsResponse, SearchByLayerParams, SearchByLayerResponse, QuickSetDecisionParams, QuickSetDecisionResponse, SearchAdvancedParams, SearchAdvancedResponse, SetDecisionBatchParams, SetDecisionBatchResponse, SetFromTemplateParams, SetFromTemplateResponse, CreateTemplateParams, CreateTemplateResponse, ListTemplatesParams, ListTemplatesResponse, HasUpdatesParams, HasUpdatesResponse, HardDeleteDecisionParams, HardDeleteDecisionResponse, DecisionAction } from './types.js';
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/context/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAGxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,MAAM,EACN,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,cAAc,EACf,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context/Decision tool - Barrel export
|
|
3
|
+
*
|
|
4
|
+
* Exports all decision-related actions from modular structure
|
|
5
|
+
*/
|
|
6
|
+
// Action exports
|
|
7
|
+
export { setDecision } from './actions/set.js';
|
|
8
|
+
export { getDecision } from './actions/get.js';
|
|
9
|
+
export { getContext } from './actions/list.js';
|
|
10
|
+
export { searchByTags } from './actions/search-tags.js';
|
|
11
|
+
export { searchByLayer } from './actions/search-layer.js';
|
|
12
|
+
export { searchAdvanced } from './actions/search-advanced.js';
|
|
13
|
+
export { getVersions } from './actions/versions.js';
|
|
14
|
+
export { quickSetDecision } from './actions/quick-set.js';
|
|
15
|
+
export { setDecisionBatch } from './actions/batch-set.js';
|
|
16
|
+
export { hasUpdates } from './actions/has-updates.js';
|
|
17
|
+
export { setFromTemplate } from './actions/set-from-template.js';
|
|
18
|
+
export { createTemplate } from './actions/create-template.js';
|
|
19
|
+
export { listTemplates } from './actions/list-templates.js';
|
|
20
|
+
export { hardDeleteDecision } from './actions/hard-delete.js';
|
|
21
|
+
export { addDecisionContextAction } from './actions/add-context.js';
|
|
22
|
+
export { listDecisionContextsAction } from './actions/list-contexts.js';
|
|
23
|
+
// Help exports
|
|
24
|
+
export { decisionHelp } from './help/help.js';
|
|
25
|
+
export { decisionExample } from './help/example.js';
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/context/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared database queries for context/decision operations
|
|
3
|
+
*/
|
|
4
|
+
import { DatabaseAdapter } from '../../../adapters/index.js';
|
|
5
|
+
import { Knex } from 'knex';
|
|
6
|
+
import type { SetDecisionParams, SetDecisionResponse } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Internal helper: Set decision without wrapping in transaction
|
|
9
|
+
* Used by setDecision (with transaction) and setDecisionBatch (manages its own transaction)
|
|
10
|
+
*
|
|
11
|
+
* @param params - Decision parameters
|
|
12
|
+
* @param adapter - Database adapter instance
|
|
13
|
+
* @param projectId - Project ID
|
|
14
|
+
* @param trx - Optional transaction
|
|
15
|
+
* @returns Response with success status and metadata
|
|
16
|
+
*/
|
|
17
|
+
export declare function setDecisionInternal(params: SetDecisionParams, adapter: DatabaseAdapter, projectId: number, trx?: Knex.Transaction): Promise<SetDecisionResponse>;
|
|
18
|
+
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../../src/tools/context/internal/queries.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAW5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE1E;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAmK9B"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared database queries for context/decision operations
|
|
3
|
+
*/
|
|
4
|
+
import { getOrCreateAgent, getOrCreateContextKey, getOrCreateTag, getOrCreateScope, getLayerId } from '../../../database.js';
|
|
5
|
+
import { STRING_TO_STATUS, DEFAULT_VERSION, DEFAULT_STATUS } from '../../../constants.js';
|
|
6
|
+
import { logDecisionSet, logDecisionUpdate, recordDecisionHistory } from '../../../utils/activity-logging.js';
|
|
7
|
+
import { parseStringArray } from '../../../utils/param-parser.js';
|
|
8
|
+
/**
|
|
9
|
+
* Internal helper: Set decision without wrapping in transaction
|
|
10
|
+
* Used by setDecision (with transaction) and setDecisionBatch (manages its own transaction)
|
|
11
|
+
*
|
|
12
|
+
* @param params - Decision parameters
|
|
13
|
+
* @param adapter - Database adapter instance
|
|
14
|
+
* @param projectId - Project ID
|
|
15
|
+
* @param trx - Optional transaction
|
|
16
|
+
* @returns Response with success status and metadata
|
|
17
|
+
*/
|
|
18
|
+
export async function setDecisionInternal(params, adapter, projectId, trx) {
|
|
19
|
+
const knex = trx || adapter.getKnex();
|
|
20
|
+
// Validate required parameters
|
|
21
|
+
if (!params.key || params.key.trim() === '') {
|
|
22
|
+
throw new Error('Parameter "key" is required and cannot be empty');
|
|
23
|
+
}
|
|
24
|
+
if (params.value === undefined || params.value === null) {
|
|
25
|
+
throw new Error('Parameter "value" is required');
|
|
26
|
+
}
|
|
27
|
+
// Determine if value is numeric
|
|
28
|
+
const isNumeric = typeof params.value === 'number';
|
|
29
|
+
const value = params.value;
|
|
30
|
+
// Set defaults
|
|
31
|
+
const version = params.version || DEFAULT_VERSION;
|
|
32
|
+
const status = params.status ? STRING_TO_STATUS[params.status] : DEFAULT_STATUS;
|
|
33
|
+
const agentName = params.agent || 'system';
|
|
34
|
+
// Validate layer if provided
|
|
35
|
+
let layerId = null;
|
|
36
|
+
if (params.layer) {
|
|
37
|
+
const validLayers = ['presentation', 'business', 'data', 'infrastructure', 'cross-cutting', 'documentation'];
|
|
38
|
+
if (!validLayers.includes(params.layer)) {
|
|
39
|
+
throw new Error(`Invalid layer. Must be one of: ${validLayers.join(', ')}`);
|
|
40
|
+
}
|
|
41
|
+
layerId = await getLayerId(adapter, params.layer, trx);
|
|
42
|
+
if (layerId === null) {
|
|
43
|
+
throw new Error(`Layer not found in database: ${params.layer}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// Scope validation warning (v3.8.0)
|
|
47
|
+
if (!params.scopes || params.scopes.length === 0) {
|
|
48
|
+
console.warn(`⚠️ Decision "${params.key}" has no scope specified. Defaulting to GLOBAL scope.`);
|
|
49
|
+
console.warn(` 💡 Consider using scopes for better organization:`);
|
|
50
|
+
console.warn(` - "FEATURE:<name>" for feature-specific decisions`);
|
|
51
|
+
console.warn(` - "COMPONENT:<name>" for component-level decisions`);
|
|
52
|
+
console.warn(` - "MODULE:<name>" for module-scoped decisions`);
|
|
53
|
+
console.warn(` - "GLOBAL" for project-wide decisions (current default)`);
|
|
54
|
+
}
|
|
55
|
+
// Get or create master records
|
|
56
|
+
const agentId = await getOrCreateAgent(adapter, agentName, trx);
|
|
57
|
+
const keyId = await getOrCreateContextKey(adapter, params.key, trx);
|
|
58
|
+
// Current timestamp
|
|
59
|
+
const ts = Math.floor(Date.now() / 1000);
|
|
60
|
+
// Check if decision already exists for activity logging
|
|
61
|
+
const existingDecision = await knex(isNumeric ? 't_decisions_numeric' : 't_decisions')
|
|
62
|
+
.where({ key_id: keyId, project_id: projectId })
|
|
63
|
+
.first();
|
|
64
|
+
// Insert or update decision based on value type
|
|
65
|
+
const tableName = isNumeric ? 't_decisions_numeric' : 't_decisions';
|
|
66
|
+
const decisionData = {
|
|
67
|
+
key_id: keyId,
|
|
68
|
+
project_id: projectId,
|
|
69
|
+
value: isNumeric ? value : String(value),
|
|
70
|
+
agent_id: agentId,
|
|
71
|
+
layer_id: layerId,
|
|
72
|
+
version: version,
|
|
73
|
+
status: status,
|
|
74
|
+
ts: ts
|
|
75
|
+
};
|
|
76
|
+
// Use transaction-aware upsert
|
|
77
|
+
const conflictColumns = ['key_id', 'project_id'];
|
|
78
|
+
const updateColumns = Object.keys(decisionData).filter(key => !conflictColumns.includes(key));
|
|
79
|
+
const updateData = updateColumns.reduce((acc, col) => {
|
|
80
|
+
acc[col] = decisionData[col];
|
|
81
|
+
return acc;
|
|
82
|
+
}, {});
|
|
83
|
+
await knex(tableName)
|
|
84
|
+
.insert(decisionData)
|
|
85
|
+
.onConflict(conflictColumns)
|
|
86
|
+
.merge(updateData);
|
|
87
|
+
// Activity logging (replaces triggers)
|
|
88
|
+
if (existingDecision) {
|
|
89
|
+
// Update case - log update and record history
|
|
90
|
+
await logDecisionUpdate(knex, {
|
|
91
|
+
key: params.key,
|
|
92
|
+
old_value: String(existingDecision.value),
|
|
93
|
+
new_value: String(value),
|
|
94
|
+
old_version: existingDecision.version,
|
|
95
|
+
new_version: version,
|
|
96
|
+
agent_id: agentId,
|
|
97
|
+
layer_id: layerId || undefined
|
|
98
|
+
});
|
|
99
|
+
await recordDecisionHistory(knex, {
|
|
100
|
+
key_id: keyId,
|
|
101
|
+
version: existingDecision.version,
|
|
102
|
+
value: String(existingDecision.value),
|
|
103
|
+
agent_id: existingDecision.agent_id,
|
|
104
|
+
ts: existingDecision.ts
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
// New decision case - log set
|
|
109
|
+
await logDecisionSet(knex, {
|
|
110
|
+
key: params.key,
|
|
111
|
+
value: String(value),
|
|
112
|
+
version: version,
|
|
113
|
+
status: status,
|
|
114
|
+
agent_id: agentId,
|
|
115
|
+
layer_id: layerId || undefined
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
// Handle m_tags (many-to-many)
|
|
119
|
+
if (params.tags && params.tags.length > 0) {
|
|
120
|
+
const tags = parseStringArray(params.tags);
|
|
121
|
+
// Clear existing tags for this project
|
|
122
|
+
await knex('t_decision_tags')
|
|
123
|
+
.where({ decision_key_id: keyId, project_id: projectId })
|
|
124
|
+
.delete();
|
|
125
|
+
// Insert new tags
|
|
126
|
+
for (const tagName of tags) {
|
|
127
|
+
const tagId = await getOrCreateTag(adapter, projectId, tagName, trx);
|
|
128
|
+
await knex('t_decision_tags').insert({
|
|
129
|
+
decision_key_id: keyId,
|
|
130
|
+
tag_id: tagId,
|
|
131
|
+
project_id: projectId
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// Handle m_scopes (many-to-many)
|
|
136
|
+
if (params.scopes && params.scopes.length > 0) {
|
|
137
|
+
const scopes = parseStringArray(params.scopes);
|
|
138
|
+
// Clear existing scopes for this project
|
|
139
|
+
await knex('t_decision_scopes')
|
|
140
|
+
.where({ decision_key_id: keyId, project_id: projectId })
|
|
141
|
+
.delete();
|
|
142
|
+
// Insert new scopes
|
|
143
|
+
for (const scopeName of scopes) {
|
|
144
|
+
const scopeId = await getOrCreateScope(adapter, projectId, scopeName, trx);
|
|
145
|
+
await knex('t_decision_scopes').insert({
|
|
146
|
+
decision_key_id: keyId,
|
|
147
|
+
scope_id: scopeId,
|
|
148
|
+
project_id: projectId
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return {
|
|
153
|
+
success: true,
|
|
154
|
+
key: params.key,
|
|
155
|
+
key_id: keyId,
|
|
156
|
+
version: version,
|
|
157
|
+
message: `Decision "${params.key}" set successfully`
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=queries.js.map
|