arc-1 0.6.9 → 0.7.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 (157) hide show
  1. package/README.md +12 -9
  2. package/bin/arc1-cli.js +10 -0
  3. package/bin/arc1.js +1 -1
  4. package/dist/adt/abapgit.d.ts +39 -0
  5. package/dist/adt/abapgit.d.ts.map +1 -0
  6. package/dist/adt/abapgit.js +333 -0
  7. package/dist/adt/abapgit.js.map +1 -0
  8. package/dist/adt/cds-impact.d.ts +35 -0
  9. package/dist/adt/cds-impact.d.ts.map +1 -1
  10. package/dist/adt/cds-impact.js +71 -0
  11. package/dist/adt/cds-impact.js.map +1 -1
  12. package/dist/adt/client.d.ts +4 -1
  13. package/dist/adt/client.d.ts.map +1 -1
  14. package/dist/adt/client.js +18 -5
  15. package/dist/adt/client.js.map +1 -1
  16. package/dist/adt/config.d.ts +1 -0
  17. package/dist/adt/config.d.ts.map +1 -1
  18. package/dist/adt/config.js +1 -0
  19. package/dist/adt/config.js.map +1 -1
  20. package/dist/adt/crud.d.ts.map +1 -1
  21. package/dist/adt/crud.js +74 -8
  22. package/dist/adt/crud.js.map +1 -1
  23. package/dist/adt/devtools.d.ts +39 -3
  24. package/dist/adt/devtools.d.ts.map +1 -1
  25. package/dist/adt/devtools.js +237 -25
  26. package/dist/adt/devtools.js.map +1 -1
  27. package/dist/adt/diagnostics.d.ts +69 -7
  28. package/dist/adt/diagnostics.d.ts.map +1 -1
  29. package/dist/adt/diagnostics.js +694 -36
  30. package/dist/adt/diagnostics.js.map +1 -1
  31. package/dist/adt/errors.d.ts +36 -2
  32. package/dist/adt/errors.d.ts.map +1 -1
  33. package/dist/adt/errors.js +111 -11
  34. package/dist/adt/errors.js.map +1 -1
  35. package/dist/adt/features.d.ts.map +1 -1
  36. package/dist/adt/features.js +3 -0
  37. package/dist/adt/features.js.map +1 -1
  38. package/dist/adt/gcts.d.ts +68 -0
  39. package/dist/adt/gcts.d.ts.map +1 -0
  40. package/dist/adt/gcts.js +239 -0
  41. package/dist/adt/gcts.js.map +1 -0
  42. package/dist/adt/http.d.ts.map +1 -1
  43. package/dist/adt/http.js +86 -1
  44. package/dist/adt/http.js.map +1 -1
  45. package/dist/adt/rap-handlers.d.ts +165 -0
  46. package/dist/adt/rap-handlers.d.ts.map +1 -0
  47. package/dist/adt/rap-handlers.js +835 -0
  48. package/dist/adt/rap-handlers.js.map +1 -0
  49. package/dist/adt/rap-preflight.d.ts +43 -0
  50. package/dist/adt/rap-preflight.d.ts.map +1 -0
  51. package/dist/adt/rap-preflight.js +405 -0
  52. package/dist/adt/rap-preflight.js.map +1 -0
  53. package/dist/adt/safety.d.ts +60 -33
  54. package/dist/adt/safety.d.ts.map +1 -1
  55. package/dist/adt/safety.js +204 -113
  56. package/dist/adt/safety.js.map +1 -1
  57. package/dist/adt/transport.d.ts +1 -1
  58. package/dist/adt/transport.d.ts.map +1 -1
  59. package/dist/adt/transport.js +6 -3
  60. package/dist/adt/transport.js.map +1 -1
  61. package/dist/adt/types.d.ts +225 -0
  62. package/dist/adt/types.d.ts.map +1 -1
  63. package/dist/adt/xml-parser.d.ts +15 -1
  64. package/dist/adt/xml-parser.d.ts.map +1 -1
  65. package/dist/adt/xml-parser.js +28 -15
  66. package/dist/adt/xml-parser.js.map +1 -1
  67. package/dist/authz/policy.d.ts +53 -0
  68. package/dist/authz/policy.d.ts.map +1 -0
  69. package/dist/authz/policy.js +199 -0
  70. package/dist/authz/policy.js.map +1 -0
  71. package/dist/cli-args.d.ts +14 -0
  72. package/dist/cli-args.d.ts.map +1 -0
  73. package/dist/cli-args.js +62 -0
  74. package/dist/cli-args.js.map +1 -0
  75. package/dist/cli.d.ts +13 -7
  76. package/dist/cli.d.ts.map +1 -1
  77. package/dist/cli.js +252 -55
  78. package/dist/cli.js.map +1 -1
  79. package/dist/extract-sap-cookies.d.ts +24 -0
  80. package/dist/extract-sap-cookies.d.ts.map +1 -0
  81. package/dist/extract-sap-cookies.js +317 -0
  82. package/dist/extract-sap-cookies.js.map +1 -0
  83. package/dist/handlers/hyperfocused.d.ts +4 -3
  84. package/dist/handlers/hyperfocused.d.ts.map +1 -1
  85. package/dist/handlers/hyperfocused.js +25 -16
  86. package/dist/handlers/hyperfocused.js.map +1 -1
  87. package/dist/handlers/intent.d.ts +4 -12
  88. package/dist/handlers/intent.d.ts.map +1 -1
  89. package/dist/handlers/intent.js +1448 -89
  90. package/dist/handlers/intent.js.map +1 -1
  91. package/dist/handlers/schemas.d.ts +83 -11
  92. package/dist/handlers/schemas.d.ts.map +1 -1
  93. package/dist/handlers/schemas.js +115 -4
  94. package/dist/handlers/schemas.js.map +1 -1
  95. package/dist/handlers/tools.d.ts +4 -3
  96. package/dist/handlers/tools.d.ts.map +1 -1
  97. package/dist/handlers/tools.js +342 -143
  98. package/dist/handlers/tools.js.map +1 -1
  99. package/dist/index.d.ts +1 -1
  100. package/dist/index.js +7 -6
  101. package/dist/index.js.map +1 -1
  102. package/dist/probe/catalog.d.ts +30 -0
  103. package/dist/probe/catalog.d.ts.map +1 -0
  104. package/dist/probe/catalog.js +196 -0
  105. package/dist/probe/catalog.js.map +1 -0
  106. package/dist/probe/fixtures.d.ts +54 -0
  107. package/dist/probe/fixtures.d.ts.map +1 -0
  108. package/dist/probe/fixtures.js +94 -0
  109. package/dist/probe/fixtures.js.map +1 -0
  110. package/dist/probe/format.d.ts +10 -0
  111. package/dist/probe/format.d.ts.map +1 -0
  112. package/dist/probe/format.js +114 -0
  113. package/dist/probe/format.js.map +1 -0
  114. package/dist/probe/quality.d.ts +13 -0
  115. package/dist/probe/quality.d.ts.map +1 -0
  116. package/dist/probe/quality.js +50 -0
  117. package/dist/probe/quality.js.map +1 -0
  118. package/dist/probe/runner.d.ts +48 -0
  119. package/dist/probe/runner.d.ts.map +1 -0
  120. package/dist/probe/runner.js +211 -0
  121. package/dist/probe/runner.js.map +1 -0
  122. package/dist/probe/types.d.ts +159 -0
  123. package/dist/probe/types.d.ts.map +1 -0
  124. package/dist/probe/types.js +11 -0
  125. package/dist/probe/types.js.map +1 -0
  126. package/dist/server/audit.d.ts +26 -3
  127. package/dist/server/audit.d.ts.map +1 -1
  128. package/dist/server/audit.js +12 -1
  129. package/dist/server/audit.js.map +1 -1
  130. package/dist/server/config.d.ts +34 -19
  131. package/dist/server/config.d.ts.map +1 -1
  132. package/dist/server/config.js +327 -187
  133. package/dist/server/config.js.map +1 -1
  134. package/dist/server/deny-actions.d.ts +31 -0
  135. package/dist/server/deny-actions.d.ts.map +1 -0
  136. package/dist/server/deny-actions.js +156 -0
  137. package/dist/server/deny-actions.js.map +1 -0
  138. package/dist/server/effective-policy-log.d.ts +27 -0
  139. package/dist/server/effective-policy-log.d.ts.map +1 -0
  140. package/dist/server/effective-policy-log.js +103 -0
  141. package/dist/server/effective-policy-log.js.map +1 -0
  142. package/dist/server/http.d.ts.map +1 -1
  143. package/dist/server/http.js +15 -16
  144. package/dist/server/http.js.map +1 -1
  145. package/dist/server/server.d.ts +38 -4
  146. package/dist/server/server.d.ts.map +1 -1
  147. package/dist/server/server.js +234 -31
  148. package/dist/server/server.js.map +1 -1
  149. package/dist/server/types.d.ts +31 -13
  150. package/dist/server/types.d.ts.map +1 -1
  151. package/dist/server/types.js +11 -10
  152. package/dist/server/types.js.map +1 -1
  153. package/dist/server/xsuaa.d.ts +1 -2
  154. package/dist/server/xsuaa.d.ts.map +1 -1
  155. package/dist/server/xsuaa.js +13 -14
  156. package/dist/server/xsuaa.js.map +1 -1
  157. package/package.json +9 -3
