sqlew 3.9.1 → 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 +121 -121
- 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
|
@@ -1,748 +0,0 @@
|
|
|
1
|
-
# Task Dependencies - Managing Blocking Relationships
|
|
2
|
-
|
|
3
|
-
**Version:** 3.2.0
|
|
4
|
-
**Feature:** Task Dependency Management (GitHub Issue #16)
|
|
5
|
-
**Last Updated:** 2025-10-18
|
|
6
|
-
|
|
7
|
-
## Table of Contents
|
|
8
|
-
|
|
9
|
-
1. [Overview](#overview)
|
|
10
|
-
2. [Core Concepts](#core-concepts)
|
|
11
|
-
3. [Dependency Actions](#dependency-actions)
|
|
12
|
-
4. [Validation Rules](#validation-rules)
|
|
13
|
-
5. [Circular Dependency Detection](#circular-dependency-detection)
|
|
14
|
-
6. [Enhanced Query Actions](#enhanced-query-actions)
|
|
15
|
-
7. [Usage Examples](#usage-examples)
|
|
16
|
-
8. [Best Practices](#best-practices)
|
|
17
|
-
9. [Token Efficiency](#token-efficiency)
|
|
18
|
-
10. [Related Documentation](#related-documentation)
|
|
19
|
-
|
|
20
|
-
## Overview
|
|
21
|
-
|
|
22
|
-
Task Dependencies introduce **blocking relationships** between tasks, enabling workflow coordination and task ordering in AI-driven development. Unlike simple task links (decision/constraint/file), dependencies enforce directional relationships where one task must be completed before another can proceed.
|
|
23
|
-
|
|
24
|
-
**Key Features:**
|
|
25
|
-
- **Blocking Relationships**: Task A blocks Task B (B cannot proceed until A is done)
|
|
26
|
-
- **Bidirectional Queries**: Find both blockers and blocking tasks
|
|
27
|
-
- **Circular Detection**: Prevents deadlocks with recursive CTE algorithm
|
|
28
|
-
- **Cascade Deletion**: Dependencies auto-delete when tasks are deleted
|
|
29
|
-
- **Token Efficient**: Metadata-only queries by default, detailed info optional
|
|
30
|
-
|
|
31
|
-
**Use Cases:**
|
|
32
|
-
- Sequential feature development (auth before dashboard)
|
|
33
|
-
- Infrastructure before application code
|
|
34
|
-
- Database migrations before schema-dependent features
|
|
35
|
-
- API contracts before client implementations
|
|
36
|
-
|
|
37
|
-
## Core Concepts
|
|
38
|
-
|
|
39
|
-
### Blocker vs Blocked Tasks
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
Task A (blocker) → blocks → Task B (blocked)
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**Terminology:**
|
|
46
|
-
- **Blocker Task**: The task that must be completed first
|
|
47
|
-
- **Blocked Task**: The task that is waiting/dependent
|
|
48
|
-
- **Blockers**: Tasks that block this task (what I'm waiting for)
|
|
49
|
-
- **Blocking**: Tasks that this task blocks (what's waiting for me)
|
|
50
|
-
|
|
51
|
-
**Example:**
|
|
52
|
-
```javascript
|
|
53
|
-
// Task #1: Implement JWT authentication (blocker)
|
|
54
|
-
// Task #2: Add user profile page (blocked - needs auth)
|
|
55
|
-
|
|
56
|
-
{
|
|
57
|
-
action: "add_dependency",
|
|
58
|
-
blocker_task_id: 1, // JWT auth must complete first
|
|
59
|
-
blocked_task_id: 2 // Profile page waits for auth
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### Bidirectional Queries
|
|
64
|
-
|
|
65
|
-
Dependencies can be queried from either direction:
|
|
66
|
-
|
|
67
|
-
**From Blocked Task's Perspective:**
|
|
68
|
-
```javascript
|
|
69
|
-
// "What's blocking me from starting?"
|
|
70
|
-
{
|
|
71
|
-
action: "get_dependencies",
|
|
72
|
-
task_id: 2 // Profile page
|
|
73
|
-
}
|
|
74
|
-
// Returns:
|
|
75
|
-
// - blockers: [Task #1] (auth implementation)
|
|
76
|
-
// - blocking: [] (nothing waits for me)
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
**From Blocker Task's Perspective:**
|
|
80
|
-
```javascript
|
|
81
|
-
// "What's waiting for me to finish?"
|
|
82
|
-
{
|
|
83
|
-
action: "get_dependencies",
|
|
84
|
-
task_id: 1 // Auth implementation
|
|
85
|
-
}
|
|
86
|
-
// Returns:
|
|
87
|
-
// - blockers: [] (nothing blocks me)
|
|
88
|
-
// - blocking: [Task #2] (profile page waits)
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### Cascade Deletion
|
|
92
|
-
|
|
93
|
-
When a task is deleted, all its dependencies are automatically removed:
|
|
94
|
-
|
|
95
|
-
```javascript
|
|
96
|
-
// Before deletion:
|
|
97
|
-
// Task #1 blocks Task #2
|
|
98
|
-
// Task #1 blocks Task #3
|
|
99
|
-
|
|
100
|
-
// After deleting Task #1:
|
|
101
|
-
// Dependencies automatically removed
|
|
102
|
-
// Task #2 and #3 are now unblocked
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
## Dependency Actions
|
|
106
|
-
|
|
107
|
-
### add_dependency
|
|
108
|
-
|
|
109
|
-
Add a blocking relationship between two tasks.
|
|
110
|
-
|
|
111
|
-
**Parameters:**
|
|
112
|
-
- `action`: "add_dependency" (required)
|
|
113
|
-
- `blocker_task_id` (required, number): Task ID that blocks
|
|
114
|
-
- `blocked_task_id` (required, number): Task ID that is blocked
|
|
115
|
-
|
|
116
|
-
**Validations:**
|
|
117
|
-
- No self-dependencies (task cannot block itself)
|
|
118
|
-
- No circular dependencies (direct or transitive)
|
|
119
|
-
- Both tasks must exist
|
|
120
|
-
- Neither task can be archived
|
|
121
|
-
|
|
122
|
-
**Example:**
|
|
123
|
-
```javascript
|
|
124
|
-
{
|
|
125
|
-
action: "add_dependency",
|
|
126
|
-
blocker_task_id: 1,
|
|
127
|
-
blocked_task_id: 2
|
|
128
|
-
}
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
**Response:**
|
|
132
|
-
```javascript
|
|
133
|
-
{
|
|
134
|
-
success: true,
|
|
135
|
-
message: "Dependency added: Task #1 blocks Task #2"
|
|
136
|
-
}
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
**Error Examples:**
|
|
140
|
-
```javascript
|
|
141
|
-
// Self-dependency
|
|
142
|
-
{
|
|
143
|
-
action: "add_dependency",
|
|
144
|
-
blocker_task_id: 1,
|
|
145
|
-
blocked_task_id: 1
|
|
146
|
-
}
|
|
147
|
-
// Error: "Self-dependency not allowed"
|
|
148
|
-
|
|
149
|
-
// Circular dependency (direct)
|
|
150
|
-
// Task #1 blocks Task #2
|
|
151
|
-
{
|
|
152
|
-
action: "add_dependency",
|
|
153
|
-
blocker_task_id: 2,
|
|
154
|
-
blocked_task_id: 1
|
|
155
|
-
}
|
|
156
|
-
// Error: "Circular dependency detected: Task #2 already blocks Task #1"
|
|
157
|
-
|
|
158
|
-
// Archived task
|
|
159
|
-
{
|
|
160
|
-
action: "add_dependency",
|
|
161
|
-
blocker_task_id: 10, // archived
|
|
162
|
-
blocked_task_id: 2
|
|
163
|
-
}
|
|
164
|
-
// Error: "Cannot add dependency: Task #10 is archived"
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### remove_dependency
|
|
168
|
-
|
|
169
|
-
Remove a blocking relationship between two tasks.
|
|
170
|
-
|
|
171
|
-
**Parameters:**
|
|
172
|
-
- `action`: "remove_dependency" (required)
|
|
173
|
-
- `blocker_task_id` (required, number): Task ID that blocks
|
|
174
|
-
- `blocked_task_id` (required, number): Task ID that is blocked
|
|
175
|
-
|
|
176
|
-
**Idempotent:** Succeeds silently if dependency doesn't exist.
|
|
177
|
-
|
|
178
|
-
**Example:**
|
|
179
|
-
```javascript
|
|
180
|
-
{
|
|
181
|
-
action: "remove_dependency",
|
|
182
|
-
blocker_task_id: 1,
|
|
183
|
-
blocked_task_id: 2
|
|
184
|
-
}
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
**Response:**
|
|
188
|
-
```javascript
|
|
189
|
-
{
|
|
190
|
-
success: true,
|
|
191
|
-
message: "Dependency removed: Task #1 no longer blocks Task #2"
|
|
192
|
-
}
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
**Use Cases:**
|
|
196
|
-
- Task completed early (unblock dependent tasks)
|
|
197
|
-
- Requirements changed (dependency no longer needed)
|
|
198
|
-
- Refactoring workflow (restructure task order)
|
|
199
|
-
|
|
200
|
-
### get_dependencies
|
|
201
|
-
|
|
202
|
-
Query dependencies for a task bidirectionally.
|
|
203
|
-
|
|
204
|
-
**Parameters:**
|
|
205
|
-
- `action`: "get_dependencies" (required)
|
|
206
|
-
- `task_id` (required, number): Task to query dependencies for
|
|
207
|
-
- `include_details` (optional, boolean): Include full task metadata (default: false)
|
|
208
|
-
|
|
209
|
-
**Example (Metadata-Only):**
|
|
210
|
-
```javascript
|
|
211
|
-
{
|
|
212
|
-
action: "get_dependencies",
|
|
213
|
-
task_id: 2
|
|
214
|
-
}
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
**Response (Metadata-Only):**
|
|
218
|
-
```javascript
|
|
219
|
-
{
|
|
220
|
-
task_id: 2,
|
|
221
|
-
blockers: [1, 3], // Task IDs only
|
|
222
|
-
blocking: [5, 7] // Task IDs only
|
|
223
|
-
}
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
**Example (With Details):**
|
|
227
|
-
```javascript
|
|
228
|
-
{
|
|
229
|
-
action: "get_dependencies",
|
|
230
|
-
task_id: 2,
|
|
231
|
-
include_details: true
|
|
232
|
-
}
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
**Response (With Details):**
|
|
236
|
-
```javascript
|
|
237
|
-
{
|
|
238
|
-
task_id: 2,
|
|
239
|
-
blockers: [
|
|
240
|
-
{
|
|
241
|
-
task_id: 1,
|
|
242
|
-
title: "Implement JWT authentication",
|
|
243
|
-
status: "in_progress",
|
|
244
|
-
priority: "high"
|
|
245
|
-
},
|
|
246
|
-
{
|
|
247
|
-
task_id: 3,
|
|
248
|
-
title: "Design user schema",
|
|
249
|
-
status: "done",
|
|
250
|
-
priority: "medium"
|
|
251
|
-
}
|
|
252
|
-
],
|
|
253
|
-
blocking: [
|
|
254
|
-
{
|
|
255
|
-
task_id: 5,
|
|
256
|
-
title: "Add profile page",
|
|
257
|
-
status: "todo",
|
|
258
|
-
priority: "medium"
|
|
259
|
-
}
|
|
260
|
-
]
|
|
261
|
-
}
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
## Validation Rules
|
|
265
|
-
|
|
266
|
-
### 1. No Self-Dependencies
|
|
267
|
-
|
|
268
|
-
Tasks cannot block themselves.
|
|
269
|
-
|
|
270
|
-
```javascript
|
|
271
|
-
// ❌ Invalid
|
|
272
|
-
{
|
|
273
|
-
action: "add_dependency",
|
|
274
|
-
blocker_task_id: 1,
|
|
275
|
-
blocked_task_id: 1
|
|
276
|
-
}
|
|
277
|
-
// Error: "Self-dependency not allowed"
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
### 2. No Direct Circular Dependencies
|
|
281
|
-
|
|
282
|
-
If Task A blocks Task B, then Task B cannot block Task A.
|
|
283
|
-
|
|
284
|
-
```javascript
|
|
285
|
-
// Existing: Task #1 blocks Task #2
|
|
286
|
-
|
|
287
|
-
// ❌ Invalid
|
|
288
|
-
{
|
|
289
|
-
action: "add_dependency",
|
|
290
|
-
blocker_task_id: 2,
|
|
291
|
-
blocked_task_id: 1
|
|
292
|
-
}
|
|
293
|
-
// Error: "Circular dependency detected: Task #2 already blocks Task #1"
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
### 3. No Transitive Circular Dependencies
|
|
297
|
-
|
|
298
|
-
Prevents cycles in dependency chains.
|
|
299
|
-
|
|
300
|
-
```javascript
|
|
301
|
-
// Existing dependencies:
|
|
302
|
-
// Task #1 blocks Task #2
|
|
303
|
-
// Task #2 blocks Task #3
|
|
304
|
-
|
|
305
|
-
// ❌ Invalid (would create cycle)
|
|
306
|
-
{
|
|
307
|
-
action: "add_dependency",
|
|
308
|
-
blocker_task_id: 3,
|
|
309
|
-
blocked_task_id: 1
|
|
310
|
-
}
|
|
311
|
-
// Error: "Circular dependency detected: Task #3 → 1 → 2 → 3"
|
|
312
|
-
```
|
|
313
|
-
|
|
314
|
-
**Cycle Detection Algorithm:**
|
|
315
|
-
- Uses recursive CTE (Common Table Expression)
|
|
316
|
-
- Traverses dependency chain from blocked task
|
|
317
|
-
- Detects if blocker appears in chain
|
|
318
|
-
- Depth limit: 100 levels (prevents infinite loops)
|
|
319
|
-
|
|
320
|
-
### 4. Both Tasks Must Exist
|
|
321
|
-
|
|
322
|
-
Both blocker and blocked tasks must exist in the database.
|
|
323
|
-
|
|
324
|
-
```javascript
|
|
325
|
-
// ❌ Invalid
|
|
326
|
-
{
|
|
327
|
-
action: "add_dependency",
|
|
328
|
-
blocker_task_id: 999, // doesn't exist
|
|
329
|
-
blocked_task_id: 2
|
|
330
|
-
}
|
|
331
|
-
// Error: "Blocker task #999 not found"
|
|
332
|
-
```
|
|
333
|
-
|
|
334
|
-
### 5. Neither Task Can Be Archived
|
|
335
|
-
|
|
336
|
-
Archived tasks cannot participate in dependencies.
|
|
337
|
-
|
|
338
|
-
```javascript
|
|
339
|
-
// ❌ Invalid
|
|
340
|
-
{
|
|
341
|
-
action: "add_dependency",
|
|
342
|
-
blocker_task_id: 1,
|
|
343
|
-
blocked_task_id: 10 // archived
|
|
344
|
-
}
|
|
345
|
-
// Error: "Cannot add dependency: Task #10 is archived"
|
|
346
|
-
```
|
|
347
|
-
|
|
348
|
-
**Rationale:** Archived tasks are completed/inactive. Dependencies only apply to active workflow.
|
|
349
|
-
|
|
350
|
-
## Circular Dependency Detection
|
|
351
|
-
|
|
352
|
-
### Algorithm Overview
|
|
353
|
-
|
|
354
|
-
sqlew uses a **recursive CTE (Common Table Expression)** to detect circular dependencies efficiently.
|
|
355
|
-
|
|
356
|
-
**Steps:**
|
|
357
|
-
1. Start from the task that would be blocked
|
|
358
|
-
2. Follow the chain of dependencies recursively
|
|
359
|
-
3. Check if the blocker appears anywhere in the chain
|
|
360
|
-
4. If yes, reject with detailed cycle path
|
|
361
|
-
|
|
362
|
-
### SQL Implementation
|
|
363
|
-
|
|
364
|
-
```sql
|
|
365
|
-
WITH RECURSIVE dependency_chain AS (
|
|
366
|
-
-- Base case: Start from blocked task
|
|
367
|
-
SELECT blocked_task_id as task_id, 1 as depth
|
|
368
|
-
FROM t_task_dependencies
|
|
369
|
-
WHERE blocker_task_id = ?
|
|
370
|
-
|
|
371
|
-
UNION ALL
|
|
372
|
-
|
|
373
|
-
-- Recursive case: Follow dependency chain
|
|
374
|
-
SELECT d.blocked_task_id, dc.depth + 1
|
|
375
|
-
FROM t_task_dependencies d
|
|
376
|
-
JOIN dependency_chain dc ON d.blocker_task_id = dc.task_id
|
|
377
|
-
WHERE dc.depth < 100 -- Prevent infinite loops
|
|
378
|
-
)
|
|
379
|
-
SELECT task_id FROM dependency_chain WHERE task_id = ?
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
### Example: Transitive Cycle
|
|
383
|
-
|
|
384
|
-
```javascript
|
|
385
|
-
// Existing dependencies:
|
|
386
|
-
// Task #1 blocks Task #2
|
|
387
|
-
// Task #2 blocks Task #3
|
|
388
|
-
// Task #3 blocks Task #4
|
|
389
|
-
|
|
390
|
-
// Attempt to create cycle:
|
|
391
|
-
{
|
|
392
|
-
action: "add_dependency",
|
|
393
|
-
blocker_task_id: 4,
|
|
394
|
-
blocked_task_id: 1
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
// Detection process:
|
|
398
|
-
// 1. Start from Task #1 (would be blocked)
|
|
399
|
-
// 2. Follow chain: 1 → 2 → 3 → 4
|
|
400
|
-
// 3. Found Task #4 in chain (the blocker)
|
|
401
|
-
// 4. Reject with path
|
|
402
|
-
|
|
403
|
-
// Error message:
|
|
404
|
-
"Circular dependency detected: Task #4 → 1 → 2 → 3 → 4"
|
|
405
|
-
```
|
|
406
|
-
|
|
407
|
-
### Performance Characteristics
|
|
408
|
-
|
|
409
|
-
- **Time Complexity:** O(D) where D is dependency depth
|
|
410
|
-
- **Depth Limit:** 100 levels (prevents runaway recursion)
|
|
411
|
-
- **Index Support:** `idx_task_deps_blocked` on `blocked_task_id`
|
|
412
|
-
- **Typical Depth:** 2-5 levels in real workflows
|
|
413
|
-
|
|
414
|
-
## Enhanced Query Actions
|
|
415
|
-
|
|
416
|
-
### list (Enhanced)
|
|
417
|
-
|
|
418
|
-
**New Parameter:**
|
|
419
|
-
- `include_dependency_counts` (optional, boolean): Add dependency counts to metadata
|
|
420
|
-
|
|
421
|
-
**Example:**
|
|
422
|
-
```javascript
|
|
423
|
-
{
|
|
424
|
-
action: "list",
|
|
425
|
-
status: "in_progress",
|
|
426
|
-
include_dependency_counts: true
|
|
427
|
-
}
|
|
428
|
-
```
|
|
429
|
-
|
|
430
|
-
**Response:**
|
|
431
|
-
```javascript
|
|
432
|
-
{
|
|
433
|
-
tasks: [
|
|
434
|
-
{
|
|
435
|
-
task_id: 2,
|
|
436
|
-
title: "Add user profile page",
|
|
437
|
-
status: "in_progress",
|
|
438
|
-
priority: "medium",
|
|
439
|
-
blocked_by_count: 2, // 2 tasks block this
|
|
440
|
-
blocking_count: 1 // This blocks 1 task
|
|
441
|
-
},
|
|
442
|
-
// ... more tasks
|
|
443
|
-
],
|
|
444
|
-
count: 1
|
|
445
|
-
}
|
|
446
|
-
```
|
|
447
|
-
|
|
448
|
-
**Use Cases:**
|
|
449
|
-
- Identify bottleneck tasks (high `blocking_count`)
|
|
450
|
-
- Find blocked tasks (high `blocked_by_count`)
|
|
451
|
-
- Prioritize unblocking tasks
|
|
452
|
-
|
|
453
|
-
### get (Enhanced)
|
|
454
|
-
|
|
455
|
-
**New Parameter:**
|
|
456
|
-
- `include_dependencies` (optional, boolean): Include full dependency arrays
|
|
457
|
-
|
|
458
|
-
**Example:**
|
|
459
|
-
```javascript
|
|
460
|
-
{
|
|
461
|
-
action: "get",
|
|
462
|
-
task_id: 2,
|
|
463
|
-
include_dependencies: true
|
|
464
|
-
}
|
|
465
|
-
```
|
|
466
|
-
|
|
467
|
-
**Response:**
|
|
468
|
-
```javascript
|
|
469
|
-
{
|
|
470
|
-
task: {
|
|
471
|
-
task_id: 2,
|
|
472
|
-
title: "Add user profile page",
|
|
473
|
-
// ... other task fields
|
|
474
|
-
dependencies: {
|
|
475
|
-
blockers: [1, 3], // Task IDs blocking this
|
|
476
|
-
blocking: [5, 7] // Task IDs this blocks
|
|
477
|
-
},
|
|
478
|
-
linked_decisions: [...],
|
|
479
|
-
linked_constraints: [...],
|
|
480
|
-
linked_files: [...]
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
```
|
|
484
|
-
|
|
485
|
-
**Token Efficiency:**
|
|
486
|
-
- Metadata-only by default (just IDs)
|
|
487
|
-
- Use `get_dependencies` with `include_details` for full info
|
|
488
|
-
|
|
489
|
-
## Usage Examples
|
|
490
|
-
|
|
491
|
-
### Sequential Feature Development
|
|
492
|
-
|
|
493
|
-
```javascript
|
|
494
|
-
// Create tasks
|
|
495
|
-
{action: "create", title: "Implement JWT auth"}
|
|
496
|
-
// Returns: {task_id: 1}
|
|
497
|
-
|
|
498
|
-
{action: "create", title: "Add user profile page"}
|
|
499
|
-
// Returns: {task_id: 2}
|
|
500
|
-
|
|
501
|
-
{action: "create", title: "Implement settings page"}
|
|
502
|
-
// Returns: {task_id: 3}
|
|
503
|
-
|
|
504
|
-
// Add dependencies (auth must complete first)
|
|
505
|
-
{action: "add_dependency", blocker_task_id: 1, blocked_task_id: 2}
|
|
506
|
-
{action: "add_dependency", blocker_task_id: 1, blocked_task_id: 3}
|
|
507
|
-
|
|
508
|
-
// Query what's blocked by auth
|
|
509
|
-
{action: "get_dependencies", task_id: 1}
|
|
510
|
-
// Returns:
|
|
511
|
-
// blockers: []
|
|
512
|
-
// blocking: [2, 3] // Profile and settings wait
|
|
513
|
-
```
|
|
514
|
-
|
|
515
|
-
### Multi-Layer Infrastructure
|
|
516
|
-
|
|
517
|
-
```javascript
|
|
518
|
-
// Create infrastructure tasks
|
|
519
|
-
{action: "create", title: "Setup PostgreSQL", layer: "data"}
|
|
520
|
-
// Returns: {task_id: 10}
|
|
521
|
-
|
|
522
|
-
{action: "create", title: "Create user schema", layer: "data"}
|
|
523
|
-
// Returns: {task_id: 11}
|
|
524
|
-
|
|
525
|
-
{action: "create", title: "Implement auth service", layer: "business"}
|
|
526
|
-
// Returns: {task_id: 12}
|
|
527
|
-
|
|
528
|
-
{action: "create", title: "Add login UI", layer: "presentation"}
|
|
529
|
-
// Returns: {task_id: 13}
|
|
530
|
-
|
|
531
|
-
// Add layer dependencies (bottom-up)
|
|
532
|
-
{action: "add_dependency", blocker_task_id: 10, blocked_task_id: 11}
|
|
533
|
-
{action: "add_dependency", blocker_task_id: 11, blocked_task_id: 12}
|
|
534
|
-
{action: "add_dependency", blocker_task_id: 12, blocked_task_id: 13}
|
|
535
|
-
|
|
536
|
-
// Result: data → business → presentation
|
|
537
|
-
```
|
|
538
|
-
|
|
539
|
-
### API Contract Dependencies
|
|
540
|
-
|
|
541
|
-
```javascript
|
|
542
|
-
// Create API contract task
|
|
543
|
-
{action: "create", title: "Define REST API contract"}
|
|
544
|
-
// Returns: {task_id: 20}
|
|
545
|
-
|
|
546
|
-
// Create implementation tasks
|
|
547
|
-
{action: "create", title: "Implement server endpoints"}
|
|
548
|
-
// Returns: {task_id: 21}
|
|
549
|
-
|
|
550
|
-
{action: "create", title: "Implement client SDK"}
|
|
551
|
-
// Returns: {task_id: 22}
|
|
552
|
-
|
|
553
|
-
// Both implementations depend on contract
|
|
554
|
-
{action: "add_dependency", blocker_task_id: 20, blocked_task_id: 21}
|
|
555
|
-
{action: "add_dependency", blocker_task_id: 20, blocked_task_id: 22}
|
|
556
|
-
|
|
557
|
-
// Query contract's impact
|
|
558
|
-
{action: "get_dependencies", task_id: 20, include_details: true}
|
|
559
|
-
// blocking: [
|
|
560
|
-
// {task_id: 21, title: "Implement server endpoints", ...},
|
|
561
|
-
// {task_id: 22, title: "Implement client SDK", ...}
|
|
562
|
-
// ]
|
|
563
|
-
```
|
|
564
|
-
|
|
565
|
-
### Finding Bottlenecks
|
|
566
|
-
|
|
567
|
-
```javascript
|
|
568
|
-
// List all in-progress tasks with dependency counts
|
|
569
|
-
{
|
|
570
|
-
action: "list",
|
|
571
|
-
status: "in_progress",
|
|
572
|
-
include_dependency_counts: true
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
// Response shows blocking_count
|
|
576
|
-
// High blocking_count = bottleneck (many tasks waiting)
|
|
577
|
-
// Prioritize completing these first
|
|
578
|
-
```
|
|
579
|
-
|
|
580
|
-
### Unblocking Workflow
|
|
581
|
-
|
|
582
|
-
```javascript
|
|
583
|
-
// Task #1 completed - remove dependencies to unblock
|
|
584
|
-
{action: "update", task_id: 1, new_status: "done"}
|
|
585
|
-
|
|
586
|
-
// Option 1: Let CASCADE delete handle it (tasks auto-unblock)
|
|
587
|
-
{action: "archive", task_id: 1}
|
|
588
|
-
// Dependencies automatically removed
|
|
589
|
-
|
|
590
|
-
// Option 2: Manually remove specific dependencies
|
|
591
|
-
{action: "remove_dependency", blocker_task_id: 1, blocked_task_id: 2}
|
|
592
|
-
{action: "remove_dependency", blocker_task_id: 1, blocked_task_id: 3}
|
|
593
|
-
```
|
|
594
|
-
|
|
595
|
-
## Best Practices
|
|
596
|
-
|
|
597
|
-
### When to Use Dependencies
|
|
598
|
-
|
|
599
|
-
**✅ Use Dependencies For:**
|
|
600
|
-
- Sequential technical requirements (DB before ORM)
|
|
601
|
-
- Ordered feature rollout (API before UI)
|
|
602
|
-
- Cross-layer dependencies (data → business → presentation)
|
|
603
|
-
- Shared infrastructure (auth before protected routes)
|
|
604
|
-
|
|
605
|
-
**❌ Don't Use Dependencies For:**
|
|
606
|
-
- Parallel/independent features
|
|
607
|
-
- Organizational preferences (not technical blockers)
|
|
608
|
-
- Overly granular tasks (creates complex graphs)
|
|
609
|
-
- Long-term strategic planning (use decisions instead)
|
|
610
|
-
|
|
611
|
-
### Dependency Graph Structure
|
|
612
|
-
|
|
613
|
-
**Good: Linear/Tree Structures**
|
|
614
|
-
```
|
|
615
|
-
Task #1 (root)
|
|
616
|
-
├── Task #2
|
|
617
|
-
└── Task #3
|
|
618
|
-
├── Task #4
|
|
619
|
-
└── Task #5
|
|
620
|
-
```
|
|
621
|
-
|
|
622
|
-
**Bad: Dense Mesh**
|
|
623
|
-
```
|
|
624
|
-
Task #1 ←→ Task #2 ←→ Task #3
|
|
625
|
-
↓ ↓ ↓
|
|
626
|
-
Task #4 ←→ Task #5 ←→ Task #6
|
|
627
|
-
```
|
|
628
|
-
|
|
629
|
-
**Guidelines:**
|
|
630
|
-
- Keep dependency chains short (2-5 levels)
|
|
631
|
-
- Avoid creating many-to-many relationships
|
|
632
|
-
- Use tags for loose grouping, dependencies for hard blocking
|
|
633
|
-
|
|
634
|
-
### Handling Completed Dependencies
|
|
635
|
-
|
|
636
|
-
**Option 1: Archive Completed Tasks**
|
|
637
|
-
```javascript
|
|
638
|
-
// CASCADE deletion automatically removes dependencies
|
|
639
|
-
{action: "archive", task_id: 1}
|
|
640
|
-
// Task #2 and #3 automatically unblocked
|
|
641
|
-
```
|
|
642
|
-
|
|
643
|
-
**Option 2: Keep Task, Remove Dependencies**
|
|
644
|
-
```javascript
|
|
645
|
-
// Keep task history but unblock dependents
|
|
646
|
-
{action: "update", task_id: 1, new_status: "done"}
|
|
647
|
-
{action: "remove_dependency", blocker_task_id: 1, blocked_task_id: 2}
|
|
648
|
-
```
|
|
649
|
-
|
|
650
|
-
**Recommendation:** Archive completed tasks to keep task board clean and auto-unblock dependents.
|
|
651
|
-
|
|
652
|
-
### Avoiding Deadlocks
|
|
653
|
-
|
|
654
|
-
**Problem: Circular Dependencies**
|
|
655
|
-
```javascript
|
|
656
|
-
// ❌ Creates deadlock
|
|
657
|
-
Task #1 blocks Task #2
|
|
658
|
-
Task #2 blocks Task #1
|
|
659
|
-
```
|
|
660
|
-
|
|
661
|
-
**Solution: Validation Prevents This**
|
|
662
|
-
- sqlew automatically rejects circular dependencies
|
|
663
|
-
- No manual deadlock resolution needed
|
|
664
|
-
|
|
665
|
-
**Best Practice:**
|
|
666
|
-
- Plan dependency graph before creating dependencies
|
|
667
|
-
- Use `get_dependencies` to visualize chains
|
|
668
|
-
- Keep chains unidirectional (no cycles)
|
|
669
|
-
|
|
670
|
-
### Token-Efficient Queries
|
|
671
|
-
|
|
672
|
-
**Metadata-Only (Recommended):**
|
|
673
|
-
```javascript
|
|
674
|
-
// Just IDs - minimal tokens
|
|
675
|
-
{action: "get_dependencies", task_id: 2}
|
|
676
|
-
// ~100 bytes total
|
|
677
|
-
```
|
|
678
|
-
|
|
679
|
-
**With Details (When Needed):**
|
|
680
|
-
```javascript
|
|
681
|
-
// Full task metadata
|
|
682
|
-
{action: "get_dependencies", task_id: 2, include_details: true}
|
|
683
|
-
// ~500-1000 bytes total
|
|
684
|
-
```
|
|
685
|
-
|
|
686
|
-
**Use Counts for Overview:**
|
|
687
|
-
```javascript
|
|
688
|
-
// List with counts - cheapest overview
|
|
689
|
-
{action: "list", include_dependency_counts: true}
|
|
690
|
-
// +16 bytes per task (2 integers)
|
|
691
|
-
```
|
|
692
|
-
|
|
693
|
-
## Token Efficiency
|
|
694
|
-
|
|
695
|
-
### Metadata-Only Queries
|
|
696
|
-
|
|
697
|
-
**Default Behavior:**
|
|
698
|
-
- `get_dependencies`: Returns task IDs only (4-8 bytes per ID)
|
|
699
|
-
- `list` with `include_dependency_counts`: Adds 2 integers (8 bytes)
|
|
700
|
-
- Minimal token consumption for workflow queries
|
|
701
|
-
|
|
702
|
-
**Example Comparison:**
|
|
703
|
-
```javascript
|
|
704
|
-
// Metadata-only
|
|
705
|
-
{task_id: 2, blockers: [1, 3], blocking: [5]}
|
|
706
|
-
// ~30 bytes
|
|
707
|
-
|
|
708
|
-
// With details
|
|
709
|
-
{
|
|
710
|
-
task_id: 2,
|
|
711
|
-
blockers: [
|
|
712
|
-
{task_id: 1, title: "Implement JWT auth", status: "in_progress", priority: "high"},
|
|
713
|
-
{task_id: 3, title: "Design schema", status: "done", priority: "medium"}
|
|
714
|
-
],
|
|
715
|
-
blocking: [
|
|
716
|
-
{task_id: 5, title: "Add profile page", status: "todo", priority: "medium"}
|
|
717
|
-
]
|
|
718
|
-
}
|
|
719
|
-
// ~250 bytes
|
|
720
|
-
```
|
|
721
|
-
|
|
722
|
-
**Savings:** ~88% token reduction with metadata-only approach.
|
|
723
|
-
|
|
724
|
-
### Database Efficiency
|
|
725
|
-
|
|
726
|
-
**Schema Optimizations:**
|
|
727
|
-
- Composite primary key (`blocker_task_id`, `blocked_task_id`)
|
|
728
|
-
- Index on `blocked_task_id` for reverse queries
|
|
729
|
-
- CASCADE deletion (no orphaned dependencies)
|
|
730
|
-
- Minimal storage (3 integers per dependency)
|
|
731
|
-
|
|
732
|
-
**Query Performance:**
|
|
733
|
-
- O(1) lookup for direct dependencies
|
|
734
|
-
- O(D) for circular detection (D = depth)
|
|
735
|
-
- Index-backed bidirectional queries
|
|
736
|
-
|
|
737
|
-
## Related Documentation
|
|
738
|
-
|
|
739
|
-
- [TASK_ACTIONS.md](TASK_ACTIONS.md) - Complete action reference
|
|
740
|
-
- [TASK_LINKING.md](TASK_LINKING.md) - Decision/constraint/file linking
|
|
741
|
-
- [TASK_OVERVIEW.md](TASK_OVERVIEW.md) - Task system overview
|
|
742
|
-
- [WORKFLOWS.md](WORKFLOWS.md) - Multi-agent coordination patterns
|
|
743
|
-
- [ARCHITECTURE.md](ARCHITECTURE.md) - Database schema details
|
|
744
|
-
|
|
745
|
-
---
|
|
746
|
-
|
|
747
|
-
**Version History:**
|
|
748
|
-
- 3.2.0 (2025-10-18): Initial release of task dependency feature
|