sqlew 3.9.0 → 4.0.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 +20 -0
- package/README.md +20 -3
- package/assets/sample-agents/sqlew-architect.md +3 -4
- package/assets/sample-agents/sqlew-researcher.md +6 -15
- package/assets/sample-agents/sqlew-scrum-master.md +58 -50
- package/assets/sample-commands/sqw-documentor.md +62 -16
- package/assets/sample-commands/sqw-plan.md +82 -35
- package/assets/sample-commands/sqw-research.md +78 -17
- package/assets/sample-commands/sqw-review.md +66 -29
- package/assets/sample-commands/sqw-scrum.md +37 -3
- package/dist/adapters/mysql-adapter.js +3 -3
- package/dist/adapters/postgresql-adapter.js +3 -3
- package/dist/cli/db-dump.js +73 -73
- package/dist/cli/db-export.js +50 -50
- package/dist/cli/db-import.js +51 -51
- package/dist/cli.js +52 -52
- package/dist/config/minimal-generator.js +91 -91
- package/dist/database/config/config-ops.d.ts +19 -11
- package/dist/database/config/config-ops.d.ts.map +1 -1
- package/dist/database/config/config-ops.js +62 -36
- package/dist/database/config/config-ops.js.map +1 -1
- package/dist/database/index.d.ts +3 -1
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js +4 -2
- package/dist/database/index.js.map +1 -1
- package/dist/database/initialization/init.d.ts.map +1 -1
- package/dist/database/initialization/init.js +31 -0
- package/dist/database/initialization/init.js.map +1 -1
- package/dist/database/initialization/schema-version.d.ts +94 -0
- package/dist/database/initialization/schema-version.d.ts.map +1 -0
- package/dist/database/initialization/schema-version.js +166 -0
- package/dist/database/initialization/schema-version.js.map +1 -0
- package/dist/database/migrations/v4/20251126000000_v4_bootstrap.d.ts +36 -0
- package/dist/database/migrations/v4/20251126000000_v4_bootstrap.d.ts.map +1 -0
- package/dist/database/migrations/v4/20251126000000_v4_bootstrap.js +597 -0
- package/dist/database/migrations/v4/20251126000000_v4_bootstrap.js.map +1 -0
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.d.ts +26 -0
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.d.ts.map +1 -0
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.js +390 -0
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.js.map +1 -0
- package/dist/database/migrations/v4/20251127000000_add_rejected_status.d.ts +17 -0
- package/dist/database/migrations/v4/20251127000000_add_rejected_status.d.ts.map +1 -0
- package/dist/database/migrations/v4/20251127000000_add_rejected_status.js +50 -0
- package/dist/database/migrations/v4/20251127000000_add_rejected_status.js.map +1 -0
- package/dist/database/migrations/v4/20251127000001_update_task_move_help.d.ts +13 -0
- package/dist/database/migrations/v4/20251127000001_update_task_move_help.d.ts.map +1 -0
- package/dist/database/migrations/v4/20251127000001_update_task_move_help.js +76 -0
- package/dist/database/migrations/v4/20251127000001_update_task_move_help.js.map +1 -0
- package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.d.ts +17 -0
- package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.d.ts.map +1 -0
- package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.js +334 -0
- package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.js.map +1 -0
- package/dist/database/migrations/v4/20251127000003_add_task_notes_column.d.ts +11 -0
- package/dist/database/migrations/v4/20251127000003_add_task_notes_column.d.ts.map +1 -0
- package/dist/database/migrations/v4/20251127000003_add_task_notes_column.js +33 -0
- package/dist/database/migrations/v4/20251127000003_add_task_notes_column.js.map +1 -0
- package/dist/database/operations/inserts.d.ts +12 -7
- package/dist/database/operations/inserts.d.ts.map +1 -1
- package/dist/database/operations/inserts.js +30 -60
- package/dist/database/operations/inserts.js.map +1 -1
- package/dist/database/operations/queries.d.ts.map +1 -1
- package/dist/database/operations/queries.js +19 -21
- package/dist/database/operations/queries.js.map +1 -1
- package/dist/database/operations/updates.d.ts +2 -1
- package/dist/database/operations/updates.d.ts.map +1 -1
- package/dist/database/operations/updates.js +3 -6
- package/dist/database/operations/updates.js.map +1 -1
- package/dist/init-agents.js +27 -27
- package/dist/init-commands.js +25 -25
- package/dist/knexfile.d.ts.map +1 -1
- package/dist/knexfile.js +5 -25
- package/dist/knexfile.js.map +1 -1
- package/dist/schema.d.ts +7 -3
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +43 -50
- package/dist/schema.js.map +1 -1
- package/dist/server/arg-parser.js +18 -18
- package/dist/server/tool-registry.d.ts.map +1 -1
- package/dist/server/tool-registry.js +18 -1
- package/dist/server/tool-registry.js.map +1 -1
- package/dist/sync-gitignore.d.ts +13 -0
- package/dist/sync-gitignore.d.ts.map +1 -0
- package/dist/sync-gitignore.js +60 -0
- package/dist/sync-gitignore.js.map +1 -0
- package/dist/tests/database/multi-project/multi-project.test.js +13 -13
- package/dist/tests/database/multi-project/multi-project.test.js.map +1 -1
- package/dist/tests/database/sql-dump/default-conversions.test.js +4 -4
- package/dist/tests/database/sql-dump/default-conversions.test.js.map +1 -1
- package/dist/tests/database/sql-dump/table-ordering.test.js +14 -14
- package/dist/tests/database/sql-dump/table-ordering.test.js.map +1 -1
- package/dist/tests/docker/cross-database.test.js +12 -18
- package/dist/tests/docker/cross-database.test.js.map +1 -1
- package/dist/tests/docker/dump-import.test.js +15 -15
- package/dist/tests/docker/dump-import.test.js.map +1 -1
- package/dist/tests/docker/multi-project-migration.test.js +44 -61
- package/dist/tests/docker/multi-project-migration.test.js.map +1 -1
- package/dist/tests/docker/native/constraint-operations.test.d.ts +1 -1
- package/dist/tests/docker/native/constraint-operations.test.js +65 -114
- package/dist/tests/docker/native/constraint-operations.test.js.map +1 -1
- package/dist/tests/docker/native/db-init.d.ts +1 -1
- package/dist/tests/docker/native/db-init.js +3 -3
- package/dist/tests/docker/native/db-init.js.map +1 -1
- package/dist/tests/docker/native/decision-operations.test.js +93 -148
- package/dist/tests/docker/native/decision-operations.test.js.map +1 -1
- package/dist/tests/docker/native/help-system.test.js +60 -60
- package/dist/tests/docker/native/help-system.test.js.map +1 -1
- package/dist/tests/docker/native/suggest-tool.test.js +25 -33
- package/dist/tests/docker/native/suggest-tool.test.js.map +1 -1
- package/dist/tests/docker/native/task-operations.test.js +114 -140
- package/dist/tests/docker/native/task-operations.test.js.map +1 -1
- package/dist/tests/docker/native/test-harness.d.ts +0 -9
- package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
- package/dist/tests/docker/native/test-harness.js +42 -69
- package/dist/tests/docker/native/test-harness.js.map +1 -1
- package/dist/tests/feature/task/auto-pruning-decision-link.test.js +6 -9
- package/dist/tests/feature/task/auto-pruning-decision-link.test.js.map +1 -1
- package/dist/tests/feature/task/auto-pruning-partial.test.js +17 -19
- package/dist/tests/feature/task/auto-pruning-partial.test.js.map +1 -1
- package/dist/tests/feature/task/auto-pruning-persistence.test.js +11 -14
- package/dist/tests/feature/task/auto-pruning-persistence.test.js.map +1 -1
- package/dist/tests/feature/task/auto-pruning-safety.test.js +23 -42
- package/dist/tests/feature/task/auto-pruning-safety.test.js.map +1 -1
- package/dist/tests/feature/task/dependencies.test.js +30 -34
- package/dist/tests/feature/task/dependencies.test.js.map +1 -1
- package/dist/tests/feature/task/link-file-backward-compat.test.js +19 -21
- package/dist/tests/feature/task/link-file-backward-compat.test.js.map +1 -1
- package/dist/tests/feature/task/watch-files-action.test.js +10 -12
- package/dist/tests/feature/task/watch-files-action.test.js.map +1 -1
- package/dist/tests/feature/task/watch-files-parameter.test.js +25 -27
- package/dist/tests/feature/task/watch-files-parameter.test.js.map +1 -1
- package/dist/tests/feature/vcs/git-aware-completion.test.js +32 -42
- package/dist/tests/feature/vcs/git-aware-completion.test.js.map +1 -1
- package/dist/tests/feature/vcs/two-step-git-completion.test.js +83 -104
- package/dist/tests/feature/vcs/two-step-git-completion.test.js.map +1 -1
- package/dist/tests/integration/all-features.standalone.js +4 -6
- package/dist/tests/integration/all-features.standalone.js.map +1 -1
- package/dist/tests/integration/auto-trigger-suggestions.test.js +26 -68
- package/dist/tests/integration/auto-trigger-suggestions.test.js.map +1 -1
- package/dist/tests/integration/decision-intelligence-e2e.test.js +32 -71
- package/dist/tests/integration/decision-intelligence-e2e.test.js.map +1 -1
- package/dist/tests/integration/e2e-workflow1-debug.test.js +3 -17
- package/dist/tests/integration/e2e-workflow1-debug.test.js.map +1 -1
- package/dist/tests/integration/hybrid-similarity-detection.test.js +45 -55
- package/dist/tests/integration/hybrid-similarity-detection.test.js.map +1 -1
- package/dist/tests/migrations/test-all-versions.d.ts +1 -1
- package/dist/tests/migrations/test-all-versions.js +11 -9
- package/dist/tests/migrations/test-all-versions.js.map +1 -1
- package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts +7 -0
- package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts.map +1 -0
- package/dist/tests/migrations/v4/v4-fresh-install.test.js +168 -0
- package/dist/tests/migrations/v4/v4-fresh-install.test.js.map +1 -0
- package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts +13 -0
- package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts.map +1 -0
- package/dist/tests/migrations/v4/v4-migrate-data.test.js +264 -0
- package/dist/tests/migrations/v4/v4-migrate-data.test.js.map +1 -0
- package/dist/tests/test-v4-native-rdbms.d.ts +10 -0
- package/dist/tests/test-v4-native-rdbms.d.ts.map +1 -0
- package/dist/tests/test-v4-native-rdbms.js +235 -0
- package/dist/tests/test-v4-native-rdbms.js.map +1 -0
- package/dist/tests/unit/constraint-scorer.test.d.ts +13 -0
- package/dist/tests/unit/constraint-scorer.test.d.ts.map +1 -0
- package/dist/tests/unit/constraint-scorer.test.js +390 -0
- package/dist/tests/unit/constraint-scorer.test.js.map +1 -0
- package/dist/tests/unit/validation/policy-validation.test.js +15 -15
- package/dist/tests/unit/validation/policy-validation.test.js.map +1 -1
- package/dist/tests/utils/db-config.d.ts.map +1 -1
- package/dist/tests/utils/db-config.js +2 -3
- package/dist/tests/utils/db-config.js.map +1 -1
- package/dist/tests/utils/db-seeding.d.ts.map +1 -1
- package/dist/tests/utils/db-seeding.js +17 -20
- package/dist/tests/utils/db-seeding.js.map +1 -1
- package/dist/tests/utils/task-helpers.d.ts +9 -9
- package/dist/tests/utils/task-helpers.d.ts.map +1 -1
- package/dist/tests/utils/task-helpers.js +26 -43
- package/dist/tests/utils/task-helpers.js.map +1 -1
- package/dist/tests/utils/test-helpers.d.ts +13 -8
- package/dist/tests/utils/test-helpers.d.ts.map +1 -1
- package/dist/tests/utils/test-helpers.js +55 -69
- package/dist/tests/utils/test-helpers.js.map +1 -1
- package/dist/tools/constraints/actions/add.d.ts.map +1 -1
- package/dist/tools/constraints/actions/add.js +8 -23
- package/dist/tools/constraints/actions/add.js.map +1 -1
- package/dist/tools/constraints/actions/deactivate.js +2 -2
- package/dist/tools/constraints/actions/deactivate.js.map +1 -1
- package/dist/tools/constraints/actions/get.d.ts +2 -2
- package/dist/tools/constraints/actions/get.js +2 -2
- package/dist/tools/context/actions/create-policy.d.ts.map +1 -1
- package/dist/tools/context/actions/create-policy.js +3 -20
- package/dist/tools/context/actions/create-policy.js.map +1 -1
- package/dist/tools/context/actions/create-template.d.ts.map +1 -1
- package/dist/tools/context/actions/create-template.js +5 -9
- package/dist/tools/context/actions/create-template.js.map +1 -1
- package/dist/tools/context/actions/hard-delete.js +12 -12
- package/dist/tools/context/actions/hard-delete.js.map +1 -1
- package/dist/tools/context/actions/has-updates.js +3 -3
- package/dist/tools/context/actions/has-updates.js.map +1 -1
- package/dist/tools/context/actions/list-policies.d.ts.map +1 -1
- package/dist/tools/context/actions/list-policies.js +3 -3
- package/dist/tools/context/actions/list-policies.js.map +1 -1
- package/dist/tools/context/actions/list-templates.d.ts.map +1 -1
- package/dist/tools/context/actions/list-templates.js +4 -5
- package/dist/tools/context/actions/list-templates.js.map +1 -1
- package/dist/tools/context/actions/list.js +1 -1
- package/dist/tools/context/actions/list.js.map +1 -1
- package/dist/tools/context/actions/search-layer.d.ts.map +1 -1
- package/dist/tools/context/actions/search-layer.js +11 -12
- package/dist/tools/context/actions/search-layer.js.map +1 -1
- package/dist/tools/context/actions/set-from-policy.js +1 -1
- package/dist/tools/context/actions/set-from-policy.js.map +1 -1
- package/dist/tools/context/actions/set-from-template.js +2 -2
- package/dist/tools/context/actions/set-from-template.js.map +1 -1
- package/dist/tools/context/actions/versions.d.ts.map +1 -1
- package/dist/tools/context/actions/versions.js +6 -7
- package/dist/tools/context/actions/versions.js.map +1 -1
- package/dist/tools/context/internal/queries.d.ts.map +1 -1
- package/dist/tools/context/internal/queries.js +73 -53
- package/dist/tools/context/internal/queries.js.map +1 -1
- package/dist/tools/example/actions/get.js +7 -7
- package/dist/tools/example/actions/get.js.map +1 -1
- package/dist/tools/example/actions/list-all.js +4 -4
- package/dist/tools/example/actions/list-all.js.map +1 -1
- package/dist/tools/example/actions/search.js +8 -8
- package/dist/tools/example/actions/search.js.map +1 -1
- package/dist/tools/example/help/example.js +21 -21
- package/dist/tools/files/actions/check-lock.d.ts.map +1 -1
- package/dist/tools/files/actions/check-lock.js +4 -6
- package/dist/tools/files/actions/check-lock.js.map +1 -1
- package/dist/tools/files/actions/get.d.ts.map +1 -1
- package/dist/tools/files/actions/get.js +6 -8
- package/dist/tools/files/actions/get.js.map +1 -1
- package/dist/tools/files/internal/queries.d.ts.map +1 -1
- package/dist/tools/files/internal/queries.js +5 -14
- package/dist/tools/files/internal/queries.js.map +1 -1
- package/dist/tools/help/actions/batch-guide.js +5 -5
- package/dist/tools/help/actions/batch-guide.js.map +1 -1
- package/dist/tools/help-queries.js +29 -29
- package/dist/tools/help-queries.js.map +1 -1
- package/dist/tools/suggest/actions/by-tags.d.ts +2 -2
- package/dist/tools/suggest/actions/by-tags.js +2 -2
- package/dist/tools/suggest/actions/constraint-by-context.d.ts +66 -0
- package/dist/tools/suggest/actions/constraint-by-context.d.ts.map +1 -0
- package/dist/tools/suggest/actions/constraint-by-context.js +82 -0
- package/dist/tools/suggest/actions/constraint-by-context.js.map +1 -0
- package/dist/tools/suggest/actions/constraint-by-tags.d.ts +48 -0
- package/dist/tools/suggest/actions/constraint-by-tags.d.ts.map +1 -0
- package/dist/tools/suggest/actions/constraint-by-tags.js +68 -0
- package/dist/tools/suggest/actions/constraint-by-tags.js.map +1 -0
- package/dist/tools/suggest/actions/constraint-by-text.d.ts +47 -0
- package/dist/tools/suggest/actions/constraint-by-text.d.ts.map +1 -0
- package/dist/tools/suggest/actions/constraint-by-text.js +65 -0
- package/dist/tools/suggest/actions/constraint-by-text.js.map +1 -0
- package/dist/tools/suggest/actions/constraint-check-duplicate.d.ts +50 -0
- package/dist/tools/suggest/actions/constraint-check-duplicate.d.ts.map +1 -0
- package/dist/tools/suggest/actions/constraint-check-duplicate.js +68 -0
- package/dist/tools/suggest/actions/constraint-check-duplicate.js.map +1 -0
- package/dist/tools/suggest/help/constraint-help.d.ts +12 -0
- package/dist/tools/suggest/help/constraint-help.d.ts.map +1 -0
- package/dist/tools/suggest/help/constraint-help.js +126 -0
- package/dist/tools/suggest/help/constraint-help.js.map +1 -0
- package/dist/tools/suggest/index.d.ts +3 -2
- package/dist/tools/suggest/index.d.ts.map +1 -1
- package/dist/tools/suggest/index.js +67 -4
- package/dist/tools/suggest/index.js.map +1 -1
- package/dist/tools/suggest/internal/constraint-queries.d.ts +55 -0
- package/dist/tools/suggest/internal/constraint-queries.d.ts.map +1 -0
- package/dist/tools/suggest/internal/constraint-queries.js +85 -0
- package/dist/tools/suggest/internal/constraint-queries.js.map +1 -0
- package/dist/tools/suggest/internal/queries.d.ts +4 -4
- package/dist/tools/suggest/internal/queries.d.ts.map +1 -1
- package/dist/tools/suggest/internal/queries.js +44 -37
- package/dist/tools/suggest/internal/queries.js.map +1 -1
- package/dist/tools/suggest/types.d.ts +10 -0
- package/dist/tools/suggest/types.d.ts.map +1 -1
- package/dist/tools/tasks/actions/add-dependency.d.ts.map +1 -1
- package/dist/tools/tasks/actions/add-dependency.js +15 -10
- package/dist/tools/tasks/actions/add-dependency.js.map +1 -1
- package/dist/tools/tasks/actions/archive.d.ts.map +1 -1
- package/dist/tools/tasks/actions/archive.js +2 -11
- package/dist/tools/tasks/actions/archive.js.map +1 -1
- package/dist/tools/tasks/actions/create.d.ts.map +1 -1
- package/dist/tools/tasks/actions/create.js +7 -24
- package/dist/tools/tasks/actions/create.js.map +1 -1
- package/dist/tools/tasks/actions/get-dependencies.js +1 -1
- package/dist/tools/tasks/actions/get-dependencies.js.map +1 -1
- package/dist/tools/tasks/actions/get-pruned-files.js +4 -4
- package/dist/tools/tasks/actions/get-pruned-files.js.map +1 -1
- package/dist/tools/tasks/actions/get.d.ts.map +1 -1
- package/dist/tools/tasks/actions/get.js +15 -16
- package/dist/tools/tasks/actions/get.js.map +1 -1
- package/dist/tools/tasks/actions/link-pruned-file.js +6 -6
- package/dist/tools/tasks/actions/link-pruned-file.js.map +1 -1
- package/dist/tools/tasks/actions/link.js +8 -8
- package/dist/tools/tasks/actions/link.js.map +1 -1
- package/dist/tools/tasks/actions/list.js +2 -2
- package/dist/tools/tasks/actions/list.js.map +1 -1
- package/dist/tools/tasks/actions/move.d.ts +2 -1
- package/dist/tools/tasks/actions/move.d.ts.map +1 -1
- package/dist/tools/tasks/actions/move.js +22 -22
- package/dist/tools/tasks/actions/move.js.map +1 -1
- package/dist/tools/tasks/actions/remove-dependency.js +1 -1
- package/dist/tools/tasks/actions/remove-dependency.js.map +1 -1
- package/dist/tools/tasks/actions/update.d.ts.map +1 -1
- package/dist/tools/tasks/actions/update.js +12 -15
- package/dist/tools/tasks/actions/update.js.map +1 -1
- package/dist/tools/tasks/actions/watch-files.js +8 -8
- package/dist/tools/tasks/actions/watch-files.js.map +1 -1
- package/dist/tools/tasks/help/example.js +4 -4
- package/dist/tools/tasks/help/example.js.map +1 -1
- package/dist/tools/tasks/help/help.d.ts.map +1 -1
- package/dist/tools/tasks/help/help.js +20 -10
- package/dist/tools/tasks/help/help.js.map +1 -1
- package/dist/tools/tasks/internal/state-machine.js +2 -2
- package/dist/tools/tasks/internal/state-machine.js.map +1 -1
- package/dist/tools/tasks/internal/task-queries.d.ts.map +1 -1
- package/dist/tools/tasks/internal/task-queries.js +9 -11
- package/dist/tools/tasks/internal/task-queries.js.map +1 -1
- package/dist/tools/tasks/types.d.ts +13 -1
- package/dist/tools/tasks/types.d.ts.map +1 -1
- package/dist/tools/tasks/types.js +30 -7
- package/dist/tools/tasks/types.js.map +1 -1
- package/dist/tools/tasks/watcher/status.js +8 -8
- package/dist/tools/tasks/watcher/status.js.map +1 -1
- package/dist/tools/use_case/actions/search.js +4 -4
- package/dist/tools/use_case/actions/search.js.map +1 -1
- package/dist/tools/use_case/help/example.js +16 -16
- package/dist/types/task/params.d.ts +2 -1
- package/dist/types/task/params.d.ts.map +1 -1
- package/dist/types.d.ts +10 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/action-specs/task-specs.js +5 -5
- package/dist/utils/action-specs/task-specs.js.map +1 -1
- package/dist/utils/batch-validation.d.ts +1 -1
- package/dist/utils/batch-validation.js +3 -3
- package/dist/utils/batch-validation.js.map +1 -1
- package/dist/utils/cleanup.js +3 -3
- package/dist/utils/cleanup.js.map +1 -1
- package/dist/utils/constraint-scorer.d.ts +113 -0
- package/dist/utils/constraint-scorer.d.ts.map +1 -0
- package/dist/utils/constraint-scorer.js +220 -0
- package/dist/utils/constraint-scorer.js.map +1 -0
- package/dist/utils/db-aggregations.js +10 -10
- package/dist/utils/db-aggregations.js.map +1 -1
- package/dist/utils/exporter/export.js +70 -70
- package/dist/utils/exporter/export.js.map +1 -1
- package/dist/utils/file-pruning.js +16 -16
- package/dist/utils/file-pruning.js.map +1 -1
- package/dist/utils/importer/import.js +33 -33
- package/dist/utils/importer/import.js.map +1 -1
- package/dist/utils/importer/master-tables.js +25 -25
- package/dist/utils/importer/master-tables.js.map +1 -1
- package/dist/utils/importer/topological-sort.d.ts +1 -1
- package/dist/utils/importer/topological-sort.js +1 -1
- package/dist/utils/policy-validator.js +5 -1
- package/dist/utils/policy-validator.js.map +1 -1
- package/dist/utils/project-context.js +3 -3
- package/dist/utils/project-context.js.map +1 -1
- package/dist/utils/quality-checks.js +3 -3
- package/dist/utils/quality-checks.js.map +1 -1
- package/dist/utils/retention.js +1 -1
- package/dist/utils/retention.js.map +1 -1
- package/dist/utils/sql-dump/core/dependency-sort.js +17 -17
- package/dist/utils/sql-dump/core/index-export.js +7 -7
- package/dist/utils/sql-dump/core/sequence-reset.js +5 -5
- package/dist/utils/sql-dump/generators/headers.js +10 -10
- package/dist/utils/sql-dump/schema/indexes.js +15 -15
- package/dist/utils/sql-dump/schema/primary-keys.js +14 -14
- package/dist/utils/sql-dump/schema/tables.js +44 -44
- package/dist/utils/sql-dump/schema/views.js +21 -21
- package/dist/utils/suggestion-scorer.d.ts.map +1 -1
- package/dist/utils/suggestion-scorer.js +9 -0
- package/dist/utils/suggestion-scorer.js.map +1 -1
- package/dist/utils/task-stale-detection.d.ts.map +1 -1
- package/dist/utils/task-stale-detection.js +20 -19
- package/dist/utils/task-stale-detection.js.map +1 -1
- package/dist/utils/token-logging.js +6 -6
- package/dist/utils/token-logging.js.map +1 -1
- package/dist/utils/validators.d.ts +4 -4
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +10 -4
- package/dist/utils/validators.js.map +1 -1
- package/dist/utils/view-queries.d.ts +3 -3
- package/dist/utils/view-queries.d.ts.map +1 -1
- package/dist/utils/view-queries.js +41 -66
- package/dist/utils/view-queries.js.map +1 -1
- package/dist/watcher/file-watcher.js +20 -20
- package/dist/watcher/file-watcher.js.map +1 -1
- package/docs/AI_AGENT_GUIDE.md +81 -1376
- package/docs/ARCHITECTURE.md +127 -608
- package/docs/AUTO_FILE_TRACKING.md +22 -20
- package/docs/BATCH_VALIDATION.md +3 -3
- package/docs/CONFIGURATION.md +69 -68
- package/docs/CONSTRAINT_INTELLIGENCE.md +339 -0
- package/docs/DATABASE_AUTH.md +1 -1
- package/docs/DECISION_CONTEXT.md +12 -0
- package/docs/DECISION_INTELLIGENCE.md +19 -8
- package/docs/GIT_AWARE_AUTO_COMPLETE.md +21 -20
- package/docs/SHARED_CONCEPTS.md +46 -16
- package/docs/SLASH_COMMANDS.md +88 -117
- package/docs/SPECIALIZED_AGENTS.md +45 -572
- package/docs/TASK_ACTIONS.md +63 -53
- package/docs/TASK_OVERVIEW.md +49 -61
- package/docs/TASK_PRUNING.md +32 -27
- package/docs/TOOL_REFERENCE.md +119 -76
- package/docs/TOOL_SELECTION.md +15 -18
- package/docs/WORKFLOWS.md +504 -350
- package/package.json +119 -119
- package/assets/sample-commands/sqw-secretary.md +0 -187
- package/dist/config/knex/bootstrap/20251025020452_create_master_tables.d.ts +0 -4
- package/dist/config/knex/bootstrap/20251025020452_create_master_tables.d.ts.map +0 -1
- package/dist/config/knex/bootstrap/20251025020452_create_master_tables.js +0 -97
- package/dist/config/knex/bootstrap/20251025020452_create_master_tables.js.map +0 -1
- package/dist/config/knex/bootstrap/20251025021152_create_transaction_tables.d.ts +0 -4
- package/dist/config/knex/bootstrap/20251025021152_create_transaction_tables.d.ts.map +0 -1
- package/dist/config/knex/bootstrap/20251025021152_create_transaction_tables.js +0 -270
- package/dist/config/knex/bootstrap/20251025021152_create_transaction_tables.js.map +0 -1
- package/dist/config/knex/bootstrap/20251025021351_create_indexes.d.ts +0 -4
- package/dist/config/knex/bootstrap/20251025021351_create_indexes.d.ts.map +0 -1
- package/dist/config/knex/bootstrap/20251025021351_create_indexes.js +0 -93
- package/dist/config/knex/bootstrap/20251025021351_create_indexes.js.map +0 -1
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.d.ts +0 -4
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.d.ts.map +0 -1
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.js +0 -146
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.js.map +0 -1
- package/dist/config/knex/bootstrap/20251025021416_seed_master_data.d.ts +0 -4
- package/dist/config/knex/bootstrap/20251025021416_seed_master_data.d.ts.map +0 -1
- package/dist/config/knex/bootstrap/20251025021416_seed_master_data.js +0 -182
- package/dist/config/knex/bootstrap/20251025021416_seed_master_data.js.map +0 -1
- package/dist/config/knex/bootstrap/20251025070349_create_views.d.ts +0 -4
- package/dist/config/knex/bootstrap/20251025070349_create_views.d.ts.map +0 -1
- package/dist/config/knex/bootstrap/20251025070349_create_views.js +0 -247
- package/dist/config/knex/bootstrap/20251025070349_create_views.js.map +0 -1
- package/dist/config/knex/enhancements/20251025081221_add_link_type_to_task_decision_links.d.ts +0 -4
- package/dist/config/knex/enhancements/20251025081221_add_link_type_to_task_decision_links.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251025081221_add_link_type_to_task_decision_links.js +0 -22
- package/dist/config/knex/enhancements/20251025081221_add_link_type_to_task_decision_links.js.map +0 -1
- package/dist/config/knex/enhancements/20251025082220_fix_task_dependencies_columns.d.ts +0 -8
- package/dist/config/knex/enhancements/20251025082220_fix_task_dependencies_columns.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251025082220_fix_task_dependencies_columns.js +0 -12
- package/dist/config/knex/enhancements/20251025082220_fix_task_dependencies_columns.js.map +0 -1
- package/dist/config/knex/enhancements/20251025090000_create_help_system_tables.d.ts +0 -19
- package/dist/config/knex/enhancements/20251025090000_create_help_system_tables.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251025090000_create_help_system_tables.js +0 -121
- package/dist/config/knex/enhancements/20251025090000_create_help_system_tables.js.map +0 -1
- package/dist/config/knex/enhancements/20251025090100_seed_help_categories_and_use_cases.d.ts +0 -13
- package/dist/config/knex/enhancements/20251025090100_seed_help_categories_and_use_cases.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251025090100_seed_help_categories_and_use_cases.js +0 -383
- package/dist/config/knex/enhancements/20251025090100_seed_help_categories_and_use_cases.js.map +0 -1
- package/dist/config/knex/enhancements/20251025100000_seed_help_metadata.d.ts +0 -15
- package/dist/config/knex/enhancements/20251025100000_seed_help_metadata.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251025100000_seed_help_metadata.js +0 -259
- package/dist/config/knex/enhancements/20251025100000_seed_help_metadata.js.map +0 -1
- package/dist/config/knex/enhancements/20251025100100_seed_remaining_use_cases.d.ts +0 -16
- package/dist/config/knex/enhancements/20251025100100_seed_remaining_use_cases.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251025100100_seed_remaining_use_cases.js +0 -276
- package/dist/config/knex/enhancements/20251025100100_seed_remaining_use_cases.js.map +0 -1
- package/dist/config/knex/enhancements/20251025120000_add_cascade_to_task_dependencies.d.ts +0 -8
- package/dist/config/knex/enhancements/20251025120000_add_cascade_to_task_dependencies.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251025120000_add_cascade_to_task_dependencies.js +0 -71
- package/dist/config/knex/enhancements/20251025120000_add_cascade_to_task_dependencies.js.map +0 -1
- package/dist/config/knex/enhancements/20251027000000_add_agent_reuse_system.d.ts +0 -14
- package/dist/config/knex/enhancements/20251027000000_add_agent_reuse_system.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251027000000_add_agent_reuse_system.js +0 -62
- package/dist/config/knex/enhancements/20251027000000_add_agent_reuse_system.js.map +0 -1
- package/dist/config/knex/enhancements/20251027010000_add_task_constraint_to_decision_context.d.ts +0 -4
- package/dist/config/knex/enhancements/20251027010000_add_task_constraint_to_decision_context.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251027010000_add_task_constraint_to_decision_context.js +0 -24
- package/dist/config/knex/enhancements/20251027010000_add_task_constraint_to_decision_context.js.map +0 -1
- package/dist/config/knex/enhancements/20251027020000_update_agent_reusability.d.ts +0 -16
- package/dist/config/knex/enhancements/20251027020000_update_agent_reusability.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251027020000_update_agent_reusability.js +0 -33
- package/dist/config/knex/enhancements/20251027020000_update_agent_reusability.js.map +0 -1
- package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.d.ts +0 -23
- package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.js +0 -58
- package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.js.map +0 -1
- package/dist/config/knex/enhancements/20251031000000_drop_orphaned_message_view.d.ts +0 -13
- package/dist/config/knex/enhancements/20251031000000_drop_orphaned_message_view.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251031000000_drop_orphaned_message_view.js +0 -48
- package/dist/config/knex/enhancements/20251031000000_drop_orphaned_message_view.js.map +0 -1
- package/dist/config/knex/enhancements/20251104000003_rename_constraints_created_by_to_agent_id.d.ts +0 -24
- package/dist/config/knex/enhancements/20251104000003_rename_constraints_created_by_to_agent_id.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251104000003_rename_constraints_created_by_to_agent_id.js +0 -189
- package/dist/config/knex/enhancements/20251104000003_rename_constraints_created_by_to_agent_id.js.map +0 -1
- package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.d.ts +0 -16
- package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.js +0 -72
- package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.js.map +0 -1
- package/dist/config/knex/enhancements/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts +0 -23
- package/dist/config/knex/enhancements/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251105000001_rename_decision_context_decided_by_to_agent_id.js +0 -118
- package/dist/config/knex/enhancements/20251105000001_rename_decision_context_decided_by_to_agent_id.js.map +0 -1
- package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts +0 -29
- package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.js +0 -556
- package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.js.map +0 -1
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.d.ts +0 -21
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.js +0 -73
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts +0 -19
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js +0 -88
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts +0 -24
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.js +0 -79
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.js.map +0 -1
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.d.ts +0 -27
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.js +0 -347
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.d.ts +0 -30
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.js +0 -232
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts +0 -22
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.js +0 -106
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts +0 -21
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.js +0 -106
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts +0 -21
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.js +0 -91
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.js.map +0 -1
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts +0 -15
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js +0 -270
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts +0 -15
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.js +0 -241
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.d.ts +0 -16
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.js +0 -168
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.d.ts +0 -14
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.js +0 -228
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.d.ts +0 -14
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.js +0 -237
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts +0 -14
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.js +0 -61
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.d.ts +0 -21
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.js +0 -127
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.js.map +0 -1
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.d.ts +0 -15
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.js +0 -69
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts +0 -15
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.js +0 -132
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts +0 -18
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.js +0 -47
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.d.ts +0 -20
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.js +0 -119
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.js.map +0 -1
- package/dist/config/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.d.ts +0 -13
- package/dist/config/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.js +0 -70
- package/dist/config/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.js.map +0 -1
- package/dist/config/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.d.ts +0 -11
- package/dist/config/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.js +0 -36
- package/dist/config/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.js.map +0 -1
- package/dist/config/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.d.ts +0 -14
- package/dist/config/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.js +0 -84
- package/dist/config/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.js.map +0 -1
- package/dist/config/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.d.ts +0 -9
- package/dist/config/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.js +0 -37
- package/dist/config/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.js.map +0 -1
- package/dist/config/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts +0 -9
- package/dist/config/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.js +0 -41
- package/dist/config/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.js.map +0 -1
- package/dist/config/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.d.ts +0 -9
- package/dist/config/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.js +0 -36
- package/dist/config/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.js.map +0 -1
- package/dist/config/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.d.ts +0 -10
- package/dist/config/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.js +0 -28
- package/dist/config/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.js.map +0 -1
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.d.ts +0 -49
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.js +0 -974
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.js.map +0 -1
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts +0 -14
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.js +0 -97
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.js.map +0 -1
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts +0 -24
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.js +0 -303
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.js.map +0 -1
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts +0 -19
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.js +0 -196
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.js.map +0 -1
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.d.ts +0 -22
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.js +0 -375
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.d.ts +0 -16
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.d.ts.map +0 -1
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.js +0 -84
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.js.map +0 -1
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.d.ts +0 -14
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.d.ts.map +0 -1
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.js +0 -42
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.js.map +0 -1
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.d.ts +0 -17
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.d.ts.map +0 -1
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.js +0 -122
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.js.map +0 -1
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.d.ts +0 -12
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.d.ts.map +0 -1
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.js +0 -49
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.js.map +0 -1
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts +0 -12
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts.map +0 -1
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.js +0 -53
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.js.map +0 -1
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.d.ts +0 -12
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.d.ts.map +0 -1
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.js +0 -44
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.js.map +0 -1
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.d.ts +0 -13
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.d.ts.map +0 -1
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.js +0 -33
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.js.map +0 -1
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.d.ts +0 -17
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.d.ts.map +0 -1
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.js +0 -119
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.js.map +0 -1
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.d.ts +0 -15
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.d.ts.map +0 -1
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.js +0 -282
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.js.map +0 -1
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.d.ts +0 -21
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.d.ts.map +0 -1
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.js +0 -83
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.js.map +0 -1
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.d.ts +0 -22
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.d.ts.map +0 -1
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.js +0 -94
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.js.map +0 -1
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.d.ts +0 -19
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.d.ts.map +0 -1
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.js +0 -120
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.js.map +0 -1
- package/dist/database/migrations/20251025070349_create_views_wrapper.d.ts +0 -14
- package/dist/database/migrations/20251025070349_create_views_wrapper.d.ts.map +0 -1
- package/dist/database/migrations/20251025070349_create_views_wrapper.js +0 -160
- package/dist/database/migrations/20251025070349_create_views_wrapper.js.map +0 -1
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.d.ts +0 -9
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.d.ts.map +0 -1
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.js +0 -21
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.js.map +0 -1
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.d.ts +0 -13
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.d.ts.map +0 -1
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.js +0 -17
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.js.map +0 -1
- package/dist/database/migrations/20251025090000_create_help_system_tables.d.ts +0 -27
- package/dist/database/migrations/20251025090000_create_help_system_tables.d.ts.map +0 -1
- package/dist/database/migrations/20251025090000_create_help_system_tables.js +0 -120
- package/dist/database/migrations/20251025090000_create_help_system_tables.js.map +0 -1
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.d.ts +0 -18
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.d.ts.map +0 -1
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.js +0 -388
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.js.map +0 -1
- package/dist/database/migrations/20251025100000_seed_help_metadata.d.ts +0 -20
- package/dist/database/migrations/20251025100000_seed_help_metadata.d.ts.map +0 -1
- package/dist/database/migrations/20251025100000_seed_help_metadata.js +0 -264
- package/dist/database/migrations/20251025100000_seed_help_metadata.js.map +0 -1
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.d.ts +0 -21
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.d.ts.map +0 -1
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.js +0 -281
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.js.map +0 -1
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.d.ts +0 -13
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.d.ts.map +0 -1
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.js +0 -76
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.js.map +0 -1
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.d.ts +0 -17
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.d.ts.map +0 -1
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.js +0 -42
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.js.map +0 -1
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.d.ts +0 -10
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.d.ts.map +0 -1
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.js +0 -28
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.js.map +0 -1
- package/dist/database/migrations/20251027020000_update_agent_reusability.d.ts +0 -21
- package/dist/database/migrations/20251027020000_update_agent_reusability.d.ts.map +0 -1
- package/dist/database/migrations/20251027020000_update_agent_reusability.js +0 -38
- package/dist/database/migrations/20251027020000_update_agent_reusability.js.map +0 -1
- package/dist/database/migrations/20251028000000_simplify_agent_system.d.ts +0 -26
- package/dist/database/migrations/20251028000000_simplify_agent_system.d.ts.map +0 -1
- package/dist/database/migrations/20251028000000_simplify_agent_system.js +0 -56
- package/dist/database/migrations/20251028000000_simplify_agent_system.js.map +0 -1
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.d.ts +0 -16
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.d.ts.map +0 -1
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.js +0 -52
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.js.map +0 -1
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.d.ts +0 -56
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.d.ts.map +0 -1
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.js +0 -701
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.js.map +0 -1
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.d.ts +0 -30
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.d.ts.map +0 -1
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.js +0 -180
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.js.map +0 -1
- package/dist/database/migrations/20251105000000_add_token_usage_table.d.ts +0 -19
- package/dist/database/migrations/20251105000000_add_token_usage_table.d.ts.map +0 -1
- package/dist/database/migrations/20251105000000_add_token_usage_table.js +0 -47
- package/dist/database/migrations/20251105000000_add_token_usage_table.js.map +0 -1
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts +0 -28
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts.map +0 -1
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.js +0 -123
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.js.map +0 -1
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts +0 -36
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts.map +0 -1
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.js +0 -559
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.js.map +0 -1
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.d.ts +0 -26
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.d.ts.map +0 -1
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.js +0 -78
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.js.map +0 -1
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts +0 -17
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts.map +0 -1
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.js +0 -78
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.js.map +0 -1
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts +0 -24
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts.map +0 -1
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js +0 -63
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js.map +0 -1
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts +0 -27
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts.map +0 -1
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.js +0 -276
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.js.map +0 -1
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts +0 -27
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts.map +0 -1
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.js +0 -67
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.js.map +0 -1
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.d.ts +0 -32
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.d.ts.map +0 -1
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.js +0 -352
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.js.map +0 -1
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.d.ts +0 -35
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.d.ts.map +0 -1
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.js +0 -237
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.js.map +0 -1
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts +0 -22
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.js +0 -190
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.d.ts +0 -32
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.js +0 -342
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts +0 -25
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.js +0 -109
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts +0 -24
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.js +0 -111
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts +0 -24
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts.map +0 -1
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.js +0 -90
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.js.map +0 -1
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts +0 -20
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js +0 -275
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts +0 -20
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.js +0 -246
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.d.ts +0 -23
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.js +0 -175
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.d.ts +0 -21
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.js +0 -235
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.d.ts +0 -21
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.js +0 -244
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts +0 -23
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.js +0 -70
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.d.ts +0 -29
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.d.ts.map +0 -1
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.js +0 -135
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.js.map +0 -1
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.d.ts +0 -23
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.js +0 -42
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts +0 -25
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.js +0 -102
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts +0 -25
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.js +0 -55
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.d.ts +0 -29
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.js +0 -62
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.d.ts +0 -25
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.d.ts.map +0 -1
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.js +0 -100
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.js.map +0 -1
- package/dist/tests/database/migrations/idempotency.test.d.ts +0 -2
- package/dist/tests/database/migrations/idempotency.test.d.ts.map +0 -1
- package/dist/tests/database/migrations/idempotency.test.js +0 -331
- package/dist/tests/database/migrations/idempotency.test.js.map +0 -1
- package/dist/tests/database/migrations/upgrade-paths.test.d.ts +0 -2
- package/dist/tests/database/migrations/upgrade-paths.test.d.ts.map +0 -1
- package/dist/tests/database/migrations/upgrade-paths.test.js +0 -249
- package/dist/tests/database/migrations/upgrade-paths.test.js.map +0 -1
- package/dist/utils/activity-logging.d.ts +0 -114
- package/dist/utils/activity-logging.d.ts.map +0 -1
- package/dist/utils/activity-logging.js +0 -169
- package/dist/utils/activity-logging.js.map +0 -1
- package/docs/DECISION_TO_TASK_MIGRATION_GUIDE.md +0 -457
- package/docs/TASK_DEPENDENCIES.md +0 -748
- package/docs/TASK_LINKING.md +0 -909
- package/docs/TASK_MIGRATION.md +0 -701
- package/docs/TASK_SYSTEM.md +0 -1314
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Key Tests:
|
|
10
10
|
* - Basic constraint insertion with required fields
|
|
11
|
-
* - Foreign key constraint enforcement (category_id, layer_id
|
|
11
|
+
* - Foreign key constraint enforcement (category_id, layer_id)
|
|
12
12
|
* - UNIQUE constraint on (constraint_text, project_id)
|
|
13
13
|
* - Priority levels (1-4)
|
|
14
14
|
* - active flag (0/1)
|
|
@@ -29,7 +29,6 @@ function hashConstraintText(text) {
|
|
|
29
29
|
}
|
|
30
30
|
runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
31
31
|
let projectId;
|
|
32
|
-
let systemAgentId;
|
|
33
32
|
let businessLayerId;
|
|
34
33
|
let dataLayerId;
|
|
35
34
|
let presentationLayerId;
|
|
@@ -52,118 +51,114 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
52
51
|
it('should get project ID and master data', async () => {
|
|
53
52
|
const db = getDb();
|
|
54
53
|
// Get project ID
|
|
55
|
-
const project = await db('
|
|
54
|
+
const project = await db('v4_projects').where({ id: 1 }).first();
|
|
56
55
|
assert.ok(project, 'Project should exist');
|
|
57
56
|
projectId = project.id;
|
|
58
|
-
// Get system agent
|
|
59
|
-
const systemAgent = await db('m_agents').where({ name: 'system' }).first();
|
|
60
|
-
assert.ok(systemAgent, 'System agent should exist');
|
|
61
|
-
systemAgentId = systemAgent.id;
|
|
62
57
|
// Get layer IDs
|
|
63
|
-
const businessLayer = await db('
|
|
58
|
+
const businessLayer = await db('v4_layers').where({ name: 'business' }).first();
|
|
64
59
|
assert.ok(businessLayer, 'Business layer should exist');
|
|
65
60
|
businessLayerId = businessLayer.id;
|
|
66
|
-
const dataLayer = await db('
|
|
61
|
+
const dataLayer = await db('v4_layers').where({ name: 'data' }).first();
|
|
67
62
|
assert.ok(dataLayer, 'Data layer should exist');
|
|
68
63
|
dataLayerId = dataLayer.id;
|
|
69
|
-
const presentationLayer = await db('
|
|
64
|
+
const presentationLayer = await db('v4_layers').where({ name: 'presentation' }).first();
|
|
70
65
|
assert.ok(presentationLayer, 'Presentation layer should exist');
|
|
71
66
|
presentationLayerId = presentationLayer.id;
|
|
72
|
-
const crossCuttingLayer = await db('
|
|
67
|
+
const crossCuttingLayer = await db('v4_layers').where({ name: 'cross-cutting' }).first();
|
|
73
68
|
assert.ok(crossCuttingLayer, 'Cross-cutting layer should exist');
|
|
74
69
|
crossCuttingLayerId = crossCuttingLayer.id;
|
|
75
70
|
// Get or create constraint categories
|
|
76
|
-
const architectureCategory = await db('
|
|
71
|
+
const architectureCategory = await db('v4_constraint_categories')
|
|
77
72
|
.where({ name: 'architecture' })
|
|
78
73
|
.first();
|
|
79
74
|
if (!architectureCategory) {
|
|
80
|
-
const [id] = await db('
|
|
75
|
+
const [id] = await db('v4_constraint_categories').insert({ name: 'architecture' });
|
|
81
76
|
categoryArchitectureId = id;
|
|
82
77
|
}
|
|
83
78
|
else {
|
|
84
79
|
categoryArchitectureId = architectureCategory.id;
|
|
85
80
|
}
|
|
86
|
-
const securityCategory = await db('
|
|
81
|
+
const securityCategory = await db('v4_constraint_categories')
|
|
87
82
|
.where({ name: 'security' })
|
|
88
83
|
.first();
|
|
89
84
|
if (!securityCategory) {
|
|
90
|
-
const [id] = await db('
|
|
85
|
+
const [id] = await db('v4_constraint_categories').insert({ name: 'security' });
|
|
91
86
|
categorySecurityId = id;
|
|
92
87
|
}
|
|
93
88
|
else {
|
|
94
89
|
categorySecurityId = securityCategory.id;
|
|
95
90
|
}
|
|
96
|
-
const testingCategory = await db('
|
|
91
|
+
const testingCategory = await db('v4_constraint_categories')
|
|
97
92
|
.where({ name: 'testing' })
|
|
98
93
|
.first();
|
|
99
94
|
if (!testingCategory) {
|
|
100
|
-
const [id] = await db('
|
|
95
|
+
const [id] = await db('v4_constraint_categories').insert({ name: 'testing' });
|
|
101
96
|
categoryTestingId = id;
|
|
102
97
|
}
|
|
103
98
|
else {
|
|
104
99
|
categoryTestingId = testingCategory.id;
|
|
105
100
|
}
|
|
106
|
-
const performanceCategory = await db('
|
|
101
|
+
const performanceCategory = await db('v4_constraint_categories')
|
|
107
102
|
.where({ name: 'performance' })
|
|
108
103
|
.first();
|
|
109
104
|
if (!performanceCategory) {
|
|
110
|
-
const [id] = await db('
|
|
105
|
+
const [id] = await db('v4_constraint_categories').insert({ name: 'performance' });
|
|
111
106
|
categoryPerformanceId = id;
|
|
112
107
|
}
|
|
113
108
|
else {
|
|
114
109
|
categoryPerformanceId = performanceCategory.id;
|
|
115
110
|
}
|
|
116
|
-
const styleCategory = await db('
|
|
111
|
+
const styleCategory = await db('v4_constraint_categories')
|
|
117
112
|
.where({ name: 'style' })
|
|
118
113
|
.first();
|
|
119
114
|
if (!styleCategory) {
|
|
120
|
-
const [id] = await db('
|
|
115
|
+
const [id] = await db('v4_constraint_categories').insert({ name: 'style' });
|
|
121
116
|
categoryStyleId = id;
|
|
122
117
|
}
|
|
123
118
|
else {
|
|
124
119
|
categoryStyleId = styleCategory.id;
|
|
125
120
|
}
|
|
126
|
-
const codeStyleCategory = await db('
|
|
121
|
+
const codeStyleCategory = await db('v4_constraint_categories')
|
|
127
122
|
.where({ name: 'code-style' })
|
|
128
123
|
.first();
|
|
129
124
|
if (!codeStyleCategory) {
|
|
130
|
-
const [id] = await db('
|
|
125
|
+
const [id] = await db('v4_constraint_categories').insert({ name: 'code-style' });
|
|
131
126
|
categoryCodeStyleId = id;
|
|
132
127
|
}
|
|
133
128
|
else {
|
|
134
129
|
categoryCodeStyleId = codeStyleCategory.id;
|
|
135
130
|
}
|
|
136
|
-
const obsoleteCategory = await db('
|
|
131
|
+
const obsoleteCategory = await db('v4_constraint_categories')
|
|
137
132
|
.where({ name: 'obsolete' })
|
|
138
133
|
.first();
|
|
139
134
|
if (!obsoleteCategory) {
|
|
140
|
-
const [id] = await db('
|
|
135
|
+
const [id] = await db('v4_constraint_categories').insert({ name: 'obsolete' });
|
|
141
136
|
categoryObsoleteId = id;
|
|
142
137
|
}
|
|
143
138
|
else {
|
|
144
139
|
categoryObsoleteId = obsoleteCategory.id;
|
|
145
140
|
}
|
|
146
|
-
const criticalCategory = await db('
|
|
141
|
+
const criticalCategory = await db('v4_constraint_categories')
|
|
147
142
|
.where({ name: 'critical' })
|
|
148
143
|
.first();
|
|
149
144
|
if (!criticalCategory) {
|
|
150
|
-
const [id] = await db('
|
|
145
|
+
const [id] = await db('v4_constraint_categories').insert({ name: 'critical' });
|
|
151
146
|
categoryTestId = id;
|
|
152
147
|
}
|
|
153
148
|
else {
|
|
154
149
|
categoryTestId = criticalCategory.id;
|
|
155
150
|
}
|
|
156
151
|
// Get tag IDs
|
|
157
|
-
const testTag = await db('
|
|
152
|
+
const testTag = await db('v4_tags').where({ name: 'test', project_id: projectId }).first();
|
|
158
153
|
assert.ok(testTag, 'Test tag should exist');
|
|
159
154
|
tagTestId = testTag.id;
|
|
160
|
-
const apiTag = await db('
|
|
155
|
+
const apiTag = await db('v4_tags').where({ name: 'api', project_id: projectId }).first();
|
|
161
156
|
assert.ok(apiTag, 'API tag should exist');
|
|
162
157
|
tagApiId = apiTag.id;
|
|
163
|
-
const performanceTag = await db('
|
|
158
|
+
const performanceTag = await db('v4_tags').where({ name: 'performance', project_id: projectId }).first();
|
|
164
159
|
assert.ok(performanceTag, 'Performance tag should exist');
|
|
165
160
|
tagPerformanceId = performanceTag.id;
|
|
166
|
-
const securityTag = await db('
|
|
161
|
+
const securityTag = await db('v4_tags').where({ name: 'security', project_id: projectId }).first();
|
|
167
162
|
assert.ok(securityTag, 'Security tag should exist');
|
|
168
163
|
tagSecurityId = securityTag.id;
|
|
169
164
|
});
|
|
@@ -174,7 +169,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
174
169
|
it('should insert constraint with required fields', async () => {
|
|
175
170
|
const db = getDb();
|
|
176
171
|
const constraintText1 = 'All API endpoints must use async/await';
|
|
177
|
-
const [constraintId] = await db('
|
|
172
|
+
const [constraintId] = await db('v4_constraints').insert({
|
|
178
173
|
constraint_text: constraintText1,
|
|
179
174
|
constraint_text_hash: hashConstraintText(constraintText1),
|
|
180
175
|
category_id: categoryCodeStyleId,
|
|
@@ -182,12 +177,11 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
182
177
|
layer_id: businessLayerId,
|
|
183
178
|
project_id: projectId,
|
|
184
179
|
active: 1,
|
|
185
|
-
agent_id: systemAgentId,
|
|
186
180
|
ts: Math.floor(Date.now() / 1000),
|
|
187
181
|
});
|
|
188
182
|
assert.ok(constraintId, 'Should return constraint ID');
|
|
189
183
|
// Verify constraint exists
|
|
190
|
-
const constraint = await db('
|
|
184
|
+
const constraint = await db('v4_constraints')
|
|
191
185
|
.where({ id: constraintId })
|
|
192
186
|
.first();
|
|
193
187
|
assert.strictEqual(constraint.constraint_text, 'All API endpoints must use async/await');
|
|
@@ -197,7 +191,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
197
191
|
it('should insert constraint with all fields', async () => {
|
|
198
192
|
const db = getDb();
|
|
199
193
|
const constraintTextDb = 'Database queries must use parameterized statements';
|
|
200
|
-
const [constraintId] = await db('
|
|
194
|
+
const [constraintId] = await db('v4_constraints').insert({
|
|
201
195
|
constraint_text: constraintTextDb,
|
|
202
196
|
constraint_text_hash: hashConstraintText(constraintTextDb),
|
|
203
197
|
category_id: categorySecurityId,
|
|
@@ -205,11 +199,10 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
205
199
|
layer_id: dataLayerId,
|
|
206
200
|
project_id: projectId,
|
|
207
201
|
active: 1,
|
|
208
|
-
agent_id: systemAgentId,
|
|
209
202
|
ts: Math.floor(Date.now() / 1000),
|
|
210
203
|
});
|
|
211
204
|
// Verify constraint is stored with all fields
|
|
212
|
-
const constraint = await db('
|
|
205
|
+
const constraint = await db('v4_constraints')
|
|
213
206
|
.where({ id: constraintId })
|
|
214
207
|
.first();
|
|
215
208
|
assert.strictEqual(constraint.constraint_text, 'Database queries must use parameterized statements');
|
|
@@ -220,7 +213,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
220
213
|
const db = getDb();
|
|
221
214
|
// Priority 1 (low)
|
|
222
215
|
const constraintTextLow = 'Low priority rule';
|
|
223
|
-
const [p1Id] = await db('
|
|
216
|
+
const [p1Id] = await db('v4_constraints').insert({
|
|
224
217
|
constraint_text: constraintTextLow,
|
|
225
218
|
constraint_text_hash: hashConstraintText(constraintTextLow),
|
|
226
219
|
category_id: categoryStyleId,
|
|
@@ -228,12 +221,11 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
228
221
|
layer_id: presentationLayerId,
|
|
229
222
|
project_id: projectId,
|
|
230
223
|
active: 1,
|
|
231
|
-
agent_id: systemAgentId,
|
|
232
224
|
ts: Math.floor(Date.now() / 1000),
|
|
233
225
|
});
|
|
234
226
|
// Priority 4 (critical)
|
|
235
227
|
const constraintTextCritical = 'Critical security rule';
|
|
236
|
-
const [p4Id] = await db('
|
|
228
|
+
const [p4Id] = await db('v4_constraints').insert({
|
|
237
229
|
constraint_text: constraintTextCritical,
|
|
238
230
|
constraint_text_hash: hashConstraintText(constraintTextCritical),
|
|
239
231
|
category_id: categorySecurityId,
|
|
@@ -241,15 +233,14 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
241
233
|
layer_id: businessLayerId,
|
|
242
234
|
project_id: projectId,
|
|
243
235
|
active: 1,
|
|
244
|
-
agent_id: systemAgentId,
|
|
245
236
|
ts: Math.floor(Date.now() / 1000),
|
|
246
237
|
});
|
|
247
238
|
assert.ok(p1Id && p4Id, 'Both constraints should be created');
|
|
248
239
|
// Verify priority values
|
|
249
|
-
const lowPriority = await db('
|
|
240
|
+
const lowPriority = await db('v4_constraints')
|
|
250
241
|
.where({ id: p1Id })
|
|
251
242
|
.first();
|
|
252
|
-
const highPriority = await db('
|
|
243
|
+
const highPriority = await db('v4_constraints')
|
|
253
244
|
.where({ id: p4Id })
|
|
254
245
|
.first();
|
|
255
246
|
assert.strictEqual(lowPriority.priority, 1);
|
|
@@ -264,7 +255,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
264
255
|
const db = getDb();
|
|
265
256
|
// Insert constraint
|
|
266
257
|
const constraintTextUnitTests = 'All components must have unit tests';
|
|
267
|
-
const [constraintId] = await db('
|
|
258
|
+
const [constraintId] = await db('v4_constraints').insert({
|
|
268
259
|
constraint_text: constraintTextUnitTests,
|
|
269
260
|
constraint_text_hash: hashConstraintText(constraintTextUnitTests),
|
|
270
261
|
category_id: categoryTestingId,
|
|
@@ -272,7 +263,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
272
263
|
layer_id: crossCuttingLayerId,
|
|
273
264
|
project_id: projectId,
|
|
274
265
|
active: 1,
|
|
275
|
-
agent_id: systemAgentId,
|
|
276
266
|
ts: Math.floor(Date.now() / 1000),
|
|
277
267
|
});
|
|
278
268
|
// Associate with tags
|
|
@@ -297,7 +287,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
297
287
|
const db = getDb();
|
|
298
288
|
// Add constraints in different layers
|
|
299
289
|
const constraintTextBusiness = 'Business layer rule';
|
|
300
|
-
await db('
|
|
290
|
+
await db('v4_constraints').insert({
|
|
301
291
|
constraint_text: constraintTextBusiness,
|
|
302
292
|
constraint_text_hash: hashConstraintText(constraintTextBusiness),
|
|
303
293
|
category_id: categoryArchitectureId,
|
|
@@ -305,11 +295,10 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
305
295
|
layer_id: businessLayerId,
|
|
306
296
|
project_id: projectId,
|
|
307
297
|
active: 1,
|
|
308
|
-
agent_id: systemAgentId,
|
|
309
298
|
ts: Math.floor(Date.now() / 1000),
|
|
310
299
|
});
|
|
311
300
|
const constraintTextData = 'Data layer rule';
|
|
312
|
-
await db('
|
|
301
|
+
await db('v4_constraints').insert({
|
|
313
302
|
constraint_text: constraintTextData,
|
|
314
303
|
constraint_text_hash: hashConstraintText(constraintTextData),
|
|
315
304
|
category_id: categoryArchitectureId,
|
|
@@ -317,11 +306,10 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
317
306
|
layer_id: dataLayerId,
|
|
318
307
|
project_id: projectId,
|
|
319
308
|
active: 1,
|
|
320
|
-
agent_id: systemAgentId,
|
|
321
309
|
ts: Math.floor(Date.now() / 1000),
|
|
322
310
|
});
|
|
323
311
|
// Filter by business layer
|
|
324
|
-
const businessConstraints = await db('
|
|
312
|
+
const businessConstraints = await db('v4_constraints')
|
|
325
313
|
.where({ layer_id: businessLayerId, active: 1, project_id: projectId })
|
|
326
314
|
.select('*');
|
|
327
315
|
const businessConstraint = businessConstraints.find(c => c.constraint_text === 'Business layer rule');
|
|
@@ -330,7 +318,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
330
318
|
it('should filter constraints by category', async () => {
|
|
331
319
|
const db = getDb();
|
|
332
320
|
const constraintTextSecurity = 'Security constraint';
|
|
333
|
-
await db('
|
|
321
|
+
await db('v4_constraints').insert({
|
|
334
322
|
constraint_text: constraintTextSecurity,
|
|
335
323
|
constraint_text_hash: hashConstraintText(constraintTextSecurity),
|
|
336
324
|
category_id: categorySecurityId,
|
|
@@ -338,11 +326,10 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
338
326
|
layer_id: businessLayerId,
|
|
339
327
|
project_id: projectId,
|
|
340
328
|
active: 1,
|
|
341
|
-
agent_id: systemAgentId,
|
|
342
329
|
ts: Math.floor(Date.now() / 1000),
|
|
343
330
|
});
|
|
344
331
|
const constraintTextPerformance = 'Performance constraint';
|
|
345
|
-
await db('
|
|
332
|
+
await db('v4_constraints').insert({
|
|
346
333
|
constraint_text: constraintTextPerformance,
|
|
347
334
|
constraint_text_hash: hashConstraintText(constraintTextPerformance),
|
|
348
335
|
category_id: categoryPerformanceId,
|
|
@@ -350,11 +337,10 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
350
337
|
layer_id: businessLayerId,
|
|
351
338
|
project_id: projectId,
|
|
352
339
|
active: 1,
|
|
353
|
-
agent_id: systemAgentId,
|
|
354
340
|
ts: Math.floor(Date.now() / 1000),
|
|
355
341
|
});
|
|
356
342
|
// Filter by security category
|
|
357
|
-
const securityConstraints = await db('
|
|
343
|
+
const securityConstraints = await db('v4_constraints')
|
|
358
344
|
.where({ category_id: categorySecurityId, active: 1, project_id: projectId })
|
|
359
345
|
.select('*');
|
|
360
346
|
const securityConstraint = securityConstraints.find(c => c.constraint_text === 'Security constraint');
|
|
@@ -363,7 +349,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
363
349
|
it('should filter constraints by priority', async () => {
|
|
364
350
|
const db = getDb();
|
|
365
351
|
const constraintTextHighPriority = 'High priority constraint';
|
|
366
|
-
await db('
|
|
352
|
+
await db('v4_constraints').insert({
|
|
367
353
|
constraint_text: constraintTextHighPriority,
|
|
368
354
|
constraint_text_hash: hashConstraintText(constraintTextHighPriority),
|
|
369
355
|
category_id: categoryTestId,
|
|
@@ -371,11 +357,10 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
371
357
|
layer_id: businessLayerId,
|
|
372
358
|
project_id: projectId,
|
|
373
359
|
active: 1,
|
|
374
|
-
agent_id: systemAgentId,
|
|
375
360
|
ts: Math.floor(Date.now() / 1000),
|
|
376
361
|
});
|
|
377
362
|
const constraintTextLowPriority = 'Low priority constraint';
|
|
378
|
-
await db('
|
|
363
|
+
await db('v4_constraints').insert({
|
|
379
364
|
constraint_text: constraintTextLowPriority,
|
|
380
365
|
constraint_text_hash: hashConstraintText(constraintTextLowPriority),
|
|
381
366
|
category_id: categoryStyleId,
|
|
@@ -383,11 +368,10 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
383
368
|
layer_id: presentationLayerId,
|
|
384
369
|
project_id: projectId,
|
|
385
370
|
active: 1,
|
|
386
|
-
agent_id: systemAgentId,
|
|
387
371
|
ts: Math.floor(Date.now() / 1000),
|
|
388
372
|
});
|
|
389
373
|
// Filter by priority 4
|
|
390
|
-
const highPriorityConstraints = await db('
|
|
374
|
+
const highPriorityConstraints = await db('v4_constraints')
|
|
391
375
|
.where({ priority: 4, active: 1, project_id: projectId })
|
|
392
376
|
.select('*');
|
|
393
377
|
const highPriorityConstraint = highPriorityConstraints.find(c => c.constraint_text === 'High priority constraint');
|
|
@@ -397,7 +381,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
397
381
|
const db = getDb();
|
|
398
382
|
// Insert constraint
|
|
399
383
|
const constraintTextTagged = 'Tagged constraint 1';
|
|
400
|
-
const [constraintId] = await db('
|
|
384
|
+
const [constraintId] = await db('v4_constraints').insert({
|
|
401
385
|
constraint_text: constraintTextTagged,
|
|
402
386
|
constraint_text_hash: hashConstraintText(constraintTextTagged),
|
|
403
387
|
category_id: categoryTestingId,
|
|
@@ -405,7 +389,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
405
389
|
layer_id: businessLayerId,
|
|
406
390
|
project_id: projectId,
|
|
407
391
|
active: 1,
|
|
408
|
-
agent_id: systemAgentId,
|
|
409
392
|
ts: Math.floor(Date.now() / 1000),
|
|
410
393
|
});
|
|
411
394
|
// Associate with tags
|
|
@@ -414,7 +397,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
414
397
|
{ constraint_id: constraintId, tag_id: tagTestId },
|
|
415
398
|
]);
|
|
416
399
|
// Filter by api tag
|
|
417
|
-
const apiTaggedConstraints = await db('
|
|
400
|
+
const apiTaggedConstraints = await db('v4_constraints')
|
|
418
401
|
.join('t_constraint_tags', 't_constraints.id', 't_constraint_tags.constraint_id')
|
|
419
402
|
.where({
|
|
420
403
|
't_constraint_tags.tag_id': tagApiId,
|
|
@@ -429,7 +412,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
429
412
|
const db = getDb();
|
|
430
413
|
// Add and immediately deactivate a constraint
|
|
431
414
|
const constraintTextDeactivated = 'Deactivated constraint';
|
|
432
|
-
const [constraintId] = await db('
|
|
415
|
+
const [constraintId] = await db('v4_constraints').insert({
|
|
433
416
|
constraint_text: constraintTextDeactivated,
|
|
434
417
|
constraint_text_hash: hashConstraintText(constraintTextDeactivated),
|
|
435
418
|
category_id: categoryObsoleteId,
|
|
@@ -437,15 +420,14 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
437
420
|
layer_id: businessLayerId,
|
|
438
421
|
project_id: projectId,
|
|
439
422
|
active: 1,
|
|
440
|
-
agent_id: systemAgentId,
|
|
441
423
|
ts: Math.floor(Date.now() / 1000),
|
|
442
424
|
});
|
|
443
425
|
// Deactivate
|
|
444
|
-
await db('
|
|
426
|
+
await db('v4_constraints')
|
|
445
427
|
.where({ id: constraintId })
|
|
446
428
|
.update({ active: 0 });
|
|
447
429
|
// Get only active constraints
|
|
448
|
-
const activeConstraints = await db('
|
|
430
|
+
const activeConstraints = await db('v4_constraints')
|
|
449
431
|
.where({ active: 1, project_id: projectId })
|
|
450
432
|
.select('*');
|
|
451
433
|
const deactivatedConstraint = activeConstraints.find(c => c.constraint_text === 'Deactivated constraint');
|
|
@@ -460,7 +442,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
460
442
|
const db = getDb();
|
|
461
443
|
// Add constraint
|
|
462
444
|
const constraintTextToDeactivate = 'Constraint to deactivate';
|
|
463
|
-
const [constraintId] = await db('
|
|
445
|
+
const [constraintId] = await db('v4_constraints').insert({
|
|
464
446
|
constraint_text: constraintTextToDeactivate,
|
|
465
447
|
constraint_text_hash: hashConstraintText(constraintTextToDeactivate),
|
|
466
448
|
category_id: categoryTestingId,
|
|
@@ -468,16 +450,15 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
468
450
|
layer_id: businessLayerId,
|
|
469
451
|
project_id: projectId,
|
|
470
452
|
active: 1,
|
|
471
|
-
agent_id: systemAgentId,
|
|
472
453
|
ts: Math.floor(Date.now() / 1000),
|
|
473
454
|
});
|
|
474
455
|
// Deactivate
|
|
475
|
-
const updateCount = await db('
|
|
456
|
+
const updateCount = await db('v4_constraints')
|
|
476
457
|
.where({ id: constraintId, project_id: projectId })
|
|
477
458
|
.update({ active: 0 });
|
|
478
459
|
assert.strictEqual(updateCount, 1, 'Should update 1 row');
|
|
479
460
|
// Verify active flag is set to 0
|
|
480
|
-
const constraint = await db('
|
|
461
|
+
const constraint = await db('v4_constraints')
|
|
481
462
|
.where({ id: constraintId })
|
|
482
463
|
.first();
|
|
483
464
|
assert.strictEqual(constraint.active, 0, 'active should be 0');
|
|
@@ -486,7 +467,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
486
467
|
const db = getDb();
|
|
487
468
|
// Add and deactivate
|
|
488
469
|
const constraintTextReDeactivate = 'Re-deactivate test';
|
|
489
|
-
const [constraintId] = await db('
|
|
470
|
+
const [constraintId] = await db('v4_constraints').insert({
|
|
490
471
|
constraint_text: constraintTextReDeactivate,
|
|
491
472
|
constraint_text_hash: hashConstraintText(constraintTextReDeactivate),
|
|
492
473
|
category_id: categoryTestingId,
|
|
@@ -494,14 +475,13 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
494
475
|
layer_id: businessLayerId,
|
|
495
476
|
project_id: projectId,
|
|
496
477
|
active: 1,
|
|
497
|
-
agent_id: systemAgentId,
|
|
498
478
|
ts: Math.floor(Date.now() / 1000),
|
|
499
479
|
});
|
|
500
|
-
await db('
|
|
480
|
+
await db('v4_constraints')
|
|
501
481
|
.where({ id: constraintId })
|
|
502
482
|
.update({ active: 0 });
|
|
503
483
|
// Deactivate again
|
|
504
|
-
const updateCount = await db('
|
|
484
|
+
const updateCount = await db('v4_constraints')
|
|
505
485
|
.where({ id: constraintId })
|
|
506
486
|
.update({ active: 0 });
|
|
507
487
|
// Should succeed (no error thrown)
|
|
@@ -515,7 +495,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
515
495
|
it('should enforce foreign key constraint on category_id', async () => {
|
|
516
496
|
const db = getDb();
|
|
517
497
|
const constraintTextFkCategory = 'Test constraint';
|
|
518
|
-
const insertPromise = db('
|
|
498
|
+
const insertPromise = db('v4_constraints').insert({
|
|
519
499
|
constraint_text: constraintTextFkCategory,
|
|
520
500
|
constraint_text_hash: hashConstraintText(constraintTextFkCategory),
|
|
521
501
|
category_id: 99999, // Non-existent category
|
|
@@ -523,29 +503,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
523
503
|
layer_id: businessLayerId,
|
|
524
504
|
project_id: projectId,
|
|
525
505
|
active: 1,
|
|
526
|
-
agent_id: systemAgentId,
|
|
527
|
-
ts: Math.floor(Date.now() / 1000),
|
|
528
|
-
});
|
|
529
|
-
await assert.rejects(insertPromise, (error) => {
|
|
530
|
-
const msg = error.message.toLowerCase();
|
|
531
|
-
return msg.includes('foreign key') ||
|
|
532
|
-
msg.includes('constraint') ||
|
|
533
|
-
msg.includes('violates') ||
|
|
534
|
-
msg.includes('cannot add');
|
|
535
|
-
}, 'Should throw foreign key constraint error');
|
|
536
|
-
});
|
|
537
|
-
it('should enforce foreign key constraint on agent_id', async () => {
|
|
538
|
-
const db = getDb();
|
|
539
|
-
const constraintTextFkAgent = 'Test constraint with invalid agent';
|
|
540
|
-
const insertPromise = db('t_constraints').insert({
|
|
541
|
-
constraint_text: constraintTextFkAgent,
|
|
542
|
-
constraint_text_hash: hashConstraintText(constraintTextFkAgent),
|
|
543
|
-
category_id: categoryTestingId,
|
|
544
|
-
priority: 2,
|
|
545
|
-
layer_id: businessLayerId,
|
|
546
|
-
project_id: projectId,
|
|
547
|
-
active: 1,
|
|
548
|
-
agent_id: 99999, // Non-existent agent
|
|
549
506
|
ts: Math.floor(Date.now() / 1000),
|
|
550
507
|
});
|
|
551
508
|
await assert.rejects(insertPromise, (error) => {
|
|
@@ -560,7 +517,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
560
517
|
const db = getDb();
|
|
561
518
|
const constraintTextValue = `Unique constraint test ${Date.now()}`;
|
|
562
519
|
// Insert first constraint
|
|
563
|
-
await db('
|
|
520
|
+
await db('v4_constraints').insert({
|
|
564
521
|
constraint_text: constraintTextValue,
|
|
565
522
|
constraint_text_hash: hashConstraintText(constraintTextValue),
|
|
566
523
|
category_id: categoryTestingId,
|
|
@@ -568,11 +525,10 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
568
525
|
layer_id: businessLayerId,
|
|
569
526
|
project_id: projectId,
|
|
570
527
|
active: 1,
|
|
571
|
-
agent_id: systemAgentId,
|
|
572
528
|
ts: Math.floor(Date.now() / 1000),
|
|
573
529
|
});
|
|
574
530
|
// Try to insert duplicate
|
|
575
|
-
const duplicatePromise = db('
|
|
531
|
+
const duplicatePromise = db('v4_constraints').insert({
|
|
576
532
|
constraint_text: constraintTextValue, // Same constraint_text
|
|
577
533
|
constraint_text_hash: hashConstraintText(constraintTextValue),
|
|
578
534
|
category_id: categoryTestingId,
|
|
@@ -580,7 +536,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
580
536
|
layer_id: businessLayerId,
|
|
581
537
|
project_id: projectId, // Same project_id
|
|
582
538
|
active: 1,
|
|
583
|
-
agent_id: systemAgentId,
|
|
584
539
|
ts: Math.floor(Date.now() / 1000),
|
|
585
540
|
});
|
|
586
541
|
await assert.rejects(duplicatePromise, (error) => {
|
|
@@ -596,7 +551,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
596
551
|
it('should handle long rule text', async () => {
|
|
597
552
|
const db = getDb();
|
|
598
553
|
const longRule = 'A'.repeat(500) + ' - This is a very long constraint rule';
|
|
599
|
-
const [constraintId] = await db('
|
|
554
|
+
const [constraintId] = await db('v4_constraints').insert({
|
|
600
555
|
constraint_text: longRule,
|
|
601
556
|
constraint_text_hash: hashConstraintText(longRule),
|
|
602
557
|
category_id: categoryTestingId,
|
|
@@ -604,11 +559,10 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
604
559
|
layer_id: businessLayerId,
|
|
605
560
|
project_id: projectId,
|
|
606
561
|
active: 1,
|
|
607
|
-
agent_id: systemAgentId,
|
|
608
562
|
ts: Math.floor(Date.now() / 1000),
|
|
609
563
|
});
|
|
610
564
|
assert.ok(constraintId, 'Should handle long rule text');
|
|
611
|
-
const constraint = await db('
|
|
565
|
+
const constraint = await db('v4_constraints')
|
|
612
566
|
.where({ id: constraintId })
|
|
613
567
|
.first();
|
|
614
568
|
assert.strictEqual(constraint.constraint_text, longRule);
|
|
@@ -616,7 +570,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
616
570
|
it('should handle special characters in rules', async () => {
|
|
617
571
|
const db = getDb();
|
|
618
572
|
const specialRule = "Rule with 'quotes', \"double quotes\", and \\backslashes";
|
|
619
|
-
const [constraintId] = await db('
|
|
573
|
+
const [constraintId] = await db('v4_constraints').insert({
|
|
620
574
|
constraint_text: specialRule,
|
|
621
575
|
constraint_text_hash: hashConstraintText(specialRule),
|
|
622
576
|
category_id: categoryTestingId,
|
|
@@ -624,11 +578,10 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
624
578
|
layer_id: businessLayerId,
|
|
625
579
|
project_id: projectId,
|
|
626
580
|
active: 1,
|
|
627
|
-
agent_id: systemAgentId,
|
|
628
581
|
ts: Math.floor(Date.now() / 1000),
|
|
629
582
|
});
|
|
630
583
|
assert.ok(constraintId);
|
|
631
|
-
const constraint = await db('
|
|
584
|
+
const constraint = await db('v4_constraints')
|
|
632
585
|
.where({ id: constraintId })
|
|
633
586
|
.first();
|
|
634
587
|
assert.strictEqual(constraint.constraint_text, specialRule);
|
|
@@ -636,7 +589,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
636
589
|
it('should handle unicode characters in constraint_text', async () => {
|
|
637
590
|
const db = getDb();
|
|
638
591
|
const unicodeText = '日本語のルール: Unicode support test 🎯';
|
|
639
|
-
const [constraintId] = await db('
|
|
592
|
+
const [constraintId] = await db('v4_constraints').insert({
|
|
640
593
|
constraint_text: unicodeText,
|
|
641
594
|
constraint_text_hash: hashConstraintText(unicodeText),
|
|
642
595
|
category_id: categoryTestingId,
|
|
@@ -644,11 +597,10 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
644
597
|
layer_id: businessLayerId,
|
|
645
598
|
project_id: projectId,
|
|
646
599
|
active: 1,
|
|
647
|
-
agent_id: systemAgentId,
|
|
648
600
|
ts: Math.floor(Date.now() / 1000),
|
|
649
601
|
});
|
|
650
602
|
assert.ok(constraintId);
|
|
651
|
-
const constraint = await db('
|
|
603
|
+
const constraint = await db('v4_constraints')
|
|
652
604
|
.where({ id: constraintId })
|
|
653
605
|
.first();
|
|
654
606
|
assert.strictEqual(constraint.constraint_text, unicodeText);
|
|
@@ -668,7 +620,7 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
668
620
|
}
|
|
669
621
|
// Insert test constraint
|
|
670
622
|
const constraintTextViewTest = 'View test constraint';
|
|
671
|
-
const [constraintId] = await db('
|
|
623
|
+
const [constraintId] = await db('v4_constraints').insert({
|
|
672
624
|
constraint_text: constraintTextViewTest,
|
|
673
625
|
constraint_text_hash: hashConstraintText(constraintTextViewTest),
|
|
674
626
|
category_id: categoryArchitectureId,
|
|
@@ -676,7 +628,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
676
628
|
layer_id: businessLayerId,
|
|
677
629
|
project_id: projectId,
|
|
678
630
|
active: 1,
|
|
679
|
-
agent_id: systemAgentId,
|
|
680
631
|
ts: Math.floor(Date.now() / 1000),
|
|
681
632
|
});
|
|
682
633
|
// Query view
|