@mcp-abap-adt/proxy 1.2.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/index.js +79 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +62 -14
- package/dist/proxy/btpProxy.d.ts.map +1 -1
- package/dist/proxy/btpProxy.js +2 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.3.0] - 2026-05-28
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **CLI flags override values from `--config`** — when a config file is loaded via `--config`/`-c`, explicit CLI flags (`--btp`, `--target-url`/`--url`, `--unsafe`, `--browser`, `--browser-auth-port`, `--header`) now override matching values from the file instead of being silently dropped. `--header` entries merge with `defaultHeaders` (CLI keys win on conflict). The proxy logs which keys were overridden so the precedence is visible.
|
|
14
|
+
- **`--help` / `-h`** — full CLI usage printer covering auth, browser, transport flags and the documented environment variables. Previously the proxy had no help output at all, making the `--browser none` / `--browser-auth-port` flags effectively undiscoverable.
|
|
15
|
+
- **Graceful shutdown on `SIGINT` / `SIGTERM`** — the proxy now wires both signals to `shutdown()`, which closes the MCP server and HTTP listener, clears pending JWT refresh timers, drops the token cache, and releases per-destination auth brokers. Previously these resources were only released on hard process exit.
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
- `BtpProxy.dispose()` now clears the token cache and the per-destination broker map in addition to refresh timers, so a clean shutdown actually releases all auth state.
|
|
19
|
+
|
|
10
20
|
## [1.2.1] - 2026-05-26
|
|
11
21
|
|
|
12
22
|
### Security
|
package/dist/index.js
CHANGED
|
@@ -567,9 +567,88 @@ Authorization source: ${authSourceObj}`;
|
|
|
567
567
|
exports.McpAbapAdtProxyServer = McpAbapAdtProxyServer;
|
|
568
568
|
// Export for use in bin script
|
|
569
569
|
exports.default = McpAbapAdtProxyServer;
|
|
570
|
+
/**
|
|
571
|
+
* Print CLI usage and exit.
|
|
572
|
+
*/
|
|
573
|
+
function printHelp() {
|
|
574
|
+
const help = `Usage: mcp-abap-adt-proxy [options]
|
|
575
|
+
|
|
576
|
+
Authorization proxy for MCP clients (Cline, Claude Code, etc.) that cannot
|
|
577
|
+
authenticate on their own to MCP servers deployed on SAP BTP.
|
|
578
|
+
|
|
579
|
+
CONFIGURATION
|
|
580
|
+
-c, --config <path> Load config from YAML/JSON file. CLI flags below
|
|
581
|
+
override values from the file.
|
|
582
|
+
|
|
583
|
+
AUTHENTICATION (BTP / XSUAA)
|
|
584
|
+
--btp <destination> BTP destination name. Service key is read from
|
|
585
|
+
~/.config/mcp-abap-adt/service-keys/<dest>.json
|
|
586
|
+
--target-url <url> Override target service URL (default: from service key)
|
|
587
|
+
--url <url> Alias for --target-url
|
|
588
|
+
--unsafe Persist session/tokens to disk (default: in-memory)
|
|
589
|
+
--header <key=value> Inject a default header into every forwarded
|
|
590
|
+
request. Repeatable. Client-supplied headers win.
|
|
591
|
+
|
|
592
|
+
BROWSER AUTHORIZATION
|
|
593
|
+
--browser <mode> Browser used for OAuth login. One of:
|
|
594
|
+
system - OS default browser (default)
|
|
595
|
+
chrome - Google Chrome
|
|
596
|
+
edge - Microsoft Edge
|
|
597
|
+
firefox - Firefox
|
|
598
|
+
none - Print URL to console and wait for
|
|
599
|
+
callback (for SSH/headless sessions)
|
|
600
|
+
headless - Alias for 'none'
|
|
601
|
+
--browser-auth-port <port> Local OAuth callback port. Must match the
|
|
602
|
+
redirect_uri registered on XSUAA (default: 3333).
|
|
603
|
+
|
|
604
|
+
TRANSPORT
|
|
605
|
+
--transport <type> stdio | streamable-http | http | sse
|
|
606
|
+
(auto-detected from stdin TTY if not set)
|
|
607
|
+
--stdio Shortcut for --transport stdio
|
|
608
|
+
--http Shortcut for --transport streamable-http
|
|
609
|
+
--sse Shortcut for --transport sse
|
|
610
|
+
--http-port <port> HTTP transport port (default: 3001)
|
|
611
|
+
--http-host <host> HTTP transport host (default: 127.0.0.1)
|
|
612
|
+
--sse-port <port> SSE transport port (default: 3002)
|
|
613
|
+
--sse-host <host> SSE transport host (default: 127.0.0.1)
|
|
614
|
+
|
|
615
|
+
-h, --help Show this help and exit
|
|
616
|
+
|
|
617
|
+
ENVIRONMENT VARIABLES
|
|
618
|
+
MCP_TRANSPORT, MCP_HTTP_PORT, MCP_HTTP_HOST, MCP_SSE_PORT, MCP_SSE_HOST,
|
|
619
|
+
LOG_LEVEL, MCP_PROXY_UNSAFE, MCP_PROXY_MAX_RETRIES, MCP_PROXY_RETRY_DELAY,
|
|
620
|
+
MCP_PROXY_REQUEST_TIMEOUT, MCP_PROXY_CIRCUIT_BREAKER_THRESHOLD,
|
|
621
|
+
MCP_PROXY_CIRCUIT_BREAKER_TIMEOUT
|
|
622
|
+
|
|
623
|
+
See docs/CONFIGURATION.md for the full configuration reference.
|
|
624
|
+
`;
|
|
625
|
+
process.stdout.write(help);
|
|
626
|
+
}
|
|
570
627
|
// Auto-start server when run directly (unless MCP_SKIP_AUTO_START is set)
|
|
571
628
|
if (process.env.MCP_SKIP_AUTO_START !== 'true') {
|
|
629
|
+
if (process.argv.includes('--help') || process.argv.includes('-h')) {
|
|
630
|
+
printHelp();
|
|
631
|
+
process.exit(0);
|
|
632
|
+
}
|
|
572
633
|
const server = new McpAbapAdtProxyServer();
|
|
634
|
+
// Graceful shutdown: release the OAuth callback port, MCP server, and HTTP listener.
|
|
635
|
+
let shuttingDown = false;
|
|
636
|
+
const onSignal = (signal) => {
|
|
637
|
+
if (shuttingDown)
|
|
638
|
+
return;
|
|
639
|
+
shuttingDown = true;
|
|
640
|
+
logger_js_1.logger?.info('Received shutdown signal, releasing resources', { signal });
|
|
641
|
+
server
|
|
642
|
+
.shutdown()
|
|
643
|
+
.catch((error) => {
|
|
644
|
+
logger_js_1.logger?.error('Error during shutdown', {
|
|
645
|
+
error: error instanceof Error ? error.message : String(error),
|
|
646
|
+
});
|
|
647
|
+
})
|
|
648
|
+
.finally(() => process.exit(0));
|
|
649
|
+
};
|
|
650
|
+
process.on('SIGINT', onSignal);
|
|
651
|
+
process.on('SIGTERM', onSignal);
|
|
573
652
|
server.run().catch((error) => {
|
|
574
653
|
logger_js_1.logger?.error('Fatal error while running MCP proxy server', {
|
|
575
654
|
type: 'SERVER_FATAL_ERROR',
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGxC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IACzE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGxC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IACzE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,CAyB3D;AAwED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,mBAAmB,CAQrB;AAgBD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAYhC;AA4ID;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,CAElD;AAUD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG;IACnD,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAoDA"}
|
package/dist/lib/config.js
CHANGED
|
@@ -56,24 +56,17 @@ function loadConfig(configPath) {
|
|
|
56
56
|
// Get config path from parameter or command line (--config/-c)
|
|
57
57
|
// Do NOT use environment variable MCP_PROXY_CONFIG - only explicit --config parameter
|
|
58
58
|
const finalConfigPath = configPath || getConfigPath();
|
|
59
|
-
// If --config is provided
|
|
59
|
+
// If --config is provided: load from file, apply defaults, then overlay explicit CLI flags.
|
|
60
|
+
// CLI flags override YAML values (YAML is just the baseline).
|
|
60
61
|
if (finalConfigPath) {
|
|
61
|
-
// Warn if other CLI parameters are also provided (they will be ignored)
|
|
62
|
-
const conflictingParams = ['--btp', '--unsafe'].filter((param) => hasArg(param));
|
|
63
|
-
if (conflictingParams.length > 0) {
|
|
64
|
-
console.warn(`Warning: --config is specified, but the following CLI parameters will be ignored: ${conflictingParams.join(', ')}. ` +
|
|
65
|
-
`Configuration will be loaded ONLY from ${finalConfigPath}. ` +
|
|
66
|
-
`To use CLI parameters, do not specify --config.`);
|
|
67
|
-
}
|
|
68
62
|
try {
|
|
69
|
-
if (fs.existsSync(finalConfigPath)) {
|
|
70
|
-
const fileConfig = loadConfigFile(finalConfigPath);
|
|
71
|
-
// Apply defaults for missing values in file config
|
|
72
|
-
return applyDefaults(fileConfig);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
63
|
+
if (!fs.existsSync(finalConfigPath)) {
|
|
75
64
|
throw new Error(`Config file not found: ${finalConfigPath}`);
|
|
76
65
|
}
|
|
66
|
+
const fileConfig = loadConfigFile(finalConfigPath);
|
|
67
|
+
const base = applyDefaults(fileConfig);
|
|
68
|
+
const cli = readCliOverrides();
|
|
69
|
+
return mergeCliOverrides(base, cli, finalConfigPath);
|
|
77
70
|
}
|
|
78
71
|
catch (error) {
|
|
79
72
|
throw new Error(`Failed to load config from file ${finalConfigPath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
@@ -82,6 +75,61 @@ function loadConfig(configPath) {
|
|
|
82
75
|
// No --config provided: load ONLY from command line parameters and environment variables
|
|
83
76
|
return loadFromEnv();
|
|
84
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Read CLI flags that should override file/YAML configuration.
|
|
80
|
+
* Only includes keys that were explicitly provided on the command line.
|
|
81
|
+
*/
|
|
82
|
+
function readCliOverrides() {
|
|
83
|
+
const overrides = {};
|
|
84
|
+
const btp = getArgValue('--btp');
|
|
85
|
+
if (btp !== undefined)
|
|
86
|
+
overrides.btpDestination = btp;
|
|
87
|
+
const targetUrl = getArgValue('--target-url') ?? getArgValue('--url');
|
|
88
|
+
if (targetUrl !== undefined)
|
|
89
|
+
overrides.targetUrl = targetUrl;
|
|
90
|
+
if (hasArg('--unsafe'))
|
|
91
|
+
overrides.unsafe = true;
|
|
92
|
+
const browser = getArgValue('--browser');
|
|
93
|
+
if (browser !== undefined) {
|
|
94
|
+
overrides.browser = browser;
|
|
95
|
+
}
|
|
96
|
+
const browserAuthPortStr = getArgValue('--browser-auth-port');
|
|
97
|
+
if (browserAuthPortStr !== undefined) {
|
|
98
|
+
overrides.browserAuthPort = parseInt(browserAuthPortStr, 10);
|
|
99
|
+
}
|
|
100
|
+
const headerArgs = getAllArgValues('--header');
|
|
101
|
+
if (headerArgs.length > 0) {
|
|
102
|
+
const headers = {};
|
|
103
|
+
for (const arg of headerArgs) {
|
|
104
|
+
const eqIndex = arg.indexOf('=');
|
|
105
|
+
if (eqIndex > 0) {
|
|
106
|
+
const key = arg.substring(0, eqIndex).toLowerCase();
|
|
107
|
+
const value = arg.substring(eqIndex + 1);
|
|
108
|
+
headers[key] = value;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
overrides.defaultHeaders = headers;
|
|
112
|
+
}
|
|
113
|
+
return overrides;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Merge CLI overrides on top of file-based config. Logs which keys were overridden.
|
|
117
|
+
* `defaultHeaders` is merged per-key (CLI keys override YAML keys); other fields are replaced.
|
|
118
|
+
*/
|
|
119
|
+
function mergeCliOverrides(base, cli, configPath) {
|
|
120
|
+
const merged = { ...base, ...cli };
|
|
121
|
+
if (cli.defaultHeaders) {
|
|
122
|
+
merged.defaultHeaders = {
|
|
123
|
+
...(base.defaultHeaders || {}),
|
|
124
|
+
...cli.defaultHeaders,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
const overriddenKeys = Object.keys(cli);
|
|
128
|
+
if (overriddenKeys.length > 0) {
|
|
129
|
+
console.warn(`Note: CLI flags override values from ${configPath}: ${overriddenKeys.join(', ')}`);
|
|
130
|
+
}
|
|
131
|
+
return merged;
|
|
132
|
+
}
|
|
85
133
|
/**
|
|
86
134
|
* Extract transport-related fields from a raw config object
|
|
87
135
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"btpProxy.d.ts","sourceRoot":"","sources":["../../src/proxy/btpProxy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAgB,MAAM,2BAA2B,CAAC;AAYrE,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AA4CnE;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAU3C;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,MAAM,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,UAAU,CACN;IACZ,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAU;gBAEZ,oBAAoB,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAqF3E;;;OAGG;IACU,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB3D;;;;OAIG;YACW,wBAAwB;IAqFtC;;OAEG;YACW,uBAAuB;IAyFrC;;;;OAIG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC;IAiHlB;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;;OAGG;IACH,OAAO,CAAC,UAAU;IASlB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA6BhC;;OAEG;YACW,gBAAgB;IAU9B;;OAEG;IACI,OAAO,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"btpProxy.d.ts","sourceRoot":"","sources":["../../src/proxy/btpProxy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAgB,MAAM,2BAA2B,CAAC;AAYrE,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AA4CnE;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAU3C;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,MAAM,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,UAAU,CACN;IACZ,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAU;gBAEZ,oBAAoB,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAqF3E;;;OAGG;IACU,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB3D;;;;OAIG;YACW,wBAAwB;IAqFtC;;OAEG;YACW,uBAAuB;IAyFrC;;;;OAIG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC;IAiHlB;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;;OAGG;IACH,OAAO,CAAC,UAAU;IASlB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA6BhC;;OAEG;YACW,gBAAgB;IAU9B;;OAEG;IACI,OAAO,IAAI,IAAI;IAStB;;;OAGG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAexD;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;;;;;;;;;;;;;;;OAgBG;YACW,iBAAiB;IAmT/B;;OAEG;IACG,YAAY,CAChB,eAAe,EAAE,YAAY,EAC7B,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GAC7D,OAAO,CAAC,aAAa,CAAC;IAiLzB;;OAEG;WACiB,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;CAyB7E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC5B,OAAO,CAAC,QAAQ,CAAC,CAEnB"}
|
package/dist/proxy/btpProxy.js
CHANGED
package/package.json
CHANGED