@mcp-abap-adt/core 4.4.0 → 4.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 +10 -0
- package/dist/handlers/class/high/handleUpdateClass.d.ts.map +1 -1
- package/dist/handlers/class/high/handleUpdateClass.js +60 -71
- package/dist/handlers/class/high/handleUpdateClass.js.map +1 -1
- package/dist/handlers/data_element/high/handleUpdateDataElement.js +19 -19
- package/dist/handlers/data_element/high/handleUpdateDataElement.js.map +1 -1
- package/dist/handlers/domain/high/handleUpdateDomain.d.ts.map +1 -1
- package/dist/handlers/domain/high/handleUpdateDomain.js +18 -18
- package/dist/handlers/domain/high/handleUpdateDomain.js.map +1 -1
- package/dist/handlers/interface/high/handleUpdateInterface.d.ts.map +1 -1
- package/dist/handlers/interface/high/handleUpdateInterface.js +33 -36
- package/dist/handlers/interface/high/handleUpdateInterface.js.map +1 -1
- package/dist/handlers/program/high/handleUpdateProgram.d.ts.map +1 -1
- package/dist/handlers/program/high/handleUpdateProgram.js +103 -112
- package/dist/handlers/program/high/handleUpdateProgram.js.map +1 -1
- package/dist/handlers/search/readonly/handleSearchObject.d.ts +1 -1
- package/dist/handlers/search/readonly/handleSearchObject.js +1 -1
- package/dist/handlers/search/readonly/handleSearchObject.js.map +1 -1
- package/dist/handlers/service_definition/high/handleUpdateServiceDefinition.d.ts.map +1 -1
- package/dist/handlers/service_definition/high/handleUpdateServiceDefinition.js +22 -24
- package/dist/handlers/service_definition/high/handleUpdateServiceDefinition.js.map +1 -1
- package/dist/handlers/structure/high/handleUpdateStructure.js +37 -40
- package/dist/handlers/structure/high/handleUpdateStructure.js.map +1 -1
- package/dist/handlers/table/high/handleUpdateTable.js +35 -36
- package/dist/handlers/table/high/handleUpdateTable.js.map +1 -1
- package/dist/handlers/view/high/handleUpdateView.d.ts.map +1 -1
- package/dist/handlers/view/high/handleUpdateView.js +97 -106
- package/dist/handlers/view/high/handleUpdateView.js.map +1 -1
- package/docs/superpowers/plans/2026-03-26-guaranteed-unlock.md +220 -0
- package/package.json +1 -1
|
@@ -68,11 +68,11 @@ async function handleUpdateProgram(context, params) {
|
|
|
68
68
|
const shouldActivate = args.activate === true; // Default to false if not specified
|
|
69
69
|
let lockHandle;
|
|
70
70
|
let activateResponse;
|
|
71
|
-
// Lock
|
|
72
|
-
logger?.debug(`Locking program: ${programName}`);
|
|
73
|
-
lockHandle = await client.getProgram().lock({ programName });
|
|
74
|
-
logger?.debug(`Program locked: ${programName} (handle=${lockHandle ? `${lockHandle.substring(0, 8)}...` : 'none'})`);
|
|
75
71
|
try {
|
|
72
|
+
// Lock
|
|
73
|
+
logger?.debug(`Locking program: ${programName}`);
|
|
74
|
+
lockHandle = await client.getProgram().lock({ programName });
|
|
75
|
+
logger?.debug(`Program locked: ${programName} (handle=${lockHandle ? `${lockHandle.substring(0, 8)}...` : 'none'})`);
|
|
76
76
|
// Check new code BEFORE update
|
|
77
77
|
logger?.debug(`Checking new source code before update: ${programName}`);
|
|
78
78
|
let checkNewCodePassed = false;
|
|
@@ -108,129 +108,120 @@ async function handleUpdateProgram(context, params) {
|
|
|
108
108
|
else {
|
|
109
109
|
logger?.warn(`Skipping update - new code check failed: ${programName}`);
|
|
110
110
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
logger?.info(`Program unlocked: ${programName}`);
|
|
115
|
-
// Check inactive version (after unlock)
|
|
116
|
-
logger?.debug(`Checking inactive version: ${programName}`);
|
|
117
|
-
try {
|
|
118
|
-
await (0, utils_1.safeCheckOperation)(() => client.getProgram().check({ programName }, 'inactive'), programName, {
|
|
119
|
-
debug: (message) => logger?.debug(message),
|
|
120
|
-
});
|
|
121
|
-
logger?.debug(`Inactive version check completed: ${programName}`);
|
|
122
|
-
}
|
|
123
|
-
catch (checkError) {
|
|
124
|
-
if (checkError.isAlreadyChecked) {
|
|
125
|
-
logger?.debug(`Program ${programName} was already checked - continuing`);
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
logger?.warn(`Inactive version check had issues: ${programName} - ${checkError instanceof Error ? checkError.message : String(checkError)}`);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
// Activate if requested
|
|
132
|
-
if (shouldActivate) {
|
|
133
|
-
logger?.debug(`Activating program: ${programName}`);
|
|
111
|
+
}
|
|
112
|
+
finally {
|
|
113
|
+
if (lockHandle) {
|
|
134
114
|
try {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
});
|
|
138
|
-
activateResponse = activateState.activateResult;
|
|
139
|
-
logger?.info(`Program activated: ${programName}`);
|
|
140
|
-
}
|
|
141
|
-
catch (activationError) {
|
|
142
|
-
logger?.error(`Activation failed: ${programName} - ${activationError instanceof Error ? activationError.message : String(activationError)}`);
|
|
143
|
-
throw new Error(`Activation failed: ${activationError instanceof Error ? activationError.message : String(activationError)}`);
|
|
115
|
+
logger?.debug(`Unlocking program: ${programName}`);
|
|
116
|
+
await client.getProgram().unlock({ programName }, lockHandle);
|
|
117
|
+
logger?.info(`Program unlocked: ${programName}`);
|
|
144
118
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
logger?.debug(`Skipping activation for: ${programName}`);
|
|
148
|
-
}
|
|
149
|
-
// Parse activation warnings if activation was performed
|
|
150
|
-
let activationWarnings = [];
|
|
151
|
-
if (shouldActivate &&
|
|
152
|
-
activateResponse &&
|
|
153
|
-
typeof activateResponse.data === 'string' &&
|
|
154
|
-
activateResponse.data.includes('<chkl:messages')) {
|
|
155
|
-
const parser = new fast_xml_parser_1.XMLParser({
|
|
156
|
-
ignoreAttributes: false,
|
|
157
|
-
attributeNamePrefix: '@_',
|
|
158
|
-
});
|
|
159
|
-
const result = parser.parse(activateResponse.data);
|
|
160
|
-
const messages = result?.['chkl:messages']?.msg;
|
|
161
|
-
if (messages) {
|
|
162
|
-
const msgArray = Array.isArray(messages) ? messages : [messages];
|
|
163
|
-
activationWarnings = msgArray.map((msg) => `${msg['@_type']}: ${msg.shortText?.txt || 'Unknown'}`);
|
|
119
|
+
catch (unlockError) {
|
|
120
|
+
logger?.warn(`Failed to unlock program ${programName}: ${unlockError?.message || unlockError}`);
|
|
164
121
|
}
|
|
165
122
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
message: shouldActivate
|
|
173
|
-
? `Program ${programName} source updated and activated successfully`
|
|
174
|
-
: `Program ${programName} source updated successfully (not activated)`,
|
|
175
|
-
uri: `/sap/bc/adt/programs/programs/${(0, utils_1.encodeSapObjectName)(programName).toLowerCase()}`,
|
|
176
|
-
steps_completed: [
|
|
177
|
-
'lock',
|
|
178
|
-
'check_new_code',
|
|
179
|
-
'update',
|
|
180
|
-
'unlock',
|
|
181
|
-
'check_inactive',
|
|
182
|
-
...(shouldActivate ? ['activate'] : []),
|
|
183
|
-
],
|
|
184
|
-
activation_warnings: activationWarnings.length > 0 ? activationWarnings : undefined,
|
|
185
|
-
source_size_bytes: args.source_code.length,
|
|
186
|
-
};
|
|
187
|
-
return (0, utils_1.return_response)({
|
|
188
|
-
data: JSON.stringify(result, null, 2),
|
|
189
|
-
status: 200,
|
|
190
|
-
statusText: 'OK',
|
|
191
|
-
headers: {},
|
|
192
|
-
config: {},
|
|
123
|
+
}
|
|
124
|
+
// Check inactive version (after unlock)
|
|
125
|
+
logger?.debug(`Checking inactive version: ${programName}`);
|
|
126
|
+
try {
|
|
127
|
+
await (0, utils_1.safeCheckOperation)(() => client.getProgram().check({ programName }, 'inactive'), programName, {
|
|
128
|
+
debug: (message) => logger?.debug(message),
|
|
193
129
|
});
|
|
130
|
+
logger?.debug(`Inactive version check completed: ${programName}`);
|
|
194
131
|
}
|
|
195
|
-
catch (
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
if (lockHandle) {
|
|
199
|
-
logger?.warn(`Attempting unlock after error for program ${programName}`);
|
|
200
|
-
await client.getProgram().unlock({ programName }, lockHandle);
|
|
201
|
-
logger?.warn(`Unlocked program after error: ${programName}`);
|
|
202
|
-
}
|
|
132
|
+
catch (checkError) {
|
|
133
|
+
if (checkError.isAlreadyChecked) {
|
|
134
|
+
logger?.debug(`Program ${programName} was already checked - continuing`);
|
|
203
135
|
}
|
|
204
|
-
|
|
205
|
-
logger?.
|
|
136
|
+
else {
|
|
137
|
+
logger?.warn(`Inactive version check had issues: ${programName} - ${checkError instanceof Error ? checkError.message : String(checkError)}`);
|
|
206
138
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
// Attempt to parse ADT XML error
|
|
139
|
+
}
|
|
140
|
+
// Activate if requested
|
|
141
|
+
if (shouldActivate) {
|
|
142
|
+
logger?.debug(`Activating program: ${programName}`);
|
|
212
143
|
try {
|
|
213
|
-
const
|
|
214
|
-
|
|
215
|
-
attributeNamePrefix: '@_',
|
|
144
|
+
const activateState = await client.getProgram().activate({
|
|
145
|
+
programName,
|
|
216
146
|
});
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
: null;
|
|
220
|
-
const errorMsg = errorData?.['exc:exception']?.message?.['#text'] ||
|
|
221
|
-
errorData?.['exc:exception']?.message;
|
|
222
|
-
if (errorMsg) {
|
|
223
|
-
errorMessage = `SAP Error: ${errorMsg}`;
|
|
224
|
-
}
|
|
147
|
+
activateResponse = activateState.activateResult;
|
|
148
|
+
logger?.info(`Program activated: ${programName}`);
|
|
225
149
|
}
|
|
226
|
-
catch {
|
|
227
|
-
|
|
150
|
+
catch (activationError) {
|
|
151
|
+
logger?.error(`Activation failed: ${programName} - ${activationError instanceof Error ? activationError.message : String(activationError)}`);
|
|
152
|
+
throw new Error(`Activation failed: ${activationError instanceof Error ? activationError.message : String(activationError)}`);
|
|
228
153
|
}
|
|
229
|
-
return (0, utils_1.return_error)(new Error(errorMessage));
|
|
230
154
|
}
|
|
155
|
+
else {
|
|
156
|
+
logger?.debug(`Skipping activation for: ${programName}`);
|
|
157
|
+
}
|
|
158
|
+
// Parse activation warnings if activation was performed
|
|
159
|
+
let activationWarnings = [];
|
|
160
|
+
if (shouldActivate &&
|
|
161
|
+
activateResponse &&
|
|
162
|
+
typeof activateResponse.data === 'string' &&
|
|
163
|
+
activateResponse.data.includes('<chkl:messages')) {
|
|
164
|
+
const parser = new fast_xml_parser_1.XMLParser({
|
|
165
|
+
ignoreAttributes: false,
|
|
166
|
+
attributeNamePrefix: '@_',
|
|
167
|
+
});
|
|
168
|
+
const result = parser.parse(activateResponse.data);
|
|
169
|
+
const messages = result?.['chkl:messages']?.msg;
|
|
170
|
+
if (messages) {
|
|
171
|
+
const msgArray = Array.isArray(messages) ? messages : [messages];
|
|
172
|
+
activationWarnings = msgArray.map((msg) => `${msg['@_type']}: ${msg.shortText?.txt || 'Unknown'}`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
logger?.info(`UpdateProgram completed successfully: ${programName}`);
|
|
176
|
+
const result = {
|
|
177
|
+
success: true,
|
|
178
|
+
program_name: programName,
|
|
179
|
+
type: 'PROG/P',
|
|
180
|
+
activated: shouldActivate,
|
|
181
|
+
message: shouldActivate
|
|
182
|
+
? `Program ${programName} source updated and activated successfully`
|
|
183
|
+
: `Program ${programName} source updated successfully (not activated)`,
|
|
184
|
+
uri: `/sap/bc/adt/programs/programs/${(0, utils_1.encodeSapObjectName)(programName).toLowerCase()}`,
|
|
185
|
+
steps_completed: [
|
|
186
|
+
'lock',
|
|
187
|
+
'check_new_code',
|
|
188
|
+
'update',
|
|
189
|
+
'unlock',
|
|
190
|
+
'check_inactive',
|
|
191
|
+
...(shouldActivate ? ['activate'] : []),
|
|
192
|
+
],
|
|
193
|
+
activation_warnings: activationWarnings.length > 0 ? activationWarnings : undefined,
|
|
194
|
+
source_size_bytes: args.source_code.length,
|
|
195
|
+
};
|
|
196
|
+
return (0, utils_1.return_response)({
|
|
197
|
+
data: JSON.stringify(result, null, 2),
|
|
198
|
+
status: 200,
|
|
199
|
+
statusText: 'OK',
|
|
200
|
+
headers: {},
|
|
201
|
+
config: {},
|
|
202
|
+
});
|
|
231
203
|
}
|
|
232
204
|
catch (error) {
|
|
233
|
-
|
|
205
|
+
// Parse error message
|
|
206
|
+
let errorMessage = error instanceof Error ? error.message : String(error);
|
|
207
|
+
// Attempt to parse ADT XML error
|
|
208
|
+
try {
|
|
209
|
+
const parser = new fast_xml_parser_1.XMLParser({
|
|
210
|
+
ignoreAttributes: false,
|
|
211
|
+
attributeNamePrefix: '@_',
|
|
212
|
+
});
|
|
213
|
+
const errorData = error?.response?.data
|
|
214
|
+
? parser.parse(error.response.data)
|
|
215
|
+
: null;
|
|
216
|
+
const errorMsg = errorData?.['exc:exception']?.message?.['#text'] ||
|
|
217
|
+
errorData?.['exc:exception']?.message;
|
|
218
|
+
if (errorMsg) {
|
|
219
|
+
errorMessage = `SAP Error: ${errorMsg}`;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
catch {
|
|
223
|
+
// ignore parse errors
|
|
224
|
+
}
|
|
234
225
|
logger?.error(`Error updating program source ${programName}: ${errorMessage}`);
|
|
235
226
|
return (0, utils_1.return_error)(new Error(`Failed to update program ${programName}: ${errorMessage}`));
|
|
236
227
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpdateProgram.js","sourceRoot":"","sources":["../../../../src/handlers/program/high/handleUpdateProgram.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAoDH,
|
|
1
|
+
{"version":3,"file":"handleUpdateProgram.js","sourceRoot":"","sources":["../../../../src/handlers/program/high/handleUpdateProgram.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { HandlerContext } from '../../../lib/handlers/interfaces';
|
|
|
2
2
|
export declare const TOOL_DEFINITION: {
|
|
3
3
|
readonly name: "SearchObject";
|
|
4
4
|
readonly available_in: readonly ["onprem", "cloud"];
|
|
5
|
-
readonly description: "[read-only]
|
|
5
|
+
readonly description: "[read-only] Find, search, locate, or check if an ABAP repository object exists by name or wildcard pattern (e.g. 'ZOK*'). Use this tool to answer questions like 'is there a program named...', 'find all objects starting with...', 'does this class exist?', 'list objects matching...'. Supports all repository object types — optionally filter by type (PROG, CLAS, INTF, DEVC, TABL, DDLS, DTEL, FUGR, SRVD, SRVB, BDEF, DDLX, etc.).";
|
|
6
6
|
readonly inputSchema: {
|
|
7
7
|
readonly type: "object";
|
|
8
8
|
readonly properties: {
|
|
@@ -8,7 +8,7 @@ const utils_1 = require("../../../lib/utils");
|
|
|
8
8
|
exports.TOOL_DEFINITION = {
|
|
9
9
|
name: 'SearchObject',
|
|
10
10
|
available_in: ['onprem', 'cloud'],
|
|
11
|
-
description:
|
|
11
|
+
description: "[read-only] Find, search, locate, or check if an ABAP repository object exists by name or wildcard pattern (e.g. 'ZOK*'). Use this tool to answer questions like 'is there a program named...', 'find all objects starting with...', 'does this class exist?', 'list objects matching...'. Supports all repository object types — optionally filter by type (PROG, CLAS, INTF, DEVC, TABL, DDLS, DTEL, FUGR, SRVD, SRVB, BDEF, DDLX, etc.).",
|
|
12
12
|
inputSchema: {
|
|
13
13
|
type: 'object',
|
|
14
14
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleSearchObject.js","sourceRoot":"","sources":["../../../../src/handlers/search/readonly/handleSearchObject.ts"],"names":[],"mappings":";;;AAoDA,gDA4GC;AA9JD,kDAAuD;AACvD,0EAAoE;AAEpE,8CAA0E;AAE7D,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,cAAc;IACpB,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAU;IAC1C,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"handleSearchObject.js","sourceRoot":"","sources":["../../../../src/handlers/search/readonly/handleSearchObject.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpdateServiceDefinition.d.ts","sourceRoot":"","sources":["../../../../src/handlers/service_definition/high/handleUpdateServiceDefinition.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAQvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BlB,CAAC;AAEX,UAAU,2BAA2B;IACnC,uBAAuB,EAAE,MAAM,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,2BAA2B;;;;;;
|
|
1
|
+
{"version":3,"file":"handleUpdateServiceDefinition.d.ts","sourceRoot":"","sources":["../../../../src/handlers/service_definition/high/handleUpdateServiceDefinition.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAQvE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BlB,CAAC;AAEX,UAAU,2BAA2B;IACnC,uBAAuB,EAAE,MAAM,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,2BAA2B;;;;;;GA0KlC"}
|
|
@@ -65,11 +65,12 @@ async function handleUpdateServiceDefinition(context, args) {
|
|
|
65
65
|
// Note: No validation needed for update - service definition must already exist
|
|
66
66
|
const shouldActivate = activate !== false; // Default to true if not specified
|
|
67
67
|
// Lock
|
|
68
|
-
|
|
69
|
-
.getServiceDefinition()
|
|
70
|
-
.lock({ serviceDefinitionName });
|
|
68
|
+
let lockHandle;
|
|
71
69
|
let activateResponse;
|
|
72
70
|
try {
|
|
71
|
+
lockHandle = await client
|
|
72
|
+
.getServiceDefinition()
|
|
73
|
+
.lock({ serviceDefinitionName });
|
|
73
74
|
// Update source code
|
|
74
75
|
await client.getServiceDefinition().update({
|
|
75
76
|
serviceDefinitionName,
|
|
@@ -89,29 +90,26 @@ async function handleUpdateServiceDefinition(context, args) {
|
|
|
89
90
|
throw checkError;
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
|
-
// Unlock
|
|
93
|
-
await client
|
|
94
|
-
.getServiceDefinition()
|
|
95
|
-
.unlock({ serviceDefinitionName }, lockHandle);
|
|
96
|
-
// Activate if requested
|
|
97
|
-
if (shouldActivate) {
|
|
98
|
-
const activateState = await client
|
|
99
|
-
.getServiceDefinition()
|
|
100
|
-
.activate({ serviceDefinitionName });
|
|
101
|
-
activateResponse = activateState.activateResult;
|
|
102
|
-
}
|
|
103
93
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
94
|
+
finally {
|
|
95
|
+
if (lockHandle) {
|
|
96
|
+
try {
|
|
97
|
+
await client
|
|
98
|
+
.getServiceDefinition()
|
|
99
|
+
.unlock({ serviceDefinitionName }, lockHandle);
|
|
100
|
+
logger?.info(`[UpdateServiceDefinition] Service definition unlocked: ${serviceDefinitionName}`);
|
|
101
|
+
}
|
|
102
|
+
catch (unlockError) {
|
|
103
|
+
logger?.warn(`Failed to unlock service definition ${serviceDefinitionName}: ${unlockError?.message || unlockError}`);
|
|
104
|
+
}
|
|
113
105
|
}
|
|
114
|
-
|
|
106
|
+
}
|
|
107
|
+
// Activate if requested
|
|
108
|
+
if (shouldActivate) {
|
|
109
|
+
const activateState = await client
|
|
110
|
+
.getServiceDefinition()
|
|
111
|
+
.activate({ serviceDefinitionName });
|
|
112
|
+
activateResponse = activateState.activateResult;
|
|
115
113
|
}
|
|
116
114
|
// Parse activation warnings if activation was performed
|
|
117
115
|
let activationWarnings = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpdateServiceDefinition.js","sourceRoot":"","sources":["../../../../src/handlers/service_definition/high/handleUpdateServiceDefinition.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAwDH,
|
|
1
|
+
{"version":3,"file":"handleUpdateServiceDefinition.js","sourceRoot":"","sources":["../../../../src/handlers/service_definition/high/handleUpdateServiceDefinition.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,9 +78,10 @@ async function handleUpdateStructure(context, args) {
|
|
|
78
78
|
// Note: No validation needed for update - structure must already exist
|
|
79
79
|
const shouldActivate = activate !== false; // Default to true if not specified
|
|
80
80
|
let activateResponse;
|
|
81
|
-
|
|
82
|
-
const lockHandle = await client.getStructure().lock({ structureName });
|
|
81
|
+
let lockHandle;
|
|
83
82
|
try {
|
|
83
|
+
// Lock
|
|
84
|
+
lockHandle = await client.getStructure().lock({ structureName });
|
|
84
85
|
// Step 1: Check new code BEFORE update (with ddlCode and version='inactive')
|
|
85
86
|
logger?.info(`[UpdateStructure] Checking new DDL code before update: ${structureName}`);
|
|
86
87
|
let checkNewCodePassed = false;
|
|
@@ -122,50 +123,46 @@ async function handleUpdateStructure(context, args) {
|
|
|
122
123
|
else {
|
|
123
124
|
logger?.info(`[UpdateStructure] Skipping update - new code check failed: ${structureName}`);
|
|
124
125
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
await (0, utils_1.safeCheckOperation)(() => client.getStructure().check({ structureName }, 'inactive'), structureName, {
|
|
132
|
-
debug: (message) => logger?.debug(`[UpdateStructure] ${message}`),
|
|
133
|
-
});
|
|
134
|
-
logger?.info(`[UpdateStructure] Inactive version check completed: ${structureName}`);
|
|
135
|
-
}
|
|
136
|
-
catch (checkError) {
|
|
137
|
-
// If error was marked as "already checked", continue silently
|
|
138
|
-
if (checkError.isAlreadyChecked) {
|
|
139
|
-
logger?.info(`[UpdateStructure] Structure ${structureName} was already checked - this is OK, continuing`);
|
|
126
|
+
}
|
|
127
|
+
finally {
|
|
128
|
+
if (lockHandle) {
|
|
129
|
+
try {
|
|
130
|
+
await client.getStructure().unlock({ structureName }, lockHandle);
|
|
131
|
+
logger?.info(`[UpdateStructure] Structure unlocked: ${structureName}`);
|
|
140
132
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
logger?.warn(`[UpdateStructure] Inactive version check had issues: ${structureName}`, {
|
|
144
|
-
error: checkError instanceof Error
|
|
145
|
-
? checkError.message
|
|
146
|
-
: String(checkError),
|
|
147
|
-
});
|
|
133
|
+
catch (unlockError) {
|
|
134
|
+
logger?.warn(`Failed to unlock structure ${structureName}: ${unlockError?.message || unlockError}`);
|
|
148
135
|
}
|
|
149
136
|
}
|
|
150
|
-
// Activate if requested
|
|
151
|
-
if (shouldActivate) {
|
|
152
|
-
const activateState = await client
|
|
153
|
-
.getStructure()
|
|
154
|
-
.activate({ structureName });
|
|
155
|
-
activateResponse = activateState.activateResult;
|
|
156
|
-
}
|
|
157
137
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
138
|
+
// Step 4: Check inactive version (after unlock)
|
|
139
|
+
logger?.info(`[UpdateStructure] Checking inactive version: ${structureName}`);
|
|
140
|
+
try {
|
|
141
|
+
await (0, utils_1.safeCheckOperation)(() => client.getStructure().check({ structureName }, 'inactive'), structureName, {
|
|
142
|
+
debug: (message) => logger?.debug(`[UpdateStructure] ${message}`),
|
|
143
|
+
});
|
|
144
|
+
logger?.info(`[UpdateStructure] Inactive version check completed: ${structureName}`);
|
|
145
|
+
}
|
|
146
|
+
catch (checkError) {
|
|
147
|
+
// If error was marked as "already checked", continue silently
|
|
148
|
+
if (checkError.isAlreadyChecked) {
|
|
149
|
+
logger?.info(`[UpdateStructure] Structure ${structureName} was already checked - this is OK, continuing`);
|
|
164
150
|
}
|
|
165
|
-
|
|
166
|
-
|
|
151
|
+
else {
|
|
152
|
+
// Log warning but don't fail - inactive check is informational
|
|
153
|
+
logger?.warn(`[UpdateStructure] Inactive version check had issues: ${structureName}`, {
|
|
154
|
+
error: checkError instanceof Error
|
|
155
|
+
? checkError.message
|
|
156
|
+
: String(checkError),
|
|
157
|
+
});
|
|
167
158
|
}
|
|
168
|
-
|
|
159
|
+
}
|
|
160
|
+
// Activate if requested
|
|
161
|
+
if (shouldActivate) {
|
|
162
|
+
const activateState = await client
|
|
163
|
+
.getStructure()
|
|
164
|
+
.activate({ structureName });
|
|
165
|
+
activateResponse = activateState.activateResult;
|
|
169
166
|
}
|
|
170
167
|
// Parse activation warnings if activation was performed
|
|
171
168
|
let activationWarnings = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleUpdateStructure.js","sourceRoot":"","sources":["../../../../src/handlers/structure/high/handleUpdateStructure.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAyDH,sDAsQC;AA7TD,qDAA4C;AAC5C,kDAAuD;AAEvD,8CAK4B;AAEf,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,iBAAiB;IACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAU;IAC1C,WAAW,EACT,yNAAyN;IAC3N,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,qEAAqE;aACxE;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,iPAAiP;aACpP;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,mGAAmG;aACtG;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,wDAAwD;aACtE;SACF;QACD,QAAQ,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC;KACzC;CACO,CAAC;AASX;;;;;GAKG;AACI,KAAK,UAAU,qBAAqB,CACzC,OAAuB,EACvB,IAAyB;IAEzB,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,EACJ,cAAc,EACd,QAAQ,EACR,iBAAiB,EACjB,QAAQ,GAAG,IAAI,GAChB,GAAG,IAA2B,CAAC;QAEhC,aAAa;QACb,IAAI,CAAC,cAAc,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,OAAO,IAAA,oBAAY,EACjB,IAAI,KAAK,CAAC,0CAA0C,CAAC,CACtD,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;QAEnD,MAAM,EAAE,IAAI,CAAC,qCAAqC,aAAa,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,+CAA+C;YAC/C,4EAA4E;YAC5E,mDAAmD;YACnD,+DAA+D;YAC/D,yFAAyF;YACzF,MAAM,EAAE,KAAK,CACX,mEAAmE,aAAa,EAAE,CACnF,CAAC;QACJ,CAAC;QAAC,OAAO,eAAoB,EAAE,CAAC;YAC9B,MAAM,YAAY,GAChB,eAAe,YAAY,KAAK;gBAC9B,CAAC,CAAC,eAAe,CAAC,OAAO;gBACzB,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC9B,MAAM,EAAE,KAAK,CACX,kDAAkD,YAAY,EAAE,CACjE,CAAC;YACF,OAAO,IAAA,oBAAY,EACjB,IAAI,KAAK,CAAC,gCAAgC,YAAY,EAAE,CAAC,CAC1D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,gBAAgB;YAChB,MAAM,MAAM,GAAG,IAAA,yBAAe,EAAC,UAAU,CAAC,CAAC;YAE3C,8HAA8H;YAC9H,uEAAuE;YACvE,MAAM,cAAc,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,mCAAmC;YAC9E,IAAI,gBAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"handleUpdateStructure.js","sourceRoot":"","sources":["../../../../src/handlers/structure/high/handleUpdateStructure.ts"],"names":[],"mappings":"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"}
|