arc-1 1.6.0 → 1.8.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 (411) hide show
  1. package/README.md +26 -18
  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/aunit-package.d.ts.map +1 -1
  7. package/dist/adt/aunit-package.js +9 -1
  8. package/dist/adt/aunit-package.js.map +1 -1
  9. package/dist/adt/ci-quality.d.ts.map +1 -1
  10. package/dist/adt/ci-quality.js +1 -1
  11. package/dist/adt/ci-quality.js.map +1 -1
  12. package/dist/adt/class-structure.d.ts +2 -1
  13. package/dist/adt/class-structure.d.ts.map +1 -1
  14. package/dist/adt/class-structure.js +28 -10
  15. package/dist/adt/class-structure.js.map +1 -1
  16. package/dist/adt/client.d.ts +27 -9
  17. package/dist/adt/client.d.ts.map +1 -1
  18. package/dist/adt/client.js +23 -16
  19. package/dist/adt/client.js.map +1 -1
  20. package/dist/adt/codeintel.d.ts +9 -23
  21. package/dist/adt/codeintel.d.ts.map +1 -1
  22. package/dist/adt/codeintel.js +14 -34
  23. package/dist/adt/codeintel.js.map +1 -1
  24. package/dist/adt/crud.d.ts +3 -2
  25. package/dist/adt/crud.d.ts.map +1 -1
  26. package/dist/adt/crud.js +13 -3
  27. package/dist/adt/crud.js.map +1 -1
  28. package/dist/adt/devtools.d.ts +21 -7
  29. package/dist/adt/devtools.d.ts.map +1 -1
  30. package/dist/adt/devtools.js +98 -44
  31. package/dist/adt/devtools.js.map +1 -1
  32. package/dist/adt/diagnostics.d.ts +2 -0
  33. package/dist/adt/diagnostics.d.ts.map +1 -1
  34. package/dist/adt/diagnostics.js +12 -10
  35. package/dist/adt/diagnostics.js.map +1 -1
  36. package/dist/adt/errors.d.ts +5 -1
  37. package/dist/adt/errors.d.ts.map +1 -1
  38. package/dist/adt/errors.js +26 -0
  39. package/dist/adt/errors.js.map +1 -1
  40. package/dist/adt/feed-schema.d.ts +32 -0
  41. package/dist/adt/feed-schema.d.ts.map +1 -0
  42. package/dist/adt/feed-schema.js +123 -0
  43. package/dist/adt/feed-schema.js.map +1 -0
  44. package/dist/adt/fm-parameter-docs.d.ts +7 -0
  45. package/dist/adt/fm-parameter-docs.d.ts.map +1 -0
  46. package/dist/adt/fm-parameter-docs.js +134 -0
  47. package/dist/adt/fm-parameter-docs.js.map +1 -0
  48. package/dist/adt/fm-signature.d.ts +8 -1
  49. package/dist/adt/fm-signature.d.ts.map +1 -1
  50. package/dist/adt/fm-signature.js +37 -28
  51. package/dist/adt/fm-signature.js.map +1 -1
  52. package/dist/adt/http-deadline.d.ts +2 -0
  53. package/dist/adt/http-deadline.d.ts.map +1 -1
  54. package/dist/adt/http-deadline.js +4 -1
  55. package/dist/adt/http-deadline.js.map +1 -1
  56. package/dist/adt/http-retry-after.d.ts +20 -0
  57. package/dist/adt/http-retry-after.d.ts.map +1 -0
  58. package/dist/adt/http-retry-after.js +37 -0
  59. package/dist/adt/http-retry-after.js.map +1 -0
  60. package/dist/adt/http.d.ts +11 -20
  61. package/dist/adt/http.d.ts.map +1 -1
  62. package/dist/adt/http.js +104 -90
  63. package/dist/adt/http.js.map +1 -1
  64. package/dist/adt/include-expansion.d.ts +143 -0
  65. package/dist/adt/include-expansion.d.ts.map +1 -0
  66. package/dist/adt/include-expansion.js +475 -0
  67. package/dist/adt/include-expansion.js.map +1 -0
  68. package/dist/adt/internal-data-operations.d.ts +3 -3
  69. package/dist/adt/internal-data-operations.d.ts.map +1 -1
  70. package/dist/adt/internal-data-operations.js +9 -2
  71. package/dist/adt/internal-data-operations.js.map +1 -1
  72. package/dist/adt/package-browser.d.ts +23 -0
  73. package/dist/adt/package-browser.d.ts.map +1 -0
  74. package/dist/adt/package-browser.js +139 -0
  75. package/dist/adt/package-browser.js.map +1 -0
  76. package/dist/adt/package-contents.d.ts +2 -0
  77. package/dist/adt/package-contents.d.ts.map +1 -1
  78. package/dist/adt/package-contents.js +3 -1
  79. package/dist/adt/package-contents.js.map +1 -1
  80. package/dist/adt/pinned-write-policy.d.ts +15 -0
  81. package/dist/adt/pinned-write-policy.d.ts.map +1 -0
  82. package/dist/adt/pinned-write-policy.js +111 -0
  83. package/dist/adt/pinned-write-policy.js.map +1 -0
  84. package/dist/adt/revision-feed.d.ts +8 -0
  85. package/dist/adt/revision-feed.d.ts.map +1 -0
  86. package/dist/adt/revision-feed.js +108 -0
  87. package/dist/adt/revision-feed.js.map +1 -0
  88. package/dist/adt/safety.d.ts +11 -0
  89. package/dist/adt/safety.d.ts.map +1 -1
  90. package/dist/adt/safety.js +18 -2
  91. package/dist/adt/safety.js.map +1 -1
  92. package/dist/adt/security-session-gate.d.ts +23 -0
  93. package/dist/adt/security-session-gate.d.ts.map +1 -0
  94. package/dist/adt/security-session-gate.js +56 -0
  95. package/dist/adt/security-session-gate.js.map +1 -0
  96. package/dist/adt/source-diff.d.ts +4 -1
  97. package/dist/adt/source-diff.d.ts.map +1 -1
  98. package/dist/adt/source-diff.js +5 -3
  99. package/dist/adt/source-diff.js.map +1 -1
  100. package/dist/adt/stored-text/chunks.d.ts +8 -0
  101. package/dist/adt/stored-text/chunks.d.ts.map +1 -0
  102. package/dist/adt/stored-text/chunks.js +55 -0
  103. package/dist/adt/stored-text/chunks.js.map +1 -0
  104. package/dist/adt/stored-text/decoder.d.ts +31 -0
  105. package/dist/adt/stored-text/decoder.d.ts.map +1 -0
  106. package/dist/adt/stored-text/decoder.js +319 -0
  107. package/dist/adt/stored-text/decoder.js.map +1 -0
  108. package/dist/adt/stored-text/errors.d.ts +10 -0
  109. package/dist/adt/stored-text/errors.d.ts.map +1 -0
  110. package/dist/adt/stored-text/errors.js +10 -0
  111. package/dist/adt/stored-text/errors.js.map +1 -0
  112. package/dist/adt/stored-text/index.d.ts +7 -0
  113. package/dist/adt/stored-text/index.d.ts.map +1 -0
  114. package/dist/adt/stored-text/index.js +6 -0
  115. package/dist/adt/stored-text/index.js.map +1 -0
  116. package/dist/adt/stored-text/key.d.ts +3 -0
  117. package/dist/adt/stored-text/key.d.ts.map +1 -0
  118. package/dist/adt/stored-text/key.js +23 -0
  119. package/dist/adt/stored-text/key.js.map +1 -0
  120. package/dist/adt/stored-text/reader.d.ts +52 -0
  121. package/dist/adt/stored-text/reader.d.ts.map +1 -0
  122. package/dist/adt/stored-text/reader.js +142 -0
  123. package/dist/adt/stored-text/reader.js.map +1 -0
  124. package/dist/adt/stored-text/source.d.ts +5 -0
  125. package/dist/adt/stored-text/source.d.ts.map +1 -0
  126. package/dist/adt/stored-text/source.js +284 -0
  127. package/dist/adt/stored-text/source.js.map +1 -0
  128. package/dist/adt/stored-text/types.d.ts +38 -0
  129. package/dist/adt/stored-text/types.d.ts.map +1 -0
  130. package/dist/adt/stored-text/types.js +2 -0
  131. package/dist/adt/stored-text/types.js.map +1 -0
  132. package/dist/adt/structure-hierarchy.d.ts.map +1 -1
  133. package/dist/adt/structure-hierarchy.js +11 -27
  134. package/dist/adt/structure-hierarchy.js.map +1 -1
  135. package/dist/adt/syntax-batch.d.ts +66 -0
  136. package/dist/adt/syntax-batch.d.ts.map +1 -0
  137. package/dist/adt/syntax-batch.js +115 -0
  138. package/dist/adt/syntax-batch.js.map +1 -0
  139. package/dist/adt/table-query.d.ts +3 -1
  140. package/dist/adt/table-query.d.ts.map +1 -1
  141. package/dist/adt/table-query.js +32 -4
  142. package/dist/adt/table-query.js.map +1 -1
  143. package/dist/adt/table-settings.d.ts +3 -0
  144. package/dist/adt/table-settings.d.ts.map +1 -1
  145. package/dist/adt/table-settings.js +11 -1
  146. package/dist/adt/table-settings.js.map +1 -1
  147. package/dist/adt/text-elements.js +1 -1
  148. package/dist/adt/text-elements.js.map +1 -1
  149. package/dist/adt/transport-diff.d.ts +16 -25
  150. package/dist/adt/transport-diff.d.ts.map +1 -1
  151. package/dist/adt/transport-diff.js +201 -103
  152. package/dist/adt/transport-diff.js.map +1 -1
  153. package/dist/adt/transport-locks.d.ts +7 -0
  154. package/dist/adt/transport-locks.d.ts.map +1 -0
  155. package/dist/adt/transport-locks.js +56 -0
  156. package/dist/adt/transport-locks.js.map +1 -0
  157. package/dist/adt/transport-review-budget.d.ts +15 -0
  158. package/dist/adt/transport-review-budget.d.ts.map +1 -0
  159. package/dist/adt/transport-review-budget.js +57 -0
  160. package/dist/adt/transport-review-budget.js.map +1 -0
  161. package/dist/adt/transport.d.ts +5 -2
  162. package/dist/adt/transport.d.ts.map +1 -1
  163. package/dist/adt/transport.js +8 -46
  164. package/dist/adt/transport.js.map +1 -1
  165. package/dist/adt/types.d.ts +1 -0
  166. package/dist/adt/types.d.ts.map +1 -1
  167. package/dist/adt/user-agent.d.ts +1 -1
  168. package/dist/adt/where-used-native.d.ts +22 -0
  169. package/dist/adt/where-used-native.d.ts.map +1 -0
  170. package/dist/adt/where-used-native.js +111 -0
  171. package/dist/adt/where-used-native.js.map +1 -0
  172. package/dist/adt/xml-parser.d.ts +2 -3
  173. package/dist/adt/xml-parser.d.ts.map +1 -1
  174. package/dist/adt/xml-parser.js +1 -91
  175. package/dist/adt/xml-parser.js.map +1 -1
  176. package/dist/aff/validator.d.ts.map +1 -1
  177. package/dist/aff/validator.js +8 -2
  178. package/dist/aff/validator.js.map +1 -1
  179. package/dist/authz/policy.d.ts.map +1 -1
  180. package/dist/authz/policy.js +10 -2
  181. package/dist/authz/policy.js.map +1 -1
  182. package/dist/cache/sqlite-driver.d.ts +24 -0
  183. package/dist/cache/sqlite-driver.d.ts.map +1 -0
  184. package/dist/cache/sqlite-driver.js +59 -0
  185. package/dist/cache/sqlite-driver.js.map +1 -0
  186. package/dist/cache/sqlite.d.ts +4 -2
  187. package/dist/cache/sqlite.d.ts.map +1 -1
  188. package/dist/cache/sqlite.js +5 -4
  189. package/dist/cache/sqlite.js.map +1 -1
  190. package/dist/cli-ide.d.ts +11 -0
  191. package/dist/cli-ide.d.ts.map +1 -0
  192. package/dist/cli-ide.js +69 -0
  193. package/dist/cli-ide.js.map +1 -0
  194. package/dist/cli.d.ts.map +1 -1
  195. package/dist/cli.js +9 -2
  196. package/dist/cli.js.map +1 -1
  197. package/dist/context/grep.d.ts +2 -0
  198. package/dist/context/grep.d.ts.map +1 -1
  199. package/dist/context/grep.js +8 -7
  200. package/dist/context/grep.js.map +1 -1
  201. package/dist/extract-sap-cookies.js +1 -0
  202. package/dist/extract-sap-cookies.js.map +1 -1
  203. package/dist/handlers/activate.d.ts.map +1 -1
  204. package/dist/handlers/activate.js +3 -0
  205. package/dist/handlers/activate.js.map +1 -1
  206. package/dist/handlers/application-log-input.d.ts +32 -0
  207. package/dist/handlers/application-log-input.d.ts.map +1 -0
  208. package/dist/handlers/application-log-input.js +34 -0
  209. package/dist/handlers/application-log-input.js.map +1 -0
  210. package/dist/handlers/application-log.d.ts +4 -0
  211. package/dist/handlers/application-log.d.ts.map +1 -0
  212. package/dist/handlers/application-log.js +14 -0
  213. package/dist/handlers/application-log.js.map +1 -0
  214. package/dist/handlers/cds-hints.d.ts +1 -1
  215. package/dist/handlers/cds-hints.d.ts.map +1 -1
  216. package/dist/handlers/cds-hints.js +21 -63
  217. package/dist/handlers/cds-hints.js.map +1 -1
  218. package/dist/handlers/context.d.ts.map +1 -1
  219. package/dist/handlers/context.js +7 -3
  220. package/dist/handlers/context.js.map +1 -1
  221. package/dist/handlers/diagnose.d.ts.map +1 -1
  222. package/dist/handlers/diagnose.js +10 -1
  223. package/dist/handlers/diagnose.js.map +1 -1
  224. package/dist/handlers/dispatch.d.ts +2 -1
  225. package/dist/handlers/dispatch.d.ts.map +1 -1
  226. package/dist/handlers/dispatch.js +63 -12
  227. package/dist/handlers/dispatch.js.map +1 -1
  228. package/dist/handlers/dump-filter-inputs.d.ts +38 -0
  229. package/dist/handlers/dump-filter-inputs.d.ts.map +1 -0
  230. package/dist/handlers/dump-filter-inputs.js +44 -0
  231. package/dist/handlers/dump-filter-inputs.js.map +1 -0
  232. package/dist/handlers/expanded-read.d.ts +24 -0
  233. package/dist/handlers/expanded-read.d.ts.map +1 -0
  234. package/dist/handlers/expanded-read.js +56 -0
  235. package/dist/handlers/expanded-read.js.map +1 -0
  236. package/dist/handlers/function-parameter-language.d.ts +5 -0
  237. package/dist/handlers/function-parameter-language.d.ts.map +1 -0
  238. package/dist/handlers/function-parameter-language.js +19 -0
  239. package/dist/handlers/function-parameter-language.js.map +1 -0
  240. package/dist/handlers/function-processing.d.ts +5 -0
  241. package/dist/handlers/function-processing.d.ts.map +1 -1
  242. package/dist/handlers/function-processing.js +5 -0
  243. package/dist/handlers/function-processing.js.map +1 -1
  244. package/dist/handlers/hyperfocused.d.ts.map +1 -1
  245. package/dist/handlers/hyperfocused.js +2 -1
  246. package/dist/handlers/hyperfocused.js.map +1 -1
  247. package/dist/handlers/long-text-input.d.ts +113 -0
  248. package/dist/handlers/long-text-input.d.ts.map +1 -0
  249. package/dist/handlers/long-text-input.js +113 -0
  250. package/dist/handlers/long-text-input.js.map +1 -0
  251. package/dist/handlers/long-text.d.ts +5 -0
  252. package/dist/handlers/long-text.d.ts.map +1 -0
  253. package/dist/handlers/long-text.js +122 -0
  254. package/dist/handlers/long-text.js.map +1 -0
  255. package/dist/handlers/navigate.d.ts.map +1 -1
  256. package/dist/handlers/navigate.js +8 -3
  257. package/dist/handlers/navigate.js.map +1 -1
  258. package/dist/handlers/object-types.d.ts.map +1 -1
  259. package/dist/handlers/object-types.js +12 -5
  260. package/dist/handlers/object-types.js.map +1 -1
  261. package/dist/handlers/query-input.d.ts +50 -0
  262. package/dist/handlers/query-input.d.ts.map +1 -0
  263. package/dist/handlers/query-input.js +59 -0
  264. package/dist/handlers/query-input.js.map +1 -0
  265. package/dist/handlers/query-tool.d.ts +11 -0
  266. package/dist/handlers/query-tool.d.ts.map +1 -0
  267. package/dist/handlers/query-tool.js +99 -0
  268. package/dist/handlers/query-tool.js.map +1 -0
  269. package/dist/handlers/query.d.ts +1 -1
  270. package/dist/handlers/query.d.ts.map +1 -1
  271. package/dist/handlers/query.js +7 -1
  272. package/dist/handlers/query.js.map +1 -1
  273. package/dist/handlers/read.d.ts +1 -0
  274. package/dist/handlers/read.d.ts.map +1 -1
  275. package/dist/handlers/read.js +62 -11
  276. package/dist/handlers/read.js.map +1 -1
  277. package/dist/handlers/schemas.d.ts +23 -4
  278. package/dist/handlers/schemas.d.ts.map +1 -1
  279. package/dist/handlers/schemas.js +82 -9
  280. package/dist/handlers/schemas.js.map +1 -1
  281. package/dist/handlers/syntax.d.ts.map +1 -1
  282. package/dist/handlers/syntax.js +8 -0
  283. package/dist/handlers/syntax.js.map +1 -1
  284. package/dist/handlers/tool-descriptions.js +2 -2
  285. package/dist/handlers/tool-descriptions.js.map +1 -1
  286. package/dist/handlers/tools.d.ts.map +1 -1
  287. package/dist/handlers/tools.js +81 -74
  288. package/dist/handlers/tools.js.map +1 -1
  289. package/dist/handlers/transport-review.d.ts +5 -0
  290. package/dist/handlers/transport-review.d.ts.map +1 -0
  291. package/dist/handlers/transport-review.js +108 -0
  292. package/dist/handlers/transport-review.js.map +1 -0
  293. package/dist/handlers/transport.d.ts.map +1 -1
  294. package/dist/handlers/transport.js +3 -58
  295. package/dist/handlers/transport.js.map +1 -1
  296. package/dist/handlers/where-used-details.d.ts +28 -0
  297. package/dist/handlers/where-used-details.d.ts.map +1 -0
  298. package/dist/handlers/where-used-details.js +67 -0
  299. package/dist/handlers/where-used-details.js.map +1 -0
  300. package/dist/handlers/where-used.d.ts +8 -3
  301. package/dist/handlers/where-used.d.ts.map +1 -1
  302. package/dist/handlers/where-used.js +40 -18
  303. package/dist/handlers/where-used.js.map +1 -1
  304. package/dist/handlers/write/create.d.ts.map +1 -1
  305. package/dist/handlers/write/create.js +15 -12
  306. package/dist/handlers/write/create.js.map +1 -1
  307. package/dist/handlers/write/pinned-activation.d.ts +8 -0
  308. package/dist/handlers/write/pinned-activation.d.ts.map +1 -0
  309. package/dist/handlers/write/pinned-activation.js +68 -0
  310. package/dist/handlers/write/pinned-activation.js.map +1 -0
  311. package/dist/handlers/write/pinned.d.ts +10 -0
  312. package/dist/handlers/write/pinned.d.ts.map +1 -0
  313. package/dist/handlers/write/pinned.js +202 -0
  314. package/dist/handlers/write/pinned.js.map +1 -0
  315. package/dist/handlers/write/update-delete.d.ts.map +1 -1
  316. package/dist/handlers/write/update-delete.js +5 -3
  317. package/dist/handlers/write/update-delete.js.map +1 -1
  318. package/dist/handlers/write-helpers.d.ts +2 -2
  319. package/dist/handlers/write-helpers.d.ts.map +1 -1
  320. package/dist/handlers/write-helpers.js +8 -6
  321. package/dist/handlers/write-helpers.js.map +1 -1
  322. package/dist/handlers/write.d.ts.map +1 -1
  323. package/dist/handlers/write.js +4 -1
  324. package/dist/handlers/write.js.map +1 -1
  325. package/dist/server/audit.d.ts +1 -0
  326. package/dist/server/audit.d.ts.map +1 -1
  327. package/dist/server/audit.js +49 -2
  328. package/dist/server/audit.js.map +1 -1
  329. package/dist/server/config.d.ts.map +1 -1
  330. package/dist/server/config.js +29 -1
  331. package/dist/server/config.js.map +1 -1
  332. package/dist/server/destination-registry.d.ts +14 -0
  333. package/dist/server/destination-registry.d.ts.map +1 -1
  334. package/dist/server/destination-registry.js +43 -4
  335. package/dist/server/destination-registry.js.map +1 -1
  336. package/dist/server/http.d.ts.map +1 -1
  337. package/dist/server/http.js +25 -5
  338. package/dist/server/http.js.map +1 -1
  339. package/dist/server/ide-links.d.ts +14 -0
  340. package/dist/server/ide-links.d.ts.map +1 -0
  341. package/dist/server/ide-links.js +146 -0
  342. package/dist/server/ide-links.js.map +1 -0
  343. package/dist/server/ide-request.d.ts +13 -0
  344. package/dist/server/ide-request.d.ts.map +1 -0
  345. package/dist/server/ide-request.js +14 -0
  346. package/dist/server/ide-request.js.map +1 -0
  347. package/dist/server/multi-target-authorization.d.ts +1 -1
  348. package/dist/server/multi-target-authorization.d.ts.map +1 -1
  349. package/dist/server/multi-target-authorization.js +5 -3
  350. package/dist/server/multi-target-authorization.js.map +1 -1
  351. package/dist/server/multi-target-catalog-enforced.d.ts +6 -1
  352. package/dist/server/multi-target-catalog-enforced.d.ts.map +1 -1
  353. package/dist/server/multi-target-catalog-enforced.js +3 -0
  354. package/dist/server/multi-target-catalog-enforced.js.map +1 -1
  355. package/dist/server/multi-target-catalog-projection.d.ts.map +1 -1
  356. package/dist/server/multi-target-catalog-projection.js +1 -0
  357. package/dist/server/multi-target-catalog-projection.js.map +1 -1
  358. package/dist/server/multi-target-catalog.d.ts.map +1 -1
  359. package/dist/server/multi-target-catalog.js +1 -0
  360. package/dist/server/multi-target-catalog.js.map +1 -1
  361. package/dist/server/multi-target-destination-config.d.ts +2 -0
  362. package/dist/server/multi-target-destination-config.d.ts.map +1 -1
  363. package/dist/server/multi-target-destination-config.js +18 -0
  364. package/dist/server/multi-target-destination-config.js.map +1 -1
  365. package/dist/server/multi-target-identity.d.ts.map +1 -1
  366. package/dist/server/multi-target-identity.js +4 -3
  367. package/dist/server/multi-target-identity.js.map +1 -1
  368. package/dist/server/multi-target-request-projection.d.ts +2 -0
  369. package/dist/server/multi-target-request-projection.d.ts.map +1 -1
  370. package/dist/server/multi-target-request-projection.js +2 -0
  371. package/dist/server/multi-target-request-projection.js.map +1 -1
  372. package/dist/server/multi-target-runtime.d.ts +5 -1
  373. package/dist/server/multi-target-runtime.d.ts.map +1 -1
  374. package/dist/server/multi-target-runtime.js +30 -3
  375. package/dist/server/multi-target-runtime.js.map +1 -1
  376. package/dist/server/multi-target-server.d.ts.map +1 -1
  377. package/dist/server/multi-target-server.js +42 -6
  378. package/dist/server/multi-target-server.js.map +1 -1
  379. package/dist/server/multi-target-tools.d.ts.map +1 -1
  380. package/dist/server/multi-target-tools.js +64 -7
  381. package/dist/server/multi-target-tools.js.map +1 -1
  382. package/dist/server/multi-target-write-surface.d.ts +9 -0
  383. package/dist/server/multi-target-write-surface.d.ts.map +1 -0
  384. package/dist/server/multi-target-write-surface.js +42 -0
  385. package/dist/server/multi-target-write-surface.js.map +1 -0
  386. package/dist/server/per-user-transport.d.ts +18 -0
  387. package/dist/server/per-user-transport.d.ts.map +1 -0
  388. package/dist/server/per-user-transport.js +72 -0
  389. package/dist/server/per-user-transport.js.map +1 -0
  390. package/dist/server/server-instructions.d.ts +2 -0
  391. package/dist/server/server-instructions.d.ts.map +1 -1
  392. package/dist/server/server-instructions.js +10 -12
  393. package/dist/server/server-instructions.js.map +1 -1
  394. package/dist/server/server.d.ts +3 -0
  395. package/dist/server/server.d.ts.map +1 -1
  396. package/dist/server/server.js +22 -8
  397. package/dist/server/server.js.map +1 -1
  398. package/dist/server/tool-auth.d.ts +1 -1
  399. package/dist/server/tool-auth.d.ts.map +1 -1
  400. package/dist/server/tool-auth.js +24 -4
  401. package/dist/server/tool-auth.js.map +1 -1
  402. package/dist/server/types.d.ts +7 -0
  403. package/dist/server/types.d.ts.map +1 -1
  404. package/dist/server/types.js +3 -0
  405. package/dist/server/types.js.map +1 -1
  406. package/dist/server/ui-state.d.ts.map +1 -1
  407. package/dist/server/ui-state.js +1 -0
  408. package/dist/server/ui-state.js.map +1 -1
  409. package/dist/version.d.ts +1 -1
  410. package/dist/version.js +1 -1
  411. package/package.json +14 -10
