arc-1 0.9.27 → 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 (292) hide show
  1. package/README.md +28 -11
  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/client.d.ts +21 -8
  7. package/dist/adt/client.d.ts.map +1 -1
  8. package/dist/adt/client.js +47 -7
  9. package/dist/adt/client.js.map +1 -1
  10. package/dist/adt/config.d.ts +15 -0
  11. package/dist/adt/config.d.ts.map +1 -1
  12. package/dist/adt/config.js.map +1 -1
  13. package/dist/adt/crud.d.ts +7 -2
  14. package/dist/adt/crud.d.ts.map +1 -1
  15. package/dist/adt/crud.js +12 -4
  16. package/dist/adt/crud.js.map +1 -1
  17. package/dist/adt/ddic-xml.d.ts +27 -17
  18. package/dist/adt/ddic-xml.d.ts.map +1 -1
  19. package/dist/adt/ddic-xml.js +45 -34
  20. package/dist/adt/ddic-xml.js.map +1 -1
  21. package/dist/adt/devtools.d.ts +13 -0
  22. package/dist/adt/devtools.d.ts.map +1 -1
  23. package/dist/adt/devtools.js +120 -50
  24. package/dist/adt/devtools.js.map +1 -1
  25. package/dist/adt/errors.d.ts +1 -1
  26. package/dist/adt/errors.d.ts.map +1 -1
  27. package/dist/adt/errors.js +18 -0
  28. package/dist/adt/errors.js.map +1 -1
  29. package/dist/adt/http.d.ts +17 -1
  30. package/dist/adt/http.d.ts.map +1 -1
  31. package/dist/adt/http.js +102 -19
  32. package/dist/adt/http.js.map +1 -1
  33. package/dist/adt/server-driven.d.ts +154 -34
  34. package/dist/adt/server-driven.d.ts.map +1 -1
  35. package/dist/adt/server-driven.js +178 -53
  36. package/dist/adt/server-driven.js.map +1 -1
  37. package/dist/adt/transport.d.ts +6 -6
  38. package/dist/adt/transport.d.ts.map +1 -1
  39. package/dist/adt/transport.js +23 -34
  40. package/dist/adt/transport.js.map +1 -1
  41. package/dist/adt/types.d.ts +47 -6
  42. package/dist/adt/types.d.ts.map +1 -1
  43. package/dist/adt/xml-parser.d.ts +52 -12
  44. package/dist/adt/xml-parser.d.ts.map +1 -1
  45. package/dist/adt/xml-parser.js +120 -10
  46. package/dist/adt/xml-parser.js.map +1 -1
  47. package/dist/authz/policy.d.ts +8 -0
  48. package/dist/authz/policy.d.ts.map +1 -1
  49. package/dist/authz/policy.js +23 -0
  50. package/dist/authz/policy.js.map +1 -1
  51. package/dist/cache/cache.d.ts +2 -34
  52. package/dist/cache/cache.d.ts.map +1 -1
  53. package/dist/cache/cache.js +2 -3
  54. package/dist/cache/cache.js.map +1 -1
  55. package/dist/cache/caching-layer.d.ts +3 -19
  56. package/dist/cache/caching-layer.d.ts.map +1 -1
  57. package/dist/cache/caching-layer.js +2 -26
  58. package/dist/cache/caching-layer.js.map +1 -1
  59. package/dist/cache/memory.d.ts +1 -12
  60. package/dist/cache/memory.d.ts.map +1 -1
  61. package/dist/cache/memory.js +0 -69
  62. package/dist/cache/memory.js.map +1 -1
  63. package/dist/cache/sqlite.d.ts +2 -9
  64. package/dist/cache/sqlite.d.ts.map +1 -1
  65. package/dist/cache/sqlite.js +8 -84
  66. package/dist/cache/sqlite.js.map +1 -1
  67. package/dist/cli.js +6 -3
  68. package/dist/cli.js.map +1 -1
  69. package/dist/context/unit-surgery.d.ts +28 -0
  70. package/dist/context/unit-surgery.d.ts.map +1 -0
  71. package/dist/context/unit-surgery.js +150 -0
  72. package/dist/context/unit-surgery.js.map +1 -0
  73. package/dist/handlers/activate.d.ts.map +1 -1
  74. package/dist/handlers/activate.js +44 -6
  75. package/dist/handlers/activate.js.map +1 -1
  76. package/dist/handlers/context.d.ts +1 -1
  77. package/dist/handlers/context.d.ts.map +1 -1
  78. package/dist/handlers/context.js +98 -28
  79. package/dist/handlers/context.js.map +1 -1
  80. package/dist/handlers/diagnose.d.ts.map +1 -1
  81. package/dist/handlers/diagnose.js +55 -31
  82. package/dist/handlers/diagnose.js.map +1 -1
  83. package/dist/handlers/dispatch.d.ts +12 -1
  84. package/dist/handlers/dispatch.d.ts.map +1 -1
  85. package/dist/handlers/dispatch.js +160 -25
  86. package/dist/handlers/dispatch.js.map +1 -1
  87. package/dist/handlers/feature-cache.d.ts +27 -14
  88. package/dist/handlers/feature-cache.d.ts.map +1 -1
  89. package/dist/handlers/feature-cache.js +63 -25
  90. package/dist/handlers/feature-cache.js.map +1 -1
  91. package/dist/handlers/function-processing.d.ts +61 -0
  92. package/dist/handlers/function-processing.d.ts.map +1 -0
  93. package/dist/handlers/function-processing.js +45 -0
  94. package/dist/handlers/function-processing.js.map +1 -0
  95. package/dist/handlers/git.d.ts.map +1 -1
  96. package/dist/handlers/git.js +44 -19
  97. package/dist/handlers/git.js.map +1 -1
  98. package/dist/handlers/hyperfocused.d.ts.map +1 -1
  99. package/dist/handlers/hyperfocused.js +2 -3
  100. package/dist/handlers/hyperfocused.js.map +1 -1
  101. package/dist/handlers/lint.d.ts.map +1 -1
  102. package/dist/handlers/lint.js +7 -7
  103. package/dist/handlers/lint.js.map +1 -1
  104. package/dist/handlers/manage.d.ts.map +1 -1
  105. package/dist/handlers/manage.js +42 -25
  106. package/dist/handlers/manage.js.map +1 -1
  107. package/dist/handlers/navigate.d.ts.map +1 -1
  108. package/dist/handlers/navigate.js +27 -90
  109. package/dist/handlers/navigate.js.map +1 -1
  110. package/dist/handlers/object-types.d.ts +2 -0
  111. package/dist/handlers/object-types.d.ts.map +1 -1
  112. package/dist/handlers/object-types.js +10 -0
  113. package/dist/handlers/object-types.js.map +1 -1
  114. package/dist/handlers/query.d.ts.map +1 -1
  115. package/dist/handlers/query.js +2 -2
  116. package/dist/handlers/query.js.map +1 -1
  117. package/dist/handlers/read.d.ts.map +1 -1
  118. package/dist/handlers/read.js +64 -41
  119. package/dist/handlers/read.js.map +1 -1
  120. package/dist/handlers/schemas.d.ts +64 -16
  121. package/dist/handlers/schemas.d.ts.map +1 -1
  122. package/dist/handlers/schemas.js +123 -32
  123. package/dist/handlers/schemas.js.map +1 -1
  124. package/dist/handlers/search.d.ts.map +1 -1
  125. package/dist/handlers/search.js +8 -7
  126. package/dist/handlers/search.js.map +1 -1
  127. package/dist/handlers/shared.d.ts +13 -0
  128. package/dist/handlers/shared.d.ts.map +1 -1
  129. package/dist/handlers/shared.js +15 -0
  130. package/dist/handlers/shared.js.map +1 -1
  131. package/dist/handlers/tool-descriptions.d.ts +4 -0
  132. package/dist/handlers/tool-descriptions.d.ts.map +1 -0
  133. package/dist/handlers/tool-descriptions.js +52 -0
  134. package/dist/handlers/tool-descriptions.js.map +1 -0
  135. package/dist/handlers/tool-registry.d.ts +18 -4
  136. package/dist/handlers/tool-registry.d.ts.map +1 -1
  137. package/dist/handlers/tool-registry.js +18 -0
  138. package/dist/handlers/tool-registry.js.map +1 -1
  139. package/dist/handlers/tools.d.ts.map +1 -1
  140. package/dist/handlers/tools.js +113 -90
  141. package/dist/handlers/tools.js.map +1 -1
  142. package/dist/handlers/transport.d.ts +1 -1
  143. package/dist/handlers/transport.d.ts.map +1 -1
  144. package/dist/handlers/transport.js +37 -10
  145. package/dist/handlers/transport.js.map +1 -1
  146. package/dist/handlers/where-used.d.ts +25 -0
  147. package/dist/handlers/where-used.d.ts.map +1 -0
  148. package/dist/handlers/where-used.js +94 -0
  149. package/dist/handlers/where-used.js.map +1 -0
  150. package/dist/handlers/write/class-surgery.d.ts.map +1 -1
  151. package/dist/handlers/write/class-surgery.js +11 -12
  152. package/dist/handlers/write/class-surgery.js.map +1 -1
  153. package/dist/handlers/write/create.d.ts.map +1 -1
  154. package/dist/handlers/write/create.js +194 -84
  155. package/dist/handlers/write/create.js.map +1 -1
  156. package/dist/handlers/write/rap.d.ts.map +1 -1
  157. package/dist/handlers/write/rap.js +9 -9
  158. package/dist/handlers/write/rap.js.map +1 -1
  159. package/dist/handlers/write/unit-surgery.d.ts +5 -0
  160. package/dist/handlers/write/unit-surgery.d.ts.map +1 -0
  161. package/dist/handlers/write/unit-surgery.js +47 -0
  162. package/dist/handlers/write/unit-surgery.js.map +1 -0
  163. package/dist/handlers/write/update-delete.js +8 -8
  164. package/dist/handlers/write/update-delete.js.map +1 -1
  165. package/dist/handlers/write-helpers.d.ts +7 -4
  166. package/dist/handlers/write-helpers.d.ts.map +1 -1
  167. package/dist/handlers/write-helpers.js +118 -63
  168. package/dist/handlers/write-helpers.js.map +1 -1
  169. package/dist/handlers/write.d.ts.map +1 -1
  170. package/dist/handlers/write.js +35 -13
  171. package/dist/handlers/write.js.map +1 -1
  172. package/dist/lint/lint.d.ts.map +1 -1
  173. package/dist/lint/lint.js +4 -2
  174. package/dist/lint/lint.js.map +1 -1
  175. package/dist/probe/catalog.js +1 -1
  176. package/dist/probe/catalog.js.map +1 -1
  177. package/dist/public/ui/app.js +1 -14
  178. package/dist/server/audit.d.ts +27 -15
  179. package/dist/server/audit.d.ts.map +1 -1
  180. package/dist/server/audit.js.map +1 -1
  181. package/dist/server/auth-rate-limit.d.ts +18 -9
  182. package/dist/server/auth-rate-limit.d.ts.map +1 -1
  183. package/dist/server/auth-rate-limit.js +31 -6
  184. package/dist/server/auth-rate-limit.js.map +1 -1
  185. package/dist/server/auth-summary.d.ts +4 -0
  186. package/dist/server/auth-summary.d.ts.map +1 -0
  187. package/dist/server/auth-summary.js +67 -0
  188. package/dist/server/auth-summary.js.map +1 -0
  189. package/dist/server/config.d.ts.map +1 -1
  190. package/dist/server/config.js +106 -3
  191. package/dist/server/config.js.map +1 -1
  192. package/dist/server/context.d.ts +12 -0
  193. package/dist/server/context.d.ts.map +1 -1
  194. package/dist/server/context.js.map +1 -1
  195. package/dist/server/destination-discovery.d.ts +36 -0
  196. package/dist/server/destination-discovery.d.ts.map +1 -0
  197. package/dist/server/destination-discovery.js +130 -0
  198. package/dist/server/destination-discovery.js.map +1 -0
  199. package/dist/server/destination-registry.d.ts +111 -0
  200. package/dist/server/destination-registry.d.ts.map +1 -0
  201. package/dist/server/destination-registry.js +449 -0
  202. package/dist/server/destination-registry.js.map +1 -0
  203. package/dist/server/http.d.ts +43 -1
  204. package/dist/server/http.d.ts.map +1 -1
  205. package/dist/server/http.js +283 -73
  206. package/dist/server/http.js.map +1 -1
  207. package/dist/server/logger.d.ts.map +1 -1
  208. package/dist/server/logger.js +58 -13
  209. package/dist/server/logger.js.map +1 -1
  210. package/dist/server/mcp-rate-limit.d.ts +6 -4
  211. package/dist/server/mcp-rate-limit.d.ts.map +1 -1
  212. package/dist/server/mcp-rate-limit.js +6 -4
  213. package/dist/server/mcp-rate-limit.js.map +1 -1
  214. package/dist/server/multi-target-basic-auth.d.ts +49 -0
  215. package/dist/server/multi-target-basic-auth.d.ts.map +1 -0
  216. package/dist/server/multi-target-basic-auth.js +246 -0
  217. package/dist/server/multi-target-basic-auth.js.map +1 -0
  218. package/dist/server/multi-target-catalog.d.ts +33 -0
  219. package/dist/server/multi-target-catalog.d.ts.map +1 -0
  220. package/dist/server/multi-target-catalog.js +130 -0
  221. package/dist/server/multi-target-catalog.js.map +1 -0
  222. package/dist/server/multi-target-destination-config.d.ts +12 -0
  223. package/dist/server/multi-target-destination-config.d.ts.map +1 -0
  224. package/dist/server/multi-target-destination-config.js +37 -0
  225. package/dist/server/multi-target-destination-config.js.map +1 -0
  226. package/dist/server/multi-target-destination-runtime.d.ts +20 -0
  227. package/dist/server/multi-target-destination-runtime.d.ts.map +1 -0
  228. package/dist/server/multi-target-destination-runtime.js +191 -0
  229. package/dist/server/multi-target-destination-runtime.js.map +1 -0
  230. package/dist/server/multi-target-feature-state.d.ts +6 -0
  231. package/dist/server/multi-target-feature-state.d.ts.map +1 -0
  232. package/dist/server/multi-target-feature-state.js +41 -0
  233. package/dist/server/multi-target-feature-state.js.map +1 -0
  234. package/dist/server/multi-target-identity.d.ts +10 -0
  235. package/dist/server/multi-target-identity.d.ts.map +1 -0
  236. package/dist/server/multi-target-identity.js +18 -0
  237. package/dist/server/multi-target-identity.js.map +1 -0
  238. package/dist/server/multi-target-runtime.d.ts +27 -0
  239. package/dist/server/multi-target-runtime.d.ts.map +1 -0
  240. package/dist/server/multi-target-runtime.js +110 -0
  241. package/dist/server/multi-target-runtime.js.map +1 -0
  242. package/dist/server/multi-target-server.d.ts +53 -0
  243. package/dist/server/multi-target-server.d.ts.map +1 -0
  244. package/dist/server/multi-target-server.js +434 -0
  245. package/dist/server/multi-target-server.js.map +1 -0
  246. package/dist/server/multi-target-shared-auth-state.d.ts +82 -0
  247. package/dist/server/multi-target-shared-auth-state.d.ts.map +1 -0
  248. package/dist/server/multi-target-shared-auth-state.js +226 -0
  249. package/dist/server/multi-target-shared-auth-state.js.map +1 -0
  250. package/dist/server/multi-target-tools.d.ts +20 -0
  251. package/dist/server/multi-target-tools.d.ts.map +1 -0
  252. package/dist/server/multi-target-tools.js +191 -0
  253. package/dist/server/multi-target-tools.js.map +1 -0
  254. package/dist/server/oauth-session-recovery.d.ts +22 -0
  255. package/dist/server/oauth-session-recovery.d.ts.map +1 -0
  256. package/dist/server/oauth-session-recovery.js +69 -0
  257. package/dist/server/oauth-session-recovery.js.map +1 -0
  258. package/dist/server/server.d.ts +39 -27
  259. package/dist/server/server.d.ts.map +1 -1
  260. package/dist/server/server.js +433 -300
  261. package/dist/server/server.js.map +1 -1
  262. package/dist/server/sinks/btp-auditlog.d.ts.map +1 -1
  263. package/dist/server/sinks/btp-auditlog.js +83 -11
  264. package/dist/server/sinks/btp-auditlog.js.map +1 -1
  265. package/dist/server/tool-auth.d.ts +10 -0
  266. package/dist/server/tool-auth.d.ts.map +1 -0
  267. package/dist/server/tool-auth.js +75 -0
  268. package/dist/server/tool-auth.js.map +1 -0
  269. package/dist/server/trace-context.d.ts +51 -0
  270. package/dist/server/trace-context.d.ts.map +1 -0
  271. package/dist/server/trace-context.js +100 -0
  272. package/dist/server/trace-context.js.map +1 -0
  273. package/dist/server/types.d.ts +27 -6
  274. package/dist/server/types.d.ts.map +1 -1
  275. package/dist/server/types.js +5 -2
  276. package/dist/server/types.js.map +1 -1
  277. package/dist/server/ui-state.d.ts +0 -2
  278. package/dist/server/ui-state.d.ts.map +1 -1
  279. package/dist/server/ui-state.js +0 -4
  280. package/dist/server/ui-state.js.map +1 -1
  281. package/dist/server/ui.d.ts.map +1 -1
  282. package/dist/server/ui.js +0 -7
  283. package/dist/server/ui.js.map +1 -1
  284. package/package.json +16 -13
  285. package/dist/cache/warmup.d.ts +0 -41
  286. package/dist/cache/warmup.d.ts.map +0 -1
  287. package/dist/cache/warmup.js +0 -337
  288. package/dist/cache/warmup.js.map +0 -1
  289. package/dist/server/elicit.d.ts +0 -43
  290. package/dist/server/elicit.d.ts.map +0 -1
  291. package/dist/server/elicit.js +0 -183
  292. package/dist/server/elicit.js.map +0 -1