package/dist/cli.js CHANGED
@@ -1,106 +1,303 @@
1
1
  /**
2
2
  * ARC-1 CLI — command-line interface for SAP ADT operations.
3
3
  *
4
- * Minimal CLI for direct SAP interaction without an MCP client.
5
- * For the full MCP server, use `arc1` (runs index.ts).
4
+ * Exposed via the `arc1-cli` bin (separate from `arc1`, which is the MCP server entry).
6
5
  *
7
- * Commands:
8
- * arc1 search <query> - Search for ABAP objects
9
- * arc1 source <type> <name> - Get source code
10
- * arc1 lint <source-file> - Lint ABAP source code
11
- * arc1 version - Show version
6
+ * Two layers:
7
+ * - `arc1-cli serve` Start the MCP server (same as `arc1`).
8
+ * - `arc1-cli call <tool> [...]` Call any of the 12 MCP tools directly.
9
+ * - `arc1-cli tools [<tool>]` List tools / show a tool's JSON schema.
10
+ * - Shortcuts: `read`, `source` (alias), `activate`, `syntax`, `sql`, `lint`,
11
+ * `search`, `extract-cookies`, `version` — one-liners over `call` or helpers
12
+ * for common operations.
13
+ *
14
+ * The `call` command bypasses the MCP transport but reuses the same dispatch
15
+ * path (`handleToolCall` in src/handlers/intent.ts), so Zod validation,
16
+ * safety gates (`SAP_READ_ONLY`, `SAP_ALLOWED_PACKAGES`, ...), and audit
17
+ * logging all apply exactly as they do under `arc1 serve` stdio mode.
12
18
  */
