sqlew 5.0.2 → 5.0.3
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 +20 -0
- package/dist/database/index.d.ts +1 -1
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js +1 -1
- package/dist/database/index.js.map +1 -1
- package/dist/database/initialization/schema-version.d.ts +7 -3
- package/dist/database/initialization/schema-version.d.ts.map +1 -1
- package/dist/database/initialization/schema-version.js +28 -11
- package/dist/database/initialization/schema-version.js.map +1 -1
- package/dist/index.js +18 -2
- package/dist/index.js.map +1 -1
- package/dist/server/shutdown.d.ts.map +1 -1
- package/dist/server/shutdown.js +4 -0
- package/dist/server/shutdown.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [5.0.3] - 2026-02-04
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
**🧟 Zombie Process on Parent Exit (Windows)**
|
|
15
|
+
|
|
16
|
+
- MCP server processes remained alive after Claude Code exited, accumulating as zombie processes in Task Manager
|
|
17
|
+
- Root cause: MCP SDK's `StdioServerTransport` only listens for stdin `data`/`error`, not `end`. When combined with chokidar's `persistent: true` file watcher (QueueWatcher), the Node.js event loop stayed alive indefinitely
|
|
18
|
+
- Added `process.stdin.on('end')` handler to detect parent process exit and trigger graceful shutdown
|
|
19
|
+
- Added `stopQueueWatcher()` to all shutdown handlers (`registerShutdownHandlers`, `performCleanup`) — the function existed since v4.1.0 but was never wired into the shutdown flow
|
|
20
|
+
|
|
21
|
+
**🔍 Schema Version Detection for v5.0**
|
|
22
|
+
|
|
23
|
+
- Fixed `[WARN] Unknown schema version detected` on every startup
|
|
24
|
+
- `detectSchemaVersion()` checked for `v4_tasks` table (dropped in v5.0 migration), causing detection to always fail on v5 schema
|
|
25
|
+
- Added v5 schema detection: checks `m_projects` + `t_decisions` + `t_constraints` with `v4_tasks` absence to distinguish from v4
|
|
26
|
+
- Schema now correctly reports `v5.x (using m_/t_ tables)` with proper `tablePrefix='m_'` and `transactionPrefix='t_'`
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
10
30
|
## [5.0.2] - 2026-02-03
|
|
11
31
|
|
|
12
32
|
### Fixed
|
package/dist/database/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { Knex } from 'knex';
|
|
|
8
8
|
export type { DatabaseAdapter } from './types.js';
|
|
9
9
|
export { initializeDatabase, getAdapterInstance, setAdapterInstance, } from './initialization/init.js';
|
|
10
10
|
export { closeDatabase } from './initialization/cleanup.js';
|
|
11
|
-
export { detectSchemaVersion, getSchemaVersion, isSchemaVersionDetected, clearSchemaVersionCache, isV4Schema, isV3Schema, getTableName, TableNames, } from './initialization/schema-version.js';
|
|
11
|
+
export { detectSchemaVersion, getSchemaVersion, isSchemaVersionDetected, clearSchemaVersionCache, isV5Schema, isV4Schema, isV3Schema, getTableName, TableNames, } from './initialization/schema-version.js';
|
|
12
12
|
export type { SchemaVersion, SchemaVersionInfo } from './initialization/schema-version.js';
|
|
13
13
|
export { getAdapter, getDatabase } from './config/adapter-factory.js';
|
|
14
14
|
export { getConfigValue, setConfigValue, getConfigBool, getConfigInt, getAllConfig, clearConfig, } from './config/config-ops.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,GACX,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAG3F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAGtE,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;GAEG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAC9C,OAAO,CAAC,CAAC,CAAC,CAKZ"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,GACX,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAG3F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAGtE,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;GAEG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAC9C,OAAO,CAAC,CAAC,CAAC,CAKZ"}
|
package/dist/database/index.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
export { initializeDatabase, getAdapterInstance, setAdapterInstance, } from './initialization/init.js';
|
|
9
9
|
export { closeDatabase } from './initialization/cleanup.js';
|
|
10
10
|
// Schema version detection (v4.0)
|
|
11
|
-
export { detectSchemaVersion, getSchemaVersion, isSchemaVersionDetected, clearSchemaVersionCache, isV4Schema, isV3Schema, getTableName, TableNames, } from './initialization/schema-version.js';
|
|
11
|
+
export { detectSchemaVersion, getSchemaVersion, isSchemaVersionDetected, clearSchemaVersionCache, isV5Schema, isV4Schema, isV3Schema, getTableName, TableNames, } from './initialization/schema-version.js';
|
|
12
12
|
// Adapter factory
|
|
13
13
|
export { getAdapter, getDatabase } from './config/adapter-factory.js';
|
|
14
14
|
// Configuration operations (v4.0: in-memory store, no database dependency)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,iBAAiB;AACjB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,kCAAkC;AAClC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,GACX,MAAM,oCAAoC,CAAC;AAG5C,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAEtE,2EAA2E;AAC3E,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAEhC,mBAAmB;AACnB,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC,oBAAoB;AACpB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,oBAAoB;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,kCAAkC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAA+C;IAE/C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAC/B,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,iBAAiB;AACjB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,kCAAkC;AAClC,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,GACX,MAAM,oCAAoC,CAAC;AAG5C,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAEtE,2EAA2E;AAC3E,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAEhC,mBAAmB;AACnB,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC,oBAAoB;AACpB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,oBAAoB;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,kCAAkC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAA+C;IAE/C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAC/B,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -15,7 +15,7 @@ import type { Knex } from 'knex';
|
|
|
15
15
|
/**
|
|
16
16
|
* Schema version enum
|
|
17
17
|
*/
|
|
18
|
-
export type SchemaVersion = 'v4' | 'v3' | 'unknown';
|
|
18
|
+
export type SchemaVersion = 'v5' | 'v4' | 'v3' | 'unknown';
|
|
19
19
|
/**
|
|
20
20
|
* Detailed schema version info
|
|
21
21
|
*/
|
|
@@ -25,8 +25,8 @@ export interface SchemaVersionInfo {
|
|
|
25
25
|
minorVersion: number;
|
|
26
26
|
hasV4Tables: boolean;
|
|
27
27
|
hasV3Tables: boolean;
|
|
28
|
-
tablePrefix: '
|
|
29
|
-
transactionPrefix: '
|
|
28
|
+
tablePrefix: 'm_' | 'v4_' | '';
|
|
29
|
+
transactionPrefix: 't_' | 'v4_' | '';
|
|
30
30
|
detectedAt: number;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
@@ -45,6 +45,10 @@ export declare function isSchemaVersionDetected(): boolean;
|
|
|
45
45
|
* Clear cached schema version (for testing)
|
|
46
46
|
*/
|
|
47
47
|
export declare function clearSchemaVersionCache(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Check if using v5 schema
|
|
50
|
+
*/
|
|
51
|
+
export declare function isV5Schema(): boolean;
|
|
48
52
|
/**
|
|
49
53
|
* Check if using v4 schema
|
|
50
54
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-version.d.ts","sourceRoot":"","sources":["../../../src/database/initialization/schema-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"schema-version.d.ts","sourceRoot":"","sources":["../../../src/database/initialization/schema-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;IAC/B,iBAAiB,EAAE,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiFhF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,CAKpD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,QAAQ,GAAG,aAA6B,GAC7C,MAAM,CAaR;AAED;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BtB,CAAC"}
|
|
@@ -23,24 +23,35 @@ export async function detectSchemaVersion(knex) {
|
|
|
23
23
|
return cachedVersionInfo;
|
|
24
24
|
}
|
|
25
25
|
debugLog('INFO', 'Detecting database schema version...');
|
|
26
|
-
// Check
|
|
27
|
-
const
|
|
28
|
-
const
|
|
26
|
+
// Check core tables for version detection
|
|
27
|
+
const hasMProjects = await knex.schema.hasTable('m_projects');
|
|
28
|
+
const hasTDecisions = await knex.schema.hasTable('t_decisions');
|
|
29
|
+
const hasTConstraints = await knex.schema.hasTable('t_constraints');
|
|
30
|
+
// Check v4-specific table (dropped in v5.0)
|
|
29
31
|
const hasV4Tasks = await knex.schema.hasTable('v4_tasks');
|
|
30
|
-
// Check
|
|
32
|
+
// Check v3-specific tables (dropped in v4.0/v5.0)
|
|
31
33
|
const hasAgents = await knex.schema.hasTable('m_agents');
|
|
32
|
-
const hasV3Decisions = await knex.schema.hasTable('t_decisions');
|
|
33
34
|
const hasV3Tasks = await knex.schema.hasTable('t_tasks');
|
|
34
|
-
// Determine schema version
|
|
35
|
-
const
|
|
36
|
-
const
|
|
35
|
+
// Determine schema version (v5 first, since migrations run before detection)
|
|
36
|
+
const hasV5Tables = hasMProjects && hasTDecisions && hasTConstraints && !hasV4Tasks;
|
|
37
|
+
const hasV4Tables = hasMProjects && hasTDecisions && hasV4Tasks;
|
|
38
|
+
const hasV3Tables = hasAgents && hasTDecisions && hasV3Tasks;
|
|
37
39
|
let version;
|
|
38
40
|
let majorVersion;
|
|
39
41
|
let minorVersion;
|
|
40
42
|
let tablePrefix;
|
|
41
43
|
let transactionPrefix;
|
|
42
|
-
if (
|
|
43
|
-
//
|
|
44
|
+
if (hasV5Tables) {
|
|
45
|
+
// v5.x schema detected - m_/t_ prefix (current)
|
|
46
|
+
version = 'v5';
|
|
47
|
+
majorVersion = 5;
|
|
48
|
+
minorVersion = 0;
|
|
49
|
+
tablePrefix = 'm_';
|
|
50
|
+
transactionPrefix = 't_';
|
|
51
|
+
debugLog('INFO', 'Schema version detected: v5.x (using m_/t_ tables)');
|
|
52
|
+
}
|
|
53
|
+
else if (hasV4Tables) {
|
|
54
|
+
// v4.x schema detected - v4_ prefix (pre-migration)
|
|
44
55
|
version = 'v4';
|
|
45
56
|
majorVersion = 4;
|
|
46
57
|
minorVersion = 0;
|
|
@@ -49,7 +60,7 @@ export async function detectSchemaVersion(knex) {
|
|
|
49
60
|
debugLog('INFO', 'Schema version detected: v4.x (using v4_ tables)');
|
|
50
61
|
}
|
|
51
62
|
else if (hasV3Tables) {
|
|
52
|
-
// v3.x schema detected -
|
|
63
|
+
// v3.x schema detected - legacy tables
|
|
53
64
|
version = 'v3';
|
|
54
65
|
majorVersion = 3;
|
|
55
66
|
minorVersion = 0;
|
|
@@ -99,6 +110,12 @@ export function isSchemaVersionDetected() {
|
|
|
99
110
|
export function clearSchemaVersionCache() {
|
|
100
111
|
cachedVersionInfo = null;
|
|
101
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Check if using v5 schema
|
|
115
|
+
*/
|
|
116
|
+
export function isV5Schema() {
|
|
117
|
+
return cachedVersionInfo?.version === 'v5';
|
|
118
|
+
}
|
|
102
119
|
/**
|
|
103
120
|
* Check if using v4 schema
|
|
104
121
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-version.js","sourceRoot":"","sources":["../../../src/database/initialization/schema-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAqBvD,qBAAqB;AACrB,IAAI,iBAAiB,GAA6B,IAAI,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAU;IAClD,4DAA4D;IAC5D,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;IAEzD,
|
|
1
|
+
{"version":3,"file":"schema-version.js","sourceRoot":"","sources":["../../../src/database/initialization/schema-version.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -48,6 +48,8 @@ async function startMcpServer() {
|
|
|
48
48
|
const { initializeServer } = await import('./server/setup.js');
|
|
49
49
|
const { registerShutdownHandlers, performCleanup } = await import('./server/shutdown.js');
|
|
50
50
|
const { handleInitializationError, safeConsoleError } = await import('./utils/error-handler.js');
|
|
51
|
+
const { stopQueueWatcher } = await import('./watcher/queue-watcher.js');
|
|
52
|
+
const { debugLog } = await import('./utils/debug-logger.js');
|
|
51
53
|
// Parse command-line arguments
|
|
52
54
|
const args = process.argv.slice(2);
|
|
53
55
|
const parsedArgs = parseArgs(args);
|
|
@@ -61,8 +63,8 @@ async function startMcpServer() {
|
|
|
61
63
|
}
|
|
62
64
|
// Create MCP server
|
|
63
65
|
const server = new Server({
|
|
64
|
-
name: '
|
|
65
|
-
version: '
|
|
66
|
+
name: 'sqlew',
|
|
67
|
+
version: '5.0.3',
|
|
66
68
|
}, {
|
|
67
69
|
capabilities: {
|
|
68
70
|
tools: {},
|
|
@@ -112,6 +114,20 @@ async function startMcpServer() {
|
|
|
112
114
|
safeConsoleError(` Database: ${dbPath} (from ${source})`);
|
|
113
115
|
}
|
|
114
116
|
safeConsoleError(` Project: ${setupResult.projectContext.getProjectName()} (ID: ${setupResult.projectContext.getProjectId()}, source: ${setupResult.detectionSource})`);
|
|
117
|
+
// Detect parent process exit (stdin pipe closed)
|
|
118
|
+
// StdioServerTransport only listens for 'data'/'error', not 'end'
|
|
119
|
+
// Without this, chokidar's persistent watcher keeps the process alive
|
|
120
|
+
process.stdin.on('end', async () => {
|
|
121
|
+
debugLog('INFO', 'Stdin closed - parent process exited, shutting down');
|
|
122
|
+
try {
|
|
123
|
+
await stopQueueWatcher();
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
// Ignore - may not be initialized
|
|
127
|
+
}
|
|
128
|
+
performCleanup();
|
|
129
|
+
process.exit(0);
|
|
130
|
+
});
|
|
115
131
|
}
|
|
116
132
|
catch (error) {
|
|
117
133
|
// If debug logger not initialized, write to stderr as fallback
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,gEAAgE;AAChE,+EAA+E;AAC/E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAElC,yCAAyC;AACzC,MAAM,WAAW,GAAG;IAClB,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO;IAC5C,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM;IACxE,iCAAiC;IACjC,kBAAkB,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB;CACnF,CAAC;AACF,sDAAsD;AACtD,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AACnD,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAEnF,IAAI,YAAY,EAAE,CAAC;IACjB,yBAAyB;IACzB,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACpC,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,mBAAmB;IACnB,cAAc,EAAE,CAAC;AACnB,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAC/E,KAAK,UAAU,cAAc;IAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,2CAA2C,CAAC,CAAC;IAC7E,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,2CAA2C,CAAC,CAAC;IAC3F,MAAM,EACJ,qBAAqB,EACrB,sBAAsB,GACvB,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IACvD,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC3E,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACtE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACrE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/D,MAAM,EAAE,wBAAwB,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC1F,MAAM,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../../src/server/shutdown.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../../src/server/shutdown.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAQ/C;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAIrC"}
|
package/dist/server/shutdown.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { closeDatabase } from '../database.js';
|
|
6
6
|
import { closeDebugLogger, debugLog } from '../utils/debug-logger.js';
|
|
7
7
|
import { setupGlobalErrorHandlers } from '../utils/error-handler.js';
|
|
8
|
+
import { stopQueueWatcher } from '../watcher/queue-watcher.js';
|
|
8
9
|
/**
|
|
9
10
|
* Register signal handlers for graceful shutdown
|
|
10
11
|
* Ensures database is properly closed
|
|
@@ -12,6 +13,8 @@ import { setupGlobalErrorHandlers } from '../utils/error-handler.js';
|
|
|
12
13
|
export function registerShutdownHandlers() {
|
|
13
14
|
setupGlobalErrorHandlers(() => {
|
|
14
15
|
debugLog('INFO', 'Shutting down gracefully');
|
|
16
|
+
// Stop file watcher first (prevents new DB writes during cleanup)
|
|
17
|
+
stopQueueWatcher().catch(() => { });
|
|
15
18
|
closeDatabase();
|
|
16
19
|
closeDebugLogger();
|
|
17
20
|
});
|
|
@@ -21,6 +24,7 @@ export function registerShutdownHandlers() {
|
|
|
21
24
|
* Should be called in catch blocks and fatal error handlers
|
|
22
25
|
*/
|
|
23
26
|
export function performCleanup() {
|
|
27
|
+
stopQueueWatcher().catch(() => { });
|
|
24
28
|
closeDatabase();
|
|
25
29
|
closeDebugLogger();
|
|
26
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../../src/server/shutdown.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../../src/server/shutdown.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D;;;GAGG;AACH,MAAM,UAAU,wBAAwB;IACtC,wBAAwB,CAAC,GAAG,EAAE;QAC5B,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QAC7C,kEAAkE;QAClE,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACnC,aAAa,EAAE,CAAC;QAChB,gBAAgB,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnC,aAAa,EAAE,CAAC;IAChB,gBAAgB,EAAE,CAAC;AACrB,CAAC"}
|
package/package.json
CHANGED