sqlew 3.7.4 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +339 -1
- package/LICENSE +0 -0
- package/README.md +69 -0
- package/assets/config.example.toml +0 -0
- package/assets/kanban-style.png +0 -0
- package/assets/kanban-visualizer.png +0 -0
- package/assets/sample-agents/README.md +0 -0
- package/assets/sample-agents/sqlew-architect.md +0 -0
- package/assets/sample-agents/sqlew-researcher.md +0 -0
- package/assets/sample-agents/sqlew-scrum-master.md +4 -4
- package/assets/schema.sql +0 -0
- package/assets/sqlew-logo.png +0 -0
- package/dist/adapters/postgresql-adapter.d.ts +197 -5
- package/dist/adapters/postgresql-adapter.d.ts.map +1 -1
- package/dist/adapters/postgresql-adapter.js +300 -36
- package/dist/adapters/postgresql-adapter.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +8 -71
- package/dist/cli.js.map +1 -1
- package/dist/config/knex/bootstrap/20251025021416_seed_master_data.d.ts.map +1 -1
- package/dist/config/knex/bootstrap/20251025021416_seed_master_data.js +158 -45
- package/dist/config/knex/bootstrap/20251025021416_seed_master_data.js.map +1 -1
- package/dist/config/knex/bootstrap/20251025070349_create_views.d.ts.map +1 -1
- package/dist/config/knex/bootstrap/20251025070349_create_views.js +60 -8
- package/dist/config/knex/bootstrap/20251025070349_create_views.js.map +1 -1
- package/dist/config/knex/enhancements/20251025100000_seed_help_metadata.js +1 -1
- package/dist/config/knex/enhancements/20251025100100_seed_remaining_use_cases.js +5 -5
- package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.d.ts.map +1 -1
- package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.js +9 -1
- package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.js.map +1 -1
- package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.d.ts.map +1 -1
- package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.js +8 -1
- package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.js.map +1 -1
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.d.ts +21 -0
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.js +73 -0
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts +19 -0
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js +88 -0
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts +24 -0
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.js +79 -0
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.js.map +1 -0
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.d.ts +27 -0
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.js +347 -0
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.js.map +1 -0
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.d.ts +30 -0
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.d.ts.map +1 -0
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.js +232 -0
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.js.map +1 -0
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.d.ts.map +1 -1
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.js +9 -0
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.js.map +1 -1
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts +14 -0
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts.map +1 -0
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.js +97 -0
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.js.map +1 -0
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts +24 -0
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts.map +1 -0
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.js +303 -0
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.js.map +1 -0
- package/dist/constants.d.ts +14 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +28 -1
- package/dist/constants.js.map +1 -1
- package/dist/database/config/adapter-factory.d.ts +13 -0
- package/dist/database/config/adapter-factory.d.ts.map +1 -0
- package/dist/database/config/adapter-factory.js +21 -0
- package/dist/database/config/adapter-factory.js.map +1 -0
- package/dist/database/config/config-ops.d.ts +34 -0
- package/dist/database/config/config-ops.d.ts.map +1 -0
- package/dist/database/config/config-ops.js +76 -0
- package/dist/database/config/config-ops.js.map +1 -0
- package/dist/database/index.d.ts +21 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +31 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/initialization/cleanup.d.ts +8 -0
- package/dist/database/initialization/cleanup.d.ts.map +1 -0
- package/dist/database/initialization/cleanup.js +17 -0
- package/dist/database/initialization/cleanup.js.map +1 -0
- package/dist/database/initialization/init.d.ts +21 -0
- package/dist/database/initialization/init.d.ts.map +1 -0
- package/dist/database/initialization/init.js +83 -0
- package/dist/database/initialization/init.js.map +1 -0
- package/dist/database/operations/deletes.d.ts +10 -0
- package/dist/database/operations/deletes.d.ts.map +1 -0
- package/dist/database/operations/deletes.js +14 -0
- package/dist/database/operations/deletes.js.map +1 -0
- package/dist/database/operations/inserts.d.ts +40 -0
- package/dist/database/operations/inserts.d.ts.map +1 -0
- package/dist/database/operations/inserts.js +202 -0
- package/dist/database/operations/inserts.js.map +1 -0
- package/dist/database/operations/queries.d.ts +57 -0
- package/dist/database/operations/queries.d.ts.map +1 -0
- package/dist/database/operations/queries.js +77 -0
- package/dist/database/operations/queries.js.map +1 -0
- package/dist/database/operations/updates.d.ts +10 -0
- package/dist/database/operations/updates.d.ts.map +1 -0
- package/dist/database/operations/updates.js +14 -0
- package/dist/database/operations/updates.js.map +1 -0
- package/dist/database/types.d.ts +5 -0
- package/dist/database/types.d.ts.map +1 -0
- package/dist/database/types.js +5 -0
- package/dist/database/types.js.map +1 -0
- package/dist/database.d.ts +4 -144
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +5 -461
- package/dist/database.js.map +1 -1
- package/dist/index.js +29 -777
- package/dist/index.js.map +1 -1
- package/dist/server/arg-parser.d.ts +40 -0
- package/dist/server/arg-parser.d.ts.map +1 -0
- package/dist/server/arg-parser.js +137 -0
- package/dist/server/arg-parser.js.map +1 -0
- package/dist/server/setup.d.ts +31 -0
- package/dist/server/setup.d.ts.map +1 -0
- package/dist/server/setup.js +186 -0
- package/dist/server/setup.js.map +1 -0
- package/dist/server/shutdown.d.ts +15 -0
- package/dist/server/shutdown.d.ts.map +1 -0
- package/dist/server/shutdown.js +42 -0
- package/dist/server/shutdown.js.map +1 -0
- package/dist/server/tool-handlers.d.ts +10 -0
- package/dist/server/tool-handlers.d.ts.map +1 -0
- package/dist/server/tool-handlers.js +478 -0
- package/dist/server/tool-handlers.js.map +1 -0
- package/dist/server/tool-registry.d.ts +11 -0
- package/dist/server/tool-registry.d.ts.map +1 -0
- package/dist/server/tool-registry.js +225 -0
- package/dist/server/tool-registry.js.map +1 -0
- package/dist/tests/all-features.test.js +6 -38
- package/dist/tests/all-features.test.js.map +1 -1
- package/dist/tests/batch-validation-comprehensive.test.d.ts +12 -0
- package/dist/tests/batch-validation-comprehensive.test.d.ts.map +1 -0
- package/dist/tests/batch-validation-comprehensive.test.js +472 -0
- package/dist/tests/batch-validation-comprehensive.test.js.map +1 -0
- package/dist/tests/batch-validation-integration.test.d.ts +6 -0
- package/dist/tests/batch-validation-integration.test.d.ts.map +1 -0
- package/dist/tests/batch-validation-integration.test.js +193 -0
- package/dist/tests/batch-validation-integration.test.js.map +1 -0
- package/dist/tests/batch-validation.test.d.ts +6 -0
- package/dist/tests/batch-validation.test.d.ts.map +1 -0
- package/dist/tests/batch-validation.test.js +298 -0
- package/dist/tests/batch-validation.test.js.map +1 -0
- package/dist/tests/context-modular.test.d.ts +7 -0
- package/dist/tests/context-modular.test.d.ts.map +1 -0
- package/dist/tests/context-modular.test.js +271 -0
- package/dist/tests/context-modular.test.js.map +1 -0
- package/dist/tests/decision-batch-validation.test.d.ts +6 -0
- package/dist/tests/decision-batch-validation.test.d.ts.map +1 -0
- package/dist/tests/decision-batch-validation.test.js +253 -0
- package/dist/tests/decision-batch-validation.test.js.map +1 -0
- package/dist/tests/help-system.test.js +1 -1
- package/dist/tests/help-system.test.js.map +1 -1
- package/dist/tests/multi-project.test.js +2 -2
- package/dist/tests/multi-project.test.js.map +1 -1
- package/dist/tests/parameter-validation.test.js +2 -16
- package/dist/tests/parameter-validation.test.js.map +1 -1
- package/dist/tests/tasks.auto-pruning-decision-link.test.js +1 -1
- package/dist/tests/tasks.auto-pruning-decision-link.test.js.map +1 -1
- package/dist/tests/tasks.file-actions-integration.test.d.ts +10 -0
- package/dist/tests/tasks.file-actions-integration.test.d.ts.map +1 -0
- package/dist/tests/tasks.file-actions-integration.test.js +162 -0
- package/dist/tests/tasks.file-actions-integration.test.js.map +1 -0
- package/dist/tests/tasks.file-actions-validation.test.d.ts +6 -0
- package/dist/tests/tasks.file-actions-validation.test.d.ts.map +1 -0
- package/dist/tests/tasks.file-actions-validation.test.js +221 -0
- package/dist/tests/tasks.file-actions-validation.test.js.map +1 -0
- package/dist/tools/constraints/actions/add.d.ts +15 -0
- package/dist/tools/constraints/actions/add.d.ts.map +1 -0
- package/dist/tools/constraints/actions/add.js +101 -0
- package/dist/tools/constraints/actions/add.js.map +1 -0
- package/dist/tools/constraints/actions/deactivate.d.ts +16 -0
- package/dist/tools/constraints/actions/deactivate.d.ts.map +1 -0
- package/dist/tools/constraints/actions/deactivate.js +49 -0
- package/dist/tools/constraints/actions/deactivate.js.map +1 -0
- package/dist/tools/constraints/actions/get.d.ts +16 -0
- package/dist/tools/constraints/actions/get.d.ts.map +1 -0
- package/dist/tools/constraints/actions/get.js +76 -0
- package/dist/tools/constraints/actions/get.js.map +1 -0
- package/dist/tools/constraints/help/example.d.ts +9 -0
- package/dist/tools/constraints/help/example.d.ts.map +1 -0
- package/dist/tools/constraints/help/example.js +144 -0
- package/dist/tools/constraints/help/example.js.map +1 -0
- package/dist/tools/constraints/help/help.d.ts +9 -0
- package/dist/tools/constraints/help/help.d.ts.map +1 -0
- package/dist/tools/constraints/help/help.js +31 -0
- package/dist/tools/constraints/help/help.js.map +1 -0
- package/dist/tools/constraints/index.d.ts +12 -0
- package/dist/tools/constraints/index.d.ts.map +1 -0
- package/dist/tools/constraints/index.js +13 -0
- package/dist/tools/constraints/index.js.map +1 -0
- package/dist/tools/constraints/internal/validation.d.ts +11 -0
- package/dist/tools/constraints/internal/validation.d.ts.map +1 -0
- package/dist/tools/constraints/internal/validation.js +17 -0
- package/dist/tools/constraints/internal/validation.js.map +1 -0
- package/dist/tools/constraints/types.d.ts +6 -0
- package/dist/tools/constraints/types.d.ts.map +1 -0
- package/dist/tools/constraints/types.js +6 -0
- package/dist/tools/constraints/types.js.map +1 -0
- package/dist/tools/context/actions/add-context.d.ts +14 -0
- package/dist/tools/context/actions/add-context.d.ts.map +1 -0
- package/dist/tools/context/actions/add-context.js +62 -0
- package/dist/tools/context/actions/add-context.js.map +1 -0
- package/dist/tools/context/actions/batch-set.d.ts +16 -0
- package/dist/tools/context/actions/batch-set.d.ts.map +1 -0
- package/dist/tools/context/actions/batch-set.js +126 -0
- package/dist/tools/context/actions/batch-set.js.map +1 -0
- package/dist/tools/context/actions/create-template.d.ts +15 -0
- package/dist/tools/context/actions/create-template.d.ts.map +1 -0
- package/dist/tools/context/actions/create-template.js +68 -0
- package/dist/tools/context/actions/create-template.js.map +1 -0
- package/dist/tools/context/actions/get.d.ts +18 -0
- package/dist/tools/context/actions/get.d.ts.map +1 -0
- package/dist/tools/context/actions/get.js +80 -0
- package/dist/tools/context/actions/get.js.map +1 -0
- package/dist/tools/context/actions/hard-delete.d.ts +18 -0
- package/dist/tools/context/actions/hard-delete.d.ts.map +1 -0
- package/dist/tools/context/actions/hard-delete.js +85 -0
- package/dist/tools/context/actions/hard-delete.js.map +1 -0
- package/dist/tools/context/actions/has-updates.d.ts +16 -0
- package/dist/tools/context/actions/has-updates.d.ts.map +1 -0
- package/dist/tools/context/actions/has-updates.js +83 -0
- package/dist/tools/context/actions/has-updates.js.map +1 -0
- package/dist/tools/context/actions/list-contexts.d.ts +14 -0
- package/dist/tools/context/actions/list-contexts.d.ts.map +1 -0
- package/dist/tools/context/actions/list-contexts.js +43 -0
- package/dist/tools/context/actions/list-contexts.js.map +1 -0
- package/dist/tools/context/actions/list-templates.d.ts +15 -0
- package/dist/tools/context/actions/list-templates.d.ts.map +1 -0
- package/dist/tools/context/actions/list-templates.js +47 -0
- package/dist/tools/context/actions/list-templates.js.map +1 -0
- package/dist/tools/context/actions/list.d.ts +16 -0
- package/dist/tools/context/actions/list.d.ts.map +1 -0
- package/dist/tools/context/actions/list.js +100 -0
- package/dist/tools/context/actions/list.js.map +1 -0
- package/dist/tools/context/actions/quick-set.d.ts +21 -0
- package/dist/tools/context/actions/quick-set.d.ts.map +1 -0
- package/dist/tools/context/actions/quick-set.js +104 -0
- package/dist/tools/context/actions/quick-set.js.map +1 -0
- package/dist/tools/context/actions/search-advanced.d.ts +15 -0
- package/dist/tools/context/actions/search-advanced.d.ts.map +1 -0
- package/dist/tools/context/actions/search-advanced.js +140 -0
- package/dist/tools/context/actions/search-advanced.js.map +1 -0
- package/dist/tools/context/actions/search-layer.d.ts +15 -0
- package/dist/tools/context/actions/search-layer.d.ts.map +1 -0
- package/dist/tools/context/actions/search-layer.js +106 -0
- package/dist/tools/context/actions/search-layer.js.map +1 -0
- package/dist/tools/context/actions/search-tags.d.ts +15 -0
- package/dist/tools/context/actions/search-tags.d.ts.map +1 -0
- package/dist/tools/context/actions/search-tags.js +85 -0
- package/dist/tools/context/actions/search-tags.js.map +1 -0
- package/dist/tools/context/actions/set-from-template.d.ts +16 -0
- package/dist/tools/context/actions/set-from-template.d.ts.map +1 -0
- package/dist/tools/context/actions/set-from-template.js +83 -0
- package/dist/tools/context/actions/set-from-template.js.map +1 -0
- package/dist/tools/context/actions/set.d.ts +16 -0
- package/dist/tools/context/actions/set.d.ts.map +1 -0
- package/dist/tools/context/actions/set.js +56 -0
- package/dist/tools/context/actions/set.js.map +1 -0
- package/dist/tools/context/actions/versions.d.ts +15 -0
- package/dist/tools/context/actions/versions.d.ts.map +1 -0
- package/dist/tools/context/actions/versions.js +69 -0
- package/dist/tools/context/actions/versions.js.map +1 -0
- package/dist/tools/context/help/example.d.ts +5 -0
- package/dist/tools/context/help/example.d.ts.map +1 -0
- package/dist/tools/context/help/example.js +96 -0
- package/dist/tools/context/help/example.js.map +1 -0
- package/dist/tools/context/help/help.d.ts +5 -0
- package/dist/tools/context/help/help.d.ts.map +1 -0
- package/dist/tools/context/help/help.js +65 -0
- package/dist/tools/context/help/help.js.map +1 -0
- package/dist/tools/context/index.d.ts +25 -0
- package/dist/tools/context/index.d.ts.map +1 -0
- package/dist/tools/context/index.js +26 -0
- package/dist/tools/context/index.js.map +1 -0
- package/dist/tools/context/internal/queries.d.ts +18 -0
- package/dist/tools/context/internal/queries.d.ts.map +1 -0
- package/dist/tools/context/internal/queries.js +160 -0
- package/dist/tools/context/internal/queries.js.map +1 -0
- package/dist/tools/context/internal/validation.d.ts +39 -0
- package/dist/tools/context/internal/validation.d.ts.map +1 -0
- package/dist/tools/context/internal/validation.js +125 -0
- package/dist/tools/context/internal/validation.js.map +1 -0
- package/dist/tools/context/types.d.ts +6 -0
- package/dist/tools/context/types.d.ts.map +1 -0
- package/dist/tools/context/types.js +6 -0
- package/dist/tools/context/types.js.map +1 -0
- package/dist/tools/example/actions/get.d.ts +14 -0
- package/dist/tools/example/actions/get.d.ts.map +1 -0
- package/dist/tools/example/actions/get.js +40 -0
- package/dist/tools/example/actions/get.js.map +1 -0
- package/dist/tools/example/actions/list-all.d.ts +13 -0
- package/dist/tools/example/actions/list-all.d.ts.map +1 -0
- package/dist/tools/example/actions/list-all.js +39 -0
- package/dist/tools/example/actions/list-all.js.map +1 -0
- package/dist/tools/example/actions/search.d.ts +14 -0
- package/dist/tools/example/actions/search.d.ts.map +1 -0
- package/dist/tools/example/actions/search.js +52 -0
- package/dist/tools/example/actions/search.js.map +1 -0
- package/dist/tools/example/help/example.d.ts +6 -0
- package/dist/tools/example/help/example.d.ts.map +1 -0
- package/dist/tools/example/help/example.js +69 -0
- package/dist/tools/example/help/example.js.map +1 -0
- package/dist/tools/example/help/help.d.ts +6 -0
- package/dist/tools/example/help/help.d.ts.map +1 -0
- package/dist/tools/example/help/help.js +133 -0
- package/dist/tools/example/help/help.js.map +1 -0
- package/dist/tools/example/index.d.ts +11 -0
- package/dist/tools/example/index.d.ts.map +1 -0
- package/dist/tools/example/index.js +12 -0
- package/dist/tools/example/index.js.map +1 -0
- package/dist/tools/example/types.d.ts +59 -0
- package/dist/tools/example/types.d.ts.map +1 -0
- package/dist/tools/example/types.js +6 -0
- package/dist/tools/example/types.js.map +1 -0
- package/dist/tools/files/actions/check-lock.d.ts +16 -0
- package/dist/tools/files/actions/check-lock.d.ts.map +1 -0
- package/dist/tools/files/actions/check-lock.js +70 -0
- package/dist/tools/files/actions/check-lock.js.map +1 -0
- package/dist/tools/files/actions/get.d.ts +16 -0
- package/dist/tools/files/actions/get.d.ts.map +1 -0
- package/dist/tools/files/actions/get.js +113 -0
- package/dist/tools/files/actions/get.js.map +1 -0
- package/dist/tools/files/actions/record-batch.d.ts +18 -0
- package/dist/tools/files/actions/record-batch.d.ts.map +1 -0
- package/dist/tools/files/actions/record-batch.js +114 -0
- package/dist/tools/files/actions/record-batch.js.map +1 -0
- package/dist/tools/files/actions/record.d.ts +16 -0
- package/dist/tools/files/actions/record.d.ts.map +1 -0
- package/dist/tools/files/actions/record.js +37 -0
- package/dist/tools/files/actions/record.js.map +1 -0
- package/dist/tools/files/actions/sqlite-flush.d.ts +27 -0
- package/dist/tools/files/actions/sqlite-flush.d.ts.map +1 -0
- package/dist/tools/files/actions/sqlite-flush.js +66 -0
- package/dist/tools/files/actions/sqlite-flush.js.map +1 -0
- package/dist/tools/files/help/example.d.ts +5 -0
- package/dist/tools/files/help/example.d.ts.map +1 -0
- package/dist/tools/files/help/example.js +98 -0
- package/dist/tools/files/help/example.js.map +1 -0
- package/dist/tools/files/help/help.d.ts +5 -0
- package/dist/tools/files/help/help.d.ts.map +1 -0
- package/dist/tools/files/help/help.js +29 -0
- package/dist/tools/files/help/help.js.map +1 -0
- package/dist/tools/files/index.d.ts +14 -0
- package/dist/tools/files/index.d.ts.map +1 -0
- package/dist/tools/files/index.js +15 -0
- package/dist/tools/files/index.js.map +1 -0
- package/dist/tools/files/internal/queries.d.ts +18 -0
- package/dist/tools/files/internal/queries.d.ts.map +1 -0
- package/dist/tools/files/internal/queries.js +63 -0
- package/dist/tools/files/internal/queries.js.map +1 -0
- package/dist/tools/files/internal/validation.d.ts +18 -0
- package/dist/tools/files/internal/validation.d.ts.map +1 -0
- package/dist/tools/files/internal/validation.js +40 -0
- package/dist/tools/files/internal/validation.js.map +1 -0
- package/dist/tools/files/types.d.ts +6 -0
- package/dist/tools/files/types.d.ts.map +1 -0
- package/dist/tools/files/types.js +6 -0
- package/dist/tools/files/types.js.map +1 -0
- package/dist/tools/help/actions/batch-guide.d.ts +14 -0
- package/dist/tools/help/actions/batch-guide.d.ts.map +1 -0
- package/dist/tools/help/actions/batch-guide.js +59 -0
- package/dist/tools/help/actions/batch-guide.js.map +1 -0
- package/dist/tools/help/actions/error-recovery.d.ts +12 -0
- package/dist/tools/help/actions/error-recovery.d.ts.map +1 -0
- package/dist/tools/help/actions/error-recovery.js +107 -0
- package/dist/tools/help/actions/error-recovery.js.map +1 -0
- package/dist/tools/help/actions/query-action.d.ts +15 -0
- package/dist/tools/help/actions/query-action.d.ts.map +1 -0
- package/dist/tools/help/actions/query-action.js +15 -0
- package/dist/tools/help/actions/query-action.js.map +1 -0
- package/dist/tools/help/actions/query-params.d.ts +15 -0
- package/dist/tools/help/actions/query-params.d.ts.map +1 -0
- package/dist/tools/help/actions/query-params.js +15 -0
- package/dist/tools/help/actions/query-params.js.map +1 -0
- package/dist/tools/help/actions/query-tool.d.ts +15 -0
- package/dist/tools/help/actions/query-tool.d.ts.map +1 -0
- package/dist/tools/help/actions/query-tool.js +15 -0
- package/dist/tools/help/actions/query-tool.js.map +1 -0
- package/dist/tools/help/actions/workflow-hints.d.ts +14 -0
- package/dist/tools/help/actions/workflow-hints.d.ts.map +1 -0
- package/dist/tools/help/actions/workflow-hints.js +15 -0
- package/dist/tools/help/actions/workflow-hints.js.map +1 -0
- package/dist/tools/help/help/example.d.ts +6 -0
- package/dist/tools/help/help/example.d.ts.map +1 -0
- package/dist/tools/help/help/example.js +70 -0
- package/dist/tools/help/help/example.js.map +1 -0
- package/dist/tools/help/help/help.d.ts +6 -0
- package/dist/tools/help/help/help.d.ts.map +1 -0
- package/dist/tools/help/help/help.js +67 -0
- package/dist/tools/help/help/help.js.map +1 -0
- package/dist/tools/help/index.d.ts +14 -0
- package/dist/tools/help/index.d.ts.map +1 -0
- package/dist/tools/help/index.js +15 -0
- package/dist/tools/help/index.js.map +1 -0
- package/dist/tools/help/types.d.ts +92 -0
- package/dist/tools/help/types.d.ts.map +1 -0
- package/dist/tools/help/types.js +6 -0
- package/dist/tools/help/types.js.map +1 -0
- package/dist/tools/help-queries.d.ts.map +1 -1
- package/dist/tools/help-queries.js +1 -0
- package/dist/tools/help-queries.js.map +1 -1
- package/dist/tools/tasks/actions/add-dependency.d.ts +12 -0
- package/dist/tools/tasks/actions/add-dependency.d.ts.map +1 -0
- package/dist/tools/tasks/actions/add-dependency.js +124 -0
- package/dist/tools/tasks/actions/add-dependency.js.map +1 -0
- package/dist/tools/tasks/actions/archive.d.ts +11 -0
- package/dist/tools/tasks/actions/archive.d.ts.map +1 -0
- package/dist/tools/tasks/actions/archive.js +67 -0
- package/dist/tools/tasks/actions/archive.js.map +1 -0
- package/dist/tools/tasks/actions/create-batch.d.ts +19 -0
- package/dist/tools/tasks/actions/create-batch.d.ts.map +1 -0
- package/dist/tools/tasks/actions/create-batch.js +103 -0
- package/dist/tools/tasks/actions/create-batch.js.map +1 -0
- package/dist/tools/tasks/actions/create.d.ts +16 -0
- package/dist/tools/tasks/actions/create.d.ts.map +1 -0
- package/dist/tools/tasks/actions/create.js +180 -0
- package/dist/tools/tasks/actions/create.js.map +1 -0
- package/dist/tools/tasks/actions/get-dependencies.d.ts +12 -0
- package/dist/tools/tasks/actions/get-dependencies.d.ts.map +1 -0
- package/dist/tools/tasks/actions/get-dependencies.js +41 -0
- package/dist/tools/tasks/actions/get-dependencies.js.map +1 -0
- package/dist/tools/tasks/actions/get-pruned-files.d.ts +13 -0
- package/dist/tools/tasks/actions/get-pruned-files.d.ts.map +1 -0
- package/dist/tools/tasks/actions/get-pruned-files.js +45 -0
- package/dist/tools/tasks/actions/get-pruned-files.js.map +1 -0
- package/dist/tools/tasks/actions/get.d.ts +12 -0
- package/dist/tools/tasks/actions/get.d.ts.map +1 -0
- package/dist/tools/tasks/actions/get.js +88 -0
- package/dist/tools/tasks/actions/get.js.map +1 -0
- package/dist/tools/tasks/actions/link-pruned-file.d.ts +13 -0
- package/dist/tools/tasks/actions/link-pruned-file.d.ts.map +1 -0
- package/dist/tools/tasks/actions/link-pruned-file.js +63 -0
- package/dist/tools/tasks/actions/link-pruned-file.js.map +1 -0
- package/dist/tools/tasks/actions/link.d.ts +14 -0
- package/dist/tools/tasks/actions/link.d.ts.map +1 -0
- package/dist/tools/tasks/actions/link.js +118 -0
- package/dist/tools/tasks/actions/link.js.map +1 -0
- package/dist/tools/tasks/actions/list.d.ts +17 -0
- package/dist/tools/tasks/actions/list.d.ts.map +1 -0
- package/dist/tools/tasks/actions/list.js +98 -0
- package/dist/tools/tasks/actions/list.js.map +1 -0
- package/dist/tools/tasks/actions/move.d.ts +12 -0
- package/dist/tools/tasks/actions/move.d.ts.map +1 -0
- package/dist/tools/tasks/actions/move.js +91 -0
- package/dist/tools/tasks/actions/move.js.map +1 -0
- package/dist/tools/tasks/actions/remove-dependency.d.ts +12 -0
- package/dist/tools/tasks/actions/remove-dependency.d.ts.map +1 -0
- package/dist/tools/tasks/actions/remove-dependency.js +36 -0
- package/dist/tools/tasks/actions/remove-dependency.js.map +1 -0
- package/dist/tools/tasks/actions/update.d.ts +10 -0
- package/dist/tools/tasks/actions/update.d.ts.map +1 -0
- package/dist/tools/tasks/actions/update.js +186 -0
- package/dist/tools/tasks/actions/update.js.map +1 -0
- package/dist/tools/tasks/actions/watch-files.d.ts +14 -0
- package/dist/tools/tasks/actions/watch-files.d.ts.map +1 -0
- package/dist/tools/tasks/actions/watch-files.js +127 -0
- package/dist/tools/tasks/actions/watch-files.js.map +1 -0
- package/dist/tools/tasks/help/example.d.ts +8 -0
- package/dist/tools/tasks/help/example.d.ts.map +1 -0
- package/dist/tools/tasks/help/example.js +215 -0
- package/dist/tools/tasks/help/example.js.map +1 -0
- package/dist/tools/tasks/help/help.d.ts +8 -0
- package/dist/tools/tasks/help/help.d.ts.map +1 -0
- package/dist/tools/tasks/help/help.js +293 -0
- package/dist/tools/tasks/help/help.js.map +1 -0
- package/dist/tools/tasks/help/use-case.d.ts +11 -0
- package/dist/tools/tasks/help/use-case.d.ts.map +1 -0
- package/dist/tools/tasks/help/use-case.js +768 -0
- package/dist/tools/tasks/help/use-case.js.map +1 -0
- package/dist/tools/tasks/index.d.ts +28 -0
- package/dist/tools/tasks/index.d.ts.map +1 -0
- package/dist/tools/tasks/index.js +33 -0
- package/dist/tools/tasks/index.js.map +1 -0
- package/dist/tools/tasks/internal/state-machine.d.ts +16 -0
- package/dist/tools/tasks/internal/state-machine.d.ts.map +1 -0
- package/dist/tools/tasks/internal/state-machine.js +36 -0
- package/dist/tools/tasks/internal/state-machine.js.map +1 -0
- package/dist/tools/tasks/internal/task-queries.d.ts +12 -0
- package/dist/tools/tasks/internal/task-queries.d.ts.map +1 -0
- package/dist/tools/tasks/internal/task-queries.js +61 -0
- package/dist/tools/tasks/internal/task-queries.js.map +1 -0
- package/dist/tools/tasks/internal/validation.d.ts +47 -0
- package/dist/tools/tasks/internal/validation.d.ts.map +1 -0
- package/dist/tools/tasks/internal/validation.js +261 -0
- package/dist/tools/tasks/internal/validation.js.map +1 -0
- package/dist/tools/tasks/types.d.ts +68 -0
- package/dist/tools/tasks/types.d.ts.map +1 -0
- package/dist/tools/tasks/types.js +45 -0
- package/dist/tools/tasks/types.js.map +1 -0
- package/dist/tools/tasks/watcher/status.d.ts +9 -0
- package/dist/tools/tasks/watcher/status.d.ts.map +1 -0
- package/dist/tools/tasks/watcher/status.js +126 -0
- package/dist/tools/tasks/watcher/status.js.map +1 -0
- package/dist/tools/tasks.d.ts +12 -148
- package/dist/tools/tasks.d.ts.map +1 -1
- package/dist/tools/tasks.js +12 -2037
- package/dist/tools/tasks.js.map +1 -1
- package/dist/tools/use_case/actions/get.d.ts +14 -0
- package/dist/tools/use_case/actions/get.d.ts.map +1 -0
- package/dist/tools/use_case/actions/get.js +15 -0
- package/dist/tools/use_case/actions/get.js.map +1 -0
- package/dist/tools/use_case/actions/list-all.d.ts +15 -0
- package/dist/tools/use_case/actions/list-all.d.ts.map +1 -0
- package/dist/tools/use_case/actions/list-all.js +20 -0
- package/dist/tools/use_case/actions/list-all.js.map +1 -0
- package/dist/tools/use_case/actions/search.d.ts +14 -0
- package/dist/tools/use_case/actions/search.d.ts.map +1 -0
- package/dist/tools/use_case/actions/search.js +87 -0
- package/dist/tools/use_case/actions/search.js.map +1 -0
- package/dist/tools/use_case/help/example.d.ts +105 -0
- package/dist/tools/use_case/help/example.d.ts.map +1 -0
- package/dist/tools/use_case/help/example.js +138 -0
- package/dist/tools/use_case/help/example.js.map +1 -0
- package/dist/tools/use_case/help/help.d.ts +33 -0
- package/dist/tools/use_case/help/help.d.ts.map +1 -0
- package/dist/tools/use_case/help/help.js +109 -0
- package/dist/tools/use_case/help/help.js.map +1 -0
- package/dist/tools/use_case/index.d.ts +11 -0
- package/dist/tools/use_case/index.d.ts.map +1 -0
- package/dist/tools/use_case/index.js +12 -0
- package/dist/tools/use_case/index.js.map +1 -0
- package/dist/tools/use_case/types.d.ts +58 -0
- package/dist/tools/use_case/types.d.ts.map +1 -0
- package/dist/tools/use_case/types.js +6 -0
- package/dist/tools/use_case/types.js.map +1 -0
- package/dist/types/actions.d.ts +37 -0
- package/dist/types/actions.d.ts.map +1 -0
- package/dist/types/actions.js +6 -0
- package/dist/types/actions.js.map +1 -0
- package/dist/types/constraint/params.d.ts +2 -0
- package/dist/types/constraint/params.d.ts.map +1 -0
- package/dist/types/constraint/params.js +2 -0
- package/dist/types/constraint/params.js.map +1 -0
- package/dist/types/constraint/responses.d.ts +2 -0
- package/dist/types/constraint/responses.d.ts.map +1 -0
- package/dist/types/constraint/responses.js +2 -0
- package/dist/types/constraint/responses.js.map +1 -0
- package/dist/types/decision/batch.d.ts +24 -0
- package/dist/types/decision/batch.d.ts.map +1 -0
- package/dist/types/decision/batch.js +5 -0
- package/dist/types/decision/batch.js.map +1 -0
- package/dist/types/decision/params.d.ts +73 -0
- package/dist/types/decision/params.d.ts.map +1 -0
- package/dist/types/decision/params.js +5 -0
- package/dist/types/decision/params.js.map +1 -0
- package/dist/types/decision/responses.d.ts +79 -0
- package/dist/types/decision/responses.d.ts.map +1 -0
- package/dist/types/decision/responses.js +5 -0
- package/dist/types/decision/responses.js.map +1 -0
- package/dist/types/decision/templates.d.ts +74 -0
- package/dist/types/decision/templates.d.ts.map +1 -0
- package/dist/types/decision/templates.js +5 -0
- package/dist/types/decision/templates.js.map +1 -0
- package/dist/types/enums.d.ts +43 -0
- package/dist/types/enums.d.ts.map +1 -0
- package/dist/types/enums.js +47 -0
- package/dist/types/enums.js.map +1 -0
- package/dist/types/file/params.d.ts +40 -0
- package/dist/types/file/params.d.ts.map +1 -0
- package/dist/types/file/params.js +6 -0
- package/dist/types/file/params.js.map +1 -0
- package/dist/types/file/responses.d.ts +2 -0
- package/dist/types/file/responses.d.ts.map +1 -0
- package/dist/types/file/responses.js +2 -0
- package/dist/types/file/responses.js.map +1 -0
- package/dist/types/import-export.d.ts +126 -0
- package/dist/types/import-export.d.ts.map +1 -0
- package/dist/types/import-export.js +6 -0
- package/dist/types/import-export.js.map +1 -0
- package/dist/types/index.d.ts +25 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +35 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/master-entities.d.ts +33 -0
- package/dist/types/master-entities.d.ts.map +1 -0
- package/dist/types/master-entities.js +6 -0
- package/dist/types/master-entities.js.map +1 -0
- package/dist/types/task/params.d.ts +172 -0
- package/dist/types/task/params.d.ts.map +1 -0
- package/dist/types/task/params.js +8 -0
- package/dist/types/task/params.js.map +1 -0
- package/dist/types/task/responses.d.ts +334 -0
- package/dist/types/task/responses.d.ts.map +1 -0
- package/dist/types/task/responses.js +8 -0
- package/dist/types/task/responses.js.map +1 -0
- package/dist/types/transaction-entities.d.ts +89 -0
- package/dist/types/transaction-entities.d.ts.map +1 -0
- package/dist/types/transaction-entities.js +5 -0
- package/dist/types/transaction-entities.js.map +1 -0
- package/dist/types/validation.d.ts +44 -0
- package/dist/types/validation.d.ts.map +1 -0
- package/dist/types/validation.js +6 -0
- package/dist/types/validation.js.map +1 -0
- package/dist/types/view-entities.d.ts +61 -0
- package/dist/types/view-entities.d.ts.map +1 -0
- package/dist/types/view-entities.js +5 -0
- package/dist/types/view-entities.js.map +1 -0
- package/dist/types.d.ts +133 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/action-specs/config-specs.d.ts +10 -0
- package/dist/utils/action-specs/config-specs.d.ts.map +1 -0
- package/dist/utils/action-specs/config-specs.js +12 -0
- package/dist/utils/action-specs/config-specs.js.map +1 -0
- package/dist/utils/action-specs/constraint-specs.d.ts +9 -0
- package/dist/utils/action-specs/constraint-specs.d.ts.map +1 -0
- package/dist/utils/action-specs/constraint-specs.js +42 -0
- package/dist/utils/action-specs/constraint-specs.js.map +1 -0
- package/dist/utils/action-specs/decision-specs.d.ts +9 -0
- package/dist/utils/action-specs/decision-specs.d.ts.map +1 -0
- package/dist/utils/action-specs/decision-specs.js +194 -0
- package/dist/utils/action-specs/decision-specs.js.map +1 -0
- package/dist/utils/action-specs/file-specs.d.ts +9 -0
- package/dist/utils/action-specs/file-specs.d.ts.map +1 -0
- package/dist/utils/action-specs/file-specs.js +56 -0
- package/dist/utils/action-specs/file-specs.js.map +1 -0
- package/dist/utils/action-specs/index.d.ts +38 -0
- package/dist/utils/action-specs/index.d.ts.map +1 -0
- package/dist/utils/action-specs/index.js +63 -0
- package/dist/utils/action-specs/index.js.map +1 -0
- package/dist/utils/action-specs/task-specs.d.ts +9 -0
- package/dist/utils/action-specs/task-specs.d.ts.map +1 -0
- package/dist/utils/action-specs/task-specs.js +143 -0
- package/dist/utils/action-specs/task-specs.js.map +1 -0
- package/dist/utils/action-specs/types.d.ts +14 -0
- package/dist/utils/action-specs/types.d.ts.map +1 -0
- package/dist/utils/action-specs/types.js +9 -0
- package/dist/utils/action-specs/types.js.map +1 -0
- package/dist/utils/batch-validation.d.ts +156 -0
- package/dist/utils/batch-validation.d.ts.map +1 -0
- package/dist/utils/batch-validation.example.d.ts +48 -0
- package/dist/utils/batch-validation.example.d.ts.map +1 -0
- package/dist/utils/batch-validation.example.js +180 -0
- package/dist/utils/batch-validation.example.js.map +1 -0
- package/dist/utils/batch-validation.js +345 -0
- package/dist/utils/batch-validation.js.map +1 -0
- package/dist/utils/levenshtein.d.ts +18 -0
- package/dist/utils/levenshtein.d.ts.map +1 -0
- package/dist/utils/levenshtein.js +46 -0
- package/dist/utils/levenshtein.js.map +1 -0
- package/dist/utils/parameter-validator.d.ts +3 -3
- package/dist/utils/parameter-validator.d.ts.map +1 -1
- package/dist/utils/parameter-validator.js +3 -39
- package/dist/utils/parameter-validator.js.map +1 -1
- package/dist/utils/sql-dump/core/dependency-sort.d.ts +16 -0
- package/dist/utils/sql-dump/core/dependency-sort.d.ts.map +1 -0
- package/dist/utils/sql-dump/core/dependency-sort.js +105 -0
- package/dist/utils/sql-dump/core/dependency-sort.js.map +1 -0
- package/dist/utils/sql-dump/core/generate-dump.d.ts +13 -0
- package/dist/utils/sql-dump/core/generate-dump.d.ts.map +1 -0
- package/dist/utils/sql-dump/core/generate-dump.js +181 -0
- package/dist/utils/sql-dump/core/generate-dump.js.map +1 -0
- package/dist/utils/sql-dump/core/index-export.d.ts +9 -0
- package/dist/utils/sql-dump/core/index-export.d.ts.map +1 -0
- package/dist/utils/sql-dump/core/index-export.js +173 -0
- package/dist/utils/sql-dump/core/index-export.js.map +1 -0
- package/dist/utils/sql-dump/core/sequence-reset.d.ts +6 -0
- package/dist/utils/sql-dump/core/sequence-reset.d.ts.map +1 -0
- package/dist/utils/sql-dump/core/sequence-reset.js +28 -0
- package/dist/utils/sql-dump/core/sequence-reset.js.map +1 -0
- package/dist/utils/sql-dump/core/table-export.d.ts +2 -0
- package/dist/utils/sql-dump/core/table-export.d.ts.map +1 -0
- package/dist/utils/sql-dump/core/table-export.js +4 -0
- package/dist/utils/sql-dump/core/table-export.js.map +1 -0
- package/dist/utils/sql-dump/core/view-export.d.ts +2 -0
- package/dist/utils/sql-dump/core/view-export.d.ts.map +1 -0
- package/dist/utils/sql-dump/core/view-export.js +4 -0
- package/dist/utils/sql-dump/core/view-export.js.map +1 -0
- package/dist/utils/sql-dump/formatters/bulk-insert.d.ts +14 -0
- package/dist/utils/sql-dump/formatters/bulk-insert.d.ts.map +1 -0
- package/dist/utils/sql-dump/formatters/bulk-insert.js +177 -0
- package/dist/utils/sql-dump/formatters/bulk-insert.js.map +1 -0
- package/dist/utils/sql-dump/formatters/identifiers.d.ts +6 -0
- package/dist/utils/sql-dump/formatters/identifiers.d.ts.map +1 -0
- package/dist/utils/sql-dump/formatters/identifiers.js +16 -0
- package/dist/utils/sql-dump/formatters/identifiers.js.map +1 -0
- package/dist/utils/sql-dump/formatters/value-formatter.d.ts +14 -0
- package/dist/utils/sql-dump/formatters/value-formatter.d.ts.map +1 -0
- package/dist/utils/sql-dump/formatters/value-formatter.js +281 -0
- package/dist/utils/sql-dump/formatters/value-formatter.js.map +1 -0
- package/dist/utils/sql-dump/generators/controls.d.ts +10 -0
- package/dist/utils/sql-dump/generators/controls.d.ts.map +1 -0
- package/dist/utils/sql-dump/generators/controls.js +36 -0
- package/dist/utils/sql-dump/generators/controls.js.map +1 -0
- package/dist/utils/sql-dump/generators/headers.d.ts +6 -0
- package/dist/utils/sql-dump/generators/headers.d.ts.map +1 -0
- package/dist/utils/sql-dump/generators/headers.js +19 -0
- package/dist/utils/sql-dump/generators/headers.js.map +1 -0
- package/dist/utils/sql-dump/index.d.ts +14 -0
- package/dist/utils/sql-dump/index.d.ts.map +1 -0
- package/dist/utils/sql-dump/index.js +16 -0
- package/dist/utils/sql-dump/index.js.map +1 -0
- package/dist/utils/sql-dump/schema/indexes.d.ts +6 -0
- package/dist/utils/sql-dump/schema/indexes.d.ts.map +1 -0
- package/dist/utils/sql-dump/schema/indexes.js +42 -0
- package/dist/utils/sql-dump/schema/indexes.js.map +1 -0
- package/dist/utils/sql-dump/schema/primary-keys.d.ts +6 -0
- package/dist/utils/sql-dump/schema/primary-keys.d.ts.map +1 -0
- package/dist/utils/sql-dump/schema/primary-keys.js +41 -0
- package/dist/utils/sql-dump/schema/primary-keys.js.map +1 -0
- package/dist/utils/sql-dump/schema/tables.d.ts +12 -0
- package/dist/utils/sql-dump/schema/tables.d.ts.map +1 -0
- package/dist/utils/sql-dump/schema/tables.js +370 -0
- package/dist/utils/sql-dump/schema/tables.js.map +1 -0
- package/dist/utils/sql-dump/schema/views.d.ts +11 -0
- package/dist/utils/sql-dump/schema/views.d.ts.map +1 -0
- package/dist/utils/sql-dump/schema/views.js +110 -0
- package/dist/utils/sql-dump/schema/views.js.map +1 -0
- package/dist/utils/sql-dump/types.d.ts +10 -0
- package/dist/utils/sql-dump/types.d.ts.map +1 -0
- package/dist/utils/sql-dump/types.js +3 -0
- package/dist/utils/sql-dump/types.js.map +1 -0
- package/docs/ACCEPTANCE_CRITERIA.md +0 -0
- package/docs/AI_AGENT_GUIDE.md +2 -2
- package/docs/ARCHITECTURE.md +0 -0
- package/docs/AUTO_FILE_TRACKING.md +0 -0
- package/docs/BATCH_VALIDATION.md +617 -0
- package/docs/BEST_PRACTICES.md +0 -0
- package/docs/CONFIGURATION.md +0 -0
- package/docs/DATABASE_AUTH.md +0 -0
- package/docs/DECISION_CONTEXT.md +0 -0
- package/docs/DECISION_TO_TASK_MIGRATION_GUIDE.md +2 -2
- package/docs/GIT_AWARE_AUTO_COMPLETE.md +0 -0
- package/docs/SHARED_CONCEPTS.md +2 -2
- package/docs/SPECIALIZED_AGENTS.md +1 -1
- package/docs/TASK_ACTIONS.md +7 -7
- package/docs/TASK_DEPENDENCIES.md +0 -0
- package/docs/TASK_LINKING.md +0 -0
- package/docs/TASK_MIGRATION.md +5 -5
- package/docs/TASK_OVERVIEW.md +0 -0
- package/docs/TASK_PRUNING.md +0 -0
- package/docs/TASK_SYSTEM.md +5 -5
- package/docs/TOOL_REFERENCE.md +1 -1
- package/docs/TOOL_SELECTION.md +0 -0
- package/docs/WORKFLOWS.md +1 -1
- package/docs/cli/DATABASE_MIGRATION.md +0 -0
- package/docs/cli/DATA_EXPORT_IMPORT.md +400 -400
- package/docs/cli/README.md +227 -227
- package/package.json +7 -5
- package/dist/tools/config.d.ts +0 -58
- package/dist/tools/config.d.ts.map +0 -1
- package/dist/tools/config.js +0 -281
- package/dist/tools/config.js.map +0 -1
- package/dist/tools/constraints.d.ts +0 -49
- package/dist/tools/constraints.d.ts.map +0 -1
- package/dist/tools/constraints.js +0 -378
- package/dist/tools/constraints.js.map +0 -1
- package/dist/tools/context.d.ts +0 -208
- package/dist/tools/context.d.ts.map +0 -1
- package/dist/tools/context.js +0 -1661
- package/dist/tools/context.js.map +0 -1
- package/dist/tools/files.d.ts +0 -54
- package/dist/tools/files.d.ts.map +0 -1
- package/dist/tools/files.js +0 -478
- package/dist/tools/files.js.map +0 -1
- package/dist/tools/messaging.d.ts +0 -71
- package/dist/tools/messaging.d.ts.map +0 -1
- package/dist/tools/messaging.js +0 -483
- package/dist/tools/messaging.js.map +0 -1
- package/dist/tools/utils.d.ts +0 -70
- package/dist/tools/utils.d.ts.map +0 -1
- package/dist/tools/utils.js +0 -483
- package/dist/tools/utils.js.map +0 -1
- package/dist/utils/action-specs.d.ts +0 -46
- package/dist/utils/action-specs.d.ts.map +0 -1
- package/dist/utils/action-specs.js +0 -527
- package/dist/utils/action-specs.js.map +0 -1
|
@@ -1,400 +1,400 @@
|
|
|
1
|
-
# Data Export/Import
|
|
2
|
-
|
|
3
|
-
> JSON-based project data migration for sharing and multi-database workflows
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
sqlew provides a complete JSON export/import system for migrating project data between databases. This is useful for:
|
|
8
|
-
|
|
9
|
-
- **Project Sharing** - Share context with team members or between machines
|
|
10
|
-
- **Database Migration** - Move projects to different sqlew databases (different machine, different DB type)
|
|
11
|
-
- **Multi-Project Consolidation** - Merge multiple project exports into one database
|
|
12
|
-
|
|
13
|
-
**⚠️ Important**: Import skips if project name already exists (default: `--skip-if-exists=true`). This is **NOT a
|
|
14
|
-
backup/restore solution**.
|
|
15
|
-
|
|
16
|
-
**For backup/restore, use `db:dump` instead**: See [Database Migration Guide](DATABASE_MIGRATION.md) for full backup
|
|
17
|
-
solutions including schema + data using SQL dumps.
|
|
18
|
-
|
|
19
|
-
## Quick Start
|
|
20
|
-
|
|
21
|
-
### Export a Project
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
# You have to install sqlew via npm to use CLI mode
|
|
25
|
-
cd /path/to/your/project
|
|
26
|
-
npm install sqlew
|
|
27
|
-
|
|
28
|
-
# Export all projects
|
|
29
|
-
node node_modules/sqlew/dist/cli.js db:export --output=full-backup.json
|
|
30
|
-
|
|
31
|
-
# or Export specific project to file
|
|
32
|
-
node node_modules/sqlew/dist/cli.js db:export --project=my-project --output=backup.json
|
|
33
|
-
|
|
34
|
-
# Export to stdout (pipe to another command)
|
|
35
|
-
node node_modules/sqlew/dist/cli.js db:export --project=visualizer
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### Import a Project
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
# You have to install sqlew via npm to use CLI mode (We recommend install per project)
|
|
42
|
-
cd /path/to/your/other-project
|
|
43
|
-
npm install sqlew
|
|
44
|
-
|
|
45
|
-
# Import from JSON export
|
|
46
|
-
node node_modules/sqlew/dist/cli.js db:import --source=backup.json
|
|
47
|
-
|
|
48
|
-
# Import with custom project name
|
|
49
|
-
node node_modules/sqlew/dist/cli.js db:import --source=backup.json --project-name=new-name
|
|
50
|
-
|
|
51
|
-
# Dry-run validation (no actual import)
|
|
52
|
-
node node_modules/sqlew/dist/cli.js db:import --source=backup.json --dry-run
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Export Command
|
|
56
|
-
|
|
57
|
-
### Syntax
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
node node_modules/sqlew/dist/cli.js db:export [options]
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### Options
|
|
64
|
-
|
|
65
|
-
| Option | Description | Default |
|
|
66
|
-
|--------------------|---------------------------------|-------------------|
|
|
67
|
-
| `--project <name>` | Export specific project by name | All projects |
|
|
68
|
-
| `--output <file>` | Output file path | stdout |
|
|
69
|
-
| `--db-path <path>` | Database file path | `.sqlew/sqlew.db` |
|
|
70
|
-
| `--config <path>` | Config file path | Auto-detect |
|
|
71
|
-
|
|
72
|
-
### What Gets Exported
|
|
73
|
-
|
|
74
|
-
- **Master Tables** (filtered to used entries only):
|
|
75
|
-
- Agents (m_agents)
|
|
76
|
-
- Context keys (m_context_keys)
|
|
77
|
-
- Files (m_files)
|
|
78
|
-
- Tags (m_tags)
|
|
79
|
-
- Scopes (m_scopes)
|
|
80
|
-
- Layers (m_layers)
|
|
81
|
-
- Project metadata (m_projects)
|
|
82
|
-
|
|
83
|
-
- **Transaction Tables** (all data for selected project):
|
|
84
|
-
- Decisions with context (t_decisions, t_decision_context)
|
|
85
|
-
- Tasks with details (t_tasks, t_task_details)
|
|
86
|
-
- File changes (t_file_changes)
|
|
87
|
-
- Constraints (t_constraints)
|
|
88
|
-
|
|
89
|
-
- **Junction Tables** (relationships):
|
|
90
|
-
- Task tags, file links, decision links, dependencies
|
|
91
|
-
- Decision tags, scopes
|
|
92
|
-
- Constraint tags
|
|
93
|
-
|
|
94
|
-
## Import Command
|
|
95
|
-
|
|
96
|
-
### Syntax
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
node node_modules/sqlew/dist/cli.js db:import --source=<file> [options]
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### Options
|
|
103
|
-
|
|
104
|
-
| Option | Description | Default |
|
|
105
|
-
|-------------------------|-------------------------------|--------------------|
|
|
106
|
-
| `--source <file>` | JSON export file path | **Required** |
|
|
107
|
-
| `--project-name <name>` | Target project name | Use name from JSON |
|
|
108
|
-
| `--skip-if-exists` | Skip import if project exists | `true` |
|
|
109
|
-
| `--dry-run` | Validate only, don't import | `false` |
|
|
110
|
-
| `--db-path <path>` | Database file path | `.sqlew/sqlew.db` |
|
|
111
|
-
| `--config <path>` | Config file path | Auto-detect |
|
|
112
|
-
|
|
113
|
-
### Import Process
|
|
114
|
-
|
|
115
|
-
1. **Validation** - Checks JSON format, required fields, data types
|
|
116
|
-
2. **Conflict Detection** - Checks if project name already exists
|
|
117
|
-
3. **Topological Sort** - Resolves task dependencies (circular detection)
|
|
118
|
-
4. **ID Remapping** - Creates new IDs for all imported data
|
|
119
|
-
5. **Master Table Merge** - Reuses existing agents/tags/files by name
|
|
120
|
-
6. **Transaction Import** - Imports with fresh IDs and translated foreign keys
|
|
121
|
-
7. **Junction Table Import** - Restores all relationships
|
|
122
|
-
8. **Validation** - Verifies all foreign key references
|
|
123
|
-
|
|
124
|
-
### Smart Features
|
|
125
|
-
|
|
126
|
-
**ID Remapping**:
|
|
127
|
-
|
|
128
|
-
- All imported data gets fresh auto-incremented IDs
|
|
129
|
-
- Original IDs are mapped to new IDs during transaction
|
|
130
|
-
- Foreign key references automatically updated
|
|
131
|
-
|
|
132
|
-
**Master Table Deduplication**:
|
|
133
|
-
|
|
134
|
-
- Agents, tags, scopes, files reused if they already exist (by name/path)
|
|
135
|
-
- Prevents duplicate entries for common metadata
|
|
136
|
-
- Project-scoped master tables (m_files, m_tags, m_scopes) isolated by project_id
|
|
137
|
-
|
|
138
|
-
**Dependency Resolution**:
|
|
139
|
-
|
|
140
|
-
- Task dependencies sorted topologically
|
|
141
|
-
- Circular dependency detection prevents invalid imports
|
|
142
|
-
- Dependencies always imported before dependents
|
|
143
|
-
|
|
144
|
-
**Transaction Safety**:
|
|
145
|
-
|
|
146
|
-
- All-or-nothing semantics (full rollback on any error)
|
|
147
|
-
- Idempotent operations (safe to retry on failure)
|
|
148
|
-
- Comprehensive error messages with validation details
|
|
149
|
-
|
|
150
|
-
## Installation for CLI Usage
|
|
151
|
-
|
|
152
|
-
For users who need to use export/import commands, install sqlew per-project:
|
|
153
|
-
|
|
154
|
-
```bash
|
|
155
|
-
# Install in your project directory
|
|
156
|
-
cd /path/to/your/project
|
|
157
|
-
npm install sqlew
|
|
158
|
-
|
|
159
|
-
# Now you can use CLI commands
|
|
160
|
-
node node_modules/sqlew/dist/cli.js db:export --output=backup.json
|
|
161
|
-
node node_modules/sqlew/dist/cli.js db:import --source=backup.json
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
**Tip**: Add a shortcut to your `package.json` for convenience:
|
|
165
|
-
|
|
166
|
-
```json
|
|
167
|
-
{
|
|
168
|
-
"scripts": {
|
|
169
|
-
"sqlew": "node node_modules/sqlew/dist/cli.js"
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
Then you can use: `npm run sqlew db:export --output=backup.json`
|
|
175
|
-
|
|
176
|
-
**Note**: The MCP server (`npx sqlew`) and CLI commands are both included in the same `sqlew` package. You only need to
|
|
177
|
-
install once.
|
|
178
|
-
|
|
179
|
-
## Use Cases
|
|
180
|
-
|
|
181
|
-
### Multi-Project Single Database (Permission-Constrained Environments)
|
|
182
|
-
|
|
183
|
-
**Scenario**: You work on multiple projects but don't have permissions to create separate MySQL databases. You want to
|
|
184
|
-
consolidate all project contexts into one shared database.
|
|
185
|
-
|
|
186
|
-
**Solution**: Use export/import to merge multiple project contexts:
|
|
187
|
-
|
|
188
|
-
```bash
|
|
189
|
-
# Step 1: Export from each project's SQLite database
|
|
190
|
-
cd ~/project-a
|
|
191
|
-
npm install sqlew
|
|
192
|
-
node node_modules/sqlew/dist/cli.js db:export --project=project-a --output=/tmp/project-a.json
|
|
193
|
-
|
|
194
|
-
cd ~/project-b
|
|
195
|
-
npm install sqlew
|
|
196
|
-
node node_modules/sqlew/dist/cli.js db:export --project=project-b --output=/tmp/project-b.json
|
|
197
|
-
|
|
198
|
-
cd ~/project-c
|
|
199
|
-
npm install sqlew
|
|
200
|
-
node node_modules/sqlew/dist/cli.js db:export --project=project-c --output=/tmp/project-c.json
|
|
201
|
-
|
|
202
|
-
# Step 2: Create shared database and import all projects
|
|
203
|
-
cd ~/shared-database
|
|
204
|
-
npm install sqlew
|
|
205
|
-
|
|
206
|
-
# Configure to use single MySQL database (edit .sqlew/config.toml)
|
|
207
|
-
# [database]
|
|
208
|
-
# type = "mysql"
|
|
209
|
-
# host = "localhost"
|
|
210
|
-
# port = 3306
|
|
211
|
-
# user = "myuser"
|
|
212
|
-
# password = "mypassword"
|
|
213
|
-
# database = "shared_sqlew_db"
|
|
214
|
-
|
|
215
|
-
node node_modules/sqlew/dist/cli.js db:import --source=/tmp/project-a.json
|
|
216
|
-
node node_modules/sqlew/dist/cli.js db:import --source=/tmp/project-b.json
|
|
217
|
-
node node_modules/sqlew/dist/cli.js db:import --source=/tmp/project-c.json
|
|
218
|
-
|
|
219
|
-
# Step 3: Configure each project to use shared database
|
|
220
|
-
# In each project's .mcp.json:
|
|
221
|
-
# {
|
|
222
|
-
# "mcpServers": {
|
|
223
|
-
# "sqlew": {
|
|
224
|
-
# "command": "npx",
|
|
225
|
-
# "args": ["sqlew", "--config-path=/path/to/shared-database/.sqlew/config.toml"]
|
|
226
|
-
# }
|
|
227
|
-
# }
|
|
228
|
-
# }
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
**Benefits**:
|
|
232
|
-
|
|
233
|
-
- ✅ Single database for multiple projects (saves database quota)
|
|
234
|
-
- ✅ Cross-project context visibility (search decisions across all projects)
|
|
235
|
-
- ✅ Centralized backup and maintenance
|
|
236
|
-
- ✅ Works with permission-constrained MySQL/PostgreSQL environments
|
|
237
|
-
|
|
238
|
-
**Trade-offs**:
|
|
239
|
-
|
|
240
|
-
- ⚠️ All projects share same database connection pool
|
|
241
|
-
- ⚠️ Requires manual config path in each project's .mcp.json
|
|
242
|
-
- ⚠️ Project isolation maintained via project_id, not separate databases
|
|
243
|
-
|
|
244
|
-
### Database Migration (Cross-Machine or Cross-Database)
|
|
245
|
-
|
|
246
|
-
```bash
|
|
247
|
-
# Export from source database
|
|
248
|
-
node node_modules/sqlew/dist/cli.js db:export --project=main --output=main-export.json
|
|
249
|
-
|
|
250
|
-
# Import to different database (different machine or different database type)
|
|
251
|
-
# This works because the project doesn't exist in the target database yet
|
|
252
|
-
node node_modules/sqlew/dist/cli.js db:import --source=main-export.json --db-path=/path/to/new/database.db
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
**Note**: Import skips if project name exists.
|
|
256
|
-
|
|
257
|
-
**For backup/restore, use `db:dump` instead**:
|
|
258
|
-
|
|
259
|
-
```bash
|
|
260
|
-
# Backup with SQL dump (preserves schema + data)
|
|
261
|
-
node node_modules/sqlew/dist/cli.js db:dump --format=sqlite --output=backup-$(date +%Y%m%d).sql
|
|
262
|
-
|
|
263
|
-
# Or simple SQLite file copy
|
|
264
|
-
cp .sqlew/sqlew.db .sqlew/backup-$(date +%Y%m%d).db
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
See `node node_modules/sqlew/dist/cli.js db:dump --help` for full backup options.
|
|
268
|
-
|
|
269
|
-
### Project Sharing
|
|
270
|
-
|
|
271
|
-
```bash
|
|
272
|
-
# Developer A: Export project
|
|
273
|
-
node node_modules/sqlew/dist/cli.js db:export --project=feature-x --output=feature-x.json
|
|
274
|
-
|
|
275
|
-
# Developer B: Import project
|
|
276
|
-
node node_modules/sqlew/dist/cli.js db:import --source=feature-x.json
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
### Multi-Project Consolidation
|
|
280
|
-
|
|
281
|
-
```bash
|
|
282
|
-
# Export from different databases
|
|
283
|
-
node node_modules/sqlew/dist/cli.js db:export --project=visualizer --output=vis.json
|
|
284
|
-
node node_modules/sqlew/dist/cli.js db:export --project=api --output=api.json
|
|
285
|
-
|
|
286
|
-
# Import to single database
|
|
287
|
-
node node_modules/sqlew/dist/cli.js db:import --source=vis.json
|
|
288
|
-
node node_modules/sqlew/dist/cli.js db:import --source=api.json
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
### Cross-Database Migration
|
|
292
|
-
|
|
293
|
-
```bash
|
|
294
|
-
# Export from SQLite
|
|
295
|
-
node node_modules/sqlew/dist/cli.js db:export --output=data.json --db-path=.sqlew/sqlew.db
|
|
296
|
-
|
|
297
|
-
# Import to MySQL
|
|
298
|
-
node node_modules/sqlew/dist/cli.js db:import --source=data.json --db-path=mysql://localhost/sqlew
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
## Error Handling
|
|
302
|
-
|
|
303
|
-
### Common Errors
|
|
304
|
-
|
|
305
|
-
**Project Already Exists**:
|
|
306
|
-
|
|
307
|
-
```
|
|
308
|
-
Error: Project "my-project" already exists in target database
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
Solution: Use `--project-name` to specify different name, or remove existing project
|
|
312
|
-
|
|
313
|
-
**Circular Dependencies**:
|
|
314
|
-
|
|
315
|
-
```
|
|
316
|
-
Error: Circular dependency detected in task dependencies
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
Solution: Fix dependency graph in source database before exporting
|
|
320
|
-
|
|
321
|
-
**Invalid Foreign Keys**:
|
|
322
|
-
|
|
323
|
-
```
|
|
324
|
-
Error: Foreign key constraint violation for task_id=123
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
Solution: Ensure all referenced entities exist in export
|
|
328
|
-
|
|
329
|
-
### Dry-Run Validation
|
|
330
|
-
|
|
331
|
-
Always test imports with `--dry-run` first:
|
|
332
|
-
|
|
333
|
-
```bash
|
|
334
|
-
node node_modules/sqlew/dist/cli.js db:import --source=data.json --dry-run
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
This validates:
|
|
338
|
-
|
|
339
|
-
- JSON format and structure
|
|
340
|
-
- Project name conflicts
|
|
341
|
-
- Task dependency cycles
|
|
342
|
-
- Foreign key references
|
|
343
|
-
- Data type correctness
|
|
344
|
-
|
|
345
|
-
## Technical Details
|
|
346
|
-
|
|
347
|
-
### Performance
|
|
348
|
-
|
|
349
|
-
- **Batch Inserts**: 10-row batches to avoid SQLite limits
|
|
350
|
-
- **Transaction Scope**: Single transaction for atomicity
|
|
351
|
-
- **Memory Efficient**: Streams large datasets
|
|
352
|
-
|
|
353
|
-
### Limitations
|
|
354
|
-
|
|
355
|
-
- **Max JSON Size**: Limited by available memory
|
|
356
|
-
- **SQLite Batch Limit**: 500 UNION ALL clauses (handled automatically)
|
|
357
|
-
- **Cross-Database**: JSON format only (no SQL dump)
|
|
358
|
-
|
|
359
|
-
### Data Integrity
|
|
360
|
-
|
|
361
|
-
- **Foreign Key Validation**: All references validated before insertion
|
|
362
|
-
- **Orphan Cleanup**: Invalid references automatically filtered
|
|
363
|
-
- **View Restoration**: Views temporarily dropped and restored during import
|
|
364
|
-
- **Idempotent Operations**: Safe to retry on network/disk failures
|
|
365
|
-
|
|
366
|
-
## Comparison with db:dump
|
|
367
|
-
|
|
368
|
-
| Feature | db:export (JSON) | db:dump (SQL) |
|
|
369
|
-
|--------------------|--------------------------|------------------------------------------|
|
|
370
|
-
| Format | JSON data only | SQL DDL + data |
|
|
371
|
-
| Schema | Not included | Full schema included |
|
|
372
|
-
| Use Case | Project migration | **Backup/restore, database replication** |
|
|
373
|
-
| Cross-DB | ✅ Yes | ❌ No (dialect-specific) |
|
|
374
|
-
| Size | Smaller (~40% reduction) | Larger (includes schema) |
|
|
375
|
-
| Import Speed | Slower (ID remapping) | Faster (direct SQL execution) |
|
|
376
|
-
| Conflict Handling | Smart deduplication | Overwrite or fail |
|
|
377
|
-
| Restore Capability | ❌ Skips if exists | ✅ Full restore |
|
|
378
|
-
|
|
379
|
-
**When to use db:export (JSON)**:
|
|
380
|
-
|
|
381
|
-
- Migrating projects between different sqlew databases
|
|
382
|
-
- Sharing specific projects with team members
|
|
383
|
-
- Merging multiple projects into one database
|
|
384
|
-
- Cross-database migration (SQLite → MySQL → PostgreSQL)
|
|
385
|
-
|
|
386
|
-
**When to use db:dump (SQL)** - **RECOMMENDED FOR BACKUP**:
|
|
387
|
-
|
|
388
|
-
- **Full database backup with schema** ✅
|
|
389
|
-
- **Database restore/recovery** ✅
|
|
390
|
-
- Database replication
|
|
391
|
-
- Development → Production deployment
|
|
392
|
-
- Same database type migration
|
|
393
|
-
|
|
394
|
-
See [Database Migration Guide](DATABASE_MIGRATION.md) for complete `db:dump` documentation.
|
|
395
|
-
|
|
396
|
-
## See Also
|
|
397
|
-
|
|
398
|
-
- [Database Migration](DATABASE_MIGRATION.md) - SQLite → MySQL/PostgreSQL migration
|
|
399
|
-
- [CHANGELOG.md](../../CHANGELOG.md#374) - v3.7.4 release notes
|
|
400
|
-
- [Architecture](../ARCHITECTURE.md) - Technical architecture overview
|
|
1
|
+
# Data Export/Import
|
|
2
|
+
|
|
3
|
+
> JSON-based project data migration for sharing and multi-database workflows
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
sqlew provides a complete JSON export/import system for migrating project data between databases. This is useful for:
|
|
8
|
+
|
|
9
|
+
- **Project Sharing** - Share context with team members or between machines
|
|
10
|
+
- **Database Migration** - Move projects to different sqlew databases (different machine, different DB type)
|
|
11
|
+
- **Multi-Project Consolidation** - Merge multiple project exports into one database
|
|
12
|
+
|
|
13
|
+
**⚠️ Important**: Import skips if project name already exists (default: `--skip-if-exists=true`). This is **NOT a
|
|
14
|
+
backup/restore solution**.
|
|
15
|
+
|
|
16
|
+
**For backup/restore, use `db:dump` instead**: See [Database Migration Guide](DATABASE_MIGRATION.md) for full backup
|
|
17
|
+
solutions including schema + data using SQL dumps.
|
|
18
|
+
|
|
19
|
+
## Quick Start
|
|
20
|
+
|
|
21
|
+
### Export a Project
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# You have to install sqlew via npm to use CLI mode
|
|
25
|
+
cd /path/to/your/project
|
|
26
|
+
npm install sqlew
|
|
27
|
+
|
|
28
|
+
# Export all projects
|
|
29
|
+
node node_modules/sqlew/dist/cli.js db:export --output=full-backup.json
|
|
30
|
+
|
|
31
|
+
# or Export specific project to file
|
|
32
|
+
node node_modules/sqlew/dist/cli.js db:export --project=my-project --output=backup.json
|
|
33
|
+
|
|
34
|
+
# Export to stdout (pipe to another command)
|
|
35
|
+
node node_modules/sqlew/dist/cli.js db:export --project=visualizer
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Import a Project
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# You have to install sqlew via npm to use CLI mode (We recommend install per project)
|
|
42
|
+
cd /path/to/your/other-project
|
|
43
|
+
npm install sqlew
|
|
44
|
+
|
|
45
|
+
# Import from JSON export
|
|
46
|
+
node node_modules/sqlew/dist/cli.js db:import --source=backup.json
|
|
47
|
+
|
|
48
|
+
# Import with custom project name
|
|
49
|
+
node node_modules/sqlew/dist/cli.js db:import --source=backup.json --project-name=new-name
|
|
50
|
+
|
|
51
|
+
# Dry-run validation (no actual import)
|
|
52
|
+
node node_modules/sqlew/dist/cli.js db:import --source=backup.json --dry-run
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Export Command
|
|
56
|
+
|
|
57
|
+
### Syntax
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
node node_modules/sqlew/dist/cli.js db:export [options]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Options
|
|
64
|
+
|
|
65
|
+
| Option | Description | Default |
|
|
66
|
+
|--------------------|---------------------------------|-------------------|
|
|
67
|
+
| `--project <name>` | Export specific project by name | All projects |
|
|
68
|
+
| `--output <file>` | Output file path | stdout |
|
|
69
|
+
| `--db-path <path>` | Database file path | `.sqlew/sqlew.db` |
|
|
70
|
+
| `--config <path>` | Config file path | Auto-detect |
|
|
71
|
+
|
|
72
|
+
### What Gets Exported
|
|
73
|
+
|
|
74
|
+
- **Master Tables** (filtered to used entries only):
|
|
75
|
+
- Agents (m_agents)
|
|
76
|
+
- Context keys (m_context_keys)
|
|
77
|
+
- Files (m_files)
|
|
78
|
+
- Tags (m_tags)
|
|
79
|
+
- Scopes (m_scopes)
|
|
80
|
+
- Layers (m_layers)
|
|
81
|
+
- Project metadata (m_projects)
|
|
82
|
+
|
|
83
|
+
- **Transaction Tables** (all data for selected project):
|
|
84
|
+
- Decisions with context (t_decisions, t_decision_context)
|
|
85
|
+
- Tasks with details (t_tasks, t_task_details)
|
|
86
|
+
- File changes (t_file_changes)
|
|
87
|
+
- Constraints (t_constraints)
|
|
88
|
+
|
|
89
|
+
- **Junction Tables** (relationships):
|
|
90
|
+
- Task tags, file links, decision links, dependencies
|
|
91
|
+
- Decision tags, scopes
|
|
92
|
+
- Constraint tags
|
|
93
|
+
|
|
94
|
+
## Import Command
|
|
95
|
+
|
|
96
|
+
### Syntax
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
node node_modules/sqlew/dist/cli.js db:import --source=<file> [options]
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Options
|
|
103
|
+
|
|
104
|
+
| Option | Description | Default |
|
|
105
|
+
|-------------------------|-------------------------------|--------------------|
|
|
106
|
+
| `--source <file>` | JSON export file path | **Required** |
|
|
107
|
+
| `--project-name <name>` | Target project name | Use name from JSON |
|
|
108
|
+
| `--skip-if-exists` | Skip import if project exists | `true` |
|
|
109
|
+
| `--dry-run` | Validate only, don't import | `false` |
|
|
110
|
+
| `--db-path <path>` | Database file path | `.sqlew/sqlew.db` |
|
|
111
|
+
| `--config <path>` | Config file path | Auto-detect |
|
|
112
|
+
|
|
113
|
+
### Import Process
|
|
114
|
+
|
|
115
|
+
1. **Validation** - Checks JSON format, required fields, data types
|
|
116
|
+
2. **Conflict Detection** - Checks if project name already exists
|
|
117
|
+
3. **Topological Sort** - Resolves task dependencies (circular detection)
|
|
118
|
+
4. **ID Remapping** - Creates new IDs for all imported data
|
|
119
|
+
5. **Master Table Merge** - Reuses existing agents/tags/files by name
|
|
120
|
+
6. **Transaction Import** - Imports with fresh IDs and translated foreign keys
|
|
121
|
+
7. **Junction Table Import** - Restores all relationships
|
|
122
|
+
8. **Validation** - Verifies all foreign key references
|
|
123
|
+
|
|
124
|
+
### Smart Features
|
|
125
|
+
|
|
126
|
+
**ID Remapping**:
|
|
127
|
+
|
|
128
|
+
- All imported data gets fresh auto-incremented IDs
|
|
129
|
+
- Original IDs are mapped to new IDs during transaction
|
|
130
|
+
- Foreign key references automatically updated
|
|
131
|
+
|
|
132
|
+
**Master Table Deduplication**:
|
|
133
|
+
|
|
134
|
+
- Agents, tags, scopes, files reused if they already exist (by name/path)
|
|
135
|
+
- Prevents duplicate entries for common metadata
|
|
136
|
+
- Project-scoped master tables (m_files, m_tags, m_scopes) isolated by project_id
|
|
137
|
+
|
|
138
|
+
**Dependency Resolution**:
|
|
139
|
+
|
|
140
|
+
- Task dependencies sorted topologically
|
|
141
|
+
- Circular dependency detection prevents invalid imports
|
|
142
|
+
- Dependencies always imported before dependents
|
|
143
|
+
|
|
144
|
+
**Transaction Safety**:
|
|
145
|
+
|
|
146
|
+
- All-or-nothing semantics (full rollback on any error)
|
|
147
|
+
- Idempotent operations (safe to retry on failure)
|
|
148
|
+
- Comprehensive error messages with validation details
|
|
149
|
+
|
|
150
|
+
## Installation for CLI Usage
|
|
151
|
+
|
|
152
|
+
For users who need to use export/import commands, install sqlew per-project:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# Install in your project directory
|
|
156
|
+
cd /path/to/your/project
|
|
157
|
+
npm install sqlew
|
|
158
|
+
|
|
159
|
+
# Now you can use CLI commands
|
|
160
|
+
node node_modules/sqlew/dist/cli.js db:export --output=backup.json
|
|
161
|
+
node node_modules/sqlew/dist/cli.js db:import --source=backup.json
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**Tip**: Add a shortcut to your `package.json` for convenience:
|
|
165
|
+
|
|
166
|
+
```json
|
|
167
|
+
{
|
|
168
|
+
"scripts": {
|
|
169
|
+
"sqlew": "node node_modules/sqlew/dist/cli.js"
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Then you can use: `npm run sqlew db:export --output=backup.json`
|
|
175
|
+
|
|
176
|
+
**Note**: The MCP server (`npx sqlew`) and CLI commands are both included in the same `sqlew` package. You only need to
|
|
177
|
+
install once.
|
|
178
|
+
|
|
179
|
+
## Use Cases
|
|
180
|
+
|
|
181
|
+
### Multi-Project Single Database (Permission-Constrained Environments)
|
|
182
|
+
|
|
183
|
+
**Scenario**: You work on multiple projects but don't have permissions to create separate MySQL databases. You want to
|
|
184
|
+
consolidate all project contexts into one shared database.
|
|
185
|
+
|
|
186
|
+
**Solution**: Use export/import to merge multiple project contexts:
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
# Step 1: Export from each project's SQLite database
|
|
190
|
+
cd ~/project-a
|
|
191
|
+
npm install sqlew
|
|
192
|
+
node node_modules/sqlew/dist/cli.js db:export --project=project-a --output=/tmp/project-a.json
|
|
193
|
+
|
|
194
|
+
cd ~/project-b
|
|
195
|
+
npm install sqlew
|
|
196
|
+
node node_modules/sqlew/dist/cli.js db:export --project=project-b --output=/tmp/project-b.json
|
|
197
|
+
|
|
198
|
+
cd ~/project-c
|
|
199
|
+
npm install sqlew
|
|
200
|
+
node node_modules/sqlew/dist/cli.js db:export --project=project-c --output=/tmp/project-c.json
|
|
201
|
+
|
|
202
|
+
# Step 2: Create shared database and import all projects
|
|
203
|
+
cd ~/shared-database
|
|
204
|
+
npm install sqlew
|
|
205
|
+
|
|
206
|
+
# Configure to use single MySQL database (edit .sqlew/config.toml)
|
|
207
|
+
# [database]
|
|
208
|
+
# type = "mysql"
|
|
209
|
+
# host = "localhost"
|
|
210
|
+
# port = 3306
|
|
211
|
+
# user = "myuser"
|
|
212
|
+
# password = "mypassword"
|
|
213
|
+
# database = "shared_sqlew_db"
|
|
214
|
+
|
|
215
|
+
node node_modules/sqlew/dist/cli.js db:import --source=/tmp/project-a.json
|
|
216
|
+
node node_modules/sqlew/dist/cli.js db:import --source=/tmp/project-b.json
|
|
217
|
+
node node_modules/sqlew/dist/cli.js db:import --source=/tmp/project-c.json
|
|
218
|
+
|
|
219
|
+
# Step 3: Configure each project to use shared database
|
|
220
|
+
# In each project's .mcp.json:
|
|
221
|
+
# {
|
|
222
|
+
# "mcpServers": {
|
|
223
|
+
# "sqlew": {
|
|
224
|
+
# "command": "npx",
|
|
225
|
+
# "args": ["sqlew", "--config-path=/path/to/shared-database/.sqlew/config.toml"]
|
|
226
|
+
# }
|
|
227
|
+
# }
|
|
228
|
+
# }
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
**Benefits**:
|
|
232
|
+
|
|
233
|
+
- ✅ Single database for multiple projects (saves database quota)
|
|
234
|
+
- ✅ Cross-project context visibility (search decisions across all projects)
|
|
235
|
+
- ✅ Centralized backup and maintenance
|
|
236
|
+
- ✅ Works with permission-constrained MySQL/PostgreSQL environments
|
|
237
|
+
|
|
238
|
+
**Trade-offs**:
|
|
239
|
+
|
|
240
|
+
- ⚠️ All projects share same database connection pool
|
|
241
|
+
- ⚠️ Requires manual config path in each project's .mcp.json
|
|
242
|
+
- ⚠️ Project isolation maintained via project_id, not separate databases
|
|
243
|
+
|
|
244
|
+
### Database Migration (Cross-Machine or Cross-Database)
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
# Export from source database
|
|
248
|
+
node node_modules/sqlew/dist/cli.js db:export --project=main --output=main-export.json
|
|
249
|
+
|
|
250
|
+
# Import to different database (different machine or different database type)
|
|
251
|
+
# This works because the project doesn't exist in the target database yet
|
|
252
|
+
node node_modules/sqlew/dist/cli.js db:import --source=main-export.json --db-path=/path/to/new/database.db
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Note**: Import skips if project name exists.
|
|
256
|
+
|
|
257
|
+
**For backup/restore, use `db:dump` instead**:
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
# Backup with SQL dump (preserves schema + data)
|
|
261
|
+
node node_modules/sqlew/dist/cli.js db:dump --format=sqlite --output=backup-$(date +%Y%m%d).sql
|
|
262
|
+
|
|
263
|
+
# Or simple SQLite file copy
|
|
264
|
+
cp .sqlew/sqlew.db .sqlew/backup-$(date +%Y%m%d).db
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
See `node node_modules/sqlew/dist/cli.js db:dump --help` for full backup options.
|
|
268
|
+
|
|
269
|
+
### Project Sharing
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
# Developer A: Export project
|
|
273
|
+
node node_modules/sqlew/dist/cli.js db:export --project=feature-x --output=feature-x.json
|
|
274
|
+
|
|
275
|
+
# Developer B: Import project
|
|
276
|
+
node node_modules/sqlew/dist/cli.js db:import --source=feature-x.json
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Multi-Project Consolidation
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
# Export from different databases
|
|
283
|
+
node node_modules/sqlew/dist/cli.js db:export --project=visualizer --output=vis.json
|
|
284
|
+
node node_modules/sqlew/dist/cli.js db:export --project=api --output=api.json
|
|
285
|
+
|
|
286
|
+
# Import to single database
|
|
287
|
+
node node_modules/sqlew/dist/cli.js db:import --source=vis.json
|
|
288
|
+
node node_modules/sqlew/dist/cli.js db:import --source=api.json
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### Cross-Database Migration
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
# Export from SQLite
|
|
295
|
+
node node_modules/sqlew/dist/cli.js db:export --output=data.json --db-path=.sqlew/sqlew.db
|
|
296
|
+
|
|
297
|
+
# Import to MySQL
|
|
298
|
+
node node_modules/sqlew/dist/cli.js db:import --source=data.json --db-path=mysql://localhost/sqlew
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
## Error Handling
|
|
302
|
+
|
|
303
|
+
### Common Errors
|
|
304
|
+
|
|
305
|
+
**Project Already Exists**:
|
|
306
|
+
|
|
307
|
+
```
|
|
308
|
+
Error: Project "my-project" already exists in target database
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
Solution: Use `--project-name` to specify different name, or remove existing project
|
|
312
|
+
|
|
313
|
+
**Circular Dependencies**:
|
|
314
|
+
|
|
315
|
+
```
|
|
316
|
+
Error: Circular dependency detected in task dependencies
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
Solution: Fix dependency graph in source database before exporting
|
|
320
|
+
|
|
321
|
+
**Invalid Foreign Keys**:
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
Error: Foreign key constraint violation for task_id=123
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
Solution: Ensure all referenced entities exist in export
|
|
328
|
+
|
|
329
|
+
### Dry-Run Validation
|
|
330
|
+
|
|
331
|
+
Always test imports with `--dry-run` first:
|
|
332
|
+
|
|
333
|
+
```bash
|
|
334
|
+
node node_modules/sqlew/dist/cli.js db:import --source=data.json --dry-run
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
This validates:
|
|
338
|
+
|
|
339
|
+
- JSON format and structure
|
|
340
|
+
- Project name conflicts
|
|
341
|
+
- Task dependency cycles
|
|
342
|
+
- Foreign key references
|
|
343
|
+
- Data type correctness
|
|
344
|
+
|
|
345
|
+
## Technical Details
|
|
346
|
+
|
|
347
|
+
### Performance
|
|
348
|
+
|
|
349
|
+
- **Batch Inserts**: 10-row batches to avoid SQLite limits
|
|
350
|
+
- **Transaction Scope**: Single transaction for atomicity
|
|
351
|
+
- **Memory Efficient**: Streams large datasets
|
|
352
|
+
|
|
353
|
+
### Limitations
|
|
354
|
+
|
|
355
|
+
- **Max JSON Size**: Limited by available memory
|
|
356
|
+
- **SQLite Batch Limit**: 500 UNION ALL clauses (handled automatically)
|
|
357
|
+
- **Cross-Database**: JSON format only (no SQL dump)
|
|
358
|
+
|
|
359
|
+
### Data Integrity
|
|
360
|
+
|
|
361
|
+
- **Foreign Key Validation**: All references validated before insertion
|
|
362
|
+
- **Orphan Cleanup**: Invalid references automatically filtered
|
|
363
|
+
- **View Restoration**: Views temporarily dropped and restored during import
|
|
364
|
+
- **Idempotent Operations**: Safe to retry on network/disk failures
|
|
365
|
+
|
|
366
|
+
## Comparison with db:dump
|
|
367
|
+
|
|
368
|
+
| Feature | db:export (JSON) | db:dump (SQL) |
|
|
369
|
+
|--------------------|--------------------------|------------------------------------------|
|
|
370
|
+
| Format | JSON data only | SQL DDL + data |
|
|
371
|
+
| Schema | Not included | Full schema included |
|
|
372
|
+
| Use Case | Project migration | **Backup/restore, database replication** |
|
|
373
|
+
| Cross-DB | ✅ Yes | ❌ No (dialect-specific) |
|
|
374
|
+
| Size | Smaller (~40% reduction) | Larger (includes schema) |
|
|
375
|
+
| Import Speed | Slower (ID remapping) | Faster (direct SQL execution) |
|
|
376
|
+
| Conflict Handling | Smart deduplication | Overwrite or fail |
|
|
377
|
+
| Restore Capability | ❌ Skips if exists | ✅ Full restore |
|
|
378
|
+
|
|
379
|
+
**When to use db:export (JSON)**:
|
|
380
|
+
|
|
381
|
+
- Migrating projects between different sqlew databases
|
|
382
|
+
- Sharing specific projects with team members
|
|
383
|
+
- Merging multiple projects into one database
|
|
384
|
+
- Cross-database migration (SQLite → MySQL → PostgreSQL)
|
|
385
|
+
|
|
386
|
+
**When to use db:dump (SQL)** - **RECOMMENDED FOR BACKUP**:
|
|
387
|
+
|
|
388
|
+
- **Full database backup with schema** ✅
|
|
389
|
+
- **Database restore/recovery** ✅
|
|
390
|
+
- Database replication
|
|
391
|
+
- Development → Production deployment
|
|
392
|
+
- Same database type migration
|
|
393
|
+
|
|
394
|
+
See [Database Migration Guide](DATABASE_MIGRATION.md) for complete `db:dump` documentation.
|
|
395
|
+
|
|
396
|
+
## See Also
|
|
397
|
+
|
|
398
|
+
- [Database Migration](DATABASE_MIGRATION.md) - SQLite → MySQL/PostgreSQL migration
|
|
399
|
+
- [CHANGELOG.md](../../CHANGELOG.md#374) - v3.7.4 release notes
|
|
400
|
+
- [Architecture](../ARCHITECTURE.md) - Technical architecture overview
|