arc-1 0.9.27 → 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 (292) hide show
  1. package/README.md +28 -11
  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/client.d.ts +21 -8
  7. package/dist/adt/client.d.ts.map +1 -1
  8. package/dist/adt/client.js +47 -7
  9. package/dist/adt/client.js.map +1 -1
  10. package/dist/adt/config.d.ts +15 -0
  11. package/dist/adt/config.d.ts.map +1 -1
  12. package/dist/adt/config.js.map +1 -1
  13. package/dist/adt/crud.d.ts +7 -2
  14. package/dist/adt/crud.d.ts.map +1 -1
  15. package/dist/adt/crud.js +12 -4
  16. package/dist/adt/crud.js.map +1 -1
  17. package/dist/adt/ddic-xml.d.ts +27 -17
  18. package/dist/adt/ddic-xml.d.ts.map +1 -1
  19. package/dist/adt/ddic-xml.js +45 -34
  20. package/dist/adt/ddic-xml.js.map +1 -1
  21. package/dist/adt/devtools.d.ts +13 -0
  22. package/dist/adt/devtools.d.ts.map +1 -1
  23. package/dist/adt/devtools.js +120 -50
  24. package/dist/adt/devtools.js.map +1 -1
  25. package/dist/adt/errors.d.ts +1 -1
  26. package/dist/adt/errors.d.ts.map +1 -1
  27. package/dist/adt/errors.js +18 -0
  28. package/dist/adt/errors.js.map +1 -1
  29. package/dist/adt/http.d.ts +17 -1
  30. package/dist/adt/http.d.ts.map +1 -1
  31. package/dist/adt/http.js +102 -19
  32. package/dist/adt/http.js.map +1 -1
  33. package/dist/adt/server-driven.d.ts +154 -34
  34. package/dist/adt/server-driven.d.ts.map +1 -1
  35. package/dist/adt/server-driven.js +178 -53
  36. package/dist/adt/server-driven.js.map +1 -1
  37. package/dist/adt/transport.d.ts +6 -6
  38. package/dist/adt/transport.d.ts.map +1 -1
  39. package/dist/adt/transport.js +23 -34
  40. package/dist/adt/transport.js.map +1 -1
  41. package/dist/adt/types.d.ts +47 -6
  42. package/dist/adt/types.d.ts.map +1 -1
  43. package/dist/adt/xml-parser.d.ts +52 -12
  44. package/dist/adt/xml-parser.d.ts.map +1 -1
  45. package/dist/adt/xml-parser.js +120 -10
  46. package/dist/adt/xml-parser.js.map +1 -1
  47. package/dist/authz/policy.d.ts +8 -0
  48. package/dist/authz/policy.d.ts.map +1 -1
  49. package/dist/authz/policy.js +23 -0
  50. package/dist/authz/policy.js.map +1 -1
  51. package/dist/cache/cache.d.ts +2 -34
  52. package/dist/cache/cache.d.ts.map +1 -1
  53. package/dist/cache/cache.js +2 -3
  54. package/dist/cache/cache.js.map +1 -1
  55. package/dist/cache/caching-layer.d.ts +3 -19
  56. package/dist/cache/caching-layer.d.ts.map +1 -1
  57. package/dist/cache/caching-layer.js +2 -26
  58. package/dist/cache/caching-layer.js.map +1 -1
  59. package/dist/cache/memory.d.ts +1 -12
  60. package/dist/cache/memory.d.ts.map +1 -1
  61. package/dist/cache/memory.js +0 -69
  62. package/dist/cache/memory.js.map +1 -1
  63. package/dist/cache/sqlite.d.ts +2 -9
  64. package/dist/cache/sqlite.d.ts.map +1 -1
  65. package/dist/cache/sqlite.js +8 -84
  66. package/dist/cache/sqlite.js.map +1 -1
  67. package/dist/cli.js +6 -3
  68. package/dist/cli.js.map +1 -1
  69. package/dist/context/unit-surgery.d.ts +28 -0
  70. package/dist/context/unit-surgery.d.ts.map +1 -0
  71. package/dist/context/unit-surgery.js +150 -0
  72. package/dist/context/unit-surgery.js.map +1 -0
  73. package/dist/handlers/activate.d.ts.map +1 -1
  74. package/dist/handlers/activate.js +44 -6
  75. package/dist/handlers/activate.js.map +1 -1
  76. package/dist/handlers/context.d.ts +1 -1
  77. package/dist/handlers/context.d.ts.map +1 -1
  78. package/dist/handlers/context.js +98 -28
  79. package/dist/handlers/context.js.map +1 -1
  80. package/dist/handlers/diagnose.d.ts.map +1 -1
  81. package/dist/handlers/diagnose.js +55 -31
  82. package/dist/handlers/diagnose.js.map +1 -1
  83. package/dist/handlers/dispatch.d.ts +12 -1
  84. package/dist/handlers/dispatch.d.ts.map +1 -1
  85. package/dist/handlers/dispatch.js +160 -25
  86. package/dist/handlers/dispatch.js.map +1 -1
  87. package/dist/handlers/feature-cache.d.ts +27 -14
  88. package/dist/handlers/feature-cache.d.ts.map +1 -1
  89. package/dist/handlers/feature-cache.js +63 -25
  90. package/dist/handlers/feature-cache.js.map +1 -1
  91. package/dist/handlers/function-processing.d.ts +61 -0
  92. package/dist/handlers/function-processing.d.ts.map +1 -0
  93. package/dist/handlers/function-processing.js +45 -0
  94. package/dist/handlers/function-processing.js.map +1 -0
  95. package/dist/handlers/git.d.ts.map +1 -1
  96. package/dist/handlers/git.js +44 -19
  97. package/dist/handlers/git.js.map +1 -1
  98. package/dist/handlers/hyperfocused.d.ts.map +1 -1
  99. package/dist/handlers/hyperfocused.js +2 -3
  100. package/dist/handlers/hyperfocused.js.map +1 -1
  101. package/dist/handlers/lint.d.ts.map +1 -1
  102. package/dist/handlers/lint.js +7 -7
  103. package/dist/handlers/lint.js.map +1 -1
  104. package/dist/handlers/manage.d.ts.map +1 -1
  105. package/dist/handlers/manage.js +42 -25
  106. package/dist/handlers/manage.js.map +1 -1
  107. package/dist/handlers/navigate.d.ts.map +1 -1
  108. package/dist/handlers/navigate.js +27 -90
  109. package/dist/handlers/navigate.js.map +1 -1
  110. package/dist/handlers/object-types.d.ts +2 -0
  111. package/dist/handlers/object-types.d.ts.map +1 -1
  112. package/dist/handlers/object-types.js +10 -0
  113. package/dist/handlers/object-types.js.map +1 -1
  114. package/dist/handlers/query.d.ts.map +1 -1
  115. package/dist/handlers/query.js +2 -2
  116. package/dist/handlers/query.js.map +1 -1
  117. package/dist/handlers/read.d.ts.map +1 -1
  118. package/dist/handlers/read.js +64 -41
  119. package/dist/handlers/read.js.map +1 -1
  120. package/dist/handlers/schemas.d.ts +64 -16
  121. package/dist/handlers/schemas.d.ts.map +1 -1
  122. package/dist/handlers/schemas.js +123 -32
  123. package/dist/handlers/schemas.js.map +1 -1
  124. package/dist/handlers/search.d.ts.map +1 -1
  125. package/dist/handlers/search.js +8 -7
  126. package/dist/handlers/search.js.map +1 -1
  127. package/dist/handlers/shared.d.ts +13 -0
  128. package/dist/handlers/shared.d.ts.map +1 -1
  129. package/dist/handlers/shared.js +15 -0
  130. package/dist/handlers/shared.js.map +1 -1
  131. package/dist/handlers/tool-descriptions.d.ts +4 -0
  132. package/dist/handlers/tool-descriptions.d.ts.map +1 -0
  133. package/dist/handlers/tool-descriptions.js +52 -0
  134. package/dist/handlers/tool-descriptions.js.map +1 -0
  135. package/dist/handlers/tool-registry.d.ts +18 -4
  136. package/dist/handlers/tool-registry.d.ts.map +1 -1
  137. package/dist/handlers/tool-registry.js +18 -0
  138. package/dist/handlers/tool-registry.js.map +1 -1
  139. package/dist/handlers/tools.d.ts.map +1 -1
  140. package/dist/handlers/tools.js +113 -90
  141. package/dist/handlers/tools.js.map +1 -1
  142. package/dist/handlers/transport.d.ts +1 -1
  143. package/dist/handlers/transport.d.ts.map +1 -1
  144. package/dist/handlers/transport.js +37 -10
  145. package/dist/handlers/transport.js.map +1 -1
  146. package/dist/handlers/where-used.d.ts +25 -0
  147. package/dist/handlers/where-used.d.ts.map +1 -0
  148. package/dist/handlers/where-used.js +94 -0
  149. package/dist/handlers/where-used.js.map +1 -0
  150. package/dist/handlers/write/class-surgery.d.ts.map +1 -1
  151. package/dist/handlers/write/class-surgery.js +11 -12
  152. package/dist/handlers/write/class-surgery.js.map +1 -1
  153. package/dist/handlers/write/create.d.ts.map +1 -1
  154. package/dist/handlers/write/create.js +194 -84
  155. package/dist/handlers/write/create.js.map +1 -1
  156. package/dist/handlers/write/rap.d.ts.map +1 -1
  157. package/dist/handlers/write/rap.js +9 -9
  158. package/dist/handlers/write/rap.js.map +1 -1
  159. package/dist/handlers/write/unit-surgery.d.ts +5 -0
  160. package/dist/handlers/write/unit-surgery.d.ts.map +1 -0
  161. package/dist/handlers/write/unit-surgery.js +47 -0
  162. package/dist/handlers/write/unit-surgery.js.map +1 -0
  163. package/dist/handlers/write/update-delete.js +8 -8
  164. package/dist/handlers/write/update-delete.js.map +1 -1
  165. package/dist/handlers/write-helpers.d.ts +7 -4
  166. package/dist/handlers/write-helpers.d.ts.map +1 -1
  167. package/dist/handlers/write-helpers.js +118 -63
  168. package/dist/handlers/write-helpers.js.map +1 -1
  169. package/dist/handlers/write.d.ts.map +1 -1
  170. package/dist/handlers/write.js +35 -13
  171. package/dist/handlers/write.js.map +1 -1
  172. package/dist/lint/lint.d.ts.map +1 -1
  173. package/dist/lint/lint.js +4 -2
  174. package/dist/lint/lint.js.map +1 -1
  175. package/dist/probe/catalog.js +1 -1
  176. package/dist/probe/catalog.js.map +1 -1
  177. package/dist/public/ui/app.js +1 -14
  178. package/dist/server/audit.d.ts +27 -15
  179. package/dist/server/audit.d.ts.map +1 -1
  180. package/dist/server/audit.js.map +1 -1
  181. package/dist/server/auth-rate-limit.d.ts +18 -9
  182. package/dist/server/auth-rate-limit.d.ts.map +1 -1
  183. package/dist/server/auth-rate-limit.js +31 -6
  184. package/dist/server/auth-rate-limit.js.map +1 -1
  185. package/dist/server/auth-summary.d.ts +4 -0
  186. package/dist/server/auth-summary.d.ts.map +1 -0
  187. package/dist/server/auth-summary.js +67 -0
  188. package/dist/server/auth-summary.js.map +1 -0
  189. package/dist/server/config.d.ts.map +1 -1
  190. package/dist/server/config.js +106 -3
  191. package/dist/server/config.js.map +1 -1
  192. package/dist/server/context.d.ts +12 -0
  193. package/dist/server/context.d.ts.map +1 -1
  194. package/dist/server/context.js.map +1 -1
  195. package/dist/server/destination-discovery.d.ts +36 -0
  196. package/dist/server/destination-discovery.d.ts.map +1 -0
  197. package/dist/server/destination-discovery.js +130 -0
  198. package/dist/server/destination-discovery.js.map +1 -0
  199. package/dist/server/destination-registry.d.ts +111 -0
  200. package/dist/server/destination-registry.d.ts.map +1 -0
  201. package/dist/server/destination-registry.js +449 -0
  202. package/dist/server/destination-registry.js.map +1 -0
  203. package/dist/server/http.d.ts +43 -1
  204. package/dist/server/http.d.ts.map +1 -1
  205. package/dist/server/http.js +283 -73
  206. package/dist/server/http.js.map +1 -1
  207. package/dist/server/logger.d.ts.map +1 -1
  208. package/dist/server/logger.js +58 -13
  209. package/dist/server/logger.js.map +1 -1
  210. package/dist/server/mcp-rate-limit.d.ts +6 -4
  211. package/dist/server/mcp-rate-limit.d.ts.map +1 -1
  212. package/dist/server/mcp-rate-limit.js +6 -4
  213. package/dist/server/mcp-rate-limit.js.map +1 -1
  214. package/dist/server/multi-target-basic-auth.d.ts +49 -0
  215. package/dist/server/multi-target-basic-auth.d.ts.map +1 -0
  216. package/dist/server/multi-target-basic-auth.js +246 -0
  217. package/dist/server/multi-target-basic-auth.js.map +1 -0
  218. package/dist/server/multi-target-catalog.d.ts +33 -0
  219. package/dist/server/multi-target-catalog.d.ts.map +1 -0
  220. package/dist/server/multi-target-catalog.js +130 -0
  221. package/dist/server/multi-target-catalog.js.map +1 -0
  222. package/dist/server/multi-target-destination-config.d.ts +12 -0
  223. package/dist/server/multi-target-destination-config.d.ts.map +1 -0
  224. package/dist/server/multi-target-destination-config.js +37 -0
  225. package/dist/server/multi-target-destination-config.js.map +1 -0
  226. package/dist/server/multi-target-destination-runtime.d.ts +20 -0
  227. package/dist/server/multi-target-destination-runtime.d.ts.map +1 -0
  228. package/dist/server/multi-target-destination-runtime.js +191 -0
  229. package/dist/server/multi-target-destination-runtime.js.map +1 -0
  230. package/dist/server/multi-target-feature-state.d.ts +6 -0
  231. package/dist/server/multi-target-feature-state.d.ts.map +1 -0
  232. package/dist/server/multi-target-feature-state.js +41 -0
  233. package/dist/server/multi-target-feature-state.js.map +1 -0
  234. package/dist/server/multi-target-identity.d.ts +10 -0
  235. package/dist/server/multi-target-identity.d.ts.map +1 -0
  236. package/dist/server/multi-target-identity.js +18 -0
  237. package/dist/server/multi-target-identity.js.map +1 -0
  238. package/dist/server/multi-target-runtime.d.ts +27 -0
  239. package/dist/server/multi-target-runtime.d.ts.map +1 -0
  240. package/dist/server/multi-target-runtime.js +110 -0
  241. package/dist/server/multi-target-runtime.js.map +1 -0
  242. package/dist/server/multi-target-server.d.ts +53 -0
  243. package/dist/server/multi-target-server.d.ts.map +1 -0
  244. package/dist/server/multi-target-server.js +434 -0
  245. package/dist/server/multi-target-server.js.map +1 -0
  246. package/dist/server/multi-target-shared-auth-state.d.ts +82 -0
  247. package/dist/server/multi-target-shared-auth-state.d.ts.map +1 -0
  248. package/dist/server/multi-target-shared-auth-state.js +226 -0
  249. package/dist/server/multi-target-shared-auth-state.js.map +1 -0
  250. package/dist/server/multi-target-tools.d.ts +20 -0
  251. package/dist/server/multi-target-tools.d.ts.map +1 -0
  252. package/dist/server/multi-target-tools.js +191 -0
  253. package/dist/server/multi-target-tools.js.map +1 -0
  254. package/dist/server/oauth-session-recovery.d.ts +22 -0
  255. package/dist/server/oauth-session-recovery.d.ts.map +1 -0
  256. package/dist/server/oauth-session-recovery.js +69 -0
  257. package/dist/server/oauth-session-recovery.js.map +1 -0
  258. package/dist/server/server.d.ts +39 -27
  259. package/dist/server/server.d.ts.map +1 -1
  260. package/dist/server/server.js +433 -300
  261. package/dist/server/server.js.map +1 -1
  262. package/dist/server/sinks/btp-auditlog.d.ts.map +1 -1
  263. package/dist/server/sinks/btp-auditlog.js +83 -11
  264. package/dist/server/sinks/btp-auditlog.js.map +1 -1
  265. package/dist/server/tool-auth.d.ts +10 -0
  266. package/dist/server/tool-auth.d.ts.map +1 -0
  267. package/dist/server/tool-auth.js +75 -0
  268. package/dist/server/tool-auth.js.map +1 -0
  269. package/dist/server/trace-context.d.ts +51 -0
  270. package/dist/server/trace-context.d.ts.map +1 -0
  271. package/dist/server/trace-context.js +100 -0
  272. package/dist/server/trace-context.js.map +1 -0
  273. package/dist/server/types.d.ts +27 -6
  274. package/dist/server/types.d.ts.map +1 -1
  275. package/dist/server/types.js +5 -2
  276. package/dist/server/types.js.map +1 -1
  277. package/dist/server/ui-state.d.ts +0 -2
  278. package/dist/server/ui-state.d.ts.map +1 -1
  279. package/dist/server/ui-state.js +0 -4
  280. package/dist/server/ui-state.js.map +1 -1
  281. package/dist/server/ui.d.ts.map +1 -1
  282. package/dist/server/ui.js +0 -7
  283. package/dist/server/ui.js.map +1 -1
  284. package/package.json +16 -13
  285. package/dist/cache/warmup.d.ts +0 -41
  286. package/dist/cache/warmup.d.ts.map +0 -1
  287. package/dist/cache/warmup.js +0 -337
  288. package/dist/cache/warmup.js.map +0 -1
  289. package/dist/server/elicit.d.ts +0 -43
  290. package/dist/server/elicit.d.ts.map +0 -1
  291. package/dist/server/elicit.js +0 -183
  292. package/dist/server/elicit.js.map +0 -1