@@ -0,0 +1,108 @@
1
+ import { clampSearchResults } from '../adt/client.js';
2
+ import { throwIfRequestCancelled } from '../adt/http-deadline.js';
3
+ import { getTransport } from '../adt/transport.js';
4
+ import { diffTransportObject, rollupTransportObjects } from '../adt/transport-diff.js';
5
+ import { ReviewBudget } from '../adt/transport-review-budget.js';
6
+ import { getCurrentContext } from '../server/context.js';
7
+ import { errorResult, textResult, toolJson } from './shared.js';
8
+ export const REVIEW_OUTPUT_BYTES = 64 * 1024;
9
+ export async function handleTransportReview(client, args, config) {
10
+ const id = String(args.id ?? '')
11
+ .trim()
12
+ .toUpperCase();
13
+ if (!id)
14
+ return errorResult('Transport ID is required for "diff" action.');
15
+ const budget = new ReviewBudget();
16
+ const transport = await budget.read((request) => getTransport(client.http, client.safety, id, request));
17
+ if (!transport)
18
+ return errorResult(`Transport ${id.slice(0, 40)} not found. If this is a task, use its parent request.`);
19
+ // TRSTATUS: R/N are released; D/L are modifiable. O/P are transitional.
20
+ const mode = ['R', 'N'].includes(transport.status)
21
+ ? 'released'
22
+ : ['D', 'L'].includes(transport.status)
23
+ ? 'active'
24
+ : undefined;
25
+ if (!mode)
26
+ return errorResult(`Transport ${id.slice(0, 40)} has status ${String(transport.status || 'unknown').slice(0, 16)}; a stable comparison state cannot be selected. Retry after release finishes or inspect the request in SAP.`);
27
+ const key = (o) => `${o.pgmid}:${o.type}:${o.name}`.toUpperCase();
28
+ const taskKeys = new Set(transport.tasks.flatMap((t) => t.objects.map(key)));
29
+ const requestOnly = (transport.requestObjects ?? []).filter((o) => !taskKeys.has(key(o)));
30
+ const inventory = rollupTransportObjects([
31
+ ...transport.tasks,
32
+ ...(requestOnly.length ? [{ id: transport.id, objects: requestOnly }] : []),
33
+ ]);
34
+ inventory.sort((a, b) => (key(a) < key(b) ? -1 : key(a) > key(b) ? 1 : 0));
35
+ const offset = Math.max(0, Math.floor(Number(args.offset) || 0));
36
+ if (offset > 0 && offset >= inventory.length)
37
+ return errorResult(`Review offset is outside this transport inventory (${inventory.length} objects).`);
38
+ const limit = Math.min(clampSearchResults(args.limit, 20), 40);
39
+ const ids = new Set([transport.id, ...transport.tasks.map((t) => t.id)]);
40
+ const objects = [];
41
+ let stoppedBy;
42
+ const fits = (object) => Buffer.byteLength(toolJson([...objects, object])) <= REVIEW_OUTPUT_BYTES - 8192;
43
+ for (const object of inventory.slice(offset, offset + limit)) {
44
+ if (budget.exhausted)
45
+ break;
46
+ const diff = await diffTransportObject(client, object, ids, {
47
+ mode,
48
+ budget,
49
+ summary: args.summary === true,
50
+ minimalErrors: config.minimalErrors || Boolean(config.targetId),
51
+ });
52
+ // Cancellation ends the call, rather than becoming a successful review with missing parts.
53
+ throwIfRequestCancelled({ signal: getCurrentContext()?.signal });
54
+ // Retry an unfinished later object on a fresh page. Always report the first object,
55
+ // even if it alone exceeds the allowance, so nextOffset cannot loop at the same object.
56
+ if (budget.exhausted && objects.length)
57
+ break;
58
+ if (!fits(diff)) {
59
+ stoppedBy = 'output limit';
60
+ if (objects.length)
61
+ break;
62
+ for (const part of [...diff.parts].reverse()) {
63
+ if (fits(diff))
64
+ break;
65
+ if (part.diff) {
66
+ part.diff = '';
67
+ part.hunksOmitted = true;
68
+ }
69
+ }
70
+ if (!fits(diff))
71
+ return errorResult('Review metadata for the first object exceeds the output budget. Inspect this object in SAP.');
72
+ }
73
+ objects.push(diff);
74
+ }
75
+ const nextOffset = offset + objects.length;
76
+ const baselines = {};
77
+ for (const object of objects)
78
+ for (const part of object.parts)
79
+ baselines[part.baselineStatus] = (baselines[part.baselineStatus] ?? 0) + 1;
80
+ const payload = {
81
+ transport: {
82
+ id: transport.id,
83
+ description: transport.description,
84
+ owner: transport.owner,
85
+ status: transport.status,
86
+ },
87
+ comparison: mode === 'released'
88
+ ? 'released transport snapshot against preceding snapshot'
89
+ : 'active source against preceding transport snapshot',
90
+ totalObjects: inventory.length,
91
+ offset,
92
+ shown: objects.length,
93
+ ...(nextOffset < inventory.length ? { nextOffset } : {}),
94
+ ...(budget.exhausted || stoppedBy ? { stoppedBy: budget.stopReason ?? stoppedBy ?? 'collection limit' } : {}),
95
+ pageSummary: {
96
+ baselines,
97
+ inventoryOnly: objects.filter((o) => o.inventoryReason).length,
98
+ objectsWithUncomparedScope: objects.filter((o) => o.notCompared?.length).length,
99
+ },
100
+ note: 'Source comparison only; not a release verdict. Each page rereads inventory and sources, not an atomic snapshot.',
101
+ objects,
102
+ };
103
+ const output = toolJson(payload);
104
+ if (Buffer.byteLength(output) > REVIEW_OUTPUT_BYTES)
105
+ return errorResult('Review metadata exceeds output budget. Narrow the page with limit=1.');
106
+ return textResult(output);
107
+ }
108
+ //# sourceMappingURL=transport-review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-review.js","sourceRoot":"","sources":["../../src/handlers/transport-review.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/handlers/transport.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,kBAAkB,CAAC;AA0BtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAe,KAAK,UAAU,EAAwB,MAAM,aAAa,CAAC;AAsLjF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,UAAU,CAAC,CAkerB"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/handlers/transport.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,kBAAkB,CAAC;AAyBtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAe,KAAK,UAAU,EAAwB,MAAM,aAAa,CAAC;AAoLjF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,UAAU,CAAC,CA+ZrB"}
@@ -6,16 +6,13 @@ import { clampSearchResults } from '../adt/client.js';
6
6
  import { AdtApiError } from '../adt/errors.js';
