@ibm/ibmi-mcp-server 0.1.2 → 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 (207) hide show
  1. package/README.md +2178 -46
  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 +57 -24
  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/auth/httpAuthEndpoint.js +1 -1
  9. package/dist/ibmi-mcp-server/services/connectionPool.js +2 -2
  10. package/dist/ibmi-mcp-server/tools/executeSql.tool.d.ts +80 -0
  11. package/dist/ibmi-mcp-server/tools/executeSql.tool.d.ts.map +1 -0
  12. package/dist/ibmi-mcp-server/tools/executeSql.tool.js +356 -0
  13. package/dist/ibmi-mcp-server/tools/executeSql.tool.js.map +1 -0
  14. package/dist/ibmi-mcp-server/tools/generateSql.tool.d.ts +36 -0
  15. package/dist/ibmi-mcp-server/tools/generateSql.tool.d.ts.map +1 -0
  16. package/dist/ibmi-mcp-server/tools/generateSql.tool.js +281 -0
  17. package/dist/ibmi-mcp-server/tools/generateSql.tool.js.map +1 -0
  18. package/dist/ibmi-mcp-server/tools/index.d.ts +85 -0
  19. package/dist/ibmi-mcp-server/tools/index.d.ts.map +1 -0
  20. package/dist/ibmi-mcp-server/tools/index.js +21 -0
  21. package/dist/ibmi-mcp-server/tools/index.js.map +1 -0
  22. package/dist/ibmi-mcp-server/utils/config/configParser.d.ts +9 -0
  23. package/dist/ibmi-mcp-server/utils/config/configParser.d.ts.map +1 -1
  24. package/dist/ibmi-mcp-server/utils/config/configParser.js +58 -0
  25. package/dist/ibmi-mcp-server/utils/config/configParser.js.map +1 -1
  26. package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.js +1 -1
  27. package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.js.map +1 -1
  28. package/dist/ibmi-mcp-server/utils/config/toolDefinitions.d.ts +4 -4
  29. package/dist/ibmi-mcp-server/utils/config/toolDefinitions.d.ts.map +1 -1
  30. package/dist/ibmi-mcp-server/utils/config/toolDefinitions.js +7 -8
  31. package/dist/ibmi-mcp-server/utils/config/toolDefinitions.js.map +1 -1
  32. package/dist/ibmi-mcp-server/utils/config/toolFactory.d.ts +0 -8
  33. package/dist/ibmi-mcp-server/utils/config/toolFactory.d.ts.map +1 -1
  34. package/dist/ibmi-mcp-server/utils/config/toolFactory.js +0 -31
  35. package/dist/ibmi-mcp-server/utils/config/toolFactory.js.map +1 -1
  36. package/dist/ibmi-mcp-server/utils/config/toolsetManager.d.ts +1 -1
  37. package/dist/ibmi-mcp-server/utils/config/toolsetManager.d.ts.map +1 -1
  38. package/dist/ibmi-mcp-server/utils/config/toolsetManager.js +2 -2
  39. package/dist/ibmi-mcp-server/utils/config/toolsetManager.js.map +1 -1
  40. package/dist/ibmi-mcp-server/utils/language/document.d.ts +26 -0
  41. package/dist/ibmi-mcp-server/utils/language/document.d.ts.map +1 -0
  42. package/dist/ibmi-mcp-server/utils/language/document.js +318 -0
  43. package/dist/ibmi-mcp-server/utils/language/document.js.map +1 -0
  44. package/dist/ibmi-mcp-server/utils/language/statement.d.ts +43 -0
  45. package/dist/ibmi-mcp-server/utils/language/statement.d.ts.map +1 -0
  46. package/dist/ibmi-mcp-server/utils/language/statement.js +796 -0
  47. package/dist/ibmi-mcp-server/utils/language/statement.js.map +1 -0
  48. package/dist/ibmi-mcp-server/utils/language/tokens.d.ts +32 -0
  49. package/dist/ibmi-mcp-server/utils/language/tokens.d.ts.map +1 -0
  50. package/dist/ibmi-mcp-server/utils/language/tokens.js +532 -0
  51. package/dist/ibmi-mcp-server/utils/language/tokens.js.map +1 -0
  52. package/dist/ibmi-mcp-server/utils/language/types.d.ts +138 -0
  53. package/dist/ibmi-mcp-server/utils/language/types.d.ts.map +1 -0
  54. package/dist/ibmi-mcp-server/utils/language/types.js +93 -0
  55. package/dist/ibmi-mcp-server/utils/language/types.js.map +1 -0
  56. package/dist/ibmi-mcp-server/utils/security/ibmiSqlParser.d.ts +48 -0
  57. package/dist/ibmi-mcp-server/utils/security/ibmiSqlParser.d.ts.map +1 -0
  58. package/dist/ibmi-mcp-server/utils/security/ibmiSqlParser.js +93 -0
  59. package/dist/ibmi-mcp-server/utils/security/ibmiSqlParser.js.map +1 -0
  60. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.d.ts +35 -59
  61. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.d.ts.map +1 -1
  62. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.js +108 -288
  63. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.js.map +1 -1
  64. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidatorFallback.d.ts +54 -0
  65. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidatorFallback.d.ts.map +1 -0
  66. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidatorFallback.js +91 -0
  67. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidatorFallback.js.map +1 -0
  68. package/dist/index.js +4 -1
  69. package/dist/index.js.map +1 -1
  70. package/dist/mcp-server/tools/index.d.ts +13 -2
  71. package/dist/mcp-server/tools/index.d.ts.map +1 -1
  72. package/dist/mcp-server/tools/index.js +29 -9
  73. package/dist/mcp-server/tools/index.js.map +1 -1
  74. package/dist/mcp-server/tools/utils/index.d.ts +7 -0
  75. package/dist/mcp-server/tools/utils/index.d.ts.map +1 -0
  76. package/dist/mcp-server/tools/utils/index.js +7 -0
  77. package/dist/mcp-server/tools/utils/index.js.map +1 -0
  78. package/dist/mcp-server/tools/utils/tool-factory.d.ts +129 -0
  79. package/dist/mcp-server/tools/utils/tool-factory.d.ts.map +1 -0
  80. package/dist/mcp-server/tools/utils/tool-factory.js +179 -0
  81. package/dist/mcp-server/tools/utils/tool-factory.js.map +1 -0
  82. package/dist/mcp-server/tools/utils/types.d.ts +117 -0
  83. package/dist/mcp-server/tools/utils/types.d.ts.map +1 -0
  84. package/dist/mcp-server/tools/utils/types.js +11 -0
  85. package/dist/mcp-server/tools/utils/types.js.map +1 -0
  86. package/dist/mcp-server/transports/core/cleanupTransformStream.d.ts +26 -0
  87. package/dist/mcp-server/transports/core/cleanupTransformStream.d.ts.map +1 -0
  88. package/dist/mcp-server/transports/core/cleanupTransformStream.js +60 -0
  89. package/dist/mcp-server/transports/core/cleanupTransformStream.js.map +1 -0
  90. package/dist/mcp-server/transports/core/statefulTransportManager.d.ts +1 -1
  91. package/dist/mcp-server/transports/core/statefulTransportManager.d.ts.map +1 -1
  92. package/dist/mcp-server/transports/core/statefulTransportManager.js +50 -40
  93. package/dist/mcp-server/transports/core/statefulTransportManager.js.map +1 -1
  94. package/dist/mcp-server/transports/core/statelessTransportManager.d.ts +2 -13
  95. package/dist/mcp-server/transports/core/statelessTransportManager.d.ts.map +1 -1
  96. package/dist/mcp-server/transports/core/statelessTransportManager.js +35 -62
  97. package/dist/mcp-server/transports/core/statelessTransportManager.js.map +1 -1
  98. package/dist/mcp-server/transports/core/transportRequest.d.ts +1 -2
  99. package/dist/mcp-server/transports/core/transportRequest.d.ts.map +1 -1
  100. package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts.map +1 -1
  101. package/dist/mcp-server/transports/http/mcpTransportMiddleware.js +1 -3
  102. package/dist/mcp-server/transports/http/mcpTransportMiddleware.js.map +1 -1
  103. package/dist/utils/internal/logger.d.ts +5 -0
  104. package/dist/utils/internal/logger.d.ts.map +1 -1
  105. package/dist/utils/internal/logger.js +65 -36
  106. package/dist/utils/internal/logger.js.map +1 -1
  107. package/package.json +29 -23
  108. package/dist/ibmi-mcp-server/tools/executeSql/index.d.ts +0 -9
  109. package/dist/ibmi-mcp-server/tools/executeSql/index.d.ts.map +0 -1
  110. package/dist/ibmi-mcp-server/tools/executeSql/index.js +0 -9
  111. package/dist/ibmi-mcp-server/tools/executeSql/index.js.map +0 -1
  112. package/dist/ibmi-mcp-server/tools/executeSql/logic.d.ts +0 -51
  113. package/dist/ibmi-mcp-server/tools/executeSql/logic.d.ts.map +0 -1
  114. package/dist/ibmi-mcp-server/tools/executeSql/logic.js +0 -179
  115. package/dist/ibmi-mcp-server/tools/executeSql/logic.js.map +0 -1
  116. package/dist/ibmi-mcp-server/tools/executeSql/registration.d.ts +0 -52
  117. package/dist/ibmi-mcp-server/tools/executeSql/registration.d.ts.map +0 -1
  118. package/dist/ibmi-mcp-server/tools/executeSql/registration.js +0 -161
  119. package/dist/ibmi-mcp-server/tools/executeSql/registration.js.map +0 -1
  120. package/dist/ibmi-mcp-server/tools/generateSql/index.d.ts +0 -13
  121. package/dist/ibmi-mcp-server/tools/generateSql/index.d.ts.map +0 -1
  122. package/dist/ibmi-mcp-server/tools/generateSql/index.js +0 -13
  123. package/dist/ibmi-mcp-server/tools/generateSql/index.js.map +0 -1
  124. package/dist/ibmi-mcp-server/tools/generateSql/logic.d.ts +0 -64
  125. package/dist/ibmi-mcp-server/tools/generateSql/logic.d.ts.map +0 -1
  126. package/dist/ibmi-mcp-server/tools/generateSql/logic.js +0 -190
  127. package/dist/ibmi-mcp-server/tools/generateSql/logic.js.map +0 -1
  128. package/dist/ibmi-mcp-server/tools/generateSql/registration.d.ts +0 -18
  129. package/dist/ibmi-mcp-server/tools/generateSql/registration.d.ts.map +0 -1
  130. package/dist/ibmi-mcp-server/tools/generateSql/registration.js +0 -64
  131. package/dist/ibmi-mcp-server/tools/generateSql/registration.js.map +0 -1
  132. package/dist/mcp-server/tools/catFactFetcher/index.d.ts +0 -8
  133. package/dist/mcp-server/tools/catFactFetcher/index.d.ts.map +0 -1
  134. package/dist/mcp-server/tools/catFactFetcher/index.js +0 -8
  135. package/dist/mcp-server/tools/catFactFetcher/index.js.map +0 -1
  136. package/dist/mcp-server/tools/catFactFetcher/logic.d.ts +0 -52
  137. package/dist/mcp-server/tools/catFactFetcher/logic.d.ts.map +0 -1
  138. package/dist/mcp-server/tools/catFactFetcher/logic.js +0 -95
  139. package/dist/mcp-server/tools/catFactFetcher/logic.js.map +0 -1
  140. package/dist/mcp-server/tools/catFactFetcher/registration.d.ts +0 -9
  141. package/dist/mcp-server/tools/catFactFetcher/registration.d.ts.map +0 -1
  142. package/dist/mcp-server/tools/catFactFetcher/registration.js +0 -43
  143. package/dist/mcp-server/tools/catFactFetcher/registration.js.map +0 -1
  144. package/dist/mcp-server/tools/echoTool/index.d.ts +0 -13
  145. package/dist/mcp-server/tools/echoTool/index.d.ts.map +0 -1
  146. package/dist/mcp-server/tools/echoTool/index.js +0 -13
  147. package/dist/mcp-server/tools/echoTool/index.js.map +0 -1
  148. package/dist/mcp-server/tools/echoTool/logic.d.ts +0 -69
  149. package/dist/mcp-server/tools/echoTool/logic.d.ts.map +0 -1
  150. package/dist/mcp-server/tools/echoTool/logic.js +0 -119
  151. package/dist/mcp-server/tools/echoTool/logic.js.map +0 -1
  152. package/dist/mcp-server/tools/echoTool/registration.d.ts +0 -9
  153. package/dist/mcp-server/tools/echoTool/registration.d.ts.map +0 -1
  154. package/dist/mcp-server/tools/echoTool/registration.js +0 -45
  155. package/dist/mcp-server/tools/echoTool/registration.js.map +0 -1
  156. package/dist/mcp-server/tools/imageTest/index.d.ts +0 -7
  157. package/dist/mcp-server/tools/imageTest/index.d.ts.map +0 -1
  158. package/dist/mcp-server/tools/imageTest/index.js +0 -7
  159. package/dist/mcp-server/tools/imageTest/index.js.map +0 -1
  160. package/dist/mcp-server/tools/imageTest/logic.d.ts +0 -27
  161. package/dist/mcp-server/tools/imageTest/logic.d.ts.map +0 -1
  162. package/dist/mcp-server/tools/imageTest/logic.js +0 -44
  163. package/dist/mcp-server/tools/imageTest/logic.js.map +0 -1
  164. package/dist/mcp-server/tools/imageTest/registration.d.ts +0 -9
  165. package/dist/mcp-server/tools/imageTest/registration.d.ts.map +0 -1
  166. package/dist/mcp-server/tools/imageTest/registration.js +0 -49
  167. package/dist/mcp-server/tools/imageTest/registration.js.map +0 -1
  168. package/dist/mcp-server/tools/utils/tool-utils.d.ts +0 -43
  169. package/dist/mcp-server/tools/utils/tool-utils.d.ts.map +0 -1
  170. package/dist/mcp-server/tools/utils/tool-utils.js +0 -44
  171. package/dist/mcp-server/tools/utils/tool-utils.js.map +0 -1
  172. package/dist/mcp-server/transports/core/headerUtils.d.ts +0 -27
  173. package/dist/mcp-server/transports/core/headerUtils.d.ts.map +0 -1
  174. package/dist/mcp-server/transports/core/headerUtils.js +0 -53
  175. package/dist/mcp-server/transports/core/headerUtils.js.map +0 -1
  176. package/dist/mcp-server/transports/core/honoNodeBridge.d.ts +0 -77
  177. package/dist/mcp-server/transports/core/honoNodeBridge.d.ts.map +0 -1
  178. package/dist/mcp-server/transports/core/honoNodeBridge.js +0 -150
  179. package/dist/mcp-server/transports/core/honoNodeBridge.js.map +0 -1
  180. package/dist/services/duck-db/duckDBConnectionManager.d.ts +0 -55
  181. package/dist/services/duck-db/duckDBConnectionManager.d.ts.map +0 -1
  182. package/dist/services/duck-db/duckDBConnectionManager.js +0 -184
  183. package/dist/services/duck-db/duckDBConnectionManager.js.map +0 -1
  184. package/dist/services/duck-db/duckDBQueryExecutor.d.ts +0 -18
  185. package/dist/services/duck-db/duckDBQueryExecutor.d.ts.map +0 -1
  186. package/dist/services/duck-db/duckDBQueryExecutor.js +0 -115
  187. package/dist/services/duck-db/duckDBQueryExecutor.js.map +0 -1
  188. package/dist/services/duck-db/duckDBService.d.ts +0 -27
  189. package/dist/services/duck-db/duckDBService.d.ts.map +0 -1
  190. package/dist/services/duck-db/duckDBService.js +0 -151
  191. package/dist/services/duck-db/duckDBService.js.map +0 -1
  192. package/dist/services/duck-db/types.d.ts +0 -135
  193. package/dist/services/duck-db/types.d.ts.map +0 -1
  194. package/dist/services/duck-db/types.js +0 -6
  195. package/dist/services/duck-db/types.js.map +0 -1
  196. package/dist/services/llm-providers/openRouterProvider.d.ts +0 -36
  197. package/dist/services/llm-providers/openRouterProvider.d.ts.map +0 -1
  198. package/dist/services/llm-providers/openRouterProvider.js +0 -235
  199. package/dist/services/llm-providers/openRouterProvider.js.map +0 -1
  200. package/dist/services/supabase/supabaseClient.d.ts +0 -25
  201. package/dist/services/supabase/supabaseClient.d.ts.map +0 -1
  202. package/dist/services/supabase/supabaseClient.js +0 -68
  203. package/dist/services/supabase/supabaseClient.js.map +0 -1
  204. package/dist/storage/duckdbExample.d.ts +0 -8
  205. package/dist/storage/duckdbExample.d.ts.map +0 -1
  206. package/dist/storage/duckdbExample.js +0 -197
  207. package/dist/storage/duckdbExample.js.map +0 -1
