arc-1 1.1.2 → 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 (357) hide show
  1. package/README.md +16 -6
  2. package/bin/start-cf.sh +32 -0
  3. package/dist/adt/atc-batch.d.ts +71 -0
  4. package/dist/adt/atc-batch.d.ts.map +1 -0
  5. package/dist/adt/atc-batch.js +182 -0
  6. package/dist/adt/atc-batch.js.map +1 -0
  7. package/dist/adt/atc.d.ts +34 -0
  8. package/dist/adt/atc.d.ts.map +1 -1
  9. package/dist/adt/atc.js +58 -12
  10. package/dist/adt/atc.js.map +1 -1
  11. package/dist/adt/aunit.d.ts.map +1 -1
  12. package/dist/adt/aunit.js +50 -7
  13. package/dist/adt/aunit.js.map +1 -1
  14. package/dist/adt/bounded-response.d.ts +12 -0
  15. package/dist/adt/bounded-response.d.ts.map +1 -0
  16. package/dist/adt/bounded-response.js +242 -0
  17. package/dist/adt/bounded-response.js.map +1 -0
  18. package/dist/adt/ci-quality-xml.d.ts +44 -0
  19. package/dist/adt/ci-quality-xml.d.ts.map +1 -0
  20. package/dist/adt/ci-quality-xml.js +98 -0
  21. package/dist/adt/ci-quality-xml.js.map +1 -0
  22. package/dist/adt/ci-quality.d.ts +64 -0
  23. package/dist/adt/ci-quality.d.ts.map +1 -0
  24. package/dist/adt/ci-quality.js +132 -0
  25. package/dist/adt/ci-quality.js.map +1 -0
  26. package/dist/adt/client.d.ts +55 -34
  27. package/dist/adt/client.d.ts.map +1 -1
  28. package/dist/adt/client.js +130 -169
  29. package/dist/adt/client.js.map +1 -1
  30. package/dist/adt/config.d.ts +6 -0
  31. package/dist/adt/config.d.ts.map +1 -1
  32. package/dist/adt/config.js +3 -0
  33. package/dist/adt/config.js.map +1 -1
  34. package/dist/adt/data-result-context.d.ts +46 -0
  35. package/dist/adt/data-result-context.d.ts.map +1 -0
  36. package/dist/adt/data-result-context.js +118 -0
  37. package/dist/adt/data-result-context.js.map +1 -0
  38. package/dist/adt/data-source-name.d.ts +60 -0
  39. package/dist/adt/data-source-name.d.ts.map +1 -0
  40. package/dist/adt/data-source-name.js +156 -0
  41. package/dist/adt/data-source-name.js.map +1 -0
  42. package/dist/adt/data-source-policy.d.ts +139 -0
  43. package/dist/adt/data-source-policy.d.ts.map +1 -0
  44. package/dist/adt/data-source-policy.js +759 -0
  45. package/dist/adt/data-source-policy.js.map +1 -0
  46. package/dist/adt/ddic-xml.d.ts +78 -4
  47. package/dist/adt/ddic-xml.d.ts.map +1 -1
  48. package/dist/adt/ddic-xml.js +647 -54
  49. package/dist/adt/ddic-xml.js.map +1 -1
  50. package/dist/adt/devtools.d.ts +1 -0
  51. package/dist/adt/devtools.d.ts.map +1 -1
  52. package/dist/adt/devtools.js +24 -4
  53. package/dist/adt/devtools.js.map +1 -1
  54. package/dist/adt/errors.d.ts +10 -0
  55. package/dist/adt/errors.d.ts.map +1 -1
  56. package/dist/adt/errors.js +17 -0
  57. package/dist/adt/errors.js.map +1 -1
  58. package/dist/adt/http-deadline.d.ts +10 -0
  59. package/dist/adt/http-deadline.d.ts.map +1 -1
  60. package/dist/adt/http-deadline.js +7 -0
  61. package/dist/adt/http-deadline.js.map +1 -1
  62. package/dist/adt/http.d.ts +6 -3
  63. package/dist/adt/http.d.ts.map +1 -1
  64. package/dist/adt/http.js +94 -55
  65. package/dist/adt/http.js.map +1 -1
  66. package/dist/adt/internal-data-operations.d.ts +56 -0
  67. package/dist/adt/internal-data-operations.d.ts.map +1 -0
  68. package/dist/adt/internal-data-operations.js +99 -0
  69. package/dist/adt/internal-data-operations.js.map +1 -0
  70. package/dist/adt/package-contents.d.ts +12 -0
  71. package/dist/adt/package-contents.d.ts.map +1 -0
  72. package/dist/adt/package-contents.js +19 -0
  73. package/dist/adt/package-contents.js.map +1 -0
  74. package/dist/adt/relation-objects.d.ts +385 -0
  75. package/dist/adt/relation-objects.d.ts.map +1 -0
  76. package/dist/adt/relation-objects.js +262 -0
  77. package/dist/adt/relation-objects.js.map +1 -0
  78. package/dist/adt/repository-relations.d.ts +41 -0
  79. package/dist/adt/repository-relations.d.ts.map +1 -0
  80. package/dist/adt/repository-relations.js +246 -0
  81. package/dist/adt/repository-relations.js.map +1 -0
  82. package/dist/adt/request-attempt-budget.d.ts +26 -0
  83. package/dist/adt/request-attempt-budget.d.ts.map +1 -0
  84. package/dist/adt/request-attempt-budget.js +63 -0
  85. package/dist/adt/request-attempt-budget.js.map +1 -0
  86. package/dist/adt/result-limits.d.ts +3 -0
  87. package/dist/adt/result-limits.d.ts.map +1 -0
  88. package/dist/adt/result-limits.js +7 -0
  89. package/dist/adt/result-limits.js.map +1 -0
  90. package/dist/adt/safety.d.ts +2 -0
  91. package/dist/adt/safety.d.ts.map +1 -1
  92. package/dist/adt/safety.js +6 -0
  93. package/dist/adt/safety.js.map +1 -1
  94. package/dist/adt/server-driven.d.ts +6 -1
  95. package/dist/adt/server-driven.d.ts.map +1 -1
  96. package/dist/adt/server-driven.js +24 -20
  97. package/dist/adt/server-driven.js.map +1 -1
  98. package/dist/adt/sql-source-analyzer.d.ts +12 -0
  99. package/dist/adt/sql-source-analyzer.d.ts.map +1 -0
  100. package/dist/adt/sql-source-analyzer.js +158 -0
  101. package/dist/adt/sql-source-analyzer.js.map +1 -0
  102. package/dist/adt/table-query.d.ts +43 -0
  103. package/dist/adt/table-query.d.ts.map +1 -0
  104. package/dist/adt/table-query.js +160 -0
  105. package/dist/adt/table-query.js.map +1 -0
  106. package/dist/adt/text-elements.d.ts +48 -0
  107. package/dist/adt/text-elements.d.ts.map +1 -0
  108. package/dist/adt/text-elements.js +116 -0
  109. package/dist/adt/text-elements.js.map +1 -0
  110. package/dist/adt/types.d.ts +16 -0
  111. package/dist/adt/types.d.ts.map +1 -1
  112. package/dist/adt/uiad.d.ts +19 -0
  113. package/dist/adt/uiad.d.ts.map +1 -0
  114. package/dist/adt/uiad.js +173 -0
  115. package/dist/adt/uiad.js.map +1 -0
  116. package/dist/adt/xml-parser.d.ts +12 -15
  117. package/dist/adt/xml-parser.d.ts.map +1 -1
  118. package/dist/adt/xml-parser.js +44 -12
  119. package/dist/adt/xml-parser.js.map +1 -1
  120. package/dist/authz/policy.d.ts.map +1 -1
  121. package/dist/authz/policy.js +4 -1
  122. package/dist/authz/policy.js.map +1 -1
  123. package/dist/cache/cache.d.ts +3 -23
  124. package/dist/cache/cache.d.ts.map +1 -1
  125. package/dist/cache/cache.js +2 -3
  126. package/dist/cache/cache.js.map +1 -1
  127. package/dist/cache/caching-layer.d.ts +6 -25
  128. package/dist/cache/caching-layer.d.ts.map +1 -1
  129. package/dist/cache/caching-layer.js +3 -45
  130. package/dist/cache/caching-layer.js.map +1 -1
  131. package/dist/cache/memory.d.ts +1 -4
  132. package/dist/cache/memory.d.ts.map +1 -1
  133. package/dist/cache/memory.js +1 -10
  134. package/dist/cache/memory.js.map +1 -1
  135. package/dist/cache/sqlite.d.ts +1 -3
  136. package/dist/cache/sqlite.d.ts.map +1 -1
  137. package/dist/cache/sqlite.js +2 -17
  138. package/dist/cache/sqlite.js.map +1 -1
  139. package/dist/cli-checks.d.ts +3 -0
  140. package/dist/cli-checks.d.ts.map +1 -1
  141. package/dist/cli-checks.js +16 -0
  142. package/dist/cli-checks.js.map +1 -1
  143. package/dist/cli.d.ts.map +1 -1
  144. package/dist/cli.js +7 -2
  145. package/dist/cli.js.map +1 -1
  146. package/dist/context/compressor.d.ts +2 -3
  147. package/dist/context/compressor.d.ts.map +1 -1
  148. package/dist/context/compressor.js +30 -49
  149. package/dist/context/compressor.js.map +1 -1
  150. package/dist/context/contract.d.ts +5 -0
  151. package/dist/context/contract.d.ts.map +1 -1
  152. package/dist/context/contract.js +2 -2
  153. package/dist/context/contract.js.map +1 -1
  154. package/dist/context/deps.d.ts +11 -0
  155. package/dist/context/deps.d.ts.map +1 -1
  156. package/dist/context/deps.js +2 -2
  157. package/dist/context/deps.js.map +1 -1
  158. package/dist/context/parse-cache.d.ts +23 -0
  159. package/dist/context/parse-cache.d.ts.map +1 -0
  160. package/dist/context/parse-cache.js +71 -0
  161. package/dist/context/parse-cache.js.map +1 -0
  162. package/dist/context/relation-walk.d.ts +48 -0
  163. package/dist/context/relation-walk.d.ts.map +1 -0
  164. package/dist/context/relation-walk.js +137 -0
  165. package/dist/context/relation-walk.js.map +1 -0
  166. package/dist/context/types.d.ts +4 -4
  167. package/dist/context/types.d.ts.map +1 -1
  168. package/dist/handlers/activate.d.ts +1 -1
  169. package/dist/handlers/activate.d.ts.map +1 -1
  170. package/dist/handlers/activate.js +33 -56
  171. package/dist/handlers/activate.js.map +1 -1
  172. package/dist/handlers/activation-results.d.ts +3 -0
  173. package/dist/handlers/activation-results.d.ts.map +1 -0
  174. package/dist/handlers/activation-results.js +8 -0
  175. package/dist/handlers/activation-results.js.map +1 -0
  176. package/dist/handlers/context.d.ts.map +1 -1
  177. package/dist/handlers/context.js +8 -32
  178. package/dist/handlers/context.js.map +1 -1
  179. package/dist/handlers/data-element-fields.d.ts +26 -0
  180. package/dist/handlers/data-element-fields.d.ts.map +1 -0
  181. package/dist/handlers/data-element-fields.js +27 -0
  182. package/dist/handlers/data-element-fields.js.map +1 -0
  183. package/dist/handlers/diagnose-ci.d.ts +9 -0
  184. package/dist/handlers/diagnose-ci.d.ts.map +1 -0
  185. package/dist/handlers/diagnose-ci.js +120 -0
  186. package/dist/handlers/diagnose-ci.js.map +1 -0
  187. package/dist/handlers/diagnose-fields.d.ts +51 -0
  188. package/dist/handlers/diagnose-fields.d.ts.map +1 -0
  189. package/dist/handlers/diagnose-fields.js +48 -0
  190. package/dist/handlers/diagnose-fields.js.map +1 -0
  191. package/dist/handlers/diagnose.d.ts +4 -1
  192. package/dist/handlers/diagnose.d.ts.map +1 -1
  193. package/dist/handlers/diagnose.js +41 -6
  194. package/dist/handlers/diagnose.js.map +1 -1
  195. package/dist/handlers/dispatch.d.ts +3 -1
  196. package/dist/handlers/dispatch.d.ts.map +1 -1
  197. package/dist/handlers/dispatch.js +96 -11
  198. package/dist/handlers/dispatch.js.map +1 -1
  199. package/dist/handlers/feature-cache.d.ts +4 -3
  200. package/dist/handlers/feature-cache.d.ts.map +1 -1
  201. package/dist/handlers/feature-cache.js +4 -3
  202. package/dist/handlers/feature-cache.js.map +1 -1
  203. package/dist/handlers/hyperfocused.js +1 -1
  204. package/dist/handlers/live-relations.d.ts +5 -0
  205. package/dist/handlers/live-relations.d.ts.map +1 -0
  206. package/dist/handlers/live-relations.js +89 -0
  207. package/dist/handlers/live-relations.js.map +1 -0
  208. package/dist/handlers/manage.d.ts.map +1 -1
  209. package/dist/handlers/manage.js +7 -4
  210. package/dist/handlers/manage.js.map +1 -1
  211. package/dist/handlers/navigate.d.ts +1 -1
  212. package/dist/handlers/navigate.d.ts.map +1 -1
  213. package/dist/handlers/navigate.js +33 -7
  214. package/dist/handlers/navigate.js.map +1 -1
  215. package/dist/handlers/object-types.d.ts +6 -4
  216. package/dist/handlers/object-types.d.ts.map +1 -1
  217. package/dist/handlers/object-types.js +45 -10
  218. package/dist/handlers/object-types.js.map +1 -1
  219. package/dist/handlers/query-errors.d.ts +9 -1
  220. package/dist/handlers/query-errors.d.ts.map +1 -1
  221. package/dist/handlers/query-errors.js +40 -28
  222. package/dist/handlers/query-errors.js.map +1 -1
  223. package/dist/handlers/query.d.ts +2 -2
  224. package/dist/handlers/query.d.ts.map +1 -1
  225. package/dist/handlers/query.js +15 -22
  226. package/dist/handlers/query.js.map +1 -1
  227. package/dist/handlers/read.d.ts +1 -1
  228. package/dist/handlers/read.d.ts.map +1 -1
  229. package/dist/handlers/read.js +112 -23
  230. package/dist/handlers/read.js.map +1 -1
  231. package/dist/handlers/relation-input.d.ts +42 -0
  232. package/dist/handlers/relation-input.d.ts.map +1 -0
  233. package/dist/handlers/relation-input.js +22 -0
  234. package/dist/handlers/relation-input.js.map +1 -0
  235. package/dist/handlers/relation-tool.d.ts +5 -0
  236. package/dist/handlers/relation-tool.d.ts.map +1 -0
  237. package/dist/handlers/relation-tool.js +36 -0
  238. package/dist/handlers/relation-tool.js.map +1 -0
  239. package/dist/handlers/schemas.d.ts +119 -62
  240. package/dist/handlers/schemas.d.ts.map +1 -1
  241. package/dist/handlers/schemas.js +150 -13
  242. package/dist/handlers/schemas.js.map +1 -1
  243. package/dist/handlers/search.d.ts +1 -1
  244. package/dist/handlers/search.d.ts.map +1 -1
  245. package/dist/handlers/search.js +43 -8
  246. package/dist/handlers/search.js.map +1 -1
  247. package/dist/handlers/tool-descriptions.d.ts.map +1 -1
  248. package/dist/handlers/tool-descriptions.js +12 -13
  249. package/dist/handlers/tool-descriptions.js.map +1 -1
  250. package/dist/handlers/tool-registry.d.ts +1 -0
  251. package/dist/handlers/tool-registry.d.ts.map +1 -1
  252. package/dist/handlers/tool-registry.js +4 -0
  253. package/dist/handlers/tool-registry.js.map +1 -1
  254. package/dist/handlers/tools.d.ts +2 -3
  255. package/dist/handlers/tools.d.ts.map +1 -1
  256. package/dist/handlers/tools.js +139 -84
  257. package/dist/handlers/tools.js.map +1 -1
  258. package/dist/handlers/where-used.d.ts +2 -0
  259. package/dist/handlers/where-used.d.ts.map +1 -1
  260. package/dist/handlers/where-used.js +23 -5
  261. package/dist/handlers/where-used.js.map +1 -1
  262. package/dist/handlers/write/batch-results.d.ts +28 -0
  263. package/dist/handlers/write/batch-results.d.ts.map +1 -0
  264. package/dist/handlers/write/batch-results.js +106 -0
  265. package/dist/handlers/write/batch-results.js.map +1 -0
  266. package/dist/handlers/write/create-transport.d.ts +7 -0
  267. package/dist/handlers/write/create-transport.d.ts.map +1 -0
  268. package/dist/handlers/write/create-transport.js +38 -0
  269. package/dist/handlers/write/create-transport.js.map +1 -0
  270. package/dist/handlers/write/create.d.ts.map +1 -1
  271. package/dist/handlers/write/create.js +276 -413
  272. package/dist/handlers/write/create.js.map +1 -1
  273. package/dist/handlers/write/uiad.d.ts +8 -0
  274. package/dist/handlers/write/uiad.d.ts.map +1 -0
  275. package/dist/handlers/write/uiad.js +115 -0
  276. package/dist/handlers/write/uiad.js.map +1 -0
  277. package/dist/handlers/write/update-delete.d.ts +6 -6
  278. package/dist/handlers/write/update-delete.d.ts.map +1 -1
  279. package/dist/handlers/write/update-delete.js +46 -15
  280. package/dist/handlers/write/update-delete.js.map +1 -1
  281. package/dist/handlers/write-helpers.d.ts +0 -6
  282. package/dist/handlers/write-helpers.d.ts.map +1 -1
  283. package/dist/handlers/write-helpers.js +88 -80
  284. package/dist/handlers/write-helpers.js.map +1 -1
  285. package/dist/handlers/write.d.ts.map +1 -1
  286. package/dist/handlers/write.js +5 -1
  287. package/dist/handlers/write.js.map +1 -1
  288. package/dist/public/index.d.ts +1 -1
  289. package/dist/public/index.d.ts.map +1 -1
  290. package/dist/public/index.js +1 -1
  291. package/dist/public/index.js.map +1 -1
  292. package/dist/public/ui/app.js +0 -2
  293. package/dist/server/audit.d.ts +42 -1
  294. package/dist/server/audit.d.ts.map +1 -1
  295. package/dist/server/audit.js.map +1 -1
  296. package/dist/server/config.d.ts +4 -0
  297. package/dist/server/config.d.ts.map +1 -1
  298. package/dist/server/config.js +67 -0
  299. package/dist/server/config.js.map +1 -1
  300. package/dist/server/context.d.ts +5 -0
  301. package/dist/server/context.d.ts.map +1 -1
  302. package/dist/server/context.js.map +1 -1
  303. package/dist/server/destination-registry.d.ts +10 -2
  304. package/dist/server/destination-registry.d.ts.map +1 -1
  305. package/dist/server/destination-registry.js +12 -3
  306. package/dist/server/destination-registry.js.map +1 -1
  307. package/dist/server/effective-policy-log.d.ts +2 -1
  308. package/dist/server/effective-policy-log.d.ts.map +1 -1
  309. package/dist/server/effective-policy-log.js +18 -2
  310. package/dist/server/effective-policy-log.js.map +1 -1
  311. package/dist/server/http.d.ts +1 -1
  312. package/dist/server/http.d.ts.map +1 -1
  313. package/dist/server/http.js +1 -0
  314. package/dist/server/http.js.map +1 -1
  315. package/dist/server/logger.d.ts.map +1 -1
  316. package/dist/server/logger.js +4 -1
  317. package/dist/server/logger.js.map +1 -1
  318. package/dist/server/multi-target-runtime.d.ts.map +1 -1
  319. package/dist/server/multi-target-runtime.js +7 -2
  320. package/dist/server/multi-target-runtime.js.map +1 -1
  321. package/dist/server/multi-target-tools.d.ts.map +1 -1
  322. package/dist/server/multi-target-tools.js +3 -1
  323. package/dist/server/multi-target-tools.js.map +1 -1
  324. package/dist/server/runtime-memory.d.ts +13 -0
  325. package/dist/server/runtime-memory.d.ts.map +1 -0
  326. package/dist/server/runtime-memory.js +42 -0
  327. package/dist/server/runtime-memory.js.map +1 -0
  328. package/dist/server/server-instructions.d.ts +2 -0
  329. package/dist/server/server-instructions.d.ts.map +1 -0
  330. package/dist/server/server-instructions.js +33 -0
  331. package/dist/server/server-instructions.js.map +1 -0
  332. package/dist/server/server.d.ts +3 -2
  333. package/dist/server/server.d.ts.map +1 -1
  334. package/dist/server/server.js +42 -78
  335. package/dist/server/server.js.map +1 -1
  336. package/dist/server/shutdown.d.ts +6 -0
  337. package/dist/server/shutdown.d.ts.map +1 -0
  338. package/dist/server/shutdown.js +52 -0
  339. package/dist/server/shutdown.js.map +1 -0
  340. package/dist/server/sinks/btp-auditlog.d.ts +10 -8
  341. package/dist/server/sinks/btp-auditlog.d.ts.map +1 -1
  342. package/dist/server/sinks/btp-auditlog.js +86 -68
  343. package/dist/server/sinks/btp-auditlog.js.map +1 -1
  344. package/dist/server/sinks/file.d.ts +1 -1
  345. package/dist/server/sinks/file.d.ts.map +1 -1
  346. package/dist/server/sinks/file.js +12 -21
  347. package/dist/server/sinks/file.js.map +1 -1
  348. package/dist/server/types.d.ts +8 -0
  349. package/dist/server/types.d.ts.map +1 -1
  350. package/dist/server/types.js +4 -0
  351. package/dist/server/types.js.map +1 -1
  352. package/dist/server/ui-state.d.ts.map +1 -1
  353. package/dist/server/ui-state.js +1 -0
  354. package/dist/server/ui-state.js.map +1 -1
  355. package/dist/server/ui.js +0 -2
  356. package/dist/server/ui.js.map +1 -1
  357. package/package.json +15 -13
