arc-1 0.9.25 → 1.0.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 (332) hide show
  1. package/README.md +29 -12
  2. package/dist/adt/abapgit.d.ts +19 -6
  3. package/dist/adt/abapgit.d.ts.map +1 -1
  4. package/dist/adt/abapgit.js +141 -36
  5. package/dist/adt/abapgit.js.map +1 -1
  6. package/dist/adt/authorization-trace.d.ts +23 -0
  7. package/dist/adt/authorization-trace.d.ts.map +1 -0
  8. package/dist/adt/authorization-trace.js +196 -0
  9. package/dist/adt/authorization-trace.js.map +1 -0
  10. package/dist/adt/client.d.ts +21 -8
  11. package/dist/adt/client.d.ts.map +1 -1
  12. package/dist/adt/client.js +47 -7
  13. package/dist/adt/client.js.map +1 -1
  14. package/dist/adt/config.d.ts +15 -0
  15. package/dist/adt/config.d.ts.map +1 -1
  16. package/dist/adt/config.js.map +1 -1
  17. package/dist/adt/crud.d.ts +7 -2
  18. package/dist/adt/crud.d.ts.map +1 -1
  19. package/dist/adt/crud.js +12 -4
  20. package/dist/adt/crud.js.map +1 -1
  21. package/dist/adt/ddic-xml.d.ts +27 -17
  22. package/dist/adt/ddic-xml.d.ts.map +1 -1
  23. package/dist/adt/ddic-xml.js +45 -34
  24. package/dist/adt/ddic-xml.js.map +1 -1
  25. package/dist/adt/devtools.d.ts +13 -0
  26. package/dist/adt/devtools.d.ts.map +1 -1
  27. package/dist/adt/devtools.js +120 -50
  28. package/dist/adt/devtools.js.map +1 -1
  29. package/dist/adt/diagnostics.d.ts +1 -1
  30. package/dist/adt/diagnostics.d.ts.map +1 -1
  31. package/dist/adt/diagnostics.js +1 -0
  32. package/dist/adt/diagnostics.js.map +1 -1
  33. package/dist/adt/errors.d.ts +8 -8
  34. package/dist/adt/errors.d.ts.map +1 -1
  35. package/dist/adt/errors.js +30 -11
  36. package/dist/adt/errors.js.map +1 -1
  37. package/dist/adt/http.d.ts +17 -1
  38. package/dist/adt/http.d.ts.map +1 -1
  39. package/dist/adt/http.js +102 -19
  40. package/dist/adt/http.js.map +1 -1
  41. package/dist/adt/oauth.d.ts +2 -2
  42. package/dist/adt/oauth.d.ts.map +1 -1
  43. package/dist/adt/oauth.js +5 -3
  44. package/dist/adt/oauth.js.map +1 -1
  45. package/dist/adt/package-hierarchy.d.ts.map +1 -1
  46. package/dist/adt/package-hierarchy.js.map +1 -1
  47. package/dist/adt/rap-generate.js.map +1 -1
  48. package/dist/adt/rap-handlers.js.map +1 -1
  49. package/dist/adt/rap-preflight.js.map +1 -1
  50. package/dist/adt/safety.d.ts +13 -13
  51. package/dist/adt/safety.d.ts.map +1 -1
  52. package/dist/adt/semaphore.d.ts.map +1 -1
  53. package/dist/adt/server-driven.d.ts +154 -34
  54. package/dist/adt/server-driven.d.ts.map +1 -1
  55. package/dist/adt/server-driven.js +178 -53
  56. package/dist/adt/server-driven.js.map +1 -1
  57. package/dist/adt/structure-hierarchy.js.map +1 -1
  58. package/dist/adt/transport.d.ts +6 -6
  59. package/dist/adt/transport.d.ts.map +1 -1
  60. package/dist/adt/transport.js +23 -34
  61. package/dist/adt/transport.js.map +1 -1
  62. package/dist/adt/types.d.ts +94 -6
  63. package/dist/adt/types.d.ts.map +1 -1
  64. package/dist/adt/version-diff.js.map +1 -1
  65. package/dist/adt/xml-parser.d.ts +52 -12
  66. package/dist/adt/xml-parser.d.ts.map +1 -1
  67. package/dist/adt/xml-parser.js +120 -10
  68. package/dist/adt/xml-parser.js.map +1 -1
  69. package/dist/aff/validator.js.map +1 -1
  70. package/dist/authz/policy.d.ts +8 -0
  71. package/dist/authz/policy.d.ts.map +1 -1
  72. package/dist/authz/policy.js +24 -0
  73. package/dist/authz/policy.js.map +1 -1
  74. package/dist/cache/cache.d.ts +4 -36
  75. package/dist/cache/cache.d.ts.map +1 -1
  76. package/dist/cache/cache.js +4 -5
  77. package/dist/cache/cache.js.map +1 -1
  78. package/dist/cache/caching-layer.d.ts +6 -22
  79. package/dist/cache/caching-layer.d.ts.map +1 -1
  80. package/dist/cache/caching-layer.js +5 -29
  81. package/dist/cache/caching-layer.js.map +1 -1
  82. package/dist/cache/inactive-list-cache.d.ts.map +1 -1
  83. package/dist/cache/memory.d.ts +2 -13
  84. package/dist/cache/memory.d.ts.map +1 -1
  85. package/dist/cache/memory.js +1 -70
  86. package/dist/cache/memory.js.map +1 -1
  87. package/dist/cache/sqlite.d.ts +3 -10
  88. package/dist/cache/sqlite.d.ts.map +1 -1
  89. package/dist/cache/sqlite.js +9 -85
  90. package/dist/cache/sqlite.js.map +1 -1
  91. package/dist/cli.js +6 -3
  92. package/dist/cli.js.map +1 -1
  93. package/dist/context/compressor.js.map +1 -1
  94. package/dist/context/grep.js.map +1 -1
  95. package/dist/context/unit-surgery.d.ts +28 -0
  96. package/dist/context/unit-surgery.d.ts.map +1 -0
  97. package/dist/context/unit-surgery.js +150 -0
  98. package/dist/context/unit-surgery.js.map +1 -0
  99. package/dist/extract-sap-cookies.js.map +1 -1
  100. package/dist/handlers/activate.d.ts.map +1 -1
  101. package/dist/handlers/activate.js +44 -6
  102. package/dist/handlers/activate.js.map +1 -1
  103. package/dist/handlers/context.d.ts +1 -1
  104. package/dist/handlers/context.d.ts.map +1 -1
  105. package/dist/handlers/context.js +98 -28
  106. package/dist/handlers/context.js.map +1 -1
  107. package/dist/handlers/diagnose.d.ts.map +1 -1
  108. package/dist/handlers/diagnose.js +74 -31
  109. package/dist/handlers/diagnose.js.map +1 -1
  110. package/dist/handlers/dispatch.d.ts +12 -1
  111. package/dist/handlers/dispatch.d.ts.map +1 -1
  112. package/dist/handlers/dispatch.js +160 -25
  113. package/dist/handlers/dispatch.js.map +1 -1
  114. package/dist/handlers/feature-cache.d.ts +27 -14
  115. package/dist/handlers/feature-cache.d.ts.map +1 -1
  116. package/dist/handlers/feature-cache.js +63 -25
  117. package/dist/handlers/feature-cache.js.map +1 -1
  118. package/dist/handlers/function-processing.d.ts +61 -0
  119. package/dist/handlers/function-processing.d.ts.map +1 -0
  120. package/dist/handlers/function-processing.js +45 -0
  121. package/dist/handlers/function-processing.js.map +1 -0
  122. package/dist/handlers/git.d.ts.map +1 -1
  123. package/dist/handlers/git.js +44 -19
  124. package/dist/handlers/git.js.map +1 -1
  125. package/dist/handlers/hyperfocused.d.ts.map +1 -1
  126. package/dist/handlers/hyperfocused.js +2 -3
  127. package/dist/handlers/hyperfocused.js.map +1 -1
  128. package/dist/handlers/lint.d.ts.map +1 -1
  129. package/dist/handlers/lint.js +7 -7
  130. package/dist/handlers/lint.js.map +1 -1
  131. package/dist/handlers/manage.d.ts.map +1 -1
  132. package/dist/handlers/manage.js +47 -28
  133. package/dist/handlers/manage.js.map +1 -1
  134. package/dist/handlers/navigate.d.ts.map +1 -1
  135. package/dist/handlers/navigate.js +27 -90
  136. package/dist/handlers/navigate.js.map +1 -1
  137. package/dist/handlers/object-types.d.ts +2 -0
  138. package/dist/handlers/object-types.d.ts.map +1 -1
  139. package/dist/handlers/object-types.js +10 -0
  140. package/dist/handlers/object-types.js.map +1 -1
  141. package/dist/handlers/query-errors.d.ts +11 -0
  142. package/dist/handlers/query-errors.d.ts.map +1 -0
  143. package/dist/handlers/query-errors.js +216 -0
  144. package/dist/handlers/query-errors.js.map +1 -0
  145. package/dist/handlers/query.d.ts.map +1 -1
  146. package/dist/handlers/query.js +62 -67
  147. package/dist/handlers/query.js.map +1 -1
  148. package/dist/handlers/read.d.ts.map +1 -1
  149. package/dist/handlers/read.js +64 -41
  150. package/dist/handlers/read.js.map +1 -1
  151. package/dist/handlers/schemas.d.ts +285 -234
  152. package/dist/handlers/schemas.d.ts.map +1 -1
  153. package/dist/handlers/schemas.js +126 -32
  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 +8 -7
  157. package/dist/handlers/search.js.map +1 -1
  158. package/dist/handlers/shared.d.ts +13 -0
  159. package/dist/handlers/shared.d.ts.map +1 -1
  160. package/dist/handlers/shared.js +15 -0
  161. package/dist/handlers/shared.js.map +1 -1
  162. package/dist/handlers/tool-descriptions.d.ts +4 -0
  163. package/dist/handlers/tool-descriptions.d.ts.map +1 -0
  164. package/dist/handlers/tool-descriptions.js +52 -0
  165. package/dist/handlers/tool-descriptions.js.map +1 -0
  166. package/dist/handlers/tool-registry.d.ts +20 -6
  167. package/dist/handlers/tool-registry.d.ts.map +1 -1
  168. package/dist/handlers/tool-registry.js +18 -0
  169. package/dist/handlers/tool-registry.js.map +1 -1
  170. package/dist/handlers/tools.d.ts.map +1 -1
  171. package/dist/handlers/tools.js +124 -92
  172. package/dist/handlers/tools.js.map +1 -1
  173. package/dist/handlers/transport.d.ts +1 -1
  174. package/dist/handlers/transport.d.ts.map +1 -1
  175. package/dist/handlers/transport.js +37 -10
  176. package/dist/handlers/transport.js.map +1 -1
  177. package/dist/handlers/where-used.d.ts +25 -0
  178. package/dist/handlers/where-used.d.ts.map +1 -0
  179. package/dist/handlers/where-used.js +94 -0
  180. package/dist/handlers/where-used.js.map +1 -0
  181. package/dist/handlers/write/class-surgery.d.ts.map +1 -1
  182. package/dist/handlers/write/class-surgery.js +11 -12
  183. package/dist/handlers/write/class-surgery.js.map +1 -1
  184. package/dist/handlers/write/create.d.ts.map +1 -1
  185. package/dist/handlers/write/create.js +194 -84
  186. package/dist/handlers/write/create.js.map +1 -1
  187. package/dist/handlers/write/rap.d.ts.map +1 -1
  188. package/dist/handlers/write/rap.js +9 -9
  189. package/dist/handlers/write/rap.js.map +1 -1
  190. package/dist/handlers/write/unit-surgery.d.ts +5 -0
  191. package/dist/handlers/write/unit-surgery.d.ts.map +1 -0
  192. package/dist/handlers/write/unit-surgery.js +47 -0
  193. package/dist/handlers/write/unit-surgery.js.map +1 -0
  194. package/dist/handlers/write/update-delete.js +8 -8
  195. package/dist/handlers/write/update-delete.js.map +1 -1
  196. package/dist/handlers/write-helpers.d.ts +7 -4
  197. package/dist/handlers/write-helpers.d.ts.map +1 -1
  198. package/dist/handlers/write-helpers.js +118 -63
  199. package/dist/handlers/write-helpers.js.map +1 -1
  200. package/dist/handlers/write.d.ts.map +1 -1
  201. package/dist/handlers/write.js +35 -13
  202. package/dist/handlers/write.js.map +1 -1
  203. package/dist/lint/config-builder.js.map +1 -1
  204. package/dist/lint/lint.d.ts.map +1 -1
  205. package/dist/lint/lint.js +4 -2
  206. package/dist/lint/lint.js.map +1 -1
  207. package/dist/probe/catalog.js +1 -1
  208. package/dist/probe/catalog.js.map +1 -1
  209. package/dist/public/testing.js.map +1 -1
  210. package/dist/public/ui/app.js +1 -14
  211. package/dist/registry/tool-registry.d.ts.map +1 -1
  212. package/dist/server/audit.d.ts +27 -15
  213. package/dist/server/audit.d.ts.map +1 -1
  214. package/dist/server/audit.js.map +1 -1
  215. package/dist/server/auth-rate-limit.d.ts +18 -9
  216. package/dist/server/auth-rate-limit.d.ts.map +1 -1
  217. package/dist/server/auth-rate-limit.js +31 -6
  218. package/dist/server/auth-rate-limit.js.map +1 -1
  219. package/dist/server/auth-summary.d.ts +4 -0
  220. package/dist/server/auth-summary.d.ts.map +1 -0
  221. package/dist/server/auth-summary.js +67 -0
  222. package/dist/server/auth-summary.js.map +1 -0
  223. package/dist/server/config.d.ts.map +1 -1
  224. package/dist/server/config.js +110 -7
  225. package/dist/server/config.js.map +1 -1
  226. package/dist/server/context.d.ts +12 -0
  227. package/dist/server/context.d.ts.map +1 -1
  228. package/dist/server/context.js.map +1 -1
  229. package/dist/server/destination-discovery.d.ts +36 -0
  230. package/dist/server/destination-discovery.d.ts.map +1 -0
  231. package/dist/server/destination-discovery.js +130 -0
  232. package/dist/server/destination-discovery.js.map +1 -0
  233. package/dist/server/destination-registry.d.ts +111 -0
  234. package/dist/server/destination-registry.d.ts.map +1 -0
  235. package/dist/server/destination-registry.js +449 -0
  236. package/dist/server/destination-registry.js.map +1 -0
  237. package/dist/server/http.d.ts +43 -1
  238. package/dist/server/http.d.ts.map +1 -1
  239. package/dist/server/http.js +283 -73
  240. package/dist/server/http.js.map +1 -1
  241. package/dist/server/logger.d.ts.map +1 -1
  242. package/dist/server/logger.js +58 -13
  243. package/dist/server/logger.js.map +1 -1
  244. package/dist/server/mcp-rate-limit.d.ts +6 -4
  245. package/dist/server/mcp-rate-limit.d.ts.map +1 -1
  246. package/dist/server/mcp-rate-limit.js +6 -4
  247. package/dist/server/mcp-rate-limit.js.map +1 -1
  248. package/dist/server/multi-target-basic-auth.d.ts +49 -0
  249. package/dist/server/multi-target-basic-auth.d.ts.map +1 -0
  250. package/dist/server/multi-target-basic-auth.js +246 -0
  251. package/dist/server/multi-target-basic-auth.js.map +1 -0
  252. package/dist/server/multi-target-catalog.d.ts +33 -0
  253. package/dist/server/multi-target-catalog.d.ts.map +1 -0
  254. package/dist/server/multi-target-catalog.js +130 -0
  255. package/dist/server/multi-target-catalog.js.map +1 -0
  256. package/dist/server/multi-target-destination-config.d.ts +12 -0
  257. package/dist/server/multi-target-destination-config.d.ts.map +1 -0
  258. package/dist/server/multi-target-destination-config.js +37 -0
  259. package/dist/server/multi-target-destination-config.js.map +1 -0
  260. package/dist/server/multi-target-destination-runtime.d.ts +20 -0
  261. package/dist/server/multi-target-destination-runtime.d.ts.map +1 -0
  262. package/dist/server/multi-target-destination-runtime.js +191 -0
  263. package/dist/server/multi-target-destination-runtime.js.map +1 -0
  264. package/dist/server/multi-target-feature-state.d.ts +6 -0
  265. package/dist/server/multi-target-feature-state.d.ts.map +1 -0
  266. package/dist/server/multi-target-feature-state.js +41 -0
  267. package/dist/server/multi-target-feature-state.js.map +1 -0
  268. package/dist/server/multi-target-identity.d.ts +10 -0
  269. package/dist/server/multi-target-identity.d.ts.map +1 -0
  270. package/dist/server/multi-target-identity.js +18 -0
  271. package/dist/server/multi-target-identity.js.map +1 -0
  272. package/dist/server/multi-target-runtime.d.ts +27 -0
  273. package/dist/server/multi-target-runtime.d.ts.map +1 -0
  274. package/dist/server/multi-target-runtime.js +110 -0
  275. package/dist/server/multi-target-runtime.js.map +1 -0
  276. package/dist/server/multi-target-server.d.ts +53 -0
  277. package/dist/server/multi-target-server.d.ts.map +1 -0
  278. package/dist/server/multi-target-server.js +434 -0
  279. package/dist/server/multi-target-server.js.map +1 -0
  280. package/dist/server/multi-target-shared-auth-state.d.ts +82 -0
  281. package/dist/server/multi-target-shared-auth-state.d.ts.map +1 -0
  282. package/dist/server/multi-target-shared-auth-state.js +226 -0
  283. package/dist/server/multi-target-shared-auth-state.js.map +1 -0
  284. package/dist/server/multi-target-tools.d.ts +20 -0
  285. package/dist/server/multi-target-tools.d.ts.map +1 -0
  286. package/dist/server/multi-target-tools.js +191 -0
  287. package/dist/server/multi-target-tools.js.map +1 -0
  288. package/dist/server/oauth-session-recovery.d.ts +22 -0
  289. package/dist/server/oauth-session-recovery.d.ts.map +1 -0
  290. package/dist/server/oauth-session-recovery.js +69 -0
  291. package/dist/server/oauth-session-recovery.js.map +1 -0
  292. package/dist/server/server.d.ts +47 -25
  293. package/dist/server/server.d.ts.map +1 -1
  294. package/dist/server/server.js +490 -301
  295. package/dist/server/server.js.map +1 -1
  296. package/dist/server/sinks/btp-auditlog.d.ts.map +1 -1
  297. package/dist/server/sinks/btp-auditlog.js +83 -11
  298. package/dist/server/sinks/btp-auditlog.js.map +1 -1
  299. package/dist/server/sinks/file.d.ts.map +1 -1
  300. package/dist/server/sinks/file.js.map +1 -1
  301. package/dist/server/sinks/stderr.d.ts.map +1 -1
  302. package/dist/server/sinks/stderr.js.map +1 -1
  303. package/dist/server/tool-auth.d.ts +10 -0
  304. package/dist/server/tool-auth.d.ts.map +1 -0
  305. package/dist/server/tool-auth.js +75 -0
  306. package/dist/server/tool-auth.js.map +1 -0
  307. package/dist/server/trace-context.d.ts +51 -0
  308. package/dist/server/trace-context.d.ts.map +1 -0
  309. package/dist/server/trace-context.js +100 -0
  310. package/dist/server/trace-context.js.map +1 -0
  311. package/dist/server/types.d.ts +28 -7
  312. package/dist/server/types.d.ts.map +1 -1
  313. package/dist/server/types.js +5 -2
  314. package/dist/server/types.js.map +1 -1
  315. package/dist/server/ui-log-buffer.d.ts.map +1 -1
  316. package/dist/server/ui-log-buffer.js.map +1 -1
  317. package/dist/server/ui-state.d.ts +0 -2
  318. package/dist/server/ui-state.d.ts.map +1 -1
  319. package/dist/server/ui-state.js +2 -6
  320. package/dist/server/ui-state.js.map +1 -1
  321. package/dist/server/ui.d.ts.map +1 -1
  322. package/dist/server/ui.js +8 -9
  323. package/dist/server/ui.js.map +1 -1
  324. package/package.json +21 -18
  325. package/dist/cache/warmup.d.ts +0 -41
  326. package/dist/cache/warmup.d.ts.map +0 -1
  327. package/dist/cache/warmup.js +0 -337
  328. package/dist/cache/warmup.js.map +0 -1
  329. package/dist/server/elicit.d.ts +0 -43
  330. package/dist/server/elicit.d.ts.map +0 -1
  331. package/dist/server/elicit.js +0 -183
  332. package/dist/server/elicit.js.map +0 -1
