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
@@ -1,4 +1,6 @@
1
1
  /** Safe SQL builder and row-limit helpers for ADT data-preview requests. */
2
+ /** Replace only whitespace outside literals, preserving tokens and existing comment boundaries. */
3
+ export declare function fitFreestyleSqlLines(sql: string): string;
2
4
  /** Coerce a caller-supplied row limit into [1, MAX_TABLE_QUERY_ROWS]. */
3
5
  export declare function clampPreviewRows(requested: number | undefined, fallback?: number): number;
4
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"table-query.d.ts","sourceRoot":"","sources":["../../src/adt/table-query.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAoC5E,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,SAAM,GAAG,MAAM,CAGtF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAE1F;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC3D,MAAM,CAmBR;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EACxD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;CAAE,EAC9E,UAAU,EAAE,MAAM,EAAE,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;CAAE,CAAC,CAWhE"}
1
+ {"version":3,"file":"table-query.d.ts","sourceRoot":"","sources":["../../src/adt/table-query.ts"],"names":[],"mappings":"AAAA,4EAA4E;AA4C5E,mGAAmG;AACnG,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqBxD;AAkCD,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,SAAM,GAAG,MAAM,CAGtF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAE1F;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC3D,MAAM,CAmBR;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EACxD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;CAAE,EAC9E,UAAU,EAAE,MAAM,EAAE,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;CAAE,CAAC,CAWhE"}
@@ -1,5 +1,66 @@
1
1
  /** Safe SQL builder and row-limit helpers for ADT data-preview requests. */
2
2
  import { canonicalDataSourceName } from './data-source-name.js';
3
+ /** ADT's freestyle handler cuts each input line here (verified on 7.58 and 8.16). */
4
+ const FREESTYLE_SQL_LINE_MAX = 255;
5
+ const LINE_WRAP_REFUSAL = "Cannot fit freestyle SQL into SAP's 255-character lines. Add line breaks between tokens; long literals, comments, and templates cannot be split safely.";
6
+ /** Find a break that advances the line without splitting a literal or creating a comment. */
7
+ function findSafeLineBreak(line, segmentStart) {
8
+ let lastSafeBreak;
9
+ // Each segment starts outside a literal: the preceding break was outside one too.
10
+ let quoteDelimiter;
11
+ const lineLimit = segmentStart + FREESTYLE_SQL_LINE_MAX;
12
+ for (let index = segmentStart; index <= lineLimit; index++) {
13
+ const char = line[index];
14
+ if (quoteDelimiter !== undefined) {
15
+ if (char !== quoteDelimiter)
16
+ continue;
17
+ if (line[index + 1] === quoteDelimiter) {
18
+ index++; // Doubled delimiters belong to the literal.
19
+ }
20
+ else {
21
+ quoteDelimiter = undefined;
22
+ }
23
+ continue;
24
+ }
25
+ if (char === "'" || char === '`') {
26
+ quoteDelimiter = char;
27
+ continue;
28
+ }
29
+ if (char === '"' || char === '|') {
30
+ break; // Do not wrap inside an inline comment or attempt to parse a template.
31
+ }
32
+ const isWhitespace = char === ' ' || char === '\t';
33
+ if (isWhitespace && index > segmentStart && line[index + 1] !== '*') {
34
+ lastSafeBreak = index; // A column-one '*' would turn the new line into a comment.
35
+ }
36
+ }
37
+ return lastSafeBreak;
38
+ }
39
+ /** Replace only whitespace outside literals, preserving tokens and existing comment boundaries. */
40
+ export function fitFreestyleSqlLines(sql) {
41
+ return sql
42
+ .split('\n')
43
+ .map((line) => {
44
+ // CRLF's carriage return is not part of the SQL line; preserve it in the final slice.
45
+ const lineLength = line.endsWith('\r') ? line.length - 1 : line.length;
46
+ if (lineLength <= FREESTYLE_SQL_LINE_MAX)
47
+ return line;
48
+ if (line.startsWith('*'))
49
+ throw new Error(LINE_WRAP_REFUSAL);
50
+ const parts = [];
51
+ let segmentStart = 0;
52
+ while (lineLength - segmentStart > FREESTYLE_SQL_LINE_MAX) {
53
+ const breakAt = findSafeLineBreak(line, segmentStart);
54
+ if (breakAt === undefined)
55
+ throw new Error(LINE_WRAP_REFUSAL);
56
+ parts.push(line.slice(segmentStart, breakAt));
57
+ segmentStart = breakAt + 1;
58
+ }
59
+ parts.push(line.slice(segmentStart));
60
+ return parts.join('\n');
61
+ })
62
+ .join('\n');
63
+ }
3
64
  /** Allowed SQL comparison operators for TABLE_QUERY where conditions. */
