@ibm/ibmi-mcp-server 0.4.4 → 0.5.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 (149) hide show
  1. package/README.md +2 -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 +58 -0
  5. package/dist/config/index.js.map +1 -1
  6. package/dist/ibmi-mcp-server/schemas/config.d.ts +58 -0
  7. package/dist/ibmi-mcp-server/schemas/config.d.ts.map +1 -1
  8. package/dist/ibmi-mcp-server/schemas/config.js +35 -0
  9. package/dist/ibmi-mcp-server/schemas/config.js.map +1 -1
  10. package/dist/ibmi-mcp-server/services/authenticatedPoolManager.d.ts +18 -1
  11. package/dist/ibmi-mcp-server/services/authenticatedPoolManager.d.ts.map +1 -1
  12. package/dist/ibmi-mcp-server/services/authenticatedPoolManager.js +30 -2
  13. package/dist/ibmi-mcp-server/services/authenticatedPoolManager.js.map +1 -1
  14. package/dist/ibmi-mcp-server/services/baseConnectionPool.d.ts +5 -2
  15. package/dist/ibmi-mcp-server/services/baseConnectionPool.d.ts.map +1 -1
  16. package/dist/ibmi-mcp-server/services/baseConnectionPool.js +45 -3
  17. package/dist/ibmi-mcp-server/services/baseConnectionPool.js.map +1 -1
  18. package/dist/ibmi-mcp-server/services/connectionPool.d.ts +3 -2
  19. package/dist/ibmi-mcp-server/services/connectionPool.d.ts.map +1 -1
  20. package/dist/ibmi-mcp-server/services/connectionPool.js +5 -2
  21. package/dist/ibmi-mcp-server/services/connectionPool.js.map +1 -1
  22. package/dist/ibmi-mcp-server/services/sourceManager.d.ts +18 -1
  23. package/dist/ibmi-mcp-server/services/sourceManager.d.ts.map +1 -1
  24. package/dist/ibmi-mcp-server/services/sourceManager.js +31 -2
  25. package/dist/ibmi-mcp-server/services/sourceManager.js.map +1 -1
  26. package/dist/ibmi-mcp-server/tools/generateSql.tool.d.ts +4 -0
  27. package/dist/ibmi-mcp-server/tools/generateSql.tool.d.ts.map +1 -1
  28. package/dist/ibmi-mcp-server/tools/generateSql.tool.js +1 -1
  29. package/dist/ibmi-mcp-server/tools/generateSql.tool.js.map +1 -1
  30. package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.d.ts.map +1 -1
  31. package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.js +1 -1
  32. package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.js.map +1 -1
  33. package/dist/ibmi-mcp-server/utils/config/toolFactory.d.ts +1 -1
  34. package/dist/ibmi-mcp-server/utils/config/toolFactory.d.ts.map +1 -1
  35. package/dist/ibmi-mcp-server/utils/config/toolFactory.js +47 -4
  36. package/dist/ibmi-mcp-server/utils/config/toolFactory.js.map +1 -1
  37. package/dist/public/context.d.ts +5 -0
  38. package/dist/public/context.d.ts.map +1 -0
  39. package/dist/public/context.js +5 -0
  40. package/dist/public/context.js.map +1 -0
  41. package/dist/public/formatting.d.ts +5 -0
  42. package/dist/public/formatting.d.ts.map +1 -0
  43. package/dist/public/formatting.js +5 -0
  44. package/dist/public/formatting.js.map +1 -0
  45. package/dist/public/services.d.ts +8 -0
  46. package/dist/public/services.d.ts.map +1 -0
  47. package/dist/public/services.js +8 -0
  48. package/dist/public/services.js.map +1 -0
  49. package/dist/public/tools.d.ts +16 -0
  50. package/dist/public/tools.d.ts.map +1 -0
  51. package/dist/public/tools.js +15 -0
  52. package/dist/public/tools.js.map +1 -0
  53. package/package.json +23 -17
  54. package/dist/cli/commands/columns.d.ts +0 -7
  55. package/dist/cli/commands/columns.d.ts.map +0 -1
  56. package/dist/cli/commands/columns.js +0 -29
  57. package/dist/cli/commands/columns.js.map +0 -1
  58. package/dist/cli/commands/completion.d.ts +0 -10
  59. package/dist/cli/commands/completion.d.ts.map +0 -1
  60. package/dist/cli/commands/completion.js +0 -246
  61. package/dist/cli/commands/completion.js.map +0 -1
  62. package/dist/cli/commands/config.d.ts +0 -11
  63. package/dist/cli/commands/config.d.ts.map +0 -1
  64. package/dist/cli/commands/config.js +0 -124
  65. package/dist/cli/commands/config.js.map +0 -1
  66. package/dist/cli/commands/related.d.ts +0 -7
  67. package/dist/cli/commands/related.d.ts.map +0 -1
  68. package/dist/cli/commands/related.js +0 -32
  69. package/dist/cli/commands/related.js.map +0 -1
  70. package/dist/cli/commands/schemas.d.ts +0 -7
  71. package/dist/cli/commands/schemas.d.ts.map +0 -1
  72. package/dist/cli/commands/schemas.js +0 -49
  73. package/dist/cli/commands/schemas.js.map +0 -1
  74. package/dist/cli/commands/sql.d.ts +0 -8
  75. package/dist/cli/commands/sql.d.ts.map +0 -1
  76. package/dist/cli/commands/sql.js +0 -106
  77. package/dist/cli/commands/sql.js.map +0 -1
  78. package/dist/cli/commands/system.d.ts +0 -11
  79. package/dist/cli/commands/system.d.ts.map +0 -1
  80. package/dist/cli/commands/system.js +0 -263
  81. package/dist/cli/commands/system.js.map +0 -1
  82. package/dist/cli/commands/tables.d.ts +0 -7
  83. package/dist/cli/commands/tables.d.ts.map +0 -1
  84. package/dist/cli/commands/tables.js +0 -48
  85. package/dist/cli/commands/tables.js.map +0 -1
  86. package/dist/cli/commands/tool.d.ts +0 -18
  87. package/dist/cli/commands/tool.d.ts.map +0 -1
  88. package/dist/cli/commands/tool.js +0 -194
  89. package/dist/cli/commands/tool.js.map +0 -1
  90. package/dist/cli/commands/tools-list.d.ts +0 -20
  91. package/dist/cli/commands/tools-list.d.ts.map +0 -1
  92. package/dist/cli/commands/tools-list.js +0 -209
  93. package/dist/cli/commands/tools-list.js.map +0 -1
  94. package/dist/cli/commands/validate.d.ts +0 -7
  95. package/dist/cli/commands/validate.d.ts.map +0 -1
  96. package/dist/cli/commands/validate.js +0 -77
  97. package/dist/cli/commands/validate.js.map +0 -1
  98. package/dist/cli/config/credentials.d.ts +0 -21
  99. package/dist/cli/config/credentials.d.ts.map +0 -1
  100. package/dist/cli/config/credentials.js +0 -96
  101. package/dist/cli/config/credentials.js.map +0 -1
  102. package/dist/cli/config/index.d.ts +0 -11
  103. package/dist/cli/config/index.d.ts.map +0 -1
  104. package/dist/cli/config/index.js +0 -9
  105. package/dist/cli/config/index.js.map +0 -1
  106. package/dist/cli/config/loader.d.ts +0 -52
  107. package/dist/cli/config/loader.d.ts.map +0 -1
  108. package/dist/cli/config/loader.js +0 -237
  109. package/dist/cli/config/loader.js.map +0 -1
  110. package/dist/cli/config/resolver.d.ts +0 -26
  111. package/dist/cli/config/resolver.d.ts.map +0 -1
  112. package/dist/cli/config/resolver.js +0 -102
  113. package/dist/cli/config/resolver.js.map +0 -1
  114. package/dist/cli/config/schema.d.ts +0 -128
  115. package/dist/cli/config/schema.d.ts.map +0 -1
  116. package/dist/cli/config/schema.js +0 -37
  117. package/dist/cli/config/schema.js.map +0 -1
  118. package/dist/cli/config/types.d.ts +0 -59
  119. package/dist/cli/config/types.d.ts.map +0 -1
  120. package/dist/cli/config/types.js +0 -6
  121. package/dist/cli/config/types.js.map +0 -1
  122. package/dist/cli/formatters/output.d.ts +0 -60
  123. package/dist/cli/formatters/output.d.ts.map +0 -1
  124. package/dist/cli/formatters/output.js +0 -190
  125. package/dist/cli/formatters/output.js.map +0 -1
  126. package/dist/cli/index.d.ts +0 -13
  127. package/dist/cli/index.d.ts.map +0 -1
  128. package/dist/cli/index.js +0 -100
  129. package/dist/cli/index.js.map +0 -1
  130. package/dist/cli/utils/command-helpers.d.ts +0 -47
  131. package/dist/cli/utils/command-helpers.d.ts.map +0 -1
  132. package/dist/cli/utils/command-helpers.js +0 -211
  133. package/dist/cli/utils/command-helpers.js.map +0 -1
  134. package/dist/cli/utils/connection.d.ts +0 -20
  135. package/dist/cli/utils/connection.d.ts.map +0 -1
  136. package/dist/cli/utils/connection.js +0 -37
  137. package/dist/cli/utils/connection.js.map +0 -1
  138. package/dist/cli/utils/exit-codes.d.ts +0 -48
  139. package/dist/cli/utils/exit-codes.d.ts.map +0 -1
  140. package/dist/cli/utils/exit-codes.js +0 -111
  141. package/dist/cli/utils/exit-codes.js.map +0 -1
  142. package/dist/cli/utils/yaml-loader.d.ts +0 -69
  143. package/dist/cli/utils/yaml-loader.d.ts.map +0 -1
  144. package/dist/cli/utils/yaml-loader.js +0 -135
  145. package/dist/cli/utils/yaml-loader.js.map +0 -1
  146. package/dist/cli/utils/yaml-to-commander.d.ts +0 -26
  147. package/dist/cli/utils/yaml-to-commander.d.ts.map +0 -1
  148. package/dist/cli/utils/yaml-to-commander.js +0 -156
  149. package/dist/cli/utils/yaml-to-commander.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/system.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0DpC;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoQ5D"}
