arc-1 0.6.9 → 0.6.10
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 +6 -4
- package/dist/adt/abapgit.d.ts +39 -0
- package/dist/adt/abapgit.d.ts.map +1 -0
- package/dist/adt/abapgit.js +333 -0
- package/dist/adt/abapgit.js.map +1 -0
- package/dist/adt/config.d.ts +1 -0
- package/dist/adt/config.d.ts.map +1 -1
- package/dist/adt/config.js +1 -0
- package/dist/adt/config.js.map +1 -1
- package/dist/adt/crud.d.ts.map +1 -1
- package/dist/adt/crud.js +42 -3
- package/dist/adt/crud.js.map +1 -1
- package/dist/adt/errors.d.ts +22 -1
- package/dist/adt/errors.d.ts.map +1 -1
- package/dist/adt/errors.js +71 -2
- package/dist/adt/errors.js.map +1 -1
- package/dist/adt/features.d.ts.map +1 -1
- package/dist/adt/features.js +3 -0
- package/dist/adt/features.js.map +1 -1
- package/dist/adt/gcts.d.ts +68 -0
- package/dist/adt/gcts.d.ts.map +1 -0
- package/dist/adt/gcts.js +239 -0
- package/dist/adt/gcts.js.map +1 -0
- package/dist/adt/safety.d.ts +3 -0
- package/dist/adt/safety.d.ts.map +1 -1
- package/dist/adt/safety.js +9 -0
- package/dist/adt/safety.js.map +1 -1
- package/dist/adt/transport.d.ts.map +1 -1
- package/dist/adt/transport.js +4 -1
- package/dist/adt/transport.js.map +1 -1
- package/dist/adt/types.d.ts +137 -0
- package/dist/adt/types.d.ts.map +1 -1
- package/dist/adt/xml-parser.d.ts +2 -0
- package/dist/adt/xml-parser.d.ts.map +1 -1
- package/dist/adt/xml-parser.js +2 -0
- package/dist/adt/xml-parser.js.map +1 -1
- package/dist/handlers/intent.d.ts.map +1 -1
- package/dist/handlers/intent.js +235 -0
- package/dist/handlers/intent.js.map +1 -1
- package/dist/handlers/schemas.d.ts +45 -1
- package/dist/handlers/schemas.d.ts.map +1 -1
- package/dist/handlers/schemas.js +46 -0
- package/dist/handlers/schemas.js.map +1 -1
- package/dist/handlers/tools.d.ts +4 -3
- package/dist/handlers/tools.d.ts.map +1 -1
- package/dist/handlers/tools.js +115 -3
- package/dist/handlers/tools.js.map +1 -1
- package/dist/probe/catalog.d.ts +30 -0
- package/dist/probe/catalog.d.ts.map +1 -0
- package/dist/probe/catalog.js +196 -0
- package/dist/probe/catalog.js.map +1 -0
- package/dist/probe/fixtures.d.ts +54 -0
- package/dist/probe/fixtures.d.ts.map +1 -0
- package/dist/probe/fixtures.js +94 -0
- package/dist/probe/fixtures.js.map +1 -0
- package/dist/probe/format.d.ts +10 -0
- package/dist/probe/format.d.ts.map +1 -0
- package/dist/probe/format.js +114 -0
- package/dist/probe/format.js.map +1 -0
- package/dist/probe/quality.d.ts +13 -0
- package/dist/probe/quality.d.ts.map +1 -0
- package/dist/probe/quality.js +50 -0
- package/dist/probe/quality.js.map +1 -0
- package/dist/probe/runner.d.ts +48 -0
- package/dist/probe/runner.d.ts.map +1 -0
- package/dist/probe/runner.js +211 -0
- package/dist/probe/runner.js.map +1 -0
- package/dist/probe/types.d.ts +159 -0
- package/dist/probe/types.d.ts.map +1 -0
- package/dist/probe/types.js +11 -0
- package/dist/probe/types.js.map +1 -0
- package/dist/server/audit.d.ts.map +1 -1
- package/dist/server/audit.js +12 -1
- package/dist/server/audit.js.map +1 -1
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +15 -2
- package/dist/server/config.js.map +1 -1
- package/dist/server/server.d.ts +2 -2
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +5 -3
- package/dist/server/server.js.map +1 -1
- package/dist/server/types.d.ts +3 -1
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js +2 -0
- package/dist/server/types.js.map +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Probe runner — classifies each ADT type against four independent signals:
|
|
3
|
+
*
|
|
4
|
+
* 1. Discovery map presence (free; from the already-fetched /discovery doc)
|
|
5
|
+
* 2. Collection-URL GET (tolerates 400/403/405 as "endpoint exists" — the
|
|
6
|
+
* #94/#95 lesson: only 404 is a hard negative)
|
|
7
|
+
* 3. Known-object GET on an SAP-shipped fixture (authoritative when available)
|
|
8
|
+
* 4. SAP_BASIS release vs. a hand-curated floor (weak tie-breaker only)
|
|
9
|
+
*
|
|
10
|
+
* The runner is deliberately pure: it takes a simple `HttpProbeFn` that never
|
|
11
|
+
* throws and returns a neutral shape. This makes it trivially testable by
|
|
12
|
+
* replaying recorded SAP responses from fixtures.
|
|
13
|
+
*/
|
|
14
|
+
import { buildObjectUrl } from './catalog.js';
|
|
15
|
+
/** Parse SAP_BASIS release string like "750", "7.57", "sap_btp" to a number, or null. */
|
|
16
|
+
export function parseRelease(release) {
|
|
17
|
+
if (!release)
|
|
18
|
+
return null;
|
|
19
|
+
const digits = release.replace(/\D/g, '');
|
|
20
|
+
if (!digits)
|
|
21
|
+
return null;
|
|
22
|
+
const n = Number.parseInt(digits, 10);
|
|
23
|
+
return Number.isFinite(n) && n > 0 ? n : null;
|
|
24
|
+
}
|
|
25
|
+
/** Classify an HTTP response code into a discrete bucket. */
|
|
26
|
+
export function classifyHttp(result) {
|
|
27
|
+
if (result.networkError)
|
|
28
|
+
return 'network-error';
|
|
29
|
+
const s = result.statusCode;
|
|
30
|
+
if (s === undefined)
|
|
31
|
+
return 'network-error';
|
|
32
|
+
if (s >= 200 && s < 300)
|
|
33
|
+
return 'ok-2xx';
|
|
34
|
+
if (s === 400)
|
|
35
|
+
return 'ok-400-bad-params';
|
|
36
|
+
if (s === 401 || s === 403)
|
|
37
|
+
return 'auth-blocked';
|
|
38
|
+
if (s === 404)
|
|
39
|
+
return 'not-found';
|
|
40
|
+
if (s === 405)
|
|
41
|
+
return 'ok-405-method';
|
|
42
|
+
if (s >= 500 && s < 600)
|
|
43
|
+
return 'server-error';
|
|
44
|
+
return 'other-error';
|
|
45
|
+
}
|
|
46
|
+
/** Truncate an HTTP body for inclusion in reports; strips whitespace. */
|
|
47
|
+
function snippet(body) {
|
|
48
|
+
if (!body)
|
|
49
|
+
return undefined;
|
|
50
|
+
const trimmed = body.replace(/\s+/g, ' ').trim();
|
|
51
|
+
return trimmed.length > 200 ? `${trimmed.slice(0, 200)}…` : trimmed;
|
|
52
|
+
}
|
|
53
|
+
/** Run the collection-URL probe. Normalized, never throws. */
|
|
54
|
+
export async function probeCollection(fetchFn, collectionUrl) {
|
|
55
|
+
const res = await fetchFn(collectionUrl, 'GET');
|
|
56
|
+
return {
|
|
57
|
+
url: collectionUrl,
|
|
58
|
+
classification: classifyHttp(res),
|
|
59
|
+
statusCode: res.statusCode,
|
|
60
|
+
errorMessage: res.errorMessage,
|
|
61
|
+
bodySnippet: snippet(res.body),
|
|
62
|
+
durationMs: res.durationMs,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Try each known object in order and classify the outcome.
|
|
67
|
+
* We stop at the first 2xx; if all fail, we aggregate the attempted list.
|
|
68
|
+
*/
|
|
69
|
+
export async function probeKnownObject(fetchFn, entry) {
|
|
70
|
+
const list = entry.knownObjects ?? [];
|
|
71
|
+
if (list.length === 0 || !entry.objectUrlTemplate)
|
|
72
|
+
return { kind: 'not-tested' };
|
|
73
|
+
const attempted = [];
|
|
74
|
+
let sawAuthBlock = false;
|
|
75
|
+
let lastError;
|
|
76
|
+
for (const name of list) {
|
|
77
|
+
attempted.push(name);
|
|
78
|
+
const url = buildObjectUrl(entry.objectUrlTemplate, name);
|
|
79
|
+
const res = await fetchFn(url, 'GET');
|
|
80
|
+
const klass = classifyHttp(res);
|
|
81
|
+
if (klass === 'ok-2xx') {
|
|
82
|
+
return { kind: 'ok', objectName: name, statusCode: res.statusCode ?? 200 };
|
|
83
|
+
}
|
|
84
|
+
if (klass === 'auth-blocked')
|
|
85
|
+
sawAuthBlock = true;
|
|
86
|
+
if (klass === 'network-error') {
|
|
87
|
+
lastError = res.errorMessage ?? 'network error';
|
|
88
|
+
}
|
|
89
|
+
if (klass === 'server-error' || klass === 'other-error') {
|
|
90
|
+
lastError = `HTTP ${res.statusCode}`;
|
|
91
|
+
}
|
|
92
|
+
// 404 is expected for objects that don't exist on this system — keep trying.
|
|
93
|
+
}
|
|
94
|
+
if (lastError)
|
|
95
|
+
return { kind: 'error', attempted, message: lastError };
|
|
96
|
+
if (sawAuthBlock)
|
|
97
|
+
return { kind: 'auth-blocked', attempted };
|
|
98
|
+
return { kind: 'all-missing', attempted };
|
|
99
|
+
}
|
|
100
|
+
/** Classify the release signal. */
|
|
101
|
+
export function classifyRelease(detectedRelease, floor) {
|
|
102
|
+
const detected = parseRelease(detectedRelease);
|
|
103
|
+
if (detected === null)
|
|
104
|
+
return { kind: 'unknown', floor };
|
|
105
|
+
if (floor === undefined)
|
|
106
|
+
return { kind: 'ok', detected: detectedRelease ?? '', floor: 0 };
|
|
107
|
+
if (detected < floor)
|
|
108
|
+
return { kind: 'below-floor', detected: detectedRelease ?? '', floor };
|
|
109
|
+
return { kind: 'ok', detected: detectedRelease ?? '', floor };
|
|
110
|
+
}
|
|
111
|
+
/** Collapse the four signals into a final verdict + one-line reason. */
|
|
112
|
+
export function classifyVerdict(signals) {
|
|
113
|
+
const { discovery, collection, knownObject, release } = signals;
|
|
114
|
+
// Rule 1 — known-object is authoritative.
|
|
115
|
+
if (knownObject.kind === 'ok') {
|
|
116
|
+
const discoHint = discovery === 'discovered'
|
|
117
|
+
? 'discovery confirms'
|
|
118
|
+
: discovery === 'not-discovered'
|
|
119
|
+
? 'but discovery map did NOT list the collection (discovery incomplete?)'
|
|
120
|
+
: 'no discovery map available';
|
|
121
|
+
return {
|
|
122
|
+
verdict: 'available-high',
|
|
123
|
+
reason: `known-object read of "${knownObject.objectName}" returned 200; ${discoHint}`,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
// Rule 2 — unanimous auth blocking.
|
|
127
|
+
if (collection.classification === 'auth-blocked' && knownObject.kind === 'auth-blocked') {
|
|
128
|
+
return {
|
|
129
|
+
verdict: 'auth-blocked',
|
|
130
|
+
reason: `collection and known-object both returned 401/403 — endpoint exists, probe user lacks rights`,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
// Rule 3 — collection 404 paths (the real "not available" signal).
|
|
134
|
+
if (collection.classification === 'not-found') {
|
|
135
|
+
if (discovery === 'discovered') {
|
|
136
|
+
return {
|
|
137
|
+
verdict: 'ambiguous',
|
|
138
|
+
reason: `discovery lists this collection but GET returned 404 — endpoint registered but inactive?`,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
const discoNegative = discovery === 'not-discovered';
|
|
142
|
+
const knownNegative = knownObject.kind === 'all-missing' || knownObject.kind === 'not-tested';
|
|
143
|
+
const releaseNegative = release.kind === 'below-floor';
|
|
144
|
+
if (discoNegative && knownNegative && releaseNegative) {
|
|
145
|
+
return {
|
|
146
|
+
verdict: 'unavailable-high',
|
|
147
|
+
reason: `discovery miss + collection 404 + release ${release.detected}<${release.floor} — high confidence`,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
return {
|
|
151
|
+
verdict: 'unavailable-likely',
|
|
152
|
+
reason: `collection returned 404${discoNegative ? ' and not in discovery map' : ''}`,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
// Rule 4 — collection responded in a way that suggests the endpoint exists.
|
|
156
|
+
const okBuckets = ['ok-2xx', 'ok-400-bad-params', 'ok-405-method'];
|
|
157
|
+
if (okBuckets.includes(collection.classification)) {
|
|
158
|
+
if (knownObject.kind === 'all-missing') {
|
|
159
|
+
return {
|
|
160
|
+
verdict: discovery === 'discovered' ? 'available-high' : 'available-medium',
|
|
161
|
+
reason: `collection HTTP ${collection.statusCode}; known-object candidates not present on this system`,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
if (discovery === 'discovered') {
|
|
165
|
+
return {
|
|
166
|
+
verdict: 'available-high',
|
|
167
|
+
reason: `discovered + collection HTTP ${collection.statusCode}`,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
return {
|
|
171
|
+
verdict: 'available-medium',
|
|
172
|
+
reason: `collection HTTP ${collection.statusCode} but not in discovery map`,
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
// Rule 5 — auth-blocked with weaker corroboration.
|
|
176
|
+
if (collection.classification === 'auth-blocked') {
|
|
177
|
+
return {
|
|
178
|
+
verdict: 'auth-blocked',
|
|
179
|
+
reason: `collection returned 401/403 — endpoint likely exists but probe user lacks rights`,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
// Rule 6 — anything else (5xx, network errors, unexpected codes).
|
|
183
|
+
return {
|
|
184
|
+
verdict: 'ambiguous',
|
|
185
|
+
reason: `collection returned ${collection.classification}${collection.statusCode ? ` (${collection.statusCode})` : ''}; cannot decide`,
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
/** Compute a discovery-map lookup for a collection URL. */
|
|
189
|
+
export function resolveDiscovery(discoveryMap, collectionUrl) {
|
|
190
|
+
if (!discoveryMap || discoveryMap.size === 0)
|
|
191
|
+
return 'no-discovery-map';
|
|
192
|
+
// Discovery keys are normalized with no trailing slash; catalog URLs follow the same convention.
|
|
193
|
+
const normalized = collectionUrl.endsWith('/') ? collectionUrl.slice(0, -1) : collectionUrl;
|
|
194
|
+
return discoveryMap.has(normalized) ? 'discovered' : 'not-discovered';
|
|
195
|
+
}
|
|
196
|
+
/** Probe one catalog entry end-to-end. */
|
|
197
|
+
export async function probeType(fetchFn, entry, discoveryMap, detectedRelease) {
|
|
198
|
+
const [collection, knownObject] = await Promise.all([
|
|
199
|
+
probeCollection(fetchFn, entry.collectionUrl),
|
|
200
|
+
probeKnownObject(fetchFn, entry),
|
|
201
|
+
]);
|
|
202
|
+
const signals = {
|
|
203
|
+
discovery: resolveDiscovery(discoveryMap, entry.collectionUrl),
|
|
204
|
+
collection,
|
|
205
|
+
knownObject,
|
|
206
|
+
release: classifyRelease(detectedRelease, entry.minRelease),
|
|
207
|
+
};
|
|
208
|
+
const { verdict, reason } = classifyVerdict(signals);
|
|
209
|
+
return { type: entry.type, signals, verdict, reason };
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/probe/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the ADT type-availability probe.
|
|
3
|
+
*
|
|
4
|
+
* The probe is pure diagnostic tooling — it does not change product behavior.
|
|
5
|
+
* It collects multiple independent signals per ADT object type and reports
|
|
6
|
+
* both the per-type verdict AND the quality-of-probe metrics, so anyone
|
|
7
|
+
* running it against their own system can see not just "is TABL supported"
|
|
8
|
+
* but "how confident should we be in that answer".
|
|
9
|
+
*/
|
|
10
|
+
/** SAPREAD/SAPWrite type code (TABL, BDEF, DDLS, …). */
|
|
11
|
+
export type TypeCode = string;
|
|
12
|
+
/** A catalog entry for one ADT object type. */
|
|
13
|
+
export interface CatalogEntry {
|
|
14
|
+
/** 4-letter type code used in SAPRead/SAPWrite. */
|
|
15
|
+
type: TypeCode;
|
|
16
|
+
/** Canonical collection URL (e.g. "/sap/bc/adt/ddic/tables"). */
|
|
17
|
+
collectionUrl: string;
|
|
18
|
+
/**
|
|
19
|
+
* Object-level URL template, where `{name}` is the encoded object name.
|
|
20
|
+
* Used for the known-object probe. If absent, that signal is NOT_TESTED.
|
|
21
|
+
*/
|
|
22
|
+
objectUrlTemplate?: string;
|
|
23
|
+
/**
|
|
24
|
+
* SAP-shipped objects that should exist on (almost) every system for this type.
|
|
25
|
+
* The probe tries each until one returns 200 (or it exhausts the list).
|
|
26
|
+
* Leave empty for types where no widely-shipped object exists (BDEF, SRVD, …).
|
|
27
|
+
*/
|
|
28
|
+
knownObjects?: string[];
|
|
29
|
+
/**
|
|
30
|
+
* Minimum SAP_BASIS release where this type's endpoint is expected to exist.
|
|
31
|
+
* Used only as a weak signal; release strings vary (BTP reports differently).
|
|
32
|
+
* Encoded as the 3-digit release number (750, 752, 757, …).
|
|
33
|
+
*/
|
|
34
|
+
minRelease?: number;
|
|
35
|
+
/** Freeform note shown in the report (e.g. "RAP BDEF — needs SAP_BASIS >= 7.57"). */
|
|
36
|
+
note?: string;
|
|
37
|
+
}
|
|
38
|
+
/** Result of the discovery-map lookup for a single type. */
|
|
39
|
+
export type DiscoverySignal = 'discovered' | 'not-discovered' | 'no-discovery-map';
|
|
40
|
+
/** Status classification for a single HTTP probe. */
|
|
41
|
+
export type HttpClassification = 'ok-2xx' | 'ok-400-bad-params' | 'ok-405-method' | 'auth-blocked' | 'not-found' | 'server-error' | 'other-error' | 'network-error';
|
|
42
|
+
/** Single HTTP probe result. */
|
|
43
|
+
export interface HttpProbe {
|
|
44
|
+
url: string;
|
|
45
|
+
classification: HttpClassification;
|
|
46
|
+
statusCode?: number;
|
|
47
|
+
/** Raw error message if the call threw without an HTTP response. */
|
|
48
|
+
errorMessage?: string;
|
|
49
|
+
/** First ~200 chars of the response body, for human review. */
|
|
50
|
+
bodySnippet?: string;
|
|
51
|
+
durationMs: number;
|
|
52
|
+
}
|
|
53
|
+
/** Outcome of the known-object probe. */
|
|
54
|
+
export type KnownObjectOutcome = {
|
|
55
|
+
kind: 'ok';
|
|
56
|
+
objectName: string;
|
|
57
|
+
statusCode: number;
|
|
58
|
+
} | {
|
|
59
|
+
kind: 'all-missing';
|
|
60
|
+
attempted: string[];
|
|
61
|
+
} | {
|
|
62
|
+
kind: 'auth-blocked';
|
|
63
|
+
attempted: string[];
|
|
64
|
+
} | {
|
|
65
|
+
kind: 'error';
|
|
66
|
+
attempted: string[];
|
|
67
|
+
message: string;
|
|
68
|
+
} | {
|
|
69
|
+
kind: 'not-tested';
|
|
70
|
+
};
|
|
71
|
+
/** Four independent signals combined per type. */
|
|
72
|
+
export interface TypeSignals {
|
|
73
|
+
discovery: DiscoverySignal;
|
|
74
|
+
collection: HttpProbe;
|
|
75
|
+
knownObject: KnownObjectOutcome;
|
|
76
|
+
release: {
|
|
77
|
+
kind: 'ok';
|
|
78
|
+
detected: string;
|
|
79
|
+
floor: number;
|
|
80
|
+
} | {
|
|
81
|
+
kind: 'below-floor';
|
|
82
|
+
detected: string;
|
|
83
|
+
floor: number;
|
|
84
|
+
} | {
|
|
85
|
+
kind: 'unknown';
|
|
86
|
+
floor?: number;
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
/** Final verdict the probe reports for a type. */
|
|
90
|
+
export type Verdict = 'available-high' | 'available-medium' | 'unavailable-high' | 'unavailable-likely' | 'auth-blocked' | 'ambiguous';
|
|
91
|
+
/** Per-type probe result. */
|
|
92
|
+
export interface TypeResult {
|
|
93
|
+
type: TypeCode;
|
|
94
|
+
signals: TypeSignals;
|
|
95
|
+
verdict: Verdict;
|
|
96
|
+
/** Human-readable one-liner explaining which signals drove the verdict. */
|
|
97
|
+
reason: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* One installed software component as reported by /sap/bc/adt/system/components.
|
|
101
|
+
* Captured so future readers of a fixture can tell a plain NW 7.58 apart from
|
|
102
|
+
* an S/4HANA 2023 — SAP_BASIS alone is not enough signal.
|
|
103
|
+
*/
|
|
104
|
+
export interface InstalledProduct {
|
|
105
|
+
/** Component id (e.g. "SAP_BASIS", "S4FND"). */
|
|
106
|
+
name: string;
|
|
107
|
+
/** Numeric release (e.g. "758", "108"). */
|
|
108
|
+
release: string;
|
|
109
|
+
/** Support package level (e.g. "0002"), if reported. */
|
|
110
|
+
spLevel?: string;
|
|
111
|
+
/** Human-readable description (e.g. "SAP Basis Component"). */
|
|
112
|
+
description?: string;
|
|
113
|
+
}
|
|
114
|
+
/** System-level info the probe captures for context. */
|
|
115
|
+
export interface ProbedSystem {
|
|
116
|
+
baseUrl: string;
|
|
117
|
+
client?: string;
|
|
118
|
+
abapRelease?: string;
|
|
119
|
+
systemType?: 'onprem' | 'btp' | 'unknown';
|
|
120
|
+
/** Full component list from /sap/bc/adt/system/components when available. */
|
|
121
|
+
products?: InstalledProduct[];
|
|
122
|
+
discoveryMapSize: number;
|
|
123
|
+
probedAt: string;
|
|
124
|
+
}
|
|
125
|
+
/** Aggregated quality metrics across all types — "how good is the probe itself". */
|
|
126
|
+
export interface QualityMetrics {
|
|
127
|
+
/** Fraction of types for which each signal returned a definitive answer. */
|
|
128
|
+
coverage: {
|
|
129
|
+
discovery: number;
|
|
130
|
+
collection: number;
|
|
131
|
+
knownObject: number;
|
|
132
|
+
release: number;
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Of the types that tested positive via the authoritative known-object signal,
|
|
136
|
+
* what fraction were also present in the discovery map?
|
|
137
|
+
* Low number = the discovery map is unreliable for this release; deweight it.
|
|
138
|
+
*/
|
|
139
|
+
discoveryAccuracyVsKnownObject: number | null;
|
|
140
|
+
/** Count of verdicts per bucket. */
|
|
141
|
+
verdictHistogram: Record<Verdict, number>;
|
|
142
|
+
/** Types flagged ambiguous — the danger zone where signals disagree. */
|
|
143
|
+
ambiguousTypes: TypeCode[];
|
|
144
|
+
/** Types for which no known-object fixture was listed in the catalog (probe blind spot). */
|
|
145
|
+
uncoveredByKnownObject: TypeCode[];
|
|
146
|
+
}
|
|
147
|
+
/** Full probe report, serializable to JSON for sharing. */
|
|
148
|
+
export interface ProbeReport {
|
|
149
|
+
/** Metadata so anyone reading the JSON can compare their run against others. */
|
|
150
|
+
system: ProbedSystem;
|
|
151
|
+
results: TypeResult[];
|
|
152
|
+
quality: QualityMetrics;
|
|
153
|
+
/**
|
|
154
|
+
* Schema version for the report file. Bump when the shape changes so
|
|
155
|
+
* replay tests can refuse to load incompatible fixtures.
|
|
156
|
+
*/
|
|
157
|
+
schemaVersion: 1;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/probe/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the ADT type-availability probe.
|
|
3
|
+
*
|
|
4
|
+
* The probe is pure diagnostic tooling — it does not change product behavior.
|
|
5
|
+
* It collects multiple independent signals per ADT object type and reports
|
|
6
|
+
* both the per-type verdict AND the quality-of-probe metrics, so anyone
|
|
7
|
+
* running it against their own system can see not just "is TABL supported"
|
|
8
|
+
* but "how confident should we be in that answer".
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/probe/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/server/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,sCAAsC;AACtC,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,4BAA4B;AAC5B,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,KAAK,EAAE,iBAAiB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,iDAAiD;AACjD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,8BAA8B;AAC9B,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,uBAAuB;AACvB,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAwB;AACxB,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,KAAK,EAAE,mBAAmB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,4DAA4D;AAC5D,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,KAAK,EAAE,iBAAiB,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,yCAAyC;AACzC,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAqB;AACrB,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,iCAAiC;AACjC,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,KAAK,EAAE,kBAAkB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,uCAAuC;AACvC,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC9D,KAAK,EAAE,sBAAsB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,8CAA8C;AAC9C,MAAM,MAAM,UAAU,GAClB,kBAAkB,GAClB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,oBAAoB,GACpB,kBAAkB,GAClB,kBAAkB,GAClB,gBAAgB,GAChB,oBAAoB,GACpB,wBAAwB,CAAC;AAE7B,qFAAqF;AACrF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/server/audit.ts"],"names":[],"mappings":"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"}
|
package/dist/server/audit.js
CHANGED
|
@@ -9,7 +9,18 @@
|
|
|
9
9
|
*/
|
|
10
10
|
/** Sanitize tool call arguments — remove values that might contain sensitive data */
|
|
11
11
|
export function sanitizeArgs(args) {
|
|
12
|
-
const sensitiveKeys = [
|
|
12
|
+
const sensitiveKeys = [
|
|
13
|
+
'password',
|
|
14
|
+
'token',
|
|
15
|
+
'secret',
|
|
16
|
+
'cookie',
|
|
17
|
+
'authorization',
|
|
18
|
+
'csrf',
|
|
19
|
+
'apikey',
|
|
20
|
+
'authpwd',
|
|
21
|
+
'authtoken',
|
|
22
|
+
'remotepassword',
|
|
23
|
+
];
|
|
13
24
|
const result = {};
|
|
14
25
|
for (const [key, value] of Object.entries(args)) {
|
|
15
26
|
if (sensitiveKeys.some((s) => key.toLowerCase().includes(s))) {
|
package/dist/server/audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/server/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgHH,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,IAA6B;IACxD,MAAM,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/server/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgHH,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,IAA6B;IACxD,MAAM,aAAa,GAAG;QACpB,UAAU;QACV,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,eAAe;QACf,MAAM;QACN,QAAQ;QACR,SAAS;QACT,WAAW;QACX,gBAAgB;KACjB,CAAC;IACF,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC3D,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kBAAkB,KAAK,CAAC,MAAM,SAAS,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAiB,YAAY,EAAiB,MAAM,YAAY,CAAC;AAG7E;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA8BjF;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAOnD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAwC1D,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAsMtD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CA8CzD"}
|
package/dist/server/config.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* Environment variable names match the Go version exactly (SAP_URL, SAP_USER, etc.)
|
|
8
8
|
* for drop-in compatibility with existing deployments and documentation.
|
|
9
9
|
*/
|
|
10
|
+
import { logger } from './logger.js';
|
|
10
11
|
import { DEFAULT_CONFIG } from './types.js';
|
|
11
12
|
/**
|
|
12
13
|
* Parse API keys string into structured array.
|
|
@@ -191,8 +192,19 @@ export function parseArgs(args) {
|
|
|
191
192
|
config.allowedOps = resolve('allowed-ops', 'SAP_ALLOWED_OPS', '');
|
|
192
193
|
config.disallowedOps = resolve('disallowed-ops', 'SAP_DISALLOWED_OPS', '');
|
|
193
194
|
const pkgs = getFlag('allowed-packages') ?? process.env.SAP_ALLOWED_PACKAGES;
|
|
194
|
-
if (pkgs)
|
|
195
|
-
|
|
195
|
+
if (pkgs) {
|
|
196
|
+
const raw = pkgs.split(',').map((p) => p.trim());
|
|
197
|
+
const filtered = raw.filter((p) => p.length > 0);
|
|
198
|
+
if (raw.length !== filtered.length) {
|
|
199
|
+
logger.warn("SAP_ALLOWED_PACKAGES contained empty entries — likely shell expansion of unset $VARs. Use single quotes: SAP_ALLOWED_PACKAGES='$TMP,Z*'", { raw: pkgs, parsed: filtered });
|
|
200
|
+
}
|
|
201
|
+
config.allowedPackages = filtered;
|
|
202
|
+
}
|
|
203
|
+
const enableGitExplicit = getFlag('enable-git') ?? process.env.SAP_ENABLE_GIT;
|
|
204
|
+
if (enableGitExplicit !== undefined)
|
|
205
|
+
config.enableGit = enableGitExplicit === 'true' || enableGitExplicit === '1';
|
|
206
|
+
else if (!profileName)
|
|
207
|
+
config.enableGit = false;
|
|
196
208
|
const enableTransportsExplicit = getFlag('enable-transports') ?? process.env.SAP_ENABLE_TRANSPORTS;
|
|
197
209
|
if (enableTransportsExplicit !== undefined)
|
|
198
210
|
config.enableTransports = enableTransportsExplicit === 'true' || enableTransportsExplicit === '1';
|
|
@@ -200,6 +212,7 @@ export function parseArgs(args) {
|
|
|
200
212
|
config.enableTransports = false;
|
|
201
213
|
// --- Features ---
|
|
202
214
|
config.featureAbapGit = resolveFeature('feature-abapgit', 'SAP_FEATURE_ABAPGIT');
|
|
215
|
+
config.featureGcts = resolveFeature('feature-gcts', 'SAP_FEATURE_GCTS');
|
|
203
216
|
config.featureRap = resolveFeature('feature-rap', 'SAP_FEATURE_RAP');
|
|
204
217
|
config.featureAmdp = resolveFeature('feature-amdp', 'SAP_FEATURE_AMDP');
|
|
205
218
|
config.featureUi5 = resolveFeature('feature-ui5', 'SAP_FEATURE_UI5');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"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"}
|
package/dist/server/server.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP Server for ARC-1.
|
|
3
3
|
*
|
|
4
|
-
* Creates and starts the MCP server with
|
|
4
|
+
* Creates and starts the MCP server with 12 intent-based tools.
|
|
5
5
|
* Supports two transports:
|
|
6
6
|
* - stdio (default): for local MCP clients (Claude Desktop, Claude Code, Cursor)
|
|
7
7
|
* - http-streamable: for remote/containerized deployments
|
|
@@ -12,7 +12,7 @@ import type { AdtClientConfig } from '../adt/config.js';
|
|
|
12
12
|
import { CachingLayer } from '../cache/caching-layer.js';
|
|
13
13
|
import type { ServerConfig } from './types.js';
|
|
14
14
|
/** ARC-1 version */
|
|
15
|
-
export declare const VERSION = "0.6.
|
|
15
|
+
export declare const VERSION = "0.6.10";
|
|
16
16
|
export declare function logAuthSummary(config: ServerConfig): void;
|
|
17
17
|
/** Build the base ADT client config (without per-user auth) */
|
|
18
18
|
export declare function buildAdtConfig(config: ServerConfig, btpProxy?: BTPProxyConfig, bearerTokenProvider?: () => Promise<string>, opts?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAczD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,oBAAoB;AACpB,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAczD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,oBAAoB;AACpB,eAAO,MAAM,OAAO,WAAW,CAAC;AAEhC,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAiCzD;AAED,+DAA+D;AAG/D,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,QAAQ,CAAC,EAAE,cAAc,EACzB,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC3C,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3B,OAAO,CAAC,eAAe,CAAC,CAmC1B;AAqFD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,QAAQ,CAAC,EAAE,cAAc,EACzB,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC3C,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,YAAY,EACpB,QAAQ,CAAC,EAAE,cAAc,EACzB,SAAS,CAAC,EAAE,SAAS,EACrB,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC3C,YAAY,CAAC,EAAE,YAAY,EAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAClC,MAAM,CAsHR;AAoCD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA0OhF"}
|
package/dist/server/server.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP Server for ARC-1.
|
|
3
3
|
*
|
|
4
|
-
* Creates and starts the MCP server with
|
|
4
|
+
* Creates and starts the MCP server with 12 intent-based tools.
|
|
5
5
|
* Supports two transports:
|
|
6
6
|
* - stdio (default): for local MCP clients (Claude Desktop, Claude Code, Cursor)
|
|
7
7
|
* - http-streamable: for remote/containerized deployments
|
|
@@ -19,7 +19,7 @@ import { getToolDefinitions } from '../handlers/tools.js';
|
|
|
19
19
|
import { initLogger, logger } from './logger.js';
|
|
20
20
|
import { FileSink } from './sinks/file.js';
|
|
21
21
|
/** ARC-1 version */
|
|
22
|
-
export const VERSION = '0.6.
|
|
22
|
+
export const VERSION = '0.6.10'; // x-release-please-version
|
|
23
23
|
export function logAuthSummary(config) {
|
|
24
24
|
const mcpMethods = [];
|
|
25
25
|
if (config.apiKey)
|
|
@@ -85,6 +85,7 @@ export function buildAdtConfig(config, btpProxy, bearerTokenProvider, opts) {
|
|
|
85
85
|
disallowedOps: config.disallowedOps,
|
|
86
86
|
allowedPackages: config.allowedPackages,
|
|
87
87
|
dryRun: false,
|
|
88
|
+
enableGit: config.enableGit,
|
|
88
89
|
enableTransports: config.enableTransports,
|
|
89
90
|
transportReadOnly: false,
|
|
90
91
|
allowedTransports: [],
|
|
@@ -190,6 +191,7 @@ export function runStartupProbe(config, btpProxy, bearerTokenProvider, btpConfig
|
|
|
190
191
|
const fc = defaultFeatureConfig();
|
|
191
192
|
fc.hana = config.featureHana;
|
|
192
193
|
fc.abapGit = config.featureAbapGit;
|
|
194
|
+
fc.gcts = config.featureGcts;
|
|
193
195
|
fc.rap = config.featureRap;
|
|
194
196
|
fc.amdp = config.featureAmdp;
|
|
195
197
|
fc.ui5 = config.featureUi5;
|
|
@@ -250,7 +252,7 @@ export function createServer(config, btpProxy, btpConfig, bearerTokenProvider, c
|
|
|
250
252
|
await Promise.race([startupProbePromise, new Promise((resolve) => setTimeout(resolve, 10_000))]);
|
|
251
253
|
}
|
|
252
254
|
const features = getCachedFeatures();
|
|
253
|
-
let tools = getToolDefinitions(config, features?.textSearch?.available);
|
|
255
|
+
let tools = getToolDefinitions(config, features?.textSearch?.available, features);
|
|
254
256
|
// When authenticated, only show tools the user has scopes for
|
|
255
257
|
if (extra.authInfo) {
|
|
256
258
|
tools = tools.filter((tool) => {
|