arc-1 1.5.1 → 1.6.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 (294) hide show
  1. package/README.md +4 -1
  2. package/bin/arc1-source.js +83 -0
  3. package/dist/adt/accept-fallback.d.ts +4 -0
  4. package/dist/adt/accept-fallback.d.ts.map +1 -0
  5. package/dist/adt/accept-fallback.js +27 -0
  6. package/dist/adt/accept-fallback.js.map +1 -0
  7. package/dist/adt/api-release.d.ts +40 -0
  8. package/dist/adt/api-release.d.ts.map +1 -0
  9. package/dist/adt/api-release.js +224 -0
  10. package/dist/adt/api-release.js.map +1 -0
  11. package/dist/adt/authorization-trace.d.ts.map +1 -1
  12. package/dist/adt/authorization-trace.js +2 -1
  13. package/dist/adt/authorization-trace.js.map +1 -1
  14. package/dist/adt/class-structure.d.ts.map +1 -1
  15. package/dist/adt/class-structure.js +24 -3
  16. package/dist/adt/class-structure.js.map +1 -1
  17. package/dist/adt/client.d.ts +8 -4
  18. package/dist/adt/client.d.ts.map +1 -1
  19. package/dist/adt/client.js +30 -48
  20. package/dist/adt/client.js.map +1 -1
  21. package/dist/adt/codeintel.d.ts +33 -5
  22. package/dist/adt/codeintel.d.ts.map +1 -1
  23. package/dist/adt/codeintel.js +41 -10
  24. package/dist/adt/codeintel.js.map +1 -1
  25. package/dist/adt/data-source-policy.d.ts +5 -2
  26. package/dist/adt/data-source-policy.d.ts.map +1 -1
  27. package/dist/adt/data-source-policy.js +106 -7
  28. package/dist/adt/data-source-policy.js.map +1 -1
  29. package/dist/adt/ddic-xml.d.ts +5 -3
  30. package/dist/adt/ddic-xml.d.ts.map +1 -1
  31. package/dist/adt/ddic-xml.js +14 -0
  32. package/dist/adt/ddic-xml.js.map +1 -1
  33. package/dist/adt/devtools.d.ts.map +1 -1
  34. package/dist/adt/devtools.js +27 -3
  35. package/dist/adt/devtools.js.map +1 -1
  36. package/dist/adt/discovery.d.ts +1 -1
  37. package/dist/adt/discovery.js +4 -3
  38. package/dist/adt/discovery.js.map +1 -1
  39. package/dist/adt/enhancement-impl.d.ts +125 -0
  40. package/dist/adt/enhancement-impl.d.ts.map +1 -0
  41. package/dist/adt/enhancement-impl.js +408 -0
  42. package/dist/adt/enhancement-impl.js.map +1 -0
  43. package/dist/adt/enhancements.d.ts.map +1 -1
  44. package/dist/adt/enhancements.js +4 -2
  45. package/dist/adt/enhancements.js.map +1 -1
  46. package/dist/adt/enho-filter.d.ts +49 -0
  47. package/dist/adt/enho-filter.d.ts.map +1 -0
  48. package/dist/adt/enho-filter.js +229 -0
  49. package/dist/adt/enho-filter.js.map +1 -0
  50. package/dist/adt/errors.js +6 -8
  51. package/dist/adt/errors.js.map +1 -1
  52. package/dist/adt/features.d.ts +5 -17
  53. package/dist/adt/features.d.ts.map +1 -1
  54. package/dist/adt/features.js +40 -27
  55. package/dist/adt/features.js.map +1 -1
  56. package/dist/adt/http.d.ts +1 -1
  57. package/dist/adt/http.d.ts.map +1 -1
  58. package/dist/adt/http.js +35 -57
  59. package/dist/adt/http.js.map +1 -1
  60. package/dist/adt/legacy-content-handler.d.ts +2 -0
  61. package/dist/adt/legacy-content-handler.d.ts.map +1 -1
  62. package/dist/adt/legacy-content-handler.js +13 -1
  63. package/dist/adt/legacy-content-handler.js.map +1 -1
  64. package/dist/adt/package-contents.d.ts +5 -0
  65. package/dist/adt/package-contents.d.ts.map +1 -1
  66. package/dist/adt/package-contents.js +31 -0
  67. package/dist/adt/package-contents.js.map +1 -1
  68. package/dist/adt/rap-generate.d.ts +2 -4
  69. package/dist/adt/rap-generate.d.ts.map +1 -1
  70. package/dist/adt/rap-generate.js +2 -4
  71. package/dist/adt/rap-generate.js.map +1 -1
  72. package/dist/adt/rap-preflight.js +7 -9
  73. package/dist/adt/rap-preflight.js.map +1 -1
  74. package/dist/adt/server-driven.d.ts +12 -1
  75. package/dist/adt/server-driven.d.ts.map +1 -1
  76. package/dist/adt/server-driven.js +22 -4
  77. package/dist/adt/server-driven.js.map +1 -1
  78. package/dist/adt/table-index.d.ts +23 -0
  79. package/dist/adt/table-index.d.ts.map +1 -0
  80. package/dist/adt/table-index.js +69 -0
  81. package/dist/adt/table-index.js.map +1 -0
  82. package/dist/adt/table-query.d.ts +1 -1
  83. package/dist/adt/table-query.d.ts.map +1 -1
  84. package/dist/adt/table-query.js +5 -6
  85. package/dist/adt/table-query.js.map +1 -1
  86. package/dist/adt/table-settings.d.ts +67 -0
  87. package/dist/adt/table-settings.d.ts.map +1 -0
  88. package/dist/adt/table-settings.js +207 -0
  89. package/dist/adt/table-settings.js.map +1 -0
  90. package/dist/adt/text-elements.d.ts +19 -4
  91. package/dist/adt/text-elements.d.ts.map +1 -1
  92. package/dist/adt/text-elements.js +119 -14
  93. package/dist/adt/text-elements.js.map +1 -1
  94. package/dist/adt/text-part-changes.d.ts +4 -0
  95. package/dist/adt/text-part-changes.d.ts.map +1 -0
  96. package/dist/adt/text-part-changes.js +43 -0
  97. package/dist/adt/text-part-changes.js.map +1 -0
  98. package/dist/adt/transport.js +2 -1
  99. package/dist/adt/transport.js.map +1 -1
  100. package/dist/adt/types.d.ts +10 -5
  101. package/dist/adt/types.d.ts.map +1 -1
  102. package/dist/adt/user-agent.d.ts +1 -1
  103. package/dist/adt/xml-parser.d.ts +5 -34
  104. package/dist/adt/xml-parser.d.ts.map +1 -1
  105. package/dist/adt/xml-parser.js +32 -149
  106. package/dist/adt/xml-parser.js.map +1 -1
  107. package/dist/context/line-range.d.ts +6 -0
  108. package/dist/context/line-range.d.ts.map +1 -0
  109. package/dist/context/line-range.js +23 -0
  110. package/dist/context/line-range.js.map +1 -0
  111. package/dist/context/method-surgery.d.ts.map +1 -1
  112. package/dist/context/method-surgery.js +46 -3
  113. package/dist/context/method-surgery.js.map +1 -1
  114. package/dist/handlers/activate.d.ts +1 -1
  115. package/dist/handlers/activate.d.ts.map +1 -1
  116. package/dist/handlers/activate.js +87 -9
  117. package/dist/handlers/activate.js.map +1 -1
  118. package/dist/handlers/activation-results.d.ts.map +1 -1
  119. package/dist/handlers/activation-results.js +9 -1
  120. package/dist/handlers/activation-results.js.map +1 -1
  121. package/dist/handlers/api-release-fields.d.ts +23 -0
  122. package/dist/handlers/api-release-fields.d.ts.map +1 -0
  123. package/dist/handlers/api-release-fields.js +21 -0
  124. package/dist/handlers/api-release-fields.js.map +1 -0
  125. package/dist/handlers/cds-hints.d.ts +1 -1
  126. package/dist/handlers/cds-hints.d.ts.map +1 -1
  127. package/dist/handlers/cds-hints.js.map +1 -1
  128. package/dist/handlers/feature-cache.d.ts +11 -3
  129. package/dist/handlers/feature-cache.d.ts.map +1 -1
  130. package/dist/handlers/feature-cache.js +57 -3
  131. package/dist/handlers/feature-cache.js.map +1 -1
  132. package/dist/handlers/hyperfocused.d.ts +1 -1
  133. package/dist/handlers/hyperfocused.d.ts.map +1 -1
  134. package/dist/handlers/hyperfocused.js.map +1 -1
  135. package/dist/handlers/manage.d.ts.map +1 -1
  136. package/dist/handlers/manage.js +19 -25
  137. package/dist/handlers/manage.js.map +1 -1
  138. package/dist/handlers/navigate.d.ts.map +1 -1
  139. package/dist/handlers/navigate.js +50 -12
  140. package/dist/handlers/navigate.js.map +1 -1
  141. package/dist/handlers/object-types.d.ts +0 -5
  142. package/dist/handlers/object-types.d.ts.map +1 -1
  143. package/dist/handlers/object-types.js +30 -12
  144. package/dist/handlers/object-types.js.map +1 -1
  145. package/dist/handlers/query-errors.d.ts.map +1 -1
  146. package/dist/handlers/query-errors.js +9 -0
  147. package/dist/handlers/query-errors.js.map +1 -1
  148. package/dist/handlers/read.d.ts.map +1 -1
  149. package/dist/handlers/read.js +77 -9
  150. package/dist/handlers/read.js.map +1 -1
  151. package/dist/handlers/schemas.d.ts +40 -0
  152. package/dist/handlers/schemas.d.ts.map +1 -1
  153. package/dist/handlers/schemas.js +98 -11
  154. package/dist/handlers/schemas.js.map +1 -1
  155. package/dist/handlers/search.d.ts.map +1 -1
  156. package/dist/handlers/search.js +10 -6
  157. package/dist/handlers/search.js.map +1 -1
  158. package/dist/handlers/syntax.d.ts.map +1 -1
  159. package/dist/handlers/syntax.js +44 -15
  160. package/dist/handlers/syntax.js.map +1 -1
  161. package/dist/handlers/table-type-fields.d.ts +33 -0
  162. package/dist/handlers/table-type-fields.d.ts.map +1 -0
  163. package/dist/handlers/table-type-fields.js +22 -0
  164. package/dist/handlers/table-type-fields.js.map +1 -0
  165. package/dist/handlers/tool-descriptions.d.ts.map +1 -1
  166. package/dist/handlers/tool-descriptions.js +9 -4
  167. package/dist/handlers/tool-descriptions.js.map +1 -1
  168. package/dist/handlers/tool-registry.d.ts +5 -5
  169. package/dist/handlers/tool-registry.d.ts.map +1 -1
  170. package/dist/handlers/tool-registry.js +10 -7
  171. package/dist/handlers/tool-registry.js.map +1 -1
  172. package/dist/handlers/tools.d.ts +1 -1
  173. package/dist/handlers/tools.d.ts.map +1 -1
  174. package/dist/handlers/tools.js +44 -44
  175. package/dist/handlers/tools.js.map +1 -1
  176. package/dist/handlers/where-used.d.ts +2 -0
  177. package/dist/handlers/where-used.d.ts.map +1 -1
  178. package/dist/handlers/where-used.js +13 -4
  179. package/dist/handlers/where-used.js.map +1 -1
  180. package/dist/handlers/write/create.d.ts.map +1 -1
  181. package/dist/handlers/write/create.js +69 -24
  182. package/dist/handlers/write/create.js.map +1 -1
  183. package/dist/handlers/write/rap.d.ts.map +1 -1
  184. package/dist/handlers/write/rap.js +2 -4
  185. package/dist/handlers/write/rap.js.map +1 -1
  186. package/dist/handlers/write/table-settings.d.ts +5 -0
  187. package/dist/handlers/write/table-settings.d.ts.map +1 -0
  188. package/dist/handlers/write/table-settings.js +27 -0
  189. package/dist/handlers/write/table-settings.js.map +1 -0
  190. package/dist/handlers/write/update-delete.d.ts +2 -2
  191. package/dist/handlers/write/update-delete.d.ts.map +1 -1
  192. package/dist/handlers/write/update-delete.js +50 -9
  193. package/dist/handlers/write/update-delete.js.map +1 -1
  194. package/dist/handlers/write-helpers.d.ts +4 -1
  195. package/dist/handlers/write-helpers.d.ts.map +1 -1
  196. package/dist/handlers/write-helpers.js +68 -8
  197. package/dist/handlers/write-helpers.js.map +1 -1
  198. package/dist/handlers/write.d.ts.map +1 -1
  199. package/dist/handlers/write.js +6 -10
  200. package/dist/handlers/write.js.map +1 -1
  201. package/dist/lint/config-builder.d.ts.map +1 -1
  202. package/dist/lint/config-builder.js +3 -2
  203. package/dist/lint/config-builder.js.map +1 -1
  204. package/dist/server/audit.d.ts +4 -0
  205. package/dist/server/audit.d.ts.map +1 -1
  206. package/dist/server/audit.js.map +1 -1
  207. package/dist/server/config.d.ts.map +1 -1
  208. package/dist/server/config.js +38 -1
  209. package/dist/server/config.js.map +1 -1
  210. package/dist/server/destination-discovery.d.ts +12 -2
  211. package/dist/server/destination-discovery.d.ts.map +1 -1
  212. package/dist/server/destination-discovery.js +33 -7
  213. package/dist/server/destination-discovery.js.map +1 -1
  214. package/dist/server/destination-registry.d.ts +10 -6
  215. package/dist/server/destination-registry.d.ts.map +1 -1
  216. package/dist/server/destination-registry.js +38 -15
  217. package/dist/server/destination-registry.js.map +1 -1
  218. package/dist/server/http-request-body.d.ts +4 -0
  219. package/dist/server/http-request-body.d.ts.map +1 -0
  220. package/dist/server/http-request-body.js +65 -0
  221. package/dist/server/http-request-body.js.map +1 -0
  222. package/dist/server/http.d.ts +5 -2
  223. package/dist/server/http.d.ts.map +1 -1
  224. package/dist/server/http.js +71 -9
  225. package/dist/server/http.js.map +1 -1
  226. package/dist/server/multi-target-authorization-audit.d.ts +5 -0
  227. package/dist/server/multi-target-authorization-audit.d.ts.map +1 -0
  228. package/dist/server/multi-target-authorization-audit.js +18 -0
  229. package/dist/server/multi-target-authorization-audit.js.map +1 -0
  230. package/dist/server/multi-target-authorization-startup.d.ts +8 -0
  231. package/dist/server/multi-target-authorization-startup.d.ts.map +1 -0
  232. package/dist/server/multi-target-authorization-startup.js +38 -0
  233. package/dist/server/multi-target-authorization-startup.js.map +1 -0
  234. package/dist/server/multi-target-authorization.d.ts +29 -0
  235. package/dist/server/multi-target-authorization.d.ts.map +1 -0
  236. package/dist/server/multi-target-authorization.js +97 -0
  237. package/dist/server/multi-target-authorization.js.map +1 -0
  238. package/dist/server/multi-target-bearer-auth.d.ts +5 -0
  239. package/dist/server/multi-target-bearer-auth.d.ts.map +1 -0
  240. package/dist/server/multi-target-bearer-auth.js +39 -0
  241. package/dist/server/multi-target-bearer-auth.js.map +1 -0
  242. package/dist/server/multi-target-catalog-enforced.d.ts +29 -0
  243. package/dist/server/multi-target-catalog-enforced.d.ts.map +1 -0
  244. package/dist/server/multi-target-catalog-enforced.js +142 -0
  245. package/dist/server/multi-target-catalog-enforced.js.map +1 -0
  246. package/dist/server/multi-target-catalog-projection.d.ts +7 -0
  247. package/dist/server/multi-target-catalog-projection.d.ts.map +1 -0
  248. package/dist/server/multi-target-catalog-projection.js +52 -0
  249. package/dist/server/multi-target-catalog-projection.js.map +1 -0
  250. package/dist/server/multi-target-feature-state.d.ts +0 -2
  251. package/dist/server/multi-target-feature-state.d.ts.map +1 -1
  252. package/dist/server/multi-target-feature-state.js +0 -19
  253. package/dist/server/multi-target-feature-state.js.map +1 -1
  254. package/dist/server/multi-target-identity.d.ts +3 -0
  255. package/dist/server/multi-target-identity.d.ts.map +1 -1
  256. package/dist/server/multi-target-identity.js +9 -0
  257. package/dist/server/multi-target-identity.js.map +1 -1
  258. package/dist/server/multi-target-request-projection.d.ts +14 -0
  259. package/dist/server/multi-target-request-projection.d.ts.map +1 -0
  260. package/dist/server/multi-target-request-projection.js +16 -0
  261. package/dist/server/multi-target-request-projection.js.map +1 -0
  262. package/dist/server/multi-target-runtime.d.ts.map +1 -1
  263. package/dist/server/multi-target-runtime.js +1 -0
  264. package/dist/server/multi-target-runtime.js.map +1 -1
  265. package/dist/server/multi-target-server.d.ts +4 -1
  266. package/dist/server/multi-target-server.d.ts.map +1 -1
  267. package/dist/server/multi-target-server.js +111 -11
  268. package/dist/server/multi-target-server.js.map +1 -1
  269. package/dist/server/multi-target-tools.d.ts +1 -1
  270. package/dist/server/multi-target-tools.d.ts.map +1 -1
  271. package/dist/server/multi-target-tools.js +14 -8
  272. package/dist/server/multi-target-tools.js.map +1 -1
  273. package/dist/server/private-mcp-response.d.ts +4 -0
  274. package/dist/server/private-mcp-response.d.ts.map +1 -0
  275. package/dist/server/private-mcp-response.js +14 -0
  276. package/dist/server/private-mcp-response.js.map +1 -0
  277. package/dist/server/server-cache.d.ts +5 -0
  278. package/dist/server/server-cache.d.ts.map +1 -0
  279. package/dist/server/server-cache.js +30 -0
  280. package/dist/server/server-cache.js.map +1 -0
  281. package/dist/server/server.d.ts +7 -21
  282. package/dist/server/server.d.ts.map +1 -1
  283. package/dist/server/server.js +58 -88
  284. package/dist/server/server.js.map +1 -1
  285. package/dist/server/sinks/btp-auditlog.d.ts.map +1 -1
  286. package/dist/server/sinks/btp-auditlog.js +4 -1
  287. package/dist/server/sinks/btp-auditlog.js.map +1 -1
  288. package/dist/server/types.d.ts +7 -0
  289. package/dist/server/types.d.ts.map +1 -1
  290. package/dist/server/types.js +4 -0
  291. package/dist/server/types.js.map +1 -1
  292. package/dist/version.d.ts +1 -1
  293. package/dist/version.js +1 -1
  294. package/package.json +20 -14
