db-mcp 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/.gitattributes +2 -0
  2. package/LICENSE +1 -1
  3. package/README.md +244 -518
  4. package/dist/chunk-4IA3DB5C.js +135 -0
  5. package/dist/chunk-AOUL5SHS.js +930 -0
  6. package/dist/chunk-DWJXQEFA.js +13759 -0
  7. package/dist/chunk-DZQLDEQS.js +879 -0
  8. package/dist/chunk-S5IDDSSB.js +74 -0
  9. package/dist/chunk-Z2GFQU3G.js +363 -0
  10. package/dist/cli.d.ts +0 -7
  11. package/dist/cli.js +227 -183
  12. package/dist/http-VSB7DBJR.js +1541 -0
  13. package/dist/index.d.ts +842 -10
  14. package/dist/index.js +5 -17
  15. package/dist/sqlite-VHBA4ABV.js +600 -0
  16. package/dist/sqlite-native-D2LH5ZT7.js +2498 -0
  17. package/dist/worker-script.d.ts +2 -0
  18. package/dist/worker-script.js +126 -0
  19. package/package.json +26 -16
  20. package/playwright.config.ts +101 -0
  21. package/scripts/generate-server-instructions.ts +111 -0
  22. package/server.json +5 -6
  23. package/test-server/README.md +118 -0
  24. package/test-server/code-map.md +409 -0
  25. package/test-server/fixtures/sample.csv +6 -0
  26. package/test-server/reset-database.ps1 +373 -0
  27. package/test-server/sample.csv +11 -0
  28. package/test-server/test-agent-experience.md +243 -0
  29. package/test-server/test-database.sql +388 -0
  30. package/test-server/test-group-tools.md +861 -0
  31. package/test-server/test-help-resources.mjs +238 -0
  32. package/test-server/test-preflight.md +53 -0
  33. package/test-server/test-prompts.md +354 -0
  34. package/test-server/test-resources.md +245 -0
  35. package/test-server/test-tool-annotations.mjs +157 -0
  36. package/test-server/test-tools-advanced-1.md +517 -0
  37. package/test-server/test-tools-advanced-2.md +487 -0
  38. package/test-server/test-tools-codemode.md +629 -0
  39. package/test-server/test-tools.md +176 -0
  40. package/test-server/tool-reference.md +236 -0
  41. package/tsconfig.test.json +9 -0
  42. package/dist/adapters/DatabaseAdapter.d.ts +0 -141
  43. package/dist/adapters/DatabaseAdapter.d.ts.map +0 -1
  44. package/dist/adapters/DatabaseAdapter.js +0 -131
  45. package/dist/adapters/DatabaseAdapter.js.map +0 -1
  46. package/dist/adapters/sqlite/SchemaManager.d.ts +0 -58
  47. package/dist/adapters/sqlite/SchemaManager.d.ts.map +0 -1
  48. package/dist/adapters/sqlite/SchemaManager.js +0 -187
  49. package/dist/adapters/sqlite/SchemaManager.js.map +0 -1
  50. package/dist/adapters/sqlite/SqliteAdapter.d.ts +0 -161
  51. package/dist/adapters/sqlite/SqliteAdapter.d.ts.map +0 -1
  52. package/dist/adapters/sqlite/SqliteAdapter.js +0 -741
  53. package/dist/adapters/sqlite/SqliteAdapter.js.map +0 -1
  54. package/dist/adapters/sqlite/index.d.ts +0 -9
  55. package/dist/adapters/sqlite/index.d.ts.map +0 -1
  56. package/dist/adapters/sqlite/index.js +0 -8
  57. package/dist/adapters/sqlite/index.js.map +0 -1
  58. package/dist/adapters/sqlite/json-utils.d.ts +0 -100
  59. package/dist/adapters/sqlite/json-utils.d.ts.map +0 -1
  60. package/dist/adapters/sqlite/json-utils.js +0 -274
  61. package/dist/adapters/sqlite/json-utils.js.map +0 -1
  62. package/dist/adapters/sqlite/output-schemas.d.ts +0 -1187
  63. package/dist/adapters/sqlite/output-schemas.d.ts.map +0 -1
  64. package/dist/adapters/sqlite/output-schemas.js +0 -1337
  65. package/dist/adapters/sqlite/output-schemas.js.map +0 -1
  66. package/dist/adapters/sqlite/prompts.d.ts +0 -13
  67. package/dist/adapters/sqlite/prompts.d.ts.map +0 -1
  68. package/dist/adapters/sqlite/prompts.js +0 -605
  69. package/dist/adapters/sqlite/prompts.js.map +0 -1
  70. package/dist/adapters/sqlite/resources.d.ts +0 -13
  71. package/dist/adapters/sqlite/resources.d.ts.map +0 -1
  72. package/dist/adapters/sqlite/resources.js +0 -251
  73. package/dist/adapters/sqlite/resources.js.map +0 -1
  74. package/dist/adapters/sqlite/tools/admin.d.ts +0 -14
  75. package/dist/adapters/sqlite/tools/admin.d.ts.map +0 -1
  76. package/dist/adapters/sqlite/tools/admin.js +0 -788
  77. package/dist/adapters/sqlite/tools/admin.js.map +0 -1
  78. package/dist/adapters/sqlite/tools/core.d.ts +0 -25
  79. package/dist/adapters/sqlite/tools/core.d.ts.map +0 -1
  80. package/dist/adapters/sqlite/tools/core.js +0 -359
  81. package/dist/adapters/sqlite/tools/core.js.map +0 -1
  82. package/dist/adapters/sqlite/tools/fts.d.ts +0 -13
  83. package/dist/adapters/sqlite/tools/fts.d.ts.map +0 -1
  84. package/dist/adapters/sqlite/tools/fts.js +0 -347
  85. package/dist/adapters/sqlite/tools/fts.js.map +0 -1
  86. package/dist/adapters/sqlite/tools/geo.d.ts +0 -14
  87. package/dist/adapters/sqlite/tools/geo.d.ts.map +0 -1
  88. package/dist/adapters/sqlite/tools/geo.js +0 -252
  89. package/dist/adapters/sqlite/tools/geo.js.map +0 -1
  90. package/dist/adapters/sqlite/tools/index.d.ts +0 -30
  91. package/dist/adapters/sqlite/tools/index.d.ts.map +0 -1
  92. package/dist/adapters/sqlite/tools/index.js +0 -61
  93. package/dist/adapters/sqlite/tools/index.js.map +0 -1
  94. package/dist/adapters/sqlite/tools/json-helpers.d.ts +0 -14
  95. package/dist/adapters/sqlite/tools/json-helpers.d.ts.map +0 -1
  96. package/dist/adapters/sqlite/tools/json-helpers.js +0 -477
  97. package/dist/adapters/sqlite/tools/json-helpers.js.map +0 -1
  98. package/dist/adapters/sqlite/tools/json-operations.d.ts +0 -14
  99. package/dist/adapters/sqlite/tools/json-operations.d.ts.map +0 -1
  100. package/dist/adapters/sqlite/tools/json-operations.js +0 -839
  101. package/dist/adapters/sqlite/tools/json-operations.js.map +0 -1
  102. package/dist/adapters/sqlite/tools/stats.d.ts +0 -15
  103. package/dist/adapters/sqlite/tools/stats.d.ts.map +0 -1
  104. package/dist/adapters/sqlite/tools/stats.js +0 -1219
  105. package/dist/adapters/sqlite/tools/stats.js.map +0 -1
  106. package/dist/adapters/sqlite/tools/text.d.ts +0 -14
  107. package/dist/adapters/sqlite/tools/text.d.ts.map +0 -1
  108. package/dist/adapters/sqlite/tools/text.js +0 -1141
  109. package/dist/adapters/sqlite/tools/text.js.map +0 -1
  110. package/dist/adapters/sqlite/tools/vector.d.ts +0 -14
  111. package/dist/adapters/sqlite/tools/vector.d.ts.map +0 -1
  112. package/dist/adapters/sqlite/tools/vector.js +0 -613
  113. package/dist/adapters/sqlite/tools/vector.js.map +0 -1
  114. package/dist/adapters/sqlite/tools/virtual.d.ts +0 -13
  115. package/dist/adapters/sqlite/tools/virtual.d.ts.map +0 -1
  116. package/dist/adapters/sqlite/tools/virtual.js +0 -930
  117. package/dist/adapters/sqlite/tools/virtual.js.map +0 -1
  118. package/dist/adapters/sqlite/types.d.ts +0 -207
  119. package/dist/adapters/sqlite/types.d.ts.map +0 -1
  120. package/dist/adapters/sqlite/types.js +0 -186
  121. package/dist/adapters/sqlite/types.js.map +0 -1
  122. package/dist/adapters/sqlite-native/NativeSqliteAdapter.d.ts +0 -163
  123. package/dist/adapters/sqlite-native/NativeSqliteAdapter.d.ts.map +0 -1
  124. package/dist/adapters/sqlite-native/NativeSqliteAdapter.js +0 -748
  125. package/dist/adapters/sqlite-native/NativeSqliteAdapter.js.map +0 -1
  126. package/dist/adapters/sqlite-native/index.d.ts +0 -11
  127. package/dist/adapters/sqlite-native/index.d.ts.map +0 -1
  128. package/dist/adapters/sqlite-native/index.js +0 -11
  129. package/dist/adapters/sqlite-native/index.js.map +0 -1
  130. package/dist/adapters/sqlite-native/tools/spatialite.d.ts +0 -19
  131. package/dist/adapters/sqlite-native/tools/spatialite.d.ts.map +0 -1
  132. package/dist/adapters/sqlite-native/tools/spatialite.js +0 -628
  133. package/dist/adapters/sqlite-native/tools/spatialite.js.map +0 -1
  134. package/dist/adapters/sqlite-native/tools/transactions.d.ts +0 -12
  135. package/dist/adapters/sqlite-native/tools/transactions.d.ts.map +0 -1
  136. package/dist/adapters/sqlite-native/tools/transactions.js +0 -255
  137. package/dist/adapters/sqlite-native/tools/transactions.js.map +0 -1
  138. package/dist/adapters/sqlite-native/tools/window.d.ts +0 -12
  139. package/dist/adapters/sqlite-native/tools/window.d.ts.map +0 -1
  140. package/dist/adapters/sqlite-native/tools/window.js +0 -370
  141. package/dist/adapters/sqlite-native/tools/window.js.map +0 -1
  142. package/dist/auth/AuthorizationServerDiscovery.d.ts +0 -90
  143. package/dist/auth/AuthorizationServerDiscovery.d.ts.map +0 -1
  144. package/dist/auth/AuthorizationServerDiscovery.js +0 -204
  145. package/dist/auth/AuthorizationServerDiscovery.js.map +0 -1
  146. package/dist/auth/OAuthResourceServer.d.ts +0 -65
  147. package/dist/auth/OAuthResourceServer.d.ts.map +0 -1
  148. package/dist/auth/OAuthResourceServer.js +0 -121
  149. package/dist/auth/OAuthResourceServer.js.map +0 -1
  150. package/dist/auth/TokenValidator.d.ts +0 -60
  151. package/dist/auth/TokenValidator.d.ts.map +0 -1
  152. package/dist/auth/TokenValidator.js +0 -235
  153. package/dist/auth/TokenValidator.js.map +0 -1
  154. package/dist/auth/errors.d.ts +0 -74
  155. package/dist/auth/errors.d.ts.map +0 -1
  156. package/dist/auth/errors.js +0 -133
  157. package/dist/auth/errors.js.map +0 -1
  158. package/dist/auth/index.d.ts +0 -13
  159. package/dist/auth/index.d.ts.map +0 -1
  160. package/dist/auth/index.js +0 -15
  161. package/dist/auth/index.js.map +0 -1
  162. package/dist/auth/middleware.d.ts +0 -81
  163. package/dist/auth/middleware.d.ts.map +0 -1
  164. package/dist/auth/middleware.js +0 -291
  165. package/dist/auth/middleware.js.map +0 -1
  166. package/dist/auth/scopes.d.ts +0 -136
  167. package/dist/auth/scopes.d.ts.map +0 -1
  168. package/dist/auth/scopes.js +0 -349
  169. package/dist/auth/scopes.js.map +0 -1
  170. package/dist/auth/types.d.ts +0 -257
  171. package/dist/auth/types.d.ts.map +0 -1
  172. package/dist/auth/types.js +0 -8
  173. package/dist/auth/types.js.map +0 -1
  174. package/dist/cli.d.ts.map +0 -1
  175. package/dist/cli.js.map +0 -1
  176. package/dist/constants/ServerInstructions.d.ts +0 -45
  177. package/dist/constants/ServerInstructions.d.ts.map +0 -1
  178. package/dist/constants/ServerInstructions.js +0 -356
  179. package/dist/constants/ServerInstructions.js.map +0 -1
  180. package/dist/filtering/ToolConstants.d.ts +0 -34
  181. package/dist/filtering/ToolConstants.d.ts.map +0 -1
  182. package/dist/filtering/ToolConstants.js +0 -174
  183. package/dist/filtering/ToolConstants.js.map +0 -1
  184. package/dist/filtering/ToolFilter.d.ts +0 -82
  185. package/dist/filtering/ToolFilter.d.ts.map +0 -1
  186. package/dist/filtering/ToolFilter.js +0 -296
  187. package/dist/filtering/ToolFilter.js.map +0 -1
  188. package/dist/index.d.ts.map +0 -1
  189. package/dist/index.js.map +0 -1
  190. package/dist/server/McpServer.d.ts +0 -61
  191. package/dist/server/McpServer.d.ts.map +0 -1
  192. package/dist/server/McpServer.js +0 -270
  193. package/dist/server/McpServer.js.map +0 -1
  194. package/dist/transports/http.d.ts +0 -134
  195. package/dist/transports/http.d.ts.map +0 -1
  196. package/dist/transports/http.js +0 -516
  197. package/dist/transports/http.js.map +0 -1
  198. package/dist/transports/index.d.ts +0 -5
  199. package/dist/transports/index.d.ts.map +0 -1
  200. package/dist/transports/index.js +0 -5
  201. package/dist/transports/index.js.map +0 -1
  202. package/dist/types/index.d.ts +0 -380
  203. package/dist/types/index.d.ts.map +0 -1
  204. package/dist/types/index.js +0 -68
  205. package/dist/types/index.js.map +0 -1
  206. package/dist/utils/annotations.d.ts +0 -44
  207. package/dist/utils/annotations.d.ts.map +0 -1
  208. package/dist/utils/annotations.js +0 -77
  209. package/dist/utils/annotations.js.map +0 -1
  210. package/dist/utils/errors.d.ts +0 -155
  211. package/dist/utils/errors.d.ts.map +0 -1
  212. package/dist/utils/errors.js +0 -329
  213. package/dist/utils/errors.js.map +0 -1
  214. package/dist/utils/identifiers.d.ts +0 -121
  215. package/dist/utils/identifiers.d.ts.map +0 -1
  216. package/dist/utils/identifiers.js +0 -319
  217. package/dist/utils/identifiers.js.map +0 -1
  218. package/dist/utils/index.d.ts +0 -7
  219. package/dist/utils/index.d.ts.map +0 -1
  220. package/dist/utils/index.js +0 -7
  221. package/dist/utils/index.js.map +0 -1
  222. package/dist/utils/insightsManager.d.ts +0 -39
  223. package/dist/utils/insightsManager.d.ts.map +0 -1
  224. package/dist/utils/insightsManager.js +0 -63
  225. package/dist/utils/insightsManager.js.map +0 -1
  226. package/dist/utils/logger.d.ts +0 -189
  227. package/dist/utils/logger.d.ts.map +0 -1
  228. package/dist/utils/logger.js +0 -394
  229. package/dist/utils/logger.js.map +0 -1
  230. package/dist/utils/progress-utils.d.ts +0 -54
  231. package/dist/utils/progress-utils.d.ts.map +0 -1
  232. package/dist/utils/progress-utils.js +0 -74
  233. package/dist/utils/progress-utils.js.map +0 -1
  234. package/dist/utils/resourceAnnotations.d.ts +0 -36
  235. package/dist/utils/resourceAnnotations.d.ts.map +0 -1
  236. package/dist/utils/resourceAnnotations.js +0 -57
  237. package/dist/utils/resourceAnnotations.js.map +0 -1
  238. package/dist/utils/where-clause.d.ts +0 -41
  239. package/dist/utils/where-clause.d.ts.map +0 -1
  240. package/dist/utils/where-clause.js +0 -116
  241. package/dist/utils/where-clause.js.map +0 -1
