@ibm/ibmi-mcp-server 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/README.md +140 -0
  2. package/dist/config/index.d.ts +2 -0
  3. package/dist/config/index.d.ts.map +1 -1
  4. package/dist/config/index.js +14 -0
  5. package/dist/config/index.js.map +1 -1
  6. package/dist/config/resolver.d.ts.map +1 -1
  7. package/dist/config/resolver.js.map +1 -1
  8. package/dist/ibmi-mcp-server/tools/executeSql.tool.d.ts +80 -0
  9. package/dist/ibmi-mcp-server/tools/executeSql.tool.d.ts.map +1 -0
  10. package/dist/ibmi-mcp-server/tools/executeSql.tool.js +356 -0
  11. package/dist/ibmi-mcp-server/tools/executeSql.tool.js.map +1 -0
  12. package/dist/ibmi-mcp-server/tools/generateSql.tool.d.ts +36 -0
  13. package/dist/ibmi-mcp-server/tools/generateSql.tool.d.ts.map +1 -0
  14. package/dist/ibmi-mcp-server/tools/generateSql.tool.js +281 -0
  15. package/dist/ibmi-mcp-server/tools/generateSql.tool.js.map +1 -0
  16. package/dist/ibmi-mcp-server/tools/index.d.ts +85 -0
  17. package/dist/ibmi-mcp-server/tools/index.d.ts.map +1 -0
  18. package/dist/ibmi-mcp-server/tools/index.js +21 -0
  19. package/dist/ibmi-mcp-server/tools/index.js.map +1 -0
  20. package/dist/ibmi-mcp-server/utils/config/configParser.d.ts +9 -0
  21. package/dist/ibmi-mcp-server/utils/config/configParser.d.ts.map +1 -1
  22. package/dist/ibmi-mcp-server/utils/config/configParser.js +58 -0
  23. package/dist/ibmi-mcp-server/utils/config/configParser.js.map +1 -1
  24. package/dist/ibmi-mcp-server/utils/config/toolDefinitions.d.ts +4 -4
  25. package/dist/ibmi-mcp-server/utils/config/toolDefinitions.d.ts.map +1 -1
  26. package/dist/ibmi-mcp-server/utils/config/toolDefinitions.js +7 -8
  27. package/dist/ibmi-mcp-server/utils/config/toolDefinitions.js.map +1 -1
  28. package/dist/ibmi-mcp-server/utils/config/toolFactory.d.ts +0 -8
  29. package/dist/ibmi-mcp-server/utils/config/toolFactory.d.ts.map +1 -1
  30. package/dist/ibmi-mcp-server/utils/config/toolFactory.js +0 -31
  31. package/dist/ibmi-mcp-server/utils/config/toolFactory.js.map +1 -1
  32. package/dist/ibmi-mcp-server/utils/config/toolsetManager.d.ts +1 -1
  33. package/dist/ibmi-mcp-server/utils/config/toolsetManager.d.ts.map +1 -1
  34. package/dist/ibmi-mcp-server/utils/config/toolsetManager.js +2 -2
  35. package/dist/ibmi-mcp-server/utils/config/toolsetManager.js.map +1 -1
  36. package/dist/ibmi-mcp-server/utils/language/document.d.ts +26 -0
  37. package/dist/ibmi-mcp-server/utils/language/document.d.ts.map +1 -0
  38. package/dist/ibmi-mcp-server/utils/language/document.js +318 -0
  39. package/dist/ibmi-mcp-server/utils/language/document.js.map +1 -0
  40. package/dist/ibmi-mcp-server/utils/language/statement.d.ts +43 -0
  41. package/dist/ibmi-mcp-server/utils/language/statement.d.ts.map +1 -0
  42. package/dist/ibmi-mcp-server/utils/language/statement.js +796 -0
  43. package/dist/ibmi-mcp-server/utils/language/statement.js.map +1 -0
  44. package/dist/ibmi-mcp-server/utils/language/tokens.d.ts +32 -0
  45. package/dist/ibmi-mcp-server/utils/language/tokens.d.ts.map +1 -0
  46. package/dist/ibmi-mcp-server/utils/language/tokens.js +532 -0
  47. package/dist/ibmi-mcp-server/utils/language/tokens.js.map +1 -0
  48. package/dist/ibmi-mcp-server/utils/language/types.d.ts +138 -0
  49. package/dist/ibmi-mcp-server/utils/language/types.d.ts.map +1 -0
  50. package/dist/ibmi-mcp-server/utils/language/types.js +93 -0
  51. package/dist/ibmi-mcp-server/utils/language/types.js.map +1 -0
  52. package/dist/ibmi-mcp-server/utils/security/ibmiSqlParser.d.ts +48 -0
  53. package/dist/ibmi-mcp-server/utils/security/ibmiSqlParser.d.ts.map +1 -0
  54. package/dist/ibmi-mcp-server/utils/security/ibmiSqlParser.js +93 -0
  55. package/dist/ibmi-mcp-server/utils/security/ibmiSqlParser.js.map +1 -0
  56. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.d.ts +35 -59
  57. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.d.ts.map +1 -1
  58. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.js +108 -288
  59. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.js.map +1 -1
  60. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidatorFallback.d.ts +54 -0
  61. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidatorFallback.d.ts.map +1 -0
  62. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidatorFallback.js +91 -0
  63. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidatorFallback.js.map +1 -0
  64. package/dist/mcp-server/tools/index.d.ts +13 -2
  65. package/dist/mcp-server/tools/index.d.ts.map +1 -1
  66. package/dist/mcp-server/tools/index.js +29 -9
  67. package/dist/mcp-server/tools/index.js.map +1 -1
  68. package/dist/mcp-server/tools/utils/index.d.ts +7 -0
  69. package/dist/mcp-server/tools/utils/index.d.ts.map +1 -0
  70. package/dist/mcp-server/tools/utils/index.js +7 -0
  71. package/dist/mcp-server/tools/utils/index.js.map +1 -0
  72. package/dist/mcp-server/tools/utils/tool-factory.d.ts +129 -0
  73. package/dist/mcp-server/tools/utils/tool-factory.d.ts.map +1 -0
  74. package/dist/mcp-server/tools/utils/tool-factory.js +179 -0
  75. package/dist/mcp-server/tools/utils/tool-factory.js.map +1 -0
  76. package/dist/mcp-server/tools/utils/types.d.ts +117 -0
  77. package/dist/mcp-server/tools/utils/types.d.ts.map +1 -0
  78. package/dist/mcp-server/tools/utils/types.js +11 -0
  79. package/dist/mcp-server/tools/utils/types.js.map +1 -0
  80. package/dist/mcp-server/transports/core/cleanupTransformStream.d.ts +26 -0
  81. package/dist/mcp-server/transports/core/cleanupTransformStream.d.ts.map +1 -0
  82. package/dist/mcp-server/transports/core/cleanupTransformStream.js +60 -0
  83. package/dist/mcp-server/transports/core/cleanupTransformStream.js.map +1 -0
  84. package/dist/mcp-server/transports/core/statefulTransportManager.d.ts +1 -1
  85. package/dist/mcp-server/transports/core/statefulTransportManager.d.ts.map +1 -1
  86. package/dist/mcp-server/transports/core/statefulTransportManager.js +50 -40
  87. package/dist/mcp-server/transports/core/statefulTransportManager.js.map +1 -1
  88. package/dist/mcp-server/transports/core/statelessTransportManager.d.ts +2 -13
  89. package/dist/mcp-server/transports/core/statelessTransportManager.d.ts.map +1 -1
  90. package/dist/mcp-server/transports/core/statelessTransportManager.js +35 -62
  91. package/dist/mcp-server/transports/core/statelessTransportManager.js.map +1 -1
  92. package/dist/mcp-server/transports/core/transportRequest.d.ts +1 -2
  93. package/dist/mcp-server/transports/core/transportRequest.d.ts.map +1 -1
  94. package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts.map +1 -1
  95. package/dist/mcp-server/transports/http/mcpTransportMiddleware.js +1 -3
  96. package/dist/mcp-server/transports/http/mcpTransportMiddleware.js.map +1 -1
  97. package/package.json +21 -22
  98. package/dist/ibmi-mcp-server/tools/executeSql/index.d.ts +0 -9
  99. package/dist/ibmi-mcp-server/tools/executeSql/index.d.ts.map +0 -1
  100. package/dist/ibmi-mcp-server/tools/executeSql/index.js +0 -9
  101. package/dist/ibmi-mcp-server/tools/executeSql/index.js.map +0 -1
  102. package/dist/ibmi-mcp-server/tools/executeSql/logic.d.ts +0 -51
  103. package/dist/ibmi-mcp-server/tools/executeSql/logic.d.ts.map +0 -1
  104. package/dist/ibmi-mcp-server/tools/executeSql/logic.js +0 -179
  105. package/dist/ibmi-mcp-server/tools/executeSql/logic.js.map +0 -1
  106. package/dist/ibmi-mcp-server/tools/executeSql/registration.d.ts +0 -52
  107. package/dist/ibmi-mcp-server/tools/executeSql/registration.d.ts.map +0 -1
  108. package/dist/ibmi-mcp-server/tools/executeSql/registration.js +0 -161
  109. package/dist/ibmi-mcp-server/tools/executeSql/registration.js.map +0 -1
  110. package/dist/ibmi-mcp-server/tools/generateSql/index.d.ts +0 -13
  111. package/dist/ibmi-mcp-server/tools/generateSql/index.d.ts.map +0 -1
  112. package/dist/ibmi-mcp-server/tools/generateSql/index.js +0 -13
  113. package/dist/ibmi-mcp-server/tools/generateSql/index.js.map +0 -1
  114. package/dist/ibmi-mcp-server/tools/generateSql/logic.d.ts +0 -64
  115. package/dist/ibmi-mcp-server/tools/generateSql/logic.d.ts.map +0 -1
  116. package/dist/ibmi-mcp-server/tools/generateSql/logic.js +0 -190
  117. package/dist/ibmi-mcp-server/tools/generateSql/logic.js.map +0 -1
  118. package/dist/ibmi-mcp-server/tools/generateSql/registration.d.ts +0 -18
  119. package/dist/ibmi-mcp-server/tools/generateSql/registration.d.ts.map +0 -1
  120. package/dist/ibmi-mcp-server/tools/generateSql/registration.js +0 -64
  121. package/dist/ibmi-mcp-server/tools/generateSql/registration.js.map +0 -1
  122. package/dist/mcp-server/tools/catFactFetcher/index.d.ts +0 -8
  123. package/dist/mcp-server/tools/catFactFetcher/index.d.ts.map +0 -1
  124. package/dist/mcp-server/tools/catFactFetcher/index.js +0 -8
  125. package/dist/mcp-server/tools/catFactFetcher/index.js.map +0 -1
  126. package/dist/mcp-server/tools/catFactFetcher/logic.d.ts +0 -52
  127. package/dist/mcp-server/tools/catFactFetcher/logic.d.ts.map +0 -1
  128. package/dist/mcp-server/tools/catFactFetcher/logic.js +0 -95
  129. package/dist/mcp-server/tools/catFactFetcher/logic.js.map +0 -1
  130. package/dist/mcp-server/tools/catFactFetcher/registration.d.ts +0 -9
  131. package/dist/mcp-server/tools/catFactFetcher/registration.d.ts.map +0 -1
  132. package/dist/mcp-server/tools/catFactFetcher/registration.js +0 -43
  133. package/dist/mcp-server/tools/catFactFetcher/registration.js.map +0 -1
  134. package/dist/mcp-server/tools/echoTool/index.d.ts +0 -13
  135. package/dist/mcp-server/tools/echoTool/index.d.ts.map +0 -1
  136. package/dist/mcp-server/tools/echoTool/index.js +0 -13
  137. package/dist/mcp-server/tools/echoTool/index.js.map +0 -1
  138. package/dist/mcp-server/tools/echoTool/logic.d.ts +0 -69
  139. package/dist/mcp-server/tools/echoTool/logic.d.ts.map +0 -1
  140. package/dist/mcp-server/tools/echoTool/logic.js +0 -119
  141. package/dist/mcp-server/tools/echoTool/logic.js.map +0 -1
  142. package/dist/mcp-server/tools/echoTool/registration.d.ts +0 -9
  143. package/dist/mcp-server/tools/echoTool/registration.d.ts.map +0 -1
  144. package/dist/mcp-server/tools/echoTool/registration.js +0 -45
  145. package/dist/mcp-server/tools/echoTool/registration.js.map +0 -1
  146. package/dist/mcp-server/tools/imageTest/index.d.ts +0 -7
  147. package/dist/mcp-server/tools/imageTest/index.d.ts.map +0 -1
  148. package/dist/mcp-server/tools/imageTest/index.js +0 -7
  149. package/dist/mcp-server/tools/imageTest/index.js.map +0 -1
  150. package/dist/mcp-server/tools/imageTest/logic.d.ts +0 -27
  151. package/dist/mcp-server/tools/imageTest/logic.d.ts.map +0 -1
  152. package/dist/mcp-server/tools/imageTest/logic.js +0 -44
  153. package/dist/mcp-server/tools/imageTest/logic.js.map +0 -1
  154. package/dist/mcp-server/tools/imageTest/registration.d.ts +0 -9
  155. package/dist/mcp-server/tools/imageTest/registration.d.ts.map +0 -1
  156. package/dist/mcp-server/tools/imageTest/registration.js +0 -49
  157. package/dist/mcp-server/tools/imageTest/registration.js.map +0 -1
  158. package/dist/mcp-server/tools/utils/tool-utils.d.ts +0 -43
  159. package/dist/mcp-server/tools/utils/tool-utils.d.ts.map +0 -1
  160. package/dist/mcp-server/tools/utils/tool-utils.js +0 -44
  161. package/dist/mcp-server/tools/utils/tool-utils.js.map +0 -1
  162. package/dist/mcp-server/transports/core/headerUtils.d.ts +0 -27
  163. package/dist/mcp-server/transports/core/headerUtils.d.ts.map +0 -1
  164. package/dist/mcp-server/transports/core/headerUtils.js +0 -53
  165. package/dist/mcp-server/transports/core/headerUtils.js.map +0 -1
  166. package/dist/mcp-server/transports/core/honoNodeBridge.d.ts +0 -77
  167. package/dist/mcp-server/transports/core/honoNodeBridge.d.ts.map +0 -1
  168. package/dist/mcp-server/transports/core/honoNodeBridge.js +0 -150
  169. package/dist/mcp-server/transports/core/honoNodeBridge.js.map +0 -1
  170. package/dist/services/duck-db/duckDBConnectionManager.d.ts +0 -55
  171. package/dist/services/duck-db/duckDBConnectionManager.d.ts.map +0 -1
  172. package/dist/services/duck-db/duckDBConnectionManager.js +0 -184
  173. package/dist/services/duck-db/duckDBConnectionManager.js.map +0 -1
  174. package/dist/services/duck-db/duckDBQueryExecutor.d.ts +0 -18
  175. package/dist/services/duck-db/duckDBQueryExecutor.d.ts.map +0 -1
  176. package/dist/services/duck-db/duckDBQueryExecutor.js +0 -115
  177. package/dist/services/duck-db/duckDBQueryExecutor.js.map +0 -1
  178. package/dist/services/duck-db/duckDBService.d.ts +0 -27
  179. package/dist/services/duck-db/duckDBService.d.ts.map +0 -1
  180. package/dist/services/duck-db/duckDBService.js +0 -151
  181. package/dist/services/duck-db/duckDBService.js.map +0 -1
  182. package/dist/services/duck-db/types.d.ts +0 -135
  183. package/dist/services/duck-db/types.d.ts.map +0 -1
  184. package/dist/services/duck-db/types.js +0 -6
  185. package/dist/services/duck-db/types.js.map +0 -1
  186. package/dist/services/llm-providers/openRouterProvider.d.ts +0 -36
  187. package/dist/services/llm-providers/openRouterProvider.d.ts.map +0 -1
  188. package/dist/services/llm-providers/openRouterProvider.js +0 -235
  189. package/dist/services/llm-providers/openRouterProvider.js.map +0 -1
  190. package/dist/services/supabase/supabaseClient.d.ts +0 -25
  191. package/dist/services/supabase/supabaseClient.d.ts.map +0 -1
  192. package/dist/services/supabase/supabaseClient.js +0 -68
  193. package/dist/services/supabase/supabaseClient.js.map +0 -1
  194. package/dist/storage/duckdbExample.d.ts +0 -8
  195. package/dist/storage/duckdbExample.d.ts.map +0 -1
  196. package/dist/storage/duckdbExample.js +0 -197
  197. package/dist/storage/duckdbExample.js.map +0 -1
