arc-1 0.9.27 → 1.0.0
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 +28 -11
- package/dist/adt/abapgit.d.ts +19 -6
- package/dist/adt/abapgit.d.ts.map +1 -1
- package/dist/adt/abapgit.js +141 -36
- package/dist/adt/abapgit.js.map +1 -1
- package/dist/adt/client.d.ts +21 -8
- package/dist/adt/client.d.ts.map +1 -1
- package/dist/adt/client.js +47 -7
- package/dist/adt/client.js.map +1 -1
- package/dist/adt/config.d.ts +15 -0
- package/dist/adt/config.d.ts.map +1 -1
- package/dist/adt/config.js.map +1 -1
- package/dist/adt/crud.d.ts +7 -2
- package/dist/adt/crud.d.ts.map +1 -1
- package/dist/adt/crud.js +12 -4
- package/dist/adt/crud.js.map +1 -1
- package/dist/adt/ddic-xml.d.ts +27 -17
- package/dist/adt/ddic-xml.d.ts.map +1 -1
- package/dist/adt/ddic-xml.js +45 -34
- package/dist/adt/ddic-xml.js.map +1 -1
- package/dist/adt/devtools.d.ts +13 -0
- package/dist/adt/devtools.d.ts.map +1 -1
- package/dist/adt/devtools.js +120 -50
- package/dist/adt/devtools.js.map +1 -1
- package/dist/adt/errors.d.ts +1 -1
- package/dist/adt/errors.d.ts.map +1 -1
- package/dist/adt/errors.js +18 -0
- package/dist/adt/errors.js.map +1 -1
- package/dist/adt/http.d.ts +17 -1
- package/dist/adt/http.d.ts.map +1 -1
- package/dist/adt/http.js +102 -19
- package/dist/adt/http.js.map +1 -1
- package/dist/adt/server-driven.d.ts +154 -34
- package/dist/adt/server-driven.d.ts.map +1 -1
- package/dist/adt/server-driven.js +178 -53
- package/dist/adt/server-driven.js.map +1 -1
- package/dist/adt/transport.d.ts +6 -6
- package/dist/adt/transport.d.ts.map +1 -1
- package/dist/adt/transport.js +23 -34
- package/dist/adt/transport.js.map +1 -1
- package/dist/adt/types.d.ts +47 -6
- package/dist/adt/types.d.ts.map +1 -1
- package/dist/adt/xml-parser.d.ts +52 -12
- package/dist/adt/xml-parser.d.ts.map +1 -1
- package/dist/adt/xml-parser.js +120 -10
- package/dist/adt/xml-parser.js.map +1 -1
- package/dist/authz/policy.d.ts +8 -0
- package/dist/authz/policy.d.ts.map +1 -1
- package/dist/authz/policy.js +23 -0
- package/dist/authz/policy.js.map +1 -1
- package/dist/cache/cache.d.ts +2 -34
- package/dist/cache/cache.d.ts.map +1 -1
- package/dist/cache/cache.js +2 -3
- package/dist/cache/cache.js.map +1 -1
- package/dist/cache/caching-layer.d.ts +3 -19
- package/dist/cache/caching-layer.d.ts.map +1 -1
- package/dist/cache/caching-layer.js +2 -26
- package/dist/cache/caching-layer.js.map +1 -1
- package/dist/cache/memory.d.ts +1 -12
- package/dist/cache/memory.d.ts.map +1 -1
- package/dist/cache/memory.js +0 -69
- package/dist/cache/memory.js.map +1 -1
- package/dist/cache/sqlite.d.ts +2 -9
- package/dist/cache/sqlite.d.ts.map +1 -1
- package/dist/cache/sqlite.js +8 -84
- package/dist/cache/sqlite.js.map +1 -1
- package/dist/cli.js +6 -3
- package/dist/cli.js.map +1 -1
- package/dist/context/unit-surgery.d.ts +28 -0
- package/dist/context/unit-surgery.d.ts.map +1 -0
- package/dist/context/unit-surgery.js +150 -0
- package/dist/context/unit-surgery.js.map +1 -0
- package/dist/handlers/activate.d.ts.map +1 -1
- package/dist/handlers/activate.js +44 -6
- package/dist/handlers/activate.js.map +1 -1
- package/dist/handlers/context.d.ts +1 -1
- package/dist/handlers/context.d.ts.map +1 -1
- package/dist/handlers/context.js +98 -28
- package/dist/handlers/context.js.map +1 -1
- package/dist/handlers/diagnose.d.ts.map +1 -1
- package/dist/handlers/diagnose.js +55 -31
- package/dist/handlers/diagnose.js.map +1 -1
- package/dist/handlers/dispatch.d.ts +12 -1
- package/dist/handlers/dispatch.d.ts.map +1 -1
- package/dist/handlers/dispatch.js +160 -25
- package/dist/handlers/dispatch.js.map +1 -1
- package/dist/handlers/feature-cache.d.ts +27 -14
- package/dist/handlers/feature-cache.d.ts.map +1 -1
- package/dist/handlers/feature-cache.js +63 -25
- package/dist/handlers/feature-cache.js.map +1 -1
- package/dist/handlers/function-processing.d.ts +61 -0
- package/dist/handlers/function-processing.d.ts.map +1 -0
- package/dist/handlers/function-processing.js +45 -0
- package/dist/handlers/function-processing.js.map +1 -0
- package/dist/handlers/git.d.ts.map +1 -1
- package/dist/handlers/git.js +44 -19
- package/dist/handlers/git.js.map +1 -1
- package/dist/handlers/hyperfocused.d.ts.map +1 -1
- package/dist/handlers/hyperfocused.js +2 -3
- package/dist/handlers/hyperfocused.js.map +1 -1
- package/dist/handlers/lint.d.ts.map +1 -1
- package/dist/handlers/lint.js +7 -7
- package/dist/handlers/lint.js.map +1 -1
- package/dist/handlers/manage.d.ts.map +1 -1
- package/dist/handlers/manage.js +42 -25
- package/dist/handlers/manage.js.map +1 -1
- package/dist/handlers/navigate.d.ts.map +1 -1
- package/dist/handlers/navigate.js +27 -90
- package/dist/handlers/navigate.js.map +1 -1
- package/dist/handlers/object-types.d.ts +2 -0
- package/dist/handlers/object-types.d.ts.map +1 -1
- package/dist/handlers/object-types.js +10 -0
- package/dist/handlers/object-types.js.map +1 -1
- package/dist/handlers/query.d.ts.map +1 -1
- package/dist/handlers/query.js +2 -2
- package/dist/handlers/query.js.map +1 -1
- package/dist/handlers/read.d.ts.map +1 -1
- package/dist/handlers/read.js +64 -41
- package/dist/handlers/read.js.map +1 -1
- package/dist/handlers/schemas.d.ts +64 -16
- package/dist/handlers/schemas.d.ts.map +1 -1
- package/dist/handlers/schemas.js +123 -32
- package/dist/handlers/schemas.js.map +1 -1
- package/dist/handlers/search.d.ts.map +1 -1
- package/dist/handlers/search.js +8 -7
- package/dist/handlers/search.js.map +1 -1
- package/dist/handlers/shared.d.ts +13 -0
- package/dist/handlers/shared.d.ts.map +1 -1
- package/dist/handlers/shared.js +15 -0
- package/dist/handlers/shared.js.map +1 -1
- package/dist/handlers/tool-descriptions.d.ts +4 -0
- package/dist/handlers/tool-descriptions.d.ts.map +1 -0
- package/dist/handlers/tool-descriptions.js +52 -0
- package/dist/handlers/tool-descriptions.js.map +1 -0
- package/dist/handlers/tool-registry.d.ts +18 -4
- package/dist/handlers/tool-registry.d.ts.map +1 -1
- package/dist/handlers/tool-registry.js +18 -0
- package/dist/handlers/tool-registry.js.map +1 -1
- package/dist/handlers/tools.d.ts.map +1 -1
- package/dist/handlers/tools.js +113 -90
- package/dist/handlers/tools.js.map +1 -1
- package/dist/handlers/transport.d.ts +1 -1
- package/dist/handlers/transport.d.ts.map +1 -1
- package/dist/handlers/transport.js +37 -10
- package/dist/handlers/transport.js.map +1 -1
- package/dist/handlers/where-used.d.ts +25 -0
- package/dist/handlers/where-used.d.ts.map +1 -0
- package/dist/handlers/where-used.js +94 -0
- package/dist/handlers/where-used.js.map +1 -0
- package/dist/handlers/write/class-surgery.d.ts.map +1 -1
- package/dist/handlers/write/class-surgery.js +11 -12
- package/dist/handlers/write/class-surgery.js.map +1 -1
- package/dist/handlers/write/create.d.ts.map +1 -1
- package/dist/handlers/write/create.js +194 -84
- package/dist/handlers/write/create.js.map +1 -1
- package/dist/handlers/write/rap.d.ts.map +1 -1
- package/dist/handlers/write/rap.js +9 -9
- package/dist/handlers/write/rap.js.map +1 -1
- package/dist/handlers/write/unit-surgery.d.ts +5 -0
- package/dist/handlers/write/unit-surgery.d.ts.map +1 -0
- package/dist/handlers/write/unit-surgery.js +47 -0
- package/dist/handlers/write/unit-surgery.js.map +1 -0
- package/dist/handlers/write/update-delete.js +8 -8
- package/dist/handlers/write/update-delete.js.map +1 -1
- package/dist/handlers/write-helpers.d.ts +7 -4
- package/dist/handlers/write-helpers.d.ts.map +1 -1
- package/dist/handlers/write-helpers.js +118 -63
- package/dist/handlers/write-helpers.js.map +1 -1
- package/dist/handlers/write.d.ts.map +1 -1
- package/dist/handlers/write.js +35 -13
- package/dist/handlers/write.js.map +1 -1
- package/dist/lint/lint.d.ts.map +1 -1
- package/dist/lint/lint.js +4 -2
- package/dist/lint/lint.js.map +1 -1
- package/dist/probe/catalog.js +1 -1
- package/dist/probe/catalog.js.map +1 -1
- package/dist/public/ui/app.js +1 -14
- package/dist/server/audit.d.ts +27 -15
- package/dist/server/audit.d.ts.map +1 -1
- package/dist/server/audit.js.map +1 -1
- package/dist/server/auth-rate-limit.d.ts +18 -9
- package/dist/server/auth-rate-limit.d.ts.map +1 -1
- package/dist/server/auth-rate-limit.js +31 -6
- package/dist/server/auth-rate-limit.js.map +1 -1
- package/dist/server/auth-summary.d.ts +4 -0
- package/dist/server/auth-summary.d.ts.map +1 -0
- package/dist/server/auth-summary.js +67 -0
- package/dist/server/auth-summary.js.map +1 -0
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +106 -3
- package/dist/server/config.js.map +1 -1
- package/dist/server/context.d.ts +12 -0
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js.map +1 -1
- package/dist/server/destination-discovery.d.ts +36 -0
- package/dist/server/destination-discovery.d.ts.map +1 -0
- package/dist/server/destination-discovery.js +130 -0
- package/dist/server/destination-discovery.js.map +1 -0
- package/dist/server/destination-registry.d.ts +111 -0
- package/dist/server/destination-registry.d.ts.map +1 -0
- package/dist/server/destination-registry.js +449 -0
- package/dist/server/destination-registry.js.map +1 -0
- package/dist/server/http.d.ts +43 -1
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +283 -73
- package/dist/server/http.js.map +1 -1
- package/dist/server/logger.d.ts.map +1 -1
- package/dist/server/logger.js +58 -13
- package/dist/server/logger.js.map +1 -1
- package/dist/server/mcp-rate-limit.d.ts +6 -4
- package/dist/server/mcp-rate-limit.d.ts.map +1 -1
- package/dist/server/mcp-rate-limit.js +6 -4
- package/dist/server/mcp-rate-limit.js.map +1 -1
- package/dist/server/multi-target-basic-auth.d.ts +49 -0
- package/dist/server/multi-target-basic-auth.d.ts.map +1 -0
- package/dist/server/multi-target-basic-auth.js +246 -0
- package/dist/server/multi-target-basic-auth.js.map +1 -0
- package/dist/server/multi-target-catalog.d.ts +33 -0
- package/dist/server/multi-target-catalog.d.ts.map +1 -0
- package/dist/server/multi-target-catalog.js +130 -0
- package/dist/server/multi-target-catalog.js.map +1 -0
- package/dist/server/multi-target-destination-config.d.ts +12 -0
- package/dist/server/multi-target-destination-config.d.ts.map +1 -0
- package/dist/server/multi-target-destination-config.js +37 -0
- package/dist/server/multi-target-destination-config.js.map +1 -0
- package/dist/server/multi-target-destination-runtime.d.ts +20 -0
- package/dist/server/multi-target-destination-runtime.d.ts.map +1 -0
- package/dist/server/multi-target-destination-runtime.js +191 -0
- package/dist/server/multi-target-destination-runtime.js.map +1 -0
- package/dist/server/multi-target-feature-state.d.ts +6 -0
- package/dist/server/multi-target-feature-state.d.ts.map +1 -0
- package/dist/server/multi-target-feature-state.js +41 -0
- package/dist/server/multi-target-feature-state.js.map +1 -0
- package/dist/server/multi-target-identity.d.ts +10 -0
- package/dist/server/multi-target-identity.d.ts.map +1 -0
- package/dist/server/multi-target-identity.js +18 -0
- package/dist/server/multi-target-identity.js.map +1 -0
- package/dist/server/multi-target-runtime.d.ts +27 -0
- package/dist/server/multi-target-runtime.d.ts.map +1 -0
- package/dist/server/multi-target-runtime.js +110 -0
- package/dist/server/multi-target-runtime.js.map +1 -0
- package/dist/server/multi-target-server.d.ts +53 -0
- package/dist/server/multi-target-server.d.ts.map +1 -0
- package/dist/server/multi-target-server.js +434 -0
- package/dist/server/multi-target-server.js.map +1 -0
- package/dist/server/multi-target-shared-auth-state.d.ts +82 -0
- package/dist/server/multi-target-shared-auth-state.d.ts.map +1 -0
- package/dist/server/multi-target-shared-auth-state.js +226 -0
- package/dist/server/multi-target-shared-auth-state.js.map +1 -0
- package/dist/server/multi-target-tools.d.ts +20 -0
- package/dist/server/multi-target-tools.d.ts.map +1 -0
- package/dist/server/multi-target-tools.js +191 -0
- package/dist/server/multi-target-tools.js.map +1 -0
- package/dist/server/oauth-session-recovery.d.ts +22 -0
- package/dist/server/oauth-session-recovery.d.ts.map +1 -0
- package/dist/server/oauth-session-recovery.js +69 -0
- package/dist/server/oauth-session-recovery.js.map +1 -0
- package/dist/server/server.d.ts +39 -27
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +433 -300
- package/dist/server/server.js.map +1 -1
- package/dist/server/sinks/btp-auditlog.d.ts.map +1 -1
- package/dist/server/sinks/btp-auditlog.js +83 -11
- package/dist/server/sinks/btp-auditlog.js.map +1 -1
- package/dist/server/tool-auth.d.ts +10 -0
- package/dist/server/tool-auth.d.ts.map +1 -0
- package/dist/server/tool-auth.js +75 -0
- package/dist/server/tool-auth.js.map +1 -0
- package/dist/server/trace-context.d.ts +51 -0
- package/dist/server/trace-context.d.ts.map +1 -0
- package/dist/server/trace-context.js +100 -0
- package/dist/server/trace-context.js.map +1 -0
- package/dist/server/types.d.ts +27 -6
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js +5 -2
- package/dist/server/types.js.map +1 -1
- package/dist/server/ui-state.d.ts +0 -2
- package/dist/server/ui-state.d.ts.map +1 -1
- package/dist/server/ui-state.js +0 -4
- package/dist/server/ui-state.js.map +1 -1
- package/dist/server/ui.d.ts.map +1 -1
- package/dist/server/ui.js +0 -7
- package/dist/server/ui.js.map +1 -1
- package/package.json +16 -13
- package/dist/cache/warmup.d.ts +0 -41
- package/dist/cache/warmup.d.ts.map +0 -1
- package/dist/cache/warmup.js +0 -337
- package/dist/cache/warmup.js.map +0 -1
- package/dist/server/elicit.d.ts +0 -43
- package/dist/server/elicit.d.ts.map +0 -1
- package/dist/server/elicit.js +0 -183
- package/dist/server/elicit.js.map +0 -1
package/dist/handlers/context.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* downstream dependency analysis.
|
|
4
4
|
*/
|
|
5
5
|
import { buildSiblingExtensionFinding, classifyCdsImpact, deriveSiblingStem, isSiblingNameMatch, } from '../adt/cds-impact.js';
|
|
6
|
+
import { clampSearchResults } from '../adt/client.js';
|
|
6
7
|
import { findWhereUsed } from '../adt/codeintel.js';
|
|
7
8
|
import { decodeKtdText } from '../adt/ddic-xml.js';
|
|
8
9
|
import { AdtApiError, isNotFoundError } from '../adt/errors.js';
|
|
@@ -12,12 +13,43 @@ import { extractCdsDependencies } from '../context/cds-deps.js';
|
|
|
12
13
|
import { compressCdsContext, compressContext } from '../context/compressor.js';
|
|
13
14
|
import { logger } from '../server/logger.js';
|
|
14
15
|
import { contextCacheForDependencyPayloads } from './cache-security.js';
|
|
15
|
-
import {
|
|
16
|
+
import { getCachedFeatures } from './feature-cache.js';
|
|
16
17
|
import { normalizeObjectType, objectUrlForType } from './object-types.js';
|
|
17
|
-
import { errorResult, textResult } from './shared.js';
|
|
18
|
+
import { errorResult, textResult, toolJson } from './shared.js';
|
|
19
|
+
import { lookupLiveUsages, resolveWhereUsedUri } from './where-used.js';
|
|
18
20
|
// ─── SAPContext Handler ───────────────────────────────────────────────
|
|
19
21
|
const DEFAULT_SIBLING_MAX_CANDIDATES = 4;
|
|
20
22
|
const HARD_MAX_SIBLING_MAX_CANDIDATES = 10;
|
|
23
|
+
/** Per-bucket cap for action="impact". Applied per bucket, not across the whole result, so a
|
|
24
|
+
* crowded `abapConsumers` cannot hide a single decisive `bdefs` entry. */
|
|
25
|
+
const DEFAULT_IMPACT_BUCKET = 50;
|
|
26
|
+
/** Bucket keys of CdsImpactDownstream (everything except `summary`). */
|
|
27
|
+
const IMPACT_BUCKETS = [
|
|
28
|
+
'projectionViews',
|
|
29
|
+
'bdefs',
|
|
30
|
+
'serviceDefinitions',
|
|
31
|
+
'serviceBindings',
|
|
32
|
+
'accessControls',
|
|
33
|
+
'metadataExtensions',
|
|
34
|
+
'abapConsumers',
|
|
35
|
+
'tables',
|
|
36
|
+
'documentation',
|
|
37
|
+
'other',
|
|
38
|
+
];
|
|
39
|
+
/** Slice every downstream bucket to `limit`, reporting which were cut. `summary` is untouched: it
|
|
40
|
+
* is computed pre-slice and is what makes a capped answer honest about the real blast radius. */
|
|
41
|
+
function boundImpactBuckets(downstream, limit) {
|
|
42
|
+
const truncatedBuckets = [];
|
|
43
|
+
const boundedDownstream = { ...downstream };
|
|
44
|
+
for (const bucket of IMPACT_BUCKETS) {
|
|
45
|
+
const entries = downstream[bucket];
|
|
46
|
+
if (entries.length > limit) {
|
|
47
|
+
truncatedBuckets.push(`${bucket} (${entries.length})`);
|
|
48
|
+
boundedDownstream[bucket] = entries.slice(0, limit);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return { boundedDownstream, truncatedBuckets };
|
|
52
|
+
}
|
|
21
53
|
function parseSiblingMaxCandidates(value) {
|
|
22
54
|
const parsed = Number(value ?? DEFAULT_SIBLING_MAX_CANDIDATES);
|
|
23
55
|
if (!Number.isFinite(parsed))
|
|
@@ -38,31 +70,57 @@ export async function handleSAPContext(client, args, cachingLayer, cacheSecurity
|
|
|
38
70
|
const rawMaxDeps = Number(args.maxDeps ?? 20);
|
|
39
71
|
const maxDeps = Number.isFinite(rawMaxDeps) && rawMaxDeps >= 1 ? Math.min(Math.floor(rawMaxDeps), 100) : 20;
|
|
40
72
|
const depth = Math.min(Math.max(Number(args.depth ?? 1), 1), 3);
|
|
41
|
-
// ───
|
|
73
|
+
// ─── Live reverse dependency lookup ───────────────────────────────
|
|
42
74
|
if (action === 'usages') {
|
|
43
75
|
if (!name)
|
|
44
76
|
return errorResult('"name" is required for usages action.');
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const usages = cachingLayer.getUsages(name);
|
|
54
|
-
if (usages === null) {
|
|
55
|
-
return errorResult(`Reverse dependency lookup requires a pre-warmed cache. The cache warmup has not been run yet.\n\n` +
|
|
56
|
-
`To enable this feature:\n` +
|
|
57
|
-
`1. Start ARC-1 with --cache-warmup (or set ARC1_CACHE_WARMUP=true)\n` +
|
|
58
|
-
`2. Wait for the warmup to complete (indexes all custom objects)\n` +
|
|
59
|
-
`3. Then retry SAPContext(action="usages", name="${name}")\n\n` +
|
|
60
|
-
`Alternative: Use SAPNavigate(action="references", type="CLAS", name="${name}") for a live ADT lookup (slower, but works without warmup).`);
|
|
77
|
+
let resolvedUri;
|
|
78
|
+
let resolvedObject;
|
|
79
|
+
if (type) {
|
|
80
|
+
resolvedUri = await resolveWhereUsedUri(client, type, name);
|
|
81
|
+
if (!resolvedUri) {
|
|
82
|
+
return errorResult(`Cannot resolve function group for "${name}". Provide the function's group or use SAPSearch to resolve the object.`);
|
|
83
|
+
}
|
|
84
|
+
resolvedObject = { type, name: name.toUpperCase(), uri: resolvedUri };
|
|
61
85
|
}
|
|
62
|
-
|
|
63
|
-
|
|
86
|
+
else {
|
|
87
|
+
const lookup = await client.lookupObjects([name], { maxResults: 20 });
|
|
88
|
+
const exactMatches = (lookup[0]?.matches ?? []).filter((match) => match.objectName.toUpperCase() === name.toUpperCase() && match.uri.length > 0);
|
|
89
|
+
const matches = [...new Map(exactMatches.map((match) => [match.uri, match])).values()];
|
|
90
|
+
if (matches.length === 0) {
|
|
91
|
+
return textResult(`No SAP repository object named "${name.toUpperCase()}" was found.`);
|
|
92
|
+
}
|
|
93
|
+
if (matches.length > 1) {
|
|
94
|
+
return errorResult(toolJson({
|
|
95
|
+
error: `Object name "${name.toUpperCase()}" is ambiguous. Retry with type.`,
|
|
96
|
+
candidates: matches.slice(0, 20).map((match) => ({
|
|
97
|
+
type: normalizeObjectType(match.objectType),
|
|
98
|
+
name: match.objectName,
|
|
99
|
+
uri: match.uri,
|
|
100
|
+
})),
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
const match = matches[0];
|
|
104
|
+
resolvedUri = match.uri;
|
|
105
|
+
resolvedObject = { type: normalizeObjectType(match.objectType), name: match.objectName, uri: match.uri };
|
|
64
106
|
}
|
|
65
|
-
|
|
107
|
+
const usageMax = args.maxResults === undefined ? undefined : Number(args.maxResults);
|
|
108
|
+
const lookup = await lookupLiveUsages(client, resolvedUri, undefined, usageMax);
|
|
109
|
+
return textResult(toolJson({
|
|
110
|
+
name: name.toUpperCase(),
|
|
111
|
+
resolvedObject,
|
|
112
|
+
// usageCount is the TOTAL, not the page size — a truncated page must not under-report
|
|
113
|
+
// the blast radius of a change.
|
|
114
|
+
usageCount: lookup.total,
|
|
115
|
+
shown: lookup.results.length,
|
|
116
|
+
truncated: lookup.truncated,
|
|
117
|
+
...(lookup.truncated
|
|
118
|
+
? { hint: `Showing ${lookup.results.length} of ${lookup.total} usages. Raise maxResults (max 1000).` }
|
|
119
|
+
: {}),
|
|
120
|
+
usages: lookup.results,
|
|
121
|
+
source: 'live',
|
|
122
|
+
fallbackUsed: lookup.fallbackUsed,
|
|
123
|
+
}));
|
|
66
124
|
}
|
|
67
125
|
if (!type || !name) {
|
|
68
126
|
return errorResult('Both "type" and "name" are required for SAPContext.');
|
|
@@ -219,28 +277,41 @@ export async function handleSAPContext(client, args, cachingLayer, cacheSecurity
|
|
|
219
277
|
}
|
|
220
278
|
}
|
|
221
279
|
const upstreamCount = upstream.tables.length + upstream.views.length + upstream.associations.length + upstream.compositions.length;
|
|
280
|
+
// Bound each downstream bucket. A widely-consumed base view has a huge blast radius, and this
|
|
281
|
+
// path classifies the FULL where-used tree. `downstream.summary` is computed before slicing, so
|
|
282
|
+
// the reported total/direct/indirect stay honest — a truncated bucket must never shrink the
|
|
283
|
+
// blast radius a caller sees.
|
|
284
|
+
const impactLimit = clampSearchResults(args.maxResults, DEFAULT_IMPACT_BUCKET);
|
|
285
|
+
const { boundedDownstream, truncatedBuckets } = boundImpactBuckets(downstream, impactLimit);
|
|
222
286
|
const response = {
|
|
223
287
|
name,
|
|
224
288
|
type: 'DDLS',
|
|
225
289
|
upstream,
|
|
226
|
-
downstream,
|
|
290
|
+
downstream: boundedDownstream,
|
|
227
291
|
summary: {
|
|
228
292
|
upstreamCount,
|
|
229
293
|
downstreamTotal: downstream.summary.total,
|
|
230
294
|
downstreamDirect: downstream.summary.direct,
|
|
231
295
|
},
|
|
296
|
+
...(truncatedBuckets.length > 0
|
|
297
|
+
? {
|
|
298
|
+
truncatedBuckets,
|
|
299
|
+
hint: `Bucket(s) ${truncatedBuckets.join(', ')} were capped at ${impactLimit} entries each; ` +
|
|
300
|
+
`summary counts remain complete. Raise maxResults (max 1000) to see more.`,
|
|
301
|
+
}
|
|
302
|
+
: {}),
|
|
232
303
|
...(consistencyHints.length > 0 ? { consistencyHints } : {}),
|
|
233
304
|
...(siblingExtensionAnalysis ? { siblingExtensionAnalysis } : {}),
|
|
234
305
|
...(warnings.length > 0 ? { warnings } : {}),
|
|
235
306
|
};
|
|
236
|
-
return textResult(
|
|
307
|
+
return textResult(toolJson(response));
|
|
237
308
|
}
|
|
238
309
|
if (action === 'structure') {
|
|
239
310
|
if (type !== 'TABL') {
|
|
240
311
|
return errorResult('SAPContext(action="structure") supports TABL only.');
|
|
241
312
|
}
|
|
242
313
|
const result = await buildStructureHierarchy(client, name);
|
|
243
|
-
return textResult(
|
|
314
|
+
return textResult(toolJson(result));
|
|
244
315
|
}
|
|
245
316
|
// Get source — either provided or fetched from SAP
|
|
246
317
|
let source;
|
|
@@ -310,9 +381,8 @@ export async function handleSAPContext(client, args, cachingLayer, cacheSecurity
|
|
|
310
381
|
}
|
|
311
382
|
}
|
|
312
383
|
// Use detected ABAP version from probe if available, otherwise Cloud (superset)
|
|
313
|
-
const
|
|
314
|
-
|
|
315
|
-
: undefined;
|
|
384
|
+
const probedAbapRelease = getCachedFeatures()?.abapRelease;
|
|
385
|
+
const abaplintVersion = probedAbapRelease ? mapSapReleaseToAbaplintVersion(probedAbapRelease) : undefined;
|
|
316
386
|
const result = await compressContext(client, source, name, type, maxDeps, depth, abaplintVersion, dependencyPayloadCache);
|
|
317
387
|
return textResult(prependKtd(result.output, name, ktdMarkdown));
|
|
318
388
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/handlers/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/handlers/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,4BAA4B,EAE5B,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAkB,kBAAkB,EAAyB,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAA6B,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAmB,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAExE,yEAAyE;AAEzE,MAAM,8BAA8B,GAAG,CAAC,CAAC;AACzC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAE3C;2EAC2E;AAC3E,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,wEAAwE;AACxE,MAAM,cAAc,GAAG;IACrB,iBAAiB;IACjB,OAAO;IACP,oBAAoB;IACpB,iBAAiB;IACjB,gBAAgB;IAChB,oBAAoB;IACpB,eAAe;IACf,QAAQ;IACR,eAAe;IACf,OAAO;CACC,CAAC;AAEX;kGACkG;AAClG,SAAS,kBAAkB,CACzB,UAA+B,EAC/B,KAAa;IAEb,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,iBAAiB,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;IAC5C,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;YAC3B,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACvD,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,8BAA8B,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,8BAA8B,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAiB,EACjB,IAA6B,EAC7B,YAAsC,EACtC,aAAmC;IAEnC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACzC,6EAA6E;IAC7E,6EAA6E;IAC7E,mEAAmE;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACrC,yFAAyF;IACzF,iGAAiG;IACjG,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5G,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEhE,qEAAqE;IACrE,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO,WAAW,CAAC,uCAAuC,CAAC,CAAC;QAEvE,IAAI,WAA0B,CAAC;QAC/B,IAAI,cAA2D,CAAC;QAEhE,IAAI,IAAI,EAAE,CAAC;YACT,WAAW,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,WAAW,CAChB,sCAAsC,IAAI,yEAAyE,CACpH,CAAC;YACJ,CAAC;YACD,cAAc,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;YACtE,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CACpD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CACzF,CAAC;YACF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACvF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,UAAU,CAAC,mCAAmC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YACzF,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,WAAW,CAChB,QAAQ,CAAC;oBACP,KAAK,EAAE,gBAAgB,IAAI,CAAC,WAAW,EAAE,kCAAkC;oBAC3E,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC/C,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC;wBAC3C,IAAI,EAAE,KAAK,CAAC,UAAU;wBACtB,GAAG,EAAE,KAAK,CAAC,GAAG;qBACf,CAAC,CAAC;iBACJ,CAAC,CACH,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAC1B,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;YACxB,cAAc,GAAG,EAAE,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QAC3G,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChF,OAAO,UAAU,CACf,QAAQ,CAAC;YACP,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;YACxB,cAAc;YACd,sFAAsF;YACtF,gCAAgC;YAChC,UAAU,EAAE,MAAM,CAAC,KAAK;YACxB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;YAC5B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,GAAG,CAAC,MAAM,CAAC,SAAS;gBAClB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,MAAM,CAAC,OAAO,CAAC,MAAM,OAAO,MAAM,CAAC,KAAK,uCAAuC,EAAE;gBACtG,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,EAAE,MAAM,CAAC,OAAO;YACtB,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,WAAW,CAAC,qDAAqD,CAAC,CAAC;IAC5E,CAAC;IAED,wCAAwC;IACxC,MAAM,SAAS,GAAG,KAAK,EACrB,OAAe,EACf,OAAe,EACf,OAA4D,EAC3C,EAAE;QACnB,IAAI,CAAC,YAAY;YAAE,OAAO,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACnD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,WAAW,CAChB,4GAA4G,CAC7G,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACxG,MAAM,QAAQ,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC;QACjD,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClF,IAAI,UAAU,GAAG,iBAAiB,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,IAAI,wBA0BS,CAAC;QAEd,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAClG,UAAU,GAAG,iBAAiB,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,WAAW,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChF,QAAQ,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAED,IAAI,YAAY,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAC3C,uEAAuE;gBACvE,uFAAuF;gBACvF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,QAAQ,CAAC,IAAI,CACX,oDAAoD,IAAI,6CAA6C,CACtG,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBAChE,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CACpC,CAAC,SAAS,EAAE,EAAE,CACZ,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,UAAU,CAC5G,CAAC;oBACF,MAAM,iBAAiB,GAAG,WAAW,EAAE,WAAW,CAAC;oBAEnD,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACvB,QAAQ,CAAC,IAAI,CAAC,0EAA0E,UAAU,IAAI,CAAC,CAAC;oBAC1G,CAAC;yBAAM,CAAC;wBACN,MAAM,WAAW,GAAG,GAAG,IAAI,GAAG,CAAC;wBAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,oBAAoB,GAAG,CAAC,EAAE,oBAAoB,GAAG,CAAC,CAAC,CAAC,CAAC;wBACrG,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;wBACnF,MAAM,OAAO,GAAG;4BACd,IAAI,EAAE,CAAC;4BACP,OAAO,EAAE,CAAC;4BACV,eAAe,EAAE,CAAC;4BAClB,YAAY,EAAE,CAAC;4BACf,SAAS,EAAE,CAAC;yBACb,CAAC;wBACF,MAAM,kBAAkB,GAAiD,EAAE,CAAC;wBAC5E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;wBAEpC,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;4BAC1C,IAAI,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,MAAM,EAAE,CAAC;gCACzD,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;gCACrB,SAAS;4BACX,CAAC;4BAED,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;4BACzD,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;gCACjC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;gCAClB,SAAS;4BACX,CAAC;4BACD,IAAI,SAAS,CAAC,WAAW,KAAK,iBAAiB,EAAE,CAAC;gCAChD,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC;gCAC7B,SAAS;4BACX,CAAC;4BACD,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC;gCACzD,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;gCAC1B,SAAS;4BACX,CAAC;4BACD,IAAI,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gCACjC,SAAS;4BACX,CAAC;4BACD,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;4BAC7B,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;wBACvF,CAAC;wBAED,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;wBAC7E,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;wBAEvF,MAAM,iBAAiB,GAAmE,EAAE,CAAC;wBAC7F,IAAI,0BAA0B,GAAG,CAAC,CAAC;wBAEnC,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;4BAC3C,IAAI,CAAC;gCACH,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAC1C,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,MAAM,EACb,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CACzC,CAAC;gCACF,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;gCACnF,iBAAiB,CAAC,IAAI,CAAC;oCACrB,IAAI,EAAE,SAAS,CAAC,IAAI;oCACpB,WAAW,EAAE,SAAS,CAAC,WAAW;oCAClC,kBAAkB,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,MAAM;oCAC/D,eAAe,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK;iCACjD,CAAC,CAAC;4BACL,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACb,IAAI,GAAG,YAAY,WAAW,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oCAChF,0BAA0B,IAAI,CAAC,CAAC;oCAChC,SAAS;gCACX,CAAC;gCACD,MAAM,GAAG,CAAC;4BACZ,CAAC;wBACH,CAAC;wBAED,IAAI,0BAA0B,GAAG,CAAC,EAAE,CAAC;4BACnC,QAAQ,CAAC,IAAI,CACX,qCAAqC,0BAA0B,kDAAkD,CAClH,CAAC;wBACJ,CAAC;wBAED,MAAM,cAAc,GAAG,4BAA4B,CAAC;4BAClD,UAAU;4BACV,iBAAiB;4BACjB,IAAI;4BACJ,wBAAwB,EAAE,UAAU,CAAC,kBAAkB,CAAC,MAAM;4BAC9D,QAAQ,EAAE,iBAAiB;yBAC5B,CAAC,CAAC;wBACH,IAAI,cAAc,EAAE,CAAC;4BACnB,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;wBAChD,CAAC;wBAED,wBAAwB,GAAG;4BACzB,OAAO,EAAE,IAAI;4BACb,IAAI;4BACJ,WAAW;4BACX,eAAe;4BACf,aAAa,EAAE,oBAAoB;4BACnC,OAAO,EAAE;gCACP,WAAW,EAAE,IAAI;gCACjB,WAAW,EAAE,IAAI;6BAClB;4BACD,MAAM,EAAE;gCACN,IAAI,EAAE,UAAU;gCAChB,WAAW,EAAE,iBAAiB;gCAC9B,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,CAAC,MAAM;6BACzD;4BACD,oBAAoB,EAAE,kBAAkB,CAAC,MAAM;4BAC/C,iBAAiB;4BACjB,OAAO;yBACR,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;oBAChD,IAAI;oBACJ,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GACjB,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC;QAE/G,8FAA8F;QAC9F,gGAAgG;QAChG,4FAA4F;QAC5F,8BAA8B;QAC9B,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAgC,EAAE,qBAAqB,CAAC,CAAC;QACrG,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAE5F,MAAM,QAAQ,GAAG;YACf,IAAI;YACJ,IAAI,EAAE,MAAM;YACZ,QAAQ;YACR,UAAU,EAAE,iBAAiB;YAC7B,OAAO,EAAE;gBACP,aAAa;gBACb,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK;gBACzC,gBAAgB,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM;aAC5C;YACD,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBAC7B,CAAC,CAAC;oBACE,gBAAgB;oBAChB,IAAI,EACF,aAAa,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,WAAW,iBAAiB;wBACvF,0EAA0E;iBAC7E;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7C,CAAC;QAEF,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,WAAW,CAAC,oDAAoD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3D,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,mDAAmD;IACnD,IAAI,MAAc,CAAC;IACnB,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC;IAC3G,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM;gBACT,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC3G,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBACpG,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBAClG,MAAM;YACR,KAAK,MAAM,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,WAAW,CAChB,4FAA4F,CAC7F,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC1G,MAAM;YACR,CAAC;YACD,KAAK,MAAM,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBACxG,MAAM,SAAS,GAAG,MAAM,kBAAkB,CACxC,MAAM,EACN,SAAS,EACT,IAAI,EACJ,OAAO,EACP,KAAK,EACL,iCAAiC,CAAC,YAAY,EAAE,aAAa,CAAC,CAC/D,CAAC;gBACF,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACrG,OAAO,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;YACrE,CAAC;YACD;gBACE,OAAO,WAAW,CAChB,IAAI,KAAK,MAAM;oBACb,CAAC,CAAC,mDAAmD;oBACrD,CAAC,CAAC,iEAAiE,IAAI,EAAE,CAC5E,CAAC;QACN,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAErG,0EAA0E;IAC1E,MAAM,sBAAsB,GAAG,iCAAiC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAC9F,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CACR,gCAAgC,IAAI,KAAK,UAAU,CAAC,MAAM,iBAAiB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAChJ,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC9C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,WAAW,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxF,KAAK,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,IAAI,KAAK,SAAS,GAAG,WAAW,OAAO,CAAC,CAAC;gBACtE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBAC5C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxC,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YACD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;YAChC,KAAK,CAAC,IAAI,CACR,YAAY,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,gBAAgB,UAAU,CAAC,MAAM,cAAc,MAAM,CAAC,MAAM,YAAY,UAAU,qBAAqB,CACrJ,CAAC;YACF,OAAO,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,MAAM,iBAAiB,GAAG,iBAAiB,EAAE,EAAE,WAAW,CAAC;IAC3D,MAAM,eAAe,GAAG,iBAAiB,CAAC,CAAC,CAAC,8BAA8B,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1G,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,MAAM,EACN,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,KAAK,EACL,eAAe,EACf,sBAAsB,CACvB,CAAC;IACF,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,MAAiB,EACjB,IAAY,EACZ,YAAsC;IAEtC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,YAAY;YAC3B,CAAC,CAAC,CACE,MAAM,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CACzD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CACxD,CACF,CAAC,MAAM;YACV,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9D,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,eAAe,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3C,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,IAAY,EAAE,WAA+B;IAC/E,IAAI,CAAC,WAAW;QAAE,OAAO,MAAM,CAAC;IAChC,OAAO,yCAAyC,IAAI,WAAW,WAAW,OAAO,MAAM,EAAE,CAAC;AAC5F,CAAC;AAED,SAAS,gBAAgB,CACvB,IAGE;IAOF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC/B,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC/B,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACnC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QACD,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,YAAY,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,YAAY,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnose.d.ts","sourceRoot":"","sources":["../../src/handlers/diagnose.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnose.d.ts","sourceRoot":"","sources":["../../src/handlers/diagnose.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA2ClD,OAAO,EAAe,KAAK,UAAU,EAAwB,MAAM,aAAa,CAAC;AAEjF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAqW7G"}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* SAPDiagnose handler — runtime diagnostics: short dumps (ST22), traces, gateway errors, object
|
|
3
3
|
* state, ATC, unit tests, CDS test cases.
|
|
4
4
|
*/
|
|
5
|
-
import { applyFixProposal, getCdsTestCases, getFixProposals, runAtcCheck, runUnitTests, supportsCdsTestCases, syntaxCheck, } from '../adt/devtools.js';
|
|
5
|
+
import { applyFixProposal, getAtcSystemDefaultVariant, getCdsTestCases, getFixProposals, listAtcVariants, runAtcCheck, runUnitTests, supportsCdsTestCases, syntaxCheck, } from '../adt/devtools.js';
|
|
6
6
|
import { createTraceRequest, deleteTraceRequest, getAuthorizationTrace, getCdsCreateStatements, getDump, getGatewayErrorDetail, getObjectState, getSqlTraceDirectory, getSqlTraceState, getTraceDbAccesses, getTraceHitlist, getTraceStatements, listDumps, listGatewayErrors, listSystemMessages, listTraceRequests, listTraces, probeODataPerformance, setSqlTraceState, } from '../adt/diagnostics.js';
|
|
7
7
|
import { AdtApiError } from '../adt/errors.js';
|
|
8
8
|
import { isBtpSystem } from './feature-cache.js';
|
|
9
9
|
import { classIncludeUrl, normalizeObjectType, objectUrlForType, sourceUrlForType } from './object-types.js';
|
|
10
|
-
import { errorResult, textResult } from './shared.js';
|
|
10
|
+
import { errorResult, textResult, toolJson } from './shared.js';
|
|
11
11
|
export async function handleSAPDiagnose(client, args) {
|
|
12
12
|
const action = String(args.action ?? '');
|
|
13
13
|
const name = String(args.name ?? '');
|
|
@@ -23,7 +23,7 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
23
23
|
if (content !== undefined)
|
|
24
24
|
opts.content = content;
|
|
25
25
|
const result = await syntaxCheck(client.http, client.safety, objectUrl, Object.keys(opts).length > 0 ? opts : undefined);
|
|
26
|
-
return textResult(
|
|
26
|
+
return textResult(toolJson(result));
|
|
27
27
|
}
|
|
28
28
|
case 'unittest': {
|
|
29
29
|
const objectUrl = objectUrlForType(type, name);
|
|
@@ -31,20 +31,44 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
31
31
|
const result = await runUnitTests(client.http, client.safety, objectUrl, { coverage });
|
|
32
32
|
// Default (no coverage) keeps the historical array output; coverage requested → {tests, coverage}.
|
|
33
33
|
if (!coverage)
|
|
34
|
-
return textResult(
|
|
34
|
+
return textResult(toolJson(result.tests));
|
|
35
35
|
const out = { tests: result.tests };
|
|
36
36
|
if (result.coverage)
|
|
37
37
|
out.coverage = result.coverage;
|
|
38
38
|
else
|
|
39
39
|
out.coverageNote =
|
|
40
40
|
'Coverage unavailable on this system (the coverage-measurement endpoint or measurement result was not available).';
|
|
41
|
-
return textResult(
|
|
41
|
+
return textResult(toolJson(out));
|
|
42
42
|
}
|
|
43
43
|
case 'atc': {
|
|
44
44
|
const objectUrl = objectUrlForType(type, name);
|
|
45
45
|
const variant = args.variant;
|
|
46
46
|
const result = await runAtcCheck(client.http, client.safety, objectUrl, variant);
|
|
47
|
-
return textResult(
|
|
47
|
+
return textResult(toolJson(result));
|
|
48
|
+
}
|
|
49
|
+
case 'atc_variants': {
|
|
50
|
+
// Discover which check variant to pass to action="atc": the system default (used when none is
|
|
51
|
+
// given) + the available variants. `variant` doubles as an optional name filter (default all).
|
|
52
|
+
// Trim/normalize so the echoed `filter` matches what listAtcVariants actually queries.
|
|
53
|
+
const filter = args.variant?.trim() || '*';
|
|
54
|
+
// The variant list is the core result; the system default is a best-effort annotation. Only
|
|
55
|
+
// swallow "endpoint absent / not negotiable" (404/406) — a system that simply doesn't expose
|
|
56
|
+
// /atc/customizing still gives a useful list. Auth (401/403), 5xx, and network failures are
|
|
57
|
+
// real problems and must surface, not masquerade as a null default (would hide a regression).
|
|
58
|
+
const [systemDefault, variants] = await Promise.all([
|
|
59
|
+
getAtcSystemDefaultVariant(client.http, client.safety).catch((err) => {
|
|
60
|
+
if (err instanceof AdtApiError && (err.statusCode === 404 || err.statusCode === 406))
|
|
61
|
+
return undefined;
|
|
62
|
+
throw err;
|
|
63
|
+
}),
|
|
64
|
+
listAtcVariants(client.http, client.safety, filter),
|
|
65
|
+
]);
|
|
66
|
+
return textResult(toolJson({
|
|
67
|
+
systemDefault: systemDefault ?? null,
|
|
68
|
+
filter,
|
|
69
|
+
count: variants.length,
|
|
70
|
+
variants: variants.map((v) => ({ name: v.name, description: v.description })),
|
|
71
|
+
}));
|
|
48
72
|
}
|
|
49
73
|
case 'cds_testcases': {
|
|
50
74
|
// SAP-suggested ABAP Unit test cases for a CDS entity (CDS Test Double Framework).
|
|
@@ -67,7 +91,7 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
67
91
|
'then implement one FOR TESTING method per case (insert_test_data for the doubled sources, ' +
|
|
68
92
|
'assert with cl_abap_unit_assert). AI testdata/testmethod generation is not exposed.',
|
|
69
93
|
};
|
|
70
|
-
return textResult(
|
|
94
|
+
return textResult(toolJson(payload));
|
|
71
95
|
}
|
|
72
96
|
case 'object_state': {
|
|
73
97
|
if (!name || !type)
|
|
@@ -82,7 +106,7 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
82
106
|
]
|
|
83
107
|
: [{ section: 'main', uri: sourceUrlForType(type, name) }];
|
|
84
108
|
const result = await getObjectState(client.http, client.safety, { type, name, sections });
|
|
85
|
-
return textResult(
|
|
109
|
+
return textResult(toolJson(result));
|
|
86
110
|
}
|
|
87
111
|
case 'quickfix': {
|
|
88
112
|
const source = args.source;
|
|
@@ -100,7 +124,7 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
100
124
|
if (!Number.isFinite(column))
|
|
101
125
|
return errorResult('"column" must be a number for "quickfix" action.');
|
|
102
126
|
const proposals = await getFixProposals(client.http, client.safety, sourceUri ?? sourceUrlForType(type, name), source, line, column);
|
|
103
|
-
return textResult(
|
|
127
|
+
return textResult(toolJson(proposals));
|
|
104
128
|
}
|
|
105
129
|
case 'apply_quickfix': {
|
|
106
130
|
const source = args.source;
|
|
@@ -132,7 +156,7 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
132
156
|
userContent: proposalUserContent,
|
|
133
157
|
...(proposalAffectedObjects ? { affectedObjects: proposalAffectedObjects } : {}),
|
|
134
158
|
}, sourceUri ?? sourceUrlForType(type, name), source, line, column);
|
|
135
|
-
return textResult(
|
|
159
|
+
return textResult(toolJson(deltas));
|
|
136
160
|
}
|
|
137
161
|
case 'dumps': {
|
|
138
162
|
const id = args.id;
|
|
@@ -160,12 +184,12 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
160
184
|
if (includeFullText) {
|
|
161
185
|
payload.formattedText = detail.formattedText;
|
|
162
186
|
}
|
|
163
|
-
return textResult(
|
|
187
|
+
return textResult(toolJson(payload));
|
|
164
188
|
}
|
|
165
189
|
const user = args.user;
|
|
166
190
|
const maxResults = args.maxResults ? Number(args.maxResults) : undefined;
|
|
167
191
|
const dumps = await listDumps(client.http, client.safety, { user, maxResults });
|
|
168
|
-
return textResult(
|
|
192
|
+
return textResult(toolJson(dumps));
|
|
169
193
|
}
|
|
170
194
|
case 'traces': {
|
|
171
195
|
const id = args.id;
|
|
@@ -175,15 +199,15 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
175
199
|
switch (analysis) {
|
|
176
200
|
case 'hitlist': {
|
|
177
201
|
const hitlist = await getTraceHitlist(client.http, client.safety, id);
|
|
178
|
-
return textResult(
|
|
202
|
+
return textResult(toolJson(hitlist));
|
|
179
203
|
}
|
|
180
204
|
case 'statements': {
|
|
181
205
|
const statements = await getTraceStatements(client.http, client.safety, id);
|
|
182
|
-
return textResult(
|
|
206
|
+
return textResult(toolJson(statements));
|
|
183
207
|
}
|
|
184
208
|
case 'dbAccesses': {
|
|
185
209
|
const dbAccesses = await getTraceDbAccesses(client.http, client.safety, id);
|
|
186
|
-
return textResult(
|
|
210
|
+
return textResult(toolJson(dbAccesses));
|
|
187
211
|
}
|
|
188
212
|
default:
|
|
189
213
|
return errorResult(`Unknown trace analysis type: ${analysis}. Supported: hitlist, statements, dbAccesses`);
|
|
@@ -191,7 +215,7 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
191
215
|
}
|
|
192
216
|
// List traces
|
|
193
217
|
const traces = await listTraces(client.http, client.safety);
|
|
194
|
-
return textResult(
|
|
218
|
+
return textResult(toolJson(traces));
|
|
195
219
|
}
|
|
196
220
|
case 'trace_start': {
|
|
197
221
|
const opts = {};
|
|
@@ -212,23 +236,23 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
212
236
|
if (args.description !== undefined)
|
|
213
237
|
opts.description = String(args.description);
|
|
214
238
|
const request = await createTraceRequest(client.http, client.safety, client.username, client.sapClient, opts);
|
|
215
|
-
return textResult(
|
|
239
|
+
return textResult(toolJson({
|
|
216
240
|
armed: true,
|
|
217
241
|
request,
|
|
218
242
|
next: 'Reproduce the slow action (e.g. the OData call) as this user PROMPTLY — an http request captures the user\'s very next matching HTTP call, so avoid other ARC-1 calls in between (they would consume it). Then SAPDiagnose(action="traces") with no id to list recorded traces, find the new trace id, and read it with analysis="dbAccesses". Note: for an HTTP/OData trace, dbAccesses lists the tables the request touched but SAP returns no per-statement SQL text/timing here (hitlist/statements are usually empty); for the actual slow SQL + duration + plan use ST05 in SAP GUI. The profiler trace is richest for dialog/report/RFC traces of ABAP-side code.',
|
|
219
|
-
}
|
|
243
|
+
}));
|
|
220
244
|
}
|
|
221
245
|
case 'trace_requests': {
|
|
222
246
|
const user = args.traceUser ?? args.user ?? client.username;
|
|
223
247
|
const requests = await listTraceRequests(client.http, client.safety, user);
|
|
224
|
-
return textResult(
|
|
248
|
+
return textResult(toolJson(requests));
|
|
225
249
|
}
|
|
226
250
|
case 'trace_cancel': {
|
|
227
251
|
const id = args.id;
|
|
228
252
|
if (!id)
|
|
229
253
|
return errorResult('trace_cancel requires "id" (from trace_start or trace_requests).');
|
|
230
254
|
await deleteTraceRequest(client.http, client.safety, id);
|
|
231
|
-
return textResult(
|
|
255
|
+
return textResult(toolJson({ cancelled: true, id }));
|
|
232
256
|
}
|
|
233
257
|
case 'system_messages': {
|
|
234
258
|
const user = args.user;
|
|
@@ -236,7 +260,7 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
236
260
|
const from = args.from;
|
|
237
261
|
const to = args.to;
|
|
238
262
|
const messages = await listSystemMessages(client.http, client.safety, { user, maxResults, from, to });
|
|
239
|
-
return textResult(
|
|
263
|
+
return textResult(toolJson(messages));
|
|
240
264
|
}
|
|
241
265
|
case 'gateway_errors': {
|
|
242
266
|
if (isBtpSystem()) {
|
|
@@ -251,10 +275,10 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
251
275
|
const errorType = args.errorType;
|
|
252
276
|
if (detailUrl || id) {
|
|
253
277
|
const detail = await getGatewayErrorDetail(client.http, client.safety, { detailUrl, id, errorType });
|
|
254
|
-
return textResult(
|
|
278
|
+
return textResult(toolJson(detail));
|
|
255
279
|
}
|
|
256
280
|
const errors = await listGatewayErrors(client.http, client.safety, { user, maxResults, from, to });
|
|
257
|
-
return textResult(
|
|
281
|
+
return textResult(toolJson(errors));
|
|
258
282
|
}
|
|
259
283
|
case 'odata_perf': {
|
|
260
284
|
const url = String(args.url ?? '').trim();
|
|
@@ -262,18 +286,18 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
262
286
|
return errorResult('SAPDiagnose action="odata_perf" requires a "url" — the host-relative OData path from the Fiori app\'s Network tab (e.g. "/sap/opu/odata4/sap/.../Entity?$filter=..." or "/sap/opu/odata/sap/<SRV>/<EntitySet>?$top=20"). ARC-1 GETs it with ?sap-statistics=true and a wall-clock timer, then returns the server-side timing split + a routing verdict.');
|
|
263
287
|
}
|
|
264
288
|
const perf = await probeODataPerformance(client.http, client.safety, url);
|
|
265
|
-
return textResult(
|
|
289
|
+
return textResult(toolJson(perf));
|
|
266
290
|
}
|
|
267
291
|
case 'cds_sql': {
|
|
268
292
|
if (!name) {
|
|
269
293
|
return errorResult('SAPDiagnose action="cds_sql" requires a "name" — the CDS DDL source (DDLS), e.g. "I_CURRENCY". Returns the native SQL CREATE VIEW statements the CDS view compiles to.');
|
|
270
294
|
}
|
|
271
295
|
const cdsSql = await getCdsCreateStatements(client.http, client.safety, name);
|
|
272
|
-
return textResult(
|
|
296
|
+
return textResult(toolJson(cdsSql));
|
|
273
297
|
}
|
|
274
298
|
case 'sql_trace_state': {
|
|
275
299
|
const states = await getSqlTraceState(client.http, client.safety);
|
|
276
|
-
return textResult(
|
|
300
|
+
return textResult(toolJson(states));
|
|
277
301
|
}
|
|
278
302
|
case 'set_sql_trace_state': {
|
|
279
303
|
if (args.sqlOn === undefined) {
|
|
@@ -282,16 +306,16 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
282
306
|
const sqlOn = args.sqlOn === true || String(args.sqlOn) === 'true';
|
|
283
307
|
const traceUser = args.user !== undefined ? String(args.user) : undefined;
|
|
284
308
|
const states = await setSqlTraceState(client.http, client.safety, { sqlOn, traceUser });
|
|
285
|
-
return textResult(
|
|
309
|
+
return textResult(toolJson({
|
|
286
310
|
states,
|
|
287
311
|
next: sqlOn
|
|
288
312
|
? 'SQL trace armed. Reproduce the slow request, then call SAPDiagnose(action="sql_trace_directory") for the SQL Trace Analysis link, or read the generated SQL with SAPDiagnose(action="cds_sql").'
|
|
289
313
|
: 'SQL trace disarmed.',
|
|
290
|
-
}
|
|
314
|
+
}));
|
|
291
315
|
}
|
|
292
316
|
case 'sql_trace_directory': {
|
|
293
317
|
const dir = await getSqlTraceDirectory(client.http, client.safety);
|
|
294
|
-
return textResult(
|
|
318
|
+
return textResult(toolJson(dir));
|
|
295
319
|
}
|
|
296
320
|
case 'authorization_trace': {
|
|
297
321
|
const user = String(args.user ?? '').trim() || undefined;
|
|
@@ -300,7 +324,7 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
300
324
|
const maxResults = args.maxResults === undefined ? undefined : Number(args.maxResults);
|
|
301
325
|
try {
|
|
302
326
|
const result = await getAuthorizationTrace(client, { user, authObject, onlyFailures, maxResults });
|
|
303
|
-
return textResult(
|
|
327
|
+
return textResult(toolJson(result));
|
|
304
328
|
}
|
|
305
329
|
catch (err) {
|
|
306
330
|
if (err instanceof AdtApiError && /Cannot find '/i.test(err.message)) {
|
|
@@ -312,7 +336,7 @@ export async function handleSAPDiagnose(client, args) {
|
|
|
312
336
|
}
|
|
313
337
|
}
|
|
314
338
|
default:
|
|
315
|
-
return errorResult(`Unknown SAPDiagnose action: ${action}. Supported: syntax, unittest, atc, cds_testcases, object_state, quickfix, apply_quickfix, dumps, traces, trace_start, trace_requests, trace_cancel, system_messages, gateway_errors, odata_perf, cds_sql, sql_trace_state, set_sql_trace_state, sql_trace_directory, authorization_trace`);
|
|
339
|
+
return errorResult(`Unknown SAPDiagnose action: ${action}. Supported: syntax, unittest, atc, atc_variants, cds_testcases, object_state, quickfix, apply_quickfix, dumps, traces, trace_start, trace_requests, trace_cancel, system_messages, gateway_errors, odata_perf, cds_sql, sql_trace_state, set_sql_trace_state, sql_trace_directory, authorization_trace`);
|
|
316
340
|
}
|
|
317
341
|
}
|
|
318
342
|
function selectDumpSections(detail, requestedSections) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../src/handlers/diagnose.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../src/handlers/diagnose.ts"],"names":[],"mappings":"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"}
|