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
package/docs/CROSS_DATABASE.md
CHANGED
|
@@ -55,96 +55,9 @@ user = "sqlew_user"
|
|
|
55
55
|
password = "your_password"
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
## Database-Specific Differences
|
|
59
|
-
|
|
60
|
-
### String Aggregation
|
|
61
|
-
|
|
62
|
-
| Database | Function |
|
|
63
|
-
|----------|----------|
|
|
64
|
-
| SQLite | `GROUP_CONCAT(column)` |
|
|
65
|
-
| MySQL | `GROUP_CONCAT(column)` |
|
|
66
|
-
| MariaDB | `GROUP_CONCAT(column)` |
|
|
67
|
-
| PostgreSQL | `string_agg(column, ',')` |
|
|
68
|
-
|
|
69
|
-
sqlew automatically detects the database type and uses the appropriate function.
|
|
70
|
-
|
|
71
|
-
### GROUP BY Strictness
|
|
72
|
-
|
|
73
|
-
PostgreSQL enforces strict GROUP BY rules:
|
|
74
|
-
- All non-aggregated SELECT columns must appear in GROUP BY
|
|
75
|
-
- MySQL/MariaDB/SQLite are more lenient
|
|
76
|
-
|
|
77
|
-
sqlew includes all necessary columns in GROUP BY for cross-database compatibility.
|
|
78
|
-
|
|
79
|
-
### Example Query Difference
|
|
80
|
-
|
|
81
|
-
**MySQL/SQLite:**
|
|
82
|
-
```sql
|
|
83
|
-
SELECT d.key_id, ck.key_name, GROUP_CONCAT(t.name) as tags
|
|
84
|
-
FROM v4_decisions d
|
|
85
|
-
JOIN v4_context_keys ck ON d.key_id = ck.id
|
|
86
|
-
GROUP BY d.key_id
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
**PostgreSQL:**
|
|
90
|
-
```sql
|
|
91
|
-
SELECT d.key_id, ck.key_name, string_agg(t.name, ',') as tags
|
|
92
|
-
FROM v4_decisions d
|
|
93
|
-
JOIN v4_context_keys ck ON d.key_id = ck.id
|
|
94
|
-
GROUP BY d.key_id, ck.key_name
|
|
95
|
-
```
|
|
96
|
-
|
|
97
58
|
## Data Migration
|
|
98
59
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
Use JSON export/import for migrating between database types:
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
# Export from source database
|
|
105
|
-
sqlew db:export backup.json
|
|
106
|
-
|
|
107
|
-
# Import to target database (after changing config)
|
|
108
|
-
sqlew db:import backup.json
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
**Note:** SQL dump (`db:dump`) is for same-database-type operations only.
|
|
112
|
-
|
|
113
|
-
### Export Options
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
# Export all data
|
|
117
|
-
sqlew db:export full-backup.json
|
|
118
|
-
|
|
119
|
-
# Export with version tracking
|
|
120
|
-
sqlew db:export --version 4.1.0 backup.json
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
## Adapter Implementation
|
|
124
|
-
|
|
125
|
-
Database adapters are located in `src/adapters/`:
|
|
126
|
-
|
|
127
|
-
| File | Purpose |
|
|
128
|
-
|------|---------|
|
|
129
|
-
| `sqlite-adapter.ts` | SQLite (better-sqlite3) |
|
|
130
|
-
| `mysql-adapter.ts` | MySQL/MariaDB (mysql2) |
|
|
131
|
-
| `postgresql-adapter.ts` | PostgreSQL (pg) |
|
|
132
|
-
|
|
133
|
-
Each adapter implements the `DatabaseAdapter` interface with database-specific:
|
|
134
|
-
- Connection handling
|
|
135
|
-
- Transaction management
|
|
136
|
-
- String aggregation
|
|
137
|
-
- Type conversions
|
|
138
|
-
|
|
139
|
-
## Testing Cross-Database Compatibility
|
|
140
|
-
|
|
141
|
-
```bash
|
|
142
|
-
# Run tests on all configured databases
|
|
143
|
-
npm run test:cross-db
|
|
144
|
-
|
|
145
|
-
# Run tests on specific database
|
|
146
|
-
DB_TYPE=postgres npm test
|
|
147
|
-
```
|
|
60
|
+
See [CLI Usage Guide](CLI_USAGE.md#cross-database-migration) for export/import commands and step-by-step migration procedures.
|
|
148
61
|
|
|
149
62
|
## Version History
|
|
150
63
|
|
package/docs/DATABASE_AUTH.md
CHANGED
|
@@ -8,9 +8,6 @@ This document describes the authentication configuration for multi-database supp
|
|
|
8
8
|
|--------|--------|-------------|
|
|
9
9
|
| **Direct (Password)** | ✅ Supported | Standard username/password authentication |
|
|
10
10
|
| **SSH Tunnel** | ✅ Manual | User-managed SSH port forwarding |
|
|
11
|
-
| SSL/TLS Certificates | 🔮 Planned | Client certificate authentication |
|
|
12
|
-
| AWS RDS IAM | 🔮 Planned | Token-based authentication for AWS RDS |
|
|
13
|
-
| GCP Cloud SQL IAM | 🔮 Planned | Token-based authentication for GCP Cloud SQL |
|
|
14
11
|
|
|
15
12
|
## Configuration Structure
|
|
16
13
|
|
|
@@ -57,6 +54,30 @@ user = "mysql_user"
|
|
|
57
54
|
password = "your-password"
|
|
58
55
|
```
|
|
59
56
|
|
|
57
|
+
## Managed Database (Recommended)
|
|
58
|
+
|
|
59
|
+
For environments that require SSL/TLS encryption, IAM authentication, or managed scaling, use the sqlew cloud backend instead of configuring these locally.
|
|
60
|
+
|
|
61
|
+
The cloud backend handles authentication, encryption, and scaling — no local database administration needed.
|
|
62
|
+
|
|
63
|
+
### Setup
|
|
64
|
+
|
|
65
|
+
1. Obtain an API key from the [sqlew dashboard](https://sqlew.io)
|
|
66
|
+
|
|
67
|
+
2. Save the key to `~/.config/sqlew/.sqlew.env`:
|
|
68
|
+
```bash
|
|
69
|
+
echo 'SQLEW_API_KEY=sk-your-api-key' >> ~/.config/sqlew/.sqlew.env
|
|
70
|
+
chmod 600 ~/.config/sqlew/.sqlew.env # Unix only
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
3. Set database type in `.sqlew/config.toml`:
|
|
74
|
+
```toml
|
|
75
|
+
[database]
|
|
76
|
+
type = "cloud"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
See [Configuration Guide](./CONFIGURATION.md) for full environment variable details.
|
|
80
|
+
|
|
60
81
|
## SSH Tunnel (Manual Setup)
|
|
61
82
|
|
|
62
83
|
**SSH tunneling is NOT built into sqlew.** Set up tunnels manually before connecting.
|
|
@@ -100,15 +121,6 @@ password = "db-password"
|
|
|
100
121
|
- `user`: Required
|
|
101
122
|
- `password`: Required
|
|
102
123
|
|
|
103
|
-
## Error Handling
|
|
104
|
-
|
|
105
|
-
```
|
|
106
|
-
⚠️ Configuration validation failed: .sqlew/config.toml
|
|
107
|
-
- database.connection.host is required
|
|
108
|
-
- database.auth.user is required for direct authentication
|
|
109
|
-
Using default configuration
|
|
110
|
-
```
|
|
111
|
-
|
|
112
124
|
## Security Best Practices
|
|
113
125
|
|
|
114
126
|
1. **Never commit passwords** - Don't commit config.toml with passwords to git
|
|
@@ -117,41 +129,6 @@ password = "db-password"
|
|
|
117
129
|
|
|
118
130
|
---
|
|
119
131
|
|
|
120
|
-
## Future Authentication Methods
|
|
121
|
-
|
|
122
|
-
> **Status**: Planned for future releases. If you need these features, please [open an issue](https://github.com/sqlew-io/sqlew/issues) - we'll prioritize based on demand!
|
|
123
|
-
|
|
124
|
-
### SSL/TLS Client Certificates
|
|
125
|
-
|
|
126
|
-
```toml
|
|
127
|
-
# PLANNED - Not yet implemented
|
|
128
|
-
[database.auth.ssl]
|
|
129
|
-
ca = "/path/to/ca-cert.pem"
|
|
130
|
-
cert = "/path/to/client-cert.pem"
|
|
131
|
-
key = "/path/to/client-key.pem"
|
|
132
|
-
rejectUnauthorized = true
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### AWS RDS IAM Authentication
|
|
136
|
-
|
|
137
|
-
```toml
|
|
138
|
-
# PLANNED - Not yet implemented
|
|
139
|
-
[database.auth]
|
|
140
|
-
type = "aws-iam"
|
|
141
|
-
region = "us-east-1"
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### GCP Cloud SQL IAM Authentication
|
|
145
|
-
|
|
146
|
-
```toml
|
|
147
|
-
# PLANNED - Not yet implemented
|
|
148
|
-
[database.auth]
|
|
149
|
-
type = "gcp-iam"
|
|
150
|
-
project = "my-project"
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
---
|
|
154
|
-
|
|
155
132
|
## Related Documentation
|
|
156
133
|
|
|
157
134
|
- [Configuration Guide](./CONFIGURATION.md)
|
package/docs/HOOKS_GUIDE.md
CHANGED
|
@@ -1,139 +1,67 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Plugin Installation
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
sqlew integrates with AI coding assistants through plugins.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Prerequisites
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Install the sqlew MCP server globally:
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
Claude Code sqlew
|
|
13
|
-
│ │
|
|
14
|
-
├─ PreToolUse ──────────────►│ suggest (related decisions)
|
|
15
|
-
│ │
|
|
16
|
-
├─ Tool Execution │
|
|
17
|
-
│ │
|
|
18
|
-
├─ PostToolUse ─────────────►│ track-plan, save, check-completion
|
|
19
|
-
│ │
|
|
20
|
-
└─ (Git hooks) ─────────────►│ mark-done (post-merge, post-rewrite)
|
|
9
|
+
```bash
|
|
10
|
+
npm i -g sqlew
|
|
21
11
|
```
|
|
22
12
|
|
|
23
|
-
##
|
|
24
|
-
|
|
25
|
-
Hooks use a file-based queue for async operations:
|
|
26
|
-
|
|
27
|
-
1. **Hook writes to queue** (fast, <100ms)
|
|
28
|
-
- Location: `.sqlew/queue/pending.json`
|
|
29
|
-
2. **QueueWatcher detects change** (MCP server)
|
|
30
|
-
3. **Decisions registered in DB** (async)
|
|
13
|
+
## Claude Code
|
|
31
14
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
## Installation
|
|
35
|
-
|
|
36
|
-
As of v5.0.0, hooks are managed by the **sqlew-plugin** (Claude Code Plugin).
|
|
15
|
+
Two commands to install:
|
|
37
16
|
|
|
38
17
|
```bash
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
# 2. Install the plugin (user-level recommended)
|
|
43
|
-
/plugin install sqlew-plugin
|
|
44
|
-
|
|
45
|
-
# 3. Restart Claude Code to apply changes
|
|
18
|
+
claude plugin marketplace add sqlew-io/sqlew-plugin
|
|
19
|
+
claude plugin install sqlew
|
|
46
20
|
```
|
|
47
21
|
|
|
48
22
|
The plugin automatically configures:
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
|
|
53
|
-
> **Note:** Global Rules are automatically created at `~/.claude/rules/sqlew/` when the MCP server starts.
|
|
54
|
-
|
|
55
|
-
## Hook Commands
|
|
56
|
-
|
|
57
|
-
### PreToolUse Hooks
|
|
58
|
-
|
|
59
|
-
| Trigger | Command | Purpose |
|
|
60
|
-
|---------|---------|---------|
|
|
61
|
-
| Task | `sqlew suggest` | Suggest related decisions before Task creation |
|
|
62
|
-
| Write | `sqlew track-plan` | Track plan ID during planning |
|
|
63
|
-
|
|
64
|
-
### PostToolUse Hooks
|
|
65
|
-
|
|
66
|
-
| Trigger | Command | Purpose |
|
|
67
|
-
|---------|---------|---------|
|
|
68
|
-
| Edit, Write | `sqlew save` | Enqueue decision updates |
|
|
69
|
-
| TodoWrite | `sqlew check-completion` | Check task completion status |
|
|
70
|
-
| ExitPlanMode | `sqlew save` | Save plan state on exit |
|
|
71
|
-
|
|
72
|
-
### Git Hooks
|
|
73
|
-
|
|
74
|
-
| Trigger | Command | Purpose |
|
|
75
|
-
|---------|---------|---------|
|
|
76
|
-
| post-merge | `sqlew mark-done` | Mark decisions as complete after merge |
|
|
77
|
-
| post-rewrite | `sqlew mark-done` | Mark decisions as complete after rebase |
|
|
78
|
-
|
|
79
|
-
## Queue File Format
|
|
80
|
-
|
|
81
|
-
`.sqlew/queue/pending.json`:
|
|
82
|
-
|
|
83
|
-
```json
|
|
84
|
-
{
|
|
85
|
-
"items": [
|
|
86
|
-
{
|
|
87
|
-
"type": "decision",
|
|
88
|
-
"action": "update",
|
|
89
|
-
"key": "plan/my-feature",
|
|
90
|
-
"timestamp": 1703404800000,
|
|
91
|
-
"data": {
|
|
92
|
-
"value": "in_progress",
|
|
93
|
-
"layer": "planning"
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
]
|
|
97
|
-
}
|
|
98
|
-
```
|
|
23
|
+
- MCP server settings (`.mcp.json`)
|
|
24
|
+
- Claude Code Hooks (plan tracking, decision extraction)
|
|
25
|
+
- Claude Code Skills (plan mode guidance, PR enrichment)
|
|
99
26
|
|
|
100
|
-
|
|
27
|
+
To uninstall:
|
|
101
28
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
2. Check plugin status for errors
|
|
106
|
-
3. Restart Claude Code to reload hooks
|
|
29
|
+
```bash
|
|
30
|
+
claude plugin remove sqlew
|
|
31
|
+
```
|
|
107
32
|
|
|
108
|
-
|
|
33
|
+
Source: https://github.com/sqlew-io/sqlew-plugin
|
|
109
34
|
|
|
110
|
-
|
|
111
|
-
2. Use `queue { action: "list" }` to check pending items
|
|
112
|
-
3. Verify QueueWatcher is active (check debug logs)
|
|
35
|
+
## Codex
|
|
113
36
|
|
|
114
|
-
|
|
37
|
+
```bash
|
|
38
|
+
git clone https://github.com/sqlew-io/sqlew-codex.git
|
|
39
|
+
cp -r sqlew-codex/copy_to_codex_dir/* ~/.codex/
|
|
40
|
+
```
|
|
115
41
|
|
|
116
|
-
|
|
42
|
+
Then add to `~/.codex/config.toml`:
|
|
117
43
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
44
|
+
```toml
|
|
45
|
+
[mcp_servers.sqlew]
|
|
46
|
+
command = "sqlew"
|
|
47
|
+
args = []
|
|
48
|
+
```
|
|
122
49
|
|
|
123
|
-
|
|
50
|
+
To uninstall, remove the copied skill directories and config entries.
|
|
124
51
|
|
|
125
|
-
|
|
52
|
+
Source: https://github.com/sqlew-io/sqlew-codex
|
|
126
53
|
|
|
127
|
-
|
|
54
|
+
## What Gets Configured
|
|
128
55
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
56
|
+
| Feature | Claude Code | Codex |
|
|
57
|
+
|---------|-------------|-------|
|
|
58
|
+
| MCP server | Auto-configured | Manual (config.toml) |
|
|
59
|
+
| Plan-to-ADR | Skills + Hooks | Skills + System prompt |
|
|
60
|
+
| PR enrichment | Skill (sqlew-pr-adr) | Skill (sqlew-pr-adr) |
|
|
61
|
+
| Decision format guidance | Skill (sqlew-decision-format) | Skill (sqlew-decision-format) |
|
|
134
62
|
|
|
135
63
|
## Version History
|
|
136
64
|
|
|
137
|
-
- **v5.0.0**:
|
|
65
|
+
- **v5.0.0**: Plugin-first architecture (sqlew-plugin for Claude Code, sqlew-codex for Codex)
|
|
138
66
|
- **v4.3.0**: Plan-to-ADR - Automatic ADR from Plan Mode
|
|
139
|
-
- **v4.1.0**: Initial Claude Code Hooks integration
|
|
67
|
+
- **v4.1.0**: Initial Claude Code Hooks integration
|
|
@@ -159,10 +159,10 @@ Yes. Export each project separately:
|
|
|
159
159
|
|
|
160
160
|
```bash
|
|
161
161
|
# Export all projects
|
|
162
|
-
npx sqlew db:export
|
|
162
|
+
npx sqlew db:export backup-all.json project=all
|
|
163
163
|
|
|
164
164
|
# Or export specific project
|
|
165
|
-
npx sqlew db:export
|
|
165
|
+
npx sqlew db:export backup.json project=my-project
|
|
166
166
|
```
|
|
167
167
|
|
|
168
168
|
### What about constraint tags?
|
|
@@ -173,4 +173,4 @@ There's a known limitation where constraint-to-tag relationships may not be full
|
|
|
173
173
|
|
|
174
174
|
- [Configuration Guide](CONFIGURATION.md) - SaaS connection setup
|
|
175
175
|
- [CLI Reference](cli/README.md) - All export/import commands
|
|
176
|
-
|
|
176
|
+
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Shared Database (v5.1.0+)
|
|
2
|
+
|
|
3
|
+
As of v5.1.0, sqlew uses a **global shared database** by default instead of a per-project local database. This resolves the issue where git worktrees created isolated databases that couldn't share decisions.
|
|
4
|
+
|
|
5
|
+
## Default Paths
|
|
6
|
+
|
|
7
|
+
| Purpose | Path |
|
|
8
|
+
|---------|------|
|
|
9
|
+
| Database | `~/.config/sqlew/sqlew-shared.db` |
|
|
10
|
+
| Config | `~/.config/sqlew/config.toml` |
|
|
11
|
+
| Session cache | `~/.config/sqlew/session-cache/` |
|
|
12
|
+
|
|
13
|
+
These paths are the same on all platforms (Windows, macOS, Linux).
|
|
14
|
+
|
|
15
|
+
## Automatic Migration
|
|
16
|
+
|
|
17
|
+
When the MCP server starts, it automatically migrates local databases to the global shared database under these conditions:
|
|
18
|
+
|
|
19
|
+
- **SQLite only** — MySQL/PostgreSQL/Cloud users are not affected
|
|
20
|
+
- **No explicit `database.path` in config** — If you set a custom path in `.sqlew/config.toml`, auto-migration is skipped
|
|
21
|
+
- **`.sqlew/sqlew.db` exists** — Only the standard local DB location is migrated
|
|
22
|
+
|
|
23
|
+
### What happens during auto-migration
|
|
24
|
+
|
|
25
|
+
1. If the global DB **doesn't exist yet** → the local DB is copied directly (fastest path)
|
|
26
|
+
2. If the global DB **already exists** → data is exported as JSON and imported (skip-if-exists per project)
|
|
27
|
+
3. The local DB is renamed to `.sqlew/sqlew.db.migrated` (not deleted)
|
|
28
|
+
|
|
29
|
+
### Safety net for merge path
|
|
30
|
+
|
|
31
|
+
When merging into an existing global DB (case 2), if the import is skipped due to a project name conflict, a `pre-migration-export.json` file is saved in `.sqlew/`. This file is automatically deleted on successful import. If it remains, you can manually import it later:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
sqlew db:import .sqlew/pre-migration-export.json
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Manual Migration
|
|
38
|
+
|
|
39
|
+
If your project uses a custom database path (set via `database.path` in `.sqlew/config.toml`), auto-migration does not apply. You can manually migrate to the global shared database:
|
|
40
|
+
|
|
41
|
+
### Step 1: Export from your current database
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Export current project (auto-detected from .sqlew/config.toml [project].name)
|
|
45
|
+
sqlew db:export export.json
|
|
46
|
+
|
|
47
|
+
# Or export all projects from the database
|
|
48
|
+
sqlew db:export export.json project=all
|
|
49
|
+
|
|
50
|
+
# Or specify the database path explicitly
|
|
51
|
+
sqlew db:export export.json db-path=.claude/docs/sqlew.db project=all
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Step 2: Switch to global database
|
|
55
|
+
|
|
56
|
+
Remove or comment out the `database.path` line in `.sqlew/config.toml`:
|
|
57
|
+
|
|
58
|
+
```toml
|
|
59
|
+
[database]
|
|
60
|
+
# path = ".claude/docs/sqlew.db" # commented out → uses global default
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Step 3: Import into global database
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
sqlew db:import export.json
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
The global database at `~/.config/sqlew/sqlew-shared.db` will be created automatically on the next MCP server startup if it doesn't exist yet.
|
|
70
|
+
|
|
71
|
+
## Per-Project Database Override
|
|
72
|
+
|
|
73
|
+
If you want to keep a project-specific database instead of using the global shared one, set `database.path` in that project's `.sqlew/config.toml`:
|
|
74
|
+
|
|
75
|
+
```toml
|
|
76
|
+
[database]
|
|
77
|
+
path = ".sqlew/sqlew.db" # project-local database
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Config priority
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
1. CLI --db-path argument (highest)
|
|
84
|
+
2. Project .sqlew/config.toml
|
|
85
|
+
3. Worktree parent config
|
|
86
|
+
4. Global ~/.config/sqlew/config.toml
|
|
87
|
+
5. Default: ~/.config/sqlew/sqlew-shared.db (lowest)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Project-level config always overrides global config, so you can use the global shared database by default and opt specific projects out as needed.
|
|
91
|
+
|
|
92
|
+
## FAQ
|
|
93
|
+
|
|
94
|
+
### Can I still use project-local databases?
|
|
95
|
+
|
|
96
|
+
Yes. Set `database.path` in your project's `.sqlew/config.toml` and the global default is bypassed entirely.
|
|
97
|
+
|
|
98
|
+
### What happens to my old `.sqlew/sqlew.db`?
|
|
99
|
+
|
|
100
|
+
It's renamed to `.sqlew/sqlew.db.migrated` after successful migration. You can safely delete it once you've confirmed the global DB has your data.
|
|
101
|
+
|
|
102
|
+
### What about MySQL/PostgreSQL users?
|
|
103
|
+
|
|
104
|
+
No change. External database connections configured in `config.toml` work exactly as before.
|
|
105
|
+
|
|
106
|
+
### Is data shared between projects?
|
|
107
|
+
|
|
108
|
+
Yes, all projects using the default global database share the same `sqlew-shared.db` file. Each project's data is scoped by `project_id`, so there's no data mixing. This is the same model used when multiple projects connect to a shared MySQL/PostgreSQL instance.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sqlew",
|
|
3
3
|
"description": "Automated ADR (Architecture Decision Records) for Claude Code - MCP server with SQL-backed decision repository",
|
|
4
|
-
"version": "5.0
|
|
4
|
+
"version": "5.1.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
@@ -33,7 +33,9 @@
|
|
|
33
33
|
"migrate:make": "npm run knex migrate:make",
|
|
34
34
|
"migrate:latest": "npm run knex migrate:latest",
|
|
35
35
|
"migrate:rollback": "npm run knex migrate:rollback",
|
|
36
|
-
"
|
|
36
|
+
"test:backend": "node --test --test-force-exit --import tsx \"src/tests/backend/**/*.test.ts\" | node scripts/filter-test-output.js",
|
|
37
|
+
"test:backend:verbose": "node --test --test-force-exit --import tsx \"src/tests/backend/**/*.test.ts\"",
|
|
38
|
+
"migrate:status": "npm run knex migrate:status"
|
|
37
39
|
},
|
|
38
40
|
"engines": {
|
|
39
41
|
"node": ">=20.0.0"
|
|
@@ -67,7 +69,6 @@
|
|
|
67
69
|
"@modelcontextprotocol/sdk": "^1.21.1",
|
|
68
70
|
"better-sqlite3": "^12.4.1",
|
|
69
71
|
"chokidar": "^4.0.3",
|
|
70
|
-
"ignore": "^7.0.5",
|
|
71
72
|
"knex": "^3.1.0",
|
|
72
73
|
"knex-schema-inspector": "^3.1.0",
|
|
73
74
|
"mysql2": "^3.15.3",
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Type definitions for authentication system.
|
|
3
|
-
*
|
|
4
|
-
* @deprecated This file has been deprecated as of v3.7.0.
|
|
5
|
-
* All authentication types have been integrated into the main configuration system.
|
|
6
|
-
*
|
|
7
|
-
* **Migration Path:**
|
|
8
|
-
* - OLD: `import type { DatabaseConfig } from './adapters/auth/auth-types.js'`
|
|
9
|
-
* - NEW: `import type { DatabaseConfig } from './config/types.js'`
|
|
10
|
-
*
|
|
11
|
-
* **Available Types in config/types.ts:**
|
|
12
|
-
* - `DatabaseConfig` - Main database configuration interface
|
|
13
|
-
* - `AuthConfig` - Authentication configuration (direct, aws-iam, gcp-iam)
|
|
14
|
-
* - `SSLConfig` - SSL/TLS configuration
|
|
15
|
-
* - `ConnectionConfig` - Database connection parameters
|
|
16
|
-
*
|
|
17
|
-
* **Note:** SSH authentication has been removed. Users must set up SSH tunnels manually.
|
|
18
|
-
*
|
|
19
|
-
* This file is kept for backward compatibility during the transition period
|
|
20
|
-
* and will be removed in v3.8.0. Please update your imports to use `config/types.ts`.
|
|
21
|
-
*
|
|
22
|
-
* **Completed in Task P6.1 #72**
|
|
23
|
-
*
|
|
24
|
-
* @module adapters/auth/auth-types
|
|
25
|
-
* @since v3.7.0
|
|
26
|
-
* @deprecated Use config/types.ts instead
|
|
27
|
-
* @internal
|
|
28
|
-
*/
|
|
29
|
-
export type { SSLConfig, AuthConfig, ConnectionConfig, DatabaseConfig } from '../../config/types.js';
|
|
30
|
-
//# sourceMappingURL=auth-types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth-types.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/auth-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,YAAY,EACV,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,cAAc,EACf,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Type definitions for authentication system.
|
|
3
|
-
*
|
|
4
|
-
* @deprecated This file has been deprecated as of v3.7.0.
|
|
5
|
-
* All authentication types have been integrated into the main configuration system.
|
|
6
|
-
*
|
|
7
|
-
* **Migration Path:**
|
|
8
|
-
* - OLD: `import type { DatabaseConfig } from './adapters/auth/auth-types.js'`
|
|
9
|
-
* - NEW: `import type { DatabaseConfig } from './config/types.js'`
|
|
10
|
-
*
|
|
11
|
-
* **Available Types in config/types.ts:**
|
|
12
|
-
* - `DatabaseConfig` - Main database configuration interface
|
|
13
|
-
* - `AuthConfig` - Authentication configuration (direct, aws-iam, gcp-iam)
|
|
14
|
-
* - `SSLConfig` - SSL/TLS configuration
|
|
15
|
-
* - `ConnectionConfig` - Database connection parameters
|
|
16
|
-
*
|
|
17
|
-
* **Note:** SSH authentication has been removed. Users must set up SSH tunnels manually.
|
|
18
|
-
*
|
|
19
|
-
* This file is kept for backward compatibility during the transition period
|
|
20
|
-
* and will be removed in v3.8.0. Please update your imports to use `config/types.ts`.
|
|
21
|
-
*
|
|
22
|
-
* **Completed in Task P6.1 #72**
|
|
23
|
-
*
|
|
24
|
-
* @module adapters/auth/auth-types
|
|
25
|
-
* @since v3.7.0
|
|
26
|
-
* @deprecated Use config/types.ts instead
|
|
27
|
-
* @internal
|
|
28
|
-
*/
|
|
29
|
-
export {};
|
|
30
|
-
//# sourceMappingURL=auth-types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth-types.js","sourceRoot":"","sources":["../../../src/adapters/auth/auth-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG"}
|
package/dist/cli/db-dump.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { type DatabaseFormat, type ConflictMode } from '../utils/sql-dump/index.js';
|
|
2
|
-
interface DbDumpArgs {
|
|
3
|
-
from?: 'sqlite' | 'mysql' | 'postgresql';
|
|
4
|
-
format: DatabaseFormat;
|
|
5
|
-
output?: string;
|
|
6
|
-
tables?: string;
|
|
7
|
-
'chunk-size'?: number;
|
|
8
|
-
'on-conflict'?: ConflictMode;
|
|
9
|
-
'exclude-schema'?: boolean;
|
|
10
|
-
'db-path'?: string;
|
|
11
|
-
config?: string;
|
|
12
|
-
'max-statements'?: number;
|
|
13
|
-
help?: boolean;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Show help message for db:dump command
|
|
17
|
-
*/
|
|
18
|
-
export declare function showDbDumpHelp(): void;
|
|
19
|
-
/**
|
|
20
|
-
* Parse command-line arguments for db:dump
|
|
21
|
-
*
|
|
22
|
-
* Supports:
|
|
23
|
-
* - Positional: `db:dump mysql dump.sql`
|
|
24
|
-
* - key=value format: `db:dump to=mysql from=sqlite` (npm/PowerShell friendly)
|
|
25
|
-
*/
|
|
26
|
-
export declare function parseDbDumpArgs(args: string[]): DbDumpArgs;
|
|
27
|
-
/**
|
|
28
|
-
* Execute db:dump command
|
|
29
|
-
*/
|
|
30
|
-
export declare function executeDbDump(args: DbDumpArgs): Promise<void>;
|
|
31
|
-
/**
|
|
32
|
-
* Main entry point for db:dump command
|
|
33
|
-
*/
|
|
34
|
-
export declare function dbDumpCommand(args: string[]): Promise<void>;
|
|
35
|
-
export {};
|
|
36
|
-
//# sourceMappingURL=db-dump.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"db-dump.d.ts","sourceRoot":"","sources":["../../src/cli/db-dump.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGrG,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;IACzC,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CA8CrC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA2C1D;AA0HD;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwKnE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjE"}
|