@@ -494,6 +494,24 @@ export function classifySapDomainError(statusCode, responseBody, path, abapRelea
494
494
  details: { exceptionType: typeId },
495
495
  };
496
496
  }
497
+ // DDLS006 source-type restriction for legacy `extend view`. SAP Note 3567464 says DDIC-based CDS
498
+ // extends require Standard ABAP and improves this diagnostic on corrected systems. Live testing on
499
+ // SAP_BASIS 758 confirmed that cloudDevelopment rejects the source while Standard ABAP accepts it,
500
+ // but #614 also reports DDLS006 from an older FPS01 system whose package is already Standard ABAP.
501
+ // Keep the remediation broad enough for both cases; this is not a missing ARC-1 object subtype.
502
+ const viewExtendProperties = statusCode === 400 ? AdtApiError.extractProperties(bodyRaw) : {};
503
+ const viewExtendMessageNumber = viewExtendProperties['T100KEY-NO'] ?? viewExtendProperties['T100KEY-MSGNO'];
504
+ const hasViewExtendT100 = viewExtendMessageNumber === '006' && /^view extend$/i.test(viewExtendProperties['T100KEY-V1']?.trim() ?? '');
505
+ if (statusCode === 400 &&
506
+ (hasViewExtendT100 || /object type\s+view extend\s+is not allowed in this system/i.test(bodyRaw))) {
507
+ return {
508
+ category: 'ddls-view-extend-restriction',
509
+ hint: 'Legacy CDS `extend view` already uses SAPWrite type="DDLS" (ADT DDLS/DF); SAP DDLS006 rejected the View Extend source type. ' +
510
+ 'Verify that the target package and base object use Standard ABAP. If they already do, ask the Basis team whether SAP Note 3567464 or its containing support package is installed. ' +
511
+ 'Do not use a separate ARC-1 object type; changing to `extend view entity` is valid only for a compatible view-entity base and is not a general workaround.',
512
+ details: typeId ? { exceptionType: typeId } : undefined,
513
+ };
514
+ }
497
515
  const lockPattern = /\blocked by\b|\bbeing edited by\b|\bcurrently editing\b|\bresource is locked\b|\balready locked\b/i.test(bodyRaw);
