arc-1 1.4.0 → 1.5.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 +1 -1
- package/dist/adt/abapgit.d.ts.map +1 -1
- package/dist/adt/abapgit.js +64 -7
- package/dist/adt/abapgit.js.map +1 -1
- package/dist/adt/aunit.js +4 -4
- package/dist/adt/aunit.js.map +1 -1
- package/dist/adt/class-structure.d.ts +4 -2
- package/dist/adt/class-structure.d.ts.map +1 -1
- package/dist/adt/class-structure.js +18 -9
- package/dist/adt/class-structure.js.map +1 -1
- package/dist/adt/client.d.ts +19 -53
- package/dist/adt/client.d.ts.map +1 -1
- package/dist/adt/client.js +72 -96
- package/dist/adt/client.js.map +1 -1
- package/dist/adt/codeintel.d.ts +1 -1
- package/dist/adt/codeintel.d.ts.map +1 -1
- package/dist/adt/codeintel.js +11 -4
- package/dist/adt/codeintel.js.map +1 -1
- package/dist/adt/config.d.ts +5 -0
- package/dist/adt/config.d.ts.map +1 -1
- package/dist/adt/config.js.map +1 -1
- package/dist/adt/crud.d.ts +3 -3
- package/dist/adt/crud.d.ts.map +1 -1
- package/dist/adt/crud.js +21 -6
- package/dist/adt/crud.js.map +1 -1
- package/dist/adt/data-source-policy.d.ts +21 -13
- package/dist/adt/data-source-policy.d.ts.map +1 -1
- package/dist/adt/data-source-policy.js +63 -114
- package/dist/adt/data-source-policy.js.map +1 -1
- package/dist/adt/ddic-xml.d.ts +9 -0
- package/dist/adt/ddic-xml.d.ts.map +1 -1
- package/dist/adt/ddic-xml.js +17 -3
- package/dist/adt/ddic-xml.js.map +1 -1
- package/dist/adt/devtools.js +3 -3
- package/dist/adt/devtools.js.map +1 -1
- package/dist/adt/diagnostics.js +4 -4
- package/dist/adt/diagnostics.js.map +1 -1
- package/dist/adt/enhancements.d.ts +7 -0
- package/dist/adt/enhancements.d.ts.map +1 -0
- package/dist/adt/enhancements.js +89 -0
- package/dist/adt/enhancements.js.map +1 -0
- package/dist/adt/errors.d.ts +19 -10
- package/dist/adt/errors.d.ts.map +1 -1
- package/dist/adt/errors.js +73 -53
- package/dist/adt/errors.js.map +1 -1
- package/dist/adt/fm-signature.d.ts +1 -1
- package/dist/adt/fm-signature.d.ts.map +1 -1
- package/dist/adt/fm-signature.js +9 -1
- package/dist/adt/fm-signature.js.map +1 -1
- package/dist/adt/http.d.ts +7 -27
- package/dist/adt/http.d.ts.map +1 -1
- package/dist/adt/http.js +34 -32
- package/dist/adt/http.js.map +1 -1
- package/dist/adt/internal-data-operations.d.ts +3 -2
- package/dist/adt/internal-data-operations.d.ts.map +1 -1
- package/dist/adt/internal-data-operations.js +8 -1
- package/dist/adt/internal-data-operations.js.map +1 -1
- package/dist/adt/legacy-content-handler.d.ts +3 -0
- package/dist/adt/legacy-content-handler.d.ts.map +1 -0
- package/dist/adt/legacy-content-handler.js +21 -0
- package/dist/adt/legacy-content-handler.js.map +1 -0
- package/dist/adt/lock-object.d.ts +92 -0
- package/dist/adt/lock-object.d.ts.map +1 -0
- package/dist/adt/lock-object.js +195 -0
- package/dist/adt/lock-object.js.map +1 -0
- package/dist/adt/rap-generate.d.ts +5 -1
- package/dist/adt/rap-generate.d.ts.map +1 -1
- package/dist/adt/rap-generate.js +112 -100
- package/dist/adt/rap-generate.js.map +1 -1
- package/dist/adt/server-driven.d.ts +42 -10
- package/dist/adt/server-driven.d.ts.map +1 -1
- package/dist/adt/server-driven.js +98 -18
- package/dist/adt/server-driven.js.map +1 -1
- package/dist/adt/source-precondition.d.ts +3 -0
- package/dist/adt/source-precondition.d.ts.map +1 -0
- package/dist/adt/source-precondition.js +12 -0
- package/dist/adt/source-precondition.js.map +1 -0
- package/dist/adt/text-search.js +5 -5
- package/dist/adt/text-search.js.map +1 -1
- package/dist/adt/transport.js +3 -3
- package/dist/adt/transport.js.map +1 -1
- package/dist/adt/types.d.ts +19 -1
- package/dist/adt/types.d.ts.map +1 -1
- package/dist/adt/user-agent.d.ts +4 -0
- package/dist/adt/user-agent.d.ts.map +1 -0
- package/dist/adt/user-agent.js +11 -0
- package/dist/adt/user-agent.js.map +1 -0
- package/dist/adt/xml-entities.d.ts +3 -0
- package/dist/adt/xml-entities.d.ts.map +1 -0
- package/dist/adt/xml-entities.js +19 -0
- package/dist/adt/xml-entities.js.map +1 -0
- package/dist/adt/xml-parser.d.ts +7 -30
- package/dist/adt/xml-parser.d.ts.map +1 -1
- package/dist/adt/xml-parser.js +25 -54
- package/dist/adt/xml-parser.js.map +1 -1
- package/dist/authz/policy.d.ts.map +1 -1
- package/dist/authz/policy.js +2 -0
- package/dist/authz/policy.js.map +1 -1
- package/dist/cache/caching-layer.d.ts.map +1 -1
- package/dist/cache/caching-layer.js +7 -11
- package/dist/cache/caching-layer.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/context/compressor.d.ts.map +1 -1
- package/dist/context/compressor.js +5 -25
- package/dist/context/compressor.js.map +1 -1
- package/dist/context/deps.d.ts.map +1 -1
- package/dist/context/deps.js +50 -4
- package/dist/context/deps.js.map +1 -1
- package/dist/context/grep.d.ts +14 -0
- package/dist/context/grep.d.ts.map +1 -1
- package/dist/context/grep.js +49 -0
- package/dist/context/grep.js.map +1 -1
- package/dist/context/unit-surgery.d.ts +3 -1
- package/dist/context/unit-surgery.d.ts.map +1 -1
- package/dist/context/unit-surgery.js +52 -5
- package/dist/context/unit-surgery.js.map +1 -1
- package/dist/handlers/activate.d.ts +1 -1
- package/dist/handlers/activate.d.ts.map +1 -1
- package/dist/handlers/activate.js +23 -35
- package/dist/handlers/activate.js.map +1 -1
- package/dist/handlers/diagnose.d.ts.map +1 -1
- package/dist/handlers/diagnose.js +8 -29
- package/dist/handlers/diagnose.js.map +1 -1
- package/dist/handlers/dispatch.d.ts.map +1 -1
- package/dist/handlers/dispatch.js +21 -5
- package/dist/handlers/dispatch.js.map +1 -1
- package/dist/handlers/editable-source.d.ts +6 -0
- package/dist/handlers/editable-source.d.ts.map +1 -0
- package/dist/handlers/editable-source.js +53 -0
- package/dist/handlers/editable-source.js.map +1 -0
- package/dist/handlers/feature-cache.d.ts +2 -0
- package/dist/handlers/feature-cache.d.ts.map +1 -1
- package/dist/handlers/feature-cache.js +8 -0
- package/dist/handlers/feature-cache.js.map +1 -1
- package/dist/handlers/hyperfocused.js +1 -1
- package/dist/handlers/hyperfocused.js.map +1 -1
- package/dist/handlers/lint.js +1 -1
- package/dist/handlers/lint.js.map +1 -1
- package/dist/handlers/navigate.d.ts.map +1 -1
- package/dist/handlers/navigate.js +12 -2
- package/dist/handlers/navigate.js.map +1 -1
- package/dist/handlers/object-types.d.ts +2 -3
- package/dist/handlers/object-types.d.ts.map +1 -1
- package/dist/handlers/object-types.js +13 -5
- package/dist/handlers/object-types.js.map +1 -1
- package/dist/handlers/read.d.ts.map +1 -1
- package/dist/handlers/read.js +38 -7
- package/dist/handlers/read.js.map +1 -1
- package/dist/handlers/schemas.d.ts +39 -0
- package/dist/handlers/schemas.d.ts.map +1 -1
- package/dist/handlers/schemas.js +50 -7
- package/dist/handlers/schemas.js.map +1 -1
- package/dist/handlers/syntax.d.ts +5 -0
- package/dist/handlers/syntax.d.ts.map +1 -0
- package/dist/handlers/syntax.js +35 -0
- package/dist/handlers/syntax.js.map +1 -0
- package/dist/handlers/tool-descriptions.d.ts.map +1 -1
- package/dist/handlers/tool-descriptions.js +8 -6
- package/dist/handlers/tool-descriptions.js.map +1 -1
- package/dist/handlers/tool-registry.d.ts +4 -4
- package/dist/handlers/tool-registry.d.ts.map +1 -1
- package/dist/handlers/tool-registry.js +4 -0
- package/dist/handlers/tool-registry.js.map +1 -1
- package/dist/handlers/tools.d.ts +1 -16
- package/dist/handlers/tools.d.ts.map +1 -1
- package/dist/handlers/tools.js +44 -55
- package/dist/handlers/tools.js.map +1 -1
- package/dist/handlers/transport.d.ts.map +1 -1
- package/dist/handlers/transport.js +17 -3
- package/dist/handlers/transport.js.map +1 -1
- package/dist/handlers/where-used.d.ts.map +1 -1
- package/dist/handlers/where-used.js +0 -5
- package/dist/handlers/where-used.js.map +1 -1
- package/dist/handlers/write/class-edit.d.ts +16 -0
- package/dist/handlers/write/class-edit.d.ts.map +1 -0
- package/dist/handlers/write/class-edit.js +55 -0
- package/dist/handlers/write/class-edit.js.map +1 -0
- package/dist/handlers/write/class-surgery.d.ts +2 -2
- package/dist/handlers/write/class-surgery.d.ts.map +1 -1
- package/dist/handlers/write/class-surgery.js +189 -220
- package/dist/handlers/write/class-surgery.js.map +1 -1
- package/dist/handlers/write/context.d.ts +1 -8
- package/dist/handlers/write/context.d.ts.map +1 -1
- package/dist/handlers/write/create.d.ts.map +1 -1
- package/dist/handlers/write/create.js +11 -4
- package/dist/handlers/write/create.js.map +1 -1
- package/dist/handlers/write/metadata-update.d.ts +4 -0
- package/dist/handlers/write/metadata-update.d.ts.map +1 -0
- package/dist/handlers/write/metadata-update.js +58 -0
- package/dist/handlers/write/metadata-update.js.map +1 -0
- package/dist/handlers/write/rap.d.ts.map +1 -1
- package/dist/handlers/write/rap.js +132 -155
- package/dist/handlers/write/rap.js.map +1 -1
- package/dist/handlers/write/unit-surgery.d.ts +2 -2
- package/dist/handlers/write/unit-surgery.d.ts.map +1 -1
- package/dist/handlers/write/unit-surgery.js +14 -8
- package/dist/handlers/write/unit-surgery.js.map +1 -1
- package/dist/handlers/write/update-delete.d.ts.map +1 -1
- package/dist/handlers/write/update-delete.js +34 -82
- package/dist/handlers/write/update-delete.js.map +1 -1
- package/dist/handlers/write-helpers.d.ts +3 -2
- package/dist/handlers/write-helpers.d.ts.map +1 -1
- package/dist/handlers/write-helpers.js +123 -18
- package/dist/handlers/write-helpers.js.map +1 -1
- package/dist/handlers/write.d.ts.map +1 -1
- package/dist/handlers/write.js +15 -29
- package/dist/handlers/write.js.map +1 -1
- package/dist/public/read-only-client.d.ts +6 -0
- package/dist/public/read-only-client.d.ts.map +1 -0
- package/dist/public/read-only-client.js +66 -0
- package/dist/public/read-only-client.js.map +1 -0
- package/dist/public/types.d.ts +2 -13
- package/dist/public/types.d.ts.map +1 -1
- package/dist/server/audit.d.ts +6 -1
- 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 +3 -0
- package/dist/server/config.js.map +1 -1
- package/dist/server/deny-actions.d.ts +2 -1
- package/dist/server/deny-actions.d.ts.map +1 -1
- package/dist/server/deny-actions.js +13 -2
- package/dist/server/deny-actions.js.map +1 -1
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +4 -0
- package/dist/server/http.js.map +1 -1
- package/dist/server/logger.d.ts +3 -3
- package/dist/server/logger.d.ts.map +1 -1
- package/dist/server/logger.js +7 -7
- package/dist/server/logger.js.map +1 -1
- package/dist/server/multi-target-basic-auth.d.ts.map +1 -1
- package/dist/server/multi-target-basic-auth.js +1 -0
- package/dist/server/multi-target-basic-auth.js.map +1 -1
- package/dist/server/multi-target-runtime.d.ts.map +1 -1
- package/dist/server/multi-target-runtime.js +1 -0
- package/dist/server/multi-target-runtime.js.map +1 -1
- package/dist/server/plugin-loader.d.ts.map +1 -1
- package/dist/server/plugin-loader.js +1 -3
- package/dist/server/plugin-loader.js.map +1 -1
- package/dist/server/safe-http-client.d.ts +6 -12
- package/dist/server/safe-http-client.d.ts.map +1 -1
- package/dist/server/safe-http-client.js +28 -63
- package/dist/server/safe-http-client.js.map +1 -1
- package/dist/server/server.d.ts +5 -4
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +58 -51
- package/dist/server/server.js.map +1 -1
- package/dist/server/types.d.ts +1 -0
- 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/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/package.json +7 -7
|
@@ -4,6 +4,7 @@ import { XMLParser } from 'fast-xml-parser';
|
|
|
4
4
|
import { logger } from '../server/logger.js';
|
|
5
5
|
import { canonicalDataSourceName, DataSourceNameError, dataSourcePolicyFingerprint } from './data-source-name.js';
|
|
6
6
|
import { AdtApiError, AdtNetworkError, AdtSafetyError } from './errors.js';
|
|
7
|
+
import { INTERNAL_DATA_OPERATIONS } from './internal-data-operations.js';
|
|
7
8
|
import { analyzeSqlDataSources } from './sql-source-analyzer.js';
|
|
8
9
|
const MAX_GRAPH_XML_CHARS = 5_000_000;
|
|
9
10
|
const MAX_GRAPH_DEPTH = 64;
|
|
@@ -11,8 +12,6 @@ const MAX_GRAPH_NODES = 1_000;
|
|
|
11
12
|
const MAX_DIRECT_SOURCES = 64;
|
|
12
13
|
const MAX_REPLACEMENT_SOURCES = 256;
|
|
13
14
|
const MAX_RESOLUTION_ROOTS = 64;
|
|
14
|
-
const TABLE_SOURCE_UNAVAILABLE_REASON = 'the connected SAP system does not advertise the transparent-table source metadata required to prove replacement-object lineage; the standard ADT resource is available from SAP_BASIS 7.52 onward';
|
|
15
|
-
const TABLE_SOURCE_UNKNOWN_404_REASON = 'ADT discovery was unavailable and the canonical transparent-table source request returned HTTP 404, so replacement-object lineage support could not be established; the standard ADT resource is available from SAP_BASIS 7.52 onward';
|
|
16
15
|
const graphParser = new XMLParser({
|
|
17
16
|
ignoreAttributes: false,
|
|
18
17
|
attributeNamePrefix: '@_',
|
|
@@ -39,13 +38,13 @@ export class DataSourcePolicyError extends AdtSafetyError {
|
|
|
39
38
|
decisionId;
|
|
40
39
|
matchedSource;
|
|
41
40
|
reason;
|
|
42
|
-
/** Always false:
|
|
41
|
+
/** Always false: the requested data query has not run; metadata reads may have run. */
|
|
43
42
|
executed = false;
|
|
44
43
|
constructor(code, directSource, sourcePath, reason, options = {}) {
|
|
45
44
|
const path = sourcePath.length > 0 ? sourcePath.join(' -> ') : directSource;
|
|
46
45
|
const decisionId = options.decisionId ?? newDecisionId();
|
|
47
46
|
const operatorAction = code === 'DATA_POLICY_UNAVAILABLE'
|
|
48
|
-
? 'Keep data access disabled until this target can supply the
|
|
47
|
+
? 'Keep data access disabled until this target can supply the required catalog metadata. Clearing SAP_BLOCKED_DATA_SOURCES leaves every otherwise authorized source eligible and requires security approval.'
|
|
49
48
|
: 'Use a permitted static source, or change SAP_BLOCKED_DATA_SOURCES only after security review.';
|
|
50
49
|
super(`${code}: request denied before data execution (executed=false, decisionId=${decisionId}). ` +
|
|
51
50
|
`Source path: ${path}. Reason: ${reason}. ` +
|
|
@@ -74,8 +73,8 @@ export class DataSourcePolicyError extends AdtSafetyError {
|
|
|
74
73
|
clientMessage(minimalErrors) {
|
|
75
74
|
if (!minimalErrors)
|
|
76
75
|
return this.message;
|
|
77
|
-
return (`${this.code}: the request was denied by the administrator's data-source policy before
|
|
78
|
-
`data
|
|
76
|
+
return (`${this.code}: the request was denied by the administrator's data-source policy before the requested SAP ` +
|
|
77
|
+
`data query was executed (executed=false, decisionId=${this.decisionId}). ` +
|
|
79
78
|
`${this.safeAlternative()} Details are recorded in the server audit log; ask an operator to ` +
|
|
80
79
|
'correlate the decision id.');
|
|
81
80
|
}
|
|
@@ -85,7 +84,7 @@ export class DataSourcePolicyError extends AdtSafetyError {
|
|
|
85
84
|
case 'DATA_SQL_UNSUPPORTED':
|
|
86
85
|
return 'Rewrite the request as one complete static SELECT/WITH without comments, host expressions or dynamic sources, or use the structured SAPRead(type="TABLE_QUERY") parameters.';
|
|
87
86
|
case 'DATA_POLICY_UNAVAILABLE':
|
|
88
|
-
return 'This SAP target did not supply the metadata the policy needs
|
|
87
|
+
return 'This SAP target did not supply the metadata the policy needs. Retrying unchanged will be denied; ask an operator.';
|
|
89
88
|
case 'DATA_LINEAGE_UNRESOLVED':
|
|
90
89
|
return 'Query a source whose lineage ARC-1 can resolve, or use the structured SAPRead(type="TABLE_QUERY") parameters.';
|
|
91
90
|
default:
|
|
@@ -94,10 +93,12 @@ export class DataSourcePolicyError extends AdtSafetyError {
|
|
|
94
93
|
}
|
|
95
94
|
}
|
|
96
95
|
/**
|
|
97
|
-
* SQL node kinds
|
|
96
|
+
* SQL node kinds from SAP_BASIS 750/758/816 captures. View-entity and projection kinds are verified
|
|
97
|
+
* on 758 SP02 and 816 SP01 (#912), not 750.
|
|
98
98
|
* Anything outside this set inside a SQL branch fails closed.
|
|
99
99
|
*/
|
|
100
|
-
|
|
100
|
+
const CDS_VIEW_KINDS = ['CDS_VIEW', 'CDS_VIEW_ENTITY', 'CDS_PROJECTION_VIEW'];
|
|
101
|
+
export const SQL_NODE_KINDS = [...CDS_VIEW_KINDS, 'TABLE', 'CDS_TABLE_FUNCTION'];
|
|
101
102
|
/**
|
|
102
103
|
* The EXACT auxiliary chain SAP emits for access-control metadata, verified live on 758/816 for the
|
|
103
104
|
* released standard view I_BUSINESSPARTNER:
|
|
@@ -249,10 +250,9 @@ export class DataSourceBlocklistGuard {
|
|
|
249
250
|
async evaluate(directSources) {
|
|
250
251
|
await enforceBlockedDataSources(directSources, this.blockedSources, {
|
|
251
252
|
resolveDirectSource: (name) => this.resolveDirectSource(name),
|
|
252
|
-
|
|
253
|
-
readTableSource: (name) => {
|
|
253
|
+
readTableReplacement: (name) => {
|
|
254
254
|
this.metadataRequests += 1;
|
|
255
|
-
return this.backend.
|
|
255
|
+
return this.backend.readTableReplacement(name);
|
|
256
256
|
},
|
|
257
257
|
readCdsDependencyGraph: (ddlSource) => this.readCdsDependencyGraph(ddlSource),
|
|
258
258
|
});
|
|
@@ -358,8 +358,9 @@ function parseProperties(node) {
|
|
|
358
358
|
const key = attribute(entry, 'key')?.toUpperCase();
|
|
359
359
|
const text = entry['#text'];
|
|
360
360
|
const value = attribute(entry, 'value') ?? (typeof text === 'string' && text.trim() ? text.trim() : undefined);
|
|
361
|
-
|
|
362
|
-
|
|
361
|
+
// Empty DB_EXISTS is SAP's false value; an omitted property is a different (legacy) case.
|
|
362
|
+
if (key)
|
|
363
|
+
result.set(key, value ?? '');
|
|
363
364
|
}
|
|
364
365
|
return result;
|
|
365
366
|
}
|
|
@@ -502,98 +503,39 @@ export function parseCdsDependencyGraph(xml) {
|
|
|
502
503
|
}
|
|
503
504
|
}
|
|
504
505
|
/**
|
|
505
|
-
*
|
|
506
|
-
*
|
|
506
|
+
* A bounded catalog result must prove one active transparent table with at most one replacement, or one
|
|
507
|
+
* active pooled/cluster table without replacement metadata and with its physical container.
|
|
507
508
|
*/
|
|
508
|
-
function
|
|
509
|
-
const
|
|
510
|
-
const
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
509
|
+
export function parseTableReplacement(table, rows) {
|
|
510
|
+
const row = rows[0];
|
|
511
|
+
const fields = ['TABNAME', 'TABCLASS', 'VIEWREF', 'VIEWREF_ERR', 'SQLTAB', 'DDLNAME'];
|
|
512
|
+
if (rows.length !== 1 || !row || fields.some((field) => typeof row[field] !== 'string')) {
|
|
513
|
+
throw new DataSourceLineageError('replacement catalog returned missing or ambiguous metadata');
|
|
514
|
+
}
|
|
515
|
+
const tableClass = row.TABCLASS.trim();
|
|
516
|
+
if (row.TABNAME.trim() !== table || !['TRANSP', 'POOL', 'CLUSTER'].includes(tableClass) || row.VIEWREF_ERR.trim()) {
|
|
517
|
+
throw new DataSourceLineageError('replacement catalog did not confirm a valid active transparent, pooled or cluster table');
|
|
518
|
+
}
|
|
519
|
+
const name = row.VIEWREF.trim();
|
|
520
|
+
const ddlSource = row.DDLNAME.trim();
|
|
521
|
+
if (tableClass !== 'TRANSP') {
|
|
522
|
+
if (name || ddlSource) {
|
|
523
|
+
throw new DataSourceLineageError('replacement catalog reported replacement metadata for a pooled or cluster table');
|
|
523
524
|
}
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
mask(cursor++);
|
|
527
|
-
let closed = false;
|
|
528
|
-
while (cursor < source.length) {
|
|
529
|
-
if (source[cursor] === '*' && source[cursor + 1] === '/') {
|
|
530
|
-
mask(cursor++);
|
|
531
|
-
mask(cursor++);
|
|
532
|
-
closed = true;
|
|
533
|
-
break;
|
|
534
|
-
}
|
|
535
|
-
mask(cursor++);
|
|
536
|
-
}
|
|
537
|
-
if (!closed)
|
|
538
|
-
throw new DataSourceLineageError('table DDL contains an unterminated block comment');
|
|
539
|
-
continue;
|
|
525
|
+
try {
|
|
526
|
+
return { container: canonicalDataSourceName(row.SQLTAB) };
|
|
540
527
|
}
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
let value = '';
|
|
544
|
-
let closed = false;
|
|
545
|
-
mask(cursor++);
|
|
546
|
-
while (cursor < source.length) {
|
|
547
|
-
const char = source[cursor];
|
|
548
|
-
if (char === '\\' && cursor + 1 < source.length) {
|
|
549
|
-
value += source[cursor + 1];
|
|
550
|
-
mask(cursor++);
|
|
551
|
-
mask(cursor++);
|
|
552
|
-
continue;
|
|
553
|
-
}
|
|
554
|
-
if (char === "'") {
|
|
555
|
-
mask(cursor++);
|
|
556
|
-
if (source[cursor] === "'") {
|
|
557
|
-
value += "'";
|
|
558
|
-
mask(cursor++);
|
|
559
|
-
continue;
|
|
560
|
-
}
|
|
561
|
-
closed = true;
|
|
562
|
-
break;
|
|
563
|
-
}
|
|
564
|
-
value += char;
|
|
565
|
-
mask(cursor++);
|
|
566
|
-
}
|
|
567
|
-
if (!closed)
|
|
568
|
-
throw new DataSourceLineageError('table DDL contains an unterminated string literal');
|
|
569
|
-
strings.push({ start, value });
|
|
570
|
-
continue;
|
|
528
|
+
catch {
|
|
529
|
+
throw new DataSourceLineageError('replacement catalog did not supply the physical table pool or cluster');
|
|
571
530
|
}
|
|
572
|
-
cursor += 1;
|
|
573
531
|
}
|
|
574
|
-
|
|
575
|
-
}
|
|
576
|
-
/** Return a table's active CDS replacement object; malformed or duplicate annotations fail closed. */
|
|
577
|
-
export function extractReplacementObject(source) {
|
|
578
|
-
const { structural, strings } = scanDdlStructure(source);
|
|
579
|
-
const markers = [...structural.matchAll(/@\s*AbapCatalog\s*\.\s*replacementObject\b/gi)];
|
|
580
|
-
if (markers.length === 0)
|
|
532
|
+
if (!name && !ddlSource)
|
|
581
533
|
return undefined;
|
|
582
|
-
const annotations = [...structural.matchAll(/@\s*AbapCatalog\s*\.\s*replacementObject\s*:/gi)];
|
|
583
|
-
if (markers.length !== 1 || annotations.length !== 1 || markers[0].index !== annotations[0].index) {
|
|
584
|
-
throw new DataSourceLineageError('replacementObject annotation is duplicated or malformed');
|
|
585
|
-
}
|
|
586
|
-
const annotation = annotations[0];
|
|
587
|
-
const valueStart = annotation.index + annotation[0].length;
|
|
588
|
-
const valueSpan = strings.find((span) => span.start >= valueStart);
|
|
589
|
-
if (!valueSpan || structural.slice(valueStart, valueSpan.start).trim().length > 0) {
|
|
590
|
-
throw new DataSourceLineageError('replacementObject annotation is present but malformed');
|
|
591
|
-
}
|
|
592
534
|
try {
|
|
593
|
-
return canonicalDataSourceName(
|
|
535
|
+
return { name: canonicalDataSourceName(name), ddlSource: canonicalDataSourceName(ddlSource) };
|
|
594
536
|
}
|
|
595
537
|
catch {
|
|
596
|
-
throw new DataSourceLineageError('
|
|
538
|
+
throw new DataSourceLineageError('replacement catalog did not supply exact SQL-view and DDLS identities');
|
|
597
539
|
}
|
|
598
540
|
}
|
|
599
541
|
function safeLineageFailureReason(error) {
|
|
@@ -647,40 +589,48 @@ export async function enforceBlockedDataSources(directSources, configuredBlocked
|
|
|
647
589
|
if (replacementCache.size >= MAX_REPLACEMENT_SOURCES) {
|
|
648
590
|
throw new DataSourceLineageError(`replacement inspection exceeds source limit ${MAX_REPLACEMENT_SOURCES}`);
|
|
649
591
|
}
|
|
650
|
-
const replacement =
|
|
592
|
+
const replacement = await resolver.readTableReplacement(table);
|
|
651
593
|
replacementCache.set(table, replacement);
|
|
652
594
|
return replacement;
|
|
653
595
|
};
|
|
654
596
|
const replacementAt = async (directSource, table, path) => {
|
|
655
|
-
if (resolver.canonicalTableSourceAvailable === false) {
|
|
656
|
-
throw new DataSourcePolicyError('DATA_POLICY_UNAVAILABLE', directSource, path, TABLE_SOURCE_UNAVAILABLE_REASON);
|
|
657
|
-
}
|
|
658
597
|
try {
|
|
659
|
-
|
|
598
|
+
for (const source of INTERNAL_DATA_OPERATIONS.replacement_lineage.sources) {
|
|
599
|
+
checkBlocked(directSource, [...path, source], [source]);
|
|
600
|
+
}
|
|
601
|
+
const lineage = await replacementFor(table);
|
|
602
|
+
if (lineage && 'container' in lineage) {
|
|
603
|
+
// Blocking the pool/cluster blocks every logical table stored in it.
|
|
604
|
+
checkBlocked(directSource, [...path, lineage.container], [lineage.container]);
|
|
605
|
+
return undefined;
|
|
606
|
+
}
|
|
607
|
+
return lineage;
|
|
660
608
|
}
|
|
661
609
|
catch (error) {
|
|
662
610
|
if (error instanceof DataSourcePolicyError)
|
|
663
611
|
throw error;
|
|
664
|
-
if (
|
|
665
|
-
|
|
666
|
-
error.statusCode === 404) {
|
|
667
|
-
throw new DataSourcePolicyError('DATA_POLICY_UNAVAILABLE', directSource, path, TABLE_SOURCE_UNKNOWN_404_REASON);
|
|
612
|
+
if (error instanceof AdtApiError && error.statusCode === 404) {
|
|
613
|
+
throw new DataSourcePolicyError('DATA_POLICY_UNAVAILABLE', directSource, path, 'SAP did not provide the data-preview endpoint needed to read replacement catalog metadata');
|
|
668
614
|
}
|
|
669
615
|
throw unresolved(directSource, path, safeLineageFailureReason(error));
|
|
670
616
|
}
|
|
671
617
|
};
|
|
618
|
+
const evaluateReplacement = async (directSource, replacement, path) => {
|
|
619
|
+
await evaluateRoot(directSource, replacement.name, [...path, replacement.name], { kind: 'cds', ...replacement });
|
|
620
|
+
};
|
|
672
621
|
const evaluateResolved = async (directSource, resolved, path) => {
|
|
673
622
|
checkBlocked(directSource, path, [canonicalDataSourceName(resolved.name)]);
|
|
674
623
|
if (resolved.kind === 'table') {
|
|
675
624
|
const table = canonicalDataSourceName(resolved.name);
|
|
676
625
|
const replacement = await replacementAt(directSource, table, path);
|
|
677
626
|
if (replacement)
|
|
678
|
-
await
|
|
627
|
+
await evaluateReplacement(directSource, replacement, path);
|
|
679
628
|
return;
|
|
680
629
|
}
|
|
681
630
|
if (resolved.kind !== 'cds') {
|
|
682
631
|
throw unresolved(directSource, path, `source kind ${resolved.kind} has no proven lineage in the experimental policy`);
|
|
683
632
|
}
|
|
633
|
+
checkBlocked(directSource, path, [canonicalDataSourceName(resolved.ddlSource)]);
|
|
684
634
|
const graph = await resolver.readCdsDependencyGraph(canonicalDataSourceName(resolved.ddlSource));
|
|
685
635
|
const normalizedGraphAliases = graph.aliases.map((alias) => canonicalDataSourceName(alias));
|
|
686
636
|
if (!normalizedGraphAliases.includes(canonicalDataSourceName(resolved.name))) {
|
|
@@ -703,7 +653,7 @@ export async function enforceBlockedDataSources(directSources, configuredBlocked
|
|
|
703
653
|
// declared kind is the primary boundary; it is never inferred from a later failed read.
|
|
704
654
|
throw unresolved(directSource, nodePath, `CDS table function ${node.name} is not supported by the experimental policy: SAP does not expose its AMDP USING lineage in the dependency graph`);
|
|
705
655
|
}
|
|
706
|
-
if (node.kind
|
|
656
|
+
if (!CDS_VIEW_KINDS.includes(node.kind)) {
|
|
707
657
|
throw unresolved(directSource, nodePath, `dependency kind ${node.kind} is unsupported`);
|
|
708
658
|
}
|
|
709
659
|
if (node.children.length === 0) {
|
|
@@ -712,15 +662,14 @@ export async function enforceBlockedDataSources(directSources, configuredBlocked
|
|
|
712
662
|
for (const child of node.children)
|
|
713
663
|
validateGraph(child, [...nodePath, child.name], false);
|
|
714
664
|
};
|
|
715
|
-
// Check the complete graph before
|
|
716
|
-
//
|
|
717
|
-
// be unavailable for an earlier sibling table.
|
|
665
|
+
// Check the complete graph before catalog reads so a blocked sibling wins
|
|
666
|
+
// over unavailable metadata for an earlier table.
|
|
718
667
|
validateGraph(graph, graphPath, true);
|
|
719
668
|
const expandReplacements = async (node, nodePath) => {
|
|
720
669
|
if (node.kind === 'TABLE') {
|
|
721
670
|
const replacement = await replacementAt(directSource, node.name, nodePath);
|
|
722
671
|
if (replacement)
|
|
723
|
-
await
|
|
672
|
+
await evaluateReplacement(directSource, replacement, nodePath);
|
|
724
673
|
return;
|
|
725
674
|
}
|
|
726
675
|
for (const child of node.children)
|
|
@@ -728,7 +677,7 @@ export async function enforceBlockedDataSources(directSources, configuredBlocked
|
|
|
728
677
|
};
|
|
729
678
|
await expandReplacements(graph, graphPath);
|
|
730
679
|
};
|
|
731
|
-
const evaluateRoot = async (directSource, name, path) => {
|
|
680
|
+
const evaluateRoot = async (directSource, name, path, replacement) => {
|
|
732
681
|
checkBlocked(directSource, path, [name]);
|
|
733
682
|
if (activeResolution.size >= MAX_RESOLUTION_ROOTS) {
|
|
734
683
|
throw unresolved(directSource, path, `replacement lineage exceeds depth limit ${MAX_RESOLUTION_ROOTS}`);
|
|
@@ -738,7 +687,7 @@ export async function enforceBlockedDataSources(directSources, configuredBlocked
|
|
|
738
687
|
throw unresolved(directSource, path, `replacement cycle detected at ${name}`);
|
|
739
688
|
activeResolution.add(cycleKey);
|
|
740
689
|
try {
|
|
741
|
-
const resolved = await resolver.resolveDirectSource(name);
|
|
690
|
+
const resolved = replacement ?? (await resolver.resolveDirectSource(name));
|
|
742
691
|
await evaluateResolved(directSource, resolved, path);
|
|
743
692
|
}
|
|
744
693
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-source-policy.js","sourceRoot":"","sources":["../../src/adt/data-source-policy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data-source-policy.js","sourceRoot":"","sources":["../../src/adt/data-source-policy.ts"],"names":[],"mappings":"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"}
|
package/dist/adt/ddic-xml.d.ts
CHANGED
|
@@ -169,6 +169,9 @@ export interface TableTypeCreateParams {
|
|
|
169
169
|
rowType: string;
|
|
170
170
|
/** Defaults to "builtin" for a known ABAP type, else "structure". */
|
|
171
171
|
rowTypeKind?: 'builtin' | 'structure';
|
|
172
|
+
/** Built-in rows: the stored length/decimals an update carries (CHAR 30, INT4 10). No public input. */
|
|
173
|
+
rowTypeLength?: string;
|
|
174
|
+
rowTypeDecimals?: string;
|
|
172
175
|
language?: string;
|
|
173
176
|
responsible?: string;
|
|
174
177
|
}
|
|
@@ -185,8 +188,14 @@ export interface TableTypeInfo {
|
|
|
185
188
|
description: string;
|
|
186
189
|
rowType: string;
|
|
187
190
|
rowTypeKind: string;
|
|
191
|
+
/** Built-in length/decimals as SAP stores them, e.g. "000030" for a CHAR 30 row. */
|
|
192
|
+
rowTypeLength: string;
|
|
193
|
+
rowTypeDecimals: string;
|
|
188
194
|
accessType: string;
|
|
189
195
|
keyKind: string;
|
|
196
|
+
/** Standard table, non-unique standard key, no secondary keys: all that buildTableTypeXml writes. */
|
|
197
|
+
plainStandardTable: boolean;
|
|
198
|
+
package: string;
|
|
190
199
|
}
|
|
191
200
|
/** Parse the key fields of a table-type read response (`<ttyp:tableType>`). */
|
|
192
201
|
export declare function parseTableType(xml: string): TableTypeInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddic-xml.d.ts","sourceRoot":"","sources":["../../src/adt/ddic-xml.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ddic-xml.d.ts","sourceRoot":"","sources":["../../src/adt/ddic-xml.ts"],"names":[],"mappings":"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"}
|
package/dist/adt/ddic-xml.js
CHANGED
|
@@ -222,7 +222,7 @@ export function buildTableTypeXml(params) {
|
|
|
222
222
|
throw new Error(`TTYP rowType "${rowType}" is a built-in ABAP row type; omit rowTypeKind or use "builtin".`);
|
|
223
223
|
}
|
|
224
224
|
const rowTypeXml = kind === 'builtin'
|
|
225
|
-
? `<ttyp:typeKind>predefinedAbapType</ttyp:typeKind><ttyp:typeName/><ttyp:builtInType><ttyp:dataType>${escapeXmlAttr(rowType)}</ttyp:dataType><ttyp:length
|
|
225
|
+
? `<ttyp:typeKind>predefinedAbapType</ttyp:typeKind><ttyp:typeName/><ttyp:builtInType><ttyp:dataType>${escapeXmlAttr(rowType)}</ttyp:dataType><ttyp:length>${formatLength(params.rowTypeLength, 6)}</ttyp:length><ttyp:decimals>${formatLength(params.rowTypeDecimals, 6)}</ttyp:decimals></ttyp:builtInType><ttyp:rangeType/>`
|
|
226
226
|
: `<ttyp:typeKind>dictionaryType</ttyp:typeKind><ttyp:typeName>${escapeXmlAttr(rowType)}</ttyp:typeName><ttyp:builtInType><ttyp:dataType>STRU</ttyp:dataType><ttyp:length>000000</ttyp:length><ttyp:decimals>000000</ttyp:decimals></ttyp:builtInType><ttyp:rangeType/>`;
|
|
227
227
|
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
228
228
|
<ttyp:tableType xmlns:ttyp="http://www.sap.com/dictionary/tabletype"
|
|
@@ -276,13 +276,27 @@ export function parseTableType(xml) {
|
|
|
276
276
|
if (!rowType) {
|
|
277
277
|
throw new Error('Invalid TTYP response: missing row type name.');
|
|
278
278
|
}
|
|
279
|
+
const accessType = String(tt.accessType ?? '');
|
|
280
|
+
const keyKind = String(pk.kind ?? '');
|
|
281
|
+
const secondaryKeys = asRecord(tt.secondaryKeys) ?? {};
|
|
279
282
|
return {
|
|
280
283
|
name: String(tt['@_name'] ?? ''),
|
|
281
284
|
description: String(tt['@_description'] ?? ''),
|
|
282
285
|
rowType,
|
|
283
286
|
rowTypeKind: typeKind,
|
|
284
|
-
|
|
285
|
-
|
|
287
|
+
rowTypeLength: String(builtIn.length ?? ''),
|
|
288
|
+
rowTypeDecimals: String(builtIn.decimals ?? ''),
|
|
289
|
+
accessType,
|
|
290
|
+
keyKind,
|
|
291
|
+
// Mirrors every value buildTableTypeXml hardcodes: an update resets whatever differs.
|
|
292
|
+
plainStandardTable: Number(tt.initialRowCount ?? 0) === 0 &&
|
|
293
|
+
accessType === 'standard' &&
|
|
294
|
+
String(pk.definition ?? '') === 'standard' &&
|
|
295
|
+
keyKind === 'nonUnique' &&
|
|
296
|
+
!String(pk.alias ?? '') &&
|
|
297
|
+
String(secondaryKeys.allowed ?? '') === 'notSpecified' &&
|
|
298
|
+
secondaryKeys.secondaryKey === undefined,
|
|
299
|
+
package: String(asRecord(tt.packageRef)?.['@_name'] ?? ''),
|
|
286
300
|
};
|
|
287
301
|
}
|
|
288
302
|
export function buildMessageClassXml(params) {
|