@@ -1,263 +0,0 @@
1
- /**
2
- * @fileoverview `ibmi system` commands for managing IBM i system configurations.
3
- * Provides list, show, add, remove, default, and test subcommands.
4
- * @module cli/commands/system
5
- */
6
- import * as readline from "readline";
7
- import { loadConfig, upsertSystem, removeSystem, setDefaultSystem, getUserConfigPath, getProjectConfigPath, } from "../config/index.js";
8
- import { renderOutput, renderError, renderMessage, } from "../formatters/output.js";
9
- import { ExitCode, classifyError } from "../utils/exit-codes.js";
10
- import { connectSystem } from "../utils/connection.js";
11
- import { getFormat } from "../utils/command-helpers.js";
12
- /**
13
- * Test connectivity to an IBM i system by establishing and closing a connection.
14
- */
15
- async function testSystemConnection(name, sys) {
16
- const base = { NAME: name, HOST: sys.host, PORT: sys.port, USER: sys.user };
17
- let cleanup;
18
- try {
19
- const resolved = {
20
- name,
21
- config: sys,
22
- source: "flag",
23
- };
24
- cleanup = await connectSystem(resolved);
25
- return { ...base, STATUS: "connected" };
26
- }
27
- catch (err) {
28
- const msg = err instanceof Error ? err.message : String(err);
29
- return { ...base, STATUS: "error", ERROR: msg };
30
- }
31
- finally {
32
- if (cleanup)
33
- await cleanup();
34
- }
35
- }
36
- /**
37
- * Register all `ibmi system` subcommands.
38
- */
39
- export function registerSystemCommand(program) {
40
- const system = program
41
- .command("system")
42
- .description("Manage IBM i system connections");
43
- // ── ibmi system list ──
44
- system
45
- .command("list")
46
- .description("List all configured systems")
47
- .action((_opts, cmd) => {
48
- const format = getFormat(cmd);
49
- try {
50
- const config = loadConfig();
51
- const systems = Object.entries(config.systems);
52
- if (systems.length === 0) {
53
- renderMessage("No systems configured. Run: ibmi system add <name>", format);
54
- return;
55
- }
56
- const data = systems.map(([name, sys]) => ({
57
- NAME: name,
58
- HOST: sys.host,
59
- USER: sys.user,
60
- PORT: sys.port,
61
- READ_ONLY: sys.readOnly ? "yes" : "no",
62
- DEFAULT: name === config.default ? "✓" : "",
63
- }));
64
- renderOutput(data, format, { rowCount: data.length });
65
- }
66
- catch (err) {
67
- renderError(err instanceof Error ? err : new Error(String(err)), format);
68
- process.exitCode = ExitCode.GENERAL;
69
- }
70
- });
71
- // ── ibmi system show <name> ──
72
- system
73
- .command("show <name>")
74
- .description("Show configuration for a system")
75
- .action((name, _opts, cmd) => {
76
- const format = getFormat(cmd);
77
- try {
78
- const config = loadConfig();
79
- const sys = config.systems[name];
80
- if (!sys) {
81
- throw new Error(`System "${name}" not found. Run: ibmi system list`);
82
- }
83
- const data = [
84
- { PROPERTY: "host", VALUE: sys.host },
85
- { PROPERTY: "port", VALUE: String(sys.port) },
86
- { PROPERTY: "user", VALUE: sys.user },
87
- { PROPERTY: "password", VALUE: sys.password ? "****" : "(not set)" },
88
- { PROPERTY: "defaultSchema", VALUE: sys.defaultSchema ?? "(none)" },
89
- { PROPERTY: "readOnly", VALUE: String(sys.readOnly) },
90
- { PROPERTY: "confirm", VALUE: String(sys.confirm) },
91
- { PROPERTY: "timeout", VALUE: `${sys.timeout}s` },
92
- { PROPERTY: "maxRows", VALUE: String(sys.maxRows) },
93
- { PROPERTY: "description", VALUE: sys.description ?? "(none)" },
94
- {
95
- PROPERTY: "default",
96
- VALUE: name === config.default ? "yes" : "no",
97
- },
98
- ];
99
- renderOutput(data, format, { rowCount: data.length });
100
- }
101
- catch (err) {
102
- renderError(err instanceof Error ? err : new Error(String(err)), format);
103
- process.exitCode = ExitCode.GENERAL;
104
- }
105
- });
106
- // ── ibmi system add <name> ──
107
- system
108
- .command("add <name>")
109
- .description("Add a new system configuration")
110
- .option("--host <host>", "IBM i hostname")
111
- .option("--port <port>", "Mapepire port", "8076")
112
- .option("--user <user>", "User profile")
113
- .option("--password <password>", "Password (or use env var reference: ${MY_PASS})")
114
- .option("--description <desc>", "Description")
115
- .option("--read-only", "Block mutation queries", false)
116
- .option("--default-schema <schema>", "Default schema/library")
117
- .action(async (name, opts, cmd) => {
118
- const format = getFormat(cmd);
119
- try {
120
- let host = opts["host"];
121
- let user = opts["user"];
122
- // Interactive prompts for required fields
123
- if (!host || !user) {
124
- if (!process.stdin.isTTY) {
125
- throw new Error("Missing required options --host and --user. In non-interactive mode, all options must be provided.");
126
- }
127
- const rl = readline.createInterface({
128
- input: process.stdin,
129
- output: process.stderr,
130
- });
131
- const ask = (question) => new Promise((resolve) => rl.question(question, resolve));
132
- if (!host)
133
- host = await ask("Host: ");
134
- if (!user)
135
- user = await ask("User: ");
136
- rl.close();
137
- }
138
- const port = parseInt(opts["port"], 10);
139
- if (isNaN(port) || port <= 0 || port > 65535) {
140
- throw new Error(`Invalid --port value: "${opts["port"]}". Must be a number between 1 and 65535.`);
141
- }
142
- const system = {
143
- host,
144
- port,
145
- user,
146
- password: opts["password"],
147
- description: opts["description"],
148
- defaultSchema: opts["defaultSchema"],
149
- readOnly: opts["readOnly"],
150
- confirm: false,
151
- timeout: 60,
152
- maxRows: 5000,
153
- ignoreUnauthorized: true,
154
- };
155
- upsertSystem(name, system);
156
- renderMessage(`System "${name}" added. Config saved to ${getUserConfigPath()}`, format);
157
- }
158
- catch (err) {
159
- renderError(err instanceof Error ? err : new Error(String(err)), format);
160
- process.exitCode = ExitCode.GENERAL;
161
- }
162
- });
163
- // ── ibmi system remove <name> ──
164
- system
165
- .command("remove <name>")
166
- .description("Remove a system configuration")
167
- .action((name, _opts, cmd) => {
168
- const format = getFormat(cmd);
169
- try {
170
- const removed = removeSystem(name);
171
- if (removed) {
172
- renderMessage(`System "${name}" removed.`, format);
173
- }
174
- else {
175
- throw new Error(`System "${name}" not found.`);
176
- }
177
- }
178
- catch (err) {
179
- renderError(err instanceof Error ? err : new Error(String(err)), format);
180
- process.exitCode = ExitCode.GENERAL;
181
- }
182
- });
183
- // ── ibmi system default <name> ──
184
- system
185
- .command("default <name>")
186
- .description("Set the default system")
187
- .action((name, _opts, cmd) => {
188
- const format = getFormat(cmd);
189
- try {
190
- setDefaultSystem(name);
191
- renderMessage(`Default system set to "${name}".`, format);
192
- }
193
- catch (err) {
194
- renderError(err instanceof Error ? err : new Error(String(err)), format);
195
- process.exitCode = ExitCode.GENERAL;
196
- }
197
- });
198
- // ── ibmi system test [name] ──
199
- system
200
- .command("test [name]")
201
- .description("Test connectivity to a system")
202
- .option("--all", "Test all configured systems")
203
- .action(async (name, opts, cmd) => {
204
- const format = getFormat(cmd);
205
- try {
206
- const config = loadConfig();
207
- if (opts["all"]) {
208
- const results = [];
209
- let hasFailure = false;
210
- for (const [sysName, sys] of Object.entries(config.systems)) {
211
- const result = await testSystemConnection(sysName, sys);
212
- results.push(result);
213
- if (result.STATUS === "error")
214
- hasFailure = true;
215
- }
216
- renderOutput(results, format, { rowCount: results.length });
217
- if (hasFailure)
218
- process.exitCode = ExitCode.GENERAL;
219
- return;
220
- }
221
- // Resolve which system to test
222
- const targetName = name ??
223
- cmd.optsWithGlobals()["system"] ??
224
- config.default;
225
- if (!targetName) {
226
- throw new Error("No system specified. Pass a name or set a default.");
227
- }
228
- const sys = config.systems[targetName];
229
- if (!sys) {
230
- throw new Error(`System "${targetName}" not found.`);
231
- }
232
- const result = await testSystemConnection(targetName, sys);
233
- renderOutput([
234
- { PROPERTY: "system", VALUE: result.NAME },
235
- { PROPERTY: "host", VALUE: `${result.HOST}:${result.PORT}` },
236
- { PROPERTY: "user", VALUE: result.USER },
237
- { PROPERTY: "status", VALUE: result.STATUS },
238
- ...(result.ERROR ? [{ PROPERTY: "error", VALUE: result.ERROR }] : []),
239
- ], format, { rowCount: 1 });
240
- if (result.STATUS === "error") {
241
- process.exitCode = ExitCode.GENERAL;
242
- }
243
- }
244
- catch (err) {
245
- const error = err instanceof Error ? err : new Error(String(err));
246
- const classified = classifyError(error);
247
- renderError(error, format, undefined, classified.errorCode);
248
- process.exitCode = classified.exitCode;
249
- }
250
- });
251
- // ── ibmi system config-path ──
252
- system
253
- .command("config-path")
254
- .description("Show config file paths")
255
- .action((_opts, cmd) => {
256
- const format = getFormat(cmd);
257
- renderOutput([
258
- { SCOPE: "user", PATH: getUserConfigPath() },
259
- { SCOPE: "project", PATH: getProjectConfigPath() },
260
- ], format, { rowCount: 2 });
261
- });
262
- }
263
- //# sourceMappingURL=system.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/cli/commands/system.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @fileoverview `ibmi tables <schema>` command — list tables in a schema.
3
- * @module cli/commands/tables
4
- */
5
- import { Command } from "commander";
6
- export declare function registerTablesCommand(program: Command): void;
7
- //# sourceMappingURL=tables.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/tables.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkD5D"}
@@ -1,48 +0,0 @@
1
- /**
2
- * @fileoverview `ibmi tables <schema>` command — list tables in a schema.
3
- * @module cli/commands/tables
4
- */
5
- import { withConnection } from "../utils/command-helpers.js";
6
- import { ExitCode } from "../utils/exit-codes.js";
7
- export function registerTablesCommand(program) {
8
- program
9
- .command("tables <schema>")
10
- .description("List tables, views, and physical files in a schema")
11
- .option("--filter <pattern>", "Filter by table name (SQL LIKE pattern, e.g. 'CUST%')")
12
- .option("--limit <n>", "Maximum rows to return", "50")
13
- .option("--offset <n>", "Rows to skip for pagination", "0")
14
- .action(async (schema, opts, cmd) => {
15
- const limit = parseInt(opts["limit"], 10);
16
- const offset = parseInt(opts["offset"], 10);
17
- if (isNaN(limit) || limit < 0) {
18
- process.stderr.write(`Error: Invalid --limit value: "${opts["limit"]}". Must be a positive integer.\n`);
19
- process.exitCode = ExitCode.USAGE;
20
- return;
21
- }
22
- if (isNaN(offset) || offset < 0) {
23
- process.stderr.write(`Error: Invalid --offset value: "${opts["offset"]}". Must be a non-negative integer.\n`);
24
- process.exitCode = ExitCode.USAGE;
25
- return;
26
- }
27
- await withConnection(cmd, "list_tables_in_schema", async (_resolved, ctx) => {
28
- const { listTablesLogic } = await import("../../ibmi-mcp-server/tools/listTablesInSchema.tool.js");
29
- const result = await listTablesLogic({
30
- schema_name: schema,
31
- table_filter: opts["filter"] ?? "*ALL",
32
- limit,
33
- offset,
34
- }, ctx, {});
35
- if (!result.success) {
36
- throw new Error(result.error?.message ?? "Failed to list tables");
37
- }
38
- return {
39
- data: (result.data ?? []),
40
- meta: {
41
- rowCount: result.rowCount ?? 0,
42
- hasMore: result.hasMore,
43
- },
44
- };
45
- });
46
- });
47
- }
48
- //# sourceMappingURL=tables.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../src/cli/commands/tables.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,oBAAoB,EAAE,uDAAuD,CAAC;SACrF,MAAM,CAAC,aAAa,EAAE,wBAAwB,EAAE,IAAI,CAAC;SACrD,MAAM,CAAC,cAAc,EAAE,6BAA6B,EAAE,GAAG,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAI,EAAE,GAAY,EAAE,EAAE;QACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAW,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAW,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;YACxG,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC;YAC9G,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,cAAc,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE;YAC1E,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CACtC,wDAAwD,CACzD,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC;gBACE,WAAW,EAAE,MAAM;gBACnB,YAAY,EAAG,IAAI,CAAC,QAAQ,CAAwB,IAAI,MAAM;gBAC9D,KAAK;gBACL,MAAM;aACP,EACD,GAAG,EACH,EAAgB,CACjB,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,uBAAuB,CAAC,CAAC;YACpE,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAA8B;gBACtD,IAAI,EAAE;oBACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC;oBAC9B,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * @fileoverview Dynamic YAML tool execution command.
3
- *
4
- * `ibmi tool <name> [options]` — run any YAML-defined tool from the CLI.
5
- *
6
- * The command uses allowUnknownOption() to accept arbitrary tool-specific
7
- * options, then resolves them against the YAML parameter definitions.
8
- *
9
- * Supports --dry-run to show the resolved SQL and parameters without executing.
10
- *
11
- * @module cli/commands/tool
12
- */
13
- import { Command } from "commander";
14
- /**
15
- * Register `ibmi tool <name>` — dynamic YAML tool execution.
16
- */
17
- export declare function registerToolCommand(program: Command): void;
18
- //# sourceMappingURL=tool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+E1D"}
@@ -1,194 +0,0 @@
1
- /**
2
- * @fileoverview Dynamic YAML tool execution command.
3
- *
4
- * `ibmi tool <name> [options]` — run any YAML-defined tool from the CLI.
5
- *
6
- * The command uses allowUnknownOption() to accept arbitrary tool-specific
7
- * options, then resolves them against the YAML parameter definitions.
8
- *
9
- * Supports --dry-run to show the resolved SQL and parameters without executing.
10
- *
11
- * @module cli/commands/tool
12
- */
13
- import { Command } from "commander";
14
- import { loadYamlTools, } from "../utils/yaml-loader.js";
15
- import { registerToolOptions, optsToParams, validateRequiredParams, } from "../utils/yaml-to-commander.js";
16
- import { getFormat, isStreaming, createCliContext, } from "../utils/command-helpers.js";
17
- import { resolveSystem } from "../config/resolver.js";
18
- import { connectSystem } from "../utils/connection.js";
19
- import { renderOutput, renderNdjson, renderError, } from "../formatters/output.js";
20
- import { ExitCode, classifyError, ErrorCode } from "../utils/exit-codes.js";
21
- /**
22
- * Register `ibmi tool <name>` — dynamic YAML tool execution.
23
- */
24
- export function registerToolCommand(program) {
25
- program
26
- .command("tool <name>")
27
- .description("Run a YAML-defined tool by name")
28
- .option("--dry-run", "Show resolved SQL and parameters without executing")
29
- .allowUnknownOption()
30
- .allowExcessArguments()
31
- .action(async (name, _opts, cmd) => {
32
- const format = getFormat(cmd);
33
- try {
34
- // Resolve --tools paths from global options
35
- const globalOpts = cmd.optsWithGlobals();
36
- const toolsOpt = globalOpts["tools"];
37
- if (!toolsOpt) {
38
- renderError(new Error("No tools path specified. Use --tools <path> to specify YAML tool file(s)."), format, undefined, ErrorCode.USAGE_ERROR);
39
- process.exitCode = ExitCode.USAGE;
40
- return;
41
- }
42
- const paths = toolsOpt.split(",").map((p) => p.trim());
43
- const config = loadYamlTools(paths);
44
- // Find the tool
45
- const tool = config.tools[name];
46
- if (!tool) {
47
- const available = Object.keys(config.tools).join(", ");
48
- renderError(new Error(`Tool '${name}' not found. Available tools: ${available || "(none)"}`), format, undefined, ErrorCode.NOT_FOUND);
49
- process.exitCode = ExitCode.USAGE;
50
- return;
51
- }
52
- // Build a sub-command with tool-specific options and re-parse
53
- const toolParams = resolveToolParams(cmd, tool);
54
- // Validate required parameters
55
- const missing = validateRequiredParams(toolParams, tool.parameters);
56
- if (missing.length > 0) {
57
- const flags = missing.map((n) => `--${n.replace(/_/g, "-")}`).join(", ");
58
- renderError(new Error(`Missing required parameter(s): ${flags}`), format, undefined, ErrorCode.USAGE_ERROR);
59
- process.exitCode = ExitCode.USAGE;
60
- return;
61
- }
62
- // Dry-run: show SQL and parameters
63
- const dryRun = globalOpts["dryRun"] || _opts["dryRun"];
64
- if (dryRun) {
65
- await handleDryRun(name, tool, toolParams, cmd);
66
- return;
67
- }
68
- // Execute the tool
69
- await executeTool(name, tool, toolParams, cmd);
70
- }
71
- catch (err) {
72
- const error = err instanceof Error ? err : new Error(String(err));
73
- const classified = classifyError(error);
74
- renderError(error, format, undefined, classified.errorCode);
75
- process.exitCode = classified.exitCode;
76
- }
77
- });
78
- }
79
- /**
80
- * Parse tool-specific options from the raw argv using a dynamic Commander sub-command.
81
- */
82
- function resolveToolParams(cmd, tool) {
83
- if (tool.parameters.length === 0)
84
- return {};
85
- // Build a temporary command with tool-specific options
86
- const tempCmd = new Command("temp");
87
- tempCmd.exitOverride();
88
- tempCmd.allowUnknownOption();
89
- registerToolOptions(tempCmd, tool.parameters);
90
- // Extract the raw args that were passed through by the parent command
91
- // Commander stores unparsed args in cmd.args (after the <name> positional)
92
- const rawArgs = cmd.args ?? [];
93
- try {
94
- tempCmd.parse(rawArgs, { from: "user" });
95
- }
96
- catch {
97
- // Commander may throw for unrecognized options; we allow that
98
- }
99
- return optsToParams(tempCmd.opts(), tool.parameters);
100
- }
101
- /**
102
- * Handle --dry-run: show resolved SQL and parameters.
103
- */
104
- async function handleDryRun(name, tool, params, cmd) {
105
- const format = getFormat(cmd);
106
- if (!tool.statement) {
107
- renderError(new Error(`Tool '${name}' has no SQL statement defined.`), format, undefined, ErrorCode.USAGE_ERROR);
108
- process.exitCode = ExitCode.USAGE;
109
- return;
110
- }
111
- if (format === "json") {
112
- renderOutput([
113
- {
114
- tool: name,
115
- dry_run: true,
116
- sql: tool.statement.trim(),
117
- parameters: params,
118
- },
119
- ], format, { rowCount: 1, command: `tool:${name}` });
120
- return;
121
- }
122
- // Human-readable dry-run output
123
- const globalOpts = cmd.optsWithGlobals();
124
- const systemName = globalOpts["system"];
125
- const lines = [];
126
- if (systemName) {
127
- lines.push(`Would execute on [${systemName}]:`);
128
- }
129
- else {
130
- lines.push("Would execute:");
131
- }
132
- lines.push("────────────────────────────────────────");
133
- lines.push(tool.statement.trim());
134
- if (Object.keys(params).length > 0) {
135
- lines.push("");
136
- lines.push(`Parameters: ${JSON.stringify(params)}`);
137
- }
138
- lines.push("────────────────────────────────────────");
139
- process.stdout.write(lines.join("\n") + "\n");
140
- }
141
- /**
142
- * Execute a YAML tool against the connected system.
143
- */
144
- async function executeTool(name, tool, params, cmd) {
145
- const format = getFormat(cmd);
146
- const stream = isStreaming(cmd);
147
- const globalOpts = cmd.optsWithGlobals();
148
- if (!tool.statement) {
149
- renderError(new Error(`Tool '${name}' has no SQL statement defined.`), format, undefined, ErrorCode.USAGE_ERROR);
150
- process.exitCode = ExitCode.USAGE;
151
- return;
152
- }
153
- // Resolve system and connect
154
- const resolved = resolveSystem(globalOpts["system"]);
155
- const cleanup = await connectSystem(resolved);
156
- try {
157
- const ctx = createCliContext(name);
158
- const startTime = Date.now();
159
- // Dynamic import to avoid loading server infrastructure until execution time
160
- const { ParameterProcessor } = await import("../../ibmi-mcp-server/utils/sql/parameterProcessor.js");
161
- const { IBMiConnectionPool } = await import("../../ibmi-mcp-server/services/connectionPool.js");
162
- // Process SQL parameters (BindingValue from mapepire-js)
163
- let processedSql;
164
- let bindingParams = [];
165
- if (tool.parameters.length > 0 && Object.keys(params).length > 0) {
166
- // Convert YamlToolParameter[] to the SqlToolParameter shape expected by ParameterProcessor
167
- const result = await ParameterProcessor.process(tool.statement, params, tool.parameters, { context: ctx });
168
- processedSql = result.sql;
169
- bindingParams = result.parameters;
170
- }
171
- else {
172
- processedSql = tool.statement;
173
- }
174
- // Execute the query
175
- const result = await IBMiConnectionPool.executeQuery(processedSql, bindingParams, ctx);
176
- const elapsedMs = Date.now() - startTime;
177
- const data = (result.data ?? []);
178
- // NDJSON streaming: one JSON object per line
179
- if (stream && format === "json") {
180
- renderNdjson(data);
181
- return;
182
- }
183
- renderOutput(data, format, {
184
- rowCount: data.length,
185
- elapsedMs,
186
- system: resolved,
187
- command: `tool:${name}`,
188
- });
189
- }
190
- finally {
191
- await cleanup();
192
- }
193
- }
194
- //# sourceMappingURL=tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/cli/commands/tool.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- /**
2
- * @fileoverview Discovery commands for YAML-defined tools.
3
- *
4
- * - `ibmi tools` — List all available tools
5
- * - `ibmi tools show <name>` — Show detailed info for a single tool
6
- * - `ibmi toolsets` — List all toolsets
7
- *
8
- * These are read-only commands that parse YAML files without connecting to a system.
9
- * @module cli/commands/tools-list
10
- */
11
- import { Command } from "commander";
12
- /**
13
- * Register `ibmi tools` — list available YAML tools.
14
- */
15
- export declare function registerToolsCommand(program: Command): void;
16
- /**
17
- * Register `ibmi toolsets` — list available toolsets.
18
- */
19
- export declare function registerToolsetsCommand(program: Command): void;
20
- //# sourceMappingURL=tools-list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools-list.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/tools-list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0CpC;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+I3D;AAoBD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoC9D"}