arc-1 1.3.0 → 1.5.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 (279) hide show
  1. package/README.md +1 -1
  2. package/dist/adt/abapgit.d.ts.map +1 -1
  3. package/dist/adt/abapgit.js +64 -7
  4. package/dist/adt/abapgit.js.map +1 -1
  5. package/dist/adt/aunit.js +4 -4
  6. package/dist/adt/aunit.js.map +1 -1
  7. package/dist/adt/class-structure.d.ts +4 -2
  8. package/dist/adt/class-structure.d.ts.map +1 -1
  9. package/dist/adt/class-structure.js +18 -9
  10. package/dist/adt/class-structure.js.map +1 -1
  11. package/dist/adt/client.d.ts +18 -52
  12. package/dist/adt/client.d.ts.map +1 -1
  13. package/dist/adt/client.js +69 -92
  14. package/dist/adt/client.js.map +1 -1
  15. package/dist/adt/config.d.ts +5 -0
  16. package/dist/adt/config.d.ts.map +1 -1
  17. package/dist/adt/config.js.map +1 -1
  18. package/dist/adt/create-request.d.ts +4 -0
  19. package/dist/adt/create-request.d.ts.map +1 -0
  20. package/dist/adt/create-request.js +16 -0
  21. package/dist/adt/create-request.js.map +1 -0
  22. package/dist/adt/crud.d.ts +3 -3
  23. package/dist/adt/crud.d.ts.map +1 -1
  24. package/dist/adt/crud.js +28 -9
  25. package/dist/adt/crud.js.map +1 -1
  26. package/dist/adt/data-source-policy.d.ts +20 -8
  27. package/dist/adt/data-source-policy.d.ts.map +1 -1
  28. package/dist/adt/data-source-policy.js +55 -109
  29. package/dist/adt/data-source-policy.js.map +1 -1
  30. package/dist/adt/ddic-xml.d.ts +9 -0
  31. package/dist/adt/ddic-xml.d.ts.map +1 -1
  32. package/dist/adt/ddic-xml.js +17 -3
  33. package/dist/adt/ddic-xml.js.map +1 -1
  34. package/dist/adt/devtools.d.ts.map +1 -1
  35. package/dist/adt/devtools.js +10 -7
  36. package/dist/adt/devtools.js.map +1 -1
  37. package/dist/adt/diagnostics.d.ts +11 -9
  38. package/dist/adt/diagnostics.d.ts.map +1 -1
  39. package/dist/adt/diagnostics.js +88 -14
  40. package/dist/adt/diagnostics.js.map +1 -1
  41. package/dist/adt/enhancements.d.ts +7 -0
  42. package/dist/adt/enhancements.d.ts.map +1 -0
  43. package/dist/adt/enhancements.js +89 -0
  44. package/dist/adt/enhancements.js.map +1 -0
  45. package/dist/adt/errors.d.ts +21 -10
  46. package/dist/adt/errors.d.ts.map +1 -1
  47. package/dist/adt/errors.js +76 -54
  48. package/dist/adt/errors.js.map +1 -1
  49. package/dist/adt/features.d.ts.map +1 -1
  50. package/dist/adt/features.js +2 -0
  51. package/dist/adt/features.js.map +1 -1
  52. package/dist/adt/flp.d.ts.map +1 -1
  53. package/dist/adt/flp.js +5 -4
  54. package/dist/adt/flp.js.map +1 -1
  55. package/dist/adt/fm-signature.d.ts +1 -1
  56. package/dist/adt/fm-signature.d.ts.map +1 -1
  57. package/dist/adt/fm-signature.js +9 -1
  58. package/dist/adt/fm-signature.js.map +1 -1
  59. package/dist/adt/http-deadline.d.ts +2 -0
  60. package/dist/adt/http-deadline.d.ts.map +1 -1
  61. package/dist/adt/http-deadline.js.map +1 -1
  62. package/dist/adt/http.d.ts +12 -29
  63. package/dist/adt/http.d.ts.map +1 -1
  64. package/dist/adt/http.js +102 -95
  65. package/dist/adt/http.js.map +1 -1
  66. package/dist/adt/internal-data-operations.d.ts +3 -2
  67. package/dist/adt/internal-data-operations.d.ts.map +1 -1
  68. package/dist/adt/internal-data-operations.js +8 -1
  69. package/dist/adt/internal-data-operations.js.map +1 -1
  70. package/dist/adt/lock-object.d.ts +92 -0
  71. package/dist/adt/lock-object.d.ts.map +1 -0
  72. package/dist/adt/lock-object.js +195 -0
  73. package/dist/adt/lock-object.js.map +1 -0
  74. package/dist/adt/publish-state.d.ts +4 -0
  75. package/dist/adt/publish-state.d.ts.map +1 -0
  76. package/dist/adt/publish-state.js +61 -0
  77. package/dist/adt/publish-state.js.map +1 -0
  78. package/dist/adt/rap-generate.d.ts +5 -1
  79. package/dist/adt/rap-generate.d.ts.map +1 -1
  80. package/dist/adt/rap-generate.js +112 -100
  81. package/dist/adt/rap-generate.js.map +1 -1
  82. package/dist/adt/server-driven.d.ts +56 -13
  83. package/dist/adt/server-driven.d.ts.map +1 -1
  84. package/dist/adt/server-driven.js +114 -23
  85. package/dist/adt/server-driven.js.map +1 -1
  86. package/dist/adt/source-precondition.d.ts +3 -0
  87. package/dist/adt/source-precondition.d.ts.map +1 -0
  88. package/dist/adt/source-precondition.js +12 -0
  89. package/dist/adt/source-precondition.js.map +1 -0
  90. package/dist/adt/text-search.js +5 -5
  91. package/dist/adt/text-search.js.map +1 -1
  92. package/dist/adt/transport.d.ts +1 -2
  93. package/dist/adt/transport.d.ts.map +1 -1
  94. package/dist/adt/transport.js +20 -15
  95. package/dist/adt/transport.js.map +1 -1
  96. package/dist/adt/types.d.ts +21 -1
  97. package/dist/adt/types.d.ts.map +1 -1
  98. package/dist/adt/user-agent.d.ts +4 -0
  99. package/dist/adt/user-agent.d.ts.map +1 -0
  100. package/dist/adt/user-agent.js +11 -0
  101. package/dist/adt/user-agent.js.map +1 -0
  102. package/dist/adt/xml-entities.d.ts +3 -0
  103. package/dist/adt/xml-entities.d.ts.map +1 -0
  104. package/dist/adt/xml-entities.js +19 -0
  105. package/dist/adt/xml-entities.js.map +1 -0
  106. package/dist/adt/xml-parser.d.ts +7 -30
  107. package/dist/adt/xml-parser.d.ts.map +1 -1
  108. package/dist/adt/xml-parser.js +25 -54
  109. package/dist/adt/xml-parser.js.map +1 -1
  110. package/dist/authz/policy.d.ts.map +1 -1
  111. package/dist/authz/policy.js +2 -0
  112. package/dist/authz/policy.js.map +1 -1
  113. package/dist/cache/caching-layer.d.ts.map +1 -1
  114. package/dist/cache/caching-layer.js +5 -10
  115. package/dist/cache/caching-layer.js.map +1 -1
  116. package/dist/cli.js +1 -1
  117. package/dist/cli.js.map +1 -1
  118. package/dist/context/grep.d.ts +14 -0
  119. package/dist/context/grep.d.ts.map +1 -1
  120. package/dist/context/grep.js +49 -0
  121. package/dist/context/grep.js.map +1 -1
  122. package/dist/context/unit-surgery.d.ts +4 -2
  123. package/dist/context/unit-surgery.d.ts.map +1 -1
  124. package/dist/context/unit-surgery.js +54 -6
  125. package/dist/context/unit-surgery.js.map +1 -1
  126. package/dist/handlers/activate.d.ts.map +1 -1
  127. package/dist/handlers/activate.js +11 -20
  128. package/dist/handlers/activate.js.map +1 -1
  129. package/dist/handlers/diagnose.d.ts.map +1 -1
  130. package/dist/handlers/diagnose.js +11 -30
  131. package/dist/handlers/diagnose.js.map +1 -1
  132. package/dist/handlers/dispatch.d.ts.map +1 -1
  133. package/dist/handlers/dispatch.js +63 -8
  134. package/dist/handlers/dispatch.js.map +1 -1
  135. package/dist/handlers/editable-source.d.ts +6 -0
  136. package/dist/handlers/editable-source.d.ts.map +1 -0
  137. package/dist/handlers/editable-source.js +53 -0
  138. package/dist/handlers/editable-source.js.map +1 -0
  139. package/dist/handlers/feature-cache.d.ts +2 -0
  140. package/dist/handlers/feature-cache.d.ts.map +1 -1
  141. package/dist/handlers/feature-cache.js +8 -0
  142. package/dist/handlers/feature-cache.js.map +1 -1
  143. package/dist/handlers/hyperfocused.js +1 -1
  144. package/dist/handlers/hyperfocused.js.map +1 -1
  145. package/dist/handlers/lint.d.ts.map +1 -1
  146. package/dist/handlers/lint.js +13 -4
  147. package/dist/handlers/lint.js.map +1 -1
  148. package/dist/handlers/object-types.d.ts +2 -3
  149. package/dist/handlers/object-types.d.ts.map +1 -1
  150. package/dist/handlers/object-types.js +13 -5
  151. package/dist/handlers/object-types.js.map +1 -1
  152. package/dist/handlers/publish-failure.d.ts +7 -0
  153. package/dist/handlers/publish-failure.d.ts.map +1 -0
  154. package/dist/handlers/publish-failure.js +42 -0
  155. package/dist/handlers/publish-failure.js.map +1 -0
  156. package/dist/handlers/read.d.ts.map +1 -1
  157. package/dist/handlers/read.js +39 -9
  158. package/dist/handlers/read.js.map +1 -1
  159. package/dist/handlers/schemas.d.ts +45 -0
  160. package/dist/handlers/schemas.d.ts.map +1 -1
  161. package/dist/handlers/schemas.js +50 -7
  162. package/dist/handlers/schemas.js.map +1 -1
  163. package/dist/handlers/syntax.d.ts +5 -0
  164. package/dist/handlers/syntax.d.ts.map +1 -0
  165. package/dist/handlers/syntax.js +35 -0
  166. package/dist/handlers/syntax.js.map +1 -0
  167. package/dist/handlers/tool-descriptions.d.ts.map +1 -1
  168. package/dist/handlers/tool-descriptions.js +7 -5
  169. package/dist/handlers/tool-descriptions.js.map +1 -1
  170. package/dist/handlers/tool-registry.d.ts +4 -4
  171. package/dist/handlers/tool-registry.d.ts.map +1 -1
  172. package/dist/handlers/tool-registry.js +4 -0
  173. package/dist/handlers/tool-registry.js.map +1 -1
  174. package/dist/handlers/tools.d.ts +1 -16
  175. package/dist/handlers/tools.d.ts.map +1 -1
  176. package/dist/handlers/tools.js +44 -55
  177. package/dist/handlers/tools.js.map +1 -1
  178. package/dist/handlers/transport.d.ts.map +1 -1
  179. package/dist/handlers/transport.js +17 -3
  180. package/dist/handlers/transport.js.map +1 -1
  181. package/dist/handlers/write/class-edit.d.ts +16 -0
  182. package/dist/handlers/write/class-edit.d.ts.map +1 -0
  183. package/dist/handlers/write/class-edit.js +55 -0
  184. package/dist/handlers/write/class-edit.js.map +1 -0
  185. package/dist/handlers/write/class-surgery.d.ts +2 -2
  186. package/dist/handlers/write/class-surgery.d.ts.map +1 -1
  187. package/dist/handlers/write/class-surgery.js +189 -220
  188. package/dist/handlers/write/class-surgery.js.map +1 -1
  189. package/dist/handlers/write/context.d.ts +1 -8
  190. package/dist/handlers/write/context.d.ts.map +1 -1
  191. package/dist/handlers/write/create.d.ts.map +1 -1
  192. package/dist/handlers/write/create.js +11 -4
  193. package/dist/handlers/write/create.js.map +1 -1
  194. package/dist/handlers/write/metadata-update.d.ts +4 -0
  195. package/dist/handlers/write/metadata-update.d.ts.map +1 -0
  196. package/dist/handlers/write/metadata-update.js +58 -0
  197. package/dist/handlers/write/metadata-update.js.map +1 -0
  198. package/dist/handlers/write/rap.d.ts.map +1 -1
  199. package/dist/handlers/write/rap.js +132 -155
  200. package/dist/handlers/write/rap.js.map +1 -1
  201. package/dist/handlers/write/unit-surgery.d.ts +2 -2
  202. package/dist/handlers/write/unit-surgery.d.ts.map +1 -1
  203. package/dist/handlers/write/unit-surgery.js +58 -34
  204. package/dist/handlers/write/unit-surgery.js.map +1 -1
  205. package/dist/handlers/write/update-delete.d.ts.map +1 -1
  206. package/dist/handlers/write/update-delete.js +34 -82
  207. package/dist/handlers/write/update-delete.js.map +1 -1
  208. package/dist/handlers/write-helpers.d.ts +4 -3
  209. package/dist/handlers/write-helpers.d.ts.map +1 -1
  210. package/dist/handlers/write-helpers.js +135 -21
  211. package/dist/handlers/write-helpers.js.map +1 -1
  212. package/dist/handlers/write.d.ts.map +1 -1
  213. package/dist/handlers/write.js +13 -31
  214. package/dist/handlers/write.js.map +1 -1
  215. package/dist/lint/config-builder.d.ts +10 -1
  216. package/dist/lint/config-builder.d.ts.map +1 -1
  217. package/dist/lint/config-builder.js +4 -0
  218. package/dist/lint/config-builder.js.map +1 -1
  219. package/dist/lint/lint.d.ts +3 -1
  220. package/dist/lint/lint.d.ts.map +1 -1
  221. package/dist/lint/lint.js +2 -1
  222. package/dist/lint/lint.js.map +1 -1
  223. package/dist/public/read-only-client.d.ts +6 -0
  224. package/dist/public/read-only-client.d.ts.map +1 -0
  225. package/dist/public/read-only-client.js +66 -0
  226. package/dist/public/read-only-client.js.map +1 -0
  227. package/dist/public/testing.d.ts +4 -0
  228. package/dist/public/testing.d.ts.map +1 -1
  229. package/dist/public/testing.js +6 -0
  230. package/dist/public/testing.js.map +1 -1
  231. package/dist/public/types.d.ts +14 -15
  232. package/dist/public/types.d.ts.map +1 -1
  233. package/dist/server/audit.d.ts +6 -1
  234. package/dist/server/audit.d.ts.map +1 -1
  235. package/dist/server/audit.js.map +1 -1
  236. package/dist/server/config.d.ts.map +1 -1
  237. package/dist/server/config.js +9 -2
  238. package/dist/server/config.js.map +1 -1
  239. package/dist/server/deny-actions.d.ts +2 -1
  240. package/dist/server/deny-actions.d.ts.map +1 -1
  241. package/dist/server/deny-actions.js +13 -2
  242. package/dist/server/deny-actions.js.map +1 -1
  243. package/dist/server/http.d.ts.map +1 -1
  244. package/dist/server/http.js +7 -5
  245. package/dist/server/http.js.map +1 -1
  246. package/dist/server/logger.d.ts +3 -3
  247. package/dist/server/logger.d.ts.map +1 -1
  248. package/dist/server/logger.js +7 -7
  249. package/dist/server/logger.js.map +1 -1
  250. package/dist/server/multi-target-basic-auth.d.ts.map +1 -1
  251. package/dist/server/multi-target-basic-auth.js +1 -0
  252. package/dist/server/multi-target-basic-auth.js.map +1 -1
  253. package/dist/server/multi-target-runtime.d.ts.map +1 -1
  254. package/dist/server/multi-target-runtime.js +1 -0
  255. package/dist/server/multi-target-runtime.js.map +1 -1
  256. package/dist/server/oauth-redirect-policy.d.ts +13 -0
  257. package/dist/server/oauth-redirect-policy.d.ts.map +1 -0
  258. package/dist/server/oauth-redirect-policy.js +21 -0
  259. package/dist/server/oauth-redirect-policy.js.map +1 -0
  260. package/dist/server/plugin-loader.d.ts.map +1 -1
  261. package/dist/server/plugin-loader.js +1 -3
  262. package/dist/server/plugin-loader.js.map +1 -1
  263. package/dist/server/safe-http-client.d.ts +8 -14
  264. package/dist/server/safe-http-client.d.ts.map +1 -1
  265. package/dist/server/safe-http-client.js +51 -73
  266. package/dist/server/safe-http-client.js.map +1 -1
  267. package/dist/server/server.d.ts +5 -4
  268. package/dist/server/server.d.ts.map +1 -1
  269. package/dist/server/server.js +36 -27
  270. package/dist/server/server.js.map +1 -1
  271. package/dist/server/types.d.ts +6 -4
  272. package/dist/server/types.d.ts.map +1 -1
  273. package/dist/server/types.js +2 -0
  274. package/dist/server/types.js.map +1 -1
  275. package/dist/version.d.ts +3 -0
  276. package/dist/version.d.ts.map +1 -0
  277. package/dist/version.js +3 -0
  278. package/dist/version.js.map +1 -0
  279. package/package.json +15 -15
