sqlew 5.0.8 → 5.2.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 +56 -0
- package/README.md +19 -10
- package/dist/adapters/auth/auth-factory.d.ts +2 -81
- package/dist/adapters/auth/auth-factory.d.ts.map +1 -1
- package/dist/adapters/auth/auth-factory.js +2 -82
- package/dist/adapters/auth/auth-factory.js.map +1 -1
- package/dist/adapters/auth/base-auth-provider.d.ts +18 -303
- package/dist/adapters/auth/base-auth-provider.d.ts.map +1 -1
- package/dist/adapters/auth/base-auth-provider.js +2 -104
- package/dist/adapters/auth/base-auth-provider.js.map +1 -1
- package/dist/adapters/auth/direct-auth-provider.d.ts +4 -348
- package/dist/adapters/auth/direct-auth-provider.d.ts.map +1 -1
- package/dist/adapters/auth/direct-auth-provider.js +6 -356
- package/dist/adapters/auth/direct-auth-provider.js.map +1 -1
- package/dist/adapters/base-adapter.d.ts +31 -598
- package/dist/adapters/base-adapter.d.ts.map +1 -1
- package/dist/adapters/base-adapter.js +10 -458
- package/dist/adapters/base-adapter.js.map +1 -1
- package/dist/adapters/index.d.ts +1 -11
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +1 -11
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/mysql-adapter.d.ts +15 -541
- package/dist/adapters/mysql-adapter.d.ts.map +1 -1
- package/dist/adapters/mysql-adapter.js +24 -561
- package/dist/adapters/mysql-adapter.js.map +1 -1
- package/dist/adapters/postgresql-adapter.d.ts +15 -203
- package/dist/adapters/postgresql-adapter.d.ts.map +1 -1
- package/dist/adapters/postgresql-adapter.js +24 -223
- package/dist/adapters/postgresql-adapter.js.map +1 -1
- package/dist/adapters/sqlite-adapter.d.ts +4 -28
- package/dist/adapters/sqlite-adapter.d.ts.map +1 -1
- package/dist/adapters/sqlite-adapter.js +4 -32
- package/dist/adapters/sqlite-adapter.js.map +1 -1
- package/dist/adapters/types.d.ts +1 -4
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/backend/backend-factory.d.ts +3 -3
- package/dist/backend/backend-factory.js +3 -3
- package/dist/backend/local-backend.d.ts.map +1 -1
- package/dist/backend/local-backend.js +0 -5
- package/dist/backend/local-backend.js.map +1 -1
- package/dist/cli/db-export.d.ts.map +1 -1
- package/dist/cli/db-export.js +54 -32
- 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 -31
- package/dist/cli/db-import.js.map +1 -1
- package/dist/cli/hooks/on-exit-plan.d.ts.map +1 -1
- package/dist/cli/hooks/on-exit-plan.js +42 -1
- package/dist/cli/hooks/on-exit-plan.js.map +1 -1
- package/dist/cli/hooks/on-prompt.d.ts.map +1 -1
- package/dist/cli/hooks/on-prompt.js +5 -0
- package/dist/cli/hooks/on-prompt.js.map +1 -1
- package/dist/cli/hooks/plan-processor.d.ts.map +1 -1
- package/dist/cli/hooks/plan-processor.js +16 -2
- package/dist/cli/hooks/plan-processor.js.map +1 -1
- package/dist/cli/hooks/stdin-parser.d.ts +41 -0
- package/dist/cli/hooks/stdin-parser.d.ts.map +1 -1
- package/dist/cli/hooks/stdin-parser.js +140 -4
- package/dist/cli/hooks/stdin-parser.js.map +1 -1
- package/dist/cli/hooks/track-plan.d.ts +13 -0
- package/dist/cli/hooks/track-plan.d.ts.map +1 -1
- package/dist/cli/hooks/track-plan.js +58 -3
- package/dist/cli/hooks/track-plan.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -12
- package/dist/cli.js.map +1 -1
- package/dist/config/cloud-config-loader.d.ts +8 -8
- package/dist/config/cloud-config-loader.d.ts.map +1 -1
- package/dist/config/cloud-config-loader.js +12 -12
- package/dist/config/cloud-config-loader.js.map +1 -1
- package/dist/config/global-config.d.ts +24 -46
- package/dist/config/global-config.d.ts.map +1 -1
- package/dist/config/global-config.js +174 -56
- package/dist/config/global-config.js.map +1 -1
- package/dist/config/loader.d.ts +1 -18
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +1 -89
- package/dist/config/loader.js.map +1 -1
- package/dist/config/types.d.ts +2 -64
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +0 -18
- package/dist/config/types.js.map +1 -1
- package/dist/database/index.d.ts +1 -2
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js +1 -3
- package/dist/database/index.js.map +1 -1
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.d.ts.map +1 -1
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.js +2 -1
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.js.map +1 -1
- package/dist/database/operations/queries.d.ts +0 -4
- package/dist/database/operations/queries.d.ts.map +1 -1
- package/dist/database/operations/queries.js +0 -8
- package/dist/database/operations/queries.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/init-rules.d.ts.map +1 -1
- package/dist/init-rules.js +0 -1
- package/dist/init-rules.js.map +1 -1
- package/dist/knexfile.d.ts.map +1 -1
- package/dist/knexfile.js +2 -1
- package/dist/knexfile.js.map +1 -1
- package/dist/migration/local-to-global.d.ts +19 -0
- package/dist/migration/local-to-global.d.ts.map +1 -0
- package/dist/migration/local-to-global.js +133 -0
- package/dist/migration/local-to-global.js.map +1 -0
- package/dist/saas-connector/client/types.d.ts +1 -1
- package/dist/saas-connector/client/types.d.ts.map +1 -1
- package/dist/schema.js +1 -1
- package/dist/server/setup.d.ts.map +1 -1
- package/dist/server/setup.js +15 -7
- package/dist/server/setup.js.map +1 -1
- package/dist/tests/backend/backend-factory.test.js +2 -2
- package/dist/tests/backend/backend-factory.test.js.map +1 -1
- package/dist/tests/docker/native/constraint-operations.test.d.ts +2 -17
- package/dist/tests/docker/native/constraint-operations.test.d.ts.map +1 -1
- package/dist/tests/docker/native/constraint-operations.test.js +3 -82
- package/dist/tests/docker/native/constraint-operations.test.js.map +1 -1
- package/dist/tests/docker/native/db-init.d.ts +3 -34
- package/dist/tests/docker/native/db-init.d.ts.map +1 -1
- package/dist/tests/docker/native/db-init.js +15 -77
- package/dist/tests/docker/native/db-init.js.map +1 -1
- package/dist/tests/docker/native/decision-operations.test.d.ts +2 -10
- package/dist/tests/docker/native/decision-operations.test.d.ts.map +1 -1
- package/dist/tests/docker/native/decision-operations.test.js +2 -84
- package/dist/tests/docker/native/decision-operations.test.js.map +1 -1
- package/dist/tests/docker/native/help-system.test.d.ts +2 -5
- package/dist/tests/docker/native/help-system.test.d.ts.map +1 -1
- package/dist/tests/docker/native/help-system.test.js +2 -47
- package/dist/tests/docker/native/help-system.test.js.map +1 -1
- package/dist/tests/docker/native/suggest-tool.test.d.ts +3 -11
- package/dist/tests/docker/native/suggest-tool.test.d.ts.map +1 -1
- package/dist/tests/docker/native/suggest-tool.test.js +3 -60
- package/dist/tests/docker/native/suggest-tool.test.js.map +1 -1
- package/dist/tests/docker/native/test-harness.d.ts +2 -23
- package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
- package/dist/tests/docker/native/test-harness.js +5 -59
- package/dist/tests/docker/native/test-harness.js.map +1 -1
- package/dist/tests/feature/decision/analytics.test.js +2 -1
- package/dist/tests/feature/decision/analytics.test.js.map +1 -1
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.js +2 -7
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.js.map +1 -1
- package/dist/tests/feature/decision/batch-validation.test.js +2 -1
- package/dist/tests/feature/decision/batch-validation.test.js.map +1 -1
- package/dist/tests/integration/auto-trigger-suggestions.test.js +4 -37
- package/dist/tests/integration/auto-trigger-suggestions.test.js.map +1 -1
- package/dist/tests/integration/hybrid-similarity-detection.test.js +2 -1
- package/dist/tests/integration/hybrid-similarity-detection.test.js.map +1 -1
- package/dist/tests/integration/json-export-import.test.d.ts.map +1 -0
- package/dist/tests/integration/json-export-import.test.js.map +1 -0
- package/dist/tests/unit/case-insensitive-validator.test.d.ts +0 -7
- package/dist/tests/unit/case-insensitive-validator.test.d.ts.map +1 -1
- package/dist/tests/unit/case-insensitive-validator.test.js +0 -22
- package/dist/tests/unit/case-insensitive-validator.test.js.map +1 -1
- package/dist/tests/unit/config/cloud-config-loader.test.js +4 -2
- package/dist/tests/unit/config/cloud-config-loader.test.js.map +1 -1
- package/dist/tests/unit/config/global-db-migration.test.d.ts +12 -0
- package/dist/tests/unit/config/global-db-migration.test.d.ts.map +1 -0
- package/dist/tests/unit/config/global-db-migration.test.js +117 -0
- package/dist/tests/unit/config/global-db-migration.test.js.map +1 -0
- package/dist/tests/unit/constraint-scorer.test.d.ts +2 -7
- package/dist/tests/unit/constraint-scorer.test.d.ts.map +1 -1
- package/dist/tests/unit/constraint-scorer.test.js +2 -28
- package/dist/tests/unit/constraint-scorer.test.js.map +1 -1
- package/dist/tests/unit/hooks/grok-hook-normalization.test.d.ts +9 -0
- package/dist/tests/unit/hooks/grok-hook-normalization.test.d.ts.map +1 -0
- package/dist/tests/unit/hooks/grok-hook-normalization.test.js +98 -0
- package/dist/tests/unit/hooks/grok-hook-normalization.test.js.map +1 -0
- package/dist/tests/unit/hooks/grok-plan-template-injection.test.d.ts +7 -0
- package/dist/tests/unit/hooks/grok-plan-template-injection.test.d.ts.map +1 -0
- package/dist/tests/unit/hooks/grok-plan-template-injection.test.js +55 -0
- package/dist/tests/unit/hooks/grok-plan-template-injection.test.js.map +1 -0
- package/dist/tests/unit/universal-knex.test.js +9 -0
- package/dist/tests/unit/universal-knex.test.js.map +1 -1
- package/dist/tests/unit/validation/parameter-validation.test.js +0 -24
- package/dist/tests/unit/validation/parameter-validation.test.js.map +1 -1
- package/dist/tests/utils/db-config.d.ts.map +1 -1
- package/dist/tests/utils/db-config.js +0 -9
- package/dist/tests/utils/db-config.js.map +1 -1
- package/dist/tests/utils/db-import.d.ts.map +1 -1
- package/dist/tests/utils/db-import.js +0 -3
- package/dist/tests/utils/db-import.js.map +1 -1
- package/dist/tests/utils/db-schema.d.ts.map +1 -1
- package/dist/tests/utils/db-schema.js +48 -51
- package/dist/tests/utils/db-schema.js.map +1 -1
- package/dist/tests/utils/db-seeding.d.ts.map +1 -1
- package/dist/tests/utils/db-seeding.js +0 -3
- package/dist/tests/utils/db-seeding.js.map +1 -1
- package/dist/tests/utils/index.d.ts +0 -1
- package/dist/tests/utils/index.d.ts.map +1 -1
- package/dist/tests/utils/index.js +0 -2
- package/dist/tests/utils/index.js.map +1 -1
- package/dist/tests/utils/test-helpers.d.ts +6 -76
- package/dist/tests/utils/test-helpers.d.ts.map +1 -1
- package/dist/tests/utils/test-helpers.js +56 -162
- package/dist/tests/utils/test-helpers.js.map +1 -1
- package/dist/tests/utils/test-lifecycle.d.ts +2 -28
- package/dist/tests/utils/test-lifecycle.d.ts.map +1 -1
- package/dist/tests/utils/test-lifecycle.js +2 -31
- package/dist/tests/utils/test-lifecycle.js.map +1 -1
- package/dist/tools/context/index.d.ts +0 -1
- package/dist/tools/context/index.d.ts.map +1 -1
- package/dist/tools/context/index.js +0 -2
- package/dist/tools/context/index.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/types/actions.d.ts +6 -29
- package/dist/types/actions.d.ts.map +1 -1
- package/dist/types/actions.js +1 -2
- package/dist/types/actions.js.map +1 -1
- package/dist/types/constraint/params.d.ts +24 -1
- package/dist/types/constraint/params.d.ts.map +1 -1
- package/dist/types/constraint/params.js +3 -0
- package/dist/types/constraint/params.js.map +1 -1
- package/dist/types/constraint/responses.d.ts +18 -1
- package/dist/types/constraint/responses.d.ts.map +1 -1
- package/dist/types/constraint/responses.js +3 -0
- package/dist/types/constraint/responses.js.map +1 -1
- package/dist/types/decision/batch.d.ts +2 -5
- package/dist/types/decision/batch.d.ts.map +1 -1
- package/dist/types/decision/batch.js +3 -3
- package/dist/types/decision/batch.js.map +1 -1
- package/dist/types/decision/params.d.ts +7 -4
- package/dist/types/decision/params.d.ts.map +1 -1
- package/dist/types/decision/responses.d.ts +49 -35
- package/dist/types/decision/responses.d.ts.map +1 -1
- package/dist/types/decision/templates.d.ts +2 -18
- package/dist/types/decision/templates.d.ts.map +1 -1
- package/dist/types/decision/templates.js +3 -3
- package/dist/types/decision/templates.js.map +1 -1
- package/dist/types/enums.d.ts +11 -13
- package/dist/types/enums.d.ts.map +1 -1
- package/dist/types/enums.js +5 -13
- package/dist/types/enums.js.map +1 -1
- package/dist/types/import-export.d.ts +7 -30
- package/dist/types/import-export.d.ts.map +1 -1
- package/dist/types/import-export.js +1 -2
- package/dist/types/import-export.js.map +1 -1
- package/dist/types/index.d.ts +18 -22
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -32
- package/dist/types/index.js.map +1 -1
- package/dist/types/master-entities.d.ts +1 -10
- package/dist/types/master-entities.d.ts.map +1 -1
- package/dist/types/master-entities.js +1 -2
- package/dist/types/master-entities.js.map +1 -1
- package/dist/types/transaction-entities.d.ts +2 -21
- package/dist/types/transaction-entities.d.ts.map +1 -1
- package/dist/types/transaction-entities.js +1 -1
- package/dist/types/validation.d.ts +1 -16
- package/dist/types/validation.d.ts.map +1 -1
- package/dist/types/validation.js +1 -2
- package/dist/types/validation.js.map +1 -1
- package/dist/types/view-entities.d.ts +3 -12
- package/dist/types/view-entities.d.ts.map +1 -1
- package/dist/types/view-entities.js +1 -1
- package/dist/types.d.ts +4 -718
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +5 -39
- package/dist/types.js.map +1 -1
- package/dist/utils/parameter-validator.d.ts +2 -2
- package/dist/utils/parameter-validator.d.ts.map +1 -1
- package/dist/utils/parameter-validator.js.map +1 -1
- package/dist/utils/path-normalize.d.ts +23 -0
- package/dist/utils/path-normalize.d.ts.map +1 -0
- package/dist/utils/path-normalize.js +38 -0
- package/dist/utils/path-normalize.js.map +1 -0
- package/dist/utils/project-root.d.ts +6 -3
- package/dist/utils/project-root.d.ts.map +1 -1
- package/dist/utils/project-root.js +11 -3
- package/dist/utils/project-root.js.map +1 -1
- package/dist/watcher/base-watcher.d.ts +0 -4
- package/dist/watcher/base-watcher.d.ts.map +1 -1
- package/dist/watcher/base-watcher.js +11 -22
- package/dist/watcher/base-watcher.js.map +1 -1
- package/docs/CLI_USAGE.md +27 -107
- package/docs/CONFIGURATION.md +10 -5
- package/docs/DATABASE_AUTH.md +3 -3
- package/docs/HOOKS_GUIDE.md +40 -6
- package/docs/MIGRATION_TO_SAAS.md +2 -2
- package/docs/SHARED_DATABASE.md +108 -0
- package/package.json +4 -3
- package/dist/adapters/auth/auth-types.d.ts +0 -30
- package/dist/adapters/auth/auth-types.d.ts.map +0 -1
- package/dist/adapters/auth/auth-types.js +0 -30
- package/dist/adapters/auth/auth-types.js.map +0 -1
- package/dist/cli/db-dump.d.ts +0 -36
- package/dist/cli/db-dump.d.ts.map +0 -1
- package/dist/cli/db-dump.js +0 -384
- package/dist/cli/db-dump.js.map +0 -1
- package/dist/database/config/config-ops.d.ts +0 -42
- package/dist/database/config/config-ops.d.ts.map +0 -1
- package/dist/database/config/config-ops.js +0 -102
- package/dist/database/config/config-ops.js.map +0 -1
- package/dist/formatters/adr-formatter.d.ts +0 -22
- package/dist/formatters/adr-formatter.d.ts.map +0 -1
- package/dist/formatters/adr-formatter.js +0 -127
- package/dist/formatters/adr-formatter.js.map +0 -1
- package/dist/formatters/confluence-formatter.d.ts +0 -26
- package/dist/formatters/confluence-formatter.d.ts.map +0 -1
- package/dist/formatters/confluence-formatter.js +0 -129
- package/dist/formatters/confluence-formatter.js.map +0 -1
- package/dist/formatters/index.d.ts +0 -34
- package/dist/formatters/index.d.ts.map +0 -1
- package/dist/formatters/index.js +0 -57
- package/dist/formatters/index.js.map +0 -1
- package/dist/formatters/markdown-formatter.d.ts +0 -16
- package/dist/formatters/markdown-formatter.d.ts.map +0 -1
- package/dist/formatters/markdown-formatter.js +0 -110
- package/dist/formatters/markdown-formatter.js.map +0 -1
- package/dist/formatters/notion-formatter.d.ts +0 -29
- package/dist/formatters/notion-formatter.d.ts.map +0 -1
- package/dist/formatters/notion-formatter.js +0 -177
- package/dist/formatters/notion-formatter.js.map +0 -1
- package/dist/formatters/types.d.ts +0 -31
- package/dist/formatters/types.d.ts.map +0 -1
- package/dist/formatters/types.js +0 -6
- package/dist/formatters/types.js.map +0 -1
- package/dist/tests/database/sql-dump/converters.test.d.ts +0 -7
- package/dist/tests/database/sql-dump/converters.test.d.ts.map +0 -1
- package/dist/tests/database/sql-dump/converters.test.js +0 -314
- package/dist/tests/database/sql-dump/converters.test.js.map +0 -1
- package/dist/tests/database/sql-dump/default-conversions.test.d.ts +0 -8
- package/dist/tests/database/sql-dump/default-conversions.test.d.ts.map +0 -1
- package/dist/tests/database/sql-dump/default-conversions.test.js +0 -141
- package/dist/tests/database/sql-dump/default-conversions.test.js.map +0 -1
- package/dist/tests/database/sql-dump/table-ordering.test.d.ts +0 -27
- package/dist/tests/database/sql-dump/table-ordering.test.d.ts.map +0 -1
- package/dist/tests/database/sql-dump/table-ordering.test.js +0 -284
- package/dist/tests/database/sql-dump/table-ordering.test.js.map +0 -1
- package/dist/tests/database/sql-dump/type-conversion.test.d.ts +0 -8
- package/dist/tests/database/sql-dump/type-conversion.test.d.ts.map +0 -1
- package/dist/tests/database/sql-dump/type-conversion.test.js +0 -361
- package/dist/tests/database/sql-dump/type-conversion.test.js.map +0 -1
- package/dist/tests/docker/cross-database.test.d.ts +0 -21
- package/dist/tests/docker/cross-database.test.d.ts.map +0 -1
- package/dist/tests/docker/cross-database.test.js +0 -308
- package/dist/tests/docker/cross-database.test.js.map +0 -1
- package/dist/tests/docker/dump-import.test.d.ts +0 -15
- package/dist/tests/docker/dump-import.test.d.ts.map +0 -1
- package/dist/tests/docker/dump-import.test.js +0 -424
- package/dist/tests/docker/dump-import.test.js.map +0 -1
- package/dist/tests/docker/fk-constraints.test.d.ts +0 -13
- package/dist/tests/docker/fk-constraints.test.d.ts.map +0 -1
- package/dist/tests/docker/fk-constraints.test.js +0 -381
- package/dist/tests/docker/fk-constraints.test.js.map +0 -1
- package/dist/tests/docker/indexes.test.d.ts +0 -12
- package/dist/tests/docker/indexes.test.d.ts.map +0 -1
- package/dist/tests/docker/indexes.test.js +0 -250
- package/dist/tests/docker/indexes.test.js.map +0 -1
- package/dist/tests/docker/integration.test.d.ts +0 -16
- package/dist/tests/docker/integration.test.d.ts.map +0 -1
- package/dist/tests/docker/integration.test.js +0 -323
- package/dist/tests/docker/integration.test.js.map +0 -1
- package/dist/tests/docker/multi-project-migration.test.d.ts +0 -17
- package/dist/tests/docker/multi-project-migration.test.d.ts.map +0 -1
- package/dist/tests/docker/multi-project-migration.test.js +0 -394
- package/dist/tests/docker/multi-project-migration.test.js.map +0 -1
- package/dist/tests/docker/schema-migration.test.d.ts +0 -8
- package/dist/tests/docker/schema-migration.test.d.ts.map +0 -1
- package/dist/tests/docker/schema-migration.test.js +0 -98
- package/dist/tests/docker/schema-migration.test.js.map +0 -1
- package/dist/tests/integration/e2e-workflow1-debug.test.d.ts +0 -5
- package/dist/tests/integration/e2e-workflow1-debug.test.d.ts.map +0 -1
- package/dist/tests/integration/e2e-workflow1-debug.test.js +0 -85
- package/dist/tests/integration/e2e-workflow1-debug.test.js.map +0 -1
- package/dist/tests/integration/suggest-simple.test.d.ts +0 -5
- package/dist/tests/integration/suggest-simple.test.d.ts.map +0 -1
- package/dist/tests/integration/suggest-simple.test.js +0 -90
- package/dist/tests/integration/suggest-simple.test.js.map +0 -1
- package/dist/tests/migrations/test-all-versions-real.d.ts +0 -8
- package/dist/tests/migrations/test-all-versions-real.d.ts.map +0 -1
- package/dist/tests/migrations/test-all-versions-real.js +0 -236
- package/dist/tests/migrations/test-all-versions-real.js.map +0 -1
- package/dist/tests/migrations/test-all-versions.d.ts +0 -14
- package/dist/tests/migrations/test-all-versions.d.ts.map +0 -1
- package/dist/tests/migrations/test-all-versions.js +0 -519
- package/dist/tests/migrations/test-all-versions.js.map +0 -1
- package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts +0 -7
- package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts.map +0 -1
- package/dist/tests/migrations/v4/v4-fresh-install.test.js +0 -168
- package/dist/tests/migrations/v4/v4-fresh-install.test.js.map +0 -1
- package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts +0 -13
- package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts.map +0 -1
- package/dist/tests/migrations/v4/v4-migrate-data.test.js +0 -264
- package/dist/tests/migrations/v4/v4-migrate-data.test.js.map +0 -1
- package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts +0 -2
- package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts.map +0 -1
- package/dist/tests/unit/utils/case-insensitive-validator.test.js +0 -97
- package/dist/tests/unit/utils/case-insensitive-validator.test.js.map +0 -1
- package/dist/tests/utils/json-export-import.test.d.ts.map +0 -1
- package/dist/tests/utils/json-export-import.test.js.map +0 -1
- package/dist/tests/utils/task-helpers.d.ts +0 -67
- package/dist/tests/utils/task-helpers.d.ts.map +0 -1
- package/dist/tests/utils/task-helpers.js +0 -134
- package/dist/tests/utils/task-helpers.js.map +0 -1
- package/dist/tools/context/actions/export.d.ts +0 -35
- package/dist/tools/context/actions/export.d.ts.map +0 -1
- package/dist/tools/context/actions/export.js +0 -93
- package/dist/tools/context/actions/export.js.map +0 -1
- package/dist/types/file/params.d.ts +0 -40
- package/dist/types/file/params.d.ts.map +0 -1
- package/dist/types/file/params.js +0 -6
- package/dist/types/file/params.js.map +0 -1
- package/dist/types/file/responses.d.ts +0 -2
- package/dist/types/file/responses.d.ts.map +0 -1
- package/dist/types/file/responses.js +0 -2
- package/dist/types/file/responses.js.map +0 -1
- package/dist/types/task/params.d.ts +0 -173
- package/dist/types/task/params.d.ts.map +0 -1
- package/dist/types/task/params.js +0 -8
- package/dist/types/task/params.js.map +0 -1
- package/dist/types/task/responses.d.ts +0 -334
- package/dist/types/task/responses.d.ts.map +0 -1
- package/dist/types/task/responses.js +0 -8
- package/dist/types/task/responses.js.map +0 -1
- package/dist/utils/sql-dump/core/dependency-sort.d.ts +0 -16
- package/dist/utils/sql-dump/core/dependency-sort.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/dependency-sort.js +0 -105
- package/dist/utils/sql-dump/core/dependency-sort.js.map +0 -1
- package/dist/utils/sql-dump/core/generate-dump.d.ts +0 -13
- package/dist/utils/sql-dump/core/generate-dump.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/generate-dump.js +0 -201
- package/dist/utils/sql-dump/core/generate-dump.js.map +0 -1
- package/dist/utils/sql-dump/core/index-export.d.ts +0 -10
- package/dist/utils/sql-dump/core/index-export.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/index-export.js +0 -173
- package/dist/utils/sql-dump/core/index-export.js.map +0 -1
- package/dist/utils/sql-dump/core/sequence-reset.d.ts +0 -6
- package/dist/utils/sql-dump/core/sequence-reset.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/sequence-reset.js +0 -28
- package/dist/utils/sql-dump/core/sequence-reset.js.map +0 -1
- package/dist/utils/sql-dump/core/table-export.d.ts +0 -2
- package/dist/utils/sql-dump/core/table-export.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/table-export.js +0 -4
- package/dist/utils/sql-dump/core/table-export.js.map +0 -1
- package/dist/utils/sql-dump/core/view-export.d.ts +0 -2
- package/dist/utils/sql-dump/core/view-export.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/view-export.js +0 -4
- package/dist/utils/sql-dump/core/view-export.js.map +0 -1
- package/dist/utils/sql-dump/formatters/bulk-insert.d.ts +0 -14
- package/dist/utils/sql-dump/formatters/bulk-insert.d.ts.map +0 -1
- package/dist/utils/sql-dump/formatters/bulk-insert.js +0 -177
- package/dist/utils/sql-dump/formatters/bulk-insert.js.map +0 -1
- package/dist/utils/sql-dump/formatters/identifiers.d.ts +0 -6
- package/dist/utils/sql-dump/formatters/identifiers.d.ts.map +0 -1
- package/dist/utils/sql-dump/formatters/identifiers.js +0 -16
- package/dist/utils/sql-dump/formatters/identifiers.js.map +0 -1
- package/dist/utils/sql-dump/formatters/value-formatter.d.ts +0 -14
- package/dist/utils/sql-dump/formatters/value-formatter.d.ts.map +0 -1
- package/dist/utils/sql-dump/formatters/value-formatter.js +0 -281
- package/dist/utils/sql-dump/formatters/value-formatter.js.map +0 -1
- package/dist/utils/sql-dump/generators/controls.d.ts +0 -10
- package/dist/utils/sql-dump/generators/controls.d.ts.map +0 -1
- package/dist/utils/sql-dump/generators/controls.js +0 -36
- package/dist/utils/sql-dump/generators/controls.js.map +0 -1
- package/dist/utils/sql-dump/generators/headers.d.ts +0 -6
- package/dist/utils/sql-dump/generators/headers.d.ts.map +0 -1
- package/dist/utils/sql-dump/generators/headers.js +0 -19
- package/dist/utils/sql-dump/generators/headers.js.map +0 -1
- package/dist/utils/sql-dump/index.d.ts +0 -14
- package/dist/utils/sql-dump/index.d.ts.map +0 -1
- package/dist/utils/sql-dump/index.js +0 -16
- package/dist/utils/sql-dump/index.js.map +0 -1
- package/dist/utils/sql-dump/schema/indexes.d.ts +0 -20
- package/dist/utils/sql-dump/schema/indexes.d.ts.map +0 -1
- package/dist/utils/sql-dump/schema/indexes.js +0 -108
- package/dist/utils/sql-dump/schema/indexes.js.map +0 -1
- package/dist/utils/sql-dump/schema/primary-keys.d.ts +0 -6
- package/dist/utils/sql-dump/schema/primary-keys.d.ts.map +0 -1
- package/dist/utils/sql-dump/schema/primary-keys.js +0 -41
- package/dist/utils/sql-dump/schema/primary-keys.js.map +0 -1
- package/dist/utils/sql-dump/schema/tables.d.ts +0 -15
- package/dist/utils/sql-dump/schema/tables.d.ts.map +0 -1
- package/dist/utils/sql-dump/schema/tables.js +0 -518
- package/dist/utils/sql-dump/schema/tables.js.map +0 -1
- package/dist/utils/sql-dump/schema/views.d.ts +0 -11
- package/dist/utils/sql-dump/schema/views.d.ts.map +0 -1
- package/dist/utils/sql-dump/schema/views.js +0 -116
- package/dist/utils/sql-dump/schema/views.js.map +0 -1
- package/dist/utils/sql-dump/types.d.ts +0 -10
- package/dist/utils/sql-dump/types.d.ts.map +0 -1
- package/dist/utils/sql-dump/types.js +0 -3
- package/dist/utils/sql-dump/types.js.map +0 -1
- package/dist/utils/sql-dump-converters.d.ts +0 -188
- package/dist/utils/sql-dump-converters.d.ts.map +0 -1
- package/dist/utils/sql-dump-converters.js +0 -315
- package/dist/utils/sql-dump-converters.js.map +0 -1
- package/dist/watcher/gitignore-parser.d.ts +0 -70
- package/dist/watcher/gitignore-parser.d.ts.map +0 -1
- package/dist/watcher/gitignore-parser.js +0 -195
- package/dist/watcher/gitignore-parser.js.map +0 -1
- package/dist/watcher/index.d.ts +0 -9
- package/dist/watcher/index.d.ts.map +0 -1
- package/dist/watcher/index.js +0 -8
- package/dist/watcher/index.js.map +0 -1
- /package/dist/tests/{utils → integration}/json-export-import.test.d.ts +0 -0
- /package/dist/tests/{utils → integration}/json-export-import.test.js +0 -0
|
@@ -1,27 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Help System - Native RDBMS Integration Tests
|
|
3
3
|
*
|
|
4
|
-
* Tests help system tables
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Task #534: Refactor to use direct Knex operations instead of MCP tool functions
|
|
8
|
-
* v4 migration: Updated all table/column names to v4 schema (2025-12-25)
|
|
4
|
+
* Tests help system tables via direct Knex operations
|
|
5
|
+
* on MySQL, MariaDB, and PostgreSQL.
|
|
9
6
|
*/
|
|
10
7
|
import { describe, it } from 'node:test';
|
|
11
8
|
import assert from 'node:assert';
|
|
12
9
|
import { runTestsOnAllDatabases } from './test-harness.js';
|
|
13
10
|
runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
14
11
|
let projectId;
|
|
15
|
-
// Get project ID before running tests
|
|
16
12
|
it('should get project ID', async () => {
|
|
17
13
|
const db = getDb();
|
|
18
14
|
const project = await db('m_projects').first();
|
|
19
15
|
assert.ok(project, 'Project should exist');
|
|
20
16
|
projectId = project.id;
|
|
21
17
|
});
|
|
22
|
-
// ============================================================================
|
|
23
|
-
// m_help_tools - Tool Registry
|
|
24
|
-
// ============================================================================
|
|
25
18
|
describe('m_help_tools table', () => {
|
|
26
19
|
it('should have decision tool registered', async () => {
|
|
27
20
|
const db = getDb();
|
|
@@ -67,9 +60,6 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
67
60
|
}
|
|
68
61
|
});
|
|
69
62
|
});
|
|
70
|
-
// ============================================================================
|
|
71
|
-
// m_help_actions - Action Documentation
|
|
72
|
-
// ============================================================================
|
|
73
63
|
describe('m_help_actions table', () => {
|
|
74
64
|
it('should have decision.set action documented', async () => {
|
|
75
65
|
const db = getDb();
|
|
@@ -85,7 +75,6 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
85
75
|
.select('*');
|
|
86
76
|
assert.ok(Array.isArray(params), 'Parameters should be an array');
|
|
87
77
|
assert.ok(params.length > 0, 'Should have at least one parameter');
|
|
88
|
-
// Verify key parameters
|
|
89
78
|
const paramNames = params.map((p) => p.param_name);
|
|
90
79
|
assert.ok(paramNames.includes('key'), 'Should have key parameter');
|
|
91
80
|
assert.ok(paramNames.includes('value'), 'Should have value parameter');
|
|
@@ -116,7 +105,6 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
116
105
|
.select('action_name');
|
|
117
106
|
assert.ok(decisionActions.length > 1, 'Decision tool should have multiple actions');
|
|
118
107
|
assert.ok(constraintActions.length >= 1, 'Constraint tool should have actions');
|
|
119
|
-
// Verify key decision actions exist
|
|
120
108
|
const decisionActionNames = decisionActions.map((a) => a.action_name);
|
|
121
109
|
assert.ok(decisionActionNames.includes('set'), 'Should have set action');
|
|
122
110
|
assert.ok(decisionActionNames.includes('get'), 'Should have get action');
|
|
@@ -137,9 +125,6 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
137
125
|
assert.ok(hasRequiredFlag, 'All parameters should have required flag');
|
|
138
126
|
});
|
|
139
127
|
});
|
|
140
|
-
// ============================================================================
|
|
141
|
-
// m_help_actions - Foreign Key Constraints
|
|
142
|
-
// ============================================================================
|
|
143
128
|
describe('m_help_actions foreign key constraints', () => {
|
|
144
129
|
it('should enforce FK constraint on tool_name', async () => {
|
|
145
130
|
const db = getDb();
|
|
@@ -162,9 +147,7 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
162
147
|
});
|
|
163
148
|
it('should allow actions with valid tool_name', async () => {
|
|
164
149
|
const db = getDb();
|
|
165
|
-
// Insert a test action with valid tool_name
|
|
166
150
|
const testActionName = `test_action_${Date.now()}`;
|
|
167
|
-
// m_help_actions columns: id, tool_name, action_name, description, returns
|
|
168
151
|
await db('m_help_actions').insert({
|
|
169
152
|
tool_name: 'decision',
|
|
170
153
|
action_name: testActionName,
|
|
@@ -174,24 +157,18 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
174
157
|
.where({ tool_name: 'decision', action_name: testActionName })
|
|
175
158
|
.first();
|
|
176
159
|
assert.ok(inserted, 'Should insert action with valid tool_name');
|
|
177
|
-
// Cleanup
|
|
178
160
|
await db('m_help_actions')
|
|
179
161
|
.where({ action_name: testActionName })
|
|
180
162
|
.delete();
|
|
181
163
|
});
|
|
182
164
|
});
|
|
183
|
-
// ============================================================================
|
|
184
|
-
// t_help_action_examples - Example Storage
|
|
185
|
-
// ============================================================================
|
|
186
165
|
describe('t_help_action_examples table', () => {
|
|
187
166
|
it('should have examples for decision tool', async () => {
|
|
188
167
|
const db = getDb();
|
|
189
|
-
// Join with m_help_actions to filter by tool_name
|
|
190
168
|
const examples = await db('t_help_action_examples')
|
|
191
169
|
.join('m_help_actions', 't_help_action_examples.action_id', 'm_help_actions.id')
|
|
192
170
|
.where({ 'm_help_actions.tool_name': 'decision' })
|
|
193
171
|
.select('t_help_action_examples.*');
|
|
194
|
-
// Should have examples seeded
|
|
195
172
|
assert.ok(examples.length >= 0, 'Should return examples (or empty array if none seeded)');
|
|
196
173
|
if (examples.length > 0) {
|
|
197
174
|
const example = examples[0];
|
|
@@ -201,14 +178,11 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
201
178
|
});
|
|
202
179
|
it('should filter examples by action', async () => {
|
|
203
180
|
const db = getDb();
|
|
204
|
-
// Join with m_help_actions to filter by tool_name and action_name
|
|
205
181
|
const examples = await db('t_help_action_examples')
|
|
206
182
|
.join('m_help_actions', 't_help_action_examples.action_id', 'm_help_actions.id')
|
|
207
183
|
.where({ 'm_help_actions.tool_name': 'decision', 'm_help_actions.action_name': 'set' })
|
|
208
184
|
.select('t_help_action_examples.*', 'm_help_actions.tool_name', 'm_help_actions.action_name');
|
|
209
|
-
// Verify filtering works
|
|
210
185
|
assert.ok(Array.isArray(examples), 'Should return array');
|
|
211
|
-
// All returned examples should match the filter
|
|
212
186
|
examples.forEach((ex) => {
|
|
213
187
|
assert.strictEqual(ex.tool_name, 'decision');
|
|
214
188
|
assert.strictEqual(ex.action_name, 'set');
|
|
@@ -236,7 +210,6 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
236
210
|
.where('title', 'like', `%${keyword}%`)
|
|
237
211
|
.select('*');
|
|
238
212
|
assert.ok(Array.isArray(examples), 'Should return search results');
|
|
239
|
-
// All results should match keyword in title
|
|
240
213
|
examples.forEach((ex) => {
|
|
241
214
|
assert.ok(ex.title.toLowerCase().includes(keyword.toLowerCase()), 'Title should contain keyword');
|
|
242
215
|
});
|
|
@@ -261,15 +234,11 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
261
234
|
})
|
|
262
235
|
.select('t_help_action_examples.*', 'm_help_actions.tool_name');
|
|
263
236
|
assert.ok(Array.isArray(examples), 'Should return filtered search results');
|
|
264
|
-
// All results should be for decision tool
|
|
265
237
|
examples.forEach((ex) => {
|
|
266
238
|
assert.strictEqual(ex.tool_name, 'decision');
|
|
267
239
|
});
|
|
268
240
|
});
|
|
269
241
|
});
|
|
270
|
-
// ============================================================================
|
|
271
|
-
// t_help_use_cases - Use Case Storage
|
|
272
|
-
// ============================================================================
|
|
273
242
|
describe('t_help_use_cases table', () => {
|
|
274
243
|
it('should have use case table structure', async () => {
|
|
275
244
|
const db = getDb();
|
|
@@ -287,7 +256,6 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
287
256
|
});
|
|
288
257
|
it('should get use case by ID', async () => {
|
|
289
258
|
const db = getDb();
|
|
290
|
-
// Get first use case if any exist
|
|
291
259
|
const firstUseCase = await db('t_help_use_cases')
|
|
292
260
|
.orderBy('id', 'asc')
|
|
293
261
|
.first();
|
|
@@ -334,9 +302,6 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
334
302
|
});
|
|
335
303
|
});
|
|
336
304
|
});
|
|
337
|
-
// ============================================================================
|
|
338
|
-
// m_help_use_case_cats - Use Case Category Management
|
|
339
|
-
// ============================================================================
|
|
340
305
|
describe('m_help_use_case_cats table', () => {
|
|
341
306
|
it('should have use case categories', async () => {
|
|
342
307
|
const db = getDb();
|
|
@@ -376,9 +341,6 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
376
341
|
});
|
|
377
342
|
// NOTE: m_help_use_case_steps table does not exist in current schema
|
|
378
343
|
// Use case steps are stored in the 'workflow' TEXT column of t_help_use_cases
|
|
379
|
-
// ============================================================================
|
|
380
|
-
// Cross-Database Compatibility Tests
|
|
381
|
-
// ============================================================================
|
|
382
344
|
describe(`Cross-database compatibility - ${dbType}`, () => {
|
|
383
345
|
it('should handle unicode in example search', async () => {
|
|
384
346
|
const db = getDb();
|
|
@@ -386,7 +348,6 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
386
348
|
const examples = await db('t_help_action_examples')
|
|
387
349
|
.where('title', 'like', `%${unicodeKeyword}%`)
|
|
388
350
|
.select('*');
|
|
389
|
-
// Should not crash with unicode
|
|
390
351
|
assert.ok(Array.isArray(examples), 'Should handle unicode search');
|
|
391
352
|
});
|
|
392
353
|
it('should handle special characters in search', async () => {
|
|
@@ -395,7 +356,6 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
395
356
|
const examples = await db('t_help_action_examples')
|
|
396
357
|
.where('title', 'like', `%${specialKeyword}%`)
|
|
397
358
|
.select('*');
|
|
398
|
-
// Should not crash with special characters
|
|
399
359
|
assert.ok(Array.isArray(examples), 'Should handle special characters');
|
|
400
360
|
});
|
|
401
361
|
it('should support pagination in example listing', async () => {
|
|
@@ -410,7 +370,6 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
410
370
|
.select('*');
|
|
411
371
|
assert.ok(Array.isArray(page1), 'Should return page 1');
|
|
412
372
|
assert.ok(Array.isArray(page2), 'Should return page 2');
|
|
413
|
-
// If there are enough examples, pages should be different
|
|
414
373
|
if (page1.length === 5 && page2.length > 0) {
|
|
415
374
|
const page1Ids = page1.map((e) => e.id);
|
|
416
375
|
const page2Ids = page2.map((e) => e.id);
|
|
@@ -484,9 +443,6 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
484
443
|
}
|
|
485
444
|
});
|
|
486
445
|
});
|
|
487
|
-
// ============================================================================
|
|
488
|
-
// Integration Tests - Complex Queries
|
|
489
|
-
// ============================================================================
|
|
490
446
|
describe('Integration - Complex queries', () => {
|
|
491
447
|
it('should join tools, actions, and examples', async () => {
|
|
492
448
|
const db = getDb();
|
|
@@ -545,7 +501,6 @@ runTestsOnAllDatabases('Help System', (getDb, dbType) => {
|
|
|
545
501
|
assert.ok(row.id, 'Should have id');
|
|
546
502
|
assert.ok(row.title, 'Should have title');
|
|
547
503
|
assert.ok(row.category_name, 'Should have category_name');
|
|
548
|
-
// workflow contains the workflow steps
|
|
549
504
|
});
|
|
550
505
|
});
|
|
551
506
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help-system.test.js","sourceRoot":"","sources":["../../../../src/tests/docker/native/help-system.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,sBAAsB,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IACtD,IAAI,SAAiB,CAAC;IAEtB,sCAAsC;IACtC,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;QAC3C,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,+BAA+B;IAC/B,+EAA+E;IAE/E,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC;iBAClC,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;iBAChC,KAAK,EAAE,CAAC;YAEX,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,oCAAoC,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;YAC5D,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EACrF,2DAA2D,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,+CAA+C;QAE/C,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC;iBAClC,KAAK,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;iBAClC,KAAK,EAAE,CAAC;YAEX,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,sCAAsC,CAAC,CAAC;YACxD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACjD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC;iBACtC,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;iBAC5B,KAAK,EAAE,CAAC;YAEX,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC;iBACzC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;iBAC/B,KAAK,EAAE,CAAC;YAEX,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,gCAAgC,CAAC,CAAC;YACtD,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,mCAAmC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC;iBACnC,MAAM,CAAC,WAAW,CAAC;iBACnB,OAAO,CAAC,WAAW,CAAC,CAAC;YAExB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAErD,oDAAoD;YACpD,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YACpE,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;gBACzC,MAAM,CAAC,EAAE,CACP,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAChC,eAAe,YAAY,kBAAkB,CAC9C,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,wCAAwC;IACxC,+EAA+E;IAE/E,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC;iBACtC,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;iBACpD,KAAK,EAAE,CAAC;YAEX,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;YAC9D,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC;YAEhE,sDAAsD;YACtD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,sBAAsB,CAAC;iBAC5C,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;iBAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,+BAA+B,CAAC,CAAC;YAClE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,oCAAoC,CAAC,CAAC;YAEnE,wBAAwB;YACxB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACxD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,2BAA2B,CAAC,CAAC;YACnE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,6BAA6B,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,uEAAuE;QAEvE,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC;iBACtC,KAAK,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;iBACtD,KAAK,EAAE,CAAC;YAEX,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,4CAA4C,CAAC,CAAC;YAChE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC;YAEhE,sDAAsD;YACtD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,sBAAsB,CAAC;iBAC5C,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;iBAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC;iBAC/C,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;iBAChC,MAAM,CAAC,aAAa,CAAC,CAAC;YAEzB,kCAAkC;YAClC,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC;iBACjD,KAAK,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;iBAClC,MAAM,CAAC,aAAa,CAAC,CAAC;YAEzB,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,4CAA4C,CAAC,CAAC;YACpF,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,EAAE,qCAAqC,CAAC,CAAC;YAEhF,oCAAoC;YACpC,MAAM,mBAAmB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC3E,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAC,CAAC;YACzE,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC;iBACtC,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;iBACpD,KAAK,EAAE,CAAC;YAEX,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YAEzC,sDAAsD;YACtD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,sBAAsB,CAAC;iBAC5C,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;iBAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,wBAAwB,CAAC,CAAC;YAEvD,mEAAmE;YACnE,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAC9C,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,SAAS,CAClE,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,0CAA0C,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,2CAA2C;IAC3C,+EAA+E;IAE/E,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;QACtD,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,IAAI,CAAC;gBACH,2EAA2E;gBAC3E,gEAAgE;gBAChE,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC;oBAChC,SAAS,EAAE,mBAAmB;oBAC9B,WAAW,EAAE,aAAa;oBAC1B,WAAW,EAAE,kBAAkB;iBAChC,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,oCAAoC;gBACpC,MAAM,CAAC,EAAE,CACP,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;oBACrC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;oBACrC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EACpC,0CAA0C,CAC3C,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,4CAA4C;YAC5C,MAAM,cAAc,GAAG,eAAe,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAEnD,2EAA2E;YAC3E,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC;gBAChC,SAAS,EAAE,UAAU;gBACrB,WAAW,EAAE,cAAc;gBAC3B,WAAW,EAAE,aAAa;aAC3B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC;iBACxC,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;iBAC7D,KAAK,EAAE,CAAC;YAEX,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,2CAA2C,CAAC,CAAC;YAEjE,UAAU;YACV,MAAM,EAAE,CAAC,gBAAgB,CAAC;iBACvB,KAAK,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;iBACtC,MAAM,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,2CAA2C;IAC3C,+EAA+E;IAE/E,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,kDAAkD;YAClD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAAC;iBAChD,IAAI,CAAC,gBAAgB,EAAE,kCAAkC,EAAE,mBAAmB,CAAC;iBAC/E,KAAK,CAAC,EAAE,0BAA0B,EAAE,UAAU,EAAE,CAAC;iBACjD,MAAM,CAAC,0BAA0B,CAAC,CAAC;YAEtC,8BAA8B;YAC9B,MAAM,CAAC,EAAE,CACP,QAAQ,CAAC,MAAM,IAAI,CAAC,EACpB,wDAAwD,CACzD,CAAC;YAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;gBACtD,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,kEAAkE;YAClE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAAC;iBAChD,IAAI,CAAC,gBAAgB,EAAE,kCAAkC,EAAE,mBAAmB,CAAC;iBAC/E,KAAK,CAAC,EAAE,0BAA0B,EAAE,UAAU,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC;iBACtF,MAAM,CAAC,0BAA0B,EAAE,0BAA0B,EAAE,4BAA4B,CAAC,CAAC;YAEhG,yBAAyB;YACzB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC,CAAC;YAE1D,gDAAgD;YAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAE;gBAC3B,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAC7C,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAAC;iBAChD,KAAK,CAAC,CAAC,CAAC;iBACR,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,8BAA8B,CAAC,CAAC;YAEnE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAC7C,MAAM,CAAC,EAAE,CAAC,WAAW,IAAI,OAAO,EAAE,uBAAuB,CAAC,CAAC;gBAC3D,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,OAAO,EAAE,mBAAmB,CAAC,CAAC;gBACnD,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBACjD,MAAM,CAAC,EAAE,CAAC,aAAa,IAAI,OAAO,EAAE,yBAAyB,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,OAAO,GAAG,UAAU,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAAC;iBAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,OAAO,GAAG,CAAC;iBACtC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,8BAA8B,CAAC,CAAC;YAEnE,4CAA4C;YAC5C,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAE;gBAC3B,MAAM,CAAC,EAAE,CACP,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EACtD,8BAA8B,CAC/B,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,OAAO,GAAG,MAAM,CAAC;YACvB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAAC;iBAChD,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,OAAO,GAAG,CAAC;iBAC5C,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,8BAA8B,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,6EAA6E;YAC7E,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAAC;iBAChD,IAAI,CAAC,gBAAgB,EAAE,kCAAkC,EAAE,mBAAmB,CAAC;iBAC/E,KAAK,CAAC,EAAE,0BAA0B,EAAE,UAAU,EAAE,CAAC;iBACjD,QAAQ,CAAC;gBACR,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;qBACjC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC,CAAC;iBACD,MAAM,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,CAAC;YAElE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,uCAAuC,CAAC,CAAC;YAE5E,0CAA0C;YAC1C,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAE;gBAC3B,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,sCAAsC;IACtC,+EAA+E;IAE/E,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC;iBAC1C,KAAK,CAAC,CAAC,CAAC;iBACR,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,+BAA+B,CAAC,CAAC;YAEpE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,OAAO,EAAE,yBAAyB,CAAC,CAAC;gBACtD,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,OAAO,EAAE,4BAA4B,CAAC,CAAC;gBAC5D,MAAM,CAAC,EAAE,CAAC,aAAa,IAAI,OAAO,EAAE,kCAAkC,CAAC,CAAC;gBACxE,MAAM,CAAC,EAAE,CAAC,YAAY,IAAI,OAAO,EAAE,iCAAiC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,kCAAkC;YAClC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC;iBAC9C,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;iBACpB,KAAK,EAAE,CAAC;YAEX,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC;qBACzC,KAAK,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC;qBAC9B,KAAK,EAAE,CAAC;gBAEX,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;gBACrD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;gBAChD,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,OAAO,GAAG,QAAQ,CAAC;YACzB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC;iBAC1C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,OAAO,GAAG,CAAC;iBACtC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,8BAA8B,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,OAAO,GAAG,UAAU,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC;iBAC1C,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,OAAO,GAAG,CAAC;iBAC5C,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,8BAA8B,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC;iBAC/C,KAAK,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;iBAC9B,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC;iBAClD,KAAK,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;iBACjC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,+BAA+B,CAAC,CAAC;YACzE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,kCAAkC,CAAC,CAAC;YAE/E,aAAa,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAE;gBAChC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAE;gBACnC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,sDAAsD;IACtD,+EAA+E;IAE/E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,sBAAsB,CAAC;iBAChD,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,0BAA0B,CAAC,CAAC;YACjE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,mCAAmC,CAAC,CAAC;YAEtE,UAAU,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAC9B,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAC;gBAC7C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,oBAAoB,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC;iBACtD,IAAI,CACH,sBAAsB,EACtB,8BAA8B,EAC9B,yBAAyB,CAC1B;iBACA,MAAM,CACL,oBAAoB,EACpB,oCAAoC,CACrC;iBACA,KAAK,CAAC,CAAC,CAAC,CAAC;YAEZ,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,CAAC;YAE/E,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAO,EAAE,EAAE;gBACvC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,qCAAqC,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,sBAAsB,CAAC;iBAChD,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAEpC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC;qBAC1C,IAAI,CACH,sBAAsB,EACtB,8BAA8B,EAC9B,yBAAyB,CAC1B;qBACA,KAAK,CAAC,oCAAoC,EAAE,aAAa,CAAC,aAAa,CAAC;qBACxE,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAEhC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,yCAAyC,CAAC,CAAC;YAChF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,qEAAqE;IACrE,8EAA8E;IAE9E,+EAA+E;IAC/E,qCAAqC;IACrC,+EAA+E;IAE/E,QAAQ,CAAC,kCAAkC,MAAM,EAAE,EAAE,GAAG,EAAE;QACxD,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,cAAc,GAAG,KAAK,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAAC;iBAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,cAAc,GAAG,CAAC;iBAC7C,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,gCAAgC;YAChC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,8BAA8B,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,cAAc,GAAG,0BAA0B,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAAC;iBAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,cAAc,GAAG,CAAC;iBAC7C,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,2CAA2C;YAC3C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,kCAAkC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAAC;iBAC7C,KAAK,CAAC,CAAC,CAAC;iBACR,MAAM,CAAC,CAAC,CAAC;iBACT,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAAC;iBAC7C,KAAK,CAAC,CAAC,CAAC;iBACR,MAAM,CAAC,CAAC,CAAC;iBACT,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;YACxD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;YAExD,0DAA0D;YAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,0BAA0B,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC;iBACvC,KAAK,CAAC,CAAC,CAAC;iBACR,MAAM,CAAC,CAAC,CAAC;iBACT,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC;iBACvC,KAAK,CAAC,CAAC,CAAC;iBACR,MAAM,CAAC,CAAC,CAAC;iBACT,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;YACxD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC;iBACtC,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;iBACpD,KAAK,EAAE,CAAC;YAEX,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,sBAAsB,CAAC;qBAC5C,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;qBAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;gBAEf,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,qCAAqC,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;oBAC9B,SAAS,EAAE,UAAU,EAAE,yCAAyC;oBAChE,WAAW,EAAE,gBAAgB;iBAC9B,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAChE,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,uDAAuD;gBACvD,oDAAoD;gBACpD,qCAAqC;gBACrC,sCAAsC;gBACtC,gCAAgC;gBAChC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxC,MAAM,CAAC,EAAE,CACP,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBACtB,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACzB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACvB,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC1B,iDAAiD,KAAK,CAAC,OAAO,EAAE,CACjE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,IAAI,CAAC;gBACH,2EAA2E;gBAC3E,MAAM,EAAE,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC;oBAChC,SAAS,EAAE,UAAU;oBACrB,WAAW,EAAE,KAAK,EAAE,wBAAwB;oBAC5C,WAAW,EAAE,kBAAkB;iBAChC,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,wCAAwC;gBACxC,MAAM,CAAC,EAAE,CACP,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAChC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAChC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EACnC,qCAAqC,CACtC,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,sCAAsC;IACtC,+EAA+E;IAE/E,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC;iBACrC,IAAI,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,0BAA0B,CAAC;iBAC5E,QAAQ,CAAC,wBAAwB,EAAE,mBAAmB,EAAE,kCAAkC,CAAC;iBAC3F,MAAM,CACL,wBAAwB,EACxB,4BAA4B,EAC5B,8BAA8B,CAC/B;iBACA,KAAK,CAAC,EAAE,CAAC,CAAC;YAEb,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,8BAA8B,CAAC,CAAC;YAElE,OAAO,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAC3B,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;gBAClD,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;gBACtD,gCAAgC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAC;iBACtC,MAAM,CAAC,WAAW,CAAC;iBACnB,KAAK,CAAC,mBAAmB,CAAC;iBAC1B,OAAO,CAAC,WAAW,CAAC;iBACpB,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAEnC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC,CAAC;YACzD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,4CAA4C,CAAC,CAAC;YAE3E,MAAM,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAC1B,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;gBAClD,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,4BAA4B,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,iEAAiE;QACjE,2CAA2C;QAC3C,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC;iBACxC,MAAM,CAAC,YAAY,CAAC;iBACpB,KAAK,CAAC,qBAAqB,CAAC;iBAC5B,OAAO,CAAC,YAAY,CAAC;iBACrB,OAAO,CAAC,YAAY,CAAC,CAAC;YAEzB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC,CAAC;YAEzD,MAAM,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAC1B,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;gBACpD,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,EAAE,mBAAmB,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;YAEnB,mDAAmD;YACnD,6CAA6C;YAC7C,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC;iBAC9C,IAAI,CACH,sBAAsB,EACtB,8BAA8B,EAC9B,yBAAyB,CAC1B;iBACA,MAAM,CACL,qBAAqB,EACrB,wBAAwB,EACxB,oCAAoC,EACpC,2BAA2B,CAC5B;iBACA,OAAO,CAAC,qBAAqB,CAAC;iBAC9B,KAAK,CAAC,EAAE,CAAC,CAAC;YAEb,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,8BAA8B,CAAC,CAAC;YAEvE,YAAY,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAChC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;gBACpC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;gBAC1C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAC;gBAC1D,uCAAuC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"help-system.test.js","sourceRoot":"","sources":["../../../../src/tests/docker/native/help-system.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Suggest Tool
|
|
2
|
+
* Suggest Tool - Native RDBMS Integration Tests
|
|
3
3
|
*
|
|
4
|
-
* Tests
|
|
5
|
-
* and three-tier detection on
|
|
6
|
-
*
|
|
7
|
-
* Task #533: Refactor to use direct Knex operations instead of MCP tool functions
|
|
8
|
-
*
|
|
9
|
-
* REFACTORING PATTERN:
|
|
10
|
-
* - Direct database operations via Knex for all data setup
|
|
11
|
-
* - Manual tag index population (t_tag_index inserts)
|
|
12
|
-
* - Manual similarity score calculation (Levenshtein, Jaccard)
|
|
13
|
-
* - No MCP tool function calls (no handleSuggestAction, no setDecision)
|
|
4
|
+
* Tests tag index (t_tag_index), similarity calculations (Levenshtein, Jaccard),
|
|
5
|
+
* and three-tier detection via direct Knex operations on MySQL, MariaDB, and PostgreSQL.
|
|
14
6
|
*/
|
|
15
7
|
export {};
|
|
16
8
|
//# sourceMappingURL=suggest-tool.test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggest-tool.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/docker/native/suggest-tool.test.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"suggest-tool.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/docker/native/suggest-tool.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -1,23 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Suggest Tool
|
|
2
|
+
* Suggest Tool - Native RDBMS Integration Tests
|
|
3
3
|
*
|
|
4
|
-
* Tests
|
|
5
|
-
* and three-tier detection on
|
|
6
|
-
*
|
|
7
|
-
* Task #533: Refactor to use direct Knex operations instead of MCP tool functions
|
|
8
|
-
*
|
|
9
|
-
* REFACTORING PATTERN:
|
|
10
|
-
* - Direct database operations via Knex for all data setup
|
|
11
|
-
* - Manual tag index population (t_tag_index inserts)
|
|
12
|
-
* - Manual similarity score calculation (Levenshtein, Jaccard)
|
|
13
|
-
* - No MCP tool function calls (no handleSuggestAction, no setDecision)
|
|
4
|
+
* Tests tag index (t_tag_index), similarity calculations (Levenshtein, Jaccard),
|
|
5
|
+
* and three-tier detection via direct Knex operations on MySQL, MariaDB, and PostgreSQL.
|
|
14
6
|
*/
|
|
15
7
|
import { describe, it } from 'node:test';
|
|
16
8
|
import assert from 'node:assert';
|
|
17
9
|
import { runTestsOnAllDatabases } from './test-harness.js';
|
|
18
|
-
// ============================================================================
|
|
19
|
-
// Similarity Calculation Helpers (Manual Implementation)
|
|
20
|
-
// ============================================================================
|
|
21
10
|
/**
|
|
22
11
|
* Calculate Levenshtein distance between two strings
|
|
23
12
|
* Used for key pattern similarity scoring
|
|
@@ -115,29 +104,23 @@ function calculatePriorityScore(priority) {
|
|
|
115
104
|
// 4 (critical) = 5 points, 3 (high) = 4 points, 2 (medium) = 3 points, 1 (low) = 2 points
|
|
116
105
|
return Math.min(priority + 1, 5);
|
|
117
106
|
}
|
|
118
|
-
// ============================================================================
|
|
119
|
-
// Database Helper Functions
|
|
120
|
-
// ============================================================================
|
|
121
107
|
/**
|
|
122
108
|
* Create a decision with tags (manual insert)
|
|
123
109
|
*/
|
|
124
110
|
async function createDecisionWithTags(db, params) {
|
|
125
111
|
const { key, value, layer, tags = [], priority = 2, version = '1.0.0', projectId } = params;
|
|
126
|
-
// Get or create context key
|
|
127
112
|
let keyRecord = await db('m_context_keys').where({ key_name: key }).first();
|
|
128
113
|
if (!keyRecord) {
|
|
129
114
|
await db('m_context_keys').insert({ key_name: key });
|
|
130
115
|
keyRecord = await db('m_context_keys').where({ key_name: key }).first();
|
|
131
116
|
}
|
|
132
117
|
const keyId = keyRecord.id;
|
|
133
|
-
// Get layer ID
|
|
134
118
|
const layerRecord = await db('m_layers').where({ name: layer }).first();
|
|
135
119
|
if (!layerRecord) {
|
|
136
120
|
throw new Error(`Layer "${layer}" not found`);
|
|
137
121
|
}
|
|
138
122
|
const layerId = layerRecord.id;
|
|
139
123
|
const ts = Math.floor(Date.now() / 1000);
|
|
140
|
-
// Insert decision
|
|
141
124
|
const existingDecision = await db('t_decisions')
|
|
142
125
|
.where({ key_id: keyId, project_id: projectId })
|
|
143
126
|
.first();
|
|
@@ -157,17 +140,14 @@ async function createDecisionWithTags(db, params) {
|
|
|
157
140
|
.where({ key_id: keyId, project_id: projectId })
|
|
158
141
|
.update({ value, version, layer_id: layerId, ts });
|
|
159
142
|
}
|
|
160
|
-
// Insert tags and populate tag index
|
|
161
143
|
if (tags.length > 0) {
|
|
162
144
|
for (const tagName of tags) {
|
|
163
|
-
// Get or create tag
|
|
164
145
|
let tagRecord = await db('m_tags').where({ name: tagName }).first();
|
|
165
146
|
if (!tagRecord) {
|
|
166
147
|
await db('m_tags').insert({ name: tagName });
|
|
167
148
|
tagRecord = await db('m_tags').where({ name: tagName }).first();
|
|
168
149
|
}
|
|
169
150
|
const tagId = tagRecord.id;
|
|
170
|
-
// Insert decision tag
|
|
171
151
|
const existingTag = await db('t_decision_tags')
|
|
172
152
|
.where({ decision_key_id: keyId, tag_id: tagId, project_id: projectId })
|
|
173
153
|
.first();
|
|
@@ -222,7 +202,6 @@ async function getDecisionByKeyId(db, keyId, projectId) {
|
|
|
222
202
|
.first();
|
|
223
203
|
if (!decision)
|
|
224
204
|
return null;
|
|
225
|
-
// Get tags
|
|
226
205
|
const tags = await db('t_decision_tags as dt')
|
|
227
206
|
.select('t.name as tag_name')
|
|
228
207
|
.join('m_tags as t', 'dt.tag_id', 't.id')
|
|
@@ -235,16 +214,12 @@ async function getDecisionByKeyId(db, keyId, projectId) {
|
|
|
235
214
|
}
|
|
236
215
|
runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) => {
|
|
237
216
|
let projectId;
|
|
238
|
-
// Get project ID before running tests
|
|
239
217
|
it('should get project ID', async () => {
|
|
240
218
|
const db = getDb();
|
|
241
219
|
const project = await db('m_projects').first();
|
|
242
220
|
assert.ok(project, 'Project should exist');
|
|
243
221
|
projectId = project.id;
|
|
244
222
|
});
|
|
245
|
-
// ============================================================================
|
|
246
|
-
// Tag Index Population Tests
|
|
247
|
-
// ============================================================================
|
|
248
223
|
describe('Tag Index (t_tag_index) - Data Integrity', () => {
|
|
249
224
|
it('should populate t_tag_index when creating decision with tags', async () => {
|
|
250
225
|
const db = getDb();
|
|
@@ -287,7 +262,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
287
262
|
tags: ['database'],
|
|
288
263
|
projectId,
|
|
289
264
|
});
|
|
290
|
-
// Query tag index for 'api' tag
|
|
291
265
|
const results = await queryTagIndex(db, ['api'], projectId);
|
|
292
266
|
assert.ok(results.length >= 2, 'Should find at least 2 decisions with api tag');
|
|
293
267
|
const apiKeys = results.map(r => r.key_name).filter(k => k.includes('api'));
|
|
@@ -295,7 +269,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
295
269
|
});
|
|
296
270
|
it('should handle FK constraints (source_id references m_context_keys)', async () => {
|
|
297
271
|
const db = getDb();
|
|
298
|
-
// Create decision
|
|
299
272
|
const keyId = await createDecisionWithTags(db, {
|
|
300
273
|
key: 'tag-index/fk-test',
|
|
301
274
|
value: 'test',
|
|
@@ -315,9 +288,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
315
288
|
assert.strictEqual(tagIndexEntry.source_id, contextKey.id, 'FK constraint should be valid');
|
|
316
289
|
});
|
|
317
290
|
});
|
|
318
|
-
// ============================================================================
|
|
319
|
-
// Key Similarity Tests (Manual Calculation)
|
|
320
|
-
// ============================================================================
|
|
321
291
|
describe('Key Similarity - Manual Calculation', () => {
|
|
322
292
|
it('should calculate Levenshtein distance for key similarity', async () => {
|
|
323
293
|
const db = getDb();
|
|
@@ -335,7 +305,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
335
305
|
tags: ['api', 'security'],
|
|
336
306
|
projectId,
|
|
337
307
|
});
|
|
338
|
-
// Manual similarity calculation
|
|
339
308
|
const key1 = 'similarity/api/authentication';
|
|
340
309
|
const key2 = 'similarity/api/authorization';
|
|
341
310
|
const keySimilarity = calculateKeySimilarity(key1, key2);
|
|
@@ -357,7 +326,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
357
326
|
tags: ['test'],
|
|
358
327
|
projectId,
|
|
359
328
|
});
|
|
360
|
-
// Get decisions
|
|
361
329
|
const decision1 = await getDecisionByKeyId(db, keyId1, projectId);
|
|
362
330
|
const decision2 = await getDecisionByKeyId(db, keyId2, projectId);
|
|
363
331
|
// Calculate full similarity score (matches actual suggest tool):
|
|
@@ -378,9 +346,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
378
346
|
assert.ok(totalScore >= 30, `Score ${totalScore} should be above low threshold (30)`);
|
|
379
347
|
});
|
|
380
348
|
});
|
|
381
|
-
// ============================================================================
|
|
382
|
-
// Tag Overlap Tests (Jaccard Similarity)
|
|
383
|
-
// ============================================================================
|
|
384
349
|
describe('Tag Overlap - Jaccard Similarity', () => {
|
|
385
350
|
it('should calculate Jaccard similarity for tag overlap', async () => {
|
|
386
351
|
const db = getDb();
|
|
@@ -398,7 +363,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
398
363
|
tags: ['performance'],
|
|
399
364
|
projectId,
|
|
400
365
|
});
|
|
401
|
-
// Calculate Jaccard similarity
|
|
402
366
|
const tags1 = ['performance', 'security'];
|
|
403
367
|
const tags2 = ['performance', 'security', 'critical'];
|
|
404
368
|
const tags3 = ['performance'];
|
|
@@ -409,7 +373,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
409
373
|
});
|
|
410
374
|
it('should rank by tag overlap using tag index', async () => {
|
|
411
375
|
const db = getDb();
|
|
412
|
-
// Create decisions with different tag overlaps
|
|
413
376
|
await createDecisionWithTags(db, {
|
|
414
377
|
key: 'ranking/high-overlap',
|
|
415
378
|
value: 'value1',
|
|
@@ -424,7 +387,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
424
387
|
tags: ['performance'],
|
|
425
388
|
projectId,
|
|
426
389
|
});
|
|
427
|
-
// Query tag index for multiple tags
|
|
428
390
|
const results = await queryTagIndex(db, ['performance', 'security'], projectId);
|
|
429
391
|
assert.ok(results.length > 0, 'Should find decisions with matching tags');
|
|
430
392
|
// Count tag matches per decision (v4 uses source_id)
|
|
@@ -467,9 +429,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
467
429
|
assert.ok(businessResults.every(r => r.layer === 'business'), 'All results should be from business layer');
|
|
468
430
|
});
|
|
469
431
|
});
|
|
470
|
-
// ============================================================================
|
|
471
|
-
// Three-Tier Similarity Detection (Manual Calculation)
|
|
472
|
-
// ============================================================================
|
|
473
432
|
describe('Three-Tier Similarity Detection - Manual', () => {
|
|
474
433
|
// Full scoring model (100 points max):
|
|
475
434
|
// - keySimilarity: 0-20 points
|
|
@@ -486,7 +445,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
486
445
|
tags: ['test'],
|
|
487
446
|
projectId,
|
|
488
447
|
});
|
|
489
|
-
// Manual similarity calculation for similar key
|
|
490
448
|
// NEW context (user input) vs EXISTING decision
|
|
491
449
|
const existingKey = 'tier1/existing';
|
|
492
450
|
const newKey = 'tier1/different'; // Different suffix to get lower score
|
|
@@ -510,7 +468,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
510
468
|
tags: ['api', 'security', 'authentication'],
|
|
511
469
|
projectId,
|
|
512
470
|
});
|
|
513
|
-
// Manual similarity calculation for highly similar decision
|
|
514
471
|
const existingKey = 'tier2/authentication-strategy';
|
|
515
472
|
const newKey = 'tier2/authentication-strategy-new';
|
|
516
473
|
const keySimilarity = calculateKeySimilarity(existingKey, newKey);
|
|
@@ -534,7 +491,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
534
491
|
version: '1.0.0',
|
|
535
492
|
projectId,
|
|
536
493
|
});
|
|
537
|
-
// Manual similarity calculation for near-exact duplicate
|
|
538
494
|
const existingKey = 'tier3/exact-match';
|
|
539
495
|
const newKey = 'tier3/exact-match'; // Exact same key
|
|
540
496
|
const keySimilarity = calculateKeySimilarity(existingKey, newKey); // 20 points (exact match)
|
|
@@ -556,7 +512,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
556
512
|
tags: ['api'],
|
|
557
513
|
projectId,
|
|
558
514
|
});
|
|
559
|
-
// Manual similarity calculation for completely different decision
|
|
560
515
|
const existingKey = 'no-match/api-design';
|
|
561
516
|
const newKey = 'no-match/database-schema';
|
|
562
517
|
const keySimilarity = calculateKeySimilarity(existingKey, newKey);
|
|
@@ -566,9 +521,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
566
521
|
assert.ok(totalScore < 35, `Score ${totalScore} should be below Tier 1 threshold (35)`);
|
|
567
522
|
});
|
|
568
523
|
});
|
|
569
|
-
// ============================================================================
|
|
570
|
-
// Cross-Database Compatibility Tests
|
|
571
|
-
// ============================================================================
|
|
572
524
|
describe(`Cross-database compatibility - ${dbType}`, () => {
|
|
573
525
|
it('should handle unicode in decision keys for tag index', async () => {
|
|
574
526
|
const db = getDb();
|
|
@@ -580,7 +532,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
580
532
|
tags: ['unicode'],
|
|
581
533
|
projectId,
|
|
582
534
|
});
|
|
583
|
-
// Query tag index
|
|
584
535
|
const results = await queryTagIndex(db, ['unicode'], projectId);
|
|
585
536
|
assert.ok(results.length > 0, 'Should find unicode decision in tag index');
|
|
586
537
|
const foundKey = results.find(r => r.key_name === unicodeKey);
|
|
@@ -595,7 +546,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
595
546
|
tags: ['api-v2', 'oauth2.0'],
|
|
596
547
|
projectId,
|
|
597
548
|
});
|
|
598
|
-
// Query tag index with special characters
|
|
599
549
|
const results = await queryTagIndex(db, ['api-v2'], projectId);
|
|
600
550
|
assert.ok(results.length > 0, 'Should find tags with special characters');
|
|
601
551
|
});
|
|
@@ -608,7 +558,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
608
558
|
tags: ['API'],
|
|
609
559
|
projectId,
|
|
610
560
|
});
|
|
611
|
-
// Query with different case
|
|
612
561
|
const upperResults = await queryTagIndex(db, ['API'], projectId);
|
|
613
562
|
const lowerResults = await queryTagIndex(db, ['api'], projectId);
|
|
614
563
|
// Behavior may vary by database
|
|
@@ -620,13 +569,9 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
620
569
|
}
|
|
621
570
|
});
|
|
622
571
|
});
|
|
623
|
-
// ============================================================================
|
|
624
|
-
// Tag Index Performance Tests
|
|
625
|
-
// ============================================================================
|
|
626
572
|
describe('Tag Index Performance', () => {
|
|
627
573
|
it('should efficiently query tag index for multiple tags', async () => {
|
|
628
574
|
const db = getDb();
|
|
629
|
-
// Create multiple decisions with overlapping tags
|
|
630
575
|
for (let i = 1; i <= 5; i++) {
|
|
631
576
|
await createDecisionWithTags(db, {
|
|
632
577
|
key: `perf/decision-${i}`,
|
|
@@ -636,7 +581,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
636
581
|
projectId,
|
|
637
582
|
});
|
|
638
583
|
}
|
|
639
|
-
// Query tag index for 'number' tag (should find all 5)
|
|
640
584
|
const results = await queryTagIndex(db, ['number'], projectId);
|
|
641
585
|
assert.ok(results.length >= 5, 'Should find all 5 decisions with number tag');
|
|
642
586
|
});
|
|
@@ -649,7 +593,6 @@ runTestsOnAllDatabases('Suggest Tool (v3.9.0) - Refactored', (getDb, dbType) =>
|
|
|
649
593
|
tags: ['tag1', 'tag2', 'tag3'],
|
|
650
594
|
projectId,
|
|
651
595
|
});
|
|
652
|
-
// Query tag index for multiple tags
|
|
653
596
|
const results = await queryTagIndex(db, ['tag1', 'tag2', 'tag3'], projectId);
|
|
654
597
|
// Group by source_id to count matches (v4 uses source_id)
|
|
655
598
|
const decisionMatches = new Map();
|