498
516
  // A create-time package/authorization denial surfaces as ExceptionResourceNoAccess too (a structure
499
517
  // package, a non-writable package, missing authorization), but it is NOT a lock — never send the user
@@ -826,24 +844,25 @@ export function isSessionExpiredError(err) {
826
844
  return err instanceof AdtApiError && err.isSessionExpired;
827
845
  }
828
846
  /**
829
- * Extract the offending column from an "unknown column name" data-preview / freestyle error, else
830
- * null. Anchored on the LANGUAGE-STABLE T100 message id, not localized prose: the failure is class
831
- * `ADT_DATAPREVIEW_MSG` number `004` on every release/logon language (live-verified 7.58 + 8.16, EN
832
- * AND DE — under DE the prose is "Unbekannter Spaltenname"). The column is always the quoted token in
833
- * `T100KEY-V1` regardless of language. Missing-table is the same class but number `022`, so the number
834
- * guards against that false positive. (ADR-0002: anchor on the message id, never the prose.) Used to
835
- * self-correct unknown-column queries with the table's real column list (see `formatUnknownColumnHint`).
847
+ * Extract the offending column from a verified unknown-column data-preview error, else null.
848
+ *
849
+ * Live testing on 7.58/8.16 showed that `ADT_DATAPREVIEW_MSG` number `004` is a generic parser bucket:
850
+ * DESC/LIMIT grammar failures and ambiguous join columns use it too. The id+number remain a required
851
+ * structural gate, but are not sufficient to justify replacing SAP's message with an unknown-column
852
+ * hint. We additionally accept only the live-verified EN/DE unknown-column forms. Unknown languages
853
+ * deliberately fall back to SAP's original error rather than risk confidently wrong remediation.
836
854
  */
