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,605 @@
1
+ /**
2
+ * SQLite Prompt Definitions
3
+ *
4
+ * MCP prompts for common database operations and analysis.
5
+ * 10 prompts total.
6
+ */
7
+ /**
8
+ * Get all prompt definitions for the SQLite adapter
9
+ */
10
+ export function getPromptDefinitions(adapter) {
11
+ return [
12
+ createExplainSchemaPrompt(adapter),
13
+ createQueryBuilderPrompt(),
14
+ createDataAnalysisPrompt(),
15
+ createOptimizationPrompt(adapter),
16
+ createMigrationPrompt(),
17
+ createDebugQueryPrompt(),
18
+ createDocumentationPrompt(adapter),
19
+ createSummarizeTablePrompt(),
20
+ createHybridSearchWorkflowPrompt(),
21
+ createDemoPrompt(),
22
+ ];
23
+ }
24
+ /**
25
+ * Explain the database schema
26
+ */
27
+ function createExplainSchemaPrompt(adapter) {
28
+ return {
29
+ name: "sqlite_explain_schema",
30
+ description: "Explain the structure and relationships in this SQLite database",
31
+ arguments: [],
32
+ handler: async () => {
33
+ const schema = await adapter.getSchema();
34
+ const tables = await adapter.listTables();
35
+ return {
36
+ messages: [
37
+ {
38
+ role: "user",
39
+ content: {
40
+ type: "text",
41
+ text: `Please analyze and explain this SQLite database schema:
42
+
43
+ Tables: ${tables.map((t) => t.name).join(", ")}
44
+
45
+ Full Schema:
46
+ ${JSON.stringify(schema, null, 2)}
47
+
48
+ Please explain:
49
+ 1. What is the purpose of each table?
50
+ 2. What are the relationships between tables?
51
+ 3. What are the key fields and their purposes?
52
+ 4. Any observations about the data model design?`,
53
+ },
54
+ },
55
+ ],
56
+ };
57
+ },
58
+ };
59
+ }
60
+ /**
61
+ * Help build SQL queries
62
+ */
63
+ function createQueryBuilderPrompt() {
64
+ return {
65
+ name: "sqlite_query_builder",
66
+ description: "Help construct SQL queries for common operations",
67
+ arguments: [
68
+ {
69
+ name: "operation",
70
+ description: "The type of query (select, insert, update, delete, join, aggregate)",
71
+ required: true,
72
+ },
73
+ {
74
+ name: "tables",
75
+ description: "Comma-separated list of tables involved",
76
+ required: true,
77
+ },
78
+ {
79
+ name: "description",
80
+ description: "Natural language description of what you want to achieve",
81
+ required: true,
82
+ },
83
+ ],
84
+ handler: (args) => {
85
+ const operation = args["operation"] ?? "select";
86
+ const tables = args["tables"] ?? "";
87
+ const description = args["description"] ?? "";
88
+ return Promise.resolve({
89
+ messages: [
90
+ {
91
+ role: "user",
92
+ content: {
93
+ type: "text",
94
+ text: `Help me build a SQLite ${operation} query.
95
+
96
+ Tables involved: ${tables}
97
+
98
+ What I want to do: ${description}
99
+
100
+ Please provide:
101
+ 1. The complete SQL query
102
+ 2. Explanation of each part
103
+ 3. Any potential performance considerations
104
+ 4. Alternative approaches if applicable`,
105
+ },
106
+ },
107
+ ],
108
+ });
109
+ },
110
+ };
111
+ }
112
+ /**
113
+ * Data analysis prompt
114
+ */
115
+ function createDataAnalysisPrompt() {
116
+ return {
117
+ name: "sqlite_data_analysis",
118
+ description: "Analyze data patterns and provide insights",
119
+ arguments: [
120
+ {
121
+ name: "table",
122
+ description: "The table to analyze",
123
+ required: true,
124
+ },
125
+ {
126
+ name: "focus",
127
+ description: "What aspect to focus on (distribution, trends, outliers, correlations)",
128
+ required: false,
129
+ },
130
+ ],
131
+ handler: (args) => {
132
+ const table = args["table"] ?? "";
133
+ const focus = args["focus"] ?? "general";
134
+ return Promise.resolve({
135
+ messages: [
136
+ {
137
+ role: "user",
138
+ content: {
139
+ type: "text",
140
+ text: `Analyze the data in the "${table}" table with focus on: ${focus}
141
+
142
+ Please provide:
143
+ 1. Summary statistics for key columns
144
+ 2. Distribution analysis
145
+ 3. Notable patterns or anomalies
146
+ 4. Recommendations for further analysis
147
+
148
+ Use the available SQLite tools to query the data and build your analysis.`,
149
+ },
150
+ },
151
+ ],
152
+ });
153
+ },
154
+ };
155
+ }
156
+ /**
157
+ * Database optimization prompt
158
+ */
159
+ function createOptimizationPrompt(adapter) {
160
+ return {
161
+ name: "sqlite_optimization",
162
+ description: "Analyze and suggest database optimizations",
163
+ arguments: [],
164
+ handler: async () => {
165
+ const schema = await adapter.getSchema();
166
+ const tables = await adapter.listTables();
167
+ // Get indexes for context
168
+ const indexInfo = {};
169
+ for (const table of tables) {
170
+ indexInfo[table.name] = await adapter.getIndexes(table.name);
171
+ }
172
+ return {
173
+ messages: [
174
+ {
175
+ role: "user",
176
+ content: {
177
+ type: "text",
178
+ text: `Analyze this SQLite database for optimization opportunities:
179
+
180
+ Schema: ${JSON.stringify(schema, null, 2)}
181
+
182
+ Current Indexes: ${JSON.stringify(indexInfo, null, 2)}
183
+
184
+ Please analyze and suggest:
185
+ 1. Missing indexes that could improve query performance
186
+ 2. Table design optimizations
187
+ 3. Query patterns that might benefit from denormalization
188
+ 4. Storage optimizations (VACUUM, etc.)
189
+ 5. Any anti-patterns detected`,
190
+ },
191
+ },
192
+ ],
193
+ };
194
+ },
195
+ };
196
+ }
197
+ /**
198
+ * Migration helper prompt
199
+ */
200
+ function createMigrationPrompt() {
201
+ return {
202
+ name: "sqlite_migration",
203
+ description: "Help create database migration scripts",
204
+ arguments: [
205
+ {
206
+ name: "change",
207
+ description: "Description of the schema change needed",
208
+ required: true,
209
+ },
210
+ {
211
+ name: "reversible",
212
+ description: "Whether the migration should be reversible (true/false)",
213
+ required: false,
214
+ },
215
+ ],
216
+ handler: (args) => {
217
+ const change = args["change"] ?? "";
218
+ const reversible = args["reversible"] !== "false";
219
+ return Promise.resolve({
220
+ messages: [
221
+ {
222
+ role: "user",
223
+ content: {
224
+ type: "text",
225
+ text: `Create a SQLite migration script for the following change:
226
+
227
+ ${change}
228
+
229
+ Requirements:
230
+ - Reversible: ${reversible ? "Yes, include rollback" : "No rollback needed"}
231
+ - Should be safe to run on a live database
232
+ - Handle existing data appropriately
233
+
234
+ Please provide:
235
+ 1. UP migration (the change)
236
+ ${reversible ? "2. DOWN migration (rollback)" : ""}
237
+ 3. Data migration steps if needed
238
+ 4. Testing steps to verify the migration`,
239
+ },
240
+ },
241
+ ],
242
+ });
243
+ },
244
+ };
245
+ }
246
+ /**
247
+ * Debug query prompt
248
+ */
249
+ function createDebugQueryPrompt() {
250
+ return {
251
+ name: "sqlite_debug_query",
252
+ description: "Help debug a SQL query that is not working as expected",
253
+ arguments: [
254
+ {
255
+ name: "query",
256
+ description: "The SQL query to debug",
257
+ required: true,
258
+ },
259
+ {
260
+ name: "error",
261
+ description: "Error message or unexpected behavior description",
262
+ required: false,
263
+ },
264
+ {
265
+ name: "expected",
266
+ description: "What result you expected",
267
+ required: false,
268
+ },
269
+ ],
270
+ handler: (args) => {
271
+ const query = args["query"] ?? "";
272
+ const error = args["error"] ?? "No specific error - unexpected results";
273
+ const expected = args["expected"] ?? "Not specified";
274
+ return Promise.resolve({
275
+ messages: [
276
+ {
277
+ role: "user",
278
+ content: {
279
+ type: "text",
280
+ text: `Help me debug this SQLite query:
281
+
282
+ \`\`\`sql
283
+ ${query}
284
+ \`\`\`
285
+
286
+ Problem: ${error}
287
+
288
+ Expected result: ${expected}
289
+
290
+ Please:
291
+ 1. Identify potential issues with the query
292
+ 2. Explain what the query is actually doing
293
+ 3. Suggest corrections
294
+ 4. Provide the fixed query`,
295
+ },
296
+ },
297
+ ],
298
+ });
299
+ },
300
+ };
301
+ }
302
+ /**
303
+ * Documentation generator prompt
304
+ */
305
+ function createDocumentationPrompt(adapter) {
306
+ return {
307
+ name: "sqlite_documentation",
308
+ description: "Generate documentation for the database schema",
309
+ arguments: [
310
+ {
311
+ name: "format",
312
+ description: "Output format (markdown, json, html)",
313
+ required: false,
314
+ },
315
+ ],
316
+ handler: async (args) => {
317
+ const format = args["format"] ?? "markdown";
318
+ const schema = await adapter.getSchema();
319
+ return {
320
+ messages: [
321
+ {
322
+ role: "user",
323
+ content: {
324
+ type: "text",
325
+ text: `Generate comprehensive documentation for this SQLite database schema in ${format} format:
326
+
327
+ ${JSON.stringify(schema, null, 2)}
328
+
329
+ Include:
330
+ 1. Overview of the database purpose
331
+ 2. Entity Relationship description
332
+ 3. Table-by-table documentation with column descriptions
333
+ 4. Common query examples
334
+ 5. Important relationships and constraints`,
335
+ },
336
+ },
337
+ ],
338
+ };
339
+ },
340
+ };
341
+ }
342
+ /**
343
+ * Summarize table prompt - Intelligent table analysis
344
+ */
345
+ function createSummarizeTablePrompt() {
346
+ return {
347
+ name: "sqlite_summarize_table",
348
+ description: "Intelligent table analysis and summary generation with key statistics",
349
+ arguments: [
350
+ {
351
+ name: "table_name",
352
+ description: "Name of the table to analyze and summarize",
353
+ required: true,
354
+ },
355
+ {
356
+ name: "analysis_depth",
357
+ description: "Depth of analysis: 'basic', 'detailed', or 'comprehensive'",
358
+ required: false,
359
+ },
360
+ ],
361
+ handler: (args) => {
362
+ const tableName = args["table_name"] ?? "unknown";
363
+ const depth = args["analysis_depth"] ?? "basic";
364
+ const depthGuide = depth === "comprehensive"
365
+ ? `- Full statistical profiles for all columns
366
+ - Pattern detection and correlation analysis
367
+ - Data quality scoring and recommendations
368
+ - Anomaly detection and outlier analysis`
369
+ : depth === "detailed"
370
+ ? `- Data distributions and histograms
371
+ - NULL value counts per column
372
+ - Unique value analysis
373
+ - Top values for categorical columns`
374
+ : `- Row counts and column types
375
+ - Sample data preview
376
+ - Basic NULL detection`;
377
+ return Promise.resolve({
378
+ messages: [
379
+ {
380
+ role: "user",
381
+ content: {
382
+ type: "text",
383
+ text: `# Table Analysis: ${tableName}
384
+
385
+ Perform a ${depth} analysis of the '${tableName}' table.
386
+
387
+ ## Analysis Workflow
388
+
389
+ ### 1. Schema Analysis
390
+ First, examine the table structure:
391
+ - Use \`sqlite_describe_table\` with table: ${tableName}
392
+
393
+ ### 2. Basic Statistics
394
+ \`\`\`sql
395
+ SELECT COUNT(*) as total_rows FROM ${tableName};
396
+ \`\`\`
397
+
398
+ ### 3. ${depth.charAt(0).toUpperCase() + depth.slice(1)} Profile
399
+ ${depthGuide}
400
+
401
+ ### 4. Data Quality Assessment
402
+ - Check for NULL values in each column
403
+ - Identify potential duplicate records
404
+ - Look for outliers or unusual patterns
405
+
406
+ ### 5. Summary Report
407
+ Generate a summary with:
408
+ - Table purpose (inferred from schema)
409
+ - Key statistics
410
+ - Data quality score
411
+ - Recommendations
412
+
413
+ Start by examining the schema of '${tableName}'.`,
414
+ },
415
+ },
416
+ ],
417
+ });
418
+ },
419
+ };
420
+ }
421
+ /**
422
+ * Hybrid search workflow prompt - FTS5 + Vector search
423
+ */
424
+ function createHybridSearchWorkflowPrompt() {
425
+ return {
426
+ name: "sqlite_hybrid_search_workflow",
427
+ description: "Hybrid keyword + semantic search implementation workflow",
428
+ arguments: [
429
+ {
430
+ name: "use_case",
431
+ description: "Use case for search (e.g., 'product_search', 'document_retrieval')",
432
+ required: true,
433
+ },
434
+ ],
435
+ handler: (args) => {
436
+ const useCase = args["use_case"] ?? "content";
437
+ return Promise.resolve({
438
+ messages: [
439
+ {
440
+ role: "user",
441
+ content: {
442
+ type: "text",
443
+ text: `# Hybrid Search Workflow: ${useCase}
444
+
445
+ Implement a hybrid search combining FTS5 keyword search with vector/semantic search.
446
+
447
+ ## 1. Schema Setup
448
+
449
+ ### FTS5 Virtual Table (Keyword Search)
450
+ \`\`\`sql
451
+ CREATE VIRTUAL TABLE IF NOT EXISTS ${useCase}_fts USING fts5(
452
+ title,
453
+ content,
454
+ tokenize='porter unicode61'
455
+ );
456
+ \`\`\`
457
+
458
+ ### Embeddings Table (Semantic Search)
459
+ \`\`\`sql
460
+ CREATE TABLE IF NOT EXISTS ${useCase}_embeddings (
461
+ id INTEGER PRIMARY KEY,
462
+ source_id INTEGER NOT NULL,
463
+ embedding BLOB NOT NULL,
464
+ embedding_model TEXT DEFAULT 'text-embedding-3-small'
465
+ );
466
+ \`\`\`
467
+
468
+ ## 2. Hybrid Search Query
469
+
470
+ ### Step 1: FTS5 Keyword Search
471
+ \`\`\`sql
472
+ SELECT rowid, bm25(${useCase}_fts) as keyword_score
473
+ FROM ${useCase}_fts
474
+ WHERE ${useCase}_fts MATCH ?
475
+ ORDER BY bm25(${useCase}_fts)
476
+ LIMIT 50;
477
+ \`\`\`
478
+
479
+ ### Step 2: Vector Similarity Search
480
+ Use \`sqlite_vector_search\` tool with cosine similarity.
481
+
482
+ ### Step 3: Combine Results
483
+ \`\`\`sql
484
+ -- Weighted hybrid scoring
485
+ SELECT
486
+ id,
487
+ (0.6 * COALESCE(keyword_score, 0) + 0.4 * COALESCE(vector_score, 0)) as hybrid_score
488
+ FROM (
489
+ SELECT id, keyword_score, NULL as vector_score FROM keyword_results
490
+ UNION
491
+ SELECT id, NULL, vector_score FROM vector_results
492
+ )
493
+ GROUP BY id
494
+ ORDER BY hybrid_score DESC
495
+ LIMIT 20;
496
+ \`\`\`
497
+
498
+ ## 3. Optimization for ${useCase}
499
+
500
+ ### Recommended Weights
501
+ - Exact keyword match: Higher weight for precision
502
+ - Semantic similarity: Higher weight for recall
503
+
504
+ ### Typical configurations:
505
+ - **Product search**: 70% keyword + 30% semantic
506
+ - **Document retrieval**: 50% keyword + 50% semantic
507
+ - **Q&A/Support**: 40% keyword + 60% semantic
508
+
509
+ ## 4. Next Steps
510
+
511
+ 1. Create the FTS5 virtual table
512
+ 2. Generate embeddings for your content
513
+ 3. Implement the hybrid search function
514
+ 4. Tune weights based on evaluation
515
+
516
+ Start by creating the FTS5 table for '${useCase}'.`,
517
+ },
518
+ },
519
+ ],
520
+ });
521
+ },
522
+ };
523
+ }
524
+ /**
525
+ * Interactive MCP demo prompt
526
+ */
527
+ function createDemoPrompt() {
528
+ return {
529
+ name: "sqlite_demo",
530
+ description: "Interactive walkthrough demonstrating MCP SQLite capabilities",
531
+ arguments: [
532
+ {
533
+ name: "topic",
534
+ description: "Topic for demo scenario (e.g., 'retail sales')",
535
+ required: true,
536
+ },
537
+ ],
538
+ handler: (args) => {
539
+ const topic = args["topic"] ?? "business analytics";
540
+ return Promise.resolve({
541
+ messages: [
542
+ {
543
+ role: "user",
544
+ content: {
545
+ type: "text",
546
+ text: `# Interactive MCP Demo: ${topic}
547
+
548
+ You are guiding an interactive demo of the SQLite MCP Server capabilities.
549
+
550
+ ## MCP Overview
551
+
552
+ **Prompts**: Pre-written templates that structure AI conversations (like this one)
553
+ **Tools**: SQL operations (read_query, write_query, create_table, etc.)
554
+ **Resources**: Living documents like \`memo://insights\` that update during analysis
555
+
556
+ ## Demo Workflow
557
+
558
+ ### 1. Create Business Narrative
559
+ Describe a business problem for "${topic}":
560
+ - Include a protagonist who needs data analysis
561
+ - Add an approaching deadline
562
+ - Explain why Claude is helping
563
+
564
+ ### 2. Setup Data
565
+ Create 2-3 relevant tables using \`sqlite_create_table\`:
566
+ - Design appropriate schemas for ${topic}
567
+ - Insert 10-15 rows of synthetic data per table
568
+ - Say "Setting up the data..." while working
569
+
570
+ ### 3. Present Query Options
571
+ After setup, present 3-4 natural language query choices:
572
+ - "Show me the top performers"
573
+ - "What are the trends over time?"
574
+ - "Identify any anomalies"
575
+
576
+ ### 4. Execute & Analyze
577
+ For each user selection:
578
+ - Run the appropriate SQL query
579
+ - Explain the results
580
+ - Use \`sqlite_append_insight\` to capture findings
581
+
582
+ ### 5. Capture Insights
583
+ Remind the user about \`memo://insights\`:
584
+ - Each insight is automatically added to this resource
585
+ - They can attach it to see all discoveries
586
+
587
+ ### 6. Wrap Up
588
+ Summarize what was demonstrated:
589
+ - Data creation and querying
590
+ - Insight capture via resources
591
+ - The power of MCP for database workflows
592
+
593
+ ---
594
+
595
+ Start with: "Hey there! I see you've chosen **${topic}**. Let's explore what we can do! 🚀"
596
+
597
+ Then begin creating the business narrative.`,
598
+ },
599
+ },
600
+ ],
601
+ });
602
+ },
603
+ };
604
+ }
605
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/adapters/sqlite/prompts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAsB;IAEtB,OAAO;QACL,yBAAyB,CAAC,OAAO,CAAC;QAClC,wBAAwB,EAAE;QAC1B,wBAAwB,EAAE;QAC1B,wBAAwB,CAAC,OAAO,CAAC;QACjC,qBAAqB,EAAE;QACvB,sBAAsB,EAAE;QACxB,yBAAyB,CAAC,OAAO,CAAC;QAClC,0BAA0B,EAAE;QAC5B,gCAAgC,EAAE;QAClC,gBAAgB,EAAE;KACnB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAAC,OAAsB;IACvD,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,iEAAiE;QACnE,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAE1C,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE;;UAEV,MAAM,CAAC,GAAG,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAG9D,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;;;;;;iDAMgB;yBACpC;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB;IAC/B,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,kDAAkD;QAC/D,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,WAAW;gBACjB,WAAW,EACT,qEAAqE;gBACvE,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yCAAyC;gBACtD,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,0DAA0D;gBACvE,QAAQ,EAAE,IAAI;aACf;SACF;QACD,OAAO,EAAE,CAAC,IAAwC,EAAE,EAAE;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAE9C,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,0BAA0B,SAAS;;mBAEpC,MAAM;;qBAEJ,WAAW;;;;;;wCAMQ;yBAC3B;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB;IAC/B,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,4CAA4C;QACzD,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,sBAAsB;gBACnC,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EACT,wEAAwE;gBAC1E,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,OAAO,EAAE,CAAC,IAAwC,EAAE,EAAE;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;YAEzC,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,4BAA4B,KAAK,0BAA0B,KAAK;;;;;;;;0EAQV;yBAC7D;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,OAAsB;IACtD,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,4CAA4C;QACzD,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAE1C,0BAA0B;YAC1B,MAAM,SAAS,GAA4B,EAAE,CAAC;YAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC;YAED,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE;;UAEV,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;;mBAEtB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;;;;;;;8BAOvB;yBACjB;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB;IAC5B,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,wCAAwC;QACrD,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yCAAyC;gBACtD,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,yDAAyD;gBACtE,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,OAAO,EAAE,CAAC,IAAwC,EAAE,EAAE;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,OAAO,CAAC;YAElD,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE;;EAElB,MAAM;;;gBAGQ,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,oBAAoB;;;;;;EAMzE,UAAU,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE;;yCAET;yBAC5B;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB;IAC7B,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,wDAAwD;QACrE,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,wBAAwB;gBACrC,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,kDAAkD;gBAC/D,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,0BAA0B;gBACvC,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,OAAO,EAAE,CAAC,IAAwC,EAAE,EAAE;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,wCAAwC,CAAC;YACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,eAAe,CAAC;YAErD,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE;;;EAGlB,KAAK;;;WAGI,KAAK;;mBAEG,QAAQ;;;;;;2BAMA;yBACd;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAAC,OAAsB;IACvD,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,gDAAgD;QAC7D,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sCAAsC;gBACnD,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,OAAO,EAAE,KAAK,EAAE,IAAwC,EAAE,EAAE;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;YAEzC,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,2EAA2E,MAAM;;EAEnG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;;;;;;;2CAOU;yBAC9B;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B;IACjC,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,uEAAuE;QACzE,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,4CAA4C;gBACzD,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EACT,4DAA4D;gBAC9D,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,OAAO,EAAE,CAAC,IAAwC,EAAE,EAAE;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC;YAEhD,MAAM,UAAU,GACd,KAAK,KAAK,eAAe;gBACvB,CAAC,CAAC;;;yCAG6B;gBAC/B,CAAC,CAAC,KAAK,KAAK,UAAU;oBACpB,CAAC,CAAC;;;qCAGuB;oBACzB,CAAC,CAAC;;uBAES,CAAC;YAElB,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,qBAAqB,SAAS;;YAEtC,KAAK,qBAAqB,SAAS;;;;;;8CAMD,SAAS;;;;qCAIlB,SAAS;;;SAGrC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;EACrD,UAAU;;;;;;;;;;;;;;oCAcwB,SAAS,IAAI;yBACpC;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gCAAgC;IACvC,OAAO;QACL,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,0DAA0D;QACvE,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EACT,oEAAoE;gBACtE,QAAQ,EAAE,IAAI;aACf;SACF;QACD,OAAO,EAAE,CAAC,IAA4B,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;YAE9C,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAe;wBACrB,OAAO,EAAE;4BACP,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,6BAA6B,OAAO;;;;;;;;qCAQnB,OAAO;;;;;;;;;6BASf,OAAO;;;;;;;;;;;;qBAYf,OAAO;OACrB,OAAO;QACN,OAAO;gBACC,OAAO;;;;;;;;;;;;;;;;;;;;;;;yBAuBE,OAAO;;;;;;;;;;;;;;;;;;wCAkBQ,OAAO,IAAI;yBACtC;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB;IACvB,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,+DAA+D;QACjE,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,gDAAgD;gBAC7D,QAAQ,EAAE,IAAI;aACf;SACF;QACD,OAAO,EAAE,CAAC,IAA4B,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,oBAAoB,CAAC;YAEpD,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAe;wBACrB,OAAO,EAAE;4BACP,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,2BAA2B,KAAK;;;;;;;;;;;;;mCAajB,KAAK;;;;;;;mCAOL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDA6BQ,KAAK;;4CAET;yBAC/B;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * SQLite Resource Definitions
3
+ *
4
+ * MCP resources for schema introspection, data access, and metadata.
5
+ * 8 resources total.
6
+ */
7
+ import type { SqliteAdapter } from "./SqliteAdapter.js";
8
+ import type { ResourceDefinition } from "../../types/index.js";
9
+ /**
10
+ * Get all resource definitions for the SQLite adapter
11
+ */
12
+ export declare function getResourceDefinitions(adapter: SqliteAdapter): ResourceDefinition[];
13
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/adapters/sqlite/resources.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ/D;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,GACrB,kBAAkB,EAAE,CAWtB"}