@ibm/ibmi-mcp-server 0.4.5 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/config/index.d.ts +20 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +95 -0
- package/dist/config/index.js.map +1 -1
- package/dist/ibmi-mcp-server/schemas/config.d.ts +58 -0
- package/dist/ibmi-mcp-server/schemas/config.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/schemas/config.js +35 -0
- package/dist/ibmi-mcp-server/schemas/config.js.map +1 -1
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.d.ts +19 -1
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.js +30 -2
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.js.map +1 -1
- package/dist/ibmi-mcp-server/services/baseConnectionPool.d.ts +6 -2
- package/dist/ibmi-mcp-server/services/baseConnectionPool.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/services/baseConnectionPool.js +68 -8
- package/dist/ibmi-mcp-server/services/baseConnectionPool.js.map +1 -1
- package/dist/ibmi-mcp-server/services/connectionPool.d.ts +4 -2
- package/dist/ibmi-mcp-server/services/connectionPool.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/services/connectionPool.js +6 -3
- package/dist/ibmi-mcp-server/services/connectionPool.js.map +1 -1
- package/dist/ibmi-mcp-server/services/sourceManager.d.ts +19 -1
- package/dist/ibmi-mcp-server/services/sourceManager.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/services/sourceManager.js +31 -2
- package/dist/ibmi-mcp-server/services/sourceManager.js.map +1 -1
- package/dist/ibmi-mcp-server/tools/executeSql.tool.d.ts +1 -0
- package/dist/ibmi-mcp-server/tools/executeSql.tool.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/tools/executeSql.tool.js +17 -3
- package/dist/ibmi-mcp-server/tools/executeSql.tool.js.map +1 -1
- package/dist/ibmi-mcp-server/tools/index.d.ts +1 -0
- package/dist/ibmi-mcp-server/tools/index.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.js +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolConfigBuilder.js.map +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolFactory.d.ts +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolFactory.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolFactory.js +42 -4
- package/dist/ibmi-mcp-server/utils/config/toolFactory.js.map +1 -1
- package/dist/public/context.d.ts +5 -0
- package/dist/public/context.d.ts.map +1 -0
- package/dist/public/context.js +5 -0
- package/dist/public/context.js.map +1 -0
- package/dist/public/formatting.d.ts +5 -0
- package/dist/public/formatting.d.ts.map +1 -0
- package/dist/public/formatting.js +5 -0
- package/dist/public/formatting.js.map +1 -0
- package/dist/public/services.d.ts +8 -0
- package/dist/public/services.d.ts.map +1 -0
- package/dist/public/services.js +8 -0
- package/dist/public/services.js.map +1 -0
- package/dist/public/tools.d.ts +16 -0
- package/dist/public/tools.d.ts.map +1 -0
- package/dist/public/tools.js +15 -0
- package/dist/public/tools.js.map +1 -0
- package/package.json +20 -17
- package/dist/cli/commands/columns.d.ts +0 -7
- package/dist/cli/commands/columns.d.ts.map +0 -1
- package/dist/cli/commands/columns.js +0 -29
- package/dist/cli/commands/columns.js.map +0 -1
- package/dist/cli/commands/completion.d.ts +0 -10
- package/dist/cli/commands/completion.d.ts.map +0 -1
- package/dist/cli/commands/completion.js +0 -247
- package/dist/cli/commands/completion.js.map +0 -1
- package/dist/cli/commands/config.d.ts +0 -11
- package/dist/cli/commands/config.d.ts.map +0 -1
- package/dist/cli/commands/config.js +0 -124
- package/dist/cli/commands/config.js.map +0 -1
- package/dist/cli/commands/describe.d.ts +0 -9
- package/dist/cli/commands/describe.d.ts.map +0 -1
- package/dist/cli/commands/describe.js +0 -82
- package/dist/cli/commands/describe.js.map +0 -1
- package/dist/cli/commands/related.d.ts +0 -7
- package/dist/cli/commands/related.d.ts.map +0 -1
- package/dist/cli/commands/related.js +0 -32
- package/dist/cli/commands/related.js.map +0 -1
- package/dist/cli/commands/schemas.d.ts +0 -7
- package/dist/cli/commands/schemas.d.ts.map +0 -1
- package/dist/cli/commands/schemas.js +0 -49
- package/dist/cli/commands/schemas.js.map +0 -1
- package/dist/cli/commands/sql.d.ts +0 -8
- package/dist/cli/commands/sql.d.ts.map +0 -1
- package/dist/cli/commands/sql.js +0 -187
- package/dist/cli/commands/sql.js.map +0 -1
- package/dist/cli/commands/system.d.ts +0 -11
- package/dist/cli/commands/system.d.ts.map +0 -1
- package/dist/cli/commands/system.js +0 -263
- package/dist/cli/commands/system.js.map +0 -1
- package/dist/cli/commands/tables.d.ts +0 -7
- package/dist/cli/commands/tables.d.ts.map +0 -1
- package/dist/cli/commands/tables.js +0 -48
- package/dist/cli/commands/tables.js.map +0 -1
- package/dist/cli/commands/tool.d.ts +0 -18
- package/dist/cli/commands/tool.d.ts.map +0 -1
- package/dist/cli/commands/tool.js +0 -194
- package/dist/cli/commands/tool.js.map +0 -1
- package/dist/cli/commands/tools-list.d.ts +0 -20
- package/dist/cli/commands/tools-list.d.ts.map +0 -1
- package/dist/cli/commands/tools-list.js +0 -209
- package/dist/cli/commands/tools-list.js.map +0 -1
- package/dist/cli/commands/validate.d.ts +0 -7
- package/dist/cli/commands/validate.d.ts.map +0 -1
- package/dist/cli/commands/validate.js +0 -77
- package/dist/cli/commands/validate.js.map +0 -1
- package/dist/cli/config/credentials.d.ts +0 -21
- package/dist/cli/config/credentials.d.ts.map +0 -1
- package/dist/cli/config/credentials.js +0 -96
- package/dist/cli/config/credentials.js.map +0 -1
- package/dist/cli/config/index.d.ts +0 -11
- package/dist/cli/config/index.d.ts.map +0 -1
- package/dist/cli/config/index.js +0 -9
- package/dist/cli/config/index.js.map +0 -1
- package/dist/cli/config/loader.d.ts +0 -52
- package/dist/cli/config/loader.d.ts.map +0 -1
- package/dist/cli/config/loader.js +0 -237
- package/dist/cli/config/loader.js.map +0 -1
- package/dist/cli/config/resolver.d.ts +0 -31
- package/dist/cli/config/resolver.d.ts.map +0 -1
- package/dist/cli/config/resolver.js +0 -115
- package/dist/cli/config/resolver.js.map +0 -1
- package/dist/cli/config/schema.d.ts +0 -128
- package/dist/cli/config/schema.d.ts.map +0 -1
- package/dist/cli/config/schema.js +0 -37
- package/dist/cli/config/schema.js.map +0 -1
- package/dist/cli/config/types.d.ts +0 -59
- package/dist/cli/config/types.d.ts.map +0 -1
- package/dist/cli/config/types.js +0 -6
- package/dist/cli/config/types.js.map +0 -1
- package/dist/cli/formatters/output.d.ts +0 -70
- package/dist/cli/formatters/output.d.ts.map +0 -1
- package/dist/cli/formatters/output.js +0 -279
- package/dist/cli/formatters/output.js.map +0 -1
- package/dist/cli/index.d.ts +0 -13
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -102
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/utils/command-helpers.d.ts +0 -47
- package/dist/cli/utils/command-helpers.d.ts.map +0 -1
- package/dist/cli/utils/command-helpers.js +0 -211
- package/dist/cli/utils/command-helpers.js.map +0 -1
- package/dist/cli/utils/connection.d.ts +0 -20
- package/dist/cli/utils/connection.d.ts.map +0 -1
- package/dist/cli/utils/connection.js +0 -37
- package/dist/cli/utils/connection.js.map +0 -1
- package/dist/cli/utils/exit-codes.d.ts +0 -48
- package/dist/cli/utils/exit-codes.d.ts.map +0 -1
- package/dist/cli/utils/exit-codes.js +0 -111
- package/dist/cli/utils/exit-codes.js.map +0 -1
- package/dist/cli/utils/multi-connection.d.ts +0 -26
- package/dist/cli/utils/multi-connection.d.ts.map +0 -1
- package/dist/cli/utils/multi-connection.js +0 -72
- package/dist/cli/utils/multi-connection.js.map +0 -1
- package/dist/cli/utils/yaml-loader.d.ts +0 -69
- package/dist/cli/utils/yaml-loader.d.ts.map +0 -1
- package/dist/cli/utils/yaml-loader.js +0 -135
- package/dist/cli/utils/yaml-loader.js.map +0 -1
- package/dist/cli/utils/yaml-to-commander.d.ts +0 -26
- package/dist/cli/utils/yaml-to-commander.d.ts.map +0 -1
- package/dist/cli/utils/yaml-to-commander.js +0 -156
- package/dist/cli/utils/yaml-to-commander.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../src/cli/commands/columns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,0BAA0B,CAAC;SACnC,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,KAAa,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;QACnE,MAAM,cAAc,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE;YACtE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAC3C,qDAAqD,CACtD,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC;gBACE,WAAW,EAAE,MAAM;gBACnB,UAAU,EAAE,KAAK;aAClB,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,6BAA6B,CAAC,CAAC;YAC1E,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAA8B;gBACtD,IAAI,EAAE;oBACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC;iBAC/B;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview `ibmi completion bash|zsh|fish` — generate shell completion scripts.
|
|
3
|
-
* @module cli/commands/completion
|
|
4
|
-
*/
|
|
5
|
-
import { Command } from "commander";
|
|
6
|
-
/**
|
|
7
|
-
* Register `ibmi completion bash|zsh|fish`.
|
|
8
|
-
*/
|
|
9
|
-
export declare function registerCompletionCommand(program: Command): void;
|
|
10
|
-
//# sourceMappingURL=completion.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/completion.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4OpC;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwBhE"}
|
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview `ibmi completion bash|zsh|fish` — generate shell completion scripts.
|
|
3
|
-
* @module cli/commands/completion
|
|
4
|
-
*/
|
|
5
|
-
import { ExitCode } from "../utils/exit-codes.js";
|
|
6
|
-
/** Top-level commands. */
|
|
7
|
-
const COMMANDS = [
|
|
8
|
-
"config",
|
|
9
|
-
"system",
|
|
10
|
-
"schemas",
|
|
11
|
-
"tables",
|
|
12
|
-
"columns",
|
|
13
|
-
"related",
|
|
14
|
-
"validate",
|
|
15
|
-
"describe",
|
|
16
|
-
"sql",
|
|
17
|
-
"tool",
|
|
18
|
-
"tools",
|
|
19
|
-
"toolsets",
|
|
20
|
-
"completion",
|
|
21
|
-
];
|
|
22
|
-
/** Config subcommands. */
|
|
23
|
-
const CONFIG_SUBCOMMANDS = ["show"];
|
|
24
|
-
/** System subcommands. */
|
|
25
|
-
const SYSTEM_SUBCOMMANDS = [
|
|
26
|
-
"list",
|
|
27
|
-
"show",
|
|
28
|
-
"add",
|
|
29
|
-
"remove",
|
|
30
|
-
"default",
|
|
31
|
-
"test",
|
|
32
|
-
"config-path",
|
|
33
|
-
];
|
|
34
|
-
/** Global options. */
|
|
35
|
-
const GLOBAL_OPTIONS = [
|
|
36
|
-
"--system",
|
|
37
|
-
"--format",
|
|
38
|
-
"--raw",
|
|
39
|
-
"--stream",
|
|
40
|
-
"--tools",
|
|
41
|
-
"--output",
|
|
42
|
-
"--watch",
|
|
43
|
-
"--no-color",
|
|
44
|
-
"--version",
|
|
45
|
-
"--help",
|
|
46
|
-
];
|
|
47
|
-
/** Format choices. */
|
|
48
|
-
const FORMAT_CHOICES = ["table", "json", "csv", "markdown"];
|
|
49
|
-
/**
|
|
50
|
-
* Generate a bash completion script.
|
|
51
|
-
*/
|
|
52
|
-
function generateBash() {
|
|
53
|
-
return `# bash completion for ibmi
|
|
54
|
-
# Add to ~/.bashrc: eval "$(ibmi completion bash)"
|
|
55
|
-
|
|
56
|
-
_ibmi_completions() {
|
|
57
|
-
local cur prev commands config_commands system_commands global_opts format_choices
|
|
58
|
-
COMPREPLY=()
|
|
59
|
-
cur="\${COMP_WORDS[COMP_CWORD]}"
|
|
60
|
-
prev="\${COMP_WORDS[COMP_CWORD-1]}"
|
|
61
|
-
|
|
62
|
-
commands="${COMMANDS.join(" ")}"
|
|
63
|
-
config_commands="${CONFIG_SUBCOMMANDS.join(" ")}"
|
|
64
|
-
system_commands="${SYSTEM_SUBCOMMANDS.join(" ")}"
|
|
65
|
-
global_opts="${GLOBAL_OPTIONS.join(" ")}"
|
|
66
|
-
format_choices="${FORMAT_CHOICES.join(" ")}"
|
|
67
|
-
|
|
68
|
-
# Complete --format values
|
|
69
|
-
if [[ "\${prev}" == "--format" ]]; then
|
|
70
|
-
COMPREPLY=( $(compgen -W "\${format_choices}" -- "\${cur}") )
|
|
71
|
-
return 0
|
|
72
|
-
fi
|
|
73
|
-
|
|
74
|
-
# Complete --system from config
|
|
75
|
-
if [[ "\${prev}" == "--system" ]]; then
|
|
76
|
-
local systems
|
|
77
|
-
if command -v yq &>/dev/null && [[ -f ~/.ibmi/config.yaml ]]; then
|
|
78
|
-
systems=$(yq -r '.systems | keys | .[]' ~/.ibmi/config.yaml 2>/dev/null)
|
|
79
|
-
elif command -v python3 &>/dev/null && [[ -f ~/.ibmi/config.yaml ]]; then
|
|
80
|
-
systems=$(python3 -c "import yaml; c=yaml.safe_load(open('$HOME/.ibmi/config.yaml')); print(' '.join(c.get('systems',{}).keys()))" 2>/dev/null)
|
|
81
|
-
fi
|
|
82
|
-
COMPREPLY=( $(compgen -W "\${systems}" -- "\${cur}") )
|
|
83
|
-
return 0
|
|
84
|
-
fi
|
|
85
|
-
|
|
86
|
-
# Complete file paths for --file, --tools, --output
|
|
87
|
-
if [[ "\${prev}" == "--file" || "\${prev}" == "--tools" || "\${prev}" == "--output" ]]; then
|
|
88
|
-
COMPREPLY=( $(compgen -f -- "\${cur}") )
|
|
89
|
-
return 0
|
|
90
|
-
fi
|
|
91
|
-
|
|
92
|
-
# Complete config subcommands
|
|
93
|
-
if [[ "\${COMP_WORDS[1]}" == "config" && \${COMP_CWORD} -eq 2 ]]; then
|
|
94
|
-
COMPREPLY=( $(compgen -W "\${config_commands}" -- "\${cur}") )
|
|
95
|
-
return 0
|
|
96
|
-
fi
|
|
97
|
-
|
|
98
|
-
# Complete system subcommands
|
|
99
|
-
if [[ "\${COMP_WORDS[1]}" == "system" && \${COMP_CWORD} -eq 2 ]]; then
|
|
100
|
-
COMPREPLY=( $(compgen -W "\${system_commands}" -- "\${cur}") )
|
|
101
|
-
return 0
|
|
102
|
-
fi
|
|
103
|
-
|
|
104
|
-
# Complete top-level commands
|
|
105
|
-
if [[ \${COMP_CWORD} -eq 1 ]]; then
|
|
106
|
-
COMPREPLY=( $(compgen -W "\${commands}" -- "\${cur}") )
|
|
107
|
-
return 0
|
|
108
|
-
fi
|
|
109
|
-
|
|
110
|
-
# Complete global options
|
|
111
|
-
if [[ "\${cur}" == -* ]]; then
|
|
112
|
-
COMPREPLY=( $(compgen -W "\${global_opts}" -- "\${cur}") )
|
|
113
|
-
return 0
|
|
114
|
-
fi
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
complete -F _ibmi_completions ibmi
|
|
118
|
-
`;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Generate a zsh completion script.
|
|
122
|
-
*/
|
|
123
|
-
function generateZsh() {
|
|
124
|
-
return `#compdef ibmi
|
|
125
|
-
# zsh completion for ibmi
|
|
126
|
-
# Add to ~/.zshrc: eval "$(ibmi completion zsh)"
|
|
127
|
-
|
|
128
|
-
_ibmi() {
|
|
129
|
-
local -a commands config_commands system_commands format_choices global_opts
|
|
130
|
-
|
|
131
|
-
commands=(
|
|
132
|
-
${COMMANDS.map((c) => ` '${c}:${c} command'`).join("\n")}
|
|
133
|
-
)
|
|
134
|
-
|
|
135
|
-
config_commands=(
|
|
136
|
-
${CONFIG_SUBCOMMANDS.map((c) => ` '${c}:${c}'`).join("\n")}
|
|
137
|
-
)
|
|
138
|
-
|
|
139
|
-
system_commands=(
|
|
140
|
-
${SYSTEM_SUBCOMMANDS.map((c) => ` '${c}:${c}'`).join("\n")}
|
|
141
|
-
)
|
|
142
|
-
|
|
143
|
-
format_choices=(table json csv markdown)
|
|
144
|
-
|
|
145
|
-
global_opts=(
|
|
146
|
-
'--system[Target system name]:system name:'
|
|
147
|
-
'--format[Output format]:format:(table json csv markdown)'
|
|
148
|
-
'--raw[Output as JSON]'
|
|
149
|
-
'--stream[Stream results as NDJSON]'
|
|
150
|
-
'--tools[Path to YAML tool files]:file:_files'
|
|
151
|
-
'--output[Write output to file]:file:_files'
|
|
152
|
-
'--watch[Re-run at interval]:seconds:'
|
|
153
|
-
'--no-color[Disable colored output]'
|
|
154
|
-
'--help[Show help]'
|
|
155
|
-
'--version[Show version]'
|
|
156
|
-
)
|
|
157
|
-
|
|
158
|
-
_arguments -C \\
|
|
159
|
-
$global_opts \\
|
|
160
|
-
'1:command:->command' \\
|
|
161
|
-
'*::arg:->args'
|
|
162
|
-
|
|
163
|
-
case $state in
|
|
164
|
-
command)
|
|
165
|
-
_describe -t commands 'ibmi commands' commands
|
|
166
|
-
;;
|
|
167
|
-
args)
|
|
168
|
-
case $words[1] in
|
|
169
|
-
config)
|
|
170
|
-
_describe -t config_commands 'config subcommands' config_commands
|
|
171
|
-
;;
|
|
172
|
-
system)
|
|
173
|
-
_describe -t system_commands 'system subcommands' system_commands
|
|
174
|
-
;;
|
|
175
|
-
esac
|
|
176
|
-
;;
|
|
177
|
-
esac
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
_ibmi "$@"
|
|
181
|
-
`;
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Generate a fish completion script.
|
|
185
|
-
*/
|
|
186
|
-
function generateFish() {
|
|
187
|
-
const lines = [
|
|
188
|
-
"# fish completion for ibmi",
|
|
189
|
-
"# Add to fish config: ibmi completion fish | source",
|
|
190
|
-
"",
|
|
191
|
-
"# Disable file completions by default",
|
|
192
|
-
"complete -c ibmi -f",
|
|
193
|
-
"",
|
|
194
|
-
"# Top-level commands",
|
|
195
|
-
];
|
|
196
|
-
for (const cmd of COMMANDS) {
|
|
197
|
-
lines.push(`complete -c ibmi -n '__fish_use_subcommand' -a '${cmd}' -d '${cmd} command'`);
|
|
198
|
-
}
|
|
199
|
-
lines.push("", "# Config subcommands");
|
|
200
|
-
for (const sub of CONFIG_SUBCOMMANDS) {
|
|
201
|
-
lines.push(`complete -c ibmi -n '__fish_seen_subcommand_from config' -a '${sub}' -d '${sub}'`);
|
|
202
|
-
}
|
|
203
|
-
lines.push("", "# System subcommands");
|
|
204
|
-
for (const sub of SYSTEM_SUBCOMMANDS) {
|
|
205
|
-
lines.push(`complete -c ibmi -n '__fish_seen_subcommand_from system' -a '${sub}' -d '${sub}'`);
|
|
206
|
-
}
|
|
207
|
-
lines.push("", "# Global options");
|
|
208
|
-
lines.push("complete -c ibmi -l system -d 'Target system name' -x", "complete -c ibmi -l format -d 'Output format' -x -a 'table json csv markdown'", "complete -c ibmi -l raw -d 'Output as JSON'", "complete -c ibmi -l stream -d 'Stream results as NDJSON'", "complete -c ibmi -l tools -d 'Path to YAML tool files' -r -F", "complete -c ibmi -l output -d 'Write output to file' -r -F", "complete -c ibmi -l watch -d 'Re-run at interval (seconds)' -x", "complete -c ibmi -l no-color -d 'Disable colored output'");
|
|
209
|
-
return lines.join("\n") + "\n";
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Register `ibmi completion bash|zsh|fish`.
|
|
213
|
-
*/
|
|
214
|
-
export function registerCompletionCommand(program) {
|
|
215
|
-
program
|
|
216
|
-
.command("completion [shell]")
|
|
217
|
-
.description("Generate shell completion script (bash, zsh, fish)")
|
|
218
|
-
.action((shell) => {
|
|
219
|
-
const target = shell?.toLowerCase() ?? detectShell();
|
|
220
|
-
switch (target) {
|
|
221
|
-
case "bash":
|
|
222
|
-
process.stdout.write(generateBash());
|
|
223
|
-
break;
|
|
224
|
-
case "zsh":
|
|
225
|
-
process.stdout.write(generateZsh());
|
|
226
|
-
break;
|
|
227
|
-
case "fish":
|
|
228
|
-
process.stdout.write(generateFish());
|
|
229
|
-
break;
|
|
230
|
-
default:
|
|
231
|
-
process.stderr.write(`Unknown shell: ${target}. Supported: bash, zsh, fish\n`);
|
|
232
|
-
process.exitCode = ExitCode.USAGE;
|
|
233
|
-
}
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Auto-detect the current shell from the SHELL environment variable.
|
|
238
|
-
*/
|
|
239
|
-
function detectShell() {
|
|
240
|
-
const shell = process.env.SHELL ?? "";
|
|
241
|
-
if (shell.includes("zsh"))
|
|
242
|
-
return "zsh";
|
|
243
|
-
if (shell.includes("fish"))
|
|
244
|
-
return "fish";
|
|
245
|
-
return "bash";
|
|
246
|
-
}
|
|
247
|
-
//# sourceMappingURL=completion.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/cli/commands/completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview `ibmi config` commands for inspecting CLI configuration.
|
|
3
|
-
* Shows merged configuration with per-setting origin tracking.
|
|
4
|
-
* @module cli/commands/config
|
|
5
|
-
*/
|
|
6
|
-
import { Command } from "commander";
|
|
7
|
-
/**
|
|
8
|
-
* Register `ibmi config` subcommands.
|
|
9
|
-
*/
|
|
10
|
-
export declare function registerConfigCommand(program: Command): void;
|
|
11
|
-
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0DpC;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgF5D"}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview `ibmi config` commands for inspecting CLI configuration.
|
|
3
|
-
* Shows merged configuration with per-setting origin tracking.
|
|
4
|
-
* @module cli/commands/config
|
|
5
|
-
*/
|
|
6
|
-
import { loadConfig, loadConfigLayers, getUserConfigPath, } from "../config/index.js";
|
|
7
|
-
import { renderOutput, renderError } from "../formatters/output.js";
|
|
8
|
-
import { ExitCode } from "../utils/exit-codes.js";
|
|
9
|
-
import { getFormat } from "../utils/command-helpers.js";
|
|
10
|
-
/**
|
|
11
|
-
* Determine which config layer a top-level key (`default` or `format`) came from.
|
|
12
|
-
* Project layer takes precedence if it defines the key.
|
|
13
|
-
*/
|
|
14
|
-
function findOrigin(layers, key) {
|
|
15
|
-
// Check project first (higher precedence)
|
|
16
|
-
for (const layer of [...layers].reverse()) {
|
|
17
|
-
if (layer.config && layer.config[key] !== undefined) {
|
|
18
|
-
return layer.scope;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return "unknown";
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Determine which config layer a system definition came from.
|
|
25
|
-
* Project layer takes precedence for same-named systems.
|
|
26
|
-
*/
|
|
27
|
-
function findSystemOrigin(layers, name) {
|
|
28
|
-
for (const layer of [...layers].reverse()) {
|
|
29
|
-
if (layer.config && name in layer.config.systems) {
|
|
30
|
-
return layer.scope;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return "unknown";
|
|
34
|
-
}
|
|
35
|
-
/** Environment variables checked for config overrides. */
|
|
36
|
-
const CONFIG_ENV_VARS = ["IBMI_SYSTEM", "DB2i_HOST", "DB2i_USER", "DB2i_PASS"];
|
|
37
|
-
/** Env vars whose values must be masked in output. */
|
|
38
|
-
const SENSITIVE_ENV_VARS = new Set(["DB2i_PASS"]);
|
|
39
|
-
/** Return active environment variable overrides that affect config resolution. */
|
|
40
|
-
function getActiveEnvOverrides() {
|
|
41
|
-
const overrides = [];
|
|
42
|
-
for (const name of CONFIG_ENV_VARS) {
|
|
43
|
-
const value = process.env[name];
|
|
44
|
-
if (value) {
|
|
45
|
-
overrides.push({ name, value: SENSITIVE_ENV_VARS.has(name) ? "****" : value });
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return overrides;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Register `ibmi config` subcommands.
|
|
52
|
-
*/
|
|
53
|
-
export function registerConfigCommand(program) {
|
|
54
|
-
const config = program
|
|
55
|
-
.command("config")
|
|
56
|
-
.description("Inspect CLI configuration")
|
|
57
|
-
.action(() => {
|
|
58
|
-
config.outputHelp();
|
|
59
|
-
});
|
|
60
|
-
config
|
|
61
|
-
.command("show")
|
|
62
|
-
.description("Show active configuration with file origins")
|
|
63
|
-
.action((_opts, cmd) => {
|
|
64
|
-
const format = getFormat(cmd);
|
|
65
|
-
try {
|
|
66
|
-
const layers = loadConfigLayers();
|
|
67
|
-
const merged = loadConfig();
|
|
68
|
-
const data = [];
|
|
69
|
-
// File layer status
|
|
70
|
-
const userPath = getUserConfigPath();
|
|
71
|
-
const userLayer = layers.find((l) => l.scope === "user");
|
|
72
|
-
data.push({
|
|
73
|
-
PROPERTY: "[user]",
|
|
74
|
-
VALUE: userLayer?.exists ? "loaded" : "not found",
|
|
75
|
-
SOURCE: userPath,
|
|
76
|
-
});
|
|
77
|
-
const projectLayer = layers.find((l) => l.scope === "project");
|
|
78
|
-
if (projectLayer) {
|
|
79
|
-
data.push({
|
|
80
|
-
PROPERTY: "[project]",
|
|
81
|
-
VALUE: "loaded",
|
|
82
|
-
SOURCE: projectLayer.path,
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
// Top-level settings
|
|
86
|
-
if (merged.default) {
|
|
87
|
-
data.push({
|
|
88
|
-
PROPERTY: "default",
|
|
89
|
-
VALUE: merged.default,
|
|
90
|
-
SOURCE: findOrigin(layers, "default"),
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
if (merged.format) {
|
|
94
|
-
data.push({
|
|
95
|
-
PROPERTY: "format",
|
|
96
|
-
VALUE: merged.format,
|
|
97
|
-
SOURCE: findOrigin(layers, "format"),
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
// Systems
|
|
101
|
-
for (const [name, sys] of Object.entries(merged.systems)) {
|
|
102
|
-
data.push({
|
|
103
|
-
PROPERTY: `systems.${name}`,
|
|
104
|
-
VALUE: `${sys.host}:${sys.port} (${sys.user})`,
|
|
105
|
-
SOURCE: findSystemOrigin(layers, name),
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
// Active env overrides
|
|
109
|
-
for (const override of getActiveEnvOverrides()) {
|
|
110
|
-
data.push({
|
|
111
|
-
PROPERTY: override.name,
|
|
112
|
-
VALUE: override.value,
|
|
113
|
-
SOURCE: "environment",
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
renderOutput(data, format, { rowCount: data.length });
|
|
117
|
-
}
|
|
118
|
-
catch (err) {
|
|
119
|
-
renderError(err instanceof Error ? err : new Error(String(err)), format);
|
|
120
|
-
process.exitCode = ExitCode.GENERAL;
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview `ibmi describe <objects>` command — generate DDL for SQL objects.
|
|
3
|
-
* Accepts a comma-delimited list of LIBRARY.OBJECT references and returns
|
|
4
|
-
* the CREATE statement for each using the QSYS2.GENERATE_SQL service.
|
|
5
|
-
* @module cli/commands/describe
|
|
6
|
-
*/
|
|
7
|
-
import { Command } from "commander";
|
|
8
|
-
export declare function registerDescribeCommand(program: Command): void;
|
|
9
|
-
//# sourceMappingURL=describe.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/describe.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiF9D"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview `ibmi describe <objects>` command — generate DDL for SQL objects.
|
|
3
|
-
* Accepts a comma-delimited list of LIBRARY.OBJECT references and returns
|
|
4
|
-
* the CREATE statement for each using the QSYS2.GENERATE_SQL service.
|
|
5
|
-
* @module cli/commands/describe
|
|
6
|
-
*/
|
|
7
|
-
import { withConnection } from "../utils/command-helpers.js";
|
|
8
|
-
import { OBJECT_TYPES } from "../../ibmi-mcp-server/tools/generateSql.tool.js";
|
|
9
|
-
import { ExitCode } from "../utils/exit-codes.js";
|
|
10
|
-
/**
|
|
11
|
-
* Parse a qualified object reference into library and name.
|
|
12
|
-
* "SAMPLE.EMPLOYEE" → { library: "SAMPLE", name: "EMPLOYEE" }
|
|
13
|
-
* "EMPLOYEE" → { name: "EMPLOYEE" } (library defaults at tool level)
|
|
14
|
-
*/
|
|
15
|
-
function parseObjectRef(ref) {
|
|
16
|
-
const parts = ref.trim().split(".");
|
|
17
|
-
if (parts.length > 2) {
|
|
18
|
-
throw new Error(`Invalid object reference "${ref}". Expected LIBRARY.OBJECT or OBJECT.`);
|
|
19
|
-
}
|
|
20
|
-
if (parts.length === 2) {
|
|
21
|
-
return { library: parts[0].toUpperCase(), name: parts[1].toUpperCase() };
|
|
22
|
-
}
|
|
23
|
-
return { name: parts[0].toUpperCase() };
|
|
24
|
-
}
|
|
25
|
-
export function registerDescribeCommand(program) {
|
|
26
|
-
program
|
|
27
|
-
.command("describe <objects>")
|
|
28
|
-
.description("Generate DDL for one or more SQL objects (comma-separated LIBRARY.OBJECT)")
|
|
29
|
-
.option("--type <type>", `Object type: ${OBJECT_TYPES.join(", ")}`, "TABLE")
|
|
30
|
-
.action(async (objects, opts, cmd) => {
|
|
31
|
-
const objectType = opts["type"].toUpperCase();
|
|
32
|
-
if (!OBJECT_TYPES.includes(objectType)) {
|
|
33
|
-
process.stderr.write(`Error: Invalid --type "${opts["type"]}". Valid types: ${OBJECT_TYPES.join(", ")}\n`);
|
|
34
|
-
process.exitCode = ExitCode.USAGE;
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
const refs = objects
|
|
38
|
-
.split(",")
|
|
39
|
-
.map((s) => s.trim())
|
|
40
|
-
.filter(Boolean);
|
|
41
|
-
if (refs.length === 0) {
|
|
42
|
-
process.stderr.write("Error: No objects specified.\n");
|
|
43
|
-
process.exitCode = ExitCode.USAGE;
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
await withConnection(cmd, "describe_sql_object", async (_resolved, ctx) => {
|
|
47
|
-
const { generateSqlTool } = await import("../../ibmi-mcp-server/tools/generateSql.tool.js");
|
|
48
|
-
const logicFn = generateSqlTool.logic;
|
|
49
|
-
const data = [];
|
|
50
|
-
for (const ref of refs) {
|
|
51
|
-
const parsed = parseObjectRef(ref);
|
|
52
|
-
const result = await logicFn({
|
|
53
|
-
object_name: parsed.name,
|
|
54
|
-
object_library: parsed.library ?? "QSYS2",
|
|
55
|
-
object_type: objectType,
|
|
56
|
-
}, ctx, {});
|
|
57
|
-
const qualifiedName = parsed.library
|
|
58
|
-
? `${parsed.library}.${parsed.name}`
|
|
59
|
-
: parsed.name;
|
|
60
|
-
if (result.success && result.sql) {
|
|
61
|
-
data.push({
|
|
62
|
-
OBJECT: qualifiedName,
|
|
63
|
-
TYPE: objectType,
|
|
64
|
-
DDL: result.sql,
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
data.push({
|
|
69
|
-
OBJECT: qualifiedName,
|
|
70
|
-
TYPE: objectType,
|
|
71
|
-
DDL: `ERROR: ${result.error?.message ?? "DDL generation failed"}`,
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return {
|
|
76
|
-
data,
|
|
77
|
-
meta: { rowCount: data.length },
|
|
78
|
-
};
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=describe.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/cli/commands/describe.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD;;;;GAIG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,6BAA6B,GAAG,uCAAuC,CACxE,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IAC7E,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CACV,2EAA2E,CAC5E;SACA,MAAM,CACL,eAAe,EACf,gBAAgB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACzC,OAAO,CACR;SACA,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,IAAI,EAAE,GAAY,EAAE,EAAE;QACpD,MAAM,UAAU,GAAI,IAAI,CAAC,MAAM,CAAY,CAAC,WAAW,EAAE,CAAC;QAC1D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAA2C,CAAC,EAAE,CAAC;YACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0BAA0B,IAAI,CAAC,MAAM,CAAC,mBAAmB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACrF,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,OAAO;aACjB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,cAAc,CAClB,GAAG,EACH,qBAAqB,EACrB,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE;YACvB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CACtC,iDAAiD,CAClD,CAAC;YACF,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC;YAEtC,MAAM,IAAI,GAA8B,EAAE,CAAC;YAE3C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B;oBACE,WAAW,EAAE,MAAM,CAAC,IAAI;oBACxB,cAAc,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;oBACzC,WAAW,EAAE,UAA2C;iBACzD,EACD,GAAG,EACH,EAAgB,CACjB,CAAC;gBAEF,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO;oBAClC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE;oBACpC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBAEhB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;oBACjC,IAAI,CAAC,IAAI,CAAC;wBACR,MAAM,EAAE,aAAa;wBACrB,IAAI,EAAE,UAAU;wBAChB,GAAG,EAAE,MAAM,CAAC,GAAG;qBAChB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,CAAC;wBACR,MAAM,EAAE,aAAa;wBACrB,IAAI,EAAE,UAAU;wBAChB,GAAG,EAAE,UAAU,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,uBAAuB,EAAE;qBAClE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,OAAO;gBACL,IAAI;gBACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;aAChC,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview `ibmi related <library> <object>` command — find dependent objects.
|
|
3
|
-
* @module cli/commands/related
|
|
4
|
-
*/
|
|
5
|
-
import { Command } from "commander";
|
|
6
|
-
export declare function registerRelatedCommand(program: Command): void;
|
|
7
|
-
//# sourceMappingURL=related.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"related.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/related.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqC7D"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview `ibmi related <library> <object>` command — find dependent objects.
|
|
3
|
-
* @module cli/commands/related
|
|
4
|
-
*/
|
|
5
|
-
import { withConnection } from "../utils/command-helpers.js";
|
|
6
|
-
export function registerRelatedCommand(program) {
|
|
7
|
-
program
|
|
8
|
-
.command("related <library> <object>")
|
|
9
|
-
.description("Find objects that depend on a database file")
|
|
10
|
-
.option("--type <type>", "Filter by object type (e.g. INDEX, VIEW, TRIGGER, FOREIGN KEY)")
|
|
11
|
-
.action(async (library, object, opts, cmd) => {
|
|
12
|
-
await withConnection(cmd, "get_related_objects", async (_resolved, ctx) => {
|
|
13
|
-
const { getRelatedObjectsLogic } = await import("../../ibmi-mcp-server/tools/getRelatedObjects.tool.js");
|
|
14
|
-
const result = await getRelatedObjectsLogic({
|
|
15
|
-
library_name: library,
|
|
16
|
-
file_name: object,
|
|
17
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18
|
-
object_type_filter: opts["type"],
|
|
19
|
-
}, ctx, {});
|
|
20
|
-
if (!result.success) {
|
|
21
|
-
throw new Error(result.error?.message ?? "Failed to get related objects");
|
|
22
|
-
}
|
|
23
|
-
return {
|
|
24
|
-
data: (result.data ?? []),
|
|
25
|
-
meta: {
|
|
26
|
-
rowCount: result.rowCount ?? 0,
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=related.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"related.js","sourceRoot":"","sources":["../../../src/cli/commands/related.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,4BAA4B,CAAC;SACrC,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CACL,eAAe,EACf,gEAAgE,CACjE;SACA,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,MAAc,EAAE,IAAI,EAAE,GAAY,EAAE,EAAE;QACpE,MAAM,cAAc,CAAC,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE;YACxE,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAC7C,uDAAuD,CACxD,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC;gBACE,YAAY,EAAE,OAAO;gBACrB,SAAS,EAAE,MAAM;gBACjB,8DAA8D;gBAC9D,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAQ;aACxC,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,+BAA+B,CAAC,CAAC;YAC5E,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAA8B;gBACtD,IAAI,EAAE;oBACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC;iBAC/B;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview `ibmi schemas` command — list available schemas/libraries.
|
|
3
|
-
* @module cli/commands/schemas
|
|
4
|
-
*/
|
|
5
|
-
import { Command } from "commander";
|
|
6
|
-
export declare function registerSchemasCommand(program: Command): void;
|
|
7
|
-
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmD7D"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview `ibmi schemas` command — list available schemas/libraries.
|
|
3
|
-
* @module cli/commands/schemas
|
|
4
|
-
*/
|
|
5
|
-
import { withConnection } from "../utils/command-helpers.js";
|
|
6
|
-
import { ExitCode } from "../utils/exit-codes.js";
|
|
7
|
-
export function registerSchemasCommand(program) {
|
|
8
|
-
program
|
|
9
|
-
.command("schemas")
|
|
10
|
-
.description("List schemas/libraries on the target system")
|
|
11
|
-
.option("--filter <pattern>", "Filter by schema name (SQL LIKE pattern, e.g. 'MY%')")
|
|
12
|
-
.option("--system-schemas", "Include system schemas (Q* and SYS*)", false)
|
|
13
|
-
.option("--limit <n>", "Maximum rows to return", "50")
|
|
14
|
-
.option("--offset <n>", "Rows to skip for pagination", "0")
|
|
15
|
-
.action(async (opts, cmd) => {
|
|
16
|
-
const limit = parseInt(opts["limit"], 10);
|
|
17
|
-
const offset = parseInt(opts["offset"], 10);
|
|
18
|
-
if (isNaN(limit) || limit < 0) {
|
|
19
|
-
process.stderr.write(`Error: Invalid --limit value: "${opts["limit"]}". Must be a positive integer.\n`);
|
|
20
|
-
process.exitCode = ExitCode.USAGE;
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
if (isNaN(offset) || offset < 0) {
|
|
24
|
-
process.stderr.write(`Error: Invalid --offset value: "${opts["offset"]}". Must be a non-negative integer.\n`);
|
|
25
|
-
process.exitCode = ExitCode.USAGE;
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
await withConnection(cmd, "list_schemas", async (_resolved, ctx) => {
|
|
29
|
-
const { listSchemasLogic } = await import("../../ibmi-mcp-server/tools/listSchemas.tool.js");
|
|
30
|
-
const result = await listSchemasLogic({
|
|
31
|
-
filter: opts["filter"],
|
|
32
|
-
include_system: opts["systemSchemas"],
|
|
33
|
-
limit,
|
|
34
|
-
offset,
|
|
35
|
-
}, ctx, {});
|
|
36
|
-
if (!result.success) {
|
|
37
|
-
throw new Error(result.error?.message ?? "Failed to list schemas");
|
|
38
|
-
}
|
|
39
|
-
return {
|
|
40
|
-
data: (result.data ?? []),
|
|
41
|
-
meta: {
|
|
42
|
-
rowCount: result.rowCount ?? 0,
|
|
43
|
-
hasMore: result.hasMore,
|
|
44
|
-
},
|
|
45
|
-
};
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/cli/commands/schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,oBAAoB,EAAE,sDAAsD,CAAC;SACpF,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,EAAE,KAAK,CAAC;SACzE,MAAM,CAAC,aAAa,EAAE,wBAAwB,EAAE,IAAI,CAAC;SACrD,MAAM,CAAC,cAAc,EAAE,6BAA6B,EAAE,GAAG,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAY,EAAE,EAAE;QACnC,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,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE;YACjE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CACvC,iDAAiD,CAClD,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC;gBACE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAuB;gBAC5C,cAAc,EAAE,IAAI,CAAC,eAAe,CAAY;gBAChD,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,wBAAwB,CAAC,CAAC;YACrE,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,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview `ibmi sql "<sql>"` command — execute SQL queries.
|
|
3
|
-
* Supports inline SQL, --file, stdin piping, and multi-system parallel execution.
|
|
4
|
-
* @module cli/commands/sql
|
|
5
|
-
*/
|
|
6
|
-
import { Command } from "commander";
|
|
7
|
-
export declare function registerSqlCommand(program: Command): void;
|
|
8
|
-
//# sourceMappingURL=sql.d.ts.map
|