@@ -0,0 +1,281 @@
1
+ /**
2
+ * Generate SQL DDL Tool
3
+ *
4
+ * Generates SQL DDL statements for IBM i database objects using the QSYS2.GENERATE_SQL procedure.
5
+ * Migrated from 3-file pattern to factory pattern.
6
+ *
7
+ * @module generateSql.tool
8
+ * @feature 001-tool-factory
9
+ */
10
+ import { z } from "zod";
11
+ import { JsonRpcErrorCode, McpError } from "../../types-global/errors.js";
12
+ import { logger } from "../../utils/internal/logger.js";
13
+ import { IBMiConnectionPool } from "../services/connectionPool.js";
14
+ import { defineTool } from "../../mcp-server/tools/utils/tool-factory.js";
15
+ // =============================================================================
16
+ // Constants & Types
17
+ // =============================================================================
18
+ /**
19
+ * Supported IBM i database object types for DDL generation.
20
+ */
21
+ const OBJECT_TYPES = [
22
+ "ALIAS",
23
+ "CONSTRAINT",
24
+ "FUNCTION",
25
+ "INDEX",
26
+ "MASK",
27
+ "PERMISSION",
28
+ "PROCEDURE",
29
+ "SCHEMA",
30
+ "SEQUENCE",
31
+ "TABLE",
32
+ "TRIGGER",
33
+ "TYPE",
34
+ "VARIABLE",
35
+ "VIEW",
36
+ "XSR",
37
+ ];
38
+ // =============================================================================
39
+ // Schemas
40
+ // =============================================================================
41
+ /**
42
+ * Input schema for generating SQL DDL.
43
+ */
44
+ const GenerateSqlInputSchema = z.object({
45
+ object_name: z
46
+ .string()
47
+ .min(1, "Object name cannot be empty.")
48
+ .max(128, "Object name cannot exceed 128 characters.")
49
+ .describe("The name of the IBM i database object to generate DDL for."),
50
+ object_library: z
51
+ .string()
52
+ .min(1, "Library name cannot be empty.")
53
+ .max(128, "Library name cannot exceed 128 characters.")
54
+ .default("QSYS2")
55
+ .describe("The library where the database object is located. Defaults to QSYS2."),
56
+ object_type: z
57
+ .enum(OBJECT_TYPES)
58
+ .default("TABLE")
59
+ .describe("The type of database object to generate DDL for. Valid types include TABLE, VIEW, INDEX, PROCEDURE, FUNCTION, etc."),
60
+ });
61
+ /**
62
+ * Output schema for generated SQL DDL.
63
+ */
64
+ const GenerateSqlOutputSchema = z.object({
65
+ success: z.boolean().describe("Whether the DDL generation was successful."),
66
+ sql: z
67
+ .string()
68
+ .optional()
69
+ .describe("The generated DDL SQL statements for the specified database object."),
70
+ object_name: z
71
+ .string()
72
+ .describe("The name of the object the DDL was generated for."),
73
+ object_library: z
74
+ .string()
75
+ .describe("The library of the object the DDL was generated for."),
76
+ object_type: z
77
+ .string()
78
+ .describe("The type of the object the DDL was generated for."),
79
+ executionTime: z
80
+ .number()
81
+ .optional()
82
+ .describe("DDL generation execution time in milliseconds."),
83
+ error: z
84
+ .object({
85
+ code: z.string().describe("Error code"),
86
+ message: z.string().describe("Error message"),
87
+ details: z.record(z.unknown()).optional().describe("Error details"),
88
+ })
89
+ .optional()
90
+ .describe("Error information if the DDL generation failed."),
91
+ });
92
+ // =============================================================================
93
+ // Business Logic
94
+ // =============================================================================
95
+ /**
96
+ * Core logic for generating SQL DDL.
97
+ * Calls the QSYS2.GENERATE_SQL procedure to generate DDL for IBM i database objects.
98
+ */
99
+ async function generateSqlLogic(params, appContext, _sdkContext) {
100
+ logger.debug({ ...appContext, toolInput: params }, "Processing generate SQL DDL logic.");
101
+ const sql = `CALL QSYS2.GENERATE_SQL(
102
+ DATABASE_OBJECT_NAME => ?,
103
+ DATABASE_OBJECT_LIBRARY_NAME => ?,
104
+ DATABASE_OBJECT_TYPE => ?,
105
+ CREATE_OR_REPLACE_OPTION => '1',
106
+ PRIVILEGES_OPTION => '0',
107
+ STATEMENT_FORMATTING_OPTION => '0',
108
+ SOURCE_STREAM_FILE_END_OF_LINE => 'LF',
109
+ SOURCE_STREAM_FILE_CCSID => 1208
110
+ )`;
111
+ const startTime = Date.now();
112
+ try {
113
+ // Execute the GENERATE_SQL procedure using pagination to get all results
114
+ const result = await IBMiConnectionPool.executeQueryWithPagination(sql, [params.object_name, params.object_library, params.object_type], appContext, 500);
115
+ const executionTime = Date.now() - startTime;
116
+ if (!result.success) {
117
+ // Return error response that matches schema
118
+ return {
119
+ success: false,
120
+ object_name: params.object_name,
121
+ object_library: params.object_library,
122
+ object_type: params.object_type,
123
+ executionTime,
124
+ error: {
125
+ code: String(JsonRpcErrorCode.DatabaseError),
126
+ message: "SQL DDL generation failed",
127
+ details: {
128
+ sqlReturnCode: result.sql_rc,
129
+ },
130
+ },
131
+ };
132
+ }
133
+ // Process the result data to extract the generated DDL
134
+ let generatedSql = "";
135
+ if (result.data && Array.isArray(result.data)) {
136
+ logger.debug({
137
+ ...appContext,
138
+ totalRows: result.data.length,
139
+ firstRowKeys: result.data[0] ? Object.keys(result.data[0]) : [],
140
+ }, "Processing GENERATE_SQL result data.");
141
+ // Build the result string from the SRCDTA column
142
+ const resultStrings = [];
143
+ for (const res of result.data) {
144
+ if (res && typeof res === "object" && "SRCDTA" in res) {
145
+ const srcData = res.SRCDTA;
146
+ if (srcData && typeof srcData === "string") {
147
+ resultStrings.push(srcData);
148
+ }
149
+ }
150
+ }
151
+ generatedSql = resultStrings.join("\n");
152
+ logger.debug({
153
+ ...appContext,
154
+ processedRows: resultStrings.length,
155
+ totalDdlLength: generatedSql.length,
156
+ avgRowLength: resultStrings.length > 0
157
+ ? Math.round(generatedSql.length / resultStrings.length)
158
+ : 0,
159
+ }, "DDL extraction completed.");
160
+ }
161
+ if (!generatedSql || generatedSql.trim().length === 0) {
162
+ // Return error response that matches schema
163
+ return {
164
+ success: false,
165
+ object_name: params.object_name,
166
+ object_library: params.object_library,
167
+ object_type: params.object_type,
168
+ executionTime,
169
+ error: {
170
+ code: String(JsonRpcErrorCode.DatabaseError),
171
+ message: "No SQL DDL generated for the specified object",
172
+ details: {
173
+ resultRowCount: result.data?.length || 0,
174
+ },
175
+ },
176
+ };
177
+ }
178
+ const response = {
179
+ success: true,
180
+ sql: generatedSql.trim(),
181
+ object_name: params.object_name,
182
+ object_library: params.object_library,
183
+ object_type: params.object_type,
184
+ executionTime,
185
+ };
186
+ logger.debug({
187
+ ...appContext,
188
+ objectName: params.object_name,
189
+ objectLibrary: params.object_library,
190
+ objectType: params.object_type,
191
+ sqlLength: response.sql?.length || 0,
192
+ executionTime,
193
+ rowCount: result.data?.length || 0,
194
+ }, "SQL DDL generated successfully.");
195
+ return response;
196
+ }
197
+ catch (error) {
198
+ const executionTime = Date.now() - startTime;
199
+ logger.error({
200
+ ...appContext,
201
+ error: error instanceof Error ? error.message : String(error),
202
+ objectName: params.object_name,
203
+ objectLibrary: params.object_library,
204
+ objectType: params.object_type,
205
+ executionTime,
206
+ }, "SQL DDL generation failed.");
207
+ // Return error response that matches schema instead of throwing
208
+ if (error instanceof McpError) {
209
+ return {
210
+ success: false,
211
+ object_name: params.object_name,
212
+ object_library: params.object_library,
213
+ object_type: params.object_type,
214
+ executionTime,
215
+ error: {
216
+ code: String(error.code),
217
+ message: error.message,
218
+ details: error.details,
219
+ },
220
+ };
221
+ }
222
+ // Handle unexpected errors
223
+ return {
224
+ success: false,
225
+ object_name: params.object_name,
226
+ object_library: params.object_library,
227
+ object_type: params.object_type,
228
+ executionTime,
229
+ error: {
230
+ code: String(JsonRpcErrorCode.DatabaseError),
231
+ message: `SQL DDL generation failed: ${error instanceof Error ? error.message : String(error)}`,
232
+ details: {
233
+ originalError: error instanceof Error ? error.name : "Unknown",
234
+ },
235
+ },
236
+ };
237
+ }
238
+ }
239
+ // =============================================================================
240
+ // Custom Response Formatter
241
+ // =============================================================================
242
+ const generateSqlResponseFormatter = (result) => {
243
+ if (!result.success) {
244
+ // Format error response
245
+ const errorMessage = result.error?.message || "SQL DDL generation failed";
246
+ const errorDetails = result.error?.details
247
+ ? `\n\nDetails:\n${JSON.stringify(result.error.details, null, 2)}`
248
+ : "";
249
+ return [
250
+ {
251
+ type: "text",
252
+ text: `Error: ${errorMessage}${errorDetails}`,
253
+ },
254
+ ];
255
+ }
256
+ // Format success response
257
+ return [
258
+ {
259
+ type: "text",
260
+ text: `Successfully generated SQL DDL for ${result.object_type} '${result.object_name}' in library '${result.object_library}':\n\n${result.sql}`,
261
+ },
262
+ ];
263
+ };
264
+ // =============================================================================
265
+ // Tool Definition
266
+ // =============================================================================
267
+ export const generateSqlTool = defineTool({
268
+ name: "describe_sql_object",
269
+ title: "Generate SQL DDL",
270
+ description: "Describes IBM i database objects by generating their SQL DDL statements. Useful for understanding object structure and recreating objects.",
271
+ inputSchema: GenerateSqlInputSchema,
272
+ outputSchema: GenerateSqlOutputSchema,
273
+ logic: generateSqlLogic,
274
+ responseFormatter: generateSqlResponseFormatter,
275
+ annotations: {
276
+ readOnlyHint: true, // Generates DDL which is descriptive, not modifying
277
+ destructiveHint: false,
278
+ openWorldHint: false,
279
+ },
280
+ });
281
+ //# sourceMappingURL=generateSql.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateSql.tool.js","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/tools/generateSql.tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Tool Definitions Barrel Export
3
+ *
4
+ * Centralized export of all factory pattern tool definitions.
5
+ *
6
+ * @module tools/definitions
7
+ */
8
+ /**
9
+ * Array of all tool definitions for automated registration.
10
+ *
11
+ * To add a new tool:
12
+ * 1. Create the tool definition file (e.g., myTool.tool.ts)
13
+ * 2. Import it above
14
+ * 3. Add it to this array
15
+ *
16
+ * The ToolRegistry will automatically register all tools in this array.
17
+ */
18
+ export declare const allToolDefinitions: (import("../../mcp-server/tools/utils/types.js").ToolDefinition<{
19
+ object_name: import("zod").ZodString;
20
+ object_library: import("zod").ZodDefault<import("zod").ZodString>;
21
+ object_type: import("zod").ZodDefault<import("zod").ZodEnum<["ALIAS", "CONSTRAINT", "FUNCTION", "INDEX", "MASK", "PERMISSION", "PROCEDURE", "SCHEMA", "SEQUENCE", "TABLE", "TRIGGER", "TYPE", "VARIABLE", "VIEW", "XSR"]>>;
22
+ }, {
23
+ success: import("zod").ZodBoolean;
24
+ sql: import("zod").ZodOptional<import("zod").ZodString>;
25
+ object_name: import("zod").ZodString;
26
+ object_library: import("zod").ZodString;
27
+ object_type: import("zod").ZodString;
28
+ executionTime: import("zod").ZodOptional<import("zod").ZodNumber>;
29
+ error: import("zod").ZodOptional<import("zod").ZodObject<{
30
+ code: import("zod").ZodString;
31
+ message: import("zod").ZodString;
32
+ details: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
33
+ }, "strip", import("zod").ZodTypeAny, {
34
+ code: string;
35
+ message: string;
36
+ details?: Record<string, unknown> | undefined;
37
+ }, {
38
+ code: string;
39
+ message: string;
40
+ details?: Record<string, unknown> | undefined;
41
+ }>>;
42
+ }> | import("../../mcp-server/tools/utils/types.js").ToolDefinition<{
43
+ sql: import("zod").ZodString;
44
+ }, {
45
+ success: import("zod").ZodBoolean;
46
+ data: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
47
+ rowCount: import("zod").ZodOptional<import("zod").ZodNumber>;
48
+ executionTime: import("zod").ZodOptional<import("zod").ZodNumber>;
49
+ metadata: import("zod").ZodOptional<import("zod").ZodObject<{
50
+ columns: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
51
+ name: import("zod").ZodString;
52
+ type: import("zod").ZodString;
53
+ }, "strip", import("zod").ZodTypeAny, {
54
+ type: string;
55
+ name: string;
56
+ }, {
57
+ type: string;
58
+ name: string;
59
+ }>, "many">>;
60
+ }, "strip", import("zod").ZodTypeAny, {
61
+ columns?: {
62
+ type: string;
63
+ name: string;
64
+ }[] | undefined;
65
+ }, {
66
+ columns?: {
67
+ type: string;
68
+ name: string;
69
+ }[] | undefined;
70
+ }>>;
71
+ error: import("zod").ZodOptional<import("zod").ZodObject<{
72
+ code: import("zod").ZodString;
73
+ message: import("zod").ZodString;
74
+ details: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
75
+ }, "strip", import("zod").ZodTypeAny, {
76
+ code: string;
77
+ message: string;
78
+ details?: Record<string, unknown> | undefined;
79
+ }, {
80
+ code: string;
81
+ message: string;
82
+ details?: Record<string, unknown> | undefined;
83
+ }>>;
84
+ }>)[];
85
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAoC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Tool Definitions Barrel Export
3
+ *
4
+ * Centralized export of all factory pattern tool definitions.
5
+ *
6
+ * @module tools/definitions
7
+ */
8
+ import { executeSqlTool } from "./executeSql.tool.js";
9
+ import { generateSqlTool } from "./generateSql.tool.js";
10
+ /**
11
+ * Array of all tool definitions for automated registration.
12
+ *
13
+ * To add a new tool:
14
+ * 1. Create the tool definition file (e.g., myTool.tool.ts)
15
+ * 2. Import it above
16
+ * 3. Add it to this array
17
+ *
18
+ * The ToolRegistry will automatically register all tools in this array.
19
+ */
20
+ export const allToolDefinitions = [executeSqlTool, generateSqlTool];
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC"}
@@ -52,6 +52,15 @@ export declare class ConfigParser {
52
52
  * @private
53
53
  */
54
54
  private static validateToolRequirements;
55
+ /**
56
+ * Validate SQL statements for security at load time
57
+ * Fails server startup if security violations found
58
+ * @param config - Parsed YAML configuration
59
+ * @param context - Request context for logging
60
+ * @returns Array of validation errors
61
+ * @private
62
+ */
63
+ private static validateSqlSecurity;
55
64
  /**
56
65
  * Process tools from YAML configuration into runtime format
57
66
  * @param config - Validated YAML configuration
@@ -1 +1 @@
1
- {"version":3,"file":"configParser.d.ts","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/config/configParser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,aAAa,EAAkB,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAEL,cAAc,EACf,MAAM,oCAAoC,CAAC;AAS5C;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;;OAKG;WACU,aAAa,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IAiKzB;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;IA4B9C;;;;;;;;;OASG;IACH,MAAM,CAAC,qCAAqC,CAC1C,OAAO,EAAE,MAAM,EACf,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAC9C,OAAO,CAAC,EAAE,cAAc,GACvB,MAAM;IA0CT;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAuB3C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAkBvC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAwD3B;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG;QACrD,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB;IAWD;;;OAGG;IACH,MAAM,CAAC,0BAA0B,IAAI,MAAM,EAAE;CAG9C"}
1
+ {"version":3,"file":"configParser.d.ts","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/config/configParser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,aAAa,EAAkB,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAEL,cAAc,EACf,MAAM,oCAAoC,CAAC;AAW5C;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;;OAKG;WACU,aAAa,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IAqLzB;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;IA4B9C;;;;;;;;;OASG;IACH,MAAM,CAAC,qCAAqC,CAC1C,OAAO,EAAE,MAAM,EACf,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAC9C,OAAO,CAAC,EAAE,cAAc,GACvB,MAAM;IA0CT;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAuB3C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAkBvC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAyDlC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAwD3B;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG;QACrD,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB;IAWD;;;OAGG;IACH,MAAM,CAAC,0BAA0B,IAAI,MAAM,EAAE;CAG9C"}
@@ -12,6 +12,7 @@ import { requestContextService, } from "../../../utils/internal/requestContext.j
12
12
  // Import schemas from centralized location
13
13
  import { SqlToolsConfigSchema, SqlToolParameterSchema, } from "../../schemas/index.js";
14
14
  import { JsonRpcErrorCode, McpError } from "../../../types-global/errors.js";
15
+ import { SqlSecurityValidator } from "../security/sqlSecurityValidator.js";
15
16
  /**
16
17
  * YAML configuration parser with validation and environment variable interpolation
17
18
  */
@@ -90,6 +91,18 @@ export class ConfigParser {
90
91
  errors: toolValidationErrors,
91
92
  };
92
93
  }