@@ -3,10 +3,13 @@
3
3
  * preview. Exports version helpers shared with the write handler.
4
4
  */
5
5
  import { resolveBspNameAndPath } from '../adt/bsp-path.js';
6
- import { decodeKtdText } from '../adt/ddic-xml.js';
6
+ import { DataSourcePolicyError } from '../adt/data-source-policy.js';
7
+ import { decodeKtdText, formatKtdNodeIndex, formatKtdShortTexts, KTD_META_MARKER } from '../adt/ddic-xml.js';
7
8
  import { extractUnknownColumn, formatUnknownColumnHint, isNotFoundError } from '../adt/errors.js';
8
9
  import { mapSapReleaseToAbaplintVersion } from '../adt/features.js';
9
10
  import { parseFmSignature } from '../adt/fm-signature.js';
11
+ import { internalOperationDenial, internalOperationWarning } from '../adt/internal-data-operations.js';
12
+ import { describePackageListing } from '../adt/package-contents.js';
10
13
  import { isOperationAllowed, OperationType } from '../adt/safety.js';
11
14
  import { ensureServerDrivenSupport, getServerDrivenObject, isServerDrivenObjectType, serverDrivenUnavailableMessage, } from '../adt/server-driven.js';
12
15
  import { getAppInfo } from '../adt/ui5-repository.js';
