arc-1 0.9.25 → 1.0.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 (332) hide show
  1. package/README.md +29 -12
  2. package/dist/adt/abapgit.d.ts +19 -6
  3. package/dist/adt/abapgit.d.ts.map +1 -1
  4. package/dist/adt/abapgit.js +141 -36
  5. package/dist/adt/abapgit.js.map +1 -1
  6. package/dist/adt/authorization-trace.d.ts +23 -0
  7. package/dist/adt/authorization-trace.d.ts.map +1 -0
  8. package/dist/adt/authorization-trace.js +196 -0
  9. package/dist/adt/authorization-trace.js.map +1 -0
  10. package/dist/adt/client.d.ts +21 -8
  11. package/dist/adt/client.d.ts.map +1 -1
  12. package/dist/adt/client.js +47 -7
  13. package/dist/adt/client.js.map +1 -1
  14. package/dist/adt/config.d.ts +15 -0
  15. package/dist/adt/config.d.ts.map +1 -1
  16. package/dist/adt/config.js.map +1 -1
  17. package/dist/adt/crud.d.ts +7 -2
  18. package/dist/adt/crud.d.ts.map +1 -1
  19. package/dist/adt/crud.js +12 -4
  20. package/dist/adt/crud.js.map +1 -1
  21. package/dist/adt/ddic-xml.d.ts +27 -17
  22. package/dist/adt/ddic-xml.d.ts.map +1 -1
  23. package/dist/adt/ddic-xml.js +45 -34
  24. package/dist/adt/ddic-xml.js.map +1 -1
  25. package/dist/adt/devtools.d.ts +13 -0
  26. package/dist/adt/devtools.d.ts.map +1 -1
  27. package/dist/adt/devtools.js +120 -50
  28. package/dist/adt/devtools.js.map +1 -1
  29. package/dist/adt/diagnostics.d.ts +1 -1
  30. package/dist/adt/diagnostics.d.ts.map +1 -1
  31. package/dist/adt/diagnostics.js +1 -0
  32. package/dist/adt/diagnostics.js.map +1 -1
  33. package/dist/adt/errors.d.ts +8 -8
  34. package/dist/adt/errors.d.ts.map +1 -1
  35. package/dist/adt/errors.js +30 -11
  36. package/dist/adt/errors.js.map +1 -1
  37. package/dist/adt/http.d.ts +17 -1
  38. package/dist/adt/http.d.ts.map +1 -1
  39. package/dist/adt/http.js +102 -19
  40. package/dist/adt/http.js.map +1 -1
  41. package/dist/adt/oauth.d.ts +2 -2
  42. package/dist/adt/oauth.d.ts.map +1 -1
  43. package/dist/adt/oauth.js +5 -3
  44. package/dist/adt/oauth.js.map +1 -1
  45. package/dist/adt/package-hierarchy.d.ts.map +1 -1
  46. package/dist/adt/package-hierarchy.js.map +1 -1
  47. package/dist/adt/rap-generate.js.map +1 -1
  48. package/dist/adt/rap-handlers.js.map +1 -1
  49. package/dist/adt/rap-preflight.js.map +1 -1
  50. package/dist/adt/safety.d.ts +13 -13
  51. package/dist/adt/safety.d.ts.map +1 -1
  52. package/dist/adt/semaphore.d.ts.map +1 -1
  53. package/dist/adt/server-driven.d.ts +154 -34
  54. package/dist/adt/server-driven.d.ts.map +1 -1
  55. package/dist/adt/server-driven.js +178 -53
  56. package/dist/adt/server-driven.js.map +1 -1
  57. package/dist/adt/structure-hierarchy.js.map +1 -1
  58. package/dist/adt/transport.d.ts +6 -6
  59. package/dist/adt/transport.d.ts.map +1 -1
  60. package/dist/adt/transport.js +23 -34
  61. package/dist/adt/transport.js.map +1 -1
  62. package/dist/adt/types.d.ts +94 -6
  63. package/dist/adt/types.d.ts.map +1 -1
  64. package/dist/adt/version-diff.js.map +1 -1
  65. package/dist/adt/xml-parser.d.ts +52 -12
  66. package/dist/adt/xml-parser.d.ts.map +1 -1
  67. package/dist/adt/xml-parser.js +120 -10
  68. package/dist/adt/xml-parser.js.map +1 -1
  69. package/dist/aff/validator.js.map +1 -1
  70. package/dist/authz/policy.d.ts +8 -0
  71. package/dist/authz/policy.d.ts.map +1 -1
  72. package/dist/authz/policy.js +24 -0
  73. package/dist/authz/policy.js.map +1 -1
  74. package/dist/cache/cache.d.ts +4 -36
  75. package/dist/cache/cache.d.ts.map +1 -1
  76. package/dist/cache/cache.js +4 -5
  77. package/dist/cache/cache.js.map +1 -1
  78. package/dist/cache/caching-layer.d.ts +6 -22
  79. package/dist/cache/caching-layer.d.ts.map +1 -1
  80. package/dist/cache/caching-layer.js +5 -29
  81. package/dist/cache/caching-layer.js.map +1 -1
  82. package/dist/cache/inactive-list-cache.d.ts.map +1 -1
  83. package/dist/cache/memory.d.ts +2 -13
  84. package/dist/cache/memory.d.ts.map +1 -1
  85. package/dist/cache/memory.js +1 -70
  86. package/dist/cache/memory.js.map +1 -1
  87. package/dist/cache/sqlite.d.ts +3 -10
  88. package/dist/cache/sqlite.d.ts.map +1 -1
  89. package/dist/cache/sqlite.js +9 -85
  90. package/dist/cache/sqlite.js.map +1 -1
  91. package/dist/cli.js +6 -3
  92. package/dist/cli.js.map +1 -1
  93. package/dist/context/compressor.js.map +1 -1
  94. package/dist/context/grep.js.map +1 -1
  95. package/dist/context/unit-surgery.d.ts +28 -0
  96. package/dist/context/unit-surgery.d.ts.map +1 -0
  97. package/dist/context/unit-surgery.js +150 -0
  98. package/dist/context/unit-surgery.js.map +1 -0
  99. package/dist/extract-sap-cookies.js.map +1 -1
  100. package/dist/handlers/activate.d.ts.map +1 -1
  101. package/dist/handlers/activate.js +44 -6
  102. package/dist/handlers/activate.js.map +1 -1
  103. package/dist/handlers/context.d.ts +1 -1
  104. package/dist/handlers/context.d.ts.map +1 -1
  105. package/dist/handlers/context.js +98 -28
  106. package/dist/handlers/context.js.map +1 -1
  107. package/dist/handlers/diagnose.d.ts.map +1 -1
  108. package/dist/handlers/diagnose.js +74 -31
  109. package/dist/handlers/diagnose.js.map +1 -1
  110. package/dist/handlers/dispatch.d.ts +12 -1
  111. package/dist/handlers/dispatch.d.ts.map +1 -1
  112. package/dist/handlers/dispatch.js +160 -25
  113. package/dist/handlers/dispatch.js.map +1 -1
  114. package/dist/handlers/feature-cache.d.ts +27 -14
  115. package/dist/handlers/feature-cache.d.ts.map +1 -1
  116. package/dist/handlers/feature-cache.js +63 -25
  117. package/dist/handlers/feature-cache.js.map +1 -1
  118. package/dist/handlers/function-processing.d.ts +61 -0
  119. package/dist/handlers/function-processing.d.ts.map +1 -0
  120. package/dist/handlers/function-processing.js +45 -0
  121. package/dist/handlers/function-processing.js.map +1 -0
  122. package/dist/handlers/git.d.ts.map +1 -1
  123. package/dist/handlers/git.js +44 -19
  124. package/dist/handlers/git.js.map +1 -1
  125. package/dist/handlers/hyperfocused.d.ts.map +1 -1
  126. package/dist/handlers/hyperfocused.js +2 -3
  127. package/dist/handlers/hyperfocused.js.map +1 -1
  128. package/dist/handlers/lint.d.ts.map +1 -1
  129. package/dist/handlers/lint.js +7 -7
  130. package/dist/handlers/lint.js.map +1 -1
  131. package/dist/handlers/manage.d.ts.map +1 -1
  132. package/dist/handlers/manage.js +47 -28
  133. package/dist/handlers/manage.js.map +1 -1
  134. package/dist/handlers/navigate.d.ts.map +1 -1
  135. package/dist/handlers/navigate.js +27 -90
  136. package/dist/handlers/navigate.js.map +1 -1
  137. package/dist/handlers/object-types.d.ts +2 -0
  138. package/dist/handlers/object-types.d.ts.map +1 -1
  139. package/dist/handlers/object-types.js +10 -0
  140. package/dist/handlers/object-types.js.map +1 -1
  141. package/dist/handlers/query-errors.d.ts +11 -0
  142. package/dist/handlers/query-errors.d.ts.map +1 -0
  143. package/dist/handlers/query-errors.js +216 -0
  144. package/dist/handlers/query-errors.js.map +1 -0
  145. package/dist/handlers/query.d.ts.map +1 -1
  146. package/dist/handlers/query.js +62 -67
  147. package/dist/handlers/query.js.map +1 -1
  148. package/dist/handlers/read.d.ts.map +1 -1
  149. package/dist/handlers/read.js +64 -41
  150. package/dist/handlers/read.js.map +1 -1
  151. package/dist/handlers/schemas.d.ts +285 -234
  152. package/dist/handlers/schemas.d.ts.map +1 -1
  153. package/dist/handlers/schemas.js +126 -32
  154. package/dist/handlers/schemas.js.map +1 -1
  155. package/dist/handlers/search.d.ts.map +1 -1
  156. package/dist/handlers/search.js +8 -7
  157. package/dist/handlers/search.js.map +1 -1
  158. package/dist/handlers/shared.d.ts +13 -0
  159. package/dist/handlers/shared.d.ts.map +1 -1
  160. package/dist/handlers/shared.js +15 -0
  161. package/dist/handlers/shared.js.map +1 -1
  162. package/dist/handlers/tool-descriptions.d.ts +4 -0
  163. package/dist/handlers/tool-descriptions.d.ts.map +1 -0
  164. package/dist/handlers/tool-descriptions.js +52 -0
  165. package/dist/handlers/tool-descriptions.js.map +1 -0
  166. package/dist/handlers/tool-registry.d.ts +20 -6
  167. package/dist/handlers/tool-registry.d.ts.map +1 -1
  168. package/dist/handlers/tool-registry.js +18 -0
  169. package/dist/handlers/tool-registry.js.map +1 -1
  170. package/dist/handlers/tools.d.ts.map +1 -1
  171. package/dist/handlers/tools.js +124 -92
  172. package/dist/handlers/tools.js.map +1 -1
  173. package/dist/handlers/transport.d.ts +1 -1
  174. package/dist/handlers/transport.d.ts.map +1 -1
  175. package/dist/handlers/transport.js +37 -10
  176. package/dist/handlers/transport.js.map +1 -1
  177. package/dist/handlers/where-used.d.ts +25 -0
  178. package/dist/handlers/where-used.d.ts.map +1 -0
  179. package/dist/handlers/where-used.js +94 -0
  180. package/dist/handlers/where-used.js.map +1 -0
  181. package/dist/handlers/write/class-surgery.d.ts.map +1 -1
  182. package/dist/handlers/write/class-surgery.js +11 -12
  183. package/dist/handlers/write/class-surgery.js.map +1 -1
  184. package/dist/handlers/write/create.d.ts.map +1 -1
  185. package/dist/handlers/write/create.js +194 -84
  186. package/dist/handlers/write/create.js.map +1 -1
  187. package/dist/handlers/write/rap.d.ts.map +1 -1
  188. package/dist/handlers/write/rap.js +9 -9
  189. package/dist/handlers/write/rap.js.map +1 -1
  190. package/dist/handlers/write/unit-surgery.d.ts +5 -0
  191. package/dist/handlers/write/unit-surgery.d.ts.map +1 -0
  192. package/dist/handlers/write/unit-surgery.js +47 -0
  193. package/dist/handlers/write/unit-surgery.js.map +1 -0
  194. package/dist/handlers/write/update-delete.js +8 -8
  195. package/dist/handlers/write/update-delete.js.map +1 -1
  196. package/dist/handlers/write-helpers.d.ts +7 -4
  197. package/dist/handlers/write-helpers.d.ts.map +1 -1
  198. package/dist/handlers/write-helpers.js +118 -63
  199. package/dist/handlers/write-helpers.js.map +1 -1
  200. package/dist/handlers/write.d.ts.map +1 -1
  201. package/dist/handlers/write.js +35 -13
  202. package/dist/handlers/write.js.map +1 -1
  203. package/dist/lint/config-builder.js.map +1 -1
  204. package/dist/lint/lint.d.ts.map +1 -1
  205. package/dist/lint/lint.js +4 -2
  206. package/dist/lint/lint.js.map +1 -1
  207. package/dist/probe/catalog.js +1 -1
  208. package/dist/probe/catalog.js.map +1 -1
  209. package/dist/public/testing.js.map +1 -1
  210. package/dist/public/ui/app.js +1 -14
  211. package/dist/registry/tool-registry.d.ts.map +1 -1
  212. package/dist/server/audit.d.ts +27 -15
  213. package/dist/server/audit.d.ts.map +1 -1
  214. package/dist/server/audit.js.map +1 -1
  215. package/dist/server/auth-rate-limit.d.ts +18 -9
  216. package/dist/server/auth-rate-limit.d.ts.map +1 -1
  217. package/dist/server/auth-rate-limit.js +31 -6
  218. package/dist/server/auth-rate-limit.js.map +1 -1
  219. package/dist/server/auth-summary.d.ts +4 -0
  220. package/dist/server/auth-summary.d.ts.map +1 -0
  221. package/dist/server/auth-summary.js +67 -0
  222. package/dist/server/auth-summary.js.map +1 -0
  223. package/dist/server/config.d.ts.map +1 -1
  224. package/dist/server/config.js +110 -7
  225. package/dist/server/config.js.map +1 -1
  226. package/dist/server/context.d.ts +12 -0
  227. package/dist/server/context.d.ts.map +1 -1
  228. package/dist/server/context.js.map +1 -1
  229. package/dist/server/destination-discovery.d.ts +36 -0
  230. package/dist/server/destination-discovery.d.ts.map +1 -0
  231. package/dist/server/destination-discovery.js +130 -0
  232. package/dist/server/destination-discovery.js.map +1 -0
  233. package/dist/server/destination-registry.d.ts +111 -0
  234. package/dist/server/destination-registry.d.ts.map +1 -0
  235. package/dist/server/destination-registry.js +449 -0
  236. package/dist/server/destination-registry.js.map +1 -0
  237. package/dist/server/http.d.ts +43 -1
  238. package/dist/server/http.d.ts.map +1 -1
  239. package/dist/server/http.js +283 -73
  240. package/dist/server/http.js.map +1 -1
  241. package/dist/server/logger.d.ts.map +1 -1
  242. package/dist/server/logger.js +58 -13
  243. package/dist/server/logger.js.map +1 -1
  244. package/dist/server/mcp-rate-limit.d.ts +6 -4
  245. package/dist/server/mcp-rate-limit.d.ts.map +1 -1
  246. package/dist/server/mcp-rate-limit.js +6 -4
  247. package/dist/server/mcp-rate-limit.js.map +1 -1
  248. package/dist/server/multi-target-basic-auth.d.ts +49 -0
  249. package/dist/server/multi-target-basic-auth.d.ts.map +1 -0
  250. package/dist/server/multi-target-basic-auth.js +246 -0
  251. package/dist/server/multi-target-basic-auth.js.map +1 -0
  252. package/dist/server/multi-target-catalog.d.ts +33 -0
  253. package/dist/server/multi-target-catalog.d.ts.map +1 -0
  254. package/dist/server/multi-target-catalog.js +130 -0
  255. package/dist/server/multi-target-catalog.js.map +1 -0
  256. package/dist/server/multi-target-destination-config.d.ts +12 -0
  257. package/dist/server/multi-target-destination-config.d.ts.map +1 -0
  258. package/dist/server/multi-target-destination-config.js +37 -0
  259. package/dist/server/multi-target-destination-config.js.map +1 -0
  260. package/dist/server/multi-target-destination-runtime.d.ts +20 -0
  261. package/dist/server/multi-target-destination-runtime.d.ts.map +1 -0
  262. package/dist/server/multi-target-destination-runtime.js +191 -0
  263. package/dist/server/multi-target-destination-runtime.js.map +1 -0
  264. package/dist/server/multi-target-feature-state.d.ts +6 -0
  265. package/dist/server/multi-target-feature-state.d.ts.map +1 -0
  266. package/dist/server/multi-target-feature-state.js +41 -0
  267. package/dist/server/multi-target-feature-state.js.map +1 -0
  268. package/dist/server/multi-target-identity.d.ts +10 -0
  269. package/dist/server/multi-target-identity.d.ts.map +1 -0
  270. package/dist/server/multi-target-identity.js +18 -0
  271. package/dist/server/multi-target-identity.js.map +1 -0
  272. package/dist/server/multi-target-runtime.d.ts +27 -0
  273. package/dist/server/multi-target-runtime.d.ts.map +1 -0
  274. package/dist/server/multi-target-runtime.js +110 -0
  275. package/dist/server/multi-target-runtime.js.map +1 -0
  276. package/dist/server/multi-target-server.d.ts +53 -0
  277. package/dist/server/multi-target-server.d.ts.map +1 -0
  278. package/dist/server/multi-target-server.js +434 -0
  279. package/dist/server/multi-target-server.js.map +1 -0
  280. package/dist/server/multi-target-shared-auth-state.d.ts +82 -0
  281. package/dist/server/multi-target-shared-auth-state.d.ts.map +1 -0
  282. package/dist/server/multi-target-shared-auth-state.js +226 -0
  283. package/dist/server/multi-target-shared-auth-state.js.map +1 -0
  284. package/dist/server/multi-target-tools.d.ts +20 -0
  285. package/dist/server/multi-target-tools.d.ts.map +1 -0
  286. package/dist/server/multi-target-tools.js +191 -0
  287. package/dist/server/multi-target-tools.js.map +1 -0
  288. package/dist/server/oauth-session-recovery.d.ts +22 -0
  289. package/dist/server/oauth-session-recovery.d.ts.map +1 -0
  290. package/dist/server/oauth-session-recovery.js +69 -0
  291. package/dist/server/oauth-session-recovery.js.map +1 -0
  292. package/dist/server/server.d.ts +47 -25
  293. package/dist/server/server.d.ts.map +1 -1
  294. package/dist/server/server.js +490 -301
  295. package/dist/server/server.js.map +1 -1
  296. package/dist/server/sinks/btp-auditlog.d.ts.map +1 -1
  297. package/dist/server/sinks/btp-auditlog.js +83 -11
  298. package/dist/server/sinks/btp-auditlog.js.map +1 -1
  299. package/dist/server/sinks/file.d.ts.map +1 -1
  300. package/dist/server/sinks/file.js.map +1 -1
  301. package/dist/server/sinks/stderr.d.ts.map +1 -1
  302. package/dist/server/sinks/stderr.js.map +1 -1
  303. package/dist/server/tool-auth.d.ts +10 -0
  304. package/dist/server/tool-auth.d.ts.map +1 -0
  305. package/dist/server/tool-auth.js +75 -0
  306. package/dist/server/tool-auth.js.map +1 -0
  307. package/dist/server/trace-context.d.ts +51 -0
  308. package/dist/server/trace-context.d.ts.map +1 -0
  309. package/dist/server/trace-context.js +100 -0
  310. package/dist/server/trace-context.js.map +1 -0
  311. package/dist/server/types.d.ts +28 -7
  312. package/dist/server/types.d.ts.map +1 -1
  313. package/dist/server/types.js +5 -2
  314. package/dist/server/types.js.map +1 -1
  315. package/dist/server/ui-log-buffer.d.ts.map +1 -1
  316. package/dist/server/ui-log-buffer.js.map +1 -1
  317. package/dist/server/ui-state.d.ts +0 -2
  318. package/dist/server/ui-state.d.ts.map +1 -1
  319. package/dist/server/ui-state.js +2 -6
  320. package/dist/server/ui-state.js.map +1 -1
  321. package/dist/server/ui.d.ts.map +1 -1
  322. package/dist/server/ui.js +8 -9
  323. package/dist/server/ui.js.map +1 -1
  324. package/package.json +21 -18
  325. package/dist/cache/warmup.d.ts +0 -41
  326. package/dist/cache/warmup.d.ts.map +0 -1
  327. package/dist/cache/warmup.js +0 -337
  328. package/dist/cache/warmup.js.map +0 -1
  329. package/dist/server/elicit.d.ts +0 -43
  330. package/dist/server/elicit.d.ts.map +0 -1
  331. package/dist/server/elicit.js +0 -183
  332. package/dist/server/elicit.js.map +0 -1