837
855
  export function extractUnknownColumn(err) {
838
856
  if (!(err instanceof AdtApiError))
839
857
  return null;
840
858
  const body = err.responseBody ?? '';
841
- if (!body.includes('ADT_DATAPREVIEW_MSG') || !/<entry key="T100KEY-NO">0*4<\/entry>/.test(body)) {
859
+ const properties = AdtApiError.extractProperties(body);
860
+ if (properties['T100KEY-ID'] !== 'ADT_DATAPREVIEW_MSG' || !/^0*4$/.test(properties['T100KEY-NO'] ?? '')) {
842
861
  return null;
843
862
  }
844
- const v1 = body.match(/<entry key="T100KEY-V1">([^<]*)<\/entry>/);
845
- const col = v1?.[1]?.match(/"([A-Za-z0-9_/]+)"/);
846
- return col ? col[1] : null;
863
+ const message = properties['T100KEY-V1'] ?? '';
864
+ const unknownColumn = message.match(/^(?:Unknown column name|Unbekannter Spaltenname)\s+"([A-Za-z0-9_/$]+)"/i);
865
+ return unknownColumn?.[1] ?? null;
847
866
  }
848
867
  /** Render the self-correcting hint listing a table's actual columns. */
849
868
  export function formatUnknownColumnHint(badColumn, tableName, columns) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/adt/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/adt/errors.ts"],"names":[],"mappings":"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"}
@@ -89,6 +89,13 @@ export interface AdtHttpConfig {
89
89
  samlAuthorization?: string;
90
90
  /** Opt-in: disable SAML redirect via X-SAP-SAML2 header + saml2 query param */
91
91
  disableSaml?: boolean;
92
+ /** Retry one final 401 after resetting session state. Defaults to true. */
93
+ retryUnauthorized?: boolean;
94
+ /** Secret-free hook invoked for the final 401 returned to the caller. */
95
+ onUnauthorized?: (context: {
96
+ path: string;
97
+ statusCode: 401;
98
+ }) => void;
92
99
  /** Optional concurrency limiter shared across requests */
93
100
  semaphore?: Semaphore;
94
101
  }
@@ -98,6 +105,10 @@ export interface AdtResponse {
98
105
  headers: Record<string, string>;
99
106
  body: string;
100
107
  }
108
+ interface AuthenticationAttemptState {
109
+ rejected: boolean;
110
+ tail: Promise<void>;
111
+ }
101
112
  /**
102
113
  * ADT HTTP Client — handles CSRF tokens, sessions, and authentication.
103
114
  *
@@ -125,7 +136,9 @@ export declare class AdtHttpClient {
125
136
  private dbRetryInProgress;
126
137
  /** Set after a 401 clears stale cookies — triggers file reload on the next request */
127
138
  private cookiesCleared;
128
- constructor(config: AdtHttpConfig);
139
+ /** Shared by stateful clones so one rejected Basic credential cannot fan out internally. */
140
+ private readonly authenticationAttemptState;
141
+ constructor(config: AdtHttpConfig, authenticationAttemptState?: AuthenticationAttemptState);
129
142
  /** Inject startup discovery data used for proactive MIME negotiation. */
130
143
  setDiscoveryMap(map: Map<string, string[]>): void;
131
144
  /** True once ADT discovery has been loaded — lets callers distinguish "capability absent" from "unknown". */
@@ -156,10 +169,12 @@ export declare class AdtHttpClient {
156
169
  withStatefulSession<T>(fn: (client: AdtHttpClient) => Promise<T>): Promise<T>;
157
170
  /** Core request method — wraps requestInner with optional concurrency limiter */
158
171
  private request;
172
+ private runSerializedAuthenticationAttempt;
159
173
  /** Inner request method — CSRF, retries, content negotiation */
160
174
  private requestInner;
161
175
  private normalizeHeaderCacheKey;
162
176
  private resolveNegotiatedHeaders;
177
+ private notifyUnauthorized;
163
178
  /** Handle response: throw on error status, return normalized response */
164
179
  private handleResponse;
165
180
  /**
@@ -289,4 +304,5 @@ export declare function parseRetryAfter(header: string | null | undefined, fallb
289
304
  delayMs: number;
290
305
  source: 'header' | 'fallback';
291
306
  };
307
+ export {};
292
308
  //# sourceMappingURL=http.d.ts.map
@@ -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
@@ -27,7 +27,9 @@
27
27
  * No external HTTP dependencies — undici ships with Node.js 22+.
28
28
  */
29
29
  import { Agent, Client, fetch as undiciFetch } from 'undici';
30
+ import { getCurrentContext } from '../server/context.js';
30
31
  import { logger } from '../server/logger.js';
32
+ import { traceHeaders } from '../server/trace-context.js';
31
33
  import { resolveCookies } from './cookies.js';
32
34
  import { resolveAcceptType, resolveContentType } from './discovery.js';
33
35
  import { AdtApiError, AdtNetworkError } from './errors.js';
@@ -49,6 +51,7 @@ const HTTP_DEBUG_REDACT_HEADERS = new Set([
49
51
  'x-csrf-token',
50
52
  'sap-connectivity-authentication',
51
53
  'proxy-authorization',
54
+ 'password', // abapGit bridge credential header (base64 is not encryption)
52
55
  ]);
53
56
  function redactDebugHeaders(headers) {
54
57
  const out = {};
@@ -109,8 +112,11 @@ export class AdtHttpClient {
109
112
  dbRetryInProgress = false;
110
113
  /** Set after a 401 clears stale cookies — triggers file reload on the next request */
111
114
  cookiesCleared = false;
112
- constructor(config) {
115
+ /** Shared by stateful clones so one rejected Basic credential cannot fan out internally. */
116
+ authenticationAttemptState;
117
+ constructor(config, authenticationAttemptState) {
113
118
  this.config = config;
119
+ this.authenticationAttemptState = authenticationAttemptState ?? { rejected: false, tail: Promise.resolve() };
114
120
  // Set up undici dispatcher for TLS configuration (non-proxy mode only).
115
121
  // Proxy requests use a dedicated Client connected to the connectivity proxy
116
122
  // (see doProxyRequest()) — undici 8.x ProxyAgent always uses CONNECT tunneling,
@@ -169,7 +175,7 @@ export class AdtHttpClient {
169
175
  ...this.config,
170
176
  sessionType: 'stateful',
171
177
  };
172
- const sessionClient = new AdtHttpClient(sessionConfig);
178
+ const sessionClient = new AdtHttpClient(sessionConfig, this.authenticationAttemptState);
173
179
  // Share CSRF token and cookies so we don't need to re-fetch
174
180
  sessionClient.csrfToken = this.csrfToken;
175
181
  sessionClient.cookieJar = new Map(this.cookieJar);
@@ -179,10 +185,37 @@ export class AdtHttpClient {
179
185
  }
180
186
  /** Core request method — wraps requestInner with optional concurrency limiter */
181
187
  async request(method, path, body, contentType, extraHeaders, options) {
182
- if (this.config.semaphore) {
183
- return this.config.semaphore.run(() => this.requestInner(method, path, body, contentType, extraHeaders, options));
188
+ const execute = () => {
189
+ if (this.config.semaphore) {
190
+ return this.config.semaphore.run(() => this.requestInner(method, path, body, contentType, extraHeaders, options));
191
+ }
192
+ return this.requestInner(method, path, body, contentType, extraHeaders, options);
193
+ };
194
+ // Shared Basic clients disable 401 retries. Serialize their internal HTTP fan-out as well:
195
+ // feature probes and compound handlers can otherwise start several requests with the same
196
+ // expired password before the first 401 is observed. Once rejected, later requests on this
197
+ // per-call client fail locally and never contact SAP.
198
+ if (this.config.retryUnauthorized === false) {
199
+ return this.runSerializedAuthenticationAttempt(path, execute);
200
+ }
201
+ return execute();
202
+ }
203
+ async runSerializedAuthenticationAttempt(path, execute) {
204
+ const previous = this.authenticationAttemptState.tail;
205
+ let release;
206
+ this.authenticationAttemptState.tail = new Promise((resolve) => {
207
+ release = resolve;
208
+ });
209
+ await previous;
210
+ try {
211
+ if (this.authenticationAttemptState.rejected) {
212
+ throw new AdtApiError('Shared Basic authentication was already rejected for this request.', 401, path);
213
+ }
214
+ return await execute();
215
+ }
216
+ finally {
217
+ release();
184
218
  }
185
- return this.requestInner(method, path, body, contentType, extraHeaders, options);
186
219
  }
187
220
  /** Inner request method — CSRF, retries, content negotiation */
188
221
  async requestInner(method, path, body, contentType, extraHeaders, options) {
@@ -273,7 +306,7 @@ export class AdtHttpClient {
273
306
  // work process. If that WP has a broken HANA connection, every request fails
274
307
  // with "database connection is not open". Fix: clear the session to force
275
308
  // ICM to assign a different work process on retry.
276
- if (this.isDbConnectionError(responseBody) && !this.dbRetryInProgress) {
309
+ if (response.status === 500 && this.isDbConnectionError(responseBody) && !this.dbRetryInProgress) {
277
310
  this.dbRetryInProgress = true;
278
311
  try {
279
312
  logger.emitAudit({
@@ -397,7 +430,7 @@ export class AdtHttpClient {
397
430
  // Uses per-request guard (not instance-level) so concurrent requests each get their own retry.
398
431
  // On success, reassigns response/responseBody and falls through to downstream handlers
399
432
  // (403 CSRF, 406/415 negotiation) so combined-failure recovery works.
400
- if (response.status === 401 && !authRetried) {
433
+ if (response.status === 401 && !authRetried && this.config.retryUnauthorized !== false) {
401
434
  authRetried = true;
402
435
  logger.emitAudit({
403
436
  timestamp: new Date().toISOString(),
@@ -411,6 +444,13 @@ export class AdtHttpClient {
411
444
  });
412
445
  // Clear session to force fresh authentication
413
446
  this.resetSession();
447
+ // Pick up an out-of-band rotated cookie file so the call that observes the
448
+ // expiry can recover; the lazy `cookiesCleared` reload stays the fallback.
449
+ // `cookieFile`, not `isCookieAuthMode()` — cookieString has nothing to re-read,
450
+ // and reloadCookiesFromSource keeps config.cookies on a missing/empty file, so
451
+ // the retry still replays the ticket we have.
452
+ if (this.config.cookieFile)
453
+ this.reloadCookiesFromSource();
414
454
  // Re-apply auth credentials
415
455
  this.applyAuthHeader(headers);
416
456
  if (this.config.bearerTokenProvider) {
@@ -591,6 +631,10 @@ export class AdtHttpClient {
591
631
  // stays 404-only for its callers (optional class includes etc.).
592
632
  const isProbeMiss = options?.probe === true;
593
633
  const isSuppressedNotFound = options?.suppressNotFoundLog === true && err.statusCode === 404;
634
+ // Authentication and authorization bodies can contain technical usernames,
635
+ // SAP security details, or echoed login material. They are never useful in
636
+ // the general audit stream and must stay out even when HTTP debug is enabled.
637
+ const suppressAuthBody = err.statusCode === 401 || err.statusCode === 403;
594
638
  const level = isProbeMiss || isSuppressedNotFound ? 'debug' : 'warn';
595
639
  logger.emitAudit({
596
640
  timestamp: new Date().toISOString(),
@@ -600,12 +644,14 @@ export class AdtHttpClient {
600
644
  path,
601
645
  statusCode: err.statusCode,
602
646
  durationMs,
603
- errorBody: err.responseBody?.slice(0, 200),
647
+ errorBody: suppressAuthBody ? undefined : err.responseBody?.slice(0, 200),
604
648
  ...(process.env.ARC1_LOG_HTTP_DEBUG === 'true'
605
649
  ? {
606
650
  requestHeaders: redactDebugHeaders(headers),
607
651
  requestBody: truncateBody(body),
608
- responseBody: truncateBody(err.responseBody),
652
+ responseBody: suppressAuthBody
653
+ ? '[suppressed authentication response]'
654
+ : truncateBody(err.responseBody),
609
655
  }
610
656
  : {}),
611
657
  });
@@ -637,19 +683,35 @@ export class AdtHttpClient {
637
683
  }
638
684
  return matched;
639
685
  }
686
+ notifyUnauthorized(path) {
687
+ if (this.config.retryUnauthorized === false) {
688
+ this.authenticationAttemptState.rejected = true;
689
+ }
690
+ try {
691
+ this.config.onUnauthorized?.({ path, statusCode: 401 });
692
+ }
693
+ catch {
694
+ // Authentication-state observers must never replace the SAP error.
695
+ }
696
+ }
640
697
  /** Handle response: throw on error status, return normalized response */
641
698
  handleResponse(status, headers, body, path) {
642
699
  const contentType = headers.get('content-type')?.toLowerCase();
700
+ const isCoreDiscovery = path.split('?', 1)[0] === '/sap/bc/adt/core/discovery';
643
701
  if (status === 200 &&
644
702
  path.startsWith('/sap/bc/adt/') &&
645
- contentType?.startsWith('text/html') &&
703
+ (contentType?.startsWith('text/html') || isCoreDiscovery) &&
646
704
  looksLikeLoginPage(body)) {
647
705
  if (this.isCookieAuthMode()) {
648
706
  this.clearCookiesAndMark();
649
707
  }
708
+ this.notifyUnauthorized(path);
650
709
  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));
651
710
  }
652
711
  if (status >= 400) {
712
+ if (status === 401) {
713
+ this.notifyUnauthorized(path);
714
+ }
653
715
  throw new AdtApiError(body.slice(0, 500), status, path, body);
654
716
  }
655
717
  // Flatten headers to Record<string, string>
@@ -720,22 +782,37 @@ export class AdtHttpClient {
720
782
  await new Promise((resolve) => setTimeout(resolve, jitterMs));
721
783
  response = await this.doFetch(url, 'HEAD', headers);
722
784
  }
723
- // S/4HANA Public Cloud compat: CL_ADT_WB_RES_APP returns 403 for HEAD.
724
- // Retry with GET — GET also returns the CSRF token via X-CSRF-Token response header.
725
- if (response.status === 403) {
785
+ // Preserve any session established by HEAD before deciding whether GET is needed.
786
+ // The fallback request must use the same SAP session as the eventual write.
787
+ this.storeCookies(response);
788
+ const headToken = response.headers.get('x-csrf-token');
789
+ const headSucceededWithoutToken = response.ok && (!headToken || headToken.toLowerCase() === 'required');
790
+ // Some systems reject HEAD with 403; others accept it but omit the token. In both
791
+ // cases retry with GET, which is the broadly supported CSRF bootstrap method and
792
+ // also exposes a real authentication failure instead of a misleading HTTP 200 error.
793
+ if (response.status === 403 || headSucceededWithoutToken) {
794
+ const fallbackCookieHeader = this.composeCookieHeader();
795
+ if (fallbackCookieHeader) {
796
+ headers.Cookie = fallbackCookieHeader;
797
+ }
798
+ else {
799
+ delete headers.Cookie;
800
+ }
726
801
  logger.emitAudit({
727
802
  timestamp: new Date().toISOString(),
728
- level: 'warn',
803
+ level: response.status === 403 ? 'warn' : 'debug',
729
804
  event: 'http_request',
730
805
  method: 'HEAD',
731
806
  path: '/sap/bc/adt/core/discovery',
732
- statusCode: 403,
807
+ statusCode: response.status,
733
808
  durationMs: 0,
734
- errorBody: 'CSRF HEAD returned 403 — retrying with GET (S/4HANA Public Cloud compat)',
809
+ errorBody: response.status === 403
810
+ ? 'CSRF HEAD returned 403 — retrying with GET (S/4HANA Public Cloud compat)'
811
+ : 'CSRF HEAD returned no usable token — retrying with GET',
735
812
  });
736
813
  response = await this.doFetch(url, 'GET', headers);
737
814
  }
738
- // Store cookies from CSRF response — critical for session correlation
815
+ // Store cookies from the final CSRF response — critical for session correlation.
739
816
  this.storeCookies(response);
740
817
  const token = response.headers.get('x-csrf-token');
741
818
  if (!token || token === 'Required') {
@@ -743,6 +820,7 @@ export class AdtHttpClient {
743
820
  if (this.isCookieAuthMode()) {
744
821
  this.clearCookiesAndMark();
745
822
  }
823
+ this.notifyUnauthorized('/sap/bc/adt/core/discovery');
746
824
  throw new AdtApiError(`Authentication failed (401) using sap-client=${this.config.client ?? '100'}. Check SAP_CLIENT, SAP_USER, and SAP_PASSWORD.`, 401, '/sap/bc/adt/core/discovery');
747
825
  }
748
826
  if (response.status === 403) {
@@ -941,13 +1019,18 @@ export class AdtHttpClient {
941
1019
  * interface is incompatible with npm undici@8 Agent/ProxyAgent instances.
942
1020
  */
943
1021
  async doFetch(url, method, headers, body) {
1022
+ // Forward the caller's W3C trace context to SAP so one trace spans agent → ARC-1 → SAP.
1023
+ // Empty unless the MCP client sent a valid `traceparent`; ARC-1 never originates a trace.
1024
+ // Injected here because doFetch is the single outbound choke point (the proxy branch below
1025
+ // spreads these headers too).
1026
+ const outbound = { ...headers, ...traceHeaders(getCurrentContext()) };
944
1027
  // BTP Connectivity proxy: use standard HTTP proxy protocol (not CONNECT)
945
1028
  if (this.config.btpProxy) {
946
- return this.doProxyRequest(url, method, headers, body);
1029
+ return this.doProxyRequest(url, method, outbound, body);
947
1030
  }
948
1031
  return undiciFetch(url, {
949
1032
  method,
950
- headers,
1033
+ headers: outbound,
951
1034
  body,
952
1035
  signal: AbortSignal.timeout(120_000),
953
1036
  ...(this.dispatcher ? { dispatcher: this.dispatcher } : {}),