sqlew 4.3.1 → 5.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 +68 -0
- package/LICENSE +1 -1
- package/NOTICE +2 -2
- package/README.md +112 -42
- package/assets/claude-md-snippets/plan-mode-integration.md +54 -0
- package/assets/claude-md-snippets/queue-monitoring.md +84 -0
- package/dist/backend/backend-factory.d.ts +67 -0
- package/dist/backend/backend-factory.d.ts.map +1 -0
- package/dist/backend/backend-factory.js +171 -0
- package/dist/backend/backend-factory.js.map +1 -0
- package/dist/backend/index.d.ts +12 -0
- package/dist/backend/index.d.ts.map +1 -0
- package/dist/backend/index.js +13 -0
- package/dist/backend/index.js.map +1 -0
- package/dist/backend/inference.d.ts +38 -0
- package/dist/backend/inference.d.ts.map +1 -0
- package/dist/backend/inference.js +76 -0
- package/dist/backend/inference.js.map +1 -0
- package/dist/backend/local-backend.d.ts +40 -0
- package/dist/backend/local-backend.d.ts.map +1 -0
- package/dist/backend/local-backend.js +410 -0
- package/dist/backend/local-backend.js.map +1 -0
- package/dist/backend/transforming-backend.d.ts +47 -0
- package/dist/backend/transforming-backend.d.ts.map +1 -0
- package/dist/backend/transforming-backend.js +80 -0
- package/dist/backend/transforming-backend.js.map +1 -0
- package/dist/backend/types.d.ts +58 -0
- package/dist/backend/types.d.ts.map +1 -0
- package/dist/backend/types.js +7 -0
- package/dist/backend/types.js.map +1 -0
- package/dist/cli/db-dump.js +45 -45
- package/dist/cli/db-dump.js.map +1 -1
- package/dist/cli/db-export.js +30 -30
- package/dist/cli/db-export.js.map +1 -1
- package/dist/cli/db-import.d.ts.map +1 -1
- package/dist/cli/db-import.js +32 -33
- package/dist/cli/db-import.js.map +1 -1
- package/dist/cli/hooks/check-completion.d.ts +1 -0
- package/dist/cli/hooks/check-completion.d.ts.map +1 -1
- package/dist/cli/hooks/check-completion.js +15 -26
- package/dist/cli/hooks/check-completion.js.map +1 -1
- package/dist/cli/hooks/mark-done.d.ts +1 -0
- package/dist/cli/hooks/mark-done.d.ts.map +1 -1
- package/dist/cli/hooks/mark-done.js +12 -17
- package/dist/cli/hooks/mark-done.js.map +1 -1
- package/dist/cli/hooks/on-enter-plan.js +2 -2
- package/dist/cli/hooks/on-enter-plan.js.map +1 -1
- package/dist/cli/hooks/on-session-start.d.ts +23 -0
- package/dist/cli/hooks/on-session-start.d.ts.map +1 -0
- package/dist/cli/hooks/on-session-start.js +70 -0
- package/dist/cli/hooks/on-session-start.js.map +1 -0
- package/dist/cli/hooks/on-stop.js +5 -5
- package/dist/cli/hooks/on-stop.js.map +1 -1
- package/dist/cli/hooks/{plan-toml-parser.d.ts → plan-parser.d.ts} +1 -1
- package/dist/cli/hooks/plan-parser.d.ts.map +1 -0
- package/dist/cli/hooks/{plan-toml-parser.js → plan-parser.js} +1 -1
- package/dist/cli/hooks/plan-parser.js.map +1 -0
- package/dist/cli/hooks/plan-pattern-extractor.d.ts.map +1 -1
- package/dist/cli/hooks/plan-pattern-extractor.js +6 -3
- package/dist/cli/hooks/plan-pattern-extractor.js.map +1 -1
- package/dist/cli/hooks/plan-processor.js +1 -1
- package/dist/cli/hooks/plan-processor.js.map +1 -1
- package/dist/cli/hooks/stdin-parser.d.ts +4 -0
- package/dist/cli/hooks/stdin-parser.d.ts.map +1 -1
- package/dist/cli/hooks/stdin-parser.js.map +1 -1
- package/dist/cli/hooks/suggest.js +2 -2
- package/dist/cli/hooks/suggest.js.map +1 -1
- package/dist/cli/hooks/track-plan.d.ts.map +1 -1
- package/dist/cli/hooks/track-plan.js +24 -18
- package/dist/cli/hooks/track-plan.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +72 -72
- package/dist/cli.js.map +1 -1
- package/dist/config/cloud-config-loader.d.ts +107 -0
- package/dist/config/cloud-config-loader.d.ts.map +1 -0
- package/dist/config/cloud-config-loader.js +273 -0
- package/dist/config/cloud-config-loader.js.map +1 -0
- package/dist/config/global-config.d.ts +10 -10
- package/dist/config/global-config.d.ts.map +1 -1
- package/dist/config/global-config.js +12 -12
- package/dist/config/global-config.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +5 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/config/minimal-generator.d.ts.map +1 -1
- package/dist/config/minimal-generator.js +22 -72
- package/dist/config/minimal-generator.js.map +1 -1
- package/dist/config/types.d.ts +59 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +14 -0
- package/dist/config/types.js.map +1 -1
- package/dist/constants.d.ts +1 -29
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -38
- package/dist/constants.js.map +1 -1
- package/dist/database/initialization/cleanup.d.ts.map +1 -1
- package/dist/database/initialization/cleanup.js +0 -13
- package/dist/database/initialization/cleanup.js.map +1 -1
- package/dist/database/initialization/init.d.ts.map +1 -1
- package/dist/database/initialization/init.js +0 -9
- package/dist/database/initialization/init.js.map +1 -1
- package/dist/database/initialization/schema-version.d.ts +4 -4
- package/dist/database/initialization/schema-version.js +9 -9
- package/dist/database/initialization/schema-version.js.map +1 -1
- package/dist/database/migrations/v4/20260107000000_v5_drop_task_file_tables.d.ts +36 -0
- package/dist/database/migrations/v4/20260107000000_v5_drop_task_file_tables.d.ts.map +1 -0
- package/dist/database/migrations/v4/20260107000000_v5_drop_task_file_tables.js +135 -0
- package/dist/database/migrations/v4/20260107000000_v5_drop_task_file_tables.js.map +1 -0
- package/dist/database/migrations/v4/20260107000001_v5_drop_legacy_tables.d.ts +20 -0
- package/dist/database/migrations/v4/20260107000001_v5_drop_legacy_tables.d.ts.map +1 -0
- package/dist/database/migrations/v4/20260107000001_v5_drop_legacy_tables.js +168 -0
- package/dist/database/migrations/v4/20260107000001_v5_drop_legacy_tables.js.map +1 -0
- package/dist/database/migrations/v4/20260108000000_v5_rename_to_m_t_prefix.d.ts +23 -0
- package/dist/database/migrations/v4/20260108000000_v5_rename_to_m_t_prefix.d.ts.map +1 -0
- package/dist/database/migrations/v4/20260108000000_v5_rename_to_m_t_prefix.js +570 -0
- package/dist/database/migrations/v4/20260108000000_v5_rename_to_m_t_prefix.js.map +1 -0
- package/dist/database/migrations/v4/20260109000000_v5_drop_help_tables.d.ts +29 -0
- package/dist/database/migrations/v4/20260109000000_v5_drop_help_tables.d.ts.map +1 -0
- package/dist/database/migrations/v4/20260109000000_v5_drop_help_tables.js +80 -0
- package/dist/database/migrations/v4/20260109000000_v5_drop_help_tables.js.map +1 -0
- package/dist/database/operations/inserts.js +11 -11
- package/dist/database/operations/inserts.js.map +1 -1
- package/dist/database/operations/queries.js +9 -9
- package/dist/database/operations/queries.js.map +1 -1
- package/dist/formatters/adr-formatter.d.ts +22 -0
- package/dist/formatters/adr-formatter.d.ts.map +1 -0
- package/dist/formatters/adr-formatter.js +127 -0
- package/dist/formatters/adr-formatter.js.map +1 -0
- package/dist/formatters/confluence-formatter.d.ts +26 -0
- package/dist/formatters/confluence-formatter.d.ts.map +1 -0
- package/dist/formatters/confluence-formatter.js +129 -0
- package/dist/formatters/confluence-formatter.js.map +1 -0
- package/dist/formatters/index.d.ts +34 -0
- package/dist/formatters/index.d.ts.map +1 -0
- package/dist/formatters/index.js +57 -0
- package/dist/formatters/index.js.map +1 -0
- package/dist/formatters/markdown-formatter.d.ts +16 -0
- package/dist/formatters/markdown-formatter.d.ts.map +1 -0
- package/dist/formatters/markdown-formatter.js +110 -0
- package/dist/formatters/markdown-formatter.js.map +1 -0
- package/dist/formatters/notion-formatter.d.ts +29 -0
- package/dist/formatters/notion-formatter.d.ts.map +1 -0
- package/dist/formatters/notion-formatter.js +177 -0
- package/dist/formatters/notion-formatter.js.map +1 -0
- package/dist/formatters/types.d.ts +31 -0
- package/dist/formatters/types.d.ts.map +1 -0
- package/dist/formatters/types.js +6 -0
- package/dist/formatters/types.js.map +1 -0
- package/dist/help-data/_schema.toml +21 -0
- package/dist/help-data/constraint.toml +259 -0
- package/dist/help-data/decision.toml +833 -0
- package/dist/help-data/example.toml +177 -0
- package/dist/help-data/help.toml +246 -0
- package/dist/help-data/queue.toml +134 -0
- package/dist/help-data/suggest.toml +219 -0
- package/dist/help-data/use-cases/_categories.toml +22 -0
- package/dist/help-data/use-cases/constraint-basic.toml +34 -0
- package/dist/help-data/use-cases/cross-tool-workflow.toml +50 -0
- package/dist/help-data/use-cases/decision-intelligence-duplicate.toml +35 -0
- package/dist/help-data/use-cases/decision-intelligence-related.toml +35 -0
- package/dist/help-data/use-cases/decision-tracking-basic.toml +42 -0
- package/dist/help-data/use-cases/decision-tracking-versions.toml +42 -0
- package/dist/help-data/use_case.toml +147 -0
- package/dist/help-loader.d.ts +194 -0
- package/dist/help-loader.d.ts.map +1 -0
- package/dist/help-loader.js +419 -0
- package/dist/help-loader.js.map +1 -0
- package/dist/index.js +15 -10
- package/dist/index.js.map +1 -1
- package/dist/init-rules.d.ts +42 -0
- package/dist/init-rules.d.ts.map +1 -0
- package/dist/init-rules.js +217 -0
- package/dist/init-rules.js.map +1 -0
- package/dist/schema.d.ts +4 -6
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +28 -45
- package/dist/schema.js.map +1 -1
- package/dist/server/setup.d.ts +0 -10
- package/dist/server/setup.d.ts.map +1 -1
- package/dist/server/setup.js +97 -89
- package/dist/server/setup.js.map +1 -1
- package/dist/server/shutdown.d.ts +1 -1
- package/dist/server/shutdown.d.ts.map +1 -1
- package/dist/server/shutdown.js +1 -16
- package/dist/server/shutdown.js.map +1 -1
- package/dist/server/tool-handlers.d.ts +15 -0
- package/dist/server/tool-handlers.d.ts.map +1 -1
- package/dist/server/tool-handlers.js +47 -462
- package/dist/server/tool-handlers.js.map +1 -1
- package/dist/server/tool-registry.d.ts.map +1 -1
- package/dist/server/tool-registry.js +50 -62
- package/dist/server/tool-registry.js.map +1 -1
- package/dist/tests/backend/backend-factory.test.d.ts +7 -0
- package/dist/tests/backend/backend-factory.test.d.ts.map +1 -0
- package/dist/tests/backend/backend-factory.test.js +157 -0
- package/dist/tests/backend/backend-factory.test.js.map +1 -0
- package/dist/tests/backend/inference.test.d.ts +7 -0
- package/dist/tests/backend/inference.test.d.ts.map +1 -0
- package/dist/tests/backend/inference.test.js +142 -0
- package/dist/tests/backend/inference.test.js.map +1 -0
- package/dist/tests/database/multi-project/multi-project.test.js +9 -70
- package/dist/tests/database/multi-project/multi-project.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 +32 -32
- package/dist/tests/docker/cross-database.test.js.map +1 -1
- package/dist/tests/docker/dump-import.test.js +55 -55
- package/dist/tests/docker/dump-import.test.js.map +1 -1
- package/dist/tests/docker/fk-constraints.test.js +3 -3
- package/dist/tests/docker/indexes.test.js +34 -34
- package/dist/tests/docker/integration.test.js +33 -33
- package/dist/tests/docker/multi-project-migration.test.js +47 -47
- package/dist/tests/docker/multi-project-migration.test.js.map +1 -1
- package/dist/tests/docker/native/constraint-operations.test.js +49 -49
- package/dist/tests/docker/native/constraint-operations.test.js.map +1 -1
- package/dist/tests/docker/native/db-init.d.ts +3 -1
- package/dist/tests/docker/native/db-init.d.ts.map +1 -1
- package/dist/tests/docker/native/db-init.js +14 -12
- package/dist/tests/docker/native/db-init.js.map +1 -1
- package/dist/tests/docker/native/decision-operations.test.js +91 -91
- package/dist/tests/docker/native/decision-operations.test.js.map +1 -1
- package/dist/tests/docker/native/help-system.test.d.ts +2 -2
- package/dist/tests/docker/native/help-system.test.js +113 -138
- package/dist/tests/docker/native/help-system.test.js.map +1 -1
- package/dist/tests/docker/native/suggest-tool.test.d.ts +2 -2
- package/dist/tests/docker/native/suggest-tool.test.js +35 -35
- package/dist/tests/docker/native/suggest-tool.test.js.map +1 -1
- package/dist/tests/docker/native/test-harness.d.ts +6 -12
- package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
- package/dist/tests/docker/native/test-harness.js +74 -156
- package/dist/tests/docker/native/test-harness.js.map +1 -1
- package/dist/tests/docker/schema-migration.test.js +6 -6
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.d.ts +3 -7
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.d.ts.map +1 -1
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.js +7 -318
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.js.map +1 -1
- package/dist/tests/feature/help/help-system.test.d.ts +6 -6
- package/dist/tests/feature/help/help-system.test.js +166 -124
- package/dist/tests/feature/help/help-system.test.js.map +1 -1
- package/dist/tests/integration/auto-trigger-suggestions.test.js +22 -22
- package/dist/tests/integration/auto-trigger-suggestions.test.js.map +1 -1
- package/dist/tests/integration/decision-intelligence-e2e.test.js +23 -22
- package/dist/tests/integration/decision-intelligence-e2e.test.js.map +1 -1
- package/dist/tests/integration/e2e-workflow1-debug.test.js +3 -3
- package/dist/tests/integration/e2e-workflow1-debug.test.js.map +1 -1
- package/dist/tests/integration/hybrid-similarity-detection.test.js +25 -25
- package/dist/tests/integration/hybrid-similarity-detection.test.js.map +1 -1
- package/dist/tests/integration/suggest-simple.test.js +18 -0
- package/dist/tests/integration/suggest-simple.test.js.map +1 -1
- package/dist/tests/migrations/test-all-versions.js +212 -212
- package/dist/tests/migrations/test-all-versions.js.map +1 -1
- package/dist/tests/migrations/v4/v4-fresh-install.test.js +29 -29
- package/dist/tests/migrations/v4/v4-fresh-install.test.js.map +1 -1
- package/dist/tests/migrations/v4/v4-migrate-data.test.js +20 -20
- package/dist/tests/migrations/v4/v4-migrate-data.test.js.map +1 -1
- package/dist/tests/test-v4-native-rdbms.js +20 -20
- package/dist/tests/test-v4-native-rdbms.js.map +1 -1
- package/dist/tests/unit/config/cloud-config-loader.test.d.ts +2 -0
- package/dist/tests/unit/config/cloud-config-loader.test.d.ts.map +1 -0
- package/dist/tests/unit/config/cloud-config-loader.test.js +103 -0
- package/dist/tests/unit/config/cloud-config-loader.test.js.map +1 -0
- package/dist/tests/unit/config/{plan-toml-cache.test.d.ts → plan-cache.test.d.ts} +1 -1
- package/dist/tests/unit/config/plan-cache.test.d.ts.map +1 -0
- package/dist/tests/unit/config/{plan-toml-cache.test.js → plan-cache.test.js} +32 -32
- package/dist/tests/unit/config/plan-cache.test.js.map +1 -0
- package/dist/tests/unit/hooks/{plan-toml-parser.test.d.ts → plan-parser.test.d.ts} +1 -1
- package/dist/tests/unit/hooks/plan-parser.test.d.ts.map +1 -0
- package/dist/tests/unit/hooks/{plan-toml-parser.test.js → plan-parser.test.js} +179 -179
- package/dist/tests/unit/hooks/plan-parser.test.js.map +1 -0
- package/dist/tests/unit/server/tool-handlers.test.d.ts +7 -0
- package/dist/tests/unit/server/tool-handlers.test.d.ts.map +1 -0
- package/dist/tests/unit/server/tool-handlers.test.js +76 -0
- package/dist/tests/unit/server/tool-handlers.test.js.map +1 -0
- package/dist/tests/unit/utils/config-loader.test.js +17 -17
- package/dist/tests/unit/utils/connection-hash.test.d.ts +2 -0
- package/dist/tests/unit/utils/connection-hash.test.d.ts.map +1 -0
- package/dist/tests/unit/utils/connection-hash.test.js +57 -0
- package/dist/tests/unit/utils/connection-hash.test.js.map +1 -0
- package/dist/tests/unit/utils/environment-detector.test.d.ts +2 -0
- package/dist/tests/unit/utils/environment-detector.test.d.ts.map +1 -0
- package/dist/tests/unit/utils/environment-detector.test.js +43 -0
- package/dist/tests/unit/utils/environment-detector.test.js.map +1 -0
- package/dist/tests/unit/utils/path-utils.test.d.ts +2 -0
- package/dist/tests/unit/utils/path-utils.test.d.ts.map +1 -0
- package/dist/tests/unit/utils/path-utils.test.js +72 -0
- package/dist/tests/unit/utils/path-utils.test.js.map +1 -0
- package/dist/tests/unit/utils/project-detector.test.js +14 -13
- package/dist/tests/unit/utils/project-detector.test.js.map +1 -1
- package/dist/tests/unit/validation/parameter-validation.test.d.ts +2 -1
- package/dist/tests/unit/validation/parameter-validation.test.d.ts.map +1 -1
- package/dist/tests/unit/validation/parameter-validation.test.js +5 -133
- package/dist/tests/unit/validation/parameter-validation.test.js.map +1 -1
- 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-schema.js +48 -48
- package/dist/tests/utils/db-seeding.js +11 -11
- package/dist/tests/utils/db-seeding.js.map +1 -1
- package/dist/tests/utils/json-export-import.test.d.ts +6 -0
- package/dist/tests/utils/json-export-import.test.d.ts.map +1 -0
- package/dist/tests/utils/json-export-import.test.js +474 -0
- package/dist/tests/utils/json-export-import.test.js.map +1 -0
- package/dist/tests/utils/test-helpers.js +59 -59
- package/dist/tests/utils/test-helpers.js.map +1 -1
- package/dist/tools/constraints/actions/activate.d.ts +2 -2
- package/dist/tools/constraints/actions/activate.d.ts.map +1 -1
- package/dist/tools/constraints/actions/activate.js +12 -12
- package/dist/tools/constraints/actions/activate.js.map +1 -1
- package/dist/tools/constraints/actions/add.js +3 -3
- package/dist/tools/constraints/actions/add.js.map +1 -1
- package/dist/tools/constraints/actions/deactivate.js +6 -6
- 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 +9 -9
- package/dist/tools/constraints/actions/get.js.map +1 -1
- package/dist/tools/constraints/actions/suggest-pending.js +2 -2
- package/dist/tools/constraints/actions/suggest-pending.js.map +1 -1
- package/dist/tools/constraints/index.d.ts +1 -1
- package/dist/tools/constraints/index.d.ts.map +1 -1
- package/dist/tools/constraints/index.js +1 -1
- package/dist/tools/constraints/index.js.map +1 -1
- package/dist/tools/context/actions/create-policy.js +3 -3
- package/dist/tools/context/actions/create-policy.js.map +1 -1
- package/dist/tools/context/actions/create-template.js +2 -2
- package/dist/tools/context/actions/create-template.js.map +1 -1
- package/dist/tools/context/actions/export.d.ts +35 -0
- package/dist/tools/context/actions/export.d.ts.map +1 -0
- package/dist/tools/context/actions/export.js +93 -0
- package/dist/tools/context/actions/export.js.map +1 -0
- package/dist/tools/context/actions/hard-delete.js +11 -11
- package/dist/tools/context/actions/hard-delete.js.map +1 -1
- package/dist/tools/context/actions/has-updates.d.ts +1 -1
- package/dist/tools/context/actions/has-updates.d.ts.map +1 -1
- package/dist/tools/context/actions/has-updates.js +5 -13
- package/dist/tools/context/actions/has-updates.js.map +1 -1
- package/dist/tools/context/actions/list-policies.js +1 -1
- package/dist/tools/context/actions/list-policies.js.map +1 -1
- package/dist/tools/context/actions/list-templates.js +2 -2
- 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.js +8 -8
- 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.js +3 -3
- package/dist/tools/context/actions/versions.js.map +1 -1
- package/dist/tools/context/index.d.ts +1 -0
- package/dist/tools/context/index.d.ts.map +1 -1
- package/dist/tools/context/index.js +2 -0
- package/dist/tools/context/index.js.map +1 -1
- package/dist/tools/context/internal/queries.d.ts.map +1 -1
- package/dist/tools/context/internal/queries.js +54 -43
- package/dist/tools/context/internal/queries.js.map +1 -1
- package/dist/tools/context/types.d.ts +1 -1
- package/dist/tools/context/types.d.ts.map +1 -1
- package/dist/tools/example/actions/get.d.ts +8 -3
- package/dist/tools/example/actions/get.d.ts.map +1 -1
- package/dist/tools/example/actions/get.js +29 -30
- package/dist/tools/example/actions/get.js.map +1 -1
- package/dist/tools/example/actions/list-all.d.ts +8 -2
- package/dist/tools/example/actions/list-all.d.ts.map +1 -1
- package/dist/tools/example/actions/list-all.js +37 -29
- package/dist/tools/example/actions/list-all.js.map +1 -1
- package/dist/tools/example/actions/search.d.ts +8 -3
- package/dist/tools/example/actions/search.d.ts.map +1 -1
- package/dist/tools/example/actions/search.js +29 -43
- package/dist/tools/example/actions/search.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/actions/query-action.d.ts +7 -3
- package/dist/tools/help/actions/query-action.d.ts.map +1 -1
- package/dist/tools/help/actions/query-action.js +35 -6
- package/dist/tools/help/actions/query-action.js.map +1 -1
- package/dist/tools/help/actions/query-params.d.ts +5 -3
- package/dist/tools/help/actions/query-params.d.ts.map +1 -1
- package/dist/tools/help/actions/query-params.js +28 -6
- package/dist/tools/help/actions/query-params.js.map +1 -1
- package/dist/tools/help/actions/query-tool.d.ts +5 -3
- package/dist/tools/help/actions/query-tool.d.ts.map +1 -1
- package/dist/tools/help/actions/query-tool.js +23 -6
- package/dist/tools/help/actions/query-tool.js.map +1 -1
- package/dist/tools/help/actions/workflow-hints.d.ts +5 -3
- package/dist/tools/help/actions/workflow-hints.d.ts.map +1 -1
- package/dist/tools/help/actions/workflow-hints.js +21 -6
- package/dist/tools/help/actions/workflow-hints.js.map +1 -1
- package/dist/tools/queue/actions/clear.d.ts +19 -0
- package/dist/tools/queue/actions/clear.d.ts.map +1 -0
- package/dist/tools/queue/actions/clear.js +79 -0
- package/dist/tools/queue/actions/clear.js.map +1 -0
- package/dist/tools/queue/actions/list.d.ts +16 -0
- package/dist/tools/queue/actions/list.d.ts.map +1 -0
- package/dist/tools/queue/actions/list.js +95 -0
- package/dist/tools/queue/actions/list.js.map +1 -0
- package/dist/tools/queue/actions/remove.d.ts +19 -0
- package/dist/tools/queue/actions/remove.d.ts.map +1 -0
- package/dist/tools/queue/actions/remove.js +81 -0
- package/dist/tools/queue/actions/remove.js.map +1 -0
- package/dist/tools/queue/index.d.ts +13 -0
- package/dist/tools/queue/index.d.ts.map +1 -0
- package/dist/tools/queue/index.js +13 -0
- package/dist/tools/queue/index.js.map +1 -0
- package/dist/tools/queue/types.d.ts +87 -0
- package/dist/tools/queue/types.d.ts.map +1 -0
- package/dist/tools/queue/types.js +9 -0
- package/dist/tools/queue/types.js.map +1 -0
- package/dist/tools/suggest/actions/by-context.d.ts.map +1 -1
- package/dist/tools/suggest/actions/by-context.js +3 -1
- package/dist/tools/suggest/actions/by-context.js.map +1 -1
- package/dist/tools/suggest/actions/by-key.d.ts.map +1 -1
- package/dist/tools/suggest/actions/by-key.js +3 -1
- package/dist/tools/suggest/actions/by-key.js.map +1 -1
- package/dist/tools/suggest/actions/by-tags.d.ts +2 -2
- package/dist/tools/suggest/actions/by-tags.js +3 -3
- package/dist/tools/suggest/actions/by-tags.js.map +1 -1
- package/dist/tools/suggest/internal/constraint-queries.d.ts +4 -4
- package/dist/tools/suggest/internal/constraint-queries.js +14 -14
- package/dist/tools/suggest/internal/constraint-queries.js.map +1 -1
- package/dist/tools/suggest/internal/queries.d.ts +4 -4
- package/dist/tools/suggest/internal/queries.js +25 -25
- package/dist/tools/suggest/internal/queries.js.map +1 -1
- package/dist/tools/use_case/actions/get.d.ts +5 -3
- package/dist/tools/use_case/actions/get.d.ts.map +1 -1
- package/dist/tools/use_case/actions/get.js +20 -6
- package/dist/tools/use_case/actions/get.js.map +1 -1
- package/dist/tools/use_case/actions/list-all.d.ts +5 -3
- package/dist/tools/use_case/actions/list-all.d.ts.map +1 -1
- package/dist/tools/use_case/actions/list-all.js +36 -6
- package/dist/tools/use_case/actions/list-all.js.map +1 -1
- package/dist/tools/use_case/actions/search.d.ts +6 -3
- package/dist/tools/use_case/actions/search.d.ts.map +1 -1
- package/dist/tools/use_case/actions/search.js +37 -67
- package/dist/tools/use_case/actions/search.js.map +1 -1
- package/dist/tools/use_case/help/example.js +17 -17
- package/dist/tools/use_case/help/example.js.map +1 -1
- package/dist/types.d.ts +82 -153
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -10
- package/dist/types.js.map +1 -1
- package/dist/utils/action-specs/constraint-specs.js +6 -6
- package/dist/utils/action-specs/constraint-specs.js.map +1 -1
- package/dist/utils/action-specs/index.d.ts +0 -2
- package/dist/utils/action-specs/index.d.ts.map +1 -1
- package/dist/utils/action-specs/index.js +0 -6
- package/dist/utils/action-specs/index.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/case-insensitive-validator.d.ts +2 -2
- package/dist/utils/case-insensitive-validator.js +2 -2
- package/dist/utils/connection-hash.d.ts +37 -0
- package/dist/utils/connection-hash.d.ts.map +1 -0
- package/dist/utils/connection-hash.js +55 -0
- package/dist/utils/connection-hash.js.map +1 -0
- package/dist/utils/db-aggregations.js +16 -16
- package/dist/utils/db-aggregations.js.map +1 -1
- package/dist/utils/enum-converter.d.ts +0 -21
- package/dist/utils/enum-converter.d.ts.map +1 -1
- package/dist/utils/enum-converter.js +1 -23
- package/dist/utils/enum-converter.js.map +1 -1
- package/dist/utils/environment-detector.d.ts +30 -0
- package/dist/utils/environment-detector.d.ts.map +1 -0
- package/dist/utils/environment-detector.js +86 -0
- package/dist/utils/environment-detector.js.map +1 -0
- package/dist/utils/example-filter.d.ts +34 -0
- package/dist/utils/example-filter.d.ts.map +1 -0
- package/dist/utils/example-filter.js +45 -0
- package/dist/utils/example-filter.js.map +1 -0
- package/dist/utils/exporter/export.d.ts +2 -16
- package/dist/utils/exporter/export.d.ts.map +1 -1
- package/dist/utils/exporter/export.js +49 -130
- package/dist/utils/exporter/export.js.map +1 -1
- package/dist/utils/hook-queue.d.ts +60 -0
- package/dist/utils/hook-queue.d.ts.map +1 -1
- package/dist/utils/hook-queue.js +114 -11
- package/dist/utils/hook-queue.js.map +1 -1
- package/dist/utils/importer/import.d.ts.map +1 -1
- package/dist/utils/importer/import.js +33 -188
- package/dist/utils/importer/import.js.map +1 -1
- package/dist/utils/importer/master-tables.d.ts +2 -1
- package/dist/utils/importer/master-tables.d.ts.map +1 -1
- package/dist/utils/importer/master-tables.js +35 -81
- package/dist/utils/importer/master-tables.js.map +1 -1
- package/dist/utils/param-normalizer.d.ts +0 -1
- package/dist/utils/param-normalizer.d.ts.map +1 -1
- package/dist/utils/param-normalizer.js +1 -3
- package/dist/utils/param-normalizer.js.map +1 -1
- package/dist/utils/path-utils.d.ts +46 -0
- package/dist/utils/path-utils.d.ts.map +1 -0
- package/dist/utils/path-utils.js +74 -0
- package/dist/utils/path-utils.js.map +1 -0
- package/dist/utils/policy-validator.js +1 -1
- package/dist/utils/policy-validator.js.map +1 -1
- package/dist/utils/project-context.d.ts +23 -0
- package/dist/utils/project-context.d.ts.map +1 -1
- package/dist/utils/project-context.js +45 -3
- package/dist/utils/project-context.js.map +1 -1
- package/dist/utils/project-root.d.ts +2 -2
- package/dist/utils/project-root.js +2 -2
- package/dist/utils/sql-dump/core/index-export.js +7 -7
- package/dist/utils/sql-dump/schema/indexes.js +24 -24
- package/dist/utils/sql-dump/schema/tables.js +44 -44
- package/dist/utils/token-logging.js +6 -6
- package/dist/utils/token-logging.js.map +1 -1
- package/dist/utils/validators.js +1 -1
- package/dist/utils/validators.js.map +1 -1
- package/dist/utils/view-queries.d.ts +0 -8
- package/dist/utils/view-queries.d.ts.map +1 -1
- package/dist/utils/view-queries.js +29 -84
- package/dist/utils/view-queries.js.map +1 -1
- package/dist/watcher/index.d.ts +1 -4
- package/dist/watcher/index.d.ts.map +1 -1
- package/dist/watcher/index.js +1 -3
- package/dist/watcher/index.js.map +1 -1
- package/dist/watcher/queue-watcher.d.ts +10 -3
- package/dist/watcher/queue-watcher.d.ts.map +1 -1
- package/dist/watcher/queue-watcher.js +24 -21
- package/dist/watcher/queue-watcher.js.map +1 -1
- package/docs/CONFIGURATION.md +14 -14
- package/docs/DATABASE_AUTH.md +1 -1
- package/docs/HOOKS_GUIDE.md +30 -50
- package/docs/HOW_TO_UNINSTALL.md +199 -0
- package/docs/MIGRATION_CLEANUP_GUIDE.md +212 -0
- package/docs/MIGRATION_TO_SAAS.md +176 -0
- package/docs/SLASH_COMMANDS.md +1 -1
- package/docs/cli/DATABASE_MIGRATION.md +13 -13
- package/docs/cli/DATA_EXPORT_IMPORT.md +71 -69
- package/package.json +10 -8
- package/saas-connector/LICENSE +190 -0
- package/saas-connector/README.md +122 -0
- package/saas-connector/dist/auth/auth-manager.d.ts +6 -0
- package/saas-connector/dist/auth/auth-manager.d.ts.map +1 -0
- package/saas-connector/dist/auth/auth-manager.js +39 -0
- package/saas-connector/dist/auth/auth-manager.js.map +7 -0
- package/saas-connector/dist/backend/saas-backend.d.ts +20 -0
- package/saas-connector/dist/backend/saas-backend.d.ts.map +1 -0
- package/saas-connector/dist/backend/saas-backend.js +104 -0
- package/saas-connector/dist/backend/saas-backend.js.map +7 -0
- package/saas-connector/dist/client/http-client.d.ts +33 -0
- package/saas-connector/dist/client/http-client.d.ts.map +1 -0
- package/saas-connector/dist/client/http-client.js +226 -0
- package/saas-connector/dist/client/http-client.js.map +7 -0
- package/saas-connector/dist/client/types.d.ts +62 -0
- package/saas-connector/dist/client/types.d.ts.map +1 -0
- package/saas-connector/dist/client/types.js +17 -0
- package/saas-connector/dist/client/types.js.map +7 -0
- package/saas-connector/dist/config/constants.d.ts +14 -0
- package/saas-connector/dist/config/constants.d.ts.map +1 -0
- package/saas-connector/dist/config/constants.js +68 -0
- package/saas-connector/dist/config/constants.js.map +7 -0
- package/saas-connector/dist/errors/api-error.d.ts +26 -0
- package/saas-connector/dist/errors/api-error.d.ts.map +1 -0
- package/saas-connector/dist/errors/api-error.js +62 -0
- package/saas-connector/dist/errors/api-error.js.map +7 -0
- package/saas-connector/dist/index.d.ts +18 -0
- package/saas-connector/dist/index.d.ts.map +1 -0
- package/saas-connector/dist/index.js +51 -0
- package/saas-connector/dist/index.js.map +7 -0
- package/saas-connector/package-lock.json +518 -0
- package/saas-connector/package.json +34 -0
- package/scripts/copy-help-data.js +19 -0
- package/assets/config.example.toml +0 -120
- package/assets/kanban-style.png +0 -0
- package/assets/kanban-visualizer.png +0 -0
- package/assets/sample-agents/README.md +0 -36
- package/assets/sample-agents/sqlew-architect.md +0 -321
- package/assets/sample-agents/sqlew-researcher.md +0 -292
- package/assets/sample-agents/sqlew-scrum-master.md +0 -286
- package/assets/sample-commands/README.md +0 -56
- package/assets/sample-commands/sqlew.md +0 -144
- package/assets/sample-skills/sqlew-decision-format/SKILL.md +0 -73
- package/assets/sample-skills/sqlew-plan-guidance/SKILL.md +0 -62
- package/assets/schema.sql +0 -564
- package/dist/cli/hooks/init-hooks.d.ts +0 -35
- package/dist/cli/hooks/init-hooks.d.ts.map +0 -1
- package/dist/cli/hooks/init-hooks.js +0 -517
- package/dist/cli/hooks/init-hooks.js.map +0 -1
- package/dist/cli/hooks/plan-toml-parser.d.ts.map +0 -1
- package/dist/cli/hooks/plan-toml-parser.js.map +0 -1
- package/dist/init-agents.d.ts +0 -7
- package/dist/init-agents.d.ts.map +0 -1
- package/dist/init-agents.js +0 -206
- package/dist/init-agents.js.map +0 -1
- package/dist/init-commands.d.ts +0 -10
- package/dist/init-commands.d.ts.map +0 -1
- package/dist/init-commands.js +0 -46
- package/dist/init-commands.js.map +0 -1
- package/dist/init-skills.d.ts +0 -29
- package/dist/init-skills.d.ts.map +0 -1
- package/dist/init-skills.js +0 -183
- package/dist/init-skills.js.map +0 -1
- package/dist/sync-agents.d.ts +0 -13
- package/dist/sync-agents.d.ts.map +0 -1
- package/dist/sync-agents.js +0 -157
- package/dist/sync-agents.js.map +0 -1
- package/dist/sync-commands.d.ts +0 -13
- package/dist/sync-commands.d.ts.map +0 -1
- package/dist/sync-commands.js +0 -150
- package/dist/sync-commands.js.map +0 -1
- package/dist/sync-gitignore.d.ts +0 -13
- package/dist/sync-gitignore.d.ts.map +0 -1
- package/dist/sync-gitignore.js +0 -60
- package/dist/sync-gitignore.js.map +0 -1
- package/dist/tests/docker/native/task-operations.test.d.ts +0 -16
- package/dist/tests/docker/native/task-operations.test.d.ts.map +0 -1
- package/dist/tests/docker/native/task-operations.test.js +0 -800
- package/dist/tests/docker/native/task-operations.test.js.map +0 -1
- package/dist/tests/feature/decision/batch-validation-integration.test.d.ts +0 -6
- package/dist/tests/feature/decision/batch-validation-integration.test.d.ts.map +0 -1
- package/dist/tests/feature/decision/batch-validation-integration.test.js +0 -193
- package/dist/tests/feature/decision/batch-validation-integration.test.js.map +0 -1
- package/dist/tests/feature/task/auto-pruning-decision-link.test.d.ts +0 -6
- package/dist/tests/feature/task/auto-pruning-decision-link.test.d.ts.map +0 -1
- package/dist/tests/feature/task/auto-pruning-decision-link.test.js +0 -281
- package/dist/tests/feature/task/auto-pruning-decision-link.test.js.map +0 -1
- package/dist/tests/feature/task/auto-pruning-partial.test.d.ts +0 -6
- package/dist/tests/feature/task/auto-pruning-partial.test.d.ts.map +0 -1
- package/dist/tests/feature/task/auto-pruning-partial.test.js +0 -305
- package/dist/tests/feature/task/auto-pruning-partial.test.js.map +0 -1
- package/dist/tests/feature/task/auto-pruning-persistence.test.d.ts +0 -6
- package/dist/tests/feature/task/auto-pruning-persistence.test.d.ts.map +0 -1
- package/dist/tests/feature/task/auto-pruning-persistence.test.js +0 -267
- package/dist/tests/feature/task/auto-pruning-persistence.test.js.map +0 -1
- package/dist/tests/feature/task/auto-pruning-safety.test.d.ts +0 -12
- package/dist/tests/feature/task/auto-pruning-safety.test.d.ts.map +0 -1
- package/dist/tests/feature/task/auto-pruning-safety.test.js +0 -224
- package/dist/tests/feature/task/auto-pruning-safety.test.js.map +0 -1
- package/dist/tests/feature/task/dependencies.test.d.ts +0 -7
- package/dist/tests/feature/task/dependencies.test.d.ts.map +0 -1
- package/dist/tests/feature/task/dependencies.test.js +0 -656
- package/dist/tests/feature/task/dependencies.test.js.map +0 -1
- package/dist/tests/feature/task/file-actions-integration.test.d.ts +0 -10
- package/dist/tests/feature/task/file-actions-integration.test.d.ts.map +0 -1
- package/dist/tests/feature/task/file-actions-integration.test.js +0 -162
- package/dist/tests/feature/task/file-actions-integration.test.js.map +0 -1
- package/dist/tests/feature/task/file-actions-validation.test.d.ts +0 -6
- package/dist/tests/feature/task/file-actions-validation.test.d.ts.map +0 -1
- package/dist/tests/feature/task/file-actions-validation.test.js +0 -228
- package/dist/tests/feature/task/file-actions-validation.test.js.map +0 -1
- package/dist/tests/feature/task/link-file-backward-compat.test.d.ts +0 -6
- package/dist/tests/feature/task/link-file-backward-compat.test.d.ts.map +0 -1
- package/dist/tests/feature/task/link-file-backward-compat.test.js +0 -280
- package/dist/tests/feature/task/link-file-backward-compat.test.js.map +0 -1
- package/dist/tests/feature/task/watch-files-action.test.d.ts +0 -8
- package/dist/tests/feature/task/watch-files-action.test.d.ts.map +0 -1
- package/dist/tests/feature/task/watch-files-action.test.js +0 -402
- package/dist/tests/feature/task/watch-files-action.test.js.map +0 -1
- package/dist/tests/feature/task/watch-files-parameter.test.d.ts +0 -8
- package/dist/tests/feature/task/watch-files-parameter.test.d.ts.map +0 -1
- package/dist/tests/feature/task/watch-files-parameter.test.js +0 -283
- package/dist/tests/feature/task/watch-files-parameter.test.js.map +0 -1
- package/dist/tests/integration/all-features.standalone.d.ts +0 -7
- package/dist/tests/integration/all-features.standalone.d.ts.map +0 -1
- package/dist/tests/integration/all-features.standalone.js +0 -417
- package/dist/tests/integration/all-features.standalone.js.map +0 -1
- package/dist/tests/unit/config/plan-toml-cache.test.d.ts.map +0 -1
- package/dist/tests/unit/config/plan-toml-cache.test.js.map +0 -1
- package/dist/tests/unit/hooks/plan-toml-parser.test.d.ts.map +0 -1
- package/dist/tests/unit/hooks/plan-toml-parser.test.js.map +0 -1
- package/dist/tools/files/actions/check-lock.d.ts +0 -16
- package/dist/tools/files/actions/check-lock.d.ts.map +0 -1
- package/dist/tools/files/actions/check-lock.js +0 -74
- package/dist/tools/files/actions/check-lock.js.map +0 -1
- package/dist/tools/files/actions/get.d.ts +0 -16
- package/dist/tools/files/actions/get.d.ts.map +0 -1
- package/dist/tools/files/actions/get.js +0 -85
- package/dist/tools/files/actions/get.js.map +0 -1
- package/dist/tools/files/actions/record-batch.d.ts +0 -18
- package/dist/tools/files/actions/record-batch.d.ts.map +0 -1
- package/dist/tools/files/actions/record-batch.js +0 -119
- package/dist/tools/files/actions/record-batch.js.map +0 -1
- package/dist/tools/files/actions/record.d.ts +0 -16
- package/dist/tools/files/actions/record.d.ts.map +0 -1
- package/dist/tools/files/actions/record.js +0 -43
- package/dist/tools/files/actions/record.js.map +0 -1
- package/dist/tools/files/actions/sqlite-flush.d.ts +0 -27
- package/dist/tools/files/actions/sqlite-flush.d.ts.map +0 -1
- package/dist/tools/files/actions/sqlite-flush.js +0 -66
- package/dist/tools/files/actions/sqlite-flush.js.map +0 -1
- package/dist/tools/files/help/example.d.ts +0 -5
- package/dist/tools/files/help/example.d.ts.map +0 -1
- package/dist/tools/files/help/example.js +0 -109
- package/dist/tools/files/help/example.js.map +0 -1
- package/dist/tools/files/help/help.d.ts +0 -5
- package/dist/tools/files/help/help.d.ts.map +0 -1
- package/dist/tools/files/help/help.js +0 -35
- package/dist/tools/files/help/help.js.map +0 -1
- package/dist/tools/files/index.d.ts +0 -14
- package/dist/tools/files/index.d.ts.map +0 -1
- package/dist/tools/files/index.js +0 -15
- package/dist/tools/files/index.js.map +0 -1
- package/dist/tools/files/internal/queries.d.ts +0 -18
- package/dist/tools/files/internal/queries.d.ts.map +0 -1
- package/dist/tools/files/internal/queries.js +0 -54
- package/dist/tools/files/internal/queries.js.map +0 -1
- package/dist/tools/files/internal/validation.d.ts +0 -18
- package/dist/tools/files/internal/validation.d.ts.map +0 -1
- package/dist/tools/files/internal/validation.js +0 -39
- package/dist/tools/files/internal/validation.js.map +0 -1
- package/dist/tools/files/types.d.ts +0 -6
- package/dist/tools/files/types.d.ts.map +0 -1
- package/dist/tools/files/types.js +0 -6
- package/dist/tools/files/types.js.map +0 -1
- package/dist/tools/help-queries.d.ts +0 -130
- package/dist/tools/help-queries.d.ts.map +0 -1
- package/dist/tools/help-queries.js +0 -411
- package/dist/tools/help-queries.js.map +0 -1
- package/dist/tools/tasks/actions/add-dependency.d.ts +0 -12
- package/dist/tools/tasks/actions/add-dependency.d.ts.map +0 -1
- package/dist/tools/tasks/actions/add-dependency.js +0 -129
- package/dist/tools/tasks/actions/add-dependency.js.map +0 -1
- package/dist/tools/tasks/actions/archive.d.ts +0 -11
- package/dist/tools/tasks/actions/archive.d.ts.map +0 -1
- package/dist/tools/tasks/actions/archive.js +0 -58
- package/dist/tools/tasks/actions/archive.js.map +0 -1
- package/dist/tools/tasks/actions/create-batch.d.ts +0 -19
- package/dist/tools/tasks/actions/create-batch.d.ts.map +0 -1
- package/dist/tools/tasks/actions/create-batch.js +0 -103
- package/dist/tools/tasks/actions/create-batch.js.map +0 -1
- package/dist/tools/tasks/actions/create.d.ts +0 -16
- package/dist/tools/tasks/actions/create.d.ts.map +0 -1
- package/dist/tools/tasks/actions/create.js +0 -163
- package/dist/tools/tasks/actions/create.js.map +0 -1
- package/dist/tools/tasks/actions/get-dependencies.d.ts +0 -12
- package/dist/tools/tasks/actions/get-dependencies.d.ts.map +0 -1
- package/dist/tools/tasks/actions/get-dependencies.js +0 -41
- package/dist/tools/tasks/actions/get-dependencies.js.map +0 -1
- package/dist/tools/tasks/actions/get-pruned-files.d.ts +0 -13
- package/dist/tools/tasks/actions/get-pruned-files.d.ts.map +0 -1
- package/dist/tools/tasks/actions/get-pruned-files.js +0 -45
- package/dist/tools/tasks/actions/get-pruned-files.js.map +0 -1
- package/dist/tools/tasks/actions/get.d.ts +0 -12
- package/dist/tools/tasks/actions/get.d.ts.map +0 -1
- package/dist/tools/tasks/actions/get.js +0 -84
- package/dist/tools/tasks/actions/get.js.map +0 -1
- package/dist/tools/tasks/actions/link-pruned-file.d.ts +0 -14
- package/dist/tools/tasks/actions/link-pruned-file.d.ts.map +0 -1
- package/dist/tools/tasks/actions/link-pruned-file.js +0 -68
- package/dist/tools/tasks/actions/link-pruned-file.js.map +0 -1
- package/dist/tools/tasks/actions/link.d.ts +0 -14
- package/dist/tools/tasks/actions/link.d.ts.map +0 -1
- package/dist/tools/tasks/actions/link.js +0 -120
- package/dist/tools/tasks/actions/link.js.map +0 -1
- package/dist/tools/tasks/actions/list.d.ts +0 -17
- package/dist/tools/tasks/actions/list.d.ts.map +0 -1
- package/dist/tools/tasks/actions/list.js +0 -100
- package/dist/tools/tasks/actions/list.js.map +0 -1
- package/dist/tools/tasks/actions/move.d.ts +0 -13
- package/dist/tools/tasks/actions/move.d.ts.map +0 -1
- package/dist/tools/tasks/actions/move.js +0 -91
- package/dist/tools/tasks/actions/move.js.map +0 -1
- package/dist/tools/tasks/actions/remove-dependency.d.ts +0 -12
- package/dist/tools/tasks/actions/remove-dependency.d.ts.map +0 -1
- package/dist/tools/tasks/actions/remove-dependency.js +0 -36
- package/dist/tools/tasks/actions/remove-dependency.js.map +0 -1
- package/dist/tools/tasks/actions/update.d.ts +0 -10
- package/dist/tools/tasks/actions/update.d.ts.map +0 -1
- package/dist/tools/tasks/actions/update.js +0 -183
- package/dist/tools/tasks/actions/update.js.map +0 -1
- package/dist/tools/tasks/actions/watch-files.d.ts +0 -14
- package/dist/tools/tasks/actions/watch-files.d.ts.map +0 -1
- package/dist/tools/tasks/actions/watch-files.js +0 -127
- package/dist/tools/tasks/actions/watch-files.js.map +0 -1
- package/dist/tools/tasks/help/example.d.ts +0 -8
- package/dist/tools/tasks/help/example.d.ts.map +0 -1
- package/dist/tools/tasks/help/example.js +0 -225
- package/dist/tools/tasks/help/example.js.map +0 -1
- package/dist/tools/tasks/help/help.d.ts +0 -8
- package/dist/tools/tasks/help/help.d.ts.map +0 -1
- package/dist/tools/tasks/help/help.js +0 -307
- package/dist/tools/tasks/help/help.js.map +0 -1
- package/dist/tools/tasks/help/use-case.d.ts +0 -11
- package/dist/tools/tasks/help/use-case.d.ts.map +0 -1
- package/dist/tools/tasks/help/use-case.js +0 -767
- package/dist/tools/tasks/help/use-case.js.map +0 -1
- package/dist/tools/tasks/index.d.ts +0 -28
- package/dist/tools/tasks/index.d.ts.map +0 -1
- package/dist/tools/tasks/index.js +0 -33
- package/dist/tools/tasks/index.js.map +0 -1
- package/dist/tools/tasks/internal/state-machine.d.ts +0 -16
- package/dist/tools/tasks/internal/state-machine.d.ts.map +0 -1
- package/dist/tools/tasks/internal/state-machine.js +0 -36
- package/dist/tools/tasks/internal/state-machine.js.map +0 -1
- package/dist/tools/tasks/internal/task-queries.d.ts +0 -12
- package/dist/tools/tasks/internal/task-queries.d.ts.map +0 -1
- package/dist/tools/tasks/internal/task-queries.js +0 -53
- package/dist/tools/tasks/internal/task-queries.js.map +0 -1
- package/dist/tools/tasks/internal/validation.d.ts +0 -47
- package/dist/tools/tasks/internal/validation.d.ts.map +0 -1
- package/dist/tools/tasks/internal/validation.js +0 -261
- package/dist/tools/tasks/internal/validation.js.map +0 -1
- package/dist/tools/tasks/types.d.ts +0 -80
- package/dist/tools/tasks/types.d.ts.map +0 -1
- package/dist/tools/tasks/types.js +0 -68
- package/dist/tools/tasks/types.js.map +0 -1
- package/dist/tools/tasks/watcher/status.d.ts +0 -9
- package/dist/tools/tasks/watcher/status.d.ts.map +0 -1
- package/dist/tools/tasks/watcher/status.js +0 -130
- package/dist/tools/tasks/watcher/status.js.map +0 -1
- package/dist/tools/tasks.d.ts +0 -16
- package/dist/tools/tasks.d.ts.map +0 -1
- package/dist/tools/tasks.js +0 -17
- package/dist/tools/tasks.js.map +0 -1
- package/dist/utils/action-specs/file-specs.d.ts +0 -9
- package/dist/utils/action-specs/file-specs.d.ts.map +0 -1
- package/dist/utils/action-specs/file-specs.js +0 -54
- package/dist/utils/action-specs/file-specs.js.map +0 -1
- package/dist/utils/action-specs/task-specs.d.ts +0 -9
- package/dist/utils/action-specs/task-specs.d.ts.map +0 -1
- package/dist/utils/action-specs/task-specs.js +0 -143
- package/dist/utils/action-specs/task-specs.js.map +0 -1
- package/dist/utils/cleanup.d.ts +0 -69
- package/dist/utils/cleanup.d.ts.map +0 -1
- package/dist/utils/cleanup.js +0 -102
- package/dist/utils/cleanup.js.map +0 -1
- package/dist/utils/file-pruning.d.ts +0 -93
- package/dist/utils/file-pruning.d.ts.map +0 -1
- package/dist/utils/file-pruning.js +0 -194
- package/dist/utils/file-pruning.js.map +0 -1
- package/dist/utils/importer/topological-sort.d.ts +0 -61
- package/dist/utils/importer/topological-sort.d.ts.map +0 -1
- package/dist/utils/importer/topological-sort.js +0 -143
- package/dist/utils/importer/topological-sort.js.map +0 -1
- package/dist/utils/retention.d.ts +0 -65
- package/dist/utils/retention.d.ts.map +0 -1
- package/dist/utils/retention.js +0 -156
- package/dist/utils/retention.js.map +0 -1
- package/dist/utils/task-stale-detection.d.ts +0 -98
- package/dist/utils/task-stale-detection.d.ts.map +0 -1
- package/dist/utils/task-stale-detection.js +0 -479
- package/dist/utils/task-stale-detection.js.map +0 -1
- package/dist/watcher/file-watcher.d.ts +0 -131
- package/dist/watcher/file-watcher.d.ts.map +0 -1
- package/dist/watcher/file-watcher.js +0 -730
- package/dist/watcher/file-watcher.js.map +0 -1
- package/dist/watcher/test-executor.d.ts +0 -23
- package/dist/watcher/test-executor.d.ts.map +0 -1
- package/dist/watcher/test-executor.js +0 -226
- package/dist/watcher/test-executor.js.map +0 -1
- package/docs/TASK_SYSTEM_DEPRECATED.md +0 -88
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Help System - Native RDBMS Integration Tests
|
|
3
3
|
*
|
|
4
|
-
* Tests help system tables (
|
|
5
|
-
*
|
|
4
|
+
* Tests help system tables (m_help_tools, m_help_actions, t_help_action_examples,
|
|
5
|
+
* t_help_use_cases, m_help_use_case_cats) on fresh MySQL, MariaDB, and PostgreSQL installations.
|
|
6
6
|
*
|
|
7
7
|
* Task #534: Refactor to use direct Knex operations instead of MCP tool functions
|
|
8
8
|
* v4 migration: Updated all table/column names to v4 schema (2025-12-25)
|
|
@@ -15,17 +15,17 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
15
15
|
// Get project ID before running tests
|
|
16
16
|
it('should get project ID', async () => {
|
|
17
17
|
const db = getDb();
|
|
18
|
-
const project = await db('
|
|
18
|
+
const project = await db('m_projects').first();
|
|
19
19
|
assert.ok(project, 'Project should exist');
|
|
20
20
|
projectId = project.id;
|
|
21
21
|
});
|
|
22
22
|
// ============================================================================
|
|
23
|
-
//
|
|
23
|
+
// m_help_tools - Tool Registry
|
|
24
24
|
// ============================================================================
|
|
25
|
-
describe('
|
|
25
|
+
describe('m_help_tools table', () => {
|
|
26
26
|
it('should have decision tool registered', async () => {
|
|
27
27
|
const db = getDb();
|
|
28
|
-
const tool = await db('
|
|
28
|
+
const tool = await db('m_help_tools')
|
|
29
29
|
.where({ tool_name: 'decision' })
|
|
30
30
|
.first();
|
|
31
31
|
assert.ok(tool, 'Decision tool should be registered');
|
|
@@ -33,18 +33,10 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
33
33
|
assert.ok(tool.description, 'Tool should have description');
|
|
34
34
|
assert.ok(tool.description.includes('decision') || tool.description.includes('context'), 'Description should mention decision or context management');
|
|
35
35
|
});
|
|
36
|
-
|
|
37
|
-
const db = getDb();
|
|
38
|
-
const tool = await db('v4_help_tools')
|
|
39
|
-
.where({ tool_name: 'task' })
|
|
40
|
-
.first();
|
|
41
|
-
assert.ok(tool, 'Task tool should be registered');
|
|
42
|
-
assert.strictEqual(tool.tool_name, 'task');
|
|
43
|
-
assert.ok(tool.description, 'Tool should have description');
|
|
44
|
-
});
|
|
36
|
+
// Note: Task tool removed in v5.0 (deprecated)
|
|
45
37
|
it('should have constraint tool registered', async () => {
|
|
46
38
|
const db = getDb();
|
|
47
|
-
const tool = await db('
|
|
39
|
+
const tool = await db('m_help_tools')
|
|
48
40
|
.where({ tool_name: 'constraint' })
|
|
49
41
|
.first();
|
|
50
42
|
assert.ok(tool, 'Constraint tool should be registered');
|
|
@@ -53,10 +45,10 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
53
45
|
});
|
|
54
46
|
it('should have help and example tools registered', async () => {
|
|
55
47
|
const db = getDb();
|
|
56
|
-
const helpTool = await db('
|
|
48
|
+
const helpTool = await db('m_help_tools')
|
|
57
49
|
.where({ tool_name: 'help' })
|
|
58
50
|
.first();
|
|
59
|
-
const exampleTool = await db('
|
|
51
|
+
const exampleTool = await db('m_help_tools')
|
|
60
52
|
.where({ tool_name: 'example' })
|
|
61
53
|
.first();
|
|
62
54
|
assert.ok(helpTool, 'Help tool should be registered');
|
|
@@ -64,31 +56,31 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
64
56
|
});
|
|
65
57
|
it('should have all core tools registered', async () => {
|
|
66
58
|
const db = getDb();
|
|
67
|
-
const tools = await db('
|
|
59
|
+
const tools = await db('m_help_tools')
|
|
68
60
|
.select('tool_name')
|
|
69
61
|
.orderBy('tool_name');
|
|
70
62
|
const toolNames = tools.map((t) => t.tool_name);
|
|
71
|
-
// Core tools that must exist
|
|
72
|
-
const requiredTools = ['decision', '
|
|
63
|
+
// Core tools that must exist (task removed in v5.0)
|
|
64
|
+
const requiredTools = ['decision', 'constraint', 'help', 'example'];
|
|
73
65
|
for (const requiredTool of requiredTools) {
|
|
74
66
|
assert.ok(toolNames.includes(requiredTool), `Should have ${requiredTool} tool registered`);
|
|
75
67
|
}
|
|
76
68
|
});
|
|
77
69
|
});
|
|
78
70
|
// ============================================================================
|
|
79
|
-
//
|
|
71
|
+
// m_help_actions - Action Documentation
|
|
80
72
|
// ============================================================================
|
|
81
|
-
describe('
|
|
73
|
+
describe('m_help_actions table', () => {
|
|
82
74
|
it('should have decision.set action documented', async () => {
|
|
83
75
|
const db = getDb();
|
|
84
|
-
const action = await db('
|
|
76
|
+
const action = await db('m_help_actions')
|
|
85
77
|
.where({ tool_name: 'decision', action_name: 'set' })
|
|
86
78
|
.first();
|
|
87
79
|
assert.ok(action, 'decision.set action should be documented');
|
|
88
80
|
assert.strictEqual(action.action_name, 'set');
|
|
89
81
|
assert.ok(action.description, 'Action should have description');
|
|
90
|
-
// Parameters are stored in
|
|
91
|
-
const params = await db('
|
|
82
|
+
// Parameters are stored in t_help_action_params table
|
|
83
|
+
const params = await db('t_help_action_params')
|
|
92
84
|
.where({ action_id: action.id })
|
|
93
85
|
.select('*');
|
|
94
86
|
assert.ok(Array.isArray(params), 'Parameters should be an array');
|
|
@@ -98,62 +90,45 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
98
90
|
assert.ok(paramNames.includes('key'), 'Should have key parameter');
|
|
99
91
|
assert.ok(paramNames.includes('value'), 'Should have value parameter');
|
|
100
92
|
});
|
|
101
|
-
|
|
102
|
-
const db = getDb();
|
|
103
|
-
const action = await db('v4_help_actions')
|
|
104
|
-
.where({ tool_name: 'task', action_name: 'create' })
|
|
105
|
-
.first();
|
|
106
|
-
assert.ok(action, 'task.create action should be documented');
|
|
107
|
-
assert.strictEqual(action.action_name, 'create');
|
|
108
|
-
assert.ok(action.description, 'Action should have description');
|
|
109
|
-
// Parameters are stored in v4_help_action_params table
|
|
110
|
-
const params = await db('v4_help_action_params')
|
|
111
|
-
.where({ action_id: action.id })
|
|
112
|
-
.select('*');
|
|
113
|
-
// Verify file_actions parameter is documented (v3.8.0)
|
|
114
|
-
const paramNames = params.map((p) => p.param_name);
|
|
115
|
-
assert.ok(paramNames.includes('file_actions'), 'Should document file_actions parameter');
|
|
116
|
-
const fileActionsParam = params.find((p) => p.param_name === 'file_actions');
|
|
117
|
-
assert.ok(fileActionsParam, 'file_actions parameter should exist');
|
|
118
|
-
});
|
|
93
|
+
// Note: task.create action test removed in v5.0 (task tool deprecated)
|
|
119
94
|
it('should have constraint.add action documented', async () => {
|
|
120
95
|
const db = getDb();
|
|
121
|
-
const action = await db('
|
|
96
|
+
const action = await db('m_help_actions')
|
|
122
97
|
.where({ tool_name: 'constraint', action_name: 'add' })
|
|
123
98
|
.first();
|
|
124
99
|
assert.ok(action, 'constraint.add action should be documented');
|
|
125
100
|
assert.strictEqual(action.action_name, 'add');
|
|
126
101
|
assert.ok(action.description, 'Action should have description');
|
|
127
|
-
// Parameters are stored in
|
|
128
|
-
const params = await db('
|
|
102
|
+
// Parameters are stored in t_help_action_params table
|
|
103
|
+
const params = await db('t_help_action_params')
|
|
129
104
|
.where({ action_id: action.id })
|
|
130
105
|
.select('*');
|
|
131
106
|
assert.ok(Array.isArray(params), 'Should have parameters');
|
|
132
107
|
});
|
|
133
108
|
it('should have multiple actions per tool', async () => {
|
|
134
109
|
const db = getDb();
|
|
135
|
-
const decisionActions = await db('
|
|
110
|
+
const decisionActions = await db('m_help_actions')
|
|
136
111
|
.where({ tool_name: 'decision' })
|
|
137
112
|
.select('action_name');
|
|
138
|
-
|
|
139
|
-
|
|
113
|
+
// Note: Task tool removed in v5.0
|
|
114
|
+
const constraintActions = await db('m_help_actions')
|
|
115
|
+
.where({ tool_name: 'constraint' })
|
|
140
116
|
.select('action_name');
|
|
141
117
|
assert.ok(decisionActions.length > 1, 'Decision tool should have multiple actions');
|
|
142
|
-
assert.ok(
|
|
143
|
-
// Verify key
|
|
144
|
-
const
|
|
145
|
-
assert.ok(
|
|
146
|
-
assert.ok(
|
|
147
|
-
assert.ok(taskActionNames.includes('move'), 'Should have move action');
|
|
118
|
+
assert.ok(constraintActions.length >= 1, 'Constraint tool should have actions');
|
|
119
|
+
// Verify key decision actions exist
|
|
120
|
+
const decisionActionNames = decisionActions.map((a) => a.action_name);
|
|
121
|
+
assert.ok(decisionActionNames.includes('set'), 'Should have set action');
|
|
122
|
+
assert.ok(decisionActionNames.includes('get'), 'Should have get action');
|
|
148
123
|
});
|
|
149
124
|
it('should indicate required vs optional parameters', async () => {
|
|
150
125
|
const db = getDb();
|
|
151
|
-
const action = await db('
|
|
126
|
+
const action = await db('m_help_actions')
|
|
152
127
|
.where({ tool_name: 'decision', action_name: 'set' })
|
|
153
128
|
.first();
|
|
154
129
|
assert.ok(action, 'Action should exist');
|
|
155
|
-
// Parameters are stored in
|
|
156
|
-
const params = await db('
|
|
130
|
+
// Parameters are stored in t_help_action_params table
|
|
131
|
+
const params = await db('t_help_action_params')
|
|
157
132
|
.where({ action_id: action.id })
|
|
158
133
|
.select('*');
|
|
159
134
|
assert.ok(params.length > 0, 'Should have parameters');
|
|
@@ -163,15 +138,15 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
163
138
|
});
|
|
164
139
|
});
|
|
165
140
|
// ============================================================================
|
|
166
|
-
//
|
|
141
|
+
// m_help_actions - Foreign Key Constraints
|
|
167
142
|
// ============================================================================
|
|
168
|
-
describe('
|
|
143
|
+
describe('m_help_actions foreign key constraints', () => {
|
|
169
144
|
it('should enforce FK constraint on tool_name', async () => {
|
|
170
145
|
const db = getDb();
|
|
171
146
|
try {
|
|
172
|
-
//
|
|
173
|
-
// (parameters is stored in separate
|
|
174
|
-
await db('
|
|
147
|
+
// m_help_actions columns: id, tool_name, action_name, description, returns
|
|
148
|
+
// (parameters is stored in separate t_help_action_params table)
|
|
149
|
+
await db('m_help_actions').insert({
|
|
175
150
|
tool_name: 'non_existent_tool',
|
|
176
151
|
action_name: 'test_action',
|
|
177
152
|
description: 'Test description',
|
|
@@ -189,33 +164,33 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
189
164
|
const db = getDb();
|
|
190
165
|
// Insert a test action with valid tool_name
|
|
191
166
|
const testActionName = `test_action_${Date.now()}`;
|
|
192
|
-
//
|
|
193
|
-
await db('
|
|
167
|
+
// m_help_actions columns: id, tool_name, action_name, description, returns
|
|
168
|
+
await db('m_help_actions').insert({
|
|
194
169
|
tool_name: 'decision',
|
|
195
170
|
action_name: testActionName,
|
|
196
171
|
description: 'Test action',
|
|
197
172
|
});
|
|
198
|
-
const inserted = await db('
|
|
173
|
+
const inserted = await db('m_help_actions')
|
|
199
174
|
.where({ tool_name: 'decision', action_name: testActionName })
|
|
200
175
|
.first();
|
|
201
176
|
assert.ok(inserted, 'Should insert action with valid tool_name');
|
|
202
177
|
// Cleanup
|
|
203
|
-
await db('
|
|
178
|
+
await db('m_help_actions')
|
|
204
179
|
.where({ action_name: testActionName })
|
|
205
180
|
.delete();
|
|
206
181
|
});
|
|
207
182
|
});
|
|
208
183
|
// ============================================================================
|
|
209
|
-
//
|
|
184
|
+
// t_help_action_examples - Example Storage
|
|
210
185
|
// ============================================================================
|
|
211
|
-
describe('
|
|
186
|
+
describe('t_help_action_examples table', () => {
|
|
212
187
|
it('should have examples for decision tool', async () => {
|
|
213
188
|
const db = getDb();
|
|
214
|
-
// Join with
|
|
215
|
-
const examples = await db('
|
|
216
|
-
.join('
|
|
217
|
-
.where({ '
|
|
218
|
-
.select('
|
|
189
|
+
// Join with m_help_actions to filter by tool_name
|
|
190
|
+
const examples = await db('t_help_action_examples')
|
|
191
|
+
.join('m_help_actions', 't_help_action_examples.action_id', 'm_help_actions.id')
|
|
192
|
+
.where({ 'm_help_actions.tool_name': 'decision' })
|
|
193
|
+
.select('t_help_action_examples.*');
|
|
219
194
|
// Should have examples seeded
|
|
220
195
|
assert.ok(examples.length >= 0, 'Should return examples (or empty array if none seeded)');
|
|
221
196
|
if (examples.length > 0) {
|
|
@@ -226,11 +201,11 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
226
201
|
});
|
|
227
202
|
it('should filter examples by action', async () => {
|
|
228
203
|
const db = getDb();
|
|
229
|
-
// Join with
|
|
230
|
-
const examples = await db('
|
|
231
|
-
.join('
|
|
232
|
-
.where({ '
|
|
233
|
-
.select('
|
|
204
|
+
// Join with m_help_actions to filter by tool_name and action_name
|
|
205
|
+
const examples = await db('t_help_action_examples')
|
|
206
|
+
.join('m_help_actions', 't_help_action_examples.action_id', 'm_help_actions.id')
|
|
207
|
+
.where({ 'm_help_actions.tool_name': 'decision', 'm_help_actions.action_name': 'set' })
|
|
208
|
+
.select('t_help_action_examples.*', 'm_help_actions.tool_name', 'm_help_actions.action_name');
|
|
234
209
|
// Verify filtering works
|
|
235
210
|
assert.ok(Array.isArray(examples), 'Should return array');
|
|
236
211
|
// All returned examples should match the filter
|
|
@@ -241,7 +216,7 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
241
216
|
});
|
|
242
217
|
it('should have required columns', async () => {
|
|
243
218
|
const db = getDb();
|
|
244
|
-
const examples = await db('
|
|
219
|
+
const examples = await db('t_help_action_examples')
|
|
245
220
|
.limit(5)
|
|
246
221
|
.select('*');
|
|
247
222
|
assert.ok(Array.isArray(examples), 'Should return examples array');
|
|
@@ -257,7 +232,7 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
257
232
|
it('should search examples by keyword in title', async () => {
|
|
258
233
|
const db = getDb();
|
|
259
234
|
const keyword = 'decision';
|
|
260
|
-
const examples = await db('
|
|
235
|
+
const examples = await db('t_help_action_examples')
|
|
261
236
|
.where('title', 'like', `%${keyword}%`)
|
|
262
237
|
.select('*');
|
|
263
238
|
assert.ok(Array.isArray(examples), 'Should return search results');
|
|
@@ -269,36 +244,36 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
269
244
|
it('should search examples by keyword in explanation', async () => {
|
|
270
245
|
const db = getDb();
|
|
271
246
|
const keyword = 'task';
|
|
272
|
-
const examples = await db('
|
|
247
|
+
const examples = await db('t_help_action_examples')
|
|
273
248
|
.where('explanation', 'like', `%${keyword}%`)
|
|
274
249
|
.select('*');
|
|
275
250
|
assert.ok(Array.isArray(examples), 'Should return search results');
|
|
276
251
|
});
|
|
277
252
|
it('should search examples by tool and keyword', async () => {
|
|
278
253
|
const db = getDb();
|
|
279
|
-
// Join with
|
|
280
|
-
const examples = await db('
|
|
281
|
-
.join('
|
|
282
|
-
.where({ '
|
|
254
|
+
// Join with m_help_actions to filter by tool_name (task -> decision in v5.0)
|
|
255
|
+
const examples = await db('t_help_action_examples')
|
|
256
|
+
.join('m_help_actions', 't_help_action_examples.action_id', 'm_help_actions.id')
|
|
257
|
+
.where({ 'm_help_actions.tool_name': 'decision' })
|
|
283
258
|
.andWhere(function () {
|
|
284
|
-
this.where('title', 'like', '%
|
|
285
|
-
.orWhere('explanation', 'like', '%
|
|
259
|
+
this.where('title', 'like', '%set%')
|
|
260
|
+
.orWhere('explanation', 'like', '%set%');
|
|
286
261
|
})
|
|
287
|
-
.select('
|
|
262
|
+
.select('t_help_action_examples.*', 'm_help_actions.tool_name');
|
|
288
263
|
assert.ok(Array.isArray(examples), 'Should return filtered search results');
|
|
289
|
-
// All results should be for
|
|
264
|
+
// All results should be for decision tool
|
|
290
265
|
examples.forEach((ex) => {
|
|
291
|
-
assert.strictEqual(ex.tool_name, '
|
|
266
|
+
assert.strictEqual(ex.tool_name, 'decision');
|
|
292
267
|
});
|
|
293
268
|
});
|
|
294
269
|
});
|
|
295
270
|
// ============================================================================
|
|
296
|
-
//
|
|
271
|
+
// t_help_use_cases - Use Case Storage
|
|
297
272
|
// ============================================================================
|
|
298
|
-
describe('
|
|
273
|
+
describe('t_help_use_cases table', () => {
|
|
299
274
|
it('should have use case table structure', async () => {
|
|
300
275
|
const db = getDb();
|
|
301
|
-
const useCases = await db('
|
|
276
|
+
const useCases = await db('t_help_use_cases')
|
|
302
277
|
.limit(5)
|
|
303
278
|
.select('*');
|
|
304
279
|
assert.ok(Array.isArray(useCases), 'Should return use cases array');
|
|
@@ -313,11 +288,11 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
313
288
|
it('should get use case by ID', async () => {
|
|
314
289
|
const db = getDb();
|
|
315
290
|
// Get first use case if any exist
|
|
316
|
-
const firstUseCase = await db('
|
|
291
|
+
const firstUseCase = await db('t_help_use_cases')
|
|
317
292
|
.orderBy('id', 'asc')
|
|
318
293
|
.first();
|
|
319
294
|
if (firstUseCase) {
|
|
320
|
-
const useCase = await db('
|
|
295
|
+
const useCase = await db('t_help_use_cases')
|
|
321
296
|
.where({ id: firstUseCase.id })
|
|
322
297
|
.first();
|
|
323
298
|
assert.ok(useCase, 'Should retrieve use case by ID');
|
|
@@ -328,7 +303,7 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
328
303
|
it('should search use cases by keyword in title', async () => {
|
|
329
304
|
const db = getDb();
|
|
330
305
|
const keyword = 'sprint';
|
|
331
|
-
const useCases = await db('
|
|
306
|
+
const useCases = await db('t_help_use_cases')
|
|
332
307
|
.where('title', 'like', `%${keyword}%`)
|
|
333
308
|
.select('*');
|
|
334
309
|
assert.ok(Array.isArray(useCases), 'Should return search results');
|
|
@@ -336,17 +311,17 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
336
311
|
it('should search use cases by keyword in description', async () => {
|
|
337
312
|
const db = getDb();
|
|
338
313
|
const keyword = 'workflow';
|
|
339
|
-
const useCases = await db('
|
|
314
|
+
const useCases = await db('t_help_use_cases')
|
|
340
315
|
.where('description', 'like', `%${keyword}%`)
|
|
341
316
|
.select('*');
|
|
342
317
|
assert.ok(Array.isArray(useCases), 'Should return search results');
|
|
343
318
|
});
|
|
344
319
|
it('should filter use cases by complexity', async () => {
|
|
345
320
|
const db = getDb();
|
|
346
|
-
const basicUseCases = await db('
|
|
321
|
+
const basicUseCases = await db('t_help_use_cases')
|
|
347
322
|
.where({ complexity: 'basic' })
|
|
348
323
|
.select('*');
|
|
349
|
-
const advancedUseCases = await db('
|
|
324
|
+
const advancedUseCases = await db('t_help_use_cases')
|
|
350
325
|
.where({ complexity: 'advanced' })
|
|
351
326
|
.select('*');
|
|
352
327
|
assert.ok(Array.isArray(basicUseCases), 'Should return basic use cases');
|
|
@@ -360,12 +335,12 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
360
335
|
});
|
|
361
336
|
});
|
|
362
337
|
// ============================================================================
|
|
363
|
-
//
|
|
338
|
+
// m_help_use_case_cats - Use Case Category Management
|
|
364
339
|
// ============================================================================
|
|
365
|
-
describe('
|
|
340
|
+
describe('m_help_use_case_cats table', () => {
|
|
366
341
|
it('should have use case categories', async () => {
|
|
367
342
|
const db = getDb();
|
|
368
|
-
const categories = await db('
|
|
343
|
+
const categories = await db('m_help_use_case_cats')
|
|
369
344
|
.select('*');
|
|
370
345
|
assert.ok(Array.isArray(categories), 'Should return categories');
|
|
371
346
|
assert.ok(categories.length > 0, 'Should have at least one category');
|
|
@@ -376,9 +351,9 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
376
351
|
});
|
|
377
352
|
it('should join use cases with categories', async () => {
|
|
378
353
|
const db = getDb();
|
|
379
|
-
const useCasesWithCategory = await db('
|
|
380
|
-
.join('
|
|
381
|
-
.select('
|
|
354
|
+
const useCasesWithCategory = await db('t_help_use_cases')
|
|
355
|
+
.join('m_help_use_case_cats', 't_help_use_cases.category_id', 'm_help_use_case_cats.id')
|
|
356
|
+
.select('t_help_use_cases.*', 'm_help_use_case_cats.category_name')
|
|
382
357
|
.limit(5);
|
|
383
358
|
assert.ok(Array.isArray(useCasesWithCategory), 'Should return joined results');
|
|
384
359
|
useCasesWithCategory.forEach((uc) => {
|
|
@@ -387,20 +362,20 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
387
362
|
});
|
|
388
363
|
it('should filter use cases by category name', async () => {
|
|
389
364
|
const db = getDb();
|
|
390
|
-
const categories = await db('
|
|
365
|
+
const categories = await db('m_help_use_case_cats')
|
|
391
366
|
.select('*');
|
|
392
367
|
if (categories.length > 0) {
|
|
393
368
|
const firstCategory = categories[0];
|
|
394
|
-
const useCases = await db('
|
|
395
|
-
.join('
|
|
396
|
-
.where('
|
|
397
|
-
.select('
|
|
369
|
+
const useCases = await db('t_help_use_cases')
|
|
370
|
+
.join('m_help_use_case_cats', 't_help_use_cases.category_id', 'm_help_use_case_cats.id')
|
|
371
|
+
.where('m_help_use_case_cats.category_name', firstCategory.category_name)
|
|
372
|
+
.select('t_help_use_cases.*');
|
|
398
373
|
assert.ok(Array.isArray(useCases), 'Should return category-filtered results');
|
|
399
374
|
}
|
|
400
375
|
});
|
|
401
376
|
});
|
|
402
377
|
// NOTE: m_help_use_case_steps table does not exist in current schema
|
|
403
|
-
// Use case steps are stored in the 'workflow' TEXT column of
|
|
378
|
+
// Use case steps are stored in the 'workflow' TEXT column of t_help_use_cases
|
|
404
379
|
// ============================================================================
|
|
405
380
|
// Cross-Database Compatibility Tests
|
|
406
381
|
// ============================================================================
|
|
@@ -408,7 +383,7 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
408
383
|
it('should handle unicode in example search', async () => {
|
|
409
384
|
const db = getDb();
|
|
410
385
|
const unicodeKeyword = '日本語';
|
|
411
|
-
const examples = await db('
|
|
386
|
+
const examples = await db('t_help_action_examples')
|
|
412
387
|
.where('title', 'like', `%${unicodeKeyword}%`)
|
|
413
388
|
.select('*');
|
|
414
389
|
// Should not crash with unicode
|
|
@@ -417,7 +392,7 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
417
392
|
it('should handle special characters in search', async () => {
|
|
418
393
|
const db = getDb();
|
|
419
394
|
const specialKeyword = "test's \"special\" chars";
|
|
420
|
-
const examples = await db('
|
|
395
|
+
const examples = await db('t_help_action_examples')
|
|
421
396
|
.where('title', 'like', `%${specialKeyword}%`)
|
|
422
397
|
.select('*');
|
|
423
398
|
// Should not crash with special characters
|
|
@@ -425,11 +400,11 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
425
400
|
});
|
|
426
401
|
it('should support pagination in example listing', async () => {
|
|
427
402
|
const db = getDb();
|
|
428
|
-
const page1 = await db('
|
|
403
|
+
const page1 = await db('t_help_action_examples')
|
|
429
404
|
.limit(5)
|
|
430
405
|
.offset(0)
|
|
431
406
|
.select('*');
|
|
432
|
-
const page2 = await db('
|
|
407
|
+
const page2 = await db('t_help_action_examples')
|
|
433
408
|
.limit(5)
|
|
434
409
|
.offset(5)
|
|
435
410
|
.select('*');
|
|
@@ -445,33 +420,33 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
445
420
|
});
|
|
446
421
|
it('should support pagination in use case listing', async () => {
|
|
447
422
|
const db = getDb();
|
|
448
|
-
const page1 = await db('
|
|
423
|
+
const page1 = await db('t_help_use_cases')
|
|
449
424
|
.limit(3)
|
|
450
425
|
.offset(0)
|
|
451
426
|
.select('*');
|
|
452
|
-
const page2 = await db('
|
|
427
|
+
const page2 = await db('t_help_use_cases')
|
|
453
428
|
.limit(3)
|
|
454
429
|
.offset(3)
|
|
455
430
|
.select('*');
|
|
456
431
|
assert.ok(Array.isArray(page1), 'Should return page 1');
|
|
457
432
|
assert.ok(Array.isArray(page2), 'Should return page 2');
|
|
458
433
|
});
|
|
459
|
-
it('should retrieve parameters from
|
|
434
|
+
it('should retrieve parameters from t_help_action_params', async () => {
|
|
460
435
|
const db = getDb();
|
|
461
|
-
const action = await db('
|
|
436
|
+
const action = await db('m_help_actions')
|
|
462
437
|
.where({ tool_name: 'decision', action_name: 'set' })
|
|
463
438
|
.first();
|
|
464
439
|
if (action) {
|
|
465
|
-
const params = await db('
|
|
440
|
+
const params = await db('t_help_action_params')
|
|
466
441
|
.where({ action_id: action.id })
|
|
467
442
|
.select('*');
|
|
468
443
|
assert.ok(Array.isArray(params), 'Should retrieve parameters as array');
|
|
469
444
|
}
|
|
470
445
|
});
|
|
471
|
-
it('should enforce PRIMARY KEY uniqueness on tool_name in
|
|
446
|
+
it('should enforce PRIMARY KEY uniqueness on tool_name in m_help_tools', async () => {
|
|
472
447
|
const db = getDb();
|
|
473
448
|
try {
|
|
474
|
-
await db('
|
|
449
|
+
await db('m_help_tools').insert({
|
|
475
450
|
tool_name: 'decision', // Duplicate - conflicts with PRIMARY KEY
|
|
476
451
|
description: 'Duplicate tool',
|
|
477
452
|
});
|
|
@@ -493,8 +468,8 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
493
468
|
it('should enforce composite UNIQUE on (tool_name, action_name)', async () => {
|
|
494
469
|
const db = getDb();
|
|
495
470
|
try {
|
|
496
|
-
//
|
|
497
|
-
await db('
|
|
471
|
+
// m_help_actions columns: id, tool_name, action_name, description, returns
|
|
472
|
+
await db('m_help_actions').insert({
|
|
498
473
|
tool_name: 'decision',
|
|
499
474
|
action_name: 'set', // Duplicate combination
|
|
500
475
|
description: 'Duplicate action',
|
|
@@ -515,10 +490,10 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
515
490
|
describe('Integration - Complex queries', () => {
|
|
516
491
|
it('should join tools, actions, and examples', async () => {
|
|
517
492
|
const db = getDb();
|
|
518
|
-
const results = await db('
|
|
519
|
-
.join('
|
|
520
|
-
.leftJoin('
|
|
521
|
-
.select('
|
|
493
|
+
const results = await db('m_help_tools')
|
|
494
|
+
.join('m_help_actions', 'm_help_tools.tool_name', 'm_help_actions.tool_name')
|
|
495
|
+
.leftJoin('t_help_action_examples', 'm_help_actions.id', 't_help_action_examples.action_id')
|
|
496
|
+
.select('m_help_tools.tool_name', 'm_help_actions.action_name', 't_help_action_examples.title')
|
|
522
497
|
.limit(10);
|
|
523
498
|
assert.ok(Array.isArray(results), 'Should return joined results');
|
|
524
499
|
results.forEach((row) => {
|
|
@@ -529,7 +504,7 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
529
504
|
});
|
|
530
505
|
it('should count actions per tool', async () => {
|
|
531
506
|
const db = getDb();
|
|
532
|
-
const counts = await db('
|
|
507
|
+
const counts = await db('m_help_actions')
|
|
533
508
|
.select('tool_name')
|
|
534
509
|
.count('* as action_count')
|
|
535
510
|
.groupBy('tool_name')
|
|
@@ -541,11 +516,11 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
541
516
|
assert.ok(row.action_count > 0, 'Should have positive count');
|
|
542
517
|
});
|
|
543
518
|
});
|
|
544
|
-
// Note:
|
|
545
|
-
// Complexity is stored in
|
|
519
|
+
// Note: t_help_action_examples does not have 'complexity' column
|
|
520
|
+
// Complexity is stored in t_help_use_cases
|
|
546
521
|
it('should count use cases per complexity level', async () => {
|
|
547
522
|
const db = getDb();
|
|
548
|
-
const counts = await db('
|
|
523
|
+
const counts = await db('t_help_use_cases')
|
|
549
524
|
.select('complexity')
|
|
550
525
|
.count('* as use_case_count')
|
|
551
526
|
.groupBy('complexity')
|
|
@@ -560,10 +535,10 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
560
535
|
const db = getDb();
|
|
561
536
|
// Note: m_help_use_case_steps table does not exist
|
|
562
537
|
// Steps are stored in 'workflow' TEXT column
|
|
563
|
-
const fullUseCases = await db('
|
|
564
|
-
.join('
|
|
565
|
-
.select('
|
|
566
|
-
.orderBy('
|
|
538
|
+
const fullUseCases = await db('t_help_use_cases')
|
|
539
|
+
.join('m_help_use_case_cats', 't_help_use_cases.category_id', 'm_help_use_case_cats.id')
|
|
540
|
+
.select('t_help_use_cases.id', 't_help_use_cases.title', 'm_help_use_case_cats.category_name', 't_help_use_cases.workflow')
|
|
541
|
+
.orderBy('t_help_use_cases.id')
|
|
567
542
|
.limit(20);
|
|
568
543
|
assert.ok(Array.isArray(fullUseCases), 'Should return full use cases');
|
|
569
544
|
fullUseCases.forEach((row) => {
|