7
7
  import { checkTransport } from '../adt/safety.js';
8
8
  import { checkRecursiveTransportReleaseScope, createTransport, createTransportWithTarget, deleteTransport, failedReleaseReports, getObjectTransports, getTransport, getTransportInfo, inactiveObjectsForTransport, listTransportLayers, listTransports, listTransportTargets, reassignTransport, releaseTransportAndWait, releaseTransportRecursive, removeObjectFromTransport, supportsExplicitTransportTarget, } from '../adt/transport.js';
9
- import { diffTransportObject, rollupTransportObjects } from '../adt/transport-diff.js';
10
9
  import { logger } from '../server/logger.js';
11
10
  import { functionGroupObjectUrl, functionModuleObjectUrl, objectUrlForType } from './object-types.js';
12
11
  import { errorResult, textResult, toolJson } from './shared.js';
12
+ import { handleTransportReview } from './transport-review.js';
13
13
  /** Default page size for `list`. Object lists dominate the payload, so the backlog sets the cost. */
14
14
  const DEFAULT_TRANSPORT_RESULTS = 50;
15
15
  const DEFAULT_TRANSPORT_CHECK_RESULTS = 10;
16
- /** `diff` page size. Cap matches SAP's own transport-diff tool (pageSize max 40) so results compare. */
17
- const DEFAULT_DIFF_OBJECTS = 20;
18
- const MAX_DIFF_OBJECTS = 40;
19
16
  /**
20
17
  * Pre-release guard: find inactive objects that belong to `transportId`. Releasing a transport that
21
18
  * still contains inactive objects makes SAP's release pipeline hang (it activates before exporting),
@@ -197,60 +194,8 @@ export async function handleSAPTransport(client, args, config) {
197
194
  return textResult(`Transport ${id} not found.`);
198
195
  return textResult(toolJson(transport));
199
196
  }
200
- case 'diff': {
201
- const id = String(args.id ?? '');
202
- if (!id)
203
- return errorResult('Transport ID is required for "diff" action.');
204
- const transport = await getTransport(client.http, client.safety, id);
205
- if (!transport)
206
- return textResult(`Transport ${id} not found.`);
207
- // A transport of copies records its objects on the REQUEST, not under a task, so
208
- // reviewing only `tasks` returns an empty change set. A released workbench request also
209
- // MIRRORS its task objects at request level — add only the entries no task already
210
- // carries, otherwise the request id lands in `taskIds` and reads as an extra task.
211
- const taskObjectKeys = new Set(transport.tasks.flatMap((t) => t.objects.map((o) => `${o.pgmid}:${o.type}:${o.name}`.toUpperCase())));
212
- const requestOnly = (transport.requestObjects ?? []).filter((o) => !taskObjectKeys.has(`${o.pgmid}:${o.type}:${o.name}`.toUpperCase()));
213
- const objects = rollupTransportObjects([
214
- ...transport.tasks,
215
- ...(requestOnly.length ? [{ id: transport.id, objects: requestOnly }] : []),
216
- ]);
217
- const offset = Math.max(0, Number(args.offset ?? 0) || 0);
218
- const limit = Math.min(clampSearchResults(args.limit, DEFAULT_DIFF_OBJECTS), MAX_DIFF_OBJECTS);
219
- // Stable order across pages: the transport is re-read per call, and SAP does not promise
220
- // a fixed task/object sequence, so an unsorted slice could skip or repeat an object.
221
- // Plain code-point comparison, NOT localeCompare — collation is ICU/locale dependent
222
- // (da-DK sorts "AA" after "Z"), so two instances behind a load balancer would page
223
- // differently. The key mirrors the rollup key so entries can never compare equal.
224
- const sortKey = (o) => `${o.pgmid}:${o.type}:${o.name}`;
225
- objects.sort((a, b) => (sortKey(a) < sortKey(b) ? -1 : sortKey(a) > sortKey(b) ? 1 : 0));
226
- const page = objects.slice(offset, offset + limit);
227
- // Match the request AND its tasks: version records reference the request on the systems
228
- // verified so far, but matching both can only add correct matches, never remove one.
229
- const transportIds = new Set([transport.id, ...transport.tasks.map((t) => t.id)].filter(Boolean));
230
- // Objects are independent reads; http.ts caps real concurrency via the shared Semaphore.
231
- const diffs = await Promise.all(page.map((object) => diffTransportObject(client, object, transportIds, { minimalErrors: config.minimalErrors })));
232
- return textResult(toolJson({
233
- transport: {
234
- id: transport.id,
235
- description: transport.description,
236
- owner: transport.owner,
237
- status: transport.status,
238
- },
239
- // One model for released and open transports alike: while a transport is open its
240
- // objects are locked, so the active revision carries its id and matches the same way.
241
- comparison: 'transport-correction-to-immediate-previous',
242
- totalObjects: objects.length,
243
- offset,
244
- shown: page.length,
245
- // parseTransportList only harvests objects nested under <tm:task>; a request whose
246
- // objects sit at request level would otherwise read as "nothing changed".
247
- ...(objects.length === 0 ? { note: 'This transport records no reviewable objects.' } : {}),
248
- ...(offset + page.length < objects.length
249
- ? { hint: `Showing ${page.length} of ${objects.length}. Next page: offset=${offset + page.length}.` }
250
- : {}),
251
- objects: diffs,
252
- }));
253
- }
197
+ case 'diff':
198
+ return handleTransportReview(client, args, config);
254
199
  case 'create': {
255
200
  const description = String(args.description ?? '');
256
201
  if (!description)
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/handlers/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/handlers/transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { AdtClient } from '../adt/client.js';
2
+ import type { WhereUsedResult } from '../adt/codeintel.js';
3
+ import { type UsageOptions } from '../adt/where-used-native.js';
4
+ export declare function expandUsageDetails(client: AdtClient, rows: WhereUsedResult[], filter: string | undefined, options: UsageOptions, limit: number, supportsSnippets: boolean, deadline: number): Promise<{
5
+ detail: "objects" | "positions" | "snippets" | undefined;
6
+ identifiersAvailable: number;
7
+ identifiersExpanded: number;
8
+ identifiersWithoutUsages: number;
9
+ unexpandedEntries: number;
10
+ shown: number;
11
+ truncated: boolean;
12
+ warning?: string | undefined;
13
+ countMeaning: string;
14
+ coordinateMeaning: string;
15
+ usages: {
16
+ object: string;
17
+ type: string;
18
+ packageName: string;
19
+ uri: string;
20
+ component?: string | null | undefined;
21
+ line?: number | undefined;
22
+ column?: number | undefined;
23
+ matches: string;
24
+ snippet?: string | undefined;
25
+ snippetTruncated?: boolean | undefined;
26
+ }[];
27
+ }>;
28
+ //# sourceMappingURL=where-used-details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"where-used-details.d.ts","sourceRoot":"","sources":["../../src/handlers/where-used-details.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAuC,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAerG,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,eAAe,EAAE,EACvB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,OAAO,EACzB,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;GA2DjB"}
@@ -0,0 +1,67 @@
1
+ import { loadUsageSnippets, matchesUsageType } from '../adt/where-used-native.js';
2
+ /** Native method/include nodes may omit their type; inherit it only through the returned tree. */
3
+ function ownerOf(row, byUri) {
4
+ let owner = row;
5
+ const seen = new Set();
6
+ for (let depth = 0; depth < 32 && !owner.type && owner.parentUri && !seen.has(owner.parentUri); depth++) {
7
+ seen.add(owner.parentUri);
8
+ const parent = byUri.get(owner.parentUri);
9
+ if (!parent)
10
+ break;
11
+ owner = parent;
12
+ }
13
+ return owner;
14
+ }
15
+ export async function expandUsageDetails(client, rows, filter, options, limit, supportsSnippets, deadline) {
16
+ const byUri = new Map(rows.map((row) => [row.uri, row]));
17
+ const relevant = rows
18
+ .map((row) => ({ row, owner: ownerOf(row, byUri) }))
19
+ .filter(({ row, owner }) => (!filter || matchesUsageType(owner.type, filter)) &&
20
+ (!options.packages?.length ||
21
+ (owner.type !== 'DEVC/K' &&
22
+ options.packages.includes((row.packageName || owner.packageName || '').toUpperCase()))));
23
+ const identified = new Map(relevant.filter(({ row }) => row.objectIdentifier).map((entry) => [entry.row.objectIdentifier, entry]));
24
+ const identifiers = supportsSnippets ? [...identified.keys()].slice(0, 10) : [];
25
+ const snippets = await loadUsageSnippets(client, identifiers, deadline);
26
+ const requested = new Set(identifiers);
27
+ if (snippets.some((snippet) => !requested.has(snippet.objectIdentifier)))
28
+ throw new Error('SAP returned snippets for an unrequested where-used identifier.');
29
+ const unexpandedEntries = relevant.filter(({ row }) => row.isResult !== false && !row.objectIdentifier).length;
30
+ const truncated = identified.size > identifiers.length || snippets.length > limit;
31
+ return {
32
+ detail: options.detail,
33
+ identifiersAvailable: identified.size,
34
+ identifiersExpanded: identifiers.length,
35
+ identifiersWithoutUsages: identifiers.filter((id) => !snippets.some((snippet) => snippet.objectIdentifier === id))
36
+ .length,
37
+ unexpandedEntries,
38
+ shown: Math.min(snippets.length, limit),
39
+ truncated,
40
+ ...(supportsSnippets
41
+ ? {}
42
+ : { warning: 'Usage snippets are unavailable for this lookup. Use the object list and SAPRead.' }),
43
+ countMeaning: 'Usage entries from at most 10 expandable nodes; entries without native identifiers are not expanded. Not a complete inventory.',
44
+ coordinateMeaning: 'SAP coordinates: line is 1-based; columns follow the native match range. A component identifies method-relative positions.',
45
+ usages: snippets.slice(0, limit).map((snippet) => {
46
+ const { row, owner } = identified.get(snippet.objectIdentifier);
47
+ const fragment = new URLSearchParams(snippet.uri.split('#')[1]?.replaceAll(';', '&'));
48
+ const start = fragment.get('start')?.split(',');
49
+ const column = start?.[1] ?? /^(\d+)-/.exec(snippet.matches)?.[1];
50
+ const content = snippet.content;
51
+ return {
52
+ object: owner.name,
53
+ type: owner.type,
54
+ packageName: row.packageName || owner.packageName,
55
+ uri: snippet.uri,
56
+ ...(fragment.get('name') ? { component: fragment.get('name') } : {}),
57
+ ...(start?.[0] && /^\d+$/.test(start[0]) ? { line: Number(start[0]) } : {}),
58
+ ...(column && /^\d+$/.test(column) ? { column: Number(column) } : {}),
59
+ matches: snippet.matches,
60
+ ...(options.detail === 'snippets'
61
+ ? { snippet: content.slice(0, 1000), ...(content.length > 1000 ? { snippetTruncated: true } : {}) }
62
+ : {}),
63
+ };
64
+ }),
65
+ };
66
+ }
67
+ //# sourceMappingURL=where-used-details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"where-used-details.js","sourceRoot":"","sources":["../../src/handlers/where-used-details.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { type AdtClient } from '../adt/client.js';
2
2
  import { type ReferenceResult, type WhereUsedResult } from '../adt/codeintel.js';
