arc-1 0.6.0 → 0.6.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.
Files changed (90) hide show
  1. package/README.md +25 -26
  2. package/dist/adt/btp.d.ts +19 -12
  3. package/dist/adt/btp.d.ts.map +1 -1
  4. package/dist/adt/btp.js +48 -35
  5. package/dist/adt/btp.js.map +1 -1
  6. package/dist/adt/client.d.ts +20 -2
  7. package/dist/adt/client.d.ts.map +1 -1
  8. package/dist/adt/client.js +65 -2
  9. package/dist/adt/client.js.map +1 -1
  10. package/dist/adt/codeintel.d.ts.map +1 -1
  11. package/dist/adt/codeintel.js +1 -10
  12. package/dist/adt/codeintel.js.map +1 -1
  13. package/dist/adt/config.d.ts +2 -0
  14. package/dist/adt/config.d.ts.map +1 -1
  15. package/dist/adt/config.js +2 -0
  16. package/dist/adt/config.js.map +1 -1
  17. package/dist/adt/crud.d.ts +7 -0
  18. package/dist/adt/crud.d.ts.map +1 -1
  19. package/dist/adt/crud.js +35 -3
  20. package/dist/adt/crud.js.map +1 -1
  21. package/dist/adt/ddic-xml.d.ts +78 -0
  22. package/dist/adt/ddic-xml.d.ts.map +1 -0
  23. package/dist/adt/ddic-xml.js +203 -0
  24. package/dist/adt/ddic-xml.js.map +1 -0
  25. package/dist/adt/devtools.d.ts +30 -7
  26. package/dist/adt/devtools.d.ts.map +1 -1
  27. package/dist/adt/devtools.js +215 -76
  28. package/dist/adt/devtools.js.map +1 -1
  29. package/dist/adt/diagnostics.d.ts.map +1 -1
  30. package/dist/adt/diagnostics.js +105 -184
  31. package/dist/adt/diagnostics.js.map +1 -1
  32. package/dist/adt/errors.d.ts +12 -0
  33. package/dist/adt/errors.d.ts.map +1 -1
  34. package/dist/adt/errors.js +42 -0
  35. package/dist/adt/errors.js.map +1 -1
  36. package/dist/adt/features.d.ts.map +1 -1
  37. package/dist/adt/features.js +23 -3
  38. package/dist/adt/features.js.map +1 -1
  39. package/dist/adt/flp.d.ts +43 -0
  40. package/dist/adt/flp.d.ts.map +1 -0
  41. package/dist/adt/flp.js +213 -0
  42. package/dist/adt/flp.js.map +1 -0
  43. package/dist/adt/http.d.ts +2 -0
  44. package/dist/adt/http.d.ts.map +1 -1
  45. package/dist/adt/http.js +162 -4
  46. package/dist/adt/http.js.map +1 -1
  47. package/dist/adt/transport.d.ts +48 -3
  48. package/dist/adt/transport.d.ts.map +1 -1
  49. package/dist/adt/transport.js +222 -32
  50. package/dist/adt/transport.js.map +1 -1
  51. package/dist/adt/types.d.ts +107 -0
  52. package/dist/adt/types.d.ts.map +1 -1
  53. package/dist/adt/ui5-repository.d.ts +19 -0
  54. package/dist/adt/ui5-repository.d.ts.map +1 -0
  55. package/dist/adt/ui5-repository.js +43 -0
  56. package/dist/adt/ui5-repository.js.map +1 -0
  57. package/dist/adt/xml-parser.d.ts +43 -1
  58. package/dist/adt/xml-parser.d.ts.map +1 -1
  59. package/dist/adt/xml-parser.js +208 -3
  60. package/dist/adt/xml-parser.js.map +1 -1
  61. package/dist/handlers/intent.d.ts +20 -6
  62. package/dist/handlers/intent.d.ts.map +1 -1
  63. package/dist/handlers/intent.js +1304 -104
  64. package/dist/handlers/intent.js.map +1 -1
  65. package/dist/handlers/schemas.d.ts +240 -0
  66. package/dist/handlers/schemas.d.ts.map +1 -1
  67. package/dist/handlers/schemas.js +201 -5
  68. package/dist/handlers/schemas.js.map +1 -1
  69. package/dist/handlers/tools.d.ts.map +1 -1
  70. package/dist/handlers/tools.js +339 -49
  71. package/dist/handlers/tools.js.map +1 -1
  72. package/dist/server/config.d.ts.map +1 -1
  73. package/dist/server/config.js +15 -3
  74. package/dist/server/config.js.map +1 -1
  75. package/dist/server/http.d.ts.map +1 -1
  76. package/dist/server/http.js +32 -3
  77. package/dist/server/http.js.map +1 -1
  78. package/dist/server/server.d.ts +1 -1
  79. package/dist/server/server.d.ts.map +1 -1
  80. package/dist/server/server.js +38 -6
  81. package/dist/server/server.js.map +1 -1
  82. package/dist/server/types.d.ts +2 -0
  83. package/dist/server/types.d.ts.map +1 -1
  84. package/dist/server/types.js +5 -3
  85. package/dist/server/types.js.map +1 -1
  86. package/dist/server/xsuaa.d.ts +13 -0
  87. package/dist/server/xsuaa.d.ts.map +1 -1
  88. package/dist/server/xsuaa.js +28 -2
  89. package/dist/server/xsuaa.js.map +1 -1
  90. package/package.json +19 -6
