arc-1 1.1.2 → 1.2.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.
Files changed (137) hide show
  1. package/README.md +9 -1
  2. package/bin/start-cf.sh +32 -0
  3. package/dist/adt/bounded-response.d.ts +9 -0
  4. package/dist/adt/bounded-response.d.ts.map +1 -0
  5. package/dist/adt/bounded-response.js +216 -0
  6. package/dist/adt/bounded-response.js.map +1 -0
  7. package/dist/adt/client.d.ts +35 -18
  8. package/dist/adt/client.d.ts.map +1 -1
  9. package/dist/adt/client.js +100 -104
  10. package/dist/adt/client.js.map +1 -1
  11. package/dist/adt/config.d.ts +6 -0
  12. package/dist/adt/config.d.ts.map +1 -1
  13. package/dist/adt/config.js +3 -0
  14. package/dist/adt/config.js.map +1 -1
  15. package/dist/adt/data-result-context.d.ts +46 -0
  16. package/dist/adt/data-result-context.d.ts.map +1 -0
  17. package/dist/adt/data-result-context.js +118 -0
  18. package/dist/adt/data-result-context.js.map +1 -0
  19. package/dist/adt/data-source-name.d.ts +60 -0
  20. package/dist/adt/data-source-name.d.ts.map +1 -0
  21. package/dist/adt/data-source-name.js +156 -0
  22. package/dist/adt/data-source-name.js.map +1 -0
  23. package/dist/adt/data-source-policy.d.ts +148 -0
  24. package/dist/adt/data-source-policy.d.ts.map +1 -0
  25. package/dist/adt/data-source-policy.js +752 -0
  26. package/dist/adt/data-source-policy.js.map +1 -0
  27. package/dist/adt/errors.d.ts +10 -0
  28. package/dist/adt/errors.d.ts.map +1 -1
  29. package/dist/adt/errors.js +17 -0
  30. package/dist/adt/errors.js.map +1 -1
  31. package/dist/adt/http-deadline.d.ts +5 -0
  32. package/dist/adt/http-deadline.d.ts.map +1 -1
  33. package/dist/adt/http-deadline.js +7 -0
  34. package/dist/adt/http-deadline.js.map +1 -1
  35. package/dist/adt/http.d.ts.map +1 -1
  36. package/dist/adt/http.js +43 -46
  37. package/dist/adt/http.js.map +1 -1
  38. package/dist/adt/internal-data-operations.d.ts +51 -0
  39. package/dist/adt/internal-data-operations.d.ts.map +1 -0
  40. package/dist/adt/internal-data-operations.js +95 -0
  41. package/dist/adt/internal-data-operations.js.map +1 -0
  42. package/dist/adt/safety.d.ts +2 -0
  43. package/dist/adt/safety.d.ts.map +1 -1
  44. package/dist/adt/safety.js +6 -0
  45. package/dist/adt/safety.js.map +1 -1
  46. package/dist/adt/sql-source-analyzer.d.ts +12 -0
  47. package/dist/adt/sql-source-analyzer.d.ts.map +1 -0
  48. package/dist/adt/sql-source-analyzer.js +158 -0
  49. package/dist/adt/sql-source-analyzer.js.map +1 -0
  50. package/dist/adt/table-query.d.ts +41 -0
  51. package/dist/adt/table-query.d.ts.map +1 -0
  52. package/dist/adt/table-query.js +99 -0
  53. package/dist/adt/table-query.js.map +1 -0
  54. package/dist/adt/xml-parser.d.ts +10 -15
  55. package/dist/adt/xml-parser.d.ts.map +1 -1
  56. package/dist/adt/xml-parser.js +24 -11
  57. package/dist/adt/xml-parser.js.map +1 -1
  58. package/dist/cli.d.ts.map +1 -1
  59. package/dist/cli.js +2 -0
  60. package/dist/cli.js.map +1 -1
  61. package/dist/handlers/diagnose.d.ts.map +1 -1
  62. package/dist/handlers/diagnose.js +14 -1
  63. package/dist/handlers/diagnose.js.map +1 -1
  64. package/dist/handlers/dispatch.d.ts +3 -1
  65. package/dist/handlers/dispatch.d.ts.map +1 -1
  66. package/dist/handlers/dispatch.js +74 -6
  67. package/dist/handlers/dispatch.js.map +1 -1
  68. package/dist/handlers/navigate.d.ts.map +1 -1
  69. package/dist/handlers/navigate.js +23 -3
  70. package/dist/handlers/navigate.js.map +1 -1
  71. package/dist/handlers/object-types.d.ts +4 -4
  72. package/dist/handlers/object-types.js +4 -4
  73. package/dist/handlers/query.d.ts +1 -1
  74. package/dist/handlers/query.d.ts.map +1 -1
  75. package/dist/handlers/query.js +13 -20
  76. package/dist/handlers/query.js.map +1 -1
  77. package/dist/handlers/read.d.ts.map +1 -1
  78. package/dist/handlers/read.js +68 -12
  79. package/dist/handlers/read.js.map +1 -1
  80. package/dist/handlers/search.d.ts.map +1 -1
  81. package/dist/handlers/search.js +27 -5
  82. package/dist/handlers/search.js.map +1 -1
  83. package/dist/handlers/tools.d.ts.map +1 -1
  84. package/dist/handlers/tools.js +13 -13
  85. package/dist/handlers/tools.js.map +1 -1
  86. package/dist/handlers/where-used.d.ts +2 -0
  87. package/dist/handlers/where-used.d.ts.map +1 -1
  88. package/dist/handlers/where-used.js +23 -5
  89. package/dist/handlers/where-used.js.map +1 -1
  90. package/dist/public/index.d.ts +1 -1
  91. package/dist/public/index.d.ts.map +1 -1
  92. package/dist/public/index.js +1 -1
  93. package/dist/public/index.js.map +1 -1
  94. package/dist/server/audit.d.ts +42 -1
  95. package/dist/server/audit.d.ts.map +1 -1
  96. package/dist/server/audit.js.map +1 -1
  97. package/dist/server/config.d.ts +4 -0
  98. package/dist/server/config.d.ts.map +1 -1
  99. package/dist/server/config.js +67 -0
  100. package/dist/server/config.js.map +1 -1
  101. package/dist/server/context.d.ts +5 -0
  102. package/dist/server/context.d.ts.map +1 -1
  103. package/dist/server/context.js.map +1 -1
  104. package/dist/server/destination-registry.d.ts +10 -2
  105. package/dist/server/destination-registry.d.ts.map +1 -1
  106. package/dist/server/destination-registry.js +12 -3
  107. package/dist/server/destination-registry.js.map +1 -1
  108. package/dist/server/effective-policy-log.d.ts +2 -1
  109. package/dist/server/effective-policy-log.d.ts.map +1 -1
  110. package/dist/server/effective-policy-log.js +18 -2
  111. package/dist/server/effective-policy-log.js.map +1 -1
  112. package/dist/server/multi-target-runtime.d.ts.map +1 -1
  113. package/dist/server/multi-target-runtime.js +7 -2
  114. package/dist/server/multi-target-runtime.js.map +1 -1
  115. package/dist/server/runtime-memory.d.ts +13 -0
  116. package/dist/server/runtime-memory.d.ts.map +1 -0
  117. package/dist/server/runtime-memory.js +42 -0
  118. package/dist/server/runtime-memory.js.map +1 -0
  119. package/dist/server/server-instructions.d.ts +2 -0
  120. package/dist/server/server-instructions.d.ts.map +1 -0
  121. package/dist/server/server-instructions.js +27 -0
  122. package/dist/server/server-instructions.js.map +1 -0
  123. package/dist/server/server.d.ts +3 -2
  124. package/dist/server/server.d.ts.map +1 -1
  125. package/dist/server/server.js +25 -35
  126. package/dist/server/server.js.map +1 -1
  127. package/dist/server/sinks/btp-auditlog.d.ts.map +1 -1
  128. package/dist/server/sinks/btp-auditlog.js +10 -0
  129. package/dist/server/sinks/btp-auditlog.js.map +1 -1
  130. package/dist/server/types.d.ts +8 -0
  131. package/dist/server/types.d.ts.map +1 -1
  132. package/dist/server/types.js +4 -0
  133. package/dist/server/types.js.map +1 -1
  134. package/dist/server/ui-state.d.ts.map +1 -1
  135. package/dist/server/ui-state.js +1 -0
  136. package/dist/server/ui-state.js.map +1 -1
  137. package/package.json +1 -1
