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
@@ -10,8 +10,11 @@
10
10
  * Split out of client.ts, which keeps only the thin delegating methods.
11
11
  */
12
12
  import { lockObject, unlockObject } from './crud.js';
13
- import { AdtApiError } from './errors.js';
13
+ import { activate } from './devtools.js';
14
+ import { AdtApiError, AdtError } from './errors.js';
14
15
  import { checkOperation, OperationType } from './safety.js';
16
+ import { textPartChanges } from './text-part-changes.js';
17
+ import { parseXml } from './xml-parser.js';
15
18
  /** Media type per subobject. Each is used as BOTH Content-Type and Accept on the write PUT (SAP
16
19
  * returns 400 "Accept header missing" otherwise). */
17
20
  const TEXT_ELEMENT_CT = {
@@ -49,7 +52,7 @@ function serviceAvailable(http, objectType) {
49
52
  return http.discoveryAcceptFor(`/sap/bc/adt/textelements/${TEXT_ELEMENT_COLLECTIONS[objectType]}`) !== undefined;
50
53
  }
51
54
  /** Fail clean when the ADT textelements service is absent. */
52
- function assertService(http, objectType) {
55
+ export function assertTextElementsService(http, objectType) {
53
56
  if (!serviceAvailable(http, objectType)) {
54
57
  throw new AdtApiError(`Text elements for ${objectType} require the ADT textelements service (not available on this system).`, 404, `/sap/bc/adt/textelements/${TEXT_ELEMENT_COLLECTIONS[objectType]}`);
55
58
  }
@@ -59,7 +62,7 @@ function assertService(http, objectType) {
59
62
  export async function readTextElementPart(http, safety, objectType, name, part) {
60
63
  checkOperation(safety, OperationType.Read, 'GetTextElements');
61
64
  assertPart(objectType, part);
62
- assertService(http, objectType);
65
+ assertTextElementsService(http, objectType);
63
66
  const resp = await http.get(`${textElementsObject(objectType, name)}/source/${part}`, {
64
67
  Accept: TEXT_ELEMENT_CT[part],
65
68
  });
@@ -73,7 +76,7 @@ export async function readTextElements(http, safety, name, options) {
73
76
  if (!isTextElementObjectType(objectType)) {
74
77
  throw new AdtApiError(`Text elements exist only for ${TEXT_ELEMENT_OBJECT_TYPES.join(', ')} — got "${objectType}".`, 400, '/sap/bc/adt/textelements');
75
78
  }
76
- assertService(http, objectType);
79
+ assertTextElementsService(http, objectType);
77
80
  if (options?.part)
78
81
  return readTextElementPart(http, safety, objectType, name, options.part);
79
82
  const chunks = [];
@@ -88,29 +91,131 @@ export async function readTextElements(http, safety, name, options) {
88
91
  }
89
92
  return chunks.length > 0 ? chunks.join('\n\n') : `No text elements maintained for ${objectType} ${name}.`;
90
93
  }
91
- /** Write one subobject. Locks the textelements object (not the class/program), PUTs the body with
92
- * that subobject's media type as BOTH Content-Type and Accept, then unlocks. Immediately active —
93
- * no SAPActivate needed. */
94
+ /** Write one part, unlock, then activate only the text pool in the same stateful session.
95
+ * Compare native bodies under the lock to report what the replacement removed.
96
+ * PUT uses the part's media type as BOTH Content-Type and Accept. SAP refuses activation
97
+ * while the pool is locked; a source read alone cannot distinguish its inactive version.
98
+ * A never-activated PROG still needs its first owner activation to activate the texts. */
94
99
  export async function writeTextElementPart(http, safety, objectType, name, part, source, transport) {
95
100
  checkOperation(safety, OperationType.Update, 'WriteTextElements');
96
101
  assertPart(objectType, part);
97
102
  if (objectType === 'CLAS' && part !== 'symbols') {
98
103
  throw new AdtApiError(`Only symbols can be written for CLAS; ${part} is read-only in ARC-1.`, 400, '/sap/bc/adt/textelements/classes');
99
104
  }
100
- assertService(http, objectType);
105
+ assertTextElementsService(http, objectType);
101
106
  const obj = textElementsObject(objectType, name);
107
+ const result = { changes: '', state: 'unknown', unchanged: false };
102
108
  await http.withStatefulSession(async (session) => {
103
109
  const lock = await lockObject(session, safety, obj, 'MODIFY');
104
110
  const corr = transport ?? (lock.corrNr || undefined);
111
+ let saved = false;
105
112
  try {
106
- let url = `${obj}/source/${part}?lockHandle=${encodeURIComponent(lock.lockHandle)}`;
107
- if (corr)
108
- url += `&corrNr=${encodeURIComponent(corr)}`;
109
- await session.put(url, source, TEXT_ELEMENT_CT[part], { Accept: TEXT_ELEMENT_CT[part] });
113
+ try {
114
+ const before = await readTextElementPart(session, safety, objectType, name, part);
115
+ // Initial empty CLAS/FUGR saves can strand an inactive pool in SAP (COMPAT-15).
116
+ // Content equality alone is not enough: an existing draft must never be skipped.
117
+ if (objectType !== 'PROG' && part === 'symbols' && source === '' && before === '') {
118
+ const state = await readTextPoolState(session, obj, objectType, name);
119
+ if (state === 'active') {
120
+ result.state = state;
121
+ result.unchanged = true;
122
+ return;
123
+ }
124
+ }
125
+ let url = `${obj}/source/${part}?lockHandle=${encodeURIComponent(lock.lockHandle)}`;
126
+ if (corr)
127
+ url += `&corrNr=${encodeURIComponent(corr)}`;
128
+ await session.put(url, source, TEXT_ELEMENT_CT[part], { Accept: TEXT_ELEMENT_CT[part] });
129
+ saved = true;
130
+ const after = await readTextElementPart(session, safety, objectType, name, part);
131
+ result.changes = textPartChanges(part, before, after);
132
+ }
133
+ finally {
134
+ await unlockObject(session, obj, lock.lockHandle);
135
+ }
110
136
  }
111
- finally {
112
- await unlockObject(session, obj, lock.lockHandle);
137
+ catch (err) {
138
+ if (saved) {
139
+ throwTextPoolFailure(err, 'Text elements were saved, but read-back or activation was not confirmed. Read the part before retrying.' +
140
+ result.changes);
141
+ }
142
+ throw err;
143
+ }
144
+ await activateTextPool(session, safety, obj, name, `Text elements were saved, but activation was not confirmed. Retry the same text write.${result.changes}`);
145
+ try {
146
+ result.state = await readTextPoolState(session, obj, objectType, name);
147
+ }
148
+ catch {
149
+ // The save and activation request completed; do not turn a failed final read into a retry.
150
+ result.state = 'unknown';
113
151
  }
114
152
  });
153
+ return result;
154
+ }
155
+ /** Explicit metadata can reveal drafts omitted from the caller's inactive-object feed. */
156
+ async function readTextPoolState(http, uri, objectType, name) {
157
+ const response = await http.get(`${uri}?version=inactive`);
158
+ const pool = parseXml(response.body).textElement;
159
+ const state = pool?.['@_version'];
160
+ if (!pool ||
161
+ Array.isArray(pool) ||
162
+ pool['@_name'] !== name ||
163
+ pool['@_type'] !== (objectType === 'CLAS' ? 'CLAS/OCX' : `${objectType}/PX`) ||
164
+ (state !== 'active' && state !== 'inactive')) {
165
+ throw new AdtApiError('Cannot verify the text-pool state.', 409, uri);
166
+ }
167
+ return state;
168
+ }
169
+ /** Activate one text-pool URI only; on failure, prefix `note` to the error and keep it as the hint. */
170
+ export async function activateTextPool(http, safety, uri, name, note) {
171
+ try {
172
+ // Do not add other inactive objects suggested by a preaudit response.
173
+ const result = await activate(http, safety, uri, { preaudit: false, name });
174
+ if (!result.success) {
175
+ throw new AdtApiError(result.messages.join('\n') || 'Text-pool activation failed.', 400, uri);
176
+ }
177
+ }
178
+ catch (err) {
179
+ throwTextPoolFailure(err, note);
180
+ }
181
+ }
182
+ /** Keep confirmed save state visible even when minimal errors hide SAP diagnostics. */
183
+ function throwTextPoolFailure(err, note) {
184
+ if (err instanceof AdtError)
185
+ err.extraHint = err.extraHint ? `${note}\n${err.extraHint}` : note;
186
+ if (err instanceof Error)
187
+ err.message = `${note}\n${err.message}`;
188
+ throw err;
189
+ }
190
+ /** Caller already holds the owner lock in this session. The pool has an independent lock:
191
+ * hold both from the explicit inactive-version read through owner DELETE. The caller's
192
+ * inactive feed omits other users' drafts and cannot authorize automatic activation. */
193
+ export async function withActiveTextPoolForDelete(session, safety, objectType, name, deleteOwner) {
194
+ if (!serviceAvailable(session, objectType))
195
+ return deleteOwner();
196
+ const uri = textElementsObject(objectType, name);
197
+ const lock = await lockObject(session, safety, uri, 'MODIFY');
198
+ try {
199
+ const version = await readTextPoolState(session, uri, objectType, name);
200
+ if (version === 'inactive') {
201
+ const hint = `${objectType} ${name} was not deleted because its text pool is inactive. ` +
202
+ 'Review the draft with its author, then explicitly activate the pool and retry deletion. ' +
203
+ (objectType === 'PROG'
204
+ ? `A newly created program needs its first owner activation. If its source cannot compile and you intend to discard it, replace the source with REPORT ${name}., activate the program, then retry deletion.`
205
+ : 'SAP can leave an empty pool inactive despite a successful activation response. Stop and involve the user; ARC-1 has no verified automatic repair.');
206
+ const error = new AdtApiError('Deletion refused because the text pool is inactive.', 409, uri);
207
+ error.extraHint = hint;
208
+ throw error;
209
+ }
210
+ return await deleteOwner();
211
+ }
212
+ finally {
213
+ try {
214
+ await unlockObject(session, uri, lock.lockHandle);
215
+ }
216
+ catch {
217
+ // Owner DELETE also removes the pool; the stateful session closes on every path.
218
+ }
219
+ }
115
220
  }
116
221
  //# sourceMappingURL=text-elements.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-elements.js","sourceRoot":"","sources":["../../src/adt/text-elements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-elements.js","sourceRoot":"","sources":["../../src/adt/text-elements.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { TextElementPart } from './text-elements.js';
2
+ /** Describe only losses confirmed by a native read after the PUT, while still locked. */
3
+ export declare function textPartChanges(part: TextElementPart, before: string, after: string): string;
4
+ //# sourceMappingURL=text-part-changes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-part-changes.d.ts","sourceRoot":"","sources":["../../src/adt/text-part-changes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAqB1D,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAe5F"}
@@ -0,0 +1,43 @@
1
+ /** Read SAP's canonical part bodies, not user input: SAP normalizes keys and resolves
2
+ * dictionary labels. Removed selections are absent or KEY=?..., empty headings KEY=. */
3
+ function entries(part, body) {
4
+ const result = new Map();
5
+ let ddic = false;
6
+ for (const line of body.split(/\r?\n/)) {
7
+ if (line.trim() === '@DDICReference')
8
+ ddic = true;
9
+ const equals = line.indexOf('=');
10
+ if (equals < 0)
11
+ continue;
12
+ const value = line.slice(equals + 1).trim();
13
+ result.set(line.slice(0, equals).trim(), {
14
+ maintained: value !== '' && (part !== 'selections' || value !== '?...'),
15
+ ddic,
16
+ });
17
+ ddic = false;
18
+ }
19
+ return result;
20
+ }
21
+ /** Describe only losses confirmed by a native read after the PUT, while still locked. */
22
+ export function textPartChanges(part, before, after) {
23
+ const next = entries(part, after);
24
+ const removed = [];
25
+ const references = [];
26
+ for (const [key, old] of entries(part, before)) {
27
+ const current = next.get(key);
28
+ if ((old.maintained && !current?.maintained) || (part === 'symbols' && !current))
29
+ removed.push(key);
30
+ if (old.ddic && !current?.ddic)
31
+ references.push(key);
32
+ }
33
+ const lines = [];
34
+ if (removed.length)
35
+ lines.push(`Removed texts: ${removed.join(', ')}.`);
36
+ if (references.length)
37
+ lines.push(`Removed dictionary references: ${references.join(', ')}.`);
38
+ if (!lines.length)
39
+ return '';
40
+ lines.push('To restore them, resend the previous complete part, including its annotations.');
41
+ return `\n${lines.join('\n')}`;
42
+ }
43
+ //# sourceMappingURL=text-part-changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-part-changes.js","sourceRoot":"","sources":["../../src/adt/text-part-changes.ts"],"names":[],"mappings":"AAEA;wFACwF;AACxF,SAAS,OAAO,CAAC,IAAqB,EAAE,IAAY;IAClD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkD,CAAC;IACzE,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,gBAAgB;YAAE,IAAI,GAAG,IAAI,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,GAAG,CAAC;YAAE,SAAS;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACvC,UAAU,EAAE,KAAK,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,KAAK,MAAM,CAAC;YACvE,IAAI;SACL,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,eAAe,CAAC,IAAqB,EAAE,MAAc,EAAE,KAAa;IAClF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpG,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxE,IAAI,UAAU,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,kCAAkC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9F,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;IAC7F,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACjC,CAAC"}
@@ -827,7 +827,8 @@ async function reassignSingle(http, transportId, newOwner) {
827
827
  tm:number="${escapeXmlAttr(transportId)}"
828
828
  tm:targetuser="${escapeXmlAttr(newOwner)}"
829
829
  tm:useraction="changeowner"/>`;
830
- await http.put(`/sap/bc/adt/cts/transportrequests/${encodeURIComponent(transportId)}`, body, CTS_CONTENT_TYPE_ORGANIZER, { Accept: CTS_CONTENT_TYPE_ORGANIZER });
830
+ // NW 7.50 reads the owner from the query; newer CTS handlers read the XML body.
831
+ await http.put(`/sap/bc/adt/cts/transportrequests/${encodeURIComponent(transportId)}?targetuser=${encodeURIComponent(newOwner)}`, body, CTS_CONTENT_TYPE_ORGANIZER, { Accept: CTS_CONTENT_TYPE_ORGANIZER });
831
832
  }
832
833
  /**
833
834
  * Check transport requirements for an object URL and package.
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/adt/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/adt/transport.ts"],"names":[],"mappings":"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"}
@@ -44,8 +44,14 @@ export interface FeatureStatus {
44
44
  }
45
45
  /** SAP system type: BTP ABAP Environment or on-premise */
46
46
  export type SystemType = 'btp' | 'onprem';
47
- /** ADT discovery map: endpoint path -> accepted MIME types */
47
+ /** ADT discovery map: listed endpoint path -> advertised MIME types ([] means presence only, not permission). */
48
48
  export type DiscoveryMap = Map<string, string[]>;
49
+ export interface TextSearchStatus {
50
+ available: boolean;
51
+ reason?: string;
52
+ /** Conclusive backend absence/disablement, never a user authorization or transient failure. */
53
+ unsupported?: true;
54
+ }
49
55
  /** Resolved features after probing */
50
56
  export interface ResolvedFeatures {
51
57
  hana: FeatureStatus;
@@ -64,10 +70,7 @@ export interface ResolvedFeatures {
64
70
  /** Whether the probe detected the type or applied an explicit configuration override. */
65
71
  systemTypeSource?: 'probe' | 'config';
66
72
  /** Text search (source_code) probe result — available, or reason it's unavailable */
67
- textSearch?: {
68
- available: boolean;
69
- reason?: string;
70
- };
73
+ textSearch?: TextSearchStatus;
71
74
  /** Authorization probe results — search and transport access */
72
75
  authProbe?: AuthProbeResult;
73
76
  /** ADT discovery MIME map used by HTTP content negotiation */
@@ -1097,6 +1100,8 @@ export interface EnhancementImplementationInfo {
1097
1100
  enhancementSpot: string;
1098
1101
  active: boolean;
1099
1102
  default: boolean;
1103
+ /** Filter condition of a filter-dependent BAdI implementation, e.g. `COUNTRY = 'BE'` (SAPWrite accepts it back). */
1104
+ filter?: string;
1100
1105
  }>;
1101
1106
  }
1102
1107
  /** A single revision entry from the ADT `{sourceUrl}/versions` Atom feed. */