94
+ // Validate SQL security at load time (fail-fast)
95
+ const securityValidationErrors = this.validateSqlSecurity(config, operationContext);
96
+ if (securityValidationErrors.length > 0) {
97
+ logger.error({
98
+ ...operationContext,
99
+ errors: securityValidationErrors,
100
+ }, "SQL security validation failed at load time");
101
+ return {
102
+ success: false,
103
+ errors: securityValidationErrors,
104
+ };
105
+ }
93
106
  // Process tools
94
107
  const processedTools = this.processTools(config);
95
108
  // Count disabled tools
@@ -233,6 +246,51 @@ export class ConfigParser {
233
246
  });
234
247
  return errors;
235
248
  }
249
+ /**
250
+ * Validate SQL statements for security at load time
251
+ * Fails server startup if security violations found
252
+ * @param config - Parsed YAML configuration
253
+ * @param context - Request context for logging
254
+ * @returns Array of validation errors
255
+ * @private
256
+ */
257
+ static validateSqlSecurity(config, context) {
258
+ const errors = [];
259
+ // Skip if no tools defined
260
+ if (!config.tools) {
261
+ return errors;
262
+ }
263
+ Object.entries(config.tools).forEach(([toolName, tool]) => {
264
+ // Skip disabled tools
265
+ if (tool.enabled === false) {
266
+ return;
267
+ }
268
+ // Skip tools without statements
269
+ if (!tool.statement?.trim()) {
270
+ return;
271
+ }
272
+ try {
273
+ // Build security config from tool
274
+ const securityConfig = {
275
+ readOnly: tool.security?.readOnly ?? true,
276
+ maxQueryLength: tool.security?.maxQueryLength ?? 10000,
277
+ forbiddenKeywords: tool.security?.forbiddenKeywords,
278
+ };
279
+ // Validate SQL statement at load time
280
+ SqlSecurityValidator.validateQuery(tool.statement, securityConfig, context);
281
+ logger.debug({ ...context, toolName }, `SQL security validation passed at load time for tool: ${toolName}`);
282
+ }
283
+ catch (error) {
284
+ if (error instanceof McpError) {
285
+ errors.push(`Tool '${toolName}' has security violation: ${error.message}`);
286
+ }
287
+ else {
288
+ errors.push(`Tool '${toolName}' validation failed: ${error instanceof Error ? error.message : String(error)}`);
289
+ }
290
+ }
291
+ });
292
+ return errors;
293
+ }
236
294
  /**
237
295
  * Process tools from YAML configuration into runtime format
238
296
  * @param config - Validated YAML configuration
@@ -1 +1 @@
1
- {"version":3,"file":"configParser.js","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/config/configParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configParser.js","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/config/configParser.ts"],"names":[],"mappings":"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"}
@@ -191,12 +191,12 @@ export interface SqlFormatterConfig {
191
191
  * });
192
192
  * ```
193
193
  */