13
19
  import { readFileSync } from 'node:fs';
14
- import { Command } from 'commander';
20
+ import { Command, Option } from 'commander';
15
21
  import { config } from 'dotenv';
16
22
  import { AdtClient } from './adt/client.js';
17
- import { resolveCookies } from './adt/cookies.js';
23
+ import { buildArgs } from './cli-args.js';
24
+ import { handleToolCall } from './handlers/intent.js';
25
+ import { getToolDefinitions } from './handlers/tools.js';
18
26
  import { detectFilename, lintAbapSource } from './lint/lint.js';
19
- import { parseArgs } from './server/config.js';
27
+ import { parseArgs, resolveConfig } from './server/config.js';
20
28
  import { initLogger } from './server/logger.js';
21
- import { VERSION } from './server/server.js';
22
- // Load .env
23
- config();
29
+ import { buildAdtConfig, VERSION } from './server/server.js';
30
+ // Load .env without printing dotenv tips to stdout.
31
+ config({ quiet: true });
24
32
  const program = new Command();
25
- program.name('arc1').description('ARC-1 — MCP Server for SAP ABAP Systems').version(VERSION);
33
+ program
34
+ .name('arc1')
35
+ .description('ARC-1 — MCP Server for SAP ABAP Systems')
36
+ .version(VERSION)
37
+ .allowUnknownOption(true)
38
+ .allowExcessArguments(true);
26
39
  // Server mode (default)
