sqlew 5.0.8 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +56 -0
- package/README.md +19 -10
- package/dist/adapters/auth/auth-factory.d.ts +2 -81
- package/dist/adapters/auth/auth-factory.d.ts.map +1 -1
- package/dist/adapters/auth/auth-factory.js +2 -82
- package/dist/adapters/auth/auth-factory.js.map +1 -1
- package/dist/adapters/auth/base-auth-provider.d.ts +18 -303
- package/dist/adapters/auth/base-auth-provider.d.ts.map +1 -1
- package/dist/adapters/auth/base-auth-provider.js +2 -104
- package/dist/adapters/auth/base-auth-provider.js.map +1 -1
- package/dist/adapters/auth/direct-auth-provider.d.ts +4 -348
- package/dist/adapters/auth/direct-auth-provider.d.ts.map +1 -1
- package/dist/adapters/auth/direct-auth-provider.js +6 -356
- package/dist/adapters/auth/direct-auth-provider.js.map +1 -1
- package/dist/adapters/base-adapter.d.ts +31 -598
- package/dist/adapters/base-adapter.d.ts.map +1 -1
- package/dist/adapters/base-adapter.js +10 -458
- package/dist/adapters/base-adapter.js.map +1 -1
- package/dist/adapters/index.d.ts +1 -11
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +1 -11
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/mysql-adapter.d.ts +15 -541
- package/dist/adapters/mysql-adapter.d.ts.map +1 -1
- package/dist/adapters/mysql-adapter.js +24 -561
- package/dist/adapters/mysql-adapter.js.map +1 -1
- package/dist/adapters/postgresql-adapter.d.ts +15 -203
- package/dist/adapters/postgresql-adapter.d.ts.map +1 -1
- package/dist/adapters/postgresql-adapter.js +24 -223
- package/dist/adapters/postgresql-adapter.js.map +1 -1
- package/dist/adapters/sqlite-adapter.d.ts +4 -28
- package/dist/adapters/sqlite-adapter.d.ts.map +1 -1
- package/dist/adapters/sqlite-adapter.js +4 -32
- package/dist/adapters/sqlite-adapter.js.map +1 -1
- package/dist/adapters/types.d.ts +1 -4
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/backend/backend-factory.d.ts +3 -3
- package/dist/backend/backend-factory.js +3 -3
- package/dist/backend/local-backend.d.ts.map +1 -1
- package/dist/backend/local-backend.js +0 -5
- package/dist/backend/local-backend.js.map +1 -1
- package/dist/cli/db-export.d.ts.map +1 -1
- package/dist/cli/db-export.js +54 -32
- package/dist/cli/db-export.js.map +1 -1
- package/dist/cli/db-import.d.ts.map +1 -1
- package/dist/cli/db-import.js +32 -31
- package/dist/cli/db-import.js.map +1 -1
- package/dist/cli/hooks/on-exit-plan.d.ts.map +1 -1
- package/dist/cli/hooks/on-exit-plan.js +42 -1
- package/dist/cli/hooks/on-exit-plan.js.map +1 -1
- package/dist/cli/hooks/on-prompt.d.ts.map +1 -1
- package/dist/cli/hooks/on-prompt.js +5 -0
- package/dist/cli/hooks/on-prompt.js.map +1 -1
- package/dist/cli/hooks/plan-processor.d.ts.map +1 -1
- package/dist/cli/hooks/plan-processor.js +16 -2
- package/dist/cli/hooks/plan-processor.js.map +1 -1
- package/dist/cli/hooks/stdin-parser.d.ts +41 -0
- package/dist/cli/hooks/stdin-parser.d.ts.map +1 -1
- package/dist/cli/hooks/stdin-parser.js +140 -4
- package/dist/cli/hooks/stdin-parser.js.map +1 -1
- package/dist/cli/hooks/track-plan.d.ts +13 -0
- package/dist/cli/hooks/track-plan.d.ts.map +1 -1
- package/dist/cli/hooks/track-plan.js +58 -3
- package/dist/cli/hooks/track-plan.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -12
- package/dist/cli.js.map +1 -1
- package/dist/config/cloud-config-loader.d.ts +8 -8
- package/dist/config/cloud-config-loader.d.ts.map +1 -1
- package/dist/config/cloud-config-loader.js +12 -12
- package/dist/config/cloud-config-loader.js.map +1 -1
- package/dist/config/global-config.d.ts +24 -46
- package/dist/config/global-config.d.ts.map +1 -1
- package/dist/config/global-config.js +174 -56
- package/dist/config/global-config.js.map +1 -1
- package/dist/config/loader.d.ts +1 -18
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +1 -89
- package/dist/config/loader.js.map +1 -1
- package/dist/config/types.d.ts +2 -64
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +0 -18
- package/dist/config/types.js.map +1 -1
- package/dist/database/index.d.ts +1 -2
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js +1 -3
- package/dist/database/index.js.map +1 -1
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.d.ts.map +1 -1
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.js +2 -1
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.js.map +1 -1
- package/dist/database/operations/queries.d.ts +0 -4
- package/dist/database/operations/queries.d.ts.map +1 -1
- package/dist/database/operations/queries.js +0 -8
- package/dist/database/operations/queries.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/init-rules.d.ts.map +1 -1
- package/dist/init-rules.js +0 -1
- package/dist/init-rules.js.map +1 -1
- package/dist/knexfile.d.ts.map +1 -1
- package/dist/knexfile.js +2 -1
- package/dist/knexfile.js.map +1 -1
- package/dist/migration/local-to-global.d.ts +19 -0
- package/dist/migration/local-to-global.d.ts.map +1 -0
- package/dist/migration/local-to-global.js +133 -0
- package/dist/migration/local-to-global.js.map +1 -0
- package/dist/saas-connector/client/types.d.ts +1 -1
- package/dist/saas-connector/client/types.d.ts.map +1 -1
- package/dist/schema.js +1 -1
- package/dist/server/setup.d.ts.map +1 -1
- package/dist/server/setup.js +15 -7
- package/dist/server/setup.js.map +1 -1
- package/dist/tests/backend/backend-factory.test.js +2 -2
- package/dist/tests/backend/backend-factory.test.js.map +1 -1
- package/dist/tests/docker/native/constraint-operations.test.d.ts +2 -17
- package/dist/tests/docker/native/constraint-operations.test.d.ts.map +1 -1
- package/dist/tests/docker/native/constraint-operations.test.js +3 -82
- package/dist/tests/docker/native/constraint-operations.test.js.map +1 -1
- package/dist/tests/docker/native/db-init.d.ts +3 -34
- package/dist/tests/docker/native/db-init.d.ts.map +1 -1
- package/dist/tests/docker/native/db-init.js +15 -77
- package/dist/tests/docker/native/db-init.js.map +1 -1
- package/dist/tests/docker/native/decision-operations.test.d.ts +2 -10
- package/dist/tests/docker/native/decision-operations.test.d.ts.map +1 -1
- package/dist/tests/docker/native/decision-operations.test.js +2 -84
- package/dist/tests/docker/native/decision-operations.test.js.map +1 -1
- package/dist/tests/docker/native/help-system.test.d.ts +2 -5
- package/dist/tests/docker/native/help-system.test.d.ts.map +1 -1
- package/dist/tests/docker/native/help-system.test.js +2 -47
- package/dist/tests/docker/native/help-system.test.js.map +1 -1
- package/dist/tests/docker/native/suggest-tool.test.d.ts +3 -11
- package/dist/tests/docker/native/suggest-tool.test.d.ts.map +1 -1
- package/dist/tests/docker/native/suggest-tool.test.js +3 -60
- package/dist/tests/docker/native/suggest-tool.test.js.map +1 -1
- package/dist/tests/docker/native/test-harness.d.ts +2 -23
- package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
- package/dist/tests/docker/native/test-harness.js +5 -59
- package/dist/tests/docker/native/test-harness.js.map +1 -1
- package/dist/tests/feature/decision/analytics.test.js +2 -1
- package/dist/tests/feature/decision/analytics.test.js.map +1 -1
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.js +2 -7
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.js.map +1 -1
- package/dist/tests/feature/decision/batch-validation.test.js +2 -1
- package/dist/tests/feature/decision/batch-validation.test.js.map +1 -1
- package/dist/tests/integration/auto-trigger-suggestions.test.js +4 -37
- package/dist/tests/integration/auto-trigger-suggestions.test.js.map +1 -1
- package/dist/tests/integration/hybrid-similarity-detection.test.js +2 -1
- package/dist/tests/integration/hybrid-similarity-detection.test.js.map +1 -1
- package/dist/tests/integration/json-export-import.test.d.ts.map +1 -0
- package/dist/tests/integration/json-export-import.test.js.map +1 -0
- package/dist/tests/unit/case-insensitive-validator.test.d.ts +0 -7
- package/dist/tests/unit/case-insensitive-validator.test.d.ts.map +1 -1
- package/dist/tests/unit/case-insensitive-validator.test.js +0 -22
- package/dist/tests/unit/case-insensitive-validator.test.js.map +1 -1
- package/dist/tests/unit/config/cloud-config-loader.test.js +4 -2
- package/dist/tests/unit/config/cloud-config-loader.test.js.map +1 -1
- package/dist/tests/unit/config/global-db-migration.test.d.ts +12 -0
- package/dist/tests/unit/config/global-db-migration.test.d.ts.map +1 -0
- package/dist/tests/unit/config/global-db-migration.test.js +117 -0
- package/dist/tests/unit/config/global-db-migration.test.js.map +1 -0
- package/dist/tests/unit/constraint-scorer.test.d.ts +2 -7
- package/dist/tests/unit/constraint-scorer.test.d.ts.map +1 -1
- package/dist/tests/unit/constraint-scorer.test.js +2 -28
- package/dist/tests/unit/constraint-scorer.test.js.map +1 -1
- package/dist/tests/unit/hooks/grok-hook-normalization.test.d.ts +9 -0
- package/dist/tests/unit/hooks/grok-hook-normalization.test.d.ts.map +1 -0
- package/dist/tests/unit/hooks/grok-hook-normalization.test.js +98 -0
- package/dist/tests/unit/hooks/grok-hook-normalization.test.js.map +1 -0
- package/dist/tests/unit/hooks/grok-plan-template-injection.test.d.ts +7 -0
- package/dist/tests/unit/hooks/grok-plan-template-injection.test.d.ts.map +1 -0
- package/dist/tests/unit/hooks/grok-plan-template-injection.test.js +55 -0
- package/dist/tests/unit/hooks/grok-plan-template-injection.test.js.map +1 -0
- package/dist/tests/unit/universal-knex.test.js +9 -0
- package/dist/tests/unit/universal-knex.test.js.map +1 -1
- package/dist/tests/unit/validation/parameter-validation.test.js +0 -24
- package/dist/tests/unit/validation/parameter-validation.test.js.map +1 -1
- package/dist/tests/utils/db-config.d.ts.map +1 -1
- package/dist/tests/utils/db-config.js +0 -9
- package/dist/tests/utils/db-config.js.map +1 -1
- package/dist/tests/utils/db-import.d.ts.map +1 -1
- package/dist/tests/utils/db-import.js +0 -3
- package/dist/tests/utils/db-import.js.map +1 -1
- package/dist/tests/utils/db-schema.d.ts.map +1 -1
- package/dist/tests/utils/db-schema.js +48 -51
- package/dist/tests/utils/db-schema.js.map +1 -1
- package/dist/tests/utils/db-seeding.d.ts.map +1 -1
- package/dist/tests/utils/db-seeding.js +0 -3
- package/dist/tests/utils/db-seeding.js.map +1 -1
- package/dist/tests/utils/index.d.ts +0 -1
- package/dist/tests/utils/index.d.ts.map +1 -1
- package/dist/tests/utils/index.js +0 -2
- package/dist/tests/utils/index.js.map +1 -1
- package/dist/tests/utils/test-helpers.d.ts +6 -76
- package/dist/tests/utils/test-helpers.d.ts.map +1 -1
- package/dist/tests/utils/test-helpers.js +56 -162
- package/dist/tests/utils/test-helpers.js.map +1 -1
- package/dist/tests/utils/test-lifecycle.d.ts +2 -28
- package/dist/tests/utils/test-lifecycle.d.ts.map +1 -1
- package/dist/tests/utils/test-lifecycle.js +2 -31
- package/dist/tests/utils/test-lifecycle.js.map +1 -1
- package/dist/tools/context/index.d.ts +0 -1
- package/dist/tools/context/index.d.ts.map +1 -1
- package/dist/tools/context/index.js +0 -2
- package/dist/tools/context/index.js.map +1 -1
- package/dist/tools/context/types.d.ts +1 -1
- package/dist/tools/context/types.d.ts.map +1 -1
- package/dist/types/actions.d.ts +6 -29
- package/dist/types/actions.d.ts.map +1 -1
- package/dist/types/actions.js +1 -2
- package/dist/types/actions.js.map +1 -1
- package/dist/types/constraint/params.d.ts +24 -1
- package/dist/types/constraint/params.d.ts.map +1 -1
- package/dist/types/constraint/params.js +3 -0
- package/dist/types/constraint/params.js.map +1 -1
- package/dist/types/constraint/responses.d.ts +18 -1
- package/dist/types/constraint/responses.d.ts.map +1 -1
- package/dist/types/constraint/responses.js +3 -0
- package/dist/types/constraint/responses.js.map +1 -1
- package/dist/types/decision/batch.d.ts +2 -5
- package/dist/types/decision/batch.d.ts.map +1 -1
- package/dist/types/decision/batch.js +3 -3
- package/dist/types/decision/batch.js.map +1 -1
- package/dist/types/decision/params.d.ts +7 -4
- package/dist/types/decision/params.d.ts.map +1 -1
- package/dist/types/decision/responses.d.ts +49 -35
- package/dist/types/decision/responses.d.ts.map +1 -1
- package/dist/types/decision/templates.d.ts +2 -18
- package/dist/types/decision/templates.d.ts.map +1 -1
- package/dist/types/decision/templates.js +3 -3
- package/dist/types/decision/templates.js.map +1 -1
- package/dist/types/enums.d.ts +11 -13
- package/dist/types/enums.d.ts.map +1 -1
- package/dist/types/enums.js +5 -13
- package/dist/types/enums.js.map +1 -1
- package/dist/types/import-export.d.ts +7 -30
- package/dist/types/import-export.d.ts.map +1 -1
- package/dist/types/import-export.js +1 -2
- package/dist/types/import-export.js.map +1 -1
- package/dist/types/index.d.ts +18 -22
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -32
- package/dist/types/index.js.map +1 -1
- package/dist/types/master-entities.d.ts +1 -10
- package/dist/types/master-entities.d.ts.map +1 -1
- package/dist/types/master-entities.js +1 -2
- package/dist/types/master-entities.js.map +1 -1
- package/dist/types/transaction-entities.d.ts +2 -21
- package/dist/types/transaction-entities.d.ts.map +1 -1
- package/dist/types/transaction-entities.js +1 -1
- package/dist/types/validation.d.ts +1 -16
- package/dist/types/validation.d.ts.map +1 -1
- package/dist/types/validation.js +1 -2
- package/dist/types/validation.js.map +1 -1
- package/dist/types/view-entities.d.ts +3 -12
- package/dist/types/view-entities.d.ts.map +1 -1
- package/dist/types/view-entities.js +1 -1
- package/dist/types.d.ts +4 -718
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +5 -39
- package/dist/types.js.map +1 -1
- package/dist/utils/parameter-validator.d.ts +2 -2
- package/dist/utils/parameter-validator.d.ts.map +1 -1
- package/dist/utils/parameter-validator.js.map +1 -1
- package/dist/utils/path-normalize.d.ts +23 -0
- package/dist/utils/path-normalize.d.ts.map +1 -0
- package/dist/utils/path-normalize.js +38 -0
- package/dist/utils/path-normalize.js.map +1 -0
- package/dist/utils/project-root.d.ts +6 -3
- package/dist/utils/project-root.d.ts.map +1 -1
- package/dist/utils/project-root.js +11 -3
- package/dist/utils/project-root.js.map +1 -1
- package/dist/watcher/base-watcher.d.ts +0 -4
- package/dist/watcher/base-watcher.d.ts.map +1 -1
- package/dist/watcher/base-watcher.js +11 -22
- package/dist/watcher/base-watcher.js.map +1 -1
- package/docs/CLI_USAGE.md +27 -107
- package/docs/CONFIGURATION.md +10 -5
- package/docs/DATABASE_AUTH.md +3 -3
- package/docs/HOOKS_GUIDE.md +40 -6
- package/docs/MIGRATION_TO_SAAS.md +2 -2
- package/docs/SHARED_DATABASE.md +108 -0
- package/package.json +4 -3
- package/dist/adapters/auth/auth-types.d.ts +0 -30
- package/dist/adapters/auth/auth-types.d.ts.map +0 -1
- package/dist/adapters/auth/auth-types.js +0 -30
- package/dist/adapters/auth/auth-types.js.map +0 -1
- package/dist/cli/db-dump.d.ts +0 -36
- package/dist/cli/db-dump.d.ts.map +0 -1
- package/dist/cli/db-dump.js +0 -384
- package/dist/cli/db-dump.js.map +0 -1
- package/dist/database/config/config-ops.d.ts +0 -42
- package/dist/database/config/config-ops.d.ts.map +0 -1
- package/dist/database/config/config-ops.js +0 -102
- package/dist/database/config/config-ops.js.map +0 -1
- package/dist/formatters/adr-formatter.d.ts +0 -22
- package/dist/formatters/adr-formatter.d.ts.map +0 -1
- package/dist/formatters/adr-formatter.js +0 -127
- package/dist/formatters/adr-formatter.js.map +0 -1
- package/dist/formatters/confluence-formatter.d.ts +0 -26
- package/dist/formatters/confluence-formatter.d.ts.map +0 -1
- package/dist/formatters/confluence-formatter.js +0 -129
- package/dist/formatters/confluence-formatter.js.map +0 -1
- package/dist/formatters/index.d.ts +0 -34
- package/dist/formatters/index.d.ts.map +0 -1
- package/dist/formatters/index.js +0 -57
- package/dist/formatters/index.js.map +0 -1
- package/dist/formatters/markdown-formatter.d.ts +0 -16
- package/dist/formatters/markdown-formatter.d.ts.map +0 -1
- package/dist/formatters/markdown-formatter.js +0 -110
- package/dist/formatters/markdown-formatter.js.map +0 -1
- package/dist/formatters/notion-formatter.d.ts +0 -29
- package/dist/formatters/notion-formatter.d.ts.map +0 -1
- package/dist/formatters/notion-formatter.js +0 -177
- package/dist/formatters/notion-formatter.js.map +0 -1
- package/dist/formatters/types.d.ts +0 -31
- package/dist/formatters/types.d.ts.map +0 -1
- package/dist/formatters/types.js +0 -6
- package/dist/formatters/types.js.map +0 -1
- package/dist/tests/database/sql-dump/converters.test.d.ts +0 -7
- package/dist/tests/database/sql-dump/converters.test.d.ts.map +0 -1
- package/dist/tests/database/sql-dump/converters.test.js +0 -314
- package/dist/tests/database/sql-dump/converters.test.js.map +0 -1
- package/dist/tests/database/sql-dump/default-conversions.test.d.ts +0 -8
- package/dist/tests/database/sql-dump/default-conversions.test.d.ts.map +0 -1
- package/dist/tests/database/sql-dump/default-conversions.test.js +0 -141
- package/dist/tests/database/sql-dump/default-conversions.test.js.map +0 -1
- package/dist/tests/database/sql-dump/table-ordering.test.d.ts +0 -27
- package/dist/tests/database/sql-dump/table-ordering.test.d.ts.map +0 -1
- package/dist/tests/database/sql-dump/table-ordering.test.js +0 -284
- package/dist/tests/database/sql-dump/table-ordering.test.js.map +0 -1
- package/dist/tests/database/sql-dump/type-conversion.test.d.ts +0 -8
- package/dist/tests/database/sql-dump/type-conversion.test.d.ts.map +0 -1
- package/dist/tests/database/sql-dump/type-conversion.test.js +0 -361
- package/dist/tests/database/sql-dump/type-conversion.test.js.map +0 -1
- package/dist/tests/docker/cross-database.test.d.ts +0 -21
- package/dist/tests/docker/cross-database.test.d.ts.map +0 -1
- package/dist/tests/docker/cross-database.test.js +0 -308
- package/dist/tests/docker/cross-database.test.js.map +0 -1
- package/dist/tests/docker/dump-import.test.d.ts +0 -15
- package/dist/tests/docker/dump-import.test.d.ts.map +0 -1
- package/dist/tests/docker/dump-import.test.js +0 -424
- package/dist/tests/docker/dump-import.test.js.map +0 -1
- package/dist/tests/docker/fk-constraints.test.d.ts +0 -13
- package/dist/tests/docker/fk-constraints.test.d.ts.map +0 -1
- package/dist/tests/docker/fk-constraints.test.js +0 -381
- package/dist/tests/docker/fk-constraints.test.js.map +0 -1
- package/dist/tests/docker/indexes.test.d.ts +0 -12
- package/dist/tests/docker/indexes.test.d.ts.map +0 -1
- package/dist/tests/docker/indexes.test.js +0 -250
- package/dist/tests/docker/indexes.test.js.map +0 -1
- package/dist/tests/docker/integration.test.d.ts +0 -16
- package/dist/tests/docker/integration.test.d.ts.map +0 -1
- package/dist/tests/docker/integration.test.js +0 -323
- package/dist/tests/docker/integration.test.js.map +0 -1
- package/dist/tests/docker/multi-project-migration.test.d.ts +0 -17
- package/dist/tests/docker/multi-project-migration.test.d.ts.map +0 -1
- package/dist/tests/docker/multi-project-migration.test.js +0 -394
- package/dist/tests/docker/multi-project-migration.test.js.map +0 -1
- package/dist/tests/docker/schema-migration.test.d.ts +0 -8
- package/dist/tests/docker/schema-migration.test.d.ts.map +0 -1
- package/dist/tests/docker/schema-migration.test.js +0 -98
- package/dist/tests/docker/schema-migration.test.js.map +0 -1
- package/dist/tests/integration/e2e-workflow1-debug.test.d.ts +0 -5
- package/dist/tests/integration/e2e-workflow1-debug.test.d.ts.map +0 -1
- package/dist/tests/integration/e2e-workflow1-debug.test.js +0 -85
- package/dist/tests/integration/e2e-workflow1-debug.test.js.map +0 -1
- package/dist/tests/integration/suggest-simple.test.d.ts +0 -5
- package/dist/tests/integration/suggest-simple.test.d.ts.map +0 -1
- package/dist/tests/integration/suggest-simple.test.js +0 -90
- package/dist/tests/integration/suggest-simple.test.js.map +0 -1
- package/dist/tests/migrations/test-all-versions-real.d.ts +0 -8
- package/dist/tests/migrations/test-all-versions-real.d.ts.map +0 -1
- package/dist/tests/migrations/test-all-versions-real.js +0 -236
- package/dist/tests/migrations/test-all-versions-real.js.map +0 -1
- package/dist/tests/migrations/test-all-versions.d.ts +0 -14
- package/dist/tests/migrations/test-all-versions.d.ts.map +0 -1
- package/dist/tests/migrations/test-all-versions.js +0 -519
- package/dist/tests/migrations/test-all-versions.js.map +0 -1
- package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts +0 -7
- package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts.map +0 -1
- package/dist/tests/migrations/v4/v4-fresh-install.test.js +0 -168
- package/dist/tests/migrations/v4/v4-fresh-install.test.js.map +0 -1
- package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts +0 -13
- package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts.map +0 -1
- package/dist/tests/migrations/v4/v4-migrate-data.test.js +0 -264
- package/dist/tests/migrations/v4/v4-migrate-data.test.js.map +0 -1
- package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts +0 -2
- package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts.map +0 -1
- package/dist/tests/unit/utils/case-insensitive-validator.test.js +0 -97
- package/dist/tests/unit/utils/case-insensitive-validator.test.js.map +0 -1
- package/dist/tests/utils/json-export-import.test.d.ts.map +0 -1
- package/dist/tests/utils/json-export-import.test.js.map +0 -1
- package/dist/tests/utils/task-helpers.d.ts +0 -67
- package/dist/tests/utils/task-helpers.d.ts.map +0 -1
- package/dist/tests/utils/task-helpers.js +0 -134
- package/dist/tests/utils/task-helpers.js.map +0 -1
- package/dist/tools/context/actions/export.d.ts +0 -35
- package/dist/tools/context/actions/export.d.ts.map +0 -1
- package/dist/tools/context/actions/export.js +0 -93
- package/dist/tools/context/actions/export.js.map +0 -1
- package/dist/types/file/params.d.ts +0 -40
- package/dist/types/file/params.d.ts.map +0 -1
- package/dist/types/file/params.js +0 -6
- package/dist/types/file/params.js.map +0 -1
- package/dist/types/file/responses.d.ts +0 -2
- package/dist/types/file/responses.d.ts.map +0 -1
- package/dist/types/file/responses.js +0 -2
- package/dist/types/file/responses.js.map +0 -1
- package/dist/types/task/params.d.ts +0 -173
- package/dist/types/task/params.d.ts.map +0 -1
- package/dist/types/task/params.js +0 -8
- package/dist/types/task/params.js.map +0 -1
- package/dist/types/task/responses.d.ts +0 -334
- package/dist/types/task/responses.d.ts.map +0 -1
- package/dist/types/task/responses.js +0 -8
- package/dist/types/task/responses.js.map +0 -1
- package/dist/utils/sql-dump/core/dependency-sort.d.ts +0 -16
- package/dist/utils/sql-dump/core/dependency-sort.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/dependency-sort.js +0 -105
- package/dist/utils/sql-dump/core/dependency-sort.js.map +0 -1
- package/dist/utils/sql-dump/core/generate-dump.d.ts +0 -13
- package/dist/utils/sql-dump/core/generate-dump.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/generate-dump.js +0 -201
- package/dist/utils/sql-dump/core/generate-dump.js.map +0 -1
- package/dist/utils/sql-dump/core/index-export.d.ts +0 -10
- package/dist/utils/sql-dump/core/index-export.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/index-export.js +0 -173
- package/dist/utils/sql-dump/core/index-export.js.map +0 -1
- package/dist/utils/sql-dump/core/sequence-reset.d.ts +0 -6
- package/dist/utils/sql-dump/core/sequence-reset.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/sequence-reset.js +0 -28
- package/dist/utils/sql-dump/core/sequence-reset.js.map +0 -1
- package/dist/utils/sql-dump/core/table-export.d.ts +0 -2
- package/dist/utils/sql-dump/core/table-export.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/table-export.js +0 -4
- package/dist/utils/sql-dump/core/table-export.js.map +0 -1
- package/dist/utils/sql-dump/core/view-export.d.ts +0 -2
- package/dist/utils/sql-dump/core/view-export.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/view-export.js +0 -4
- package/dist/utils/sql-dump/core/view-export.js.map +0 -1
- package/dist/utils/sql-dump/formatters/bulk-insert.d.ts +0 -14
- package/dist/utils/sql-dump/formatters/bulk-insert.d.ts.map +0 -1
- package/dist/utils/sql-dump/formatters/bulk-insert.js +0 -177
- package/dist/utils/sql-dump/formatters/bulk-insert.js.map +0 -1
- package/dist/utils/sql-dump/formatters/identifiers.d.ts +0 -6
- package/dist/utils/sql-dump/formatters/identifiers.d.ts.map +0 -1
- package/dist/utils/sql-dump/formatters/identifiers.js +0 -16
- package/dist/utils/sql-dump/formatters/identifiers.js.map +0 -1
- package/dist/utils/sql-dump/formatters/value-formatter.d.ts +0 -14
- package/dist/utils/sql-dump/formatters/value-formatter.d.ts.map +0 -1
- package/dist/utils/sql-dump/formatters/value-formatter.js +0 -281
- package/dist/utils/sql-dump/formatters/value-formatter.js.map +0 -1
- package/dist/utils/sql-dump/generators/controls.d.ts +0 -10
- package/dist/utils/sql-dump/generators/controls.d.ts.map +0 -1
- package/dist/utils/sql-dump/generators/controls.js +0 -36
- package/dist/utils/sql-dump/generators/controls.js.map +0 -1
- package/dist/utils/sql-dump/generators/headers.d.ts +0 -6
- package/dist/utils/sql-dump/generators/headers.d.ts.map +0 -1
- package/dist/utils/sql-dump/generators/headers.js +0 -19
- package/dist/utils/sql-dump/generators/headers.js.map +0 -1
- package/dist/utils/sql-dump/index.d.ts +0 -14
- package/dist/utils/sql-dump/index.d.ts.map +0 -1
- package/dist/utils/sql-dump/index.js +0 -16
- package/dist/utils/sql-dump/index.js.map +0 -1
- package/dist/utils/sql-dump/schema/indexes.d.ts +0 -20
- package/dist/utils/sql-dump/schema/indexes.d.ts.map +0 -1
- package/dist/utils/sql-dump/schema/indexes.js +0 -108
- package/dist/utils/sql-dump/schema/indexes.js.map +0 -1
- package/dist/utils/sql-dump/schema/primary-keys.d.ts +0 -6
- package/dist/utils/sql-dump/schema/primary-keys.d.ts.map +0 -1
- package/dist/utils/sql-dump/schema/primary-keys.js +0 -41
- package/dist/utils/sql-dump/schema/primary-keys.js.map +0 -1
- package/dist/utils/sql-dump/schema/tables.d.ts +0 -15
- package/dist/utils/sql-dump/schema/tables.d.ts.map +0 -1
- package/dist/utils/sql-dump/schema/tables.js +0 -518
- package/dist/utils/sql-dump/schema/tables.js.map +0 -1
- package/dist/utils/sql-dump/schema/views.d.ts +0 -11
- package/dist/utils/sql-dump/schema/views.d.ts.map +0 -1
- package/dist/utils/sql-dump/schema/views.js +0 -116
- package/dist/utils/sql-dump/schema/views.js.map +0 -1
- package/dist/utils/sql-dump/types.d.ts +0 -10
- package/dist/utils/sql-dump/types.d.ts.map +0 -1
- package/dist/utils/sql-dump/types.js +0 -3
- package/dist/utils/sql-dump/types.js.map +0 -1
- package/dist/utils/sql-dump-converters.d.ts +0 -188
- package/dist/utils/sql-dump-converters.d.ts.map +0 -1
- package/dist/utils/sql-dump-converters.js +0 -315
- package/dist/utils/sql-dump-converters.js.map +0 -1
- package/dist/watcher/gitignore-parser.d.ts +0 -70
- package/dist/watcher/gitignore-parser.d.ts.map +0 -1
- package/dist/watcher/gitignore-parser.js +0 -195
- package/dist/watcher/gitignore-parser.js.map +0 -1
- package/dist/watcher/index.d.ts +0 -9
- package/dist/watcher/index.d.ts.map +0 -1
- package/dist/watcher/index.js +0 -8
- package/dist/watcher/index.js.map +0 -1
- /package/dist/tests/{utils → integration}/json-export-import.test.d.ts +0 -0
- /package/dist/tests/{utils → integration}/json-export-import.test.js +0 -0
package/docs/CLI_USAGE.md
CHANGED
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
sqlew provides CLI commands for database operations that complement the main MCP server. The primary use of sqlew is as an **MCP server** (integrated via `.mcp.json`), but these CLI commands handle:
|
|
8
8
|
|
|
9
9
|
- **Data Export/Import** — JSON-based project data migration (cross-database supported)
|
|
10
|
-
- **SQL Dump** — Full database backup with schema (same-database-type only)
|
|
11
10
|
|
|
12
11
|
## Commands
|
|
13
12
|
|
|
@@ -15,7 +14,6 @@ sqlew provides CLI commands for database operations that complement the main MCP
|
|
|
15
14
|
|---------|---------|----------|
|
|
16
15
|
| `db:export` | JSON export (recommended for migration) | ✅ |
|
|
17
16
|
| `db:import` | JSON import (recommended for migration) | ✅ |
|
|
18
|
-
| `db:dump` | SQL dump (backup/restore) | ❌ Same-DB only |
|
|
19
17
|
|
|
20
18
|
### Running CLI Commands
|
|
21
19
|
|
|
@@ -23,15 +21,9 @@ sqlew provides CLI commands for database operations that complement the main MCP
|
|
|
23
21
|
# Direct use (global install or npx)
|
|
24
22
|
sqlew db:export backup.json
|
|
25
23
|
sqlew db:import backup.json
|
|
26
|
-
sqlew db:dump sqlite backup.sql
|
|
27
|
-
|
|
28
|
-
# Via npm scripts (within mcp-sqlew project)
|
|
29
|
-
npm run db:export -- backup.json
|
|
30
|
-
npm run db:import -- backup.json
|
|
31
|
-
npm run db:dump -- sqlite backup.sql
|
|
32
24
|
```
|
|
33
25
|
|
|
34
|
-
**Note**: The first argument determines the mode — `db:export`, `db:import
|
|
26
|
+
**Note**: The first argument determines the mode — `db:export`, `db:import` enter CLI mode; no argument starts the MCP server.
|
|
35
27
|
|
|
36
28
|
---
|
|
37
29
|
|
|
@@ -47,10 +39,13 @@ sqlew db:export [output-file] [key=value ...]
|
|
|
47
39
|
|
|
48
40
|
| Option | Description | Default |
|
|
49
41
|
|--------|-------------|---------|
|
|
50
|
-
| `project=<name>` | Export specific project by name |
|
|
51
|
-
| `
|
|
42
|
+
| `project=<name>` | Export specific project by name | Auto-detect from `config.toml` |
|
|
43
|
+
| `project=all` | Export all projects (explicit opt-in) | — |
|
|
44
|
+
| `db-path=<path>` | Database file path | `~/.config/sqlew/sqlew-shared.db` |
|
|
52
45
|
| `config=<path>` | Config file path | Auto-detect |
|
|
53
46
|
|
|
47
|
+
> **Security (v5.1.0+)**: With the global shared database, `db:export` no longer exports all projects by default. It auto-detects the project name from `.sqlew/config.toml` `[project].name`. To export all projects, you must explicitly specify `project=all`.
|
|
48
|
+
|
|
54
49
|
### What Gets Exported
|
|
55
50
|
|
|
56
51
|
- **Master Tables** (filtered to used entries): m_context_keys, m_tags, m_scopes, m_layers, m_projects
|
|
@@ -60,12 +55,15 @@ sqlew db:export [output-file] [key=value ...]
|
|
|
60
55
|
### Examples
|
|
61
56
|
|
|
62
57
|
```bash
|
|
63
|
-
# Export
|
|
58
|
+
# Export current project (auto-detect from .sqlew/config.toml)
|
|
64
59
|
sqlew db:export backup.json
|
|
65
60
|
|
|
66
61
|
# Export specific project
|
|
67
62
|
sqlew db:export backup.json project=my-project
|
|
68
63
|
|
|
64
|
+
# Export all projects (explicit)
|
|
65
|
+
sqlew db:export backup.json project=all
|
|
66
|
+
|
|
69
67
|
# Export to stdout
|
|
70
68
|
sqlew db:export project=my-project
|
|
71
69
|
```
|
|
@@ -119,7 +117,7 @@ sqlew db:import backup.json project-name=new-name
|
|
|
119
117
|
sqlew db:import backup.json dry-run=true
|
|
120
118
|
```
|
|
121
119
|
|
|
122
|
-
**⚠️ Important**: Import uses `skip-if-exists=true` by default — it skips if the project name already exists.
|
|
120
|
+
**⚠️ Important**: Import uses `skip-if-exists=true` by default — it skips if the project name already exists. For full backup/restore, use a file copy of the SQLite database.
|
|
123
121
|
|
|
124
122
|
---
|
|
125
123
|
|
|
@@ -139,7 +137,11 @@ sqlew db:import backup.json dry-run=true
|
|
|
139
137
|
**Step 1: Export from SQLite**
|
|
140
138
|
|
|
141
139
|
```bash
|
|
140
|
+
# Exports current project (from .sqlew/config.toml [project].name)
|
|
142
141
|
sqlew db:export migration-backup.json
|
|
142
|
+
|
|
143
|
+
# Or export all projects for full migration
|
|
144
|
+
sqlew db:export migration-backup.json project=all
|
|
143
145
|
```
|
|
144
146
|
|
|
145
147
|
**Step 2: Prepare MySQL**
|
|
@@ -183,7 +185,11 @@ sqlew db:import migration-backup.json
|
|
|
183
185
|
**Step 1: Export from SQLite**
|
|
184
186
|
|
|
185
187
|
```bash
|
|
188
|
+
# Exports current project (from .sqlew/config.toml [project].name)
|
|
186
189
|
sqlew db:export migration-backup.json
|
|
190
|
+
|
|
191
|
+
# Or export all projects for full migration
|
|
192
|
+
sqlew db:export migration-backup.json project=all
|
|
187
193
|
```
|
|
188
194
|
|
|
189
195
|
**Step 2: Prepare PostgreSQL**
|
|
@@ -229,7 +235,11 @@ sqlew db:import migration-backup.json
|
|
|
229
235
|
Configure `.sqlew/config.toml` for MySQL, then:
|
|
230
236
|
|
|
231
237
|
```bash
|
|
238
|
+
# Exports current project (from .sqlew/config.toml [project].name)
|
|
232
239
|
sqlew db:export migration-backup.json
|
|
240
|
+
|
|
241
|
+
# Or export all projects for full migration
|
|
242
|
+
sqlew db:export migration-backup.json project=all
|
|
233
243
|
```
|
|
234
244
|
|
|
235
245
|
**Step 2: Prepare PostgreSQL**
|
|
@@ -293,96 +303,6 @@ Update `.mcp.json` to use the new database:
|
|
|
293
303
|
|
|
294
304
|
---
|
|
295
305
|
|
|
296
|
-
## SQL Dump (`db:dump`) — Same-Database Only
|
|
297
|
-
|
|
298
|
-
> **v4.0.2+**: `db:dump` supports **same-database-type backup/restore only**. For cross-database migration, use JSON export/import above.
|
|
299
|
-
|
|
300
|
-
### Syntax
|
|
301
|
-
|
|
302
|
-
```bash
|
|
303
|
-
sqlew db:dump <format> [output-file] [key=value ...]
|
|
304
|
-
```
|
|
305
|
-
|
|
306
|
-
### Options
|
|
307
|
-
|
|
308
|
-
| Parameter | Description | Default |
|
|
309
|
-
|-----------|-------------|---------|
|
|
310
|
-
| `<format>` | Target SQL format: sqlite, mysql, postgresql | **Required** |
|
|
311
|
-
| `[output-file]` | Output file path | stdout |
|
|
312
|
-
| `from=<source>` | Source database type | sqlite |
|
|
313
|
-
| `tables=<list>` | Comma-separated table names | All tables |
|
|
314
|
-
| `chunk-size=<n>` | Rows per INSERT statement | 100 |
|
|
315
|
-
| `on-conflict=<mode>` | error, ignore, replace | error |
|
|
316
|
-
| `exclude-schema=true` | Data-only dump (no CREATE TABLE) | false |
|
|
317
|
-
| `db-path=<path>` | SQLite database path | .sqlew/sqlew.db |
|
|
318
|
-
|
|
319
|
-
### Supported Operations
|
|
320
|
-
|
|
321
|
-
| Source | Target | Supported |
|
|
322
|
-
|--------|--------|-----------|
|
|
323
|
-
| SQLite | SQLite | ✅ |
|
|
324
|
-
| MySQL | MySQL | ✅ |
|
|
325
|
-
| PostgreSQL | PostgreSQL | ✅ |
|
|
326
|
-
| Cross-database | Any | ❌ Use JSON |
|
|
327
|
-
|
|
328
|
-
### Examples
|
|
329
|
-
|
|
330
|
-
```bash
|
|
331
|
-
# SQLite backup
|
|
332
|
-
sqlew db:dump sqlite backup.sql
|
|
333
|
-
|
|
334
|
-
# MySQL backup
|
|
335
|
-
sqlew db:dump mysql backup.sql from=mysql
|
|
336
|
-
|
|
337
|
-
# PostgreSQL backup
|
|
338
|
-
sqlew db:dump postgresql backup.sql from=postgresql
|
|
339
|
-
|
|
340
|
-
# Selective table export
|
|
341
|
-
sqlew db:dump sqlite partial.sql tables=m_projects,t_decisions
|
|
342
|
-
|
|
343
|
-
# Ignore duplicates on import
|
|
344
|
-
sqlew db:dump sqlite dump.sql on-conflict=ignore
|
|
345
|
-
```
|
|
346
|
-
|
|
347
|
-
### Importing SQL Dumps
|
|
348
|
-
|
|
349
|
-
```bash
|
|
350
|
-
# SQLite
|
|
351
|
-
sqlite3 your-database.db < dump-sqlite.sql
|
|
352
|
-
|
|
353
|
-
# MySQL
|
|
354
|
-
mysql -e "CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
|
|
355
|
-
mysql mydb < dump-mysql.sql
|
|
356
|
-
|
|
357
|
-
# PostgreSQL
|
|
358
|
-
createdb mydb
|
|
359
|
-
psql -d mydb -f dump-pg.sql
|
|
360
|
-
```
|
|
361
|
-
|
|
362
|
-
### Conflict Resolution
|
|
363
|
-
|
|
364
|
-
| Mode | Behavior |
|
|
365
|
-
|------|----------|
|
|
366
|
-
| `error` (default) | Fails on duplicate keys |
|
|
367
|
-
| `ignore` | Skips duplicate rows |
|
|
368
|
-
| `replace` | Updates existing rows with new values |
|
|
369
|
-
|
|
370
|
-
---
|
|
371
|
-
|
|
372
|
-
## Comparison: JSON vs SQL Dump
|
|
373
|
-
|
|
374
|
-
| Feature | db:export (JSON) | db:dump (SQL) |
|
|
375
|
-
|---------|-----------------|---------------|
|
|
376
|
-
| Format | JSON data only | SQL DDL + data |
|
|
377
|
-
| Schema | Not included | Full schema |
|
|
378
|
-
| Cross-DB | ✅ Yes | ❌ Same-DB only |
|
|
379
|
-
| Use Case | Migration, sharing | Backup/restore |
|
|
380
|
-
| Size | Smaller (~40% reduction) | Larger |
|
|
381
|
-
| Conflict Handling | Smart deduplication | Overwrite or fail |
|
|
382
|
-
| Restore | Skips if exists | Full restore |
|
|
383
|
-
|
|
384
|
-
---
|
|
385
|
-
|
|
386
306
|
## Use Cases
|
|
387
307
|
|
|
388
308
|
### Project Sharing
|
|
@@ -410,11 +330,11 @@ sqlew db:import /tmp/b.json
|
|
|
410
330
|
### Full Database Backup
|
|
411
331
|
|
|
412
332
|
```bash
|
|
413
|
-
#
|
|
414
|
-
sqlew
|
|
333
|
+
# Simple file copy (SQLite global DB)
|
|
334
|
+
cp ~/.config/sqlew/sqlew-shared.db ~/backup-$(date +%Y%m%d).db
|
|
415
335
|
|
|
416
|
-
# Or
|
|
417
|
-
|
|
336
|
+
# Or JSON export (cross-database compatible, all projects)
|
|
337
|
+
sqlew db:export backup-$(date +%Y%m%d).json project=all
|
|
418
338
|
```
|
|
419
339
|
|
|
420
340
|
---
|
package/docs/CONFIGURATION.md
CHANGED
|
@@ -42,11 +42,15 @@ display_name = "My Project" # Optional. Human-readable name (spaces allowed
|
|
|
42
42
|
|
|
43
43
|
### SQLite (Default)
|
|
44
44
|
|
|
45
|
+
As of v5.1.0, the default database is `~/.config/sqlew/sqlew-shared.db` (shared). To override with a project-local database:
|
|
46
|
+
|
|
45
47
|
```toml
|
|
46
48
|
[database]
|
|
47
49
|
path = ".sqlew/sqlew.db" # Relative to project root, or absolute path
|
|
48
50
|
```
|
|
49
51
|
|
|
52
|
+
See [Shared Database](./SHARED_DATABASE.md) for migration guide and details.
|
|
53
|
+
|
|
50
54
|
### PostgreSQL / MySQL / MariaDB
|
|
51
55
|
|
|
52
56
|
```toml
|
|
@@ -123,7 +127,7 @@ node dist/index.js --autodelete-ignore-weekend --autodelete-message-hours=48
|
|
|
123
127
|
|
|
124
128
|
| Variable | Description | Source |
|
|
125
129
|
|----------|-------------|--------|
|
|
126
|
-
| `SQLEW_API_KEY` | API key for cloud backend (`database.type = "cloud"`) | `~/.sqlew.env` or environment |
|
|
130
|
+
| `SQLEW_API_KEY` | API key for cloud backend (`database.type = "cloud"`) | `~/.config/sqlew/.sqlew.env` or environment |
|
|
127
131
|
| `SQLEW_DEBUG` | Debug log file path (overrides `debug.log_path` in config) | Environment only |
|
|
128
132
|
|
|
129
133
|
### SQLEW_API_KEY
|
|
@@ -131,22 +135,23 @@ node dist/index.js --autodelete-ignore-weekend --autodelete-message-hours=48
|
|
|
131
135
|
Used when `database.type = "cloud"`. Loaded in this priority:
|
|
132
136
|
|
|
133
137
|
1. Environment variable `SQLEW_API_KEY`
|
|
134
|
-
2. `~/.sqlew.env` file (key=value format)
|
|
138
|
+
2. `~/.config/sqlew/.sqlew.env` file (key=value format)
|
|
135
139
|
|
|
136
140
|
```bash
|
|
137
|
-
# ~/.sqlew.env
|
|
141
|
+
# ~/.config/sqlew/.sqlew.env
|
|
138
142
|
SQLEW_API_KEY=sk-your-api-key-here
|
|
139
143
|
```
|
|
140
144
|
|
|
141
|
-
On Unix systems, ensure `~/.sqlew.env` has `600` permissions:
|
|
145
|
+
On Unix systems, ensure `~/.config/sqlew/.sqlew.env` has `600` permissions:
|
|
142
146
|
|
|
143
147
|
```bash
|
|
144
|
-
chmod 600 ~/.sqlew.env
|
|
148
|
+
chmod 600 ~/.config/sqlew/.sqlew.env
|
|
145
149
|
```
|
|
146
150
|
|
|
147
151
|
---
|
|
148
152
|
|
|
149
153
|
## Related Documentation
|
|
150
154
|
|
|
155
|
+
- [Shared Database](./SHARED_DATABASE.md) — Global shared database, migration guide, per-project override
|
|
151
156
|
- [Database Authentication](./DATABASE_AUTH.md) — Detailed auth config (SSH tunnel, validation rules, security)
|
|
152
157
|
- [Architecture](./ARCHITECTURE.md) — System design overview
|
package/docs/DATABASE_AUTH.md
CHANGED
|
@@ -64,10 +64,10 @@ The cloud backend handles authentication, encryption, and scaling — no local d
|
|
|
64
64
|
|
|
65
65
|
1. Obtain an API key from the [sqlew dashboard](https://sqlew.io)
|
|
66
66
|
|
|
67
|
-
2. Save the key to `~/.sqlew.env`:
|
|
67
|
+
2. Save the key to `~/.config/sqlew/.sqlew.env`:
|
|
68
68
|
```bash
|
|
69
|
-
echo 'SQLEW_API_KEY=sk-your-api-key' >> ~/.sqlew.env
|
|
70
|
-
chmod 600 ~/.sqlew.env # Unix only
|
|
69
|
+
echo 'SQLEW_API_KEY=sk-your-api-key' >> ~/.config/sqlew/.sqlew.env
|
|
70
|
+
chmod 600 ~/.config/sqlew/.sqlew.env # Unix only
|
|
71
71
|
```
|
|
72
72
|
|
|
73
73
|
3. Set database type in `.sqlew/config.toml`:
|
package/docs/HOOKS_GUIDE.md
CHANGED
|
@@ -51,17 +51,51 @@ To uninstall, remove the copied skill directories and config entries.
|
|
|
51
51
|
|
|
52
52
|
Source: https://github.com/sqlew-io/sqlew-codex
|
|
53
53
|
|
|
54
|
+
## Grok Build
|
|
55
|
+
|
|
56
|
+
sqlew-plugin provides unified support for Claude Code and Grok Build (v5.2+).
|
|
57
|
+
No separate adapter is required.
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npm i -g sqlew
|
|
61
|
+
grok plugin install sqlew-io/sqlew-plugin --trust
|
|
62
|
+
grok plugin update
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
For local development, install from a cloned directory instead:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
git clone https://github.com/sqlew-io/sqlew-plugin.git
|
|
69
|
+
grok plugin install ./sqlew-plugin --trust
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Verify installation:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
grok plugin list # sqlew enabled + trusted
|
|
76
|
+
grok inspect # hooks, MCP, skills visible
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Important**:
|
|
80
|
+
- Do NOT register sqlew hooks in `~/.grok/hooks/` (causes double-firing with plugin hooks)
|
|
81
|
+
- Do NOT add `[mcp_servers.sqlew]` to `~/.grok/config.toml` (plugin `.mcp.json` handles MCP)
|
|
82
|
+
- Plan mode guidance uses plugin skills (`sqlew-plan-guidance`, `sqlew-decision-format`), not hook injection
|
|
83
|
+
- Plan-to-ADR extracts `### 📌 Decision:` / `### 🚫 Constraint:` from `plan.md` on `exit_plan_mode`
|
|
84
|
+
|
|
85
|
+
Source: https://github.com/sqlew-io/sqlew-plugin
|
|
86
|
+
|
|
54
87
|
## What Gets Configured
|
|
55
88
|
|
|
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) |
|
|
89
|
+
| Feature | Claude Code | Codex | Grok Build |
|
|
90
|
+
|---------|-------------|-------|------------|
|
|
91
|
+
| MCP server | Auto-configured | Manual (config.toml) | Plugin `.mcp.json` |
|
|
92
|
+
| Plan-to-ADR | Skills + Hooks | Skills + System prompt | Skills + Hooks |
|
|
93
|
+
| PR enrichment | Skill (sqlew-pr-adr) | Skill (sqlew-pr-adr) | Skill (sqlew-pr-adr) |
|
|
94
|
+
| Decision format guidance | Skill (sqlew-decision-format) | Skill (sqlew-decision-format) | Skill (sqlew-decision-format) |
|
|
62
95
|
|
|
63
96
|
## Version History
|
|
64
97
|
|
|
98
|
+
- **v5.2.0**: Grok Build support via sqlew-plugin (hook normalization, Grok plan path, skills-based plan guidance)
|
|
65
99
|
- **v5.0.0**: Plugin-first architecture (sqlew-plugin for Claude Code, sqlew-codex for Codex)
|
|
66
100
|
- **v4.3.0**: Plan-to-ADR - Automatic ADR from Plan Mode
|
|
67
101
|
- **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?
|
|
@@ -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
|
-
"description": "Automated ADR (Architecture Decision Records) for
|
|
4
|
-
"version": "5.0
|
|
3
|
+
"description": "Automated ADR (Architecture Decision Records) for AI Coding Agents - MCP server with SQL-backed decision repository",
|
|
4
|
+
"version": "5.2.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
@@ -33,6 +33,8 @@
|
|
|
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
|
+
"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\"",
|
|
36
38
|
"migrate:status": "npm run knex migrate:status"
|
|
37
39
|
},
|
|
38
40
|
"engines": {
|
|
@@ -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"}
|