@@ -0,0 +1,61 @@
1
+ /** Conservative publication evidence; the general SRVB parser defaults absent flags to false. */
2
+ import { XMLParser, XMLValidator } from 'fast-xml-parser';
3
+ const SRVB = 'http://www.sap.com/adt/ddic/ServiceBindings';
4
+ const CORE = 'http://www.sap.com/adt/core';
5
+ const parser = new XMLParser({
6
+ ignoreAttributes: false,
7
+ parseAttributeValue: false,
8
+ parseTagValue: false,
9
+ ignoreDeclaration: true,
10
+ ignorePiTags: true,
11
+ });
12
+ /** Only report a known state for the live-verified, single-version active V4 UI shape. */
13
+ export function readPublishState(xml, name, version) {
14
+ if (Buffer.byteLength(xml) > 256 * 1024 || /<!DOCTYPE/i.test(xml) || XMLValidator.validate(xml) !== true)
15
+ return 'unknown';
16
+ try {
17
+ const doc = parser.parse(xml);
18
+ const roots = Object.keys(doc).filter((key) => key !== '#text');
19
+ if (roots.length !== 1)
20
+ return 'unknown';
21
+ const root = doc[roots[0]];
22
+ if (!root || typeof root !== 'object' || Array.isArray(root))
23
+ return 'unknown';
24
+ const qname = (key, uri, local) => {
25
+ const [prefix, suffix] = key.split(':');
26
+ return suffix === local && root[`@_xmlns:${prefix}`] === uri;
27
+ };
28
+ if (!qname(roots[0], SRVB, 'serviceBinding'))
29
+ return 'unknown';
30
+ const value = (node, uri, local, attribute = false) => {
31
+ if (!node || typeof node !== 'object' || Array.isArray(node))
32
+ return undefined;
33
+ const keys = Object.keys(node).filter((key) => attribute ? key.startsWith('@_') && qname(key.slice(2), uri, local) : qname(key, uri, local));
34
+ return keys.length === 1 ? node[keys[0]] : undefined;
35
+ };
36
+ // Unrelated local Atom declarations are normal; rebinding an interpreted prefix is ambiguous.
37
+ const rebound = (node, top = false) => !!node &&
38
+ typeof node === 'object' &&
39
+ Object.entries(node).some(([key, val]) => (!top && key.startsWith('@_xmlns:') && [SRVB, CORE].includes(root[key]) && val !== root[key]) || rebound(val));
40
+ if (rebound(root, true))
41
+ return 'unknown';
42
+ if (value(root, CORE, 'name', true) !== name ||
43
+ value(root, CORE, 'type', true) !== 'SRVB/SVB' ||
44
+ value(root, CORE, 'version', true) !== 'active')
45
+ return 'unknown';
46
+ const binding = value(root, SRVB, 'binding');
47
+ const services = value(root, SRVB, 'services');
48
+ if (value(binding, SRVB, 'type', true) !== 'ODATA' ||
49
+ value(binding, SRVB, 'version', true) !== 'V4' ||
50
+ value(binding, SRVB, 'category', true) !== '0' ||
51
+ value(services, SRVB, 'name', true) !== name ||
52
+ value(value(services, SRVB, 'content'), SRVB, 'version', true) !== version)
53
+ return 'unknown';
54
+ const published = value(root, SRVB, 'published', true);
55
+ return published === 'true' ? 'published' : published === 'false' ? 'unpublished' : 'unknown';
56
+ }
57
+ catch {
58
+ return 'unknown';
59
+ }
60
+ }
61
+ //# sourceMappingURL=publish-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-state.js","sourceRoot":"","sources":["../../src/adt/publish-state.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,9 @@
31
31
  * failures rethrow.