package/README.md CHANGED
@@ -22,6 +22,7 @@ Built for organizations that need AI-assisted SAP development with guardrails. I
22
22
  - **Action deny list** — block specific tool actions with `SAP_DENY_ACTIONS` (for example `SAPWrite.delete`), without exposing low-level operation codes to admins
23
23
  - **Package restrictions** — limit AI write operations (create, update, delete) to specific packages with wildcards (`--allowed-packages "Z*,$TMP"`). Read operations are not restricted by package — use SAP's native authorization for read-level access control
24
24
  - **Data access control (off by default)** — `SAPRead(type=TABLE_CONTENTS)` and `SAPQuery` are gated behind explicit env vars (`SAP_ALLOW_DATA_PREVIEW=true`, `SAP_ALLOW_FREE_SQL=true`). These capabilities can expose application data or run ad-hoc SQL, so they are intentionally separated from the default development-tooling surface. They can be enabled for governed use cases, but should be reviewed against the [SAP API Policy](docs_page/sap-api-policy-and-architecture.md), your SAP agreement, and internal data-governance rules
25
+ - **Experimental data-source emergency brake** — approved data/SQL deployments can set `SAP_BLOCKED_DATA_SOURCES=USR02,PA0002`. ARC-1 then parses each SQL request and resolves active CDS plus replacement-object lineage before execution, denying direct or transitive exact-name matches and failing closed when lineage is unsupported or cannot be proven. The empty default adds no metadata calls. This denylist is defense in depth, not a production allowlist or replacement for SAP authorization/CDS DCL; see [Authorization & Roles](docs_page/authorization.md#experimental-data-source-blocklist).
25
26
  - **Transport safety** — transport reads are available for review, while transport mutations require both `--allow-writes` and `--allow-transport-writes`. Update/delete operations auto-use the lock correction number when no explicit transport is provided
26
27
  - **Git workflow safety** — Git operations are disabled by default. Enable explicitly with `--allow-git-writes` / `SAP_ALLOW_GIT_WRITES=true`
27
28
  - **API-key profiles** — multi-key HTTP deployments can assign `viewer`, `viewer-data`, `viewer-sql`, `developer`, `developer-data`, `developer-sql`, or `admin` per key
@@ -130,6 +131,13 @@ Two ARC-1 capabilities can expose business data or execute ad-hoc SQL. Both are
130
131
  | ---------- | ------- | ------- | ----------- |
131
132
  | Named table content preview (`SAPRead(type=TABLE_CONTENTS)`) | `SAP_ALLOW_DATA_PREVIEW=true` | `false` (off) | Can expose application-table data; keep off unless the use case is approved. |
132
133
  | Freestyle ABAP SQL (`SAPQuery`) | `SAP_ALLOW_FREE_SQL=true` | `false` (off) | Executes ad-hoc ABAP SQL; keep off unless the use case is approved. |
134
+ | Exact source blocklist (experimental) | `SAP_BLOCKED_DATA_SOURCES=USR02,PA0002` | empty (off) | Denies exact direct/transitive table or CDS dependencies; active mode is deliberately fail-closed and slower. |
135
+
136
+ When either capability is enabled, successful data-preview bodies are limited cumulatively per tool
137
+ call (2 MiB by default), and only two data-result calls per process remain admitted through parsing
138
+ and serialization. `SAPQuery.maxRows` is separately clamped to 10,000, but wide rows can reach the
139
+ byte limit much earlier. See [Configuration](docs_page/configuration-reference.md) before tuning
140
+ `ARC1_MAX_DATAPREVIEW_RESPONSE_BYTES` or `ARC1_MAX_CONCURRENT_DATA_RESULTS`.
133
141
 
134
142
  With both flags at their defaults, ARC-1's data/sql rows are unreachable. Turning either flag on is a valid operational choice for approved scenarios, but it should be deliberate: check the current SAP API Policy, the customer's SAP agreement, SAP authorizations, and internal data-protection rules before enabling it on a productive system.
135
143
 
@@ -139,7 +147,7 @@ ARC-1's strategy is to stay close to documented and discoverable ADT behavior, p
139
147
 
140
148
  From `1.0` onward ARC-1 follows [semantic versioning](https://semver.org/): patch releases fix bugs, minor releases add backward-compatible capability, and breaking changes to the MCP tool surface, configuration, or auth contract bump the major version.
141
149
 
142
- **Experimental, default-off features are excluded from this guarantee until they are promoted** — they are clearly labeled and their surface may still change in a minor release. Today this covers the [multi-target BTP mode](docs_page/multi-target-setup.md) (ADR-0006 / ADR-0007): a mutation-free, read-only exception to the single-target default.
150
+ **Experimental, default-off features are excluded from this guarantee until they are promoted** — they are clearly labeled and their surface may still change in a minor release. Today this covers the [multi-target BTP mode](docs_page/multi-target-setup.md) (ADR-0006 / ADR-0007) and the [data-source blocklist](docs_page/authorization.md#experimental-data-source-blocklist).
143
151
 
144
152
  What changed per release: the annotated [Release Notes](https://docs.arc-1-mcp.com/release-notes/) give each release its impact and upgrade action; [CHANGELOG.md](CHANGELOG.md) lists every merged PR.
145
153
 
@@ -0,0 +1,32 @@
1
+ #!/bin/sh
2
+ set -eu
3
+
4
+ if [ "${OPTIMIZE_MEMORY:-}" != "true" ]; then
5
+ exec node dist/index.js
6
+ fi
7
+
8
+ memory_available=${MEMORY_AVAILABLE:-}
9
+ case "$memory_available" in
10
+ ''|*[!0-9]*)
11
+ echo "ARC-1 startup refused: OPTIMIZE_MEMORY=true requires MEMORY_AVAILABLE as decimal MiB." >&2
12
+ exit 1
13
+ ;;
14
+ esac
15
+
16
+ # Avoid octal interpretation and arithmetic overflow in POSIX shells. CF values
17
+ # are vastly smaller than this nine-digit upper bound.
18
+ while [ "${memory_available#0}" != "$memory_available" ]; do
19
+ memory_available=${memory_available#0}
20
+ done
21
+ if [ -z "$memory_available" ] || [ "${#memory_available}" -gt 9 ]; then
22
+ echo "ARC-1 startup refused: MEMORY_AVAILABLE is outside the supported decimal-MiB range." >&2
23
+ exit 1
24
+ fi
25
+
26
+ old_space_mib=$((memory_available / 4 * 3 + memory_available % 4 * 3 / 4))
27
+ if [ "$old_space_mib" -lt 1 ]; then
28
+ echo "ARC-1 startup refused: MEMORY_AVAILABLE is too small for the 75% old-space policy." >&2
29
+ exit 1
30
+ fi
31
+
32
+ exec node "--max-old-space-size=${old_space_mib}" dist/index.js
@@ -0,0 +1,9 @@
1
+ import type { Client, Dispatcher } from 'undici';
2
+ import type { DataResponseBudget } from './data-result-context.js';
3
+ type ConnectivityProxyResponse = Pick<Dispatcher.ResponseData, 'statusCode' | 'headers' | 'body'>;
4
+ /** Apply the cumulative post-content-decoding allowance before string conversion. */
5
+ export declare function capResponseBody(response: Response, budget: DataResponseBudget): Promise<Response>;
6
+ /** Convert one Connectivity response while preserving ownership of its short-lived client. */
7
+ export declare function connectivityProxyResponse(response: ConnectivityProxyResponse, client: Client, signal: AbortSignal, bounded: boolean): Promise<Response>;
8
+ export {};
9
+ //# sourceMappingURL=bounded-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bounded-response.d.ts","sourceRoot":"","sources":["../../src/adt/bounded-response.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,KAAK,yBAAyB,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC;AAelG,qFAAqF;AACrF,wBAAsB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAsEvG;AAyFD,8FAA8F;AAC9F,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,yBAAyB,EACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,QAAQ,CAAC,CA0BnB"}
@@ -0,0 +1,216 @@
1
+ import { getCurrentContext } from '../server/context.js';
2
+ function cloneResponseHeaders(headers) {
3
+ const copy = new Headers();
4
+ let legacySetCookie;
5
+ for (const [key, value] of headers.entries()) {
6
+ if (key.toLowerCase() === 'set-cookie')
7
+ legacySetCookie = value;
8
+ else
9
+ copy.append(key, value);
10
+ }
11
+ const getSetCookie = headers.getSetCookie;
12
+ const setCookies = getSetCookie?.call(headers) ?? (legacySetCookie ? [legacySetCookie] : []);
13
+ for (const cookie of setCookies)
14
+ copy.append('set-cookie', cookie);
15
+ return copy;
16
+ }
17
+ /** Apply the cumulative post-content-decoding allowance before string conversion. */
18
+ export async function capResponseBody(response, budget) {
19
+ const responseBody = response.body;
20
+ if (responseBody === null)
21
+ return response;
22
+ const requestId = getCurrentContext()?.requestId;
23
+ const contentEncoding = response.headers.get('content-encoding')?.trim().toLowerCase();
24
+ const contentLength = response.headers.get('content-length')?.trim();
25
+ if ((!contentEncoding || contentEncoding === 'identity') && contentLength && /^\d+$/.test(contentLength)) {
26
+ const declaredBytes = Number(contentLength);
27
+ if (Number.isSafeInteger(declaredBytes)) {
28
+ try {
29
+ budget.assertSingleResponseBytes(declaredBytes, requestId);
30
+ }
31
+ catch (error) {
32
+ try {
33
+ await responseBody.cancel(error);
34
+ }
35
+ catch {
36
+ // Preserve the response-limit error.
37
+ }
38
+ throw error;
39
+ }
40
+ }
41
+ }
42
+ const reader = responseBody.getReader();
43
+ const reservation = response.ok ? budget.createReservation() : undefined;
44
+ let seenBytes = 0;
45
+ let settled = false;
46
+ const release = () => {
47
+ if (settled)
48
+ return;
49
+ settled = true;
50
+ reservation?.release();
51
+ };
52
+ const cappedBody = new ReadableStream({
53
+ async pull(controller) {
54
+ try {
55
+ const chunk = await reader.read();
56
+ if (chunk.done) {
57
+ if (!settled) {
58
+ settled = true;
59
+ reservation?.commit();
60
+ }
61
+ controller.close();
62
+ return;
63
+ }
64
+ const nextSeenBytes = seenBytes + chunk.value.byteLength;
65
+ if (reservation)
66
+ reservation.add(chunk.value.byteLength, requestId);
67
+ else
68
+ budget.assertSingleResponseBytes(nextSeenBytes, requestId);
69
+ seenBytes = nextSeenBytes;
70
+ controller.enqueue(chunk.value);
71
+ }
72
+ catch (error) {
73
+ release();
74
+ try {
75
+ await reader.cancel(error);
76
+ }
77
+ catch {
78
+ // Preserve the original stream/budget error.
79
+ }
80
+ controller.error(error);
81
+ }
82
+ },
83
+ async cancel(reason) {
84
+ release();
85
+ await reader.cancel(reason);
86
+ },
87
+ });
88
+ return new Response(cappedBody, {
89
+ status: response.status,
90
+ statusText: response.statusText,
91
+ headers: cloneResponseHeaders(response.headers),
92
+ });
93
+ }
94
+ function proxyResponseBody(body, client, signal) {
95
+ // Do not bridge Undici's BodyReadable through Readable.toWeb(). Cancelling that
96
+ // adapter closes its web-stream controller before Client.destroy() has drained
97
+ // already-queued BodyReadable data, so a late data event can enqueue into the
98
+ // closed controller and terminate the process with ERR_INVALID_STATE (#737).
99
+ // Reading the Node stream directly keeps cancellation and client ownership in
100
+ // this one adapter and gives late source events no web controller to reach.
101
+ const iterator = body[Symbol.asyncIterator]();
102
+ let streamController;
103
+ let settled = false;
104
+ let ended = false;
105
+ const asError = (reason, fallback) => reason instanceof Error ? reason : new Error(reason === undefined ? fallback : String(reason));
106
+ const onAbort = () => {
107
+ if (ended)
108
+ return;
109
+ ended = true;
110
+ const cause = asError(signal.reason, 'The proxy response stream was aborted.');
111
+ try {
112
+ streamController?.error(cause);
113
+ }
114
+ catch {
115
+ // A simultaneous consumer cancellation may already have closed the stream.
116
+ }
117
+ void settle(cause).catch(() => {
118
+ // The abort reason is already visible to the consumer.
119
+ });
120
+ };
121
+ const settle = async (error) => {
122
+ if (settled)
123
+ return;
124
+ settled = true;
125
+ signal.removeEventListener('abort', onAbort);
126
+ if (error) {
127
+ // Stop the body without emitting a second error, then destroy its dedicated
128
+ // client with the original cause. The async iterator retains Node's error
129
+ // listener, so a transport error racing with teardown stays handled.
130
+ if (!body.destroyed)
131
+ body.destroy();
132
+ await client.destroy(error);
133
+ }
134
+ else {
135
+ await client.close();
136
+ }
137
+ };
138
+ return new ReadableStream({
139
+ start(controller) {
140
+ streamController = controller;
141
+ if (signal.aborted)
142
+ onAbort();
143
+ else
144
+ signal.addEventListener('abort', onAbort, { once: true });
145
+ },
146
+ async pull(controller) {
147
+ try {
148
+ const chunk = await iterator.next();
149
+ if (ended)
150
+ return;
151
+ if (chunk.done) {
152
+ ended = true;
153
+ try {
154
+ await settle();
155
+ controller.close();
156
+ }
157
+ catch (error) {
158
+ controller.error(error);
159
+ }
160
+ return;
161
+ }
162
+ if (!(chunk.value instanceof Uint8Array)) {
163
+ throw new TypeError('The proxy response body emitted a non-byte chunk.');
164
+ }
165
+ controller.enqueue(chunk.value);
166
+ }
167
+ catch (error) {
168
+ if (ended)
169
+ return;
170
+ ended = true;
171
+ const cause = asError(error, 'The proxy response stream failed.');
172
+ try {
173
+ await settle(cause);
174
+ }
175
+ finally {
176
+ controller.error(cause);
177
+ }
178
+ }
179
+ },
180
+ async cancel(reason) {
181
+ if (ended)
182
+ return;
183
+ ended = true;
184
+ await settle(asError(reason, 'The proxy response stream was cancelled.'));
185
+ },
186
+ });
187
+ }
188
+ /** Convert one Connectivity response while preserving ownership of its short-lived client. */
189
+ export async function connectivityProxyResponse(response, client, signal, bounded) {
190
+ const headers = new Headers();
191
+ for (const [key, value] of Object.entries(response.headers)) {
192
+ if (value === undefined)
193
+ continue;
194
+ for (const item of Array.isArray(value) ? value : [String(value)])
195
+ headers.append(key, item);
196
+ }
197
+ if (response.statusCode === 204 || response.statusCode === 205 || response.statusCode === 304) {
198
+ response.body.destroy();
199
+ return new Response(null, { status: response.statusCode, headers });
200
+ }
201
+ if (!bounded) {
202
+ return new Response(await response.body.text(), { status: response.statusCode, headers });
203
+ }
204
+ const contentEncoding = headers.get('content-encoding')?.trim().toLowerCase();
205
+ if (contentEncoding && contentEncoding !== 'identity') {
206
+ const error = new Error(`Unexpected Content-Encoding '${contentEncoding}' on bounded proxy response.`);
207
+ response.body.destroy();
208
+ await client.destroy(error);
209
+ throw error;
210
+ }
211
+ return new Response(proxyResponseBody(response.body, client, signal), {
212
+ status: response.statusCode,
213
+ headers,
214
+ });
215
+ }
216
+ //# sourceMappingURL=bounded-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bounded-response.js","sourceRoot":"","sources":["../../src/adt/bounded-response.ts"],"names":[],"mappings":"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"}
@@ -16,15 +16,17 @@
16
16
  * This keeps the client class manageable (not a 2,400-line God class).
17
17
  */
18
18
  import type { AdtClientConfig } from './config.js';
19
+ import { DataResultScope } from './data-result-context.js';
19
20
  import { type TableTypeInfo } from './ddic-xml.js';
20
21
  import { AdtHttpClient, type AdtResponse } from './http.js';
21
22
  import type { AdtRequestOptions } from './http-deadline.js';
22
23
  import { type PackageHierarchyResolver } from './package-hierarchy.js';
23
24
  import { type SafetyConfig } from './safety.js';
25
+ import { buildTableQuerySql, clampPreviewRows } from './table-query.js';
24
26
  import { clampSearchResults, toTextSearchObjectType } from './text-search.js';
25
27
  import type { AdtObjectLookupResult, AdtSearchResult, ApiReleaseStateInfo, AuthorizationFieldInfo, BspAppInfo, BspFileNode, ClassMetadata, ClassStructure, DataElementInfo, DomainInfo, EnhancementImplementationInfo, FeatureToggleInfo, FunctionGroupStructure, FunctionModuleProperties, InactiveObject, MessageClassInfo, RevisionListResult, SourceSearchResult, StructuredClassResponse, TransactionInfo } from './types.js';
26
28
  import { type DataPreviewMeta } from './xml-parser.js';
27
- export { clampSearchResults, toTextSearchObjectType };
29
+ export { buildTableQuerySql, clampPreviewRows, clampSearchResults, toTextSearchObjectType };
28
30
  export interface SourceReadResult {
29
31
  source: string;
30
32
  etag?: string;
@@ -43,23 +45,6 @@ export interface SourceReadOptions extends AdtRequestOptions {
43
45
  version?: 'active' | 'inactive';
44
46
  accept?: string;
45
47
  }
46
- /** Coerce a caller-supplied row limit into a safe positive integer in [1, MAX_TABLE_QUERY_ROWS].
47
- * NaN / non-finite / non-positive / undefined fall back to the default (prevents `rowNumber=NaN`
48
- * and unbounded result buffering). */
49
- export declare function clampPreviewRows(requested: number | undefined, fallback?: number): number;
50
- /**
51
- * Build a safe SELECT statement from structured parameters.
52
- * All identifiers are uppercased, stripped to word-chars + namespace slash, and rejected if empty.
53
- * String values are single-quote escaped (doubled single quotes).
54
- * IN/NOT IN values are strictly parsed as quoted literal lists (no subqueries).
55
- * Raises if the table, any column, or any where-field is empty after sanitization.
56
- * ORDER BY is intentionally omitted: the ADT freestyle endpoint rejects it on NW 7.50/7.51.
57
- */
58
- export declare function buildTableQuerySql(tableName: string, columns?: string[], where?: Array<{
59
- field: string;
60
- op: string;
61
- value?: string;
62
- }>): string;
63
48
  /** The five source includes a class keeps its revisions under. */
64
49
  export declare const CLASS_REVISION_INCLUDES: readonly ['main', 'definitions', 'implementations', 'macros', 'testclasses'];
65
50
  /** Types with an addressable revisions feed — derived, never hand-maintained. */
@@ -80,6 +65,10 @@ export declare class AdtClient {
80
65
  private internalUser?;
81
66
  /** The configured SAP client number (from --client / SAP_CLIENT) */
82
67
  readonly sapClient: string;
68
+ /** Per-call response ceiling shared by every data method in the current MCP request. */
69
+ private readonly maxDataPreviewResponseBytes;
70
+ /** Shared process-wide data admission guard (private fallback outside server-managed clients). */
71
+ private readonly dataResultSemaphore;
83
72
  /** Per-client cache of resolved TABL URLs for **reads** (transparent table at
84
73
  * /tables/, structure at /structures/). Populated by getTabl() via the
85
74
  * /tables/→/structures/ 404 fallback. */
@@ -420,6 +409,12 @@ export declare class AdtClient {
420
409
  * returns the full child set in one round-trip.
421
410
  */
422
411
  getSubpackages(packageName: string, maxResults?: number): Promise<string[]>;
412
+ /** A fresh guard per logical request; instrumentation never leaks between decisions. */
413
+ private dataSourceBlocklistGuard;
414
+ /** Create the lazy request-level result scope inherited by nested handler dispatch. */
415
+ createDataResultScope(): DataResultScope;
416
+ private withDataResultScope;
417
+ private postDataPreview;
423
418
  /** Get table contents via data preview */
424
419
  getTableContents(tableName: string, maxRows?: number, sqlFilter?: string): Promise<{
425
420
  columns: string[];
@@ -440,6 +435,28 @@ export declare class AdtClient {
440
435
  columns: string[];
441
436
  rows: Record<string, string>[];
442
437
  } & DataPreviewMeta>;
438
+ /**
439
+ * Authorize a set of server-generated statements ONCE, then execute them.
440
+ *
441
+ * This is the single freestyle-SQL entry point. IN-list chunking splits one logical caller request
442
+ * into N statements; authorizing each separately would repeat the whole lineage resolution N times
443
+ * (a search plus a graph read plus a table-source read per distinct source, per chunk). Instead the
444
+ * union of every chunk's canonical direct sources is authorized in one decision, and only then are
445
+ * the already-authorized statements posted.
446
+ *
447
+ * Authorization and the POST deliberately live inside the same private operation: there is no
448
+ * caller-supplied `authorized`/`internal` receipt that could be forged to skip the guard, and the
449
+ * decision is a local const that cannot outlive this call.
450
+ *
451
+ * The whole batch runs inside ONE data-result scope, so the response-memory budget (#739) is
452
+ * cumulative across chunks rather than reset per chunk — N chunks cannot together exceed the limit
453
+ * a single response may consume. Metrics are reported only for a single statement, because an
454
+ * early break on the row cap would make a summed totalRows misleading.
455
+ */
456
+ runQueryBatch(statements: string[], maxRows?: number): Promise<{
457
+ columns: string[];
458
+ rows: Record<string, string>[];
459
+ } & Partial<DataPreviewMeta>>;
443
460
  private postFreestyleQuery;
444
461
  /**
445
462
  * Query a table or CDS view with structured parameters.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/adt/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/adt/client.ts"],"names":[],"mappings":"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"}