@mcp-abap-adt/core 2.4.1 → 2.4.2
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 +14 -0
- package/dist/handlers/service_binding/high/handleCreateServiceBinding.d.ts +83 -0
- package/dist/handlers/service_binding/high/handleCreateServiceBinding.d.ts.map +1 -0
- package/dist/handlers/service_binding/high/handleCreateServiceBinding.js +147 -0
- package/dist/handlers/service_binding/high/handleCreateServiceBinding.js.map +1 -0
- package/dist/handlers/service_binding/high/handleDeleteServiceBinding.d.ts +39 -0
- package/dist/handlers/service_binding/high/handleDeleteServiceBinding.d.ts.map +1 -0
- package/dist/handlers/service_binding/high/handleDeleteServiceBinding.js +67 -0
- package/dist/handlers/service_binding/high/handleDeleteServiceBinding.js.map +1 -0
- package/dist/handlers/service_binding/high/handleGetServiceBinding.d.ts +35 -0
- package/dist/handlers/service_binding/high/handleGetServiceBinding.d.ts.map +1 -0
- package/dist/handlers/service_binding/high/handleGetServiceBinding.js +63 -0
- package/dist/handlers/service_binding/high/handleGetServiceBinding.js.map +1 -0
- package/dist/handlers/service_binding/high/handleListServiceBindingTypes.d.ts +28 -0
- package/dist/handlers/service_binding/high/handleListServiceBindingTypes.d.ts.map +1 -0
- package/dist/handlers/service_binding/high/handleListServiceBindingTypes.js +46 -0
- package/dist/handlers/service_binding/high/handleListServiceBindingTypes.js.map +1 -0
- package/dist/handlers/service_binding/high/handleListServiceBindings.d.ts +44 -0
- package/dist/handlers/service_binding/high/handleListServiceBindings.d.ts.map +1 -0
- package/dist/handlers/service_binding/high/handleListServiceBindings.js +211 -0
- package/dist/handlers/service_binding/high/handleListServiceBindings.js.map +1 -0
- package/dist/handlers/service_binding/high/handleUpdateServiceBinding.d.ts +59 -0
- package/dist/handlers/service_binding/high/handleUpdateServiceBinding.d.ts.map +1 -0
- package/dist/handlers/service_binding/high/handleUpdateServiceBinding.js +98 -0
- package/dist/handlers/service_binding/high/handleUpdateServiceBinding.js.map +1 -0
- package/dist/handlers/service_binding/high/handleValidateServiceBinding.d.ts +47 -0
- package/dist/handlers/service_binding/high/handleValidateServiceBinding.d.ts.map +1 -0
- package/dist/handlers/service_binding/high/handleValidateServiceBinding.js +74 -0
- package/dist/handlers/service_binding/high/handleValidateServiceBinding.js.map +1 -0
- package/dist/handlers/service_binding/high/serviceBindingPayloadUtils.d.ts +4 -0
- package/dist/handlers/service_binding/high/serviceBindingPayloadUtils.d.ts.map +1 -0
- package/dist/handlers/service_binding/high/serviceBindingPayloadUtils.js +48 -0
- package/dist/handlers/service_binding/high/serviceBindingPayloadUtils.js.map +1 -0
- package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.d.ts +11 -0
- package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.d.ts.map +1 -0
- package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.js +27 -0
- package/dist/handlers/service_binding/high/serviceBindingXmlBuilder.js.map +1 -0
- package/dist/handlers/system/readonly/handleGetAllTypes.d.ts +1 -5
- package/dist/handlers/system/readonly/handleGetAllTypes.d.ts.map +1 -1
- package/dist/handlers/system/readonly/handleGetAllTypes.js +6 -8
- package/dist/handlers/system/readonly/handleGetAllTypes.js.map +1 -1
- package/dist/handlers/system/readonly/handleGetObjectStructure.d.ts +7 -6
- package/dist/handlers/system/readonly/handleGetObjectStructure.d.ts.map +1 -1
- package/dist/handlers/system/readonly/handleGetObjectStructure.js +13 -11
- package/dist/handlers/system/readonly/handleGetObjectStructure.js.map +1 -1
- package/dist/handlers/system/readonly/handleGetSqlQuery.d.ts +0 -5
- package/dist/handlers/system/readonly/handleGetSqlQuery.d.ts.map +1 -1
- package/dist/handlers/system/readonly/handleGetSqlQuery.js +5 -10
- package/dist/handlers/system/readonly/handleGetSqlQuery.js.map +1 -1
- package/dist/handlers/system/readonly/handleRuntimeAnalyzeDump.d.ts +40 -0
- package/dist/handlers/system/readonly/handleRuntimeAnalyzeDump.d.ts.map +1 -0
- package/dist/handlers/system/readonly/handleRuntimeAnalyzeDump.js +111 -0
- package/dist/handlers/system/readonly/handleRuntimeAnalyzeDump.js.map +1 -0
- package/dist/handlers/system/readonly/handleRuntimeAnalyzeProfilerTrace.d.ts +43 -0
- package/dist/handlers/system/readonly/handleRuntimeAnalyzeProfilerTrace.d.ts.map +1 -0
- package/dist/handlers/system/readonly/handleRuntimeAnalyzeProfilerTrace.js +137 -0
- package/dist/handlers/system/readonly/handleRuntimeAnalyzeProfilerTrace.js.map +1 -0
- package/dist/handlers/system/readonly/handleRuntimeGetDumpById.d.ts +7 -0
- package/dist/handlers/system/readonly/handleRuntimeGetDumpById.d.ts.map +1 -1
- package/dist/handlers/system/readonly/handleRuntimeGetDumpById.js +11 -1
- package/dist/handlers/system/readonly/handleRuntimeGetDumpById.js.map +1 -1
- package/dist/handlers/system/readonly/handleRuntimeRunClassWithProfiling.d.ts +84 -0
- package/dist/handlers/system/readonly/handleRuntimeRunClassWithProfiling.d.ts.map +1 -0
- package/dist/handlers/system/readonly/handleRuntimeRunClassWithProfiling.js +85 -0
- package/dist/handlers/system/readonly/handleRuntimeRunClassWithProfiling.js.map +1 -0
- package/dist/handlers/system/readonly/handleRuntimeRunProgramWithProfiling.d.ts +84 -0
- package/dist/handlers/system/readonly/handleRuntimeRunProgramWithProfiling.d.ts.map +1 -0
- package/dist/handlers/system/readonly/handleRuntimeRunProgramWithProfiling.js +85 -0
- package/dist/handlers/system/readonly/handleRuntimeRunProgramWithProfiling.js.map +1 -0
- package/dist/handlers/system/readonly/runtimeDumpReadCompat.d.ts +8 -0
- package/dist/handlers/system/readonly/runtimeDumpReadCompat.d.ts.map +1 -0
- package/dist/handlers/system/readonly/runtimeDumpReadCompat.js +55 -0
- package/dist/handlers/system/readonly/runtimeDumpReadCompat.js.map +1 -0
- package/dist/lib/handlers/groups/HighLevelHandlersGroup.d.ts.map +1 -1
- package/dist/lib/handlers/groups/HighLevelHandlersGroup.js +145 -88
- package/dist/lib/handlers/groups/HighLevelHandlersGroup.js.map +1 -1
- package/dist/lib/handlers/groups/SystemHandlersGroup.d.ts.map +1 -1
- package/dist/lib/handlers/groups/SystemHandlersGroup.js +36 -0
- package/dist/lib/handlers/groups/SystemHandlersGroup.js.map +1 -1
- package/docs/development/tests/test-config.yaml.template +36 -0
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [2.4.2] - 2026-02-20
|
|
6
|
+
### Added
|
|
7
|
+
- **Service Binding high-level tools**:
|
|
8
|
+
- Added `CreateServiceBinding`, `GetServiceBinding`, `UpdateServiceBinding`, `DeleteServiceBinding`, `ListServiceBindingTypes`, `ValidateServiceBinding`.
|
|
9
|
+
- Added `serviceBindingPayloadUtils` for response parsing/format normalization.
|
|
10
|
+
- **Runtime profiling tools**:
|
|
11
|
+
- Added `RuntimeAnalyzeProfilerTrace`, `RuntimeRunClassWithProfiling`, `RuntimeRunProgramWithProfiling`.
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- **System read-only handlers**:
|
|
15
|
+
- Migrated `GetAllTypes`, `GetObjectStructure`, and `GetSqlQuery` to `AdtClient` flow.
|
|
16
|
+
- **Lint/type hygiene**:
|
|
17
|
+
- Removed explicit `any` usage in new service binding/runtime handlers and high-level handler registrations.
|
|
18
|
+
|
|
5
19
|
## [2.4.1] - 2026-02-17
|
|
6
20
|
### Fixed
|
|
7
21
|
- **Dev HTTP/SSE launch scripts**:
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { HandlerContext } from '../../../lib/handlers/interfaces';
|
|
2
|
+
import { type ServiceBindingResponseFormat } from './serviceBindingPayloadUtils';
|
|
3
|
+
type ServiceBindingTypeInput = 'ODataV2' | 'ODataV4';
|
|
4
|
+
export declare const TOOL_DEFINITION: {
|
|
5
|
+
readonly name: "CreateServiceBinding";
|
|
6
|
+
readonly description: "Create ABAP service binding via ADT Business Services endpoint. XML is generated from high-level parameters.";
|
|
7
|
+
readonly inputSchema: {
|
|
8
|
+
readonly type: "object";
|
|
9
|
+
readonly properties: {
|
|
10
|
+
readonly service_binding_name: {
|
|
11
|
+
readonly type: "string";
|
|
12
|
+
readonly description: "Service binding name.";
|
|
13
|
+
};
|
|
14
|
+
readonly service_definition_name: {
|
|
15
|
+
readonly type: "string";
|
|
16
|
+
readonly description: "Referenced service definition name.";
|
|
17
|
+
};
|
|
18
|
+
readonly package_name: {
|
|
19
|
+
readonly type: "string";
|
|
20
|
+
readonly description: "ABAP package name.";
|
|
21
|
+
};
|
|
22
|
+
readonly description: {
|
|
23
|
+
readonly type: "string";
|
|
24
|
+
readonly description: "Optional description. Defaults to service_binding_name when omitted.";
|
|
25
|
+
};
|
|
26
|
+
readonly binding_type: {
|
|
27
|
+
readonly type: "string";
|
|
28
|
+
readonly enum: readonly ["ODataV2", "ODataV4"];
|
|
29
|
+
readonly description: "OData binding type.";
|
|
30
|
+
readonly default: "ODataV4";
|
|
31
|
+
};
|
|
32
|
+
readonly service_binding_version: {
|
|
33
|
+
readonly type: "string";
|
|
34
|
+
readonly description: "Service binding ADT version. Default inferred from type.";
|
|
35
|
+
};
|
|
36
|
+
readonly service_name: {
|
|
37
|
+
readonly type: "string";
|
|
38
|
+
readonly description: "Published service name. Default: service_binding_name if omitted.";
|
|
39
|
+
};
|
|
40
|
+
readonly service_version: {
|
|
41
|
+
readonly type: "string";
|
|
42
|
+
readonly description: "Published service version. Default: 0001.";
|
|
43
|
+
};
|
|
44
|
+
readonly transport_request: {
|
|
45
|
+
readonly type: "string";
|
|
46
|
+
readonly description: "Optional transport request for transport checks.";
|
|
47
|
+
};
|
|
48
|
+
readonly activate: {
|
|
49
|
+
readonly type: "boolean";
|
|
50
|
+
readonly description: "Activate service binding after create. Default: true.";
|
|
51
|
+
readonly default: true;
|
|
52
|
+
};
|
|
53
|
+
readonly response_format: {
|
|
54
|
+
readonly type: "string";
|
|
55
|
+
readonly enum: readonly ["xml", "json", "plain"];
|
|
56
|
+
readonly default: "xml";
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
readonly required: readonly ["service_binding_name", "service_definition_name", "package_name"];
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
interface CreateServiceBindingArgs {
|
|
63
|
+
service_binding_name: string;
|
|
64
|
+
service_definition_name: string;
|
|
65
|
+
package_name: string;
|
|
66
|
+
description?: string;
|
|
67
|
+
binding_type?: ServiceBindingTypeInput;
|
|
68
|
+
service_binding_version?: string;
|
|
69
|
+
service_name?: string;
|
|
70
|
+
service_version?: string;
|
|
71
|
+
transport_request?: string;
|
|
72
|
+
activate?: boolean;
|
|
73
|
+
response_format?: ServiceBindingResponseFormat;
|
|
74
|
+
}
|
|
75
|
+
export declare function handleCreateServiceBinding(context: HandlerContext, args: CreateServiceBindingArgs): Promise<{
|
|
76
|
+
isError: boolean;
|
|
77
|
+
content: {
|
|
78
|
+
type: string;
|
|
79
|
+
text: any;
|
|
80
|
+
}[];
|
|
81
|
+
}>;
|
|
82
|
+
export {};
|
|
83
|
+
//# sourceMappingURL=handleCreateServiceBinding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleCreateServiceBinding.d.ts","sourceRoot":"","sources":["../../../../src/handlers/service_binding/high/handleCreateServiceBinding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,8BAA8B,CAAC;AAEtC,KAAK,uBAAuB,GAAG,SAAS,GAAG,SAAS,CAAC;AAErD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgElB,CAAC;AAEX,UAAU,wBAAwB;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,4BAA4B,CAAC;CAChD;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,wBAAwB;;;;;;GA6F/B"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TOOL_DEFINITION = void 0;
|
|
4
|
+
exports.handleCreateServiceBinding = handleCreateServiceBinding;
|
|
5
|
+
const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
|
|
6
|
+
const utils_1 = require("../../../lib/utils");
|
|
7
|
+
const serviceBindingPayloadUtils_1 = require("./serviceBindingPayloadUtils");
|
|
8
|
+
exports.TOOL_DEFINITION = {
|
|
9
|
+
name: 'CreateServiceBinding',
|
|
10
|
+
description: 'Create ABAP service binding via ADT Business Services endpoint. XML is generated from high-level parameters.',
|
|
11
|
+
inputSchema: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {
|
|
14
|
+
service_binding_name: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
description: 'Service binding name.',
|
|
17
|
+
},
|
|
18
|
+
service_definition_name: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
description: 'Referenced service definition name.',
|
|
21
|
+
},
|
|
22
|
+
package_name: {
|
|
23
|
+
type: 'string',
|
|
24
|
+
description: 'ABAP package name.',
|
|
25
|
+
},
|
|
26
|
+
description: {
|
|
27
|
+
type: 'string',
|
|
28
|
+
description: 'Optional description. Defaults to service_binding_name when omitted.',
|
|
29
|
+
},
|
|
30
|
+
binding_type: {
|
|
31
|
+
type: 'string',
|
|
32
|
+
enum: ['ODataV2', 'ODataV4'],
|
|
33
|
+
description: 'OData binding type.',
|
|
34
|
+
default: 'ODataV4',
|
|
35
|
+
},
|
|
36
|
+
service_binding_version: {
|
|
37
|
+
type: 'string',
|
|
38
|
+
description: 'Service binding ADT version. Default inferred from type.',
|
|
39
|
+
},
|
|
40
|
+
service_name: {
|
|
41
|
+
type: 'string',
|
|
42
|
+
description: 'Published service name. Default: service_binding_name if omitted.',
|
|
43
|
+
},
|
|
44
|
+
service_version: {
|
|
45
|
+
type: 'string',
|
|
46
|
+
description: 'Published service version. Default: 0001.',
|
|
47
|
+
},
|
|
48
|
+
transport_request: {
|
|
49
|
+
type: 'string',
|
|
50
|
+
description: 'Optional transport request for transport checks.',
|
|
51
|
+
},
|
|
52
|
+
activate: {
|
|
53
|
+
type: 'boolean',
|
|
54
|
+
description: 'Activate service binding after create. Default: true.',
|
|
55
|
+
default: true,
|
|
56
|
+
},
|
|
57
|
+
response_format: {
|
|
58
|
+
type: 'string',
|
|
59
|
+
enum: ['xml', 'json', 'plain'],
|
|
60
|
+
default: 'xml',
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
required: [
|
|
64
|
+
'service_binding_name',
|
|
65
|
+
'service_definition_name',
|
|
66
|
+
'package_name',
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
async function handleCreateServiceBinding(context, args) {
|
|
71
|
+
const { connection, logger } = context;
|
|
72
|
+
try {
|
|
73
|
+
if (!args?.service_binding_name) {
|
|
74
|
+
throw new Error('service_binding_name is required');
|
|
75
|
+
}
|
|
76
|
+
if (!args?.service_definition_name) {
|
|
77
|
+
throw new Error('service_definition_name is required');
|
|
78
|
+
}
|
|
79
|
+
if (!args?.package_name) {
|
|
80
|
+
throw new Error('package_name is required');
|
|
81
|
+
}
|
|
82
|
+
const serviceBindingName = args.service_binding_name.trim().toUpperCase();
|
|
83
|
+
const serviceDefinitionName = args.service_definition_name
|
|
84
|
+
.trim()
|
|
85
|
+
.toUpperCase();
|
|
86
|
+
const packageName = args.package_name.trim().toUpperCase();
|
|
87
|
+
const responseFormat = args.response_format ?? 'xml';
|
|
88
|
+
const bindingType = args.binding_type === 'ODataV2' ? 'ODATA' : 'ODATA';
|
|
89
|
+
const bindingVersion = args.service_binding_version ??
|
|
90
|
+
(args.binding_type === 'ODataV2' ? 'V2' : 'V4');
|
|
91
|
+
const serviceType = args.binding_type === 'ODataV2' ? 'odatav2' : 'odatav4';
|
|
92
|
+
const serviceName = (args.service_name || serviceBindingName)
|
|
93
|
+
.trim()
|
|
94
|
+
.toUpperCase();
|
|
95
|
+
const serviceVersion = (args.service_version || '0001').trim();
|
|
96
|
+
const client = new adt_clients_1.AdtClient(connection, logger);
|
|
97
|
+
const state = await client.getServiceBinding().create({
|
|
98
|
+
bindingName: serviceBindingName,
|
|
99
|
+
packageName: packageName,
|
|
100
|
+
description: (args.description || serviceBindingName).trim(),
|
|
101
|
+
serviceDefinitionName,
|
|
102
|
+
serviceName,
|
|
103
|
+
serviceVersion,
|
|
104
|
+
bindingType,
|
|
105
|
+
bindingVersion,
|
|
106
|
+
transportRequest: args.transport_request,
|
|
107
|
+
serviceType,
|
|
108
|
+
}, { activateOnCreate: args.activate !== false });
|
|
109
|
+
const response = state.createResult;
|
|
110
|
+
if (!response) {
|
|
111
|
+
throw new Error(`Create did not return a response for service binding ${serviceBindingName}`);
|
|
112
|
+
}
|
|
113
|
+
const readPayload = state.readResult
|
|
114
|
+
? (0, serviceBindingPayloadUtils_1.parseServiceBindingPayload)(state.readResult.data, responseFormat)
|
|
115
|
+
: undefined;
|
|
116
|
+
const generatedPayload = state.generatedInfoResult
|
|
117
|
+
? (0, serviceBindingPayloadUtils_1.parseServiceBindingPayload)(state.generatedInfoResult.data, responseFormat)
|
|
118
|
+
: undefined;
|
|
119
|
+
return (0, utils_1.return_response)({
|
|
120
|
+
data: JSON.stringify({
|
|
121
|
+
success: true,
|
|
122
|
+
service_binding_name: serviceBindingName,
|
|
123
|
+
service_definition_name: serviceDefinitionName,
|
|
124
|
+
package_name: packageName,
|
|
125
|
+
binding_type: args.binding_type ?? 'ODataV4',
|
|
126
|
+
service_binding_version: bindingVersion,
|
|
127
|
+
service_name: serviceName,
|
|
128
|
+
service_version: serviceVersion,
|
|
129
|
+
activated: args.activate !== false,
|
|
130
|
+
response_format: responseFormat,
|
|
131
|
+
status: response.status,
|
|
132
|
+
payload: (0, serviceBindingPayloadUtils_1.parseServiceBindingPayload)(response.data, responseFormat),
|
|
133
|
+
read_payload: readPayload,
|
|
134
|
+
generated_info: generatedPayload,
|
|
135
|
+
}, null, 2),
|
|
136
|
+
status: response.status,
|
|
137
|
+
statusText: response.statusText,
|
|
138
|
+
headers: response.headers,
|
|
139
|
+
config: response.config,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
logger?.error('Error creating service binding:', error);
|
|
144
|
+
return (0, utils_1.return_error)(error);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=handleCreateServiceBinding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleCreateServiceBinding.js","sourceRoot":"","sources":["../../../../src/handlers/service_binding/high/handleCreateServiceBinding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { HandlerContext } from '../../../lib/handlers/interfaces';
|
|
2
|
+
import { type ServiceBindingResponseFormat } from './serviceBindingPayloadUtils';
|
|
3
|
+
export declare const TOOL_DEFINITION: {
|
|
4
|
+
readonly name: "DeleteServiceBinding";
|
|
5
|
+
readonly description: "Delete ABAP service binding via ADT Business Services endpoint.";
|
|
6
|
+
readonly inputSchema: {
|
|
7
|
+
readonly type: "object";
|
|
8
|
+
readonly properties: {
|
|
9
|
+
readonly service_binding_name: {
|
|
10
|
+
readonly type: "string";
|
|
11
|
+
readonly description: "Service binding name to delete.";
|
|
12
|
+
};
|
|
13
|
+
readonly transport_request: {
|
|
14
|
+
readonly type: "string";
|
|
15
|
+
readonly description: "Optional transport request for deletion transport flow.";
|
|
16
|
+
};
|
|
17
|
+
readonly response_format: {
|
|
18
|
+
readonly type: "string";
|
|
19
|
+
readonly enum: readonly ["xml", "json", "plain"];
|
|
20
|
+
readonly default: "xml";
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
readonly required: readonly ["service_binding_name"];
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
interface DeleteServiceBindingArgs {
|
|
27
|
+
service_binding_name: string;
|
|
28
|
+
transport_request?: string;
|
|
29
|
+
response_format?: ServiceBindingResponseFormat;
|
|
30
|
+
}
|
|
31
|
+
export declare function handleDeleteServiceBinding(context: HandlerContext, args: DeleteServiceBindingArgs): Promise<{
|
|
32
|
+
isError: boolean;
|
|
33
|
+
content: {
|
|
34
|
+
type: string;
|
|
35
|
+
text: any;
|
|
36
|
+
}[];
|
|
37
|
+
}>;
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=handleDeleteServiceBinding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleDeleteServiceBinding.d.ts","sourceRoot":"","sources":["../../../../src/handlers/service_binding/high/handleDeleteServiceBinding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,8BAA8B,CAAC;AAEtC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;CAuBlB,CAAC;AAEX,UAAU,wBAAwB;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,4BAA4B,CAAC;CAChD;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,wBAAwB;;;;;;GA4C/B"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TOOL_DEFINITION = void 0;
|
|
4
|
+
exports.handleDeleteServiceBinding = handleDeleteServiceBinding;
|
|
5
|
+
const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
|
|
6
|
+
const utils_1 = require("../../../lib/utils");
|
|
7
|
+
const serviceBindingPayloadUtils_1 = require("./serviceBindingPayloadUtils");
|
|
8
|
+
exports.TOOL_DEFINITION = {
|
|
9
|
+
name: 'DeleteServiceBinding',
|
|
10
|
+
description: 'Delete ABAP service binding via ADT Business Services endpoint.',
|
|
11
|
+
inputSchema: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {
|
|
14
|
+
service_binding_name: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
description: 'Service binding name to delete.',
|
|
17
|
+
},
|
|
18
|
+
transport_request: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
description: 'Optional transport request for deletion transport flow.',
|
|
21
|
+
},
|
|
22
|
+
response_format: {
|
|
23
|
+
type: 'string',
|
|
24
|
+
enum: ['xml', 'json', 'plain'],
|
|
25
|
+
default: 'xml',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
required: ['service_binding_name'],
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
async function handleDeleteServiceBinding(context, args) {
|
|
32
|
+
const { connection, logger } = context;
|
|
33
|
+
try {
|
|
34
|
+
if (!args?.service_binding_name) {
|
|
35
|
+
throw new Error('service_binding_name is required');
|
|
36
|
+
}
|
|
37
|
+
const serviceBindingName = args.service_binding_name.trim().toUpperCase();
|
|
38
|
+
const responseFormat = args.response_format ?? 'xml';
|
|
39
|
+
const client = new adt_clients_1.AdtClient(connection, logger);
|
|
40
|
+
const state = await client.getServiceBinding().delete({
|
|
41
|
+
bindingName: serviceBindingName,
|
|
42
|
+
transportRequest: args.transport_request,
|
|
43
|
+
});
|
|
44
|
+
const response = state?.deleteResult;
|
|
45
|
+
if (!response) {
|
|
46
|
+
throw new Error(`Delete did not return a response for service binding ${serviceBindingName}`);
|
|
47
|
+
}
|
|
48
|
+
return (0, utils_1.return_response)({
|
|
49
|
+
data: JSON.stringify({
|
|
50
|
+
success: true,
|
|
51
|
+
service_binding_name: serviceBindingName,
|
|
52
|
+
response_format: responseFormat,
|
|
53
|
+
status: response.status,
|
|
54
|
+
payload: (0, serviceBindingPayloadUtils_1.parseServiceBindingPayload)(response.data, responseFormat),
|
|
55
|
+
}, null, 2),
|
|
56
|
+
status: response.status,
|
|
57
|
+
statusText: response.statusText,
|
|
58
|
+
headers: response.headers,
|
|
59
|
+
config: response.config,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
logger?.error('Error deleting service binding:', error);
|
|
64
|
+
return (0, utils_1.return_error)(error);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=handleDeleteServiceBinding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleDeleteServiceBinding.js","sourceRoot":"","sources":["../../../../src/handlers/service_binding/high/handleDeleteServiceBinding.ts"],"names":[],"mappings":";;;AAuCA,gEA8CC;AArFD,2DAAsD;AAEtD,8CAAmE;AACnE,6EAGsC;AAEzB,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,iEAAiE;IACnE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,oBAAoB,EAAE;gBACpB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iCAAiC;aAC/C;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yDAAyD;aACvE;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;gBAC9B,OAAO,EAAE,KAAK;aACf;SACF;QACD,QAAQ,EAAE,CAAC,sBAAsB,CAAC;KACnC;CACO,CAAC;AAQJ,KAAK,UAAU,0BAA0B,CAC9C,OAAuB,EACvB,IAA8B;IAE9B,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,oBAAoB,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1E,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,uBAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC;YACpD,WAAW,EAAE,kBAAkB;YAC/B,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;SACzC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,EAAE,YAAY,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,wDAAwD,kBAAkB,EAAE,CAC7E,CAAC;QACJ,CAAC;QAED,OAAO,IAAA,uBAAe,EAAC;YACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;gBACE,OAAO,EAAE,IAAI;gBACb,oBAAoB,EAAE,kBAAkB;gBACxC,eAAe,EAAE,cAAc;gBAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,IAAA,uDAA0B,EAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;aACnE,EACD,IAAI,EACJ,CAAC,CACF;YACD,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,EAAE,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { HandlerContext } from '../../../lib/handlers/interfaces';
|
|
2
|
+
import { type ServiceBindingResponseFormat } from './serviceBindingPayloadUtils';
|
|
3
|
+
export declare const TOOL_DEFINITION: {
|
|
4
|
+
readonly name: "GetServiceBinding";
|
|
5
|
+
readonly description: "Retrieve ABAP service binding source/metadata by name via ADT Business Services endpoint.";
|
|
6
|
+
readonly inputSchema: {
|
|
7
|
+
readonly type: "object";
|
|
8
|
+
readonly properties: {
|
|
9
|
+
readonly service_binding_name: {
|
|
10
|
+
readonly type: "string";
|
|
11
|
+
readonly description: "Service binding name (for example: ZUI_MY_BINDING). Case-insensitive.";
|
|
12
|
+
};
|
|
13
|
+
readonly response_format: {
|
|
14
|
+
readonly type: "string";
|
|
15
|
+
readonly enum: readonly ["xml", "json", "plain"];
|
|
16
|
+
readonly description: "Preferred response format. \"json\" requests JSON from endpoint, \"xml\" parses XML payload, \"plain\" returns raw text.";
|
|
17
|
+
readonly default: "xml";
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
readonly required: readonly ["service_binding_name"];
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
interface GetServiceBindingArgs {
|
|
24
|
+
service_binding_name: string;
|
|
25
|
+
response_format?: ServiceBindingResponseFormat;
|
|
26
|
+
}
|
|
27
|
+
export declare function handleGetServiceBinding(context: HandlerContext, args: GetServiceBindingArgs): Promise<{
|
|
28
|
+
isError: boolean;
|
|
29
|
+
content: {
|
|
30
|
+
type: string;
|
|
31
|
+
text: any;
|
|
32
|
+
}[];
|
|
33
|
+
}>;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=handleGetServiceBinding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGetServiceBinding.d.ts","sourceRoot":"","sources":["../../../../src/handlers/service_binding/high/handleGetServiceBinding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,8BAA8B,CAAC;AAEtC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;CAsBlB,CAAC;AAEX,UAAU,qBAAqB;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,4BAA4B,CAAC;CAChD;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,qBAAqB;;;;;;GA2C5B"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TOOL_DEFINITION = void 0;
|
|
4
|
+
exports.handleGetServiceBinding = handleGetServiceBinding;
|
|
5
|
+
const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
|
|
6
|
+
const utils_1 = require("../../../lib/utils");
|
|
7
|
+
const serviceBindingPayloadUtils_1 = require("./serviceBindingPayloadUtils");
|
|
8
|
+
exports.TOOL_DEFINITION = {
|
|
9
|
+
name: 'GetServiceBinding',
|
|
10
|
+
description: 'Retrieve ABAP service binding source/metadata by name via ADT Business Services endpoint.',
|
|
11
|
+
inputSchema: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {
|
|
14
|
+
service_binding_name: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
description: 'Service binding name (for example: ZUI_MY_BINDING). Case-insensitive.',
|
|
17
|
+
},
|
|
18
|
+
response_format: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
enum: ['xml', 'json', 'plain'],
|
|
21
|
+
description: 'Preferred response format. "json" requests JSON from endpoint, "xml" parses XML payload, "plain" returns raw text.',
|
|
22
|
+
default: 'xml',
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
required: ['service_binding_name'],
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
async function handleGetServiceBinding(context, args) {
|
|
29
|
+
const { connection, logger } = context;
|
|
30
|
+
try {
|
|
31
|
+
if (!args?.service_binding_name) {
|
|
32
|
+
throw new Error('service_binding_name is required');
|
|
33
|
+
}
|
|
34
|
+
const serviceBindingName = args.service_binding_name.trim().toUpperCase();
|
|
35
|
+
const responseFormat = args.response_format ?? 'xml';
|
|
36
|
+
const client = new adt_clients_1.AdtClient(connection, logger);
|
|
37
|
+
const state = await client.getServiceBinding().read({
|
|
38
|
+
bindingName: serviceBindingName,
|
|
39
|
+
});
|
|
40
|
+
const response = state?.readResult;
|
|
41
|
+
if (!response) {
|
|
42
|
+
throw new Error(`Read did not return a response for service binding ${serviceBindingName}`);
|
|
43
|
+
}
|
|
44
|
+
return (0, utils_1.return_response)({
|
|
45
|
+
data: JSON.stringify({
|
|
46
|
+
success: true,
|
|
47
|
+
service_binding_name: serviceBindingName,
|
|
48
|
+
response_format: responseFormat,
|
|
49
|
+
status: response.status,
|
|
50
|
+
payload: (0, serviceBindingPayloadUtils_1.parseServiceBindingPayload)(response.data, responseFormat),
|
|
51
|
+
}, null, 2),
|
|
52
|
+
status: response.status,
|
|
53
|
+
statusText: response.statusText,
|
|
54
|
+
headers: response.headers,
|
|
55
|
+
config: response.config,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
logger?.error('Error reading service binding:', error);
|
|
60
|
+
return (0, utils_1.return_error)(error);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=handleGetServiceBinding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGetServiceBinding.js","sourceRoot":"","sources":["../../../../src/handlers/service_binding/high/handleGetServiceBinding.ts"],"names":[],"mappings":";;;AAqCA,0DA6CC;AAlFD,2DAAsD;AAEtD,8CAAmE;AACnE,6EAGsC;AAEzB,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,2FAA2F;IAC7F,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,oBAAoB,EAAE;gBACpB,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,uEAAuE;aAC1E;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;gBAC9B,WAAW,EACT,oHAAoH;gBACtH,OAAO,EAAE,KAAK;aACf;SACF;QACD,QAAQ,EAAE,CAAC,sBAAsB,CAAC;KACnC;CACO,CAAC;AAOJ,KAAK,UAAU,uBAAuB,CAC3C,OAAuB,EACvB,IAA2B;IAE3B,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,oBAAoB,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1E,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,uBAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC;YAClD,WAAW,EAAE,kBAAkB;SAChC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,EAAE,UAAU,CAAC;QACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,sDAAsD,kBAAkB,EAAE,CAC3E,CAAC;QACJ,CAAC;QAED,OAAO,IAAA,uBAAe,EAAC;YACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;gBACE,OAAO,EAAE,IAAI;gBACb,oBAAoB,EAAE,kBAAkB;gBACxC,eAAe,EAAE,cAAc;gBAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,IAAA,uDAA0B,EAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;aACnE,EACD,IAAI,EACJ,CAAC,CACF;YACD,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,EAAE,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { HandlerContext } from '../../../lib/handlers/interfaces';
|
|
2
|
+
import { type ServiceBindingResponseFormat } from './serviceBindingPayloadUtils';
|
|
3
|
+
export declare const TOOL_DEFINITION: {
|
|
4
|
+
readonly name: "ListServiceBindingTypes";
|
|
5
|
+
readonly description: "List available service binding types (for example ODataV2/ODataV4) from ADT Business Services endpoint.";
|
|
6
|
+
readonly inputSchema: {
|
|
7
|
+
readonly type: "object";
|
|
8
|
+
readonly properties: {
|
|
9
|
+
readonly response_format: {
|
|
10
|
+
readonly type: "string";
|
|
11
|
+
readonly enum: readonly ["xml", "json", "plain"];
|
|
12
|
+
readonly default: "xml";
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
interface ListServiceBindingTypesArgs {
|
|
18
|
+
response_format?: ServiceBindingResponseFormat;
|
|
19
|
+
}
|
|
20
|
+
export declare function handleListServiceBindingTypes(context: HandlerContext, args?: ListServiceBindingTypesArgs): Promise<{
|
|
21
|
+
isError: boolean;
|
|
22
|
+
content: {
|
|
23
|
+
type: string;
|
|
24
|
+
text: any;
|
|
25
|
+
}[];
|
|
26
|
+
}>;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=handleListServiceBindingTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleListServiceBindingTypes.d.ts","sourceRoot":"","sources":["../../../../src/handlers/service_binding/high/handleListServiceBindingTypes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,8BAA8B,CAAC;AAEtC,eAAO,MAAM,eAAe;;;;;;;;;;;;;CAclB,CAAC;AAEX,UAAU,2BAA2B;IACnC,eAAe,CAAC,EAAE,4BAA4B,CAAC;CAChD;AAED,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,2BAAgC;;;;;;GA6BvC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TOOL_DEFINITION = void 0;
|
|
4
|
+
exports.handleListServiceBindingTypes = handleListServiceBindingTypes;
|
|
5
|
+
const adt_clients_1 = require("@mcp-abap-adt/adt-clients");
|
|
6
|
+
const utils_1 = require("../../../lib/utils");
|
|
7
|
+
const serviceBindingPayloadUtils_1 = require("./serviceBindingPayloadUtils");
|
|
8
|
+
exports.TOOL_DEFINITION = {
|
|
9
|
+
name: 'ListServiceBindingTypes',
|
|
10
|
+
description: 'List available service binding types (for example ODataV2/ODataV4) from ADT Business Services endpoint.',
|
|
11
|
+
inputSchema: {
|
|
12
|
+
type: 'object',
|
|
13
|
+
properties: {
|
|
14
|
+
response_format: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
enum: ['xml', 'json', 'plain'],
|
|
17
|
+
default: 'xml',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
async function handleListServiceBindingTypes(context, args = {}) {
|
|
23
|
+
const { connection, logger } = context;
|
|
24
|
+
try {
|
|
25
|
+
const responseFormat = args.response_format ?? 'xml';
|
|
26
|
+
const client = new adt_clients_1.AdtClient(connection, logger);
|
|
27
|
+
const response = await client.getServiceBinding().getServiceBindingTypes();
|
|
28
|
+
return (0, utils_1.return_response)({
|
|
29
|
+
data: JSON.stringify({
|
|
30
|
+
success: true,
|
|
31
|
+
response_format: responseFormat,
|
|
32
|
+
status: response.status,
|
|
33
|
+
payload: (0, serviceBindingPayloadUtils_1.parseServiceBindingPayload)(response.data, responseFormat),
|
|
34
|
+
}, null, 2),
|
|
35
|
+
status: response.status,
|
|
36
|
+
statusText: response.statusText,
|
|
37
|
+
headers: response.headers,
|
|
38
|
+
config: response.config,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
logger?.error('Error listing service binding types:', error);
|
|
43
|
+
return (0, utils_1.return_error)(error);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=handleListServiceBindingTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleListServiceBindingTypes.js","sourceRoot":"","sources":["../../../../src/handlers/service_binding/high/handleListServiceBindingTypes.ts"],"names":[],"mappings":";;;AA4BA,sEA+BC;AA3DD,2DAAsD;AAEtD,8CAAmE;AACnE,6EAGsC;AAEzB,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACT,yGAAyG;IAC3G,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;gBAC9B,OAAO,EAAE,KAAK;aACf;SACF;KACF;CACO,CAAC;AAMJ,KAAK,UAAU,6BAA6B,CACjD,OAAuB,EACvB,OAAoC,EAAE;IAEtC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,uBAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC,sBAAsB,EAAE,CAAC;QAE3E,OAAO,IAAA,uBAAe,EAAC;YACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;gBACE,OAAO,EAAE,IAAI;gBACb,eAAe,EAAE,cAAc;gBAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,IAAA,uDAA0B,EAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;aACnE,EACD,IAAI,EACJ,CAAC,CACF;YACD,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,EAAE,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;QAC7D,OAAO,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { HandlerContext } from '../../../lib/handlers/interfaces';
|
|
2
|
+
import { type ServiceBindingResponseFormat } from './serviceBindingPayloadUtils';
|
|
3
|
+
export declare const TOOL_DEFINITION: {
|
|
4
|
+
readonly name: "ListServiceBindings";
|
|
5
|
+
readonly description: "List ABAP service bindings feed from ADT Business Services endpoint with optional paging/filter query.";
|
|
6
|
+
readonly inputSchema: {
|
|
7
|
+
readonly type: "object";
|
|
8
|
+
readonly properties: {
|
|
9
|
+
readonly top: {
|
|
10
|
+
readonly type: "number";
|
|
11
|
+
readonly description: "Maximum number of entries to return.";
|
|
12
|
+
};
|
|
13
|
+
readonly skip: {
|
|
14
|
+
readonly type: "number";
|
|
15
|
+
readonly description: "Number of entries to skip.";
|
|
16
|
+
};
|
|
17
|
+
readonly query: {
|
|
18
|
+
readonly type: "string";
|
|
19
|
+
readonly description: "Optional ADT feed query expression (passed as \"query\" URL parameter).";
|
|
20
|
+
};
|
|
21
|
+
readonly response_format: {
|
|
22
|
+
readonly type: "string";
|
|
23
|
+
readonly enum: readonly ["xml", "json", "plain"];
|
|
24
|
+
readonly description: "Preferred response format. \"json\" requests JSON from endpoint, \"xml\" parses XML payload, \"plain\" returns raw text.";
|
|
25
|
+
readonly default: "xml";
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
interface ListServiceBindingsArgs {
|
|
31
|
+
top?: number;
|
|
32
|
+
skip?: number;
|
|
33
|
+
query?: string;
|
|
34
|
+
response_format?: ServiceBindingResponseFormat;
|
|
35
|
+
}
|
|
36
|
+
export declare function handleListServiceBindings(context: HandlerContext, args?: ListServiceBindingsArgs): Promise<{
|
|
37
|
+
isError: boolean;
|
|
38
|
+
content: {
|
|
39
|
+
type: string;
|
|
40
|
+
text: any;
|
|
41
|
+
}[];
|
|
42
|
+
}>;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=handleListServiceBindings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleListServiceBindings.d.ts","sourceRoot":"","sources":["../../../../src/handlers/service_binding/high/handleListServiceBindings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,8BAA8B,CAAC;AAEtC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BlB,CAAC;AAEX,UAAU,uBAAuB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,4BAA4B,CAAC;CAChD;AA4HD,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,uBAA4B;;;;;;GAgGnC"}
|