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.
Files changed (282) hide show
  1. package/README.md +22 -15
  2. package/dist/adt/application-log.d.ts +36 -0
  3. package/dist/adt/application-log.d.ts.map +1 -0
  4. package/dist/adt/application-log.js +143 -0
  5. package/dist/adt/application-log.js.map +1 -0
  6. package/dist/adt/class-structure.d.ts +2 -1
  7. package/dist/adt/class-structure.d.ts.map +1 -1
  8. package/dist/adt/class-structure.js +28 -10
  9. package/dist/adt/class-structure.js.map +1 -1
  10. package/dist/adt/client.d.ts +6 -4
  11. package/dist/adt/client.d.ts.map +1 -1
  12. package/dist/adt/client.js +9 -9
  13. package/dist/adt/client.js.map +1 -1
  14. package/dist/adt/codeintel.d.ts +9 -23
  15. package/dist/adt/codeintel.d.ts.map +1 -1
  16. package/dist/adt/codeintel.js +14 -34
  17. package/dist/adt/codeintel.js.map +1 -1
  18. package/dist/adt/devtools.d.ts +8 -1
  19. package/dist/adt/devtools.d.ts.map +1 -1
  20. package/dist/adt/devtools.js +67 -37
  21. package/dist/adt/devtools.js.map +1 -1
  22. package/dist/adt/diagnostics.d.ts +2 -0
  23. package/dist/adt/diagnostics.d.ts.map +1 -1
  24. package/dist/adt/diagnostics.js +10 -8
  25. package/dist/adt/diagnostics.js.map +1 -1
  26. package/dist/adt/errors.d.ts +5 -1
  27. package/dist/adt/errors.d.ts.map +1 -1
  28. package/dist/adt/errors.js +26 -0
  29. package/dist/adt/errors.js.map +1 -1
  30. package/dist/adt/feed-schema.d.ts +32 -0
  31. package/dist/adt/feed-schema.d.ts.map +1 -0
  32. package/dist/adt/feed-schema.js +123 -0
  33. package/dist/adt/feed-schema.js.map +1 -0
  34. package/dist/adt/fm-parameter-docs.d.ts +7 -0
  35. package/dist/adt/fm-parameter-docs.d.ts.map +1 -0
  36. package/dist/adt/fm-parameter-docs.js +134 -0
  37. package/dist/adt/fm-parameter-docs.js.map +1 -0
  38. package/dist/adt/fm-signature.d.ts +8 -1
  39. package/dist/adt/fm-signature.d.ts.map +1 -1
  40. package/dist/adt/fm-signature.js +37 -28
  41. package/dist/adt/fm-signature.js.map +1 -1
  42. package/dist/adt/http-deadline.d.ts.map +1 -1
  43. package/dist/adt/http-deadline.js +4 -1
  44. package/dist/adt/http-deadline.js.map +1 -1
  45. package/dist/adt/http-retry-after.d.ts +20 -0
  46. package/dist/adt/http-retry-after.d.ts.map +1 -0
  47. package/dist/adt/http-retry-after.js +37 -0
  48. package/dist/adt/http-retry-after.js.map +1 -0
  49. package/dist/adt/http.d.ts +6 -19
  50. package/dist/adt/http.d.ts.map +1 -1
  51. package/dist/adt/http.js +78 -79
  52. package/dist/adt/http.js.map +1 -1
  53. package/dist/adt/include-expansion.d.ts +143 -0
  54. package/dist/adt/include-expansion.d.ts.map +1 -0
  55. package/dist/adt/include-expansion.js +475 -0
  56. package/dist/adt/include-expansion.js.map +1 -0
  57. package/dist/adt/internal-data-operations.d.ts +3 -3
  58. package/dist/adt/internal-data-operations.d.ts.map +1 -1
  59. package/dist/adt/internal-data-operations.js +9 -2
  60. package/dist/adt/internal-data-operations.js.map +1 -1
  61. package/dist/adt/revision-feed.d.ts +8 -0
  62. package/dist/adt/revision-feed.d.ts.map +1 -0
  63. package/dist/adt/revision-feed.js +108 -0
  64. package/dist/adt/revision-feed.js.map +1 -0
  65. package/dist/adt/security-session-gate.d.ts +23 -0
  66. package/dist/adt/security-session-gate.d.ts.map +1 -0
  67. package/dist/adt/security-session-gate.js +56 -0
  68. package/dist/adt/security-session-gate.js.map +1 -0
  69. package/dist/adt/source-diff.d.ts +4 -1
  70. package/dist/adt/source-diff.d.ts.map +1 -1
  71. package/dist/adt/source-diff.js +5 -3
  72. package/dist/adt/source-diff.js.map +1 -1
  73. package/dist/adt/stored-text/chunks.d.ts +8 -0
  74. package/dist/adt/stored-text/chunks.d.ts.map +1 -0
  75. package/dist/adt/stored-text/chunks.js +55 -0
  76. package/dist/adt/stored-text/chunks.js.map +1 -0
  77. package/dist/adt/stored-text/decoder.d.ts +31 -0
  78. package/dist/adt/stored-text/decoder.d.ts.map +1 -0
  79. package/dist/adt/stored-text/decoder.js +319 -0
  80. package/dist/adt/stored-text/decoder.js.map +1 -0
  81. package/dist/adt/stored-text/errors.d.ts +10 -0
  82. package/dist/adt/stored-text/errors.d.ts.map +1 -0
  83. package/dist/adt/stored-text/errors.js +10 -0
  84. package/dist/adt/stored-text/errors.js.map +1 -0
  85. package/dist/adt/stored-text/index.d.ts +7 -0
  86. package/dist/adt/stored-text/index.d.ts.map +1 -0
  87. package/dist/adt/stored-text/index.js +6 -0
  88. package/dist/adt/stored-text/index.js.map +1 -0
  89. package/dist/adt/stored-text/key.d.ts +3 -0
  90. package/dist/adt/stored-text/key.d.ts.map +1 -0
  91. package/dist/adt/stored-text/key.js +23 -0
  92. package/dist/adt/stored-text/key.js.map +1 -0
  93. package/dist/adt/stored-text/reader.d.ts +52 -0
  94. package/dist/adt/stored-text/reader.d.ts.map +1 -0
  95. package/dist/adt/stored-text/reader.js +142 -0
  96. package/dist/adt/stored-text/reader.js.map +1 -0
  97. package/dist/adt/stored-text/source.d.ts +5 -0
  98. package/dist/adt/stored-text/source.d.ts.map +1 -0
  99. package/dist/adt/stored-text/source.js +284 -0
  100. package/dist/adt/stored-text/source.js.map +1 -0
  101. package/dist/adt/stored-text/types.d.ts +38 -0
  102. package/dist/adt/stored-text/types.d.ts.map +1 -0
  103. package/dist/adt/stored-text/types.js +2 -0
  104. package/dist/adt/stored-text/types.js.map +1 -0
  105. package/dist/adt/structure-hierarchy.d.ts.map +1 -1
  106. package/dist/adt/structure-hierarchy.js +11 -27
  107. package/dist/adt/structure-hierarchy.js.map +1 -1
  108. package/dist/adt/syntax-batch.d.ts +66 -0
  109. package/dist/adt/syntax-batch.d.ts.map +1 -0
  110. package/dist/adt/syntax-batch.js +115 -0
  111. package/dist/adt/syntax-batch.js.map +1 -0
  112. package/dist/adt/table-query.d.ts +3 -1
  113. package/dist/adt/table-query.d.ts.map +1 -1
  114. package/dist/adt/table-query.js +32 -4
  115. package/dist/adt/table-query.js.map +1 -1
  116. package/dist/adt/text-elements.js +1 -1
  117. package/dist/adt/text-elements.js.map +1 -1
  118. package/dist/adt/transport-diff.d.ts +16 -25
  119. package/dist/adt/transport-diff.d.ts.map +1 -1
  120. package/dist/adt/transport-diff.js +201 -103
  121. package/dist/adt/transport-diff.js.map +1 -1
  122. package/dist/adt/transport-review-budget.d.ts +15 -0
  123. package/dist/adt/transport-review-budget.d.ts.map +1 -0
  124. package/dist/adt/transport-review-budget.js +57 -0
  125. package/dist/adt/transport-review-budget.js.map +1 -0
  126. package/dist/adt/transport.d.ts +1 -1
  127. package/dist/adt/transport.d.ts.map +1 -1
  128. package/dist/adt/transport.js +2 -2
  129. package/dist/adt/transport.js.map +1 -1
  130. package/dist/adt/types.d.ts +1 -0
  131. package/dist/adt/types.d.ts.map +1 -1
  132. package/dist/adt/user-agent.d.ts +1 -1
  133. package/dist/adt/where-used-native.d.ts +22 -0
  134. package/dist/adt/where-used-native.d.ts.map +1 -0
  135. package/dist/adt/where-used-native.js +111 -0
  136. package/dist/adt/where-used-native.js.map +1 -0
  137. package/dist/adt/xml-parser.d.ts +2 -3
  138. package/dist/adt/xml-parser.d.ts.map +1 -1
  139. package/dist/adt/xml-parser.js +1 -91
  140. package/dist/adt/xml-parser.js.map +1 -1
  141. package/dist/aff/validator.d.ts.map +1 -1
  142. package/dist/aff/validator.js +8 -2
  143. package/dist/aff/validator.js.map +1 -1
  144. package/dist/authz/policy.d.ts.map +1 -1
  145. package/dist/authz/policy.js +10 -2
  146. package/dist/authz/policy.js.map +1 -1
  147. package/dist/cache/sqlite-driver.d.ts +24 -0
  148. package/dist/cache/sqlite-driver.d.ts.map +1 -0
  149. package/dist/cache/sqlite-driver.js +59 -0
  150. package/dist/cache/sqlite-driver.js.map +1 -0
  151. package/dist/cache/sqlite.d.ts +4 -2
  152. package/dist/cache/sqlite.d.ts.map +1 -1
  153. package/dist/cache/sqlite.js +5 -4
  154. package/dist/cache/sqlite.js.map +1 -1
  155. package/dist/cli.js +4 -1
  156. package/dist/cli.js.map +1 -1
  157. package/dist/context/grep.d.ts +2 -0
  158. package/dist/context/grep.d.ts.map +1 -1
  159. package/dist/context/grep.js +8 -7
  160. package/dist/context/grep.js.map +1 -1
  161. package/dist/extract-sap-cookies.js +1 -0
  162. package/dist/extract-sap-cookies.js.map +1 -1
  163. package/dist/handlers/application-log-input.d.ts +32 -0
  164. package/dist/handlers/application-log-input.d.ts.map +1 -0
  165. package/dist/handlers/application-log-input.js +34 -0
  166. package/dist/handlers/application-log-input.js.map +1 -0
  167. package/dist/handlers/application-log.d.ts +4 -0
  168. package/dist/handlers/application-log.d.ts.map +1 -0
  169. package/dist/handlers/application-log.js +14 -0
  170. package/dist/handlers/application-log.js.map +1 -0
  171. package/dist/handlers/cds-hints.d.ts +1 -1
  172. package/dist/handlers/cds-hints.d.ts.map +1 -1
  173. package/dist/handlers/cds-hints.js +21 -63
  174. package/dist/handlers/cds-hints.js.map +1 -1
  175. package/dist/handlers/context.d.ts.map +1 -1
  176. package/dist/handlers/context.js +7 -3
  177. package/dist/handlers/context.js.map +1 -1
  178. package/dist/handlers/diagnose.d.ts.map +1 -1
  179. package/dist/handlers/diagnose.js +10 -1
  180. package/dist/handlers/diagnose.js.map +1 -1
  181. package/dist/handlers/dispatch.d.ts.map +1 -1
  182. package/dist/handlers/dispatch.js +54 -9
  183. package/dist/handlers/dispatch.js.map +1 -1
  184. package/dist/handlers/dump-filter-inputs.d.ts +38 -0
  185. package/dist/handlers/dump-filter-inputs.d.ts.map +1 -0
  186. package/dist/handlers/dump-filter-inputs.js +44 -0
  187. package/dist/handlers/dump-filter-inputs.js.map +1 -0
  188. package/dist/handlers/expanded-read.d.ts +24 -0
  189. package/dist/handlers/expanded-read.d.ts.map +1 -0
  190. package/dist/handlers/expanded-read.js +56 -0
  191. package/dist/handlers/expanded-read.js.map +1 -0
  192. package/dist/handlers/function-parameter-language.d.ts +5 -0
  193. package/dist/handlers/function-parameter-language.d.ts.map +1 -0
  194. package/dist/handlers/function-parameter-language.js +19 -0
  195. package/dist/handlers/function-parameter-language.js.map +1 -0
  196. package/dist/handlers/function-processing.d.ts +5 -0
  197. package/dist/handlers/function-processing.d.ts.map +1 -1
  198. package/dist/handlers/function-processing.js +5 -0
  199. package/dist/handlers/function-processing.js.map +1 -1
  200. package/dist/handlers/hyperfocused.d.ts.map +1 -1
  201. package/dist/handlers/hyperfocused.js +2 -1
  202. package/dist/handlers/hyperfocused.js.map +1 -1
  203. package/dist/handlers/long-text-input.d.ts +113 -0
  204. package/dist/handlers/long-text-input.d.ts.map +1 -0
  205. package/dist/handlers/long-text-input.js +113 -0
  206. package/dist/handlers/long-text-input.js.map +1 -0
  207. package/dist/handlers/long-text.d.ts +5 -0
  208. package/dist/handlers/long-text.d.ts.map +1 -0
  209. package/dist/handlers/long-text.js +122 -0
  210. package/dist/handlers/long-text.js.map +1 -0
  211. package/dist/handlers/navigate.d.ts.map +1 -1
  212. package/dist/handlers/navigate.js +8 -3
  213. package/dist/handlers/navigate.js.map +1 -1
  214. package/dist/handlers/object-types.d.ts.map +1 -1
  215. package/dist/handlers/object-types.js +7 -4
  216. package/dist/handlers/object-types.js.map +1 -1
  217. package/dist/handlers/query-input.d.ts +50 -0
  218. package/dist/handlers/query-input.d.ts.map +1 -0
  219. package/dist/handlers/query-input.js +59 -0
  220. package/dist/handlers/query-input.js.map +1 -0
  221. package/dist/handlers/query-tool.d.ts +11 -0
  222. package/dist/handlers/query-tool.d.ts.map +1 -0
  223. package/dist/handlers/query-tool.js +99 -0
  224. package/dist/handlers/query-tool.js.map +1 -0
  225. package/dist/handlers/query.d.ts +1 -1
  226. package/dist/handlers/query.d.ts.map +1 -1
  227. package/dist/handlers/query.js +7 -1
  228. package/dist/handlers/query.js.map +1 -1
  229. package/dist/handlers/read.d.ts +1 -0
  230. package/dist/handlers/read.d.ts.map +1 -1
  231. package/dist/handlers/read.js +57 -9
  232. package/dist/handlers/read.js.map +1 -1
  233. package/dist/handlers/schemas.d.ts +17 -4
  234. package/dist/handlers/schemas.d.ts.map +1 -1
  235. package/dist/handlers/schemas.js +51 -9
  236. package/dist/handlers/schemas.js.map +1 -1
  237. package/dist/handlers/syntax.d.ts.map +1 -1
  238. package/dist/handlers/syntax.js +8 -0
  239. package/dist/handlers/syntax.js.map +1 -1
  240. package/dist/handlers/tools.d.ts.map +1 -1
  241. package/dist/handlers/tools.js +72 -70
  242. package/dist/handlers/tools.js.map +1 -1
  243. package/dist/handlers/transport-review.d.ts +5 -0
  244. package/dist/handlers/transport-review.d.ts.map +1 -0
  245. package/dist/handlers/transport-review.js +108 -0
  246. package/dist/handlers/transport-review.js.map +1 -0
  247. package/dist/handlers/transport.d.ts.map +1 -1
  248. package/dist/handlers/transport.js +3 -58
  249. package/dist/handlers/transport.js.map +1 -1
  250. package/dist/handlers/where-used-details.d.ts +28 -0
  251. package/dist/handlers/where-used-details.d.ts.map +1 -0
  252. package/dist/handlers/where-used-details.js +67 -0
  253. package/dist/handlers/where-used-details.js.map +1 -0
  254. package/dist/handlers/where-used.d.ts +8 -3
  255. package/dist/handlers/where-used.d.ts.map +1 -1
  256. package/dist/handlers/where-used.js +40 -18
  257. package/dist/handlers/where-used.js.map +1 -1
  258. package/dist/handlers/write/create.d.ts.map +1 -1
  259. package/dist/handlers/write/create.js +15 -12
  260. package/dist/handlers/write/create.js.map +1 -1
  261. package/dist/handlers/write/update-delete.d.ts.map +1 -1
  262. package/dist/handlers/write/update-delete.js +5 -3
  263. package/dist/handlers/write/update-delete.js.map +1 -1
  264. package/dist/server/audit.d.ts.map +1 -1
  265. package/dist/server/audit.js +49 -2
  266. package/dist/server/audit.js.map +1 -1
  267. package/dist/server/config.d.ts.map +1 -1
  268. package/dist/server/config.js +5 -1
  269. package/dist/server/config.js.map +1 -1
  270. package/dist/server/multi-target-tools.d.ts.map +1 -1
  271. package/dist/server/multi-target-tools.js +8 -7
  272. package/dist/server/multi-target-tools.js.map +1 -1
  273. package/dist/server/server.d.ts.map +1 -1
  274. package/dist/server/server.js +3 -2
  275. package/dist/server/server.js.map +1 -1
  276. package/dist/server/tool-auth.d.ts +1 -1
  277. package/dist/server/tool-auth.d.ts.map +1 -1
  278. package/dist/server/tool-auth.js +24 -4
  279. package/dist/server/tool-auth.js.map +1 -1
  280. package/dist/version.d.ts +1 -1
  281. package/dist/version.js +1 -1
  282. package/package.json +13 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../../src/adt/stored-text/reader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { AdtClient } from '../client.js';
