sqlew 5.0.7 → 5.1.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 +27 -0
- package/README.md +100 -242
- 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/pr-adr.d.ts +22 -0
- package/dist/cli/hooks/pr-adr.d.ts.map +1 -0
- package/dist/cli/hooks/pr-adr.js +72 -0
- package/dist/cli/hooks/pr-adr.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +9 -13
- 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 +17 -45
- package/dist/config/global-config.d.ts.map +1 -1
- package/dist/config/global-config.js +169 -30
- 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/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 +4 -4
- 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/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/docs/ADR_CONCEPTS.md +66 -58
- package/docs/CLI_USAGE.md +392 -0
- package/docs/CONFIGURATION.md +157 -922
- package/docs/CROSS_DATABASE.md +1 -88
- package/docs/DATABASE_AUTH.md +24 -47
- package/docs/HOOKS_GUIDE.md +40 -112
- package/docs/MIGRATION_TO_SAAS.md +3 -3
- 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/docs/HOW_TO_UNINSTALL.md +0 -199
- package/docs/MIGRATION_CLEANUP_GUIDE.md +0 -212
- package/docs/SLASH_COMMANDS.md +0 -329
- package/docs/cli/DATABASE_MIGRATION.md +0 -290
- package/docs/cli/DATA_EXPORT_IMPORT.md +0 -701
- package/docs/cli/README.md +0 -276
- /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,327 +1,42 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Base authentication provider for sqlew's multi-RDBMS authentication system.
|
|
3
|
-
*
|
|
4
|
-
* This module provides the foundation for all authentication providers, enabling support for:
|
|
5
|
-
* - SSH tunneling (v3.7.0)
|
|
6
|
-
* - Direct connections (v3.7.0)
|
|
7
|
-
* - AWS IAM authentication (v3.8.0+)
|
|
8
|
-
* - GCP IAM authentication (v3.8.0+)
|
|
9
|
-
*
|
|
10
|
-
* @module adapters/auth/base-auth-provider
|
|
11
|
-
* @since v3.7.0
|
|
12
|
-
*/
|
|
13
1
|
import type { DatabaseConfig } from '../../config/types.js';
|
|
14
|
-
/**
|
|
15
|
-
* Connection parameters used to establish database connections.
|
|
16
|
-
*
|
|
17
|
-
* These parameters are returned by authentication providers after processing
|
|
18
|
-
* credentials, setting up tunnels, or obtaining temporary tokens.
|
|
19
|
-
*
|
|
20
|
-
* @interface ConnectionParams
|
|
21
|
-
* @example
|
|
22
|
-
* // Direct connection
|
|
23
|
-
* {
|
|
24
|
-
* host: 'postgres.example.com',
|
|
25
|
-
* port: 5432,
|
|
26
|
-
* database: 'mydb',
|
|
27
|
-
* user: 'admin',
|
|
28
|
-
* password: 'secret123'
|
|
29
|
-
* }
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* // SSH tunnel connection
|
|
33
|
-
* {
|
|
34
|
-
* host: '127.0.0.1',
|
|
35
|
-
* port: 54321, // Local tunnel port
|
|
36
|
-
* database: 'mydb',
|
|
37
|
-
* user: 'admin',
|
|
38
|
-
* password: 'secret123'
|
|
39
|
-
* }
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* // AWS IAM authentication
|
|
43
|
-
* {
|
|
44
|
-
* host: 'db.region.rds.amazonaws.com',
|
|
45
|
-
* port: 5432,
|
|
46
|
-
* database: 'mydb',
|
|
47
|
-
* user: 'iam_user',
|
|
48
|
-
* password: 'temporary_token_generated_by_aws',
|
|
49
|
-
* ssl: {
|
|
50
|
-
* ca: '/path/to/rds-ca-bundle.pem',
|
|
51
|
-
* rejectUnauthorized: true
|
|
52
|
-
* }
|
|
53
|
-
* }
|
|
54
|
-
*/
|
|
2
|
+
/** Connection parameters returned by authentication providers. */
|
|
55
3
|
export interface ConnectionParams {
|
|
56
|
-
/**
|
|
57
|
-
* Database host address.
|
|
58
|
-
* For direct connections: remote host address.
|
|
59
|
-
* For SSH tunnels: '127.0.0.1' (localhost).
|
|
60
|
-
* For cloud IAM: cloud provider's database endpoint.
|
|
61
|
-
*/
|
|
4
|
+
/** Database host address. */
|
|
62
5
|
host: string;
|
|
63
|
-
/**
|
|
64
|
-
* Database port number.
|
|
65
|
-
* For direct connections: remote database port.
|
|
66
|
-
* For SSH tunnels: local tunnel port.
|
|
67
|
-
* For cloud IAM: cloud provider's database port.
|
|
68
|
-
*/
|
|
6
|
+
/** Database port number. */
|
|
69
7
|
port: number;
|
|
70
|
-
/**
|
|
71
|
-
* Target database name.
|
|
72
|
-
*/
|
|
8
|
+
/** Target database name. */
|
|
73
9
|
database: string;
|
|
74
|
-
/**
|
|
75
|
-
* Database user/username.
|
|
76
|
-
* For IAM authentication: IAM role or user identifier.
|
|
77
|
-
*/
|
|
10
|
+
/** Database user/username. */
|
|
78
11
|
user: string;
|
|
79
|
-
/**
|
|
80
|
-
* Database password or authentication token.
|
|
81
|
-
* Optional for IAM-based authentication where tokens are generated dynamically.
|
|
82
|
-
* For AWS/GCP IAM: temporary authentication token.
|
|
83
|
-
*/
|
|
12
|
+
/** Database password or authentication token. */
|
|
84
13
|
password?: string;
|
|
85
|
-
/**
|
|
86
|
-
* SSL/TLS configuration for encrypted connections.
|
|
87
|
-
* Required for most cloud providers (AWS RDS, GCP Cloud SQL).
|
|
88
|
-
*/
|
|
14
|
+
/** SSL/TLS configuration for encrypted connections. */
|
|
89
15
|
ssl?: {
|
|
90
|
-
/**
|
|
91
|
-
* Certificate Authority (CA) certificate.
|
|
92
|
-
* Path to PEM file or certificate content.
|
|
93
|
-
*/
|
|
16
|
+
/** Certificate Authority (CA) certificate. */
|
|
94
17
|
ca?: string;
|
|
95
|
-
/**
|
|
96
|
-
* Client certificate for mutual TLS.
|
|
97
|
-
* Path to PEM file or certificate content.
|
|
98
|
-
*/
|
|
18
|
+
/** Client certificate for mutual TLS. */
|
|
99
19
|
cert?: string;
|
|
100
|
-
/**
|
|
101
|
-
* Client private key for mutual TLS.
|
|
102
|
-
* Path to PEM file or key content.
|
|
103
|
-
*/
|
|
20
|
+
/** Client private key for mutual TLS. */
|
|
104
21
|
key?: string;
|
|
105
|
-
/**
|
|
106
|
-
* Whether to reject unauthorized certificates.
|
|
107
|
-
* Set to false for self-signed certificates (not recommended for production).
|
|
108
|
-
*/
|
|
22
|
+
/** Whether to reject unauthorized certificates. */
|
|
109
23
|
rejectUnauthorized?: boolean;
|
|
110
24
|
};
|
|
111
|
-
/**
|
|
112
|
-
* Database-specific connection parameters.
|
|
113
|
-
*
|
|
114
|
-
* Examples:
|
|
115
|
-
* - PostgreSQL: { statement_timeout: 30000, application_name: 'mcp-sqlew' }
|
|
116
|
-
* - MySQL: { connectTimeout: 10000, multipleStatements: false }
|
|
117
|
-
* - SQL Server: { requestTimeout: 30000, encrypt: true }
|
|
118
|
-
*/
|
|
25
|
+
/** Database-specific additional connection parameters. */
|
|
119
26
|
additionalParams?: Record<string, any>;
|
|
120
27
|
}
|
|
121
|
-
/**
|
|
122
|
-
* Abstract base class for all authentication providers.
|
|
123
|
-
*
|
|
124
|
-
* This class establishes the contract that all authentication providers must implement,
|
|
125
|
-
* ensuring consistent behavior across different authentication methods.
|
|
126
|
-
*
|
|
127
|
-
* **Supported Authentication Methods:**
|
|
128
|
-
* - `DirectAuthProvider`: Standard username/password authentication
|
|
129
|
-
* - `SshAuthProvider`: SSH tunneling with key-based or password authentication
|
|
130
|
-
* - `AwsIamAuthProvider`: AWS RDS IAM database authentication
|
|
131
|
-
* - `GcpIamAuthProvider`: GCP Cloud SQL IAM authentication
|
|
132
|
-
*
|
|
133
|
-
* **Authentication Flow:**
|
|
134
|
-
* 1. Provider instantiation with DatabaseConfig
|
|
135
|
-
* 2. `validate()` - Verify configuration is valid
|
|
136
|
-
* 3. `authenticate()` - Process credentials and return ConnectionParams
|
|
137
|
-
* 4. Database connection using returned params
|
|
138
|
-
* 5. `cleanup()` - Release resources when connection closes
|
|
139
|
-
*
|
|
140
|
-
* @abstract
|
|
141
|
-
* @class BaseAuthProvider
|
|
142
|
-
*
|
|
143
|
-
* @example
|
|
144
|
-
* // Implementing a custom authentication provider
|
|
145
|
-
* class CustomAuthProvider extends BaseAuthProvider {
|
|
146
|
-
* async authenticate(): Promise<ConnectionParams> {
|
|
147
|
-
* // Implement custom authentication logic
|
|
148
|
-
* return {
|
|
149
|
-
* host: this.config.connection.host,
|
|
150
|
-
* port: this.config.connection.port,
|
|
151
|
-
* database: this.config.connection.database,
|
|
152
|
-
* user: this.config.auth.user,
|
|
153
|
-
* password: await this.getCustomPassword()
|
|
154
|
-
* };
|
|
155
|
-
* }
|
|
156
|
-
*
|
|
157
|
-
* getAuthMethod(): string {
|
|
158
|
-
* return 'Custom Authentication';
|
|
159
|
-
* }
|
|
160
|
-
*
|
|
161
|
-
* async cleanup(): Promise<void> {
|
|
162
|
-
* // Clean up any resources
|
|
163
|
-
* }
|
|
164
|
-
*
|
|
165
|
-
* validate(): void {
|
|
166
|
-
* if (!this.config.auth.user) {
|
|
167
|
-
* throw new Error('User is required for custom authentication');
|
|
168
|
-
* }
|
|
169
|
-
* }
|
|
170
|
-
* }
|
|
171
|
-
*
|
|
172
|
-
* @example
|
|
173
|
-
* // Using an authentication provider
|
|
174
|
-
* const provider = new DirectAuthProvider(config);
|
|
175
|
-
* provider.validate();
|
|
176
|
-
* const connParams = await provider.authenticate();
|
|
177
|
-
* const connection = await createConnection(connParams);
|
|
178
|
-
* // ... use connection ...
|
|
179
|
-
* await connection.close();
|
|
180
|
-
* await provider.cleanup();
|
|
181
|
-
*/
|
|
28
|
+
/** Abstract base class for all authentication providers. */
|
|
182
29
|
export declare abstract class BaseAuthProvider {
|
|
183
|
-
/**
|
|
184
|
-
* Database configuration containing connection and authentication settings.
|
|
185
|
-
* Accessible to child classes for implementing authentication logic.
|
|
186
|
-
*
|
|
187
|
-
* @protected
|
|
188
|
-
* @readonly
|
|
189
|
-
*/
|
|
30
|
+
/** @protected */
|
|
190
31
|
protected readonly config: DatabaseConfig;
|
|
191
|
-
/**
|
|
192
|
-
* Creates a new authentication provider instance.
|
|
193
|
-
*
|
|
194
|
-
* @param {DatabaseConfig} config - Database configuration object
|
|
195
|
-
*
|
|
196
|
-
* @example
|
|
197
|
-
* const provider = new SshAuthProvider({
|
|
198
|
-
* type: 'postgres',
|
|
199
|
-
* connection: {
|
|
200
|
-
* host: 'db.internal',
|
|
201
|
-
* port: 5432,
|
|
202
|
-
* database: 'production'
|
|
203
|
-
* },
|
|
204
|
-
* auth: {
|
|
205
|
-
* type: 'ssh',
|
|
206
|
-
* ssh: {
|
|
207
|
-
* host: 'bastion.example.com',
|
|
208
|
-
* port: 22,
|
|
209
|
-
* user: 'deploy',
|
|
210
|
-
* privateKey: '/path/to/key.pem'
|
|
211
|
-
* }
|
|
212
|
-
* }
|
|
213
|
-
* });
|
|
214
|
-
*/
|
|
215
32
|
constructor(config: DatabaseConfig);
|
|
216
|
-
/**
|
|
217
|
-
* Authenticates and returns connection parameters for database connection.
|
|
218
|
-
*
|
|
219
|
-
* This method handles the authentication process specific to each provider:
|
|
220
|
-
* - **Direct**: Returns credentials as-is
|
|
221
|
-
* - **SSH**: Establishes tunnel, returns localhost connection params
|
|
222
|
-
* - **AWS IAM**: Generates temporary token, returns params with SSL config
|
|
223
|
-
* - **GCP IAM**: Obtains OAuth token, returns params with cloud SQL proxy
|
|
224
|
-
*
|
|
225
|
-
* @abstract
|
|
226
|
-
* @returns {Promise<ConnectionParams>} Connection parameters for database client
|
|
227
|
-
*
|
|
228
|
-
* @throws {Error} When authentication fails or credentials are invalid
|
|
229
|
-
*
|
|
230
|
-
* @example
|
|
231
|
-
* // Direct authentication
|
|
232
|
-
* const params = await directProvider.authenticate();
|
|
233
|
-
* // Returns: { host: 'db.example.com', port: 5432, user: 'admin', password: 'secret' }
|
|
234
|
-
*
|
|
235
|
-
* @example
|
|
236
|
-
* // SSH tunnel authentication
|
|
237
|
-
* const params = await sshProvider.authenticate();
|
|
238
|
-
* // Returns: { host: '127.0.0.1', port: 54321, user: 'admin', password: 'secret' }
|
|
239
|
-
* // Note: Tunnel is active until cleanup() is called
|
|
240
|
-
*
|
|
241
|
-
* @example
|
|
242
|
-
* // AWS IAM authentication
|
|
243
|
-
* const params = await awsProvider.authenticate();
|
|
244
|
-
* // Returns: { host: 'db.region.rds.amazonaws.com', user: 'iam_user',
|
|
245
|
-
* // password: 'temp_token_xyz', ssl: { ca: '...' } }
|
|
246
|
-
*/
|
|
33
|
+
/** Authenticates and returns connection parameters. @abstract */
|
|
247
34
|
abstract authenticate(): Promise<ConnectionParams>;
|
|
248
|
-
/**
|
|
249
|
-
* Returns a human-readable name for this authentication method.
|
|
250
|
-
*
|
|
251
|
-
* Used for logging, error messages, and telemetry.
|
|
252
|
-
*
|
|
253
|
-
* @abstract
|
|
254
|
-
* @returns {string} Authentication method name
|
|
255
|
-
*
|
|
256
|
-
* @example
|
|
257
|
-
* directProvider.getAuthMethod(); // Returns: "Direct"
|
|
258
|
-
* sshProvider.getAuthMethod(); // Returns: "SSH Tunnel"
|
|
259
|
-
* awsProvider.getAuthMethod(); // Returns: "AWS IAM"
|
|
260
|
-
* gcpProvider.getAuthMethod(); // Returns: "GCP IAM"
|
|
261
|
-
*/
|
|
35
|
+
/** Returns a human-readable name for this authentication method. @abstract */
|
|
262
36
|
abstract getAuthMethod(): string;
|
|
263
|
-
/**
|
|
264
|
-
* Releases resources allocated during authentication.
|
|
265
|
-
*
|
|
266
|
-
* This method MUST be called when the database connection is closed to prevent
|
|
267
|
-
* resource leaks. Different providers handle cleanup differently:
|
|
268
|
-
*
|
|
269
|
-
* - **Direct**: No-op (no resources to clean)
|
|
270
|
-
* - **SSH**: Closes SSH tunnel and releases local port
|
|
271
|
-
* - **AWS IAM**: Invalidates cached tokens (if applicable)
|
|
272
|
-
* - **GCP IAM**: Closes Cloud SQL proxy connection
|
|
273
|
-
*
|
|
274
|
-
* @abstract
|
|
275
|
-
* @returns {Promise<void>}
|
|
276
|
-
*
|
|
277
|
-
* @throws {Error} If cleanup fails (should be caught and logged, not propagated)
|
|
278
|
-
*
|
|
279
|
-
* @example
|
|
280
|
-
* try {
|
|
281
|
-
* await provider.cleanup();
|
|
282
|
-
* } catch (error) {
|
|
283
|
-
* console.error('Cleanup failed:', error);
|
|
284
|
-
* // Connection is closed, log error but don't throw
|
|
285
|
-
* }
|
|
286
|
-
*/
|
|
37
|
+
/** Releases resources allocated during authentication. @abstract */
|
|
287
38
|
abstract cleanup(): Promise<void>;
|
|
288
|
-
/**
|
|
289
|
-
* Validates the authentication configuration.
|
|
290
|
-
*
|
|
291
|
-
* This method checks that all required configuration parameters are present
|
|
292
|
-
* and valid BEFORE attempting authentication. It should be called immediately
|
|
293
|
-
* after provider instantiation to fail fast on configuration errors.
|
|
294
|
-
*
|
|
295
|
-
* **Validation Examples:**
|
|
296
|
-
* - **Direct**: Verify host, port, user, password are present
|
|
297
|
-
* - **SSH**: Verify SSH host, SSH user, privateKey/password, target credentials
|
|
298
|
-
* - **AWS IAM**: Verify region, IAM role/user, AWS credentials available
|
|
299
|
-
* - **GCP IAM**: Verify project ID, service account, GCP credentials available
|
|
300
|
-
*
|
|
301
|
-
* @abstract
|
|
302
|
-
* @returns {void}
|
|
303
|
-
*
|
|
304
|
-
* @throws {Error} If configuration is invalid or incomplete
|
|
305
|
-
*
|
|
306
|
-
* @example
|
|
307
|
-
* try {
|
|
308
|
-
* provider.validate();
|
|
309
|
-
* } catch (error) {
|
|
310
|
-
* console.error('Invalid configuration:', error.message);
|
|
311
|
-
* // Fix configuration before proceeding
|
|
312
|
-
* }
|
|
313
|
-
*
|
|
314
|
-
* @example
|
|
315
|
-
* // Validation in SSH provider
|
|
316
|
-
* validate(): void {
|
|
317
|
-
* if (!this.config.auth.ssh?.host) {
|
|
318
|
-
* throw new Error('SSH host is required for SSH authentication');
|
|
319
|
-
* }
|
|
320
|
-
* if (!this.config.auth.ssh.privateKey && !this.config.auth.ssh.password) {
|
|
321
|
-
* throw new Error('SSH privateKey or password is required');
|
|
322
|
-
* }
|
|
323
|
-
* }
|
|
324
|
-
*/
|
|
39
|
+
/** Validates the authentication configuration. @abstract */
|
|
325
40
|
abstract validate(): void;
|
|
326
41
|
}
|
|
327
42
|
//# sourceMappingURL=base-auth-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-auth-provider.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/base-auth-provider.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"base-auth-provider.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/base-auth-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,kEAAkE;AAClE,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IAEb,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,uDAAuD;IACvD,GAAG,CAAC,EAAE;QACJ,8CAA8C;QAC9C,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,yCAAyC;QACzC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,yCAAyC;QACzC,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,mDAAmD;QACnD,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,CAAC;IAEF,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACxC;AAED,4DAA4D;AAC5D,8BAAsB,gBAAgB;IACpC,iBAAiB;IACjB,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;gBAE9B,MAAM,EAAE,cAAc;IAIlC,iEAAiE;IACjE,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAElD,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,IAAI,MAAM;IAEhC,oEAAoE;IACpE,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,IAAI,IAAI;CAC1B"}
|
|
@@ -1,109 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Base authentication provider for sqlew's multi-RDBMS authentication system.
|
|
3
|
-
*
|
|
4
|
-
* This module provides the foundation for all authentication providers, enabling support for:
|
|
5
|
-
* - SSH tunneling (v3.7.0)
|
|
6
|
-
* - Direct connections (v3.7.0)
|
|
7
|
-
* - AWS IAM authentication (v3.8.0+)
|
|
8
|
-
* - GCP IAM authentication (v3.8.0+)
|
|
9
|
-
*
|
|
10
|
-
* @module adapters/auth/base-auth-provider
|
|
11
|
-
* @since v3.7.0
|
|
12
|
-
*/
|
|
13
|
-
/**
|
|
14
|
-
* Abstract base class for all authentication providers.
|
|
15
|
-
*
|
|
16
|
-
* This class establishes the contract that all authentication providers must implement,
|
|
17
|
-
* ensuring consistent behavior across different authentication methods.
|
|
18
|
-
*
|
|
19
|
-
* **Supported Authentication Methods:**
|
|
20
|
-
* - `DirectAuthProvider`: Standard username/password authentication
|
|
21
|
-
* - `SshAuthProvider`: SSH tunneling with key-based or password authentication
|
|
22
|
-
* - `AwsIamAuthProvider`: AWS RDS IAM database authentication
|
|
23
|
-
* - `GcpIamAuthProvider`: GCP Cloud SQL IAM authentication
|
|
24
|
-
*
|
|
25
|
-
* **Authentication Flow:**
|
|
26
|
-
* 1. Provider instantiation with DatabaseConfig
|
|
27
|
-
* 2. `validate()` - Verify configuration is valid
|
|
28
|
-
* 3. `authenticate()` - Process credentials and return ConnectionParams
|
|
29
|
-
* 4. Database connection using returned params
|
|
30
|
-
* 5. `cleanup()` - Release resources when connection closes
|
|
31
|
-
*
|
|
32
|
-
* @abstract
|
|
33
|
-
* @class BaseAuthProvider
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* // Implementing a custom authentication provider
|
|
37
|
-
* class CustomAuthProvider extends BaseAuthProvider {
|
|
38
|
-
* async authenticate(): Promise<ConnectionParams> {
|
|
39
|
-
* // Implement custom authentication logic
|
|
40
|
-
* return {
|
|
41
|
-
* host: this.config.connection.host,
|
|
42
|
-
* port: this.config.connection.port,
|
|
43
|
-
* database: this.config.connection.database,
|
|
44
|
-
* user: this.config.auth.user,
|
|
45
|
-
* password: await this.getCustomPassword()
|
|
46
|
-
* };
|
|
47
|
-
* }
|
|
48
|
-
*
|
|
49
|
-
* getAuthMethod(): string {
|
|
50
|
-
* return 'Custom Authentication';
|
|
51
|
-
* }
|
|
52
|
-
*
|
|
53
|
-
* async cleanup(): Promise<void> {
|
|
54
|
-
* // Clean up any resources
|
|
55
|
-
* }
|
|
56
|
-
*
|
|
57
|
-
* validate(): void {
|
|
58
|
-
* if (!this.config.auth.user) {
|
|
59
|
-
* throw new Error('User is required for custom authentication');
|
|
60
|
-
* }
|
|
61
|
-
* }
|
|
62
|
-
* }
|
|
63
|
-
*
|
|
64
|
-
* @example
|
|
65
|
-
* // Using an authentication provider
|
|
66
|
-
* const provider = new DirectAuthProvider(config);
|
|
67
|
-
* provider.validate();
|
|
68
|
-
* const connParams = await provider.authenticate();
|
|
69
|
-
* const connection = await createConnection(connParams);
|
|
70
|
-
* // ... use connection ...
|
|
71
|
-
* await connection.close();
|
|
72
|
-
* await provider.cleanup();
|
|
73
|
-
*/
|
|
1
|
+
/** Abstract base class for all authentication providers. */
|
|
74
2
|
export class BaseAuthProvider {
|
|
75
|
-
/**
|
|
76
|
-
* Database configuration containing connection and authentication settings.
|
|
77
|
-
* Accessible to child classes for implementing authentication logic.
|
|
78
|
-
*
|
|
79
|
-
* @protected
|
|
80
|
-
* @readonly
|
|
81
|
-
*/
|
|
3
|
+
/** @protected */
|
|
82
4
|
config;
|
|
83
|
-
/**
|
|
84
|
-
* Creates a new authentication provider instance.
|
|
85
|
-
*
|
|
86
|
-
* @param {DatabaseConfig} config - Database configuration object
|
|
87
|
-
*
|
|
88
|
-
* @example
|
|
89
|
-
* const provider = new SshAuthProvider({
|
|
90
|
-
* type: 'postgres',
|
|
91
|
-
* connection: {
|
|
92
|
-
* host: 'db.internal',
|
|
93
|
-
* port: 5432,
|
|
94
|
-
* database: 'production'
|
|
95
|
-
* },
|
|
96
|
-
* auth: {
|
|
97
|
-
* type: 'ssh',
|
|
98
|
-
* ssh: {
|
|
99
|
-
* host: 'bastion.example.com',
|
|
100
|
-
* port: 22,
|
|
101
|
-
* user: 'deploy',
|
|
102
|
-
* privateKey: '/path/to/key.pem'
|
|
103
|
-
* }
|
|
104
|
-
* }
|
|
105
|
-
* });
|
|
106
|
-
*/
|
|
107
5
|
constructor(config) {
|
|
108
6
|
this.config = config;
|
|
109
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-auth-provider.js","sourceRoot":"","sources":["../../../src/adapters/auth/base-auth-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-auth-provider.js","sourceRoot":"","sources":["../../../src/adapters/auth/base-auth-provider.ts"],"names":[],"mappings":"AAmCA,4DAA4D;AAC5D,MAAM,OAAgB,gBAAgB;IACpC,iBAAiB;IACE,MAAM,CAAiB;IAE1C,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CAaF"}
|