@@ -47,7 +47,9 @@ function resolveFeature(mode, probeOutcome, id, description) {
47
47
  return { id, available: false, mode: 'off', message: 'Disabled by configuration' };
48
48
  }
49
49
  // auto
50
- const baseMessage = probeOutcome.available ? `${description} is available` : `${description} is not available`;
50
+ const baseMessage = probeOutcome.available
51
+ ? `${description} is available`
52
+ : `${description} is ${id === 'hana' ? 'not confirmed' : 'not available'}`;
51
53
  const message = probeOutcome.reason ? `${baseMessage} — ${probeOutcome.reason}` : baseMessage;
52
54
  return {
53
55
  id,
@@ -87,6 +89,12 @@ export async function probeFeatures(client, config, systemTypeOverride) {
87
89
  }
88
90
  catch (err) {
89
91
  if (err instanceof AdtApiError) {
92
+ if (err.statusCode < 400)
93
+ return {
94
+ id: probe.id,
95
+ available: false,
96
+ reason: 'cannot determine availability from an invalid ADT response',
97
+ };
90
98
  return classifyFeatureProbeStatus(probe.id, err.statusCode);
91
99
  }
92
100
  // Network-level error (no AdtApiError) → cannot reach SAP at all → unavailable.
@@ -104,21 +112,21 @@ export async function probeFeatures(client, config, systemTypeOverride) {
104
112
  for (const result of probeResults) {
105
113
  resultMap.set(result.id, { available: result.available, reason: result.reason });
106
114
  }
107
- // Component-based HANA detection overrides the endpoint probe when the hanainfo
108
- // endpoint is absent (e.g. some S/4HANA releases). Only applies in auto mode.
115
+ // Components can prove the database independently of an unavailable hanainfo endpoint.
116
+ // Preserve its diagnostic: authorization/network failures must not be called absence.
109
117
  if (!resultMap.get('hana')?.available && systemDetection.hasHana && modeMap.hana === 'auto') {
110
118
  resultMap.set('hana', {
111
119
  available: true,
112
- reason: 'inferred from installed components (hanainfo endpoint absent)',
120
+ reason: `inferred from installed components (hanainfo probe: ${resultMap.get('hana')?.reason ?? 'unconfirmed'})`,
113
121
  });
114
122
  }
115
- // Discovery-based HANA detection: NHI (Native HANA Integration) workspaces are only
116
- // registered on HANA-based systems. Fires when both the hanainfo probe and the components
117
- // feed failed to confirm HANA (e.g. empty components feed + hanainfo 404).
123
+ // NHI collections also exist on non-HANA systems (#932). Preserve them as context,
124
+ // never as proof of the database when the endpoint and components do not confirm it.
118
125
  if (!resultMap.get('hana')?.available && discoveryNhiPresent && modeMap.hana === 'auto') {
126
+ const reason = resultMap.get('hana')?.reason;
119
127
  resultMap.set('hana', {
120
- available: true,
121
- reason: 'inferred from ADT discovery document (NHI workspace present — Native HANA Integration)',
128
+ available: false,
129
+ reason: `${reason ? `${reason}; ` : ''}NHI workspace presence does not identify the database`,
122
130
  });
123
131
  }
124
132
  // Resolve all features
@@ -265,16 +273,6 @@ async function detectReleaseFromSyntaxConfigurations(client) {
265
273
  return undefined;
266
274
  }
267
275
  }
268
- /**
269
- * Detect HANA presence from ADT discovery document NHI signal (exported for testing).
270
- *
271
- * NHI (Native HANA Integration) workspaces at /sap/bc/adt/nhi/* are only registered
272
- * on HANA-based SAP systems. This is the last fallback when both the hanainfo endpoint
273
- * probe and the software components feed fail to produce a signal.
274
- */
275
- export function detectHanaFromDiscovery(nhiPresent) {
276
- return nhiPresent;
277
- }
278
276
  /**
279
277
  * Detect HANA DB presence from installed software components (exported for testing).
280
278
  *
@@ -285,11 +283,16 @@ export function detectHanaFromDiscovery(nhiPresent) {
285
283
  * HANA-only, and `S4` is SAP's reserved prefix for S/4HANA software components.
286
284
  * On S/4HANA 2021+ the core component is `S4FND`, not `S4CORE`.
287
285
  * 3. Component name `BW4CORE` — BW/4HANA is also HANA-only.
286
+ * 4. ABAP Environment identity: SAP_BASIS + SAP_CLOUD, without SAP_ABA. Its database
287
+ * is ABAP-managed HANA Cloud; a configured BTP mode alone is not evidence.
288
288
  *
289
289
  * DB release info is intentionally not surfaced: only HDB-named components carry a
290
290
  * meaningful release; S4/BW4CORE releases describe the ABAP stack, not the DB.
291
291
  */
292
292
  export function detectHanaFromComponents(components) {
293
+ const names = new Set(components.map((component) => component.name.toUpperCase()));
294
+ if (names.has('SAP_BASIS') && names.has('SAP_CLOUD') && !names.has('SAP_ABA'))
295
+ return true;
293
296
  for (const c of components) {
294
297
  const name = c.name.toUpperCase();
295
298
  if (/HDB|HANA/.test(name))
@@ -344,20 +347,25 @@ export async function probeTextSearch(client) {
344
347
  * SAP ADT's own `AdtRisTextSearchService.isSupported()` catches the latter as
345
348
  * `ResourceForbiddenException` and returns false. Preserve that distinction so
346
349
  * users are not sent to SU53/PFCG for a feature that is disabled server-side. */
347
- function isUnsupportedTextSearchResponse(statusCode, responseBody) {
348
- if (statusCode !== 403 || !responseBody)
349
- return false;
350
+ function unsupportedTextSearchMessage(statusCode, responseBody) {
351
+ if (![403, 500].includes(statusCode) || !responseBody)
352
+ return undefined;
350
353
  const properties = AdtApiError.extractProperties(responseBody);
351
354
  const messageId = (properties['T100KEY-ID'] ?? properties['T100KEY-MSGID'] ?? '').toUpperCase();
352
355
  const messageNumber = properties['T100KEY-NO'] ?? properties['T100KEY-MSGNO'] ?? '';
353
- return ((messageId === 'SADT_REST' && messageNumber.padStart(3, '0') === '020') ||
354
- /\bthe action is not supported\b/i.test(responseBody));
356
+ if (statusCode === 403 && messageId === 'SADT_REST' && messageNumber.padStart(3, '0') === '020')
357
+ return 'SADT_REST 020';
358
+ if (statusCode === 500 && messageId === 'SRIS_SEARCH' && messageNumber.padStart(3, '0') === '006')
359
+ return 'SRIS_SEARCH 006';
360
+ return undefined;
355
361
  }
356
362
  export function classifyTextSearchError(statusCode, responseBody) {
357
- if (isUnsupportedTextSearchResponse(statusCode, responseBody)) {
363
+ const unsupportedMessage = unsupportedTextSearchMessage(statusCode, responseBody);
364
+ if (unsupportedMessage) {
358
365
  return {
359
366
  available: false,
360
- reason: 'Source code search is not supported by this SAP backend (SADT_REST 020).',
367
+ unsupported: true,
368
+ reason: `Source code search is not supported by this SAP backend (${unsupportedMessage}).`,
361
369
  };
362
370
  }
363
371
  switch (statusCode) {
@@ -370,6 +378,7 @@ export function classifyTextSearchError(statusCode, responseBody) {
370
378
  case 404:
371
379
  return {
372
380
  available: false,
381
+ unsupported: true,
373
382
  reason: 'The textsearch endpoint is not available on this system — ADT answered "No suitable resource found". ' +
374
383
  'This is the generic reply for any URI the ADT handler does not map, so confirm the collection is ' +
375
384
  'missing from /sap/bc/adt/discovery before asking Basis to activate anything in SICF.',
@@ -377,7 +386,11 @@ export function classifyTextSearchError(statusCode, responseBody) {
377
386
  case 500:
378
387
  return { available: false, reason: 'Search framework error (component BC-DWB-AIE) — check SAP Note 3605050.' };
379
388
  case 501:
380
- return { available: false, reason: 'Not implemented — source code search requires SAP_BASIS >= 7.51.' };
389
+ return {
390
+ available: false,
391
+ unsupported: true,
392
+ reason: 'Not implemented — source code search requires SAP_BASIS >= 7.51.',
393
+ };
381
394
  default:
382
395
  return { available: false, reason: `textsearch returned HTTP ${statusCode}.` };
383
396
  }
@@ -1 +1 @@
1
- {"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/adt/features.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/adt/features.ts"],"names":[],"mappings":"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"}
@@ -222,7 +222,7 @@ export declare class AdtHttpClient {
222
222
  */
223
223
  private composeCookieHeader;
224
224
  private storeCookies;
225
- /** Build full URL with sap-client and sap-language query params */
225
+ /** Add SAP context query params unless the caller sends that context in headers. */
226
226
  private buildUrl;
227
227
  /** Apply Basic Auth header if username/password are configured (and no bearer provider) */
228
228
  private applyAuthHeader;
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/adt/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/adt/http.ts"],"names":[],"mappings":"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"}
package/dist/adt/http.js CHANGED
@@ -9,13 +9,14 @@ import { Agent, Client } from 'undici';
9
9
  import { getCurrentContext } from '../server/context.js';
10
10
  import { logger } from '../server/logger.js';
11
11
  import { traceHeaders } from '../server/trace-context.js';
12
+ import { acceptFallback } from './accept-fallback.js';
12
13
  import { connectivityProxyResponse, prepareBoundedResponse } from './bounded-response.js';
13
14
  import { resolveCookies } from './cookies.js';
14
15
  import { resolveAcceptType, resolveContentType } from './discovery.js';
15
16
  import { AdtApiError, AdtNetworkError, AdtResponseLimitError } from './errors.js';
16
17
  import { awaitWithinRequestBudget, requestBudgetSignal, requestSignal, sleepWithinRequestBudget, throwIfRequestCancelled, withoutResponseBudget, } from './http-deadline.js';
17
18
  import { prepareDataPreviewWireBody } from './http-wire-body.js';
18
- import { legacyContentHandlerFallback } from './legacy-content-handler.js';
19
+ import { legacyContentHandlerFallback, rejectEmptyAdtHtmlResponse } from './legacy-content-handler.js';
19
20
  import { fetchWithAttemptBudget } from './request-attempt-budget.js';
20
21
  import { resolveSapUserAgent } from './user-agent.js';
21
22
  /**
@@ -273,6 +274,7 @@ export class AdtHttpClient {
273
274
  /** Inner request method — CSRF, retries, content negotiation */
274
275
  async requestInner(method, path, body, contentType, extraHeaders, options) {
275
276
  throwIfRequestCancelled(options);
277
+ const expectBody = method !== 'HEAD';
276
278
  // Auto-fetch CSRF token for modifying requests
277
279
  if (isModifyingMethod(method) && !this.csrfToken) {
278
280
  await this.fetchCsrfToken(withoutResponseBudget(options));
@@ -350,7 +352,16 @@ export class AdtHttpClient {
350
352
  if (this.config.sapConnectivityAuth && !this.config.ppProxyAuth) {
351
353
  headers['SAP-Connectivity-Authentication'] = this.config.sapConnectivityAuth;
352
354
  }
353
- const url = this.buildUrl(path);
355
+ // Quick-fix lookup includes queries (#993); old revision feeds append source paths to them. Use context headers.
356
+ const sapContextInHeaders = (method === 'POST' && path.startsWith('/sap/bc/adt/quickfixes/proposals/')) ||
357
+ (method === 'GET' && /^\/sap\/bc\/adt\/[^?#]+\/versions$/.test(path));
358
+ if (sapContextInHeaders) {
359
+ if (this.config.client)
360
+ headers['sap-client'] = this.config.client;
361
+ if (this.config.language)
362
+ headers['sap-language'] = this.config.language;
363
+ }
364
+ const url = this.buildUrl(path, sapContextInHeaders);
354
365
  const httpStart = Date.now();
355
366
  // Per-request guards to prevent infinite retry loops
356
367
  const retryTransientErrors = options?.retryTransientErrors !== false;
@@ -404,7 +415,7 @@ export class AdtHttpClient {
404
415
  const retryResp = await this.doFetch(url, method, headers, wireBody, options);
405
416
  const retryBody = await retryResp.text();
406
417
  this.storeCookies(retryResp);
407
- const retryResult = this.handleResponse(retryResp.status, retryResp.headers, retryBody, path);
418
+ const retryResult = this.handleResponse(retryResp.status, retryResp.headers, retryBody, path, expectBody);
408
419
  logger.emitAudit({
409
420
  timestamp: new Date().toISOString(),
410
421
  level: 'info',
@@ -450,7 +461,7 @@ export class AdtHttpClient {
450
461
  durationMs: Date.now() - httpStart,
451
462
  errorBody: `503 retry completed (${retryResp.status})`,
452
463
  });
453
- return this.handleResponse(retryResp.status, retryResp.headers, retryBody, path);
464
+ return this.handleResponse(retryResp.status, retryResp.headers, retryBody, path, expectBody);
454
465
  }
455
466
  // Handle 429 Too Many Requests — emitted by SAP Web Dispatcher, BTP API
456
467
  // Management, or any upstream gateway throttling us. Honors Retry-After when present;
@@ -482,7 +493,7 @@ export class AdtHttpClient {
482
493
  durationMs: Date.now() - httpStart,
483
494
  errorBody: `429 retry completed (${retryResp.status})`,
484
495
  });
485
- return this.handleResponse(retryResp.status, retryResp.headers, retryBody, path);
496
+ return this.handleResponse(retryResp.status, retryResp.headers, retryBody, path, expectBody);
486
497
  }
487
498
  // Handle 401 session timeout — reset session and retry once.
488
499
  // Uses per-request guard (not instance-level) so concurrent requests each get their own retry.
@@ -560,20 +571,10 @@ export class AdtHttpClient {
560
571
  if (csrfRefreshedCookieHeader) {
561
572
  headers.Cookie = csrfRefreshedCookieHeader;
562
573
  }
563
- const retryResponse = await this.doFetch(url, method, headers, wireBody, options);
564
- const retryBody = await retryResponse.text();
565
- this.storeCookies(retryResponse);
566
- const result = this.handleResponse(retryResponse.status, retryResponse.headers, retryBody, path);
567
- logger.emitAudit({
568
- timestamp: new Date().toISOString(),
569
- level: 'info',
570
- event: 'http_request',
571
- method,
572
- path,
573
- statusCode: retryResponse.status,
574
- durationMs: Date.now() - httpStart,
575
- });
576
- return result;
574
+ response = await this.doFetch(url, method, headers, wireBody, options);
575
+ responseBody = await response.text();
576
+ this.storeCookies(response);
577
+ // A refreshed session can still need legacy content negotiation below (#996).
577
578
  }
578
579
  // Retry negotiation once, including the narrowly matched NW 7.40 handler error.
579
580
  const legacyFallback = legacyContentHandlerFallback(response.status, responseBody, method, negotiationKey, headers);
@@ -586,25 +587,11 @@ export class AdtHttpClient {
586
587
  headersChanged = true;
587
588
  }
588
589
  else if (response.status === 406) {
589
- // Server rejected our Accept header — try fallback
590
- const inferred = inferAcceptFromError(responseBody);
591
- if (inferred && inferred !== fallbackHeaders.Accept) {
592
- fallbackHeaders.Accept = inferred;
593
- headersChanged = true;
594
- }
595
- else if (fallbackHeaders.Accept &&
596
- fallbackHeaders.Accept !== '*/*' &&
597
- fallbackHeaders.Accept !== 'application/xml') {
598
- // Fall back to generic XML first
599
- fallbackHeaders.Accept = 'application/xml';
600
- headersChanged = true;
601
- }
602
- else if (fallbackHeaders.Accept === 'application/xml') {
603
- // application/xml was already rejected — fall back to wildcard
604
- fallbackHeaders.Accept = '*/*';
590
+ const fallback = acceptFallback(responseBody, fallbackHeaders.Accept, method, negotiationKey);
591
+ if (fallback) {
592
+ fallbackHeaders.Accept = fallback;
605
593
  headersChanged = true;
606
594
  }
607
- // If Accept is already */* and no inferred type, no useful fallback — skip retry
608
595
  }
609
596
  else {
610
597
  // 415: Server rejected our Content-Type — try fallbacks:
@@ -642,7 +629,7 @@ export class AdtHttpClient {
642
629
  if (retryToken && retryToken !== 'Required') {
643
630
  this.csrfToken = retryToken;
644
631
  }
645
- const retryResult = this.handleResponse(retryResp.status, retryResp.headers, retryBody, path);
632
+ const retryResult = this.handleResponse(retryResp.status, retryResp.headers, retryBody, path, expectBody);
646
633
  const currentContentType = contentType ?? headers['Content-Type'];
647
634
  const negotiated = {};
648
635
  if (retryAccept !== headers.Accept) {
@@ -674,7 +661,7 @@ export class AdtHttpClient {
674
661
  if (responseToken && responseToken !== 'Required') {
675
662
  this.csrfToken = responseToken;
676
663
  }
677
- const result = this.handleResponse(response.status, response.headers, responseBody, path);
664
+ const result = this.handleResponse(response.status, response.headers, responseBody, path, expectBody);
678
665
  logger.emitAudit({
679
666
  timestamp: new Date().toISOString(),
680
667
  level: 'debug',
@@ -762,7 +749,7 @@ export class AdtHttpClient {
762
749
  }
763
750
  }
764
751
  /** Handle response: throw on error status, return normalized response */
765
- handleResponse(status, headers, body, path) {
752
+ handleResponse(status, headers, body, path, expectBody = true) {
766
753
  const contentType = headers.get('content-type')?.toLowerCase();
767
754
  const isDiscovery = ['/sap/bc/adt/core/discovery', '/sap/bc/adt/discovery'].includes(path.split('?', 1)[0]);
768
755
  if (status === 200 &&
@@ -775,6 +762,8 @@ export class AdtHttpClient {
775
762
  this.notifyUnauthorized(path);
776
763
  throw new AdtApiError('ADT call returned HTML login page — authentication required. If using cookies, they may have expired. If using Basic auth, credentials may be invalid or not authorized for ADT (S_ADT_RES missing). If on an SSO-only system, try SAP_DISABLE_SAML=true or see docs/enterprise-auth.md. Re-run arc-1 after fixing.', 401, path, body.slice(0, 500));
777
764
  }
765
+ if (expectBody)
766
+ rejectEmptyAdtHtmlResponse(status, contentType, body, path);
778
767
  if (status >= 400) {
779
768
  if (status === 401) {
780
769
  this.notifyUnauthorized(path);
@@ -858,8 +847,8 @@ export class AdtHttpClient {
858
847
  hasContext: /(?:^|;\s*)sap-contextid=/.test(cookieHeader ?? ''),
859
848
  });
860
849
  if (method === 'GET' && response.status === 200 && !usableToken(response)) {
861
- // Preserve the login-page check even when an old handler reports HTTP 200.
862
- this.handleResponse(response.status, response.headers, await response.text(), path);
850
+ // Check login pages, but preserve the header-only legacy discovery fallback.
851
+ this.handleResponse(response.status, response.headers, await response.text(), path, false);
863
852
  }
864
853
  // Only headers are needed; release GET bodies before a fallback or return.
865
854
  if (!response.bodyUsed)
@@ -1053,18 +1042,18 @@ export class AdtHttpClient {
1053
1042
  this.cookieJar.set(name, value);
1054
1043
  }
1055
1044
  }
1056
- /** Build full URL with sap-client and sap-language query params */
1057
- buildUrl(path) {
1045
+ /** Add SAP context query params unless the caller sends that context in headers. */
1046
+ buildUrl(path, sapContextInHeaders = false) {
1058
1047
  const base = this.config.baseUrl.replace(/\/$/, '');
1059
1048
  const normalizedPath = path.startsWith('/') ? path : `/${path}`;
1060
1049
  const url = new URL(base + normalizedPath);
1061
- if (this.config.client) {
1050
+ if (this.config.client && !sapContextInHeaders) {
1062
1051
  url.searchParams.set('sap-client', this.config.client);
1063
1052
  }
1064
- if (this.config.language) {
1053
+ if (this.config.language && !sapContextInHeaders) {
1065
1054
  url.searchParams.set('sap-language', this.config.language);
1066
1055
  }
1067
- if (this.config.disableSaml) {
1056
+ if (this.config.disableSaml && !sapContextInHeaders) {
1068
1057
  url.searchParams.set('saml2', 'disabled');
1069
1058
  }
1070
1059
  return url.toString();
@@ -1248,17 +1237,6 @@ export function parseRetryAfter(header, fallbackMs) {
1248
1237
  }
1249
1238
  return { delayMs: clamp(fallbackMs), source: 'fallback' };
1250
1239
  }
1251
- /**
1252
- * Try to extract an accepted media type from a SAP 406 error response body.
1253
- *
1254
- * SAP sometimes includes the expected media type in error text, e.g.:
1255
- * "...expected application/vnd.sap.adt.transportorganizertree.v1+xml..."
1256
- * Returns the extracted media type or undefined if none found.
1257
- */
1258
- function inferAcceptFromError(body) {
1259
- const match = body.match(/application\/[\w.+-]+(?:\/[\w.+-]+)?/);
1260
- return match?.[0];
1261
- }
1262
1240
  /**
1263
1241
  * Distinguish a real SAP logon page from a legitimate HTML response payload.
1264
1242
  *