sqlew 4.0.0 → 4.0.2

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.
Files changed (92) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/README.md +12 -8
  3. package/dist/cli/db-dump.d.ts +4 -0
  4. package/dist/cli/db-dump.d.ts.map +1 -1
  5. package/dist/cli/db-dump.js +89 -114
  6. package/dist/cli/db-dump.js.map +1 -1
  7. package/dist/cli/db-export.d.ts +1 -0
  8. package/dist/cli/db-export.d.ts.map +1 -1
  9. package/dist/cli/db-export.js +46 -80
  10. package/dist/cli/db-export.js.map +1 -1
  11. package/dist/cli/db-import.d.ts +1 -0
  12. package/dist/cli/db-import.d.ts.map +1 -1
  13. package/dist/cli/db-import.js +52 -90
  14. package/dist/cli/db-import.js.map +1 -1
  15. package/dist/cli.d.ts +10 -1
  16. package/dist/cli.d.ts.map +1 -1
  17. package/dist/cli.js +57 -59
  18. package/dist/cli.js.map +1 -1
  19. package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.d.ts.map +1 -1
  20. package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.js +7 -4
  21. package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.js.map +1 -1
  22. package/dist/database/migrations/v4/20251128000000_drop_all_views.d.ts +24 -0
  23. package/dist/database/migrations/v4/20251128000000_drop_all_views.d.ts.map +1 -0
  24. package/dist/database/migrations/v4/20251128000000_drop_all_views.js +67 -0
  25. package/dist/database/migrations/v4/20251128000000_drop_all_views.js.map +1 -0
  26. package/dist/database/operations/inserts.d.ts.map +1 -1
  27. package/dist/database/operations/inserts.js +7 -0
  28. package/dist/database/operations/inserts.js.map +1 -1
  29. package/dist/index.d.ts +4 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +70 -48
  32. package/dist/index.js.map +1 -1
  33. package/dist/tests/database/testing-config.d.ts +4 -0
  34. package/dist/tests/database/testing-config.d.ts.map +1 -1
  35. package/dist/tests/database/testing-config.js +1 -1
  36. package/dist/tests/database/testing-config.js.map +1 -1
  37. package/dist/tests/docker/native/test-harness.d.ts +56 -1
  38. package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
  39. package/dist/tests/docker/native/test-harness.js +221 -5
  40. package/dist/tests/docker/native/test-harness.js.map +1 -1
  41. package/dist/tests/feature/vcs/git-aware-completion.test.js +33 -0
  42. package/dist/tests/feature/vcs/git-aware-completion.test.js.map +1 -1
  43. package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts +2 -0
  44. package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts.map +1 -0
  45. package/dist/tests/unit/utils/case-insensitive-validator.test.js +97 -0
  46. package/dist/tests/unit/utils/case-insensitive-validator.test.js.map +1 -0
  47. package/dist/tools/constraints/actions/get.d.ts +2 -2
  48. package/dist/tools/constraints/actions/get.d.ts.map +1 -1
  49. package/dist/tools/constraints/actions/get.js +56 -19
  50. package/dist/tools/constraints/actions/get.js.map +1 -1
  51. package/dist/tools/context/actions/create-policy.d.ts.map +1 -1
  52. package/dist/tools/context/actions/create-policy.js +5 -1
  53. package/dist/tools/context/actions/create-policy.js.map +1 -1
  54. package/dist/tools/files/actions/get.d.ts +2 -2
  55. package/dist/tools/files/actions/get.d.ts.map +1 -1
  56. package/dist/tools/files/actions/get.js +22 -51
  57. package/dist/tools/files/actions/get.js.map +1 -1
  58. package/dist/types.d.ts +10 -6
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/utils/case-insensitive-validator.d.ts +102 -0
  61. package/dist/utils/case-insensitive-validator.d.ts.map +1 -0
  62. package/dist/utils/case-insensitive-validator.js +144 -0
  63. package/dist/utils/case-insensitive-validator.js.map +1 -0
  64. package/dist/utils/exporter/export.d.ts +22 -7
  65. package/dist/utils/exporter/export.d.ts.map +1 -1
  66. package/dist/utils/exporter/export.js +33 -49
  67. package/dist/utils/exporter/export.js.map +1 -1
  68. package/dist/utils/importer/import.js +64 -27
  69. package/dist/utils/importer/import.js.map +1 -1
  70. package/dist/utils/importer/master-tables.d.ts +3 -1
  71. package/dist/utils/importer/master-tables.d.ts.map +1 -1
  72. package/dist/utils/importer/master-tables.js +7 -29
  73. package/dist/utils/importer/master-tables.js.map +1 -1
  74. package/dist/utils/sql-dump/core/generate-dump.d.ts.map +1 -1
  75. package/dist/utils/sql-dump/core/generate-dump.js +25 -5
  76. package/dist/utils/sql-dump/core/generate-dump.js.map +1 -1
  77. package/dist/utils/sql-dump/core/index-export.d.ts +3 -2
  78. package/dist/utils/sql-dump/core/index-export.d.ts.map +1 -1
  79. package/dist/utils/sql-dump/core/index-export.js +9 -9
  80. package/dist/utils/sql-dump/core/index-export.js.map +1 -1
  81. package/dist/utils/sql-dump/schema/indexes.d.ts +14 -0
  82. package/dist/utils/sql-dump/schema/indexes.d.ts.map +1 -1
  83. package/dist/utils/sql-dump/schema/indexes.js +81 -15
  84. package/dist/utils/sql-dump/schema/indexes.js.map +1 -1
  85. package/dist/utils/sql-dump/schema/tables.d.ts +4 -1
  86. package/dist/utils/sql-dump/schema/tables.d.ts.map +1 -1
  87. package/dist/utils/sql-dump/schema/tables.js +81 -51
  88. package/dist/utils/sql-dump/schema/tables.js.map +1 -1
  89. package/docs/cli/DATABASE_MIGRATION.md +62 -58
  90. package/docs/cli/DATA_EXPORT_IMPORT.md +403 -103
  91. package/docs/cli/README.md +95 -45
  92. package/package.json +4 -6
