arc-1 1.6.0 → 1.7.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 +22 -15
- package/dist/adt/application-log.d.ts +36 -0
- package/dist/adt/application-log.d.ts.map +1 -0
- package/dist/adt/application-log.js +143 -0
- package/dist/adt/application-log.js.map +1 -0
- package/dist/adt/class-structure.d.ts +2 -1
- package/dist/adt/class-structure.d.ts.map +1 -1
- package/dist/adt/class-structure.js +28 -10
- package/dist/adt/class-structure.js.map +1 -1
- package/dist/adt/client.d.ts +6 -4
- package/dist/adt/client.d.ts.map +1 -1
- package/dist/adt/client.js +9 -9
- package/dist/adt/client.js.map +1 -1
- package/dist/adt/codeintel.d.ts +9 -23
- package/dist/adt/codeintel.d.ts.map +1 -1
- package/dist/adt/codeintel.js +14 -34
- package/dist/adt/codeintel.js.map +1 -1
- package/dist/adt/devtools.d.ts +8 -1
- package/dist/adt/devtools.d.ts.map +1 -1
- package/dist/adt/devtools.js +67 -37
- package/dist/adt/devtools.js.map +1 -1
- package/dist/adt/diagnostics.d.ts +2 -0
- package/dist/adt/diagnostics.d.ts.map +1 -1
- package/dist/adt/diagnostics.js +10 -8
- package/dist/adt/diagnostics.js.map +1 -1
- package/dist/adt/errors.d.ts +5 -1
- package/dist/adt/errors.d.ts.map +1 -1
- package/dist/adt/errors.js +26 -0
- package/dist/adt/errors.js.map +1 -1
- package/dist/adt/feed-schema.d.ts +32 -0
- package/dist/adt/feed-schema.d.ts.map +1 -0
- package/dist/adt/feed-schema.js +123 -0
- package/dist/adt/feed-schema.js.map +1 -0
- package/dist/adt/fm-parameter-docs.d.ts +7 -0
- package/dist/adt/fm-parameter-docs.d.ts.map +1 -0
- package/dist/adt/fm-parameter-docs.js +134 -0
- package/dist/adt/fm-parameter-docs.js.map +1 -0
- package/dist/adt/fm-signature.d.ts +8 -1
- package/dist/adt/fm-signature.d.ts.map +1 -1
- package/dist/adt/fm-signature.js +37 -28
- package/dist/adt/fm-signature.js.map +1 -1
- package/dist/adt/http-deadline.d.ts.map +1 -1
- package/dist/adt/http-deadline.js +4 -1
- package/dist/adt/http-deadline.js.map +1 -1
- package/dist/adt/http-retry-after.d.ts +20 -0
- package/dist/adt/http-retry-after.d.ts.map +1 -0
- package/dist/adt/http-retry-after.js +37 -0
- package/dist/adt/http-retry-after.js.map +1 -0
- package/dist/adt/http.d.ts +6 -19
- package/dist/adt/http.d.ts.map +1 -1
- package/dist/adt/http.js +78 -79
- package/dist/adt/http.js.map +1 -1
- package/dist/adt/include-expansion.d.ts +143 -0
- package/dist/adt/include-expansion.d.ts.map +1 -0
- package/dist/adt/include-expansion.js +475 -0
- package/dist/adt/include-expansion.js.map +1 -0
- package/dist/adt/internal-data-operations.d.ts +3 -3
- package/dist/adt/internal-data-operations.d.ts.map +1 -1
- package/dist/adt/internal-data-operations.js +9 -2
- package/dist/adt/internal-data-operations.js.map +1 -1
- package/dist/adt/revision-feed.d.ts +8 -0
- package/dist/adt/revision-feed.d.ts.map +1 -0
- package/dist/adt/revision-feed.js +108 -0
- package/dist/adt/revision-feed.js.map +1 -0
- package/dist/adt/security-session-gate.d.ts +23 -0
- package/dist/adt/security-session-gate.d.ts.map +1 -0
- package/dist/adt/security-session-gate.js +56 -0
- package/dist/adt/security-session-gate.js.map +1 -0
- package/dist/adt/source-diff.d.ts +4 -1
- package/dist/adt/source-diff.d.ts.map +1 -1
- package/dist/adt/source-diff.js +5 -3
- package/dist/adt/source-diff.js.map +1 -1
- package/dist/adt/stored-text/chunks.d.ts +8 -0
- package/dist/adt/stored-text/chunks.d.ts.map +1 -0
- package/dist/adt/stored-text/chunks.js +55 -0
- package/dist/adt/stored-text/chunks.js.map +1 -0
- package/dist/adt/stored-text/decoder.d.ts +31 -0
- package/dist/adt/stored-text/decoder.d.ts.map +1 -0
- package/dist/adt/stored-text/decoder.js +319 -0
- package/dist/adt/stored-text/decoder.js.map +1 -0
- package/dist/adt/stored-text/errors.d.ts +10 -0
- package/dist/adt/stored-text/errors.d.ts.map +1 -0
- package/dist/adt/stored-text/errors.js +10 -0
- package/dist/adt/stored-text/errors.js.map +1 -0
- package/dist/adt/stored-text/index.d.ts +7 -0
- package/dist/adt/stored-text/index.d.ts.map +1 -0
- package/dist/adt/stored-text/index.js +6 -0
- package/dist/adt/stored-text/index.js.map +1 -0
- package/dist/adt/stored-text/key.d.ts +3 -0
- package/dist/adt/stored-text/key.d.ts.map +1 -0
- package/dist/adt/stored-text/key.js +23 -0
- package/dist/adt/stored-text/key.js.map +1 -0
- package/dist/adt/stored-text/reader.d.ts +52 -0
- package/dist/adt/stored-text/reader.d.ts.map +1 -0
- package/dist/adt/stored-text/reader.js +142 -0
- package/dist/adt/stored-text/reader.js.map +1 -0
- package/dist/adt/stored-text/source.d.ts +5 -0
- package/dist/adt/stored-text/source.d.ts.map +1 -0
- package/dist/adt/stored-text/source.js +284 -0
- package/dist/adt/stored-text/source.js.map +1 -0
- package/dist/adt/stored-text/types.d.ts +38 -0
- package/dist/adt/stored-text/types.d.ts.map +1 -0
- package/dist/adt/stored-text/types.js +2 -0
- package/dist/adt/stored-text/types.js.map +1 -0
- package/dist/adt/structure-hierarchy.d.ts.map +1 -1
- package/dist/adt/structure-hierarchy.js +11 -27
- package/dist/adt/structure-hierarchy.js.map +1 -1
- package/dist/adt/syntax-batch.d.ts +66 -0
- package/dist/adt/syntax-batch.d.ts.map +1 -0
- package/dist/adt/syntax-batch.js +115 -0
- package/dist/adt/syntax-batch.js.map +1 -0
- package/dist/adt/table-query.d.ts +3 -1
- package/dist/adt/table-query.d.ts.map +1 -1
- package/dist/adt/table-query.js +32 -4
- package/dist/adt/table-query.js.map +1 -1
- package/dist/adt/text-elements.js +1 -1
- package/dist/adt/text-elements.js.map +1 -1
- package/dist/adt/transport-diff.d.ts +16 -25
- package/dist/adt/transport-diff.d.ts.map +1 -1
- package/dist/adt/transport-diff.js +201 -103
- package/dist/adt/transport-diff.js.map +1 -1
- package/dist/adt/transport-review-budget.d.ts +15 -0
- package/dist/adt/transport-review-budget.d.ts.map +1 -0
- package/dist/adt/transport-review-budget.js +57 -0
- package/dist/adt/transport-review-budget.js.map +1 -0
- package/dist/adt/transport.d.ts +1 -1
- package/dist/adt/transport.d.ts.map +1 -1
- package/dist/adt/transport.js +2 -2
- package/dist/adt/transport.js.map +1 -1
- package/dist/adt/types.d.ts +1 -0
- package/dist/adt/types.d.ts.map +1 -1
- package/dist/adt/user-agent.d.ts +1 -1
- package/dist/adt/where-used-native.d.ts +22 -0
- package/dist/adt/where-used-native.d.ts.map +1 -0
- package/dist/adt/where-used-native.js +111 -0
- package/dist/adt/where-used-native.js.map +1 -0
- package/dist/adt/xml-parser.d.ts +2 -3
- package/dist/adt/xml-parser.d.ts.map +1 -1
- package/dist/adt/xml-parser.js +1 -91
- package/dist/adt/xml-parser.js.map +1 -1
- package/dist/aff/validator.d.ts.map +1 -1
- package/dist/aff/validator.js +8 -2
- package/dist/aff/validator.js.map +1 -1
- package/dist/authz/policy.d.ts.map +1 -1
- package/dist/authz/policy.js +10 -2
- package/dist/authz/policy.js.map +1 -1
- package/dist/cache/sqlite-driver.d.ts +24 -0
- package/dist/cache/sqlite-driver.d.ts.map +1 -0
- package/dist/cache/sqlite-driver.js +59 -0
- package/dist/cache/sqlite-driver.js.map +1 -0
- package/dist/cache/sqlite.d.ts +4 -2
- package/dist/cache/sqlite.d.ts.map +1 -1
- package/dist/cache/sqlite.js +5 -4
- package/dist/cache/sqlite.js.map +1 -1
- package/dist/cli.js +4 -1
- package/dist/cli.js.map +1 -1
- package/dist/context/grep.d.ts +2 -0
- package/dist/context/grep.d.ts.map +1 -1
- package/dist/context/grep.js +8 -7
- package/dist/context/grep.js.map +1 -1
- package/dist/extract-sap-cookies.js +1 -0
- package/dist/extract-sap-cookies.js.map +1 -1
- package/dist/handlers/application-log-input.d.ts +32 -0
- package/dist/handlers/application-log-input.d.ts.map +1 -0
- package/dist/handlers/application-log-input.js +34 -0
- package/dist/handlers/application-log-input.js.map +1 -0
- package/dist/handlers/application-log.d.ts +4 -0
- package/dist/handlers/application-log.d.ts.map +1 -0
- package/dist/handlers/application-log.js +14 -0
- package/dist/handlers/application-log.js.map +1 -0
- package/dist/handlers/cds-hints.d.ts +1 -1
- package/dist/handlers/cds-hints.d.ts.map +1 -1
- package/dist/handlers/cds-hints.js +21 -63
- package/dist/handlers/cds-hints.js.map +1 -1
- package/dist/handlers/context.d.ts.map +1 -1
- package/dist/handlers/context.js +7 -3
- package/dist/handlers/context.js.map +1 -1
- package/dist/handlers/diagnose.d.ts.map +1 -1
- package/dist/handlers/diagnose.js +10 -1
- package/dist/handlers/diagnose.js.map +1 -1
- package/dist/handlers/dispatch.d.ts.map +1 -1
- package/dist/handlers/dispatch.js +54 -9
- package/dist/handlers/dispatch.js.map +1 -1
- package/dist/handlers/dump-filter-inputs.d.ts +38 -0
- package/dist/handlers/dump-filter-inputs.d.ts.map +1 -0
- package/dist/handlers/dump-filter-inputs.js +44 -0
- package/dist/handlers/dump-filter-inputs.js.map +1 -0
- package/dist/handlers/expanded-read.d.ts +24 -0
- package/dist/handlers/expanded-read.d.ts.map +1 -0
- package/dist/handlers/expanded-read.js +56 -0
- package/dist/handlers/expanded-read.js.map +1 -0
- package/dist/handlers/function-parameter-language.d.ts +5 -0
- package/dist/handlers/function-parameter-language.d.ts.map +1 -0
- package/dist/handlers/function-parameter-language.js +19 -0
- package/dist/handlers/function-parameter-language.js.map +1 -0
- package/dist/handlers/function-processing.d.ts +5 -0
- package/dist/handlers/function-processing.d.ts.map +1 -1
- package/dist/handlers/function-processing.js +5 -0
- package/dist/handlers/function-processing.js.map +1 -1
- package/dist/handlers/hyperfocused.d.ts.map +1 -1
- package/dist/handlers/hyperfocused.js +2 -1
- package/dist/handlers/hyperfocused.js.map +1 -1
- package/dist/handlers/long-text-input.d.ts +113 -0
- package/dist/handlers/long-text-input.d.ts.map +1 -0
- package/dist/handlers/long-text-input.js +113 -0
- package/dist/handlers/long-text-input.js.map +1 -0
- package/dist/handlers/long-text.d.ts +5 -0
- package/dist/handlers/long-text.d.ts.map +1 -0
- package/dist/handlers/long-text.js +122 -0
- package/dist/handlers/long-text.js.map +1 -0
- package/dist/handlers/navigate.d.ts.map +1 -1
- package/dist/handlers/navigate.js +8 -3
- package/dist/handlers/navigate.js.map +1 -1
- package/dist/handlers/object-types.d.ts.map +1 -1
- package/dist/handlers/object-types.js +7 -4
- package/dist/handlers/object-types.js.map +1 -1
- package/dist/handlers/query-input.d.ts +50 -0
- package/dist/handlers/query-input.d.ts.map +1 -0
- package/dist/handlers/query-input.js +59 -0
- package/dist/handlers/query-input.js.map +1 -0
- package/dist/handlers/query-tool.d.ts +11 -0
- package/dist/handlers/query-tool.d.ts.map +1 -0
- package/dist/handlers/query-tool.js +99 -0
- package/dist/handlers/query-tool.js.map +1 -0
- package/dist/handlers/query.d.ts +1 -1
- package/dist/handlers/query.d.ts.map +1 -1
- package/dist/handlers/query.js +7 -1
- package/dist/handlers/query.js.map +1 -1
- package/dist/handlers/read.d.ts +1 -0
- package/dist/handlers/read.d.ts.map +1 -1
- package/dist/handlers/read.js +57 -9
- package/dist/handlers/read.js.map +1 -1
- package/dist/handlers/schemas.d.ts +17 -4
- package/dist/handlers/schemas.d.ts.map +1 -1
- package/dist/handlers/schemas.js +51 -9
- package/dist/handlers/schemas.js.map +1 -1
- package/dist/handlers/syntax.d.ts.map +1 -1
- package/dist/handlers/syntax.js +8 -0
- package/dist/handlers/syntax.js.map +1 -1
- package/dist/handlers/tools.d.ts.map +1 -1
- package/dist/handlers/tools.js +72 -70
- package/dist/handlers/tools.js.map +1 -1
- package/dist/handlers/transport-review.d.ts +5 -0
- package/dist/handlers/transport-review.d.ts.map +1 -0
- package/dist/handlers/transport-review.js +108 -0
- package/dist/handlers/transport-review.js.map +1 -0
- package/dist/handlers/transport.d.ts.map +1 -1
- package/dist/handlers/transport.js +3 -58
- package/dist/handlers/transport.js.map +1 -1
- package/dist/handlers/where-used-details.d.ts +28 -0
- package/dist/handlers/where-used-details.d.ts.map +1 -0
- package/dist/handlers/where-used-details.js +67 -0
- package/dist/handlers/where-used-details.js.map +1 -0
- package/dist/handlers/where-used.d.ts +8 -3
- package/dist/handlers/where-used.d.ts.map +1 -1
- package/dist/handlers/where-used.js +40 -18
- package/dist/handlers/where-used.js.map +1 -1
- package/dist/handlers/write/create.d.ts.map +1 -1
- package/dist/handlers/write/create.js +15 -12
- package/dist/handlers/write/create.js.map +1 -1
- package/dist/handlers/write/update-delete.d.ts.map +1 -1
- package/dist/handlers/write/update-delete.js +5 -3
- package/dist/handlers/write/update-delete.js.map +1 -1
- package/dist/server/audit.d.ts.map +1 -1
- package/dist/server/audit.js +49 -2
- package/dist/server/audit.js.map +1 -1
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +5 -1
- package/dist/server/config.js.map +1 -1
- package/dist/server/multi-target-tools.d.ts.map +1 -1
- package/dist/server/multi-target-tools.js +8 -7
- package/dist/server/multi-target-tools.js.map +1 -1
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +3 -2
- package/dist/server/server.js.map +1 -1
- package/dist/server/tool-auth.d.ts +1 -1
- package/dist/server/tool-auth.d.ts.map +1 -1
- package/dist/server/tool-auth.js +24 -4
- package/dist/server/tool-auth.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +13 -9
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/** Bounded native checks of explicitly selected stored objects. No source collection or cache. */
|
|
2
|
+
import { XMLValidator } from 'fast-xml-parser';
|
|
3
|
+
import { getCurrentContext } from '../server/context.js';
|
|
4
|
+
import { DataResponseBudget } from './data-result-context.js';
|
|
5
|
+
import { extractShortText, parseSyntaxMessage } from './devtools.js';
|
|
6
|
+
import { checkOperation, OperationType } from './safety.js';
|
|
7
|
+
import { escapeXmlAttr, parseXml } from './xml-parser.js';
|
|
8
|
+
export const SYNTAX_BATCH_TYPES = ['CLAS', 'INTF', 'PROG', 'DDLS'];
|
|
9
|
+
export const SYNTAX_BATCH_MAX_OBJECTS = 20;
|
|
10
|
+
/** Unlike findDeepNodes, retain matches from every sibling container. */
|
|
11
|
+
function collectNodes(node, key, depth = 0) {
|
|
12
|
+
if (depth > 32)
|
|
13
|
+
throw new Error('Syntax report nesting exceeds the parser limit.');
|
|
14
|
+
if (!node || typeof node !== 'object')
|
|
15
|
+
return [];
|
|
16
|
+
if (Array.isArray(node))
|
|
17
|
+
return node.flatMap((item) => collectNodes(item, key, depth + 1));
|
|
18
|
+
const matches = [];
|
|
19
|
+
for (const [name, value] of Object.entries(node)) {
|
|
20
|
+
if (name === key) {
|
|
21
|
+
for (const item of Array.isArray(value) ? value : [value])
|
|
22
|
+
matches.push(item && typeof item === 'object' ? item : { '#text': item });
|
|
23
|
+
}
|
|
24
|
+
matches.push(...collectNodes(value, key, depth + 1));
|
|
25
|
+
}
|
|
26
|
+
return matches;
|
|
27
|
+
}
|
|
28
|
+
function reportMatches(report, object) {
|
|
29
|
+
if (report['@_reporter'] !== 'abapCheckRun')
|
|
30
|
+
return false;
|
|
31
|
+
const uri = String(report['@_triggeringUri'] ?? '').toLowerCase();
|
|
32
|
+
// SAP can return a literal namespace instead of the percent-encoded name we requested.
|
|
33
|
+
return [object.uri, object.uri.replace(encodeURIComponent(object.name), object.name)].some((candidate) => candidate.toLowerCase() === uri);
|
|
34
|
+
}
|
|
35
|
+
export function parseSyntaxBatch(xml, objects, version) {
|
|
36
|
+
if (Buffer.byteLength(xml) > 512 * 1024 || XMLValidator.validate(xml) !== true)
|
|
37
|
+
throw new Error('Invalid or oversized syntax-check response.');
|
|
38
|
+
const parsed = parseXml(xml);
|
|
39
|
+
if (!Object.hasOwn(parsed, 'checkRunReports'))
|
|
40
|
+
throw new Error('Expected native syntax-check reports.');
|
|
41
|
+
const reports = collectNodes(parsed, 'checkReport');
|
|
42
|
+
if (reports.length > 100)
|
|
43
|
+
throw new Error('Too many syntax-check reports.');
|
|
44
|
+
if (reports.some((report) => collectNodes(report, 'checkReport').length))
|
|
45
|
+
throw new Error('Nested syntax-check reports have ambiguous message ownership.');
|
|
46
|
+
const messages = (node) => [...collectNodes(node, 'msg'), ...collectNodes(node, 'checkMessage')];
|
|
47
|
+
const ownedReports = new Set();
|
|
48
|
+
const attributedMessages = new Set();
|
|
49
|
+
const results = objects.map((object) => {
|
|
50
|
+
const matches = reports.filter((report) => reportMatches(report, object));
|
|
51
|
+
const report = matches.length === 1 ? matches[0] : undefined;
|
|
52
|
+
const nativeMessages = report ? messages(report) : [];
|
|
53
|
+
if (report) {
|
|
54
|
+
ownedReports.add(report);
|
|
55
|
+
for (const message of nativeMessages)
|
|
56
|
+
attributedMessages.add(message);
|
|
57
|
+
}
|
|
58
|
+
const findings = nativeMessages.map((message) => parseSyntaxMessage({ ...message, '@_shortText': extractShortText(message) }));
|
|
59
|
+
const checked = report?.['@_status'] === 'processed' &&
|
|
60
|
+
nativeMessages.every((message) => ['E', 'W', 'I'].includes(String(message['@_type'] ?? '')));
|
|
61
|
+
const hasErrors = findings.some((message) => message.severity === 'error');
|
|
62
|
+
return {
|
|
63
|
+
...object,
|
|
64
|
+
status: !checked ? 'not-checked' : hasErrors ? 'failed' : 'passed',
|
|
65
|
+
checked,
|
|
66
|
+
hasErrors,
|
|
67
|
+
messages: findings,
|
|
68
|
+
...(!report ? { statusText: 'Missing or ambiguous object report.' } : {}),
|
|
69
|
+
...(report?.['@_statusText'] ? { statusText: String(report['@_statusText']) } : {}),
|
|
70
|
+
...(report?.['@_status'] === 'processed' && !checked
|
|
71
|
+
? { note: 'Unknown native message severity; result is not certified.' }
|
|
72
|
+
: {}),
|
|
73
|
+
};
|
|
74
|
+
});
|
|
75
|
+
const unexpectedReports = reports
|
|
76
|
+
.filter((report) => !ownedReports.has(report))
|
|
77
|
+
.map((report) => ({
|
|
78
|
+
reporter: String(report['@_reporter'] ?? ''),
|
|
79
|
+
uri: String(report['@_triggeringUri'] ?? ''),
|
|
80
|
+
status: String(report['@_status'] ?? ''),
|
|
81
|
+
}));
|
|
82
|
+
const unattributedMessages = messages(parsed)
|
|
83
|
+
.filter((message) => !attributedMessages.has(message))
|
|
84
|
+
.map((message) => ({ type: String(message['@_type'] ?? ''), text: extractShortText(message) }));
|
|
85
|
+
return {
|
|
86
|
+
status: unexpectedReports.length || unattributedMessages.length || results.some((result) => !result.checked)
|
|
87
|
+
? 'incomplete'
|
|
88
|
+
: results.some((result) => result.hasErrors)
|
|
89
|
+
? 'failed'
|
|
90
|
+
: 'passed',
|
|
91
|
+
checkedAt: new Date().toISOString(),
|
|
92
|
+
requestedVersion: version,
|
|
93
|
+
sourceEvidence: 'Stored-source check requested; SAP supplies no immutable source hash or independent version proof.',
|
|
94
|
+
requestedObjectCount: objects.length,
|
|
95
|
+
checkedObjectCount: results.filter((result) => result.checked).length,
|
|
96
|
+
unexpectedReports,
|
|
97
|
+
unattributedMessages,
|
|
98
|
+
results,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
export async function syntaxCheckBatch(http, safety, objects, version) {
|
|
102
|
+
checkOperation(safety, OperationType.Read, 'SyntaxCheckBatch');
|
|
103
|
+
if (objects.length < 1 ||
|
|
104
|
+
objects.length > SYNTAX_BATCH_MAX_OBJECTS ||
|
|
105
|
+
new Set(objects.map((object) => object.uri.toLowerCase())).size !== objects.length)
|
|
106
|
+
throw new Error('Syntax batch requires 1..20 distinct objects.');
|
|
107
|
+
const body = `<chkrun:checkObjectList xmlns:chkrun="http://www.sap.com/adt/checkrun" xmlns:adtcore="http://www.sap.com/adt/core">${objects.map((object) => `<chkrun:checkObject adtcore:uri="${escapeXmlAttr(object.uri)}" chkrun:version="${version}"/>`).join('')}</chkrun:checkObjectList>`;
|
|
108
|
+
const response = await http.post('/sap/bc/adt/checkruns', body, 'application/vnd.sap.adt.checkobjects+xml', { Accept: 'application/vnd.sap.adt.checkmessages+xml' }, {
|
|
109
|
+
deadline: Date.now() + 30_000,
|
|
110
|
+
signal: getCurrentContext()?.signal,
|
|
111
|
+
responseBudget: new DataResponseBudget(512 * 1024, 'syntax-batch'),
|
|
112
|
+
});
|
|
113
|
+
return parseSyntaxBatch(response.body, objects, version);
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=syntax-batch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syntax-batch.js","sourceRoot":"","sources":["../../src/adt/syntax-batch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/** Safe SQL builder and row-limit helpers for ADT data-preview requests. */
|
|
2
2
|
/** Fit 255-character payload lines and send CRLF; older SAP handlers do not recognize bare LF. */
|
|
3
3
|
export declare function fitFreestyleSqlLines(sql: string): string;
|
|
4
|
+
/** Opt-in compatibility for SAP handlers that CONDENSE SQL lines, including quoted literals. */
|
|
5
|
+
export declare function quoteTableQueryValue(value: string, preserveLiteralSpaces?: boolean): string;
|
|
4
6
|
/** Coerce a caller-supplied row limit into [1, MAX_TABLE_QUERY_ROWS]. */
|
|
5
7
|
export declare function clampPreviewRows(requested: number | undefined, fallback?: number): number;
|
|
6
8
|
/**
|
|
@@ -25,7 +27,7 @@ export declare function buildTableQuerySql(tableName: string, columns?: string[]
|
|
|
25
27
|
field: string;
|
|
26
28
|
op: string;
|
|
27
29
|
value?: string;
|
|
28
|
-
}
|
|
30
|
+
}>, preserveLiteralSpaces?: boolean): string;
|
|
29
31
|
/**
|
|
30
32
|
* Execute statements that have ALREADY been authorized by the data-source policy.
|
|
31
33
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-query.d.ts","sourceRoot":"","sources":["../../src/adt/table-query.ts"],"names":[],"mappings":"AAAA,4EAA4E;AA4C5E,kGAAkG;AAClG,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoBxD;
|
|
1
|
+
{"version":3,"file":"table-query.d.ts","sourceRoot":"","sources":["../../src/adt/table-query.ts"],"names":[],"mappings":"AAAA,4EAA4E;AA4C5E,kGAAkG;AAClG,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoBxD;AAgCD,gGAAgG;AAChG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,qBAAqB,UAAQ,GAAG,MAAM,CASzF;AAKD,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,SAAM,GAAG,MAAM,CAGtF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAE1F;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAC5D,qBAAqB,UAAQ,GAC5B,MAAM,CAkCR;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EACxD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;CAAE,EAC9E,UAAU,EAAE,MAAM,EAAE,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;CAAE,CAAC,CAWhE"}
|
package/dist/adt/table-query.js
CHANGED
|
@@ -75,6 +75,7 @@ const ALLOWED_OPS = new Set([
|
|
|
75
75
|
'NOT IN',
|
|
76
76
|
'IS NULL',
|
|
77
77
|
'IS NOT NULL',
|
|
78
|
+
'STARTS_WITH',
|
|
78
79
|
]);
|
|
79
80
|
// BETWEEN is intentionally excluded: the value would require parsing "low AND high"
|
|
80
81
|
// where AND is a reserved word, making safe escaping complex and error-prone.
|
|
@@ -83,9 +84,21 @@ const ALLOWED_OPS = new Set([
|
|
|
83
84
|
function buildInList(raw) {
|
|
84
85
|
const trimmed = raw.trim();
|
|
85
86
|
const inner = trimmed.startsWith('(') && trimmed.endsWith(')') ? trimmed.slice(1, -1) : trimmed;
|
|
86
|
-
const parts = inner.split(',').map((part) =>
|
|
87
|
+
const parts = inner.split(',').map((part) => quoteTableQueryValue(part.trim()));
|
|
87
88
|
return `(${parts.join(', ')})`;
|
|
88
89
|
}
|
|
90
|
+
/** Opt-in compatibility for SAP handlers that CONDENSE SQL lines, including quoted literals. */
|
|
91
|
+
export function quoteTableQueryValue(value, preserveLiteralSpaces = false) {
|
|
92
|
+
const quote = (part) => `'${part.replaceAll("'", "''")}'`;
|
|
93
|
+
if (!preserveLiteralSpaces || !/ {2}/u.test(value))
|
|
94
|
+
return quote(value);
|
|
95
|
+
const parts = value.split(/( +)/u);
|
|
96
|
+
let expression = quote(parts[0] || ' ');
|
|
97
|
+
for (let index = 1; index < parts.length; index += 2) {
|
|
98
|
+
expression = `concat_with_space( ${expression}, ${quote(parts[index + 1] || ' ')}, ${parts[index].length} )`;
|
|
99
|
+
}
|
|
100
|
+
return expression;
|
|
101
|
+
}
|
|
89
102
|
/** Upper bound for an in-memory TABLE_QUERY result. */
|
|
90
103
|
const MAX_TABLE_QUERY_ROWS = 10_000;
|
|
91
104
|
/** Coerce a caller-supplied row limit into [1, MAX_TABLE_QUERY_ROWS]. */
|
|
@@ -114,7 +127,7 @@ export function exactSqlIdentifier(raw, kind) {
|
|
|
114
127
|
* cannot become subqueries. Pass an already-canonical table name when the caller has authorized it,
|
|
115
128
|
* so the authorized and executed identities are the same string.
|
|
116
129
|
*/
|
|
117
|
-
export function buildTableQuerySql(tableName, columns, where) {
|
|
130
|
+
export function buildTableQuerySql(tableName, columns, where, preserveLiteralSpaces = false) {
|
|
118
131
|
const safeTable = exactSqlIdentifier(tableName, 'table');
|
|
119
132
|
const colList = columns?.length ? columns.map((column) => exactSqlIdentifier(column, 'column')).join(', ') : '*';
|
|
120
133
|
let sql = `SELECT ${colList} FROM ${safeTable}`;
|
|
@@ -124,11 +137,26 @@ export function buildTableQuerySql(tableName, columns, where) {
|
|
|
124
137
|
const safeOp = op.trim().toUpperCase();
|
|
125
138
|
if (!ALLOWED_OPS.has(safeOp))
|
|
126
139
|
throw new Error(`TABLE_QUERY: operator "${op}" is not allowed`);
|
|
140
|
+
if (safeOp === 'STARTS_WITH') {
|
|
141
|
+
const prefix = String(value ?? '');
|
|
142
|
+
if (preserveLiteralSpaces && / {2}/u.test(prefix)) {
|
|
143
|
+
// ABAP SQL does not accept an expression as LIKE's pattern (7.58/8.16).
|
|
144
|
+
// Compare the prefix slice instead. LENGTH excludes short, blank-padded names.
|
|
145
|
+
return `( left( ${safeField}, ${prefix.length} ) = ${quoteTableQueryValue(prefix, true)} AND length( ${safeField} ) >= ${prefix.length} )`;
|
|
146
|
+
}
|
|
147
|
+
const pattern = `${prefix.replace(/[#%_]/gu, '#$&')}%`;
|
|
148
|
+
return `${safeField} LIKE ${quoteTableQueryValue(pattern, preserveLiteralSpaces)} ESCAPE '#'`;
|
|
149
|
+
}
|
|
127
150
|
if (safeOp === 'IS NULL' || safeOp === 'IS NOT NULL')
|
|
128
151
|
return `${safeField} ${safeOp}`;
|
|
129
|
-
if (safeOp === 'IN' || safeOp === 'NOT IN')
|
|
152
|
+
if (safeOp === 'IN' || safeOp === 'NOT IN') {
|
|
153
|
+
// The stored-text compatibility path uses scalar predicates only; expressions in IN lists
|
|
154
|
+
// have different ABAP SQL support and have not been qualified on the supported backends.
|
|
155
|
+
if (preserveLiteralSpaces)
|
|
156
|
+
throw new Error('TABLE_QUERY: literal-space preservation does not support IN lists');
|
|
130
157
|
return `${safeField} ${safeOp} ${buildInList(String(value ?? ''))}`;
|
|
131
|
-
|
|
158
|
+
}
|
|
159
|
+
return `${safeField} ${safeOp} ${quoteTableQueryValue(String(value ?? ''), preserveLiteralSpaces)}`;
|
|
132
160
|
});
|
|
133
161
|
sql += ` WHERE ${clauses.join(' AND ')}`;
|
|
134
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-query.js","sourceRoot":"","sources":["../../src/adt/table-query.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"table-query.js","sourceRoot":"","sources":["../../src/adt/table-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -141,7 +141,7 @@ export async function writeTextElementPart(http, safety, objectType, name, part,
|
|
|
141
141
|
}
|
|
142
142
|
throw err;
|
|
143
143
|
}
|
|
144
|
-
await activateTextPool(session, safety, obj, name, `Text elements were saved, but activation was not confirmed.
|
|
144
|
+
await activateTextPool(session, safety, obj, name, `Text elements were saved, but activation was not confirmed. Inspect the text pool before retrying the same text write.${result.changes}`);
|
|
145
145
|
try {
|
|
146
146
|
result.state = await readTextPoolState(session, obj, objectType, name);
|
|
147
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-elements.js","sourceRoot":"","sources":["../../src/adt/text-elements.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"text-elements.js","sourceRoot":"","sources":["../../src/adt/text-elements.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Transport-scoped review diffs — backs `SAPTransport action="diff"`.
|
|
3
|
-
*
|
|
4
|
-
* Answers "what did this transport change?" by picking, per object, the revision written
|
|
5
|
-
* under the transport and the one immediately before it, then diffing those two sources.
|
|
6
|
-
*
|
|
7
|
-
* The selection mirrors SAP's own ADT MCP tool
|
|
8
|
-
* (`com.sap.adt.tm.backend.diff.TransportDiffService`, ADT 3.60.1) with four corrections
|
|
9
|
-
* proven necessary against live feeds — see docs/plans/2026-08-03-transport-diff.md:
|
|
10
|
-
*
|
|
11
|
-
* 1. match the request AND its tasks (SAP matches one exact correction number);
|
|
12
|
-
* 2. break timestamp ties on the version number — the feed is returned in neither
|
|
13
|
-
* version nor date order (a4h returns `00002, 00000, 00001`);
|
|
14
|
-
* 3. skip every same-transport sibling when walking back, not just one active entry,
|
|
15
|
-
* so two saves under one transport still diff against the pre-transport state;
|
|
16
|
-
* 4. never require the predecessor to carry a CTS id — released revisions with a blank
|
|
17
|
-
* transport exist and are valid baselines.
|
|
18
|
-
*
|
|
19
|
-
* `selectionMethod` and `baselineStatus` ride the result so a reviewer can tell exact
|
|
20
|
-
* evidence from a fallback guess; SAP's tool reports neither.
|
|
21
|
-
*/
|
|
22
1
|
import { type AdtClient } from './client.js';
|
|
2
|
+
import { ReviewBudget } from './transport-review-budget.js';
|
|
23
3
|
import type { RevisionInfo, TransportObject } from './types.js';
|
|
24
4
|
/** How `current` was chosen — evidence quality, surfaced to the caller. */
|
|
25
|
-
export type RevisionSelectionMethod = 'exact-transport' | '
|
|
5
|
+
export type RevisionSelectionMethod = 'exact-transport' | 'active-only-fallback' | 'no-revisions';
|
|
6
|
+
export type ReviewMode = 'released' | 'active';
|
|
7
|
+
export declare function revisionSourceState(r: RevisionInfo | null): 'released' | 'active' | 'draft' | 'unknown';
|
|
26
8
|
/** What the "before" side of a diff actually is. */
|
|
27
9
|
export type BaselineStatus = 'prior-revision'
|
|
28
10
|
/** A predecessor exists, but the "after" side was NOT matched to this transport — the diff
|
|
@@ -37,6 +19,8 @@ export interface TransportRevisionPair {
|
|
|
37
19
|
previous: RevisionInfo | null;
|
|
38
20
|
selectionMethod: RevisionSelectionMethod;
|
|
39
21
|
skipped: SkippedRevision[];
|
|
22
|
+
/** A candidate predecessor exists, but its chronology cannot be established. */
|
|
23
|
+
baselineAmbiguous?: boolean;
|
|
40
24
|
}
|
|
41
25
|
/**
|
|
42
26
|
* The 5-digit ADT version number of a revision.
|
|
@@ -52,12 +36,12 @@ export declare function revisionNumber(revision: RevisionInfo): string;
|
|
|
52
36
|
* the request on the systems verified so far, but matching both is a superset that can
|
|
53
37
|
* only add correct matches.
|
|
54
38
|
*/
|
|
55
|
-
export declare function selectTransportRevisionPair(revisions: RevisionInfo[], transportIds: Iterable<string
|
|
39
|
+
export declare function selectTransportRevisionPair(revisions: RevisionInfo[], transportIds: Iterable<string>, mode?: ReviewMode): TransportRevisionPair;
|
|
56
40
|
/**
|
|
57
41
|
* Classify the "before" side.
|
|
58
42
|
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
43
|
+
* No prior snapshot means only that no predecessor was found; it is not proof of creation.
|
|
44
|
+
* An exact transport match identifies attribution, not the completeness of retained history. A missing predecessor under a fallback selection is ambiguous — it may
|
|
61
45
|
* simply mean the object's history was never snapshotted.
|
|
62
46
|
*/
|
|
63
47
|
export declare function baselineStatusFor(pair: TransportRevisionPair, allRevisions?: RevisionInfo[]): BaselineStatus;
|
|
@@ -112,17 +96,24 @@ export interface TransportPartDiff {
|
|
|
112
96
|
/** The hunks were trimmed; `added`/`removed` still reflect the full change. */
|
|
113
97
|
diffTruncated?: boolean;
|
|
114
98
|
note?: string;
|
|
99
|
+
hunksOmitted?: boolean;
|
|
115
100
|
}
|
|
116
101
|
export interface TransportObjectDiff {
|
|
117
102
|
type: string;
|
|
118
103
|
name: string;
|
|
119
104
|
taskIds: string[];
|
|
120
105
|
parts: TransportPartDiff[];
|
|
106
|
+
/** CTS scope that the source comparison does not cover. */
|
|
107
|
+
notCompared?: string[];
|
|
108
|
+
scopeNote?: string;
|
|
121
109
|
/** Set instead of `parts` when the object carries no diffable source at all. */
|
|
122
110
|
inventoryReason?: string;
|
|
123
111
|
}
|
|
124
112
|
/** Diff every source part of one logical object. Never throws — failures become visible rows. */
|
|
125
113
|
export declare function diffTransportObject(client: AdtClient, object: LogicalTransportObject, transportIds: Set<string>, opts?: {
|
|
126
114
|
minimalErrors?: boolean;
|
|
115
|
+
mode?: ReviewMode;
|
|
116
|
+
budget?: ReviewBudget;
|
|
117
|
+
summary?: boolean;
|
|
127
118
|
}): Promise<TransportObjectDiff>;
|
|
128
119
|
//# sourceMappingURL=transport-diff.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport-diff.d.ts","sourceRoot":"","sources":["../../src/adt/transport-diff.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transport-diff.d.ts","sourceRoot":"","sources":["../../src/adt/transport-diff.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,KAAK,SAAS,EAA2C,MAAM,aAAa,CAAC;AAMtF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA8BhE,2EAA2E;AAC3E,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG,sBAAsB,GAAG,cAAc,CAAC;AAElG,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC/C,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAIvG;AAED,oDAAoD;AACpD,MAAM,MAAM,cAAc,GACtB,gBAAgB;AAClB;yEACyE;GACvE,2BAA2B,GAC3B,mBAAmB,GACnB,oBAAoB,GACpB,sBAAsB,CAAC;AAE3B,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,uBAAuB,CAAC;IACzC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAWD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAM7D;AAsCD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,YAAY,EAAE,EACzB,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC9B,IAAI,GAAE,UAAuB,GAC5B,qBAAqB,CA0EvB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,EAAE,YAAY,GAAE,YAAY,EAAO,GAAG,cAAc,CAmBhH;AAgBD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oEAAoE;IACpE,UAAU,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClG;AAkDD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC,GACvD,sBAAsB,EAAE,CAwD1B;AAYD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CAmBhH;AAyBD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,uBAAuB,CAAC;IACzC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAwJD,iGAAiG;AACjG,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,sBAAsB,EAC9B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,IAAI,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAClG,OAAO,CAAC,mBAAmB,CAAC,CAiG9B"}
|