@@ -1,197 +0,0 @@
1
- /**
2
- * @fileoverview Example script to demonstrate usage of the DuckDBService.
3
- * Creates a sample database, table, inserts data, queries it, and logs results.
4
- * Database files will be stored in the './duckdata/' directory.
5
- * @module storage/duckdbExample
6
- */
7
- import * as fs from "fs";
8
- import * as path from "path";
9
- import { DuckDBService } from "../services/duck-db/duckDBService.js";
10
- import { JsonRpcErrorCode } from "../types-global/errors.js";
11
- import { ErrorHandler, idGenerator, // Added idGenerator import
12
- logger, requestContextService, } from "../utils/index.js";
13
- const DUCKDB_DATA_DIR = path.resolve(process.cwd(), "duckdata");
14
- const DUCKDB_FILE_PATH = path.join(DUCKDB_DATA_DIR, "example.db");
15
- /**
16
- * Ensures that the directory for storing DuckDB files exists.
17
- * @param {RequestContext} context - The request context for logging.
18
- */
19
- function ensureDataDirectoryExists(context) {
20
- if (!fs.existsSync(DUCKDB_DATA_DIR)) {
21
- logger.info(context, `Data directory ${DUCKDB_DATA_DIR} does not exist. Creating...`);
22
- try {
23
- fs.mkdirSync(DUCKDB_DATA_DIR, { recursive: true });
24
- logger.info(context, `Data directory ${DUCKDB_DATA_DIR} created.`);
25
- }
26
- catch (error) {
27
- logger.error({
28
- error: error,
29
- ...context,
30
- }, `Failed to create data directory ${DUCKDB_DATA_DIR}`);
31
- // Re-throw as a critical error if directory creation fails
32
- throw new Error(`Could not create DuckDB data directory: ${error instanceof Error ? error.message : String(error)}`);
33
- }
34
- }
35
- else {
36
- logger.debug(context, `Data directory ${DUCKDB_DATA_DIR} already exists.`);
37
- }
38
- // Ensure a fresh database file for the example by deleting it if it exists.
39
- // This allows launchConfig settings like custom_user_agent to be applied on each run.
40
- if (fs.existsSync(DUCKDB_FILE_PATH)) {
41
- logger.info(context, `Existing DuckDB file ${DUCKDB_FILE_PATH} found. Deleting for a fresh example run...`);
42
- try {
43
- fs.unlinkSync(DUCKDB_FILE_PATH);
44
- logger.info(context, `Successfully deleted ${DUCKDB_FILE_PATH}.`);
45
- }
46
- catch (error) {
47
- logger.error({ error: error, ...context }, `Failed to delete existing DuckDB file ${DUCKDB_FILE_PATH}`);
48
- // Re-throw as a critical error if deletion fails, as it will likely cause subsequent errors
49
- throw new Error(`Could not delete existing DuckDB file: ${error instanceof Error ? error.message : String(error)}`);
50
- }
51
- }
52
- }
53
- async function runDuckDBExample() {
54
- const operation = "runDuckDBExample";
55
- const context = requestContextService.createRequestContext({ operation });
56
- logger.notice(context, "Starting DuckDB example script...");
57
- ensureDataDirectoryExists(context);
58
- const service = new DuckDBService();
59
- const config = {
60
- dbPath: DUCKDB_FILE_PATH,
61
- extensions: ["json"], // Example: include an extension
62
- launchConfig: { custom_user_agent: "DuckDBExampleScript/1.0" },
63
- };
64
- try {
65
- logger.info(context, `Initializing DuckDBService with path: ${config.dbPath}`);
66
- await service.initialize(config);
67
- logger.info(context, "DuckDBService initialized.");
68
- // Create a table
69
- const createTableSql = `
70
- CREATE TABLE IF NOT EXISTS users (
71
- id VARCHAR(6) PRIMARY KEY,
72
- name VARCHAR NOT NULL,
73
- email VARCHAR,
74
- createdAt TIMESTAMP DEFAULT current_timestamp
75
- );
76
- `;
77
- logger.info({
78
- ...context,
79
- sql: createTableSql,
80
- }, "Creating 'users' table...");
81
- await service.run(createTableSql);
82
- logger.info(context, "'users' table created or already exists.");
83
- // Insert data
84
- const usersToInsert = [
85
- { name: "Alice Wonderland", email: "alice@example.com" },
86
- { name: "Bob The Builder", email: "bob@example.com" },
87
- { name: "Charlie Chaplin", email: "charlie@example.com" },
88
- ].map((user) => ({
89
- id: idGenerator.generateRandomString(6), // Generate 6-digit alphanumeric ID directly
90
- ...user,
91
- }));
92
- logger.info({
93
- ...context,
94
- users: usersToInsert.length,
95
- }, "Inserting data into 'users' table...");
96
- for (const user of usersToInsert) {
97
- // Check if user already exists to prevent primary key constraint errors on re-runs
98
- const existingUser = await service.query("SELECT id FROM users WHERE id = ?", [user.id]);
99
- if (existingUser.rowCount === 0) {
100
- await service.run("INSERT INTO users (id, name, email) VALUES (?, ?, ?)", [user.id, user.name, user.email]);
101
- logger.debug(context, `Inserted user with ID: ${user.id}`);
102
- }
103
- else {
104
- logger.debug(context, `User with ID: ${user.id} already exists. Skipping insertion.`);
105
- }
106
- }
107
- logger.info(context, "Data insertion complete.");
108
- // Query data
109
- const querySql = "SELECT id, name, email, createdAt FROM users ORDER BY id;";
110
- logger.info({ ...context, sql: querySql }, "Querying 'users' table...");
111
- const result = await service.query(querySql);
112
- logger.notice({
113
- ...context,
114
- rowCount: result.rowCount,
115
- columnNames: result.columnNames,
116
- }, "Query Results:");
117
- result.rows.forEach((row, index) => {
118
- logger.info({ ...context, rowData: row }, `Row ${index + 1}:`);
119
- });
120
- // Example of using an extension function (json)
121
- // Use the ID of the first inserted user for the query
122
- if (usersToInsert.length > 0) {
123
- const firstUser = usersToInsert[0];
124
- if (!firstUser) {
125
- logger.warning(context, "Could not get the first user for JSON query example.");
126
- return;
127
- }
128
- const firstUserId = firstUser.id;
129
- const jsonQuerySql = "SELECT json_object('id', id, 'name', name, 'email', email) AS user_json FROM users WHERE id = ?;"; // Added email to json_object
130
- logger.info({
131
- ...context,
132
- sql: jsonQuerySql,
133
- userId: firstUserId,
134
- }, "Querying with JSON extension function for a specific user...");
135
- const jsonResult = await service.query(jsonQuerySql, [firstUserId]);
136
- if (jsonResult.rowCount > 0) {
137
- logger.info({
138
- ...context,
139
- jsonData: jsonResult.rows[0],
140
- }, "JSON Query Result:");
141
- }
142
- else {
143
- logger.warning(context, `Could not find user with ID ${firstUserId} for JSON query example.`); // Changed warn to warning
144
- }
145
- }
146
- else {
147
- logger.info(context, "Skipping JSON query example as no users were inserted.");
148
- }
149
- }
150
- catch (error) {
151
- // ErrorHandler.tryCatch is used within the service, so errors should be McpError
152
- // If an error occurs outside service calls (e.g. directory creation), it might be a standard Error
153
- logger.error({
154
- error: error,
155
- ...context,
156
- isMcpError: error instanceof Object && "errorCode" in error, // Basic check
157
- }, "An error occurred in the DuckDB example script");
158
- }
159
- finally {
160
- logger.info(context, "Closing DuckDBService...");
161
- // Wrap close in its own tryCatch as it might also throw
162
- try {
163
- await service.close();
164
- logger.info(context, "DuckDBService closed.");
165
- }
166
- catch (closeError) {
167
- logger.error({
168
- error: closeError,
169
- ...context,
170
- }, "Failed to close DuckDBService");
171
- }
172
- }
173
- logger.notice(context, "DuckDB example script finished.");
174
- }
175
- // Self-executing async function
176
- (async () => {
177
- // Setup a global error handler for unhandled rejections or exceptions
178
- // specific to this script's execution context.
179
- const scriptContext = requestContextService.createRequestContext({
180
- operation: "DuckDBExampleScript.main",
181
- });
182
- try {
183
- await ErrorHandler.tryCatch(runDuckDBExample, {
184
- operation: "runDuckDBExample.mainExecution",
185
- context: scriptContext,
186
- errorCode: JsonRpcErrorCode.InternalError, // Changed from SCRIPT_EXECUTION_ERROR
187
- critical: true, // If the main example fails, it's critical for the script
188
- });
189
- }
190
- catch (e) {
191
- // This catch is for errors that ErrorHandler.tryCatch itself might rethrow
192
- // or if ErrorHandler is bypassed.
193
- logger.crit({ error: e, ...scriptContext }, "Unhandled critical error in DuckDB example script execution.");
194
- process.exit(1); // Exit with error code
195
- }
196
- })();
197
- //# sourceMappingURL=duckdbExample.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"duckdbExample.js","sourceRoot":"","sources":["../../src/storage/duckdbExample.ts"],"names":[],"mappings":"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"}