@@ -0,0 +1,67 @@
1
+ /**
2
+ * v4.0.1: Drop all database views
3
+ *
4
+ * Problem:
5
+ * - Database views cause migration complexity across different database engines
6
+ * - Views require database-specific SQL syntax (datetime functions, string aggregation)
7
+ * - Architectural decision: No views in v4+ schema - use JOINs instead
8
+ *
9
+ * Solution:
10
+ * - Drop all legacy views that may exist from v3 migrations
11
+ * - Tool files use JOIN queries via Knex query builder (cross-DB compatible)
12
+ * - Reference: src/utils/view-queries.ts for equivalent JOIN-based queries
13
+ *
14
+ * Related files updated:
15
+ * - src/tools/constraints/actions/get.ts - Now uses JOINs
16
+ * - src/tools/files/actions/get.ts - Now uses JOINs
17
+ *
18
+ * IDEMPOTENT: Can be run multiple times safely.
19
+ * SQLite, MySQL, PostgreSQL compatible.
20
+ */
21
+ // All possible views from v3 schema that may still exist
22
+ const VIEWS_TO_DROP = [
23
+ // v3 views
24
+ 'v_tagged_decisions',
25
+ 'v_active_context',
26
+ 'v_layer_summary',
27
+ 'v_unread_messages_by_priority',
28
+ 'v_recent_file_changes',
29
+ 'v_tagged_constraints',
30
+ 'v_task_board',
31
+ // v4 prefixed views (in case any were accidentally created)
32
+ 'v4_tagged_decisions',
33
+ 'v4_active_context',
34
+ 'v4_layer_summary',
35
+ 'v4_recent_file_changes',
36
+ 'v4_tagged_constraints',
37
+ 'v4_task_board',
38
+ ];
39
+ export async function up(knex) {
40
+ console.log('🔄 Dropping all database views (v4.0.1 - No views policy)...');
41
+ for (const viewName of VIEWS_TO_DROP) {
42
+ try {
43
+ await knex.raw(`DROP VIEW IF EXISTS ${viewName}`);
44
+ console.log(` ✓ Dropped view: ${viewName}`);
45
+ }
46
+ catch (error) {
47
+ // Ignore errors if view doesn't exist (different error messages per DB)
48
+ const errorMsg = error.message?.toLowerCase() || '';
49
+ if (errorMsg.includes('does not exist') ||
50
+ errorMsg.includes('unknown') ||
51
+ errorMsg.includes('no such')) {
52
+ console.log(` ⚠️ View ${viewName} does not exist, skipping`);
53
+ }
54
+ else {
55
+ throw error;
56
+ }
57
+ }
58
+ }
59
+ console.log('✅ All views dropped successfully');
60
+ console.log('📝 Policy: No views in v4+ - use JOIN queries via Knex query builder');
61
+ }
62
+ export async function down(knex) {
63
+ console.log('⚠️ WARNING: Views will NOT be recreated');
64
+ console.log(' v4+ policy: No database views - use JOINs instead');
65
+ console.log(' Reference: src/utils/view-queries.ts for equivalent queries');
66
+ }
67
+ //# sourceMappingURL=20251128000000_drop_all_views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20251128000000_drop_all_views.js","sourceRoot":"","sources":["../../../../src/database/migrations/v4/20251128000000_drop_all_views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,yDAAyD;AACzD,MAAM,aAAa,GAAG;IACpB,WAAW;IACX,oBAAoB;IACpB,kBAAkB;IAClB,iBAAiB;IACjB,+BAA+B;IAC/B,uBAAuB;IACvB,sBAAsB;IACtB,cAAc;IACd,4DAA4D;IAC5D,qBAAqB;IACrB,mBAAmB;IACnB,kBAAkB;IAClB,wBAAwB;IACxB,uBAAuB;IACvB,eAAe;CAChB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,IAAU;IACjC,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAE5E,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,wEAAwE;YACxE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YACpD,IACE,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBACnC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC5B,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC5B,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,2BAA2B,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAU;IACnC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;AAChF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"inserts.d.ts","sourceRoot":"","sources":["../../../src/database/operations/inserts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AA+C/D;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE,MAAM,EACX,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,GAAE,MAAM,GAAG,IAAW,EAClC,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,SAAS,GAAE,MAAM,GAAG,IAAW,EAAG,gCAAgC;AAClE,aAAa,GAAE,MAAM,GAAG,IAAW,EACnC,mBAAmB,GAAE,MAAM,GAAG,IAAW,GACxC,OAAO,CAAC,MAAM,CAAC,CA6BjB"}
1
+ {"version":3,"file":"inserts.d.ts","sourceRoot":"","sources":["../../../src/database/operations/inserts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAgD/D;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE,MAAM,EACX,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,GAAE,MAAM,GAAG,IAAW,EAClC,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,SAAS,GAAE,MAAM,GAAG,IAAW,EAAG,gCAAgC;AAClE,aAAa,GAAE,MAAM,GAAG,IAAW,EACnC,mBAAmB,GAAE,MAAM,GAAG,IAAW,GACxC,OAAO,CAAC,MAAM,CAAC,CA6BjB"}
@@ -2,6 +2,7 @@
2
2
  * Database insert operations module
3
3
  */
4
4
  import { getProjectContext } from '../../utils/project-context.js';
5
+ import { validateNoCaseInsensitiveDuplicate } from '../../utils/case-insensitive-validator.js';
5
6
  /**
6
7
  * Validate JSON structure for alternatives array
7
8
  */
@@ -96,6 +97,9 @@ export async function getOrCreateFile(adapter, projectId, path, trx) {
96
97
  */
97
98
  export async function getOrCreateTag(adapter, projectId, name, trx) {
98
99
  const knex = trx || adapter.getKnex();
100
+ // Case-insensitive duplicate check (v4.0.2)
101
+ // Prevents creating 'DRY' when 'dry' already exists
102
+ await validateNoCaseInsensitiveDuplicate(knex, 'v4_tags', 'name', name, 'tag', { project_id: projectId });
99
103
  // Insert with composite key (project_id, name)
100
104
  await knex('v4_tags')
101
105
  .insert({ project_id: projectId, name })
@@ -114,6 +118,9 @@ export async function getOrCreateTag(adapter, projectId, name, trx) {
114
118
  */
115
119
  export async function getOrCreateScope(adapter, projectId, name, trx) {
116
120
  const knex = trx || adapter.getKnex();
121
+ // Case-insensitive duplicate check (v4.0.2)
122
+ // Prevents creating 'Global' when 'global' already exists
123
+ await validateNoCaseInsensitiveDuplicate(knex, 'v4_scopes', 'name', name, 'scope', { project_id: projectId });
117
124
  // Insert with composite key (project_id, name)
118
125
  await knex('v4_scopes')
119
126
  .insert({ project_id: projectId, name })
@@ -1 +1 @@
1
- {"version":3,"file":"inserts.js","sourceRoot":"","sources":["../../../src/database/operations/inserts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inserts.js","sourceRoot":"","sources":["../../../src/database/operations/inserts.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,10 @@
2
2
  /**
3
3
  * MCP Shared Context Server - Entry Point
4
4
  * Provides context management tools via Model Context Protocol
5
+ *
6
+ * Unified entry point (v4.0.2+):
7
+ * - No args or MCP args: Start MCP server
8
+ * - CLI commands (db:export, db:import, db:dump, query): Delegate to CLI
5
9
  */
6
10
  export {};
7
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG"}
package/dist/index.js CHANGED
@@ -2,50 +2,78 @@
2
2
  /**
3
3
  * MCP Shared Context Server - Entry Point
4
4
  * Provides context management tools via Model Context Protocol
5
+ *
6
+ * Unified entry point (v4.0.2+):
7
+ * - No args or MCP args: Start MCP server
8
+ * - CLI commands (db:export, db:import, db:dump, query): Delegate to CLI
5
9
  */
6
- import { Server } from '@modelcontextprotocol/sdk/server/index.js';
7
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
8
- import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
9
- import { parseArgs, validateArgs } from './server/arg-parser.js';
10
- import { getToolRegistry } from './server/tool-registry.js';
11
- import { handleToolCall } from './server/tool-handlers.js';
12
- import { initializeServer, startFileWatcher } from './server/setup.js';
13
- import { registerShutdownHandlers, performCleanup } from './server/shutdown.js';
14
- import { handleInitializationError, safeConsoleError } from './utils/error-handler.js';
15
- // Parse command-line arguments
16
- const args = process.argv.slice(2);
17
- const parsedArgs = parseArgs(args);
18
- // Validate arguments (throws if invalid)
19
- try {
20
- validateArgs(parsedArgs);
10
+ // ============================================================================
11
+ // CLI Command Detection (must be first, before any MCP imports)
12
+ // ============================================================================
13
+ const rawArgs = process.argv.slice(2);
14
+ const firstArg = rawArgs[0] || '';
15
+ // Check if this is a CLI command
16
+ const cliCommands = ['db:dump', 'db:export', 'db:import', 'query'];
17
+ const isCliCommand = cliCommands.includes(firstArg);
18
+ if (isCliCommand) {
19
+ // Delegate to CLI module
20
+ import('./cli.js').then(async (cli) => {
21
+ await cli.runCli(rawArgs);
22
+ }).catch((error) => {
23
+ console.error('CLI Error:', error instanceof Error ? error.message : String(error));
24
+ process.exit(1);
25
+ });
21
26
  }
22
- catch (error) {
23
- console.error('Error:', error instanceof Error ? error.message : String(error));
24
- process.exit(1);
27
+ else {
28
+ // Start MCP Server
29
+ startMcpServer();
25
30
  }
26
- // Create MCP server
27
- const server = new Server({
28
- name: 'mcp-sqlew',
29
- version: '3.6.6',
30
- }, {
31
- capabilities: {
32
- tools: {},
33
- },
34
- });
35
- // Handle tool listing
36
- server.setRequestHandler(ListToolsRequestSchema, async () => {
37
- return {
38
- tools: getToolRegistry(),
39
- };
40
- });
41
- // Handle tool execution
42
- server.setRequestHandler(CallToolRequestSchema, async (request) => {
43
- return await handleToolCall(request);
44
- });
45
- // Setup centralized global error handlers
46
- registerShutdownHandlers();
47
- // Start server with stdio transport
48
- async function main() {
31
+ // ============================================================================
32
+ // MCP Server
33
+ // ============================================================================
34
+ async function startMcpServer() {
35
+ const { Server } = await import('@modelcontextprotocol/sdk/server/index.js');
36
+ const { StdioServerTransport } = await import('@modelcontextprotocol/sdk/server/stdio.js');
37
+ const { CallToolRequestSchema, ListToolsRequestSchema, } = await import('@modelcontextprotocol/sdk/types.js');
38
+ const { parseArgs, validateArgs } = await import('./server/arg-parser.js');
39
+ const { getToolRegistry } = await import('./server/tool-registry.js');
40
+ const { handleToolCall } = await import('./server/tool-handlers.js');
41
+ const { initializeServer, startFileWatcher } = await import('./server/setup.js');
42
+ const { registerShutdownHandlers, performCleanup } = await import('./server/shutdown.js');
43
+ const { handleInitializationError, safeConsoleError } = await import('./utils/error-handler.js');
44
+ // Parse command-line arguments
45
+ const args = process.argv.slice(2);
46
+ const parsedArgs = parseArgs(args);
47
+ // Validate arguments (throws if invalid)
48
+ try {
49
+ validateArgs(parsedArgs);
50
+ }
51
+ catch (error) {
52
+ console.error('Error:', error instanceof Error ? error.message : String(error));
53
+ process.exit(1);
54
+ }
55
+ // Create MCP server
56
+ const server = new Server({
57
+ name: 'mcp-sqlew',
58
+ version: '4.0.2',
59
+ }, {
60
+ capabilities: {
61
+ tools: {},
62
+ },
63
+ });
64
+ // Handle tool listing
65
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
66
+ return {
67
+ tools: getToolRegistry(),
68
+ };
69
+ });
70
+ // Handle tool execution
71
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
72
+ return await handleToolCall(request);
73
+ });
74
+ // Setup centralized global error handlers
75
+ registerShutdownHandlers();
76
+ // Start server
49
77
  let debugLoggerInitialized = false;
50
78
  try {
51
79
  // Initialize server (database, config, project context)
@@ -87,11 +115,5 @@ async function main() {
87
115
  process.exit(1);
88
116
  }
89
117
  }
90
- main().catch((error) => {
91
- // Use centralized initialization error handler (writes to log file)
92
- safeConsoleError('\n❌ FATAL ERROR:');
93
- handleInitializationError(error);
94
- performCleanup();
95
- process.exit(1);
96
- });
118
+ export {};
97
119
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,10 @@ export interface DockerContainerConfig {
28
28
  password: string;
29
29
  database: string;
30
30
  }
31
+ /**
32
+ * Database configurations for testing environments
33
+ */
34
+ export declare const TEST_CONFIGS: Record<DatabaseType, Knex.Config | DockerContainerConfig>;
31
35
  /**
32
36
  * Get Knex configuration for the specified database type
33
37
  *
@@ -1 +1 @@
1
- {"version":3,"file":"testing-config.d.ts","sourceRoot":"","sources":["../../../src/tests/database/testing-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAwCD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC,MAAM,CAiC/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,qBAAqB,CAG9F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAE1E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,MAAM,CAYnF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,MAAM,CAGnF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,OAAO,CAWzF;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,EACvC,SAAS,SAAQ,GAChB,OAAO,CAAC,IAAI,CAAC,CAWf"}
1
+ {"version":3,"file":"testing-config.d.ts","sourceRoot":"","sources":["../../../src/tests/database/testing-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAiClF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC,MAAM,CAiC/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,qBAAqB,CAG9F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAE1E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,MAAM,CAYnF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,MAAM,CAGnF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,OAAO,CAWzF;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,EACvC,SAAS,SAAQ,GAChB,OAAO,CAAC,IAAI,CAAC,CAWf"}
@@ -15,7 +15,7 @@
15
15
  /**
16
16
  * Database configurations for testing environments
17
17
  */
18
- const TEST_CONFIGS = {
18
+ export const TEST_CONFIGS = {
19
19
  sqlite: {
20
20
  client: 'better-sqlite3',
21
21
  connection: { filename: '.sqlew/sqlew.db' },
@@ -1 +1 @@
1
- {"version":3,"file":"testing-config.js","sourceRoot":"","sources":["../../../src/tests/database/testing-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAqBH;;GAEG;AACH,MAAM,YAAY,GAA8D;IAC9E,MAAM,EAAE;QACN,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE;QAC3C,gBAAgB,EAAE,IAAI;KACvB;IAED,KAAK,EAAE;QACL,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;KACrB;IAED,OAAO,EAAE;QACP,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;KACrB;IAED,UAAU,EAAE;QACV,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,MAAoB;IAChD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEpC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,MAAqB,CAAC;IAC/B,CAAC;IAED,oEAAoE;IACpE,MAAM,YAAY,GAAG,MAA+B,CAAC;IAErD,IAAI,MAAc,CAAC;IACnB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,SAAS;YACZ,MAAM,GAAG,QAAQ,CAAC;YAClB,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,IAAI,CAAC;YACd,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO;QACL,MAAM;QACN,UAAU,EAAE;YACV,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,QAAQ,EAAE,YAAY,CAAC,QAAQ;SAChC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,MAAuC;IACrE,wEAAwE;IACxE,OAAO,YAAY,CAAC,MAAM,CAA0B,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAuC;IACzE,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAEvC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,YAAY;YACf,OAAO,WAAW,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC5F,KAAK,OAAO,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,YAAY,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC/G;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAuC;IACzE,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,eAAe,MAAM,CAAC,IAAI,EAAE,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAuC;IAC9E,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,4BAA4B,MAAM,CAAC,IAAI,yBAAyB,EAAE;YACxF,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAuC,EACvC,SAAS,GAAG,KAAK;IAEjB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;QAC1C,IAAI,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,yBAAyB,SAAS,IAAI,CAAC,CAAC;AACxF,CAAC"}
1
+ {"version":3,"file":"testing-config.js","sourceRoot":"","sources":["../../../src/tests/database/testing-config.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,8 @@
11
11
  * - Automatic cleanup
12
12
  */
13
13
  import type { Knex } from 'knex';
14
- import type { DatabaseType } from '../../database/testing-config.js';
14
+ import { type DatabaseType } from '../../database/testing-config.js';
15
+ import { type DatabaseFormat } from '../../../utils/sql-dump/index.js';
15
16
  /**
16
17
  * Run the same test suite on MySQL, MariaDB, and PostgreSQL
17
18
  *
@@ -117,4 +118,58 @@ export declare function getLayerId(db: Knex, layerName: string): Promise<number>
117
118
  * @returns Scope ID
118
119
  */
119
120
  export declare function getScopeId(db: Knex, scopeName: string): Promise<number>;
121
+ /**
122
+ * Source databases for cross-database migration testing
123
+ * Includes SQLite (local) + Docker databases (MySQL, MariaDB, PostgreSQL)
124
+ */
125
+ export type CrossDbSourceType = 'sqlite' | DatabaseType;
126
+ /**
127
+ * Target database formats for SQL dump output
128
+ */
129
+ export type CrossDbTargetFormat = DatabaseFormat;
130
+ /**
131
+ * Seed rich test data covering all v4 tables for migration testing
132
+ *
133
+ * Creates comprehensive test data including:
134
+ * - Master tables: layers, tags, scopes, task_statuses
135
+ * - Decisions with tags and scopes
136
+ * - Tasks with dependencies
137
+ * - Constraints
138
+ * - File changes
139
+ *
140
+ * @param db - Knex database connection
141
+ * @param projectId - Project ID to use (default: 1)
142
+ */
143
+ export declare function seedRichTestData(db: Knex, projectId?: number): Promise<void>;
144
+ /**
145
+ * Execute SQL dump generation from a database
146
+ *
147
+ * @param db - Source Knex database connection
148
+ * @param targetFormat - Target database format (mysql, postgresql, sqlite)
149
+ * @returns Generated SQL dump string
150
+ */
151
+ export declare function executeSqlDump(db: Knex, targetFormat: CrossDbTargetFormat): Promise<string>;
152
+ /**
153
+ * Verify sqlew access by checking row counts and basic CRUD operations
154
+ *
155
+ * @param db - Knex database connection to verify
156
+ * @param expectedCounts - Expected row counts per table
157
+ * @returns Verification result with details
158
+ */
159
+ export declare function verifySqlewAccess(db: Knex, expectedCounts?: Record<string, number>): Promise<{
160
+ success: boolean;
161
+ tables: Record<string, {
162
+ count: number;
163
+ expected?: number;
164
+ match: boolean;
165
+ }>;
166
+ errors: string[];
167
+ }>;
168
+ /**
169
+ * Get row counts for all v4 tables
170
+ *
171
+ * @param db - Knex database connection
172
+ * @returns Record of table names to row counts
173
+ */
174
+ export declare function getTableCounts(db: Knex): Promise<Record<string, number>>;
120
175
  //# sourceMappingURL=test-harness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-harness.d.ts","sourceRoot":"","sources":["../../../../src/tests/docker/native/test-harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAMrE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,GAC7D,IAAI,CAwBN;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C1D;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B7D;AAMD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,IAAI,EACR,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMlF;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,IAAI,EACR,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,IAAI,EACR,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,IAAI,EACR,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAMD;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASzE;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI7E;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS7E"}
1
+ {"version":3,"file":"test-harness.d.ts","sourceRoot":"","sources":["../../../../src/tests/docker/native/test-harness.ts"],"names":[],"mappings":"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"}