32
32
  */
33
33
  import type { AdtClient } from './client.js';
34
- import { type RapHandlerRequirement } from './rap-handlers.js';
34
+ import type { AdtHttpClient } from './http.js';
35
+ import { type RapHandlerRequirement, type RapHandlerSourceSections } from './rap-handlers.js';
36
+ import { type SafetyConfig } from './safety.js';
35
37
  /** Options for `generateBehaviorImplementation`. */
36
38
  export interface RapGenerateOptions {
37
39
  /** Explicit BDEF name (overrides rootEntityRef auto-discovery). */
@@ -107,4 +109,6 @@ export declare function isRapGenerateResultSuccess(result: RapGenerateResult): b
107
109
  * behavior pool class. See module-level docs for the contract.
108
110
  */
109
111
  export declare function generateBehaviorImplementation(client: AdtClient, className: string, options?: RapGenerateOptions): Promise<RapGenerateResult>;
112
+ /** Read only the three RAP source sections. Serial reads keep one stateful SAP context in order. */
113
+ export declare function readRapClassSources(http: AdtHttpClient, safety: SafetyConfig, name: string): Promise<RapHandlerSourceSections>;
110
114
  //# sourceMappingURL=rap-generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rap-generate.d.ts","sourceRoot":"","sources":["../../src/adt/rap-generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,OAAO,EAKL,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAE3B,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,MAAM,EAAE,eAAe,GAAG,UAAU,CAAC;IACrC,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,iGAAiG;IACjG,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gHAAgH;IAChH,cAAc,EAAE,OAAO,CAAC;IACxB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,2FAA2F;IAC3F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,oBAAoB,CAAC;IAChC,UAAU,EAAE,qBAAqB,CAAC;IAClC,sEAAsE;IACtE,eAAe,EAAE,OAAO,CAAC;IACzB,kFAAkF;IAClF,eAAe,EAAE,KAAK,CAAC,MAAM,GAAG,aAAa,GAAG,iBAAiB,CAAC,CAAC;IACnE,qDAAqD;IACrD,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,4EAA4E;IAC5E,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC,wFAAwF;IACxF,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAI7E;AA8CD;;;GAGG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAiN5B"}
1
+ {"version":3,"file":"rap-generate.d.ts","sourceRoot":"","sources":["../../src/adt/rap-generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAKL,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAE/E,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,MAAM,EAAE,eAAe,GAAG,UAAU,CAAC;IACrC,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,iGAAiG;IACjG,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gHAAgH;IAChH,cAAc,EAAE,OAAO,CAAC;IACxB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,2FAA2F;IAC3F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,oBAAoB,CAAC;IAChC,UAAU,EAAE,qBAAqB,CAAC;IAClC,sEAAsE;IACtE,eAAe,EAAE,OAAO,CAAC;IACzB,kFAAkF;IAClF,eAAe,EAAE,KAAK,CAAC,MAAM,GAAG,aAAa,GAAG,iBAAiB,CAAC,CAAC;IACnE,qDAAqD;IACrD,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,4EAA4E;IAC5E,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC,wFAAwF;IACxF,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAI7E;AA8CD;;;GAGG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAsL5B;AAED,oGAAoG;AACpG,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,wBAAwB,CAAC,CAqBnC"}
@@ -32,8 +32,9 @@
32
32
  */
33
33
  import { lockObject, unlockObject, updateSource } from './crud.js';
34
34
  import { activateBatch } from './devtools.js';
35
- import { AdtApiError, AdtSafetyError } from './errors.js';
35
+ import { AdtApiError, AdtSafetyError, isNotFoundError } from './errors.js';
36
36
  import { applyRapHandlerScaffold, extractRapHandlerRequirements, findMissingRapHandlerImplementationStubs, findMissingRapHandlerRequirements, } from './rap-handlers.js';
37
+ import { checkOperation, OperationType } from './safety.js';
37
38
  /**
38
39
  * Classify a `generate_behavior_implementation` outcome as MCP success vs error.
39
40
  *
@@ -117,108 +118,100 @@ export async function generateBehaviorImplementation(client, className, options
117
118
  `class metadata has no rootEntityRef. Pass an explicit "bdefName" parameter to override.`);
118
119
  }
119
120
  bdefName = bdefName.toUpperCase();
120
- // ── Phase 2: read sources + cross-validate ────────────────────────────
121
- const structured = await client.getClassStructured(cleanClassName);
122
- const mainSource = structured.main ?? '';
123
- const definitionsSource = structured.definitions ?? '';
124
- const implementationsSource = structured.implementations ?? '';
125
121
  const bdefRead = await client.getBdef(bdefName);
126
122
  const bdefSource = bdefRead.source;
127
- const mainBdefMatch = FOR_BEHAVIOR_OF_RE.exec(mainSource);
128
- const bdefClassMatch = MANAGED_IMPL_RE.exec(bdefSource);
129
- const mainBdefRef = mainBdefMatch?.[1]?.toUpperCase();
130
- const bdefClassRef = bdefClassMatch?.[1]?.toUpperCase();
131
- const validation = {
132
- mainHasForBehaviorOf: Boolean(mainBdefRef),
133
- bdefBindsClass: Boolean(bdefClassRef),
134
- };
135
- const mismatches = [];
136
- if (!mainBdefRef) {
137
- mismatches.push(`MAIN source for ${cleanClassName} does not contain "FOR BEHAVIOR OF <bdef>"`);
138
- }
139
- else if (mainBdefRef !== bdefName) {
140
- mismatches.push(`MAIN binds BDEF ${mainBdefRef} but discovery resolved to ${bdefName}`);
141
- }
142
- if (!bdefClassRef) {
143
- mismatches.push(`BDEF ${bdefName} does not contain "managed implementation in class <class> unique"`);
144
- }
145
- else if (bdefClassRef !== cleanClassName.toUpperCase()) {
146
- mismatches.push(`BDEF ${bdefName} binds class ${bdefClassRef} but we are generating for ${cleanClassName}`);
147
- }
148
- if (mismatches.length > 0) {
149
- validation.mismatchReason = mismatches.join('; ');
150
- }
151
- if (validation.mismatchReason && !dryRun) {
152
- throw new AdtSafetyError(`generate_behavior_implementation: cross-reference validation failed (${validation.mismatchReason}). ` +
153
- `Refusing to mutate. Re-run with dryRun=true to inspect the report and fix the source files first.`);
154
- }
155
- // ── Phase 3: scaffold plan ────────────────────────────────────────────
156
- let requirements = extractRapHandlerRequirements(bdefSource);
157
- if (targetAlias) {
158
- requirements = requirements.filter((req) => req.entityAlias.toLowerCase() === targetAlias);
159
- }
160
- const combinedSource = [mainSource, definitionsSource, implementationsSource].filter(Boolean).join('\n\n');
161
- const missingSignatures = findMissingRapHandlerRequirements(requirements, combinedSource);
162
- const missingStubs = findMissingRapHandlerImplementationStubs(requirements, combinedSource);
163
- const scaffoldPlan = applyRapHandlerScaffold({
164
- main: mainSource,
165
- definitions: definitionsSource || undefined,
166
- implementations: implementationsSource || undefined,
167
- }, missingSignatures, missingStubs);
168
- const result = {
169
- discovery: {
170
- className: cleanClassName,
171
- bdefName,
172
- source: discoverySource,
173
- classCategory: metadata.category,
174
- },
175
- validation,
176
- scaffoldChanged: scaffoldPlan.changedSections.length > 0,
177
- changedSections: scaffoldPlan.changedSections.filter((section) => section === 'main' || section === 'definitions' || section === 'implementations'),
178
- inserted: {
179
- signatures: scaffoldPlan.insertedSignatureCount,
180
- stubs: scaffoldPlan.insertedImplementationStubCount,
181
- autoCreatedSkeletons: (scaffoldPlan.skeletons?.createdDefinitions.length ?? 0) +
182
- (scaffoldPlan.skeletons?.createdImplementations.length ?? 0),
183
- },
184
- required: requirements,
185
- dryRun,
186
- };
187
- // Dry-run short-circuits before any side effects.
188
- if (dryRun) {
189
- return result;
190
- }
191
123
  const objectUrl = classObjectUrl(cleanClassName);
192
- // ── Phase 4: write (only when scaffold has changes) ───────────────────
193
- // When scaffoldChanged=false, all handlers are already in place — skip the
194
- // lock+write cycle entirely. Activation still runs below if requested, because
195
- // a populated-but-inactive class is a realistic rerun/recovery state after
196
- // earlier manual include writes (Codex review note on PR #260).
197
- if (result.scaffoldChanged) {
198
- await client.http.withStatefulSession(async (session) => {
199
- const lock = await lockObject(session, client.safety, objectUrl, 'MODIFY');
200
- const effectiveTransport = transport ?? (lock.corrNr || undefined);
201
- try {
202
- if (scaffoldPlan.changed.main && scaffoldPlan.sections.main !== mainSource) {
203
- await updateSource(session, client.safety, classMainSourceUrl(cleanClassName), scaffoldPlan.sections.main, lock.lockHandle, effectiveTransport);
204
- }
205
- if (scaffoldPlan.changed.definitions && scaffoldPlan.sections.definitions) {
206
- await updateSource(session, client.safety, classIncludeUrlFor(cleanClassName, 'definitions'), scaffoldPlan.sections.definitions, lock.lockHandle, effectiveTransport);
207
- }
208
- if (scaffoldPlan.changed.implementations && scaffoldPlan.sections.implementations) {
209
- await updateSource(session, client.safety, classIncludeUrlFor(cleanClassName, 'implementations'), scaffoldPlan.sections.implementations, lock.lockHandle, effectiveTransport);
210
- }
211
- }
212
- finally {
213
- try {
214
- await unlockObject(session, objectUrl, lock.lockHandle);
215
- }
216
- catch {
217
- // best-effort-cleanup: surface the original error, not an unlock failure
218
- }
219
- }
220
- });
221
- }
124
+ const scaffold = async (session, save) => {
125
+ // Read the editable view through the locked session before deriving replacements.
126
+ const structured = await readRapClassSources(session, client.safety, cleanClassName);
127
+ const mainSource = structured.main;
128
+ const definitionsSource = structured.definitions ?? '';
129
+ const implementationsSource = structured.implementations ?? '';
130
+ const mainBdefMatch = FOR_BEHAVIOR_OF_RE.exec(mainSource);
131
+ const bdefClassMatch = MANAGED_IMPL_RE.exec(bdefSource);
132
+ const mainBdefRef = mainBdefMatch?.[1]?.toUpperCase();
133
+ const bdefClassRef = bdefClassMatch?.[1]?.toUpperCase();
134
+ const validation = {
135
+ mainHasForBehaviorOf: Boolean(mainBdefRef),
136
+ bdefBindsClass: Boolean(bdefClassRef),
137
+ };
138
+ const mismatches = [];
139
+ if (!mainBdefRef) {
140
+ mismatches.push(`MAIN source for ${cleanClassName} does not contain "FOR BEHAVIOR OF <bdef>"`);
141
+ }
142
+ else if (mainBdefRef !== bdefName) {
143
+ mismatches.push(`MAIN binds BDEF ${mainBdefRef} but discovery resolved to ${bdefName}`);
144
+ }
145
+ if (!bdefClassRef) {
146
+ mismatches.push(`BDEF ${bdefName} does not contain "managed implementation in class <class> unique"`);
147
+ }
148
+ else if (bdefClassRef !== cleanClassName.toUpperCase()) {
149
+ mismatches.push(`BDEF ${bdefName} binds class ${bdefClassRef} but we are generating for ${cleanClassName}`);
150
+ }
151
+ if (mismatches.length > 0) {
152
+ validation.mismatchReason = mismatches.join('; ');
153
+ }
154
+ if (validation.mismatchReason && !dryRun) {
155
+ throw new AdtSafetyError(`generate_behavior_implementation: cross-reference validation failed (${validation.mismatchReason}). ` +
156
+ `Refusing to mutate. Re-run with dryRun=true to inspect the report and fix the source files first.`);
157
+ }
158
+ // ── Phase 3: scaffold plan ────────────────────────────────────────────
159
+ let requirements = extractRapHandlerRequirements(bdefSource);
160
+ if (targetAlias) {
161
+ requirements = requirements.filter((req) => req.entityAlias.toLowerCase() === targetAlias);
162
+ }
163
+ const combinedSource = [mainSource, definitionsSource, implementationsSource].filter(Boolean).join('\n\n');
164
+ const missingSignatures = findMissingRapHandlerRequirements(requirements, combinedSource);
165
+ const missingStubs = findMissingRapHandlerImplementationStubs(requirements, combinedSource);
166
+ const scaffoldPlan = applyRapHandlerScaffold({
167
+ main: mainSource,
168
+ definitions: definitionsSource || undefined,
169
+ implementations: implementationsSource || undefined,
170
+ }, missingSignatures, missingStubs);
171
+ const result = {
172
+ discovery: {
173
+ className: cleanClassName,
174
+ bdefName,
175
+ source: discoverySource,
176
+ classCategory: metadata.category,
177
+ },
178
+ validation,
179
+ scaffoldChanged: scaffoldPlan.changedSections.length > 0,
180
+ changedSections: scaffoldPlan.changedSections.filter((section) => section === 'main' || section === 'definitions' || section === 'implementations'),
181
+ inserted: {
182
+ signatures: scaffoldPlan.insertedSignatureCount,
183
+ stubs: scaffoldPlan.insertedImplementationStubCount,
184
+ autoCreatedSkeletons: (scaffoldPlan.skeletons?.createdDefinitions.length ?? 0) +
185
+ (scaffoldPlan.skeletons?.createdImplementations.length ?? 0),
186
+ },
187
+ required: requirements,
188
+ dryRun,
189
+ };
190
+ if (!save)
191
+ return result;
192
+ if (scaffoldPlan.changed.main && scaffoldPlan.sections.main !== mainSource) {
193
+ await save(classMainSourceUrl(cleanClassName), scaffoldPlan.sections.main);
194
+ }
195
+ if (scaffoldPlan.changed.definitions && scaffoldPlan.sections.definitions) {
196
+ await save(classIncludeUrlFor(cleanClassName, 'definitions'), scaffoldPlan.sections.definitions);
197
+ }
198
+ if (scaffoldPlan.changed.implementations && scaffoldPlan.sections.implementations) {
199
+ await save(classIncludeUrlFor(cleanClassName, 'implementations'), scaffoldPlan.sections.implementations);
200
+ }
201
+ return result;
202
+ };
203
+ if (dryRun)
204
+ return scaffold(client.http);
205
+ // Even activation-only reruns need the lock to establish that no source change is needed.
206
+ const result = await client.http.withStatefulSession(async (session) => {
207
+ const lock = await lockObject(session, client.safety, objectUrl, 'MODIFY');
208
+ try {
209
+ return await scaffold(session, (url, source) => updateSource(session, client.safety, url, source, lock.lockHandle, transport ?? (lock.corrNr || undefined)));
210
+ }
211
+ finally {
212
+ await unlockObject(session, objectUrl, lock.lockHandle);
213
+ }
214
+ });
222
215
  // ── Phase 5: optional activation ──────────────────────────────────────
223
216
  if (activateRequested) {
224
217
  try {
@@ -259,4 +252,23 @@ export async function generateBehaviorImplementation(client, className, options
259
252
  }
260
253
  return result;
261
254
  }
255
+ /** Read only the three RAP source sections. Serial reads keep one stateful SAP context in order. */
256
+ export async function readRapClassSources(http, safety, name) {
257
+ checkOperation(safety, OperationType.Read, 'GetRapClassSources');
258
+ const sections = {
259
+ main: (await http.get(classMainSourceUrl(name), { 'Cache-Control': 'no-cache' })).body,
260
+ };
261
+ for (const include of ['definitions', 'implementations']) {
262
+ try {
263
+ sections[include] = (await http.get(classIncludeUrlFor(name, include), { 'Cache-Control': 'no-cache' }, {
264
+ suppressNotFoundLog: true,
265
+ })).body;
266
+ }
267
+ catch (err) {
268
+ if (!isNotFoundError(err))
269
+ throw err;
270
+ }
271
+ }
272
+ return sections;
273
+ }
262
274
  //# sourceMappingURL=rap-generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rap-generate.js","sourceRoot":"","sources":["../../src/adt/rap-generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rap-generate.js","sourceRoot":"","sources":["../../src/adt/rap-generate.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export interface SdoRegistryEntry {
14
14
  createType: string;
15
15
  /**
16
16
  * Metadata content-type for BOTH the metadata GET (Accept) and the create POST (Content-Type).
17
- * Most types use `application/vnd.sap.adt.blues.vN+xml` (EVTO is v2, the rest v1); DTDC uses its
17
+ * Most types use `application/vnd.sap.adt.blues.vN+xml` (version set per entry); DTDC uses its
18
18
  * own `application/vnd.sap.adt.ddic.dtdc.v1+xml`. Matched by `discoveryMarker` in the gate.
19
19
  */
20
20
  metadataContentType: string;
@@ -38,7 +38,7 @@ export interface SdoRegistryEntry {
38
38
  discoveryMarker: string;
39
39
  /**
40
40
  * Source flavor — drives BOTH the client-side validation and the PUT Content-Type. NOT uniform:
41
- * the AFF-JSON types 415 on text/plain, and the DDL-text types (DTSC, DSFD, DTDC) 415 on
41
+ * the AFF-JSON types 415 on text/plain, and the DDL-text types 415 on
42
42
  * application/json. Live-verified per type on 816.
43
43
  */
44
44
  sourceFormat: SdoSourceFormat;
@@ -55,7 +55,7 @@ export declare function serverDrivenSourceFormat(code: string): SdoSourceFormat;
55
55
  * here is the ONLY step needed to expose it — `btp: true` by construction (runtime availability is
56
56
  * discovery-gated per system, so a type absent on a release degrades cleanly).
57
57
  */
58
- export declare const SDO_TYPES: readonly ['DESD', 'DTSC', 'CSNM', 'EVTB', 'EVTO', 'COTA', 'DSFD', 'DTDC', 'UIAD'];
58
+ export declare const SDO_TYPES: readonly ['DESD', 'DTSC', 'CSNM', 'EVTB', 'EVTO', 'COTA', 'DSFD', 'DTDC', 'UIAD', 'DRTY', 'APLO', 'SAJC', 'SAJT'];
59
59
  /** Curated registry of high-value server-driven object types — keys are exactly SDO_TYPES. */
60
60
  export declare const SDO_REGISTRY: {
61
61
  DESD: {
@@ -157,6 +157,50 @@ export declare const SDO_REGISTRY: {
157
157
  metadataContentType: string;
158
158
  sourceFormat: "json";
159
159
  };
160
+ DRTY: {
161
+ metadataRootLocalName: 'blueSource';
162
+ metadataRootQName: 'blue:blueSource';
163
+ metadataNamespace: 'http://www.sap.com/wbobj/blue';
164
+ discoveryMarker: 'blues';
165
+ href: string;
166
+ label: string;
167
+ createType: string;
168
+ metadataContentType: string;
169
+ sourceFormat: "text";
170
+ };
171
+ APLO: {
172
+ metadataRootLocalName: 'blueSource';
173
+ metadataRootQName: 'blue:blueSource';
174
+ metadataNamespace: 'http://www.sap.com/wbobj/blue';
175
+ discoveryMarker: 'blues';
176
+ href: string;
177
+ label: string;
178
+ createType: string;
179
+ metadataContentType: string;
180
+ sourceFormat: "json";
181
+ };
182
+ SAJC: {
183
+ metadataRootLocalName: 'blueSource';
184
+ metadataRootQName: 'blue:blueSource';
185
+ metadataNamespace: 'http://www.sap.com/wbobj/blue';
186
+ discoveryMarker: 'blues';
187
+ href: string;
188
+ label: string;
189
+ createType: string;
190
+ metadataContentType: string;
191
+ sourceFormat: "json";
192
+ };
193
+ SAJT: {
194
+ metadataRootLocalName: 'blueSource';
195
+ metadataRootQName: 'blue:blueSource';
196
+ metadataNamespace: 'http://www.sap.com/wbobj/blue';
197
+ discoveryMarker: 'blues';
198
+ href: string;
199
+ label: string;
200
+ createType: string;
201
+ metadataContentType: string;
202
+ sourceFormat: "json";
203
+ };
160
204
  };
161
205
  /** True when `code` is one of the registered server-driven object types. */
162
206
  export declare function isServerDrivenObjectType(code: string): boolean;
@@ -202,9 +246,10 @@ export declare function serverDrivenUnavailableMessage(tool: string, code: strin
202
246
  /**
203
247
  * Read a server-driven object: its metadata (blue:blueSource or dtdc:dtdcSource) + source (AFF JSON
204
248
  * or DDL text). The source is JSON-parsed when possible (raw text otherwise). Throws AdtApiError 404
205
- * for a nonexistent object. Gate availability with supportsServerDrivenObject() on unknown systems.
249
+ * for a nonexistent object. Explicit versions must match the returned metadata; omission keeps
250
+ * SAP's developer view. Gate availability with supportsServerDrivenObject() on unknown systems.
206
251
  */
207
- export declare function getServerDrivenObject(http: AdtHttpClient, safety: SafetyConfig, code: string, name: string): Promise<ServerDrivenObjectResult>;
252
+ export declare function getServerDrivenObject(http: AdtHttpClient, safety: SafetyConfig, code: string, name: string, version?: 'active' | 'inactive'): Promise<ServerDrivenObjectResult>;
208
253
  /**
209
254
  * Build the minimal metadata create body for a server-driven object — the per-type root element
210
255
  * (blue:blueSource or dtdc:dtdcSource) with the verified `createType` for `adtcore:type`
@@ -218,7 +263,7 @@ export declare function getServerDrivenObject(http: AdtHttpClient, safety: Safet
218
263
  * registered type.
219
264
  */
220
265
  export type UiadLanguageVersion = 'standard' | 'keyUser' | 'cloudDevelopment';
221
- export declare function buildServerDrivenMetadataXml(code: string, name: string, pkg: string, description: string, uiadLanguageVersion?: UiadLanguageVersion): string;
266
+ export declare function buildServerDrivenMetadataXml(code: string, name: string, pkg: string, description: string, uiadLanguageVersion?: UiadLanguageVersion, creationProperties?: Record<string, string>): string;
222
267
  /** Options shared by the SDO write operations. */
223
268
  export interface ServerDrivenWriteOptions {
224
269
  transport?: string;
@@ -228,26 +273,24 @@ export interface ServerDrivenWriteOptions {
228
273
  }
229
274
  /**
230
275
  * Create a server-driven object (metadata only — POST the <blue:blueSource> body to the collection
231
- * href with the type's blues content-type). Leaves the object INACTIVE; callers follow with source
232
- * write + activation. Returns the raw response body. Verified live: 201 for all 6 registered types.
276
+ * href with the type's metadata content-type). APLO is immediately active; other generic types
277
+ * need activation. Job objects also need their creation reference. Returns the raw response body.
233
278
  */
234
279
  export declare function createServerDrivenObject(http: AdtHttpClient, safety: SafetyConfig, code: string, name: string, opts: {
235
280
  package: string;
236
281
  description: string;
237
282
  transport?: string;
238
283
  uiadLanguageVersion?: UiadLanguageVersion;
284
+ creationProperties?: Record<string, string>;
239
285
  }): Promise<string>;
240
286
  /**
241
287
  * Write the source of a server-driven object: lock → PUT …/source/main → unlock (guaranteed via
242
288
  * try-finally). The Content-Type comes from the type's declared sourceFormat — AFF-JSON types take
243
- * application/json, DDL-text types (DTSC, DSFD) take text/plain; sending the wrong one is a 415.
289
+ * application/json, entries with sourceFormat='text' take text/plain; the wrong one is a 415.
244
290
  * Auto-propagates the lock's corrNr when no explicit transport is supplied (same contract as
245
291
  * crud.ts safeUpdateSource).
246
292
  */
247
293
  export declare function updateServerDrivenObjectSource(http: AdtHttpClient, safety: SafetyConfig, code: string, name: string, source: string, opts?: ServerDrivenWriteOptions): Promise<void>;
248
- /**
249
- * Delete a server-driven object: lock → http.delete(…?lockHandle=…) → best-effort unlock.
250
- * The unlock is swallowed on failure (the object is already gone after the delete).
251
- */
294
+ /** Delete under a lock, then verify canonical metadata absence in a fresh request. */
252
295
  export declare function deleteServerDrivenObject(http: AdtHttpClient, safety: SafetyConfig, code: string, name: string, opts?: ServerDrivenWriteOptions): Promise<void>;
253
296
  //# sourceMappingURL=server-driven.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-driven.d.ts","sourceRoot":"","sources":["../../src/adt/server-driven.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-driven.d.ts","sourceRoot":"","sources":["../../src/adt/server-driven.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAG3D,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,YAAY,EAAE,eAAe,CAAC;CAC/B;AAED,kGAAkG;AAClG,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAiB9C,uFAAuF;AACvF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAclE;AAED,6FAA6F;AAC7F,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAEtE;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,YACpB,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,CACE,CAAC;AAEX,8FAA8F;AAC9F,eAAO,MAAM,YAAY;;+BAtDA,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;;;;;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;CA0KsC,CAAC;AAMjE,4EAA4E;AAC5E,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9D;AASD,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAKjG;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED,4FAA4F;AAC5F,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMjF;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CAyBnC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,SAAS,GAAG,kBAAkB,CAAC;AAE9E,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,mBAAmB,EACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1C,MAAM,CAOR;AAED,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,KAAK,IAAI,CAAC;IAC3D,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IACJ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C,GACA,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;;;;;GAMG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,wBAA6B,GAClC,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAmCD,sFAAsF;AACtF,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,wBAA6B,GAClC,OAAO,CAAC,IAAI,CAAC,CAoCf"}