2
+ import type { StoredTextSource } from './types.js';
3
+ /** One request-local budget/admission scope, identity, timeout, and configuration cache. */
4
+ export declare function withStoredTextSession<T>(client: AdtClient, sapClient: string, fn: (source: StoredTextSource) => Promise<T>): Promise<T>;
5
+ //# sourceMappingURL=source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/adt/stored-text/source.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,OAAO,KAAK,EAAoB,gBAAgB,EAA0B,MAAM,YAAY,CAAC;AA2F7F,4FAA4F;AAC5F,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC,GAC3C,OAAO,CAAC,CAAC,CAAC,CAwMZ"}
@@ -0,0 +1,284 @@
1
+ /** Guarded ADT adapter for classic stored text; deliberately has no free-SQL route. */
2
+ import { createHash } from 'node:crypto';
3
+ import { generateRequestId, getCurrentContext, requestContext } from '../../server/context.js';
4
+ import { AdtError, AdtNetworkError } from '../errors.js';
5
+ import { assembleChunks, keyFilters } from './chunks.js';
6
+ import { TextReadError } from './errors.js';
7
+ import { normalizeTextKey as canonicalKey } from './key.js';
8
+ const KEY_FIELDS = ['TDOBJECT', 'TDNAME', 'TDID', 'TDSPRAS'];
9
+ const HEADER_COLUMNS = [
10
+ 'MANDT',
11
+ ...KEY_FIELDS,
12
+ 'TDTITLE',
13
+ 'TDTEXTTYPE',
14
+ 'TDTXTLINES',
15
+ 'TDVERSION',
16
+ 'TDLDATE',
17
+ 'TDLTIME',
18
+ 'TDREF',
19
+ 'TDREFOBJ',
20
+ 'TDREFNAME',
21
+ 'TDREFID',
22
+ ];
23
+ const CLUSTER_COLUMNS = ['MANDT', 'RELID', ...KEY_FIELDS, 'SRTF2', 'CLUSTR', 'CLUSTD'];
24
+ const MAX_REQUESTS = 120;
25
+ const WINDOW_SIZE = 32;
26
+ const COUNTER_COUNT = 256;
27
+ const SESSION_TIMEOUT_MS = 60_000;
28
+ const unpad = (value) => value.replace(/ +$/u, '');
29
+ function invalidKey() {
30
+ throw new TextReadError('INVALID_KEY', 'invalid text key or discovery query');
31
+ }
32
+ function sameKey(left, right) {
33
+ return KEY_FIELDS.every((field) => left[field] === right[field]);
34
+ }
35
+ function corrupt(message) {
36
+ throw new TextReadError('CORRUPT_CLUSTER', message);
37
+ }
38
+ function cell(row, field) {
39
+ if (typeof row[field] !== 'string')
40
+ corrupt('missing or malformed stored metadata');
41
+ return row[field];
42
+ }
43
+ function integer(row, field) {
44
+ const value = cell(row, field);
45
+ if (!/^\d+ *$/u.test(value) || !Number.isSafeInteger(Number(value)))
46
+ corrupt('invalid stored metadata integer');
47
+ return Number(value);
48
+ }
49
+ function rowKey(row) {
50
+ try {
51
+ return canonicalKey(Object.fromEntries(KEY_FIELDS.map((field) => [field, cell(row, field)])));
52
+ }
53
+ catch {
54
+ return corrupt('invalid stored text identity');
55
+ }
56
+ }
57
+ function parseHeader(row, sapClient, expected) {
58
+ // Require all selected fields, including empty reference fields and the blank ITF text type.
59
+ for (const field of HEADER_COLUMNS)
60
+ cell(row, field);
61
+ const key = rowKey(row);
62
+ if (unpad(row.MANDT) !== sapClient || (expected && !sameKey(key, expected)))
63
+ corrupt('header identity mismatch');
64
+ const modifiedDate = unpad(row.TDLDATE);
65
+ const modifiedTime = unpad(row.TDLTIME);
66
+ if (!/^\d{8}$/u.test(modifiedDate) || !/^\d{6}$/u.test(modifiedTime))
67
+ corrupt('invalid stored modification metadata');
68
+ const referenceFlag = unpad(row.TDREF);
69
+ if (referenceFlag !== '' && referenceFlag !== 'X')
70
+ corrupt('invalid stored reference flag');
71
+ let reference;
72
+ const referenceParts = ['TDREFOBJ', 'TDREFNAME', 'TDREFID'].map((field) => unpad(row[field]));
73
+ if (referenceFlag === 'X' && referenceParts.every(Boolean)) {
74
+ try {
75
+ reference = canonicalKey({
76
+ TDOBJECT: referenceParts[0],
77
+ TDNAME: referenceParts[1],
78
+ TDID: referenceParts[2],
79
+ TDSPRAS: key.TDSPRAS,
80
+ });
81
+ }
82
+ catch {
83
+ throw new TextReadError('REFERENCE_ERROR', 'invalid stored reference target');
84
+ }
85
+ }
86
+ return {
87
+ key,
88
+ title: row.TDTITLE,
89
+ textType: row.TDTEXTTYPE,
90
+ storedLineCount: integer(row, 'TDTXTLINES'),
91
+ version: integer(row, 'TDVERSION'),
92
+ modifiedDate,
93
+ modifiedTime,
94
+ reference,
95
+ legacyReference: referenceFlag === 'X' && !reference,
96
+ revision: createHash('sha256')
97
+ .update(JSON.stringify(HEADER_COLUMNS.map((field) => row[field])))
98
+ .digest('hex'),
99
+ };
100
+ }
101
+ /** One request-local budget/admission scope, identity, timeout, and configuration cache. */
102
+ export async function withStoredTextSession(client, sapClient, fn) {
103
+ if (!/^\d{3}$/u.test(sapClient))
104
+ invalidKey();
105
+ const inherited = getCurrentContext();
106
+ const scope = inherited?.dataResultScope ?? client.createDataResultScope();
107
+ const timeout = AbortSignal.timeout(SESSION_TIMEOUT_MS);
108
+ const signal = inherited?.signal ? AbortSignal.any([inherited.signal, timeout]) : timeout;
109
+ const context = {
110
+ ...inherited,
111
+ requestId: inherited?.requestId ?? generateRequestId(),
112
+ signal,
113
+ dataResultScope: scope,
114
+ };
115
+ let requests = 0;
116
+ let closed = false;
117
+ const config = new Map();
118
+ const checkSession = () => {
119
+ if (closed || signal.aborted)
120
+ throw new TextReadError('LIMIT_EXCEEDED', 'stored-text session ended or was cancelled');
121
+ };
122
+ async function query(table, opts) {
123
+ checkSession();
124
+ if (requests >= MAX_REQUESTS)
125
+ throw new TextReadError('LIMIT_EXCEEDED', 'stored-text query request limit exceeded');
126
+ requests++;
127
+ try {
128
+ const result = await client.runTableQuery(table, { ...opts, preserveLiteralSpaces: true });
129
+ checkSession();
130
+ if (!Array.isArray(result.rows) || result.rows.length > (opts.maxRows ?? 100))
131
+ corrupt('invalid query row count');
132
+ if (result.rows.some((row) => !row ||
133
+ typeof row !== 'object' ||
134
+ Array.isArray(row) ||
135
+ Object.values(row).some((value) => typeof value !== 'string')))
136
+ corrupt('malformed stored query row');
137
+ return result.rows;
138
+ }
139
+ catch (error) {
140
+ checkSession();
141
+ if (error instanceof TextReadError)
142
+ throw error;
143
+ if (error instanceof AdtError)
144
+ throw error;
145
+ throw new AdtNetworkError('stored-text query failed');
146
+ }
147
+ }
148
+ async function configuration(table, columns, where) {
149
+ const cacheKey = JSON.stringify([table, where]);
150
+ let pending = config.get(cacheKey);
151
+ if (!pending) {
152
+ pending = query(table, { columns, where, maxRows: 2 }).then((rows) => {
153
+ if (rows.length === 0)
154
+ throw new TextReadError('INVALID_KEY', 'text object, ID, or language is not configured');
155
+ if (rows.length !== 1)
156
+ throw new TextReadError('UNSUPPORTED_PERSISTENCE', 'required text configuration is absent or ambiguous');
157
+ for (const field of columns) {
158
+ if (typeof rows[0][field] !== 'string')
159
+ throw new TextReadError('UNSUPPORTED_PERSISTENCE', 'required text configuration metadata is unavailable');
160
+ }
161
+ return rows[0];
162
+ });
163
+ config.set(cacheKey, pending);
164
+ }
165
+ return pending;
166
+ }
167
+ const source = {
168
+ async assertSupportedKey(requested) {
169
+ checkSession();
170
+ const key = canonicalKey(requested);
171
+ const object = await configuration('TTXOB', ['TDOBJECT', 'HANDLER_CLASS'], [{ field: 'TDOBJECT', op: '=', value: key.TDOBJECT }]);
172
+ const id = await configuration('TTXID', ['TDOBJECT', 'TDID', 'HANDLER_CLASS'], [
173
+ { field: 'TDOBJECT', op: '=', value: key.TDOBJECT },
174
+ { field: 'TDID', op: '=', value: key.TDID },
175
+ ]);
176
+ const language = await configuration('T002', ['SPRAS'], [{ field: 'SPRAS', op: '=', value: key.TDSPRAS }]);
177
+ if (unpad(object.TDOBJECT) !== key.TDOBJECT ||
178
+ unpad(id.TDOBJECT) !== key.TDOBJECT ||
179
+ unpad(id.TDID) !== key.TDID ||
180
+ unpad(language.SPRAS) !== key.TDSPRAS)
181
+ throw new TextReadError('UNSUPPORTED_PERSISTENCE', 'text configuration identity mismatch');
182
+ const handler = unpad(id.HANDLER_CLASS) || unpad(object.HANDLER_CLASS) || 'CL_RSTXT_DEFAULT_PERSISTENCE';
183
+ if (handler !== 'CL_RSTXT_DEFAULT_PERSISTENCE')
184
+ throw new TextReadError('UNSUPPORTED_PERSISTENCE', 'text uses an unsupported persistence handler');
185
+ },
186
+ async readHeader(requested) {
187
+ const key = canonicalKey(requested);
188
+ const rows = await query('STXH', { columns: HEADER_COLUMNS, where: keyFilters(key), maxRows: 2 });
189
+ if (rows.length > 1)
190
+ corrupt('duplicate stored text headers');
191
+ return rows.length ? parseHeader(rows[0], sapClient, key) : undefined;
192
+ },
193
+ async readCluster(requested) {
194
+ const key = canonicalKey(requested);
195
+ const chunks = [];
196
+ for (let start = 0; start < COUNTER_COUNT; start += WINDOW_SIZE) {
197
+ const rows = await query('STXL', {
198
+ columns: CLUSTER_COLUMNS,
199
+ where: [
200
+ { field: 'RELID', op: '=', value: 'TX' },
201
+ ...keyFilters(key),
202
+ { field: 'SRTF2', op: '>=', value: String(start) },
203
+ { field: 'SRTF2', op: '<', value: String(start + WINDOW_SIZE) },
204
+ ],
205
+ maxRows: WINDOW_SIZE + 1,
206
+ });
207
+ if (start === 0 && rows.length === 0)
208
+ return undefined;
209
+ if (rows.length > WINDOW_SIZE ||
210
+ rows.some((row) => {
211
+ const index = integer(row, 'SRTF2');
212
+ return index < start || index >= start + WINDOW_SIZE;
213
+ }))
214
+ corrupt('invalid chunk window');
215
+ chunks.push(...rows.map((row) => Object.fromEntries(Object.entries(row).map(([field, value]) => [
216
+ field,
217
+ ['MANDT', 'RELID', ...KEY_FIELDS].includes(field) ? unpad(cell(row, field)) : value,
218
+ ]))));
219
+ if (rows.length < WINDOW_SIZE || start + WINDOW_SIZE === COUNTER_COUNT) {
220
+ try {
221
+ return assembleChunks(chunks, key, sapClient);
222
+ }
223
+ catch {
224
+ return corrupt('invalid stored chunk identity, length, or sequence');
225
+ }
226
+ }
227
+ }
228
+ throw new TextReadError('LIMIT_EXCEEDED', 'stored-text chunk request limit exceeded');
229
+ },
230
+ async discover(input) {
231
+ // A prefix is not a fixed-width identity: even a nonempty spaces-only prefix is meaningful.
232
+ if (!input ||
233
+ typeof input.namePrefix !== 'string' ||
234
+ input.namePrefix.length < 1 ||
235
+ input.namePrefix.length > 70 ||
236
+ /\p{Surrogate}/u.test(input.namePrefix) ||
237
+ Array.from(input.namePrefix).some((char) => char.charCodeAt(0) < 32 || char.charCodeAt(0) === 127))
238
+ invalidKey();
239
+ const probe = canonicalKey({
240
+ TDOBJECT: input.object,
241
+ TDNAME: 'DISCOVERY',
242
+ TDID: input.id === undefined ? 'ST' : input.id,
243
+ TDSPRAS: input.language === undefined ? 'E' : input.language,
244
+ });
245
+ const limit = input.limit === undefined ? 20 : input.limit;
246
+ if (!Number.isSafeInteger(limit) || limit < 1 || limit > 50)
247
+ invalidKey();
248
+ // Prefix whitespace is meaningful even though fixed-width exact identities ignore padding.
249
+ probe.TDNAME = input.namePrefix;
250
+ const where = [
251
+ { field: 'TDOBJECT', op: '=', value: probe.TDOBJECT },
252
+ { field: 'TDNAME', op: 'STARTS_WITH', value: probe.TDNAME },
253
+ ...(input.id === undefined ? [] : [{ field: 'TDID', op: '=', value: probe.TDID }]),
254
+ ...(input.language === undefined ? [] : [{ field: 'TDSPRAS', op: '=', value: probe.TDSPRAS }]),
255
+ ];
256
+ const rows = await query('STXH', { columns: HEADER_COLUMNS, where, maxRows: limit + 1 });
257
+ const headers = rows.map((row) => parseHeader(row, sapClient));
258
+ if (new Set(headers.map(({ key }) => JSON.stringify(KEY_FIELDS.map((field) => key[field])))).size !== headers.length)
259
+ corrupt('duplicate discovered text identity');
260
+ if (headers.some(({ key }) => key.TDOBJECT !== probe.TDOBJECT ||
261
+ !key.TDNAME.startsWith(probe.TDNAME) ||
262
+ (input.id !== undefined && key.TDID !== probe.TDID) ||
263
+ (input.language !== undefined && key.TDSPRAS !== probe.TDSPRAS)))
264
+ corrupt('discovery identity mismatch');
265
+ headers.sort((a, b) => {
266
+ const left = JSON.stringify(KEY_FIELDS.map((field) => a.key[field]));
267
+ const right = JSON.stringify(KEY_FIELDS.map((field) => b.key[field]));
268
+ return left < right ? -1 : left > right ? 1 : 0;
269
+ });
270
+ return { headers: headers.slice(0, limit), more: rows.length > limit };
271
+ },
272
+ };
273
+ try {
274
+ const result = await requestContext.run(context, () => fn(source));
275
+ checkSession();
276
+ return result;
277
+ }
278
+ finally {
279
+ closed = true;
280
+ if (!inherited?.dataResultScope)
281
+ scope.release();
282
+ }
283
+ }
284
+ //# sourceMappingURL=source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/adt/stored-text/source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ export interface TextKey {
2
+ TDOBJECT: string;
3
+ TDNAME: string;
4
+ TDID: string;
5
+ TDSPRAS: string;
6
+ }
7
+ /** Selected classic STXH metadata; deliberately not a synthesized READ_TEXT THEAD. */
8
+ export interface StoredTextHeader {
9
+ key: TextKey;
10
+ title: string;
11
+ textType: string;
12
+ storedLineCount: number;
13
+ version: number;
14
+ modifiedDate: string;
15
+ modifiedTime: string;
16
+ reference?: TextKey;
17
+ legacyReference: boolean;
18
+ /** Hash of the selected stored metadata, used only for change detection. */
19
+ revision: string;
20
+ }
21
+ export interface TextDiscovery {
22
+ object: string;
23
+ namePrefix: string;
24
+ id?: string;
25
+ language?: string;
26
+ limit?: number;
27
+ }
28
+ /** Narrow data boundary: the orchestration never builds SQL or handles credentials. */
29
+ export interface StoredTextSource {
30
+ assertSupportedKey(key: TextKey): Promise<void>;
31
+ readHeader(key: TextKey): Promise<StoredTextHeader | undefined>;
32
+ readCluster(key: TextKey): Promise<Buffer | undefined>;
33
+ discover(query: TextDiscovery): Promise<{
34
+ headers: StoredTextHeader[];
35
+ more: boolean;
36
+ }>;
37
+ }
38
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adt/stored-text/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,sFAAsF;AACtF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,uFAAuF;AACvF,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAChE,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACvD,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACzF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adt/stored-text/types.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"structure-hierarchy.d.ts","sourceRoot":"","sources":["../../src/adt/structure-hierarchy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAoB,MAAM,aAAa,CAAC;AAIlF,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,KAAK,wBAAwB,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,sBAAsB,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;AAKxG,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,EAAE,CA+B9E;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,wBAAwB,EAChC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACvG,OAAO,CAAC,wBAAwB,CAAC,CA+EnC"}
1
+ {"version":3,"file":"structure-hierarchy.d.ts","sourceRoot":"","sources":["../../src/adt/structure-hierarchy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAoB,MAAM,aAAa,CAAC;AAIlF,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,KAAK,wBAAwB,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,sBAAsB,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;AAMxG,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,EAAE,CA+B9E;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,wBAAwB,EAChC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACvG,OAAO,CAAC,wBAAwB,CAAC,CA+EnC"}
@@ -1,6 +1,7 @@
1
- import { findWhereUsed, getWhereUsedScope } from './codeintel.js';
1
+ import { findWhereUsed } from './codeintel.js';
2
2
  import { AdtApiError, isNotFoundError } from './errors.js';
3
3
  const DEFAULT_MAX_DEPTH = 10;
4
+ const MAX_APPEND_CANDIDATES = 50;
4
5
  const WHERE_USED_UNAVAILABLE_STATUSES = new Set([400, 404, 405, 415, 501]);
5
6
  export function parseEmbeddedStructures(source) {
6
7
  const refs = [];
@@ -106,46 +107,29 @@ async function findExtensionRefs(client, baseName, readSource, warnings, disable
106
107
  const candidate = normalizeStructureName(result.name);
107
108
  if (!candidate || candidate === baseName)
108
109
  continue;
109
- if (!/^TABL\//i.test(result.type))
110
+ if (result.type.toUpperCase() !== 'TABL/DS' || result.isResult === false)
110
111
  continue;
111
112
  candidates.add(candidate);
112
113
  }
113
114
  };
114
- let scopedTypes;
115
- try {
116
- const scope = await getWhereUsedScope(client.http, client.safety, baseObjectUrl);
117
- scopedTypes = Array.from(new Set(scope.entries
118
- .filter((entry) => entry.count > 0 && /^TABL\//i.test(entry.objectType))
119
- .map((entry) => entry.objectType)));
120
- for (const objectType of scopedTypes) {
121
- try {
122
- collectCandidates(await findWhereUsed(client.http, client.safety, baseObjectUrl, objectType));
123
- }
124
- catch (err) {
125
- if (isUnavailableWhereUsedError(err))
126
- continue;
127
- throw err;
128
- }
129
- }
130
- }
131
- catch (err) {
132
- if (!isUnavailableWhereUsedError(err))
133
- throw err;
134
- warnings.push(`Where-used scope endpoint unavailable for ${baseName}; append structure discovery may be incomplete.`);
135
- disableAppendDiscovery();
136
- return [];
137
- }
138
115
  try {
139
116
  collectCandidates(await findWhereUsed(client.http, client.safety, baseObjectUrl));
140
117
  }
141
118
  catch (err) {
142
119
  if (isUnavailableWhereUsedError(err)) {
143
- warnings.push(`Where-used endpoint unavailable for ${baseName}; append structures were not resolved.`);
120
+ warnings.push(`Where-used endpoint unavailable for ${baseName}; append discovery was skipped for the rest of the tree.`);
121
+ disableAppendDiscovery();
144
122
  }
145
123
  else {
146
124
  throw err;
147
125
  }
148
126
  }
127
+ // Every candidate needs a source read; large where-used lists otherwise fan out into thousands of requests.
128
+ if (candidates.size > MAX_APPEND_CANDIDATES) {
129
+ warnings.push(`Where-used returned ${candidates.size} structure candidates for ${baseName}, exceeding the append scan limit of ${MAX_APPEND_CANDIDATES}; append discovery was skipped for the rest of the tree.`);
130
+ disableAppendDiscovery();
131
+ return [];
132
+ }
149
133
  const extendRe = new RegExp(`extend\\s+type\\s+${escapeRegExp(baseName)}\\s+with`, 'i');
150
134
  const refs = [];
151
135
  for (const candidate of [...candidates].sort()) {
@@ -1 +1 @@
1
- {"version":3,"file":"structure-hierarchy.js","sourceRoot":"","sources":["../../src/adt/structure-hierarchy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structure-hierarchy.js","sourceRoot":"","sources":["../../src/adt/structure-hierarchy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import type { AdtHttpClient } from './http.js';
2
+ import { type SafetyConfig } from './safety.js';
3
+ export declare const SYNTAX_BATCH_TYPES: readonly ['CLAS', 'INTF', 'PROG', 'DDLS'];
4
+ export declare const SYNTAX_BATCH_MAX_OBJECTS = 20;
5
+ export interface SyntaxBatchObject {
6
+ type: string;
7
+ name: string;
8
+ uri: string;
9
+ }
10
+ export declare function parseSyntaxBatch(xml: string, objects: SyntaxBatchObject[], version: 'active' | 'inactive'): {
11
+ status: string;
12
+ checkedAt: string;
13
+ requestedVersion: "active" | "inactive";
14
+ sourceEvidence: string;
15
+ requestedObjectCount: number;
16
+ checkedObjectCount: number;
17
+ unexpectedReports: {
18
+ reporter: string;
19
+ uri: string;
20
+ status: string;
21
+ }[];
22
+ unattributedMessages: {
23
+ type: string;
24
+ text: string;
25
+ }[];
26
+ results: {
27
+ type: string;
28
+ name: string;
29
+ uri: string;
30
+ status: string;
31
+ checked: boolean;
32
+ hasErrors: boolean;
33
+ messages: import("./types.js").SyntaxMessage[];
34
+ statusText?: string | undefined;
35
+ note?: string | undefined;
36
+ }[];
37
+ };
38
+ export declare function syntaxCheckBatch(http: AdtHttpClient, safety: SafetyConfig, objects: SyntaxBatchObject[], version: 'active' | 'inactive'): Promise<{
39
+ status: string;
40
+ checkedAt: string;
41
+ requestedVersion: "active" | "inactive";
42
+ sourceEvidence: string;
43
+ requestedObjectCount: number;
44
+ checkedObjectCount: number;
45
+ unexpectedReports: {
46
+ reporter: string;
47
+ uri: string;
48
+ status: string;
49
+ }[];
50
+ unattributedMessages: {
51
+ type: string;
52
+ text: string;
53
+ }[];
54
+ results: {
55
+ type: string;
56
+ name: string;
57
+ uri: string;
58
+ status: string;
59
+ checked: boolean;
60
+ hasErrors: boolean;
61
+ messages: import("./types.js").SyntaxMessage[];
62
+ statusText?: string | undefined;
63
+ note?: string | undefined;
64
+ }[];
65
+ }>;
66
+ //# sourceMappingURL=syntax-batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syntax-batch.d.ts","sourceRoot":"","sources":["../../src/adt/syntax-batch.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAG/E,eAAO,MAAM,kBAAkB,YAAI,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAC5E,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AA2BD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,QAAQ,GAAG,UAAU;;;;;;;;;;;;;;;;;cA9BlG,MAAM;cACN,MAAM;aACP,MAAM;;;;;;;;EA+FZ;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,iBAAiB,EAAE,EAC5B,OAAO,EAAE,QAAQ,GAAG,UAAU;;;;;;;;;;;;;;;;;cAvGxB,MAAM;cACN,MAAM;aACP,MAAM;;;;;;;;GA2HZ"}