@@ -24,7 +24,7 @@ export interface DomainCreateParams {
24
24
  valueTable?: string;
25
25
  /** ADT master/original language (2-char, e.g. "DE"). Defaults to "EN" when unset. */
26
26
  language?: string;
27
- /** ADT "person responsible" (logon user). Defaults to "DEVELOPER" when unset. */
27
+ /** ADT "person responsible" (logon user). Omitted when it cannot be an on-prem user name (#636). */
28
28
  responsible?: string;
29
29
  }
30
30
  export interface DataElementCreateParams {
@@ -48,7 +48,7 @@ export interface DataElementCreateParams {
48
48
  changeDocument?: boolean;
49
49
  /** ADT master/original language (2-char, e.g. "DE"). Defaults to "EN" when unset. */
50
50
  language?: string;
51
- /** ADT "person responsible" (logon user). Defaults to "DEVELOPER" when unset. */
51
+ /** ADT "person responsible" (logon user). Omitted when it cannot be an on-prem user name (#636). */
52
52
  responsible?: string;
53
53
  }
54
54
  export interface PackageCreateParams {
@@ -64,7 +64,7 @@ export interface PackageCreateParams {
64
64
  * from transportability metadata and keeps literal LOCAL packages off.
65
65
  */
66
66
  recordChanges?: boolean;
67
- /** ADT "person responsible" (logon user). Defaults to "DEVELOPER" when unset. */
67
+ /** ADT "person responsible" (logon user). Omitted when it cannot be an on-prem user name (#636). */
68
68
  responsible?: string;
69
69
  /** BTP cloud create: nest under the structure superPackage, SC defaults to ZLOCAL, recordChanges=false,
70
70
  * responsible passed verbatim (the internal ABAP user). Handler-set when systemType=btp. */
@@ -81,7 +81,7 @@ export interface ServiceBindingCreateParams {
81
81
  odataVersion?: string;
82
82
  /** ADT master/original language (2-char, e.g. "DE"). Defaults to "EN" when unset. */
83
83
  language?: string;
84
- /** ADT "person responsible" (logon user). Defaults to "DEVELOPER" when unset. */
84
+ /** ADT "person responsible" (logon user). Omitted when it cannot be an on-prem user name (#636). */
85
85
  responsible?: string;
86
86
  }
87
87
  /**
@@ -113,22 +113,32 @@ export declare function normalizeSrvbBindingType(input?: string): {
113
113
  */
114
114
  export declare function normalizeAdtLanguage(language?: string): string;
115
115
  /**
116
- * Normalize the ADT "person responsible" to the form SAP expects: trimmed and
117
- * upper-case (on-prem `USR02-BNAME` is upper-case). Defaults to "DEVELOPER"
118
- * only as a last-resort fallback when no user is configured, preserving the
119
- * legacy hard-coded value for callers that pass nothing. In practice
120
- * `config.username` is empty only under cookie-file or OAuth service-key auth
121
- * (basic auth and principal propagation both supply a real user), so the
122
- * "DEVELOPER" fallback realistically applies only in those two modes.
116
+ * Normalize the ADT "person responsible" to the form SAP expects: trimmed and upper-case
117
+ * (on-prem `USR02-BNAME` is upper-case). Returns `''` when the value cannot be an on-prem user
118
+ * name, and callers then OMIT the attribute entirely.
123
119
  *
124
- * `adtcore:responsible` must name a user that exists on the target system. The
125
- * historical hard-coded literal "DEVELOPER" only exists on SAP's own demo
126
- * systems; on a real system the create fails with
127
- * `HTTP 400 [?/049] "Enter a valid user, not DEVELOPER, as the person responsible"`.
128
- * Threading the connection's logon user (ARC-1 passes it as `config.username`)
129
- * fixes that. Mirrors the `normalizeAdtLanguage` / issue #343 master-language pattern.
120
+ * Omission is the correct behavior, not a fallback: ADT assigns the logged-on user, which under
121
+ * principal propagation is exactly the propagated one (live: create without the attribute returns
122
+ * `adtcore:responsible="<logged-on user>"`). It is safe even for a value that would have been
123
+ * valid, since a real user is still the logged-on user.
124
+ *
125
+ * Why the guard exists (#636): under BTP principal propagation to an on-prem system the principal
126
+ * is an email, and anything over CHAR12 overflows the field — the create fails in the object's
127
+ * simple transformation before anything is written (400, e.g. `CLASS_TRANSFORMATION`; on 7.50 the
128
+ * clearer "Data loss occurred when converting …"). Live-verified across 11 create STs on
129
+ * 7.50 / 758 / 816 — see docs/research/issues/636-onprem-pp-responsible-char12-overflow.md.
130
+ *
131
+ * Note the length is what breaks, not the `@` — `A@B.DE` creates fine — but an email is never a
132
+ * useful on-prem responsible, so both are rejected. BTP is unaffected: `cloudifyCreateBody` strips
133
+ * the attribute on the cloud path, and cloud package create uses `normalizeCloudResponsible`.
130
134
  */
131
135
  export declare function normalizeAdtResponsible(responsible?: string): string;
136
+ /**
137
+ * The ` adtcore:responsible="…"` attribute for inline interpolation into a create template, or
138
+ * `''` when it must be omitted (see above). The leading space belongs to the attribute so an
139
+ * omitted one leaves no stray whitespace behind.
140
+ */
141
+ export declare function adtResponsibleAttr(responsible?: string): string;
132
142
  /**
133
143
  * Cloud package "responsible": must be a real internal ABAP user (XUBNAME) — an email or `DEVELOPER`
134
144
  * is rejected by the SPAK_ST_PACKAGES deserializer — so pass it verbatim, no fallback (the handler
@@ -1 +1 @@
1
- {"version":3,"file":"ddic-xml.d.ts","sourceRoot":"","sources":["../../src/adt/ddic-xml.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ddic-xml.d.ts","sourceRoot":"","sources":["../../src/adt/ddic-xml.ts"],"names":[],"mappings":"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"}
@@ -57,28 +57,42 @@ const DTEL_MAX_LABEL_LENGTHS = {
57
57
  export function normalizeAdtLanguage(language) {
58
58
  return (language ?? '').trim().toUpperCase() || 'EN';
59
59
  }
60
+ /** On-prem `adtcore:responsible` deserializes into `XUBNAME`, which is CHAR12. */
61
+ const XUBNAME_MAX_LENGTH = 12;
60
62
  /**
61
- * Normalize the ADT "person responsible" to the form SAP expects: trimmed and
62
- * upper-case (on-prem `USR02-BNAME` is upper-case). Defaults to "DEVELOPER"
63
- * only as a last-resort fallback when no user is configured, preserving the
64
- * legacy hard-coded value for callers that pass nothing. In practice
65
- * `config.username` is empty only under cookie-file or OAuth service-key auth
66
- * (basic auth and principal propagation both supply a real user), so the
67
- * "DEVELOPER" fallback realistically applies only in those two modes.
63
+ * Normalize the ADT "person responsible" to the form SAP expects: trimmed and upper-case
64
+ * (on-prem `USR02-BNAME` is upper-case). Returns `''` when the value cannot be an on-prem user
65
+ * name, and callers then OMIT the attribute entirely.
68
66
  *
69
- * `adtcore:responsible` must name a user that exists on the target system. The
70
- * historical hard-coded literal "DEVELOPER" only exists on SAP's own demo
71
- * systems; on a real system the create fails with
72
- * `HTTP 400 [?/049] "Enter a valid user, not DEVELOPER, as the person responsible"`.
73
- * Threading the connection's logon user (ARC-1 passes it as `config.username`)
74
- * fixes that. Mirrors the `normalizeAdtLanguage` / issue #343 master-language pattern.
67
+ * Omission is the correct behavior, not a fallback: ADT assigns the logged-on user, which under
68
+ * principal propagation is exactly the propagated one (live: create without the attribute returns
69
+ * `adtcore:responsible="<logged-on user>"`). It is safe even for a value that would have been
70
+ * valid, since a real user is still the logged-on user.
71
+ *
72
+ * Why the guard exists (#636): under BTP principal propagation to an on-prem system the principal
73
+ * is an email, and anything over CHAR12 overflows the field — the create fails in the object's
74
+ * simple transformation before anything is written (400, e.g. `CLASS_TRANSFORMATION`; on 7.50 the
75
+ * clearer "Data loss occurred when converting …"). Live-verified across 11 create STs on
76
+ * 7.50 / 758 / 816 — see docs/research/issues/636-onprem-pp-responsible-char12-overflow.md.
77
+ *
78
+ * Note the length is what breaks, not the `@` — `A@B.DE` creates fine — but an email is never a
79
+ * useful on-prem responsible, so both are rejected. BTP is unaffected: `cloudifyCreateBody` strips
80
+ * the attribute on the cloud path, and cloud package create uses `normalizeCloudResponsible`.
75
81
  */
76
82
  export function normalizeAdtResponsible(responsible) {
77
83
  const r = (responsible ?? '').trim();
78
- if (!r)
79
- return 'DEVELOPER';
80
- // Cloud (BTP) users are email-style and case-sensitive; classic SAP users are upper-case.
81
- return r.includes('@') ? r : r.toUpperCase();
84
+ if (!r || r.length > XUBNAME_MAX_LENGTH || r.includes('@'))
85
+ return '';
86
+ return r.toUpperCase();
87
+ }
88
+ /**
89
+ * The ` adtcore:responsible="…"` attribute for inline interpolation into a create template, or
90
+ * `''` when it must be omitted (see above). The leading space belongs to the attribute so an
91
+ * omitted one leaves no stray whitespace behind.
92
+ */
93
+ export function adtResponsibleAttr(responsible) {
94
+ const user = normalizeAdtResponsible(responsible);
95
+ return user ? ` adtcore:responsible="${escapeXmlAttr(user)}"` : '';
82
96
  }
83
97
  /**
84
98
  * Cloud package "responsible": must be a real internal ABAP user (XUBNAME) — an email or `DEVELOPER`
@@ -112,7 +126,7 @@ function boolToXml(value) {
112
126
  }
113
127
  export function buildDomainXml(params) {
114
128
  const masterLanguage = normalizeAdtLanguage(params.language);
115
- const responsible = normalizeAdtResponsible(params.responsible);
129
+ const responsibleAttr = adtResponsibleAttr(params.responsible);
116
130
  const fixedValues = params.fixedValues ?? [];
117
131
  const valueTable = params.valueTable?.trim();
118
132
  const fixValuesXml = fixedValues.length === 0
@@ -134,8 +148,7 @@ export function buildDomainXml(params) {
134
148
  adtcore:name="${escapeXmlAttr(params.name)}"
135
149
  adtcore:type="DOMA/DD"
136
150
  adtcore:masterLanguage="${masterLanguage}"
137
- adtcore:masterSystem="H00"
138
- adtcore:responsible="${escapeXmlAttr(responsible)}">
151
+ adtcore:masterSystem="H00"${responsibleAttr}>
139
152
  <adtcore:packageRef adtcore:name="${escapeXmlAttr(params.package)}"/>
140
153
  <doma:content>
141
154
  <doma:typeInformation>
@@ -188,7 +201,7 @@ const TTYP_ROW_TYPE_NAME_RE = /^(?:\/[A-Z0-9_]+\/)?[A-Z0-9_]+$/;
188
201
  */
189
202
  export function buildTableTypeXml(params) {
190
203
  const masterLanguage = normalizeAdtLanguage(params.language);
191
- const responsible = normalizeAdtResponsible(params.responsible);
204
+ const responsibleAttr = adtResponsibleAttr(params.responsible);
192
205
  const rowType = params.rowType.trim().toUpperCase();
193
206
  // TTYP_BUILTIN_ROW_TYPES is a best-effort heuristic for AUTO-DETECTION ONLY (when the caller omits
194
207
  // rowTypeKind). It must not gate an EXPLICIT rowTypeKind: SAP adds built-in types over releases
@@ -214,8 +227,7 @@ export function buildTableTypeXml(params) {
214
227
  adtcore:description="${escapeXmlAttr(params.description)}"
215
228
  adtcore:name="${escapeXmlAttr(params.name)}"
216
229
  adtcore:type="TTYP/DA"
217
- adtcore:masterLanguage="${masterLanguage}"
218
- adtcore:responsible="${escapeXmlAttr(responsible)}">
230
+ adtcore:masterLanguage="${masterLanguage}"${responsibleAttr}>
219
231
  <adtcore:packageRef adtcore:name="${escapeXmlAttr(params.package)}"/>
220
232
  <ttyp:rowType>${rowTypeXml}</ttyp:rowType>
221
233
  <ttyp:initialRowCount>00000</ttyp:initialRowCount>
@@ -291,7 +303,7 @@ export function buildMessageClassXml(params) {
291
303
  }
292
304
  export function buildDataElementXml(params) {
293
305
  const masterLanguage = normalizeAdtLanguage(params.language);
294
- const responsible = normalizeAdtResponsible(params.responsible);
306
+ const responsibleAttr = adtResponsibleAttr(params.responsible);
295
307
  const typeKind = params.typeKind ?? (params.dataType ? 'predefinedAbapType' : 'domain');
296
308
  const shortLabel = params.shortLabel ?? '';
297
309
  const mediumLabel = params.mediumLabel ?? '';
@@ -305,8 +317,7 @@ export function buildDataElementXml(params) {
305
317
  adtcore:name="${escapeXmlAttr(params.name)}"
306
318
  adtcore:type="DTEL/DE"
307
319
  adtcore:masterLanguage="${masterLanguage}"
308
- adtcore:masterSystem="H00"
309
- adtcore:responsible="${escapeXmlAttr(responsible)}">
320
+ adtcore:masterSystem="H00"${responsibleAttr}>
310
321
  <adtcore:packageRef adtcore:name="${escapeXmlAttr(params.package)}"/>
311
322
  <dtel:dataElement xmlns:dtel="http://www.sap.com/adt/dictionary/dataelements">
312
323
  <dtel:typeKind>${escapeXmlAttr(typeKind)}</dtel:typeKind>
@@ -348,17 +359,18 @@ export function buildPackageXml(params) {
348
359
  // Cloud local packages (e.g. under ZLOCAL) are non-transportable → recordChanges defaults false;
349
360
  // do NOT let the on-prem non-LOCAL heuristic flip it to true for the ZLOCAL cloud SC.
350
361
  const recordChanges = params.recordChanges ?? (cloud ? false : !isLocalSoftwareComponent || transportLayer !== '');
351
- const responsible = cloud
352
- ? normalizeCloudResponsible(params.responsible)
353
- : normalizeAdtResponsible(params.responsible);
362
+ // Cloud keeps its verbatim internal-user contract (the handler validates it first); on-prem goes
363
+ // through the CHAR12 guard. Both carry the leading space — see adtResponsibleAttr.
364
+ const responsibleAttr = cloud
365
+ ? ` adtcore:responsible="${escapeXmlAttr(normalizeCloudResponsible(params.responsible))}"`
366
+ : adtResponsibleAttr(params.responsible);
354
367
  return `<?xml version="1.0" encoding="UTF-8"?>
355
368
  <pak:package xmlns:pak="http://www.sap.com/adt/packages"
356
369
  xmlns:adtcore="http://www.sap.com/adt/core"
357
370
  adtcore:description="${escapeXmlAttr(params.description)}"
358
371
  adtcore:name="${escapeXmlAttr(params.name)}"
359
372
  adtcore:type="DEVC/K"
360
- adtcore:version="active"
361
- adtcore:responsible="${escapeXmlAttr(responsible)}">
373
+ adtcore:version="active"${responsibleAttr}>
362
374
  <adtcore:packageRef adtcore:name="${escapeXmlAttr(params.name)}"/>
363
375
  <pak:attributes pak:packageType="${escapeXmlAttr(packageType)}" pak:recordChanges="${boolToXml(recordChanges)}"/>
364
376
  <pak:superPackage adtcore:name="${escapeXmlAttr(superPackage)}"/>
@@ -381,7 +393,7 @@ export function buildServiceBindingXml(params) {
381
393
  const odataVersion = params.odataVersion?.trim().toUpperCase() || normalized.odataVersion;
382
394
  const serviceVersion = params.version?.trim() || '0001';
383
395
  const masterLanguage = normalizeAdtLanguage(params.language);
384
- const responsible = normalizeAdtResponsible(params.responsible);
396
+ const responsibleAttr = adtResponsibleAttr(params.responsible);
385
397
  return `<?xml version="1.0" encoding="UTF-8"?>
386
398
  <srvb:serviceBinding xmlns:srvb="http://www.sap.com/adt/ddic/ServiceBindings"
387
399
  xmlns:adtcore="http://www.sap.com/adt/core"
@@ -389,8 +401,7 @@ export function buildServiceBindingXml(params) {
389
401
  adtcore:name="${escapeXmlAttr(params.name)}"
390
402
  adtcore:type="SRVB/SVB"
391
403
  adtcore:language="${masterLanguage}"
392
- adtcore:masterLanguage="${masterLanguage}"
393
- adtcore:responsible="${escapeXmlAttr(responsible)}">
404
+ adtcore:masterLanguage="${masterLanguage}"${responsibleAttr}>
394
405
  <adtcore:packageRef adtcore:name="${escapeXmlAttr(params.package)}"/>
395
406
  <srvb:services srvb:name="${escapeXmlAttr(params.name)}">
396
407
  <srvb:content srvb:version="${escapeXmlAttr(serviceVersion)}">
@@ -1 +1 @@
1
- {"version":3,"file":"ddic-xml.js","sourceRoot":"","sources":["../../src/adt/ddic-xml.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ddic-xml.js","sourceRoot":"","sources":["../../src/adt/ddic-xml.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@
10
10
  import type { AdtHttpClient } from './http.js';
11
11
  import { type SafetyConfig } from './safety.js';
12
12
  import type { CdsTestCasesResult, CoverageSummary, FixDelta, FixProposal, SyntaxCheckResult, UnitTestRunResult } from './types.js';
13
+ import { type NamedItem } from './xml-parser.js';
13
14
  /** Run syntax check on an ABAP object.
14
15
  *
15
16
  * Two modes:
@@ -88,6 +89,18 @@ export declare function extractCoverageMeasurementUri(testrunsXml: string): stri
88
89
  /** Parse the object-level statement/branch/procedure aggregate from a coverage-measurement response,
89
90
  * plus the per-method drill-down (methods below full statement coverage, worst-first). */
90
91
  export declare function parseCoverageMeasurement(xml: string): CoverageSummary;
92
+ /**
93
+ * List the ATC check variants this system offers — the valid values for `runAtcCheck`'s `variant`.
94
+ * GETs the ADT named-item feed `/sap/bc/adt/atc/variants?name=<pattern>` (`*` = all). The `name`
95
+ * filter is a server-side prefix match, so an empty/omitted `name` returns an EMPTY list — always
96
+ * pass a pattern. Read-only. Live-verified on 758 (184 variants) + 816 (215).
97
+ */
98
+ export declare function listAtcVariants(http: AdtHttpClient, safety: SafetyConfig, filter?: string): Promise<NamedItem[]>;
99
+ /**
100
+ * Read the system default ATC check variant from `/sap/bc/adt/atc/customizing` — the variant ATC
101
+ * uses when none is passed. Returns undefined if the endpoint/property is absent. Read-only.
102
+ */
103
+ export declare function getAtcSystemDefaultVariant(http: AdtHttpClient, safety: SafetyConfig): Promise<string | undefined>;
91
104
  /** Run ATC check on an object */
92
105
  export declare function runAtcCheck(http: AdtHttpClient, safety: SafetyConfig, objectUrl: string, variant?: string): Promise<{
93
106
  findings: AtcFinding[];
@@ -1 +1 @@
1
- {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../src/adt/devtools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../src/adt/devtools.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  import { logger } from '../server/logger.js';
11
11
  import { AdtApiError, AdtSafetyError } from './errors.js';
12
12
  import { checkOperation, OperationType } from './safety.js';
13
- import { decodeXmlEntities, escapeXmlAttr, findDeepNodes, parseXml } from './xml-parser.js';
13
+ import { decodeXmlEntities, escapeXmlAttr, findDeepNodes, getNestedArray, parseAtcSystemCheckVariant, parseNamedItems, parseXml, } from './xml-parser.js';
14
14
  /** Run syntax check on an ABAP object.
15
15
  *
16
16
  * Two modes:
@@ -503,6 +503,29 @@ export function parseCoverageMeasurement(xml) {
503
503
  function hasCoverageMetrics(summary) {
504
504
  return Boolean(summary.statement || summary.branch || summary.procedure);
505
505
  }
506
+ /**
507
+ * List the ATC check variants this system offers — the valid values for `runAtcCheck`'s `variant`.
508
+ * GETs the ADT named-item feed `/sap/bc/adt/atc/variants?name=<pattern>` (`*` = all). The `name`
509
+ * filter is a server-side prefix match, so an empty/omitted `name` returns an EMPTY list — always
510
+ * pass a pattern. Read-only. Live-verified on 758 (184 variants) + 816 (215).
511
+ */
512
+ export async function listAtcVariants(http, safety, filter = '*') {
513
+ checkOperation(safety, OperationType.Read, 'ListAtcVariants');
514
+ const pattern = filter.trim() || '*';
515
+ const resp = await http.get(`/sap/bc/adt/atc/variants?name=${encodeURIComponent(pattern)}`, {
516
+ Accept: 'application/vnd.sap.adt.nameditems.v1+xml',
517
+ });
518
+ return parseNamedItems(resp.body).filter((item) => item.name);
519
+ }
520
+ /**
521
+ * Read the system default ATC check variant from `/sap/bc/adt/atc/customizing` — the variant ATC
522
+ * uses when none is passed. Returns undefined if the endpoint/property is absent. Read-only.
523
+ */
524
+ export async function getAtcSystemDefaultVariant(http, safety) {
525
+ checkOperation(safety, OperationType.Read, 'GetAtcCustomizing');
526
+ const resp = await http.get('/sap/bc/adt/atc/customizing', { Accept: 'application/xml' });
527
+ return parseAtcSystemCheckVariant(resp.body);
528
+ }
506
529
  /** Run ATC check on an object */
507
530
  export async function runAtcCheck(http, safety, objectUrl, variant) {
508
531
  checkOperation(safety, OperationType.Read, 'RunATCCheck');
@@ -788,64 +811,111 @@ function parseSyntaxCheckResult(xml) {
788
811
  messages,
789
812
  };
790
813
  }
814
+ /** Extract the human-readable title from an AUnit alert node (string or #text object). */
815
+ function alertTitle(alert) {
816
+ const titleVal = alert.title;
817
+ if (titleVal == null)
818
+ return '';
819
+ if (typeof titleVal === 'string')
820
+ return titleVal;
821
+ if (typeof titleVal === 'object' && !Array.isArray(titleVal)) {
822
+ return String(titleVal['#text'] ?? '');
823
+ }
824
+ return String(titleVal);
825
+ }
826
+ /** Flatten `<details><detail text="…">`, which nests further on some releases. The nested texts
827
+ * carry the payload ("Expected [2] Actual [1]"); the title alone is often generic. */
828
+ function alertDetails(node) {
829
+ const texts = [];
830
+ for (const detail of getNestedArray(node, 'details', 'detail')) {
831
+ const text = String(detail['@_text'] ?? '').trim();
832
+ if (text)
833
+ texts.push(text);
834
+ texts.push(...alertDetails(detail));
835
+ }
836
+ return texts;
837
+ }
838
+ /** Title + details, entity-decoded (the shared parser runs with `processEntities: false`). */
839
+ function alertMessage(alert) {
840
+ const parts = [alertTitle(alert), ...alertDetails(alert)].filter(Boolean);
841
+ return parts.length > 0 ? decodeXmlEntities(parts.join(' — ')) : undefined;
842
+ }
843
+ /** `severity="tolerable"` means SAP declined to run the test ("risk level of test class exceeds
844
+ * upper limit"), NOT that it failed — reporting those as failures sends the caller after a
845
+ * phantom bug. Anything else (critical/fatal) is a real failure. */
846
+ function alertStatus(alerts) {
847
+ return alerts.some((a) => a['@_severity'] !== 'tolerable') ? 'failed' : 'skipped';
848
+ }
849
+ /** One row for one alert that has no test method to hang off (run, program or class level). */
850
+ function alertRow(program, testClass, testMethod, alert) {
851
+ const message = alertMessage(alert);
852
+ return { program, testClass, testMethod, status: alertStatus([alert]), ...(message ? { message } : {}) };
853
+ }
854
+ /**
855
+ * Parse an `abapunit/testruns` result.
856
+ *
857
+ * Walks the response structure — `runResult → program → testClasses → testClass → testMethods →
858
+ * testMethod`, each level carrying its own optional `alerts` — rather than searching the tree for
859
+ * `testMethod` nodes. Two reasons, both live-verified on 7.50 / 7.58 / 8.16:
860
+ * - an alert at run, program or class level is the ONLY record of why a run produced no methods
861
+ * (CLASS_SETUP dump, generation failure, risk level above the client ceiling);
862
+ * - the program name must come from `<program adtcore:name>`, because the testClass URI it used
863
+ * to be parsed from is release-dependent (7.50 `…/includes/testclasses#start=7,6`
864
+ * vs 758/816 `…#testclass=LTCL_X`).
865
+ */
791
866
  function parseUnitTestResults(xml) {
792
867
  const results = [];
793
- const parsed = parseXml(xml);
794
- const testClasses = findDeepNodes(parsed, 'testClass');
795
- for (const tc of testClasses) {
796
- const className = String(tc['@_name'] ?? '');
797
- const uri = String(tc['@_uri'] ?? '');
798
- // Extract program name from URI:
799
- // classes: /sap/bc/adt/oo/classes/ZCL_TEST/...
800
- // programs: /sap/bc/adt/programs/programs/ZTEST/... (note: "programs" appears twice)
801
- const uriParts = uri.split('/');
802
- let program = '';
803
- for (let i = 0; i < uriParts.length - 1; i++) {
804
- if (uriParts[i] === 'classes') {
805
- program = uriParts[i + 1] ?? '';
806
- break;
868
+ const runResult = (parseXml(xml).runResult ?? {});
869
+ for (const alert of getNestedArray(runResult, 'alerts', 'alert')) {
870
+ results.push(alertRow('', '(run)', '(alert)', alert));
871
+ }
872
+ for (const program of asNodeArray(runResult.program)) {
873
+ const programName = String(program['@_name'] ?? '');
874
+ for (const alert of getNestedArray(program, 'alerts', 'alert')) {
875
+ results.push(alertRow(programName, '(program)', '(alert)', alert));
876
+ }
877
+ for (const tc of getNestedArray(program, 'testClasses', 'testClass')) {
878
+ const className = String(tc['@_name'] ?? '');
879
+ const classAlerts = getNestedArray(tc, 'alerts', 'alert');
880
+ const methods = getNestedArray(tc, 'testMethods', 'testMethod');
881
+ // A class that aborted in CLASS_SETUP, or that SAP declined to run, reports alerts here and
882
+ // no methods at all — the shape that used to vanish from the result.
883
+ for (const alert of classAlerts) {
884
+ results.push(alertRow(programName, className, '(class-level alert)', alert));
807
885
  }
808
- if (uriParts[i] === 'programs' && uriParts[i + 1] === 'programs' && i + 2 < uriParts.length) {
809
- program = uriParts[i + 2] ?? '';
810
- break;
886
+ for (const method of methods) {
887
+ const alerts = getNestedArray(method, 'alerts', 'alert');
888
+ const message = alerts.length > 0 ? alertMessage(alerts[0]) : undefined;
889
+ const execTime = method['@_executionTime'];
890
+ const duration = execTime ? Number(execTime) : undefined;
891
+ results.push({
892
+ program: programName,
893
+ testClass: className,
894
+ testMethod: String(method['@_name'] ?? ''),
895
+ status: alerts.length > 0 ? alertStatus(alerts) : 'passed',
896
+ ...(message ? { message } : {}),
897
+ ...(duration !== undefined && !Number.isNaN(duration) ? { duration } : {}),
898
+ });
811
899
  }
812
- }
813
- const methods = findDeepNodes(tc, 'testMethod');
814
- for (const method of methods) {
815
- const methodName = String(method['@_name'] ?? '');
816
- const alerts = findDeepNodes(method, 'alert');
817
- const hasAlert = alerts.length > 0;
818
- // Extract message from first alert's title element
819
- let message;
820
- if (hasAlert) {
821
- const titleVal = alerts[0].title;
822
- if (titleVal != null) {
823
- if (typeof titleVal === 'string') {
824
- message = titleVal;
825
- }
826
- else if (typeof titleVal === 'object' && !Array.isArray(titleVal)) {
827
- message = String(titleVal['#text'] ?? '');
828
- }
829
- else {
830
- message = String(titleVal);
831
- }
832
- }
900
+ if (classAlerts.length === 0 && methods.length === 0) {
901
+ results.push({
902
+ program: programName,
903
+ testClass: className,
904
+ testMethod: '(class-level alert)',
905
+ status: 'skipped',
906
+ message: 'test class reported no test methods and no alert',
907
+ });
833
908
  }
834
- // Extract duration from executionTime attribute (in seconds)
835
- const execTime = method['@_executionTime'];
836
- const duration = execTime ? Number(execTime) : undefined;
837
- results.push({
838
- program,
839
- testClass: className,
840
- testMethod: methodName,
841
- status: hasAlert ? 'failed' : 'passed',
842
- ...(message ? { message } : {}),
843
- ...(duration !== undefined && !Number.isNaN(duration) ? { duration } : {}),
844
- });
845
909
  }
846
910
  }
847
911
  return results;
848
912
  }
913
+ /** One-or-many node → array (`program` is not an ARRAY_TAG, so a single one parses as an object). */
914
+ function asNodeArray(value) {
915
+ if (Array.isArray(value))
916
+ return value;
917
+ return value && typeof value === 'object' ? [value] : [];
918
+ }
849
919
  function toNodeRecord(value) {
850
920
  if (!value)
851
921
  return undefined;