arc-1 0.3.0 → 0.4.1
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 +77 -199
- package/dist/adt/btp.d.ts +2 -2
- package/dist/adt/btp.d.ts.map +1 -1
- package/dist/adt/btp.js +1 -1
- package/dist/adt/btp.js.map +1 -1
- package/dist/adt/client.d.ts +13 -1
- package/dist/adt/client.d.ts.map +1 -1
- package/dist/adt/client.js +39 -1
- package/dist/adt/client.js.map +1 -1
- package/dist/adt/codeintel.d.ts +41 -0
- package/dist/adt/codeintel.d.ts.map +1 -1
- package/dist/adt/codeintel.js +99 -27
- package/dist/adt/codeintel.js.map +1 -1
- package/dist/adt/config.d.ts.map +1 -1
- package/dist/adt/config.js.map +1 -1
- package/dist/adt/cookies.d.ts.map +1 -1
- package/dist/adt/cookies.js.map +1 -1
- package/dist/adt/crud.d.ts.map +1 -1
- package/dist/adt/crud.js.map +1 -1
- package/dist/adt/devtools.d.ts +14 -0
- package/dist/adt/devtools.d.ts.map +1 -1
- package/dist/adt/devtools.js +28 -3
- package/dist/adt/devtools.js.map +1 -1
- package/dist/adt/diagnostics.d.ts +101 -0
- package/dist/adt/diagnostics.d.ts.map +1 -0
- package/dist/adt/diagnostics.js +349 -0
- package/dist/adt/diagnostics.js.map +1 -0
- package/dist/adt/errors.d.ts.map +1 -1
- package/dist/adt/errors.js.map +1 -1
- package/dist/adt/features.d.ts.map +1 -1
- package/dist/adt/features.js.map +1 -1
- package/dist/adt/http.d.ts +26 -7
- package/dist/adt/http.d.ts.map +1 -1
- package/dist/adt/http.js +140 -86
- package/dist/adt/http.js.map +1 -1
- package/dist/adt/oauth.d.ts.map +1 -1
- package/dist/adt/oauth.js.map +1 -1
- package/dist/adt/safety.d.ts.map +1 -1
- package/dist/adt/safety.js.map +1 -1
- package/dist/adt/transport.d.ts.map +1 -1
- package/dist/adt/transport.js.map +1 -1
- package/dist/adt/types.d.ts +139 -0
- package/dist/adt/types.d.ts.map +1 -1
- package/dist/adt/types.js.map +1 -1
- package/dist/adt/xml-parser.d.ts +37 -1
- package/dist/adt/xml-parser.d.ts.map +1 -1
- package/dist/adt/xml-parser.js +147 -0
- package/dist/adt/xml-parser.js.map +1 -1
- package/dist/cache/cache.d.ts +47 -4
- package/dist/cache/cache.d.ts.map +1 -1
- package/dist/cache/cache.js +16 -5
- package/dist/cache/cache.js.map +1 -1
- package/dist/cache/caching-layer.d.ts +82 -0
- package/dist/cache/caching-layer.d.ts.map +1 -0
- package/dist/cache/caching-layer.js +134 -0
- package/dist/cache/caching-layer.js.map +1 -0
- package/dist/cache/memory.d.ts +14 -2
- package/dist/cache/memory.d.ts.map +1 -1
- package/dist/cache/memory.js +72 -5
- package/dist/cache/memory.js.map +1 -1
- package/dist/cache/sqlite.d.ts +10 -1
- package/dist/cache/sqlite.d.ts.map +1 -1
- package/dist/cache/sqlite.js +90 -2
- package/dist/cache/sqlite.js.map +1 -1
- package/dist/cache/warmup.d.ts +41 -0
- package/dist/cache/warmup.d.ts.map +1 -0
- package/dist/cache/warmup.js +286 -0
- package/dist/cache/warmup.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/context/cds-deps.d.ts +35 -0
- package/dist/context/cds-deps.d.ts.map +1 -0
- package/dist/context/cds-deps.js +201 -0
- package/dist/context/cds-deps.js.map +1 -0
- package/dist/context/compressor.d.ts +20 -1
- package/dist/context/compressor.d.ts.map +1 -1
- package/dist/context/compressor.js +178 -17
- package/dist/context/compressor.js.map +1 -1
- package/dist/context/contract.d.ts.map +1 -1
- package/dist/context/contract.js.map +1 -1
- package/dist/context/deps.d.ts.map +1 -1
- package/dist/context/deps.js.map +1 -1
- package/dist/context/method-surgery.d.ts +91 -0
- package/dist/context/method-surgery.d.ts.map +1 -0
- package/dist/context/method-surgery.js +441 -0
- package/dist/context/method-surgery.js.map +1 -0
- package/dist/context/types.d.ts +7 -0
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/types.js.map +1 -1
- package/dist/handlers/hyperfocused.d.ts +35 -0
- package/dist/handlers/hyperfocused.d.ts.map +1 -0
- package/dist/handlers/hyperfocused.js +104 -0
- package/dist/handlers/hyperfocused.js.map +1 -0
- package/dist/handlers/intent.d.ts +2 -1
- package/dist/handlers/intent.d.ts.map +1 -1
- package/dist/handlers/intent.js +440 -43
- package/dist/handlers/intent.js.map +1 -1
- package/dist/handlers/tools.d.ts.map +1 -1
- package/dist/handlers/tools.js +130 -39
- package/dist/handlers/tools.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lint/config-builder.d.ts +60 -0
- package/dist/lint/config-builder.d.ts.map +1 -0
- package/dist/lint/config-builder.js +187 -0
- package/dist/lint/config-builder.js.map +1 -0
- package/dist/lint/lint.d.ts +43 -0
- package/dist/lint/lint.d.ts.map +1 -1
- package/dist/lint/lint.js +77 -2
- package/dist/lint/lint.js.map +1 -1
- package/dist/lint/presets/cloud.d.ts +16 -0
- package/dist/lint/presets/cloud.d.ts.map +1 -0
- package/dist/lint/presets/cloud.js +111 -0
- package/dist/lint/presets/cloud.js.map +1 -0
- package/dist/lint/presets/onprem.d.ts +17 -0
- package/dist/lint/presets/onprem.d.ts.map +1 -0
- package/dist/lint/presets/onprem.js +82 -0
- package/dist/lint/presets/onprem.js.map +1 -0
- package/dist/server/audit.d.ts +1 -0
- package/dist/server/audit.d.ts.map +1 -1
- package/dist/server/audit.js.map +1 -1
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +12 -0
- package/dist/server/config.js.map +1 -1
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js.map +1 -1
- package/dist/server/elicit.d.ts.map +1 -1
- package/dist/server/elicit.js.map +1 -1
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +4 -1
- package/dist/server/http.js.map +1 -1
- package/dist/server/logger.d.ts.map +1 -1
- package/dist/server/logger.js.map +1 -1
- package/dist/server/server.d.ts +3 -2
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +90 -5
- 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.map +1 -1
- package/dist/server/sinks/file.d.ts.map +1 -1
- package/dist/server/sinks/file.js.map +1 -1
- package/dist/server/sinks/stderr.d.ts.map +1 -1
- package/dist/server/sinks/stderr.js.map +1 -1
- package/dist/server/sinks/types.d.ts.map +1 -1
- package/dist/server/sinks/types.js.map +1 -1
- package/dist/server/types.d.ts +14 -0
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js +6 -0
- package/dist/server/types.js.map +1 -1
- package/dist/server/xsuaa.d.ts.map +1 -1
- package/dist/server/xsuaa.js.map +1 -1
- package/package.json +13 -6
package/dist/adt/codeintel.d.ts
CHANGED
|
@@ -29,10 +29,51 @@ export interface CompletionProposal {
|
|
|
29
29
|
description: string;
|
|
30
30
|
type: string;
|
|
31
31
|
}
|
|
32
|
+
/** Available object type from Where-Used scope discovery */
|
|
33
|
+
export interface WhereUsedScopeEntry {
|
|
34
|
+
objectType: string;
|
|
35
|
+
objectTypeDescription: string;
|
|
36
|
+
count: number;
|
|
37
|
+
}
|
|
38
|
+
/** Where-Used scope — available object types and their counts */
|
|
39
|
+
export interface WhereUsedScope {
|
|
40
|
+
entries: WhereUsedScopeEntry[];
|
|
41
|
+
}
|
|
42
|
+
/** Detailed Where-Used result with additional fields (line, snippet, package) */
|
|
43
|
+
export interface WhereUsedResult {
|
|
44
|
+
uri: string;
|
|
45
|
+
type: string;
|
|
46
|
+
name: string;
|
|
47
|
+
line: number;
|
|
48
|
+
column: number;
|
|
49
|
+
packageName: string;
|
|
50
|
+
snippet: string;
|
|
51
|
+
objectDescription: string;
|
|
52
|
+
}
|
|
32
53
|
/** Navigate to definition of a symbol */
|
|
33
54
|
export declare function findDefinition(http: AdtHttpClient, safety: SafetyConfig, sourceUrl: string, line: number, column: number, source: string): Promise<DefinitionResult | null>;
|
|
34
55
|
/** Find all references to a symbol */
|
|
35
56
|
export declare function findReferences(http: AdtHttpClient, safety: SafetyConfig, objectUrl: string): Promise<ReferenceResult[]>;
|
|
57
|
+
/**
|
|
58
|
+
* Get available object types for Where-Used analysis (scope discovery).
|
|
59
|
+
*
|
|
60
|
+
* Step 1 of the 2-step scope-based Where-Used API:
|
|
61
|
+
* POST to .../usageReferences/scope with the object URI in the request body.
|
|
62
|
+
* Returns available object types and their reference counts.
|
|
63
|
+
*/
|
|
64
|
+
export declare function getWhereUsedScope(http: AdtHttpClient, safety: SafetyConfig, objectUrl: string): Promise<WhereUsedScope>;
|
|
65
|
+
/**
|
|
66
|
+
* Find Where-Used references via the ADT usageReferences endpoint.
|
|
67
|
+
*
|
|
68
|
+
* POST to .../usageReferences with the object URI as both a query parameter
|
|
69
|
+
* and in the XML request body. SAP requires the SAP-specific content types:
|
|
70
|
+
* - Content-Type: application/vnd.sap.adt.repository.usagereferences.request.v1+xml
|
|
71
|
+
* - Accept: application/vnd.sap.adt.repository.usagereferences.result.v1+xml
|
|
72
|
+
*
|
|
73
|
+
* The response uses a tree structure with `referencedObject` > `adtObject` elements.
|
|
74
|
+
* If objectType is provided, it's included in the request body as a filter.
|
|
75
|
+
*/
|
|
76
|
+
export declare function findWhereUsed(http: AdtHttpClient, safety: SafetyConfig, objectUrl: string, objectType?: string): Promise<WhereUsedResult[]>;
|
|
36
77
|
/** Get code completion proposals */
|
|
37
78
|
export declare function getCompletion(http: AdtHttpClient, safety: SafetyConfig, sourceUrl: string, line: number, column: number, source: string): Promise<CompletionProposal[]>;
|
|
38
79
|
//# sourceMappingURL=codeintel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeintel.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"codeintel.d.ts","sourceRoot":"","sources":["../../src/adt/codeintel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAa/E,mCAAmC;AACnC,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,uBAAuB;AACvB,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,0BAA0B;AAC1B,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iEAAiE;AACjE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,yCAAyC;AACzC,wBAAsB,cAAc,CAClC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAoBlC;AAED,sCAAsC;AACtC,wBAAsB,cAAc,CAClC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,EAAE,CAAC,CAiB5B;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CA+BzB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,EAAE,CAAC,CAsC5B;AAED,oCAAoC;AACpC,wBAAsB,aAAa,CACjC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAiB/B"}
|
package/dist/adt/codeintel.js
CHANGED
|
@@ -6,37 +6,114 @@
|
|
|
6
6
|
* - GetCompletion: code completion proposals
|
|
7
7
|
*/
|
|
8
8
|
import { checkOperation, OperationType } from './safety.js';
|
|
9
|
+
import { findDeepNodes, parseXml } from './xml-parser.js';
|
|
10
|
+
/** Escape XML special characters for safe interpolation into XML attributes */
|
|
11
|
+
function escapeXmlAttr(s) {
|
|
12
|
+
return s
|
|
13
|
+
.replace(/&/g, '&')
|
|
14
|
+
.replace(/"/g, '"')
|
|
15
|
+
.replace(/</g, '<')
|
|
16
|
+
.replace(/>/g, '>')
|
|
17
|
+
.replace(/'/g, ''');
|
|
18
|
+
}
|
|
9
19
|
/** Navigate to definition of a symbol */
|
|
10
20
|
export async function findDefinition(http, safety, sourceUrl, line, column, source) {
|
|
11
21
|
checkOperation(safety, OperationType.Intelligence, 'FindDefinition');
|
|
12
22
|
const resp = await http.post(`/sap/bc/adt/navigation/target?uri=${encodeURIComponent(sourceUrl)}&line=${line}&column=${column}`, source, 'text/plain', { Accept: 'application/xml' });
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
if (!uriMatch)
|
|
23
|
+
const parsed = parseXml(resp.body);
|
|
24
|
+
const nodes = findDeepNodes(parsed, 'navigation');
|
|
25
|
+
const nav = nodes[0] ?? parsed.navigation;
|
|
26
|
+
if (!nav || !nav['@_uri'])
|
|
18
27
|
return null;
|
|
19
28
|
return {
|
|
20
|
-
uri:
|
|
21
|
-
type:
|
|
22
|
-
name:
|
|
29
|
+
uri: String(nav['@_uri']),
|
|
30
|
+
type: String(nav['@_type'] ?? ''),
|
|
31
|
+
name: String(nav['@_name'] ?? ''),
|
|
23
32
|
};
|
|
24
33
|
}
|
|
25
34
|
/** Find all references to a symbol */
|
|
26
35
|
export async function findReferences(http, safety, objectUrl) {
|
|
27
36
|
checkOperation(safety, OperationType.Intelligence, 'FindReferences');
|
|
28
37
|
const resp = await http.get(`/sap/bc/adt/repository/informationsystem/usageReferences?uri=${encodeURIComponent(objectUrl)}`, { Accept: 'application/xml' });
|
|
29
|
-
|
|
38
|
+
const parsed = parseXml(resp.body);
|
|
39
|
+
const refs = findDeepNodes(parsed, 'objectReference');
|
|
40
|
+
return refs.map((ref) => ({
|
|
41
|
+
uri: String(ref['@_uri'] ?? ''),
|
|
42
|
+
type: String(ref['@_type'] ?? ''),
|
|
43
|
+
name: String(ref['@_name'] ?? ''),
|
|
44
|
+
line: 0,
|
|
45
|
+
column: 0,
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get available object types for Where-Used analysis (scope discovery).
|
|
50
|
+
*
|
|
51
|
+
* Step 1 of the 2-step scope-based Where-Used API:
|
|
52
|
+
* POST to .../usageReferences/scope with the object URI in the request body.
|
|
53
|
+
* Returns available object types and their reference counts.
|
|
54
|
+
*/
|
|
55
|
+
export async function getWhereUsedScope(http, safety, objectUrl) {
|
|
56
|
+
checkOperation(safety, OperationType.Intelligence, 'FindWhereUsed');
|
|
57
|
+
const body = [
|
|
58
|
+
'<?xml version="1.0" encoding="UTF-8"?>',
|
|
59
|
+
'<usageReferences:scopeRequest xmlns:usageReferences="http://www.sap.com/adt/ris/usageReferences">',
|
|
60
|
+
` <usageReferences:objectReference uri="${escapeXmlAttr(objectUrl)}"/>`,
|
|
61
|
+
'</usageReferences:scopeRequest>',
|
|
62
|
+
].join('\n');
|
|
63
|
+
const resp = await http.post('/sap/bc/adt/repository/informationsystem/usageReferences/scope', body, 'application/xml', { Accept: 'application/xml' });
|
|
64
|
+
const parsed = parseXml(resp.body);
|
|
65
|
+
const entries = [];
|
|
66
|
+
// Scope response has objectType entries with type, description, and count
|
|
67
|
+
const scopeNodes = findDeepNodes(parsed, 'objectType');
|
|
68
|
+
for (const node of scopeNodes) {
|
|
69
|
+
entries.push({
|
|
70
|
+
objectType: String(node['@_type'] ?? node['@_name'] ?? ''),
|
|
71
|
+
objectTypeDescription: String(node['@_description'] ?? ''),
|
|
72
|
+
count: Number(node['@_count'] ?? node['@_numberOfResults'] ?? 0),
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return { entries };
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Find Where-Used references via the ADT usageReferences endpoint.
|
|
79
|
+
*
|
|
80
|
+
* POST to .../usageReferences with the object URI as both a query parameter
|
|
81
|
+
* and in the XML request body. SAP requires the SAP-specific content types:
|
|
82
|
+
* - Content-Type: application/vnd.sap.adt.repository.usagereferences.request.v1+xml
|
|
83
|
+
* - Accept: application/vnd.sap.adt.repository.usagereferences.result.v1+xml
|
|
84
|
+
*
|
|
85
|
+
* The response uses a tree structure with `referencedObject` > `adtObject` elements.
|
|
86
|
+
* If objectType is provided, it's included in the request body as a filter.
|
|
87
|
+
*/
|
|
88
|
+
export async function findWhereUsed(http, safety, objectUrl, objectType) {
|
|
89
|
+
checkOperation(safety, OperationType.Intelligence, 'FindWhereUsed');
|
|
90
|
+
const typeFilter = objectType ? `\n <usageReferences:objectTypeFilter value="${escapeXmlAttr(objectType)}"/>` : '';
|
|
91
|
+
const body = [
|
|
92
|
+
'<?xml version="1.0" encoding="UTF-8"?>',
|
|
93
|
+
'<usageReferences:usageReferenceRequest xmlns:usageReferences="http://www.sap.com/adt/ris/usageReferences">',
|
|
94
|
+
` <usageReferences:objectReference uri="${escapeXmlAttr(objectUrl)}"/>${typeFilter}`,
|
|
95
|
+
'</usageReferences:usageReferenceRequest>',
|
|
96
|
+
].join('\n');
|
|
97
|
+
const url = `/sap/bc/adt/repository/informationsystem/usageReferences?uri=${encodeURIComponent(objectUrl)}`;
|
|
98
|
+
const resp = await http.post(url, body, 'application/vnd.sap.adt.repository.usagereferences.request.v1+xml', {
|
|
99
|
+
Accept: 'application/vnd.sap.adt.repository.usagereferences.result.v1+xml',
|
|
100
|
+
});
|
|
101
|
+
const parsed = parseXml(resp.body);
|
|
30
102
|
const results = [];
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
103
|
+
// Response uses referencedObject > adtObject tree structure
|
|
104
|
+
const refs = findDeepNodes(parsed, 'referencedObject');
|
|
105
|
+
for (const ref of refs) {
|
|
106
|
+
const adtObj = (ref.adtObject ?? {});
|
|
107
|
+
const pkgRef = (adtObj.packageRef ?? {});
|
|
34
108
|
results.push({
|
|
35
|
-
uri:
|
|
36
|
-
type:
|
|
37
|
-
name:
|
|
109
|
+
uri: String(ref['@_uri'] ?? ''),
|
|
110
|
+
type: String(adtObj['@_type'] ?? ''),
|
|
111
|
+
name: String(adtObj['@_name'] ?? ''),
|
|
38
112
|
line: 0,
|
|
39
113
|
column: 0,
|
|
114
|
+
packageName: String(pkgRef['@_name'] ?? ''),
|
|
115
|
+
snippet: '',
|
|
116
|
+
objectDescription: String(adtObj['@_description'] ?? ''),
|
|
40
117
|
});
|
|
41
118
|
}
|
|
42
119
|
return results;
|
|
@@ -45,17 +122,12 @@ export async function findReferences(http, safety, objectUrl) {
|
|
|
45
122
|
export async function getCompletion(http, safety, sourceUrl, line, column, source) {
|
|
46
123
|
checkOperation(safety, OperationType.Intelligence, 'GetCompletion');
|
|
47
124
|
const resp = await http.post(`/sap/bc/adt/abapsource/codecompletion/proposals?uri=${encodeURIComponent(sourceUrl)}&line=${line}&column=${column}`, source, 'text/plain', { Accept: 'application/xml' });
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
description: match[2],
|
|
56
|
-
type: match[3],
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
return proposals;
|
|
125
|
+
const parsed = parseXml(resp.body);
|
|
126
|
+
const nodes = findDeepNodes(parsed, 'proposal');
|
|
127
|
+
return nodes.map((node) => ({
|
|
128
|
+
text: String(node['@_text'] ?? ''),
|
|
129
|
+
description: String(node['@_description'] ?? ''),
|
|
130
|
+
type: String(node['@_type'] ?? ''),
|
|
131
|
+
}));
|
|
60
132
|
}
|
|
61
133
|
//# sourceMappingURL=codeintel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeintel.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"codeintel.js","sourceRoot":"","sources":["../../src/adt/codeintel.ts"],"names":[],"mappings":"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"}
|
package/dist/adt/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/adt/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,gEAAgE;AAChE,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;AAEhD,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;IACrB,GAAG,EAAE,WAAW,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,WAAW,CAAC;IACjB,SAAS,EAAE,WAAW,CAAC;CACxB;AAED,8CAA8C;AAC9C,wBAAgB,oBAAoB,IAAI,aAAa,CASpD;AAED,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,2BAA2B;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,+BAA+B;IAC/B,QAAQ,EAAE,aAAa,CAAC;IACxB,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7C;AAED,uCAAuC;AACvC,wBAAgB,sBAAsB,IAAI,eAAe,CAaxD"}
|
package/dist/adt/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/adt/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAevD,8CAA8C;AAC9C,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,MAAM;QACf,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM;QACX,SAAS,EAAE,MAAM;KAClB,CAAC;AACJ,CAAC;AAiDD,uCAAuC;AACvC,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,wBAAwB,EAAE;QAClC,QAAQ,EAAE,oBAAoB,EAAE;QAChC,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../src/adt/cookies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG9E;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAuB9E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAc9E"}
|
package/dist/adt/cookies.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../src/adt/cookies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAElD,0CAA0C;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACvB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,4BAA4B;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,GAAG;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAAoB;IACpD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QAErC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,GAAG;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC9B,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/adt/crud.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../src/adt/crud.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAyD,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACvG,2BAA2B;AAC3B,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,sCAAsC;AACtC,wBAAsB,UAAU,CAC9B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,SAAW,GACpB,OAAO,CAAC,UAAU,CAAC,CAerB;AAED,4BAA4B;AAC5B,wBAAsB,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5G;AAED,+BAA+B;AAC/B,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,SAAoB,EAC/B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,2DAA2D;AAC3D,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED,4CAA4C;AAC5C,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CASf"}
|
package/dist/adt/crud.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"crud.js","sourceRoot":"","sources":["../../src/adt/crud.ts"],"names":[],"mappings":"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"}
|
package/dist/adt/devtools.d.ts
CHANGED
|
@@ -16,6 +16,20 @@ export declare function activate(http: AdtHttpClient, safety: SafetyConfig, obje
|
|
|
16
16
|
success: boolean;
|
|
17
17
|
messages: string[];
|
|
18
18
|
}>;
|
|
19
|
+
/**
|
|
20
|
+
* Activate (publish) multiple ABAP objects in a single batch call.
|
|
21
|
+
*
|
|
22
|
+
* The ADT activation endpoint natively supports multiple objectReference elements.
|
|
23
|
+
* This is essential for RAP stacks where objects depend on each other
|
|
24
|
+
* (DDLS → BDEF → SRVD → SRVB) and must be activated together.
|
|
25
|
+
*/
|
|
26
|
+
export declare function activateBatch(http: AdtHttpClient, safety: SafetyConfig, objects: Array<{
|
|
27
|
+
url: string;
|
|
28
|
+
name: string;
|
|
29
|
+
}>): Promise<{
|
|
30
|
+
success: boolean;
|
|
31
|
+
messages: string[];
|
|
32
|
+
}>;
|
|
19
33
|
/** Run ABAP unit tests for an object */
|
|
20
34
|
export declare function runUnitTests(http: AdtHttpClient, safety: SafetyConfig, objectUrl: string): Promise<UnitTestResult[]>;
|
|
21
35
|
/** Run ATC check on an object */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../src/adt/devtools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAiB,cAAc,EAAE,MAAM,YAAY,CAAC;AAEnF,yCAAyC;AACzC,wBAAsB,WAAW,CAC/B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,CAAC,CAa5B;AAED,sCAAsC;AACtC,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA0BnD;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC5C,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA6BnD;AAED,wCAAwC;AACxC,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,EAAE,CAAC,CAiC3B;AAED,iCAAiC;AACjC,wBAAsB,WAAW,CAC/B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC,CA2BrC;AAID,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd"}
|
package/dist/adt/devtools.js
CHANGED
|
@@ -26,9 +26,7 @@ export async function activate(http, safety, objectUrl) {
|
|
|
26
26
|
<adtcore:objectReferences xmlns:adtcore="http://www.sap.com/adt/core">
|
|
27
27
|
<adtcore:objectReference adtcore:uri="${objectUrl}"/>
|
|
28
28
|
</adtcore:objectReferences>`;
|
|
29
|
-
const resp = await http.post('/sap/bc/adt/activation', body, 'application/xml', {
|
|
30
|
-
Accept: 'application/xml',
|
|
31
|
-
});
|
|
29
|
+
const resp = await http.post('/sap/bc/adt/activation?method=activate&preauditRequested=true', body, 'application/xml', { Accept: 'application/xml' });
|
|
32
30
|
// Check if activation succeeded (no error messages)
|
|
33
31
|
const hasErrors = resp.body.includes('severity="error"') || resp.body.includes('type="E"');
|
|
34
32
|
const messages = [];
|
|
@@ -40,6 +38,33 @@ export async function activate(http, safety, objectUrl) {
|
|
|
40
38
|
}
|
|
41
39
|
return { success: !hasErrors, messages };
|
|
42
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Activate (publish) multiple ABAP objects in a single batch call.
|
|
43
|
+
*
|
|
44
|
+
* The ADT activation endpoint natively supports multiple objectReference elements.
|
|
45
|
+
* This is essential for RAP stacks where objects depend on each other
|
|
46
|
+
* (DDLS → BDEF → SRVD → SRVB) and must be activated together.
|
|
47
|
+
*/
|
|
48
|
+
export async function activateBatch(http, safety, objects) {
|
|
49
|
+
checkOperation(safety, OperationType.Activate, 'ActivateBatch');
|
|
50
|
+
const refs = objects
|
|
51
|
+
.map((o) => ` <adtcore:objectReference adtcore:uri="${o.url}" adtcore:name="${o.name}"/>`)
|
|
52
|
+
.join('\n');
|
|
53
|
+
const body = `<?xml version="1.0" encoding="UTF-8"?>
|
|
54
|
+
<adtcore:objectReferences xmlns:adtcore="http://www.sap.com/adt/core">
|
|
55
|
+
${refs}
|
|
56
|
+
</adtcore:objectReferences>`;
|
|
57
|
+
const resp = await http.post('/sap/bc/adt/activation?method=activate&preauditRequested=true', body, 'application/xml', { Accept: 'application/xml' });
|
|
58
|
+
// Check if activation succeeded (no error messages)
|
|
59
|
+
const hasErrors = resp.body.includes('severity="error"') || resp.body.includes('type="E"');
|
|
60
|
+
const messages = [];
|
|
61
|
+
const msgRegex = /shortText="([^"]+)"/g;
|
|
62
|
+
let match;
|
|
63
|
+
while ((match = msgRegex.exec(resp.body)) !== null) {
|
|
64
|
+
messages.push(match[1]);
|
|
65
|
+
}
|
|
66
|
+
return { success: !hasErrors, messages };
|
|
67
|
+
}
|
|
43
68
|
/** Run ABAP unit tests for an object */
|
|
44
69
|
export async function runUnitTests(http, safety, objectUrl) {
|
|
45
70
|
checkOperation(safety, OperationType.Test, 'RunUnitTests');
|
package/dist/adt/devtools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../src/adt/devtools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime diagnostics for SAP ADT.
|
|
3
|
+
*
|
|
4
|
+
* - Short dumps (ST22): list and read ABAP runtime errors
|
|
5
|
+
* - ABAP traces: list and analyze profiler trace files
|
|
6
|
+
*
|
|
7
|
+
* All operations are read-only (GET requests).
|
|
8
|
+
* Follows the same pure-function pattern as devtools.ts.
|
|
9
|
+
*/
|
|
10
|
+
import type { AdtHttpClient } from './http.js';
|
|
11
|
+
import { type SafetyConfig } from './safety.js';
|
|
12
|
+
import type { DumpDetail, DumpEntry, TraceDbAccess, TraceEntry, TraceHitlistEntry, TraceStatement } from './types.js';
|
|
13
|
+
export interface ListDumpsOptions {
|
|
14
|
+
/** Filter by SAP user (uppercase) */
|
|
15
|
+
user?: string;
|
|
16
|
+
/** Maximum number of dumps to return (default 50) */
|
|
17
|
+
maxResults?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* List ABAP short dumps (ST22 equivalent).
|
|
21
|
+
*
|
|
22
|
+
* Endpoint: GET /sap/bc/adt/runtime/dumps
|
|
23
|
+
* Returns an Atom feed with dump entries.
|
|
24
|
+
*/
|
|
25
|
+
export declare function listDumps(http: AdtHttpClient, safety: SafetyConfig, options?: ListDumpsOptions): Promise<DumpEntry[]>;
|
|
26
|
+
/**
|
|
27
|
+
* Get full dump detail including formatted text.
|
|
28
|
+
*
|
|
29
|
+
* Makes two requests:
|
|
30
|
+
* 1. XML metadata (chapters, links, attributes)
|
|
31
|
+
* 2. Formatted plain text (full dump content)
|
|
32
|
+
*
|
|
33
|
+
* The dump ID is the URL-encoded path segment from the listing.
|
|
34
|
+
*/
|
|
35
|
+
export declare function getDump(http: AdtHttpClient, safety: SafetyConfig, dumpId: string): Promise<DumpDetail>;
|
|
36
|
+
/**
|
|
37
|
+
* List ABAP profiler trace files.
|
|
38
|
+
*
|
|
39
|
+
* Endpoint: GET /sap/bc/adt/runtime/traces/abaptraces
|
|
40
|
+
* Returns an Atom feed with trace entries.
|
|
41
|
+
*/
|
|
42
|
+
export declare function listTraces(http: AdtHttpClient, safety: SafetyConfig): Promise<TraceEntry[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Get trace hitlist (execution hot spots).
|
|
45
|
+
*
|
|
46
|
+
* Returns the most expensive procedures sorted by gross time.
|
|
47
|
+
*/
|
|
48
|
+
export declare function getTraceHitlist(http: AdtHttpClient, safety: SafetyConfig, traceId: string): Promise<TraceHitlistEntry[]>;
|
|
49
|
+
/**
|
|
50
|
+
* Get trace call tree (statements).
|
|
51
|
+
*
|
|
52
|
+
* Returns the hierarchical call tree with timing data.
|
|
53
|
+
*/
|
|
54
|
+
export declare function getTraceStatements(http: AdtHttpClient, safety: SafetyConfig, traceId: string): Promise<TraceStatement[]>;
|
|
55
|
+
/**
|
|
56
|
+
* Get trace database accesses.
|
|
57
|
+
*
|
|
58
|
+
* Returns table access statistics (which tables, how many times, buffered vs not).
|
|
59
|
+
*/
|
|
60
|
+
export declare function getTraceDbAccesses(http: AdtHttpClient, safety: SafetyConfig, traceId: string): Promise<TraceDbAccess[]>;
|
|
61
|
+
/**
|
|
62
|
+
* Parse dump listing Atom feed.
|
|
63
|
+
*
|
|
64
|
+
* Each atom:entry contains:
|
|
65
|
+
* - atom:author/atom:name → user
|
|
66
|
+
* - atom:category term="..." label="ABAP runtime error" → error type
|
|
67
|
+
* - atom:category term="..." label="Terminated ABAP program" → program
|
|
68
|
+
* - atom:published → timestamp
|
|
69
|
+
* - atom:link rel="self" href → contains dump ID path
|
|
70
|
+
*/
|
|
71
|
+
export declare function parseDumpList(xml: string): DumpEntry[];
|
|
72
|
+
/**
|
|
73
|
+
* Parse dump detail XML metadata + formatted text.
|
|
74
|
+
*
|
|
75
|
+
* The XML response has attributes on the root dump:dump element:
|
|
76
|
+
* - error, author, exception, terminatedProgram, datetime
|
|
77
|
+
*
|
|
78
|
+
* And dump:chapter elements with name, title, category attributes.
|
|
79
|
+
*/
|
|
80
|
+
export declare function parseDumpDetail(xml: string, formattedText: string, dumpId: string): DumpDetail;
|
|
81
|
+
/**
|
|
82
|
+
* Parse trace listing Atom feed.
|
|
83
|
+
*
|
|
84
|
+
* Trace entries may contain extended attributes in a trc: namespace.
|
|
85
|
+
*/
|
|
86
|
+
export declare function parseTraceList(xml: string): TraceEntry[];
|
|
87
|
+
/**
|
|
88
|
+
* Parse trace hitlist XML.
|
|
89
|
+
*
|
|
90
|
+
* Hitlist entries contain procedure names and timing data.
|
|
91
|
+
*/
|
|
92
|
+
export declare function parseTraceHitlist(xml: string): TraceHitlistEntry[];
|
|
93
|
+
/**
|
|
94
|
+
* Parse trace statements (call tree) XML.
|
|
95
|
+
*/
|
|
96
|
+
export declare function parseTraceStatements(xml: string): TraceStatement[];
|
|
97
|
+
/**
|
|
98
|
+
* Parse trace database accesses XML.
|
|
99
|
+
*/
|
|
100
|
+
export declare function parseTraceDbAccesses(xml: string): TraceDbAccess[];
|
|
101
|
+
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/adt/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAEV,UAAU,EACV,SAAS,EACT,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,cAAc,EACf,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,SAAS,EAAE,CAAC,CAiBtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAc5G;AAID;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAQjG;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAQ9B;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,cAAc,EAAE,CAAC,CAQ3B;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,aAAa,EAAE,CAAC,CAQ1B;AAID;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAuBtD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAqC9F;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,CAmCxD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAsClE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAkBlE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CAkBjE"}
|