@@ -8,6 +8,7 @@
8
8
  * Follows the same pure-function pattern as devtools.ts.
9
9
  */
10
10
  import { checkOperation, OperationType } from './safety.js';
11
+ import { findDeepNodes, parseXml } from './xml-parser.js';
11
12
  /**
12
13
  * List ABAP short dumps (ST22 equivalent).
13
14
  *
@@ -113,23 +114,35 @@ export async function getTraceDbAccesses(http, safety, traceId) {
113
114
  * - atom:link rel="self" href → contains dump ID path
114
115
  */
115
116
  export function parseDumpList(xml) {
116
- const entries = [];
117
- const entryRegex = /<atom:entry[\s\S]*?<\/atom:entry>/g;
118
- let match;
119
- while ((match = entryRegex.exec(xml)) !== null) {
120
- const entry = match[0];
121
- const user = extractTag(entry, 'atom:name') || '';
122
- const error = extractAttrValue(entry, 'term', 'ABAP runtime error');
123
- const program = extractAttrValue(entry, 'term', 'Terminated ABAP program');
124
- const timestamp = extractTag(entry, 'atom:published') || '';
125
- // Extract dump ID from the self link (rel="self" type="text/plain")
126
- const selfMatch = entry.match(/href="(?:adt:\/\/[^/]+)?\/sap\/bc\/adt\/runtime\/dump\/([^"]*)"[^>]*rel="self"/);
127
- const id = selfMatch?.[1] || '';
128
- if (id) {
129
- entries.push({ id, timestamp, user, error, program });
117
+ const parsed = parseXml(xml);
118
+ const entryNodes = findDeepNodes(parsed, 'entry');
119
+ return entryNodes
120
+ .map((entry) => {
121
+ // Author name
122
+ const author = entry.author;
123
+ const user = String(author?.name ?? '');
124
+ // Categories: may be single object or array
125
+ const rawCat = entry.category;
126
+ const categories = Array.isArray(rawCat) ? rawCat : rawCat ? [rawCat] : [];
127
+ let error = '';
128
+ let program = '';
129
+ for (const cat of categories) {
130
+ const label = String(cat['@_label'] ?? '');
131
+ if (label === 'ABAP runtime error')
132
+ error = String(cat['@_term'] ?? '');
133
+ if (label === 'Terminated ABAP program')
134
+ program = String(cat['@_term'] ?? '');
130
135
  }
131
- }
132
- return entries;
136
+ const timestamp = String(entry.published ?? '');
137
+ // Extract dump ID from self link href
138
+ const links = Array.isArray(entry.link) ? entry.link : entry.link ? [entry.link] : [];
139
+ const selfLink = links.find((l) => String(l['@_rel'] ?? '') === 'self');
140
+ const href = String(selfLink?.['@_href'] ?? '');
141
+ const dumpMatch = href.match(/\/sap\/bc\/adt\/runtime\/dump\/([^"]*)/);
142
+ const id = dumpMatch?.[1] || '';
143
+ return { id, timestamp, user, error, program };
144
+ })
145
+ .filter((e) => e.id);
133
146
  }
134
147
  /**
135
148
  * Parse dump detail XML metadata + formatted text.
@@ -140,26 +153,25 @@ export function parseDumpList(xml) {
140
153
  * And dump:chapter elements with name, title, category attributes.
141
154
  */
142
155
  export function parseDumpDetail(xml, formattedText, dumpId) {
143
- // Extract root attributes
144
- const error = extractAttrSimple(xml, 'error') || '';
145
- const exception = extractAttrSimple(xml, 'exception') || '';
146
- const program = extractAttrSimple(xml, 'terminatedProgram') || '';
147
- const user = extractAttrSimple(xml, 'author') || '';
148
- const timestamp = extractAttrSimple(xml, 'datetime') || '';
149
- // Extract termination source URI
150
- const termMatch = xml.match(/relation="http:\/\/www\.sap\.com\/adt\/relations\/runtime\/dump\/termination"[^>]*uri="([^"]*)"/);
151
- const terminationUri = termMatch?.[1];
152
- // Extract chapters
153
- const chapters = [];
154
- const chapterRegex = /<dump:chapter[^>]*name="([^"]*)"[^>]*title="([^"]*)"[^>]*category="([^"]*)"/g;
155
- let chMatch;
156
- while ((chMatch = chapterRegex.exec(xml)) !== null) {
157
- chapters.push({
158
- name: chMatch[1],
159
- title: chMatch[2],
160
- category: chMatch[3],
161
- });
162
- }
156
+ const parsed = parseXml(xml);
157
+ const dumps = findDeepNodes(parsed, 'dump');
158
+ const root = dumps[0] ?? {};
159
+ const error = String(root['@_error'] ?? '');
160
+ const exception = String(root['@_exception'] ?? '');
161
+ const program = String(root['@_terminatedProgram'] ?? '');
162
+ const user = String(root['@_author'] ?? '');
163
+ const timestamp = String(root['@_datetime'] ?? '');
164
+ // Find termination link by relation attribute (scope to dump root, not full document)
165
+ const links = findDeepNodes(root, 'link');
166
+ const termLink = links.find((l) => String(l['@_relation'] ?? '') === 'http://www.sap.com/adt/relations/runtime/dump/termination');
167
+ const terminationUri = termLink ? String(termLink['@_uri'] ?? '') || undefined : undefined;
168
+ // Extract chapters (scope to dump root, not full document)
169
+ const chapterNodes = findDeepNodes(root, 'chapter');
170
+ const chapters = chapterNodes.map((ch) => ({
171
+ name: String(ch['@_name'] ?? ''),
172
+ title: String(ch['@_title'] ?? ''),
173
+ category: String(ch['@_category'] ?? ''),
174
+ }));
163
175
  return {
164
176
  id: dumpId,
165
177
  error,
@@ -178,32 +190,25 @@ export function parseDumpDetail(xml, formattedText, dumpId) {
178
190
  * Trace entries may contain extended attributes in a trc: namespace.
179
191
  */
180
192
  export function parseTraceList(xml) {
181
- const entries = [];
182
- const entryRegex = /<atom:entry[\s\S]*?<\/atom:entry>/g;
183
- let match;
184
- while ((match = entryRegex.exec(xml)) !== null) {
185
- const entry = match[0];
186
- const title = extractTag(entry, 'atom:title') || '';
187
- const timestamp = extractTag(entry, 'atom:updated') || extractTag(entry, 'atom:published') || '';
188
- // Extract trace ID from self link
189
- const selfMatch = entry.match(/href="(?:adt:\/\/[^/]+)?\/sap\/bc\/adt\/runtime\/traces\/abaptraces\/([^"]*)"[^>]*rel="self"/);
190
- const id = selfMatch?.[1] || '';
191
- // Extended trace data (namespace-prefixed attributes)
192
- const state = extractAttrSimple(entry, 'state');
193
- const objectName = extractAttrSimple(entry, 'objectName');
194
- const runtimeStr = extractAttrSimple(entry, 'runtime');
195
- if (id || title) {
196
- entries.push({
197
- id,
198
- title,
199
- timestamp,
200
- state: state || undefined,
201
- objectName: objectName || undefined,
202
- runtime: runtimeStr ? Number(runtimeStr) : undefined,
203
- });
204
- }
205
- }
206
- return entries;
193
+ const parsed = parseXml(xml);
194
+ const entryNodes = findDeepNodes(parsed, 'entry');
195
+ return entryNodes
196
+ .map((entry) => {
197
+ const title = String(entry.title ?? '');
198
+ const timestamp = String(entry.updated ?? entry.published ?? '');
199
+ // Extract trace ID from self link href
200
+ const links = Array.isArray(entry.link) ? entry.link : entry.link ? [entry.link] : [];
201
+ const selfLink = links.find((l) => String(l['@_rel'] ?? '') === 'self');
202
+ const href = String(selfLink?.['@_href'] ?? '');
203
+ const traceMatch = href.match(/\/sap\/bc\/adt\/runtime\/traces\/abaptraces\/([^"]*)/);
204
+ const id = traceMatch?.[1] || '';
205
+ // Extended trace data (namespace-prefixed attributes are stripped by removeNSPrefix)
206
+ const state = entry['@_state'] != null ? String(entry['@_state']) : undefined;
207
+ const objectName = entry['@_objectName'] != null ? String(entry['@_objectName']) : undefined;
208
+ const runtimeStr = entry['@_runtime'] != null ? String(entry['@_runtime']) : undefined;
209
+ return { id, title, timestamp, state, objectName, runtime: runtimeStr ? Number(runtimeStr) : undefined };
210
+ })
211
+ .filter((e) => e.id || e.title);
207
212
  }
208
213
  /**
209
214
  * Parse trace hitlist XML.
@@ -211,139 +216,55 @@ export function parseTraceList(xml) {
211
216
  * Hitlist entries contain procedure names and timing data.
212
217
  */
213
218
  export function parseTraceHitlist(xml) {
214
- const entries = [];
215
- const entryRegex = /<hitListEntry[^>]*callingProgram="([^"]*)"[^>]*calledProgram="([^"]*)"[^>]*hitCount="(\d+)"[^>]*grossTime="(\d+)"[^>]*(?:traceEventNetTime|netTime)="(\d+)"/g;
216
- let match;
217
- while ((match = entryRegex.exec(xml)) !== null) {
218
- entries.push({
219
- callingProgram: match[1],
220
- calledProgram: match[2],
221
- hitCount: Number(match[3]),
222
- grossTime: Number(match[4]),
223
- netTime: Number(match[5]),
224
- });
225
- }
226
- // Fallback: try generic attribute extraction if regex didn't match
227
- if (entries.length === 0) {
228
- const genericRegex = /<(?:hitListEntry|entry)[^>]+>/g;
229
- let gMatch;
230
- while ((gMatch = genericRegex.exec(xml)) !== null) {
231
- const tag = gMatch[0];
232
- const callingProgram = extractAttrSimple(tag, 'callingProgram') || '';
233
- const calledProgram = extractAttrSimple(tag, 'calledProgram') || '';
234
- const hitCount = extractAttrSimple(tag, 'hitCount');
235
- if (callingProgram || calledProgram) {
236
- entries.push({
237
- callingProgram,
238
- calledProgram,
239
- hitCount: hitCount ? Number(hitCount) : 0,
240
- grossTime: Number(extractAttrSimple(tag, 'grossTime') || '0'),
241
- netTime: Number(extractAttrSimple(tag, 'traceEventNetTime') || extractAttrSimple(tag, 'netTime') || '0'),
242
- });
243
- }
244
- }
245
- }
246
- return entries;
219
+ const parsed = parseXml(xml);
220
+ const nodes = findDeepNodes(parsed, 'hitListEntry');
221
+ return nodes.map((node) => ({
222
+ callingProgram: String(node['@_callingProgram'] ?? ''),
223
+ calledProgram: String(node['@_calledProgram'] ?? ''),
224
+ hitCount: Number(node['@_hitCount'] ?? 0),
225
+ grossTime: Number(node['@_grossTime'] ?? 0),
226
+ netTime: Number(node['@_traceEventNetTime'] ?? node['@_netTime'] ?? 0),
227
+ }));
247
228
  }
248
229
  /**
249
230
  * Parse trace statements (call tree) XML.
250
231
  */
251
232
  export function parseTraceStatements(xml) {
252
- const entries = [];
253
- // Extract self-closing tags, handling > inside attribute values
254
- for (const tag of extractSelfClosingTags(xml, 'traceStatement', 'statement')) {
255
- const callLevel = extractAttrSimple(tag, 'callLevel');
256
- if (callLevel === null)
257
- continue;
258
- entries.push({
259
- callLevel: Number(callLevel),
260
- hitCount: Number(extractAttrSimple(tag, 'hitCount') || '0'),
261
- isProceduralUnit: extractAttrSimple(tag, 'isProceduralUnit') === 'true',
262
- grossTime: Number(extractAttrSimple(tag, 'grossTime') || '0'),
263
- description: extractAttrSimple(tag, 'description') || extractAttrSimple(tag, 'name') || '',
264
- });
233
+ const parsed = parseXml(xml);
234
+ // Try both tag names: traceStatement and statement
235
+ let nodes = findDeepNodes(parsed, 'traceStatement');
236
+ if (nodes.length === 0) {
237
+ nodes = findDeepNodes(parsed, 'statement');
265
238
  }
266
- return entries;
239
+ return nodes
240
+ .filter((node) => node['@_callLevel'] != null)
241
+ .map((node) => ({
242
+ callLevel: Number(node['@_callLevel'] ?? 0),
243
+ hitCount: Number(node['@_hitCount'] ?? 0),
244
+ isProceduralUnit: String(node['@_isProceduralUnit'] ?? '') === 'true',
245
+ grossTime: Number(node['@_grossTime'] ?? 0),
246
+ description: String(node['@_description'] ?? node['@_name'] ?? ''),
247
+ }));
267
248
  }
268
249
  /**
269
250
  * Parse trace database accesses XML.
270
251
  */
271
252
  export function parseTraceDbAccesses(xml) {
272
- const entries = [];
273
- const entryRegex = /<(?:dbAccess|access)[^>]*tableName="([^"]*)"[^>]*/g;
274
- let match;
275
- while ((match = entryRegex.exec(xml)) !== null) {
276
- const tag = xml.slice(match.index, xml.indexOf('>', match.index + match[0].length) + 1);
277
- entries.push({
278
- tableName: match[1],
279
- statement: extractAttrSimple(tag, 'statement') || '',
280
- type: extractAttrSimple(tag, 'type') || '',
281
- totalCount: Number(extractAttrSimple(tag, 'totalCount') || '0'),
282
- bufferedCount: Number(extractAttrSimple(tag, 'bufferedCount') || '0'),
283
- accessTime: Number(extractAttrSimple(tag, 'accessTime') || '0'),
284
- });
253
+ const parsed = parseXml(xml);
254
+ // Try both tag names: dbAccess and access
255
+ let nodes = findDeepNodes(parsed, 'dbAccess');
256
+ if (nodes.length === 0) {
257
+ nodes = findDeepNodes(parsed, 'access');
285
258
  }
286
- return entries;
287
- }
288
- // ─── Helpers ────────────────────────────────────────────────────────
289
- /**
290
- * Extract self-closing XML tags by name, handling > inside attribute values.
291
- * Standard regex [^>]* breaks on attributes like description="CL_TEST=>MAIN".
292
- */
293
- function extractSelfClosingTags(xml, ...tagNames) {
294
- const tags = [];
295
- for (const tagName of tagNames) {
296
- let searchFrom = 0;
297
- while (true) {
298
- const startIdx = xml.indexOf(`<${tagName} `, searchFrom);
299
- if (startIdx === -1)
300
- break;
301
- // Find the closing /> by scanning past attribute values
302
- let i = startIdx + tagName.length + 2;
303
- while (i < xml.length) {
304
- if (xml[i] === '"') {
305
- // Skip quoted attribute value (may contain >)
306
- i++;
307
- while (i < xml.length && xml[i] !== '"')
308
- i++;
309
- i++; // skip closing quote
310
- }
311
- else if (xml[i] === '/' && xml[i + 1] === '>') {
312
- tags.push(xml.slice(startIdx, i + 2));
313
- i += 2;
314
- break;
315
- }
316
- else if (xml[i] === '>' && xml[i - 1] !== '/') {
317
- // Opening tag without self-close; skip
318
- i++;
319
- break;
320
- }
321
- else {
322
- i++;
323
- }
324
- }
325
- searchFrom = i;
326
- }
327
- }
328
- return tags;
329
- }
330
- /** Extract text content between opening and closing XML tags */
331
- function extractTag(xml, tagName) {
332
- const regex = new RegExp(`<${tagName}[^>]*>([^<]*)</${tagName}>`);
333
- const match = xml.match(regex);
334
- return match?.[1] ?? null;
335
- }
336
- /** Extract attribute value from an element where another attribute has a specific value */
337
- function extractAttrValue(xml, attrName, labelValue) {
338
- // Match: attrName="VALUE" ... label="labelValue" or label="labelValue" ... attrName="VALUE"
339
- const regex = new RegExp(`${attrName}="([^"]*)"[^>]*label="${labelValue}"`);
340
- const match = xml.match(regex);
341
- return match?.[1] || '';
342
- }
343
- /** Extract a simple attribute value by name */
344
- function extractAttrSimple(xml, attr) {
345
- const regex = new RegExp(`(?:^|\\s|:)${attr}="([^"]*)"`);
346
- const match = xml.match(regex);
347
- return match?.[1] ?? null;
259
+ return nodes
260
+ .filter((node) => node['@_tableName'] != null)
261
+ .map((node) => ({
262
+ tableName: String(node['@_tableName'] ?? ''),
263
+ statement: String(node['@_statement'] ?? ''),
264
+ type: String(node['@_type'] ?? ''),
265
+ totalCount: Number(node['@_totalCount'] ?? 0),
266
+ bufferedCount: Number(node['@_bufferedCount'] ?? 0),
267
+ accessTime: Number(node['@_accessTime'] ?? 0),
268
+ }));
348
269
  }
349
270
  //# sourceMappingURL=diagnostics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/adt/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/adt/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,18 @@ export declare class AdtApiError extends AdtError {
41
41
  * session cookie is no longer valid.
42
42
  */
43
43
  get isSessionExpired(): boolean;
44
+ get isServerError(): boolean;
45
+ /**
46
+ * Extract ALL localized messages from SAP's XML error response.
47
+ * SAP DDL save errors often return multiple messages with line/column detail.
48
+ * Returns only messages beyond the first (which is already in err.message).
49
+ */
50
+ static extractAllMessages(xml: string): string[];
51
+ /**
52
+ * Extract key-value properties from SAP's XML error response.
53
+ * Properties often contain line numbers, message IDs, and other diagnostic detail.
54
+ */
55
+ static extractProperties(xml: string): Record<string, string>;
44
56
  }
45
57
  /** Network-level error (DNS, connection refused, timeout) */
46
58
  export declare class AdtNetworkError extends AdtError {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/adt/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,4CAA4C;AAC5C,qBAAa,QAAS,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM;CAI5B;AAED,wCAAwC;AACxC,qBAAa,WAAY,SAAQ,QAAQ;aAGrB,UAAU,EAAE,MAAM;aAClB,IAAI,EAAE,MAAM;aACZ,YAAY,CAAC,EAAE,MAAM;gBAHrC,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,YAAA;IAQvC;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IA6B/C,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;;OAIG;IACH,IAAI,gBAAgB,IAAI,OAAO,CAM9B;CACF;AAED,6DAA6D;AAC7D,qBAAa,eAAgB,SAAQ,QAAQ;aAGzB,KAAK,CAAC,EAAE,KAAK;gBAD7B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED,0CAA0C;AAC1C,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAErD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAE3D"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/adt/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,4CAA4C;AAC5C,qBAAa,QAAS,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM;CAI5B;AAED,wCAAwC;AACxC,qBAAa,WAAY,SAAQ,QAAQ;aAGrB,UAAU,EAAE,MAAM;aAClB,IAAI,EAAE,MAAM;aACZ,YAAY,CAAC,EAAE,MAAM;gBAHrC,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,YAAA;IAQvC;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IA6B/C,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;;OAIG;IACH,IAAI,gBAAgB,IAAI,OAAO,CAM9B;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAgBhD;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAW9D;AAED,6DAA6D;AAC7D,qBAAa,eAAgB,SAAQ,QAAQ;aAGzB,KAAK,CAAC,EAAE,KAAK;gBAD7B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED,0CAA0C;AAC1C,qBAAa,cAAe,SAAQ,QAAQ;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAErD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAE3D"}
@@ -86,6 +86,48 @@ export class AdtApiError extends AdtError {
86
86
  const msg = (this.responseBody ?? '').toLowerCase();
87
87
  return (msg.includes('icmenosession') || msg.includes('session timed out') || msg.includes('session no longer exists'));
88
88
  }
89
+ get isServerError() {
90
+ return this.statusCode >= 500;
91
+ }
92
+ /**
93
+ * Extract ALL localized messages from SAP's XML error response.
94
+ * SAP DDL save errors often return multiple messages with line/column detail.
95
+ * Returns only messages beyond the first (which is already in err.message).
96
+ */
97
+ static extractAllMessages(xml) {
98
+ if (!xml)
99
+ return [];
100
+ const matches = xml.matchAll(/<(?:\w+:)?localizedMessage[^>]*>([^<]+)</g);
101
+ const messages = [];
102
+ let first = true;
103
+ for (const match of matches) {
104
+ if (first) {
105
+ first = false;
106
+ continue; // Skip the first — it's already in extractCleanMessage
107
+ }
108
+ const text = match[1]?.trim();
109
+ if (text)
110
+ messages.push(text);
111
+ }
112
+ return messages;
113
+ }
114
+ /**
115
+ * Extract key-value properties from SAP's XML error response.
116
+ * Properties often contain line numbers, message IDs, and other diagnostic detail.
117
+ */
118
+ static extractProperties(xml) {
119
+ if (!xml)
120
+ return {};
121
+ const props = {};
122
+ const matches = xml.matchAll(/<entry\s+key="([^"]+)">([^<]*)<\/entry>/g);
123
+ for (const match of matches) {
124
+ const key = match[1]?.trim();
125
+ const value = match[2]?.trim();
126
+ if (key && value)
127
+ props[key] = value;
128
+ }
129
+ return props;
130
+ }
89
131
  }
90
132
  /** Network-level error (DNS, connection refused, timeout) */
91
133
  export class AdtNetworkError extends AdtError {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/adt/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/adt/errors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/adt/features.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAiB,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAqC/F;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,EACrB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAyD3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAqBvE;AAkCD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GACxE,UAAU,CAGZ;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAU7G;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAqBnG;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CASxF;AAkCD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,QAAQ,GAAG,WAAW,GAChC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBzC;AAED,gEAAgE;AAChE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAqB7E"}
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/adt/features.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAiB,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA2C/F;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,EACrB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAoE3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAqBvE;AAkCD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GACxE,UAAU,CAGZ;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAU7G;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAqBnG;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CASxF;AAkCD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,QAAQ,GAAG,WAAW,GAChC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBzC;AAED,gEAAgE;AAChE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAuB7E"}
@@ -17,6 +17,7 @@
17
17
  * just check if the endpoint exists (returns 200 or 404).
18
18
  */
19
19
  import { Version } from '@abaplint/core';
20
+ import { AdtApiError } from './errors.js';
20
21
  import { parseInstalledComponents } from './xml-parser.js';
21
22
  const PROBES = [
22
23
  { id: 'hana', endpoint: '/sap/bc/adt/ddic/sysinfo/hanainfo', description: 'HANA database' },
@@ -25,6 +26,12 @@ const PROBES = [
25
26
  { id: 'amdp', endpoint: '/sap/bc/adt/debugger/amdp', description: 'AMDP debugging' },
26
27
  { id: 'ui5', endpoint: '/sap/bc/adt/filestore/ui5-bsp', description: 'UI5/Fiori BSP' },
27
28
  { id: 'transport', endpoint: '/sap/bc/adt/cts/transportrequests', description: 'CTS transport management' },
29
+ { id: 'ui5repo', endpoint: '/sap/opu/odata/UI5/ABAP_REPOSITORY_SRV', description: 'UI5 ABAP Repository Deploy' },
30
+ {
31
+ id: 'flp',
32
+ endpoint: '/sap/opu/odata/UI2/PAGE_BUILDER_CUST/',
33
+ description: 'FLP customization (PAGE_BUILDER_CUST)',
34
+ },
28
35
  ];
29
36
  /** Resolve a single feature based on its mode */
30
37
  function resolveFeature(mode, probeResult, id, description) {
@@ -58,6 +65,8 @@ export async function probeFeatures(client, config, systemTypeOverride) {
58
65
  amdp: config.amdp,
59
66
  ui5: config.ui5,
60
67
  transport: config.transport,
68
+ ui5repo: config.ui5repo,
69
+ flp: config.flp,
61
70
  };
62
71
  // Only probe features that are in "auto" mode
63
72
  const probesToRun = PROBES.filter((p) => modeMap[p.id] === 'auto');
@@ -65,10 +74,19 @@ export async function probeFeatures(client, config, systemTypeOverride) {
65
74
  const [probeResults, systemDetection, textSearchResult, authProbeResult] = await Promise.all([
66
75
  Promise.all(probesToRun.map(async (probe) => {
67
76
  try {
68
- const response = await client.get(probe.endpoint);
69
- return { id: probe.id, available: response.statusCode < 400 };
77
+ // GET on collection endpoints may return 4xx/5xx when the feature is available
78
+ // (e.g. /ddic/ddl/sources returns 400 without an object name, transport returns 200).
79
+ // handleResponse() throws AdtApiError for all status >= 400, so we catch here:
80
+ // - 404 = ICF service not activated / endpoint doesn't exist → unavailable
81
+ // - any other HTTP error (400, 403, 405, 500) = endpoint exists → available
82
+ // - network-level error (no AdtApiError) → unavailable
83
+ await client.get(probe.endpoint);
84
+ return { id: probe.id, available: true };
70
85
  }
71
- catch {
86
+ catch (err) {
87
+ if (err instanceof AdtApiError && err.statusCode !== 404) {
88
+ return { id: probe.id, available: true };
89
+ }
72
90
  return { id: probe.id, available: false };
73
91
  }
74
92
  })),
@@ -300,6 +318,8 @@ export function resolveWithoutProbing(config) {
300
318
  amdp: 'AMDP debugging',
301
319
  ui5: 'UI5/Fiori BSP',
302
320
  transport: 'CTS transport management',
321
+ ui5repo: 'UI5 ABAP Repository Deploy',
322
+ flp: 'FLP customization (PAGE_BUILDER_CUST)',
303
323
  };
304
324
  for (const [id, mode] of Object.entries(config)) {
305
325
  result[id] = resolveFeature(mode, mode === 'on', // Without probing, "auto" defaults to unavailable
@@ -1 +1 @@
1
- {"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/adt/features.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/adt/features.ts"],"names":[],"mappings":"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"}