194
- export declare const sqlResponseFormatter: (result: StandardSqlToolOutput, config?: SqlFormatterConfig) => ContentBlock[];
194
+ export declare function sqlResponseFormatter(result: StandardSqlToolOutput, config?: SqlFormatterConfig): ContentBlock[];
195
195
  /**
196
- * Formats successful SQL tool output into a text block that highlights
197
- * row counts and execution timing for quick operator feedback.
196
+ * Default formatter for successful responses (fallback).
197
+ * Returns a simple JSON representation of the result.
198
198
  */
199
- export declare const defaultResponseFormatter: (result: unknown) => ContentBlock[];
199
+ export declare function defaultResponseFormatter(result: unknown): ContentBlock[];
200
200
  /**
201
201
  * Creates an MCP-compatible handler from a declarative tool definition.
202
202
  * Handles input validation, performance measurement, standardized error
@@ -1 +1 @@
1
- {"version":3,"file":"toolDefinitions.d.ts","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/config/toolDefinitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,cAAc,EACd,KAAK,YAAY,EAClB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAWvD,OAAO,EAEL,eAAe,EACf,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,cAAc,CAC7B,YAAY,SAAS,SAAS,CAAC,WAAW,CAAC,EAC3C,aAAa,SAAS,SAAS,CAAC,WAAW,CAAC;IAE5C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,WAAW,EAAE,YAAY,CAAC;IAC1B;;OAEG;IACH,YAAY,EAAE,aAAa,CAAC;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B;;;;;;OAMG;IACH,KAAK,EAAE,CACL,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAC5B,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IACrC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,YAAY,EAAE,CAAC;CACxE;AAGD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA8B,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,qBAAqB,EAC7B,SAAS,kBAAkB,KAC1B,YAAY,EAkMd,CAAC;AAEF;;;GAGG;AAEH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,OAAO,KAAG,YAAY,EAEtE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,SAAS,SAAS,CAAC,WAAW,CAAC,EAC3C,aAAa,SAAS,SAAS,CAAC,WAAW,CAAC,EAC5C,UAAU,EAAE,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,IAErD,WAAW,OAAO,EAClB,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAClC,OAAO,CAAC,cAAc,CAAC,CAmE3B"}
1
+ {"version":3,"file":"toolDefinitions.d.ts","sourceRoot":"","sources":["../../../../src/ibmi-mcp-server/utils/config/toolDefinitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,cAAc,EACd,KAAK,YAAY,EAClB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAWvD,OAAO,EAEL,eAAe,EACf,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,cAAc,CAC7B,YAAY,SAAS,SAAS,CAAC,WAAW,CAAC,EAC3C,aAAa,SAAS,SAAS,CAAC,WAAW,CAAC;IAE5C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,WAAW,EAAE,YAAY,CAAC;IAC1B;;OAEG;IACH,YAAY,EAAE,aAAa,CAAC;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B;;;;;;OAMG;IACH,KAAK,EAAE,CACL,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAC5B,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IACrC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,YAAY,EAAE,CAAC;CACxE;AAGD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA8B,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,qBAAqB,EAC7B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,YAAY,EAAE,CAkMhB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,EAAE,CAExE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,SAAS,SAAS,CAAC,WAAW,CAAC,EAC3C,aAAa,SAAS,SAAS,CAAC,WAAW,CAAC,EAC5C,UAAU,EAAE,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,IAErD,WAAW,OAAO,EAClB,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAClC,OAAO,CAAC,cAAc,CAAC,CAmE3B"}
@@ -24,7 +24,7 @@ export const standardSqlToolOutputSchema = StandardSqlToolOutputSchema;
24
24
  * });
25
25
  * ```
26
26
  */
