@mcp-abap-adt/core 5.1.0 → 5.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.d.ts.map +1 -1
- package/dist/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.js +22 -13
- package/dist/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.js.map +1 -1
- package/dist/handlers/ddlx/high/handleUpdateMetadataExtension.d.ts.map +1 -1
- package/dist/handlers/ddlx/high/handleUpdateMetadataExtension.js +20 -9
- package/dist/handlers/ddlx/high/handleUpdateMetadataExtension.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [5.1.1] - 2026-04-13
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- Update handlers must unlock objects in finally block on failure — `UpdateBehaviorDefinition` and `UpdateMetadataExtension` now wrap lock/update/unlock in try/finally to prevent stale locks when update fails (closes #57)
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- Upgraded `@mcp-abap-adt/adt-clients` to 4.0.5
|
|
12
|
+
|
|
5
13
|
## [5.1.0] - 2026-04-13
|
|
6
14
|
|
|
7
15
|
### Added
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpdateBehaviorDefinition.d.ts","sourceRoot":"","sources":["../../../../src/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAMvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiClB,CAAC;AAUX,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,GAAG;;;;;;
|
|
1
|
+
{"version":3,"file":"handleUpdateBehaviorDefinition.d.ts","sourceRoot":"","sources":["../../../../src/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAMvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiClB,CAAC;AAUX,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,GAAG;;;;;;GAgGZ"}
|
|
@@ -59,21 +59,30 @@ async function handleUpdateBehaviorDefinition(context, params) {
|
|
|
59
59
|
};
|
|
60
60
|
lockHandle = await client.getBehaviorDefinition().lock(lockConfig);
|
|
61
61
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
sourceCode: args.source_code,
|
|
66
|
-
transportRequest: args.transport_request,
|
|
67
|
-
};
|
|
68
|
-
await client
|
|
69
|
-
.getBehaviorDefinition()
|
|
70
|
-
.update(updateConfig, { lockHandle: lockHandle });
|
|
71
|
-
// Unlock if we locked it internally - using types from adt-clients
|
|
72
|
-
if (!args.lock_handle) {
|
|
73
|
-
const unlockConfig = {
|
|
62
|
+
try {
|
|
63
|
+
// Update - using types from adt-clients
|
|
64
|
+
const updateConfig = {
|
|
74
65
|
name,
|
|
66
|
+
sourceCode: args.source_code,
|
|
67
|
+
transportRequest: args.transport_request,
|
|
75
68
|
};
|
|
76
|
-
await client
|
|
69
|
+
await client
|
|
70
|
+
.getBehaviorDefinition()
|
|
71
|
+
.update(updateConfig, { lockHandle: lockHandle });
|
|
72
|
+
}
|
|
73
|
+
finally {
|
|
74
|
+
// Always unlock if we locked it internally - using types from adt-clients
|
|
75
|
+
if (!args.lock_handle && lockHandle) {
|
|
76
|
+
try {
|
|
77
|
+
const unlockConfig = {
|
|
78
|
+
name,
|
|
79
|
+
};
|
|
80
|
+
await client.getBehaviorDefinition().unlock(unlockConfig, lockHandle);
|
|
81
|
+
}
|
|
82
|
+
catch (unlockError) {
|
|
83
|
+
logger?.warn(`Failed to unlock BDEF ${name}: ${unlockError?.message || unlockError}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
77
86
|
}
|
|
78
87
|
// Wait for object to be ready after update (long polling)
|
|
79
88
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpdateBehaviorDefinition.js","sourceRoot":"","sources":["../../../../src/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAqDH,
|
|
1
|
+
{"version":3,"file":"handleUpdateBehaviorDefinition.js","sourceRoot":"","sources":["../../../../src/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAqDH,wEAkGC;AApJD,kDAAuD;AAEvD,8CAI4B;AACf,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,0BAA0B;IAChC,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAU;IAC1C,WAAW,EACT,6KAA6K;IAC/K,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0BAA0B;aACxC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iBAAiB;aAC/B;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,mFAAmF;aACtF;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,qHAAqH;aACxH;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,sCAAsC;aACpD;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;KAClC;CACO,CAAC;AAUJ,KAAK,UAAU,8BAA8B,CAClD,OAAuB,EACvB,MAAW;IAEX,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,IAAI,GAAiC,MAAM,CAAC;IAElD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,IAAA,oBAAY,EAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,+DAA+D;IAC/D,yFAAyF;IACzF,MAAM,EAAE,IAAI,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,yBAAe,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC;QAC/C,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QAElC,sDAAsD;QACtD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,UAAU,GAA4C;gBAC1D,IAAI;aACL,CAAC;YACF,UAAU,GAAG,MAAM,MAAM,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC;YACH,wCAAwC;YACxC,MAAM,YAAY,GAGkB;gBAClC,IAAI;gBACJ,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;aACzC,CAAC;YACF,MAAM,MAAM;iBACT,qBAAqB,EAAE;iBACvB,MAAM,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,0EAA0E;YAC1E,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,UAAU,EAAE,CAAC;gBACpC,IAAI,CAAC;oBACH,MAAM,YAAY,GAA4C;wBAC5D,IAAI;qBACL,CAAC;oBACF,MAAM,MAAM,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBACxE,CAAC;gBAAC,OAAO,WAAgB,EAAE,CAAC;oBAC1B,MAAM,EAAE,IAAI,CACV,yBAAyB,IAAI,KAAK,WAAW,EAAE,OAAO,IAAI,WAAW,EAAE,CACxE,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC;YACH,MAAM,MAAM;iBACT,qBAAqB,EAAE;iBACvB,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;QAC5E,CAAC;QAED,uDAAuD;QACvD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,cAAc,GAA4C;gBAC9D,IAAI;aACL,CAAC;YACF,MAAM,MAAM,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,cAAc;gBACrB,CAAC,CAAC,uBAAuB,IAAI,qCAAqC;gBAClE,CAAC,CAAC,uBAAuB,IAAI,uBAAuB;SACvD,CAAC;QAEF,OAAO,IAAA,uBAAe,EAAC;YACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACrC,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAS;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,aAAa,GAAG,IAAA,8BAAsB,EAC1C,KAAK,EACL,wCAAwC,IAAI,EAAE,CAC/C,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,uBAAuB,IAAI,KAAK,aAAa,EAAE,CAAC,CAAC;QAC/D,OAAO,IAAA,oBAAY,EAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpdateMetadataExtension.d.ts","sourceRoot":"","sources":["../../../../src/handlers/ddlx/high/handleUpdateMetadataExtension.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAMvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiClB,CAAC;AAUX,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,GAAG;;;;;;
|
|
1
|
+
{"version":3,"file":"handleUpdateMetadataExtension.d.ts","sourceRoot":"","sources":["../../../../src/handlers/ddlx/high/handleUpdateMetadataExtension.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAMvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiClB,CAAC;AAUX,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,GAAG;;;;;;GAkFZ"}
|
|
@@ -53,15 +53,26 @@ async function handleUpdateMetadataExtension(context, params) {
|
|
|
53
53
|
if (!lockHandle) {
|
|
54
54
|
lockHandle = await client.getMetadataExtension().lock({ name: name });
|
|
55
55
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
56
|
+
try {
|
|
57
|
+
// Update
|
|
58
|
+
await client.getMetadataExtension().update({
|
|
59
|
+
name,
|
|
60
|
+
sourceCode: args.source_code,
|
|
61
|
+
transportRequest: args.transport_request,
|
|
62
|
+
}, { lockHandle });
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
// Always unlock if we locked it internally
|
|
66
|
+
if (!args.lock_handle && lockHandle) {
|
|
67
|
+
try {
|
|
68
|
+
await client
|
|
69
|
+
.getMetadataExtension()
|
|
70
|
+
.unlock({ name: name }, lockHandle);
|
|
71
|
+
}
|
|
72
|
+
catch (unlockError) {
|
|
73
|
+
logger?.warn(`Failed to unlock DDLX ${name}: ${unlockError?.message || unlockError}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
65
76
|
}
|
|
66
77
|
// Wait for object to be ready after update (long polling)
|
|
67
78
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpdateMetadataExtension.js","sourceRoot":"","sources":["../../../../src/handlers/ddlx/high/handleUpdateMetadataExtension.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAoDH,
|
|
1
|
+
{"version":3,"file":"handleUpdateMetadataExtension.js","sourceRoot":"","sources":["../../../../src/handlers/ddlx/high/handleUpdateMetadataExtension.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-abap-adt/core",
|
|
3
3
|
"mcpName": "io.github.fr0ster/mcp-abap-adt",
|
|
4
|
-
"version": "5.1.
|
|
4
|
+
"version": "5.1.1",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"exports": {
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
"yaml": "^2.8.1"
|
|
137
137
|
},
|
|
138
138
|
"dependencies": {
|
|
139
|
-
"@mcp-abap-adt/adt-clients": "^4.0.
|
|
139
|
+
"@mcp-abap-adt/adt-clients": "^4.0.5",
|
|
140
140
|
"@mcp-abap-adt/auth-broker": "^1.0.5",
|
|
141
141
|
"@mcp-abap-adt/auth-providers": "^1.0.5",
|
|
142
142
|
"@mcp-abap-adt/auth-stores": "^1.0.4",
|