db-mcp 1.0.1
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/LICENSE +21 -0
- package/README.md +860 -0
- package/dist/adapters/DatabaseAdapter.d.ts +141 -0
- package/dist/adapters/DatabaseAdapter.d.ts.map +1 -0
- package/dist/adapters/DatabaseAdapter.js +131 -0
- package/dist/adapters/DatabaseAdapter.js.map +1 -0
- package/dist/adapters/sqlite/SchemaManager.d.ts +58 -0
- package/dist/adapters/sqlite/SchemaManager.d.ts.map +1 -0
- package/dist/adapters/sqlite/SchemaManager.js +187 -0
- package/dist/adapters/sqlite/SchemaManager.js.map +1 -0
- package/dist/adapters/sqlite/SqliteAdapter.d.ts +161 -0
- package/dist/adapters/sqlite/SqliteAdapter.d.ts.map +1 -0
- package/dist/adapters/sqlite/SqliteAdapter.js +741 -0
- package/dist/adapters/sqlite/SqliteAdapter.js.map +1 -0
- package/dist/adapters/sqlite/index.d.ts +9 -0
- package/dist/adapters/sqlite/index.d.ts.map +1 -0
- package/dist/adapters/sqlite/index.js +8 -0
- package/dist/adapters/sqlite/index.js.map +1 -0
- package/dist/adapters/sqlite/json-utils.d.ts +100 -0
- package/dist/adapters/sqlite/json-utils.d.ts.map +1 -0
- package/dist/adapters/sqlite/json-utils.js +274 -0
- package/dist/adapters/sqlite/json-utils.js.map +1 -0
- package/dist/adapters/sqlite/output-schemas.d.ts +1187 -0
- package/dist/adapters/sqlite/output-schemas.d.ts.map +1 -0
- package/dist/adapters/sqlite/output-schemas.js +1337 -0
- package/dist/adapters/sqlite/output-schemas.js.map +1 -0
- package/dist/adapters/sqlite/prompts.d.ts +13 -0
- package/dist/adapters/sqlite/prompts.d.ts.map +1 -0
- package/dist/adapters/sqlite/prompts.js +605 -0
- package/dist/adapters/sqlite/prompts.js.map +1 -0
- package/dist/adapters/sqlite/resources.d.ts +13 -0
- package/dist/adapters/sqlite/resources.d.ts.map +1 -0
- package/dist/adapters/sqlite/resources.js +251 -0
- package/dist/adapters/sqlite/resources.js.map +1 -0
- package/dist/adapters/sqlite/tools/admin.d.ts +14 -0
- package/dist/adapters/sqlite/tools/admin.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/admin.js +788 -0
- package/dist/adapters/sqlite/tools/admin.js.map +1 -0
- package/dist/adapters/sqlite/tools/core.d.ts +25 -0
- package/dist/adapters/sqlite/tools/core.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/core.js +359 -0
- package/dist/adapters/sqlite/tools/core.js.map +1 -0
- package/dist/adapters/sqlite/tools/fts.d.ts +13 -0
- package/dist/adapters/sqlite/tools/fts.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/fts.js +347 -0
- package/dist/adapters/sqlite/tools/fts.js.map +1 -0
- package/dist/adapters/sqlite/tools/geo.d.ts +14 -0
- package/dist/adapters/sqlite/tools/geo.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/geo.js +252 -0
- package/dist/adapters/sqlite/tools/geo.js.map +1 -0
- package/dist/adapters/sqlite/tools/index.d.ts +30 -0
- package/dist/adapters/sqlite/tools/index.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/index.js +61 -0
- package/dist/adapters/sqlite/tools/index.js.map +1 -0
- package/dist/adapters/sqlite/tools/json-helpers.d.ts +14 -0
- package/dist/adapters/sqlite/tools/json-helpers.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/json-helpers.js +477 -0
- package/dist/adapters/sqlite/tools/json-helpers.js.map +1 -0
- package/dist/adapters/sqlite/tools/json-operations.d.ts +14 -0
- package/dist/adapters/sqlite/tools/json-operations.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/json-operations.js +839 -0
- package/dist/adapters/sqlite/tools/json-operations.js.map +1 -0
- package/dist/adapters/sqlite/tools/stats.d.ts +15 -0
- package/dist/adapters/sqlite/tools/stats.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/stats.js +1219 -0
- package/dist/adapters/sqlite/tools/stats.js.map +1 -0
- package/dist/adapters/sqlite/tools/text.d.ts +14 -0
- package/dist/adapters/sqlite/tools/text.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/text.js +1141 -0
- package/dist/adapters/sqlite/tools/text.js.map +1 -0
- package/dist/adapters/sqlite/tools/vector.d.ts +14 -0
- package/dist/adapters/sqlite/tools/vector.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/vector.js +613 -0
- package/dist/adapters/sqlite/tools/vector.js.map +1 -0
- package/dist/adapters/sqlite/tools/virtual.d.ts +13 -0
- package/dist/adapters/sqlite/tools/virtual.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/virtual.js +930 -0
- package/dist/adapters/sqlite/tools/virtual.js.map +1 -0
- package/dist/adapters/sqlite/types.d.ts +207 -0
- package/dist/adapters/sqlite/types.d.ts.map +1 -0
- package/dist/adapters/sqlite/types.js +186 -0
- package/dist/adapters/sqlite/types.js.map +1 -0
- package/dist/adapters/sqlite-native/NativeSqliteAdapter.d.ts +163 -0
- package/dist/adapters/sqlite-native/NativeSqliteAdapter.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/NativeSqliteAdapter.js +748 -0
- package/dist/adapters/sqlite-native/NativeSqliteAdapter.js.map +1 -0
- package/dist/adapters/sqlite-native/index.d.ts +11 -0
- package/dist/adapters/sqlite-native/index.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/index.js +11 -0
- package/dist/adapters/sqlite-native/index.js.map +1 -0
- package/dist/adapters/sqlite-native/tools/spatialite.d.ts +19 -0
- package/dist/adapters/sqlite-native/tools/spatialite.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/spatialite.js +628 -0
- package/dist/adapters/sqlite-native/tools/spatialite.js.map +1 -0
- package/dist/adapters/sqlite-native/tools/transactions.d.ts +12 -0
- package/dist/adapters/sqlite-native/tools/transactions.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/transactions.js +255 -0
- package/dist/adapters/sqlite-native/tools/transactions.js.map +1 -0
- package/dist/adapters/sqlite-native/tools/window.d.ts +12 -0
- package/dist/adapters/sqlite-native/tools/window.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window.js +370 -0
- package/dist/adapters/sqlite-native/tools/window.js.map +1 -0
- package/dist/auth/AuthorizationServerDiscovery.d.ts +90 -0
- package/dist/auth/AuthorizationServerDiscovery.d.ts.map +1 -0
- package/dist/auth/AuthorizationServerDiscovery.js +204 -0
- package/dist/auth/AuthorizationServerDiscovery.js.map +1 -0
- package/dist/auth/OAuthResourceServer.d.ts +65 -0
- package/dist/auth/OAuthResourceServer.d.ts.map +1 -0
- package/dist/auth/OAuthResourceServer.js +121 -0
- package/dist/auth/OAuthResourceServer.js.map +1 -0
- package/dist/auth/TokenValidator.d.ts +60 -0
- package/dist/auth/TokenValidator.d.ts.map +1 -0
- package/dist/auth/TokenValidator.js +235 -0
- package/dist/auth/TokenValidator.js.map +1 -0
- package/dist/auth/errors.d.ts +74 -0
- package/dist/auth/errors.d.ts.map +1 -0
- package/dist/auth/errors.js +133 -0
- package/dist/auth/errors.js.map +1 -0
- package/dist/auth/index.d.ts +13 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +15 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/middleware.d.ts +81 -0
- package/dist/auth/middleware.d.ts.map +1 -0
- package/dist/auth/middleware.js +291 -0
- package/dist/auth/middleware.js.map +1 -0
- package/dist/auth/scopes.d.ts +136 -0
- package/dist/auth/scopes.d.ts.map +1 -0
- package/dist/auth/scopes.js +349 -0
- package/dist/auth/scopes.js.map +1 -0
- package/dist/auth/types.d.ts +257 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +8 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +236 -0
- package/dist/cli.js.map +1 -0
- package/dist/constants/ServerInstructions.d.ts +45 -0
- package/dist/constants/ServerInstructions.d.ts.map +1 -0
- package/dist/constants/ServerInstructions.js +356 -0
- package/dist/constants/ServerInstructions.js.map +1 -0
- package/dist/filtering/ToolConstants.d.ts +34 -0
- package/dist/filtering/ToolConstants.d.ts.map +1 -0
- package/dist/filtering/ToolConstants.js +174 -0
- package/dist/filtering/ToolConstants.js.map +1 -0
- package/dist/filtering/ToolFilter.d.ts +82 -0
- package/dist/filtering/ToolFilter.d.ts.map +1 -0
- package/dist/filtering/ToolFilter.js +296 -0
- package/dist/filtering/ToolFilter.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/server/McpServer.d.ts +61 -0
- package/dist/server/McpServer.d.ts.map +1 -0
- package/dist/server/McpServer.js +270 -0
- package/dist/server/McpServer.js.map +1 -0
- package/dist/transports/http.d.ts +134 -0
- package/dist/transports/http.d.ts.map +1 -0
- package/dist/transports/http.js +516 -0
- package/dist/transports/http.js.map +1 -0
- package/dist/transports/index.d.ts +5 -0
- package/dist/transports/index.d.ts.map +1 -0
- package/dist/transports/index.js +5 -0
- package/dist/transports/index.js.map +1 -0
- package/dist/types/index.d.ts +380 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +68 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/annotations.d.ts +44 -0
- package/dist/utils/annotations.d.ts.map +1 -0
- package/dist/utils/annotations.js +77 -0
- package/dist/utils/annotations.js.map +1 -0
- package/dist/utils/errors.d.ts +155 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +329 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/identifiers.d.ts +121 -0
- package/dist/utils/identifiers.d.ts.map +1 -0
- package/dist/utils/identifiers.js +319 -0
- package/dist/utils/identifiers.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/insightsManager.d.ts +39 -0
- package/dist/utils/insightsManager.d.ts.map +1 -0
- package/dist/utils/insightsManager.js +63 -0
- package/dist/utils/insightsManager.js.map +1 -0
- package/dist/utils/logger.d.ts +189 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +394 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/progress-utils.d.ts +54 -0
- package/dist/utils/progress-utils.d.ts.map +1 -0
- package/dist/utils/progress-utils.js +74 -0
- package/dist/utils/progress-utils.js.map +1 -0
- package/dist/utils/resourceAnnotations.d.ts +36 -0
- package/dist/utils/resourceAnnotations.d.ts.map +1 -0
- package/dist/utils/resourceAnnotations.js +57 -0
- package/dist/utils/resourceAnnotations.js.map +1 -0
- package/dist/utils/where-clause.d.ts +41 -0
- package/dist/utils/where-clause.d.ts.map +1 -0
- package/dist/utils/where-clause.js +116 -0
- package/dist/utils/where-clause.js.map +1 -0
- package/package.json +83 -0
- package/server.json +53 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteAdapter.js","sourceRoot":"","sources":["../../../src/adapters/sqlite/SqliteAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLite Adapter Module
|
|
3
|
+
*
|
|
4
|
+
* Public exports for the SQLite database adapter.
|
|
5
|
+
*/
|
|
6
|
+
export { SqliteAdapter, createSqliteAdapter } from "./SqliteAdapter.js";
|
|
7
|
+
export type { SqliteConfig, SqliteOptions, SqliteQueryResult, JsonValue, } from "./types.js";
|
|
8
|
+
export { getAllToolDefinitions, getToolsByGroup, getCoreTools, } from "./tools/index.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/sqlite/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACxE,YAAY,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,YAAY,GACb,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLite Adapter Module
|
|
3
|
+
*
|
|
4
|
+
* Public exports for the SQLite database adapter.
|
|
5
|
+
*/
|
|
6
|
+
export { SqliteAdapter, createSqliteAdapter } from "./SqliteAdapter.js";
|
|
7
|
+
export { getAllToolDefinitions, getToolsByGroup, getCoreTools, } from "./tools/index.js";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/sqlite/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAOxE,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,YAAY,GACb,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLite JSON Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides JSON normalization and JSONB binary storage support for SQLite 3.45+.
|
|
5
|
+
* Features:
|
|
6
|
+
* - Deep key sorting for consistent storage
|
|
7
|
+
* - Whitespace normalization (compact format)
|
|
8
|
+
* - Unicode normalization (NFC)
|
|
9
|
+
* - Optional type coercion
|
|
10
|
+
* - JSONB format detection and conversion
|
|
11
|
+
*/
|
|
12
|
+
import type { JsonNormalizationResult, JsonValue } from "./types.js";
|
|
13
|
+
/**
|
|
14
|
+
* Options for JSON normalization
|
|
15
|
+
*/
|
|
16
|
+
export interface NormalizationOptions {
|
|
17
|
+
/** Sort object keys alphabetically (deep) */
|
|
18
|
+
sortKeys?: boolean;
|
|
19
|
+
/** Remove unnecessary whitespace */
|
|
20
|
+
compact?: boolean;
|
|
21
|
+
/** Apply Unicode NFC normalization to strings */
|
|
22
|
+
unicodeNormalize?: boolean;
|
|
23
|
+
/** Coerce string values to numbers/booleans when possible */
|
|
24
|
+
typeCoercion?: boolean;
|
|
25
|
+
/** How to handle duplicate keys: 'last' (default), 'first', 'error' */
|
|
26
|
+
duplicateKeys?: "last" | "first" | "error";
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Default normalization options
|
|
30
|
+
*/
|
|
31
|
+
export declare const DEFAULT_NORMALIZATION_OPTIONS: Required<NormalizationOptions>;
|
|
32
|
+
/**
|
|
33
|
+
* Normalize a JSON value for consistent storage
|
|
34
|
+
*
|
|
35
|
+
* @param value - The value to normalize (can be any JSON-compatible value)
|
|
36
|
+
* @param options - Normalization options
|
|
37
|
+
* @returns Normalization result with the normalized string and change details
|
|
38
|
+
*/
|
|
39
|
+
export declare function normalizeJson(value: unknown, options?: NormalizationOptions): JsonNormalizationResult;
|
|
40
|
+
/**
|
|
41
|
+
* Check if SQLite version supports JSONB (3.45.0+)
|
|
42
|
+
*
|
|
43
|
+
* @param versionString - SQLite version string (e.g., "3.45.0")
|
|
44
|
+
* @returns true if JSONB is supported
|
|
45
|
+
*/
|
|
46
|
+
export declare function isJsonbSupportedVersion(versionString: string): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Check if JSONB is supported (uses cached value)
|
|
49
|
+
*/
|
|
50
|
+
export declare function isJsonbSupported(): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Set JSONB support status (called by adapter on connect)
|
|
53
|
+
*/
|
|
54
|
+
export declare function setJsonbSupported(supported: boolean): void;
|
|
55
|
+
/**
|
|
56
|
+
* Wrap JSON in jsonb() for storage
|
|
57
|
+
* Returns SQL fragment that converts JSON to JSONB
|
|
58
|
+
*
|
|
59
|
+
* @param jsonValue - JSON string value
|
|
60
|
+
* @returns SQL expression for JSONB storage
|
|
61
|
+
*/
|
|
62
|
+
export declare function toJsonbSql(jsonValue: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* Wrap JSON in json() for text storage
|
|
65
|
+
*
|
|
66
|
+
* @param jsonValue - JSON string value
|
|
67
|
+
* @returns SQL expression for text JSON storage
|
|
68
|
+
*/
|
|
69
|
+
export declare function toJsonSql(jsonValue: string): string;
|
|
70
|
+
/**
|
|
71
|
+
* Get SQL function name for JSONB-aware operations
|
|
72
|
+
* Falls back to text JSON functions if JSONB not supported
|
|
73
|
+
*/
|
|
74
|
+
export declare function getJsonFunction(baseName: string, useJsonb: boolean): string;
|
|
75
|
+
/**
|
|
76
|
+
* Detect storage format of a JSON value from SQLite
|
|
77
|
+
*
|
|
78
|
+
* @param value - Value from SQLite query result
|
|
79
|
+
* @returns 'jsonb' if BLOB, 'text' if string, 'unknown' otherwise
|
|
80
|
+
*/
|
|
81
|
+
export declare function detectJsonStorageFormat(value: unknown): "jsonb" | "text" | "unknown";
|
|
82
|
+
/**
|
|
83
|
+
* Parse JSON from various storage formats
|
|
84
|
+
*
|
|
85
|
+
* @param value - Value from SQLite (could be string, Buffer, or already parsed)
|
|
86
|
+
* @returns Parsed JSON value
|
|
87
|
+
*/
|
|
88
|
+
export declare function parseJsonValue(value: unknown): JsonValue;
|
|
89
|
+
/**
|
|
90
|
+
* Validate JSON path syntax
|
|
91
|
+
*
|
|
92
|
+
* @param path - JSON path (e.g., "$.foo.bar[0]")
|
|
93
|
+
* @returns true if valid
|
|
94
|
+
*/
|
|
95
|
+
export declare function isValidJsonPath(path: string): boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Check if a string is valid JSON
|
|
98
|
+
*/
|
|
99
|
+
export declare function isValidJson(str: string): boolean;
|
|
100
|
+
//# sourceMappingURL=json-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-utils.d.ts","sourceRoot":"","sources":["../../../src/adapters/sqlite/json-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAMrE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;CAC5C;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,oBAAoB,CAMxE,CAAC;AAMF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,oBAAyB,GACjC,uBAAuB,CAsCzB;AA4FD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAUtE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAE1D;AAMD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAK3E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,GACb,OAAO,GAAG,MAAM,GAAG,SAAS,CAQ9B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAmCxD;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQrD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOhD"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLite JSON Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides JSON normalization and JSONB binary storage support for SQLite 3.45+.
|
|
5
|
+
* Features:
|
|
6
|
+
* - Deep key sorting for consistent storage
|
|
7
|
+
* - Whitespace normalization (compact format)
|
|
8
|
+
* - Unicode normalization (NFC)
|
|
9
|
+
* - Optional type coercion
|
|
10
|
+
* - JSONB format detection and conversion
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Default normalization options
|
|
14
|
+
*/
|
|
15
|
+
export const DEFAULT_NORMALIZATION_OPTIONS = {
|
|
16
|
+
sortKeys: true,
|
|
17
|
+
compact: true,
|
|
18
|
+
unicodeNormalize: true,
|
|
19
|
+
typeCoercion: false,
|
|
20
|
+
duplicateKeys: "last",
|
|
21
|
+
};
|
|
22
|
+
// =============================================================================
|
|
23
|
+
// JSON Normalization
|
|
24
|
+
// =============================================================================
|
|
25
|
+
/**
|
|
26
|
+
* Normalize a JSON value for consistent storage
|
|
27
|
+
*
|
|
28
|
+
* @param value - The value to normalize (can be any JSON-compatible value)
|
|
29
|
+
* @param options - Normalization options
|
|
30
|
+
* @returns Normalization result with the normalized string and change details
|
|
31
|
+
*/
|
|
32
|
+
export function normalizeJson(value, options = {}) {
|
|
33
|
+
const opts = { ...DEFAULT_NORMALIZATION_OPTIONS, ...options };
|
|
34
|
+
const changes = [];
|
|
35
|
+
// Parse if string
|
|
36
|
+
let parsed;
|
|
37
|
+
if (typeof value === "string") {
|
|
38
|
+
try {
|
|
39
|
+
parsed = JSON.parse(value);
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// Not valid JSON, return as-is
|
|
43
|
+
return {
|
|
44
|
+
normalized: value,
|
|
45
|
+
wasModified: false,
|
|
46
|
+
changes: ["Input is not valid JSON"],
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
parsed = value;
|
|
52
|
+
}
|
|
53
|
+
// Apply normalization recursively
|
|
54
|
+
const normalized = normalizeValue(parsed, opts, changes, "");
|
|
55
|
+
// Stringify with appropriate formatting
|
|
56
|
+
const normalizedStr = opts.compact
|
|
57
|
+
? JSON.stringify(normalized)
|
|
58
|
+
: JSON.stringify(normalized, null, 2);
|
|
59
|
+
// Check if modified
|
|
60
|
+
const originalStr = typeof value === "string" ? value : JSON.stringify(value);
|
|
61
|
+
const wasModified = normalizedStr !== originalStr;
|
|
62
|
+
return {
|
|
63
|
+
normalized: normalizedStr,
|
|
64
|
+
wasModified,
|
|
65
|
+
changes,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Recursively normalize a JSON value
|
|
70
|
+
*/
|
|
71
|
+
function normalizeValue(value, options, changes, path) {
|
|
72
|
+
if (value === null || value === undefined) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
if (typeof value === "string") {
|
|
76
|
+
let result = value;
|
|
77
|
+
// Unicode normalization
|
|
78
|
+
if (options.unicodeNormalize && value !== value.normalize("NFC")) {
|
|
79
|
+
result = result.normalize("NFC");
|
|
80
|
+
changes.push(`${path || "$"}: Unicode normalized`);
|
|
81
|
+
}
|
|
82
|
+
// Type coercion
|
|
83
|
+
if (options.typeCoercion) {
|
|
84
|
+
// Try boolean
|
|
85
|
+
if (result.toLowerCase() === "true") {
|
|
86
|
+
changes.push(`${path || "$"}: Coerced "true" to boolean`);
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
if (result.toLowerCase() === "false") {
|
|
90
|
+
changes.push(`${path || "$"}: Coerced "false" to boolean`);
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
// Try number
|
|
94
|
+
const num = Number(result);
|
|
95
|
+
if (!isNaN(num) && result.trim() !== "") {
|
|
96
|
+
changes.push(`${path || "$"}: Coerced "${result}" to number`);
|
|
97
|
+
return num;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return result;
|
|
101
|
+
}
|
|
102
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
103
|
+
return value;
|
|
104
|
+
}
|
|
105
|
+
if (Array.isArray(value)) {
|
|
106
|
+
return value.map((item, index) => normalizeValue(item, options, changes, `${path || "$"}[${index}]`));
|
|
107
|
+
}
|
|
108
|
+
if (typeof value === "object") {
|
|
109
|
+
const obj = value;
|
|
110
|
+
let keys = Object.keys(obj);
|
|
111
|
+
// Sort keys if enabled
|
|
112
|
+
if (options.sortKeys) {
|
|
113
|
+
const originalOrder = keys.join(",");
|
|
114
|
+
keys = keys.sort();
|
|
115
|
+
if (keys.join(",") !== originalOrder) {
|
|
116
|
+
changes.push(`${path || "$"}: Keys sorted`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const result = {};
|
|
120
|
+
for (const key of keys) {
|
|
121
|
+
result[key] = normalizeValue(obj[key], options, changes, `${path || "$"}.${key}`);
|
|
122
|
+
}
|
|
123
|
+
return result;
|
|
124
|
+
}
|
|
125
|
+
return value;
|
|
126
|
+
}
|
|
127
|
+
// =============================================================================
|
|
128
|
+
// JSONB Support Detection
|
|
129
|
+
// =============================================================================
|
|
130
|
+
/** Cached JSONB support status */
|
|
131
|
+
let jsonbSupportedCache = null;
|
|
132
|
+
/**
|
|
133
|
+
* Check if SQLite version supports JSONB (3.45.0+)
|
|
134
|
+
*
|
|
135
|
+
* @param versionString - SQLite version string (e.g., "3.45.0")
|
|
136
|
+
* @returns true if JSONB is supported
|
|
137
|
+
*/
|
|
138
|
+
export function isJsonbSupportedVersion(versionString) {
|
|
139
|
+
const versionRegex = /^(\d+)\.(\d+)\.?(\d+)?/;
|
|
140
|
+
const match = versionRegex.exec(versionString);
|
|
141
|
+
if (!match)
|
|
142
|
+
return false;
|
|
143
|
+
const major = parseInt(match[1] ?? "0", 10);
|
|
144
|
+
const minor = parseInt(match[2] ?? "0", 10);
|
|
145
|
+
// JSONB was introduced in SQLite 3.45.0
|
|
146
|
+
return major > 3 || (major === 3 && minor >= 45);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Check if JSONB is supported (uses cached value)
|
|
150
|
+
*/
|
|
151
|
+
export function isJsonbSupported() {
|
|
152
|
+
return jsonbSupportedCache ?? false;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Set JSONB support status (called by adapter on connect)
|
|
156
|
+
*/
|
|
157
|
+
export function setJsonbSupported(supported) {
|
|
158
|
+
jsonbSupportedCache = supported;
|
|
159
|
+
}
|
|
160
|
+
// =============================================================================
|
|
161
|
+
// JSONB Conversion Utilities
|
|
162
|
+
// =============================================================================
|
|
163
|
+
/**
|
|
164
|
+
* Wrap JSON in jsonb() for storage
|
|
165
|
+
* Returns SQL fragment that converts JSON to JSONB
|
|
166
|
+
*
|
|
167
|
+
* @param jsonValue - JSON string value
|
|
168
|
+
* @returns SQL expression for JSONB storage
|
|
169
|
+
*/
|
|
170
|
+
export function toJsonbSql(jsonValue) {
|
|
171
|
+
const escaped = jsonValue.replace(/'/g, "''");
|
|
172
|
+
return `jsonb('${escaped}')`;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Wrap JSON in json() for text storage
|
|
176
|
+
*
|
|
177
|
+
* @param jsonValue - JSON string value
|
|
178
|
+
* @returns SQL expression for text JSON storage
|
|
179
|
+
*/
|
|
180
|
+
export function toJsonSql(jsonValue) {
|
|
181
|
+
const escaped = jsonValue.replace(/'/g, "''");
|
|
182
|
+
return `json('${escaped}')`;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Get SQL function name for JSONB-aware operations
|
|
186
|
+
* Falls back to text JSON functions if JSONB not supported
|
|
187
|
+
*/
|
|
188
|
+
export function getJsonFunction(baseName, useJsonb) {
|
|
189
|
+
if (!useJsonb || !isJsonbSupported()) {
|
|
190
|
+
return baseName; // json_extract, json_set, etc.
|
|
191
|
+
}
|
|
192
|
+
return baseName.replace("json_", "jsonb_"); // jsonb_extract, jsonb_set, etc.
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Detect storage format of a JSON value from SQLite
|
|
196
|
+
*
|
|
197
|
+
* @param value - Value from SQLite query result
|
|
198
|
+
* @returns 'jsonb' if BLOB, 'text' if string, 'unknown' otherwise
|
|
199
|
+
*/
|
|
200
|
+
export function detectJsonStorageFormat(value) {
|
|
201
|
+
if (value instanceof Buffer || value instanceof Uint8Array) {
|
|
202
|
+
return "jsonb";
|
|
203
|
+
}
|
|
204
|
+
if (typeof value === "string") {
|
|
205
|
+
return "text";
|
|
206
|
+
}
|
|
207
|
+
return "unknown";
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Parse JSON from various storage formats
|
|
211
|
+
*
|
|
212
|
+
* @param value - Value from SQLite (could be string, Buffer, or already parsed)
|
|
213
|
+
* @returns Parsed JSON value
|
|
214
|
+
*/
|
|
215
|
+
export function parseJsonValue(value) {
|
|
216
|
+
if (value === null || value === undefined) {
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
// Already parsed object/array
|
|
220
|
+
if (typeof value === "object" && !(value instanceof Buffer)) {
|
|
221
|
+
return value;
|
|
222
|
+
}
|
|
223
|
+
// JSONB blob - need to query through SQLite's json() function
|
|
224
|
+
if (value instanceof Buffer || value instanceof Uint8Array) {
|
|
225
|
+
// JSONB blobs cannot be parsed in JS directly
|
|
226
|
+
// They must be retrieved using SQLite's json() function
|
|
227
|
+
throw new Error("JSONB blob cannot be parsed directly. Use json() in SQL query.");
|
|
228
|
+
}
|
|
229
|
+
// Text JSON string
|
|
230
|
+
if (typeof value === "string") {
|
|
231
|
+
try {
|
|
232
|
+
return JSON.parse(value);
|
|
233
|
+
}
|
|
234
|
+
catch {
|
|
235
|
+
// Return as-is if not valid JSON
|
|
236
|
+
return value;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
// Primitives
|
|
240
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
241
|
+
return value;
|
|
242
|
+
}
|
|
243
|
+
return null;
|
|
244
|
+
}
|
|
245
|
+
// =============================================================================
|
|
246
|
+
// Validation Utilities
|
|
247
|
+
// =============================================================================
|
|
248
|
+
/**
|
|
249
|
+
* Validate JSON path syntax
|
|
250
|
+
*
|
|
251
|
+
* @param path - JSON path (e.g., "$.foo.bar[0]")
|
|
252
|
+
* @returns true if valid
|
|
253
|
+
*/
|
|
254
|
+
export function isValidJsonPath(path) {
|
|
255
|
+
if (!path.startsWith("$")) {
|
|
256
|
+
return false;
|
|
257
|
+
}
|
|
258
|
+
// Basic validation: alphanumeric, dots, brackets, underscores
|
|
259
|
+
const pathRegex = /^\$(\.[a-zA-Z_][a-zA-Z0-9_]*|\[\d+\])*$/;
|
|
260
|
+
return pathRegex.test(path);
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Check if a string is valid JSON
|
|
264
|
+
*/
|
|
265
|
+
export function isValidJson(str) {
|
|
266
|
+
try {
|
|
267
|
+
JSON.parse(str);
|
|
268
|
+
return true;
|
|
269
|
+
}
|
|
270
|
+
catch {
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=json-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-utils.js","sourceRoot":"","sources":["../../../src/adapters/sqlite/json-utils.ts"],"names":[],"mappings":"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"}
|