db-mcp 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +860 -0
- package/dist/adapters/DatabaseAdapter.d.ts +141 -0
- package/dist/adapters/DatabaseAdapter.d.ts.map +1 -0
- package/dist/adapters/DatabaseAdapter.js +131 -0
- package/dist/adapters/DatabaseAdapter.js.map +1 -0
- package/dist/adapters/sqlite/SchemaManager.d.ts +58 -0
- package/dist/adapters/sqlite/SchemaManager.d.ts.map +1 -0
- package/dist/adapters/sqlite/SchemaManager.js +187 -0
- package/dist/adapters/sqlite/SchemaManager.js.map +1 -0
- package/dist/adapters/sqlite/SqliteAdapter.d.ts +161 -0
- package/dist/adapters/sqlite/SqliteAdapter.d.ts.map +1 -0
- package/dist/adapters/sqlite/SqliteAdapter.js +741 -0
- package/dist/adapters/sqlite/SqliteAdapter.js.map +1 -0
- package/dist/adapters/sqlite/index.d.ts +9 -0
- package/dist/adapters/sqlite/index.d.ts.map +1 -0
- package/dist/adapters/sqlite/index.js +8 -0
- package/dist/adapters/sqlite/index.js.map +1 -0
- package/dist/adapters/sqlite/json-utils.d.ts +100 -0
- package/dist/adapters/sqlite/json-utils.d.ts.map +1 -0
- package/dist/adapters/sqlite/json-utils.js +274 -0
- package/dist/adapters/sqlite/json-utils.js.map +1 -0
- package/dist/adapters/sqlite/output-schemas.d.ts +1187 -0
- package/dist/adapters/sqlite/output-schemas.d.ts.map +1 -0
- package/dist/adapters/sqlite/output-schemas.js +1337 -0
- package/dist/adapters/sqlite/output-schemas.js.map +1 -0
- package/dist/adapters/sqlite/prompts.d.ts +13 -0
- package/dist/adapters/sqlite/prompts.d.ts.map +1 -0
- package/dist/adapters/sqlite/prompts.js +605 -0
- package/dist/adapters/sqlite/prompts.js.map +1 -0
- package/dist/adapters/sqlite/resources.d.ts +13 -0
- package/dist/adapters/sqlite/resources.d.ts.map +1 -0
- package/dist/adapters/sqlite/resources.js +251 -0
- package/dist/adapters/sqlite/resources.js.map +1 -0
- package/dist/adapters/sqlite/tools/admin.d.ts +14 -0
- package/dist/adapters/sqlite/tools/admin.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/admin.js +788 -0
- package/dist/adapters/sqlite/tools/admin.js.map +1 -0
- package/dist/adapters/sqlite/tools/core.d.ts +25 -0
- package/dist/adapters/sqlite/tools/core.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/core.js +359 -0
- package/dist/adapters/sqlite/tools/core.js.map +1 -0
- package/dist/adapters/sqlite/tools/fts.d.ts +13 -0
- package/dist/adapters/sqlite/tools/fts.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/fts.js +347 -0
- package/dist/adapters/sqlite/tools/fts.js.map +1 -0
- package/dist/adapters/sqlite/tools/geo.d.ts +14 -0
- package/dist/adapters/sqlite/tools/geo.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/geo.js +252 -0
- package/dist/adapters/sqlite/tools/geo.js.map +1 -0
- package/dist/adapters/sqlite/tools/index.d.ts +30 -0
- package/dist/adapters/sqlite/tools/index.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/index.js +61 -0
- package/dist/adapters/sqlite/tools/index.js.map +1 -0
- package/dist/adapters/sqlite/tools/json-helpers.d.ts +14 -0
- package/dist/adapters/sqlite/tools/json-helpers.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/json-helpers.js +477 -0
- package/dist/adapters/sqlite/tools/json-helpers.js.map +1 -0
- package/dist/adapters/sqlite/tools/json-operations.d.ts +14 -0
- package/dist/adapters/sqlite/tools/json-operations.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/json-operations.js +839 -0
- package/dist/adapters/sqlite/tools/json-operations.js.map +1 -0
- package/dist/adapters/sqlite/tools/stats.d.ts +15 -0
- package/dist/adapters/sqlite/tools/stats.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/stats.js +1219 -0
- package/dist/adapters/sqlite/tools/stats.js.map +1 -0
- package/dist/adapters/sqlite/tools/text.d.ts +14 -0
- package/dist/adapters/sqlite/tools/text.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/text.js +1141 -0
- package/dist/adapters/sqlite/tools/text.js.map +1 -0
- package/dist/adapters/sqlite/tools/vector.d.ts +14 -0
- package/dist/adapters/sqlite/tools/vector.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/vector.js +613 -0
- package/dist/adapters/sqlite/tools/vector.js.map +1 -0
- package/dist/adapters/sqlite/tools/virtual.d.ts +13 -0
- package/dist/adapters/sqlite/tools/virtual.d.ts.map +1 -0
- package/dist/adapters/sqlite/tools/virtual.js +930 -0
- package/dist/adapters/sqlite/tools/virtual.js.map +1 -0
- package/dist/adapters/sqlite/types.d.ts +207 -0
- package/dist/adapters/sqlite/types.d.ts.map +1 -0
- package/dist/adapters/sqlite/types.js +186 -0
- package/dist/adapters/sqlite/types.js.map +1 -0
- package/dist/adapters/sqlite-native/NativeSqliteAdapter.d.ts +163 -0
- package/dist/adapters/sqlite-native/NativeSqliteAdapter.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/NativeSqliteAdapter.js +748 -0
- package/dist/adapters/sqlite-native/NativeSqliteAdapter.js.map +1 -0
- package/dist/adapters/sqlite-native/index.d.ts +11 -0
- package/dist/adapters/sqlite-native/index.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/index.js +11 -0
- package/dist/adapters/sqlite-native/index.js.map +1 -0
- package/dist/adapters/sqlite-native/tools/spatialite.d.ts +19 -0
- package/dist/adapters/sqlite-native/tools/spatialite.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/spatialite.js +628 -0
- package/dist/adapters/sqlite-native/tools/spatialite.js.map +1 -0
- package/dist/adapters/sqlite-native/tools/transactions.d.ts +12 -0
- package/dist/adapters/sqlite-native/tools/transactions.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/transactions.js +255 -0
- package/dist/adapters/sqlite-native/tools/transactions.js.map +1 -0
- package/dist/adapters/sqlite-native/tools/window.d.ts +12 -0
- package/dist/adapters/sqlite-native/tools/window.d.ts.map +1 -0
- package/dist/adapters/sqlite-native/tools/window.js +370 -0
- package/dist/adapters/sqlite-native/tools/window.js.map +1 -0
- package/dist/auth/AuthorizationServerDiscovery.d.ts +90 -0
- package/dist/auth/AuthorizationServerDiscovery.d.ts.map +1 -0
- package/dist/auth/AuthorizationServerDiscovery.js +204 -0
- package/dist/auth/AuthorizationServerDiscovery.js.map +1 -0
- package/dist/auth/OAuthResourceServer.d.ts +65 -0
- package/dist/auth/OAuthResourceServer.d.ts.map +1 -0
- package/dist/auth/OAuthResourceServer.js +121 -0
- package/dist/auth/OAuthResourceServer.js.map +1 -0
- package/dist/auth/TokenValidator.d.ts +60 -0
- package/dist/auth/TokenValidator.d.ts.map +1 -0
- package/dist/auth/TokenValidator.js +235 -0
- package/dist/auth/TokenValidator.js.map +1 -0
- package/dist/auth/errors.d.ts +74 -0
- package/dist/auth/errors.d.ts.map +1 -0
- package/dist/auth/errors.js +133 -0
- package/dist/auth/errors.js.map +1 -0
- package/dist/auth/index.d.ts +13 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +15 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/middleware.d.ts +81 -0
- package/dist/auth/middleware.d.ts.map +1 -0
- package/dist/auth/middleware.js +291 -0
- package/dist/auth/middleware.js.map +1 -0
- package/dist/auth/scopes.d.ts +136 -0
- package/dist/auth/scopes.d.ts.map +1 -0
- package/dist/auth/scopes.js +349 -0
- package/dist/auth/scopes.js.map +1 -0
- package/dist/auth/types.d.ts +257 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +8 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +236 -0
- package/dist/cli.js.map +1 -0
- package/dist/constants/ServerInstructions.d.ts +45 -0
- package/dist/constants/ServerInstructions.d.ts.map +1 -0
- package/dist/constants/ServerInstructions.js +356 -0
- package/dist/constants/ServerInstructions.js.map +1 -0
- package/dist/filtering/ToolConstants.d.ts +34 -0
- package/dist/filtering/ToolConstants.d.ts.map +1 -0
- package/dist/filtering/ToolConstants.js +174 -0
- package/dist/filtering/ToolConstants.js.map +1 -0
- package/dist/filtering/ToolFilter.d.ts +82 -0
- package/dist/filtering/ToolFilter.d.ts.map +1 -0
- package/dist/filtering/ToolFilter.js +296 -0
- package/dist/filtering/ToolFilter.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/server/McpServer.d.ts +61 -0
- package/dist/server/McpServer.d.ts.map +1 -0
- package/dist/server/McpServer.js +270 -0
- package/dist/server/McpServer.js.map +1 -0
- package/dist/transports/http.d.ts +134 -0
- package/dist/transports/http.d.ts.map +1 -0
- package/dist/transports/http.js +516 -0
- package/dist/transports/http.js.map +1 -0
- package/dist/transports/index.d.ts +5 -0
- package/dist/transports/index.d.ts.map +1 -0
- package/dist/transports/index.js +5 -0
- package/dist/transports/index.js.map +1 -0
- package/dist/types/index.d.ts +380 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +68 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/annotations.d.ts +44 -0
- package/dist/utils/annotations.d.ts.map +1 -0
- package/dist/utils/annotations.js +77 -0
- package/dist/utils/annotations.js.map +1 -0
- package/dist/utils/errors.d.ts +155 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +329 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/identifiers.d.ts +121 -0
- package/dist/utils/identifiers.d.ts.map +1 -0
- package/dist/utils/identifiers.js +319 -0
- package/dist/utils/identifiers.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/insightsManager.d.ts +39 -0
- package/dist/utils/insightsManager.d.ts.map +1 -0
- package/dist/utils/insightsManager.js +63 -0
- package/dist/utils/insightsManager.js.map +1 -0
- package/dist/utils/logger.d.ts +189 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +394 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/progress-utils.d.ts +54 -0
- package/dist/utils/progress-utils.d.ts.map +1 -0
- package/dist/utils/progress-utils.js +74 -0
- package/dist/utils/progress-utils.js.map +1 -0
- package/dist/utils/resourceAnnotations.d.ts +36 -0
- package/dist/utils/resourceAnnotations.d.ts.map +1 -0
- package/dist/utils/resourceAnnotations.js +57 -0
- package/dist/utils/resourceAnnotations.js.map +1 -0
- package/dist/utils/where-clause.d.ts +41 -0
- package/dist/utils/where-clause.d.ts.map +1 -0
- package/dist/utils/where-clause.js +116 -0
- package/dist/utils/where-clause.js.map +1 -0
- package/package.json +83 -0
- package/server.json +53 -0
|
@@ -0,0 +1,1337 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLite Output Schemas (MCP 2025-11-25)
|
|
3
|
+
*
|
|
4
|
+
* Zod schemas defining structured output types for all SQLite tools.
|
|
5
|
+
* These schemas enable clients to validate and extract tool responses.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// Common Building Blocks
|
|
10
|
+
// =============================================================================
|
|
11
|
+
/**
|
|
12
|
+
* Generic row record for query results - allows any string keys with unknown values
|
|
13
|
+
*/
|
|
14
|
+
const RowRecordSchema = z.record(z.string(), z.unknown());
|
|
15
|
+
// =============================================================================
|
|
16
|
+
// Core Tool Output Schemas (8 tools)
|
|
17
|
+
// =============================================================================
|
|
18
|
+
/**
|
|
19
|
+
* sqlite_read_query output
|
|
20
|
+
*/
|
|
21
|
+
export const ReadQueryOutputSchema = z.object({
|
|
22
|
+
success: z.boolean(),
|
|
23
|
+
rowCount: z.number(),
|
|
24
|
+
rows: z.array(RowRecordSchema),
|
|
25
|
+
executionTimeMs: z.number().optional(),
|
|
26
|
+
});
|
|
27
|
+
/**
|
|
28
|
+
* sqlite_write_query output
|
|
29
|
+
*/
|
|
30
|
+
export const WriteQueryOutputSchema = z.object({
|
|
31
|
+
success: z.boolean(),
|
|
32
|
+
rowsAffected: z.number(),
|
|
33
|
+
executionTimeMs: z.number().optional(),
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* sqlite_create_table output
|
|
37
|
+
*/
|
|
38
|
+
export const CreateTableOutputSchema = z.object({
|
|
39
|
+
success: z.boolean(),
|
|
40
|
+
message: z.string(),
|
|
41
|
+
sql: z.string(),
|
|
42
|
+
});
|
|
43
|
+
/**
|
|
44
|
+
* Table entry for list_tables
|
|
45
|
+
*/
|
|
46
|
+
const TableEntrySchema = z.object({
|
|
47
|
+
name: z.string(),
|
|
48
|
+
type: z.string(),
|
|
49
|
+
rowCount: z.number().optional(),
|
|
50
|
+
columnCount: z.number(),
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* sqlite_list_tables output
|
|
54
|
+
*/
|
|
55
|
+
export const ListTablesOutputSchema = z.object({
|
|
56
|
+
success: z.boolean(),
|
|
57
|
+
count: z.number(),
|
|
58
|
+
tables: z.array(TableEntrySchema),
|
|
59
|
+
});
|
|
60
|
+
/**
|
|
61
|
+
* Column info for describe_table
|
|
62
|
+
*/
|
|
63
|
+
const ColumnInfoSchema = z.object({
|
|
64
|
+
name: z.string(),
|
|
65
|
+
type: z.string(),
|
|
66
|
+
nullable: z.boolean().optional(),
|
|
67
|
+
primaryKey: z.boolean().optional(),
|
|
68
|
+
defaultValue: z.unknown().optional(),
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* sqlite_describe_table output
|
|
72
|
+
*/
|
|
73
|
+
export const DescribeTableOutputSchema = z.object({
|
|
74
|
+
success: z.boolean(),
|
|
75
|
+
table: z.string(),
|
|
76
|
+
rowCount: z.number().optional(),
|
|
77
|
+
columns: z.array(ColumnInfoSchema),
|
|
78
|
+
});
|
|
79
|
+
/**
|
|
80
|
+
* sqlite_drop_table output
|
|
81
|
+
*/
|
|
82
|
+
export const DropTableOutputSchema = z.object({
|
|
83
|
+
success: z.boolean(),
|
|
84
|
+
message: z.string(),
|
|
85
|
+
});
|
|
86
|
+
/**
|
|
87
|
+
* Index entry for get_indexes
|
|
88
|
+
*/
|
|
89
|
+
const IndexEntrySchema = z.object({
|
|
90
|
+
name: z.string(),
|
|
91
|
+
table: z.string(),
|
|
92
|
+
unique: z.boolean(),
|
|
93
|
+
sql: z.string(),
|
|
94
|
+
});
|
|
95
|
+
/**
|
|
96
|
+
* sqlite_get_indexes output
|
|
97
|
+
*/
|
|
98
|
+
export const GetIndexesOutputSchema = z.object({
|
|
99
|
+
success: z.boolean(),
|
|
100
|
+
count: z.number(),
|
|
101
|
+
indexes: z.array(IndexEntrySchema),
|
|
102
|
+
});
|
|
103
|
+
/**
|
|
104
|
+
* sqlite_create_index output
|
|
105
|
+
*/
|
|
106
|
+
export const CreateIndexOutputSchema = z.object({
|
|
107
|
+
success: z.boolean(),
|
|
108
|
+
message: z.string(),
|
|
109
|
+
sql: z.string(),
|
|
110
|
+
});
|
|
111
|
+
// =============================================================================
|
|
112
|
+
// JSON Helper Tool Output Schemas (6 tools)
|
|
113
|
+
// =============================================================================
|
|
114
|
+
/**
|
|
115
|
+
* sqlite_json_insert output
|
|
116
|
+
*/
|
|
117
|
+
export const JsonInsertOutputSchema = z.object({
|
|
118
|
+
success: z.boolean(),
|
|
119
|
+
rowsAffected: z.number(),
|
|
120
|
+
lastInsertRowid: z.number().optional(),
|
|
121
|
+
});
|
|
122
|
+
/**
|
|
123
|
+
* sqlite_json_update output
|
|
124
|
+
*/
|
|
125
|
+
export const JsonUpdateOutputSchema = z.object({
|
|
126
|
+
success: z.boolean(),
|
|
127
|
+
rowsAffected: z.number(),
|
|
128
|
+
});
|
|
129
|
+
/**
|
|
130
|
+
* sqlite_json_select output
|
|
131
|
+
*/
|
|
132
|
+
export const JsonSelectOutputSchema = z.object({
|
|
133
|
+
success: z.boolean(),
|
|
134
|
+
rowCount: z.number(),
|
|
135
|
+
rows: z.array(RowRecordSchema),
|
|
136
|
+
});
|
|
137
|
+
/**
|
|
138
|
+
* sqlite_json_query output
|
|
139
|
+
*/
|
|
140
|
+
export const JsonQueryOutputSchema = z.object({
|
|
141
|
+
success: z.boolean(),
|
|
142
|
+
rowCount: z.number(),
|
|
143
|
+
rows: z.array(RowRecordSchema),
|
|
144
|
+
});
|
|
145
|
+
/**
|
|
146
|
+
* sqlite_json_validate_path output
|
|
147
|
+
*/
|
|
148
|
+
export const JsonValidatePathOutputSchema = z.object({
|
|
149
|
+
valid: z.boolean(),
|
|
150
|
+
normalized: z.string().optional(),
|
|
151
|
+
error: z.string().optional(),
|
|
152
|
+
});
|
|
153
|
+
/**
|
|
154
|
+
* sqlite_json_merge output
|
|
155
|
+
*/
|
|
156
|
+
export const JsonMergeOutputSchema = z.object({
|
|
157
|
+
success: z.boolean(),
|
|
158
|
+
rowsAffected: z.number(),
|
|
159
|
+
});
|
|
160
|
+
/**
|
|
161
|
+
* JSON property schema info
|
|
162
|
+
*/
|
|
163
|
+
const JsonPropertySchemaSchema = z.object({
|
|
164
|
+
type: z.string(),
|
|
165
|
+
nullable: z.boolean(),
|
|
166
|
+
count: z.number(),
|
|
167
|
+
itemType: z.string().optional(),
|
|
168
|
+
});
|
|
169
|
+
/**
|
|
170
|
+
* sqlite_json_analyze_schema output
|
|
171
|
+
*/
|
|
172
|
+
export const AnalyzeJsonSchemaOutputSchema = z.object({
|
|
173
|
+
success: z.boolean(),
|
|
174
|
+
schema: z.object({
|
|
175
|
+
type: z.string(),
|
|
176
|
+
properties: z.record(z.string(), JsonPropertySchemaSchema),
|
|
177
|
+
sampleSize: z.number(),
|
|
178
|
+
nullCount: z.number(),
|
|
179
|
+
errorCount: z.number(),
|
|
180
|
+
}),
|
|
181
|
+
});
|
|
182
|
+
/**
|
|
183
|
+
* sqlite_create_json_collection output
|
|
184
|
+
*/
|
|
185
|
+
export const CreateJsonCollectionOutputSchema = z.object({
|
|
186
|
+
success: z.boolean(),
|
|
187
|
+
message: z.string(),
|
|
188
|
+
sql: z.array(z.string()),
|
|
189
|
+
indexCount: z.number(),
|
|
190
|
+
});
|
|
191
|
+
// =============================================================================
|
|
192
|
+
// JSON Operation Tool Output Schemas (12 tools)
|
|
193
|
+
// =============================================================================
|
|
194
|
+
/**
|
|
195
|
+
* sqlite_json_extract output
|
|
196
|
+
*/
|
|
197
|
+
export const JsonExtractOutputSchema = z.object({
|
|
198
|
+
success: z.boolean(),
|
|
199
|
+
rowCount: z.number(),
|
|
200
|
+
values: z.array(z.unknown()),
|
|
201
|
+
});
|
|
202
|
+
/**
|
|
203
|
+
* sqlite_json_set output
|
|
204
|
+
*/
|
|
205
|
+
export const JsonSetOutputSchema = z.object({
|
|
206
|
+
success: z.boolean(),
|
|
207
|
+
rowsAffected: z.number(),
|
|
208
|
+
});
|
|
209
|
+
/**
|
|
210
|
+
* sqlite_json_remove output
|
|
211
|
+
*/
|
|
212
|
+
export const JsonRemoveOutputSchema = z.object({
|
|
213
|
+
success: z.boolean(),
|
|
214
|
+
rowsAffected: z.number(),
|
|
215
|
+
});
|
|
216
|
+
/**
|
|
217
|
+
* sqlite_json_type output
|
|
218
|
+
*/
|
|
219
|
+
export const JsonTypeOutputSchema = z.object({
|
|
220
|
+
success: z.boolean(),
|
|
221
|
+
rowCount: z.number(),
|
|
222
|
+
types: z.array(z.string().nullable()),
|
|
223
|
+
});
|
|
224
|
+
/**
|
|
225
|
+
* sqlite_json_array_length output
|
|
226
|
+
*/
|
|
227
|
+
export const JsonArrayLengthOutputSchema = z.object({
|
|
228
|
+
success: z.boolean(),
|
|
229
|
+
rowCount: z.number(),
|
|
230
|
+
lengths: z.array(z.number().nullable()),
|
|
231
|
+
});
|
|
232
|
+
/**
|
|
233
|
+
* sqlite_json_keys output
|
|
234
|
+
*/
|
|
235
|
+
export const JsonKeysOutputSchema = z.object({
|
|
236
|
+
success: z.boolean(),
|
|
237
|
+
rowCount: z.number(),
|
|
238
|
+
keys: z.array(z.union([z.string(), z.number()]).nullable()),
|
|
239
|
+
});
|
|
240
|
+
/**
|
|
241
|
+
* sqlite_json_valid output
|
|
242
|
+
*/
|
|
243
|
+
export const JsonValidOutputSchema = z.object({
|
|
244
|
+
valid: z.boolean(),
|
|
245
|
+
error: z.string().optional(),
|
|
246
|
+
});
|
|
247
|
+
/**
|
|
248
|
+
* sqlite_json_group_array output
|
|
249
|
+
* Returns aggregated arrays - either a single array or grouped arrays with group keys
|
|
250
|
+
*/
|
|
251
|
+
export const JsonGroupArrayOutputSchema = z.object({
|
|
252
|
+
success: z.boolean(),
|
|
253
|
+
rowCount: z.number(),
|
|
254
|
+
rows: z.array(z.record(z.string(), z.unknown())),
|
|
255
|
+
});
|
|
256
|
+
/**
|
|
257
|
+
* sqlite_json_group_object output
|
|
258
|
+
* Returns aggregated objects - either single object or grouped objects with group keys
|
|
259
|
+
*/
|
|
260
|
+
export const JsonGroupObjectOutputSchema = z.object({
|
|
261
|
+
success: z.boolean(),
|
|
262
|
+
rowCount: z.number(),
|
|
263
|
+
rows: z.array(z.record(z.string(), z.unknown())),
|
|
264
|
+
});
|
|
265
|
+
/**
|
|
266
|
+
* sqlite_json_each output
|
|
267
|
+
*/
|
|
268
|
+
export const JsonEachOutputSchema = z.object({
|
|
269
|
+
success: z.boolean(),
|
|
270
|
+
rowCount: z.number(),
|
|
271
|
+
elements: z.array(z.object({
|
|
272
|
+
row_id: z.number().optional(),
|
|
273
|
+
key: z.union([z.string(), z.number()]),
|
|
274
|
+
value: z.unknown(),
|
|
275
|
+
type: z.string(),
|
|
276
|
+
})),
|
|
277
|
+
});
|
|
278
|
+
/**
|
|
279
|
+
* sqlite_json_tree output
|
|
280
|
+
*/
|
|
281
|
+
export const JsonTreeOutputSchema = z.object({
|
|
282
|
+
success: z.boolean(),
|
|
283
|
+
rowCount: z.number(),
|
|
284
|
+
nodes: z.array(z.object({
|
|
285
|
+
key: z.union([z.string(), z.number()]).nullable(),
|
|
286
|
+
value: z.unknown(),
|
|
287
|
+
type: z.string(),
|
|
288
|
+
path: z.string(),
|
|
289
|
+
})),
|
|
290
|
+
});
|
|
291
|
+
/**
|
|
292
|
+
* sqlite_json_patch output
|
|
293
|
+
*/
|
|
294
|
+
export const JsonPatchOutputSchema = z.object({
|
|
295
|
+
success: z.boolean(),
|
|
296
|
+
rowsAffected: z.number(),
|
|
297
|
+
});
|
|
298
|
+
/**
|
|
299
|
+
* sqlite_json_pretty output
|
|
300
|
+
*/
|
|
301
|
+
export const JsonPrettyOutputSchema = z.object({
|
|
302
|
+
success: z.boolean(),
|
|
303
|
+
formatted: z.string().optional(),
|
|
304
|
+
error: z.string().optional(),
|
|
305
|
+
});
|
|
306
|
+
// =============================================================================
|
|
307
|
+
// JSONB Tool Output Schemas (3 tools)
|
|
308
|
+
// =============================================================================
|
|
309
|
+
/**
|
|
310
|
+
* sqlite_jsonb_convert output
|
|
311
|
+
*/
|
|
312
|
+
export const JsonbConvertOutputSchema = z.object({
|
|
313
|
+
success: z.boolean(),
|
|
314
|
+
message: z.string().optional(),
|
|
315
|
+
rowsAffected: z.number().optional(),
|
|
316
|
+
error: z.string().optional(),
|
|
317
|
+
hint: z.string().optional(),
|
|
318
|
+
});
|
|
319
|
+
/**
|
|
320
|
+
* sqlite_json_storage_info output
|
|
321
|
+
*/
|
|
322
|
+
export const JsonStorageInfoOutputSchema = z.object({
|
|
323
|
+
success: z.boolean(),
|
|
324
|
+
jsonbSupported: z.boolean(),
|
|
325
|
+
sampleSize: z.number(),
|
|
326
|
+
formats: z.object({
|
|
327
|
+
text: z.number(),
|
|
328
|
+
jsonb: z.number(),
|
|
329
|
+
null: z.number(),
|
|
330
|
+
unknown: z.number(),
|
|
331
|
+
}),
|
|
332
|
+
recommendation: z.string(),
|
|
333
|
+
});
|
|
334
|
+
/**
|
|
335
|
+
* sqlite_json_normalize_column output
|
|
336
|
+
*/
|
|
337
|
+
export const JsonNormalizeColumnOutputSchema = z.object({
|
|
338
|
+
success: z.boolean(),
|
|
339
|
+
message: z.string(),
|
|
340
|
+
normalized: z.number(),
|
|
341
|
+
unchanged: z.number(),
|
|
342
|
+
errors: z.number(),
|
|
343
|
+
total: z.number(),
|
|
344
|
+
outputFormat: z.enum(["text", "jsonb", "preserve"]).optional(),
|
|
345
|
+
});
|
|
346
|
+
// =============================================================================
|
|
347
|
+
// Text Processing Tool Output Schemas (8 tools)
|
|
348
|
+
// =============================================================================
|
|
349
|
+
/**
|
|
350
|
+
* sqlite_regex_match output
|
|
351
|
+
*/
|
|
352
|
+
export const RegexMatchOutputSchema = z.object({
|
|
353
|
+
success: z.boolean(),
|
|
354
|
+
rowCount: z.number(),
|
|
355
|
+
matches: z.array(RowRecordSchema),
|
|
356
|
+
});
|
|
357
|
+
/**
|
|
358
|
+
* sqlite_regex_replace output
|
|
359
|
+
*/
|
|
360
|
+
export const RegexReplaceOutputSchema = z.object({
|
|
361
|
+
success: z.boolean(),
|
|
362
|
+
rowsAffected: z.number(),
|
|
363
|
+
});
|
|
364
|
+
/**
|
|
365
|
+
* Result item with similarity score for fuzzy search
|
|
366
|
+
*/
|
|
367
|
+
const FuzzyResultSchema = z
|
|
368
|
+
.object({
|
|
369
|
+
similarity_score: z.number().optional(),
|
|
370
|
+
})
|
|
371
|
+
.loose();
|
|
372
|
+
/**
|
|
373
|
+
* sqlite_fuzzy_search output
|
|
374
|
+
*/
|
|
375
|
+
export const FuzzySearchOutputSchema = z.object({
|
|
376
|
+
success: z.boolean(),
|
|
377
|
+
rowCount: z.number(),
|
|
378
|
+
results: z.array(FuzzyResultSchema),
|
|
379
|
+
});
|
|
380
|
+
/**
|
|
381
|
+
* sqlite_soundex output
|
|
382
|
+
*/
|
|
383
|
+
export const SoundexOutputSchema = z.object({
|
|
384
|
+
success: z.boolean(),
|
|
385
|
+
rowCount: z.number(),
|
|
386
|
+
results: z.array(RowRecordSchema),
|
|
387
|
+
});
|
|
388
|
+
/**
|
|
389
|
+
* sqlite_levenshtein output
|
|
390
|
+
*/
|
|
391
|
+
export const LevenshteinOutputSchema = z.object({
|
|
392
|
+
success: z.boolean(),
|
|
393
|
+
distance: z.number(),
|
|
394
|
+
string1: z.string(),
|
|
395
|
+
string2: z.string(),
|
|
396
|
+
});
|
|
397
|
+
/**
|
|
398
|
+
* sqlite_trigram_similarity output
|
|
399
|
+
*/
|
|
400
|
+
export const TrigramSimilarityOutputSchema = z.object({
|
|
401
|
+
success: z.boolean(),
|
|
402
|
+
similarity: z.number(),
|
|
403
|
+
string1: z.string(),
|
|
404
|
+
string2: z.string(),
|
|
405
|
+
});
|
|
406
|
+
/**
|
|
407
|
+
* sqlite_text_normalize output
|
|
408
|
+
*/
|
|
409
|
+
export const TextNormalizeOutputSchema = z.object({
|
|
410
|
+
success: z.boolean(),
|
|
411
|
+
original: z.string(),
|
|
412
|
+
normalized: z.string(),
|
|
413
|
+
operations: z.array(z.string()).optional(),
|
|
414
|
+
});
|
|
415
|
+
/**
|
|
416
|
+
* sqlite_text_split output
|
|
417
|
+
* Returns per-row results with original value and split parts for traceability
|
|
418
|
+
*/
|
|
419
|
+
export const TextSplitOutputSchema = z.object({
|
|
420
|
+
success: z.boolean(),
|
|
421
|
+
rowCount: z.number(),
|
|
422
|
+
rows: z.array(z.object({
|
|
423
|
+
rowid: z.number(),
|
|
424
|
+
original: z.string().nullable(),
|
|
425
|
+
parts: z.array(z.string()),
|
|
426
|
+
})),
|
|
427
|
+
});
|
|
428
|
+
// =============================================================================
|
|
429
|
+
// FTS5 Full-Text Search Tool Output Schemas (4 tools)
|
|
430
|
+
// =============================================================================
|
|
431
|
+
/**
|
|
432
|
+
* sqlite_fts_create output
|
|
433
|
+
*/
|
|
434
|
+
export const FtsCreateOutputSchema = z.object({
|
|
435
|
+
success: z.boolean(),
|
|
436
|
+
message: z.string(),
|
|
437
|
+
tableName: z.string(),
|
|
438
|
+
triggersCreated: z.array(z.string()).optional(),
|
|
439
|
+
});
|
|
440
|
+
/**
|
|
441
|
+
* Result item with rank/bm25 for FTS search
|
|
442
|
+
*/
|
|
443
|
+
const FtsResultSchema = z
|
|
444
|
+
.object({
|
|
445
|
+
rank: z.number().nullable().optional(),
|
|
446
|
+
bm25: z.number().nullable().optional(),
|
|
447
|
+
})
|
|
448
|
+
.loose();
|
|
449
|
+
/**
|
|
450
|
+
* sqlite_fts_search output
|
|
451
|
+
*/
|
|
452
|
+
export const FtsSearchOutputSchema = z.object({
|
|
453
|
+
success: z.boolean(),
|
|
454
|
+
rowCount: z.number(),
|
|
455
|
+
results: z.array(FtsResultSchema),
|
|
456
|
+
});
|
|
457
|
+
/**
|
|
458
|
+
* sqlite_fts_rebuild output
|
|
459
|
+
*/
|
|
460
|
+
export const FtsRebuildOutputSchema = z.object({
|
|
461
|
+
success: z.boolean(),
|
|
462
|
+
message: z.string(),
|
|
463
|
+
tableName: z.string(),
|
|
464
|
+
});
|
|
465
|
+
/**
|
|
466
|
+
* sqlite_fts_optimize output
|
|
467
|
+
*/
|
|
468
|
+
export const FtsOptimizeOutputSchema = z.object({
|
|
469
|
+
success: z.boolean(),
|
|
470
|
+
message: z.string(),
|
|
471
|
+
tableName: z.string(),
|
|
472
|
+
});
|
|
473
|
+
// =============================================================================
|
|
474
|
+
// Statistical Analysis Tool Output Schemas (16 tools)
|
|
475
|
+
// =============================================================================
|
|
476
|
+
/**
|
|
477
|
+
* Generic row record for stats query results
|
|
478
|
+
*/
|
|
479
|
+
const StatsRowRecordSchema = z.record(z.string(), z.unknown());
|
|
480
|
+
/**
|
|
481
|
+
* sqlite_stats_basic output
|
|
482
|
+
*/
|
|
483
|
+
export const StatsBasicOutputSchema = z.object({
|
|
484
|
+
success: z.boolean(),
|
|
485
|
+
column: z.string(),
|
|
486
|
+
stats: z.object({
|
|
487
|
+
count: z.number(),
|
|
488
|
+
sum: z.number().nullable(),
|
|
489
|
+
avg: z.number().nullable(),
|
|
490
|
+
min: z.number().nullable(),
|
|
491
|
+
max: z.number().nullable(),
|
|
492
|
+
range: z.number().nullable(),
|
|
493
|
+
}),
|
|
494
|
+
});
|
|
495
|
+
/**
|
|
496
|
+
* sqlite_stats_count output
|
|
497
|
+
*/
|
|
498
|
+
export const StatsCountOutputSchema = z.object({
|
|
499
|
+
success: z.boolean(),
|
|
500
|
+
count: z.number(),
|
|
501
|
+
distinct: z.boolean().optional(),
|
|
502
|
+
});
|
|
503
|
+
/**
|
|
504
|
+
* sqlite_stats_group_by output
|
|
505
|
+
*/
|
|
506
|
+
export const StatsGroupByOutputSchema = z.object({
|
|
507
|
+
success: z.boolean(),
|
|
508
|
+
statistic: z.string(),
|
|
509
|
+
rowCount: z.number(),
|
|
510
|
+
results: z.array(StatsRowRecordSchema),
|
|
511
|
+
});
|
|
512
|
+
/**
|
|
513
|
+
* sqlite_stats_top_n output
|
|
514
|
+
*/
|
|
515
|
+
export const StatsTopNOutputSchema = z.object({
|
|
516
|
+
success: z.boolean(),
|
|
517
|
+
column: z.string(),
|
|
518
|
+
direction: z.string(),
|
|
519
|
+
count: z.number(),
|
|
520
|
+
rows: z.array(StatsRowRecordSchema),
|
|
521
|
+
});
|
|
522
|
+
/**
|
|
523
|
+
* sqlite_stats_distinct output
|
|
524
|
+
*/
|
|
525
|
+
export const StatsDistinctOutputSchema = z.object({
|
|
526
|
+
success: z.boolean(),
|
|
527
|
+
column: z.string(),
|
|
528
|
+
distinctCount: z.number(),
|
|
529
|
+
values: z.array(z.unknown()),
|
|
530
|
+
});
|
|
531
|
+
/**
|
|
532
|
+
* sqlite_stats_summary output
|
|
533
|
+
*/
|
|
534
|
+
export const StatsSummaryOutputSchema = z.object({
|
|
535
|
+
success: z.boolean(),
|
|
536
|
+
table: z.string(),
|
|
537
|
+
summaries: z.array(z.object({
|
|
538
|
+
column: z.string(),
|
|
539
|
+
count: z.number().optional(),
|
|
540
|
+
avg: z.number().nullable().optional(),
|
|
541
|
+
min: z.number().nullable().optional(),
|
|
542
|
+
max: z.number().nullable().optional(),
|
|
543
|
+
error: z.string().optional(),
|
|
544
|
+
})),
|
|
545
|
+
});
|
|
546
|
+
/**
|
|
547
|
+
* sqlite_stats_frequency output
|
|
548
|
+
*/
|
|
549
|
+
export const StatsFrequencyOutputSchema = z.object({
|
|
550
|
+
success: z.boolean(),
|
|
551
|
+
column: z.string(),
|
|
552
|
+
distinctValues: z.number(),
|
|
553
|
+
distribution: z.array(z.object({
|
|
554
|
+
value: z.unknown(),
|
|
555
|
+
frequency: z.number(),
|
|
556
|
+
})),
|
|
557
|
+
});
|
|
558
|
+
/**
|
|
559
|
+
* sqlite_stats_describe output
|
|
560
|
+
*/
|
|
561
|
+
export const StatsDescribeOutputSchema = z.object({
|
|
562
|
+
success: z.boolean(),
|
|
563
|
+
column: z.string(),
|
|
564
|
+
count: z.number(),
|
|
565
|
+
mean: z.number().nullable(),
|
|
566
|
+
min: z.number().nullable(),
|
|
567
|
+
max: z.number().nullable(),
|
|
568
|
+
sum: z.number().nullable(),
|
|
569
|
+
stddev: z.number().nullable(),
|
|
570
|
+
variance: z.number().nullable(),
|
|
571
|
+
});
|
|
572
|
+
/**
|
|
573
|
+
* sqlite_stats_percentile output (array version for multiple percentiles)
|
|
574
|
+
*/
|
|
575
|
+
export const StatsPercentileOutputSchema = z.object({
|
|
576
|
+
success: z.boolean(),
|
|
577
|
+
column: z.string().optional(),
|
|
578
|
+
count: z.number().optional(),
|
|
579
|
+
percentiles: z.array(z.object({
|
|
580
|
+
percentile: z.number(),
|
|
581
|
+
value: z.number().nullable(),
|
|
582
|
+
})),
|
|
583
|
+
});
|
|
584
|
+
/**
|
|
585
|
+
* sqlite_stats_histogram output
|
|
586
|
+
*/
|
|
587
|
+
export const StatsHistogramOutputSchema = z.object({
|
|
588
|
+
success: z.boolean(),
|
|
589
|
+
column: z.string().optional(),
|
|
590
|
+
range: z
|
|
591
|
+
.object({
|
|
592
|
+
min: z.number(),
|
|
593
|
+
max: z.number(),
|
|
594
|
+
})
|
|
595
|
+
.optional(),
|
|
596
|
+
bucketSize: z.number().optional(),
|
|
597
|
+
buckets: z.array(z.object({
|
|
598
|
+
bucket: z.number().optional(),
|
|
599
|
+
min: z.number(),
|
|
600
|
+
max: z.number(),
|
|
601
|
+
count: z.number(),
|
|
602
|
+
})),
|
|
603
|
+
});
|
|
604
|
+
/**
|
|
605
|
+
* sqlite_stats_correlation output
|
|
606
|
+
*/
|
|
607
|
+
export const StatsCorrelationOutputSchema = z.object({
|
|
608
|
+
success: z.boolean(),
|
|
609
|
+
column1: z.string().optional(),
|
|
610
|
+
column2: z.string().optional(),
|
|
611
|
+
n: z.number().optional(),
|
|
612
|
+
correlation: z.number().nullable(),
|
|
613
|
+
message: z.string().optional(),
|
|
614
|
+
});
|
|
615
|
+
/**
|
|
616
|
+
* sqlite_stats_regression output
|
|
617
|
+
*/
|
|
618
|
+
export const StatsRegressionOutputSchema = z.object({
|
|
619
|
+
success: z.boolean(),
|
|
620
|
+
type: z.string(),
|
|
621
|
+
sampleSize: z.number(),
|
|
622
|
+
coefficients: z.object({
|
|
623
|
+
intercept: z.number(),
|
|
624
|
+
linear: z.number().optional(),
|
|
625
|
+
quadratic: z.number().optional(),
|
|
626
|
+
cubic: z.number().optional(),
|
|
627
|
+
}),
|
|
628
|
+
rSquared: z.number(),
|
|
629
|
+
equation: z.string(),
|
|
630
|
+
});
|
|
631
|
+
/**
|
|
632
|
+
* sqlite_stats_mode output
|
|
633
|
+
*/
|
|
634
|
+
export const StatsModeOutputSchema = z.object({
|
|
635
|
+
success: z.boolean(),
|
|
636
|
+
column: z.string(),
|
|
637
|
+
mode: z.unknown(),
|
|
638
|
+
frequency: z.number(),
|
|
639
|
+
});
|
|
640
|
+
/**
|
|
641
|
+
* sqlite_stats_median output
|
|
642
|
+
*/
|
|
643
|
+
export const StatsMedianOutputSchema = z.object({
|
|
644
|
+
success: z.boolean(),
|
|
645
|
+
column: z.string(),
|
|
646
|
+
median: z.number().nullable(),
|
|
647
|
+
});
|
|
648
|
+
/**
|
|
649
|
+
* sqlite_stats_outliers output
|
|
650
|
+
*/
|
|
651
|
+
export const StatsOutliersOutputSchema = z.object({
|
|
652
|
+
success: z.boolean(),
|
|
653
|
+
column: z.string(),
|
|
654
|
+
method: z.string(),
|
|
655
|
+
outliers: z.array(StatsRowRecordSchema),
|
|
656
|
+
count: z.number(),
|
|
657
|
+
});
|
|
658
|
+
// =============================================================================
|
|
659
|
+
// Virtual Table Tool Output Schemas (4 tools)
|
|
660
|
+
// =============================================================================
|
|
661
|
+
/**
|
|
662
|
+
* View entry for list_views
|
|
663
|
+
*/
|
|
664
|
+
const ViewEntrySchema = z.object({
|
|
665
|
+
name: z.string(),
|
|
666
|
+
sql: z.string().nullable(),
|
|
667
|
+
});
|
|
668
|
+
/**
|
|
669
|
+
* sqlite_list_views output
|
|
670
|
+
*/
|
|
671
|
+
export const ListViewsOutputSchema = z.object({
|
|
672
|
+
success: z.boolean(),
|
|
673
|
+
count: z.number(),
|
|
674
|
+
views: z.array(ViewEntrySchema),
|
|
675
|
+
});
|
|
676
|
+
/**
|
|
677
|
+
* sqlite_generate_series output
|
|
678
|
+
*/
|
|
679
|
+
export const GenerateSeriesOutputSchema = z.object({
|
|
680
|
+
success: z.boolean(),
|
|
681
|
+
count: z.number(),
|
|
682
|
+
values: z.array(z.number()),
|
|
683
|
+
});
|
|
684
|
+
/**
|
|
685
|
+
* sqlite_generate_dates output
|
|
686
|
+
*/
|
|
687
|
+
export const GenerateDatesOutputSchema = z.object({
|
|
688
|
+
success: z.boolean(),
|
|
689
|
+
count: z.number(),
|
|
690
|
+
dates: z.array(z.string()),
|
|
691
|
+
});
|
|
692
|
+
/**
|
|
693
|
+
* sqlite_cte_recursive output
|
|
694
|
+
*/
|
|
695
|
+
export const CteRecursiveOutputSchema = z.object({
|
|
696
|
+
success: z.boolean(),
|
|
697
|
+
rowCount: z.number(),
|
|
698
|
+
rows: z.array(RowRecordSchema),
|
|
699
|
+
});
|
|
700
|
+
/**
|
|
701
|
+
* sqlite_pivot_table output
|
|
702
|
+
*/
|
|
703
|
+
export const PivotTableOutputSchema = z.object({
|
|
704
|
+
success: z.boolean(),
|
|
705
|
+
rowCount: z.number(),
|
|
706
|
+
columns: z.array(z.string()),
|
|
707
|
+
rows: z.array(RowRecordSchema),
|
|
708
|
+
});
|
|
709
|
+
// =============================================================================
|
|
710
|
+
// Vector/Semantic Search Tool Output Schemas (11 tools)
|
|
711
|
+
// =============================================================================
|
|
712
|
+
/**
|
|
713
|
+
* sqlite_vector_store output
|
|
714
|
+
*/
|
|
715
|
+
export const VectorStoreOutputSchema = z.object({
|
|
716
|
+
success: z.boolean(),
|
|
717
|
+
id: z.union([z.string(), z.number()]),
|
|
718
|
+
dimensions: z.number(),
|
|
719
|
+
});
|
|
720
|
+
/**
|
|
721
|
+
* sqlite_vector_batch_store output
|
|
722
|
+
*/
|
|
723
|
+
export const VectorBatchStoreOutputSchema = z.object({
|
|
724
|
+
success: z.boolean(),
|
|
725
|
+
stored: z.number(),
|
|
726
|
+
dimensions: z.number().optional(),
|
|
727
|
+
});
|
|
728
|
+
/**
|
|
729
|
+
* sqlite_vector_get output
|
|
730
|
+
*/
|
|
731
|
+
export const VectorGetOutputSchema = z.object({
|
|
732
|
+
success: z.boolean(),
|
|
733
|
+
id: z.union([z.string(), z.number()]).optional(),
|
|
734
|
+
dimensions: z.number().optional(),
|
|
735
|
+
vector: z.array(z.number()).optional(),
|
|
736
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
737
|
+
error: z.string().optional(),
|
|
738
|
+
});
|
|
739
|
+
/**
|
|
740
|
+
* Result item with _similarity for vector search
|
|
741
|
+
*/
|
|
742
|
+
const VectorSearchResultSchema = z
|
|
743
|
+
.object({
|
|
744
|
+
_similarity: z.number(),
|
|
745
|
+
})
|
|
746
|
+
.loose();
|
|
747
|
+
/**
|
|
748
|
+
* sqlite_vector_search output
|
|
749
|
+
*/
|
|
750
|
+
export const VectorSearchOutputSchema = z.object({
|
|
751
|
+
success: z.boolean(),
|
|
752
|
+
metric: z.string(),
|
|
753
|
+
count: z.number(),
|
|
754
|
+
results: z.array(VectorSearchResultSchema),
|
|
755
|
+
});
|
|
756
|
+
/**
|
|
757
|
+
* sqlite_vector_delete output
|
|
758
|
+
*/
|
|
759
|
+
export const VectorDeleteOutputSchema = z.object({
|
|
760
|
+
success: z.boolean(),
|
|
761
|
+
deleted: z.number(),
|
|
762
|
+
});
|
|
763
|
+
/**
|
|
764
|
+
* sqlite_vector_count output
|
|
765
|
+
*/
|
|
766
|
+
export const VectorCountOutputSchema = z.object({
|
|
767
|
+
success: z.boolean(),
|
|
768
|
+
count: z.number(),
|
|
769
|
+
});
|
|
770
|
+
/**
|
|
771
|
+
* Magnitude statistics for vector stats
|
|
772
|
+
*/
|
|
773
|
+
const MagnitudeStatsSchema = z.object({
|
|
774
|
+
min: z.number(),
|
|
775
|
+
max: z.number(),
|
|
776
|
+
avg: z.number(),
|
|
777
|
+
});
|
|
778
|
+
/**
|
|
779
|
+
* sqlite_vector_stats output
|
|
780
|
+
*/
|
|
781
|
+
export const VectorStatsOutputSchema = z.object({
|
|
782
|
+
success: z.boolean(),
|
|
783
|
+
sampleSize: z.number().optional(),
|
|
784
|
+
dimensions: z.number().optional(),
|
|
785
|
+
magnitudeStats: MagnitudeStatsSchema.optional(),
|
|
786
|
+
count: z.number().optional(),
|
|
787
|
+
message: z.string().optional(),
|
|
788
|
+
});
|
|
789
|
+
/**
|
|
790
|
+
* sqlite_vector_dimensions output
|
|
791
|
+
*/
|
|
792
|
+
export const VectorDimensionsOutputSchema = z.object({
|
|
793
|
+
success: z.boolean(),
|
|
794
|
+
dimensions: z.number().nullable(),
|
|
795
|
+
message: z.string().optional(),
|
|
796
|
+
});
|
|
797
|
+
/**
|
|
798
|
+
* sqlite_vector_normalize output
|
|
799
|
+
*/
|
|
800
|
+
export const VectorNormalizeOutputSchema = z.object({
|
|
801
|
+
success: z.boolean(),
|
|
802
|
+
original: z.array(z.number()),
|
|
803
|
+
normalized: z.array(z.number()),
|
|
804
|
+
originalMagnitude: z.number(),
|
|
805
|
+
});
|
|
806
|
+
/**
|
|
807
|
+
* sqlite_vector_distance output
|
|
808
|
+
*/
|
|
809
|
+
export const VectorDistanceOutputSchema = z.object({
|
|
810
|
+
success: z.boolean(),
|
|
811
|
+
metric: z.string().optional(),
|
|
812
|
+
value: z.number().optional(),
|
|
813
|
+
error: z.string().optional(),
|
|
814
|
+
});
|
|
815
|
+
// =============================================================================
|
|
816
|
+
// Legacy Vector Schemas (kept for compatibility)
|
|
817
|
+
// =============================================================================
|
|
818
|
+
/**
|
|
819
|
+
* sqlite_vector_create output (legacy)
|
|
820
|
+
*/
|
|
821
|
+
export const VectorCreateOutputSchema = z.object({
|
|
822
|
+
success: z.boolean(),
|
|
823
|
+
message: z.string(),
|
|
824
|
+
tableName: z.string(),
|
|
825
|
+
dimensions: z.number(),
|
|
826
|
+
});
|
|
827
|
+
/**
|
|
828
|
+
* sqlite_vector_insert output (legacy)
|
|
829
|
+
*/
|
|
830
|
+
export const VectorInsertOutputSchema = z.object({
|
|
831
|
+
success: z.boolean(),
|
|
832
|
+
rowsAffected: z.number(),
|
|
833
|
+
});
|
|
834
|
+
/**
|
|
835
|
+
* sqlite_vector_upsert output (legacy)
|
|
836
|
+
*/
|
|
837
|
+
export const VectorUpsertOutputSchema = z.object({
|
|
838
|
+
success: z.boolean(),
|
|
839
|
+
inserted: z.number(),
|
|
840
|
+
updated: z.number(),
|
|
841
|
+
});
|
|
842
|
+
/**
|
|
843
|
+
* sqlite_cosine_similarity output (legacy)
|
|
844
|
+
*/
|
|
845
|
+
export const CosineSimilarityOutputSchema = z.object({
|
|
846
|
+
success: z.boolean(),
|
|
847
|
+
similarity: z.number(),
|
|
848
|
+
});
|
|
849
|
+
/**
|
|
850
|
+
* sqlite_euclidean_distance output (legacy)
|
|
851
|
+
*/
|
|
852
|
+
export const EuclideanDistanceOutputSchema = z.object({
|
|
853
|
+
success: z.boolean(),
|
|
854
|
+
distance: z.number(),
|
|
855
|
+
});
|
|
856
|
+
/**
|
|
857
|
+
* sqlite_dot_product output (legacy)
|
|
858
|
+
*/
|
|
859
|
+
export const DotProductOutputSchema = z.object({
|
|
860
|
+
success: z.boolean(),
|
|
861
|
+
product: z.number(),
|
|
862
|
+
});
|
|
863
|
+
/**
|
|
864
|
+
* sqlite_vector_magnitude output (legacy)
|
|
865
|
+
*/
|
|
866
|
+
export const VectorMagnitudeOutputSchema = z.object({
|
|
867
|
+
success: z.boolean(),
|
|
868
|
+
magnitude: z.number(),
|
|
869
|
+
});
|
|
870
|
+
/**
|
|
871
|
+
* Result item with hybrid scores
|
|
872
|
+
*/
|
|
873
|
+
const HybridResultSchema = z
|
|
874
|
+
.object({
|
|
875
|
+
vector_score: z.number().optional(),
|
|
876
|
+
text_score: z.number().optional(),
|
|
877
|
+
combined_score: z.number().optional(),
|
|
878
|
+
})
|
|
879
|
+
.loose();
|
|
880
|
+
/**
|
|
881
|
+
* sqlite_hybrid_search output
|
|
882
|
+
*/
|
|
883
|
+
export const HybridSearchOutputSchema = z.object({
|
|
884
|
+
success: z.boolean(),
|
|
885
|
+
rowCount: z.number(),
|
|
886
|
+
results: z.array(HybridResultSchema),
|
|
887
|
+
});
|
|
888
|
+
// =============================================================================
|
|
889
|
+
// Geospatial Tool Output Schemas (7 tools)
|
|
890
|
+
// =============================================================================
|
|
891
|
+
/**
|
|
892
|
+
* sqlite_geo_distance output
|
|
893
|
+
*/
|
|
894
|
+
export const GeoDistanceOutputSchema = z.object({
|
|
895
|
+
success: z.boolean(),
|
|
896
|
+
distance: z.number(),
|
|
897
|
+
unit: z.string(),
|
|
898
|
+
});
|
|
899
|
+
/**
|
|
900
|
+
* sqlite_geo_bounding_box output
|
|
901
|
+
*/
|
|
902
|
+
export const GeoBoundingBoxOutputSchema = z.object({
|
|
903
|
+
success: z.boolean(),
|
|
904
|
+
rowCount: z.number(),
|
|
905
|
+
results: z.array(RowRecordSchema),
|
|
906
|
+
});
|
|
907
|
+
/**
|
|
908
|
+
* Result item with distance for geo queries
|
|
909
|
+
*/
|
|
910
|
+
const GeoDistanceResultSchema = z
|
|
911
|
+
.object({
|
|
912
|
+
distance: z.number().optional(),
|
|
913
|
+
})
|
|
914
|
+
.loose();
|
|
915
|
+
/**
|
|
916
|
+
* sqlite_geo_within_radius output
|
|
917
|
+
*/
|
|
918
|
+
export const GeoWithinRadiusOutputSchema = z.object({
|
|
919
|
+
success: z.boolean(),
|
|
920
|
+
rowCount: z.number(),
|
|
921
|
+
results: z.array(GeoDistanceResultSchema),
|
|
922
|
+
});
|
|
923
|
+
/**
|
|
924
|
+
* sqlite_geo_cluster output
|
|
925
|
+
*/
|
|
926
|
+
export const GeoClusterOutputSchema = z.object({
|
|
927
|
+
success: z.boolean(),
|
|
928
|
+
clusters: z.array(z.object({
|
|
929
|
+
clusterId: z.number(),
|
|
930
|
+
center: z.object({
|
|
931
|
+
latitude: z.number(),
|
|
932
|
+
longitude: z.number(),
|
|
933
|
+
}),
|
|
934
|
+
pointCount: z.number(),
|
|
935
|
+
points: z.array(RowRecordSchema).optional(),
|
|
936
|
+
})),
|
|
937
|
+
});
|
|
938
|
+
/**
|
|
939
|
+
* Result item with required distance for nearest
|
|
940
|
+
*/
|
|
941
|
+
const GeoNearestResultSchema = z
|
|
942
|
+
.object({
|
|
943
|
+
distance: z.number(),
|
|
944
|
+
})
|
|
945
|
+
.loose();
|
|
946
|
+
/**
|
|
947
|
+
* sqlite_geo_nearest output
|
|
948
|
+
*/
|
|
949
|
+
export const GeoNearestOutputSchema = z.object({
|
|
950
|
+
success: z.boolean(),
|
|
951
|
+
rowCount: z.number(),
|
|
952
|
+
results: z.array(GeoNearestResultSchema),
|
|
953
|
+
});
|
|
954
|
+
/**
|
|
955
|
+
* sqlite_geo_polygon_contains output
|
|
956
|
+
*/
|
|
957
|
+
export const GeoPolygonContainsOutputSchema = z.object({
|
|
958
|
+
success: z.boolean(),
|
|
959
|
+
contains: z.boolean(),
|
|
960
|
+
});
|
|
961
|
+
/**
|
|
962
|
+
* sqlite_geo_encode output
|
|
963
|
+
*/
|
|
964
|
+
export const GeoEncodeOutputSchema = z.object({
|
|
965
|
+
success: z.boolean(),
|
|
966
|
+
geohash: z.string(),
|
|
967
|
+
precision: z.number(),
|
|
968
|
+
});
|
|
969
|
+
// =============================================================================
|
|
970
|
+
// Admin Tool Output Schemas (4 tools)
|
|
971
|
+
// =============================================================================
|
|
972
|
+
/**
|
|
973
|
+
* sqlite_vacuum output
|
|
974
|
+
*/
|
|
975
|
+
export const VacuumOutputSchema = z.object({
|
|
976
|
+
success: z.boolean(),
|
|
977
|
+
message: z.string(),
|
|
978
|
+
sizeChange: z
|
|
979
|
+
.object({
|
|
980
|
+
before: z.number(),
|
|
981
|
+
after: z.number(),
|
|
982
|
+
saved: z.number(),
|
|
983
|
+
})
|
|
984
|
+
.optional(),
|
|
985
|
+
});
|
|
986
|
+
/**
|
|
987
|
+
* sqlite_backup output
|
|
988
|
+
*/
|
|
989
|
+
export const BackupOutputSchema = z.object({
|
|
990
|
+
success: z.boolean(),
|
|
991
|
+
message: z.string(),
|
|
992
|
+
path: z.string(),
|
|
993
|
+
sizeBytes: z.number().optional(),
|
|
994
|
+
durationMs: z.number().optional(),
|
|
995
|
+
wasmLimitation: z.boolean().optional(),
|
|
996
|
+
note: z.string().optional(),
|
|
997
|
+
});
|
|
998
|
+
/**
|
|
999
|
+
* sqlite_analyze output
|
|
1000
|
+
*/
|
|
1001
|
+
export const AnalyzeOutputSchema = z.object({
|
|
1002
|
+
success: z.boolean(),
|
|
1003
|
+
message: z.string(),
|
|
1004
|
+
tablesAnalyzed: z.number().optional(),
|
|
1005
|
+
});
|
|
1006
|
+
/**
|
|
1007
|
+
* sqlite_optimize output
|
|
1008
|
+
*/
|
|
1009
|
+
export const OptimizeOutputSchema = z.object({
|
|
1010
|
+
success: z.boolean(),
|
|
1011
|
+
message: z.string(),
|
|
1012
|
+
operations: z.array(z.string()).optional(),
|
|
1013
|
+
});
|
|
1014
|
+
/**
|
|
1015
|
+
* sqlite_integrity_check output
|
|
1016
|
+
*/
|
|
1017
|
+
export const IntegrityCheckOutputSchema = z.object({
|
|
1018
|
+
success: z.boolean(),
|
|
1019
|
+
integrity: z.enum(["ok", "errors_found"]),
|
|
1020
|
+
errorCount: z.number(),
|
|
1021
|
+
messages: z.array(z.string()).optional(),
|
|
1022
|
+
});
|
|
1023
|
+
/**
|
|
1024
|
+
* sqlite_restore output
|
|
1025
|
+
*/
|
|
1026
|
+
export const RestoreOutputSchema = z.object({
|
|
1027
|
+
success: z.boolean(),
|
|
1028
|
+
message: z.string(),
|
|
1029
|
+
sourcePath: z.string().optional(),
|
|
1030
|
+
durationMs: z.number().optional(),
|
|
1031
|
+
wasmLimitation: z.boolean().optional(),
|
|
1032
|
+
skippedTables: z.array(z.string()).optional(),
|
|
1033
|
+
note: z.string().optional(),
|
|
1034
|
+
});
|
|
1035
|
+
/**
|
|
1036
|
+
* sqlite_verify_backup output
|
|
1037
|
+
*/
|
|
1038
|
+
export const VerifyBackupOutputSchema = z.object({
|
|
1039
|
+
success: z.boolean(),
|
|
1040
|
+
valid: z.boolean().optional(),
|
|
1041
|
+
pageCount: z.number().optional(),
|
|
1042
|
+
pageSize: z.number().optional(),
|
|
1043
|
+
integrity: z.enum(["ok", "errors_found"]).optional(),
|
|
1044
|
+
messages: z.array(z.string()).optional(),
|
|
1045
|
+
wasmLimitation: z.boolean().optional(),
|
|
1046
|
+
backupPath: z.string().optional(),
|
|
1047
|
+
});
|
|
1048
|
+
/**
|
|
1049
|
+
* Index column info
|
|
1050
|
+
*/
|
|
1051
|
+
const IndexColumnSchema = z.object({
|
|
1052
|
+
name: z.string(),
|
|
1053
|
+
seqno: z.number(),
|
|
1054
|
+
});
|
|
1055
|
+
/**
|
|
1056
|
+
* Index stats entry
|
|
1057
|
+
*/
|
|
1058
|
+
const IndexStatsEntrySchema = z.object({
|
|
1059
|
+
name: z.string(),
|
|
1060
|
+
table: z.string(),
|
|
1061
|
+
unique: z.boolean(),
|
|
1062
|
+
partial: z.boolean(),
|
|
1063
|
+
columns: z.array(IndexColumnSchema),
|
|
1064
|
+
});
|
|
1065
|
+
/**
|
|
1066
|
+
* sqlite_index_stats output
|
|
1067
|
+
*/
|
|
1068
|
+
export const IndexStatsOutputSchema = z.object({
|
|
1069
|
+
success: z.boolean(),
|
|
1070
|
+
indexes: z.array(IndexStatsEntrySchema),
|
|
1071
|
+
});
|
|
1072
|
+
/**
|
|
1073
|
+
* sqlite_pragma_compile_options output
|
|
1074
|
+
*/
|
|
1075
|
+
export const PragmaCompileOptionsOutputSchema = z.object({
|
|
1076
|
+
success: z.boolean(),
|
|
1077
|
+
options: z.array(z.string()),
|
|
1078
|
+
});
|
|
1079
|
+
/**
|
|
1080
|
+
* Database entry for database_list
|
|
1081
|
+
*/
|
|
1082
|
+
const DatabaseListEntrySchema = z.object({
|
|
1083
|
+
seq: z.number(),
|
|
1084
|
+
name: z.string(),
|
|
1085
|
+
file: z.string(),
|
|
1086
|
+
});
|
|
1087
|
+
/**
|
|
1088
|
+
* sqlite_pragma_database_list output
|
|
1089
|
+
*/
|
|
1090
|
+
export const PragmaDatabaseListOutputSchema = z.object({
|
|
1091
|
+
success: z.boolean(),
|
|
1092
|
+
databases: z.array(DatabaseListEntrySchema),
|
|
1093
|
+
configuredPath: z.string().optional(),
|
|
1094
|
+
note: z.string().optional(),
|
|
1095
|
+
});
|
|
1096
|
+
/**
|
|
1097
|
+
* sqlite_pragma_optimize output
|
|
1098
|
+
*/
|
|
1099
|
+
export const PragmaOptimizeOutputSchema = z.object({
|
|
1100
|
+
success: z.boolean(),
|
|
1101
|
+
message: z.string(),
|
|
1102
|
+
durationMs: z.number(),
|
|
1103
|
+
});
|
|
1104
|
+
/**
|
|
1105
|
+
* sqlite_pragma_settings output
|
|
1106
|
+
*/
|
|
1107
|
+
export const PragmaSettingsOutputSchema = z.object({
|
|
1108
|
+
success: z.boolean(),
|
|
1109
|
+
pragma: z.string(),
|
|
1110
|
+
value: z.unknown(),
|
|
1111
|
+
oldValue: z.unknown().optional(),
|
|
1112
|
+
newValue: z.unknown().optional(),
|
|
1113
|
+
});
|
|
1114
|
+
/**
|
|
1115
|
+
* Column info for pragma_table_info
|
|
1116
|
+
*/
|
|
1117
|
+
const PragmaTableInfoColumnSchema = z.object({
|
|
1118
|
+
cid: z.number(),
|
|
1119
|
+
name: z.string(),
|
|
1120
|
+
type: z.string(),
|
|
1121
|
+
notNull: z.boolean(),
|
|
1122
|
+
defaultValue: z.unknown().nullable(),
|
|
1123
|
+
pk: z.number(),
|
|
1124
|
+
});
|
|
1125
|
+
/**
|
|
1126
|
+
* sqlite_pragma_table_info output
|
|
1127
|
+
*/
|
|
1128
|
+
export const PragmaTableInfoOutputSchema = z.object({
|
|
1129
|
+
success: z.boolean(),
|
|
1130
|
+
table: z.string(),
|
|
1131
|
+
columns: z.array(PragmaTableInfoColumnSchema),
|
|
1132
|
+
});
|
|
1133
|
+
// =============================================================================
|
|
1134
|
+
// Transaction Tool Output Schemas (7 tools - Native only)
|
|
1135
|
+
// =============================================================================
|
|
1136
|
+
/**
|
|
1137
|
+
* sqlite_transaction_begin output
|
|
1138
|
+
*/
|
|
1139
|
+
export const TransactionBeginOutputSchema = z.object({
|
|
1140
|
+
success: z.boolean(),
|
|
1141
|
+
message: z.string(),
|
|
1142
|
+
mode: z.string().optional(),
|
|
1143
|
+
});
|
|
1144
|
+
/**
|
|
1145
|
+
* sqlite_transaction_commit output
|
|
1146
|
+
*/
|
|
1147
|
+
export const TransactionCommitOutputSchema = z.object({
|
|
1148
|
+
success: z.boolean(),
|
|
1149
|
+
message: z.string(),
|
|
1150
|
+
});
|
|
1151
|
+
/**
|
|
1152
|
+
* sqlite_transaction_rollback output
|
|
1153
|
+
*/
|
|
1154
|
+
export const TransactionRollbackOutputSchema = z.object({
|
|
1155
|
+
success: z.boolean(),
|
|
1156
|
+
message: z.string(),
|
|
1157
|
+
});
|
|
1158
|
+
/**
|
|
1159
|
+
* sqlite_transaction_savepoint output
|
|
1160
|
+
*/
|
|
1161
|
+
export const TransactionSavepointOutputSchema = z.object({
|
|
1162
|
+
success: z.boolean(),
|
|
1163
|
+
message: z.string(),
|
|
1164
|
+
name: z.string(),
|
|
1165
|
+
});
|
|
1166
|
+
/**
|
|
1167
|
+
* sqlite_transaction_release output
|
|
1168
|
+
*/
|
|
1169
|
+
export const TransactionReleaseOutputSchema = z.object({
|
|
1170
|
+
success: z.boolean(),
|
|
1171
|
+
message: z.string(),
|
|
1172
|
+
name: z.string(),
|
|
1173
|
+
});
|
|
1174
|
+
/**
|
|
1175
|
+
* sqlite_transaction_rollback_to output
|
|
1176
|
+
*/
|
|
1177
|
+
export const TransactionRollbackToOutputSchema = z.object({
|
|
1178
|
+
success: z.boolean(),
|
|
1179
|
+
message: z.string(),
|
|
1180
|
+
name: z.string(),
|
|
1181
|
+
});
|
|
1182
|
+
/**
|
|
1183
|
+
* sqlite_transaction_execute output
|
|
1184
|
+
*/
|
|
1185
|
+
export const TransactionExecuteOutputSchema = z.object({
|
|
1186
|
+
success: z.boolean(),
|
|
1187
|
+
message: z.string(),
|
|
1188
|
+
statementsExecuted: z.number(),
|
|
1189
|
+
results: z.array(z.unknown()).optional(),
|
|
1190
|
+
});
|
|
1191
|
+
// =============================================================================
|
|
1192
|
+
// Window Function Tool Output Schemas (6 tools - Native only)
|
|
1193
|
+
// =============================================================================
|
|
1194
|
+
/**
|
|
1195
|
+
* Result item with row_number
|
|
1196
|
+
*/
|
|
1197
|
+
const RowNumberResultSchema = z
|
|
1198
|
+
.object({
|
|
1199
|
+
row_number: z.number(),
|
|
1200
|
+
})
|
|
1201
|
+
.loose();
|
|
1202
|
+
/**
|
|
1203
|
+
* sqlite_window_row_number output
|
|
1204
|
+
*/
|
|
1205
|
+
export const WindowRowNumberOutputSchema = z.object({
|
|
1206
|
+
success: z.boolean(),
|
|
1207
|
+
rowCount: z.number(),
|
|
1208
|
+
rows: z.array(RowNumberResultSchema),
|
|
1209
|
+
});
|
|
1210
|
+
/**
|
|
1211
|
+
* Result item with rank values
|
|
1212
|
+
*/
|
|
1213
|
+
const RankResultSchema = z
|
|
1214
|
+
.object({
|
|
1215
|
+
rank: z.number().optional(),
|
|
1216
|
+
dense_rank: z.number().optional(),
|
|
1217
|
+
percent_rank: z.number().optional(),
|
|
1218
|
+
})
|
|
1219
|
+
.loose();
|
|
1220
|
+
/**
|
|
1221
|
+
* sqlite_window_rank output
|
|
1222
|
+
*/
|
|
1223
|
+
export const WindowRankOutputSchema = z.object({
|
|
1224
|
+
success: z.boolean(),
|
|
1225
|
+
rowCount: z.number(),
|
|
1226
|
+
rows: z.array(RankResultSchema),
|
|
1227
|
+
});
|
|
1228
|
+
/**
|
|
1229
|
+
* Result item with lag/lead values
|
|
1230
|
+
*/
|
|
1231
|
+
const LagLeadResultSchema = z
|
|
1232
|
+
.object({
|
|
1233
|
+
lag_value: z.unknown().optional(),
|
|
1234
|
+
lead_value: z.unknown().optional(),
|
|
1235
|
+
})
|
|
1236
|
+
.loose();
|
|
1237
|
+
/**
|
|
1238
|
+
* sqlite_window_lag_lead output
|
|
1239
|
+
*/
|
|
1240
|
+
export const WindowLagLeadOutputSchema = z.object({
|
|
1241
|
+
success: z.boolean(),
|
|
1242
|
+
rowCount: z.number(),
|
|
1243
|
+
rows: z.array(LagLeadResultSchema),
|
|
1244
|
+
});
|
|
1245
|
+
/**
|
|
1246
|
+
* Result item with running_total
|
|
1247
|
+
*/
|
|
1248
|
+
const RunningTotalResultSchema = z
|
|
1249
|
+
.object({
|
|
1250
|
+
running_total: z.number(),
|
|
1251
|
+
})
|
|
1252
|
+
.loose();
|
|
1253
|
+
/**
|
|
1254
|
+
* sqlite_window_running_total output
|
|
1255
|
+
*/
|
|
1256
|
+
export const WindowRunningTotalOutputSchema = z.object({
|
|
1257
|
+
success: z.boolean(),
|
|
1258
|
+
rowCount: z.number(),
|
|
1259
|
+
rows: z.array(RunningTotalResultSchema),
|
|
1260
|
+
});
|
|
1261
|
+
/**
|
|
1262
|
+
* Result item with moving_avg
|
|
1263
|
+
*/
|
|
1264
|
+
const MovingAvgResultSchema = z
|
|
1265
|
+
.object({
|
|
1266
|
+
moving_avg: z.number(),
|
|
1267
|
+
})
|
|
1268
|
+
.loose();
|
|
1269
|
+
/**
|
|
1270
|
+
* sqlite_window_moving_avg output
|
|
1271
|
+
*/
|
|
1272
|
+
export const WindowMovingAvgOutputSchema = z.object({
|
|
1273
|
+
success: z.boolean(),
|
|
1274
|
+
rowCount: z.number(),
|
|
1275
|
+
rows: z.array(MovingAvgResultSchema),
|
|
1276
|
+
});
|
|
1277
|
+
/**
|
|
1278
|
+
* Result item with ntile bucket
|
|
1279
|
+
*/
|
|
1280
|
+
const NtileResultSchema = z
|
|
1281
|
+
.object({
|
|
1282
|
+
ntile: z.number(),
|
|
1283
|
+
})
|
|
1284
|
+
.loose();
|
|
1285
|
+
/**
|
|
1286
|
+
* sqlite_window_ntile output
|
|
1287
|
+
*/
|
|
1288
|
+
export const WindowNtileOutputSchema = z.object({
|
|
1289
|
+
success: z.boolean(),
|
|
1290
|
+
rowCount: z.number(),
|
|
1291
|
+
rows: z.array(NtileResultSchema),
|
|
1292
|
+
});
|
|
1293
|
+
// =============================================================================
|
|
1294
|
+
// Built-in Server Tool Output Schemas (3 tools)
|
|
1295
|
+
// =============================================================================
|
|
1296
|
+
/**
|
|
1297
|
+
* server_info output
|
|
1298
|
+
*/
|
|
1299
|
+
export const ServerInfoOutputSchema = z.object({
|
|
1300
|
+
name: z.string(),
|
|
1301
|
+
version: z.string(),
|
|
1302
|
+
transport: z.string(),
|
|
1303
|
+
adapters: z.array(z.object({
|
|
1304
|
+
id: z.string(),
|
|
1305
|
+
type: z.string(),
|
|
1306
|
+
name: z.string(),
|
|
1307
|
+
})),
|
|
1308
|
+
toolCount: z.number(),
|
|
1309
|
+
toolFilter: z.string().optional(),
|
|
1310
|
+
});
|
|
1311
|
+
/**
|
|
1312
|
+
* server_health output
|
|
1313
|
+
*/
|
|
1314
|
+
export const ServerHealthOutputSchema = z.object({
|
|
1315
|
+
status: z.enum(["healthy", "degraded", "unhealthy"]),
|
|
1316
|
+
adapters: z.array(z.object({
|
|
1317
|
+
id: z.string(),
|
|
1318
|
+
connected: z.boolean(),
|
|
1319
|
+
latencyMs: z.number().optional(),
|
|
1320
|
+
error: z.string().optional(),
|
|
1321
|
+
})),
|
|
1322
|
+
uptime: z.number().optional(),
|
|
1323
|
+
});
|
|
1324
|
+
/**
|
|
1325
|
+
* list_adapters output
|
|
1326
|
+
*/
|
|
1327
|
+
export const ListAdaptersOutputSchema = z.object({
|
|
1328
|
+
count: z.number(),
|
|
1329
|
+
adapters: z.array(z.object({
|
|
1330
|
+
id: z.string(),
|
|
1331
|
+
type: z.string(),
|
|
1332
|
+
name: z.string(),
|
|
1333
|
+
database: z.string().optional(),
|
|
1334
|
+
connected: z.boolean(),
|
|
1335
|
+
})),
|
|
1336
|
+
});
|
|
1337
|
+
//# sourceMappingURL=output-schemas.js.map
|