@mcp-abap-adt/adt-clients 3.3.0 → 3.3.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/dist/clients/AdtClient.d.ts.map +1 -1
- package/dist/clients/AdtClient.js +2 -2
- package/dist/clients/AdtClientLegacy.d.ts.map +1 -1
- package/dist/clients/AdtClientLegacy.js +2 -2
- package/dist/core/behaviorDefinition/update.js +1 -1
- package/dist/core/functionGroup/AdtFunctionGroup.d.ts +3 -1
- package/dist/core/functionGroup/AdtFunctionGroup.d.ts.map +1 -1
- package/dist/core/functionGroup/AdtFunctionGroup.js +34 -9
- package/dist/core/functionGroup/create.d.ts +2 -1
- package/dist/core/functionGroup/create.d.ts.map +1 -1
- package/dist/core/functionGroup/create.js +3 -3
- package/dist/core/functionGroup/update.d.ts +2 -1
- package/dist/core/functionGroup/update.d.ts.map +1 -1
- package/dist/core/functionGroup/update.js +7 -5
- package/dist/core/functionModule/AdtFunctionModule.d.ts +3 -1
- package/dist/core/functionModule/AdtFunctionModule.d.ts.map +1 -1
- package/dist/core/functionModule/AdtFunctionModule.js +8 -6
- package/dist/core/functionModule/check.d.ts +2 -1
- package/dist/core/functionModule/check.d.ts.map +1 -1
- package/dist/core/functionModule/check.js +4 -4
- package/dist/core/functionModule/update.d.ts +2 -1
- package/dist/core/functionModule/update.d.ts.map +1 -1
- package/dist/core/functionModule/update.js +4 -3
- package/dist/utils/timeouts.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtClient.d.ts","sourceRoot":"","sources":["../../src/clients/AdtClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AdtClient.d.ts","sourceRoot":"","sources":["../../src/clients/AdtClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -138,14 +138,14 @@ class AdtClient {
|
|
|
138
138
|
* @returns IAdtObject instance for FunctionGroup operations
|
|
139
139
|
*/
|
|
140
140
|
getFunctionGroup() {
|
|
141
|
-
return new functionGroup_1.AdtFunctionGroup(this.connection, this.logger, this.systemContext);
|
|
141
|
+
return new functionGroup_1.AdtFunctionGroup(this.connection, this.logger, this.systemContext, this.contentTypes);
|
|
142
142
|
}
|
|
143
143
|
/**
|
|
144
144
|
* Get high-level operations for FunctionModule objects
|
|
145
145
|
* @returns IAdtObject instance for FunctionModule operations
|
|
146
146
|
*/
|
|
147
147
|
getFunctionModule() {
|
|
148
|
-
return new functionModule_1.AdtFunctionModule(this.connection, this.logger, this.systemContext);
|
|
148
|
+
return new functionModule_1.AdtFunctionModule(this.connection, this.logger, this.systemContext, this.contentTypes);
|
|
149
149
|
}
|
|
150
150
|
/**
|
|
151
151
|
* Get high-level operations for Package objects
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtClientLegacy.d.ts","sourceRoot":"","sources":["../../src/clients/AdtClientLegacy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAehE,qBAAa,eAAgB,SAAQ,SAAS;gBAE1C,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,iBAAiB;IAUpB,UAAU,IAAI,UAAU,CAAC,cAAc,EAAE,aAAa,CAAC;IASvD,QAAQ,IAAI,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC;IASjD,YAAY,IAAI,UAAU,CAAC,gBAAgB,EAAE,eAAe,CAAC;IAQ7D,gBAAgB,IAAI,UAAU,CACrC,oBAAoB,EACpB,mBAAmB,CACpB;
|
|
1
|
+
{"version":3,"file":"AdtClientLegacy.d.ts","sourceRoot":"","sources":["../../src/clients/AdtClientLegacy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAehE,qBAAa,eAAgB,SAAQ,SAAS;gBAE1C,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,iBAAiB;IAUpB,UAAU,IAAI,UAAU,CAAC,cAAc,EAAE,aAAa,CAAC;IASvD,QAAQ,IAAI,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC;IASjD,YAAY,IAAI,UAAU,CAAC,gBAAgB,EAAE,eAAe,CAAC;IAQ7D,gBAAgB,IAAI,UAAU,CACrC,oBAAoB,EACpB,mBAAmB,CACpB;IASQ,iBAAiB,IAAI,UAAU,CACtC,qBAAqB,EACrB,oBAAoB,CACrB;IASQ,UAAU,IAAI,UAAU,CAAC,cAAc,EAAE,aAAa,CAAC;IAQvD,OAAO,IAAI,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC;IAM9C,QAAQ,IAAI,QAAQ;IAMpB,SAAS,IAAI,KAAK;IAIlB,cAAc,IAAI,KAAK;IAMvB,YAAY,IAAI,KAAK;IAMrB,QAAQ,IAAI,KAAK;IAIjB,YAAY,IAAI,KAAK;IAMrB,gBAAgB,IAAI,KAAK;IAMzB,oBAAoB,IAAI,KAAK;IAM7B,iBAAiB,IAAI,KAAK;IAS1B,UAAU,IAAI,KAAK;IASnB,qBAAqB,IAAI,KAAK;IAS9B,yBAAyB,IAAI,KAAK;IASlC,oBAAoB,IAAI,KAAK;IAM7B,cAAc,IAAI,KAAK;CAQjC"}
|
|
@@ -53,10 +53,10 @@ class AdtClientLegacy extends AdtClient_1.AdtClient {
|
|
|
53
53
|
return new AdtInterfaceLegacy_1.AdtInterfaceLegacy(this.connection, this.logger, this.systemContext);
|
|
54
54
|
}
|
|
55
55
|
getFunctionGroup() {
|
|
56
|
-
return new AdtFunctionGroupLegacy_1.AdtFunctionGroupLegacy(this.connection, this.logger, this.systemContext);
|
|
56
|
+
return new AdtFunctionGroupLegacy_1.AdtFunctionGroupLegacy(this.connection, this.logger, this.systemContext, this.contentTypes);
|
|
57
57
|
}
|
|
58
58
|
getFunctionModule() {
|
|
59
|
-
return new AdtFunctionModuleLegacy_1.AdtFunctionModuleLegacy(this.connection, this.logger, this.systemContext);
|
|
59
|
+
return new AdtFunctionModuleLegacy_1.AdtFunctionModuleLegacy(this.connection, this.logger, this.systemContext, this.contentTypes);
|
|
60
60
|
}
|
|
61
61
|
getPackage() {
|
|
62
62
|
return new AdtPackageLegacy_1.AdtPackageLegacy(this.connection, this.logger, this.systemContext);
|
|
@@ -49,7 +49,7 @@ async function update(connection, params) {
|
|
|
49
49
|
if (!params.lockHandle) {
|
|
50
50
|
throw new Error('lockHandle is required');
|
|
51
51
|
}
|
|
52
|
-
let url = `/sap/bc/adt/bo/behaviordefinitions/${params.name.toLowerCase()}/source/main?lockHandle=${params.lockHandle}`;
|
|
52
|
+
let url = `/sap/bc/adt/bo/behaviordefinitions/${params.name.toLowerCase()}/source/main?lockHandle=${encodeURIComponent(params.lockHandle)}`;
|
|
53
53
|
if (params.transportRequest) {
|
|
54
54
|
url += `&corrNr=${params.transportRequest}`;
|
|
55
55
|
}
|
|
@@ -22,14 +22,16 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import type { IAbapConnection, IAdtObject, IAdtOperationOptions, ILogger } from '@mcp-abap-adt/interfaces';
|
|
24
24
|
import type { IAdtSystemContext } from '../../clients/AdtClient';
|
|
25
|
+
import type { IAdtContentTypes } from '../shared/contentTypes';
|
|
25
26
|
import type { IReadOptions } from '../shared/types';
|
|
26
27
|
import type { IFunctionGroupConfig, IFunctionGroupState } from './types';
|
|
27
28
|
export declare class AdtFunctionGroup implements IAdtObject<IFunctionGroupConfig, IFunctionGroupState> {
|
|
28
29
|
protected readonly connection: IAbapConnection;
|
|
29
30
|
protected readonly logger?: ILogger;
|
|
30
31
|
protected readonly systemContext: IAdtSystemContext;
|
|
32
|
+
protected readonly contentTypes?: IAdtContentTypes;
|
|
31
33
|
readonly objectType: string;
|
|
32
|
-
constructor(connection: IAbapConnection, logger?: ILogger, systemContext?: IAdtSystemContext);
|
|
34
|
+
constructor(connection: IAbapConnection, logger?: ILogger, systemContext?: IAdtSystemContext, contentTypes?: IAdtContentTypes);
|
|
33
35
|
/**
|
|
34
36
|
* Validate function group configuration before creation
|
|
35
37
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtFunctionGroup.d.ts","sourceRoot":"","sources":["../../../src/core/functionGroup/AdtFunctionGroup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAOpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAIzE,qBAAa,gBACX,YAAW,UAAU,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;IAEhE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IACpD,SAAgB,UAAU,EAAE,MAAM,CAAmB;gBAGnD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"AdtFunctionGroup.d.ts","sourceRoot":"","sources":["../../../src/core/functionGroup/AdtFunctionGroup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAOpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAIzE,qBAAa,gBACX,YAAW,UAAU,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;IAEhE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IACnD,SAAgB,UAAU,EAAE,MAAM,CAAmB;gBAGnD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB,EACjC,YAAY,CAAC,EAAE,gBAAgB;IAQjC;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC;IAgB/B;;;OAGG;IACG,MAAM,CACV,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAkN/B;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,EAChC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAwB3C;;;OAGG;IACG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,CAAC;IA8C/B;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,mBAAmB,CAAC;IAkC/B;;;;;OAKG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAgM/B;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC;IA6B/B;;;OAGG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC;IAiB/B;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC;IAkB/B;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAclE;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC;CAiBhC"}
|
|
@@ -35,11 +35,13 @@ class AdtFunctionGroup {
|
|
|
35
35
|
connection;
|
|
36
36
|
logger;
|
|
37
37
|
systemContext;
|
|
38
|
+
contentTypes;
|
|
38
39
|
objectType = 'FunctionGroup';
|
|
39
|
-
constructor(connection, logger, systemContext) {
|
|
40
|
+
constructor(connection, logger, systemContext, contentTypes) {
|
|
40
41
|
this.connection = connection;
|
|
41
42
|
this.logger = logger;
|
|
42
43
|
this.systemContext = systemContext ?? {};
|
|
44
|
+
this.contentTypes = contentTypes;
|
|
43
45
|
}
|
|
44
46
|
/**
|
|
45
47
|
* Validate function group configuration before creation
|
|
@@ -109,7 +111,7 @@ class AdtFunctionGroup {
|
|
|
109
111
|
description: config.description,
|
|
110
112
|
masterSystem: config.masterSystem ?? this.systemContext.masterSystem,
|
|
111
113
|
responsible: config.responsible ?? this.systemContext.responsible,
|
|
112
|
-
}, this.logger);
|
|
114
|
+
}, this.logger, this.contentTypes);
|
|
113
115
|
this.logger?.info?.('Function group created');
|
|
114
116
|
// 2.5. Read with long polling to ensure object is ready
|
|
115
117
|
// Read 'inactive' version since object is not yet activated
|
|
@@ -156,11 +158,34 @@ class AdtFunctionGroup {
|
|
|
156
158
|
};
|
|
157
159
|
}
|
|
158
160
|
// Read and return result (no stateful needed)
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
161
|
+
// Wrap in try-catch: on cloud systems the object may not be immediately
|
|
162
|
+
// readable after creation due to eventual consistency (HTTP 404).
|
|
163
|
+
try {
|
|
164
|
+
const readResponse = await (0, read_1.getFunctionGroup)(this.connection, config.functionGroupName);
|
|
165
|
+
return {
|
|
166
|
+
createResult: readResponse,
|
|
167
|
+
errors: [],
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
catch (readError) {
|
|
171
|
+
const status = readError?.response?.status;
|
|
172
|
+
if (status === 404) {
|
|
173
|
+
this.logger?.warn?.('Post-create read returned 404 (cloud eventual consistency), retrying after delay');
|
|
174
|
+
await new Promise((r) => setTimeout(r, 5000));
|
|
175
|
+
try {
|
|
176
|
+
const retryResponse = await (0, read_1.getFunctionGroup)(this.connection, config.functionGroupName);
|
|
177
|
+
return {
|
|
178
|
+
createResult: retryResponse,
|
|
179
|
+
errors: [],
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
catch (retryError) {
|
|
183
|
+
this.logger?.warn?.('Post-create read retry also failed, returning without read result', retryError);
|
|
184
|
+
return { errors: [] };
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
throw readError;
|
|
188
|
+
}
|
|
164
189
|
}
|
|
165
190
|
catch (error) {
|
|
166
191
|
// Ensure stateless if needed
|
|
@@ -303,7 +328,7 @@ class AdtFunctionGroup {
|
|
|
303
328
|
description: config.description,
|
|
304
329
|
lock_handle: options.lockHandle,
|
|
305
330
|
transport_request: config.transportRequest,
|
|
306
|
-
});
|
|
331
|
+
}, this.contentTypes);
|
|
307
332
|
this.logger?.info?.('Function group updated (low-level)');
|
|
308
333
|
return {
|
|
309
334
|
updateResult: updateResponse,
|
|
@@ -326,7 +351,7 @@ class AdtFunctionGroup {
|
|
|
326
351
|
description: config.description,
|
|
327
352
|
transport_request: config.transportRequest,
|
|
328
353
|
lock_handle: lockHandle,
|
|
329
|
-
});
|
|
354
|
+
}, this.contentTypes);
|
|
330
355
|
this.logger?.info?.('Function group updated');
|
|
331
356
|
// 2.5. Read with long polling to ensure object is ready after update
|
|
332
357
|
this.logger?.info?.('read (wait for object ready after update)');
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
* FunctionGroup create operations
|
|
3
3
|
*/
|
|
4
4
|
import type { IAdtResponse as AxiosResponse, IAbapConnection, ILogger } from '@mcp-abap-adt/interfaces';
|
|
5
|
+
import type { IAdtContentTypes } from '../shared/contentTypes';
|
|
5
6
|
import type { ICreateFunctionGroupParams } from './types';
|
|
6
7
|
/**
|
|
7
8
|
* Create function group metadata via POST
|
|
8
9
|
* Low-level function - creates function group without workflow logic
|
|
9
10
|
*/
|
|
10
|
-
export declare function create(connection: IAbapConnection, params: ICreateFunctionGroupParams, logger?: ILogger): Promise<AxiosResponse>;
|
|
11
|
+
export declare function create(connection: IAbapConnection, params: ICreateFunctionGroupParams, logger?: ILogger, contentTypes?: IAdtContentTypes): Promise<AxiosResponse>;
|
|
11
12
|
//# sourceMappingURL=create.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/core/functionGroup/create.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,aAAa,EAE7B,eAAe,EACf,OAAO,EACR,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAI1D;;;GAGG;AACH,wBAAsB,MAAM,CAC1B,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,0BAA0B,EAClC,MAAM,CAAC,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/core/functionGroup/create.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,aAAa,EAE7B,eAAe,EACf,OAAO,EACR,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAI1D;;;GAGG;AACH,wBAAsB,MAAM,CAC1B,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,0BAA0B,EAClC,MAAM,CAAC,EAAE,OAAO,EAChB,YAAY,CAAC,EAAE,gBAAgB,GAC9B,OAAO,CAAC,aAAa,CAAC,CAgHxB"}
|
|
@@ -12,7 +12,7 @@ const debugEnabled = process.env.DEBUG_ADT_LIBS === 'true';
|
|
|
12
12
|
* Create function group metadata via POST
|
|
13
13
|
* Low-level function - creates function group without workflow logic
|
|
14
14
|
*/
|
|
15
|
-
async function create(connection, params, logger) {
|
|
15
|
+
async function create(connection, params, logger, contentTypes) {
|
|
16
16
|
const url = `/sap/bc/adt/functions/groups${params.transportRequest ? `?corrNr=${params.transportRequest}` : ''}`;
|
|
17
17
|
const finalMasterSystem = params.masterSystem || undefined;
|
|
18
18
|
let finalResponsible = params.responsible || undefined;
|
|
@@ -46,9 +46,9 @@ async function create(connection, params, logger) {
|
|
|
46
46
|
<group:abapFunctionGroup xmlns:group="http://www.sap.com/adt/functions/groups" xmlns:adtcore="http://www.sap.com/adt/core" adtcore:description="${limitedDescription}" adtcore:language="EN" adtcore:name="${params.functionGroupName}" adtcore:type="FUGR/F" adtcore:masterLanguage="EN"${masterSystemAttr}${responsibleAttr}>
|
|
47
47
|
<adtcore:packageRef adtcore:name="${params.packageName}"/>
|
|
48
48
|
</group:abapFunctionGroup>`;
|
|
49
|
+
const ct = contentTypes?.functionGroupCreate();
|
|
49
50
|
const headers = {
|
|
50
|
-
'Content-Type': contentTypes_1.CT_FUNCTION_GROUP,
|
|
51
|
-
// 'Accept': CT_FUNCTION_GROUP
|
|
51
|
+
'Content-Type': ct?.contentType || contentTypes_1.CT_FUNCTION_GROUP,
|
|
52
52
|
};
|
|
53
53
|
// Log request details for debugging authorization issues (same as class/create.ts)
|
|
54
54
|
if (debugEnabled) {
|
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
* They don't have source code to update directly, but metadata can be updated.
|
|
6
6
|
*/
|
|
7
7
|
import type { IAdtResponse as AxiosResponse, IAbapConnection } from '@mcp-abap-adt/interfaces';
|
|
8
|
+
import type { IAdtContentTypes } from '../shared/contentTypes';
|
|
8
9
|
import type { IUpdateFunctionGroupParams } from './types';
|
|
9
10
|
/**
|
|
10
11
|
* Update function group metadata (description)
|
|
11
12
|
* Full workflow: lock -> get current -> update -> unlock
|
|
12
13
|
*/
|
|
13
|
-
export declare function updateFunctionGroup(connection: IAbapConnection, params: IUpdateFunctionGroupParams): Promise<AxiosResponse>;
|
|
14
|
+
export declare function updateFunctionGroup(connection: IAbapConnection, params: IUpdateFunctionGroupParams, contentTypes?: IAdtContentTypes): Promise<AxiosResponse>;
|
|
14
15
|
//# sourceMappingURL=update.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/core/functionGroup/update.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,aAAa,EAE7B,eAAe,EAChB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/core/functionGroup/update.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,aAAa,EAE7B,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AA2D1D;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,0BAA0B,EAClC,YAAY,CAAC,EAAE,gBAAgB,GAC9B,OAAO,CAAC,aAAa,CAAC,CAkGxB"}
|
|
@@ -17,7 +17,7 @@ const unlock_1 = require("./unlock");
|
|
|
17
17
|
/**
|
|
18
18
|
* Update function group metadata via PUT
|
|
19
19
|
*/
|
|
20
|
-
async function updateFunctionGroupMetadata(connection, functionGroupName, currentXml, newDescription, lockHandle, transportRequest) {
|
|
20
|
+
async function updateFunctionGroupMetadata(connection, functionGroupName, currentXml, newDescription, lockHandle, transportRequest, contentTypes) {
|
|
21
21
|
const encodedName = (0, internalUtils_1.encodeSapObjectName)(functionGroupName);
|
|
22
22
|
const url = `/sap/bc/adt/functions/groups/${encodedName}${lockHandle ? `?lockHandle=${encodeURIComponent(lockHandle)}` : ''}${transportRequest ? `${lockHandle ? '&' : '?'}corrNr=${transportRequest}` : ''}`;
|
|
23
23
|
// Parse current XML to update description
|
|
@@ -36,9 +36,11 @@ async function updateFunctionGroupMetadata(connection, functionGroupName, curren
|
|
|
36
36
|
}
|
|
37
37
|
// Rebuild XML (simplified - use original XML with replaced description)
|
|
38
38
|
const updatedXml = currentXml.replace(/adtcore:description="[^"]*"/, `adtcore:description="${limitedDescription}"`);
|
|
39
|
+
const ct = contentTypes?.functionGroupUpdate();
|
|
39
40
|
const headers = {
|
|
40
|
-
'Content-Type':
|
|
41
|
-
|
|
41
|
+
'Content-Type': ct?.contentType ||
|
|
42
|
+
'application/vnd.sap.adt.functions.groups.v3+xml; charset=utf-8',
|
|
43
|
+
Accept: ct?.accept || contentTypes_1.CT_FUNCTION_GROUP,
|
|
42
44
|
};
|
|
43
45
|
return connection.makeAdtRequest({
|
|
44
46
|
url,
|
|
@@ -52,7 +54,7 @@ async function updateFunctionGroupMetadata(connection, functionGroupName, curren
|
|
|
52
54
|
* Update function group metadata (description)
|
|
53
55
|
* Full workflow: lock -> get current -> update -> unlock
|
|
54
56
|
*/
|
|
55
|
-
async function updateFunctionGroup(connection, params) {
|
|
57
|
+
async function updateFunctionGroup(connection, params, contentTypes) {
|
|
56
58
|
if (!params.function_group_name) {
|
|
57
59
|
throw new Error('function_group_name is required');
|
|
58
60
|
}
|
|
@@ -76,7 +78,7 @@ async function updateFunctionGroup(connection, params) {
|
|
|
76
78
|
? currentResponse.data
|
|
77
79
|
: JSON.stringify(currentResponse.data);
|
|
78
80
|
// Update metadata
|
|
79
|
-
const updateResponse = await updateFunctionGroupMetadata(connection, params.function_group_name, currentXml, params.description, lockHandle, params.transport_request);
|
|
81
|
+
const updateResponse = await updateFunctionGroupMetadata(connection, params.function_group_name, currentXml, params.description, lockHandle, params.transport_request, contentTypes);
|
|
80
82
|
// Unlock if we locked it
|
|
81
83
|
if (shouldUnlock && lockHandle) {
|
|
82
84
|
await (0, unlock_1.unlockFunctionGroup)(connection, params.function_group_name, lockHandle);
|
|
@@ -19,14 +19,16 @@
|
|
|
19
19
|
*/
|
|
20
20
|
import type { IAbapConnection, IAdtObject, IAdtOperationOptions, ILogger } from '@mcp-abap-adt/interfaces';
|
|
21
21
|
import type { IAdtSystemContext } from '../../clients/AdtClient';
|
|
22
|
+
import type { IAdtContentTypes } from '../shared/contentTypes';
|
|
22
23
|
import type { IReadOptions } from '../shared/types';
|
|
23
24
|
import type { IFunctionModuleConfig, IFunctionModuleState } from './types';
|
|
24
25
|
export declare class AdtFunctionModule implements IAdtObject<IFunctionModuleConfig, IFunctionModuleState> {
|
|
25
26
|
protected readonly connection: IAbapConnection;
|
|
26
27
|
protected readonly logger?: ILogger;
|
|
27
28
|
protected readonly systemContext: IAdtSystemContext;
|
|
29
|
+
protected readonly contentTypes?: IAdtContentTypes;
|
|
28
30
|
readonly objectType: string;
|
|
29
|
-
constructor(connection: IAbapConnection, logger?: ILogger, systemContext?: IAdtSystemContext);
|
|
31
|
+
constructor(connection: IAbapConnection, logger?: ILogger, systemContext?: IAdtSystemContext, contentTypes?: IAdtContentTypes);
|
|
30
32
|
/**
|
|
31
33
|
* Validate function module configuration before creation
|
|
32
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdtFunctionModule.d.ts","sourceRoot":"","sources":["../../../src/core/functionModule/AdtFunctionModule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAK3E,qBAAa,iBACX,YAAW,UAAU,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;IAElE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IACpD,SAAgB,UAAU,EAAE,MAAM,CAAoB;gBAGpD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"AdtFunctionModule.d.ts","sourceRoot":"","sources":["../../../src/core/functionModule/AdtFunctionModule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,OAAO,EACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAWpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAK3E,qBAAa,iBACX,YAAW,UAAU,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;IAElE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IACnD,SAAgB,UAAU,EAAE,MAAM,CAAoB;gBAGpD,UAAU,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,aAAa,CAAC,EAAE,iBAAiB,EACjC,YAAY,CAAC,EAAE,gBAAgB;IAQjC;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACrC,OAAO,CAAC,oBAAoB,CAAC;IAmBhC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,qBAAqB,EAC7B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,oBAAoB,CAAC;IA0DhC;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACtC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IA6B5C;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACtC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,oBAAoB,CAAC;IA0ChC;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACtC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,oBAAoB,CAAC;IA8ChC;;;;OAIG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACtC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,oBAAoB,CAAC;IAoOhC;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACrC,OAAO,CAAC,oBAAoB,CAAC;IAkChC;;;OAGG;IACG,QAAQ,CACZ,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACrC,OAAO,CAAC,oBAAoB,CAAC;IAqBhC;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACtC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,oBAAoB,CAAC;IAwBhC;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBnE;;OAEG;IACG,MAAM,CACV,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,CAAC;CAoBjC"}
|
|
@@ -33,11 +33,13 @@ class AdtFunctionModule {
|
|
|
33
33
|
connection;
|
|
34
34
|
logger;
|
|
35
35
|
systemContext;
|
|
36
|
+
contentTypes;
|
|
36
37
|
objectType = 'FunctionModule';
|
|
37
|
-
constructor(connection, logger, systemContext) {
|
|
38
|
+
constructor(connection, logger, systemContext, contentTypes) {
|
|
38
39
|
this.connection = connection;
|
|
39
40
|
this.logger = logger;
|
|
40
41
|
this.systemContext = systemContext ?? {};
|
|
42
|
+
this.contentTypes = contentTypes;
|
|
41
43
|
}
|
|
42
44
|
/**
|
|
43
45
|
* Validate function module configuration before creation
|
|
@@ -240,7 +242,7 @@ class AdtFunctionModule {
|
|
|
240
242
|
sourceCode: codeToUpdate,
|
|
241
243
|
lockHandle: options.lockHandle,
|
|
242
244
|
transportRequest: config.transportRequest,
|
|
243
|
-
});
|
|
245
|
+
}, this.contentTypes);
|
|
244
246
|
this.logger?.info?.('Function module updated (low-level)');
|
|
245
247
|
return {
|
|
246
248
|
updateResult: updateResponse,
|
|
@@ -259,7 +261,7 @@ class AdtFunctionModule {
|
|
|
259
261
|
const codeToCheck = options?.sourceCode || config.sourceCode;
|
|
260
262
|
if (codeToCheck) {
|
|
261
263
|
this.logger?.info?.('Step 2: Checking inactive version with update content');
|
|
262
|
-
await (0, check_1.checkFunctionModule)(this.connection, config.functionGroupName, config.functionModuleName, 'inactive', codeToCheck);
|
|
264
|
+
await (0, check_1.checkFunctionModule)(this.connection, config.functionGroupName, config.functionModuleName, 'inactive', codeToCheck, this.contentTypes);
|
|
263
265
|
this.logger?.info?.('Check inactive with update content passed');
|
|
264
266
|
}
|
|
265
267
|
// 3. Update
|
|
@@ -271,7 +273,7 @@ class AdtFunctionModule {
|
|
|
271
273
|
sourceCode: codeToCheck,
|
|
272
274
|
lockHandle,
|
|
273
275
|
transportRequest: config.transportRequest,
|
|
274
|
-
});
|
|
276
|
+
}, this.contentTypes);
|
|
275
277
|
this.logger?.info?.('Function module updated');
|
|
276
278
|
// 3.5. Read with long polling (wait for object to be ready after update)
|
|
277
279
|
this.logger?.info?.('read (wait for object ready after update)');
|
|
@@ -298,7 +300,7 @@ class AdtFunctionModule {
|
|
|
298
300
|
}
|
|
299
301
|
// 5. Final check (no stateful needed)
|
|
300
302
|
this.logger?.info?.('Step 5: Final check');
|
|
301
|
-
await (0, check_1.checkFunctionModule)(this.connection, config.functionGroupName, config.functionModuleName, 'inactive');
|
|
303
|
+
await (0, check_1.checkFunctionModule)(this.connection, config.functionGroupName, config.functionModuleName, 'inactive', undefined, this.contentTypes);
|
|
302
304
|
this.logger?.info?.('Final check passed');
|
|
303
305
|
// 6. Activate (if requested, no stateful needed - uses same session/cookies)
|
|
304
306
|
if (options?.activateOnUpdate) {
|
|
@@ -435,7 +437,7 @@ class AdtFunctionModule {
|
|
|
435
437
|
// Map status to version
|
|
436
438
|
const version = status === 'active' ? 'active' : 'inactive';
|
|
437
439
|
return {
|
|
438
|
-
checkResult: await (0, check_1.checkFunctionModule)(this.connection, config.functionGroupName, config.functionModuleName, version),
|
|
440
|
+
checkResult: await (0, check_1.checkFunctionModule)(this.connection, config.functionGroupName, config.functionModuleName, version, undefined, this.contentTypes),
|
|
439
441
|
errors: [],
|
|
440
442
|
};
|
|
441
443
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* FunctionModule check operations
|
|
3
3
|
*/
|
|
4
4
|
import type { IAdtResponse as AxiosResponse, IAbapConnection } from '@mcp-abap-adt/interfaces';
|
|
5
|
+
import type { IAdtContentTypes } from '../shared/contentTypes';
|
|
5
6
|
/**
|
|
6
7
|
* Check function module code (syntax, compilation, rules)
|
|
7
8
|
*
|
|
@@ -18,5 +19,5 @@ import type { IAdtResponse as AxiosResponse, IAbapConnection } from '@mcp-abap-a
|
|
|
18
19
|
* @param sourceCode - Optional source code to validate
|
|
19
20
|
* @returns Check result with errors/warnings
|
|
20
21
|
*/
|
|
21
|
-
export declare function checkFunctionModule(connection: IAbapConnection, functionGroupName: string, functionModuleName: string, version: 'active' | 'inactive', sourceCode?: string): Promise<AxiosResponse>;
|
|
22
|
+
export declare function checkFunctionModule(connection: IAbapConnection, functionGroupName: string, functionModuleName: string, version: 'active' | 'inactive', sourceCode?: string, contentTypes?: IAdtContentTypes): Promise<AxiosResponse>;
|
|
22
23
|
//# sourceMappingURL=check.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/core/functionModule/check.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,aAAa,EAC7B,eAAe,EAChB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/core/functionModule/check.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,aAAa,EAC7B,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAqC/D;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,eAAe,EAC3B,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,QAAQ,GAAG,UAAU,EAC9B,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,gBAAgB,GAC9B,OAAO,CAAC,aAAa,CAAC,CA2DxB"}
|
|
@@ -11,7 +11,7 @@ const timeouts_1 = require("../../utils/timeouts");
|
|
|
11
11
|
/**
|
|
12
12
|
* Build check run XML payload for function module
|
|
13
13
|
*/
|
|
14
|
-
function buildCheckRunXml(functionGroupName, functionModuleName, version, sourceCode) {
|
|
14
|
+
function buildCheckRunXml(functionGroupName, functionModuleName, version, sourceCode, sourceContentType) {
|
|
15
15
|
const encodedGroup = (0, internalUtils_1.encodeSapObjectName)(functionGroupName).toLowerCase();
|
|
16
16
|
const encodedModule = (0, internalUtils_1.encodeSapObjectName)(functionModuleName).toLowerCase();
|
|
17
17
|
const objectUri = `/sap/bc/adt/functions/groups/${encodedGroup}/fmodules/${encodedModule}`;
|
|
@@ -22,7 +22,7 @@ function buildCheckRunXml(functionGroupName, functionModuleName, version, source
|
|
|
22
22
|
<chkrun:checkObjectList xmlns:chkrun="http://www.sap.com/adt/checkrun" xmlns:adtcore="http://www.sap.com/adt/core">
|
|
23
23
|
<chkrun:checkObject adtcore:uri="${objectUri}" chkrun:version="${version}">
|
|
24
24
|
<chkrun:artifacts>
|
|
25
|
-
<chkrun:artifact chkrun:contentType="text/plain; charset=utf-8" chkrun:uri="${objectUri}/source/main">
|
|
25
|
+
<chkrun:artifact chkrun:contentType="${sourceContentType || 'text/plain; charset=utf-8'}" chkrun:uri="${objectUri}/source/main">
|
|
26
26
|
<chkrun:content>${base64Source}</chkrun:content>
|
|
27
27
|
</chkrun:artifact>
|
|
28
28
|
</chkrun:artifacts>
|
|
@@ -50,8 +50,8 @@ function buildCheckRunXml(functionGroupName, functionModuleName, version, source
|
|
|
50
50
|
* @param sourceCode - Optional source code to validate
|
|
51
51
|
* @returns Check result with errors/warnings
|
|
52
52
|
*/
|
|
53
|
-
async function checkFunctionModule(connection, functionGroupName, functionModuleName, version, sourceCode) {
|
|
54
|
-
const xmlBody = buildCheckRunXml(functionGroupName, functionModuleName, version, sourceCode);
|
|
53
|
+
async function checkFunctionModule(connection, functionGroupName, functionModuleName, version, sourceCode, contentTypes) {
|
|
54
|
+
const xmlBody = buildCheckRunXml(functionGroupName, functionModuleName, version, sourceCode, contentTypes?.sourceArtifactContentType());
|
|
55
55
|
const headers = {
|
|
56
56
|
Accept: contentTypes_1.ACCEPT_CHECK_MESSAGES,
|
|
57
57
|
'Content-Type': contentTypes_1.CT_CHECK_OBJECTS,
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
* FunctionModule update operations - low-level functions for AdtFunctionModule
|
|
3
3
|
*/
|
|
4
4
|
import type { IAdtResponse as AxiosResponse, IAbapConnection } from '@mcp-abap-adt/interfaces';
|
|
5
|
+
import type { IAdtContentTypes } from '../shared/contentTypes';
|
|
5
6
|
import type { IUpdateFunctionModuleParams } from './types';
|
|
6
7
|
/**
|
|
7
8
|
* Upload function module source code (low-level - uses existing lockHandle)
|
|
8
9
|
* This function does NOT lock/unlock - it assumes the object is already locked
|
|
9
10
|
* Used internally by AdtFunctionModule
|
|
10
11
|
*/
|
|
11
|
-
export declare function update(connection: IAbapConnection, params: IUpdateFunctionModuleParams): Promise<AxiosResponse>;
|
|
12
|
+
export declare function update(connection: IAbapConnection, params: IUpdateFunctionModuleParams, contentTypes?: IAdtContentTypes): Promise<AxiosResponse>;
|
|
12
13
|
//# sourceMappingURL=update.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/core/functionModule/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,aAAa,EAC7B,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAE3D;;;;GAIG;AACH,wBAAsB,MAAM,CAC1B,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,2BAA2B,
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/core/functionModule/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,aAAa,EAC7B,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAE3D;;;;GAIG;AACH,wBAAsB,MAAM,CAC1B,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,2BAA2B,EACnC,YAAY,CAAC,EAAE,gBAAgB,GAC9B,OAAO,CAAC,aAAa,CAAC,CA4BxB"}
|
|
@@ -12,15 +12,16 @@ const timeouts_1 = require("../../utils/timeouts");
|
|
|
12
12
|
* This function does NOT lock/unlock - it assumes the object is already locked
|
|
13
13
|
* Used internally by AdtFunctionModule
|
|
14
14
|
*/
|
|
15
|
-
async function update(connection, params) {
|
|
15
|
+
async function update(connection, params, contentTypes) {
|
|
16
16
|
const encodedGroupName = (0, internalUtils_1.encodeSapObjectName)(params.functionGroupName).toLowerCase();
|
|
17
17
|
const encodedModuleName = (0, internalUtils_1.encodeSapObjectName)(params.functionModuleName).toLowerCase();
|
|
18
|
-
let url = `/sap/bc/adt/functions/groups/${encodedGroupName}/fmodules/${encodedModuleName}/source/main?lockHandle=${params.lockHandle}`;
|
|
18
|
+
let url = `/sap/bc/adt/functions/groups/${encodedGroupName}/fmodules/${encodedModuleName}/source/main?lockHandle=${encodeURIComponent(params.lockHandle)}`;
|
|
19
19
|
if (params.transportRequest) {
|
|
20
20
|
url += `&corrNr=${params.transportRequest}`;
|
|
21
21
|
}
|
|
22
|
+
const sourceContentType = contentTypes?.sourceArtifactContentType();
|
|
22
23
|
const headers = {
|
|
23
|
-
'Content-Type': contentTypes_1.CT_SOURCE,
|
|
24
|
+
'Content-Type': sourceContentType || contentTypes_1.CT_SOURCE,
|
|
24
25
|
Accept: contentTypes_1.ACCEPT_SOURCE,
|
|
25
26
|
};
|
|
26
27
|
const response = await connection.makeAdtRequest({
|
package/dist/utils/timeouts.js
CHANGED
|
@@ -14,7 +14,7 @@ exports.getTimeout = getTimeout;
|
|
|
14
14
|
function getTimeoutConfig() {
|
|
15
15
|
const defaultTimeout = parseInt(process.env.SAP_TIMEOUT_DEFAULT || '45000', 10);
|
|
16
16
|
const csrfTimeout = parseInt(process.env.SAP_TIMEOUT_CSRF || '15000', 10);
|
|
17
|
-
const longTimeout = parseInt(process.env.SAP_TIMEOUT_LONG || '
|
|
17
|
+
const longTimeout = parseInt(process.env.SAP_TIMEOUT_LONG || '120000', 10);
|
|
18
18
|
return {
|
|
19
19
|
default: defaultTimeout,
|
|
20
20
|
csrf: csrfTimeout,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-abap-adt/adt-clients",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.2",
|
|
4
4
|
"description": "ADT clients for SAP ABAP systems - AdtClient and AdtRuntimeClient",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
64
|
"@mcp-abap-adt/connection": "^1.5.0",
|
|
65
|
-
"@mcp-abap-adt/interfaces": "^3.
|
|
65
|
+
"@mcp-abap-adt/interfaces": "^3.1.0",
|
|
66
66
|
"@mcp-abap-adt/logger": "^0.1.3",
|
|
67
67
|
"axios": "^1.13.6",
|
|
68
68
|
"fast-xml-parser": "^5.4.1",
|