sqlew 3.9.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README.md +20 -3
- package/assets/sample-agents/sqlew-architect.md +3 -4
- package/assets/sample-agents/sqlew-researcher.md +6 -15
- package/assets/sample-agents/sqlew-scrum-master.md +58 -50
- package/assets/sample-commands/sqw-documentor.md +62 -16
- package/assets/sample-commands/sqw-plan.md +82 -35
- package/assets/sample-commands/sqw-research.md +78 -17
- package/assets/sample-commands/sqw-review.md +66 -29
- package/assets/sample-commands/sqw-scrum.md +37 -3
- package/dist/adapters/mysql-adapter.js +3 -3
- package/dist/adapters/postgresql-adapter.js +3 -3
- package/dist/cli/db-dump.js +73 -73
- package/dist/cli/db-export.js +50 -50
- package/dist/cli/db-import.js +51 -51
- package/dist/cli.js +52 -52
- package/dist/config/minimal-generator.js +91 -91
- package/dist/database/config/config-ops.d.ts +19 -11
- package/dist/database/config/config-ops.d.ts.map +1 -1
- package/dist/database/config/config-ops.js +62 -36
- package/dist/database/config/config-ops.js.map +1 -1
- package/dist/database/index.d.ts +3 -1
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js +4 -2
- package/dist/database/index.js.map +1 -1
- package/dist/database/initialization/init.d.ts.map +1 -1
- package/dist/database/initialization/init.js +31 -0
- package/dist/database/initialization/init.js.map +1 -1
- package/dist/database/initialization/schema-version.d.ts +94 -0
- package/dist/database/initialization/schema-version.d.ts.map +1 -0
- package/dist/database/initialization/schema-version.js +166 -0
- package/dist/database/initialization/schema-version.js.map +1 -0
- package/dist/database/migrations/v4/20251126000000_v4_bootstrap.d.ts +36 -0
- package/dist/database/migrations/v4/20251126000000_v4_bootstrap.d.ts.map +1 -0
- package/dist/database/migrations/v4/20251126000000_v4_bootstrap.js +597 -0
- package/dist/database/migrations/v4/20251126000000_v4_bootstrap.js.map +1 -0
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.d.ts +26 -0
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.d.ts.map +1 -0
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.js +390 -0
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.js.map +1 -0
- package/dist/database/migrations/v4/20251127000000_add_rejected_status.d.ts +17 -0
- package/dist/database/migrations/v4/20251127000000_add_rejected_status.d.ts.map +1 -0
- package/dist/database/migrations/v4/20251127000000_add_rejected_status.js +50 -0
- package/dist/database/migrations/v4/20251127000000_add_rejected_status.js.map +1 -0
- package/dist/database/migrations/v4/20251127000001_update_task_move_help.d.ts +13 -0
- package/dist/database/migrations/v4/20251127000001_update_task_move_help.d.ts.map +1 -0
- package/dist/database/migrations/v4/20251127000001_update_task_move_help.js +76 -0
- package/dist/database/migrations/v4/20251127000001_update_task_move_help.js.map +1 -0
- package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.d.ts +17 -0
- package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.d.ts.map +1 -0
- package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.js +334 -0
- package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.js.map +1 -0
- package/dist/database/migrations/v4/20251127000003_add_task_notes_column.d.ts +11 -0
- package/dist/database/migrations/v4/20251127000003_add_task_notes_column.d.ts.map +1 -0
- package/dist/database/migrations/v4/20251127000003_add_task_notes_column.js +33 -0
- package/dist/database/migrations/v4/20251127000003_add_task_notes_column.js.map +1 -0
- package/dist/database/operations/inserts.d.ts +12 -7
- package/dist/database/operations/inserts.d.ts.map +1 -1
- package/dist/database/operations/inserts.js +30 -60
- package/dist/database/operations/inserts.js.map +1 -1
- package/dist/database/operations/queries.d.ts.map +1 -1
- package/dist/database/operations/queries.js +19 -21
- package/dist/database/operations/queries.js.map +1 -1
- package/dist/database/operations/updates.d.ts +2 -1
- package/dist/database/operations/updates.d.ts.map +1 -1
- package/dist/database/operations/updates.js +3 -6
- package/dist/database/operations/updates.js.map +1 -1
- package/dist/init-agents.js +27 -27
- package/dist/init-commands.js +25 -25
- package/dist/knexfile.d.ts.map +1 -1
- package/dist/knexfile.js +5 -25
- package/dist/knexfile.js.map +1 -1
- package/dist/schema.d.ts +7 -3
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +43 -50
- package/dist/schema.js.map +1 -1
- package/dist/server/arg-parser.js +18 -18
- package/dist/server/tool-registry.d.ts.map +1 -1
- package/dist/server/tool-registry.js +18 -1
- package/dist/server/tool-registry.js.map +1 -1
- package/dist/sync-gitignore.d.ts +13 -0
- package/dist/sync-gitignore.d.ts.map +1 -0
- package/dist/sync-gitignore.js +60 -0
- package/dist/sync-gitignore.js.map +1 -0
- package/dist/tests/database/multi-project/multi-project.test.js +13 -13
- package/dist/tests/database/multi-project/multi-project.test.js.map +1 -1
- package/dist/tests/database/sql-dump/default-conversions.test.js +4 -4
- package/dist/tests/database/sql-dump/default-conversions.test.js.map +1 -1
- package/dist/tests/database/sql-dump/table-ordering.test.js +14 -14
- package/dist/tests/database/sql-dump/table-ordering.test.js.map +1 -1
- package/dist/tests/docker/cross-database.test.js +12 -18
- package/dist/tests/docker/cross-database.test.js.map +1 -1
- package/dist/tests/docker/dump-import.test.js +15 -15
- package/dist/tests/docker/dump-import.test.js.map +1 -1
- package/dist/tests/docker/multi-project-migration.test.js +44 -61
- package/dist/tests/docker/multi-project-migration.test.js.map +1 -1
- package/dist/tests/docker/native/constraint-operations.test.d.ts +1 -1
- package/dist/tests/docker/native/constraint-operations.test.js +65 -114
- package/dist/tests/docker/native/constraint-operations.test.js.map +1 -1
- package/dist/tests/docker/native/db-init.d.ts +1 -1
- package/dist/tests/docker/native/db-init.js +3 -3
- package/dist/tests/docker/native/db-init.js.map +1 -1
- package/dist/tests/docker/native/decision-operations.test.js +93 -148
- package/dist/tests/docker/native/decision-operations.test.js.map +1 -1
- package/dist/tests/docker/native/help-system.test.js +60 -60
- package/dist/tests/docker/native/help-system.test.js.map +1 -1
- package/dist/tests/docker/native/suggest-tool.test.js +25 -33
- package/dist/tests/docker/native/suggest-tool.test.js.map +1 -1
- package/dist/tests/docker/native/task-operations.test.js +114 -140
- package/dist/tests/docker/native/task-operations.test.js.map +1 -1
- package/dist/tests/docker/native/test-harness.d.ts +0 -9
- package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
- package/dist/tests/docker/native/test-harness.js +42 -69
- package/dist/tests/docker/native/test-harness.js.map +1 -1
- package/dist/tests/feature/task/auto-pruning-decision-link.test.js +6 -9
- package/dist/tests/feature/task/auto-pruning-decision-link.test.js.map +1 -1
- package/dist/tests/feature/task/auto-pruning-partial.test.js +17 -19
- package/dist/tests/feature/task/auto-pruning-partial.test.js.map +1 -1
- package/dist/tests/feature/task/auto-pruning-persistence.test.js +11 -14
- package/dist/tests/feature/task/auto-pruning-persistence.test.js.map +1 -1
- package/dist/tests/feature/task/auto-pruning-safety.test.js +23 -42
- package/dist/tests/feature/task/auto-pruning-safety.test.js.map +1 -1
- package/dist/tests/feature/task/dependencies.test.js +30 -34
- package/dist/tests/feature/task/dependencies.test.js.map +1 -1
- package/dist/tests/feature/task/link-file-backward-compat.test.js +19 -21
- package/dist/tests/feature/task/link-file-backward-compat.test.js.map +1 -1
- package/dist/tests/feature/task/watch-files-action.test.js +10 -12
- package/dist/tests/feature/task/watch-files-action.test.js.map +1 -1
- package/dist/tests/feature/task/watch-files-parameter.test.js +25 -27
- package/dist/tests/feature/task/watch-files-parameter.test.js.map +1 -1
- package/dist/tests/feature/vcs/git-aware-completion.test.js +32 -42
- package/dist/tests/feature/vcs/git-aware-completion.test.js.map +1 -1
- package/dist/tests/feature/vcs/two-step-git-completion.test.js +83 -104
- package/dist/tests/feature/vcs/two-step-git-completion.test.js.map +1 -1
- package/dist/tests/integration/all-features.standalone.js +4 -6
- package/dist/tests/integration/all-features.standalone.js.map +1 -1
- package/dist/tests/integration/auto-trigger-suggestions.test.js +26 -68
- package/dist/tests/integration/auto-trigger-suggestions.test.js.map +1 -1
- package/dist/tests/integration/decision-intelligence-e2e.test.js +32 -71
- package/dist/tests/integration/decision-intelligence-e2e.test.js.map +1 -1
- package/dist/tests/integration/e2e-workflow1-debug.test.js +3 -17
- package/dist/tests/integration/e2e-workflow1-debug.test.js.map +1 -1
- package/dist/tests/integration/hybrid-similarity-detection.test.js +45 -55
- package/dist/tests/integration/hybrid-similarity-detection.test.js.map +1 -1
- package/dist/tests/migrations/test-all-versions.d.ts +1 -1
- package/dist/tests/migrations/test-all-versions.js +11 -9
- package/dist/tests/migrations/test-all-versions.js.map +1 -1
- package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts +7 -0
- package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts.map +1 -0
- package/dist/tests/migrations/v4/v4-fresh-install.test.js +168 -0
- package/dist/tests/migrations/v4/v4-fresh-install.test.js.map +1 -0
- package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts +13 -0
- package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts.map +1 -0
- package/dist/tests/migrations/v4/v4-migrate-data.test.js +264 -0
- package/dist/tests/migrations/v4/v4-migrate-data.test.js.map +1 -0
- package/dist/tests/test-v4-native-rdbms.d.ts +10 -0
- package/dist/tests/test-v4-native-rdbms.d.ts.map +1 -0
- package/dist/tests/test-v4-native-rdbms.js +235 -0
- package/dist/tests/test-v4-native-rdbms.js.map +1 -0
- package/dist/tests/unit/constraint-scorer.test.d.ts +13 -0
- package/dist/tests/unit/constraint-scorer.test.d.ts.map +1 -0
- package/dist/tests/unit/constraint-scorer.test.js +390 -0
- package/dist/tests/unit/constraint-scorer.test.js.map +1 -0
- package/dist/tests/unit/validation/policy-validation.test.js +15 -15
- package/dist/tests/unit/validation/policy-validation.test.js.map +1 -1
- package/dist/tests/utils/db-config.d.ts.map +1 -1
- package/dist/tests/utils/db-config.js +2 -3
- package/dist/tests/utils/db-config.js.map +1 -1
- package/dist/tests/utils/db-seeding.d.ts.map +1 -1
- package/dist/tests/utils/db-seeding.js +17 -20
- package/dist/tests/utils/db-seeding.js.map +1 -1
- package/dist/tests/utils/task-helpers.d.ts +9 -9
- package/dist/tests/utils/task-helpers.d.ts.map +1 -1
- package/dist/tests/utils/task-helpers.js +26 -43
- package/dist/tests/utils/task-helpers.js.map +1 -1
- package/dist/tests/utils/test-helpers.d.ts +13 -8
- package/dist/tests/utils/test-helpers.d.ts.map +1 -1
- package/dist/tests/utils/test-helpers.js +55 -69
- package/dist/tests/utils/test-helpers.js.map +1 -1
- package/dist/tools/constraints/actions/add.d.ts.map +1 -1
- package/dist/tools/constraints/actions/add.js +8 -23
- package/dist/tools/constraints/actions/add.js.map +1 -1
- package/dist/tools/constraints/actions/deactivate.js +2 -2
- package/dist/tools/constraints/actions/deactivate.js.map +1 -1
- package/dist/tools/constraints/actions/get.d.ts +2 -2
- package/dist/tools/constraints/actions/get.js +2 -2
- package/dist/tools/context/actions/create-policy.d.ts.map +1 -1
- package/dist/tools/context/actions/create-policy.js +3 -20
- package/dist/tools/context/actions/create-policy.js.map +1 -1
- package/dist/tools/context/actions/create-template.d.ts.map +1 -1
- package/dist/tools/context/actions/create-template.js +5 -9
- package/dist/tools/context/actions/create-template.js.map +1 -1
- package/dist/tools/context/actions/hard-delete.js +12 -12
- package/dist/tools/context/actions/hard-delete.js.map +1 -1
- package/dist/tools/context/actions/has-updates.js +3 -3
- package/dist/tools/context/actions/has-updates.js.map +1 -1
- package/dist/tools/context/actions/list-policies.d.ts.map +1 -1
- package/dist/tools/context/actions/list-policies.js +3 -3
- package/dist/tools/context/actions/list-policies.js.map +1 -1
- package/dist/tools/context/actions/list-templates.d.ts.map +1 -1
- package/dist/tools/context/actions/list-templates.js +4 -5
- package/dist/tools/context/actions/list-templates.js.map +1 -1
- package/dist/tools/context/actions/list.js +1 -1
- package/dist/tools/context/actions/list.js.map +1 -1
- package/dist/tools/context/actions/search-layer.d.ts.map +1 -1
- package/dist/tools/context/actions/search-layer.js +11 -12
- package/dist/tools/context/actions/search-layer.js.map +1 -1
- package/dist/tools/context/actions/set-from-policy.js +1 -1
- package/dist/tools/context/actions/set-from-policy.js.map +1 -1
- package/dist/tools/context/actions/set-from-template.js +2 -2
- package/dist/tools/context/actions/set-from-template.js.map +1 -1
- package/dist/tools/context/actions/versions.d.ts.map +1 -1
- package/dist/tools/context/actions/versions.js +6 -7
- package/dist/tools/context/actions/versions.js.map +1 -1
- package/dist/tools/context/internal/queries.d.ts.map +1 -1
- package/dist/tools/context/internal/queries.js +73 -53
- package/dist/tools/context/internal/queries.js.map +1 -1
- package/dist/tools/example/actions/get.js +7 -7
- package/dist/tools/example/actions/get.js.map +1 -1
- package/dist/tools/example/actions/list-all.js +4 -4
- package/dist/tools/example/actions/list-all.js.map +1 -1
- package/dist/tools/example/actions/search.js +8 -8
- package/dist/tools/example/actions/search.js.map +1 -1
- package/dist/tools/example/help/example.js +21 -21
- package/dist/tools/files/actions/check-lock.d.ts.map +1 -1
- package/dist/tools/files/actions/check-lock.js +4 -6
- package/dist/tools/files/actions/check-lock.js.map +1 -1
- package/dist/tools/files/actions/get.d.ts.map +1 -1
- package/dist/tools/files/actions/get.js +6 -8
- package/dist/tools/files/actions/get.js.map +1 -1
- package/dist/tools/files/internal/queries.d.ts.map +1 -1
- package/dist/tools/files/internal/queries.js +5 -14
- package/dist/tools/files/internal/queries.js.map +1 -1
- package/dist/tools/help/actions/batch-guide.js +5 -5
- package/dist/tools/help/actions/batch-guide.js.map +1 -1
- package/dist/tools/help-queries.js +29 -29
- package/dist/tools/help-queries.js.map +1 -1
- package/dist/tools/suggest/actions/by-tags.d.ts +2 -2
- package/dist/tools/suggest/actions/by-tags.js +2 -2
- package/dist/tools/suggest/actions/constraint-by-context.d.ts +66 -0
- package/dist/tools/suggest/actions/constraint-by-context.d.ts.map +1 -0
- package/dist/tools/suggest/actions/constraint-by-context.js +82 -0
- package/dist/tools/suggest/actions/constraint-by-context.js.map +1 -0
- package/dist/tools/suggest/actions/constraint-by-tags.d.ts +48 -0
- package/dist/tools/suggest/actions/constraint-by-tags.d.ts.map +1 -0
- package/dist/tools/suggest/actions/constraint-by-tags.js +68 -0
- package/dist/tools/suggest/actions/constraint-by-tags.js.map +1 -0
- package/dist/tools/suggest/actions/constraint-by-text.d.ts +47 -0
- package/dist/tools/suggest/actions/constraint-by-text.d.ts.map +1 -0
- package/dist/tools/suggest/actions/constraint-by-text.js +65 -0
- package/dist/tools/suggest/actions/constraint-by-text.js.map +1 -0
- package/dist/tools/suggest/actions/constraint-check-duplicate.d.ts +50 -0
- package/dist/tools/suggest/actions/constraint-check-duplicate.d.ts.map +1 -0
- package/dist/tools/suggest/actions/constraint-check-duplicate.js +68 -0
- package/dist/tools/suggest/actions/constraint-check-duplicate.js.map +1 -0
- package/dist/tools/suggest/help/constraint-help.d.ts +12 -0
- package/dist/tools/suggest/help/constraint-help.d.ts.map +1 -0
- package/dist/tools/suggest/help/constraint-help.js +126 -0
- package/dist/tools/suggest/help/constraint-help.js.map +1 -0
- package/dist/tools/suggest/index.d.ts +3 -2
- package/dist/tools/suggest/index.d.ts.map +1 -1
- package/dist/tools/suggest/index.js +67 -4
- package/dist/tools/suggest/index.js.map +1 -1
- package/dist/tools/suggest/internal/constraint-queries.d.ts +55 -0
- package/dist/tools/suggest/internal/constraint-queries.d.ts.map +1 -0
- package/dist/tools/suggest/internal/constraint-queries.js +85 -0
- package/dist/tools/suggest/internal/constraint-queries.js.map +1 -0
- package/dist/tools/suggest/internal/queries.d.ts +4 -4
- package/dist/tools/suggest/internal/queries.d.ts.map +1 -1
- package/dist/tools/suggest/internal/queries.js +44 -37
- package/dist/tools/suggest/internal/queries.js.map +1 -1
- package/dist/tools/suggest/types.d.ts +10 -0
- package/dist/tools/suggest/types.d.ts.map +1 -1
- package/dist/tools/tasks/actions/add-dependency.d.ts.map +1 -1
- package/dist/tools/tasks/actions/add-dependency.js +15 -10
- package/dist/tools/tasks/actions/add-dependency.js.map +1 -1
- package/dist/tools/tasks/actions/archive.d.ts.map +1 -1
- package/dist/tools/tasks/actions/archive.js +2 -11
- package/dist/tools/tasks/actions/archive.js.map +1 -1
- package/dist/tools/tasks/actions/create.d.ts.map +1 -1
- package/dist/tools/tasks/actions/create.js +7 -24
- package/dist/tools/tasks/actions/create.js.map +1 -1
- package/dist/tools/tasks/actions/get-dependencies.js +1 -1
- package/dist/tools/tasks/actions/get-dependencies.js.map +1 -1
- package/dist/tools/tasks/actions/get-pruned-files.js +4 -4
- package/dist/tools/tasks/actions/get-pruned-files.js.map +1 -1
- package/dist/tools/tasks/actions/get.d.ts.map +1 -1
- package/dist/tools/tasks/actions/get.js +15 -16
- package/dist/tools/tasks/actions/get.js.map +1 -1
- package/dist/tools/tasks/actions/link-pruned-file.js +6 -6
- package/dist/tools/tasks/actions/link-pruned-file.js.map +1 -1
- package/dist/tools/tasks/actions/link.js +8 -8
- package/dist/tools/tasks/actions/link.js.map +1 -1
- package/dist/tools/tasks/actions/list.js +2 -2
- package/dist/tools/tasks/actions/list.js.map +1 -1
- package/dist/tools/tasks/actions/move.d.ts +2 -1
- package/dist/tools/tasks/actions/move.d.ts.map +1 -1
- package/dist/tools/tasks/actions/move.js +22 -22
- package/dist/tools/tasks/actions/move.js.map +1 -1
- package/dist/tools/tasks/actions/remove-dependency.js +1 -1
- package/dist/tools/tasks/actions/remove-dependency.js.map +1 -1
- package/dist/tools/tasks/actions/update.d.ts.map +1 -1
- package/dist/tools/tasks/actions/update.js +12 -15
- package/dist/tools/tasks/actions/update.js.map +1 -1
- package/dist/tools/tasks/actions/watch-files.js +8 -8
- package/dist/tools/tasks/actions/watch-files.js.map +1 -1
- package/dist/tools/tasks/help/example.js +4 -4
- package/dist/tools/tasks/help/example.js.map +1 -1
- package/dist/tools/tasks/help/help.d.ts.map +1 -1
- package/dist/tools/tasks/help/help.js +20 -10
- package/dist/tools/tasks/help/help.js.map +1 -1
- package/dist/tools/tasks/internal/state-machine.js +2 -2
- package/dist/tools/tasks/internal/state-machine.js.map +1 -1
- package/dist/tools/tasks/internal/task-queries.d.ts.map +1 -1
- package/dist/tools/tasks/internal/task-queries.js +9 -11
- package/dist/tools/tasks/internal/task-queries.js.map +1 -1
- package/dist/tools/tasks/types.d.ts +13 -1
- package/dist/tools/tasks/types.d.ts.map +1 -1
- package/dist/tools/tasks/types.js +30 -7
- package/dist/tools/tasks/types.js.map +1 -1
- package/dist/tools/tasks/watcher/status.js +8 -8
- package/dist/tools/tasks/watcher/status.js.map +1 -1
- package/dist/tools/use_case/actions/search.js +4 -4
- package/dist/tools/use_case/actions/search.js.map +1 -1
- package/dist/tools/use_case/help/example.js +16 -16
- package/dist/types/task/params.d.ts +2 -1
- package/dist/types/task/params.d.ts.map +1 -1
- package/dist/types.d.ts +10 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/action-specs/task-specs.js +5 -5
- package/dist/utils/action-specs/task-specs.js.map +1 -1
- package/dist/utils/batch-validation.d.ts +1 -1
- package/dist/utils/batch-validation.js +3 -3
- package/dist/utils/batch-validation.js.map +1 -1
- package/dist/utils/cleanup.js +3 -3
- package/dist/utils/cleanup.js.map +1 -1
- package/dist/utils/constraint-scorer.d.ts +113 -0
- package/dist/utils/constraint-scorer.d.ts.map +1 -0
- package/dist/utils/constraint-scorer.js +220 -0
- package/dist/utils/constraint-scorer.js.map +1 -0
- package/dist/utils/db-aggregations.js +10 -10
- package/dist/utils/db-aggregations.js.map +1 -1
- package/dist/utils/exporter/export.js +70 -70
- package/dist/utils/exporter/export.js.map +1 -1
- package/dist/utils/file-pruning.js +16 -16
- package/dist/utils/file-pruning.js.map +1 -1
- package/dist/utils/importer/import.js +33 -33
- package/dist/utils/importer/import.js.map +1 -1
- package/dist/utils/importer/master-tables.js +25 -25
- package/dist/utils/importer/master-tables.js.map +1 -1
- package/dist/utils/importer/topological-sort.d.ts +1 -1
- package/dist/utils/importer/topological-sort.js +1 -1
- package/dist/utils/policy-validator.js +5 -1
- package/dist/utils/policy-validator.js.map +1 -1
- package/dist/utils/project-context.js +3 -3
- package/dist/utils/project-context.js.map +1 -1
- package/dist/utils/quality-checks.js +3 -3
- package/dist/utils/quality-checks.js.map +1 -1
- package/dist/utils/retention.js +1 -1
- package/dist/utils/retention.js.map +1 -1
- package/dist/utils/sql-dump/core/dependency-sort.js +17 -17
- package/dist/utils/sql-dump/core/index-export.js +7 -7
- package/dist/utils/sql-dump/core/sequence-reset.js +5 -5
- package/dist/utils/sql-dump/generators/headers.js +10 -10
- package/dist/utils/sql-dump/schema/indexes.js +15 -15
- package/dist/utils/sql-dump/schema/primary-keys.js +14 -14
- package/dist/utils/sql-dump/schema/tables.js +44 -44
- package/dist/utils/sql-dump/schema/views.js +21 -21
- package/dist/utils/suggestion-scorer.d.ts.map +1 -1
- package/dist/utils/suggestion-scorer.js +9 -0
- package/dist/utils/suggestion-scorer.js.map +1 -1
- package/dist/utils/task-stale-detection.d.ts.map +1 -1
- package/dist/utils/task-stale-detection.js +20 -19
- package/dist/utils/task-stale-detection.js.map +1 -1
- package/dist/utils/token-logging.js +6 -6
- package/dist/utils/token-logging.js.map +1 -1
- package/dist/utils/validators.d.ts +4 -4
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +10 -4
- package/dist/utils/validators.js.map +1 -1
- package/dist/utils/view-queries.d.ts +3 -3
- package/dist/utils/view-queries.d.ts.map +1 -1
- package/dist/utils/view-queries.js +41 -66
- package/dist/utils/view-queries.js.map +1 -1
- package/dist/watcher/file-watcher.js +20 -20
- package/dist/watcher/file-watcher.js.map +1 -1
- package/docs/AI_AGENT_GUIDE.md +81 -1376
- package/docs/ARCHITECTURE.md +127 -608
- package/docs/AUTO_FILE_TRACKING.md +22 -20
- package/docs/BATCH_VALIDATION.md +3 -3
- package/docs/CONFIGURATION.md +69 -68
- package/docs/CONSTRAINT_INTELLIGENCE.md +339 -0
- package/docs/DATABASE_AUTH.md +1 -1
- package/docs/DECISION_CONTEXT.md +12 -0
- package/docs/DECISION_INTELLIGENCE.md +19 -8
- package/docs/GIT_AWARE_AUTO_COMPLETE.md +21 -20
- package/docs/SHARED_CONCEPTS.md +46 -16
- package/docs/SLASH_COMMANDS.md +88 -117
- package/docs/SPECIALIZED_AGENTS.md +45 -572
- package/docs/TASK_ACTIONS.md +63 -53
- package/docs/TASK_OVERVIEW.md +49 -61
- package/docs/TASK_PRUNING.md +32 -27
- package/docs/TOOL_REFERENCE.md +119 -76
- package/docs/TOOL_SELECTION.md +15 -18
- package/docs/WORKFLOWS.md +504 -350
- package/package.json +119 -119
- package/assets/sample-commands/sqw-secretary.md +0 -187
- package/dist/config/knex/bootstrap/20251025020452_create_master_tables.d.ts +0 -4
- package/dist/config/knex/bootstrap/20251025020452_create_master_tables.d.ts.map +0 -1
- package/dist/config/knex/bootstrap/20251025020452_create_master_tables.js +0 -97
- package/dist/config/knex/bootstrap/20251025020452_create_master_tables.js.map +0 -1
- package/dist/config/knex/bootstrap/20251025021152_create_transaction_tables.d.ts +0 -4
- package/dist/config/knex/bootstrap/20251025021152_create_transaction_tables.d.ts.map +0 -1
- package/dist/config/knex/bootstrap/20251025021152_create_transaction_tables.js +0 -270
- package/dist/config/knex/bootstrap/20251025021152_create_transaction_tables.js.map +0 -1
- package/dist/config/knex/bootstrap/20251025021351_create_indexes.d.ts +0 -4
- package/dist/config/knex/bootstrap/20251025021351_create_indexes.d.ts.map +0 -1
- package/dist/config/knex/bootstrap/20251025021351_create_indexes.js +0 -93
- package/dist/config/knex/bootstrap/20251025021351_create_indexes.js.map +0 -1
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.d.ts +0 -4
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.d.ts.map +0 -1
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.js +0 -146
- package/dist/config/knex/bootstrap/20251025021352_fix_mysql_index_syntax.js.map +0 -1
- package/dist/config/knex/bootstrap/20251025021416_seed_master_data.d.ts +0 -4
- package/dist/config/knex/bootstrap/20251025021416_seed_master_data.d.ts.map +0 -1
- package/dist/config/knex/bootstrap/20251025021416_seed_master_data.js +0 -182
- package/dist/config/knex/bootstrap/20251025021416_seed_master_data.js.map +0 -1
- package/dist/config/knex/bootstrap/20251025070349_create_views.d.ts +0 -4
- package/dist/config/knex/bootstrap/20251025070349_create_views.d.ts.map +0 -1
- package/dist/config/knex/bootstrap/20251025070349_create_views.js +0 -247
- package/dist/config/knex/bootstrap/20251025070349_create_views.js.map +0 -1
- package/dist/config/knex/enhancements/20251025081221_add_link_type_to_task_decision_links.d.ts +0 -4
- package/dist/config/knex/enhancements/20251025081221_add_link_type_to_task_decision_links.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251025081221_add_link_type_to_task_decision_links.js +0 -22
- package/dist/config/knex/enhancements/20251025081221_add_link_type_to_task_decision_links.js.map +0 -1
- package/dist/config/knex/enhancements/20251025082220_fix_task_dependencies_columns.d.ts +0 -8
- package/dist/config/knex/enhancements/20251025082220_fix_task_dependencies_columns.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251025082220_fix_task_dependencies_columns.js +0 -12
- package/dist/config/knex/enhancements/20251025082220_fix_task_dependencies_columns.js.map +0 -1
- package/dist/config/knex/enhancements/20251025090000_create_help_system_tables.d.ts +0 -19
- package/dist/config/knex/enhancements/20251025090000_create_help_system_tables.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251025090000_create_help_system_tables.js +0 -121
- package/dist/config/knex/enhancements/20251025090000_create_help_system_tables.js.map +0 -1
- package/dist/config/knex/enhancements/20251025090100_seed_help_categories_and_use_cases.d.ts +0 -13
- package/dist/config/knex/enhancements/20251025090100_seed_help_categories_and_use_cases.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251025090100_seed_help_categories_and_use_cases.js +0 -383
- package/dist/config/knex/enhancements/20251025090100_seed_help_categories_and_use_cases.js.map +0 -1
- package/dist/config/knex/enhancements/20251025100000_seed_help_metadata.d.ts +0 -15
- package/dist/config/knex/enhancements/20251025100000_seed_help_metadata.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251025100000_seed_help_metadata.js +0 -259
- package/dist/config/knex/enhancements/20251025100000_seed_help_metadata.js.map +0 -1
- package/dist/config/knex/enhancements/20251025100100_seed_remaining_use_cases.d.ts +0 -16
- package/dist/config/knex/enhancements/20251025100100_seed_remaining_use_cases.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251025100100_seed_remaining_use_cases.js +0 -276
- package/dist/config/knex/enhancements/20251025100100_seed_remaining_use_cases.js.map +0 -1
- package/dist/config/knex/enhancements/20251025120000_add_cascade_to_task_dependencies.d.ts +0 -8
- package/dist/config/knex/enhancements/20251025120000_add_cascade_to_task_dependencies.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251025120000_add_cascade_to_task_dependencies.js +0 -71
- package/dist/config/knex/enhancements/20251025120000_add_cascade_to_task_dependencies.js.map +0 -1
- package/dist/config/knex/enhancements/20251027000000_add_agent_reuse_system.d.ts +0 -14
- package/dist/config/knex/enhancements/20251027000000_add_agent_reuse_system.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251027000000_add_agent_reuse_system.js +0 -62
- package/dist/config/knex/enhancements/20251027000000_add_agent_reuse_system.js.map +0 -1
- package/dist/config/knex/enhancements/20251027010000_add_task_constraint_to_decision_context.d.ts +0 -4
- package/dist/config/knex/enhancements/20251027010000_add_task_constraint_to_decision_context.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251027010000_add_task_constraint_to_decision_context.js +0 -24
- package/dist/config/knex/enhancements/20251027010000_add_task_constraint_to_decision_context.js.map +0 -1
- package/dist/config/knex/enhancements/20251027020000_update_agent_reusability.d.ts +0 -16
- package/dist/config/knex/enhancements/20251027020000_update_agent_reusability.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251027020000_update_agent_reusability.js +0 -33
- package/dist/config/knex/enhancements/20251027020000_update_agent_reusability.js.map +0 -1
- package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.d.ts +0 -23
- package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.js +0 -58
- package/dist/config/knex/enhancements/20251028000000_simplify_agent_system.js.map +0 -1
- package/dist/config/knex/enhancements/20251031000000_drop_orphaned_message_view.d.ts +0 -13
- package/dist/config/knex/enhancements/20251031000000_drop_orphaned_message_view.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251031000000_drop_orphaned_message_view.js +0 -48
- package/dist/config/knex/enhancements/20251031000000_drop_orphaned_message_view.js.map +0 -1
- package/dist/config/knex/enhancements/20251104000003_rename_constraints_created_by_to_agent_id.d.ts +0 -24
- package/dist/config/knex/enhancements/20251104000003_rename_constraints_created_by_to_agent_id.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251104000003_rename_constraints_created_by_to_agent_id.js +0 -189
- package/dist/config/knex/enhancements/20251104000003_rename_constraints_created_by_to_agent_id.js.map +0 -1
- package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.d.ts +0 -16
- package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.js +0 -72
- package/dist/config/knex/enhancements/20251105000000_add_token_usage_table.js.map +0 -1
- package/dist/config/knex/enhancements/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts +0 -23
- package/dist/config/knex/enhancements/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251105000001_rename_decision_context_decided_by_to_agent_id.js +0 -118
- package/dist/config/knex/enhancements/20251105000001_rename_decision_context_decided_by_to_agent_id.js.map +0 -1
- package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts +0 -29
- package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.js +0 -556
- package/dist/config/knex/enhancements/20251106000000_fix_master_tables_project_id_v3_7_3.js.map +0 -1
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.d.ts +0 -21
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.js +0 -73
- package/dist/config/knex/enhancements/20251108000000_add_planning_layers_v3_8_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts +0 -19
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js +0 -88
- package/dist/config/knex/enhancements/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts +0 -24
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.js +0 -79
- package/dist/config/knex/enhancements/20251109000003_token_usage_cross_db_compat_v3_7_5.js.map +0 -1
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.d.ts +0 -27
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.js +0 -347
- package/dist/config/knex/enhancements/20251109010000_tool_cleanup_v3_8_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.d.ts +0 -30
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.js +0 -232
- package/dist/config/knex/enhancements/20251109020000_fix_missing_help_actions_v3_8_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts +0 -22
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.js +0 -106
- package/dist/config/knex/enhancements/20251112000001_fix_task_file_links_schema_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts +0 -21
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.js +0 -106
- package/dist/config/knex/enhancements/20251112000002_fix_task_pruned_files_schema_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts +0 -21
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.js +0 -91
- package/dist/config/knex/enhancements/20251114000000_fix_v_tagged_decisions_numeric_support.js.map +0 -1
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts +0 -15
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js +0 -270
- package/dist/config/knex/enhancements/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts +0 -15
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.js +0 -241
- package/dist/config/knex/enhancements/20251114121000_add_suggest_tool_use_cases_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.d.ts +0 -16
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.js +0 -168
- package/dist/config/knex/enhancements/20251114130000_seed_builtin_policies_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.d.ts +0 -14
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.js +0 -228
- package/dist/config/knex/enhancements/20251114140000_add_policy_help_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.d.ts +0 -14
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.js +0 -237
- package/dist/config/knex/enhancements/20251114141000_add_policy_use_cases_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts +0 -14
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.js +0 -61
- package/dist/config/knex/enhancements/20251114150000_fix_policy_unique_constraint_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.d.ts +0 -21
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.js +0 -127
- package/dist/config/knex/enhancements/20251115000000_fix_task_decision_links_unique_constraint.js.map +0 -1
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.d.ts +0 -15
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.js +0 -69
- package/dist/config/knex/enhancements/20251115100000_fix_read_keyword_index_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts +0 -15
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.js +0 -132
- package/dist/config/knex/enhancements/20251115110000_fix_cross_database_timestamps_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts +0 -18
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.js +0 -47
- package/dist/config/knex/enhancements/20251115120000_fix_all_cross_db_issues_v3_9_0.js.map +0 -1
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.d.ts +0 -20
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.d.ts.map +0 -1
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.js +0 -119
- package/dist/config/knex/enhancements/20251118000000_fix_native_db_test_issues_v3_9_1.js.map +0 -1
- package/dist/config/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.d.ts +0 -13
- package/dist/config/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.js +0 -70
- package/dist/config/knex/upgrades/20251024010000_upgrade_v1_0_to_v1_1.js.map +0 -1
- package/dist/config/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.d.ts +0 -11
- package/dist/config/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.js +0 -36
- package/dist/config/knex/upgrades/20251024020000_upgrade_v2_0_to_v2_1.js.map +0 -1
- package/dist/config/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.d.ts +0 -14
- package/dist/config/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.js +0 -84
- package/dist/config/knex/upgrades/20251024030000_upgrade_v2_1_to_v3_0.js.map +0 -1
- package/dist/config/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.d.ts +0 -9
- package/dist/config/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.js +0 -37
- package/dist/config/knex/upgrades/20251024040000_upgrade_v3_0_to_v3_2.js.map +0 -1
- package/dist/config/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts +0 -9
- package/dist/config/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.js +0 -41
- package/dist/config/knex/upgrades/20251024050000_upgrade_v3_2_0_to_v3_2_2.js.map +0 -1
- package/dist/config/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.d.ts +0 -9
- package/dist/config/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.js +0 -36
- package/dist/config/knex/upgrades/20251024060000_upgrade_v3_4_to_v3_5.js.map +0 -1
- package/dist/config/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.d.ts +0 -10
- package/dist/config/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.js +0 -28
- package/dist/config/knex/upgrades/20251024070000_upgrade_v3_5_to_v3_6.js.map +0 -1
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.d.ts +0 -49
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.js +0 -974
- package/dist/config/knex/upgrades/20251104000000_add_multi_project_v3_7_0.js.map +0 -1
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts +0 -14
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.js +0 -97
- package/dist/config/knex/upgrades/20251108000000_hotfix_v_tagged_constraints_project_id.js.map +0 -1
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts +0 -24
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.js +0 -303
- package/dist/config/knex/upgrades/20251109000002_multi_project_cross_db_compat_v3_7_5.js.map +0 -1
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts +0 -19
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.js +0 -196
- package/dist/config/knex/upgrades/20251111235959_preemptive_fix_cross_database_v3_9_0.js.map +0 -1
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.d.ts +0 -22
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.d.ts.map +0 -1
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.js +0 -375
- package/dist/config/knex/upgrades/20251112000000_decision_intelligence_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.d.ts +0 -16
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.d.ts.map +0 -1
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.js +0 -84
- package/dist/database/migrations/20251024010000_upgrade_v1_0_to_v1_1.js.map +0 -1
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.d.ts +0 -14
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.d.ts.map +0 -1
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.js +0 -42
- package/dist/database/migrations/20251024020000_upgrade_v2_0_to_v2_1.js.map +0 -1
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.d.ts +0 -17
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.d.ts.map +0 -1
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.js +0 -122
- package/dist/database/migrations/20251024030000_upgrade_v2_1_to_v3_0.js.map +0 -1
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.d.ts +0 -12
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.d.ts.map +0 -1
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.js +0 -49
- package/dist/database/migrations/20251024040000_upgrade_v3_0_to_v3_2.js.map +0 -1
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts +0 -12
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.d.ts.map +0 -1
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.js +0 -53
- package/dist/database/migrations/20251024050000_upgrade_v3_2_0_to_v3_2_2.js.map +0 -1
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.d.ts +0 -12
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.d.ts.map +0 -1
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.js +0 -44
- package/dist/database/migrations/20251024060000_upgrade_v3_4_to_v3_5.js.map +0 -1
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.d.ts +0 -13
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.d.ts.map +0 -1
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.js +0 -33
- package/dist/database/migrations/20251024070000_upgrade_v3_5_to_v3_6.js.map +0 -1
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.d.ts +0 -17
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.d.ts.map +0 -1
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.js +0 -119
- package/dist/database/migrations/20251025020452_create_master_tables_wrapper.js.map +0 -1
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.d.ts +0 -15
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.d.ts.map +0 -1
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.js +0 -282
- package/dist/database/migrations/20251025021152_create_transaction_tables_wrapper.js.map +0 -1
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.d.ts +0 -21
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.d.ts.map +0 -1
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.js +0 -83
- package/dist/database/migrations/20251025021351_create_indexes_wrapper.js.map +0 -1
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.d.ts +0 -22
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.d.ts.map +0 -1
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.js +0 -94
- package/dist/database/migrations/20251025021352_fix_mysql_index_syntax_wrapper.js.map +0 -1
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.d.ts +0 -19
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.d.ts.map +0 -1
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.js +0 -120
- package/dist/database/migrations/20251025021416_seed_master_data_wrapper.js.map +0 -1
- package/dist/database/migrations/20251025070349_create_views_wrapper.d.ts +0 -14
- package/dist/database/migrations/20251025070349_create_views_wrapper.d.ts.map +0 -1
- package/dist/database/migrations/20251025070349_create_views_wrapper.js +0 -160
- package/dist/database/migrations/20251025070349_create_views_wrapper.js.map +0 -1
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.d.ts +0 -9
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.d.ts.map +0 -1
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.js +0 -21
- package/dist/database/migrations/20251025081221_add_link_type_to_task_decision_links.js.map +0 -1
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.d.ts +0 -13
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.d.ts.map +0 -1
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.js +0 -17
- package/dist/database/migrations/20251025082220_fix_task_dependencies_columns.js.map +0 -1
- package/dist/database/migrations/20251025090000_create_help_system_tables.d.ts +0 -27
- package/dist/database/migrations/20251025090000_create_help_system_tables.d.ts.map +0 -1
- package/dist/database/migrations/20251025090000_create_help_system_tables.js +0 -120
- package/dist/database/migrations/20251025090000_create_help_system_tables.js.map +0 -1
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.d.ts +0 -18
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.d.ts.map +0 -1
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.js +0 -388
- package/dist/database/migrations/20251025090100_seed_help_categories_and_use_cases.js.map +0 -1
- package/dist/database/migrations/20251025100000_seed_help_metadata.d.ts +0 -20
- package/dist/database/migrations/20251025100000_seed_help_metadata.d.ts.map +0 -1
- package/dist/database/migrations/20251025100000_seed_help_metadata.js +0 -264
- package/dist/database/migrations/20251025100000_seed_help_metadata.js.map +0 -1
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.d.ts +0 -21
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.d.ts.map +0 -1
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.js +0 -281
- package/dist/database/migrations/20251025100100_seed_remaining_use_cases.js.map +0 -1
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.d.ts +0 -13
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.d.ts.map +0 -1
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.js +0 -76
- package/dist/database/migrations/20251025120000_add_cascade_to_task_dependencies.js.map +0 -1
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.d.ts +0 -17
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.d.ts.map +0 -1
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.js +0 -42
- package/dist/database/migrations/20251027000000_add_agent_reuse_system.js.map +0 -1
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.d.ts +0 -10
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.d.ts.map +0 -1
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.js +0 -28
- package/dist/database/migrations/20251027010000_add_task_constraint_to_decision_context.js.map +0 -1
- package/dist/database/migrations/20251027020000_update_agent_reusability.d.ts +0 -21
- package/dist/database/migrations/20251027020000_update_agent_reusability.d.ts.map +0 -1
- package/dist/database/migrations/20251027020000_update_agent_reusability.js +0 -38
- package/dist/database/migrations/20251027020000_update_agent_reusability.js.map +0 -1
- package/dist/database/migrations/20251028000000_simplify_agent_system.d.ts +0 -26
- package/dist/database/migrations/20251028000000_simplify_agent_system.d.ts.map +0 -1
- package/dist/database/migrations/20251028000000_simplify_agent_system.js +0 -56
- package/dist/database/migrations/20251028000000_simplify_agent_system.js.map +0 -1
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.d.ts +0 -16
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.d.ts.map +0 -1
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.js +0 -52
- package/dist/database/migrations/20251031000000_drop_orphaned_message_view.js.map +0 -1
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.d.ts +0 -56
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.d.ts.map +0 -1
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.js +0 -701
- package/dist/database/migrations/20251104000000_add_multi_project_v3_7_0.js.map +0 -1
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.d.ts +0 -30
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.d.ts.map +0 -1
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.js +0 -180
- package/dist/database/migrations/20251104000003_rename_constraints_created_by_to_agent_id.js.map +0 -1
- package/dist/database/migrations/20251105000000_add_token_usage_table.d.ts +0 -19
- package/dist/database/migrations/20251105000000_add_token_usage_table.d.ts.map +0 -1
- package/dist/database/migrations/20251105000000_add_token_usage_table.js +0 -47
- package/dist/database/migrations/20251105000000_add_token_usage_table.js.map +0 -1
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts +0 -28
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.d.ts.map +0 -1
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.js +0 -123
- package/dist/database/migrations/20251105000001_rename_decision_context_decided_by_to_agent_id.js.map +0 -1
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts +0 -36
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.d.ts.map +0 -1
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.js +0 -559
- package/dist/database/migrations/20251106000000_fix_master_tables_project_id_v3_7_3.js.map +0 -1
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.d.ts +0 -26
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.d.ts.map +0 -1
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.js +0 -78
- package/dist/database/migrations/20251108000000_add_planning_layers_v3_8_0.js.map +0 -1
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts +0 -17
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.d.ts.map +0 -1
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.js +0 -78
- package/dist/database/migrations/20251108000000_hotfix_v_tagged_constraints_project_id.js.map +0 -1
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts +0 -24
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.d.ts.map +0 -1
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js +0 -63
- package/dist/database/migrations/20251109000000_fix_task_file_links_unique_constraint_v3_8_0.js.map +0 -1
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts +0 -27
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.d.ts.map +0 -1
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.js +0 -276
- package/dist/database/migrations/20251109000002_multi_project_cross_db_compat_v3_7_5.js.map +0 -1
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts +0 -27
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.d.ts.map +0 -1
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.js +0 -67
- package/dist/database/migrations/20251109000003_token_usage_cross_db_compat_v3_7_5.js.map +0 -1
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.d.ts +0 -32
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.d.ts.map +0 -1
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.js +0 -352
- package/dist/database/migrations/20251109010000_tool_cleanup_v3_8_0.js.map +0 -1
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.d.ts +0 -35
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.d.ts.map +0 -1
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.js +0 -237
- package/dist/database/migrations/20251109020000_fix_missing_help_actions_v3_8_0.js.map +0 -1
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts +0 -22
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.js +0 -190
- package/dist/database/migrations/20251111235959_preemptive_fix_cross_database_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.d.ts +0 -32
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.js +0 -342
- package/dist/database/migrations/20251112000000_decision_intelligence_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts +0 -25
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.js +0 -109
- package/dist/database/migrations/20251112000001_fix_task_file_links_schema_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts +0 -24
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.js +0 -111
- package/dist/database/migrations/20251112000002_fix_task_pruned_files_schema_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts +0 -24
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.d.ts.map +0 -1
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.js +0 -90
- package/dist/database/migrations/20251114000000_fix_v_tagged_decisions_numeric_support.js.map +0 -1
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts +0 -20
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js +0 -275
- package/dist/database/migrations/20251114120000_add_suggest_tool_to_help_system_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts +0 -20
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.js +0 -246
- package/dist/database/migrations/20251114121000_add_suggest_tool_use_cases_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.d.ts +0 -23
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.js +0 -175
- package/dist/database/migrations/20251114130000_seed_builtin_policies_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.d.ts +0 -21
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.js +0 -235
- package/dist/database/migrations/20251114140000_add_policy_help_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.d.ts +0 -21
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.js +0 -244
- package/dist/database/migrations/20251114141000_add_policy_use_cases_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts +0 -23
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.js +0 -70
- package/dist/database/migrations/20251114150000_fix_policy_unique_constraint_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.d.ts +0 -29
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.d.ts.map +0 -1
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.js +0 -135
- package/dist/database/migrations/20251115000000_fix_task_decision_links_unique_constraint.js.map +0 -1
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.d.ts +0 -23
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.js +0 -42
- package/dist/database/migrations/20251115100000_fix_read_keyword_index_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts +0 -25
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.js +0 -102
- package/dist/database/migrations/20251115110000_fix_cross_database_timestamps_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts +0 -25
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.js +0 -55
- package/dist/database/migrations/20251115120000_fix_all_cross_db_issues_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.d.ts +0 -29
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.d.ts.map +0 -1
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.js +0 -62
- package/dist/database/migrations/20251118000000_eliminate_views_v3_9_0.js.map +0 -1
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.d.ts +0 -25
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.d.ts.map +0 -1
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.js +0 -100
- package/dist/database/migrations/20251119000000_add_constraint_text_hash_v3_9_1.js.map +0 -1
- package/dist/tests/database/migrations/idempotency.test.d.ts +0 -2
- package/dist/tests/database/migrations/idempotency.test.d.ts.map +0 -1
- package/dist/tests/database/migrations/idempotency.test.js +0 -331
- package/dist/tests/database/migrations/idempotency.test.js.map +0 -1
- package/dist/tests/database/migrations/upgrade-paths.test.d.ts +0 -2
- package/dist/tests/database/migrations/upgrade-paths.test.d.ts.map +0 -1
- package/dist/tests/database/migrations/upgrade-paths.test.js +0 -249
- package/dist/tests/database/migrations/upgrade-paths.test.js.map +0 -1
- package/dist/utils/activity-logging.d.ts +0 -114
- package/dist/utils/activity-logging.d.ts.map +0 -1
- package/dist/utils/activity-logging.js +0 -169
- package/dist/utils/activity-logging.js.map +0 -1
- package/docs/DECISION_TO_TASK_MIGRATION_GUIDE.md +0 -457
- package/docs/TASK_DEPENDENCIES.md +0 -748
- package/docs/TASK_LINKING.md +0 -909
- package/docs/TASK_MIGRATION.md +0 -701
- package/docs/TASK_SYSTEM.md +0 -1314
package/docs/AI_AGENT_GUIDE.md
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
# AI Agent Guide for MCP sqlew
|
|
2
2
|
|
|
3
|
-
**Quick Reference for Claude Code and other AI agents using sqlew**
|
|
3
|
+
**Quick Reference for Claude Code and other AI agents using sqlew (v4.0.0+)**
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Most Important Rule
|
|
6
6
|
|
|
7
7
|
**ALWAYS include the `action` parameter in EVERY tool call.** This is the #1 cause of errors.
|
|
8
8
|
|
|
9
9
|
```javascript
|
|
10
|
-
//
|
|
10
|
+
// WRONG - Missing action
|
|
11
11
|
{
|
|
12
12
|
key: "some_key",
|
|
13
13
|
value: "some value"
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
//
|
|
16
|
+
// CORRECT - action parameter present
|
|
17
17
|
{
|
|
18
18
|
action: "set",
|
|
19
19
|
key: "some_key",
|
|
@@ -23,20 +23,6 @@
|
|
|
23
23
|
|
|
24
24
|
---
|
|
25
25
|
|
|
26
|
-
## Table of Contents
|
|
27
|
-
|
|
28
|
-
1. [Quick Start](#quick-start)
|
|
29
|
-
2. [When to Use Each Tool: Decision Tree](#when-to-use-each-tool-decision-tree)
|
|
30
|
-
3. [Parameter Requirements by Tool](#parameter-requirements-by-tool)
|
|
31
|
-
4. [Common Errors & Solutions](#common-errors--solutions)
|
|
32
|
-
5. [Search Actions Decision Tree](#search-actions-decision-tree)
|
|
33
|
-
6. [Batch Operations Guide](#batch-operations-guide)
|
|
34
|
-
7. [Template System](#template-system)
|
|
35
|
-
8. [Multi-Step Workflow Examples](#multi-step-workflow-examples)
|
|
36
|
-
9. [Best Practices](#best-practices)
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
26
|
## Quick Start
|
|
41
27
|
|
|
42
28
|
### Basic Decision Workflow
|
|
@@ -65,1429 +51,148 @@
|
|
|
65
51
|
}
|
|
66
52
|
```
|
|
67
53
|
|
|
68
|
-
### Basic Messaging Workflow
|
|
69
|
-
|
|
70
|
-
```javascript
|
|
71
|
-
// 1. Send a message
|
|
72
|
-
{
|
|
73
|
-
action: "send",
|
|
74
|
-
from_agent: "bot1",
|
|
75
|
-
msg_type: "info",
|
|
76
|
-
message: "Task completed successfully",
|
|
77
|
-
priority: "high"
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// 2. Get messages
|
|
81
|
-
{
|
|
82
|
-
action: "get",
|
|
83
|
-
agent_name: "bot1",
|
|
84
|
-
unread_only: true
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// 3. Mark as read
|
|
88
|
-
{
|
|
89
|
-
action: "mark_read",
|
|
90
|
-
agent_name: "bot1",
|
|
91
|
-
message_ids: [1, 2, 3]
|
|
92
|
-
}
|
|
93
|
-
```
|
|
94
|
-
|
|
95
54
|
---
|
|
96
55
|
|
|
97
|
-
## When to Use Each Tool
|
|
98
|
-
|
|
99
|
-
### Understanding Tool Purposes
|
|
100
|
-
|
|
101
|
-
Each tool serves a distinct purpose in the MCP sqlew ecosystem:
|
|
102
|
-
|
|
103
|
-
```
|
|
104
|
-
┌──────────────────────────────────────────────────────────┐
|
|
105
|
-
│ What do you need to do? │
|
|
106
|
-
└────────────────┬─────────────────────────────────────────┘
|
|
107
|
-
│
|
|
108
|
-
├─ Record a CHOICE that was made?
|
|
109
|
-
│ └─> Use `decision` tool
|
|
110
|
-
│ • Examples: "We chose JWT auth", "Selected PostgreSQL"
|
|
111
|
-
│ • Key: Captures PAST decisions
|
|
112
|
-
│ • Supports: versioning, tags, layers, scopes
|
|
113
|
-
│
|
|
114
|
-
├─ Communicate with other agents?
|
|
115
|
-
│ └─> Use `message` tool
|
|
116
|
-
│ • Examples: Task updates, warnings, requests
|
|
117
|
-
│ • Key: Real-time communication
|
|
118
|
-
│ • Supports: priority, broadcast, read tracking
|
|
119
|
-
│
|
|
120
|
-
├─ Define a REQUIREMENT that must be followed?
|
|
121
|
-
│ └─> Use `constraint` tool
|
|
122
|
-
│ • Examples: "API must be <100ms", "Code coverage >80%"
|
|
123
|
-
│ • Key: Enforces RULES
|
|
124
|
-
│ • Supports: priority, categories, layers
|
|
125
|
-
│
|
|
126
|
-
├─ Track WORK to be done?
|
|
127
|
-
│ └─> Use `task` tool
|
|
128
|
-
│ • Examples: "Implement feature X", "Fix bug Y"
|
|
129
|
-
│ • Key: Tracks TODO items and progress
|
|
130
|
-
│ • Supports: status transitions, auto-stale, auto-archive, linking
|
|
131
|
-
│
|
|
132
|
-
├─ Record file modifications?
|
|
133
|
-
│ └─> Use `file` tool
|
|
134
|
-
│ • Examples: Track changes, check locks
|
|
135
|
-
│ • Key: File change history
|
|
136
|
-
│ • Supports: layers, change types, lock detection
|
|
137
|
-
│
|
|
138
|
-
└─ Get statistics or manage data?
|
|
139
|
-
└─> Use `stats` or `config` tools
|
|
140
|
-
• stats: Database metrics, cleanup, activity logs
|
|
141
|
-
• config: Retention settings, auto-deletion
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### Tool Comparison Table
|
|
56
|
+
## When to Use Each Tool
|
|
145
57
|
|
|
146
|
-
| Tool | Use For |
|
|
147
|
-
|
|
148
|
-
| **decision** | Recording choices made |
|
|
149
|
-
| **
|
|
150
|
-
| **
|
|
151
|
-
| **
|
|
152
|
-
| **
|
|
153
|
-
| **stats** | Metrics & cleanup | Data storage | Aggregated views |
|
|
154
|
-
| **config** | Retention settings | Business logic | Auto-deletion control |
|
|
58
|
+
| Tool | Use For | Key Feature |
|
|
59
|
+
|------|---------|-------------|
|
|
60
|
+
| **decision** | Recording choices made | Version history tracking |
|
|
61
|
+
| **constraint** | Requirements & rules | Category-based organization |
|
|
62
|
+
| **task** | Work tracking (TODO) | Kanban status, dependencies |
|
|
63
|
+
| **file** | File change tracking | Layer-based organization |
|
|
64
|
+
| **stats** | Metrics & cleanup | Aggregated views |
|
|
155
65
|
|
|
156
66
|
### Decision vs Constraint vs Task
|
|
157
67
|
|
|
158
|
-
|
|
68
|
+
| Concept | Definition | Example |
|
|
69
|
+
|---------|------------|---------|
|
|
70
|
+
| **Decision** | A choice that WAS made | "We chose JWT authentication" |
|
|
71
|
+
| **Constraint** | A requirement that MUST be followed | "Response time must be <100ms" |
|
|
72
|
+
| **Task** | Work that NEEDS to be done | "Implement JWT authentication" |
|
|
159
73
|
|
|
160
|
-
|
|
161
|
-
|---------|------------|---------|------|
|
|
162
|
-
| **Decision** | A choice that WAS made | "We chose JWT authentication" | `decision` |
|
|
163
|
-
| **Constraint** | A requirement that MUST be followed | "Response time must be <100ms" | `constraint` |
|
|
164
|
-
| **Task** | Work that NEEDS to be done | "Implement JWT authentication" | `task` |
|
|
74
|
+
### Quick Scenario
|
|
165
75
|
|
|
166
|
-
### Scenario-Based Tool Selection
|
|
167
|
-
|
|
168
|
-
#### Scenario 1: Breaking API Change
|
|
169
76
|
```javascript
|
|
170
|
-
// 1. Record
|
|
171
|
-
{
|
|
172
|
-
action: "set",
|
|
173
|
-
key: "api_v2_breaking_change",
|
|
174
|
-
value: "Moved /users endpoint to /v2/users",
|
|
175
|
-
layer: "presentation",
|
|
176
|
-
tags: ["api", "breaking-change", "v2.0.0"]
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
// 2. Add a constraint (requirement going forward)
|
|
180
|
-
{
|
|
181
|
-
action: "add",
|
|
182
|
-
category: "architecture",
|
|
183
|
-
constraint_text: "All API endpoints must include version prefix",
|
|
184
|
-
layer: "presentation",
|
|
185
|
-
tags: ["api", "versioning"]
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
// 3. Create migration task
|
|
189
|
-
{
|
|
190
|
-
action: "create",
|
|
191
|
-
title: "Migrate clients to /v2/users endpoint",
|
|
192
|
-
status: "todo",
|
|
193
|
-
layer: "presentation",
|
|
194
|
-
tags: ["migration", "v2.0.0"]
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
// 4. Notify other agents
|
|
198
|
-
{
|
|
199
|
-
action: "send",
|
|
200
|
-
from_agent: "api-agent",
|
|
201
|
-
msg_type: "warning",
|
|
202
|
-
message: "Breaking change: /users moved to /v2/users",
|
|
203
|
-
priority: "critical"
|
|
204
|
-
}
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
#### Scenario 2: Performance Issue
|
|
208
|
-
```javascript
|
|
209
|
-
// 1. Record the finding (decision to investigate)
|
|
210
|
-
{
|
|
211
|
-
action: "set",
|
|
212
|
-
key: "db_performance_issue_found",
|
|
213
|
-
value: "Query latency increased 300% in production",
|
|
214
|
-
layer: "data",
|
|
215
|
-
tags: ["performance", "database", "production"]
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
// 2. Add performance constraint
|
|
219
|
-
{
|
|
220
|
-
action: "add",
|
|
221
|
-
category: "performance",
|
|
222
|
-
constraint_text: "Database queries must complete within 50ms",
|
|
223
|
-
priority: "high",
|
|
224
|
-
layer: "data"
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
// 3. Create optimization task
|
|
228
|
-
{
|
|
229
|
-
action: "create",
|
|
230
|
-
title: "Add indexes to user_sessions table",
|
|
231
|
-
status: "in_progress",
|
|
232
|
-
priority: 4,
|
|
233
|
-
layer: "data",
|
|
234
|
-
tags: ["performance", "database"]
|
|
235
|
-
}
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
#### Scenario 3: Security Vulnerability
|
|
239
|
-
```javascript
|
|
240
|
-
// 1. Record the vulnerability (decision about issue)
|
|
241
|
-
{
|
|
242
|
-
action: "set",
|
|
243
|
-
key: "auth_vulnerability_CVE_2025_1234",
|
|
244
|
-
value: "JWT library vulnerable to timing attacks",
|
|
245
|
-
layer: "business",
|
|
246
|
-
tags: ["security", "vulnerability", "auth"]
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
// 2. Add security constraint
|
|
250
|
-
{
|
|
251
|
-
action: "add",
|
|
252
|
-
category: "security",
|
|
253
|
-
constraint_text: "All auth tokens must use constant-time comparison",
|
|
254
|
-
priority: "critical",
|
|
255
|
-
layer: "business"
|
|
256
|
-
}
|
|
77
|
+
// 1. Record decision
|
|
78
|
+
{ action: "set", key: "api_change", value: "Moved to /v2/users", layer: "presentation", tags: ["api"] }
|
|
257
79
|
|
|
258
|
-
//
|
|
259
|
-
{
|
|
260
|
-
action: "create",
|
|
261
|
-
title: "Upgrade JWT library and implement constant-time comparison",
|
|
262
|
-
status: "in_progress",
|
|
263
|
-
priority: 4,
|
|
264
|
-
assigned_agent: "security-agent",
|
|
265
|
-
layer: "business"
|
|
266
|
-
}
|
|
80
|
+
// 2. Add constraint
|
|
81
|
+
{ action: "add", category: "architecture", constraint_text: "All API endpoints must include version prefix", layer: "presentation" }
|
|
267
82
|
|
|
268
|
-
//
|
|
269
|
-
{
|
|
270
|
-
action: "send",
|
|
271
|
-
from_agent: "security-agent",
|
|
272
|
-
to_agent: null, // Broadcast
|
|
273
|
-
msg_type: "warning",
|
|
274
|
-
message: "URGENT: Auth vulnerability found, fix in progress",
|
|
275
|
-
priority: "critical"
|
|
276
|
-
}
|
|
83
|
+
// 3. Create task
|
|
84
|
+
{ action: "create", title: "Migrate clients to /v2/users", layer: "presentation", tags: ["migration"] }
|
|
277
85
|
```
|
|
278
86
|
|
|
279
87
|
---
|
|
280
88
|
|
|
281
|
-
## Parameter Requirements by Tool
|
|
282
|
-
|
|
283
|
-
### `decision` Tool
|
|
284
|
-
|
|
285
|
-
| Action | Required | Optional |
|
|
286
|
-
|--------|----------|----------|
|
|
287
|
-
| **set** | action, key, value, layer | agent, version, status, tags, scopes |
|
|
288
|
-
| **get** | action, key | version |
|
|
289
|
-
| **list** | action | status, layer, tags, scope, tag_match, limit, offset |
|
|
290
|
-
| **search_tags** | action, tags | match_mode, status, layer |
|
|
291
|
-
| **search_layer** | action, layer | status, include_tags |
|
|
292
|
-
| **versions** | action, key | - |
|
|
293
|
-
| **quick_set** | action, key, value | agent, layer, version, status, tags, scopes |
|
|
294
|
-
| **search_advanced** | action | layers, tags_all, tags_any, exclude_tags, scopes, updated_after, updated_before, decided_by, statuses, search_text, sort_by, sort_order, limit, offset |
|
|
295
|
-
| **set_batch** | action, decisions | atomic |
|
|
296
|
-
| **has_updates** | action, agent_name, since_timestamp | - |
|
|
297
|
-
| **set_from_template** | action, template, key, value, layer | agent, version, status, tags, scopes |
|
|
298
|
-
| **create_template** | action, name, defaults | required_fields, created_by |
|
|
299
|
-
| **list_templates** | action | - |
|
|
300
|
-
|
|
301
|
-
### `message` Tool
|
|
302
|
-
|
|
303
|
-
| Action | Required | Optional |
|
|
304
|
-
|--------|----------|----------|
|
|
305
|
-
| **send** | action, from_agent, msg_type, message | to_agent, priority, payload |
|
|
306
|
-
| **get** | action, agent_name | unread_only, priority_filter, msg_type_filter, limit |
|
|
307
|
-
| **mark_read** | action, agent_name, message_ids | - |
|
|
308
|
-
| **send_batch** | action, messages | atomic |
|
|
309
|
-
|
|
310
|
-
### `file` Tool
|
|
311
|
-
|
|
312
|
-
| Action | Required | Optional |
|
|
313
|
-
|--------|----------|----------|
|
|
314
|
-
| **record** | action, file_path, agent_name, change_type | layer, description |
|
|
315
|
-
| **get** | action | file_path, agent_name, layer, change_type, since, limit |
|
|
316
|
-
| **check_lock** | action, file_path | lock_duration |
|
|
317
|
-
| **record_batch** | action, file_changes | atomic |
|
|
318
|
-
|
|
319
|
-
### `constraint` Tool
|
|
320
|
-
|
|
321
|
-
| Action | Required | Optional |
|
|
322
|
-
|--------|----------|----------|
|
|
323
|
-
| **add** | action, category, constraint_text | priority, layer, tags, created_by |
|
|
324
|
-
| **get** | action | category, layer, priority, tags, active_only, limit |
|
|
325
|
-
| **deactivate** | action, constraint_id | - |
|
|
326
|
-
|
|
327
|
-
### `stats` Tool
|
|
328
|
-
|
|
329
|
-
| Action | Required | Optional |
|
|
330
|
-
|--------|----------|----------|
|
|
331
|
-
| **layer_summary** | action | - |
|
|
332
|
-
| **db_stats** | action | - |
|
|
333
|
-
| **clear** | action | messages_older_than_hours, file_changes_older_than_days |
|
|
334
|
-
| **activity_log** | action | since, agent_names, actions, limit |
|
|
335
|
-
|
|
336
|
-
### `config` Tool
|
|
337
|
-
|
|
338
|
-
| Action | Required | Optional |
|
|
339
|
-
|--------|----------|----------|
|
|
340
|
-
| **get** | action | - |
|
|
341
|
-
| **update** | action | ignoreWeekend, messageRetentionHours, fileHistoryRetentionDays |
|
|
342
|
-
|
|
343
|
-
### `task` Tool
|
|
344
|
-
|
|
345
|
-
| Action | Required | Optional |
|
|
346
|
-
|--------|----------|----------|
|
|
347
|
-
| **create** | action, title | description, acceptance_criteria, notes, priority, assigned_agent, created_by_agent, layer, tags, status |
|
|
348
|
-
| **update** | action, task_id | title, priority, assigned_agent, layer, description, acceptance_criteria, notes |
|
|
349
|
-
| **get** | action, task_id | - |
|
|
350
|
-
| **list** | action | status, assigned_agent, layer, tags, limit, offset |
|
|
351
|
-
| **move** | action, task_id, new_status | - |
|
|
352
|
-
| **link** | action, task_id, link_type, target_id | link_relation |
|
|
353
|
-
| **archive** | action, task_id | - |
|
|
354
|
-
| **create_batch** | action, tasks | atomic |
|
|
355
|
-
|
|
356
|
-
---
|
|
357
|
-
|
|
358
89
|
## Common Errors & Solutions
|
|
359
90
|
|
|
360
|
-
💡 **See also**: [ARCHITECTURE.md](ARCHITECTURE.md) for detailed layer, enum, and status definitions.
|
|
361
|
-
|
|
362
91
|
### Error: "Unknown action: undefined"
|
|
363
92
|
|
|
364
93
|
**Cause**: Missing `action` parameter
|
|
365
94
|
|
|
366
|
-
**Solution**: Always include `action` as the first parameter
|
|
367
|
-
|
|
368
95
|
```javascript
|
|
369
|
-
//
|
|
370
|
-
{
|
|
371
|
-
key: "some_key",
|
|
372
|
-
value: "some value",
|
|
373
|
-
layer: "business"
|
|
374
|
-
}
|
|
96
|
+
// WRONG
|
|
97
|
+
{ key: "some_key", value: "some value" }
|
|
375
98
|
|
|
376
|
-
//
|
|
377
|
-
{
|
|
378
|
-
action: "set",
|
|
379
|
-
key: "some_key",
|
|
380
|
-
value: "some value",
|
|
381
|
-
layer: "business"
|
|
382
|
-
}
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
### Error: "Parameter \"value\" is required"
|
|
386
|
-
|
|
387
|
-
**Cause**: Using `defaults` instead of direct parameters with templates
|
|
388
|
-
|
|
389
|
-
**Solution**: Provide parameters directly, not nested in `defaults`
|
|
390
|
-
|
|
391
|
-
```javascript
|
|
392
|
-
// ❌ WRONG
|
|
393
|
-
{
|
|
394
|
-
action: "set_from_template",
|
|
395
|
-
template: "deprecation",
|
|
396
|
-
key: "some_key",
|
|
397
|
-
defaults: {
|
|
398
|
-
value: "...",
|
|
399
|
-
layer: "cross-cutting"
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
// ✅ CORRECT
|
|
404
|
-
{
|
|
405
|
-
action: "set_from_template",
|
|
406
|
-
template: "deprecation",
|
|
407
|
-
key: "some_key",
|
|
408
|
-
value: "...",
|
|
409
|
-
layer: "cross-cutting"
|
|
410
|
-
}
|
|
99
|
+
// CORRECT
|
|
100
|
+
{ action: "set", key: "some_key", value: "some value" }
|
|
411
101
|
```
|
|
412
102
|
|
|
413
103
|
### Error: "Invalid layer"
|
|
414
104
|
|
|
415
|
-
**
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
**Valid layers**: `presentation`, `business`, `data`, `infrastructure`, `cross-cutting`
|
|
420
|
-
|
|
421
|
-
```javascript
|
|
422
|
-
// ❌ WRONG
|
|
423
|
-
{
|
|
424
|
-
action: "set",
|
|
425
|
-
key: "my_key",
|
|
426
|
-
value: "my_value",
|
|
427
|
-
layer: "backend" // Invalid!
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
// ✅ CORRECT
|
|
431
|
-
{
|
|
432
|
-
action: "set",
|
|
433
|
-
key: "my_key",
|
|
434
|
-
value: "my_value",
|
|
435
|
-
layer: "business" // Valid!
|
|
436
|
-
}
|
|
437
|
-
```
|
|
105
|
+
**Valid layers** (9 total):
|
|
106
|
+
- `presentation`, `business`, `data`, `infrastructure`, `cross-cutting`
|
|
107
|
+
- `documentation`, `planning`, `coordination`, `review`
|
|
438
108
|
|
|
439
109
|
### Error: "Invalid status"
|
|
440
110
|
|
|
441
|
-
**
|
|
442
|
-
|
|
443
|
-
**Solution**: Use one of the 3 valid statuses
|
|
111
|
+
**Valid decision statuses**: `active`, `deprecated`, `draft`
|
|
444
112
|
|
|
445
|
-
**Valid statuses**: `
|
|
113
|
+
**Valid task statuses**: `pending`, `in_progress`, `blocked`, `on_hold`, `completed`
|
|
446
114
|
|
|
447
115
|
### Error: "Batch operations are limited to 50 items maximum"
|
|
448
116
|
|
|
449
|
-
**Cause**: Too many items in batch array
|
|
450
|
-
|
|
451
117
|
**Solution**: Split into multiple batches of ≤50 items each
|
|
452
118
|
|
|
453
119
|
---
|
|
454
120
|
|
|
455
|
-
##
|
|
456
|
-
|
|
457
|
-
### When to use which search action?
|
|
458
|
-
|
|
459
|
-
```
|
|
460
|
-
┌─────────────────────────────────────┐
|
|
461
|
-
│ What do you want to search by? │
|
|
462
|
-
└──────────┬──────────────────────────┘
|
|
463
|
-
│
|
|
464
|
-
├─ Simple filters (status, layer, tags)?
|
|
465
|
-
│ └─> Use action: "list"
|
|
466
|
-
│
|
|
467
|
-
├─ Primarily by tags?
|
|
468
|
-
│ └─> Use action: "search_tags"
|
|
469
|
-
│ • match_mode: "AND" (all tags) or "OR" (any tag)
|
|
470
|
-
│
|
|
471
|
-
├─ Primarily by layer?
|
|
472
|
-
│ └─> Use action: "search_layer"
|
|
473
|
-
│
|
|
474
|
-
├─ Complex multi-filter query?
|
|
475
|
-
│ └─> Use action: "search_advanced"
|
|
476
|
-
│ • Multiple layers (OR)
|
|
477
|
-
│ • Tag combinations (AND/OR)
|
|
478
|
-
│ • Temporal filtering
|
|
479
|
-
│ • Full-text search
|
|
480
|
-
│ • Pagination
|
|
481
|
-
│
|
|
482
|
-
└─ Need version history?
|
|
483
|
-
└─> Use action: "versions"
|
|
484
|
-
```
|
|
485
|
-
|
|
486
|
-
### Detailed Search Comparison
|
|
487
|
-
|
|
488
|
-
| Action | Use When | Key Features |
|
|
489
|
-
|--------|----------|--------------|
|
|
490
|
-
| **list** | Basic filtering | Simple status/layer/tag filters, no pagination |
|
|
491
|
-
| **search_tags** | Tag-focused search | AND/OR logic for tags, optional status/layer |
|
|
492
|
-
| **search_layer** | Layer-focused search | Get all decisions in specific layer(s) |
|
|
493
|
-
| **search_advanced** | Complex queries | Full filtering, pagination, sorting, text search |
|
|
494
|
-
| **versions** | History tracking | Get all versions of a specific decision |
|
|
495
|
-
|
|
496
|
-
---
|
|
497
|
-
|
|
498
|
-
## Batch Operations Guide
|
|
499
|
-
|
|
500
|
-
### Atomic vs Non-Atomic Mode
|
|
501
|
-
|
|
502
|
-
**Atomic Mode** (`atomic: true`, default):
|
|
503
|
-
- All succeed or all fail as a single transaction
|
|
504
|
-
- If ANY item fails, entire batch is rolled back
|
|
505
|
-
- Error is thrown immediately on first failure
|
|
506
|
-
- Use for: Critical operations requiring consistency
|
|
507
|
-
|
|
508
|
-
**Non-Atomic Mode** (`atomic: false`, **recommended for AI agents**):
|
|
509
|
-
- Each item processed independently
|
|
510
|
-
- If some fail, others still succeed
|
|
511
|
-
- Returns partial results with per-item success/error status
|
|
512
|
-
- Use for: Best-effort batch operations, when individual failures are acceptable
|
|
513
|
-
|
|
514
|
-
### Batch Operation Examples
|
|
515
|
-
|
|
516
|
-
#### Decision Batch (Recommended: atomic: false)
|
|
517
|
-
|
|
518
|
-
```javascript
|
|
519
|
-
{
|
|
520
|
-
action: "set_batch",
|
|
521
|
-
atomic: false, // Recommended for AI agents
|
|
522
|
-
decisions: [
|
|
523
|
-
{
|
|
524
|
-
key: "feature-1",
|
|
525
|
-
value: "Implemented user authentication",
|
|
526
|
-
layer: "business",
|
|
527
|
-
tags: ["feature", "auth"],
|
|
528
|
-
status: "active"
|
|
529
|
-
},
|
|
530
|
-
{
|
|
531
|
-
key: "feature-2",
|
|
532
|
-
value: "Added rate limiting",
|
|
533
|
-
layer: "infrastructure",
|
|
534
|
-
tags: ["feature", "security"],
|
|
535
|
-
status: "active"
|
|
536
|
-
}
|
|
537
|
-
]
|
|
538
|
-
}
|
|
539
|
-
```
|
|
540
|
-
|
|
541
|
-
**Response Format:**
|
|
542
|
-
```json
|
|
543
|
-
{
|
|
544
|
-
"success": true,
|
|
545
|
-
"inserted": 2,
|
|
546
|
-
"failed": 0,
|
|
547
|
-
"results": [
|
|
548
|
-
{
|
|
549
|
-
"key": "feature-1",
|
|
550
|
-
"key_id": 123,
|
|
551
|
-
"version": "1.0.0",
|
|
552
|
-
"success": true
|
|
553
|
-
},
|
|
554
|
-
{
|
|
555
|
-
"key": "feature-2",
|
|
556
|
-
"key_id": 124,
|
|
557
|
-
"version": "1.0.0",
|
|
558
|
-
"success": true
|
|
559
|
-
}
|
|
560
|
-
]
|
|
561
|
-
}
|
|
562
|
-
```
|
|
563
|
-
|
|
564
|
-
#### Message Batch
|
|
565
|
-
|
|
566
|
-
```javascript
|
|
567
|
-
{
|
|
568
|
-
action: "send_batch",
|
|
569
|
-
atomic: false,
|
|
570
|
-
messages: [
|
|
571
|
-
{
|
|
572
|
-
from_agent: "bot1",
|
|
573
|
-
msg_type: "info",
|
|
574
|
-
message: "Task 1 completed",
|
|
575
|
-
priority: "medium"
|
|
576
|
-
},
|
|
577
|
-
{
|
|
578
|
-
from_agent: "bot1",
|
|
579
|
-
msg_type: "info",
|
|
580
|
-
message: "Task 2 completed",
|
|
581
|
-
priority: "medium"
|
|
582
|
-
}
|
|
583
|
-
]
|
|
584
|
-
}
|
|
585
|
-
```
|
|
586
|
-
|
|
587
|
-
#### File Change Batch
|
|
588
|
-
|
|
589
|
-
```javascript
|
|
590
|
-
{
|
|
591
|
-
action: "record_batch",
|
|
592
|
-
atomic: false,
|
|
593
|
-
file_changes: [
|
|
594
|
-
{
|
|
595
|
-
file_path: "src/types.ts",
|
|
596
|
-
agent_name: "refactor-bot",
|
|
597
|
-
change_type: "modified",
|
|
598
|
-
layer: "data"
|
|
599
|
-
},
|
|
600
|
-
{
|
|
601
|
-
file_path: "src/index.ts",
|
|
602
|
-
agent_name: "refactor-bot",
|
|
603
|
-
change_type: "modified",
|
|
604
|
-
layer: "infrastructure"
|
|
605
|
-
}
|
|
606
|
-
]
|
|
607
|
-
}
|
|
608
|
-
```
|
|
609
|
-
|
|
610
|
-
### Batch Limits
|
|
611
|
-
|
|
612
|
-
- **Maximum items per batch**: 50
|
|
613
|
-
- **Recommended batch size**: 10-20 (for readability and debugging)
|
|
614
|
-
- **Token savings**: ~52% vs individual calls
|
|
615
|
-
|
|
616
|
-
---
|
|
617
|
-
|
|
618
|
-
## Template System
|
|
619
|
-
|
|
620
|
-
### What are Templates?
|
|
621
|
-
|
|
622
|
-
Templates provide reusable defaults for common decision patterns.
|
|
623
|
-
|
|
624
|
-
### Built-in Templates
|
|
625
|
-
|
|
626
|
-
1. **breaking_change**: Breaking API/interface changes
|
|
627
|
-
2. **security_vulnerability**: Security issues
|
|
628
|
-
3. **performance_optimization**: Performance improvements
|
|
629
|
-
4. **deprecation**: Deprecation notices
|
|
630
|
-
5. **architecture_decision**: Major architectural decisions
|
|
631
|
-
|
|
632
|
-
### Using Templates
|
|
633
|
-
|
|
634
|
-
```javascript
|
|
635
|
-
{
|
|
636
|
-
action: "set_from_template",
|
|
637
|
-
template: "breaking_change",
|
|
638
|
-
key: "oscillator-type-moved",
|
|
639
|
-
value: "oscillator_type moved to MonophonicSynthConfig",
|
|
640
|
-
// Optional overrides:
|
|
641
|
-
tags: ["migration", "v0.3.3"],
|
|
642
|
-
status: "active"
|
|
643
|
-
}
|
|
644
|
-
```
|
|
645
|
-
|
|
646
|
-
### Template vs Direct Parameters
|
|
647
|
-
|
|
648
|
-
**When to use `set_from_template`**:
|
|
649
|
-
- You have a common decision pattern
|
|
650
|
-
- You want consistent metadata (tags, status, layer)
|
|
651
|
-
- You want to enforce required fields
|
|
652
|
-
|
|
653
|
-
**When to use `set`**:
|
|
654
|
-
- One-off decisions
|
|
655
|
-
- Unique metadata requirements
|
|
656
|
-
- Full control over all parameters
|
|
657
|
-
|
|
658
|
-
### Creating Custom Templates
|
|
659
|
-
|
|
660
|
-
```javascript
|
|
661
|
-
{
|
|
662
|
-
action: "create_template",
|
|
663
|
-
name: "bug_fix",
|
|
664
|
-
defaults: {
|
|
665
|
-
layer: "business",
|
|
666
|
-
tags: ["bug", "fix"],
|
|
667
|
-
status: "active"
|
|
668
|
-
},
|
|
669
|
-
required_fields: ["version"],
|
|
670
|
-
created_by: "my-agent"
|
|
671
|
-
}
|
|
672
|
-
```
|
|
673
|
-
|
|
674
|
-
### Listing Templates
|
|
675
|
-
|
|
676
|
-
```javascript
|
|
677
|
-
{
|
|
678
|
-
action: "list_templates"
|
|
679
|
-
}
|
|
680
|
-
```
|
|
681
|
-
|
|
682
|
-
---
|
|
683
|
-
|
|
684
|
-
## Multi-Step Workflow Examples
|
|
685
|
-
|
|
686
|
-
This section demonstrates comprehensive multi-agent workflows using multiple tools in coordination.
|
|
687
|
-
|
|
688
|
-
### Workflow 1: Multi-Agent Feature Implementation
|
|
689
|
-
|
|
690
|
-
**Scenario**: Orchestrator agent coordinates 3 sub-agents to implement a new authentication feature.
|
|
691
|
-
|
|
692
|
-
#### Step 1: Orchestrator Creates Plan
|
|
693
|
-
|
|
694
|
-
```javascript
|
|
695
|
-
// 1. Record the architecture decision
|
|
696
|
-
{
|
|
697
|
-
action: "set",
|
|
698
|
-
key: "auth_v2_implementation",
|
|
699
|
-
value: "Implement OAuth2 + JWT refresh token system",
|
|
700
|
-
layer: "business",
|
|
701
|
-
tags: ["auth", "feature", "v2.0.0"],
|
|
702
|
-
agent: "orchestrator-agent"
|
|
703
|
-
}
|
|
704
|
-
|
|
705
|
-
// 2. Add architectural constraints
|
|
706
|
-
{
|
|
707
|
-
action: "add",
|
|
708
|
-
category: "architecture",
|
|
709
|
-
constraint_text: "All auth tokens must expire within 15 minutes",
|
|
710
|
-
priority: "critical",
|
|
711
|
-
layer: "business",
|
|
712
|
-
tags: ["auth", "security"]
|
|
713
|
-
}
|
|
714
|
-
|
|
715
|
-
// 3. Create tasks for each sub-agent
|
|
716
|
-
{
|
|
717
|
-
action: "create_batch",
|
|
718
|
-
atomic: false,
|
|
719
|
-
tasks: [
|
|
720
|
-
{
|
|
721
|
-
title: "Implement OAuth2 provider integration",
|
|
722
|
-
assigned_agent: "backend-agent",
|
|
723
|
-
layer: "business",
|
|
724
|
-
priority: 4,
|
|
725
|
-
tags: ["auth", "oauth2"],
|
|
726
|
-
status: "todo"
|
|
727
|
-
},
|
|
728
|
-
{
|
|
729
|
-
title: "Create JWT token refresh endpoint",
|
|
730
|
-
assigned_agent: "api-agent",
|
|
731
|
-
layer: "presentation",
|
|
732
|
-
priority: 4,
|
|
733
|
-
tags: ["auth", "api"],
|
|
734
|
-
status: "todo"
|
|
735
|
-
},
|
|
736
|
-
{
|
|
737
|
-
title: "Update auth database schema",
|
|
738
|
-
assigned_agent: "db-agent",
|
|
739
|
-
layer: "data",
|
|
740
|
-
priority: 4,
|
|
741
|
-
tags: ["auth", "database"],
|
|
742
|
-
status: "todo"
|
|
743
|
-
}
|
|
744
|
-
]
|
|
745
|
-
}
|
|
746
|
-
|
|
747
|
-
// 4. Broadcast start message
|
|
748
|
-
{
|
|
749
|
-
action: "send",
|
|
750
|
-
from_agent: "orchestrator-agent",
|
|
751
|
-
to_agent: null, // Broadcast
|
|
752
|
-
msg_type: "info",
|
|
753
|
-
message: "Starting OAuth2 + JWT implementation - check your assigned tasks",
|
|
754
|
-
priority: "high"
|
|
755
|
-
}
|
|
756
|
-
```
|
|
757
|
-
|
|
758
|
-
#### Step 2: Backend Agent Executes Task
|
|
759
|
-
|
|
760
|
-
```javascript
|
|
761
|
-
// 1. Mark task as in progress
|
|
762
|
-
{
|
|
763
|
-
action: "move",
|
|
764
|
-
task_id: 1,
|
|
765
|
-
new_status: "in_progress"
|
|
766
|
-
}
|
|
767
|
-
|
|
768
|
-
// 2. Record file changes
|
|
769
|
-
{
|
|
770
|
-
action: "record_batch",
|
|
771
|
-
atomic: false,
|
|
772
|
-
file_changes: [
|
|
773
|
-
{
|
|
774
|
-
file_path: "src/auth/oauth2.ts",
|
|
775
|
-
agent_name: "backend-agent",
|
|
776
|
-
change_type: "created",
|
|
777
|
-
layer: "business",
|
|
778
|
-
description: "OAuth2 provider integration"
|
|
779
|
-
},
|
|
780
|
-
{
|
|
781
|
-
file_path: "src/auth/jwt.ts",
|
|
782
|
-
agent_name: "backend-agent",
|
|
783
|
-
change_type: "modified",
|
|
784
|
-
layer: "business",
|
|
785
|
-
description: "Added refresh token logic"
|
|
786
|
-
}
|
|
787
|
-
]
|
|
788
|
-
}
|
|
789
|
-
|
|
790
|
-
// 3. Report completion
|
|
791
|
-
{
|
|
792
|
-
action: "send",
|
|
793
|
-
from_agent: "backend-agent",
|
|
794
|
-
to_agent: "orchestrator-agent",
|
|
795
|
-
msg_type: "info",
|
|
796
|
-
message: "OAuth2 provider integration complete",
|
|
797
|
-
priority: "medium",
|
|
798
|
-
payload: {
|
|
799
|
-
files_changed: 2,
|
|
800
|
-
tests_passing: true
|
|
801
|
-
}
|
|
802
|
-
}
|
|
803
|
-
|
|
804
|
-
// 4. Complete task
|
|
805
|
-
{
|
|
806
|
-
action: "move",
|
|
807
|
-
task_id: 1,
|
|
808
|
-
new_status: "done"
|
|
809
|
-
}
|
|
810
|
-
```
|
|
811
|
-
|
|
812
|
-
#### Step 3: Orchestrator Monitors Progress
|
|
813
|
-
|
|
814
|
-
```javascript
|
|
815
|
-
// 1. Check for updates (efficient polling)
|
|
816
|
-
{
|
|
817
|
-
action: "has_updates",
|
|
818
|
-
agent_name: "orchestrator-agent",
|
|
819
|
-
since_timestamp: "2025-10-17T10:00:00Z"
|
|
820
|
-
}
|
|
821
|
-
|
|
822
|
-
// 2. Get task status
|
|
823
|
-
{
|
|
824
|
-
action: "list",
|
|
825
|
-
tags: ["auth"],
|
|
826
|
-
assigned_agent: null // All agents
|
|
827
|
-
}
|
|
828
|
-
|
|
829
|
-
// 3. Get unread messages
|
|
830
|
-
{
|
|
831
|
-
action: "get",
|
|
832
|
-
agent_name: "orchestrator-agent",
|
|
833
|
-
unread_only: true,
|
|
834
|
-
priority_filter: "high"
|
|
835
|
-
}
|
|
836
|
-
|
|
837
|
-
// 4. Check constraints compliance
|
|
838
|
-
{
|
|
839
|
-
action: "get",
|
|
840
|
-
category: "architecture",
|
|
841
|
-
layer: "business",
|
|
842
|
-
tags: ["auth"]
|
|
843
|
-
}
|
|
844
|
-
```
|
|
845
|
-
|
|
846
|
-
---
|
|
847
|
-
|
|
848
|
-
### Workflow 2: Breaking Change Migration
|
|
849
|
-
|
|
850
|
-
**Scenario**: API endpoint is being deprecated and migrated to a new version.
|
|
851
|
-
|
|
852
|
-
#### Phase 1: Announce Deprecation
|
|
853
|
-
|
|
854
|
-
```javascript
|
|
855
|
-
// 1. Record deprecation decision
|
|
856
|
-
{
|
|
857
|
-
action: "set_from_template",
|
|
858
|
-
template: "deprecation",
|
|
859
|
-
key: "api_v1_users_endpoint_deprecated",
|
|
860
|
-
value: "/v1/users endpoint deprecated, use /v2/users instead",
|
|
861
|
-
layer: "presentation",
|
|
862
|
-
tags: ["api", "deprecation", "v2.0.0"]
|
|
863
|
-
}
|
|
864
|
-
|
|
865
|
-
// 2. Add migration constraint
|
|
866
|
-
{
|
|
867
|
-
action: "add",
|
|
868
|
-
category: "architecture",
|
|
869
|
-
constraint_text: "All new API endpoints must use /v2 prefix",
|
|
870
|
-
priority: "high",
|
|
871
|
-
layer: "presentation",
|
|
872
|
-
tags: ["api", "migration"]
|
|
873
|
-
}
|
|
874
|
-
|
|
875
|
-
// 3. Create migration task
|
|
876
|
-
{
|
|
877
|
-
action: "create",
|
|
878
|
-
title: "Update all client integrations to use /v2/users",
|
|
879
|
-
description: "Migrate existing integrations before v1 sunset on 2025-12-01",
|
|
880
|
-
acceptance_criteria: "All clients successfully calling /v2/users with no errors",
|
|
881
|
-
layer: "presentation",
|
|
882
|
-
priority: 3,
|
|
883
|
-
tags: ["migration", "client"],
|
|
884
|
-
status: "todo"
|
|
885
|
-
}
|
|
886
|
-
|
|
887
|
-
// 4. Broadcast warning to all agents
|
|
888
|
-
{
|
|
889
|
-
action: "send",
|
|
890
|
-
from_agent: "api-agent",
|
|
891
|
-
to_agent: null, // Broadcast
|
|
892
|
-
msg_type: "warning",
|
|
893
|
-
message: "/v1/users DEPRECATED - Migrate to /v2/users by Dec 1",
|
|
894
|
-
priority: "critical",
|
|
895
|
-
payload: {
|
|
896
|
-
old_endpoint: "/v1/users",
|
|
897
|
-
new_endpoint: "/v2/users",
|
|
898
|
-
sunset_date: "2025-12-01"
|
|
899
|
-
}
|
|
900
|
-
}
|
|
901
|
-
```
|
|
902
|
-
|
|
903
|
-
#### Phase 2: Track Migration Progress
|
|
904
|
-
|
|
905
|
-
```javascript
|
|
906
|
-
// 1. Check file lock before editing
|
|
907
|
-
{
|
|
908
|
-
action: "check_lock",
|
|
909
|
-
file_path: "src/api/routes.ts",
|
|
910
|
-
lock_duration: 300 // 5 minutes
|
|
911
|
-
}
|
|
912
|
-
|
|
913
|
-
// 2. Record migration changes
|
|
914
|
-
{
|
|
915
|
-
action: "record",
|
|
916
|
-
file_path: "src/api/routes.ts",
|
|
917
|
-
agent_name: "migration-agent",
|
|
918
|
-
change_type: "modified",
|
|
919
|
-
layer: "presentation",
|
|
920
|
-
description: "Added /v2/users endpoint with backwards compatibility"
|
|
921
|
-
}
|
|
922
|
-
|
|
923
|
-
// 3. Link task to decision and constraint
|
|
924
|
-
{
|
|
925
|
-
action: "link",
|
|
926
|
-
task_id: 1,
|
|
927
|
-
link_type: "decision",
|
|
928
|
-
target_id: "api_v1_users_endpoint_deprecated",
|
|
929
|
-
link_relation: "implements"
|
|
930
|
-
}
|
|
931
|
-
|
|
932
|
-
{
|
|
933
|
-
action: "link",
|
|
934
|
-
task_id: 1,
|
|
935
|
-
link_type: "constraint",
|
|
936
|
-
target_id: 1, // The migration constraint ID
|
|
937
|
-
link_relation: "satisfies"
|
|
938
|
-
}
|
|
939
|
-
|
|
940
|
-
// 4. Update task status
|
|
941
|
-
{
|
|
942
|
-
action: "move",
|
|
943
|
-
task_id: 1,
|
|
944
|
-
new_status: "waiting_review"
|
|
945
|
-
}
|
|
946
|
-
```
|
|
947
|
-
|
|
948
|
-
#### Phase 3: Complete Migration
|
|
949
|
-
|
|
950
|
-
```javascript
|
|
951
|
-
// 1. Record completion decision
|
|
952
|
-
{
|
|
953
|
-
action: "set",
|
|
954
|
-
key: "api_v2_migration_complete",
|
|
955
|
-
value: "All clients successfully migrated to /v2/users endpoint",
|
|
956
|
-
layer: "presentation",
|
|
957
|
-
tags: ["api", "migration", "complete"],
|
|
958
|
-
status: "active"
|
|
959
|
-
}
|
|
960
|
-
|
|
961
|
-
// 2. Deactivate old constraint
|
|
962
|
-
{
|
|
963
|
-
action: "deactivate",
|
|
964
|
-
constraint_id: 1
|
|
965
|
-
}
|
|
966
|
-
|
|
967
|
-
// 3. Archive completed task
|
|
968
|
-
{
|
|
969
|
-
action: "archive",
|
|
970
|
-
task_id: 1
|
|
971
|
-
}
|
|
972
|
-
|
|
973
|
-
// 4. Notify stakeholders
|
|
974
|
-
{
|
|
975
|
-
action: "send",
|
|
976
|
-
from_agent: "migration-agent",
|
|
977
|
-
to_agent: null, // Broadcast
|
|
978
|
-
msg_type: "info",
|
|
979
|
-
message: "Migration to /v2/users complete - /v1 endpoint can be removed",
|
|
980
|
-
priority: "high"
|
|
981
|
-
}
|
|
982
|
-
```
|
|
983
|
-
|
|
984
|
-
---
|
|
985
|
-
|
|
986
|
-
### Workflow 3: Session Continuity (Cross-Session Context)
|
|
987
|
-
|
|
988
|
-
**Scenario**: Agent needs to resume work after restart or handoff to another agent.
|
|
989
|
-
|
|
990
|
-
#### Agent A: Record Context Before Exit
|
|
991
|
-
|
|
992
|
-
```javascript
|
|
993
|
-
// 1. Save current work state
|
|
994
|
-
{
|
|
995
|
-
action: "set",
|
|
996
|
-
key: "refactor_session_state",
|
|
997
|
-
value: "Completed 3/5 modules - currently working on auth module",
|
|
998
|
-
layer: "business",
|
|
999
|
-
tags: ["refactor", "session-state"],
|
|
1000
|
-
scopes: ["auth-module"],
|
|
1001
|
-
agent: "refactor-agent-a"
|
|
1002
|
-
}
|
|
1003
|
-
|
|
1004
|
-
// 2. Update task with notes
|
|
1005
|
-
{
|
|
1006
|
-
action: "update",
|
|
1007
|
-
task_id: 42,
|
|
1008
|
-
notes: "Paused at auth/oauth2.ts line 145 - need to review token refresh logic before proceeding"
|
|
1009
|
-
}
|
|
121
|
+
## Key Parameters Quick Reference
|
|
1010
122
|
|
|
1011
|
-
|
|
1012
|
-
{
|
|
1013
|
-
action: "record_batch",
|
|
1014
|
-
atomic: false,
|
|
1015
|
-
file_changes: [
|
|
1016
|
-
{
|
|
1017
|
-
file_path: "src/auth/oauth2.ts",
|
|
1018
|
-
agent_name: "refactor-agent-a",
|
|
1019
|
-
change_type: "modified",
|
|
1020
|
-
layer: "business",
|
|
1021
|
-
description: "WIP: Token refresh refactoring (incomplete)"
|
|
1022
|
-
}
|
|
1023
|
-
]
|
|
1024
|
-
}
|
|
1025
|
-
|
|
1026
|
-
// 4. Send handoff message
|
|
1027
|
-
{
|
|
1028
|
-
action: "send",
|
|
1029
|
-
from_agent: "refactor-agent-a",
|
|
1030
|
-
to_agent: "refactor-agent-b",
|
|
1031
|
-
msg_type: "request",
|
|
1032
|
-
message: "Handing off refactor task - see task #42 for context",
|
|
1033
|
-
priority: "high",
|
|
1034
|
-
payload: {
|
|
1035
|
-
task_id: 42,
|
|
1036
|
-
last_file: "src/auth/oauth2.ts",
|
|
1037
|
-
completion: "60%"
|
|
1038
|
-
}
|
|
1039
|
-
}
|
|
1040
|
-
```
|
|
1041
|
-
|
|
1042
|
-
#### Agent B: Resume Work
|
|
1043
|
-
|
|
1044
|
-
```javascript
|
|
1045
|
-
// 1. Retrieve session state
|
|
1046
|
-
{
|
|
1047
|
-
action: "get",
|
|
1048
|
-
key: "refactor_session_state"
|
|
1049
|
-
}
|
|
1050
|
-
|
|
1051
|
-
// 2. Get task details and history
|
|
1052
|
-
{
|
|
1053
|
-
action: "get",
|
|
1054
|
-
task_id: 42
|
|
1055
|
-
}
|
|
1056
|
-
|
|
1057
|
-
// 3. Check recent file changes
|
|
1058
|
-
{
|
|
1059
|
-
action: "get",
|
|
1060
|
-
file_path: "src/auth/oauth2.ts",
|
|
1061
|
-
since: "2025-10-17T00:00:00Z"
|
|
1062
|
-
}
|
|
1063
|
-
|
|
1064
|
-
// 4. Check for any related constraints
|
|
1065
|
-
{
|
|
1066
|
-
action: "get",
|
|
1067
|
-
layer: "business",
|
|
1068
|
-
tags: ["auth"],
|
|
1069
|
-
active_only: true
|
|
1070
|
-
}
|
|
1071
|
-
|
|
1072
|
-
// 5. Check messages
|
|
1073
|
-
{
|
|
1074
|
-
action: "get",
|
|
1075
|
-
agent_name: "refactor-agent-b",
|
|
1076
|
-
unread_only: true
|
|
1077
|
-
}
|
|
123
|
+
### decision tool
|
|
1078
124
|
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
msg_type: "info",
|
|
1085
|
-
message: "Handoff received - resuming work on task #42",
|
|
1086
|
-
priority: "medium"
|
|
1087
|
-
}
|
|
1088
|
-
|
|
1089
|
-
// 7. Move task to in_progress
|
|
1090
|
-
{
|
|
1091
|
-
action: "move",
|
|
1092
|
-
task_id: 42,
|
|
1093
|
-
new_status: "in_progress"
|
|
1094
|
-
}
|
|
1095
|
-
```
|
|
1096
|
-
|
|
1097
|
-
---
|
|
1098
|
-
|
|
1099
|
-
### Workflow 4: Update Polling Pattern (Efficient Subscription)
|
|
1100
|
-
|
|
1101
|
-
**Scenario**: Monitor agent watches for specific changes and reacts accordingly.
|
|
1102
|
-
|
|
1103
|
-
#### Monitor Agent: Efficient Polling Loop
|
|
1104
|
-
|
|
1105
|
-
```javascript
|
|
1106
|
-
// Initial timestamp
|
|
1107
|
-
let lastCheck = "2025-10-17T10:00:00Z";
|
|
1108
|
-
|
|
1109
|
-
// Polling function (call every 30 seconds)
|
|
1110
|
-
async function pollForUpdates() {
|
|
1111
|
-
// 1. Lightweight check for ANY updates (5-10 tokens)
|
|
1112
|
-
const updates = await {
|
|
1113
|
-
action: "has_updates",
|
|
1114
|
-
agent_name: "monitor-agent",
|
|
1115
|
-
since_timestamp: lastCheck
|
|
1116
|
-
};
|
|
1117
|
-
|
|
1118
|
-
// Response: {
|
|
1119
|
-
// has_updates: true,
|
|
1120
|
-
// counts: {decisions: 2, messages: 3, files: 1, tasks: 1}
|
|
1121
|
-
// }
|
|
1122
|
-
|
|
1123
|
-
if (!updates.has_updates) {
|
|
1124
|
-
// Nothing changed - skip heavy queries
|
|
1125
|
-
return;
|
|
1126
|
-
}
|
|
1127
|
-
|
|
1128
|
-
// 2. Only fetch if updates detected
|
|
1129
|
-
if (updates.counts.messages > 0) {
|
|
1130
|
-
const messages = await {
|
|
1131
|
-
action: "get",
|
|
1132
|
-
agent_name: "monitor-agent",
|
|
1133
|
-
unread_only: true,
|
|
1134
|
-
priority_filter: "critical"
|
|
1135
|
-
};
|
|
1136
|
-
|
|
1137
|
-
// Process critical messages
|
|
1138
|
-
for (const msg of messages.messages) {
|
|
1139
|
-
if (msg.msg_type === "warning") {
|
|
1140
|
-
// Handle warning
|
|
1141
|
-
await handleWarning(msg);
|
|
1142
|
-
}
|
|
1143
|
-
}
|
|
1144
|
-
}
|
|
1145
|
-
|
|
1146
|
-
// 3. Check for task updates
|
|
1147
|
-
if (updates.counts.tasks > 0) {
|
|
1148
|
-
const tasks = await {
|
|
1149
|
-
action: "list",
|
|
1150
|
-
status: "blocked",
|
|
1151
|
-
limit: 10
|
|
1152
|
-
};
|
|
1153
|
-
|
|
1154
|
-
// Alert on blocked tasks
|
|
1155
|
-
if (tasks.length > 0) {
|
|
1156
|
-
await {
|
|
1157
|
-
action: "send",
|
|
1158
|
-
from_agent: "monitor-agent",
|
|
1159
|
-
to_agent: "orchestrator-agent",
|
|
1160
|
-
msg_type: "warning",
|
|
1161
|
-
message: `${tasks.length} tasks are blocked - requires attention`,
|
|
1162
|
-
priority: "high"
|
|
1163
|
-
};
|
|
1164
|
-
}
|
|
1165
|
-
}
|
|
1166
|
-
|
|
1167
|
-
// 4. Check for breaking changes
|
|
1168
|
-
if (updates.counts.decisions > 0) {
|
|
1169
|
-
const breaking = await {
|
|
1170
|
-
action: "search_tags",
|
|
1171
|
-
tags: ["breaking-change"],
|
|
1172
|
-
match_mode: "AND",
|
|
1173
|
-
status: "active"
|
|
1174
|
-
};
|
|
1175
|
-
|
|
1176
|
-
if (breaking.length > 0) {
|
|
1177
|
-
// Alert on breaking changes
|
|
1178
|
-
await {
|
|
1179
|
-
action: "send",
|
|
1180
|
-
from_agent: "monitor-agent",
|
|
1181
|
-
to_agent: null, // Broadcast
|
|
1182
|
-
msg_type: "warning",
|
|
1183
|
-
message: "New breaking changes detected - review required",
|
|
1184
|
-
priority: "critical"
|
|
1185
|
-
};
|
|
1186
|
-
}
|
|
1187
|
-
}
|
|
1188
|
-
|
|
1189
|
-
// 5. Update last check timestamp
|
|
1190
|
-
lastCheck = new Date().toISOString();
|
|
1191
|
-
}
|
|
1192
|
-
|
|
1193
|
-
// Token efficiency:
|
|
1194
|
-
// - No updates: ~10 tokens (has_updates only)
|
|
1195
|
-
// - With updates: ~50-200 tokens (selective fetching)
|
|
1196
|
-
// - vs polling all data: ~500-1000 tokens every time
|
|
1197
|
-
```
|
|
1198
|
-
|
|
1199
|
-
#### Activity Log Analysis
|
|
1200
|
-
|
|
1201
|
-
```javascript
|
|
1202
|
-
// Monitor can also analyze activity patterns
|
|
1203
|
-
{
|
|
1204
|
-
action: "activity_log",
|
|
1205
|
-
since: "1h", // Last hour
|
|
1206
|
-
agent_names: ["*"], // All agents
|
|
1207
|
-
actions: ["set", "send", "create"], // Specific actions
|
|
1208
|
-
limit: 100
|
|
1209
|
-
}
|
|
1210
|
-
|
|
1211
|
-
// Response shows all activity:
|
|
1212
|
-
// [
|
|
1213
|
-
// {
|
|
1214
|
-
// timestamp: "2025-10-17T11:45:23Z",
|
|
1215
|
-
// agent_name: "backend-agent",
|
|
1216
|
-
// action: "set",
|
|
1217
|
-
// table: "decisions",
|
|
1218
|
-
// key_or_details: "auth_implementation_complete"
|
|
1219
|
-
// },
|
|
1220
|
-
// {
|
|
1221
|
-
// timestamp: "2025-10-17T11:44:15Z",
|
|
1222
|
-
// agent_name: "api-agent",
|
|
1223
|
-
// action: "send",
|
|
1224
|
-
// table: "messages",
|
|
1225
|
-
// key_or_details: "message_id:145"
|
|
1226
|
-
// }
|
|
1227
|
-
// ]
|
|
1228
|
-
|
|
1229
|
-
// Use this for:
|
|
1230
|
-
// - Debugging agent behavior
|
|
1231
|
-
// - Audit trails
|
|
1232
|
-
// - Performance monitoring
|
|
1233
|
-
// - Detecting stuck agents (no activity)
|
|
1234
|
-
```
|
|
1235
|
-
|
|
1236
|
-
#### Automatic Cleanup Trigger
|
|
1237
|
-
|
|
1238
|
-
```javascript
|
|
1239
|
-
// Monitor can also manage database health
|
|
1240
|
-
{
|
|
1241
|
-
action: "db_stats"
|
|
1242
|
-
}
|
|
1243
|
-
|
|
1244
|
-
// Response:
|
|
1245
|
-
// {
|
|
1246
|
-
// agents: 5,
|
|
1247
|
-
// files: 42,
|
|
1248
|
-
// context_keys: 156,
|
|
1249
|
-
// active_decisions: 312,
|
|
1250
|
-
// total_decisions: 342,
|
|
1251
|
-
// messages: 1203,
|
|
1252
|
-
// file_changes: 589,
|
|
1253
|
-
// active_constraints: 12,
|
|
1254
|
-
// total_constraints: 15,
|
|
1255
|
-
// tags: 10,
|
|
1256
|
-
// scopes: 8,
|
|
1257
|
-
// layers: 5,
|
|
1258
|
-
// total_tasks: 47,
|
|
1259
|
-
// active_tasks: 23, // Excludes done and archived
|
|
1260
|
-
// tasks_by_status: {
|
|
1261
|
-
// todo: 15,
|
|
1262
|
-
// in_progress: 5,
|
|
1263
|
-
// waiting_review: 3,
|
|
1264
|
-
// blocked: 0,
|
|
1265
|
-
// done: 20,
|
|
1266
|
-
// archived: 4
|
|
1267
|
-
// },
|
|
1268
|
-
// tasks_by_priority: {
|
|
1269
|
-
// low: 10,
|
|
1270
|
-
// medium: 25,
|
|
1271
|
-
// high: 10,
|
|
1272
|
-
// critical: 2
|
|
1273
|
-
// }
|
|
1274
|
-
// }
|
|
1275
|
-
|
|
1276
|
-
// If database too large, trigger cleanup
|
|
1277
|
-
if (stats.total_messages > 1000) {
|
|
1278
|
-
await {
|
|
1279
|
-
action: "clear",
|
|
1280
|
-
messages_older_than_hours: 24,
|
|
1281
|
-
file_changes_older_than_days: 7
|
|
1282
|
-
};
|
|
1283
|
-
|
|
1284
|
-
// Notify about cleanup
|
|
1285
|
-
await {
|
|
1286
|
-
action: "send",
|
|
1287
|
-
from_agent: "monitor-agent",
|
|
1288
|
-
to_agent: null,
|
|
1289
|
-
msg_type: "info",
|
|
1290
|
-
message: "Database cleanup completed - removed old messages and file history",
|
|
1291
|
-
priority: "low"
|
|
1292
|
-
};
|
|
1293
|
-
}
|
|
1294
|
-
```
|
|
1295
|
-
|
|
1296
|
-
---
|
|
1297
|
-
|
|
1298
|
-
## Best Practices
|
|
1299
|
-
|
|
1300
|
-
### 1. Always Use `action` Parameter
|
|
1301
|
-
|
|
1302
|
-
**Never forget to include `action`** - it's required in ALL tool calls.
|
|
1303
|
-
|
|
1304
|
-
### 2. Use `atomic: false` for Batch Operations
|
|
1305
|
-
|
|
1306
|
-
Unless you specifically need all-or-nothing guarantees, use `atomic: false` to avoid transaction failures from validation errors.
|
|
1307
|
-
|
|
1308
|
-
### 3. Choose the Right Search Action
|
|
1309
|
-
|
|
1310
|
-
- Simple queries → `list`
|
|
1311
|
-
- Tag-focused → `search_tags`
|
|
1312
|
-
- Complex multi-filter → `search_advanced`
|
|
1313
|
-
|
|
1314
|
-
### 4. Use Templates for Common Patterns
|
|
1315
|
-
|
|
1316
|
-
If you're repeatedly setting decisions with the same metadata, create a template.
|
|
1317
|
-
|
|
1318
|
-
### 5. Provide Meaningful Tags
|
|
1319
|
-
|
|
1320
|
-
Tags are crucial for searchability. Use descriptive, consistent tag naming:
|
|
1321
|
-
|
|
1322
|
-
```javascript
|
|
1323
|
-
// ✅ GOOD
|
|
1324
|
-
tags: ["authentication", "security", "jwt", "v1.2.0"]
|
|
1325
|
-
|
|
1326
|
-
// ❌ BAD
|
|
1327
|
-
tags: ["stuff", "important", "thing"]
|
|
1328
|
-
```
|
|
1329
|
-
|
|
1330
|
-
### 6. Always Specify `layer` for Decisions
|
|
1331
|
-
|
|
1332
|
-
Layer classification helps organize architectural concerns.
|
|
1333
|
-
|
|
1334
|
-
💡 **See [ARCHITECTURE.md](ARCHITECTURE.md#layers) for detailed layer definitions and usage examples.**
|
|
1335
|
-
|
|
1336
|
-
Quick reference:
|
|
1337
|
-
- **presentation**: UI, API endpoints, user-facing interfaces
|
|
1338
|
-
- **business**: Service logic, workflows, business rules
|
|
1339
|
-
- **data**: Database models, schemas, data access
|
|
1340
|
-
- **infrastructure**: Configuration, deployment, DevOps
|
|
1341
|
-
- **cross-cutting**: Logging, monitoring, security (affects multiple layers)
|
|
1342
|
-
|
|
1343
|
-
### 7. Use `has_updates` for Efficient Polling
|
|
1344
|
-
|
|
1345
|
-
Instead of fetching all data repeatedly, check for updates first:
|
|
1346
|
-
|
|
1347
|
-
```javascript
|
|
1348
|
-
// Check if anything changed
|
|
1349
|
-
{
|
|
1350
|
-
action: "has_updates",
|
|
1351
|
-
agent_name: "my-agent",
|
|
1352
|
-
since_timestamp: "2025-10-15T08:00:00Z"
|
|
1353
|
-
}
|
|
1354
|
-
|
|
1355
|
-
// Response: {has_updates: true, counts: {decisions: 5, messages: 2, files: 3}}
|
|
1356
|
-
|
|
1357
|
-
// Only fetch if has_updates is true
|
|
1358
|
-
```
|
|
1359
|
-
|
|
1360
|
-
Token cost: ~5-10 tokens per check vs full data retrieval.
|
|
1361
|
-
|
|
1362
|
-
### 8. Handle Errors Gracefully
|
|
1363
|
-
|
|
1364
|
-
All tools return JSON responses. Check for `error` field:
|
|
1365
|
-
|
|
1366
|
-
```javascript
|
|
1367
|
-
// Response format
|
|
1368
|
-
{
|
|
1369
|
-
"error": "Invalid layer: backend"
|
|
1370
|
-
}
|
|
1371
|
-
|
|
1372
|
-
// Success format
|
|
1373
|
-
{
|
|
1374
|
-
"success": true,
|
|
1375
|
-
"key": "my_key",
|
|
1376
|
-
...
|
|
1377
|
-
}
|
|
1378
|
-
```
|
|
1379
|
-
|
|
1380
|
-
### 9. Use Constraints for Requirements
|
|
1381
|
-
|
|
1382
|
-
**Constraint** vs **Decision**:
|
|
1383
|
-
|
|
1384
|
-
- **Decision**: "We chose PostgreSQL" (a choice that was made)
|
|
1385
|
-
- **Constraint**: "Response time must be <100ms" (a requirement to follow)
|
|
125
|
+
| Action | Required | Optional |
|
|
126
|
+
|--------|----------|----------|
|
|
127
|
+
| **set** | action, key, value, layer | version, status, tags, scopes |
|
|
128
|
+
| **get** | action, key | version |
|
|
129
|
+
| **list** | action | status, layer, tags, limit |
|
|
1386
130
|
|
|
1387
|
-
|
|
1388
|
-
{
|
|
1389
|
-
action: "add",
|
|
1390
|
-
category: "performance",
|
|
1391
|
-
constraint_text: "API response time must be under 100ms",
|
|
1392
|
-
priority: "critical",
|
|
1393
|
-
layer: "business",
|
|
1394
|
-
tags: ["api", "performance"]
|
|
1395
|
-
}
|
|
1396
|
-
```
|
|
131
|
+
### task tool
|
|
1397
132
|
|
|
1398
|
-
|
|
133
|
+
| Action | Required | Optional |
|
|
134
|
+
|--------|----------|----------|
|
|
135
|
+
| **create** | action, title | description, priority, layer, tags, status |
|
|
136
|
+
| **move** | action, task_id, status | - |
|
|
137
|
+
| **list** | action | status, layer, tags, limit |
|
|
1399
138
|
|
|
1400
|
-
|
|
139
|
+
### constraint tool
|
|
1401
140
|
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
messages_older_than_hours: 48,
|
|
1407
|
-
file_changes_older_than_days: 14
|
|
1408
|
-
}
|
|
141
|
+
| Action | Required | Optional |
|
|
142
|
+
|--------|----------|----------|
|
|
143
|
+
| **add** | action, category, constraint_text | priority, layer, tags |
|
|
144
|
+
| **get** | action | category, layer, active_only |
|
|
1409
145
|
|
|
1410
|
-
|
|
1411
|
-
{
|
|
1412
|
-
action: "update",
|
|
1413
|
-
ignoreWeekend: true,
|
|
1414
|
-
messageRetentionHours: 24,
|
|
1415
|
-
fileHistoryRetentionDays: 7
|
|
1416
|
-
}
|
|
1417
|
-
```
|
|
146
|
+
> **Full parameter reference**: See [TOOL_REFERENCE.md](TOOL_REFERENCE.md)
|
|
1418
147
|
|
|
1419
148
|
---
|
|
1420
149
|
|
|
1421
|
-
##
|
|
150
|
+
## Best Practices Summary
|
|
1422
151
|
|
|
1423
|
-
|
|
152
|
+
1. **Always include `action` parameter** - #1 error source
|
|
153
|
+
2. **Use `atomic: false` for batch operations** - Avoid all-or-nothing failures
|
|
154
|
+
3. **Always specify `layer`** - Required for organization
|
|
155
|
+
4. **Use meaningful tags** - Critical for searchability
|
|
156
|
+
5. **Use `status` (not `new_status`)** for task.move action
|
|
1424
157
|
|
|
1425
|
-
|
|
1426
|
-
2. ✅ Are all required parameters provided?
|
|
1427
|
-
3. ✅ Are enum values spelled correctly? (layer, status, msg_type, etc.)
|
|
1428
|
-
4. ✅ For templates: Are you passing parameters directly (not in `defaults`)?
|
|
1429
|
-
5. ✅ For batch operations: Is array size ≤50?
|
|
1430
|
-
6. ✅ For timestamps: Are you using ISO 8601 format?
|
|
158
|
+
> **Detailed best practices**: See [BEST_PRACTICES.md](BEST_PRACTICES.md)
|
|
1431
159
|
|
|
1432
160
|
---
|
|
1433
161
|
|
|
1434
|
-
##
|
|
1435
|
-
|
|
1436
|
-
### Built-In Documentation (Zero Token Cost)
|
|
162
|
+
## Built-In Documentation
|
|
1437
163
|
|
|
1438
|
-
All tools provide
|
|
164
|
+
All tools provide built-in help with zero token cost:
|
|
1439
165
|
|
|
1440
|
-
**Help Action** - Detailed reference documentation:
|
|
1441
166
|
```javascript
|
|
1442
167
|
// Get detailed help for any tool
|
|
1443
|
-
{
|
|
1444
|
-
action: "help"
|
|
1445
|
-
}
|
|
1446
|
-
```
|
|
168
|
+
{ action: "help" }
|
|
1447
169
|
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
- Quick examples for each action
|
|
1451
|
-
- Valid values for enum parameters
|
|
1452
|
-
- Behavior descriptions
|
|
1453
|
-
- Links to external documentation
|
|
1454
|
-
|
|
1455
|
-
**Example Action** - Comprehensive usage scenarios (v3.0.1):
|
|
1456
|
-
```javascript
|
|
1457
|
-
// Get comprehensive examples for any tool
|
|
1458
|
-
{
|
|
1459
|
-
action: "example"
|
|
1460
|
-
}
|
|
170
|
+
// Get comprehensive examples
|
|
171
|
+
{ action: "example" }
|
|
1461
172
|
```
|
|
1462
173
|
|
|
1463
|
-
|
|
1464
|
-
- Real-world usage scenarios by category
|
|
1465
|
-
- Multi-step workflows
|
|
1466
|
-
- Best practices specific to the tool
|
|
1467
|
-
- Common patterns and anti-patterns
|
|
1468
|
-
- Works offline without WebFetch
|
|
174
|
+
---
|
|
1469
175
|
|
|
1470
|
-
|
|
176
|
+
## Related Documentation
|
|
1471
177
|
|
|
1472
|
-
|
|
|
1473
|
-
|
|
1474
|
-
|
|
|
1475
|
-
|
|
|
1476
|
-
|
|
|
178
|
+
| Document | Content |
|
|
179
|
+
|----------|---------|
|
|
180
|
+
| [TOOL_REFERENCE.md](TOOL_REFERENCE.md) | Complete parameter reference |
|
|
181
|
+
| [WORKFLOWS.md](WORKFLOWS.md) | Multi-step workflow examples |
|
|
182
|
+
| [BEST_PRACTICES.md](BEST_PRACTICES.md) | Detailed best practices |
|
|
183
|
+
| [DECISION_INTELLIGENCE.md](DECISION_INTELLIGENCE.md) | Decision duplicate detection |
|
|
184
|
+
| [CONSTRAINT_INTELLIGENCE.md](CONSTRAINT_INTELLIGENCE.md) | Constraint duplicate detection |
|
|
185
|
+
| [BATCH_VALIDATION.md](BATCH_VALIDATION.md) | Batch operations guide |
|
|
186
|
+
| [ARCHITECTURE.md](ARCHITECTURE.md) | System architecture |
|
|
1477
187
|
|
|
1478
188
|
---
|
|
1479
189
|
|
|
1480
|
-
##
|
|
190
|
+
## Most Common Mistakes
|
|
1481
191
|
|
|
1482
192
|
1. **Missing `action` parameter** ← #1 error!
|
|
1483
|
-
2.
|
|
1484
|
-
3.
|
|
1485
|
-
4.
|
|
1486
|
-
5. Using `
|
|
1487
|
-
6. Using wrong search action (`list` vs `search_tags` vs `search_advanced`)
|
|
1488
|
-
7. Empty arrays in batch operations
|
|
1489
|
-
8. Typos in parameter names (e.g., `messsage` instead of `message`)
|
|
1490
|
-
|
|
1491
|
-
---
|
|
193
|
+
2. Invalid layer/status values
|
|
194
|
+
3. Forgetting to specify `layer` when setting decisions
|
|
195
|
+
4. Using `atomic: true` by default in batch operations
|
|
196
|
+
5. Using `new_status` instead of `status` for task.move
|
|
1492
197
|
|
|
1493
|
-
**
|
|
198
|
+
**When in doubt**: Call `{action: "help"}` or `{action: "example"}`!
|