sqlew 3.9.1 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +60 -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/migrations/v4/20251128000000_drop_all_views.d.ts +24 -0
- package/dist/database/migrations/v4/20251128000000_drop_all_views.d.ts.map +1 -0
- package/dist/database/migrations/v4/20251128000000_drop_all_views.js +67 -0
- package/dist/database/migrations/v4/20251128000000_drop_all_views.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 +65 -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 +4 -4
- package/dist/tools/constraints/actions/get.d.ts.map +1 -1
- package/dist/tools/constraints/actions/get.js +58 -21
- package/dist/tools/constraints/actions/get.js.map +1 -1
- 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 +2 -2
- package/dist/tools/files/actions/get.d.ts.map +1 -1
- package/dist/tools/files/actions/get.js +24 -55
- 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
package/docs/TASK_SYSTEM.md
DELETED
|
@@ -1,1314 +0,0 @@
|
|
|
1
|
-
# Task System - Kanban Task Watcher
|
|
2
|
-
|
|
3
|
-
**Version:** 3.0.0
|
|
4
|
-
**Last Updated:** 2025-10-17
|
|
5
|
-
|
|
6
|
-
## Table of Contents
|
|
7
|
-
|
|
8
|
-
1. [Overview](#overview)
|
|
9
|
-
2. [Architecture](#architecture)
|
|
10
|
-
3. [Quick Start](#quick-start)
|
|
11
|
-
4. [Task Lifecycle](#task-lifecycle)
|
|
12
|
-
5. [Tool Reference](#tool-reference)
|
|
13
|
-
6. [Auto-Stale Detection](#auto-stale-detection)
|
|
14
|
-
7. [Linking System](#linking-system)
|
|
15
|
-
8. [Token Efficiency](#token-efficiency)
|
|
16
|
-
9. [Best Practices](#best-practices)
|
|
17
|
-
10. [Migration Guide](#migration-guide)
|
|
18
|
-
11. [Troubleshooting](#troubleshooting)
|
|
19
|
-
|
|
20
|
-
## Overview
|
|
21
|
-
|
|
22
|
-
The Kanban Task Watcher is an AI-optimized task management system designed to solve token waste from misuse of the `decision` tool for task/todo tracking.
|
|
23
|
-
|
|
24
|
-
### Problem Statement
|
|
25
|
-
|
|
26
|
-
Real-world usage analysis revealed:
|
|
27
|
-
- **204 task-like decisions** in 3-day production usage
|
|
28
|
-
- **~825 tokens** to query 10 task-like decisions (332 bytes/decision average)
|
|
29
|
-
- **No lifecycle management:** Tasks stuck in "in_progress" after interrupts or usage limits
|
|
30
|
-
- **Inefficient queries:** Full text content loaded even for simple list operations
|
|
31
|
-
|
|
32
|
-
### Solution
|
|
33
|
-
|
|
34
|
-
Dedicated Kanban task system with:
|
|
35
|
-
- **70% token reduction** via metadata-only list queries
|
|
36
|
-
- **Auto-stale detection** to handle interrupted sessions
|
|
37
|
-
- **Status validation** with enforced state machine transitions
|
|
38
|
-
- **Linking system** to connect tasks with decisions, constraints, files
|
|
39
|
-
- **Flat hierarchy** for AI simplicity (no subtasks)
|
|
40
|
-
|
|
41
|
-
## Architecture
|
|
42
|
-
|
|
43
|
-
### Database Schema
|
|
44
|
-
|
|
45
|
-
#### Master Tables
|
|
46
|
-
|
|
47
|
-
**`m_task_statuses`** - Task status definitions
|
|
48
|
-
```sql
|
|
49
|
-
CREATE TABLE m_task_statuses (
|
|
50
|
-
status_id INTEGER PRIMARY KEY,
|
|
51
|
-
status_name TEXT NOT NULL UNIQUE
|
|
52
|
-
);
|
|
53
|
-
|
|
54
|
-
-- 6 Statuses:
|
|
55
|
-
-- 1: todo
|
|
56
|
-
-- 2: in_progress
|
|
57
|
-
-- 3: waiting_review
|
|
58
|
-
-- 4: blocked
|
|
59
|
-
-- 5: done
|
|
60
|
-
-- 6: archived
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
#### Transaction Tables
|
|
64
|
-
|
|
65
|
-
**`t_tasks`** - Core task data
|
|
66
|
-
```sql
|
|
67
|
-
CREATE TABLE t_tasks (
|
|
68
|
-
task_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
69
|
-
title TEXT NOT NULL,
|
|
70
|
-
status_id INTEGER NOT NULL DEFAULT 1,
|
|
71
|
-
priority_id INTEGER,
|
|
72
|
-
assignee TEXT,
|
|
73
|
-
layer_id INTEGER,
|
|
74
|
-
created_ts INTEGER NOT NULL DEFAULT (unixepoch()),
|
|
75
|
-
updated_ts INTEGER NOT NULL DEFAULT (unixepoch()),
|
|
76
|
-
FOREIGN KEY (status_id) REFERENCES m_task_statuses(status_id),
|
|
77
|
-
FOREIGN KEY (priority_id) REFERENCES m_priorities(priority_id),
|
|
78
|
-
FOREIGN KEY (layer_id) REFERENCES m_layers(layer_id)
|
|
79
|
-
);
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
**`t_task_details`** - Task descriptions (separated for token efficiency)
|
|
83
|
-
```sql
|
|
84
|
-
CREATE TABLE t_task_details (
|
|
85
|
-
task_id INTEGER PRIMARY KEY,
|
|
86
|
-
description TEXT,
|
|
87
|
-
FOREIGN KEY (task_id) REFERENCES t_tasks(task_id) ON DELETE CASCADE
|
|
88
|
-
);
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
**`t_task_tags`** - Many-to-many task tags
|
|
92
|
-
```sql
|
|
93
|
-
CREATE TABLE t_task_tags (
|
|
94
|
-
task_id INTEGER NOT NULL,
|
|
95
|
-
tag_id INTEGER NOT NULL,
|
|
96
|
-
PRIMARY KEY (task_id, tag_id),
|
|
97
|
-
FOREIGN KEY (task_id) REFERENCES t_tasks(task_id) ON DELETE CASCADE,
|
|
98
|
-
FOREIGN KEY (tag_id) REFERENCES m_tags(tag_id) ON DELETE CASCADE
|
|
99
|
-
);
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
**`t_task_decision_links`** - Link tasks to decisions
|
|
103
|
-
```sql
|
|
104
|
-
CREATE TABLE t_task_decision_links (
|
|
105
|
-
task_id INTEGER NOT NULL,
|
|
106
|
-
decision_key_id INTEGER NOT NULL,
|
|
107
|
-
PRIMARY KEY (task_id, decision_key_id),
|
|
108
|
-
FOREIGN KEY (task_id) REFERENCES t_tasks(task_id) ON DELETE CASCADE,
|
|
109
|
-
FOREIGN KEY (decision_key_id) REFERENCES m_context_keys(key_id) ON DELETE CASCADE
|
|
110
|
-
);
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
**`t_task_constraint_links`** - Link tasks to constraints
|
|
114
|
-
```sql
|
|
115
|
-
CREATE TABLE t_task_constraint_links (
|
|
116
|
-
task_id INTEGER NOT NULL,
|
|
117
|
-
constraint_id INTEGER NOT NULL,
|
|
118
|
-
PRIMARY KEY (task_id, constraint_id),
|
|
119
|
-
FOREIGN KEY (task_id) REFERENCES t_tasks(task_id) ON DELETE CASCADE,
|
|
120
|
-
FOREIGN KEY (constraint_id) REFERENCES t_constraints(constraint_id) ON DELETE CASCADE
|
|
121
|
-
);
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
**`t_task_file_links`** - Link tasks to file changes
|
|
125
|
-
```sql
|
|
126
|
-
CREATE TABLE t_task_file_links (
|
|
127
|
-
task_id INTEGER NOT NULL,
|
|
128
|
-
file_id INTEGER NOT NULL,
|
|
129
|
-
PRIMARY KEY (task_id, file_id),
|
|
130
|
-
FOREIGN KEY (task_id) REFERENCES t_tasks(task_id) ON DELETE CASCADE,
|
|
131
|
-
FOREIGN KEY (file_id) REFERENCES m_files(file_id) ON DELETE CASCADE
|
|
132
|
-
);
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
#### Views
|
|
136
|
-
|
|
137
|
-
**`v_task_board`** - Token-efficient task queries (metadata only, no descriptions)
|
|
138
|
-
```sql
|
|
139
|
-
CREATE VIEW v_task_board AS
|
|
140
|
-
SELECT
|
|
141
|
-
t.task_id,
|
|
142
|
-
t.title,
|
|
143
|
-
s.status_name,
|
|
144
|
-
p.priority_name,
|
|
145
|
-
t.assignee,
|
|
146
|
-
l.layer_name,
|
|
147
|
-
GROUP_CONCAT(tag.tag_name, ',') AS tags,
|
|
148
|
-
t.created_ts,
|
|
149
|
-
t.updated_ts
|
|
150
|
-
FROM t_tasks t
|
|
151
|
-
LEFT JOIN m_task_statuses s ON t.status_id = s.status_id
|
|
152
|
-
LEFT JOIN m_priorities p ON t.priority_id = p.priority_id
|
|
153
|
-
LEFT JOIN m_layers l ON t.layer_id = l.layer_id
|
|
154
|
-
LEFT JOIN t_task_tags tt ON t.task_id = tt.task_id
|
|
155
|
-
LEFT JOIN m_tags tag ON tt.tag_id = tag.tag_id
|
|
156
|
-
GROUP BY t.task_id;
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
**Token efficiency:** ~100 bytes/task (vs ~332 bytes for full task with description)
|
|
160
|
-
|
|
161
|
-
#### Triggers
|
|
162
|
-
|
|
163
|
-
**`trg_log_task_create`** - Automatic activity logging on task creation
|
|
164
|
-
```sql
|
|
165
|
-
CREATE TRIGGER trg_log_task_create AFTER INSERT ON t_tasks
|
|
166
|
-
BEGIN
|
|
167
|
-
INSERT INTO t_activity_log (agent_id, entity_type, entity_id, action_type, details, ts)
|
|
168
|
-
VALUES (
|
|
169
|
-
(SELECT agent_id FROM m_agents WHERE agent_name = NEW.assignee),
|
|
170
|
-
'task',
|
|
171
|
-
NEW.task_id,
|
|
172
|
-
'create',
|
|
173
|
-
json_object('title', NEW.title, 'status_id', NEW.status_id),
|
|
174
|
-
NEW.created_ts
|
|
175
|
-
);
|
|
176
|
-
END;
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
**`trg_log_task_status_change`** - Log status transitions
|
|
180
|
-
```sql
|
|
181
|
-
CREATE TRIGGER trg_log_task_status_change AFTER UPDATE OF status_id ON t_tasks
|
|
182
|
-
WHEN OLD.status_id != NEW.status_id
|
|
183
|
-
BEGIN
|
|
184
|
-
INSERT INTO t_activity_log (agent_id, entity_type, entity_id, action_type, details, ts)
|
|
185
|
-
VALUES (
|
|
186
|
-
(SELECT agent_id FROM m_agents WHERE agent_name = NEW.assignee),
|
|
187
|
-
'task',
|
|
188
|
-
NEW.task_id,
|
|
189
|
-
'status_change',
|
|
190
|
-
json_object('old_status', OLD.status_id, 'new_status', NEW.status_id),
|
|
191
|
-
unixepoch()
|
|
192
|
-
);
|
|
193
|
-
END;
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
**`trg_update_task_timestamp`** - Auto-update task timestamp
|
|
197
|
-
```sql
|
|
198
|
-
CREATE TRIGGER trg_update_task_timestamp AFTER UPDATE ON t_tasks
|
|
199
|
-
BEGIN
|
|
200
|
-
UPDATE t_tasks SET updated_ts = unixepoch() WHERE task_id = NEW.task_id;
|
|
201
|
-
END;
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
### Configuration
|
|
205
|
-
|
|
206
|
-
Auto-stale detection config keys in `m_config` table:
|
|
207
|
-
- `task_auto_stale_enabled` ('1'): Enable/disable (0=false, 1=true)
|
|
208
|
-
- `task_stale_hours_in_progress` ('2'): Hours before in_progress → waiting_review
|
|
209
|
-
- `task_stale_hours_waiting_review` ('24'): Hours before waiting_review → todo
|
|
210
|
-
|
|
211
|
-
> See [Auto-Stale Detection](#auto-stale-detection) section for configuration details.
|
|
212
|
-
|
|
213
|
-
## Quick Start
|
|
214
|
-
|
|
215
|
-
### Creating Your First Task
|
|
216
|
-
|
|
217
|
-
```javascript
|
|
218
|
-
// Minimal task creation
|
|
219
|
-
{
|
|
220
|
-
action: "create",
|
|
221
|
-
title: "Implement JWT authentication"
|
|
222
|
-
}
|
|
223
|
-
// Returns: { task_id: 1, status: "todo" }
|
|
224
|
-
|
|
225
|
-
// Complete task creation with metadata
|
|
226
|
-
{
|
|
227
|
-
action: "create",
|
|
228
|
-
title: "Implement JWT authentication",
|
|
229
|
-
description: "Add JWT-based authentication to API endpoints with refresh token support",
|
|
230
|
-
status: "todo",
|
|
231
|
-
priority: "high",
|
|
232
|
-
assignee: "auth-agent",
|
|
233
|
-
tags: ["security", "authentication", "api"],
|
|
234
|
-
layer: "business"
|
|
235
|
-
}
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
### Listing Tasks
|
|
239
|
-
|
|
240
|
-
```javascript
|
|
241
|
-
// List all tasks (metadata only - token efficient)
|
|
242
|
-
{
|
|
243
|
-
action: "list"
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
// List filtered tasks
|
|
247
|
-
{
|
|
248
|
-
action: "list",
|
|
249
|
-
status: "in_progress",
|
|
250
|
-
assignee: "auth-agent",
|
|
251
|
-
tags: ["security"]
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
// Response includes stale_tasks_transitioned count
|
|
255
|
-
{
|
|
256
|
-
tasks: [
|
|
257
|
-
{
|
|
258
|
-
task_id: 1,
|
|
259
|
-
title: "Implement JWT authentication",
|
|
260
|
-
status_name: "in_progress",
|
|
261
|
-
priority_name: "high",
|
|
262
|
-
assignee: "auth-agent",
|
|
263
|
-
layer_name: "business",
|
|
264
|
-
tags: "security,authentication,api",
|
|
265
|
-
created_ts: 1697545200,
|
|
266
|
-
updated_ts: 1697545800
|
|
267
|
-
}
|
|
268
|
-
],
|
|
269
|
-
count: 1,
|
|
270
|
-
stale_tasks_transitioned: 0
|
|
271
|
-
}
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
### Getting Task Details
|
|
275
|
-
|
|
276
|
-
```javascript
|
|
277
|
-
// Get full task with description
|
|
278
|
-
{
|
|
279
|
-
action: "get",
|
|
280
|
-
task_id: 1
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
// Response includes description and links
|
|
284
|
-
{
|
|
285
|
-
task_id: 1,
|
|
286
|
-
title: "Implement JWT authentication",
|
|
287
|
-
description: "Add JWT-based authentication to API endpoints with refresh token support",
|
|
288
|
-
status: "in_progress",
|
|
289
|
-
priority: "high",
|
|
290
|
-
assignee: "auth-agent",
|
|
291
|
-
layer: "business",
|
|
292
|
-
tags: ["security", "authentication", "api"],
|
|
293
|
-
created_ts: 1697545200,
|
|
294
|
-
updated_ts: 1697545800,
|
|
295
|
-
decision_links: ["auth_method", "jwt_secret"],
|
|
296
|
-
constraint_links: [5],
|
|
297
|
-
file_links: ["/src/auth/jwt.ts", "/src/auth/middleware.ts"]
|
|
298
|
-
}
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
### Moving Tasks
|
|
302
|
-
|
|
303
|
-
```javascript
|
|
304
|
-
// Move task to next status (validated)
|
|
305
|
-
{
|
|
306
|
-
action: "move",
|
|
307
|
-
task_id: 1,
|
|
308
|
-
new_status: "waiting_review"
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
// Error if invalid transition
|
|
312
|
-
{
|
|
313
|
-
action: "move",
|
|
314
|
-
task_id: 1,
|
|
315
|
-
new_status: "archived" // Invalid: can't go from in_progress to archived
|
|
316
|
-
}
|
|
317
|
-
// Returns: Error: Invalid status transition from in_progress to archived
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
### Linking Tasks
|
|
321
|
-
|
|
322
|
-
```javascript
|
|
323
|
-
// Link to decision
|
|
324
|
-
{
|
|
325
|
-
action: "link",
|
|
326
|
-
task_id: 1,
|
|
327
|
-
link_type: "decision",
|
|
328
|
-
link_key: "auth_method"
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
// Link to constraint
|
|
332
|
-
{
|
|
333
|
-
action: "link",
|
|
334
|
-
task_id: 1,
|
|
335
|
-
link_type: "constraint",
|
|
336
|
-
link_id: 5
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
// Link to file
|
|
340
|
-
{
|
|
341
|
-
action: "link",
|
|
342
|
-
task_id: 1,
|
|
343
|
-
link_type: "file",
|
|
344
|
-
link_path: "/src/auth/jwt.ts"
|
|
345
|
-
}
|
|
346
|
-
```
|
|
347
|
-
|
|
348
|
-
## Task Lifecycle
|
|
349
|
-
|
|
350
|
-
### Status Definitions
|
|
351
|
-
|
|
352
|
-
| Status | ID | Description | Use Case |
|
|
353
|
-
|--------|----|-----------|----|
|
|
354
|
-
| `todo` | 1 | Not yet started | Backlog, planned work |
|
|
355
|
-
| `in_progress` | 2 | Actively being worked on | Current focus |
|
|
356
|
-
| `waiting_review` | 3 | Awaiting feedback or approval | Code review, design review |
|
|
357
|
-
| `blocked` | 4 | Cannot proceed due to blocker | Dependency, question, issue |
|
|
358
|
-
| `done` | 5 | Completed | Finished work |
|
|
359
|
-
| `archived` | 6 | Completed and archived | Historical reference |
|
|
360
|
-
|
|
361
|
-
### State Machine Transitions
|
|
362
|
-
|
|
363
|
-
```
|
|
364
|
-
todo → in_progress → waiting_review → done → archived
|
|
365
|
-
↓ ↓
|
|
366
|
-
blocked ────────┘
|
|
367
|
-
```
|
|
368
|
-
|
|
369
|
-
**Valid Transitions:**
|
|
370
|
-
|
|
371
|
-
| From Status | To Status(es) |
|
|
372
|
-
|-------------|--------------|
|
|
373
|
-
| `todo` | `in_progress`, `blocked` |
|
|
374
|
-
| `in_progress` | `waiting_review`, `blocked`, `done` |
|
|
375
|
-
| `waiting_review` | `in_progress`, `todo`, `done` |
|
|
376
|
-
| `blocked` | `todo`, `in_progress` |
|
|
377
|
-
| `done` | `archived` |
|
|
378
|
-
| `archived` | *(terminal state)* |
|
|
379
|
-
|
|
380
|
-
**Validation:**
|
|
381
|
-
- Enforced by `moveTask()` function
|
|
382
|
-
- Invalid transitions return error
|
|
383
|
-
- Use `update` action to bypass validation (use with caution)
|
|
384
|
-
|
|
385
|
-
### Auto-Stale Transitions
|
|
386
|
-
|
|
387
|
-
Tasks automatically transition when idle:
|
|
388
|
-
|
|
389
|
-
1. **`in_progress` → `waiting_review`** (>2 hours idle)
|
|
390
|
-
- Rationale: Likely waiting for review or hit usage limit
|
|
391
|
-
|
|
392
|
-
2. **`waiting_review` → `todo`** (>24 hours idle)
|
|
393
|
-
- Rationale: Review not happening, reset to backlog
|
|
394
|
-
|
|
395
|
-
**When It Runs:** Automatically before `list` and `move` actions
|
|
396
|
-
|
|
397
|
-
> **Configuration:** See [Auto-Stale Detection](#auto-stale-detection) section for detailed configuration options.
|
|
398
|
-
|
|
399
|
-
## Tool Reference
|
|
400
|
-
|
|
401
|
-
### Action: `create`
|
|
402
|
-
|
|
403
|
-
Create a new task.
|
|
404
|
-
|
|
405
|
-
**Required Parameters:**
|
|
406
|
-
- `action`: "create"
|
|
407
|
-
- `title`: Task title (string)
|
|
408
|
-
|
|
409
|
-
**Optional Parameters:**
|
|
410
|
-
- `description`: Full task description (string)
|
|
411
|
-
- `status`: Initial status (string: "todo", "in_progress", "waiting_review", "blocked", "done", "archived") - default: "todo"
|
|
412
|
-
- `priority`: Priority level (string: "low", "medium", "high", "critical")
|
|
413
|
-
- `assignee`: Agent or user assigned (string)
|
|
414
|
-
- `tags`: Array of tags (string[])
|
|
415
|
-
- `layer`: Architecture layer (string) - See [AI Agent Guide](AI_AGENT_GUIDE.md#6-always-specify-layer-for-decisions) for layer definitions
|
|
416
|
-
|
|
417
|
-
**Example:**
|
|
418
|
-
```javascript
|
|
419
|
-
{
|
|
420
|
-
action: "create",
|
|
421
|
-
title: "Implement JWT authentication",
|
|
422
|
-
description: "Add JWT-based authentication with refresh tokens",
|
|
423
|
-
status: "todo",
|
|
424
|
-
priority: "high",
|
|
425
|
-
assignee: "auth-agent",
|
|
426
|
-
tags: ["security", "authentication"],
|
|
427
|
-
layer: "business"
|
|
428
|
-
}
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
**Response:**
|
|
432
|
-
```javascript
|
|
433
|
-
{
|
|
434
|
-
task_id: 1,
|
|
435
|
-
message: "Task created successfully"
|
|
436
|
-
}
|
|
437
|
-
```
|
|
438
|
-
|
|
439
|
-
### Action: `update`
|
|
440
|
-
|
|
441
|
-
Update existing task fields.
|
|
442
|
-
|
|
443
|
-
**Required Parameters:**
|
|
444
|
-
- `action`: "update"
|
|
445
|
-
- `task_id`: Task ID (number)
|
|
446
|
-
|
|
447
|
-
**Optional Parameters (at least one required):**
|
|
448
|
-
- `status`: New status (string)
|
|
449
|
-
- `description`: New description (string)
|
|
450
|
-
- `priority`: New priority (string)
|
|
451
|
-
- `assignee`: New assignee (string)
|
|
452
|
-
- `tags`: New tags array (string[]) - replaces existing tags
|
|
453
|
-
- `layer`: New layer (string)
|
|
454
|
-
|
|
455
|
-
**Note:** Use `move` action for status transitions with validation.
|
|
456
|
-
|
|
457
|
-
**Example:**
|
|
458
|
-
```javascript
|
|
459
|
-
{
|
|
460
|
-
action: "update",
|
|
461
|
-
task_id: 1,
|
|
462
|
-
description: "Updated requirements: Add OAuth2 support",
|
|
463
|
-
priority: "critical"
|
|
464
|
-
}
|
|
465
|
-
```
|
|
466
|
-
|
|
467
|
-
**Response:**
|
|
468
|
-
```javascript
|
|
469
|
-
{
|
|
470
|
-
success: true,
|
|
471
|
-
message: "Task updated successfully"
|
|
472
|
-
}
|
|
473
|
-
```
|
|
474
|
-
|
|
475
|
-
### Action: `get`
|
|
476
|
-
|
|
477
|
-
Get single task with full details.
|
|
478
|
-
|
|
479
|
-
**Required Parameters:**
|
|
480
|
-
- `action`: "get"
|
|
481
|
-
- `task_id`: Task ID (number)
|
|
482
|
-
|
|
483
|
-
**Example:**
|
|
484
|
-
```javascript
|
|
485
|
-
{
|
|
486
|
-
action: "get",
|
|
487
|
-
task_id: 1
|
|
488
|
-
}
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
**Response:**
|
|
492
|
-
```javascript
|
|
493
|
-
{
|
|
494
|
-
task_id: 1,
|
|
495
|
-
title: "Implement JWT authentication",
|
|
496
|
-
description: "Add JWT-based authentication with refresh tokens",
|
|
497
|
-
status: "in_progress",
|
|
498
|
-
priority: "high",
|
|
499
|
-
assignee: "auth-agent",
|
|
500
|
-
layer: "business",
|
|
501
|
-
tags: ["security", "authentication"],
|
|
502
|
-
created_ts: 1697545200,
|
|
503
|
-
updated_ts: 1697545800,
|
|
504
|
-
decision_links: ["auth_method"],
|
|
505
|
-
constraint_links: [5],
|
|
506
|
-
file_links: ["/src/auth/jwt.ts"]
|
|
507
|
-
}
|
|
508
|
-
```
|
|
509
|
-
|
|
510
|
-
### Action: `list`
|
|
511
|
-
|
|
512
|
-
List tasks with filtering (metadata only, no descriptions).
|
|
513
|
-
|
|
514
|
-
**Required Parameters:**
|
|
515
|
-
- `action`: "list"
|
|
516
|
-
|
|
517
|
-
**Optional Parameters:**
|
|
518
|
-
- `status`: Filter by status (string)
|
|
519
|
-
- `priority`: Filter by priority (string)
|
|
520
|
-
- `assignee`: Filter by assignee (string)
|
|
521
|
-
- `tags`: Filter by tags (string[])
|
|
522
|
-
- `layer`: Filter by layer (string)
|
|
523
|
-
- `limit`: Maximum results (number) - default: 100
|
|
524
|
-
|
|
525
|
-
**Example:**
|
|
526
|
-
```javascript
|
|
527
|
-
{
|
|
528
|
-
action: "list",
|
|
529
|
-
status: "in_progress",
|
|
530
|
-
assignee: "auth-agent",
|
|
531
|
-
tags: ["security"]
|
|
532
|
-
}
|
|
533
|
-
```
|
|
534
|
-
|
|
535
|
-
**Response:**
|
|
536
|
-
```javascript
|
|
537
|
-
{
|
|
538
|
-
tasks: [
|
|
539
|
-
{
|
|
540
|
-
task_id: 1,
|
|
541
|
-
title: "Implement JWT authentication",
|
|
542
|
-
status_name: "in_progress",
|
|
543
|
-
priority_name: "high",
|
|
544
|
-
assignee: "auth-agent",
|
|
545
|
-
layer_name: "business",
|
|
546
|
-
tags: "security,authentication",
|
|
547
|
-
created_ts: 1697545200,
|
|
548
|
-
updated_ts: 1697545800
|
|
549
|
-
}
|
|
550
|
-
],
|
|
551
|
-
count: 1,
|
|
552
|
-
stale_tasks_transitioned: 0
|
|
553
|
-
}
|
|
554
|
-
```
|
|
555
|
-
|
|
556
|
-
**Token Efficiency:**
|
|
557
|
-
- ~100 bytes/task (no descriptions)
|
|
558
|
-
- Use `get` for full details when needed
|
|
559
|
-
|
|
560
|
-
### Action: `move`
|
|
561
|
-
|
|
562
|
-
Move task to new status with validation.
|
|
563
|
-
|
|
564
|
-
**Required Parameters:**
|
|
565
|
-
- `action`: "move"
|
|
566
|
-
- `task_id`: Task ID (number)
|
|
567
|
-
- `new_status`: Target status (string)
|
|
568
|
-
|
|
569
|
-
**Example:**
|
|
570
|
-
```javascript
|
|
571
|
-
{
|
|
572
|
-
action: "move",
|
|
573
|
-
task_id: 1,
|
|
574
|
-
new_status: "waiting_review"
|
|
575
|
-
}
|
|
576
|
-
```
|
|
577
|
-
|
|
578
|
-
**Response (success):**
|
|
579
|
-
```javascript
|
|
580
|
-
{
|
|
581
|
-
success: true,
|
|
582
|
-
message: "Task moved from in_progress to waiting_review"
|
|
583
|
-
}
|
|
584
|
-
```
|
|
585
|
-
|
|
586
|
-
**Response (invalid transition):**
|
|
587
|
-
```javascript
|
|
588
|
-
{
|
|
589
|
-
error: "Invalid status transition from in_progress to archived. Valid transitions: waiting_review, blocked, done"
|
|
590
|
-
}
|
|
591
|
-
```
|
|
592
|
-
|
|
593
|
-
**Auto-Stale Detection:**
|
|
594
|
-
- Runs before move operation
|
|
595
|
-
- Returns `stale_tasks_transitioned` count
|
|
596
|
-
|
|
597
|
-
### Action: `link`
|
|
598
|
-
|
|
599
|
-
Link task to decision, constraint, or file.
|
|
600
|
-
|
|
601
|
-
**Required Parameters:**
|
|
602
|
-
- `action`: "link"
|
|
603
|
-
- `task_id`: Task ID (number)
|
|
604
|
-
- `link_type`: Link type (string: "decision", "constraint", "file")
|
|
605
|
-
|
|
606
|
-
**Type-Specific Required Parameters:**
|
|
607
|
-
- `link_type="decision"`: `link_key` (string) - Decision key
|
|
608
|
-
- `link_type="constraint"`: `link_id` (number) - Constraint ID
|
|
609
|
-
- `link_type="file"`: `link_path` (string) - File path
|
|
610
|
-
|
|
611
|
-
**Examples:**
|
|
612
|
-
```javascript
|
|
613
|
-
// Link to decision
|
|
614
|
-
{
|
|
615
|
-
action: "link",
|
|
616
|
-
task_id: 1,
|
|
617
|
-
link_type: "decision",
|
|
618
|
-
link_key: "auth_method"
|
|
619
|
-
}
|
|
620
|
-
|
|
621
|
-
// Link to constraint
|
|
622
|
-
{
|
|
623
|
-
action: "link",
|
|
624
|
-
task_id: 1,
|
|
625
|
-
link_type: "constraint",
|
|
626
|
-
link_id: 5
|
|
627
|
-
}
|
|
628
|
-
|
|
629
|
-
// Link to file
|
|
630
|
-
{
|
|
631
|
-
action: "link",
|
|
632
|
-
task_id: 1,
|
|
633
|
-
link_type: "file",
|
|
634
|
-
link_path: "/src/auth/jwt.ts"
|
|
635
|
-
}
|
|
636
|
-
```
|
|
637
|
-
|
|
638
|
-
**Response:**
|
|
639
|
-
```javascript
|
|
640
|
-
{
|
|
641
|
-
success: true,
|
|
642
|
-
message: "Task linked to decision 'auth_method'"
|
|
643
|
-
}
|
|
644
|
-
```
|
|
645
|
-
|
|
646
|
-
### Action: `archive`
|
|
647
|
-
|
|
648
|
-
Archive completed task (soft delete).
|
|
649
|
-
|
|
650
|
-
**Required Parameters:**
|
|
651
|
-
- `action`: "archive"
|
|
652
|
-
- `task_id`: Task ID (number)
|
|
653
|
-
|
|
654
|
-
**Example:**
|
|
655
|
-
```javascript
|
|
656
|
-
{
|
|
657
|
-
action: "archive",
|
|
658
|
-
task_id: 1
|
|
659
|
-
}
|
|
660
|
-
```
|
|
661
|
-
|
|
662
|
-
**Response:**
|
|
663
|
-
```javascript
|
|
664
|
-
{
|
|
665
|
-
success: true,
|
|
666
|
-
message: "Task archived successfully"
|
|
667
|
-
}
|
|
668
|
-
```
|
|
669
|
-
|
|
670
|
-
**Note:** Only tasks with `status="done"` can be archived.
|
|
671
|
-
|
|
672
|
-
### Action: `create_batch`
|
|
673
|
-
|
|
674
|
-
Create multiple tasks atomically or best-effort.
|
|
675
|
-
|
|
676
|
-
**Required Parameters:**
|
|
677
|
-
- `action`: "create_batch"
|
|
678
|
-
- `tasks`: Array of task objects (max 50)
|
|
679
|
-
|
|
680
|
-
**Optional Parameters:**
|
|
681
|
-
- `atomic`: Boolean (default: true) - All-or-nothing vs best-effort mode
|
|
682
|
-
|
|
683
|
-
**Example:**
|
|
684
|
-
```javascript
|
|
685
|
-
{
|
|
686
|
-
action: "create_batch",
|
|
687
|
-
tasks: [
|
|
688
|
-
{
|
|
689
|
-
title: "Setup database schema",
|
|
690
|
-
status: "todo",
|
|
691
|
-
priority: "high",
|
|
692
|
-
assignee: "db-agent"
|
|
693
|
-
},
|
|
694
|
-
{
|
|
695
|
-
title: "Implement API endpoints",
|
|
696
|
-
status: "todo",
|
|
697
|
-
priority: "medium",
|
|
698
|
-
assignee: "api-agent"
|
|
699
|
-
}
|
|
700
|
-
],
|
|
701
|
-
atomic: false // Recommended for AI agents - allows partial success
|
|
702
|
-
}
|
|
703
|
-
```
|
|
704
|
-
|
|
705
|
-
**Response (atomic=true, success):**
|
|
706
|
-
```javascript
|
|
707
|
-
{
|
|
708
|
-
success: true,
|
|
709
|
-
created_count: 2,
|
|
710
|
-
task_ids: [1, 2]
|
|
711
|
-
}
|
|
712
|
-
```
|
|
713
|
-
|
|
714
|
-
**Response (atomic=false, partial success):**
|
|
715
|
-
```javascript
|
|
716
|
-
{
|
|
717
|
-
success: true,
|
|
718
|
-
created_count: 1,
|
|
719
|
-
failed_count: 1,
|
|
720
|
-
task_ids: [1],
|
|
721
|
-
errors: ["Task 2: Invalid priority 'ultra-high'"]
|
|
722
|
-
}
|
|
723
|
-
```
|
|
724
|
-
|
|
725
|
-
> **Note on Atomic Mode:** For AI agents, `atomic: false` is recommended to avoid transaction failures. See [AI Agent Guide - Batch Operations](AI_AGENT_GUIDE.md#batch-operations-guide) for details.
|
|
726
|
-
|
|
727
|
-
### Action: `help`
|
|
728
|
-
|
|
729
|
-
Get comprehensive on-demand documentation.
|
|
730
|
-
|
|
731
|
-
**Required Parameters:**
|
|
732
|
-
- `action`: "help"
|
|
733
|
-
|
|
734
|
-
**Example:**
|
|
735
|
-
```javascript
|
|
736
|
-
{
|
|
737
|
-
action: "help"
|
|
738
|
-
}
|
|
739
|
-
```
|
|
740
|
-
|
|
741
|
-
**Response:**
|
|
742
|
-
- Complete tool documentation
|
|
743
|
-
- Parameter matrices
|
|
744
|
-
- Examples
|
|
745
|
-
- Status transition rules
|
|
746
|
-
- Token efficiency tips
|
|
747
|
-
|
|
748
|
-
## Auto-Stale Detection
|
|
749
|
-
|
|
750
|
-
### Overview
|
|
751
|
-
|
|
752
|
-
Auto-stale detection automatically transitions idle tasks to prevent them from getting stuck.
|
|
753
|
-
|
|
754
|
-
**Why It's Needed:**
|
|
755
|
-
- AI agents hit usage limits mid-task
|
|
756
|
-
- Sessions get interrupted (network, timeout)
|
|
757
|
-
- Code generation takes longer than expected
|
|
758
|
-
- Reviews don't happen promptly
|
|
759
|
-
|
|
760
|
-
### Detection Logic
|
|
761
|
-
|
|
762
|
-
**Implementation:** `src/utils/task-stale-detection.ts`
|
|
763
|
-
|
|
764
|
-
The logic:
|
|
765
|
-
1. Check if enabled via `task_auto_stale_enabled` config
|
|
766
|
-
2. Get threshold hours/days from config
|
|
767
|
-
3. Run SQL UPDATE to transition stale tasks based on `updated_ts`
|
|
768
|
-
4. Return count of transitioned tasks
|
|
769
|
-
|
|
770
|
-
**Transition Rules:**
|
|
771
|
-
1. **`in_progress` → `waiting_review`** (>2 hours idle)
|
|
772
|
-
2. **`waiting_review` → `todo`** (>24 hours idle)
|
|
773
|
-
3. **`done` → `archived`** (>48 hours idle, weekend-aware) - **Auto-Archive**
|
|
774
|
-
|
|
775
|
-
SQL Pattern:
|
|
776
|
-
```sql
|
|
777
|
-
UPDATE t_tasks
|
|
778
|
-
SET status_id = ?, updated_ts = unixepoch()
|
|
779
|
-
WHERE status_id = ? AND updated_ts < unixepoch() - ?
|
|
780
|
-
```
|
|
781
|
-
|
|
782
|
-
### When It Runs
|
|
783
|
-
|
|
784
|
-
1. **Before `list` action**
|
|
785
|
-
- Ensures stale tasks show correct status
|
|
786
|
-
- Returns `stale_tasks_transitioned` count
|
|
787
|
-
- Returns `archived_tasks` count
|
|
788
|
-
|
|
789
|
-
2. **Before `move` action**
|
|
790
|
-
- Prevents moving already-stale tasks
|
|
791
|
-
- Ensures status consistency
|
|
792
|
-
|
|
793
|
-
3. **On database startup**
|
|
794
|
-
- Maintenance on initialization
|
|
795
|
-
- Cleans up stale/old tasks
|
|
796
|
-
|
|
797
|
-
### Configuration
|
|
798
|
-
|
|
799
|
-
**Via MCP Tool (config):**
|
|
800
|
-
```javascript
|
|
801
|
-
// Update auto-archive threshold
|
|
802
|
-
{
|
|
803
|
-
action: "update",
|
|
804
|
-
auto_archive_done_days: "3" // Archive after 3 days instead of 2
|
|
805
|
-
}
|
|
806
|
-
|
|
807
|
-
// Enable weekend-aware mode (affects auto-archive, messages, files)
|
|
808
|
-
{
|
|
809
|
-
action: "update",
|
|
810
|
-
autodelete_ignore_weekend: "1"
|
|
811
|
-
}
|
|
812
|
-
```
|
|
813
|
-
|
|
814
|
-
**Via .sqlew/config.toml:**
|
|
815
|
-
```toml
|
|
816
|
-
[tasks]
|
|
817
|
-
auto_archive_done_days = 3 # Archive after 3 days
|
|
818
|
-
stale_hours_in_progress = 4 # in_progress → waiting_review after 4 hours
|
|
819
|
-
stale_hours_waiting_review = 48 # waiting_review → todo after 48 hours
|
|
820
|
-
auto_stale_enabled = true
|
|
821
|
-
|
|
822
|
-
[autodelete]
|
|
823
|
-
ignore_weekend = true # Weekend-aware mode (shared setting)
|
|
824
|
-
```
|
|
825
|
-
|
|
826
|
-
**Via SQL (Advanced):**
|
|
827
|
-
```sql
|
|
828
|
-
-- Enable/Disable
|
|
829
|
-
UPDATE m_config SET value = '1' WHERE key = 'task_auto_stale_enabled'; -- Enable
|
|
830
|
-
UPDATE m_config SET value = '0' WHERE key = 'task_auto_stale_enabled'; -- Disable
|
|
831
|
-
|
|
832
|
-
-- Adjust auto-archive threshold
|
|
833
|
-
UPDATE m_config SET value = '3' WHERE key = 'auto_archive_done_days'; -- 3 days
|
|
834
|
-
|
|
835
|
-
-- Adjust stale detection thresholds
|
|
836
|
-
UPDATE m_config SET value = '4' WHERE key = 'task_stale_hours_in_progress';
|
|
837
|
-
UPDATE m_config SET value = '48' WHERE key = 'task_stale_hours_waiting_review';
|
|
838
|
-
|
|
839
|
-
-- Check current config
|
|
840
|
-
SELECT key, value FROM m_config WHERE key LIKE 'task_%' OR key LIKE 'auto_%';
|
|
841
|
-
```
|
|
842
|
-
|
|
843
|
-
### Monitoring
|
|
844
|
-
|
|
845
|
-
Track transitions via `t_activity_log` table:
|
|
846
|
-
```sql
|
|
847
|
-
-- Recent transitions (including auto-archive)
|
|
848
|
-
SELECT * FROM t_activity_log
|
|
849
|
-
WHERE entity_type = 'task' AND action_type = 'status_change'
|
|
850
|
-
ORDER BY ts DESC LIMIT 20;
|
|
851
|
-
|
|
852
|
-
-- Frequently stale tasks (>2 auto-transitions)
|
|
853
|
-
SELECT task_id, COUNT(*) as stale_count FROM t_activity_log
|
|
854
|
-
WHERE entity_type = 'task' AND json_extract(details, '$.new_status') = 3
|
|
855
|
-
GROUP BY task_id HAVING stale_count > 2;
|
|
856
|
-
|
|
857
|
-
-- Recently auto-archived tasks
|
|
858
|
-
SELECT * FROM t_activity_log
|
|
859
|
-
WHERE entity_type = 'task'
|
|
860
|
-
AND action_type = 'status_change'
|
|
861
|
-
AND json_extract(details, '$.new_status') = 6 -- ARCHIVED status
|
|
862
|
-
ORDER BY ts DESC LIMIT 20;
|
|
863
|
-
|
|
864
|
-
-- Count of archived tasks per day
|
|
865
|
-
SELECT date(ts, 'unixepoch') as day, COUNT(*) as archived_count
|
|
866
|
-
FROM t_activity_log
|
|
867
|
-
WHERE entity_type = 'task'
|
|
868
|
-
AND action_type = 'status_change'
|
|
869
|
-
AND json_extract(details, '$.new_status') = 6
|
|
870
|
-
GROUP BY day
|
|
871
|
-
ORDER BY day DESC;
|
|
872
|
-
```
|
|
873
|
-
|
|
874
|
-
### Weekend-Aware Behavior
|
|
875
|
-
|
|
876
|
-
When `autodelete_ignore_weekend` is enabled (via config.toml or MCP tool):
|
|
877
|
-
|
|
878
|
-
**Example 1 - Task Completed on Friday:**
|
|
879
|
-
- Task marked `done`: Friday 5:00 PM
|
|
880
|
-
- Default 48 hours: Would archive Sunday 5:00 PM
|
|
881
|
-
- **Weekend-aware**: Archives Tuesday 5:00 PM (skips Sat/Sun)
|
|
882
|
-
|
|
883
|
-
**Example 2 - Task Completed on Wednesday:**
|
|
884
|
-
- Task marked `done`: Wednesday 2:00 PM
|
|
885
|
-
- Default 48 hours: Would archive Friday 2:00 PM
|
|
886
|
-
- **Weekend-aware**: Archives Friday 2:00 PM (no weekend in between)
|
|
887
|
-
|
|
888
|
-
**Why Weekend-Aware Mode?**
|
|
889
|
-
- Teams/AI agents may not work on weekends
|
|
890
|
-
- Prevents premature archiving during weekend breaks
|
|
891
|
-
- Consistent with message/file retention behavior
|
|
892
|
-
- Configurable: Disable if you work 7 days/week
|
|
893
|
-
|
|
894
|
-
## Linking System
|
|
895
|
-
|
|
896
|
-
### Overview
|
|
897
|
-
|
|
898
|
-
Tasks can be linked to:
|
|
899
|
-
- **Decisions:** Track which architectural decisions relate to this task
|
|
900
|
-
- **Constraints:** Associate performance/security/architecture constraints
|
|
901
|
-
- **Files:** Connect to modified files for context
|
|
902
|
-
|
|
903
|
-
### Use Cases
|
|
904
|
-
|
|
905
|
-
**Decision Links:**
|
|
906
|
-
```javascript
|
|
907
|
-
// Task: "Implement JWT authentication"
|
|
908
|
-
// Link to decision: "auth_method"
|
|
909
|
-
{
|
|
910
|
-
action: "link",
|
|
911
|
-
task_id: 1,
|
|
912
|
-
link_type: "decision",
|
|
913
|
-
link_key: "auth_method"
|
|
914
|
-
}
|
|
915
|
-
|
|
916
|
-
// Benefit: When viewing task, see related auth decision
|
|
917
|
-
```
|
|
918
|
-
|
|
919
|
-
**Constraint Links:**
|
|
920
|
-
```javascript
|
|
921
|
-
// Task: "Optimize API response time"
|
|
922
|
-
// Link to constraint: "API response <100ms"
|
|
923
|
-
{
|
|
924
|
-
action: "link",
|
|
925
|
-
task_id: 2,
|
|
926
|
-
link_type: "constraint",
|
|
927
|
-
link_id: 5
|
|
928
|
-
}
|
|
929
|
-
|
|
930
|
-
// Benefit: Track which constraint this task addresses
|
|
931
|
-
```
|
|
932
|
-
|
|
933
|
-
**File Links:**
|
|
934
|
-
```javascript
|
|
935
|
-
// Task: "Refactor auth module"
|
|
936
|
-
// Link to files being modified
|
|
937
|
-
{
|
|
938
|
-
action: "link",
|
|
939
|
-
task_id: 3,
|
|
940
|
-
link_type: "file",
|
|
941
|
-
link_path: "/src/auth/jwt.ts"
|
|
942
|
-
}
|
|
943
|
-
|
|
944
|
-
// Benefit: See which files are affected by this task
|
|
945
|
-
```
|
|
946
|
-
|
|
947
|
-
### Querying Links
|
|
948
|
-
|
|
949
|
-
**Get Task with Links:**
|
|
950
|
-
```javascript
|
|
951
|
-
{
|
|
952
|
-
action: "get",
|
|
953
|
-
task_id: 1
|
|
954
|
-
}
|
|
955
|
-
|
|
956
|
-
// Response includes all links
|
|
957
|
-
{
|
|
958
|
-
task_id: 1,
|
|
959
|
-
title: "Implement JWT authentication",
|
|
960
|
-
decision_links: ["auth_method", "jwt_secret"],
|
|
961
|
-
constraint_links: [5, 8],
|
|
962
|
-
file_links: ["/src/auth/jwt.ts", "/src/auth/middleware.ts"]
|
|
963
|
-
}
|
|
964
|
-
```
|
|
965
|
-
|
|
966
|
-
**Find Tasks by Link:**
|
|
967
|
-
```sql
|
|
968
|
-
-- Tasks linked to specific decision
|
|
969
|
-
SELECT t.* FROM t_tasks t
|
|
970
|
-
JOIN t_task_decision_links tdl ON t.task_id = tdl.task_id
|
|
971
|
-
JOIN m_context_keys ck ON tdl.decision_key_id = ck.key_id
|
|
972
|
-
WHERE ck.key_name = 'auth_method';
|
|
973
|
-
|
|
974
|
-
-- Tasks linked to specific constraint
|
|
975
|
-
SELECT t.* FROM t_tasks t
|
|
976
|
-
JOIN t_task_constraint_links tcl ON t.task_id = tcl.task_id
|
|
977
|
-
WHERE tcl.constraint_id = 5;
|
|
978
|
-
|
|
979
|
-
-- Tasks linked to specific file
|
|
980
|
-
SELECT t.* FROM t_tasks t
|
|
981
|
-
JOIN t_task_file_links tfl ON t.task_id = tfl.task_id
|
|
982
|
-
JOIN m_files f ON tfl.file_id = f.file_id
|
|
983
|
-
WHERE f.file_path = '/src/auth/jwt.ts';
|
|
984
|
-
```
|
|
985
|
-
|
|
986
|
-
## Token Efficiency
|
|
987
|
-
|
|
988
|
-
### Metadata-Only Queries
|
|
989
|
-
|
|
990
|
-
**Problem:** Full task content loads descriptions (~232 bytes extra per task)
|
|
991
|
-
|
|
992
|
-
**Solution:** `v_task_board` view provides metadata only
|
|
993
|
-
|
|
994
|
-
**Comparison:**
|
|
995
|
-
|
|
996
|
-
| Query Type | Bytes/Task | 10 Tasks | Use Case |
|
|
997
|
-
|------------|-----------|----------|----------|
|
|
998
|
-
| `list` (metadata only) | ~100 | ~1,000 | Browse, filter, status check |
|
|
999
|
-
| `get` (full details) | ~332 | ~3,320 | Read description, view links |
|
|
1000
|
-
| Old `decision` method | ~332 | ~3,320 | What AIs were doing before v3.0 |
|
|
1001
|
-
|
|
1002
|
-
**Token Savings:**
|
|
1003
|
-
- `list` vs `decision`: 70% reduction
|
|
1004
|
-
- 10 tasks: 3,320 → 1,000 bytes (2,320 bytes saved)
|
|
1005
|
-
|
|
1006
|
-
### Best Practices
|
|
1007
|
-
|
|
1008
|
-
1. **Use `list` for browsing**
|
|
1009
|
-
```javascript
|
|
1010
|
-
// Get all in_progress tasks (metadata only)
|
|
1011
|
-
{ action: "list", status: "in_progress" }
|
|
1012
|
-
```
|
|
1013
|
-
|
|
1014
|
-
2. **Use `get` only when needed**
|
|
1015
|
-
```javascript
|
|
1016
|
-
// User wants to read task description
|
|
1017
|
-
{ action: "get", task_id: 5 }
|
|
1018
|
-
```
|
|
1019
|
-
|
|
1020
|
-
3. **Filter aggressively**
|
|
1021
|
-
```javascript
|
|
1022
|
-
// Narrow results with filters
|
|
1023
|
-
{
|
|
1024
|
-
action: "list",
|
|
1025
|
-
status: "in_progress",
|
|
1026
|
-
assignee: "auth-agent",
|
|
1027
|
-
tags: ["security"]
|
|
1028
|
-
}
|
|
1029
|
-
```
|
|
1030
|
-
|
|
1031
|
-
4. **Batch create instead of sequential**
|
|
1032
|
-
```javascript
|
|
1033
|
-
// Create 5 tasks in one call
|
|
1034
|
-
{
|
|
1035
|
-
action: "create_batch",
|
|
1036
|
-
tasks: [...]
|
|
1037
|
-
}
|
|
1038
|
-
```
|
|
1039
|
-
|
|
1040
|
-
### Monitoring Token Usage
|
|
1041
|
-
|
|
1042
|
-
**Estimate bytes returned:**
|
|
1043
|
-
```sql
|
|
1044
|
-
-- Estimate list query size
|
|
1045
|
-
SELECT COUNT(*) * 100 as estimated_bytes
|
|
1046
|
-
FROM v_task_board
|
|
1047
|
-
WHERE status_name = 'in_progress';
|
|
1048
|
-
|
|
1049
|
-
-- Estimate get query size
|
|
1050
|
-
SELECT
|
|
1051
|
-
LENGTH(title) + LENGTH(COALESCE(description, '')) + 232 as estimated_bytes
|
|
1052
|
-
FROM t_tasks t
|
|
1053
|
-
LEFT JOIN t_task_details td ON t.task_id = td.task_id
|
|
1054
|
-
WHERE t.task_id = 1;
|
|
1055
|
-
```
|
|
1056
|
-
|
|
1057
|
-
## Best Practices
|
|
1058
|
-
|
|
1059
|
-
### For AI Agents
|
|
1060
|
-
|
|
1061
|
-
1. **Always use `action` parameter**
|
|
1062
|
-
```javascript
|
|
1063
|
-
// ❌ WRONG
|
|
1064
|
-
{ task_id: 1 }
|
|
1065
|
-
|
|
1066
|
-
// ✅ CORRECT
|
|
1067
|
-
{ action: "get", task_id: 1 }
|
|
1068
|
-
```
|
|
1069
|
-
|
|
1070
|
-
2. **Use `move` for status changes (not `update`)**
|
|
1071
|
-
```javascript
|
|
1072
|
-
// ❌ WRONG (bypasses validation)
|
|
1073
|
-
{ action: "update", task_id: 1, status: "archived" }
|
|
1074
|
-
|
|
1075
|
-
// ✅ CORRECT (validates transition)
|
|
1076
|
-
{ action: "move", task_id: 1, new_status: "waiting_review" }
|
|
1077
|
-
```
|
|
1078
|
-
|
|
1079
|
-
3. **Use `list` before `get`**
|
|
1080
|
-
```javascript
|
|
1081
|
-
// ❌ WRONG (loads all descriptions)
|
|
1082
|
-
tasks.forEach(t => get({ action: "get", task_id: t.id }))
|
|
1083
|
-
|
|
1084
|
-
// ✅ CORRECT (metadata first, details on demand)
|
|
1085
|
-
const tasks = list({ action: "list", status: "in_progress" });
|
|
1086
|
-
const details = get({ action: "get", task_id: tasks[0].task_id });
|
|
1087
|
-
```
|
|
1088
|
-
|
|
1089
|
-
4. **Prefer batch operations for efficiency**
|
|
1090
|
-
```javascript
|
|
1091
|
-
// Create multiple tasks in one call
|
|
1092
|
-
{
|
|
1093
|
-
action: "create_batch",
|
|
1094
|
-
tasks: [...]
|
|
1095
|
-
}
|
|
1096
|
-
```
|
|
1097
|
-
|
|
1098
|
-
5. **Link tasks to relevant context**
|
|
1099
|
-
```javascript
|
|
1100
|
-
// Create task
|
|
1101
|
-
const task = create({ action: "create", title: "Implement auth" });
|
|
1102
|
-
|
|
1103
|
-
// Link to decision
|
|
1104
|
-
link({
|
|
1105
|
-
action: "link",
|
|
1106
|
-
task_id: task.task_id,
|
|
1107
|
-
link_type: "decision",
|
|
1108
|
-
link_key: "auth_method"
|
|
1109
|
-
});
|
|
1110
|
-
```
|
|
1111
|
-
|
|
1112
|
-
### For Multi-Agent Workflows
|
|
1113
|
-
|
|
1114
|
-
1. **Use assignee for coordination**
|
|
1115
|
-
```javascript
|
|
1116
|
-
// Agent A creates task for Agent B
|
|
1117
|
-
{
|
|
1118
|
-
action: "create",
|
|
1119
|
-
title: "Implement auth middleware",
|
|
1120
|
-
assignee: "auth-agent",
|
|
1121
|
-
tags: ["handoff"]
|
|
1122
|
-
}
|
|
1123
|
-
|
|
1124
|
-
// Agent B lists assigned tasks
|
|
1125
|
-
{
|
|
1126
|
-
action: "list",
|
|
1127
|
-
assignee: "auth-agent",
|
|
1128
|
-
status: "todo"
|
|
1129
|
-
}
|
|
1130
|
-
```
|
|
1131
|
-
|
|
1132
|
-
2. **Use priority for orchestration**
|
|
1133
|
-
```javascript
|
|
1134
|
-
// Critical blocker
|
|
1135
|
-
{ action: "create", title: "Fix DB connection", priority: "critical" }
|
|
1136
|
-
|
|
1137
|
-
// High priority
|
|
1138
|
-
{ action: "create", title: "Implement API", priority: "high" }
|
|
1139
|
-
|
|
1140
|
-
// Background work
|
|
1141
|
-
{ action: "create", title: "Update docs", priority: "low" }
|
|
1142
|
-
```
|
|
1143
|
-
|
|
1144
|
-
3. **Track dependencies with links**
|
|
1145
|
-
```javascript
|
|
1146
|
-
// Task depends on constraint being met
|
|
1147
|
-
{
|
|
1148
|
-
action: "link",
|
|
1149
|
-
task_id: 5,
|
|
1150
|
-
link_type: "constraint",
|
|
1151
|
-
link_id: 3 // "DB schema must be finalized"
|
|
1152
|
-
}
|
|
1153
|
-
```
|
|
1154
|
-
|
|
1155
|
-
## Migration Guide
|
|
1156
|
-
|
|
1157
|
-
### From Decision-Based Task Tracking
|
|
1158
|
-
|
|
1159
|
-
**Before (v2.x):**
|
|
1160
|
-
```javascript
|
|
1161
|
-
// Using decision tool for tasks
|
|
1162
|
-
{
|
|
1163
|
-
action: "set",
|
|
1164
|
-
key: "task_implement_auth",
|
|
1165
|
-
value: "in_progress: Implementing JWT authentication with refresh tokens",
|
|
1166
|
-
layer: "infrastructure",
|
|
1167
|
-
tags: ["task", "security", "in_progress"]
|
|
1168
|
-
}
|
|
1169
|
-
```
|
|
1170
|
-
|
|
1171
|
-
**After (v3.0):**
|
|
1172
|
-
```javascript
|
|
1173
|
-
// Using task tool
|
|
1174
|
-
{
|
|
1175
|
-
action: "create",
|
|
1176
|
-
title: "Implement JWT authentication",
|
|
1177
|
-
description: "Implementing JWT authentication with refresh tokens",
|
|
1178
|
-
status: "in_progress",
|
|
1179
|
-
priority: "high",
|
|
1180
|
-
assignee: "auth-agent",
|
|
1181
|
-
tags: ["security", "authentication"],
|
|
1182
|
-
layer: "business"
|
|
1183
|
-
}
|
|
1184
|
-
```
|
|
1185
|
-
|
|
1186
|
-
### Migration Strategy
|
|
1187
|
-
|
|
1188
|
-
1. **Find task-like decisions:** `search_tags` with `tags: ["task"]`
|
|
1189
|
-
2. **Parse format:** Extract status and description from decision value
|
|
1190
|
-
3. **Create tasks:** Use `task` tool's `create` action
|
|
1191
|
-
4. **Link context:** Use `link` action to connect task to original decision
|
|
1192
|
-
5. **Deprecate old:** Update decision `status: "deprecated"`
|
|
1193
|
-
|
|
1194
|
-
> **Tip:** See docs/DECISION_TO_TASK_MIGRATION_GUIDE.md for complete migration script.
|
|
1195
|
-
|
|
1196
|
-
## Troubleshooting
|
|
1197
|
-
|
|
1198
|
-
### Common Errors
|
|
1199
|
-
|
|
1200
|
-
> **For general MCP tool errors** (missing action parameter, invalid layer, atomic mode), see [AI Agent Guide](AI_AGENT_GUIDE.md#common-errors--solutions)
|
|
1201
|
-
|
|
1202
|
-
**Error: "Invalid status transition"**
|
|
1203
|
-
```javascript
|
|
1204
|
-
// Problem: Trying to move from in_progress to archived
|
|
1205
|
-
{ action: "move", task_id: 1, new_status: "archived" }
|
|
1206
|
-
|
|
1207
|
-
// Solution: Move to done first
|
|
1208
|
-
{ action: "move", task_id: 1, new_status: "done" }
|
|
1209
|
-
{ action: "archive", task_id: 1 }
|
|
1210
|
-
```
|
|
1211
|
-
|
|
1212
|
-
**Error: "Task not found"**
|
|
1213
|
-
```javascript
|
|
1214
|
-
// Problem: Invalid task_id
|
|
1215
|
-
{ action: "get", task_id: 9999 }
|
|
1216
|
-
|
|
1217
|
-
// Solution: List tasks first to get valid IDs
|
|
1218
|
-
{ action: "list" }
|
|
1219
|
-
```
|
|
1220
|
-
|
|
1221
|
-
**Error: "Invalid link type"**
|
|
1222
|
-
```javascript
|
|
1223
|
-
// Problem: Typo in link_type
|
|
1224
|
-
{ action: "link", task_id: 1, link_type: "decisions" }
|
|
1225
|
-
|
|
1226
|
-
// Solution: Use exact link_type
|
|
1227
|
-
{ action: "link", task_id: 1, link_type: "decision", link_key: "..." }
|
|
1228
|
-
```
|
|
1229
|
-
|
|
1230
|
-
**Error: "Cannot archive task not in done status"**
|
|
1231
|
-
```javascript
|
|
1232
|
-
// Problem: Trying to archive incomplete task
|
|
1233
|
-
{ action: "archive", task_id: 1 } // Task is in_progress
|
|
1234
|
-
|
|
1235
|
-
// Solution: Complete task first
|
|
1236
|
-
{ action: "move", task_id: 1, new_status: "done" }
|
|
1237
|
-
{ action: "archive", task_id: 1 }
|
|
1238
|
-
```
|
|
1239
|
-
|
|
1240
|
-
### Debugging
|
|
1241
|
-
|
|
1242
|
-
```sql
|
|
1243
|
-
-- Check task exists
|
|
1244
|
-
SELECT * FROM t_tasks WHERE task_id = 1;
|
|
1245
|
-
|
|
1246
|
-
-- Check status
|
|
1247
|
-
SELECT t.task_id, s.status_name FROM t_tasks t
|
|
1248
|
-
JOIN m_task_statuses s ON t.status_id = s.status_id WHERE t.task_id = 1;
|
|
1249
|
-
|
|
1250
|
-
-- Check links
|
|
1251
|
-
SELECT * FROM t_task_decision_links WHERE task_id = 1;
|
|
1252
|
-
SELECT * FROM t_task_constraint_links WHERE task_id = 1;
|
|
1253
|
-
SELECT * FROM t_task_file_links WHERE task_id = 1;
|
|
1254
|
-
|
|
1255
|
-
-- Check config & activity
|
|
1256
|
-
SELECT * FROM m_config WHERE key LIKE 'task_%';
|
|
1257
|
-
SELECT * FROM t_activity_log WHERE entity_type = 'task' AND entity_id = 1 ORDER BY ts DESC;
|
|
1258
|
-
```
|
|
1259
|
-
|
|
1260
|
-
### Performance Issues
|
|
1261
|
-
|
|
1262
|
-
- **Slow queries:** Check index usage with `EXPLAIN QUERY PLAN`
|
|
1263
|
-
- **Large results:** Use `limit` parameter (default: 100, reduce to 20)
|
|
1264
|
-
|
|
1265
|
-
## Appendix
|
|
1266
|
-
|
|
1267
|
-
### Complete Status Reference
|
|
1268
|
-
|
|
1269
|
-
| Status ID | Status Name | Description |
|
|
1270
|
-
|-----------|------------|-------------|
|
|
1271
|
-
| 1 | todo | Not yet started |
|
|
1272
|
-
| 2 | in_progress | Actively being worked on |
|
|
1273
|
-
| 3 | waiting_review | Awaiting feedback/approval |
|
|
1274
|
-
| 4 | blocked | Cannot proceed (dependency/issue) |
|
|
1275
|
-
| 5 | done | Completed |
|
|
1276
|
-
| 6 | archived | Completed and archived |
|
|
1277
|
-
|
|
1278
|
-
### Complete Transition Matrix
|
|
1279
|
-
|
|
1280
|
-
| From ↓ / To → | todo | in_progress | waiting_review | blocked | done | archived |
|
|
1281
|
-
|---------------|------|-------------|----------------|---------|------|----------|
|
|
1282
|
-
| **todo** | - | ✅ | ❌ | ✅ | ❌ | ❌ |
|
|
1283
|
-
| **in_progress** | ❌ | - | ✅ | ✅ | ✅ | ❌ |
|
|
1284
|
-
| **waiting_review** | ✅ | ✅ | - | ❌ | ✅ | ❌ |
|
|
1285
|
-
| **blocked** | ✅ | ✅ | ❌ | - | ❌ | ❌ |
|
|
1286
|
-
| **done** | ❌ | ❌ | ❌ | ❌ | - | ✅ |
|
|
1287
|
-
| **archived** | ❌ | ❌ | ❌ | ❌ | ❌ | - |
|
|
1288
|
-
|
|
1289
|
-
✅ = Valid transition
|
|
1290
|
-
❌ = Invalid transition
|
|
1291
|
-
\- = Same status (no transition)
|
|
1292
|
-
|
|
1293
|
-
### Related Documentation
|
|
1294
|
-
|
|
1295
|
-
- **README.md:** Quick start and overview
|
|
1296
|
-
- **CHANGELOG.md:** Version history and release notes
|
|
1297
|
-
- **CLAUDE.md:** Developer instructions and architecture
|
|
1298
|
-
- **ARCHITECTURE.md:** Technical architecture details
|
|
1299
|
-
- **AI_AGENT_GUIDE.md:** Comprehensive AI agent guide
|
|
1300
|
-
|
|
1301
|
-
### Future Enhancements
|
|
1302
|
-
|
|
1303
|
-
Potential v3.1.0 features: task dependencies, subtasks, time tracking, task templates, configurable auto-stale via tool, recurring tasks, export/import
|
|
1304
|
-
|
|
1305
|
-
### Support
|
|
1306
|
-
|
|
1307
|
-
- **Issues:** [GitHub Issues](https://github.com/sin5ddd/mcp-sqlew/issues)
|
|
1308
|
-
- **Discussions:** [GitHub Discussions](https://github.com/sin5ddd/mcp-sqlew/discussions)
|
|
1309
|
-
|
|
1310
|
-
---
|
|
1311
|
-
|
|
1312
|
-
**Version:** 3.0.0
|
|
1313
|
-
**Last Updated:** 2025-10-17
|
|
1314
|
-
**Author:** sin5ddd
|