@@ -2,11 +2,12 @@
2
2
  * SAPDiagnose handler — runtime diagnostics: short dumps (ST22), traces, gateway errors, object
3
3
  * state, ATC, unit tests, CDS test cases.
4
4
  */
5
- import { applyFixProposal, getCdsTestCases, getFixProposals, runAtcCheck, runUnitTests, supportsCdsTestCases, syntaxCheck, } from '../adt/devtools.js';
6
- import { createTraceRequest, deleteTraceRequest, getCdsCreateStatements, getDump, getGatewayErrorDetail, getObjectState, getSqlTraceDirectory, getSqlTraceState, getTraceDbAccesses, getTraceHitlist, getTraceStatements, listDumps, listGatewayErrors, listSystemMessages, listTraceRequests, listTraces, probeODataPerformance, setSqlTraceState, } from '../adt/diagnostics.js';
5
+ import { applyFixProposal, getAtcSystemDefaultVariant, getCdsTestCases, getFixProposals, listAtcVariants, runAtcCheck, runUnitTests, supportsCdsTestCases, syntaxCheck, } from '../adt/devtools.js';
6
+ import { createTraceRequest, deleteTraceRequest, getAuthorizationTrace, getCdsCreateStatements, getDump, getGatewayErrorDetail, getObjectState, getSqlTraceDirectory, getSqlTraceState, getTraceDbAccesses, getTraceHitlist, getTraceStatements, listDumps, listGatewayErrors, listSystemMessages, listTraceRequests, listTraces, probeODataPerformance, setSqlTraceState, } from '../adt/diagnostics.js';
7
+ import { AdtApiError } from '../adt/errors.js';
7
8
  import { isBtpSystem } from './feature-cache.js';