@@ -17,7 +20,7 @@ import { extractMethod, formatMethodListing, listMethods } from '../context/meth
17
20
  import { logger } from '../server/logger.js';
18
21
  import { inactiveListUserKey, invalidateInactiveList } from './cache-security.js';
19
22
  import { getCachedFeatures, isBtpSystem } from './feature-cache.js';
20
- import { inferObjectType, normalizeObjectType, objectUrlForTypeRaw } from './object-types.js';
23
+ import { detectLocalHandlerInclude, inferObjectType, normalizeObjectType, objectUrlForTypeRaw, } from './object-types.js';
21
24
  import { errorResult, textResult, toolJson } from './shared.js';
22
25
  const BTP_HINTS = {
23
26
  PROG: 'Executable programs (reports) are not available on BTP ABAP Environment. Use CLAS with IF_OO_ADT_CLASSRUN for console applications.',
@@ -103,7 +106,22 @@ function sourceVersionWarning(effectiveVersion, draft) {
103
106
  }
104
107
  return undefined;
105
108
  }
106
- export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
109
+ /**
110
+ * SWOTLV is a declared internal source and BOR method resolution has no alternative in ARC-1, so a
111
+ * policy denial must name the affected feature rather than surfacing a bare policy error.
112
+ */
113
+ async function swotlv(minimalErrors, run) {
114
+ try {
115
+ return await run();
116
+ }
117
+ catch (error) {
118
+ if (error instanceof DataSourcePolicyError) {
119
+ return { policyDenial: errorResult(internalOperationDenial('bor_method_lookup', error, minimalErrors)) };
120
+ }
121
+ throw error;
122
+ }
123
+ }
124
+ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity, minimalErrors) {
107
125
  const type = normalizeObjectType(String(args.type ?? ''));
108
126
  const name = String(args.name ?? '');
109
127
  const requestedVersion = (args.version ?? 'active');
@@ -205,9 +223,9 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
205
223
  const g = grepSource(source, String(args.grep));
206
224
  return g.invalidPattern ? errorResult(g.output) : textResult(g.output);
207
225
  };