@@ -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"}
@@ -18,17 +18,18 @@ import { AdtApiError, AdtNetworkError, AdtSafetyError, classifySapDomainError }
18
18
  * Scope lookup and implication rules are defined in `src/authz/policy.ts` (ACTION_POLICY,
19
19
  * getActionPolicy, hasRequiredScope). This module routes through them.
20
20
  */
21
- import { getActionPolicy, hasRequiredScope as hasScopeHelper } from '../authz/policy.js';
21
+ import { getActionPolicy, hasRequiredScope as hasScopeHelper, invocationPolicyKey } from '../authz/policy.js';
22
22
  import { ToolRegistry } from '../registry/tool-registry.js';
23
23
  import { sanitizeArgs } from '../server/audit.js';
24
- import { generateRequestId, requestContext } from '../server/context.js';
24
+ import { generateRequestId, getCurrentContext, requestContext } from '../server/context.js';
25
25
  import { logger } from '../server/logger.js';
26
26
  import { resolveRateLimitUserKey } from '../server/mcp-rate-limit.js';
27
+ import { formatClientInfo } from '../server/trace-context.js';
27
28
  import { handleSAPActivate } from './activate.js';
28
29
  import { buildCacheSecurityContext } from './cache-security.js';
29
30
  import { handleSAPContext } from './context.js';