8
9
  import { classIncludeUrl, normalizeObjectType, objectUrlForType, sourceUrlForType } from './object-types.js';
9
- import { errorResult, textResult } from './shared.js';
10
+ import { errorResult, textResult, toolJson } from './shared.js';
10
11
  export async function handleSAPDiagnose(client, args) {
11
12
  const action = String(args.action ?? '');
12
13
  const name = String(args.name ?? '');
@@ -22,7 +23,7 @@ export async function handleSAPDiagnose(client, args) {
22
23
  if (content !== undefined)
23
24
  opts.content = content;
24
25
  const result = await syntaxCheck(client.http, client.safety, objectUrl, Object.keys(opts).length > 0 ? opts : undefined);
25
- return textResult(JSON.stringify(result, null, 2));
26
+ return textResult(toolJson(result));
26
27
  }
27
28
  case 'unittest': {
28
29
  const objectUrl = objectUrlForType(type, name);
@@ -30,20 +31,44 @@ export async function handleSAPDiagnose(client, args) {
30
31
  const result = await runUnitTests(client.http, client.safety, objectUrl, { coverage });
31
32
  // Default (no coverage) keeps the historical array output; coverage requested → {tests, coverage}.
32
33
  if (!coverage)
33
- return textResult(JSON.stringify(result.tests, null, 2));
34
+ return textResult(toolJson(result.tests));
34
35
  const out = { tests: result.tests };
35
36
  if (result.coverage)
36
37
  out.coverage = result.coverage;
37
38
  else
38
39
  out.coverageNote =
39
40
  'Coverage unavailable on this system (the coverage-measurement endpoint or measurement result was not available).';
40
- return textResult(JSON.stringify(out, null, 2));
41
+ return textResult(toolJson(out));
41
42
  }
42
43
  case 'atc': {
43
44
  const objectUrl = objectUrlForType(type, name);
44
45
  const variant = args.variant;
45
46
  const result = await runAtcCheck(client.http, client.safety, objectUrl, variant);
46
- return textResult(JSON.stringify(result, null, 2));
47
+ return textResult(toolJson(result));
48
+ }
49
+ case 'atc_variants': {
50
+ // Discover which check variant to pass to action="atc": the system default (used when none is
51
+ // given) + the available variants. `variant` doubles as an optional name filter (default all).
52
+ // Trim/normalize so the echoed `filter` matches what listAtcVariants actually queries.
53
+ const filter = args.variant?.trim() || '*';
54
+ // The variant list is the core result; the system default is a best-effort annotation. Only
55
+ // swallow "endpoint absent / not negotiable" (404/406) — a system that simply doesn't expose
56
+ // /atc/customizing still gives a useful list. Auth (401/403), 5xx, and network failures are
57
+ // real problems and must surface, not masquerade as a null default (would hide a regression).
58
+ const [systemDefault, variants] = await Promise.all([
59
+ getAtcSystemDefaultVariant(client.http, client.safety).catch((err) => {
60
+ if (err instanceof AdtApiError && (err.statusCode === 404 || err.statusCode === 406))
61
+ return undefined;
62
+ throw err;
63
+ }),
64
+ listAtcVariants(client.http, client.safety, filter),
65
+ ]);
66
+ return textResult(toolJson({
67
+ systemDefault: systemDefault ?? null,
68
+ filter,
69
+ count: variants.length,
70
+ variants: variants.map((v) => ({ name: v.name, description: v.description })),
71
+ }));
47
72
  }
48
73
  case 'cds_testcases': {
49
74
  // SAP-suggested ABAP Unit test cases for a CDS entity (CDS Test Double Framework).
@@ -66,7 +91,7 @@ export async function handleSAPDiagnose(client, args) {
66
91
  'then implement one FOR TESTING method per case (insert_test_data for the doubled sources, ' +
67
92
  'assert with cl_abap_unit_assert). AI testdata/testmethod generation is not exposed.',
68
93
  };
69
- return textResult(JSON.stringify(payload, null, 2));
94
+ return textResult(toolJson(payload));
70
95
  }
71
96
  case 'object_state': {
72
97
  if (!name || !type)
@@ -81,7 +106,7 @@ export async function handleSAPDiagnose(client, args) {
81
106
  ]
82
107
  : [{ section: 'main', uri: sourceUrlForType(type, name) }];
83
108
  const result = await getObjectState(client.http, client.safety, { type, name, sections });
84
- return textResult(JSON.stringify(result, null, 2));
109
+ return textResult(toolJson(result));
85
110
  }
86
111
  case 'quickfix': {
87
112
  const source = args.source;
@@ -99,7 +124,7 @@ export async function handleSAPDiagnose(client, args) {
99
124
  if (!Number.isFinite(column))
100
125
  return errorResult('"column" must be a number for "quickfix" action.');
101
126
  const proposals = await getFixProposals(client.http, client.safety, sourceUri ?? sourceUrlForType(type, name), source, line, column);
102
- return textResult(JSON.stringify(proposals, null, 2));
127
+ return textResult(toolJson(proposals));
103
128
  }
104
129
  case 'apply_quickfix': {
105
130
  const source = args.source;
@@ -131,7 +156,7 @@ export async function handleSAPDiagnose(client, args) {
131
156
  userContent: proposalUserContent,
132
157
  ...(proposalAffectedObjects ? { affectedObjects: proposalAffectedObjects } : {}),
133
158
  }, sourceUri ?? sourceUrlForType(type, name), source, line, column);
134
- return textResult(JSON.stringify(deltas, null, 2));
159
+ return textResult(toolJson(deltas));
135
160
  }
136
161
  case 'dumps': {
137
162
  const id = args.id;
@@ -159,12 +184,12 @@ export async function handleSAPDiagnose(client, args) {
159
184
  if (includeFullText) {
160
185
  payload.formattedText = detail.formattedText;
161
186
  }
162
- return textResult(JSON.stringify(payload, null, 2));
187
+ return textResult(toolJson(payload));
163
188
  }
164
189
  const user = args.user;
165
190
  const maxResults = args.maxResults ? Number(args.maxResults) : undefined;
166
191
  const dumps = await listDumps(client.http, client.safety, { user, maxResults });
167
- return textResult(JSON.stringify(dumps, null, 2));
192
+ return textResult(toolJson(dumps));
168
193
  }
169
194
  case 'traces': {
170
195
  const id = args.id;
@@ -174,15 +199,15 @@ export async function handleSAPDiagnose(client, args) {
174
199
  switch (analysis) {
175
200
  case 'hitlist': {
176
201
  const hitlist = await getTraceHitlist(client.http, client.safety, id);
177
- return textResult(JSON.stringify(hitlist, null, 2));
202
+ return textResult(toolJson(hitlist));
178
203
  }
179
204
  case 'statements': {
180
205
  const statements = await getTraceStatements(client.http, client.safety, id);
181
- return textResult(JSON.stringify(statements, null, 2));
206
+ return textResult(toolJson(statements));
182
207
  }
183
208
  case 'dbAccesses': {
184
209
  const dbAccesses = await getTraceDbAccesses(client.http, client.safety, id);
185
- return textResult(JSON.stringify(dbAccesses, null, 2));
210
+ return textResult(toolJson(dbAccesses));
186
211
  }
187
212
  default:
188
213
  return errorResult(`Unknown trace analysis type: ${analysis}. Supported: hitlist, statements, dbAccesses`);
@@ -190,7 +215,7 @@ export async function handleSAPDiagnose(client, args) {
190
215
  }
191
216
  // List traces
192
217
  const traces = await listTraces(client.http, client.safety);
193
- return textResult(JSON.stringify(traces, null, 2));
218
+ return textResult(toolJson(traces));
194
219
  }
195
220
  case 'trace_start': {
196
221
  const opts = {};
@@ -211,23 +236,23 @@ export async function handleSAPDiagnose(client, args) {
211
236
  if (args.description !== undefined)
212
237
  opts.description = String(args.description);
213
238
  const request = await createTraceRequest(client.http, client.safety, client.username, client.sapClient, opts);
214
- return textResult(JSON.stringify({
239
+ return textResult(toolJson({
215
240
  armed: true,
216
241
  request,
217
242
  next: 'Reproduce the slow action (e.g. the OData call) as this user PROMPTLY — an http request captures the user\'s very next matching HTTP call, so avoid other ARC-1 calls in between (they would consume it). Then SAPDiagnose(action="traces") with no id to list recorded traces, find the new trace id, and read it with analysis="dbAccesses". Note: for an HTTP/OData trace, dbAccesses lists the tables the request touched but SAP returns no per-statement SQL text/timing here (hitlist/statements are usually empty); for the actual slow SQL + duration + plan use ST05 in SAP GUI. The profiler trace is richest for dialog/report/RFC traces of ABAP-side code.',
218
- }, null, 2));
243
+ }));
219
244
  }
220
245
  case 'trace_requests': {
221
246
  const user = args.traceUser ?? args.user ?? client.username;
222
247
  const requests = await listTraceRequests(client.http, client.safety, user);
223
- return textResult(JSON.stringify(requests, null, 2));
248
+ return textResult(toolJson(requests));
224
249
  }
225
250
  case 'trace_cancel': {
226
251
  const id = args.id;
227
252
  if (!id)
228
253
  return errorResult('trace_cancel requires "id" (from trace_start or trace_requests).');
229
254
  await deleteTraceRequest(client.http, client.safety, id);
230
- return textResult(JSON.stringify({ cancelled: true, id }, null, 2));
255
+ return textResult(toolJson({ cancelled: true, id }));
231
256
  }
232
257
  case 'system_messages': {
233
258
  const user = args.user;
@@ -235,7 +260,7 @@ export async function handleSAPDiagnose(client, args) {
235
260
  const from = args.from;
236
261
  const to = args.to;
237
262
  const messages = await listSystemMessages(client.http, client.safety, { user, maxResults, from, to });
238
- return textResult(JSON.stringify(messages, null, 2));
263
+ return textResult(toolJson(messages));
239
264
  }
240
265
  case 'gateway_errors': {
241
266
  if (isBtpSystem()) {
@@ -250,10 +275,10 @@ export async function handleSAPDiagnose(client, args) {
250
275
  const errorType = args.errorType;
251
276
  if (detailUrl || id) {
252
277
  const detail = await getGatewayErrorDetail(client.http, client.safety, { detailUrl, id, errorType });
253
- return textResult(JSON.stringify(detail, null, 2));
278
+ return textResult(toolJson(detail));
254
279
  }
255
280
  const errors = await listGatewayErrors(client.http, client.safety, { user, maxResults, from, to });
256
- return textResult(JSON.stringify(errors, null, 2));
281
+ return textResult(toolJson(errors));
257
282
  }
258
283
  case 'odata_perf': {
259
284
  const url = String(args.url ?? '').trim();
@@ -261,18 +286,18 @@ export async function handleSAPDiagnose(client, args) {
261
286
  return errorResult('SAPDiagnose action="odata_perf" requires a "url" — the host-relative OData path from the Fiori app\'s Network tab (e.g. "/sap/opu/odata4/sap/.../Entity?$filter=..." or "/sap/opu/odata/sap/<SRV>/<EntitySet>?$top=20"). ARC-1 GETs it with ?sap-statistics=true and a wall-clock timer, then returns the server-side timing split + a routing verdict.');
262
287
  }
263
288
  const perf = await probeODataPerformance(client.http, client.safety, url);
264
- return textResult(JSON.stringify(perf, null, 2));
289
+ return textResult(toolJson(perf));
265
290
  }
266
291
  case 'cds_sql': {
267
292
  if (!name) {
268
293
  return errorResult('SAPDiagnose action="cds_sql" requires a "name" — the CDS DDL source (DDLS), e.g. "I_CURRENCY". Returns the native SQL CREATE VIEW statements the CDS view compiles to.');
269
294
  }
270
295
  const cdsSql = await getCdsCreateStatements(client.http, client.safety, name);
271
- return textResult(JSON.stringify(cdsSql, null, 2));
296
+ return textResult(toolJson(cdsSql));
272
297
  }
273
298
  case 'sql_trace_state': {
274
299
  const states = await getSqlTraceState(client.http, client.safety);
275
- return textResult(JSON.stringify(states, null, 2));
300
+ return textResult(toolJson(states));
276
301
  }
277
302
  case 'set_sql_trace_state': {
278
303
  if (args.sqlOn === undefined) {
@@ -281,19 +306,37 @@ export async function handleSAPDiagnose(client, args) {
281
306
  const sqlOn = args.sqlOn === true || String(args.sqlOn) === 'true';
282
307
  const traceUser = args.user !== undefined ? String(args.user) : undefined;
283
308
  const states = await setSqlTraceState(client.http, client.safety, { sqlOn, traceUser });
284
- return textResult(JSON.stringify({
309
+ return textResult(toolJson({
285
310
  states,
286
311
  next: sqlOn
287
312
  ? 'SQL trace armed. Reproduce the slow request, then call SAPDiagnose(action="sql_trace_directory") for the SQL Trace Analysis link, or read the generated SQL with SAPDiagnose(action="cds_sql").'
288
313
  : 'SQL trace disarmed.',
289
- }, null, 2));
314
+ }));
290
315
  }
291
316
  case 'sql_trace_directory': {
292
317
  const dir = await getSqlTraceDirectory(client.http, client.safety);
293
- return textResult(JSON.stringify(dir, null, 2));
318
+ return textResult(toolJson(dir));
319
+ }
320
+ case 'authorization_trace': {
321
+ const user = String(args.user ?? '').trim() || undefined;
322
+ const authObject = String(args.authObject ?? '').trim() || undefined;
323
+ const onlyFailures = args.onlyFailures === true || String(args.onlyFailures ?? '') === 'true';
324
+ const maxResults = args.maxResults === undefined ? undefined : Number(args.maxResults);
325
+ try {
326
+ const result = await getAuthorizationTrace(client, { user, authObject, onlyFailures, maxResults });
327
+ return textResult(toolJson(result));
328
+ }
329
+ catch (err) {
330
+ if (err instanceof AdtApiError && /Cannot find '/i.test(err.message)) {
331
+ return errorResult('Authorization trace not available on this system. It reads the on-prem STUSERTRACE table ' +
332
+ "SUAUTHVALTRC (SAP_BASIS 7.40 SP16+); on ABAP Cloud/Steampunk use the 'Display " +
333
+ "Authorization Trace' Fiori app. Requires SAP_ALLOW_DATA_PREVIEW.");
334
+ }
335
+ throw err;
336
+ }
294
337
  }
295
338
  default:
296
- return errorResult(`Unknown SAPDiagnose action: ${action}. Supported: syntax, unittest, atc, cds_testcases, object_state, quickfix, apply_quickfix, dumps, traces, trace_start, trace_requests, trace_cancel, system_messages, gateway_errors, odata_perf, cds_sql, sql_trace_state, set_sql_trace_state, sql_trace_directory`);
339
+ return errorResult(`Unknown SAPDiagnose action: ${action}. Supported: syntax, unittest, atc, atc_variants, cds_testcases, object_state, quickfix, apply_quickfix, dumps, traces, trace_start, trace_requests, trace_cancel, system_messages, gateway_errors, odata_perf, cds_sql, sql_trace_state, set_sql_trace_state, sql_trace_directory, authorization_trace`);
297
340
  }
298
341
  }
299
342
  function selectDumpSections(detail, requestedSections) {
@@ -1 +1 @@
1
- {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../src/handlers/diagnose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../src/handlers/diagnose.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,eAAe,EACf,eAAe,EACf,eAAe,EACf,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,OAAO,EACP,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQ/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAmB,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEjF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAiB,EAAE,IAA6B;IACtF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAE1D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ,EAAE,CAAC;YACd,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5G,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,MAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,MAAM,IAAI,GAA0D,EAAE,CAAC;YACvE,IAAI,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACpC,IAAI,OAAO,KAAK,SAAS;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,MAAM,EACb,SAAS,EACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;YACF,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,UAAU,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvF,mGAAmG;YACnG,IAAI,CAAC,QAAQ;gBAAE,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACzD,MAAM,GAAG,GAA4B,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YAC7D,IAAI,MAAM,CAAC,QAAQ;gBAAE,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;;gBAElD,GAAG,CAAC,YAAY;oBACd,kHAAkH,CAAC;YACvH,OAAO,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,KAAK,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAA6B,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACjF,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,cAAc,EAAE,CAAC;YACpB,8FAA8F;YAC9F,+FAA+F;YAC/F,uFAAuF;YACvF,MAAM,MAAM,GAAI,IAAI,CAAC,OAA8B,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;YACnE,4FAA4F;YAC5F,6FAA6F;YAC7F,4FAA4F;YAC5F,8FAA8F;YAC9F,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAClD,0BAA0B,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACnE,IAAI,GAAG,YAAY,WAAW,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC;wBAAE,OAAO,SAAS,CAAC;oBACvG,MAAM,GAAG,CAAC;gBACZ,CAAC,CAAC;gBACF,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;aACpD,CAAC,CAAC;YACH,OAAO,UAAU,CACf,QAAQ,CAAC;gBACP,aAAa,EAAE,aAAa,IAAI,IAAI;gBACpC,MAAM;gBACN,KAAK,EAAE,QAAQ,CAAC,MAAM;gBACtB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;aAC9E,CAAC,CACH,CAAC;QACJ,CAAC;QACD,KAAK,eAAe,EAAE,CAAC;YACrB,mFAAmF;YACnF,mFAAmF;YACnF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,WAAW,CAAC,6EAA6E,CAAC,CAAC;YACpG,CAAC;YACD,oFAAoF;YACpF,wFAAwF;YACxF,mFAAmF;YACnF,IAAI,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;gBAChD,OAAO,WAAW,CAChB,0FAA0F;oBACxF,4EAA4E,CAC/E,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG;gBACd,GAAG,MAAM;gBACT,IAAI,EACF,wCAAwC,MAAM,CAAC,GAAG,IAAI;oBACtD,oDAAoD,MAAM,CAAC,GAAG,sBAAsB;oBACpF,4FAA4F;oBAC5F,qFAAqF;aACxF,CAAC;YACF,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,WAAW,CAAC,2DAA2D,CAAC,CAAC;YACpG,MAAM,QAAQ,GACZ,IAAI,KAAK,MAAM;gBACb,CAAC,CAAC;oBACE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;oBACtD,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACrF,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,eAAe,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC7F,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC3E,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACtF;gBACH,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAE/D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC1F,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,UAAU,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,MAA4B,CAAC;YACjD,MAAM,SAAS,GAAG,IAAI,CAAC,SAA+B,CAAC;YACvD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,WAAW,CAAC,uDAAuD,CAAC,CAAC;YAChG,IAAI,CAAC,MAAM;gBAAE,OAAO,WAAW,CAAC,6CAA6C,CAAC,CAAC;YAC/E,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;gBAAE,OAAO,WAAW,CAAC,2CAA2C,CAAC,CAAC;YAEvF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,WAAW,CAAC,gDAAgD,CAAC,CAAC;YACjG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,WAAW,CAAC,kDAAkD,CAAC,CAAC;YAErG,MAAM,SAAS,GAAG,MAAM,eAAe,CACrC,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,MAAM,EACb,SAAS,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,EACzC,MAAM,EACN,IAAI,EACJ,MAAM,CACP,CAAC;YACF,OAAO,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,gBAAgB,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAA4B,CAAC;YACjD,MAAM,SAAS,GAAG,IAAI,CAAC,SAA+B,CAAC;YACvD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAiC,CAAC;YAC3D,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAyC,CAAC;YAC3E,MAAM,uBAAuB,GAAG,IAAI,CAAC,uBAA0D,CAAC;YAChG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,WAAW,CAAC,6DAA6D,CAAC,CAAC;YACtG,IAAI,CAAC,MAAM;gBAAE,OAAO,WAAW,CAAC,mDAAmD,CAAC,CAAC;YACrF,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;gBAAE,OAAO,WAAW,CAAC,iDAAiD,CAAC,CAAC;YAC7F,IAAI,CAAC,WAAW;gBAAE,OAAO,WAAW,CAAC,wDAAwD,CAAC,CAAC;YAC/F,IAAI,mBAAmB,KAAK,SAAS;gBACnC,OAAO,WAAW,CAAC,gEAAgE,CAAC,CAAC;YAEvF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,WAAW,CAAC,sDAAsD,CAAC,CAAC;YACvG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,WAAW,CAAC,wDAAwD,CAAC,CAAC;YAE3G,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,MAAM,EACb;gBACE,GAAG,EAAE,WAAW;gBAChB,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,mBAAmB;gBAChC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjF,EACD,SAAS,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,EACzC,MAAM,EACN,IAAI,EACJ,MAAM,CACP,CAAC;YACF,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,OAAO,EAAE,CAAC;YACb,MAAM,EAAE,GAAG,IAAI,CAAC,EAAwB,CAAC;YACzC,IAAI,EAAE,EAAE,CAAC;gBACP,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;gBACvG,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEnE,MAAM,OAAO,GAA4B;oBACvC,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,QAAQ,EAAE,gBAAgB;oBAC1B,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;oBACjD,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;wBACnD,EAAE,EAAE,OAAO,CAAC,IAAI;wBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;qBACnB,CAAC,CAAC;iBACJ,CAAC;gBACF,IAAI,eAAe,EAAE,CAAC;oBACpB,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;gBAC/C,CAAC;gBACD,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;YAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YAChF,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,KAAK,QAAQ,EAAE,CAAC;YACd,MAAM,EAAE,GAAG,IAAI,CAAC,EAAwB,CAAC;YACzC,IAAI,EAAE,EAAE,CAAC;gBACP,qBAAqB;gBACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;gBACpD,QAAQ,QAAQ,EAAE,CAAC;oBACjB,KAAK,SAAS,EAAE,CAAC;wBACf,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBACtE,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;oBACvC,CAAC;oBACD,KAAK,YAAY,EAAE,CAAC;wBAClB,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBAC5E,OAAO,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC1C,CAAC;oBACD,KAAK,YAAY,EAAE,CAAC;wBAClB,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBAC5E,OAAO,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC1C,CAAC;oBACD;wBACE,OAAO,WAAW,CAAC,gCAAgC,QAAQ,8CAA8C,CAAC,CAAC;gBAC/G,CAAC;YACH,CAAC;YACD,cAAc;YACd,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5D,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,GAA8B,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAgC,CAAC;YAC7F,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAA8B,CAAC;YACzF,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBAAE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACtF,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;gBAAE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnF,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;YACxE,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;YAC3E,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChF,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC9G,OAAO,UAAU,CACf,QAAQ,CAAC;gBACP,KAAK,EAAE,IAAI;gBACX,OAAO;gBACP,IAAI,EAAE,0oBAA0oB;aACjpB,CAAC,CACH,CAAC;QACJ,CAAC;QACD,KAAK,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,GAAI,IAAI,CAAC,SAAgC,IAAK,IAAI,CAAC,IAA2B,IAAI,MAAM,CAAC,QAAQ,CAAC;YAC5G,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3E,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,cAAc,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAwB,CAAC;YACzC,IAAI,CAAC,EAAE;gBAAE,OAAO,WAAW,CAAC,kEAAkE,CAAC,CAAC;YAChG,MAAM,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACzD,OAAO,UAAU,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;YAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;YAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAwB,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACtG,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,gBAAgB,EAAE,CAAC;YACtB,IAAI,WAAW,EAAE,EAAE,CAAC;gBAClB,OAAO,WAAW,CAChB,qGAAqG,CACtG,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;YAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;YAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAwB,CAAC;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAA+B,CAAC;YACvD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAwB,CAAC;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAA+B,CAAC;YAEvD,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBACrG,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACnG,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,YAAY,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,WAAW,CAChB,yVAAyV,CAC1V,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1E,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,WAAW,CAChB,wKAAwK,CACzK,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC9E,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,iBAAiB,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAClE,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,qBAAqB,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,WAAW,CAChB,sSAAsS,CACvS,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;YACnE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACxF,OAAO,UAAU,CACf,QAAQ,CAAC;gBACP,MAAM;gBACN,IAAI,EAAE,KAAK;oBACT,CAAC,CAAC,iMAAiM;oBACnM,CAAC,CAAC,qBAAqB;aAC1B,CAAC,CACH,CAAC;QACJ,CAAC;QACD,KAAK,qBAAqB,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACnE,OAAO,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,qBAAqB,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;YACzD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;YACrE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;YAC9F,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEvF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;gBACnG,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,WAAW,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrE,OAAO,WAAW,CAChB,2FAA2F;wBACzF,gFAAgF;wBAChF,kEAAkE,CACrE,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD;YACE,OAAO,WAAW,CAChB,+BAA+B,MAAM,ySAAyS,CAC/U,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAkB,EAAE,iBAA0B;IACxE,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACpD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzC,MAAM,YAAY,GAAG,8BAA8B,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC/F,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjF,OAAO,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,8BAA8B,CAAC,MAAkB,EAAE,iBAA0B;IACpF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAAE,OAAO,EAAE,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,iBAAiB;SAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;SACjE,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5F,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAkB,EAAE,SAAiB;IACjE,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAC/D,IAAI,CAAC,mBAAmB;QAAE,OAAO,SAAS,CAAC;IAE3C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,mBAAmB,CAAC,EAAE,IAAI,CAAC;IACtH,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CACrC,CAAC,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,mBAAmB,CAC5E,EAAE,IAAI,CAAC;IACR,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAClD,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CACrE,EAAE,IAAI,CAAC;IACR,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAkB;IACnD,MAAM,MAAM,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IACtH,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAChC,CAAC,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAC/G,CAAC;QACF,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAEzC,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;SACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QAC9C,OAAO,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;IACzC,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;SAC9B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,IAAI,EAAE,CAAC;AACZ,CAAC"}
@@ -7,6 +7,7 @@
7
7
  import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
8
8
  import type { Server } from '@modelcontextprotocol/sdk/server/index.js';
9
9
  import type { AdtClient } from '../adt/client.js';
10
+ import { AdtApiError, AdtNetworkError } from '../adt/errors.js';
10
11
  import type { CachingLayer } from '../cache/caching-layer.js';
11
12
  import { ToolRegistry } from '../registry/tool-registry.js';
12
13
  import { type McpRateLimiter } from '../server/mcp-rate-limit.js';
@@ -23,6 +24,14 @@ export declare const TOOL_SCOPES: Record<string, string>;
23
24
  export declare function hasRequiredScope(authInfo: AuthInfo, requiredScope: string): boolean;
24
25
  /** The process-wide tool registry, lazily seeded with the built-ins. Exported for tests. */
25
26
  export declare function getToolRegistry(): ToolRegistry;
27
+ export interface MultiTargetSapFailure {
28
+ code: 'CLOUD_CONNECTOR_ACCESS_DENIED' | 'SAP_SERVICE_INACTIVE' | 'SAP_AUTHENTICATION_FAILED' | 'SAP_AUTHORIZATION_DENIED' | 'SAP_REQUEST_FAILED';
29
+ event?: 'cloud_connector_access_denied' | 'sap_service_unavailable' | 'sap_authentication_failed' | 'sap_authorization_failed';
30
+ message: string;
31
+ retryable?: boolean;
32
+ }
33
+ /** Convert post-PP SAP failures into safe target-aware errors; ambiguous 403 stays authentication. */
34
+ export declare function classifyMultiTargetSapError(error: AdtApiError | AdtNetworkError, target: string, toolName: string, identity?: 'per-user' | 'shared'): MultiTargetSapFailure | undefined;
26
35
  /**
27
36
  * Handle an MCP tool call.
28
37
  *
@@ -31,7 +40,9 @@ export declare function getToolRegistry(): ToolRegistry;
31
40
  * all tools are allowed (backward compatibility).
32
41
  * @param server - MCP Server instance for elicitation support.
33
42
  */
34
- export declare function handleToolCall(client: AdtClient, config: ServerConfig, toolName: string, args: Record<string, unknown>, authInfo?: AuthInfo, _server?: Server, cachingLayer?: CachingLayer, isPerUserClient?: boolean, mcpRateLimiter?: McpRateLimiter): Promise<ToolResult>;
43
+ export declare function handleToolCall(client: AdtClient, config: ServerConfig, toolName: string, args: Record<string, unknown>, authInfo?: AuthInfo, _server?: Server, cachingLayer?: CachingLayer, isPerUserClient?: boolean, mcpRateLimiter?: McpRateLimiter, requestId?: string,
44
+ /** Request-local guard that may replace a handler result before the terminal audit event. */
45
+ postDispatchResult?: () => ToolResult | undefined): Promise<ToolResult>;
35
46
  /** Check if the connected system is BTP ABAP Environment */
36
47
  /** Return whether the SAP ADT discovery feed advertises the /sap/bc/adt/ddic/tables
37
48
  * collection (the transparent-table editor endpoint). Absent on NW 7.50/7.51 —
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/handlers/dispatch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAgBlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAgD,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAI1G,OAAO,EAAE,KAAK,cAAc,EAA2B,MAAM,6BAA6B,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAgBvD,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAKlF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAe9C,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAKnF;AA+YD,4FAA4F;AAC5F,wBAAgB,eAAe,IAAI,YAAY,CAoC9C;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,YAAY,EAC3B,eAAe,CAAC,EAAE,OAAO,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,UAAU,CAAC,CAqPrB;AAID,4DAA4D;AAE5D;;;;;sBAKsB"}
1
+ {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/handlers/dispatch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,eAAe,EAA0C,MAAM,kBAAkB,CAAC;AAexG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAgD,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAI1G,OAAO,EAAE,KAAK,cAAc,EAA2B,MAAM,6BAA6B,CAAC;AAE3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAgBvD,OAAO,EAAsC,KAAK,UAAU,EAAY,MAAM,aAAa,CAAC;AAK5F;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAe9C,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAKnF;AAgZD,4FAA4F;AAC5F,wBAAgB,eAAe,IAAI,YAAY,CAoC9C;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EACA,+BAA+B,GAC/B,sBAAsB,GACtB,2BAA2B,GAC3B,0BAA0B,GAC1B,oBAAoB,CAAC;IACzB,KAAK,CAAC,EACF,+BAA+B,GAC/B,yBAAyB,GACzB,2BAA2B,GAC3B,0BAA0B,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAYD,sGAAsG;AACtG,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,WAAW,GAAG,eAAe,EACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,UAAU,GAAG,QAAqB,GAC3C,qBAAqB,GAAG,SAAS,CA6DnC;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,YAAY,EAC3B,eAAe,CAAC,EAAE,OAAO,EACzB,cAAc,CAAC,EAAE,cAAc,EAC/B,SAAS,CAAC,EAAE,MAAM;AAClB,6FAA6F;AAC7F,kBAAkB,CAAC,EAAE,MAAM,UAAU,GAAG,SAAS,GAChD,OAAO,CAAC,UAAU,CAAC,CA6TrB;AAID,4DAA4D;AAE5D;;;;;sBAKsB"}