208
- // Structured format is only supported for CLAS type
209
- if (args.format === 'structured' && type !== 'CLAS') {
210
- return errorResult('The "structured" format is only supported for CLAS type. Other types return text format.');
226
+ // Structured ordinary reads: class metadata or a package listing envelope.
227
+ if (args.format === 'structured' && type !== 'CLAS' && type !== 'DEVC') {
228
+ return errorResult('For ordinary reads, format="structured" supports CLAS and DEVC. Retry this read with format="text" or omit format; DDIC metadata is returned by its normal reader.');
211
229
  }
212
230
  switch (type) {
213
231
  case 'PROG': {
@@ -256,18 +274,47 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
256
274
  return textResult(toolJson(structured));
257
275
  }
258
276
  const methodParam = args.method;
259
- if (methodParam && !args.include) {
260
- // Method-level read fetch full source then extract (no cache indicator for derived results)
261
- const { source: fullSource } = await cachedGet('CLAS', name, effectiveVersion, (ifNoneMatch) => client.getClass(name, undefined, { ifNoneMatch, version: effectiveVersion }));
277
+ if (methodParam) {
278
+ // An explicit include is authoritative, including `main`. Only an omitted include may be
279
+ // inferred from a qualified local-class name (the same convention used by edit_method).
280
+ const requestedInclude = args.include?.toLowerCase();
281
+ const resolvedInclude = requestedInclude === undefined
282
+ ? detectLocalHandlerInclude(methodParam)
283
+ : requestedInclude === 'main'
284
+ ? undefined
285
+ : requestedInclude;
286
+ let methodSource;
287
+ if (resolvedInclude) {
288
+ // Include reads bypass the source cache: its key has no class-section dimension, so a
289
+ // cached MAIN body must never satisfy an implementations/testclasses request.
290
+ try {
291
+ methodSource = (await client.getClassInclude(name, resolvedInclude, {
292
+ version: effectiveVersion,
293
+ })).source;
294
+ }
295
+ catch (err) {
296
+ if (isNotFoundError(err)) {
297
+ return errorResult(`Include "${resolvedInclude}" is not available for class ${name}, so method "${methodParam}" cannot be read from it.`);
298
+ }
299
+ throw err;
300
+ }
301
+ }
302
+ else {
303
+ methodSource = (await cachedGet('CLAS', name, effectiveVersion, (ifNoneMatch) => client.getClass(name, undefined, { ifNoneMatch, version: effectiveVersion }))).source;
304
+ }
262
305
  const probedAbapRelease = getCachedFeatures()?.abapRelease;
263
306
  const abaplintVer = probedAbapRelease ? mapSapReleaseToAbaplintVersion(probedAbapRelease) : undefined;
264
307
  if (methodParam === '*') {
265
- const listing = listMethods(fullSource, name, abaplintVer);
308
+ const listing = listMethods(methodSource, name, abaplintVer);
266
309
  return textResult(formatMethodListing(listing));
267
310
  }
268
- const extracted = extractMethod(fullSource, name, methodParam, abaplintVer);
311
+ const extracted = extractMethod(methodSource, name, methodParam, abaplintVer);
269
312
  if (!extracted.success) {
270
- return errorResult(extracted.error ?? `Method "${methodParam}" not found in ${name}.`);
313
+ const location = resolvedInclude ? ` (read from include=${resolvedInclude})` : '';
314
+ const hint = requestedInclude === undefined && !resolvedInclude
315
+ ? ' Methods of class-local classes live in an include: qualify the method as "lhc_x~method" (or "ltc_x~method" for testclasses), or pass include= explicitly.'
316
+ : '';
317
+ return errorResult(`${extracted.error ?? `Method "${methodParam}" not found in ${name}.`}${location}${hint}`);
271
318
  }
272
319
  return cachedTextResult(extracted.methodSource, false, false, versionWarning);
273
320
  }
@@ -419,10 +466,28 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
419
466
  // inside <sktd:text>. Cache the raw envelope (update flow re-uses it) and
420
467
  // return the decoded Markdown to the LLM.
421
468
  const { source, cacheHit, revalidated } = await cachedGet('SKTD', name, effectiveVersion, (ifNoneMatch) => client.getKtd(name, { ifNoneMatch, version: effectiveVersion }));
422
- const markdown = decodeKtdText(source);
469
+ // Full reads use the reversible route-safe representation so their output can
470
+ // be pasted into SAPWrite. Grep searches the stored Markdown without escapes.
471
+ const markdown = decodeKtdText(source, { routeSafe: !args.grep });
423
472
  if (args.grep)
424
473
  return grepText(markdown);
425
- return cachedTextResult(markdown, cacheHit, revalidated, versionWarning);
474
+ // List copyable names for every writable node, including empty nodes omitted from Markdown.
475
+ // The labels use the same resolver as SAPWrite.
476
+ const index = formatKtdNodeIndex(source);
477
+ const readOnlyContext = [
478
+ versionWarning,
479
+ cacheHit && revalidated ? '[cached:revalidated]' : undefined,
480
+ formatKtdShortTexts(source) || undefined,
481
+ index || undefined,
482
+ ]
483
+ .filter((entry) => Boolean(entry))
484
+ .join('\n\n');
485
+ const text = readOnlyContext
486
+ ? [markdown || undefined, `${KTD_META_MARKER}\n${readOnlyContext}`]
487
+ .filter((entry) => Boolean(entry))
488
+ .join('\n\n')
489
+ : markdown;
490
+ return textResult(text);
426
491
  }
427
492
  catch (err) {
428
493
  if (isNotFoundError(err)) {
@@ -451,7 +516,9 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
451
516
  return textResult(toolJson(domain));
452
517
  }
453
518
  case 'DTEL': {
454
- const dtel = await client.getDataElement(name);
519
+ // SAP's version-less developer view exposes pending drafts for omitted and `auto` reads.
520
+ const dtelVersion = args.version === 'active' || args.version === 'inactive' ? args.version : undefined;
521
+ const dtel = await client.getDataElement(name, dtelVersion);
455
522
  return textResult(toolJson(dtel));
456
523
  }
457
524
  case 'TTYP': {
@@ -523,6 +590,7 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
523
590
  case 'TRAN': {
524
591
  const tran = await client.getTransaction(name);
525
592
  // Enrich with program name via SQL — only if free SQL is allowed by safety config
593
+ let tranWarning;
526
594
  if (isOperationAllowed(client.safety, OperationType.FreeSQL)) {
527
595
  try {
528
596
  const safeName = name.toUpperCase().replace(/[^A-Z0-9_/]/g, '');
@@ -531,11 +599,16 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
531
599
  tran.program = String(data.rows[0].PGMNA ?? '').trim();
532
600
  }
533
601
  }
534
- catch {
535
- // SQL failed (e.g., TSTC not found on BTP) still return metadata
602
+ catch (error) {
603
+ // Optional enrichment: still return the transaction metadata, but say the program name is
604
+ // missing rather than letting the model read its absence as "this transaction has none".
605
+ if (error instanceof DataSourcePolicyError) {
606
+ tranWarning = internalOperationWarning('tran_program_enrichment', error.code);
607
+ }
608
+ // Other failures (e.g. TSTC absent on BTP) keep the existing silent-metadata behaviour.
536
609
  }
537
610
  }
538
- return textResult(toolJson(tran));
611
+ return textResult(toolJson(tranWarning ? { ...tran, warning: tranWarning } : tran));
539
612
  }
540
613
  case 'API_STATE': {
541
614
  // Determine object type for URL construction — use explicit objectType, infer from name, or error
@@ -591,7 +664,9 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
591
664
  }
592
665
  if (safeMethod) {
593
666
  // Read specific BOR method implementation via SWOTLV lookup
594
- const data = await client.runQuery(`SELECT PROGNAME, FORMNAME FROM SWOTLV WHERE LOBJTYPE = '${safeName}' AND VERB = '${safeMethod}'`, 1);
667
+ const data = await swotlv(minimalErrors, () => client.runQuery(`SELECT PROGNAME, FORMNAME FROM SWOTLV WHERE LOBJTYPE = '${safeName}' AND VERB = '${safeMethod}'`, 1));
668
+ if ('policyDenial' in data)
669
+ return data.policyDenial;
595
670
  if (data.rows.length > 0) {
596
671
  const prog = String(data.rows[0].PROGNAME ?? '').trim();
597
672
  if (!prog) {
@@ -603,7 +678,9 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
603
678
  return errorResult(`BOR method "${method}" not found on object type "${name}". Use SAPRead(type="SOBJ", name="${name}") without method to list all methods.`);
604
679
  }
605
680
  // List all methods for this BOR object
606
- const methods = await client.runQuery(`SELECT VERB, PROGNAME, FORMNAME, DESCRIPT FROM SWOTLV WHERE LOBJTYPE = '${safeName}'`, 100);
681
+ const methods = await swotlv(minimalErrors, () => client.runQuery(`SELECT VERB, PROGNAME, FORMNAME, DESCRIPT FROM SWOTLV WHERE LOBJTYPE = '${safeName}'`, 100));
682
+ if ('policyDenial' in methods)
683
+ return methods.policyDenial;
607
684
  if (methods.rows.length === 0) {
608
685
  return errorResult(`No BOR methods found for object type "${name}". Verify the BOR object type name.`);
609
686
  }
@@ -612,7 +689,12 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
612
689
  case 'DEVC': {
613
690
  const maxResults = args.maxResults != null ? Number(args.maxResults) : undefined;
614
691
  const contents = await client.getPackageContents(name, maxResults);
615
- return textResult(toolJson(contents));
692
+ const listing = describePackageListing(contents.length, maxResults);
693
+ if (args.format === 'structured')
694
+ return textResult(toolJson({ objects: contents, listing }));
695
+ const result = textResult(toolJson(contents));
696
+ result.content.push({ type: 'text', text: toolJson({ listing }) });
697
+ return result;
616
698
  }
617
699
  case 'SYSTEM':
618
700
  return textResult(await client.getSystemInfo());
@@ -640,8 +722,15 @@ export async function handleSAPRead(client, args, cachingLayer, cacheSecurity) {
640
722
  return textResult(await client.getMessages(name));
641
723
  }
642
724
  }
643
- case 'TEXT_ELEMENTS':
644
- return textResult(await client.getTextElements(name));
725
+ case 'TEXT_ELEMENTS': {
726
+ // objectType picks the textelements collection (PROG default, also CLAS/FUGR); include picks
727
+ // one subobject (symbols | selections | headings) instead of the whole pool.
728
+ const part = args.include?.toLowerCase();
729
+ return textResult(await client.getTextElements(name, {
730
+ objectType: args.objectType ?? 'PROG',
731
+ part,
732
+ }));
733
+ }
645
734
  case 'VARIANTS':
646
735
  return textResult(await client.getVariants(name));
647
736
  case 'BSP': {
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/handlers/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/handlers/read.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { z } from 'zod';
2
+ /** Accept numeric strings, never JavaScript array/boolean/null-to-number coercion. */
3
+ export declare const relationNumber: z.ZodPreprocess<z.ZodNumber, unknown>;
4
+ export declare const LiveRelationsInput: z.ZodObject<{
5
+ action: z.ZodLiteral<"relations">;
6
+ type: z.ZodPreprocess<z.ZodEnum<{
7
+ BDEF: "BDEF";
8
+ CLAS: "CLAS";
9
+ DCLS: "DCLS";
10
+ DDLS: "DDLS";
11
+ DOMA: "DOMA";
12
+ DSFD: "DSFD";
13
+ DTEL: "DTEL";
14
+ ENHO: "ENHO";
15
+ ENHS: "ENHS";
16
+ ENQU: "ENQU";
17
+ EVTB: "EVTB";
18
+ FUGR: "FUGR";
19
+ FUNC: "FUNC";
20
+ INCL: "INCL";
21
+ INTF: "INTF";
22
+ MSAG: "MSAG";
23
+ PROG: "PROG";
24
+ SHLP: "SHLP";
25
+ SKTD: "SKTD";
26
+ SRVD: "SRVD";
27
+ TABL: "TABL";
28
+ TRAN: "TRAN";
29
+ TTYP: "TTYP";
30
+ TYPE: "TYPE";
31
+ VIEW: "VIEW";
32
+ }>, unknown>;
33
+ name: z.ZodString;
34
+ direction: z.ZodDefault<z.ZodEnum<{
35
+ incoming: "incoming";
36
+ outgoing: "outgoing";
37
+ }>>;
38
+ depth: z.ZodDefault<z.ZodPipe<z.ZodPreprocess<z.ZodNumber, unknown>, z.ZodNumber>>;
39
+ maxResults: z.ZodDefault<z.ZodPipe<z.ZodPreprocess<z.ZodNumber, unknown>, z.ZodNumber>>;
40
+ expandPackages: z.ZodOptional<z.ZodArray<z.ZodString>>;
41
+ }, z.core.$strict>;
42
+ //# sourceMappingURL=relation-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-input.d.ts","sourceRoot":"","sources":["../../src/handlers/relation-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,sFAAsF;AACtF,eAAO,MAAM,cAAc,uCAG1B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoBpB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import { RELATION_NAME, RELATION_ROOT_TYPES, relationObjectSpec } from '../adt/relation-objects.js';
3
+ /** Accept numeric strings, never JavaScript array/boolean/null-to-number coercion. */
4
+ export const relationNumber = z.preprocess((value) => (typeof value === 'string' && value.trim() !== '' ? Number(value) : value), z.number());
5
+ export const LiveRelationsInput = z
6
+ .object({
7
+ action: z.literal('relations'),
8
+ type: z.preprocess((value) => (typeof value === 'string' ? (relationObjectSpec(value)?.type ?? value) : value), z.enum(RELATION_ROOT_TYPES, {
9
+ error: (issue) => issue.input === undefined
10
+ ? 'relations requires type (the root object type). Retry with type and name; objectType is only a references result filter, not the relations root type.'
11
+ : issue.input === 'SOBJ' || issue.input === 'SOBJ/MO'
12
+ ? 'relations does not support SOBJ roots: native SOBJ/MO means a maintenance object, whereas SAPRead SOBJ means a different BOR object. Do not substitute a BOR read or omit type to retry this maintenance-object map.'
13
+ : undefined,
14
+ })),
15
+ name: z.string().min(1).max(120).regex(RELATION_NAME),
16
+ direction: z.enum(['incoming', 'outgoing']).default('outgoing'),
17
+ depth: relationNumber.pipe(z.number().int().min(1).max(3)).default(1),
18
+ maxResults: relationNumber.pipe(z.number().int().min(1).max(100)).default(50),
19
+ expandPackages: z.array(z.string().min(1).max(120).regex(RELATION_NAME)).max(8).optional(),
20
+ })
21
+ .strict();
22
+ //# sourceMappingURL=relation-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-input.js","sourceRoot":"","sources":["../../src/handlers/relation-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEpG,sFAAsF;AACtF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,UAAU,CACxC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EACrF,CAAC,CAAC,MAAM,EAAE,CACX,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,UAAU,CAChB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAC3F,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE;QAC1B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,KAAK,CAAC,KAAK,KAAK,SAAS;YACvB,CAAC,CAAC,uJAAuJ;YACzJ,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;gBACnD,CAAC,CAAC,sNAAsN;gBACxN,CAAC,CAAC,SAAS;KAClB,CAAC,CACH;IACD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;IACrD,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC/D,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7E,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC3F,CAAC;KACD,MAAM,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ServerConfig } from '../server/types.js';
2
+ import type { ToolDefinition } from './tools.js';
3
+ /** Capability projection. Unknown stays visible; invocation verifies support before object access. */
4
+ export declare function addLiveRelationsDefinition(tool: ToolDefinition, config: ServerConfig, discovery?: ReadonlyMap<string, string[]>): void;
5
+ //# sourceMappingURL=relation-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-tool.d.ts","sourceRoot":"","sources":["../../src/handlers/relation-tool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,sGAAsG;AACtG,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,YAAY,EACpB,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,QAiC1C"}
@@ -0,0 +1,36 @@
1
+ import { RELATION_ROOT_TYPES } from '../adt/relation-objects.js';
2
+ import { supportsRelations } from '../adt/repository-relations.js';
3
+ import { isActionDenied } from '../server/deny-actions.js';
4
+ /** Capability projection. Unknown stays visible; invocation verifies support before object access. */
5
+ export function addLiveRelationsDefinition(tool, config, discovery) {
6
+ if (config.multiTargetEndpoints ||
7
+ config.targetId ||
8
+ config.toolMode !== 'standard' ||
9
+ isActionDenied('SAPNavigate', 'relations', config.denyActions) ||
10
+ (discovery?.size && !supportsRelations(discovery)))
11
+ return;
12
+ const properties = tool.inputSchema.properties;
13
+ properties.action.enum.push('relations');
14
+ tool.description +=
15
+ ' Experimental relations: dependency maps or package neighborhoods, then selected reads. Consumer locations: references; objectType="CLAS/OC" for class-only; otherwise omit. Active metadata, not source-call/runtime proof. Coverage unknown. type+name required, no uri/source.';
16
+ properties.type.description += ` relations: ${RELATION_ROOT_TYPES.join(', ')}. ENHO/XHB, ENHS/XSB only; TTYP=table type; MSAG=message class.`;
17
+ properties.direction = {
18
+ type: 'string',
19
+ enum: ['incoming', 'outgoing'],
20
+ description: 'relations: incoming=users; outgoing=dependencies (default).',
21
+ };
22
+ properties.depth = {
23
+ type: 'integer',
24
+ minimum: 1,
25
+ maximum: 3,
26
+ description: 'relations: native steps (default 1), not source-call hops.',
27
+ };
28
+ properties.expandPackages = {
29
+ type: 'array',
30
+ maxItems: 8,
31
+ items: { type: 'string', minLength: 1, maxLength: 120, pattern: '^(?:/[A-Za-z0-9_]+/)?[A-Za-z0-9_$]+$' },
32
+ description: 'relations: expand exact packages beyond root; others visible. Not authorization.',
33
+ };
34
+ properties.maxResults.description += ' relations: node cap incl. root, 1–100 (default 50); may stop earlier.';
35
+ }
36
+ //# sourceMappingURL=relation-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-tool.js","sourceRoot":"","sources":["../../src/handlers/relation-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3D,sGAAsG;AACtG,MAAM,UAAU,0BAA0B,CACxC,IAAoB,EACpB,MAAoB,EACpB,SAAyC;IAEzC,IACE,MAAM,CAAC,oBAAoB;QAC3B,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,QAAQ,KAAK,UAAU;QAC9B,cAAc,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAC9D,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAElD,OAAO;IACT,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAqD,CAAC;IACzF,UAAU,CAAC,MAAO,CAAC,IAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,CAAC,WAAW;QACd,mRAAmR,CAAC;IACtR,UAAU,CAAC,IAAK,CAAC,WAAW,IAAI,eAAe,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,iEAAiE,CAAC;IAC/I,UAAU,CAAC,SAAS,GAAG;QACrB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;QAC9B,WAAW,EAAE,6DAA6D;KAC3E,CAAC;IACF,UAAU,CAAC,KAAK,GAAG;QACjB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,4DAA4D;KAC1E,CAAC;IACF,UAAU,CAAC,cAAc,GAAG;QAC1B,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,sCAAsC,EAAE;QACxG,WAAW,EAAE,kFAAkF;KAChG,CAAC;IACF,UAAU,CAAC,UAAW,CAAC,WAAW,IAAI,wEAAwE,CAAC;AACjH,CAAC"}