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.
Files changed (208) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +860 -0
  3. package/dist/adapters/DatabaseAdapter.d.ts +141 -0
  4. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -0
  5. package/dist/adapters/DatabaseAdapter.js +131 -0
  6. package/dist/adapters/DatabaseAdapter.js.map +1 -0
  7. package/dist/adapters/sqlite/SchemaManager.d.ts +58 -0
  8. package/dist/adapters/sqlite/SchemaManager.d.ts.map +1 -0
  9. package/dist/adapters/sqlite/SchemaManager.js +187 -0
  10. package/dist/adapters/sqlite/SchemaManager.js.map +1 -0
  11. package/dist/adapters/sqlite/SqliteAdapter.d.ts +161 -0
  12. package/dist/adapters/sqlite/SqliteAdapter.d.ts.map +1 -0
  13. package/dist/adapters/sqlite/SqliteAdapter.js +741 -0
  14. package/dist/adapters/sqlite/SqliteAdapter.js.map +1 -0
  15. package/dist/adapters/sqlite/index.d.ts +9 -0
  16. package/dist/adapters/sqlite/index.d.ts.map +1 -0
  17. package/dist/adapters/sqlite/index.js +8 -0
  18. package/dist/adapters/sqlite/index.js.map +1 -0
  19. package/dist/adapters/sqlite/json-utils.d.ts +100 -0
  20. package/dist/adapters/sqlite/json-utils.d.ts.map +1 -0
  21. package/dist/adapters/sqlite/json-utils.js +274 -0
  22. package/dist/adapters/sqlite/json-utils.js.map +1 -0
  23. package/dist/adapters/sqlite/output-schemas.d.ts +1187 -0
  24. package/dist/adapters/sqlite/output-schemas.d.ts.map +1 -0
  25. package/dist/adapters/sqlite/output-schemas.js +1337 -0
  26. package/dist/adapters/sqlite/output-schemas.js.map +1 -0
  27. package/dist/adapters/sqlite/prompts.d.ts +13 -0
  28. package/dist/adapters/sqlite/prompts.d.ts.map +1 -0
  29. package/dist/adapters/sqlite/prompts.js +605 -0
  30. package/dist/adapters/sqlite/prompts.js.map +1 -0
  31. package/dist/adapters/sqlite/resources.d.ts +13 -0
  32. package/dist/adapters/sqlite/resources.d.ts.map +1 -0
  33. package/dist/adapters/sqlite/resources.js +251 -0
  34. package/dist/adapters/sqlite/resources.js.map +1 -0
  35. package/dist/adapters/sqlite/tools/admin.d.ts +14 -0
  36. package/dist/adapters/sqlite/tools/admin.d.ts.map +1 -0
  37. package/dist/adapters/sqlite/tools/admin.js +788 -0
  38. package/dist/adapters/sqlite/tools/admin.js.map +1 -0
  39. package/dist/adapters/sqlite/tools/core.d.ts +25 -0
  40. package/dist/adapters/sqlite/tools/core.d.ts.map +1 -0
  41. package/dist/adapters/sqlite/tools/core.js +359 -0
  42. package/dist/adapters/sqlite/tools/core.js.map +1 -0
  43. package/dist/adapters/sqlite/tools/fts.d.ts +13 -0
  44. package/dist/adapters/sqlite/tools/fts.d.ts.map +1 -0
  45. package/dist/adapters/sqlite/tools/fts.js +347 -0
  46. package/dist/adapters/sqlite/tools/fts.js.map +1 -0
  47. package/dist/adapters/sqlite/tools/geo.d.ts +14 -0
  48. package/dist/adapters/sqlite/tools/geo.d.ts.map +1 -0
  49. package/dist/adapters/sqlite/tools/geo.js +252 -0
  50. package/dist/adapters/sqlite/tools/geo.js.map +1 -0
  51. package/dist/adapters/sqlite/tools/index.d.ts +30 -0
  52. package/dist/adapters/sqlite/tools/index.d.ts.map +1 -0
  53. package/dist/adapters/sqlite/tools/index.js +61 -0
  54. package/dist/adapters/sqlite/tools/index.js.map +1 -0
  55. package/dist/adapters/sqlite/tools/json-helpers.d.ts +14 -0
  56. package/dist/adapters/sqlite/tools/json-helpers.d.ts.map +1 -0
  57. package/dist/adapters/sqlite/tools/json-helpers.js +477 -0
  58. package/dist/adapters/sqlite/tools/json-helpers.js.map +1 -0
  59. package/dist/adapters/sqlite/tools/json-operations.d.ts +14 -0
  60. package/dist/adapters/sqlite/tools/json-operations.d.ts.map +1 -0
  61. package/dist/adapters/sqlite/tools/json-operations.js +839 -0
  62. package/dist/adapters/sqlite/tools/json-operations.js.map +1 -0
  63. package/dist/adapters/sqlite/tools/stats.d.ts +15 -0
  64. package/dist/adapters/sqlite/tools/stats.d.ts.map +1 -0
  65. package/dist/adapters/sqlite/tools/stats.js +1219 -0
  66. package/dist/adapters/sqlite/tools/stats.js.map +1 -0
  67. package/dist/adapters/sqlite/tools/text.d.ts +14 -0
  68. package/dist/adapters/sqlite/tools/text.d.ts.map +1 -0
  69. package/dist/adapters/sqlite/tools/text.js +1141 -0
  70. package/dist/adapters/sqlite/tools/text.js.map +1 -0
  71. package/dist/adapters/sqlite/tools/vector.d.ts +14 -0
  72. package/dist/adapters/sqlite/tools/vector.d.ts.map +1 -0
  73. package/dist/adapters/sqlite/tools/vector.js +613 -0
  74. package/dist/adapters/sqlite/tools/vector.js.map +1 -0
  75. package/dist/adapters/sqlite/tools/virtual.d.ts +13 -0
  76. package/dist/adapters/sqlite/tools/virtual.d.ts.map +1 -0
  77. package/dist/adapters/sqlite/tools/virtual.js +930 -0
  78. package/dist/adapters/sqlite/tools/virtual.js.map +1 -0
  79. package/dist/adapters/sqlite/types.d.ts +207 -0
  80. package/dist/adapters/sqlite/types.d.ts.map +1 -0
  81. package/dist/adapters/sqlite/types.js +186 -0
  82. package/dist/adapters/sqlite/types.js.map +1 -0
  83. package/dist/adapters/sqlite-native/NativeSqliteAdapter.d.ts +163 -0
  84. package/dist/adapters/sqlite-native/NativeSqliteAdapter.d.ts.map +1 -0
  85. package/dist/adapters/sqlite-native/NativeSqliteAdapter.js +748 -0
  86. package/dist/adapters/sqlite-native/NativeSqliteAdapter.js.map +1 -0
  87. package/dist/adapters/sqlite-native/index.d.ts +11 -0
  88. package/dist/adapters/sqlite-native/index.d.ts.map +1 -0
  89. package/dist/adapters/sqlite-native/index.js +11 -0
  90. package/dist/adapters/sqlite-native/index.js.map +1 -0
  91. package/dist/adapters/sqlite-native/tools/spatialite.d.ts +19 -0
  92. package/dist/adapters/sqlite-native/tools/spatialite.d.ts.map +1 -0
  93. package/dist/adapters/sqlite-native/tools/spatialite.js +628 -0
  94. package/dist/adapters/sqlite-native/tools/spatialite.js.map +1 -0
  95. package/dist/adapters/sqlite-native/tools/transactions.d.ts +12 -0
  96. package/dist/adapters/sqlite-native/tools/transactions.d.ts.map +1 -0
  97. package/dist/adapters/sqlite-native/tools/transactions.js +255 -0
  98. package/dist/adapters/sqlite-native/tools/transactions.js.map +1 -0
  99. package/dist/adapters/sqlite-native/tools/window.d.ts +12 -0
  100. package/dist/adapters/sqlite-native/tools/window.d.ts.map +1 -0
  101. package/dist/adapters/sqlite-native/tools/window.js +370 -0
  102. package/dist/adapters/sqlite-native/tools/window.js.map +1 -0
  103. package/dist/auth/AuthorizationServerDiscovery.d.ts +90 -0
  104. package/dist/auth/AuthorizationServerDiscovery.d.ts.map +1 -0
  105. package/dist/auth/AuthorizationServerDiscovery.js +204 -0
  106. package/dist/auth/AuthorizationServerDiscovery.js.map +1 -0
  107. package/dist/auth/OAuthResourceServer.d.ts +65 -0
  108. package/dist/auth/OAuthResourceServer.d.ts.map +1 -0
  109. package/dist/auth/OAuthResourceServer.js +121 -0
  110. package/dist/auth/OAuthResourceServer.js.map +1 -0
  111. package/dist/auth/TokenValidator.d.ts +60 -0
  112. package/dist/auth/TokenValidator.d.ts.map +1 -0
  113. package/dist/auth/TokenValidator.js +235 -0
  114. package/dist/auth/TokenValidator.js.map +1 -0
  115. package/dist/auth/errors.d.ts +74 -0
  116. package/dist/auth/errors.d.ts.map +1 -0
  117. package/dist/auth/errors.js +133 -0
  118. package/dist/auth/errors.js.map +1 -0
  119. package/dist/auth/index.d.ts +13 -0
  120. package/dist/auth/index.d.ts.map +1 -0
  121. package/dist/auth/index.js +15 -0
  122. package/dist/auth/index.js.map +1 -0
  123. package/dist/auth/middleware.d.ts +81 -0
  124. package/dist/auth/middleware.d.ts.map +1 -0
  125. package/dist/auth/middleware.js +291 -0
  126. package/dist/auth/middleware.js.map +1 -0
  127. package/dist/auth/scopes.d.ts +136 -0
  128. package/dist/auth/scopes.d.ts.map +1 -0
  129. package/dist/auth/scopes.js +349 -0
  130. package/dist/auth/scopes.js.map +1 -0
  131. package/dist/auth/types.d.ts +257 -0
  132. package/dist/auth/types.d.ts.map +1 -0
  133. package/dist/auth/types.js +8 -0
  134. package/dist/auth/types.js.map +1 -0
  135. package/dist/cli.d.ts +8 -0
  136. package/dist/cli.d.ts.map +1 -0
  137. package/dist/cli.js +236 -0
  138. package/dist/cli.js.map +1 -0
  139. package/dist/constants/ServerInstructions.d.ts +45 -0
  140. package/dist/constants/ServerInstructions.d.ts.map +1 -0
  141. package/dist/constants/ServerInstructions.js +356 -0
  142. package/dist/constants/ServerInstructions.js.map +1 -0
  143. package/dist/filtering/ToolConstants.d.ts +34 -0
  144. package/dist/filtering/ToolConstants.d.ts.map +1 -0
  145. package/dist/filtering/ToolConstants.js +174 -0
  146. package/dist/filtering/ToolConstants.js.map +1 -0
  147. package/dist/filtering/ToolFilter.d.ts +82 -0
  148. package/dist/filtering/ToolFilter.d.ts.map +1 -0
  149. package/dist/filtering/ToolFilter.js +296 -0
  150. package/dist/filtering/ToolFilter.js.map +1 -0
  151. package/dist/index.d.ts +13 -0
  152. package/dist/index.d.ts.map +1 -0
  153. package/dist/index.js +17 -0
  154. package/dist/index.js.map +1 -0
  155. package/dist/server/McpServer.d.ts +61 -0
  156. package/dist/server/McpServer.d.ts.map +1 -0
  157. package/dist/server/McpServer.js +270 -0
  158. package/dist/server/McpServer.js.map +1 -0
  159. package/dist/transports/http.d.ts +134 -0
  160. package/dist/transports/http.d.ts.map +1 -0
  161. package/dist/transports/http.js +516 -0
  162. package/dist/transports/http.js.map +1 -0
  163. package/dist/transports/index.d.ts +5 -0
  164. package/dist/transports/index.d.ts.map +1 -0
  165. package/dist/transports/index.js +5 -0
  166. package/dist/transports/index.js.map +1 -0
  167. package/dist/types/index.d.ts +380 -0
  168. package/dist/types/index.d.ts.map +1 -0
  169. package/dist/types/index.js +68 -0
  170. package/dist/types/index.js.map +1 -0
  171. package/dist/utils/annotations.d.ts +44 -0
  172. package/dist/utils/annotations.d.ts.map +1 -0
  173. package/dist/utils/annotations.js +77 -0
  174. package/dist/utils/annotations.js.map +1 -0
  175. package/dist/utils/errors.d.ts +155 -0
  176. package/dist/utils/errors.d.ts.map +1 -0
  177. package/dist/utils/errors.js +329 -0
  178. package/dist/utils/errors.js.map +1 -0
  179. package/dist/utils/identifiers.d.ts +121 -0
  180. package/dist/utils/identifiers.d.ts.map +1 -0
  181. package/dist/utils/identifiers.js +319 -0
  182. package/dist/utils/identifiers.js.map +1 -0
  183. package/dist/utils/index.d.ts +7 -0
  184. package/dist/utils/index.d.ts.map +1 -0
  185. package/dist/utils/index.js +7 -0
  186. package/dist/utils/index.js.map +1 -0
  187. package/dist/utils/insightsManager.d.ts +39 -0
  188. package/dist/utils/insightsManager.d.ts.map +1 -0
  189. package/dist/utils/insightsManager.js +63 -0
  190. package/dist/utils/insightsManager.js.map +1 -0
  191. package/dist/utils/logger.d.ts +189 -0
  192. package/dist/utils/logger.d.ts.map +1 -0
  193. package/dist/utils/logger.js +394 -0
  194. package/dist/utils/logger.js.map +1 -0
  195. package/dist/utils/progress-utils.d.ts +54 -0
  196. package/dist/utils/progress-utils.d.ts.map +1 -0
  197. package/dist/utils/progress-utils.js +74 -0
  198. package/dist/utils/progress-utils.js.map +1 -0
  199. package/dist/utils/resourceAnnotations.d.ts +36 -0
  200. package/dist/utils/resourceAnnotations.d.ts.map +1 -0
  201. package/dist/utils/resourceAnnotations.js +57 -0
  202. package/dist/utils/resourceAnnotations.js.map +1 -0
  203. package/dist/utils/where-clause.d.ts +41 -0
  204. package/dist/utils/where-clause.d.ts.map +1 -0
  205. package/dist/utils/where-clause.js +116 -0
  206. package/dist/utils/where-clause.js.map +1 -0
  207. package/package.json +83 -0
  208. 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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"}