arc-1 0.9.13 → 0.9.15
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/README.md +17 -4
- package/dist/adt/class-structure.d.ts +1 -1
- package/dist/adt/class-structure.js +1 -1
- package/dist/adt/client.d.ts +16 -3
- package/dist/adt/client.d.ts.map +1 -1
- package/dist/adt/client.js +40 -35
- package/dist/adt/client.js.map +1 -1
- package/dist/adt/ddic-xml.d.ts +9 -0
- package/dist/adt/ddic-xml.d.ts.map +1 -1
- package/dist/adt/ddic-xml.js +49 -53
- package/dist/adt/ddic-xml.js.map +1 -1
- package/dist/adt/devtools.d.ts.map +1 -1
- package/dist/adt/devtools.js +46 -15
- package/dist/adt/devtools.js.map +1 -1
- package/dist/adt/fm-signature.d.ts +1 -1
- package/dist/adt/fm-signature.js +1 -1
- package/dist/adt/rap-generate.js +1 -1
- package/dist/adt/rap-generate.js.map +1 -1
- package/dist/adt/rap-handlers.d.ts +1 -1
- package/dist/adt/rap-handlers.js +1 -1
- package/dist/adt/refactoring.d.ts.map +1 -1
- package/dist/adt/refactoring.js +11 -14
- package/dist/adt/refactoring.js.map +1 -1
- package/dist/adt/server-driven.d.ts +46 -2
- package/dist/adt/server-driven.d.ts.map +1 -1
- package/dist/adt/server-driven.js +13 -3
- package/dist/adt/server-driven.js.map +1 -1
- package/dist/adt/xml-parser.d.ts +8 -1
- package/dist/adt/xml-parser.d.ts.map +1 -1
- package/dist/adt/xml-parser.js +57 -49
- package/dist/adt/xml-parser.js.map +1 -1
- package/dist/authz/policy.d.ts +1 -1
- package/dist/authz/policy.js +1 -1
- package/dist/cache/cache.d.ts +1 -0
- package/dist/cache/cache.d.ts.map +1 -1
- package/dist/cache/cache.js.map +1 -1
- package/dist/cache/inactive-list-cache.d.ts +4 -4
- package/dist/cache/inactive-list-cache.d.ts.map +1 -1
- package/dist/cache/inactive-list-cache.js +19 -12
- package/dist/cache/inactive-list-cache.js.map +1 -1
- package/dist/cache/memory.d.ts +1 -0
- package/dist/cache/memory.d.ts.map +1 -1
- package/dist/cache/memory.js +3 -0
- package/dist/cache/memory.js.map +1 -1
- package/dist/cache/sqlite.d.ts +1 -0
- package/dist/cache/sqlite.d.ts.map +1 -1
- package/dist/cache/sqlite.js +3 -0
- package/dist/cache/sqlite.js.map +1 -1
- package/dist/cache/warmup.d.ts.map +1 -1
- package/dist/cache/warmup.js +85 -38
- package/dist/cache/warmup.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/context/compressor.d.ts.map +1 -1
- package/dist/context/compressor.js +22 -13
- package/dist/context/compressor.js.map +1 -1
- package/dist/context/contract.d.ts.map +1 -1
- package/dist/context/contract.js +4 -3
- package/dist/context/contract.js.map +1 -1
- package/dist/context/deps.d.ts.map +1 -1
- package/dist/context/deps.js +3 -2
- package/dist/context/deps.js.map +1 -1
- package/dist/context/grep.d.ts +3 -1
- package/dist/context/grep.d.ts.map +1 -1
- package/dist/context/grep.js +83 -1
- package/dist/context/grep.js.map +1 -1
- package/dist/context/method-surgery.d.ts.map +1 -1
- package/dist/context/method-surgery.js +3 -2
- package/dist/context/method-surgery.js.map +1 -1
- package/dist/handlers/activate.d.ts +25 -0
- package/dist/handlers/activate.d.ts.map +1 -0
- package/dist/handlers/activate.js +334 -0
- package/dist/handlers/activate.js.map +1 -0
- package/dist/handlers/cache-security.d.ts +22 -0
- package/dist/handlers/cache-security.d.ts.map +1 -0
- package/dist/handlers/cache-security.js +51 -0
- package/dist/handlers/cache-security.js.map +1 -0
- package/dist/handlers/cds-hints.d.ts +26 -0
- package/dist/handlers/cds-hints.d.ts.map +1 -0
- package/dist/handlers/cds-hints.js +380 -0
- package/dist/handlers/cds-hints.js.map +1 -0
- package/dist/handlers/context.d.ts +10 -0
- package/dist/handlers/context.d.ts.map +1 -0
- package/dist/handlers/context.js +344 -0
- package/dist/handlers/context.js.map +1 -0
- package/dist/handlers/diagnose.d.ts +8 -0
- package/dist/handlers/diagnose.d.ts.map +1 -0
- package/dist/handlers/diagnose.js +274 -0
- package/dist/handlers/diagnose.js.map +1 -0
- package/dist/handlers/dispatch.d.ts +39 -0
- package/dist/handlers/dispatch.d.ts.map +1 -0
- package/dist/handlers/dispatch.js +640 -0
- package/dist/handlers/dispatch.js.map +1 -0
- package/dist/handlers/feature-cache.d.ts +26 -0
- package/dist/handlers/feature-cache.d.ts.map +1 -0
- package/dist/handlers/feature-cache.js +45 -0
- package/dist/handlers/feature-cache.js.map +1 -0
- package/dist/handlers/git.d.ts +9 -0
- package/dist/handlers/git.d.ts.map +1 -0
- package/dist/handlers/git.js +227 -0
- package/dist/handlers/git.js.map +1 -0
- package/dist/handlers/lint.d.ts +9 -0
- package/dist/handlers/lint.d.ts.map +1 -0
- package/dist/handlers/lint.js +82 -0
- package/dist/handlers/lint.js.map +1 -0
- package/dist/handlers/manage.d.ts +10 -0
- package/dist/handlers/manage.d.ts.map +1 -0
- package/dist/handlers/manage.js +375 -0
- package/dist/handlers/manage.js.map +1 -0
- package/dist/handlers/navigate.d.ts +8 -0
- package/dist/handlers/navigate.d.ts.map +1 -0
- package/dist/handlers/navigate.js +188 -0
- package/dist/handlers/navigate.js.map +1 -0
- package/dist/handlers/object-types.d.ts +103 -0
- package/dist/handlers/object-types.d.ts.map +1 -0
- package/dist/handlers/object-types.js +476 -0
- package/dist/handlers/object-types.js.map +1 -0
- package/dist/handlers/query.d.ts +7 -0
- package/dist/handlers/query.d.ts.map +1 -0
- package/dist/handlers/query.js +190 -0
- package/dist/handlers/query.js.map +1 -0
- package/dist/handlers/read.d.ts +18 -0
- package/dist/handlers/read.d.ts.map +1 -0
- package/dist/handlers/read.js +581 -0
- package/dist/handlers/read.js.map +1 -0
- package/dist/handlers/schemas.d.ts +28 -26
- package/dist/handlers/schemas.d.ts.map +1 -1
- package/dist/handlers/schemas.js +17 -153
- package/dist/handlers/schemas.js.map +1 -1
- package/dist/handlers/search.d.ts +24 -0
- package/dist/handlers/search.d.ts.map +1 -0
- package/dist/handlers/search.js +208 -0
- package/dist/handlers/search.js.map +1 -0
- package/dist/handlers/shared.d.ts +19 -0
- package/dist/handlers/shared.d.ts.map +1 -0
- package/dist/handlers/shared.js +23 -0
- package/dist/handlers/shared.js.map +1 -0
- package/dist/handlers/tool-registry.d.ts +44 -0
- package/dist/handlers/tool-registry.d.ts.map +1 -0
- package/dist/handlers/tool-registry.js +152 -0
- package/dist/handlers/tool-registry.js.map +1 -0
- package/dist/handlers/tools.d.ts +9 -0
- package/dist/handlers/tools.d.ts.map +1 -1
- package/dist/handlers/tools.js +40 -141
- package/dist/handlers/tools.js.map +1 -1
- package/dist/handlers/transport.d.ts +8 -0
- package/dist/handlers/transport.d.ts.map +1 -0
- package/dist/handlers/transport.js +281 -0
- package/dist/handlers/transport.js.map +1 -0
- package/dist/handlers/write/class-surgery.d.ts +18 -0
- package/dist/handlers/write/class-surgery.d.ts.map +1 -0
- package/dist/handlers/write/class-surgery.js +366 -0
- package/dist/handlers/write/class-surgery.js.map +1 -0
- package/dist/handlers/write/context.d.ts +43 -0
- package/dist/handlers/write/context.d.ts.map +1 -0
- package/dist/handlers/write/context.js +5 -0
- package/dist/handlers/write/context.js.map +1 -0
- package/dist/handlers/write/create.d.ts +8 -0
- package/dist/handlers/write/create.d.ts.map +1 -0
- package/dist/handlers/write/create.js +603 -0
- package/dist/handlers/write/create.js.map +1 -0
- package/dist/handlers/write/rap.d.ts +8 -0
- package/dist/handlers/write/rap.d.ts.map +1 -0
- package/dist/handlers/write/rap.js +235 -0
- package/dist/handlers/write/rap.js.map +1 -0
- package/dist/handlers/write/update-delete.d.ts +8 -0
- package/dist/handlers/write/update-delete.d.ts.map +1 -0
- package/dist/handlers/write/update-delete.js +182 -0
- package/dist/handlers/write/update-delete.js.map +1 -0
- package/dist/handlers/write-helpers.d.ts +155 -0
- package/dist/handlers/write-helpers.d.ts.map +1 -0
- package/dist/handlers/write-helpers.js +859 -0
- package/dist/handlers/write-helpers.js.map +1 -0
- package/dist/handlers/write.d.ts +16 -0
- package/dist/handlers/write.d.ts.map +1 -0
- package/dist/handlers/write.js +210 -0
- package/dist/handlers/write.js.map +1 -0
- package/dist/handlers/zod-errors.d.ts +1 -1
- package/dist/handlers/zod-errors.js +1 -1
- package/dist/lint/abaplint-config-cache.d.ts +5 -0
- package/dist/lint/abaplint-config-cache.d.ts.map +1 -0
- package/dist/lint/abaplint-config-cache.js +29 -0
- package/dist/lint/abaplint-config-cache.js.map +1 -0
- package/dist/lint/config-builder.d.ts.map +1 -1
- package/dist/lint/config-builder.js +3 -4
- package/dist/lint/config-builder.js.map +1 -1
- package/dist/lint/lint.d.ts +1 -1
- package/dist/lint/lint.d.ts.map +1 -1
- package/dist/lint/lint.js +3 -2
- package/dist/lint/lint.js.map +1 -1
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +22 -8
- package/dist/server/config.js.map +1 -1
- package/dist/server/mcp-rate-limit.d.ts +1 -1
- package/dist/server/mcp-rate-limit.js +1 -1
- package/dist/server/server.d.ts +1 -1
- package/dist/server/server.js +3 -2
- package/dist/server/server.js.map +1 -1
- package/package.json +15 -10
- package/dist/handlers/intent.d.ts +0 -144
- package/dist/handlers/intent.d.ts.map +0 -1
- package/dist/handlers/intent.js +0 -6782
- package/dist/handlers/intent.js.map +0 -1
package/dist/context/grep.js
CHANGED
|
@@ -13,7 +13,12 @@
|
|
|
13
13
|
*/
|
|
14
14
|
const DEFAULT_CONTEXT_LINES = 3;
|
|
15
15
|
const DEFAULT_MAX_MATCHES = 100;
|
|
16
|
+
export const MAX_GREP_PATTERN_LENGTH = 512;
|
|
17
|
+
export const MAX_GREP_LINE_LENGTH = 1000;
|
|
16
18
|
const REGEX_META = /[.*+?^${}()|[\]\\]/;
|
|
19
|
+
const NESTED_QUANTIFIER_GROUP = /\((?:\?:)?(?:[^()[\]\\]|\\.|\[[^\]]*])*[*+{](?:[^()[\]\\]|\\.|\[[^\]]*])*\)\s*(?:[+*?]|\{\d)/;
|
|
20
|
+
const BACKREFERENCE = /\\[1-9]/;
|
|
21
|
+
const LOOKAROUND = /\(\?(?:[=!]|<[=!])/;
|
|
17
22
|
function escapeRegex(s) {
|
|
18
23
|
return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
19
24
|
}
|
|
@@ -26,12 +31,81 @@ function tryCompile(pattern) {
|
|
|
26
31
|
return null;
|
|
27
32
|
}
|
|
28
33
|
}
|
|
34
|
+
function isRegexQuantifierAt(pattern, index) {
|
|
35
|
+
const char = pattern[index];
|
|
36
|
+
if (char === '{')
|
|
37
|
+
return /^\{\d+(?:,\d*)?\}/.test(pattern.slice(index));
|
|
38
|
+
return char === '+' || char === '*' || char === '?';
|
|
39
|
+
}
|
|
40
|
+
function hasQuantifiedAlternationGroup(pattern) {
|
|
41
|
+
const stack = [];
|
|
42
|
+
let inCharClass = false;
|
|
43
|
+
for (let i = 0; i < pattern.length; i++) {
|
|
44
|
+
const char = pattern[i];
|
|
45
|
+
if (char === '\\') {
|
|
46
|
+
i++;
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (inCharClass) {
|
|
50
|
+
if (char === ']')
|
|
51
|
+
inCharClass = false;
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (char === '[') {
|
|
55
|
+
inCharClass = true;
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
if (char === '(') {
|
|
59
|
+
stack.push({ hasAlternation: false });
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (char === '|') {
|
|
63
|
+
const top = stack[stack.length - 1];
|
|
64
|
+
if (top)
|
|
65
|
+
top.hasAlternation = true;
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (char === ')') {
|
|
69
|
+
const frame = stack.pop();
|
|
70
|
+
if (!frame)
|
|
71
|
+
continue;
|
|
72
|
+
if (frame.hasAlternation && isRegexQuantifierAt(pattern, i + 1)) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
const parent = stack[stack.length - 1];
|
|
76
|
+
if (parent && frame.hasAlternation)
|
|
77
|
+
parent.hasAlternation = true;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
function unsafePatternReason(pattern) {
|
|
83
|
+
if (pattern.length > MAX_GREP_PATTERN_LENGTH) {
|
|
84
|
+
return `pattern is too long (${pattern.length} characters; maximum ${MAX_GREP_PATTERN_LENGTH})`;
|
|
85
|
+
}
|
|
86
|
+
if (LOOKAROUND.test(pattern)) {
|
|
87
|
+
return 'lookaround assertions are disabled for server-side grep';
|
|
88
|
+
}
|
|
89
|
+
if (BACKREFERENCE.test(pattern)) {
|
|
90
|
+
return 'backreferences are disabled for server-side grep';
|
|
91
|
+
}
|
|
92
|
+
if (NESTED_QUANTIFIER_GROUP.test(pattern)) {
|
|
93
|
+
return 'nested quantified groups are disabled for server-side grep';
|
|
94
|
+
}
|
|
95
|
+
if (hasQuantifiedAlternationGroup(pattern)) {
|
|
96
|
+
return 'quantified alternation groups are disabled for server-side grep';
|
|
97
|
+
}
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
function trimSearchLine(line) {
|
|
101
|
+
return line.length <= MAX_GREP_LINE_LENGTH ? line : line.slice(0, MAX_GREP_LINE_LENGTH);
|
|
102
|
+
}
|
|
29
103
|
/** 0-based indexes of lines matching `regex` (resets lastIndex so the global flag never skips a line). */
|
|
30
104
|
function matchingIndexes(lines, regex) {
|
|
31
105
|
const out = [];
|
|
32
106
|
for (let i = 0; i < lines.length; i++) {
|
|
33
107
|
regex.lastIndex = 0;
|
|
34
|
-
if (regex.test(lines[i]))
|
|
108
|
+
if (regex.test(trimSearchLine(lines[i])))
|
|
35
109
|
out.push(i);
|
|
36
110
|
}
|
|
37
111
|
return out;
|
|
@@ -89,6 +163,14 @@ export function grepSource(source, pattern, opts = {}) {
|
|
|
89
163
|
const contextLines = opts.contextLines ?? DEFAULT_CONTEXT_LINES;
|
|
90
164
|
const maxMatches = opts.maxMatches ?? DEFAULT_MAX_MATCHES;
|
|
91
165
|
const lines = source.replace(/\r\n/g, '\n').split('\n');
|
|
166
|
+
const unsafeReason = unsafePatternReason(pattern);
|
|
167
|
+
if (unsafeReason) {
|
|
168
|
+
return {
|
|
169
|
+
matchCount: 0,
|
|
170
|
+
invalidPattern: true,
|
|
171
|
+
output: `Unsupported grep pattern: ${unsafeReason}. Use a shorter literal token or a simpler regex.`,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
92
174
|
const { indexes, effectivePattern, invalidPattern } = resolveMatches(lines, pattern);
|
|
93
175
|
if (invalidPattern) {
|
|
94
176
|
return {
|
package/dist/context/grep.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grep.js","sourceRoot":"","sources":["../../src/context/grep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA+BH,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,UAAU,GAAG,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"grep.js","sourceRoot":"","sources":["../../src/context/grep.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-surgery.d.ts","sourceRoot":"","sources":["../../src/context/method-surgery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"method-surgery.d.ts","sourceRoot":"","sources":["../../src/context/method-surgery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAgD,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAOvF,gDAAgD;AAChD,MAAM,WAAW,UAAU;IACzB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,UAAU,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;IAC/C,iHAAiH;IACjH,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,cAAc,EAAE,OAAO,CAAC;IACxB,oEAAoE;IACpE,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,2CAA2C;AAC3C,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiBD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAa1G;AAoTD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,OAAO,GACxB,mBAAmB,CAoJrB;AAID;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,OAAO,GACxB,kBAAkB,CAgDpB;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CA+BrE"}
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
* All functions are pure (no I/O) — they operate on source strings and return results.
|
|
10
10
|
* Uses @abaplint/core AST for accurate parsing with regex fallback for unparseable source.
|
|
11
11
|
*/
|
|
12
|
-
import {
|
|
12
|
+
import { MemoryFile, Registry, Statements, Structures, Version } from '@abaplint/core';
|
|
13
|
+
import { getDefaultAbaplintConfig } from '../lint/abaplint-config-cache.js';
|
|
13
14
|
const DEFAULT_VERSION = Version.Cloud;
|
|
14
15
|
// ─── List Methods ───────────────────────────────────────────────────
|
|
15
16
|
/**
|
|
@@ -32,7 +33,7 @@ export function listMethods(source, className, abaplintVersion) {
|
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
function listMethodsAST(source, className, ver) {
|
|
35
|
-
const config =
|
|
36
|
+
const config = getDefaultAbaplintConfig(ver);
|
|
36
37
|
const reg = new Registry(config);
|
|
37
38
|
reg.addFile(new MemoryFile(`${className.toLowerCase().replace(/\//g, '#')}.clas.abap`, source));
|
|
38
39
|
reg.parse();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-surgery.js","sourceRoot":"","sources":["../../src/context/method-surgery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"method-surgery.js","sourceRoot":"","sources":["../../src/context/method-surgery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SAPActivate handler — activate single/batch objects, CDS activation ordering, message
|
|
3
|
+
* formatting.
|
|
4
|
+
*/
|
|
5
|
+
import type { AdtClient } from '../adt/client.js';
|
|
6
|
+
import { type ActivationResult } from '../adt/devtools.js';
|
|
7
|
+
import type { CachingLayer } from '../cache/caching-layer.js';
|
|
8
|
+
import { type CacheSecurityContext } from './cache-security.js';
|
|
9
|
+
import { type ToolResult } from './shared.js';
|
|
10
|
+
export declare function handleSAPActivate(client: AdtClient, args: Record<string, unknown>, cachingLayer: CachingLayer | undefined, cacheSecurity: CacheSecurityContext): Promise<ToolResult>;
|
|
11
|
+
export interface BatchActivationObject {
|
|
12
|
+
type: string;
|
|
13
|
+
name: string;
|
|
14
|
+
url: string;
|
|
15
|
+
}
|
|
16
|
+
interface BatchActivationObjectStatus {
|
|
17
|
+
type: string;
|
|
18
|
+
name: string;
|
|
19
|
+
status: 'active' | 'warning' | 'error';
|
|
20
|
+
messages: string[];
|
|
21
|
+
}
|
|
22
|
+
export declare function buildBatchActivationStatuses(objects: BatchActivationObject[], result: ActivationResult): BatchActivationObjectStatus[];
|
|
23
|
+
export declare function formatBatchActivationStatuses(statuses: BatchActivationObjectStatus[]): string;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=activate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activate.d.ts","sourceRoot":"","sources":["../../src/handlers/activate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,KAAK,gBAAgB,EAKtB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,KAAK,oBAAoB,EAA0B,MAAM,qBAAqB,CAAC;AAIxF,OAAO,EAAe,KAAK,UAAU,EAAc,MAAM,aAAa,CAAC;AASvE,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,aAAa,EAAE,oBAAoB,GAClC,OAAO,CAAC,UAAU,CAAC,CA0QrB;AAoCD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,2BAA2B;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAOD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,qBAAqB,EAAE,EAChC,MAAM,EAAE,gBAAgB,GACvB,2BAA2B,EAAE,CAwC/B;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,2BAA2B,EAAE,GAAG,MAAM,CAa7F"}
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SAPActivate handler — activate single/batch objects, CDS activation ordering, message
|
|
3
|
+
* formatting.
|
|
4
|
+
*/
|
|
5
|
+
import { activate, activateBatch, publishServiceBinding, unpublishServiceBinding, } from '../adt/devtools.js';
|
|
6
|
+
import { AdtSafetyError } from '../adt/errors.js';
|
|
7
|
+
import { isServerDrivenObjectType, serverDrivenBlueContentType, serverDrivenObjectUrl } from '../adt/server-driven.js';
|
|
8
|
+
import { invalidateInactiveList } from './cache-security.js';
|
|
9
|
+
import { buildCdsActivationDependencyHint } from './cds-hints.js';
|
|
10
|
+
import { isTablesEndpointAvailable } from './feature-cache.js';
|
|
11
|
+
import { normalizeObjectType, objectUrlForType } from './object-types.js';
|
|
12
|
+
import { errorResult, textResult } from './shared.js';
|
|
13
|
+
import { enforceAllowedPackageForObjectUrl, inactiveSyntaxDiagnostic, SERVICEBINDING_V2_ACCEPT, } from './write-helpers.js';
|
|
14
|
+
// ─── SAPActivate Handler ─────────────────────────────────────────────
|
|
15
|
+
export async function handleSAPActivate(client, args, cachingLayer, cacheSecurity) {
|
|
16
|
+
const action = String(args.action ?? 'activate');
|
|
17
|
+
const name = String(args.name ?? '');
|
|
18
|
+
const version = String(args.version ?? '0001');
|
|
19
|
+
const explicitServiceType = args.service_type;
|
|
20
|
+
// Resolve the OData service type for publish/unpublish endpoints.
|
|
21
|
+
// Explicit service_type parameter takes precedence; otherwise auto-detect from SRVB metadata.
|
|
22
|
+
async function resolveServiceType() {
|
|
23
|
+
if (explicitServiceType === 'odatav4' || explicitServiceType === 'odatav2')
|
|
24
|
+
return explicitServiceType;
|
|
25
|
+
try {
|
|
26
|
+
const { source: srvbJson } = await client.getSrvb(name);
|
|
27
|
+
const srvb = JSON.parse(srvbJson);
|
|
28
|
+
if (srvb.odataVersion === 'V4')
|
|
29
|
+
return 'odatav4';
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
// If readback fails, fall back to odatav2 (legacy default)
|
|
33
|
+
}
|
|
34
|
+
return 'odatav2';
|
|
35
|
+
}
|
|
36
|
+
// Publish service binding
|
|
37
|
+
if (action === 'publish_srvb') {
|
|
38
|
+
if (!name) {
|
|
39
|
+
return errorResult('Missing required "name" parameter for publish_srvb action.');
|
|
40
|
+
}
|
|
41
|
+
await enforceAllowedPackageForObjectUrl(client, objectUrlForType('SRVB', name), `Publish of service binding '${name}'`, SERVICEBINDING_V2_ACCEPT);
|
|
42
|
+
const serviceType = await resolveServiceType();
|
|
43
|
+
const result = await publishServiceBinding(client.http, client.safety, name, version, serviceType);
|
|
44
|
+
if (result.severity === 'ERROR') {
|
|
45
|
+
return errorResult(`Failed to publish service binding ${name}: ${result.shortText}${result.longText ? ` — ${result.longText}` : ''}`);
|
|
46
|
+
}
|
|
47
|
+
let srvbInfo;
|
|
48
|
+
try {
|
|
49
|
+
srvbInfo = (await client.getSrvb(name)).source;
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
if (result.severity === 'UNKNOWN') {
|
|
53
|
+
return errorResult(`Publish response for ${name} could not be parsed and readback failed — use SAPRead to verify publish status.`);
|
|
54
|
+
}
|
|
55
|
+
return textResult(`Successfully published service binding ${name} (readback of binding metadata failed — use SAPRead to verify)`);
|
|
56
|
+
}
|
|
57
|
+
// Verify the published flag from the SRVB readback
|
|
58
|
+
try {
|
|
59
|
+
const srvbData = JSON.parse(srvbInfo);
|
|
60
|
+
if (srvbData.published === false) {
|
|
61
|
+
return errorResult(`Publish of service binding ${name} may have failed — binding is still unpublished.\n\n${srvbInfo}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// If we can't parse the readback JSON, fall through — better to return what we have
|
|
66
|
+
}
|
|
67
|
+
if (result.severity === 'UNKNOWN') {
|
|
68
|
+
return textResult(`Publish request for ${name} completed but response could not be fully parsed. Verify status below:\n\n${srvbInfo}`);
|
|
69
|
+
}
|
|
70
|
+
return textResult(`Successfully published service binding ${name}.\n\n${srvbInfo}`);
|
|
71
|
+
}
|
|
72
|
+
// Unpublish service binding
|
|
73
|
+
if (action === 'unpublish_srvb') {
|
|
74
|
+
if (!name) {
|
|
75
|
+
return errorResult('Missing required "name" parameter for unpublish_srvb action.');
|
|
76
|
+
}
|
|
77
|
+
await enforceAllowedPackageForObjectUrl(client, objectUrlForType('SRVB', name), `Unpublish of service binding '${name}'`, SERVICEBINDING_V2_ACCEPT);
|
|
78
|
+
const serviceType = await resolveServiceType();
|
|
79
|
+
const result = await unpublishServiceBinding(client.http, client.safety, name, version, serviceType);
|
|
80
|
+
if (result.severity === 'ERROR') {
|
|
81
|
+
return errorResult(`Failed to unpublish service binding ${name}: ${result.shortText}${result.longText ? ` — ${result.longText}` : ''}`);
|
|
82
|
+
}
|
|
83
|
+
let srvbInfo;
|
|
84
|
+
try {
|
|
85
|
+
srvbInfo = (await client.getSrvb(name)).source;
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
// Readback failed — fall through with what we have
|
|
89
|
+
}
|
|
90
|
+
// Verify the published flag from the SRVB readback
|
|
91
|
+
if (srvbInfo) {
|
|
92
|
+
try {
|
|
93
|
+
const srvbData = JSON.parse(srvbInfo);
|
|
94
|
+
if (srvbData.published === true) {
|
|
95
|
+
return errorResult(`Unpublish of service binding ${name} may have failed — binding is still published.\n\n${srvbInfo}`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// If we can't parse the readback JSON, fall through
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (result.severity === 'UNKNOWN') {
|
|
103
|
+
return textResult(`Unpublish request for ${name} completed but response could not be fully parsed.${srvbInfo ? ` Verify status below:\n\n${srvbInfo}` : ' Use SAPRead to verify status.'}`);
|
|
104
|
+
}
|
|
105
|
+
return textResult(`Successfully unpublished service binding ${name}.${srvbInfo ? `\n\n${srvbInfo}` : ''}`);
|
|
106
|
+
}
|
|
107
|
+
// Batch activation: multiple objects at once (for RAP stacks etc.)
|
|
108
|
+
const type = normalizeObjectType(String(args.type ?? ''));
|
|
109
|
+
const preaudit = args.preaudit !== undefined ? Boolean(args.preaudit) : undefined;
|
|
110
|
+
const activateOpts = preaudit !== undefined ? { preaudit } : undefined;
|
|
111
|
+
if (args.objects && Array.isArray(args.objects)) {
|
|
112
|
+
const rawObjects = args.objects;
|
|
113
|
+
// Resolve URLs sequentially. For TABL we await the URL resolver so DDIC
|
|
114
|
+
// structures (which live at /sap/bc/adt/ddic/structures/) are addressed
|
|
115
|
+
// correctly; the resolver short-circuits on its in-memory cache.
|
|
116
|
+
// For FUNC the URL needs the parent function-group baked into the path
|
|
117
|
+
// (issue #250); each batch entry must carry `group` or be auto-resolvable
|
|
118
|
+
// by name.
|
|
119
|
+
const objects = await Promise.all(rawObjects.map(async (o) => {
|
|
120
|
+
const objType = normalizeObjectType(String(o.type ?? type));
|
|
121
|
+
const objName = String(o.name ?? '');
|
|
122
|
+
let url;
|
|
123
|
+
if (objType === 'TABL') {
|
|
124
|
+
// Use the write-path resolver: refuses TABL/DT activation on systems
|
|
125
|
+
// that don't expose /sap/bc/adt/ddic/tables/ (NW 7.50/7.51), where
|
|
126
|
+
// activate would hit the wrong endpoint. See issue #285.
|
|
127
|
+
url = await client.resolveTablObjectUrlForWrite(objName, {
|
|
128
|
+
tablesEndpointAvailable: isTablesEndpointAvailable(),
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
else if (objType === 'FUNC') {
|
|
132
|
+
let group = String(o.group ?? args.group ?? '').trim();
|
|
133
|
+
if (!group) {
|
|
134
|
+
const resolved = cachingLayer
|
|
135
|
+
? await cachingLayer.resolveFuncGroup(client, objName)
|
|
136
|
+
: await client.resolveFunctionGroup(objName);
|
|
137
|
+
if (!resolved) {
|
|
138
|
+
throw new Error(`Cannot resolve function group for FM "${objName}" in batch activate. Provide "group" on each FUNC entry.`);
|
|
139
|
+
}
|
|
140
|
+
group = resolved;
|
|
141
|
+
}
|
|
142
|
+
const groupLc = encodeURIComponent(group.toLowerCase());
|
|
143
|
+
url = `/sap/bc/adt/functions/groups/${groupLc}/fmodules/${encodeURIComponent(objName.toLowerCase())}`;
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
url = objectUrlForType(objType, objName);
|
|
147
|
+
}
|
|
148
|
+
return { type: objType, name: objName, url };
|
|
149
|
+
}));
|
|
150
|
+
// Enforce the allowedPackages ceiling against each object's REAL package before
|
|
151
|
+
// activating ANY of them — one out-of-allowlist object aborts the whole batch
|
|
152
|
+
// (no partial activation). Fail-closed; no-op when unrestricted. (security audit 2026-06)
|
|
153
|
+
for (const o of objects) {
|
|
154
|
+
await enforceAllowedPackageForObjectUrl(client, o.url, `Activation of ${o.type} '${o.name}'`);
|
|
155
|
+
}
|
|
156
|
+
const result = await activateBatch(client.http, client.safety, objects, activateOpts);
|
|
157
|
+
const names = objects.map((o) => o.name).join(', ');
|
|
158
|
+
const batchStatuses = buildBatchActivationStatuses(objects, result);
|
|
159
|
+
const statusDetails = formatBatchActivationStatuses(batchStatuses);
|
|
160
|
+
if (result.success) {
|
|
161
|
+
for (const object of objects) {
|
|
162
|
+
cachingLayer?.invalidate(object.type, object.name, 'all');
|
|
163
|
+
}
|
|
164
|
+
invalidateInactiveList(cachingLayer, client, cacheSecurity);
|
|
165
|
+
return textResult(`Successfully activated ${objects.length} objects: ${names}.${statusDetails}`);
|
|
166
|
+
}
|
|
167
|
+
// On batch failure enrich with per-object inactive-version syntax errors —
|
|
168
|
+
// only for objects whose activation returned no error details, to avoid duplicating messages.
|
|
169
|
+
const objectsNeedingSyntaxCheck = objects.filter((_o, i) => batchStatuses[i].status !== 'error');
|
|
170
|
+
const diagnostics = await Promise.all(objectsNeedingSyntaxCheck.map((o) => inactiveSyntaxDiagnostic(client, o.type, o.name)));
|
|
171
|
+
const combinedDiag = diagnostics
|
|
172
|
+
.map((d, i) => (d ? `\n[${objectsNeedingSyntaxCheck[i].name}]${d}` : ''))
|
|
173
|
+
.filter(Boolean)
|
|
174
|
+
.join('');
|
|
175
|
+
return errorResult(`Batch activation failed for: ${names}.${statusDetails}\n${formatActivationMessages(result)}${combinedDiag}`);
|
|
176
|
+
}
|
|
177
|
+
// Single activation (existing behavior). For TABL we use the write-path
|
|
178
|
+
// resolver so transparent-table activations on NW 7.50/7.51 are refused
|
|
179
|
+
// with the SE11 hint instead of silently activating against /structures/
|
|
180
|
+
// (which would not even be the right object). See issue #285.
|
|
181
|
+
// For FUNC the URL needs the parent function group baked into the path
|
|
182
|
+
// (issue #250) — `objectBasePath('FUNC')` deliberately throws so generic
|
|
183
|
+
// builders fail loudly. Auto-resolve the group when omitted.
|
|
184
|
+
let objectUrl;
|
|
185
|
+
if (type === 'TABL') {
|
|
186
|
+
try {
|
|
187
|
+
objectUrl = await client.resolveTablObjectUrlForWrite(name, {
|
|
188
|
+
tablesEndpointAvailable: isTablesEndpointAvailable(),
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
catch (resolveErr) {
|
|
192
|
+
if (resolveErr instanceof AdtSafetyError) {
|
|
193
|
+
return errorResult(resolveErr.message);
|
|
194
|
+
}
|
|
195
|
+
throw resolveErr;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
else if (type === 'FUNC') {
|
|
199
|
+
let group = String(args.group ?? '').trim();
|
|
200
|
+
if (!group) {
|
|
201
|
+
const resolved = cachingLayer
|
|
202
|
+
? await cachingLayer.resolveFuncGroup(client, name)
|
|
203
|
+
: await client.resolveFunctionGroup(name);
|
|
204
|
+
if (!resolved) {
|
|
205
|
+
return errorResult(`Cannot resolve function group for FM "${name}". Provide the "group" parameter explicitly.`);
|
|
206
|
+
}
|
|
207
|
+
group = resolved;
|
|
208
|
+
}
|
|
209
|
+
const groupLc = encodeURIComponent(group.toLowerCase());
|
|
210
|
+
objectUrl = `/sap/bc/adt/functions/groups/${groupLc}/fmodules/${encodeURIComponent(name.toLowerCase())}`;
|
|
211
|
+
}
|
|
212
|
+
else if (isServerDrivenObjectType(type)) {
|
|
213
|
+
// Server-driven objects (8.16+): objectBasePath(<sdo>) throws, so route via the registry href.
|
|
214
|
+
// Single-object activation only — SDO is not added to the batch resolver above (batch is
|
|
215
|
+
// RAP-stack-oriented). The generic activate() endpoint handles SDO (verified: activate(DESD) → ok).
|
|
216
|
+
objectUrl = serverDrivenObjectUrl(type, name);
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
objectUrl = objectUrlForType(type, name);
|
|
220
|
+
}
|
|
221
|
+
// Enforce the allowedPackages ceiling against the object's REAL package before
|
|
222
|
+
// activating — activation is a write-class state change (inactive draft → active
|
|
223
|
+
// runtime version) and must honor the same package boundary as create/update/delete.
|
|
224
|
+
// Fail-closed; no-op when allowedPackages is unrestricted. (security audit 2026-06)
|
|
225
|
+
// SDO metadata only renders its packageRef under the blues Accept — thread it for SDO types.
|
|
226
|
+
await enforceAllowedPackageForObjectUrl(client, objectUrl, `Activation of ${type} '${name}'`, isServerDrivenObjectType(type) ? serverDrivenBlueContentType(type) : undefined);
|
|
227
|
+
const result = await activate(client.http, client.safety, objectUrl, { ...activateOpts, name });
|
|
228
|
+
if (result.success) {
|
|
229
|
+
cachingLayer?.invalidate(type, name, 'all');
|
|
230
|
+
invalidateInactiveList(cachingLayer, client, cacheSecurity);
|
|
231
|
+
return textResult(`Successfully activated ${type} ${name}.${formatActivationMessages(result)}`);
|
|
232
|
+
}
|
|
233
|
+
// On failure, try to enrich with the actual compiler errors from the inactive version —
|
|
234
|
+
// especially useful when SAP returned <ioc:inactiveObjects> with no <msg> detail.
|
|
235
|
+
// Skip when activation already returned error details to avoid duplicating the same messages.
|
|
236
|
+
const hasActivationErrors = result.details.some((d) => d.severity === 'error');
|
|
237
|
+
const syntaxDetail = hasActivationErrors ? '' : await inactiveSyntaxDiagnostic(client, type, name);
|
|
238
|
+
let activationError = `Activation failed for ${type} ${name}.\n${formatActivationMessages(result)}${syntaxDetail}`;
|
|
239
|
+
if (type === 'DDLS') {
|
|
240
|
+
activationError += `\n\n${await buildCdsActivationDependencyHint(client, name, objectUrl)}`;
|
|
241
|
+
}
|
|
242
|
+
return errorResult(activationError);
|
|
243
|
+
}
|
|
244
|
+
/** Format activation result messages with structured detail (line numbers, URIs) when available */
|
|
245
|
+
function formatActivationMessages(result) {
|
|
246
|
+
if (result.details.length === 0)
|
|
247
|
+
return '';
|
|
248
|
+
const errors = result.details.filter((d) => d.severity === 'error');
|
|
249
|
+
const warnings = result.details.filter((d) => d.severity === 'warning');
|
|
250
|
+
const parts = [];
|
|
251
|
+
if (errors.length > 0) {
|
|
252
|
+
const formatted = errors.map((e) => {
|
|
253
|
+
const prefix = e.line ? `[line ${e.line}] ` : '';
|
|
254
|
+
const suffix = e.uri ? ` (${e.uri})` : '';
|
|
255
|
+
return `- ${prefix}${e.text}${suffix}`;
|
|
256
|
+
});
|
|
257
|
+
parts.push(`Errors:\n${formatted.join('\n')}`);
|
|
258
|
+
}
|
|
259
|
+
if (warnings.length > 0) {
|
|
260
|
+
const formatted = warnings.map((w) => {
|
|
261
|
+
const prefix = w.line ? `[line ${w.line}] ` : '';
|
|
262
|
+
return `- ${prefix}${w.text}`;
|
|
263
|
+
});
|
|
264
|
+
parts.push(`Warnings:\n${formatted.join('\n')}`);
|
|
265
|
+
}
|
|
266
|
+
// Fall back to flat messages if no errors/warnings but info messages exist
|
|
267
|
+
if (parts.length === 0 && result.messages.length > 0) {
|
|
268
|
+
return `\nMessages: ${result.messages.join('; ')}`;
|
|
269
|
+
}
|
|
270
|
+
return parts.length > 0 ? `\n${parts.join('\n')}` : '';
|
|
271
|
+
}
|
|
272
|
+
function normalizeActivationUri(uri) {
|
|
273
|
+
if (!uri)
|
|
274
|
+
return undefined;
|
|
275
|
+
return uri.replace(/#.*$/, '').replace(/\/+$/, '').toLowerCase();
|
|
276
|
+
}
|
|
277
|
+
export function buildBatchActivationStatuses(objects, result) {
|
|
278
|
+
// Group error details by object. SAP error URIs may be subpaths of the object URL
|
|
279
|
+
// (e.g. .../classes/zcl_demo/source/main for object .../classes/ZCL_DEMO) and may
|
|
280
|
+
// differ in case, so we lowercase and use startsWith for matching.
|
|
281
|
+
const objectKeys = objects.map((obj) => normalizeActivationUri(obj.url) ?? '');
|
|
282
|
+
const perObject = objects.map(() => []);
|
|
283
|
+
const unassigned = [];
|
|
284
|
+
for (const detail of result.details) {
|
|
285
|
+
const detailUri = normalizeActivationUri(detail.uri);
|
|
286
|
+
const prefix = detail.line ? `[line ${detail.line}] ` : '';
|
|
287
|
+
const suffix = detail.uri ? ` (${detail.uri})` : '';
|
|
288
|
+
if (!detailUri) {
|
|
289
|
+
unassigned.push(`${prefix}${detail.text}${suffix}`);
|
|
290
|
+
continue;
|
|
291
|
+
}
|
|
292
|
+
const matchIdx = objectKeys.findIndex((k) => k && detailUri.startsWith(k));
|
|
293
|
+
if (matchIdx >= 0) {
|
|
294
|
+
perObject[matchIdx].push({ severity: detail.severity, text: `${prefix}${detail.text}${suffix}` });
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
unassigned.push(`${prefix}${detail.text}${suffix}`);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
return objects.map((obj, index) => {
|
|
301
|
+
const details = perObject[index];
|
|
302
|
+
const hasError = details.some((detail) => detail.severity === 'error');
|
|
303
|
+
const hasWarning = details.some((detail) => detail.severity === 'warning');
|
|
304
|
+
const status = hasError ? 'error' : hasWarning ? 'warning' : 'active';
|
|
305
|
+
const messages = details.map((detail) => detail.text);
|
|
306
|
+
if (index === 0 && unassigned.length > 0) {
|
|
307
|
+
messages.push(...unassigned);
|
|
308
|
+
}
|
|
309
|
+
return {
|
|
310
|
+
type: obj.type,
|
|
311
|
+
name: obj.name,
|
|
312
|
+
status,
|
|
313
|
+
messages,
|
|
314
|
+
};
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
export function formatBatchActivationStatuses(statuses) {
|
|
318
|
+
if (statuses.length === 0)
|
|
319
|
+
return '';
|
|
320
|
+
const lines = [];
|
|
321
|
+
for (const status of statuses) {
|
|
322
|
+
if (status.messages.length === 0) {
|
|
323
|
+
lines.push(`- ${status.name} (${status.type}): ${status.status}`);
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
for (const msg of status.messages) {
|
|
327
|
+
lines.push(`- ${status.name} (${status.type}) ${msg}`);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
return `\n${lines.join('\n')}`;
|
|
332
|
+
}
|
|
333
|
+
// ─── SAPDiagnose Handler ─────────────────────────────────────────────
|
|
334
|
+
//# sourceMappingURL=activate.js.map
|