27
40
  program
28
41
  .command('serve', { isDefault: true })
29
42
  .description('Start MCP server (default)')
43
+ .allowUnknownOption(true)
44
+ .allowExcessArguments(true)
30
45
  .action(async () => {
31
46
  // Dynamic import to avoid loading MCP SDK for CLI-only usage
32
47
  const { createAndStartServer } = await import('./server/server.js');
33
48
  const serverConfig = parseArgs(process.argv.slice(2));
34
49
  await createAndStartServer(serverConfig);
35
50
  });
36
- // Search command
51
+ // ─── Direct tool invocation ────────────────────────────────────────────
52
+ const outputOption = new Option('--output <mode>', 'Output mode').choices(['text', 'json']).default('text');
53
+ function collect(value, previous) {
54
+ return [...previous, value];
55
+ }
56
+ program
57
+ .command('call <tool>')
58
+ .description('Call any MCP tool directly (e.g. SAPRead, SAPWrite, SAPGit...)')
59
+ .option('--arg <key=value>', 'Tool argument; repeatable. Values are coerced: true/false/number/JSON.', collect, [])
60
+ .option('--json <source>', 'JSON args: inline object, path to a file, or "-" for stdin')
61
+ .addOption(outputOption)
62
+ .action(async (tool, opts) => {
63
+ try {
64
+ const args = buildArgs(opts);
65
+ const code = await runToolCall(tool, args, opts.output);
66
+ process.exit(code);
67
+ }
68
+ catch (err) {
69
+ console.error(err instanceof Error ? err.message : String(err));
70
+ process.exit(2);
71
+ }
72
+ });
73
+ program
74
+ .command('tools [tool]')
75
+ .description('List MCP tools, or show the JSON input schema for a specific tool')
76
+ .action((tool) => {
77
+ const { config: serverConfig } = resolveCliContext();
78
+ const defs = getToolDefinitions(serverConfig);
79
+ if (!tool) {
80
+ for (const def of defs) {
81
+ const firstLine = def.description.split('\n')[0].trim();
82
+ console.log(`${def.name.padEnd(14)} ${firstLine}`);
83
+ }
84
+ return;
85
+ }
86
+ const match = defs.find((d) => d.name.toLowerCase() === tool.toLowerCase());
87
+ if (!match) {
88
+ console.error(`Unknown tool: ${tool}`);
89
+ console.error(`Available: ${defs.map((d) => d.name).join(', ')}`);
90
+ process.exit(2);
91
+ }
92
+ console.log(match.description);
93
+ console.log('');
94
+ console.log('Input schema:');
95
+ console.log(JSON.stringify(match.inputSchema, null, 2));
96
+ });
97
+ // ─── Ergonomic shortcuts (thin wrappers over `call`) ───────────────────
98
+ program
99
+ .command('read <type> <name>')
100
+ .description('Read an ABAP object via SAPRead (PROG, CLAS, INTF, DDLS, TABL, DOMA, DTEL, ...)')
101
+ .option('--flat', 'Return flat source for CLAS/INTF (instead of structured sections)')
102
+ .addOption(outputOption)
103
+ .action(async (type, name, opts) => {
104
+ const args = { type: type.toUpperCase(), name };
105
+ if (opts.flat)
106
+ args.flat = true;
107
+ process.exit(await runToolCall('SAPRead', args, opts.output));
108
+ });
109
+ // `source` kept as an alias of `read` with flat=true to preserve legacy CLI behavior.
110
+ program
111
+ .command('source <type> <name>')
112
+ .description('Alias of `read --flat` (legacy)')
113
+ .addOption(outputOption)
114
+ .action(async (type, name, opts) => {
115
+ process.exit(await runToolCall('SAPRead', { type: type.toUpperCase(), name, flat: true }, opts.output));
116
+ });
117
+ program
118
+ .command('activate <type> <name>')
119
+ .description('Activate an ADT object (SAPActivate) — e.g. `activate CLAS ZCL_FOO`')
120
+ .addOption(outputOption)
121
+ .action(async (type, name, opts) => {
122
+ process.exit(await runToolCall('SAPActivate', { action: 'activate', type: type.toUpperCase(), name }, opts.output));
123
+ });
124
+ program
125
+ .command('syntax <type> <name>')
126
+ .description('Remote syntax check on an ABAP object (SAPDiagnose syntax)')
127
+ .addOption(outputOption)
128
+ .action(async (type, name, opts) => {
129
+ process.exit(await runToolCall('SAPDiagnose', { action: 'syntax', type: type.toUpperCase(), name }, opts.output));
130
+ });
131
+ program
132
+ .command('sql <query>')
133
+ .description('Execute an OpenSQL query (SAPQuery; requires SAP_BLOCK_FREE_SQL=false)')
134
+ .addOption(outputOption)
135
+ .action(async (query, opts) => {
136
+ process.exit(await runToolCall('SAPQuery', { action: 'sql', query }, opts.output));
137
+ });
138
+ // ─── Legacy / local-only commands ──────────────────────────────────────
37
139
  program