3
+ import { type UsageOptions } from '../adt/where-used-native.js';
4
+ import { expandUsageDetails } from './where-used-details.js';
3
5
  export type LiveUsageResult = WhereUsedResult | ReferenceResult;
4
6
  export interface LiveUsageLookup {
5
7
  /** At most `maxResults` entries. */
@@ -12,6 +14,8 @@ export interface LiveUsageLookup {
12
14
  warning?: string;
13
15
  /** The symbol SAP searched for, from its result scope (absent on the fallback endpoint). */
14
16
  searchedFor?: string;
17
+ scopeFiltering?: 'server' | 'client';
18
+ usageDetails?: Awaited<ReturnType<typeof expandUsageDetails>>;
15
19
  }
16
20
  /** Resolve the canonical ADT object URI used by the where-used APIs. */
17
21
  export declare function resolveWhereUsedUri(client: AdtClient, objectType: string, objectName: string): Promise<string | null>;
@@ -19,11 +23,12 @@ export declare function resolveWhereUsedUri(client: AdtClient, objectType: strin
19
23
  * Run the live SAP-authorized where-used lookup shared by SAPNavigate.references and
20
24
  * SAPContext.usages. Older systems fall back to the simple references endpoint.
21
25
  *
22
- * Filtering and paging are both client-side: SAP's `usageReferences` endpoint declares only
26
+ * Legacy filtering and paging are client-side: the older `usageReferences` endpoint declares only
23
27
  * `{?uri}` and ignores every limit/filter we can send — `objectTypeFilter` in the body, and
24
28
  * `maxResults`/`maxItemCount`/`searchFromIndex` as query params all return byte-identical
25
29
  * responses (verified live on 758, 9 variants). So the full set always crosses the wire; we bound
26
- * what reaches the model, not what SAP computes.
30
+ * what reaches the model, not what SAP computes. SAPNavigate optionally uses native scope
31
+ * on systems advertising it; paging remains client-side.
27
32
  */
28
- export declare function lookupLiveUsages(client: AdtClient, uri: string, objectType?: string, maxResults?: number): Promise<LiveUsageLookup>;
33
+ export declare function lookupLiveUsages(client: AdtClient, uri: string, objectType?: string, maxResults?: number, options?: UsageOptions): Promise<LiveUsageLookup>;
29
34
  //# sourceMappingURL=where-used.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"where-used.d.ts","sourceRoot":"","sources":["../../src/handlers/where-used.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAO7B,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,eAAe,CAAC;AAMhE,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,+FAA+F;IAC/F,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAUD,wEAAwE;AACxE,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAaxB;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAgD1B"}
1
+ {"version":3,"file":"where-used.d.ts","sourceRoot":"","sources":["../../src/handlers/where-used.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAsC,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,eAAe,CAAC;AAMhE,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,+FAA+F;IAC/F,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;CAC/D;AAED,wEAAwE;AACxE,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAaxB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,eAAe,CAAC,CAyF1B"}
@@ -4,17 +4,12 @@ import { DataSourcePolicyError } from '../adt/data-source-policy.js';
4
4
  import { AdtApiError } from '../adt/errors.js';
5
5
  import { internalOperationWarning } from '../adt/internal-data-operations.js';
6
6
  import { isOperationAllowed, OperationType } from '../adt/safety.js';
7
+ import { loadNativeUsages, matchesUsageType } from '../adt/where-used-native.js';
7
8
  import { normalizeObjectType, objectUrlForType } from './object-types.js';
9
+ import { expandUsageDetails } from './where-used-details.js';
8
10
  /** Default page size for where-used. A bare lookup on a common type returns thousands of rows
9
11
  * (CL_ABAP_TYPEDESCR: 6,644 refs ≈ 968k tokens) — far past any context window. */
10
12
  const DEFAULT_USAGE_RESULTS = 100;
11
- /** Match a result's ADT type against a filter: "CLAS" matches "CLAS/OC", "CLAS/OC" matches exactly.
12
- * Trimmed — a padded `" CLAS "` would otherwise match nothing and read as "no references found". */
13
- function matchesObjectType(resultType, filter) {
14
- const type = resultType.trim().toUpperCase();
15
- const wanted = filter.trim().toUpperCase();
16
- return type === wanted || type.startsWith(`${wanted}/`);
17
- }
18
13
  /** Resolve the canonical ADT object URI used by the where-used APIs. */
19
14
  export async function resolveWhereUsedUri(client, objectType, objectName) {
20
15
  const type = normalizeObjectType(objectType);
@@ -34,13 +29,14 @@ export async function resolveWhereUsedUri(client, objectType, objectName) {
34
29
  * Run the live SAP-authorized where-used lookup shared by SAPNavigate.references and
35
30
  * SAPContext.usages. Older systems fall back to the simple references endpoint.
36
31
  *
37
- * Filtering and paging are both client-side: SAP's `usageReferences` endpoint declares only
32
+ * Legacy filtering and paging are client-side: the older `usageReferences` endpoint declares only
38
33
  * `{?uri}` and ignores every limit/filter we can send — `objectTypeFilter` in the body, and
39
34
  * `maxResults`/`maxItemCount`/`searchFromIndex` as query params all return byte-identical
40
35
  * responses (verified live on 758, 9 variants). So the full set always crosses the wire; we bound
41
- * what reaches the model, not what SAP computes.
36
+ * what reaches the model, not what SAP computes. SAPNavigate optionally uses native scope
37
+ * on systems advertising it; paging remains client-side.
42
38
  */
43
- export async function lookupLiveUsages(client, uri, objectType, maxResults) {
39
+ export async function lookupLiveUsages(client, uri, objectType, maxResults, options) {
44
40
  // Normalize the filter ONCE, at the entry, and use only this value below. A whitespace-only filter
45
41
  // means "no filter" (matching the empty type would match nothing and read as "No references
46
42
  // found"). Trimming here rather than at the comparison is what keeps `" CLAS/OC "` behaving like
@@ -52,29 +48,53 @@ export async function lookupLiveUsages(client, uri, objectType, maxResults) {
52
48
  let searchedFor;
53
49
  let referencedObjectIdentifier;
54
50
  let fallbackUsed = false;
51
+ let native;
55
52
  try {
56
- ({ results, searchedFor, referencedObjectIdentifier } = await findWhereUsedWithScope(client.http, client.safety, uri, filter));
53
+ native =
54
+ options && (options.packages?.length || (options.detail && options.detail !== 'objects'))
55
+ ? await loadNativeUsages(client, uri, options)
56
+ : undefined;
57
+ ({ results, searchedFor, referencedObjectIdentifier } =
58
+ native ?? (await findWhereUsedWithScope(client.http, client.safety, uri, filter)));
57
59
  }
58
60
  catch (err) {
59
- if (!(err instanceof AdtApiError) || ![404, 405, 415, 501].includes(err.statusCode))
61
+ if (!(err instanceof AdtApiError) ||
62
+ ![404, 405, 415, 501].includes(err.statusCode) ||
63
+ !/\/usageReferences(?:\?|$)/.test(err.path))
60
64
  throw err;
65
+ if (options?.packages?.length)
66
+ throw new Error('This legacy reference endpoint cannot provide package-filtered results. Retry without packages.');
61
67
  results = await findReferences(client.http, client.safety, uri);
62
68
  fallbackUsed = true;
63
69
  }
64
70
  // Kept outside the try: an augment failure must not be mistaken for a missing where-used endpoint.
65
71
  let warning;
66
- // Empty is SAP's explicit fallback to the original object; absent/nonempty cannot justify enrichment.
67
- if (!fallbackUsed && (!scoped || referencedObjectIdentifier === '')) {
68
- warning = await augmentInterfaceImplementers(client, uri, filter, results);
72
+ // Empty also occurs when SAP reports an unsupported search. Require native rows before
73
+ // treating an empty cursor identifier as fallback to the original object.
74
+ if (!fallbackUsed && (!scoped || (referencedObjectIdentifier === '' && results.length > 0))) {
75
+ warning = await augmentInterfaceImplementers(client, uri, filter, results, Boolean(options?.packages?.length));
69
76
  }
70
77
  if (scoped && !searchedFor) {
71
78
  const scopeWarning = 'SAP did not report the searched symbol. Results may refer to the whole object; confirm the scope before using them.';
72
79
  warning = warning ? `${warning} ${scopeWarning}` : scopeWarning;
73
80
  }
74
- const filtered = filter ? results.filter((result) => matchesObjectType(result.type, filter)) : results;
81
+ const filtered = results.filter((result) => (!filter || matchesUsageType(result.type, filter)) &&
82
+ (!options?.packages?.length ||
83
+ (result.type !== 'DEVC/K' &&
84
+ 'packageName' in result &&
85
+ options.packages.includes(result.packageName.toUpperCase()))));
75
86
  const limit = clampSearchResults(maxResults, DEFAULT_USAGE_RESULTS);
87
+ const usageDetails = options?.detail && options.detail !== 'objects'
88
+ ? await expandUsageDetails(client, results, filter, options, limit, native?.supportsSnippets ?? false, native?.deadline ?? Date.now())
89
+ : undefined;
76
90
  return {
77
- results: filtered.slice(0, limit),
91
+ results: filtered.slice(0, limit).map(({ ...row }) => {
92
+ if ('objectIdentifier' in row)
93
+ delete row.objectIdentifier;
94
+ return row;
95
+ }),
96
+ ...(native && options?.packages?.length ? { scopeFiltering: native.scopeFiltering } : {}),
97
+ ...(usageDetails ? { usageDetails } : {}),
78
98
  total: filtered.length,
79
99
  truncated: filtered.length > limit,
80
100
  fallbackUsed,
@@ -82,13 +102,15 @@ export async function lookupLiveUsages(client, uri, objectType, maxResults) {
82
102
  ...(searchedFor ? { searchedFor } : {}),
83
103
  };
84
104
  }
85
- async function augmentInterfaceImplementers(client, uri, objectType, results) {
105
+ async function augmentInterfaceImplementers(client, uri, objectType, results, packageFiltered) {
86
106
  const intfMatch = uri.match(/\/sap\/bc\/adt\/oo\/interfaces\/([^/?#]+)/i);
87
107
  if (!intfMatch || (objectType && !/^CLAS/i.test(objectType)))
88
108
  return undefined;
89
109
  const interfaceName = decodeURIComponent(intfMatch[1]).toUpperCase();
90
110
  const canFreeSQL = isOperationAllowed(client.safety, OperationType.FreeSQL);
91
111
  const canQuery = isOperationAllowed(client.safety, OperationType.Query);
112
+ if (packageFiltered && (canFreeSQL || canQuery))
113
+ return 'Interface-implementer enrichment was skipped: SEOMETAREL does not provide packages for filtering. Native results are retained.';
92
114
  try {
93
115
  let implementers = [];
94
116
  if (canFreeSQL) {
@@ -1 +1 @@
1
- {"version":3,"file":"where-used.js","sourceRoot":"","sources":["../../src/handlers/where-used.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"where-used.js","sourceRoot":"","sources":["../../src/handlers/where-used.ts"],"names":[],"mappings":"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"}