arc-1 1.2.0 → 1.3.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 +7 -5
  2. package/dist/adt/atc-batch.d.ts +71 -0
  3. package/dist/adt/atc-batch.d.ts.map +1 -0
  4. package/dist/adt/atc-batch.js +182 -0
  5. package/dist/adt/atc-batch.js.map +1 -0
  6. package/dist/adt/atc.d.ts +34 -0
  7. package/dist/adt/atc.d.ts.map +1 -1
  8. package/dist/adt/atc.js +58 -12
  9. package/dist/adt/atc.js.map +1 -1
  10. package/dist/adt/aunit.d.ts.map +1 -1
  11. package/dist/adt/aunit.js +50 -7
  12. package/dist/adt/aunit.js.map +1 -1
  13. package/dist/adt/bounded-response.d.ts +4 -1
  14. package/dist/adt/bounded-response.d.ts.map +1 -1
  15. package/dist/adt/bounded-response.js +33 -7
  16. package/dist/adt/bounded-response.js.map +1 -1
  17. package/dist/adt/ci-quality-xml.d.ts +44 -0
  18. package/dist/adt/ci-quality-xml.d.ts.map +1 -0
  19. package/dist/adt/ci-quality-xml.js +98 -0
  20. package/dist/adt/ci-quality-xml.js.map +1 -0
  21. package/dist/adt/ci-quality.d.ts +64 -0
  22. package/dist/adt/ci-quality.d.ts.map +1 -0
  23. package/dist/adt/ci-quality.js +132 -0
  24. package/dist/adt/ci-quality.js.map +1 -0
  25. package/dist/adt/client.d.ts +20 -16
  26. package/dist/adt/client.d.ts.map +1 -1
  27. package/dist/adt/client.js +35 -70
  28. package/dist/adt/client.js.map +1 -1
  29. package/dist/adt/data-source-policy.d.ts +6 -15
  30. package/dist/adt/data-source-policy.d.ts.map +1 -1
  31. package/dist/adt/data-source-policy.js +18 -11
  32. package/dist/adt/data-source-policy.js.map +1 -1
  33. package/dist/adt/ddic-xml.d.ts +78 -4
  34. package/dist/adt/ddic-xml.d.ts.map +1 -1
  35. package/dist/adt/ddic-xml.js +647 -54
  36. package/dist/adt/ddic-xml.js.map +1 -1
  37. package/dist/adt/devtools.d.ts +1 -0
  38. package/dist/adt/devtools.d.ts.map +1 -1
  39. package/dist/adt/devtools.js +24 -4
  40. package/dist/adt/devtools.js.map +1 -1
  41. package/dist/adt/http-deadline.d.ts +5 -0
  42. package/dist/adt/http-deadline.d.ts.map +1 -1
  43. package/dist/adt/http-deadline.js +2 -2
  44. package/dist/adt/http-deadline.js.map +1 -1
  45. package/dist/adt/http.d.ts +6 -3
  46. package/dist/adt/http.d.ts.map +1 -1
  47. package/dist/adt/http.js +57 -15
  48. package/dist/adt/http.js.map +1 -1
  49. package/dist/adt/internal-data-operations.d.ts +9 -4
  50. package/dist/adt/internal-data-operations.d.ts.map +1 -1
  51. package/dist/adt/internal-data-operations.js +11 -7
  52. package/dist/adt/internal-data-operations.js.map +1 -1
  53. package/dist/adt/package-contents.d.ts +12 -0
  54. package/dist/adt/package-contents.d.ts.map +1 -0
  55. package/dist/adt/package-contents.js +19 -0
  56. package/dist/adt/package-contents.js.map +1 -0
  57. package/dist/adt/relation-objects.d.ts +385 -0
  58. package/dist/adt/relation-objects.d.ts.map +1 -0
  59. package/dist/adt/relation-objects.js +262 -0
  60. package/dist/adt/relation-objects.js.map +1 -0
  61. package/dist/adt/repository-relations.d.ts +41 -0
  62. package/dist/adt/repository-relations.d.ts.map +1 -0
  63. package/dist/adt/repository-relations.js +246 -0
  64. package/dist/adt/repository-relations.js.map +1 -0
  65. package/dist/adt/request-attempt-budget.d.ts +26 -0
  66. package/dist/adt/request-attempt-budget.d.ts.map +1 -0
  67. package/dist/adt/request-attempt-budget.js +63 -0
  68. package/dist/adt/request-attempt-budget.js.map +1 -0
  69. package/dist/adt/result-limits.d.ts +3 -0
  70. package/dist/adt/result-limits.d.ts.map +1 -0
  71. package/dist/adt/result-limits.js +7 -0
  72. package/dist/adt/result-limits.js.map +1 -0
  73. package/dist/adt/server-driven.d.ts +6 -1
  74. package/dist/adt/server-driven.d.ts.map +1 -1
  75. package/dist/adt/server-driven.js +24 -20
  76. package/dist/adt/server-driven.js.map +1 -1
  77. package/dist/adt/table-query.d.ts +2 -0
  78. package/dist/adt/table-query.d.ts.map +1 -1
  79. package/dist/adt/table-query.js +61 -0
  80. package/dist/adt/table-query.js.map +1 -1
  81. package/dist/adt/text-elements.d.ts +48 -0
  82. package/dist/adt/text-elements.d.ts.map +1 -0
  83. package/dist/adt/text-elements.js +116 -0
  84. package/dist/adt/text-elements.js.map +1 -0
  85. package/dist/adt/types.d.ts +16 -0
  86. package/dist/adt/types.d.ts.map +1 -1
  87. package/dist/adt/uiad.d.ts +19 -0
  88. package/dist/adt/uiad.d.ts.map +1 -0
  89. package/dist/adt/uiad.js +173 -0
  90. package/dist/adt/uiad.js.map +1 -0
  91. package/dist/adt/xml-parser.d.ts +2 -0
  92. package/dist/adt/xml-parser.d.ts.map +1 -1
  93. package/dist/adt/xml-parser.js +20 -1
  94. package/dist/adt/xml-parser.js.map +1 -1
  95. package/dist/authz/policy.d.ts.map +1 -1
  96. package/dist/authz/policy.js +4 -1
  97. package/dist/authz/policy.js.map +1 -1
  98. package/dist/cache/cache.d.ts +3 -23
  99. package/dist/cache/cache.d.ts.map +1 -1
  100. package/dist/cache/cache.js +2 -3
  101. package/dist/cache/cache.js.map +1 -1
  102. package/dist/cache/caching-layer.d.ts +6 -25
  103. package/dist/cache/caching-layer.d.ts.map +1 -1
  104. package/dist/cache/caching-layer.js +3 -45
  105. package/dist/cache/caching-layer.js.map +1 -1
  106. package/dist/cache/memory.d.ts +1 -4
  107. package/dist/cache/memory.d.ts.map +1 -1
  108. package/dist/cache/memory.js +1 -10
  109. package/dist/cache/memory.js.map +1 -1
  110. package/dist/cache/sqlite.d.ts +1 -3
  111. package/dist/cache/sqlite.d.ts.map +1 -1
  112. package/dist/cache/sqlite.js +2 -17
  113. package/dist/cache/sqlite.js.map +1 -1
  114. package/dist/cli-checks.d.ts +3 -0
  115. package/dist/cli-checks.d.ts.map +1 -1
  116. package/dist/cli-checks.js +16 -0
  117. package/dist/cli-checks.js.map +1 -1
  118. package/dist/cli.d.ts.map +1 -1
  119. package/dist/cli.js +5 -2
  120. package/dist/cli.js.map +1 -1
  121. package/dist/context/compressor.d.ts +2 -3
  122. package/dist/context/compressor.d.ts.map +1 -1
  123. package/dist/context/compressor.js +30 -49
  124. package/dist/context/compressor.js.map +1 -1
  125. package/dist/context/contract.d.ts +5 -0
  126. package/dist/context/contract.d.ts.map +1 -1
  127. package/dist/context/contract.js +2 -2
  128. package/dist/context/contract.js.map +1 -1
  129. package/dist/context/deps.d.ts +11 -0
  130. package/dist/context/deps.d.ts.map +1 -1
  131. package/dist/context/deps.js +2 -2
  132. package/dist/context/deps.js.map +1 -1
  133. package/dist/context/parse-cache.d.ts +23 -0
  134. package/dist/context/parse-cache.d.ts.map +1 -0
  135. package/dist/context/parse-cache.js +71 -0
  136. package/dist/context/parse-cache.js.map +1 -0
  137. package/dist/context/relation-walk.d.ts +48 -0
  138. package/dist/context/relation-walk.d.ts.map +1 -0
  139. package/dist/context/relation-walk.js +137 -0
  140. package/dist/context/relation-walk.js.map +1 -0
  141. package/dist/context/types.d.ts +4 -4
  142. package/dist/context/types.d.ts.map +1 -1
  143. package/dist/handlers/activate.d.ts +1 -1
  144. package/dist/handlers/activate.d.ts.map +1 -1
  145. package/dist/handlers/activate.js +33 -56
  146. package/dist/handlers/activate.js.map +1 -1
  147. package/dist/handlers/activation-results.d.ts +3 -0
  148. package/dist/handlers/activation-results.d.ts.map +1 -0
  149. package/dist/handlers/activation-results.js +8 -0
  150. package/dist/handlers/activation-results.js.map +1 -0
  151. package/dist/handlers/context.d.ts.map +1 -1
  152. package/dist/handlers/context.js +8 -32
  153. package/dist/handlers/context.js.map +1 -1
  154. package/dist/handlers/data-element-fields.d.ts +26 -0
  155. package/dist/handlers/data-element-fields.d.ts.map +1 -0
  156. package/dist/handlers/data-element-fields.js +27 -0
  157. package/dist/handlers/data-element-fields.js.map +1 -0
  158. package/dist/handlers/diagnose-ci.d.ts +9 -0
  159. package/dist/handlers/diagnose-ci.d.ts.map +1 -0
  160. package/dist/handlers/diagnose-ci.js +120 -0
  161. package/dist/handlers/diagnose-ci.js.map +1 -0
  162. package/dist/handlers/diagnose-fields.d.ts +51 -0
  163. package/dist/handlers/diagnose-fields.d.ts.map +1 -0
  164. package/dist/handlers/diagnose-fields.js +48 -0
  165. package/dist/handlers/diagnose-fields.js.map +1 -0
  166. package/dist/handlers/diagnose.d.ts +4 -1
  167. package/dist/handlers/diagnose.d.ts.map +1 -1
  168. package/dist/handlers/diagnose.js +28 -6
  169. package/dist/handlers/diagnose.js.map +1 -1
  170. package/dist/handlers/dispatch.d.ts.map +1 -1
  171. package/dist/handlers/dispatch.js +22 -5
  172. package/dist/handlers/dispatch.js.map +1 -1
  173. package/dist/handlers/feature-cache.d.ts +4 -3
  174. package/dist/handlers/feature-cache.d.ts.map +1 -1
  175. package/dist/handlers/feature-cache.js +4 -3
  176. package/dist/handlers/feature-cache.js.map +1 -1
  177. package/dist/handlers/hyperfocused.js +1 -1
  178. package/dist/handlers/live-relations.d.ts +5 -0
  179. package/dist/handlers/live-relations.d.ts.map +1 -0
  180. package/dist/handlers/live-relations.js +89 -0
  181. package/dist/handlers/live-relations.js.map +1 -0
  182. package/dist/handlers/manage.d.ts.map +1 -1
  183. package/dist/handlers/manage.js +7 -4
  184. package/dist/handlers/manage.js.map +1 -1
  185. package/dist/handlers/navigate.d.ts +1 -1
  186. package/dist/handlers/navigate.d.ts.map +1 -1
  187. package/dist/handlers/navigate.js +11 -5
  188. package/dist/handlers/navigate.js.map +1 -1
  189. package/dist/handlers/object-types.d.ts +2 -0
  190. package/dist/handlers/object-types.d.ts.map +1 -1
  191. package/dist/handlers/object-types.js +41 -6
  192. package/dist/handlers/object-types.js.map +1 -1
  193. package/dist/handlers/query-errors.d.ts +9 -1
  194. package/dist/handlers/query-errors.d.ts.map +1 -1
  195. package/dist/handlers/query-errors.js +40 -28
  196. package/dist/handlers/query-errors.js.map +1 -1
  197. package/dist/handlers/query.d.ts +1 -1
  198. package/dist/handlers/query.d.ts.map +1 -1
  199. package/dist/handlers/query.js +2 -2
  200. package/dist/handlers/query.js.map +1 -1
  201. package/dist/handlers/read.d.ts +1 -1
  202. package/dist/handlers/read.d.ts.map +1 -1
  203. package/dist/handlers/read.js +48 -15
  204. package/dist/handlers/read.js.map +1 -1
  205. package/dist/handlers/relation-input.d.ts +42 -0
  206. package/dist/handlers/relation-input.d.ts.map +1 -0
  207. package/dist/handlers/relation-input.js +22 -0
  208. package/dist/handlers/relation-input.js.map +1 -0
  209. package/dist/handlers/relation-tool.d.ts +5 -0
  210. package/dist/handlers/relation-tool.d.ts.map +1 -0
  211. package/dist/handlers/relation-tool.js +36 -0
  212. package/dist/handlers/relation-tool.js.map +1 -0
  213. package/dist/handlers/schemas.d.ts +119 -62
  214. package/dist/handlers/schemas.d.ts.map +1 -1
  215. package/dist/handlers/schemas.js +150 -13
  216. package/dist/handlers/schemas.js.map +1 -1
  217. package/dist/handlers/search.d.ts +1 -1
  218. package/dist/handlers/search.d.ts.map +1 -1
  219. package/dist/handlers/search.js +18 -5
  220. package/dist/handlers/search.js.map +1 -1
  221. package/dist/handlers/tool-descriptions.d.ts.map +1 -1
  222. package/dist/handlers/tool-descriptions.js +12 -13
  223. package/dist/handlers/tool-descriptions.js.map +1 -1
  224. package/dist/handlers/tool-registry.d.ts +1 -0
  225. package/dist/handlers/tool-registry.d.ts.map +1 -1
  226. package/dist/handlers/tool-registry.js +4 -0
  227. package/dist/handlers/tool-registry.js.map +1 -1
  228. package/dist/handlers/tools.d.ts +2 -3
  229. package/dist/handlers/tools.d.ts.map +1 -1
  230. package/dist/handlers/tools.js +127 -72
  231. package/dist/handlers/tools.js.map +1 -1
  232. package/dist/handlers/write/batch-results.d.ts +28 -0
  233. package/dist/handlers/write/batch-results.d.ts.map +1 -0
  234. package/dist/handlers/write/batch-results.js +106 -0
  235. package/dist/handlers/write/batch-results.js.map +1 -0
  236. package/dist/handlers/write/create-transport.d.ts +7 -0
  237. package/dist/handlers/write/create-transport.d.ts.map +1 -0
  238. package/dist/handlers/write/create-transport.js +38 -0
  239. package/dist/handlers/write/create-transport.js.map +1 -0
  240. package/dist/handlers/write/create.d.ts.map +1 -1
  241. package/dist/handlers/write/create.js +276 -413
  242. package/dist/handlers/write/create.js.map +1 -1
  243. package/dist/handlers/write/uiad.d.ts +8 -0
  244. package/dist/handlers/write/uiad.d.ts.map +1 -0
  245. package/dist/handlers/write/uiad.js +115 -0
  246. package/dist/handlers/write/uiad.js.map +1 -0
  247. package/dist/handlers/write/update-delete.d.ts +6 -6
  248. package/dist/handlers/write/update-delete.d.ts.map +1 -1
  249. package/dist/handlers/write/update-delete.js +46 -15
  250. package/dist/handlers/write/update-delete.js.map +1 -1
  251. package/dist/handlers/write-helpers.d.ts +0 -6
  252. package/dist/handlers/write-helpers.d.ts.map +1 -1
  253. package/dist/handlers/write-helpers.js +88 -80
  254. package/dist/handlers/write-helpers.js.map +1 -1
  255. package/dist/handlers/write.d.ts.map +1 -1
  256. package/dist/handlers/write.js +5 -1
  257. package/dist/handlers/write.js.map +1 -1
  258. package/dist/public/ui/app.js +0 -2
  259. package/dist/server/audit.d.ts +1 -1
  260. package/dist/server/audit.d.ts.map +1 -1
  261. package/dist/server/http.d.ts +1 -1
  262. package/dist/server/http.d.ts.map +1 -1
  263. package/dist/server/http.js +1 -0
  264. package/dist/server/http.js.map +1 -1
  265. package/dist/server/logger.d.ts.map +1 -1
  266. package/dist/server/logger.js +4 -1
  267. package/dist/server/logger.js.map +1 -1
  268. package/dist/server/multi-target-tools.d.ts.map +1 -1
  269. package/dist/server/multi-target-tools.js +3 -1
  270. package/dist/server/multi-target-tools.js.map +1 -1
  271. package/dist/server/server-instructions.d.ts.map +1 -1
  272. package/dist/server/server-instructions.js +11 -5
  273. package/dist/server/server-instructions.js.map +1 -1
  274. package/dist/server/server.d.ts +1 -1
  275. package/dist/server/server.d.ts.map +1 -1
  276. package/dist/server/server.js +18 -44
  277. package/dist/server/server.js.map +1 -1
  278. package/dist/server/shutdown.d.ts +6 -0
  279. package/dist/server/shutdown.d.ts.map +1 -0
  280. package/dist/server/shutdown.js +52 -0
  281. package/dist/server/shutdown.js.map +1 -0
  282. package/dist/server/sinks/btp-auditlog.d.ts +10 -8
  283. package/dist/server/sinks/btp-auditlog.d.ts.map +1 -1
  284. package/dist/server/sinks/btp-auditlog.js +76 -68
  285. package/dist/server/sinks/btp-auditlog.js.map +1 -1
  286. package/dist/server/sinks/file.d.ts +1 -1
  287. package/dist/server/sinks/file.d.ts.map +1 -1
  288. package/dist/server/sinks/file.js +12 -21
  289. package/dist/server/sinks/file.js.map +1 -1
  290. package/dist/server/ui.js +0 -2
  291. package/dist/server/ui.js.map +1 -1
  292. package/package.json +15 -13