38
140
  .command('search <query>')
39
- .description('Search for ABAP objects')
141
+ .description('Search for ABAP objects (SAPSearch)')
40
142
  .option('--max <number>', 'Maximum results', '50')
143
+ .addOption(outputOption)
41
144
  .action(async (query, opts) => {
42
- const client = createClientFromEnv();
43
- const results = await client.searchObject(query, Number(opts.max));
44
- console.log(JSON.stringify(results, null, 2));
145
+ process.exit(await runToolCall('SAPSearch', { action: 'object', query, maxResults: Number(opts.max) }, opts.output));
45
146
  });
46
- // Source command
47
147
  program
48
- .command('source <type> <name>')
49
- .description('Get source code of an ABAP object')
50
- .action(async (type, name) => {
51
- const client = createClientFromEnv();
52
- switch (type.toUpperCase()) {
53
- case 'PROG':
54
- console.log(await client.getProgram(name));
55
- break;
56
- case 'CLAS':
57
- console.log(await client.getClass(name));
58
- break;
59
- case 'INTF':
60
- console.log(await client.getInterface(name));
61
- break;
62
- default:
63
- console.error(`Unsupported type: ${type}`);
64
- process.exit(1);
148
+ .command('extract-cookies [args...]')
149
+ .description('Launch a browser, log into SAP, and write a Netscape cookie file. Pass --help for options.')
150
+ .allowUnknownOption(true)
151
+ .helpOption(false)
152
+ .action(async () => {
153
+ const idx = process.argv.indexOf('extract-cookies');
154
+ const forwarded = idx >= 0 ? process.argv.slice(idx + 1) : [];
155
+ const { run } = await import('./extract-sap-cookies.js');
156
+ try {
157
+ await run(forwarded);
158
+ }
159
+ catch (err) {
160
+ const message = err instanceof Error ? err.message : String(err);
161
+ process.stderr.write(`${message}\n`);
162
+ process.exit(1);
65
163
  }
66
164
  });
67
- // Lint command
68
165
  program
69
166
  .command('lint <file>')
70
- .description('Lint an ABAP source file')
167
+ .description('Lint a local ABAP source file (offline; no SAP connection)')
71
168
  .action((file) => {
72
169
  const source = readFileSync(file, 'utf-8');
73
170
  const filename = detectFilename(source, file.replace(/\.abap$/, ''));
74
171
  const issues = lintAbapSource(source, filename);
75
172
  if (issues.length === 0) {
76
173
  console.log('No issues found.');
174
+ return;
77
175
  }
78
- else {
79
- for (const issue of issues) {
80
- console.log(`${issue.line}:${issue.column} [${issue.severity}] ${issue.rule}: ${issue.message}`);
81
- }
176
+ for (const issue of issues) {
177
+ console.log(`${issue.line}:${issue.column} [${issue.severity}] ${issue.rule}: ${issue.message}`);
82
178
  }
179
+ process.exit(issues.some((i) => i.severity === 'error') ? 1 : 0);
83
180
  });
84
- // Version command (explicit)
85
181
  program
86
182
  .command('version')
87
183
  .description('Show ARC-1 version')
88
184
  .action(() => {
89
185
  console.log(`ARC-1 v${VERSION}`);
90
186
  });
91
- function createClientFromEnv() {
187
+ // Config show command — dumps resolved effective policy + source attribution
188
+ const configCmd = program.command('config').description('Configuration inspection');
189
+ configCmd
190
+ .command('show')
191
+ .description('Show the resolved effective safety config with per-field source attribution')
192
+ .option('--format <fmt>', 'Output format: table or json', 'table')
193
+ .allowUnknownOption(true)
194
+ .allowExcessArguments(true)
195
+ .action((opts) => {
196
+ try {
197
+ const { config: serverConfig, sources } = resolveConfig(process.argv.slice(3));
198
+ const fmt = opts.format === 'json' ? 'json' : 'table';
199
+ if (fmt === 'json') {
200
+ const out = {
201
+ effectivePolicy: {
202
+ allowWrites: serverConfig.allowWrites,
203
+ allowDataPreview: serverConfig.allowDataPreview,
204
+ allowFreeSQL: serverConfig.allowFreeSQL,
205
+ allowTransportWrites: serverConfig.allowTransportWrites,
206
+ allowGitWrites: serverConfig.allowGitWrites,
207
+ allowedPackages: serverConfig.allowedPackages,
208
+ allowedTransports: serverConfig.allowedTransports,
209
+ denyActions: serverConfig.denyActions,
210
+ },
211
+ sources,
212
+ };
213
+ console.log(JSON.stringify(out, null, 2));
214
+ }
215
+ else {
216
+ console.log('ARC-1 effective authorization policy');
217
+ console.log('────────────────────────────────────');
218
+ const fields = [
219
+ ['allowWrites', serverConfig.allowWrites],
220
+ ['allowDataPreview', serverConfig.allowDataPreview],
221
+ ['allowFreeSQL', serverConfig.allowFreeSQL],
222
+ ['allowTransportWrites', serverConfig.allowTransportWrites],
223
+ ['allowGitWrites', serverConfig.allowGitWrites],
224
+ ['allowedPackages', JSON.stringify(serverConfig.allowedPackages)],
225
+ ['allowedTransports', JSON.stringify(serverConfig.allowedTransports)],
226
+ ];
227
+ for (const [name, value] of fields) {
228
+ const src = formatConfigSource(sources[name]);
229
+ console.log(` ${name.padEnd(22)} = ${String(value).padEnd(30)} [${src}]`);
230
+ }
231
+ console.log('\nDeny actions:');
232
+ if (serverConfig.denyActions.length === 0) {
233
+ console.log(` (none) [${formatConfigSource(sources.denyActions)}]`);
234
+ }
235
+ else {
236
+ const src = formatConfigSource(sources.denyActions);
237
+ for (const pattern of serverConfig.denyActions) {
238
+ console.log(` ${pattern} [${src}]`);
239
+ }
240
+ }
241
+ }
242
+ process.exit(0);
243
+ }
244
+ catch (err) {
245
+ console.error(`Error: ${err.message}`);
246
+ process.exit(1);
247
+ }
248
+ });
249
+ function formatConfigSource(s) {
250
+ if (s === undefined)
251
+ return 'default';
252
+ if (s === 'default')
253
+ return 'default';
254
+ if (typeof s === 'object') {
255
+ if ('env' in s)
256
+ return `env ${s.env}`;
257
+ if ('flag' in s)
258
+ return `flag ${s.flag}`;
259
+ if ('file' in s)
260
+ return `file ${s.file}`;
261
+ }
262
+ return 'unknown';
263
+ }
264
+ // ─── Helpers ───────────────────────────────────────────────────────────
265
+ function renderToolResult(result, mode) {
266
+ if (mode === 'json') {
267
+ console.log(JSON.stringify(result, null, 2));
268
+ }
269
+ else {
270
+ const stream = result.isError ? console.error : console.log;
271
+ for (const block of result.content) {
272
+ if (block.type === 'text')
273
+ stream(block.text);
274
+ }
275
+ }
276
+ return result.isError ? 1 : 0;
277
+ }
278
+ function resolveCliContext() {
92
279
  const serverConfig = parseArgs([]);
93
280
  initLogger(serverConfig.logFormat, serverConfig.verbose);
94
- const cookies = resolveCookies(serverConfig.cookieFile, serverConfig.cookieString);
95
- return new AdtClient({
96
- baseUrl: serverConfig.url,
97
- username: serverConfig.username,
98
- password: serverConfig.password,
99
- client: serverConfig.client,
100
- language: serverConfig.language,
101
- insecure: serverConfig.insecure,
102
- ...(cookies ? { cookies } : {}),
103
- });
281
+ const adtConfig = buildAdtConfig(serverConfig);
282
+ const client = new AdtClient(adtConfig);
283
+ return { client, config: serverConfig };
284
+ }
285
+ async function runToolCall(toolName, args, outputMode) {
286
+ const { client, config: serverConfig } = resolveCliContext();
287
+ const available = new Set(getToolDefinitions(serverConfig).map((t) => t.name));
288
+ if (!available.has(toolName)) {
289
+ console.error(`Unknown tool: ${toolName}`);
290
+ console.error(`Available tools: ${[...available].join(', ')}`);
291
+ return 2;
292
+ }
293
+ try {
294
+ const result = await handleToolCall(client, serverConfig, toolName, args);
295
+ return renderToolResult(result, outputMode);
296
+ }
297
+ catch (err) {
298
+ console.error(err instanceof Error ? err.message : String(err));
299
+ return 1;
300
+ }
104
301
  }
105
302
  program.parse();
106
303
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ type BrowserChoice = 'chrome' | 'firefox' | 'edge';
2
+ interface ServerArgs {
3
+ url?: string;
4
+ cookieFile?: string;
5
+ }
6
+ export interface ExtractionPlanInput {
7
+ args: string[];
8
+ env: NodeJS.ProcessEnv;
9
+ cwd: string;
10
+ platform: NodeJS.Platform;
11
+ }
12
+ export interface ExtractionPlan {
13
+ url: string;
14
+ origin: string;
15
+ browser: BrowserChoice;
16
+ browserBinary: string;
17
+ outputPath: string;
18
+ yes: boolean;
19
+ }
20
+ export declare function parseServerArgs(args: string[], env?: NodeJS.ProcessEnv): ServerArgs;
21
+ export declare function planExtraction(input: ExtractionPlanInput): ExtractionPlan;
22
+ export declare function run(argv?: string[]): Promise<void>;
23
+ export {};
24
+ //# sourceMappingURL=extract-sap-cookies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-sap-cookies.d.ts","sourceRoot":"","sources":["../src/extract-sap-cookies.ts"],"names":[],"mappings":"AAQA,KAAK,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AASnD,UAAU,UAAU;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;CACd;AA6CD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,UAAU,CAKhG;AAwOD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAwBzE;AAED,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C/E"}