30
31
  import { handleSAPDiagnose } from './diagnose.js';
31
- import { cachedFeatures } from './feature-cache.js';
32
+ import { getCachedFeatures } from './feature-cache.js';
32
33
  import { handleSAPGit } from './git.js';
33
34
  import { expandHyperfocusedArgs } from './hyperfocused.js';
34
35
  import { handleSAPLint } from './lint.js';
@@ -39,7 +40,7 @@ import { handleSAPQuery } from './query.js';
39
40
  import { handleSAPRead } from './read.js';
40
41
  import { getToolSchema } from './schemas.js';
41
42
  import { handleSAPSearch } from './search.js';
42
- import { errorResult, hasSqlParserSignature } from './shared.js';
43
+ import { errorResult, hasSqlParserSignature, toolJson } from './shared.js';
43
44
  import { handleSAPTransport } from './transport.js';
44
45
  import { handleSAPWrite } from './write.js';
45
46
  import { formatZodError } from './zod-errors.js';
@@ -72,7 +73,7 @@ function getWriteInfrastructureHint(err, tool, args) {
72
73
  if (tool !== 'SAPWrite')
73
74
  return undefined;
74
75
  const action = String(args.action ?? '').toLowerCase();
75
- if (!['create', 'update', 'batch_create', 'edit_method', 'delete'].includes(action))
76
+ if (!['create', 'update', 'batch_create', 'edit_method', 'edit_unit', 'delete'].includes(action))
76
77
  return undefined;
77
78
  // These failures happen around ADT session management, often after SAP has
78
79
  // already accepted a mutation. They need cleanup guidance, not DDIC syntax hints.
@@ -106,7 +107,7 @@ function buildBaseErrorMessage(err, message, tool, args, config) {
106
107
  // Pass the detected SAP_BASIS release so the 423 lock-handle hint can specialize
107
108
  // (< 7.51 → point at abapfs_extensions; see issue #293). cachedFeatures is set by the
108
109
  // startup probe; config.abapRelease is the manual SAP_ABAP_RELEASE override fallback.
109
- const abapRelease = cachedFeatures?.abapRelease ?? config.abapRelease;
110
+ const abapRelease = getCachedFeatures()?.abapRelease ?? config.abapRelease;
110
111
  const classification = classifySapDomainError(err.statusCode, err.responseBody, err.path, abapRelease);
111
112
  if (classification) {
112
113
  const transactionLine = classification.transaction ? `\nSAP Transaction: ${classification.transaction}` : '';
@@ -159,14 +160,15 @@ function buildBaseErrorMessage(err, message, tool, args, config) {
159
160
  if (writeInfrastructureHint) {
160
161
  return `${enriched}\n\nHint: ${writeInfrastructureHint}`;
161
162
  }
162
- // Save hint — applies to create/update/batch_create/edit_method, not delete.
163
+ // Save hint — applies to create/update/batch_create/edit_method/edit_unit, not delete.
163
164
  // Delete failures on DDIC types have different remediation (dependency resolution, not annotation fixes).
164
165
  const action = String(args.action ?? '').toLowerCase();
165
166
  const isSaveAction = action === '' ||
166
167
  action === 'create' ||
167
168
  action === 'update' ||
168
169
  action === 'batch_create' ||
169
- action === 'edit_method';
170
+ action === 'edit_method' ||
171
+ action === 'edit_unit';
170
172
  if ((err.statusCode === 400 || err.statusCode === 409) && DDIC_SAVE_HINT_TYPES.has(argType) && isSaveAction) {
171
173
  return (`${enriched}\n\nHint: DDIC save failed. Check the diagnostic details above for specific field or annotation errors. ` +
172
174
  'Common fixes: add missing @AbapCatalog annotations, fix field type names, check key field definitions.');
@@ -421,6 +423,74 @@ export function getToolRegistry() {
421
423
  _toolRegistry = r;
422
424
  return r;
423
425
  }
426
+ /** Match only the verified plain-text response from the BTP Connectivity proxy. */
427
+ function isCloudConnectorAccessDenied(error) {
428
+ if (error.statusCode !== 403 || !error.path.startsWith('/sap/bc/adt'))
429
+ return false;
430
+ const body = (error.responseBody ?? '').trim().toLowerCase();
431
+ return (body.startsWith('access denied to system ') &&
432
+ body.includes('ensure to expose the system correctly in your cloud connector'));
433
+ }
434
+ /** Convert post-PP SAP failures into safe target-aware errors; ambiguous 403 stays authentication. */
435
+ export function classifyMultiTargetSapError(error, target, toolName, identity = 'per-user') {
436
+ if (error instanceof AdtNetworkError) {
437
+ return {
438
+ code: 'SAP_REQUEST_FAILED',
439
+ message: `ARC-1 could not reach SAP target ${target} while running ${toolName}. Check Cloud Connector and SAP availability, then try again now.`,
440
+ };
441
+ }
442
+ if (isCloudConnectorAccessDenied(error)) {
443
+ return {
444
+ code: 'CLOUD_CONNECTOR_ACCESS_DENIED',
445
+ event: 'cloud_connector_access_denied',
446
+ message: identity === 'shared'
447
+ ? `Cloud Connector does not expose or allow target ${target}. Ask the BTP/Cloud Connector administrator to make the destination virtual host and port match the reviewed Basic OnPremise mapping and allow the required ADT paths. Do not retry automatically; retry only after the administrator confirms the repair.`
448
+ : `Cloud Connector does not expose or allow target ${target}. Ask the BTP/Cloud Connector administrator to make the destination virtual host and port match the Principal Propagation HTTPS/X.509 mapping and allow the required ADT paths. Do not retry automatically; retry only after the administrator confirms the repair.`,
449
+ };
450
+ }
451
+ const classification = classifySapDomainError(error.statusCode, error.responseBody, error.path);
452
+ if (classification?.category === 'icf-service-inactive') {
453
+ return {
454
+ code: 'SAP_SERVICE_INACTIVE',
455
+ event: 'sap_service_unavailable',
456
+ message: `An SAP service required by ${toolName} is inactive for target ${target}. Ask the SAP administrator to activate it. Do not retry automatically; retry only after the administrator confirms the repair.`,
457
+ };
458
+ }
459
+ if (classification?.category === 'authorization') {
460
+ return {
461
+ code: 'SAP_AUTHORIZATION_DENIED',
462
+ event: 'sap_authorization_failed',
463
+ message: identity === 'shared'
464
+ ? `SAP denied this operation for the shared technical user on target ${target}. Ask an SAP administrator to grant only the required read authorization before trying again.`
465
+ : `SAP denied this operation for the propagated user on target ${target}. Grant the required SAP authorization, then try again now.`,
466
+ retryable: identity !== 'shared',
467
+ };
468
+ }
469
+ if (error.statusCode === 401 || (error.statusCode === 403 && identity === 'per-user')) {
470
+ return {
471
+ code: 'SAP_AUTHENTICATION_FAILED',
472
+ event: 'sap_authentication_failed',
473
+ message: identity === 'shared'
474
+ ? `SAP rejected the shared technical credentials for target ${target}. ARC-1 will not retry this credential generation for 15 minutes to reduce account-lockout risk. An administrator should update the destination User/Password; an unchanged credential may be attempted once again after the block expires or ARC-1 restarts.`
475
+ : `SAP authentication failed for target ${target} after principal propagation. Fix the user mapping, login, or PP setup, then try again now.`,
476
+ retryable: identity !== 'shared',
477
+ };
478
+ }
479
+ if (error.statusCode === 403) {
480
+ return {
481
+ code: 'SAP_REQUEST_FAILED',
482
+ message: `Target ${target} returned an unclassified forbidden response while running ${toolName}. ARC-1 did not treat it as a rejected shared credential generation. Ask an administrator to check SAP service authorization and Cloud Connector configuration. Do not retry automatically; retry only after the administrator confirms the repair.`,
483
+ retryable: true,
484
+ };
485
+ }
486
+ if (error.isServerError) {
487
+ return {
488
+ code: 'SAP_REQUEST_FAILED',
489
+ message: `SAP target ${target} returned a server error while running ${toolName}. Retry once; if it persists, check SAP health and short dumps.`,
490
+ };
491
+ }
492
+ return undefined;
493
+ }
424
494
  /**
425
495
  * Handle an MCP tool call.
426
496
  *
@@ -429,22 +499,35 @@ export function getToolRegistry() {
429
499
  * all tools are allowed (backward compatibility).
430
500
  * @param server - MCP Server instance for elicitation support.
431
501
  */
432
- export async function handleToolCall(client, config, toolName, args, authInfo, _server, cachingLayer, isPerUserClient, mcpRateLimiter) {
433
- const reqId = generateRequestId();
502
+ export async function handleToolCall(client, config, toolName, args, authInfo, _server, cachingLayer, isPerUserClient, mcpRateLimiter, requestId,
503
+ /** Request-local guard that may replace a handler result before the terminal audit event. */
504
+ postDispatchResult) {
505
+ const reqId = requestId ?? generateRequestId();
434
506
  const start = Date.now();
435
507
  // Build user context for audit logging
436
508
  const user = authInfo?.extra?.userName;
437
509
  const clientId = authInfo?.clientId;
510
+ const identity = config.targetId ? (config.ppEnabled ? 'per-user' : 'shared') : undefined;
438
511
  // For plugin (Custom_*) tools, tag every audit event with the contributing plugin (spec §9).
439
512
  const pluginName = getToolRegistry().get(toolName)?.pluginName;
440
- // Emit tool_call_start audit event
513
+ // Which agent acted, for audit attribution. The MCP handshake identifies the client precisely,
514
+ // but only on a persistent connection (stdio) — stateless HTTP builds a fresh Server per request
515
+ // that never saw `initialize`, so there we inherit the User-Agent captured at the HTTP edge.
516
+ const inherited = getCurrentContext();
517
+ const clientAgent = formatClientInfo(_server?.getClientVersion()) ?? inherited?.clientAgent;
518
+ // Emit tool_call_start audit event. clientAgent is explicit here because the request context
519
+ // below opens after this event — on stdio there is no outer context to inherit it from.
441
520
  logger.emitAudit({
442
521
  timestamp: new Date().toISOString(),
443
522
  level: 'info',
444
523
  event: 'tool_call_start',
524
+ destination: config.targetId ? undefined : config.destinationName,
525
+ target: config.targetId,
526
+ identity,
445
527
  requestId: reqId,
446
528
  user,
447
529
  clientId,
530
+ clientAgent,
448
531
  tool: toolName,
449
532
  pluginName,
450
533
  args: sanitizeArgs(args),
@@ -470,7 +553,10 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
470
553
  event: 'mcp_rate_limited',
471
554
  requestId: reqId,
472
555
  clientId,
556
+ clientAgent,
473
557
  user: userKey,
558
+ target: config.targetId,
559
+ identity,
474
560
  tool: toolName,
475
561
  limitPerMinute: decision.limitPerMinute,
476
562
  retryAfterMs: decision.retryAfterMs,
@@ -479,7 +565,7 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
479
565
  content: [
480
566
  {
481
567
  type: 'text',
482
- text: JSON.stringify({
568
+ text: toolJson({
483
569
  error: 'rate_limited',
484
570
  retryAfter,
485
571
  message: `Rate limit exceeded (${decision.limitPerMinute}/min per user). Retry after ${retryAfter} seconds.`,
@@ -511,17 +597,7 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
511
597
  // reused for Zod validation below so canonicalization happens exactly once.
512
598
  // Runs BEFORE Zod validation so scope errors don't leak schema details to unauthorized callers.
513
599
  const normalizedArgs = normalizeTypeArgsForValidation(toolName, args);
514
- const rawScopeKey = toolName === 'SAPRead' ? normalizedArgs.type : normalizedArgs.action;
515
- let actionOrType = rawScopeKey === undefined || rawScopeKey === null || rawScopeKey === '' ? undefined : String(rawScopeKey);
516
- if (toolName === 'SAPSearch' &&
517
- typeof normalizedArgs.searchType === 'string' &&
518
- normalizedArgs.searchType === 'tadir_lookup' &&
519
- typeof normalizedArgs.source === 'string') {
520
- const src = normalizedArgs.source.toLowerCase();
521
- if (src === 'db' || src === 'both') {
522
- actionOrType = `tadir_lookup_${src}`;
523
- }
524
- }
600
+ const actionOrType = invocationPolicyKey(toolName, normalizedArgs);
525
601
  // Built-in policy from ACTION_POLICY; plugin (Custom_*) policy from the registry (FEAT-61).
526
602
  // Kept here (not inside getActionPolicy) so validate-action-policy.ts stays built-ins-only.
527
603
  const policy = getActionPolicy(toolName, actionOrType) ?? getToolRegistry().get(toolName)?.policy;
@@ -534,6 +610,9 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
534
610
  requestId: reqId,
535
611
  user,
536
612
  clientId,
613
+ clientAgent,
614
+ target: config.targetId,
615
+ identity,
537
616
  tool: toolName,
538
617
  requiredScope: policy.scope,
539
618
  availableScopes: authInfo.scopes,
@@ -554,6 +633,9 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
554
633
  requestId: reqId,
555
634
  user,
556
635
  clientId,
636
+ clientAgent,
637
+ target: config.targetId,
638
+ identity,
557
639
  operation: `${toolName}${actionOrType ? `.${actionOrType}` : ''}`,
558
640
  reason: 'Action denied by SAP_DENY_ACTIONS',
559
641
  });
@@ -577,6 +659,9 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
577
659
  requestId: reqId,
578
660
  user,
579
661
  clientId,
662
+ clientAgent,
663
+ target: config.targetId,
664
+ identity,
580
665
  operation: toolName,
581
666
  reason: 'Input validation failed',
582
667
  });
@@ -585,7 +670,18 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
585
670
  args = parsed.data;
586
671
  }
587
672
  // Run within request context so HTTP-level logs get the requestId
588
- return requestContext.run({ requestId: reqId, user, tool: toolName }, async () => {
673
+ return requestContext.run({
674
+ requestId: reqId,
675
+ user,
676
+ tool: toolName,
677
+ destination: config.targetId ? undefined : config.destinationName,
678
+ target: config.targetId,
679
+ identity,
680
+ clientAgent,
681
+ // Carried forward from the HTTP edge so the outbound SAP call keeps the caller's trace.
682
+ traceparent: inherited?.traceparent,
683
+ tracestate: inherited?.tracestate,
684
+ }, async () => {
589
685
  try {
590
686
  const cacheSecurity = buildCacheSecurityContext(authInfo, isPerUserClient);
591
687
  // FEAT-61: inner dispatch is owned by the ToolRegistry (built-ins + plugin Custom_* tools).
@@ -613,6 +709,9 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
613
709
  };
614
710
  result = await entry.invoke(dispatchCtx);
615
711
  }
712
+ const guardedResult = postDispatchResult?.();
713
+ if (guardedResult)
714
+ result = guardedResult;
616
715
  const durationMs = Date.now() - start;
617
716
  const fullText = result.content.map((c) => c.text).join('');
618
717
  const resultSize = fullText.length;
@@ -621,6 +720,9 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
621
720
  timestamp: new Date().toISOString(),
622
721
  level: result.isError ? 'error' : 'info',
623
722
  event: 'tool_call_end',
723
+ destination: config.targetId ? undefined : config.destinationName,
724
+ target: config.targetId,
725
+ identity,
624
726
  requestId: reqId,
625
727
  user,
626
728
  clientId,
@@ -637,11 +739,17 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
637
739
  }
638
740
  catch (err) {
639
741
  const message = err instanceof Error ? err.message : String(err);
742
+ const auditErrorMessage = err instanceof AdtApiError && (err.statusCode === 401 || err.statusCode === 403)
743
+ ? `SAP HTTP ${err.statusCode} authentication/authorization failure (response details suppressed)`
744
+ : message;
640
745
  const durationMs = Date.now() - start;
641
746
  logger.emitAudit({
642
747
  timestamp: new Date().toISOString(),
643
748
  level: 'error',
644
749
  event: 'tool_call_end',
750
+ destination: config.targetId ? undefined : config.destinationName,
751
+ target: config.targetId,
752
+ identity,
645
753
  requestId: reqId,
646
754
  user,
647
755
  clientId,
@@ -650,8 +758,35 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
650
758
  durationMs,
651
759
  status: 'error',
652
760
  errorClass: classifyError(err),
653
- errorMessage: message,
761
+ errorMessage: auditErrorMessage,
654
762
  });
763
+ if (config.targetId && (err instanceof AdtApiError || err instanceof AdtNetworkError)) {
764
+ const failure = classifyMultiTargetSapError(err, config.targetId, toolName, config.ppEnabled ? 'per-user' : 'shared');
765
+ if (failure) {
766
+ if (failure.event) {
767
+ logger.emitAudit({
768
+ timestamp: new Date().toISOString(),
769
+ level: 'warn',
770
+ event: failure.event,
771
+ requestId: reqId,
772
+ user,
773
+ clientId,
774
+ target: config.targetId,
775
+ identity,
776
+ tool: toolName,
777
+ errorCode: failure.code,
778
+ });
779
+ }
780
+ return errorResult(toolJson({
781
+ error: failure.code,
782
+ message: failure.message,
783
+ target: config.targetId,
784
+ identity,
785
+ requestId: reqId,
786
+ retryable: failure.retryable ?? true,
787
+ }));
788
+ }
789
+ }
655
790
  return errorResult(formatErrorForLLM(err, message, toolName, args, config));
656
791
  }
657
792
  });
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/handlers/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/handlers/dispatch.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,44 @@
1
1
  /**
2
2
  * Process-wide cache of probed SAP feature status + ADT discovery MIME map.
3
3
  *
4
- * The single home of this mutable module state. Handlers
5
- * read `cachedFeatures`/`cachedDiscovery` as ESM live bindings; the only writers are the probe
6
- * (via setCachedFeatures) and the test/startup accessors below. Keeping the state in one module
7
- * means every handler module shares the same instance instead of accidentally forking it.
4
+ * The single home of this mutable module state, keyed by destination so one
5
+ * process can serve multiple SAP systems (multi-destination mode). The default
6
+ * key ('') is used in single-destination mode — the historical behavior.
7
+ *
8
+ * Readers usually omit the key argument: it is resolved from the request
9
+ * context (AsyncLocalStorage), which dispatch populates per tool call. Public
10
+ * SID/client target IDs take precedence over legacy internal destination names.
11
+ * Writers (the startup/first-request probe) pass the destination explicitly.
8
12
  */
9
13
  import type { ResolvedFeatures } from '../adt/types.js';
10
- /** Cached feature status — populated on first probe. Imported read-only elsewhere (live binding). */
11
- export declare let cachedFeatures: ResolvedFeatures | undefined;
12
- /** Reset cached features (for testing) */
14
+ /** Reset cached features across all destinations (for testing) */
13
15
  export declare function resetCachedFeatures(): void;
14
16
  /** Set cached features directly (probe result, or for testing BTP mode, etc.) */
15
- export declare function setCachedFeatures(features: ResolvedFeatures | undefined): void;
17
+ export declare function setCachedFeatures(features: ResolvedFeatures | undefined, destination?: string): void;
16
18
  /** Get cached features (for tool definition adaptation) */
17
- export declare function getCachedFeatures(): ResolvedFeatures | undefined;
19
+ export declare function getCachedFeatures(destination?: string): ResolvedFeatures | undefined;
18
20
  /** Set startup-cached ADT discovery MIME map. */
19
- export declare function setCachedDiscovery(map: Map<string, string[]>): void;
21
+ export declare function setCachedDiscovery(map: Map<string, string[]>, destination?: string): void;
20
22
  /** Get startup-cached ADT discovery MIME map. */
21
- export declare function getCachedDiscovery(): Map<string, string[]>;
23
+ export declare function getCachedDiscovery(destination?: string): Map<string, string[]>;
22
24
  /** True/false if the ADT /ddic/tables endpoint is advertised by discovery; undefined if not probed. */
23
- export declare function isTablesEndpointAvailable(): boolean | undefined;
25
+ export declare function isTablesEndpointAvailable(destination?: string): boolean | undefined;
24
26
  /**
25
27
  * True/false if the ADT /ddic/tabletypes endpoint is advertised by discovery; undefined if not probed.
26
28
  * Live-verified absent on NW 7.50 (404 + not in discovery) and present on S/4 758 + ABAP 816 (FEAT-65).
27
29
  */
28
- export declare function isTableTypesEndpointAvailable(): boolean | undefined;
30
+ export declare function isTableTypesEndpointAvailable(destination?: string): boolean | undefined;
31
+ /**
32
+ * True/false if the ADT /ddic/domains endpoint is advertised by discovery; undefined if not probed.
33
+ * Live-verified absent on NW 7.50 (404 + not in discovery, on both a dev-edition and a real
34
+ * ECC EhP8 7.50 SP31 system) and present on S/4 758 + ABAP 816.
35
+ */
36
+ export declare function isDomainsEndpointAvailable(destination?: string): boolean | undefined;
37
+ /**
38
+ * True/false if the ADT /packages endpoint is advertised by discovery; undefined if not probed.
39
+ * The whole resource is absent before 7.52 — even a GET of an existing package 404s there.
40
+ */
41
+ export declare function isPackagesEndpointAvailable(destination?: string): boolean | undefined;
29
42
  /** True when the probed system is BTP ABAP Environment. */
30
- export declare function isBtpSystem(): boolean;
43
+ export declare function isBtpSystem(destination?: string): boolean;
31
44
  //# sourceMappingURL=feature-cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-cache.d.ts","sourceRoot":"","sources":["../../src/handlers/feature-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,qGAAqG;AACrG,eAAO,IAAI,cAAc,EAAE,gBAAgB,GAAG,SAAS,CAAC;AAIxD,0CAA0C;AAC1C,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAE9E;AAED,2DAA2D;AAC3D,wBAAgB,iBAAiB,IAAI,gBAAgB,GAAG,SAAS,CAEhE;AAED,iDAAiD;AACjD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAEnE;AAED,iDAAiD;AACjD,wBAAgB,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAE1D;AAED,uGAAuG;AACvG,wBAAgB,yBAAyB,IAAI,OAAO,GAAG,SAAS,CAI/D;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,OAAO,GAAG,SAAS,CAInE;AAED,2DAA2D;AAC3D,wBAAgB,WAAW,IAAI,OAAO,CAErC"}
1
+ {"version":3,"file":"feature-cache.d.ts","sourceRoot":"","sources":["../../src/handlers/feature-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAwBxD,kEAAkE;AAClE,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAEpG;AAED,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAEpF;AAED,iDAAiD;AACjD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAEzF;AAED,iDAAiD;AACjD,wBAAgB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAE9E;AAED,uGAAuG;AACvG,wBAAgB,yBAAyB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAKnF;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAKvF;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAKpF;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAKrF;AAED,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAEzD"}