@@ -0,0 +1,385 @@
1
+ /** Live-verified identity adapters, not a registry of everything SAP can display. */
2
+ export declare const RELATION_OBJECTS: readonly [{
3
+ readonly type: 'CLAS';
4
+ readonly native: 'CLAS/OC';
5
+ readonly path: 'oo/classes';
6
+ readonly metadataRoot: 'abapClass';
7
+ readonly resolve: 'path';
8
+ readonly nameCase: 'lower';
9
+ }, {
10
+ readonly type: 'INTF';
11
+ readonly native: 'INTF/OI';
12
+ readonly path: 'oo/interfaces';
13
+ readonly metadataRoot: 'abapInterface';
14
+ readonly resolve: 'path';
15
+ readonly nameCase: 'lower';
16
+ }, {
17
+ readonly type: 'DDLS';
18
+ readonly native: 'DDLS/DF';
19
+ readonly path: 'ddic/ddl/sources';
20
+ readonly metadataRoot: 'ddlSource';
21
+ readonly resolve: 'path';
22
+ readonly nameCase: 'lower';
23
+ }, {
24
+ readonly type: 'DCLS';
25
+ readonly native: 'DCLS/DL';
26
+ readonly path: 'acm/dcl/sources';
27
+ readonly metadataRoot: 'dclSource';
28
+ readonly resolve: 'path';
29
+ readonly nameCase: 'lower';
30
+ }, {
31
+ readonly type: 'BDEF';
32
+ readonly native: 'BDEF/BDO';
33
+ readonly path: 'bo/behaviordefinitions';
34
+ readonly metadataRoot: 'blueSource';
35
+ readonly resolve: 'path';
36
+ readonly nameCase: 'lower';
37
+ }, {
38
+ readonly type: 'SRVD';
39
+ readonly native: 'SRVD/SRV';
40
+ readonly path: 'ddic/srvd/sources';
41
+ readonly metadataRoot: 'srvdSource';
42
+ readonly resolve: 'path';
43
+ readonly nameCase: 'lower';
44
+ }, {
45
+ readonly type: 'TABL';
46
+ readonly native: 'TABL/DT';
47
+ readonly path: 'ddic/tables';
48
+ readonly metadataRoot: 'blueSource';
49
+ readonly resolve: 'quickSearch';
50
+ readonly nameCase: 'lower';
51
+ }, {
52
+ readonly type: 'TABL';
53
+ readonly native: 'TABL/DS';
54
+ readonly path: 'ddic/structures';
55
+ readonly metadataRoot: 'blueSource';
56
+ readonly resolve: 'quickSearch';
57
+ readonly nameCase: 'lower';
58
+ }, {
59
+ readonly type: 'TTYP';
60
+ readonly native: 'TTYP/DA';
61
+ readonly path: 'ddic/tabletypes';
62
+ readonly metadataRoot: 'tableType';
63
+ readonly resolve: 'path';
64
+ readonly nameCase: 'lower';
65
+ }, {
66
+ readonly type: 'DTEL';
67
+ readonly native: 'DTEL/DE';
68
+ readonly path: 'ddic/dataelements';
69
+ readonly metadataRoot: 'wbobj';
70
+ readonly resolve: 'path';
71
+ readonly nameCase: 'lower';
72
+ }, {
73
+ readonly type: 'DOMA';
74
+ readonly native: 'DOMA/DD';
75
+ readonly path: 'ddic/domains';
76
+ readonly metadataRoot: 'domain';
77
+ readonly resolve: 'path';
78
+ readonly nameCase: 'lower';
79
+ }, {
80
+ readonly type: 'PROG';
81
+ readonly native: 'PROG/P';
82
+ readonly path: 'programs/programs';
83
+ readonly metadataRoot: 'abapProgram';
84
+ readonly resolve: 'path';
85
+ readonly nameCase: 'lower';
86
+ }, {
87
+ readonly type: 'INCL';
88
+ readonly native: 'PROG/I';
89
+ readonly path: 'programs/includes';
90
+ readonly metadataRoot: 'abapInclude';
91
+ readonly resolve: 'path';
92
+ readonly nameCase: 'lower';
93
+ }, {
94
+ readonly type: 'FUGR';
95
+ readonly native: 'FUGR/F';
96
+ readonly path: 'functions/groups';
97
+ readonly metadataRoot: 'abapFunctionGroup';
98
+ readonly resolve: 'path';
99
+ readonly nameCase: 'lower';
100
+ }, {
101
+ readonly type: 'FUNC';
102
+ readonly native: 'FUGR/FF';
103
+ readonly path: 'functions/groups';
104
+ readonly metadataRoot: 'abapFunctionModule';
105
+ readonly resolve: 'quickSearch';
106
+ readonly nameCase: 'lower';
107
+ }, {
108
+ readonly type: 'VIEW';
109
+ readonly native: 'VIEW/DV';
110
+ readonly path: 'vit/wb/object_type/viewdv/object_name';
111
+ readonly metadataRoot: 'mainObject';
112
+ readonly resolve: 'quickSearch';
113
+ readonly nameCase: 'upper';
114
+ }, {
115
+ readonly type: 'ENHO';
116
+ readonly native: 'ENHO/XHB';
117
+ readonly path: 'enhancements/enhoxhb';
118
+ readonly metadataRoot: 'objectData';
119
+ readonly resolve: 'path';
120
+ readonly nameCase: 'lower';
121
+ }, {
122
+ readonly type: 'MSAG';
123
+ readonly native: 'MSAG/N';
124
+ readonly path: 'messageclass';
125
+ readonly metadataRoot: 'messageClass';
126
+ readonly resolve: 'path';
127
+ readonly nameCase: 'lower';
128
+ }, {
129
+ readonly type: 'TRAN';
130
+ readonly native: 'TRAN/T';
131
+ readonly path: 'vit/wb/object_type/trant/object_name';
132
+ readonly metadataRoot: 'mainObject';
133
+ readonly resolve: 'quickSearch';
134
+ readonly nameCase: 'upper';
135
+ }, {
136
+ readonly type: 'SHLP';
137
+ readonly native: 'SHLP/DH';
138
+ readonly path: 'vit/wb/object_type/shlpdh/object_name';
139
+ readonly metadataRoot: 'mainObject';
140
+ readonly resolve: 'quickSearch';
141
+ readonly nameCase: 'upper';
142
+ }, {
143
+ readonly type: 'SKTD';
144
+ readonly native: 'SKTD/TYP';
145
+ readonly path: 'documentation/ktd/documents';
146
+ readonly metadataRoot: 'docu';
147
+ readonly resolve: 'path';
148
+ readonly nameCase: 'lower';
149
+ }, {
150
+ readonly type: 'ENHS';
151
+ readonly native: 'ENHS/XSB';
152
+ readonly path: 'enhancements/enhsxsb';
153
+ readonly metadataRoot: 'objectData';
154
+ readonly resolve: 'path';
155
+ readonly nameCase: 'lower';
156
+ }, {
157
+ readonly type: 'ENQU';
158
+ readonly native: 'ENQU/DL';
159
+ readonly path: 'ddic/lockobjects/sources';
160
+ readonly metadataRoot: 'lockobject';
161
+ readonly resolve: 'path';
162
+ readonly nameCase: 'lower';
163
+ }, {
164
+ readonly type: 'TYPE';
165
+ readonly native: 'TYPE/DG';
166
+ readonly path: 'ddic/typegroups';
167
+ readonly metadataRoot: 'abapTypeGroup';
168
+ readonly resolve: 'path';
169
+ readonly nameCase: 'lower';
170
+ }, {
171
+ readonly type: 'EVTB';
172
+ readonly native: 'EVTB/EVB';
173
+ readonly path: 'businessservices/evtbevb';
174
+ readonly metadataRoot: 'blueSource';
175
+ readonly resolve: 'path';
176
+ readonly nameCase: 'lower';
177
+ }, {
178
+ readonly type: 'DSFD';
179
+ readonly native: 'DSFD/SCF';
180
+ readonly path: 'ddic/dsfd/sources';
181
+ readonly metadataRoot: 'blueSource';
182
+ readonly resolve: 'path';
183
+ readonly nameCase: 'lower';
184
+ }];
185
+ export declare const RELATION_ROOT_TYPES: ("BDEF" | "CLAS" | "DCLS" | "DDLS" | "DOMA" | "DSFD" | "DTEL" | "ENHO" | "ENHS" | "ENQU" | "EVTB" | "FUGR" | "FUNC" | "INCL" | "INTF" | "MSAG" | "PROG" | "SHLP" | "SKTD" | "SRVD" | "TABL" | "TRAN" | "TTYP" | "TYPE" | "VIEW")[];
186
+ export declare const RELATION_NAME: RegExp;
187
+ export declare class RelationProtocolError extends Error {
188
+ constructor(message: string);
189
+ }
190
+ export declare function relationObjectSpec(type: string): {
191
+ readonly type: 'CLAS';
192
+ readonly native: 'CLAS/OC';
193
+ readonly path: 'oo/classes';
194
+ readonly metadataRoot: 'abapClass';
195
+ readonly resolve: 'path';
196
+ readonly nameCase: 'lower';
197
+ } | {
198
+ readonly type: 'INTF';
199
+ readonly native: 'INTF/OI';
200
+ readonly path: 'oo/interfaces';
201
+ readonly metadataRoot: 'abapInterface';
202
+ readonly resolve: 'path';
203
+ readonly nameCase: 'lower';
204
+ } | {
205
+ readonly type: 'DDLS';
206
+ readonly native: 'DDLS/DF';
207
+ readonly path: 'ddic/ddl/sources';
208
+ readonly metadataRoot: 'ddlSource';
209
+ readonly resolve: 'path';
210
+ readonly nameCase: 'lower';
211
+ } | {
212
+ readonly type: 'DCLS';
213
+ readonly native: 'DCLS/DL';
214
+ readonly path: 'acm/dcl/sources';
215
+ readonly metadataRoot: 'dclSource';
216
+ readonly resolve: 'path';
217
+ readonly nameCase: 'lower';
218
+ } | {
219
+ readonly type: 'BDEF';
220
+ readonly native: 'BDEF/BDO';
221
+ readonly path: 'bo/behaviordefinitions';
222
+ readonly metadataRoot: 'blueSource';
223
+ readonly resolve: 'path';
224
+ readonly nameCase: 'lower';
225
+ } | {
226
+ readonly type: 'SRVD';
227
+ readonly native: 'SRVD/SRV';
228
+ readonly path: 'ddic/srvd/sources';
229
+ readonly metadataRoot: 'srvdSource';
230
+ readonly resolve: 'path';
231
+ readonly nameCase: 'lower';
232
+ } | {
233
+ readonly type: 'TABL';
234
+ readonly native: 'TABL/DT';
235
+ readonly path: 'ddic/tables';
236
+ readonly metadataRoot: 'blueSource';
237
+ readonly resolve: 'quickSearch';
238
+ readonly nameCase: 'lower';
239
+ } | {
240
+ readonly type: 'TABL';
241
+ readonly native: 'TABL/DS';
242
+ readonly path: 'ddic/structures';
243
+ readonly metadataRoot: 'blueSource';
244
+ readonly resolve: 'quickSearch';
245
+ readonly nameCase: 'lower';
246
+ } | {
247
+ readonly type: 'TTYP';
248
+ readonly native: 'TTYP/DA';
249
+ readonly path: 'ddic/tabletypes';
250
+ readonly metadataRoot: 'tableType';
251
+ readonly resolve: 'path';
252
+ readonly nameCase: 'lower';
253
+ } | {
254
+ readonly type: 'DTEL';
255
+ readonly native: 'DTEL/DE';
256
+ readonly path: 'ddic/dataelements';
257
+ readonly metadataRoot: 'wbobj';
258
+ readonly resolve: 'path';
259
+ readonly nameCase: 'lower';
260
+ } | {
261
+ readonly type: 'DOMA';
262
+ readonly native: 'DOMA/DD';
263
+ readonly path: 'ddic/domains';
264
+ readonly metadataRoot: 'domain';
265
+ readonly resolve: 'path';
266
+ readonly nameCase: 'lower';
267
+ } | {
268
+ readonly type: 'PROG';
269
+ readonly native: 'PROG/P';
270
+ readonly path: 'programs/programs';
271
+ readonly metadataRoot: 'abapProgram';
272
+ readonly resolve: 'path';
273
+ readonly nameCase: 'lower';
274
+ } | {
275
+ readonly type: 'INCL';
276
+ readonly native: 'PROG/I';
277
+ readonly path: 'programs/includes';
278
+ readonly metadataRoot: 'abapInclude';
279
+ readonly resolve: 'path';
280
+ readonly nameCase: 'lower';
281
+ } | {
282
+ readonly type: 'FUGR';
283
+ readonly native: 'FUGR/F';
284
+ readonly path: 'functions/groups';
285
+ readonly metadataRoot: 'abapFunctionGroup';
286
+ readonly resolve: 'path';
287
+ readonly nameCase: 'lower';
288
+ } | {
289
+ readonly type: 'FUNC';
290
+ readonly native: 'FUGR/FF';
291
+ readonly path: 'functions/groups';
292
+ readonly metadataRoot: 'abapFunctionModule';
293
+ readonly resolve: 'quickSearch';
294
+ readonly nameCase: 'lower';
295
+ } | {
296
+ readonly type: 'VIEW';
297
+ readonly native: 'VIEW/DV';
298
+ readonly path: 'vit/wb/object_type/viewdv/object_name';
299
+ readonly metadataRoot: 'mainObject';
300
+ readonly resolve: 'quickSearch';
301
+ readonly nameCase: 'upper';
302
+ } | {
303
+ readonly type: 'ENHO';
304
+ readonly native: 'ENHO/XHB';
305
+ readonly path: 'enhancements/enhoxhb';
306
+ readonly metadataRoot: 'objectData';
307
+ readonly resolve: 'path';
308
+ readonly nameCase: 'lower';
309
+ } | {
310
+ readonly type: 'MSAG';
311
+ readonly native: 'MSAG/N';
312
+ readonly path: 'messageclass';
313
+ readonly metadataRoot: 'messageClass';
314
+ readonly resolve: 'path';
315
+ readonly nameCase: 'lower';
316
+ } | {
317
+ readonly type: 'TRAN';
318
+ readonly native: 'TRAN/T';
319
+ readonly path: 'vit/wb/object_type/trant/object_name';
320
+ readonly metadataRoot: 'mainObject';
321
+ readonly resolve: 'quickSearch';
322
+ readonly nameCase: 'upper';
323
+ } | {
324
+ readonly type: 'SHLP';
325
+ readonly native: 'SHLP/DH';
326
+ readonly path: 'vit/wb/object_type/shlpdh/object_name';
327
+ readonly metadataRoot: 'mainObject';
328
+ readonly resolve: 'quickSearch';
329
+ readonly nameCase: 'upper';
330
+ } | {
331
+ readonly type: 'SKTD';
332
+ readonly native: 'SKTD/TYP';
333
+ readonly path: 'documentation/ktd/documents';
334
+ readonly metadataRoot: 'docu';
335
+ readonly resolve: 'path';
336
+ readonly nameCase: 'lower';
337
+ } | {
338
+ readonly type: 'ENHS';
339
+ readonly native: 'ENHS/XSB';
340
+ readonly path: 'enhancements/enhsxsb';
341
+ readonly metadataRoot: 'objectData';
342
+ readonly resolve: 'path';
343
+ readonly nameCase: 'lower';
344
+ } | {
345
+ readonly type: 'ENQU';
346
+ readonly native: 'ENQU/DL';
347
+ readonly path: 'ddic/lockobjects/sources';
348
+ readonly metadataRoot: 'lockobject';
349
+ readonly resolve: 'path';
350
+ readonly nameCase: 'lower';
351
+ } | {
352
+ readonly type: 'TYPE';
353
+ readonly native: 'TYPE/DG';
354
+ readonly path: 'ddic/typegroups';
355
+ readonly metadataRoot: 'abapTypeGroup';
356
+ readonly resolve: 'path';
357
+ readonly nameCase: 'lower';
358
+ } | {
359
+ readonly type: 'EVTB';
360
+ readonly native: 'EVTB/EVB';
361
+ readonly path: 'businessservices/evtbevb';
362
+ readonly metadataRoot: 'blueSource';
363
+ readonly resolve: 'path';
364
+ readonly nameCase: 'lower';
365
+ } | {
366
+ readonly type: 'DSFD';
367
+ readonly native: 'DSFD/SCF';
368
+ readonly path: 'ddic/dsfd/sources';
369
+ readonly metadataRoot: 'blueSource';
370
+ readonly resolve: 'path';
371
+ readonly nameCase: 'lower';
372
+ } | undefined;
373
+ /** Reconstruct a fixed read-only object path; never follow arbitrary SAP-returned hrefs. */
374
+ export declare function relationObjectUri(type: string, name: string, group?: string): string;
375
+ /** Group/name can be decoded only after the caller canonicalizes the host-relative ADT URI. */
376
+ export declare function relationFunctionIdentity(uri: string): {
377
+ group: string;
378
+ name: string;
379
+ };
380
+ /** SAP 7.58 may prefix the module with its group or function pool, padded to 40 chars.
381
+ * Example: group /ACME/GROUP → pool /ACME/SAPLGROUP; either prefix + spaces + ZFUNCTION.
382
+ * Validate the entire prefix, not just the module suffix: a different parent is not this object.
383
+ */
384
+ export declare function relationReferenceName(name: string, type: string, uri: string): string;
385
+ //# sourceMappingURL=relation-objects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-objects.d.ts","sourceRoot":"","sources":["../../src/adt/relation-objects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,262 @@
1
+ /** Live-verified identity adapters, not a registry of everything SAP can display. */
2
+ export const RELATION_OBJECTS = [
3
+ {
4
+ type: 'CLAS',
5
+ native: 'CLAS/OC',
6
+ path: 'oo/classes',
7
+ metadataRoot: 'abapClass',
8
+ resolve: 'path',
9
+ nameCase: 'lower',
10
+ },
11
+ {
12
+ type: 'INTF',
13
+ native: 'INTF/OI',
14
+ path: 'oo/interfaces',
15
+ metadataRoot: 'abapInterface',
16
+ resolve: 'path',
17
+ nameCase: 'lower',
18
+ },
19
+ {
20
+ type: 'DDLS',
21
+ native: 'DDLS/DF',
22
+ path: 'ddic/ddl/sources',
23
+ metadataRoot: 'ddlSource',
24
+ resolve: 'path',
25
+ nameCase: 'lower',
26
+ },
27
+ {
28
+ type: 'DCLS',
29
+ native: 'DCLS/DL',
30
+ path: 'acm/dcl/sources',
31
+ metadataRoot: 'dclSource',
32
+ resolve: 'path',
33
+ nameCase: 'lower',
34
+ },
35
+ {
36
+ type: 'BDEF',
37
+ native: 'BDEF/BDO',
38
+ path: 'bo/behaviordefinitions',
39
+ metadataRoot: 'blueSource',
40
+ resolve: 'path',
41
+ nameCase: 'lower',
42
+ },
43
+ {
44
+ type: 'SRVD',
45
+ native: 'SRVD/SRV',
46
+ path: 'ddic/srvd/sources',
47
+ metadataRoot: 'srvdSource',
48
+ resolve: 'path',
49
+ nameCase: 'lower',
50
+ },
51
+ {
52
+ type: 'TABL',
53
+ native: 'TABL/DT',
54
+ path: 'ddic/tables',
55
+ metadataRoot: 'blueSource',
56
+ resolve: 'quickSearch',
57
+ nameCase: 'lower',
58
+ },
59
+ {
60
+ type: 'TABL',
61
+ native: 'TABL/DS',
62
+ path: 'ddic/structures',
63
+ metadataRoot: 'blueSource',
64
+ resolve: 'quickSearch',
65
+ nameCase: 'lower',
66
+ },
67
+ {
68
+ type: 'TTYP',
69
+ native: 'TTYP/DA',
70
+ path: 'ddic/tabletypes',
71
+ metadataRoot: 'tableType',
72
+ resolve: 'path',
73
+ nameCase: 'lower',
74
+ },
75
+ {
76
+ type: 'DTEL',
77
+ native: 'DTEL/DE',
78
+ path: 'ddic/dataelements',
79
+ metadataRoot: 'wbobj',
80
+ resolve: 'path',
81
+ nameCase: 'lower',
82
+ },
83
+ { type: 'DOMA', native: 'DOMA/DD', path: 'ddic/domains', metadataRoot: 'domain', resolve: 'path', nameCase: 'lower' },
84
+ {
85
+ type: 'PROG',
86
+ native: 'PROG/P',
87
+ path: 'programs/programs',
88
+ metadataRoot: 'abapProgram',
89
+ resolve: 'path',
90
+ nameCase: 'lower',
91
+ },
92
+ {
93
+ type: 'INCL',
94
+ native: 'PROG/I',
95
+ path: 'programs/includes',
96
+ metadataRoot: 'abapInclude',
97
+ resolve: 'path',
98
+ nameCase: 'lower',
99
+ },
100
+ {
101
+ type: 'FUGR',
102
+ native: 'FUGR/F',
103
+ path: 'functions/groups',
104
+ metadataRoot: 'abapFunctionGroup',
105
+ resolve: 'path',
106
+ nameCase: 'lower',
107
+ },
108
+ {
109
+ type: 'FUNC',
110
+ native: 'FUGR/FF',
111
+ path: 'functions/groups',
112
+ metadataRoot: 'abapFunctionModule',
113
+ resolve: 'quickSearch',
114
+ nameCase: 'lower',
115
+ },
116
+ {
117
+ type: 'VIEW',
118
+ native: 'VIEW/DV',
119
+ path: 'vit/wb/object_type/viewdv/object_name',
120
+ metadataRoot: 'mainObject',
121
+ resolve: 'quickSearch',
122
+ nameCase: 'upper',
123
+ },
124
+ {
125
+ type: 'ENHO',
126
+ native: 'ENHO/XHB',
127
+ path: 'enhancements/enhoxhb',
128
+ metadataRoot: 'objectData',
129
+ resolve: 'path',
130
+ nameCase: 'lower',
131
+ },
132
+ {
133
+ type: 'MSAG',
134
+ native: 'MSAG/N',
135
+ path: 'messageclass',
136
+ metadataRoot: 'messageClass',
137
+ resolve: 'path',
138
+ nameCase: 'lower',
139
+ },
140
+ {
141
+ type: 'TRAN',
142
+ native: 'TRAN/T',
143
+ path: 'vit/wb/object_type/trant/object_name',
144
+ metadataRoot: 'mainObject',
145
+ resolve: 'quickSearch',
146
+ nameCase: 'upper',
147
+ },
148
+ {
149
+ type: 'SHLP',
150
+ native: 'SHLP/DH',
151
+ path: 'vit/wb/object_type/shlpdh/object_name',
152
+ metadataRoot: 'mainObject',
153
+ resolve: 'quickSearch',
154
+ nameCase: 'upper',
155
+ },
156
+ {
157
+ type: 'SKTD',
158
+ native: 'SKTD/TYP',
159
+ path: 'documentation/ktd/documents',
160
+ metadataRoot: 'docu',
161
+ resolve: 'path',
162
+ nameCase: 'lower',
163
+ },
164
+ {
165
+ type: 'ENHS',
166
+ native: 'ENHS/XSB',
167
+ path: 'enhancements/enhsxsb',
168
+ metadataRoot: 'objectData',
169
+ resolve: 'path',
170
+ nameCase: 'lower',
171
+ },
172
+ {
173
+ type: 'ENQU',
174
+ native: 'ENQU/DL',
175
+ path: 'ddic/lockobjects/sources',
176
+ metadataRoot: 'lockobject',
177
+ resolve: 'path',
178
+ nameCase: 'lower',
179
+ },
180
+ {
181
+ type: 'TYPE',
182
+ native: 'TYPE/DG',
183
+ path: 'ddic/typegroups',
184
+ metadataRoot: 'abapTypeGroup',
185
+ resolve: 'path',
186
+ nameCase: 'lower',
187
+ },
188
+ {
189
+ type: 'EVTB',
190
+ native: 'EVTB/EVB',
191
+ path: 'businessservices/evtbevb',
192
+ metadataRoot: 'blueSource',
193
+ resolve: 'path',
194
+ nameCase: 'lower',
195
+ },
196
+ {
197
+ type: 'DSFD',
198
+ native: 'DSFD/SCF',
199
+ path: 'ddic/dsfd/sources',
200
+ metadataRoot: 'blueSource',
201
+ resolve: 'path',
202
+ nameCase: 'lower',
203
+ },
204
+ ];
205
+ export const RELATION_ROOT_TYPES = [...new Set(RELATION_OBJECTS.map(({ type }) => type))];
206
+ export const RELATION_NAME = /^(?:\/[A-Z0-9_]+\/)?[A-Z0-9_$]+$/i;
207
+ export class RelationProtocolError extends Error {
208
+ constructor(message) {
209
+ super(`Experimental live relations: ${message}`);
210
+ this.name = 'RelationProtocolError';
211
+ }
212
+ }
213
+ export function relationObjectSpec(type) {
214
+ return RELATION_OBJECTS.find((spec) => spec.native === type || spec.type === type);
215
+ }
216
+ function validName(name) {
217
+ if (name.length > 120 || !RELATION_NAME.test(name))
218
+ throw new RelationProtocolError('invalid object name.');
219
+ return name;
220
+ }
221
+ /** Reconstruct a fixed read-only object path; never follow arbitrary SAP-returned hrefs. */
222
+ export function relationObjectUri(type, name, group) {
223
+ const spec = relationObjectSpec(type);
224
+ if (!spec)
225
+ throw new RelationProtocolError('unsupported relation object type.');
226
+ const encoded = encodeURIComponent(validName(name)[spec.nameCase === 'upper' ? 'toUpperCase' : 'toLowerCase']());
227
+ const base = `/sap/bc/adt/${spec.path}`;
228
+ if (spec.type === 'FUNC') {
229
+ if (!group)
230
+ throw new RelationProtocolError('function module requires a resolved function group.');
231
+ return `${base}/${encodeURIComponent(validName(group).toLowerCase())}/fmodules/${encoded}`;
232
+ }
233
+ return `${base}/${encoded}`;
234
+ }
235
+ /** Group/name can be decoded only after the caller canonicalizes the host-relative ADT URI. */
236
+ export function relationFunctionIdentity(uri) {
237
+ const match = /^\/sap\/bc\/adt\/functions\/groups\/([^/]+)\/fmodules\/([^/]+)$/.exec(uri);
238
+ if (!match)
239
+ throw new RelationProtocolError('invalid function module URI.');
240
+ const group = validName(decodeURIComponent(match[1])).toUpperCase();
241
+ const name = validName(decodeURIComponent(match[2])).toUpperCase();
242
+ if (relationObjectUri('FUNC', name, group) !== uri)
243
+ throw new RelationProtocolError('function URI mismatch.');
244
+ return { group, name };
245
+ }
246
+ /** SAP 7.58 may prefix the module with its group or function pool, padded to 40 chars.
247
+ * Example: group /ACME/GROUP → pool /ACME/SAPLGROUP; either prefix + spaces + ZFUNCTION.
248
+ * Validate the entire prefix, not just the module suffix: a different parent is not this object.
249
+ */
250
+ export function relationReferenceName(name, type, uri) {
251
+ if (type !== 'FUGR/FF')
252
+ return name;
253
+ const identity = relationFunctionIdentity(uri);
254
+ const pool = identity.group.startsWith('/')
255
+ ? identity.group.replace(/^(\/[^/]+\/)/, '$1SAPL')
256
+ : `SAPL${identity.group}`;
257
+ if (![identity.name, `${pool.padEnd(40)}${identity.name}`, `${identity.group.padEnd(40)}${identity.name}`].includes(name.toUpperCase())) {
258
+ throw new RelationProtocolError('function reference name/URI mismatch.');
259
+ }
260
+ return identity.name;
261
+ }
262
+ //# sourceMappingURL=relation-objects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-objects.js","sourceRoot":"","sources":["../../src/adt/relation-objects.ts"],"names":[],"mappings":"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"}