@@ -1,45 +0,0 @@
1
- /**
2
- * Server instructions for db-mcp (SQLite MCP Server).
3
- *
4
- * These instructions are automatically sent to MCP clients during initialization,
5
- * providing guidance for AI agents on tool usage.
6
- *
7
- * Optimized for token efficiency with tiered instruction levels.
8
- */
9
- /**
10
- * Resource definition for instruction generation
11
- */
12
- export interface ResourceDefinition {
13
- uri: string;
14
- name: string;
15
- description?: string;
16
- }
17
- /**
18
- * Prompt definition for instruction generation
19
- */
20
- export interface PromptDefinition {
21
- name: string;
22
- description?: string;
23
- }
24
- /**
25
- * Instruction detail level for token efficiency
26
- * - essential: ~200 tokens - Core behaviors only (for token-constrained clients)
27
- * - standard: ~400 tokens - + Tool filtering and groups (default)
28
- * - full: ~600 tokens - + Complete tool/resource reference
29
- */
30
- export type InstructionLevel = "essential" | "standard" | "full";
31
- /**
32
- * Generate dynamic instructions based on enabled tools, resources, and prompts
33
- *
34
- * @param enabledTools - Set of enabled tool names
35
- * @param resources - Available resource definitions
36
- * @param prompts - Available prompt definitions
37
- * @param level - Instruction detail level (default: 'standard')
38
- */
39
- export declare function generateInstructions(enabledTools: Set<string>, _resources: ResourceDefinition[], prompts: PromptDefinition[], level?: InstructionLevel): string;
40
- /**
41
- * Static instructions for backward compatibility
42
- * @deprecated Use generateInstructions() instead for dynamic content
43
- */
44
- export declare const SERVER_INSTRUCTIONS: string;
45
- //# sourceMappingURL=ServerInstructions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServerInstructions.d.ts","sourceRoot":"","sources":["../../src/constants/ServerInstructions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAwSjE;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,UAAU,EAAE,kBAAkB,EAAE,EAChC,OAAO,EAAE,gBAAgB,EAAE,EAC3B,KAAK,GAAE,gBAA6B,GACnC,MAAM,CAgCR;AAqBD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QACiB,CAAC"}
@@ -1,356 +0,0 @@
1
- /**
2
- * Server instructions for db-mcp (SQLite MCP Server).
3
- *
4
- * These instructions are automatically sent to MCP clients during initialization,
5
- * providing guidance for AI agents on tool usage.
6
- *
7
- * Optimized for token efficiency with tiered instruction levels.
8
- */
9
- import { TOOL_GROUPS, ALL_TOOL_GROUPS } from "../filtering/ToolConstants.js";
10
- /**
11
- * Essential behavioral guidance (~200 tokens)
12
- * Core patterns every AI agent should follow.
13
- */
14
- const ESSENTIAL_INSTRUCTIONS = `# db-mcp (SQLite MCP Server)
15
-
16
- ## Quick Access
17
- | Purpose | Action |
18
- |---------|--------|
19
- | Health check | \`server_health\` tool |
20
- | Server info | \`server_info\` tool |
21
- | List adapters | \`list_adapters\` tool |
22
- | Database schema | \`sqlite://schema\` resource |
23
- | List tables | \`sqlite://tables\` resource |
24
-
25
- ## Built-in Tools (always available)
26
- | Tool | Description |
27
- |------|-------------|
28
- | \`server_info\` | Get server name, version, adapters, tool filter config |
29
- | \`server_health\` | Check adapter connections, latency, SQLite version |
30
- | \`list_adapters\` | List registered database adapters |
31
-
32
- ## Core Tools (8)
33
- | Tool | Description |
34
- |------|-------------|
35
- | \`sqlite_read_query\` | Execute SELECT queries |
36
- | \`sqlite_write_query\` | Execute INSERT/UPDATE/DELETE |
37
- | \`sqlite_list_tables\` | List tables with column counts (excludeSystemTables hides SpatiaLite tables) |
38
- | \`sqlite_describe_table\` | Get table schema |
39
- | \`sqlite_create_table\` | Create new table |
40
- | \`sqlite_drop_table\` | Drop (delete) a table |
41
- | \`sqlite_get_indexes\` | List indexes (use excludeSystemIndexes to hide SpatiaLite indexes) |
42
- | \`sqlite_create_index\` | Create index |
43
-
44
- ## WASM vs Native
45
- | Feature | Native | WASM | Fallback |
46
- |---------|--------|------|----------|
47
- | FTS5 full-text search | ✅ | ❌ | None |
48
- | Transactions (7 tools) | ✅ | ❌ | None |
49
- | Window functions (6 tools in stats group) | ✅ | ❌ | None |
50
- | SpatiaLite GIS (7 tools; 4 basic geo always work) | ✅ | ❌ | None |
51
- | Backup/Restore (3 tools) | ✅ | ❌ | Graceful error |
52
- | R-Tree spatial indexing | ✅ | ❌ | Graceful error |
53
- | CSV virtual tables | ✅ | ❌ | Graceful error |
54
- | generate_series | JS fallback | JS fallback | — |
55
- | dbstat | ✅ native (per-table) | ❌ | JS (counts only) |
56
- | soundex() | ✅ native | ❌ | JS |
57
- `;
58
- /**
59
- * Tool filtering instructions (~150 additional tokens)
60
- */
61
- const FILTERING_INSTRUCTIONS = `
62
- ## Tool Filtering
63
- Available presets via \`--tool-filter\`:
64
- | Shortcut | WASM | Native | Use Case |
65
- |----------|------|--------|----------|
66
- | \`starter\` | 44 | 48 | ⭐ Recommended: Core(8) + JSON(23) + Text(17*) |
67
- | \`analytics\` | 44 | 50 | Core(8) + JSON(23) + Stats(19: 13 core + 6 window) |
68
- | \`search\` | 36 | 36 | Core(8) + Text(17) + Vector(11) |
69
- | \`spatial\` | 23 | 30 | Core(8) + Geo(4-11) + Vector(11) |
70
- | \`minimal\` | 8 | 8 | Core only |
71
- | \`full\` | 102 | 122 | All tools |
72
-
73
- *+3 built-in tools (\`server_info\`, \`server_health\`, \`list_adapters\`) always included*
74
-
75
- **Groups**: \`core\`, \`json\`, \`text\`, \`stats\`, \`vector\`, \`admin\`, \`geo\`
76
- **Syntax**: \`"core,json"\` (whitelist), \`"+stats"\` (add), \`"-admin"\` (remove)
77
- *Text group: 17 native, 13 in WASM (4 FTS5 tools require native)*
78
- `;
79
- /**
80
- * Tool reference - comprehensive usage examples
81
- */
82
- const TOOL_REFERENCE = `
83
- ## JSON Operations
84
- \`\`\`javascript
85
- // Create optimized JSON collection with indexes
86
- sqlite_create_json_collection({ tableName: "docs", indexes: [{ path: "$.type" }, { path: "$.author" }] })
87
-
88
- // Insert and query JSON documents
89
- sqlite_json_insert({ table: "docs", column: "data", data: { type: "article", title: "Hello", tags: ["news"] } })
90
- sqlite_json_query({ table: "docs", column: "data", filterPaths: { "$.type": "article" }, selectPaths: ["$.title"] })
91
-
92
- // Path operations (extract, set, merge, remove)
93
- sqlite_json_extract({ table: "docs", column: "data", path: "$.title" })
94
- sqlite_json_set({ table: "docs", column: "data", path: "$.views", value: 100, whereClause: "id = 1" })
95
- sqlite_json_merge({ table: "docs", column: "data", mergeData: { featured: true }, whereClause: "id = 1" })
96
-
97
- // Array operations (Note: json_each multiplies output rows—use limit param for large arrays)
98
- sqlite_json_array_append({ table: "docs", column: "data", path: "$.tags", value: "featured", whereClause: "id = 1" })
99
- sqlite_json_each({ table: "docs", column: "data", path: "$.tags", limit: 50 }) // expand array to rows
100
-
101
- // Aggregation and analysis
102
- // Regular tables: use column names directly for groupByColumn
103
- sqlite_json_group_array({ table: "events", valueColumn: "user_id", groupByColumn: "event_type" })
104
- // JSON collections: use allowExpressions with json_extract for both value and group columns
105
- // Note: allowExpressions is for column extraction ONLY, NOT aggregate functions
106
- // Note: Without groupByColumn, each row creates a key-value pair; duplicate keys result if key values aren't unique
107
- sqlite_json_group_array({ table: "docs", valueColumn: "json_extract(data, '$.author')", groupByColumn: "json_extract(data, '$.type')", allowExpressions: true })
108
- // For aggregate values (COUNT, SUM, AVG), use aggregateFunction parameter instead
109
- sqlite_json_group_object({ table: "events", keyColumn: "event_type", aggregateFunction: "COUNT(*)" })
110
- sqlite_json_group_object({ table: "orders", keyColumn: "status", aggregateFunction: "SUM(total)" })
111
- sqlite_json_analyze_schema({ table: "docs", column: "data" }) // infer schema types
112
-
113
- // JSONB optimization (SQLite 3.45+)
114
- sqlite_json_storage_info({ table: "docs", column: "data" }) // check text vs JSONB format
115
- sqlite_jsonb_convert({ table: "docs", column: "data" }) // convert to JSONB for faster queries
116
- // Note: sqlite_json_normalize_column defaults to 'preserve' (maintains original format); use outputFormat: 'text' to force text
117
- \`\`\`
118
-
119
- ## Vector/Semantic Search
120
- \`\`\`javascript
121
- // Create vector table with metadata columns
122
- sqlite_vector_create_table({ tableName: "docs", dimensions: 384, additionalColumns: [{ name: "content", type: "TEXT" }] })
123
-
124
- // Store vectors (single and batch)
125
- sqlite_vector_store({ table: "docs", idColumn: "id", vectorColumn: "emb", id: 1, vector: [...] })
126
- sqlite_vector_batch_store({ table: "docs", idColumn: "id", vectorColumn: "emb", items: [{ id: 1, vector: [...] }, { id: 2, vector: [...] }] })
127
-
128
- // Search vectors (returnColumns omits vector data from results for smaller payloads)
129
- sqlite_vector_search({ table: "docs", vectorColumn: "emb", queryVector: [...], limit: 10, returnColumns: ["id", "title"] })
130
-
131
- // Retrieve and delete vectors
132
- // Note: sqlite_vector_get returns parsed 'vector' array + raw JSON string in 'metadata' for flexibility
133
- sqlite_vector_get({ table: "docs", idColumn: "id", vectorColumn: "emb", id: 1 })
134
- sqlite_vector_delete({ table: "docs", idColumn: "id", ids: [1, 2, 3] })
135
-
136
- // Vector metadata
137
- sqlite_vector_count({ table: "docs" }) // or with dimensions filter: { table: "docs", dimensions: 384 }
138
- sqlite_vector_dimensions({ table: "docs", vectorColumn: "emb" })
139
- sqlite_vector_stats({ table: "docs", vectorColumn: "emb" }) // magnitude min/max/avg
140
-
141
- // Utility tools for preprocessing
142
- sqlite_vector_normalize({ vector: [3, 4, 0, 0] }) // returns unit vector [0.6, 0.8, 0, 0]
143
- sqlite_vector_distance({ vector1: [...], vector2: [...], metric: "cosine" }) // or "euclidean", "dot"
144
- \`\`\`
145
-
146
- ## Full-Text Search (FTS5)
147
- \`\`\`javascript
148
- // Create FTS5 table with triggers for auto-sync on future changes
149
- sqlite_fts_create({ tableName: "articles_fts", sourceTable: "articles", columns: ["title", "content"] })
150
- sqlite_fts_rebuild({ table: "articles_fts" }) // Required: populate index with existing data
151
- // FTS5 uses AND by default: "machine learning" = rows containing BOTH words
152
- // Use OR explicitly: "machine OR learning" for rows containing EITHER word
153
- sqlite_fts_search({ table: "articles_fts", query: "machine learning", limit: 10 })
154
- // Note: FTS5 virtual tables (*_fts) and shadow tables (*_fts_*) are hidden from sqlite_list_tables for cleaner output
155
- \`\`\`
156
-
157
- ## Statistical Analysis
158
- \`\`\`javascript
159
- sqlite_stats_basic({ table: "employees", column: "salary" }) // count, sum, avg, min, max
160
- sqlite_stats_percentile({ table: "sales", column: "revenue", percentiles: [25, 50, 75, 90] })
161
- sqlite_stats_histogram({ table: "products", column: "price", buckets: 10 })
162
- sqlite_stats_regression({ table: "data", xColumn: "year", yColumn: "revenue" }) // linear
163
- sqlite_stats_regression({ table: "data", xColumn: "year", yColumn: "revenue", degree: 2 }) // quadratic
164
- sqlite_stats_outliers({ table: "sales", column: "amount", method: "iqr" }) // or "zscore"
165
- // ⚠️ Always use selectColumns to avoid returning all columns (large payloads with text fields)
166
- sqlite_stats_top_n({ table: "products", column: "price", n: 10, selectColumns: ["id", "name", "price"] })
167
- sqlite_stats_hypothesis({ table: "samples", column: "value", testType: "ttest_one", expectedMean: 100 })
168
- \`\`\`
169
-
170
- ## Geospatial Operations
171
- \`\`\`javascript
172
- // Basic geo (always available - Haversine formula)
173
- sqlite_geo_distance({ lat1: 40.7128, lon1: -74.006, lat2: 34.0522, lon2: -118.2437 }) // km
174
- sqlite_geo_bounding_box({ table: "stores", latColumn: "lat", lonColumn: "lon", minLat: 40, maxLat: 41, minLon: -75, maxLon: -73 })
175
- sqlite_geo_nearby({ table: "stores", latColumn: "lat", lonColumn: "lon", centerLat: 40.7, centerLon: -74, radius: 10, unit: "km" })
176
- sqlite_geo_cluster({ table: "customers", latColumn: "lat", lonColumn: "lon", gridSize: 0.1 })
177
- \`\`\`
178
-
179
- ## SpatiaLite (Advanced GIS)
180
- \`\`\`javascript
181
- // Create spatial table with geometry column
182
- sqlite_spatialite_create_table({ tableName: "places", geometryColumn: "geom", geometryType: "POINT", srid: 4326 })
183
-
184
- // Import data (WKT or GeoJSON)
185
- sqlite_spatialite_import({ tableName: "places", format: "wkt", data: "POINT(-73.99 40.75)", additionalData: { name: "NYC" } })
186
- sqlite_spatialite_import({ tableName: "places", format: "geojson", data: '{"type":"Point","coordinates":[-73.99,40.75]}' })
187
-
188
- // Spatial queries and analysis
189
- sqlite_spatialite_query({ query: "SELECT name, AsText(geom) FROM places WHERE ST_Within(geom, ...)" })
190
- // analysisType: "spatial_extent" | "point_in_polygon" | "nearest_neighbor" | "distance_matrix"
191
- // Note: nearest_neighbor/distance_matrix return CARTESIAN distance (degrees), not geodetic (km/miles)
192
- // For same source/target table, use excludeSelf: true to avoid self-matches
193
- sqlite_spatialite_analyze({ analysisType: "spatial_extent", sourceTable: "places", geometryColumn: "geom" })
194
- sqlite_spatialite_analyze({ analysisType: "nearest_neighbor", sourceTable: "pts", targetTable: "pts", excludeSelf: true })
195
- // transform: buffer uses 'distance' param for radius; simplify uses 'distance' as tolerance (0.0001 for lat/lon)
196
- // Buffer now auto-simplifies output by default (tolerance=0.0001). Use simplifyTolerance: 0 to disable.
197
- sqlite_spatialite_transform({ operation: "buffer", geometry1: "POINT(-73.99 40.75)", distance: 0.01 })
198
- sqlite_spatialite_transform({ operation: "simplify", geometry1: "...", distance: 0.001 })
199
- sqlite_spatialite_index({ tableName: "places", geometryColumn: "geom", action: "create" })
200
- \`\`\`
201
-
202
- ## Window Functions (Native Only)
203
- \`\`\`javascript
204
- sqlite_window_row_number({ table: "employees", orderBy: "hire_date", partitionBy: "department" })
205
- sqlite_window_rank({ table: "sales", orderBy: "revenue DESC", partitionBy: "region", rankType: "dense_rank" })
206
- sqlite_window_running_total({ table: "transactions", valueColumn: "amount", orderBy: "date" })
207
- sqlite_window_moving_avg({ table: "stock_prices", valueColumn: "close_price", orderBy: "date", windowSize: 7 })
208
- \`\`\`
209
-
210
- ## Transactions (Native Only)
211
- \`\`\`javascript
212
- sqlite_transaction_execute({ statements: ["UPDATE a SET x=1", "UPDATE b SET y=2"] }) // atomic
213
- sqlite_transaction_begin({ mode: "immediate" })
214
- sqlite_transaction_savepoint({ name: "checkpoint" })
215
- sqlite_transaction_rollback_to({ name: "checkpoint" })
216
- sqlite_transaction_commit()
217
- \`\`\`
218
-
219
- ## Text Processing
220
- \`\`\`javascript
221
- // Regex patterns: Double-escape backslashes (\\\\) when passing through JSON/MCP
222
- sqlite_regex_match({ table: "logs", column: "message", pattern: "ERROR:\\\\s+(\\\\w+)" })
223
- sqlite_regex_extract({ table: "users", column: "email", pattern: "@([a-zA-Z0-9.-]+)", groupIndex: 1 })
224
-
225
- // Text manipulation
226
- sqlite_text_split({ table: "users", column: "email", delimiter: "@" }) // Split into parts array
227
- sqlite_text_concat({ table: "users", columns: ["first_name", "last_name"], separator: " " })
228
- sqlite_text_normalize({ table: "docs", column: "content", mode: "strip_accents" }) // or nfc, nfd, nfkc, nfkd
229
-
230
- // Validation patterns: email, phone, url, uuid, ipv4, custom
231
- sqlite_text_validate({ table: "users", column: "email", pattern: "email" })
232
- sqlite_text_validate({ table: "data", column: "field", pattern: "custom", customPattern: "^[A-Z]{2}[0-9]{4}$" })
233
-
234
- // Fuzzy matching - matches WORD TOKENS by default (not entire value)
235
- // "laptop" matches "Laptop Pro 15" (distance 0 on first token). Use tokenize:false for full-string matching.
236
- sqlite_fuzzy_match({ table: "products", column: "name", search: "laptop", maxDistance: 2 })
237
- sqlite_fuzzy_match({ table: "products", column: "name", search: "laptob", maxDistance: 2, tokenize: false }) // matches full value
238
-
239
- // Phonetic matching - finds words that sound alike (compares FIRST word only)
240
- // Use includeRowData:false for lighter payloads when only matching values are needed
241
- sqlite_phonetic_match({ table: "products", column: "name", search: "laptop", algorithm: "soundex" })
242
- sqlite_phonetic_match({ table: "products", column: "name", search: "laptop", includeRowData: false }) // lighter response
243
-
244
- // Advanced search - combines exact, fuzzy, and phonetic techniques
245
- // fuzzyThreshold: 0.3-0.4 = loose matching (more results), 0.6-0.8 = strict matching (fewer results)
246
- sqlite_advanced_search({ table: "products", column: "name", searchTerm: "laptop", techniques: ["exact", "fuzzy", "phonetic"], fuzzyThreshold: 0.4 })
247
- \`\`\`
248
-
249
- ## Database Administration
250
- \`\`\`javascript
251
- // Database maintenance
252
- sqlite_integrity_check({ maxErrors: 10 }) // Check for corruption
253
- sqlite_optimize({ analyze: true, reindex: true }) // Optimize performance
254
- sqlite_vacuum() // Reclaim space
255
- sqlite_analyze({ table: "orders" }) // Update statistics for query planner
256
- sqlite_dbstat({ summarize: true }) // Storage statistics (summarize only works in native; WASM returns counts only)
257
-
258
- // Backup and restore (Native only)
259
- sqlite_backup({ targetPath: "/path/to/backup.db" })
260
- sqlite_verify_backup({ backupPath: "/path/to/backup.db" }) // Check integrity without restoring
261
- sqlite_restore({ sourcePath: "/path/to/backup.db" }) // WARNING: Replaces current database
262
-
263
- // PRAGMA utilities
264
- sqlite_pragma_settings({ pragma: "journal_mode" }) // Get value
265
- sqlite_pragma_settings({ pragma: "cache_size", value: 10000 }) // Set value
266
- sqlite_pragma_table_info({ table: "users" }) // Column details
267
- sqlite_pragma_compile_options({ filter: "FTS" }) // Filter compile options (note: WASM may show FTS3, not FTS5)
268
- sqlite_pragma_database_list() // List attached databases
269
- sqlite_pragma_optimize() // Run PRAGMA optimize
270
-
271
- // Index statistics
272
- sqlite_index_stats({ table: "orders" }) // Stats for explicit indexes
273
-
274
- // Views (SELECT-based virtual tables)
275
- sqlite_create_view({ viewName: "active_orders", selectQuery: "SELECT * FROM orders WHERE status = 'active'" })
276
- sqlite_create_view({ viewName: "v", selectQuery: "...", replace: true }) // CREATE OR REPLACE
277
- sqlite_list_views() // List all views
278
- sqlite_drop_view({ viewName: "active_orders" })
279
-
280
- // Virtual tables
281
- sqlite_list_virtual_tables() // List FTS5, R-Tree, CSV tables
282
- sqlite_virtual_table_info({ tableName: "articles_fts" }) // Module and column info
283
- sqlite_drop_virtual_table({ tableName: "old_fts", ifExists: true })
284
-
285
- // Generate series (pure JS - native generate_series extension not compiled into SQLite)
286
- sqlite_generate_series({ start: 1, stop: 100, step: 5 }) // Returns array of values
287
- // Creates a REGULAR table (not virtual) - use sqlite_drop_table to remove
288
- sqlite_create_series_table({ tableName: "numbers", start: 1, stop: 1000 })
289
-
290
- // R-Tree spatial indexing (Native only - returns graceful error with wasmLimitation: true in WASM)
291
- sqlite_create_rtree_table({ tableName: "locations_idx", dimensions: 2 }) // 2D: minX, maxX, minY, maxY
292
-
293
- // CSV Virtual Tables (Native only - returns graceful error in WASM; requires ABSOLUTE paths)
294
- sqlite_analyze_csv_schema({ filePath: "/absolute/path/to/data.csv" })
295
- sqlite_create_csv_table({ tableName: "csv_data", filePath: "/absolute/path/to/data.csv" })
296
-
297
- // Business insights capture
298
- sqlite_append_insight({ insight: "Q4 revenue increased 23% YoY" }) // Add to memo://insights
299
- \`\`\`
300
- `;
301
- /**
302
- * Generate dynamic instructions based on enabled tools, resources, and prompts
303
- *
304
- * @param enabledTools - Set of enabled tool names
305
- * @param resources - Available resource definitions
306
- * @param prompts - Available prompt definitions
307
- * @param level - Instruction detail level (default: 'standard')
308
- */
309
- export function generateInstructions(enabledTools, _resources, prompts, level = "standard") {
310
- let instructions = ESSENTIAL_INSTRUCTIONS;
311
- // Standard and full levels include filtering patterns
312
- if (level === "standard" || level === "full") {
313
- instructions += FILTERING_INSTRUCTIONS;
314
- }
315
- // Full level includes complete tool reference
316
- if (level === "full") {
317
- instructions += TOOL_REFERENCE;
318
- // Add active tools summary
319
- const activeGroups = getActiveToolGroups(enabledTools);
320
- if (activeGroups.length > 0) {
321
- instructions += `\n## Active Tools (${String(enabledTools.size)})\n`;
322
- for (const { group, tools } of activeGroups) {
323
- instructions += `**${group}**: ${tools.map((t) => `\`${t}\``).join(", ")}\n`;
324
- }
325
- }
326
- // Add prompts section
327
- if (prompts.length > 0) {
328
- instructions += `\n## Prompts (${String(prompts.length)})\n`;
329
- instructions += "Pre-built templates and guided workflows:\n";
330
- for (const prompt of prompts) {
331
- instructions += `- \`${prompt.name}\` - ${prompt.description ?? ""}\n`;
332
- }
333
- }
334
- }
335
- return instructions;
336
- }
337
- /**
338
- * Get active tool groups with their enabled tools
339
- */
340
- function getActiveToolGroups(enabledTools) {
341
- const activeGroups = [];
342
- for (const group of ALL_TOOL_GROUPS) {
343
- const allTools = TOOL_GROUPS[group];
344
- const enabledInGroup = allTools.filter((tool) => enabledTools.has(tool));
345
- if (enabledInGroup.length > 0) {
346
- activeGroups.push({ group, tools: enabledInGroup });
347
- }
348
- }
349
- return activeGroups;
350
- }
351
- /**
352
- * Static instructions for backward compatibility
353
- * @deprecated Use generateInstructions() instead for dynamic content
354
- */
355
- export const SERVER_INSTRUCTIONS = ESSENTIAL_INSTRUCTIONS + FILTERING_INSTRUCTIONS;
356
- //# sourceMappingURL=ServerInstructions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServerInstructions.js","sourceRoot":"","sources":["../../src/constants/ServerInstructions.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- /**
2
- * db-mcp - Tool Constants
3
- *
4
- * Defines the tool groups and meta-groups used for filtering.
5
- *
6
- * Actual tool groups (from code audit):
7
- * core: 8 tools (from core.ts)
8
- * json: 23 tools (from json-helpers.ts + json-operations.ts)
9
- * text: 17 tools (from text.ts + fts.ts)
10
- * stats: 19 tools (from stats.ts + window.ts)
11
- * vector: 11 tools (from vector.ts)
12
- * admin: 33 tools (from admin.ts + virtual.ts + transactions.ts)
13
- * geo: 11 tools (from geo.ts + spatialite.ts) - Native: 11, WASM: 4
14
- * Total: 122 Native / 102 WASM tools
15
- *
16
- * Note: 3 built-in server tools (server_info, server_health, list_adapters)
17
- * are always available regardless of filter settings.
18
- */
19
- import type { ToolGroup, MetaGroup } from "../types/index.js";
20
- /**
21
- * All valid tool groups
22
- */
23
- export declare const ALL_TOOL_GROUPS: ToolGroup[];
24
- /**
25
- * Tool groups - kept for backwards compatibility with scopes.ts
26
- * The actual filtering uses the tool's 'group' property, not these lists.
27
- */
28
- export declare const TOOL_GROUPS: Record<ToolGroup, string[]>;
29
- /**
30
- * Meta-groups that expand to multiple tool groups.
31
- * These provide shortcuts for common use cases.
32
- */
33
- export declare const META_GROUPS: Record<MetaGroup, ToolGroup[]>;
34
- //# sourceMappingURL=ToolConstants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolConstants.d.ts","sourceRoot":"","sources":["../../src/filtering/ToolConstants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,EAQtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAwHnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,CAkBtD,CAAC"}
@@ -1,174 +0,0 @@
1
- /**
2
- * db-mcp - Tool Constants
3
- *
4
- * Defines the tool groups and meta-groups used for filtering.
5
- *
6
- * Actual tool groups (from code audit):
7
- * core: 8 tools (from core.ts)
8
- * json: 23 tools (from json-helpers.ts + json-operations.ts)
9
- * text: 17 tools (from text.ts + fts.ts)
10
- * stats: 19 tools (from stats.ts + window.ts)
11
- * vector: 11 tools (from vector.ts)
12
- * admin: 33 tools (from admin.ts + virtual.ts + transactions.ts)
13
- * geo: 11 tools (from geo.ts + spatialite.ts) - Native: 11, WASM: 4
14
- * Total: 122 Native / 102 WASM tools
15
- *
16
- * Note: 3 built-in server tools (server_info, server_health, list_adapters)
17
- * are always available regardless of filter settings.
18
- */
19
- /**
20
- * All valid tool groups
21
- */
22
- export const ALL_TOOL_GROUPS = [
23
- "core",
24
- "json",
25
- "text",
26
- "stats",
27
- "vector",
28
- "admin",
29
- "geo",
30
- ];
31
- /**
32
- * Tool groups - kept for backwards compatibility with scopes.ts
33
- * The actual filtering uses the tool's 'group' property, not these lists.
34
- */
35
- export const TOOL_GROUPS = {
36
- core: [
37
- "read_query",
38
- "write_query",
39
- "list_tables",
40
- "describe_table",
41
- "create_table",
42
- "drop_table",
43
- "get_indexes",
44
- "create_index",
45
- ],
46
- json: [
47
- // JSON Helper Tools (8)
48
- "json_insert",
49
- "json_update",
50
- "json_select",
51
- "json_query",
52
- "json_validate_path",
53
- "json_merge",
54
- "json_analyze_schema",
55
- "create_json_collection",
56
- // JSON Operation Tools (12)
57
- "json_valid",
58
- "json_extract",
59
- "json_set",
60
- "json_remove",
61
- "json_type",
62
- "json_array_length",
63
- "json_array_append",
64
- "json_keys",
65
- "json_each",
66
- "json_group_array",
67
- "json_group_object",
68
- "json_pretty",
69
- // JSONB Tools (3)
70
- "jsonb_convert",
71
- "json_storage_info",
72
- "json_normalize_column",
73
- ],
74
- text: [
75
- "regex_extract",
76
- "regex_match",
77
- "text_split",
78
- "text_concat",
79
- "text_replace",
80
- "text_trim",
81
- "text_case",
82
- "text_substring",
83
- "fts_create",
84
- "fts_insert",
85
- "fts_search",
86
- "fts_match",
87
- ],
88
- stats: [
89
- "stats_basic",
90
- "stats_count",
91
- "stats_group_by",
92
- "stats_histogram",
93
- "stats_percentile",
94
- "stats_regression",
95
- "stats_correlation",
96
- "stats_zscore",
97
- "stats_time_bucket",
98
- "stats_moving_avg",
99
- "geo_distance",
100
- "geo_bounding_box",
101
- "geo_point_in_radius",
102
- "geo_nearest",
103
- "geo_encode",
104
- "geo_decode",
105
- ],
106
- vector: [
107
- "vector_create_table",
108
- "vector_store",
109
- "vector_batch_store",
110
- "vector_search",
111
- "vector_get",
112
- "vector_delete",
113
- "vector_count",
114
- "vector_stats",
115
- "vector_dimensions",
116
- "vector_normalize",
117
- "vector_distance",
118
- ],
119
- admin: [
120
- "backup",
121
- "analyze",
122
- "integrity_check",
123
- "optimize",
124
- "generate_series",
125
- "create_view",
126
- "list_views",
127
- "drop_view",
128
- "dbstat",
129
- "vacuum",
130
- "transaction_begin",
131
- "transaction_commit",
132
- "transaction_rollback",
133
- "transaction_savepoint",
134
- "transaction_release",
135
- "transaction_rollback_to",
136
- "transaction_execute",
137
- "window_row_number",
138
- "window_rank",
139
- "window_lag_lead",
140
- "window_running_total",
141
- ],
142
- geo: [
143
- "geo_distance",
144
- "geo_nearby",
145
- "geo_bounding_box",
146
- "geo_cluster",
147
- "spatialite_load",
148
- "spatialite_create_table",
149
- "spatialite_query",
150
- "spatialite_analyze",
151
- "spatialite_index",
152
- "spatialite_transform",
153
- "spatialite_import",
154
- ],
155
- };
156
- /**
157
- * Meta-groups that expand to multiple tool groups.
158
- * These provide shortcuts for common use cases.
159
- */
160
- export const META_GROUPS = {
161
- // General development - Core + JSON + Text (48 tools)
162
- starter: ["core", "json", "text"],
163
- // Data analysis - Core + JSON + Stats (50 tools Native, 44 WASM)
164
- analytics: ["core", "json", "stats"],
165
- // Search workloads - Core + Text + Vector (36 tools)
166
- search: ["core", "text", "vector"],
167
- // Geospatial workloads - Core + Geo + Vector (30 tools Native, 23 WASM)
168
- spatial: ["core", "geo", "vector"],
169
- // Bare minimum - Core only (8 tools)
170
- minimal: ["core"],
171
- // All tools enabled (122 Native / 102 WASM tools)
172
- full: ["core", "json", "text", "stats", "vector", "admin", "geo"],
173
- };
174
- //# sourceMappingURL=ToolConstants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolConstants.js","sourceRoot":"","sources":["../../src/filtering/ToolConstants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,KAAK;CACN,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAgC;IACtD,IAAI,EAAE;QACJ,YAAY;QACZ,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,cAAc;QACd,YAAY;QACZ,aAAa;QACb,cAAc;KACf;IACD,IAAI,EAAE;QACJ,wBAAwB;QACxB,aAAa;QACb,aAAa;QACb,aAAa;QACb,YAAY;QACZ,oBAAoB;QACpB,YAAY;QACZ,qBAAqB;QACrB,wBAAwB;QACxB,4BAA4B;QAC5B,YAAY;QACZ,cAAc;QACd,UAAU;QACV,aAAa;QACb,WAAW;QACX,mBAAmB;QACnB,mBAAmB;QACnB,WAAW;QACX,WAAW;QACX,kBAAkB;QAClB,mBAAmB;QACnB,aAAa;QACb,kBAAkB;QAClB,eAAe;QACf,mBAAmB;QACnB,uBAAuB;KACxB;IACD,IAAI,EAAE;QACJ,eAAe;QACf,aAAa;QACb,YAAY;QACZ,aAAa;QACb,cAAc;QACd,WAAW;QACX,WAAW;QACX,gBAAgB;QAChB,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,WAAW;KACZ;IACD,KAAK,EAAE;QACL,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,iBAAiB;QACjB,kBAAkB;QAClB,kBAAkB;QAClB,mBAAmB;QACnB,cAAc;QACd,mBAAmB;QACnB,kBAAkB;QAClB,cAAc;QACd,kBAAkB;QAClB,qBAAqB;QACrB,aAAa;QACb,YAAY;QACZ,YAAY;KACb;IACD,MAAM,EAAE;QACN,qBAAqB;QACrB,cAAc;QACd,oBAAoB;QACpB,eAAe;QACf,YAAY;QACZ,eAAe;QACf,cAAc;QACd,cAAc;QACd,mBAAmB;QACnB,kBAAkB;QAClB,iBAAiB;KAClB;IACD,KAAK,EAAE;QACL,QAAQ;QACR,SAAS;QACT,iBAAiB;QACjB,UAAU;QACV,iBAAiB;QACjB,aAAa;QACb,YAAY;QACZ,WAAW;QACX,QAAQ;QACR,QAAQ;QACR,mBAAmB;QACnB,oBAAoB;QACpB,sBAAsB;QACtB,uBAAuB;QACvB,qBAAqB;QACrB,yBAAyB;QACzB,qBAAqB;QACrB,mBAAmB;QACnB,aAAa;QACb,iBAAiB;QACjB,sBAAsB;KACvB;IACD,GAAG,EAAE;QACH,cAAc;QACd,YAAY;QACZ,kBAAkB;QAClB,aAAa;QACb,iBAAiB;QACjB,yBAAyB;QACzB,kBAAkB;QAClB,oBAAoB;QACpB,kBAAkB;QAClB,sBAAsB;QACtB,mBAAmB;KACpB;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAmC;IACzD,sDAAsD;IACtD,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAEjC,iEAAiE;IACjE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;IAEpC,qDAAqD;IACrD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;IAElC,wEAAwE;IACxE,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC;IAElC,qCAAqC;IACrC,OAAO,EAAE,CAAC,MAAM,CAAC;IAEjB,kDAAkD;IAClD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;CAClE,CAAC"}