27
- export const sqlResponseFormatter = (result, config) => {
27
+ export function sqlResponseFormatter(result, config) {
28
28
  const tableFormat = config?.tableFormat || "markdown";
29
29
  const maxDisplayRows = config?.maxDisplayRows || 100;
30
30
  // Handle error cases
@@ -166,15 +166,14 @@ export const sqlResponseFormatter = (result, config) => {
166
166
  }
167
167
  mdBuilder.h3("Summary").list(summaryItems);
168
168
  return [{ type: "text", text: mdBuilder.build() }];
169
- };
169
+ }
170
170
  /**
171
- * Formats successful SQL tool output into a text block that highlights
172
- * row counts and execution timing for quick operator feedback.
171
+ * Default formatter for successful responses (fallback).
172
+ * Returns a simple JSON representation of the result.
173
173
  */
174
- // Default formatter for successful responses (fallback)
175
- export const defaultResponseFormatter = (result) => [
176
- { type: "text", text: JSON.stringify(result, null, 2) },
177
- ];
174
+ export function defaultResponseFormatter(result) {
175
+ return [{ type: "text", text: JSON.stringify(result, null, 2) }];
176
+ }
178
177
  /**
179
178
  * Creates an MCP-compatible handler from a declarative tool definition.
180
179
  * Handles input validation, performance measurement, standardized error