4
65
  const ALLOWED_OPS = new Set([
5
66
  '=',
@@ -1 +1 @@
1
- {"version":3,"file":"table-query.js","sourceRoot":"","sources":["../../src/adt/table-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-query.js","sourceRoot":"","sources":["../../src/adt/table-query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * ADT textelements service — an object's text pool.
3
+ *
4
+ * Three collections (`classes`, `programs`, `functiongroups`), each exposing three subobjects that
5
+ * carry their own media type: `symbols` (the numbered `'Text'(001)` literals), `selections` (a
6
+ * report's selection texts — the labels beside PARAMETERS/SELECT-OPTIONS) and `headings` (list
7
+ * header and column headers). Class writes support only `symbols`. Explicit class reads return
8
+ * SAP's raw response, including empty selections and heading placeholders on verified systems.
9
+ *
10
+ * Split out of client.ts, which keeps only the thin delegating methods.
11
+ */
12
+ import type { AdtHttpClient } from './http.js';
13
+ import { type SafetyConfig } from './safety.js';
14
+ /** Media type per subobject. Each is used as BOTH Content-Type and Accept on the write PUT (SAP
15
+ * returns 400 "Accept header missing" otherwise). */
16
+ declare const TEXT_ELEMENT_CT: {
17
+ readonly symbols: 'application/vnd.sap.adt.textelements.symbols.v1';
18
+ readonly selections: 'application/vnd.sap.adt.textelements.selections.v1';
19
+ readonly headings: 'application/vnd.sap.adt.textelements.headings.v1';
20
+ };
21
+ /** ADT textelements collections, keyed by the SAPRead/SAPWrite object type they serve. */
22
+ declare const TEXT_ELEMENT_COLLECTIONS: {
23
+ readonly CLAS: 'classes';
24
+ readonly PROG: 'programs';
25
+ readonly FUGR: 'functiongroups';
26
+ };
27
+ /** Which subobject of a text pool to read or write. */
28
+ export type TextElementPart = keyof typeof TEXT_ELEMENT_CT;
29
+ /** Object types that have a text pool on the textelements service. */
30
+ export type TextElementObjectType = keyof typeof TEXT_ELEMENT_COLLECTIONS;
31
+ export declare const TEXT_ELEMENT_PARTS: TextElementPart[];
32
+ export declare const TEXT_ELEMENT_OBJECT_TYPES: TextElementObjectType[];
33
+ export declare function isTextElementObjectType(type: string): type is TextElementObjectType;
34
+ /** Read one subobject. Returns the raw properties-style body: `@MaxLength:NN` then `NNN=text` for
35
+ * symbols, `PARAM=text` lines for selections, `listHeader=`/`columnHeader_N=` for headings. */
36
+ export declare function readTextElementPart(http: AdtHttpClient, safety: SafetyConfig, objectType: TextElementObjectType, name: string, part: TextElementPart): Promise<string>;
37
+ /** Read supported parts under `=== part ===` markers. Preserve raw bodies and propagate failures:
38
+ * HTTP 406 can indicate a source parse/consistency error, not just an unsupported part. */
39
+ export declare function readTextElements(http: AdtHttpClient, safety: SafetyConfig, name: string, options?: {
40
+ objectType?: string;
41
+ part?: TextElementPart;
42
+ }): Promise<string>;
43
+ /** Write one subobject. Locks the textelements object (not the class/program), PUTs the body with
44
+ * that subobject's media type as BOTH Content-Type and Accept, then unlocks. Immediately active —
45
+ * no SAPActivate needed. */
46
+ export declare function writeTextElementPart(http: AdtHttpClient, safety: SafetyConfig, objectType: TextElementObjectType, name: string, part: TextElementPart, source: string, transport?: string): Promise<void>;
47
+ export {};
48
+ //# sourceMappingURL=text-elements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-elements.d.ts","sourceRoot":"","sources":["../../src/adt/text-elements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAE/E;sDACsD;AACtD,QAAA,MAAM,eAAe;aACnB,OAAO,EAAE,iDAAiD;aAC1D,UAAU,EAAE,oDAAoD;aAChE,QAAQ,EAAE,kDAAkD;CACpD,CAAC;AAEX,0FAA0F;AAC1F,QAAA,MAAM,wBAAwB;aAC5B,IAAI,EAAE,SAAS;aACf,IAAI,EAAE,UAAU;aAChB,IAAI,EAAE,gBAAgB;CACd,CAAC;AAEX,uDAAuD;AACvD,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,eAAe,CAAC;AAE3D,sEAAsE;AACtE,MAAM,MAAM,qBAAqB,GAAG,MAAM,OAAO,wBAAwB,CAAC;AAE1E,eAAO,MAAM,kBAAkB,EAAmC,eAAe,EAAE,CAAC;AAEpF,eAAO,MAAM,yBAAyB,EAA4C,qBAAqB,EAAE,CAAC;AAE1G,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,qBAAqB,CAEnF;AAiCD;gGACgG;AAChG,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,qBAAqB,EACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;4FAC4F;AAC5F,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,eAAe,CAAA;CAAE,GACxD,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED;;6BAE6B;AAC7B,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,qBAAqB,EACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAuBf"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * ADT textelements service — an object's text pool.
3
+ *
4
+ * Three collections (`classes`, `programs`, `functiongroups`), each exposing three subobjects that
5
+ * carry their own media type: `symbols` (the numbered `'Text'(001)` literals), `selections` (a
6
+ * report's selection texts — the labels beside PARAMETERS/SELECT-OPTIONS) and `headings` (list
7
+ * header and column headers). Class writes support only `symbols`. Explicit class reads return
8
+ * SAP's raw response, including empty selections and heading placeholders on verified systems.
9
+ *
10
+ * Split out of client.ts, which keeps only the thin delegating methods.
11
+ */
12
+ import { lockObject, unlockObject } from './crud.js';
13
+ import { AdtApiError } from './errors.js';
14
+ import { checkOperation, OperationType } from './safety.js';
15
+ /** Media type per subobject. Each is used as BOTH Content-Type and Accept on the write PUT (SAP
16
+ * returns 400 "Accept header missing" otherwise). */
17
+ const TEXT_ELEMENT_CT = {
18
+ symbols: 'application/vnd.sap.adt.textelements.symbols.v1',
19
+ selections: 'application/vnd.sap.adt.textelements.selections.v1',
20
+ headings: 'application/vnd.sap.adt.textelements.headings.v1',
21
+ };
22
+ /** ADT textelements collections, keyed by the SAPRead/SAPWrite object type they serve. */
23
+ const TEXT_ELEMENT_COLLECTIONS = {
24
+ CLAS: 'classes',
25
+ PROG: 'programs',
26
+ FUGR: 'functiongroups',
27
+ };
28
+ export const TEXT_ELEMENT_PARTS = Object.keys(TEXT_ELEMENT_CT);
29
+ export const TEXT_ELEMENT_OBJECT_TYPES = Object.keys(TEXT_ELEMENT_COLLECTIONS);
30
+ export function isTextElementObjectType(type) {
31
+ return Object.hasOwn(TEXT_ELEMENT_COLLECTIONS, type);
32
+ }
33
+ /** Validate at the HTTP boundary too: JavaScript consumers do not have TypeScript's enums. */
34
+ function assertPart(objectType, part) {
35
+ if (!isTextElementObjectType(objectType) || !Object.hasOwn(TEXT_ELEMENT_CT, part)) {
36
+ throw new AdtApiError('Invalid text element object type or part.', 400, '/sap/bc/adt/textelements');
37
+ }
38
+ }
39
+ /** ADT path of the textelements object — the lock target, not the class/program object itself. */
40
+ function textElementsObject(objectType, name) {
41
+ return `/sap/bc/adt/textelements/${TEXT_ELEMENT_COLLECTIONS[objectType]}/${encodeURIComponent(name)}`;
42
+ }
43
+ /** False only when discovery is loaded AND says the collection is missing (e.g. NW 7.50).
44
+ * A not-yet-populated map answers true, so 757/758/816 is never false-blocked and a real
45
+ * 404 surfaces from SAP instead. */
46
+ function serviceAvailable(http, objectType) {
47
+ if (!http.hasDiscoveryData())
48
+ return true;
49
+ return http.discoveryAcceptFor(`/sap/bc/adt/textelements/${TEXT_ELEMENT_COLLECTIONS[objectType]}`) !== undefined;
50
+ }
51
+ /** Fail clean when the ADT textelements service is absent. */
52
+ function assertService(http, objectType) {
53
+ if (!serviceAvailable(http, objectType)) {
54
+ throw new AdtApiError(`Text elements for ${objectType} require the ADT textelements service (not available on this system).`, 404, `/sap/bc/adt/textelements/${TEXT_ELEMENT_COLLECTIONS[objectType]}`);
55
+ }
56
+ }
57
+ /** Read one subobject. Returns the raw properties-style body: `@MaxLength:NN` then `NNN=text` for
58
+ * symbols, `PARAM=text` lines for selections, `listHeader=`/`columnHeader_N=` for headings. */
59
+ export async function readTextElementPart(http, safety, objectType, name, part) {
60
+ checkOperation(safety, OperationType.Read, 'GetTextElements');
61
+ assertPart(objectType, part);
62
+ assertService(http, objectType);
63
+ const resp = await http.get(`${textElementsObject(objectType, name)}/source/${part}`, {
64
+ Accept: TEXT_ELEMENT_CT[part],
65
+ });
66
+ return resp.body;
67
+ }
68
+ /** Read supported parts under `=== part ===` markers. Preserve raw bodies and propagate failures:
69
+ * HTTP 406 can indicate a source parse/consistency error, not just an unsupported part. */
70
+ export async function readTextElements(http, safety, name, options) {
71
+ checkOperation(safety, OperationType.Read, 'GetTextElements');
72
+ const objectType = (options?.objectType ?? 'PROG').toUpperCase();
73
+ if (!isTextElementObjectType(objectType)) {
74
+ throw new AdtApiError(`Text elements exist only for ${TEXT_ELEMENT_OBJECT_TYPES.join(', ')} — got "${objectType}".`, 400, '/sap/bc/adt/textelements');
75
+ }
76
+ assertService(http, objectType);
77
+ if (options?.part)
78
+ return readTextElementPart(http, safety, objectType, name, options.part);
79
+ const chunks = [];
80
+ const parts = objectType === 'CLAS' ? ['symbols'] : TEXT_ELEMENT_PARTS;
81
+ for (const part of parts) {
82
+ const body = await readTextElementPart(http, safety, objectType, name, part);
83
+ if (body.trim())
84
+ chunks.push(`=== ${part} ===\n${body}`);
85
+ }
86
+ if (chunks.length > 1) {
87
+ chunks.push('Edit parts individually: SAPRead include=<part>, then SAPWrite textPart=<part>. Send only the raw part body in source, without the === part === markers.');
88
+ }
89
+ return chunks.length > 0 ? chunks.join('\n\n') : `No text elements maintained for ${objectType} ${name}.`;
90
+ }
91
+ /** Write one subobject. Locks the textelements object (not the class/program), PUTs the body with
92
+ * that subobject's media type as BOTH Content-Type and Accept, then unlocks. Immediately active —
93
+ * no SAPActivate needed. */
94
+ export async function writeTextElementPart(http, safety, objectType, name, part, source, transport) {
95
+ checkOperation(safety, OperationType.Update, 'WriteTextElements');
96
+ assertPart(objectType, part);
97
+ if (objectType === 'CLAS' && part !== 'symbols') {
98
+ throw new AdtApiError(`Only symbols can be written for CLAS; ${part} is read-only in ARC-1.`, 400, '/sap/bc/adt/textelements/classes');
99
+ }
100
+ assertService(http, objectType);
101
+ const obj = textElementsObject(objectType, name);
102
+ await http.withStatefulSession(async (session) => {
103
+ const lock = await lockObject(session, safety, obj, 'MODIFY');
104
+ const corr = transport ?? (lock.corrNr || undefined);
105
+ try {
106
+ let url = `${obj}/source/${part}?lockHandle=${encodeURIComponent(lock.lockHandle)}`;
107
+ if (corr)
108
+ url += `&corrNr=${encodeURIComponent(corr)}`;
109
+ await session.put(url, source, TEXT_ELEMENT_CT[part], { Accept: TEXT_ELEMENT_CT[part] });
110
+ }
111
+ finally {
112
+ await unlockObject(session, obj, lock.lockHandle);
113
+ }
114
+ });
115
+ }
116
+ //# sourceMappingURL=text-elements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-elements.js","sourceRoot":"","sources":["../../src/adt/text-elements.ts"],"names":[],"mappings":"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"}
@@ -390,6 +390,11 @@ export interface SyntaxMessage {
390
390
  line: number;
391
391
  column: number;
392
392
  uri?: string;
393
+ code?: string;
394
+ t100?: {
395
+ id: string;
396
+ number: string;
397
+ };
393
398
  }
394
399
  /** Transport request */
395
400
  export interface TransportRequest {
@@ -863,11 +868,22 @@ export interface DataElementInfo {
863
868
  length: string;
864
869
  decimals: string;
865
870
  shortLabel: string;
871
+ shortLength: string;
866
872
  mediumLabel: string;
873
+ mediumLength: string;
867
874
  longLabel: string;
875
+ longLength: string;
868
876
  headingLabel: string;
877
+ headingLength: string;
869
878
  searchHelp: string;
879
+ searchHelpParameter: string;
880
+ setGetParameter: string;
870
881
  defaultComponentName: string;
882
+ /** Negative ADT flag: true means SAP GUI input history is disabled. */
883
+ deactivateInputHistory: boolean;
884
+ changeDocument: boolean;
885
+ leftToRightDirection: boolean;
886
+ deactivateBIDIFiltering: boolean;
871
887
  package: string;
872
888
  }
873
889
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adt/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adt/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { AdtHttpClient } from './http.js';
2
+ import { type SafetyConfig } from './safety.js';
3
+ import type { UiadLanguageVersion } from './server-driven.js';
4
+ import type { SyntaxCheckResult } from './types.js';
5
+ export type UiadValidationStatus = 'passed' | 'failed' | 'unavailable' | 'notRun';
6
+ export interface UiadValidation {
7
+ schema: UiadValidationStatus;
8
+ semantic: UiadValidationStatus;
9
+ configuration: 'editable' | 'readonly' | 'unavailable' | 'notRun';
10
+ issues: string[];
11
+ check?: SyntaxCheckResult;
12
+ }
13
+ export declare function parseUiadSource(source: string): {
14
+ value: Record<string, unknown>;
15
+ languageVersion?: UiadLanguageVersion;
16
+ };
17
+ export declare function validateUiadSource(http: AdtHttpClient, safety: SafetyConfig, uri: string, source: string, value: Record<string, unknown>, create: boolean): Promise<UiadValidation>;
18
+ export declare function uiadValidationSummary(validation: UiadValidation, minimalErrors: boolean): Record<string, unknown>;
19
+ //# sourceMappingURL=uiad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uiad.d.ts","sourceRoot":"","sources":["../../src/adt/uiad.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKpD,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,QAAQ,CAAC;AAClF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,aAAa,EAAE,UAAU,GAAG,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC;IAClE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAqCD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG;IAC/C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACvC,CAWA;AAqBD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,cAAc,CAAC,CAwEzB;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2BjH"}
@@ -0,0 +1,173 @@
1
+ /** UIAD full-source validation. All metadata is request-local to the current SAP identity. */
2
+ import { Ajv2020 } from 'ajv/dist/2020.js';
3
+ import { logger } from '../server/logger.js';
4
+ import { syntaxCheck } from './devtools.js';
5
+ import { AdtApiError } from './errors.js';
6
+ import { checkOperation, OperationType } from './safety.js';
7
+ const PREFIX = '/sap/bc/adt/fiori/uiad';
8
+ const SCHEMA_ACCEPT = 'application/vnd.sap.adt.serverdriven.schema.v1+json; framework=objectTypes.v1';
9
+ const CONFIG_ACCEPT = 'application/vnd.sap.adt.serverdriven.configuration.v1+json; framework=objectTypes.v1';
10
+ function record(value) {
11
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
12
+ }
13
+ function requiresRegexEvaluation(schema) {
14
+ // Conservative detection also covers constraints under $defs/propertyNames. Do not execute
15
+ // backend regexes on the shared event loop or silently ignore them and call the schema passed.
16
+ const pending = [schema];
17
+ while (pending.length) {
18
+ const value = pending.pop();
19
+ if (value && typeof value === 'object') {
20
+ if (!Array.isArray(value) && ('pattern' in value || 'patternProperties' in value || 'format' in value))
21
+ return true;
22
+ pending.push(...Object.values(value));
23
+ }
24
+ }
25
+ return false;
26
+ }
27
+ /** Bounds protect parsing/compilation, not the HTTP transport's allocation. No remote refs loaded. */
28
+ function boundedJson(source, maxBytes) {
29
+ if (Buffer.byteLength(source) > maxBytes)
30
+ throw new Error('JSON exceeds the UIAD validation size limit.');
31
+ const value = JSON.parse(source);
32
+ const pending = [{ value, depth: 0 }];
33
+ let nodes = 0;
34
+ while (pending.length) {
35
+ const node = pending.pop();
36
+ if (++nodes > 10000 || node.depth > 40)
37
+ throw new Error('JSON exceeds the UIAD validation complexity limit.');
38
+ if (node.value && typeof node.value === 'object') {
39
+ for (const child of Object.values(node.value))
40
+ pending.push({ value: child, depth: node.depth + 1 });
41
+ }
42
+ }
43
+ return value;
44
+ }
45
+ export function parseUiadSource(source) {
46
+ const value = boundedJson(source, 1024 * 1024);
47
+ if (!record(value))
48
+ throw new Error('UIAD source must be an AFF JSON object.');
49
+ const languageVersion = record(value.header) ? value.header.abapLanguageVersion : undefined;
50
+ if (languageVersion !== undefined &&
51
+ (typeof languageVersion !== 'string' || !['standard', 'keyUser', 'cloudDevelopment'].includes(languageVersion))) {
52
+ throw new Error('Unsupported UIAD header.abapLanguageVersion.');
53
+ }
54
+ return { value, languageVersion: languageVersion };
55
+ }
56
+ function unsupported(error) {
57
+ return error instanceof AdtApiError && [404, 405, 406, 415, 501].includes(error.statusCode);
58
+ }
59
+ async function optionalJson(http, uri, accept) {
60
+ let body;
61
+ try {
62
+ body = (await http.get(uri, { Accept: accept })).body;
63
+ }
64
+ catch (error) {
65
+ if (unsupported(error))
66
+ return undefined;
67
+ throw error; // Authentication, authorization, and transient failures are not feature absence.
68
+ }
69
+ try {
70
+ return boundedJson(body, 256 * 1024);
71
+ }
72
+ catch {
73
+ return undefined;
74
+ }
75
+ }
76
+ export async function validateUiadSource(http, safety, uri, source, value, create) {
77
+ checkOperation(safety, OperationType.Read, 'ValidateUIAD');
78
+ const result = { schema: 'notRun', semantic: 'notRun', configuration: 'notRun', issues: [] };
79
+ if (!create) {
80
+ const configuration = await optionalJson(http, `${uri}/configuration`, CONFIG_ACCEPT);
81
+ result.configuration =
82
+ !record(configuration) ||
83
+ (configuration['sap.adt.readonly'] !== undefined && typeof configuration['sap.adt.readonly'] !== 'boolean')
84
+ ? 'unavailable'
85
+ : configuration['sap.adt.readonly'] === true
86
+ ? 'readonly'
87
+ : 'editable';
88
+ if (result.configuration === 'readonly')
89
+ return result;
90
+ }
91
+ // These fixed paths/MIMEs were verified against the target. Never follow source $schema URLs,
92
+ // arbitrary metadata links, or the creation-wizard schema at $new/schema.
93
+ const schema = await optionalJson(http, create ? `${PREFIX}/$schema` : `${uri}/schema`, SCHEMA_ACCEPT);
94
+ result.schema = 'unavailable';
95
+ if (record(schema) && schema.type === 'object' && record(schema.properties) && 'formatVersion' in schema.properties) {
96
+ // SAP 816 accepts AFF v1 while $schema describes v2. Applying that schema to v1 would reject
97
+ // an existing workflow. Other versions remain subject to SAP's candidate and save checks.
98
+ const versionSchema = schema.properties.formatVersion;
99
+ const differentVersion = typeof value.formatVersion === 'string' &&
100
+ record(versionSchema) &&
101
+ ((typeof versionSchema.const === 'string' && versionSchema.const !== value.formatVersion) ||
102
+ (Array.isArray(versionSchema.enum) && !versionSchema.enum.includes(value.formatVersion)));
103
+ if (differentVersion) {
104
+ result.issues.push('The target schema describes a different AFF format version; SAP candidate and save checks determine validity.');
105
+ }
106
+ else if (requiresRegexEvaluation(schema)) {
107
+ logger.debug('UIAD schema validation unavailable', {
108
+ reason: 'pattern_or_format',
109
+ operation: create ? 'create' : 'update',
110
+ });
111
+ result.issues.push('The target schema requires pattern/format evaluation; schema validation is unavailable. SAP candidate and save checks determine validity.');
112
+ }
113
+ else {
114
+ try {
115
+ const validator = new Ajv2020({ strict: false, allErrors: false, logger: false }).compile(schema);
116
+ result.schema = validator(value) ? 'passed' : 'failed';
117
+ if (result.schema === 'failed') {
118
+ const error = validator.errors?.[0];
119
+ const property = error?.params.missingProperty ?? error?.params.additionalProperty;
120
+ result.issues.push(`${error?.instancePath || '/'}: ${error?.message ?? 'Invalid source'}${property ? ` (${String(property)})` : ''}`.slice(0, 1000));
121
+ return result;
122
+ }
123
+ }
124
+ catch {
125
+ // Unsupported dialect/unresolved refs: no compileAsync/loadSchema, no external I/O.
126
+ }
127
+ }
128
+ }
129
+ try {
130
+ result.check = await syntaxCheck(http, safety, uri, { content: source, artifactContentType: 'application/json' });
131
+ }
132
+ catch (error) {
133
+ if (!unsupported(error))
134
+ throw error;
135
+ result.check = {
136
+ checked: false,
137
+ hasErrors: false,
138
+ messages: [],
139
+ statusText: 'SAP does not support this JSON candidate check.',
140
+ };
141
+ }
142
+ result.semantic = result.check.hasErrors ? 'failed' : result.check.checked ? 'passed' : 'unavailable';
143
+ return result;
144
+ }
145
+ export function uiadValidationSummary(validation, minimalErrors) {
146
+ const { check, issues, ...status } = validation;
147
+ const prioritized = check
148
+ ? [...check.messages].sort((a, b) => Number(b.severity === 'error') - Number(a.severity === 'error'))
149
+ : [];
150
+ return {
151
+ ...status,
152
+ ...(minimalErrors ? {} : { issues }),
153
+ ...(check
154
+ ? {
155
+ messageCount: check.messages.length,
156
+ ...(minimalErrors
157
+ ? {}
158
+ : {
159
+ ...(check.statusText ? { statusText: check.statusText.slice(0, 1000) } : {}),
160
+ messages: prioritized.slice(0, 20).map(({ severity, text, line, column, code, t100 }) => ({
161
+ severity,
162
+ text: text.slice(0, 1000),
163
+ line,
164
+ column,
165
+ ...(code ? { code: code.slice(0, 100) } : {}),
166
+ ...(t100 ? { t100: { id: t100.id.slice(0, 100), number: t100.number.slice(0, 10) } } : {}),
167
+ })),
168
+ }),
169
+ }
170
+ : {}),
171
+ };
172
+ }
173
+ //# sourceMappingURL=uiad.js.map