arc-1 1.4.0 → 1.5.1

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 (257) hide show
  1. package/README.md +1 -1
  2. package/dist/adt/abapgit.d.ts.map +1 -1
  3. package/dist/adt/abapgit.js +64 -7
  4. package/dist/adt/abapgit.js.map +1 -1
  5. package/dist/adt/aunit.js +4 -4
  6. package/dist/adt/aunit.js.map +1 -1
  7. package/dist/adt/class-structure.d.ts +4 -2
  8. package/dist/adt/class-structure.d.ts.map +1 -1
  9. package/dist/adt/class-structure.js +18 -9
  10. package/dist/adt/class-structure.js.map +1 -1
  11. package/dist/adt/client.d.ts +19 -53
  12. package/dist/adt/client.d.ts.map +1 -1
  13. package/dist/adt/client.js +72 -96
  14. package/dist/adt/client.js.map +1 -1
  15. package/dist/adt/codeintel.d.ts +1 -1
  16. package/dist/adt/codeintel.d.ts.map +1 -1
  17. package/dist/adt/codeintel.js +11 -4
  18. package/dist/adt/codeintel.js.map +1 -1
  19. package/dist/adt/config.d.ts +5 -0
  20. package/dist/adt/config.d.ts.map +1 -1
  21. package/dist/adt/config.js.map +1 -1
  22. package/dist/adt/crud.d.ts +3 -3
  23. package/dist/adt/crud.d.ts.map +1 -1
  24. package/dist/adt/crud.js +21 -6
  25. package/dist/adt/crud.js.map +1 -1
  26. package/dist/adt/data-source-policy.d.ts +21 -13
  27. package/dist/adt/data-source-policy.d.ts.map +1 -1
  28. package/dist/adt/data-source-policy.js +63 -114
  29. package/dist/adt/data-source-policy.js.map +1 -1
  30. package/dist/adt/ddic-xml.d.ts +9 -0
  31. package/dist/adt/ddic-xml.d.ts.map +1 -1
  32. package/dist/adt/ddic-xml.js +17 -3
  33. package/dist/adt/ddic-xml.js.map +1 -1
  34. package/dist/adt/devtools.js +3 -3
  35. package/dist/adt/devtools.js.map +1 -1
  36. package/dist/adt/diagnostics.js +4 -4
  37. package/dist/adt/diagnostics.js.map +1 -1
  38. package/dist/adt/enhancements.d.ts +7 -0
  39. package/dist/adt/enhancements.d.ts.map +1 -0
  40. package/dist/adt/enhancements.js +89 -0
  41. package/dist/adt/enhancements.js.map +1 -0
  42. package/dist/adt/errors.d.ts +19 -10
  43. package/dist/adt/errors.d.ts.map +1 -1
  44. package/dist/adt/errors.js +73 -53
  45. package/dist/adt/errors.js.map +1 -1
  46. package/dist/adt/fm-signature.d.ts +1 -1
  47. package/dist/adt/fm-signature.d.ts.map +1 -1
  48. package/dist/adt/fm-signature.js +9 -1
  49. package/dist/adt/fm-signature.js.map +1 -1
  50. package/dist/adt/http.d.ts +7 -27
  51. package/dist/adt/http.d.ts.map +1 -1
  52. package/dist/adt/http.js +34 -32
  53. package/dist/adt/http.js.map +1 -1
  54. package/dist/adt/internal-data-operations.d.ts +3 -2
  55. package/dist/adt/internal-data-operations.d.ts.map +1 -1
  56. package/dist/adt/internal-data-operations.js +8 -1
  57. package/dist/adt/internal-data-operations.js.map +1 -1
  58. package/dist/adt/legacy-content-handler.d.ts +3 -0
  59. package/dist/adt/legacy-content-handler.d.ts.map +1 -0
  60. package/dist/adt/legacy-content-handler.js +21 -0
  61. package/dist/adt/legacy-content-handler.js.map +1 -0
  62. package/dist/adt/lock-object.d.ts +92 -0
  63. package/dist/adt/lock-object.d.ts.map +1 -0
  64. package/dist/adt/lock-object.js +195 -0
  65. package/dist/adt/lock-object.js.map +1 -0
  66. package/dist/adt/rap-generate.d.ts +5 -1
  67. package/dist/adt/rap-generate.d.ts.map +1 -1
  68. package/dist/adt/rap-generate.js +112 -100
  69. package/dist/adt/rap-generate.js.map +1 -1
  70. package/dist/adt/server-driven.d.ts +42 -10
  71. package/dist/adt/server-driven.d.ts.map +1 -1
  72. package/dist/adt/server-driven.js +98 -18
  73. package/dist/adt/server-driven.js.map +1 -1
  74. package/dist/adt/source-precondition.d.ts +3 -0
  75. package/dist/adt/source-precondition.d.ts.map +1 -0
  76. package/dist/adt/source-precondition.js +12 -0
  77. package/dist/adt/source-precondition.js.map +1 -0
  78. package/dist/adt/text-search.js +5 -5
  79. package/dist/adt/text-search.js.map +1 -1
  80. package/dist/adt/transport.js +3 -3
  81. package/dist/adt/transport.js.map +1 -1
  82. package/dist/adt/types.d.ts +19 -1
  83. package/dist/adt/types.d.ts.map +1 -1
  84. package/dist/adt/user-agent.d.ts +4 -0
  85. package/dist/adt/user-agent.d.ts.map +1 -0
  86. package/dist/adt/user-agent.js +11 -0
  87. package/dist/adt/user-agent.js.map +1 -0
  88. package/dist/adt/xml-entities.d.ts +3 -0
  89. package/dist/adt/xml-entities.d.ts.map +1 -0
  90. package/dist/adt/xml-entities.js +19 -0
  91. package/dist/adt/xml-entities.js.map +1 -0
  92. package/dist/adt/xml-parser.d.ts +7 -30
  93. package/dist/adt/xml-parser.d.ts.map +1 -1
  94. package/dist/adt/xml-parser.js +25 -54
  95. package/dist/adt/xml-parser.js.map +1 -1
  96. package/dist/authz/policy.d.ts.map +1 -1
  97. package/dist/authz/policy.js +2 -0
  98. package/dist/authz/policy.js.map +1 -1
  99. package/dist/cache/caching-layer.d.ts.map +1 -1
  100. package/dist/cache/caching-layer.js +7 -11
  101. package/dist/cache/caching-layer.js.map +1 -1
  102. package/dist/cli.js +1 -1
  103. package/dist/cli.js.map +1 -1
  104. package/dist/context/compressor.d.ts.map +1 -1
  105. package/dist/context/compressor.js +5 -25
  106. package/dist/context/compressor.js.map +1 -1
  107. package/dist/context/deps.d.ts.map +1 -1
  108. package/dist/context/deps.js +50 -4
  109. package/dist/context/deps.js.map +1 -1
  110. package/dist/context/grep.d.ts +14 -0
  111. package/dist/context/grep.d.ts.map +1 -1
  112. package/dist/context/grep.js +49 -0
  113. package/dist/context/grep.js.map +1 -1
  114. package/dist/context/unit-surgery.d.ts +3 -1
  115. package/dist/context/unit-surgery.d.ts.map +1 -1
  116. package/dist/context/unit-surgery.js +52 -5
  117. package/dist/context/unit-surgery.js.map +1 -1
  118. package/dist/handlers/activate.d.ts +1 -1
  119. package/dist/handlers/activate.d.ts.map +1 -1
  120. package/dist/handlers/activate.js +23 -35
  121. package/dist/handlers/activate.js.map +1 -1
  122. package/dist/handlers/diagnose.d.ts.map +1 -1
  123. package/dist/handlers/diagnose.js +8 -29
  124. package/dist/handlers/diagnose.js.map +1 -1
  125. package/dist/handlers/dispatch.d.ts.map +1 -1
  126. package/dist/handlers/dispatch.js +21 -5
  127. package/dist/handlers/dispatch.js.map +1 -1
  128. package/dist/handlers/editable-source.d.ts +6 -0
  129. package/dist/handlers/editable-source.d.ts.map +1 -0
  130. package/dist/handlers/editable-source.js +53 -0
  131. package/dist/handlers/editable-source.js.map +1 -0
  132. package/dist/handlers/feature-cache.d.ts +2 -0
  133. package/dist/handlers/feature-cache.d.ts.map +1 -1
  134. package/dist/handlers/feature-cache.js +8 -0
  135. package/dist/handlers/feature-cache.js.map +1 -1
  136. package/dist/handlers/hyperfocused.js +1 -1
  137. package/dist/handlers/hyperfocused.js.map +1 -1
  138. package/dist/handlers/lint.js +1 -1
  139. package/dist/handlers/lint.js.map +1 -1
  140. package/dist/handlers/navigate.d.ts.map +1 -1
  141. package/dist/handlers/navigate.js +12 -2
  142. package/dist/handlers/navigate.js.map +1 -1
  143. package/dist/handlers/object-types.d.ts +2 -3
  144. package/dist/handlers/object-types.d.ts.map +1 -1
  145. package/dist/handlers/object-types.js +13 -5
  146. package/dist/handlers/object-types.js.map +1 -1
  147. package/dist/handlers/read.d.ts.map +1 -1
  148. package/dist/handlers/read.js +38 -7
  149. package/dist/handlers/read.js.map +1 -1
  150. package/dist/handlers/schemas.d.ts +39 -0
  151. package/dist/handlers/schemas.d.ts.map +1 -1
  152. package/dist/handlers/schemas.js +50 -7
  153. package/dist/handlers/schemas.js.map +1 -1
  154. package/dist/handlers/syntax.d.ts +5 -0
  155. package/dist/handlers/syntax.d.ts.map +1 -0
  156. package/dist/handlers/syntax.js +35 -0
  157. package/dist/handlers/syntax.js.map +1 -0
  158. package/dist/handlers/tool-descriptions.d.ts.map +1 -1
  159. package/dist/handlers/tool-descriptions.js +8 -6
  160. package/dist/handlers/tool-descriptions.js.map +1 -1
  161. package/dist/handlers/tool-registry.d.ts +4 -4
  162. package/dist/handlers/tool-registry.d.ts.map +1 -1
  163. package/dist/handlers/tool-registry.js +4 -0
  164. package/dist/handlers/tool-registry.js.map +1 -1
  165. package/dist/handlers/tools.d.ts +1 -16
  166. package/dist/handlers/tools.d.ts.map +1 -1
  167. package/dist/handlers/tools.js +44 -55
  168. package/dist/handlers/tools.js.map +1 -1
  169. package/dist/handlers/transport.d.ts.map +1 -1
  170. package/dist/handlers/transport.js +17 -3
  171. package/dist/handlers/transport.js.map +1 -1
  172. package/dist/handlers/where-used.d.ts.map +1 -1
  173. package/dist/handlers/where-used.js +0 -5
  174. package/dist/handlers/where-used.js.map +1 -1
  175. package/dist/handlers/write/class-edit.d.ts +16 -0
  176. package/dist/handlers/write/class-edit.d.ts.map +1 -0
  177. package/dist/handlers/write/class-edit.js +55 -0
  178. package/dist/handlers/write/class-edit.js.map +1 -0
  179. package/dist/handlers/write/class-surgery.d.ts +2 -2
  180. package/dist/handlers/write/class-surgery.d.ts.map +1 -1
  181. package/dist/handlers/write/class-surgery.js +189 -220
  182. package/dist/handlers/write/class-surgery.js.map +1 -1
  183. package/dist/handlers/write/context.d.ts +1 -8
  184. package/dist/handlers/write/context.d.ts.map +1 -1
  185. package/dist/handlers/write/create.d.ts.map +1 -1
  186. package/dist/handlers/write/create.js +11 -4
  187. package/dist/handlers/write/create.js.map +1 -1
  188. package/dist/handlers/write/metadata-update.d.ts +4 -0
  189. package/dist/handlers/write/metadata-update.d.ts.map +1 -0
  190. package/dist/handlers/write/metadata-update.js +58 -0
  191. package/dist/handlers/write/metadata-update.js.map +1 -0
  192. package/dist/handlers/write/rap.d.ts.map +1 -1
  193. package/dist/handlers/write/rap.js +132 -155
  194. package/dist/handlers/write/rap.js.map +1 -1
  195. package/dist/handlers/write/unit-surgery.d.ts +2 -2
  196. package/dist/handlers/write/unit-surgery.d.ts.map +1 -1
  197. package/dist/handlers/write/unit-surgery.js +14 -8
  198. package/dist/handlers/write/unit-surgery.js.map +1 -1
  199. package/dist/handlers/write/update-delete.d.ts.map +1 -1
  200. package/dist/handlers/write/update-delete.js +34 -82
  201. package/dist/handlers/write/update-delete.js.map +1 -1
  202. package/dist/handlers/write-helpers.d.ts +3 -2
  203. package/dist/handlers/write-helpers.d.ts.map +1 -1
  204. package/dist/handlers/write-helpers.js +123 -18
  205. package/dist/handlers/write-helpers.js.map +1 -1
  206. package/dist/handlers/write.d.ts.map +1 -1
  207. package/dist/handlers/write.js +15 -29
  208. package/dist/handlers/write.js.map +1 -1
  209. package/dist/public/read-only-client.d.ts +6 -0
  210. package/dist/public/read-only-client.d.ts.map +1 -0
  211. package/dist/public/read-only-client.js +66 -0
  212. package/dist/public/read-only-client.js.map +1 -0
  213. package/dist/public/types.d.ts +2 -13
  214. package/dist/public/types.d.ts.map +1 -1
  215. package/dist/server/audit.d.ts +6 -1
  216. package/dist/server/audit.d.ts.map +1 -1
  217. package/dist/server/audit.js.map +1 -1
  218. package/dist/server/config.d.ts.map +1 -1
  219. package/dist/server/config.js +3 -0
  220. package/dist/server/config.js.map +1 -1
  221. package/dist/server/deny-actions.d.ts +2 -1
  222. package/dist/server/deny-actions.d.ts.map +1 -1
  223. package/dist/server/deny-actions.js +13 -2
  224. package/dist/server/deny-actions.js.map +1 -1
  225. package/dist/server/http.d.ts.map +1 -1
  226. package/dist/server/http.js +4 -0
  227. package/dist/server/http.js.map +1 -1
  228. package/dist/server/logger.d.ts +3 -3
  229. package/dist/server/logger.d.ts.map +1 -1
  230. package/dist/server/logger.js +7 -7
  231. package/dist/server/logger.js.map +1 -1
  232. package/dist/server/multi-target-basic-auth.d.ts.map +1 -1
  233. package/dist/server/multi-target-basic-auth.js +1 -0
  234. package/dist/server/multi-target-basic-auth.js.map +1 -1
  235. package/dist/server/multi-target-runtime.d.ts.map +1 -1
  236. package/dist/server/multi-target-runtime.js +1 -0
  237. package/dist/server/multi-target-runtime.js.map +1 -1
  238. package/dist/server/plugin-loader.d.ts.map +1 -1
  239. package/dist/server/plugin-loader.js +1 -3
  240. package/dist/server/plugin-loader.js.map +1 -1
  241. package/dist/server/safe-http-client.d.ts +6 -12
  242. package/dist/server/safe-http-client.d.ts.map +1 -1
  243. package/dist/server/safe-http-client.js +28 -63
  244. package/dist/server/safe-http-client.js.map +1 -1
  245. package/dist/server/server.d.ts +5 -4
  246. package/dist/server/server.d.ts.map +1 -1
  247. package/dist/server/server.js +58 -51
  248. package/dist/server/server.js.map +1 -1
  249. package/dist/server/types.d.ts +1 -0
  250. package/dist/server/types.d.ts.map +1 -1
  251. package/dist/server/types.js +2 -0
  252. package/dist/server/types.js.map +1 -1
  253. package/dist/version.d.ts +3 -0
  254. package/dist/version.d.ts.map +1 -0
  255. package/dist/version.js +3 -0
  256. package/dist/version.js.map +1 -0
  257. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"multi-target-runtime.js","sourceRoot":"","sources":["../../src/server/multi-target-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-target-runtime.js","sourceRoot":"","sources":["../../src/server/multi-target-runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-loader.d.ts","sourceRoot":"","sources":["../../src/server/plugin-loader.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAU,oBAAoB,EAAe,MAAM,oBAAoB,CAAC;AACpF,OAAO,KAAK,EAAsC,YAAY,EAAc,MAAM,8BAA8B,CAAC;AAIjH,8FAA8F;AAC9F,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAyGD,wGAAwG;AACxG,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,GAAG,IAAI,CAY9G;AAuBD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA0BlG"}
1
+ {"version":3,"file":"plugin-loader.d.ts","sourceRoot":"","sources":["../../src/server/plugin-loader.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAU,oBAAoB,EAAe,MAAM,oBAAoB,CAAC;AACpF,OAAO,KAAK,EAAsC,YAAY,EAAc,MAAM,8BAA8B,CAAC;AAIjH,8FAA8F;AAC9F,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAuGD,wGAAwG;AACxG,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,GAAG,IAAI,CAY9G;AAuBD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA0BlG"}
@@ -80,9 +80,7 @@ function makePluginInvoke(def) {
80
80
  };
81
81
  }
82
82
  const publicCtx = {
83
- // `client` is a runtime read-only Proxy (escape hatches `.http`/`.safety`/`withSafety` blocked,
84
- // not just type-hidden); `http` is the gated read-only surface — the only sanctioned low-level
85
- // HTTP path. Both close review B1. See safe-http-client.ts.
83
+ // Explicit plain-read facade; the HTTP and execution surfaces have separate gates.
86
84
  client: createReadOnlyAdtClient(dispatchCtx.client),
87
85
  http: createSafeHttpClient(dispatchCtx.client.http, dispatchCtx.client.safety, def.name, def.policy.scope, dispatchCtx.config.allowPluginRawWrites),
88
86
  run: createPluginRunOps(dispatchCtx.client.http, dispatchCtx.client.safety, dispatchCtx.config.allowPluginExecute, def.policy.scope, def.name),
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/server/plugin-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/server/plugin-loader.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@ import type { AdtClient } from '../adt/client.js';
2
2
  import type { AdtHttpClient, AdtResponse } from '../adt/http.js';
3
3
  import { type SafetyConfig } from '../adt/safety.js';
4
4
  import { type Scope } from '../authz/policy.js';
5
- import type { PluginRunOps, ReadOnlyAdtClient } from '../public/types.js';
5
+ import { type ReadOnlyAdtClient } from '../public/read-only-client.js';
6
+ import type { PluginRunOps } from '../public/types.js';
6
7
  /** The gated HTTP surface a plugin tool receives as `ctx.http`. GET/HEAD always; POST/PUT/DELETE to
7
8
  * NON-ADT paths only when the server opts in — see {@link createSafeHttpClient}. */
8
9
  export interface SafeHttpClient {
@@ -22,19 +23,12 @@ export interface SafeHttpClient {
22
23
  * @param allowRawWrites the server opt-in (`SAP_ALLOW_PLUGIN_RAW_WRITES`) for non-ADT writes
23
24
  */
24
25
  export declare function createSafeHttpClient(underlying: AdtHttpClient, safety: SafetyConfig, opLabel: string, toolScope: Scope, allowRawWrites: boolean): SafeHttpClient;
25
- /**
26
- * Runtime read-only view of an `AdtClient`, handed to plugins as `ctx.client`. The static type
27
- * `ReadOnlyAdtClient` hides the escape hatches at compile time; this Proxy enforces the SAME
28
- * omission at runtime, so `(ctx.client as any).http.post(...)` resolves to `undefined` (review B1).
29
- *
30
- * Read methods keep working: each is returned bound to the REAL client, so a method's internal
31
- * `this.http` / `this.safety` use hits the real instance directly (never the Proxy) — only
32
- * EXTERNAL access to a blocked key is denied. Mutating traps are closed so a plugin can't repair
33
- * the object either.
34
- */
26
+ /** Plain reads only: new client methods are private to ARC-1 until explicitly reviewed here.
27
+ * Bind readers to the real per-request client so internal identity and safety checks still work.
28
+ * This facade limits supported capabilities; plugins remain trusted in-process code, not a sandbox. */
35
29
  export declare function createReadOnlyAdtClient(client: AdtClient): ReadOnlyAdtClient;
36
30
  /**
37
- * Build the `ctx.run` named-operation surface. Unlike `ctx.http` (read-only), these EXECUTE — so the
31
+ * Build the `ctx.run` named-operation surface. These operations EXECUTE arbitrary ABAP, so the
38
32
  * gate is the strictest in the framework. Classes and reports can mutate anything, so they require
39
33
  * ALL of: the dedicated opt-in
40
34
  * `SAP_ALLOW_PLUGIN_EXECUTE`; `allowWrites` (via `checkOperation`, since execution is a mutation
@@ -1 +1 @@
1
- {"version":3,"file":"safe-http-client.d.ts","sourceRoot":"","sources":["../../src/server/safe-http-client.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAyD,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAoB,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE1E;qFACqF;AACrF,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAChH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9G,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9E;AAoCD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,aAAa,EACzB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,KAAK,EAChB,cAAc,EAAE,OAAO,GACtB,cAAc,CAiDhB;AAmBD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,iBAAiB,CA2B5E;AAOD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,aAAa,EACzB,MAAM,EAAE,YAAY,EACpB,kBAAkB,EAAE,OAAO,EAC3B,SAAS,EAAE,KAAK,EAChB,OAAO,EAAE,MAAM,GACd,YAAY,CAqCd"}
1
+ {"version":3,"file":"safe-http-client.d.ts","sourceRoot":"","sources":["../../src/server/safe-http-client.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAyD,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAoB,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;qFACqF;AACrF,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAChH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9G,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9E;AAyDD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,aAAa,EACzB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,KAAK,EAChB,cAAc,EAAE,OAAO,GACtB,cAAc,CAiDhB;AAED;;uGAEuG;AACvG,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,iBAAiB,CAS5E;AAOD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,aAAa,EACzB,MAAM,EAAE,YAAY,EACpB,kBAAkB,EAAE,OAAO,EAC3B,SAAS,EAAE,KAAK,EAChB,OAAO,EAAE,MAAM,GACd,YAAY,CAyCd"}
@@ -11,15 +11,15 @@
11
11
  // us — those wait for the v2 package-aware `ctx.write` vocabulary. (`SAP_ALLOWED_PACKAGES` does
12
12
  // not apply to OData/ICF paths — there is no ABAP package in them.)
13
13
  //
14
- // 2. `ctx.client` — typed as `ReadOnlyAdtClient` (Omit of `http`/`safety`/`withSafety`/…), but a
15
- // cast (`(ctx.client as any).http`) would defeat a type-only narrowing. `createReadOnlyAdtClient`
16
- // enforces the same omission at RUNTIME via a Proxy, so the cast yields `undefined`.
14
+ // 2. `ctx.client` — a frozen facade of explicitly reviewed plain reads. The same key list
15
+ // defines its runtime surface and public type; new AdtClient methods do not appear implicitly.
17
16
  //
18
17
  // CSRF, cookies, PP auth, sessions, the semaphore all ride the underlying client unchanged.
19
18
  // See docs/research/2026-06-17-extension-framework-spec.md §5.
20
- import { AdtSafetyError } from '../adt/errors.js';
19
+ import { AdtApiError, AdtNetworkError, AdtSafetyError } from '../adt/errors.js';
21
20
  import { checkOperation, OperationType } from '../adt/safety.js';
22
21
  import { hasRequiredScope } from '../authz/policy.js';
22
+ import { READ_ONLY_CLIENT_KEYS } from '../public/read-only-client.js';
23
23
  /**
24
24
  * True for any path SAP would route to the ADT namespace. Must check the path SAP *actually* routes,
25
25
  * not the raw argument — so it is computed exactly the way `AdtHttpClient.buildUrl` builds the request
@@ -56,6 +56,19 @@ function isAdtPath(path) {
56
56
  .replace(/\/{2,}/g, '/')
57
57
  .startsWith('/sap/bc/adt/');
58
58
  }
59
+ /** Services and ABAP execution may commit before an error response; callers must apply their gates first. */
60
+ async function postWithoutTransientReplay(underlying, path, body, contentType, headers) {
61
+ try {
62
+ return await underlying.post(path, body, contentType, headers, { retryTransientErrors: false });
63
+ }
64
+ catch (error) {
65
+ if (error instanceof AdtNetworkError ||
66
+ (error instanceof AdtApiError && (error.statusCode === 429 || error.isServerError))) {
67
+ error.pluginPostOutcome = 'unknown';
68
+ }
69
+ throw error;
70
+ }
71
+ }
59
72
  /**
60
73
  * Wrap a per-user `AdtHttpClient` in the gated surface for one tool call.
61
74
  *
@@ -97,7 +110,7 @@ export function createSafeHttpClient(underlying, safety, opLabel, toolScope, all
97
110
  },
98
111
  async post(path, body, contentType, headers) {
99
112
  gateWrite(OperationType.Create, path);
100
- return underlying.post(path, body, contentType, headers);
113
+ return postWithoutTransientReplay(underlying, path, body, contentType, headers);
101
114
  },
102
115
  async put(path, body, contentType, headers) {
103
116
  gateWrite(OperationType.Update, path);
@@ -109,69 +122,21 @@ export function createSafeHttpClient(underlying, safety, opLabel, toolScope, all
109
122
  },
110
123
  };
111
124
  }
112
- /** Keys that must NOT be reachable from a plugin's `ctx.client` (mirror `ReadOnlyAdtClient`'s Omit). */
113
- const BLOCKED_CLIENT_KEYS = new Set([
114
- 'http', // the raw, ungated AdtHttpClient
115
- 'safety', // the effective safety ref
116
- 'withSafety', // the safety-escalation clone hatch
117
- 'getPackageHierarchyResolver',
118
- 'invalidatePackageHierarchy',
119
- // Scope-escalating reads: these `checkOperation` against `data`/`sql`, not `read`. A plugin
120
- // declaring only `scope: 'read'` must not reach them via `ctx.client` (the Omit was a type-only
121
- // narrowing — without these a read tool could call data/SQL whenever the effective safety allowed
122
- // it). v1 plugins have no data/SQL surface at all (ctx.http is GET-only too); a scoped ctx.data /
123
- // ctx.sql facade is a v2 item.
124
- 'getTableContents', // OperationType.Query → `data`
125
- 'runQuery', // OperationType.FreeSQL → `sql`
126
- 'runTableQuery', // OperationType.Query → `data`
127
- ]);
128
- /**
129
- * Runtime read-only view of an `AdtClient`, handed to plugins as `ctx.client`. The static type
130
- * `ReadOnlyAdtClient` hides the escape hatches at compile time; this Proxy enforces the SAME
131
- * omission at runtime, so `(ctx.client as any).http.post(...)` resolves to `undefined` (review B1).
132
- *
133
- * Read methods keep working: each is returned bound to the REAL client, so a method's internal
134
- * `this.http` / `this.safety` use hits the real instance directly (never the Proxy) — only
135
- * EXTERNAL access to a blocked key is denied. Mutating traps are closed so a plugin can't repair
136
- * the object either.
137
- */
125
+ /** Plain reads only: new client methods are private to ARC-1 until explicitly reviewed here.
126
+ * Bind readers to the real per-request client so internal identity and safety checks still work.
127
+ * This facade limits supported capabilities; plugins remain trusted in-process code, not a sandbox. */
138
128
  export function createReadOnlyAdtClient(client) {
139
- const isBlocked = (prop) => typeof prop === 'string' && BLOCKED_CLIENT_KEYS.has(prop);
140
- return new Proxy(client, {
141
- get(target, prop) {
142
- if (isBlocked(prop))
143
- return undefined;
144
- const value = Reflect.get(target, prop, target);
145
- return typeof value === 'function' ? value.bind(target) : value;
146
- },
147
- has(target, prop) {
148
- if (isBlocked(prop))
149
- return false;
150
- return Reflect.has(target, prop);
151
- },
152
- // `http`/`safety` are own data properties, so without these two traps a plugin could read the
153
- // raw client back via `Object.getOwnPropertyDescriptor(ctx.client, 'http').value` (the `get`
154
- // trap alone does NOT cover the descriptor path) or enumerate it. They are configurable on the
155
- // target (TS `readonly` is compile-time only), so hiding them violates no Proxy invariant.
156
- getOwnPropertyDescriptor(target, prop) {
157
- if (isBlocked(prop))
158
- return undefined;
159
- return Reflect.getOwnPropertyDescriptor(target, prop);
160
- },
161
- ownKeys(target) {
162
- return Reflect.ownKeys(target).filter((k) => !isBlocked(k));
163
- },
164
- set: () => false,
165
- defineProperty: () => false,
166
- deleteProperty: () => false,
167
- });
129
+ return Object.freeze(Object.fromEntries(READ_ONLY_CLIENT_KEYS.map((key) => {
130
+ const value = client[key];
131
+ return [key, typeof value === 'function' ? value.bind(client) : value];
132
+ })));
168
133
  }
169
134
  /** ABAP object name (class): letters/digits/underscore/slash, ≤ 40 chars. Blocks path injection. */
170
135
  const ABAP_CLASS_NAME = /^[A-Za-z_/][A-Za-z0-9_/]{0,39}$/;
171
136
  /** ABAP report name: optional namespace plus a 1–40 character repository name. */
172
137
  const ABAP_PROGRAM_NAME = /^(?=.{1,40}$)(?:\/[A-Za-z0-9_]+\/)?[A-Za-z0-9_$]+$/;
173
138
  /**
174
- * Build the `ctx.run` named-operation surface. Unlike `ctx.http` (read-only), these EXECUTE — so the
139
+ * Build the `ctx.run` named-operation surface. These operations EXECUTE arbitrary ABAP, so the
175
140
  * gate is the strictest in the framework. Classes and reports can mutate anything, so they require
176
141
  * ALL of: the dedicated opt-in
177
142
  * `SAP_ALLOW_PLUGIN_EXECUTE`; `allowWrites` (via `checkOperation`, since execution is a mutation
@@ -195,7 +160,7 @@ export function createPluginRunOps(underlying, safety, allowPluginExecute, toolS
195
160
  if (typeof className !== 'string' || !ABAP_CLASS_NAME.test(className)) {
196
161
  throw new AdtSafetyError(`Extension tool '${opLabel}': invalid ABAP class name '${className}'.`);
197
162
  }
198
- const res = await underlying.post(`/sap/bc/adt/oo/classrun/${encodeURIComponent(className.toLowerCase())}`);
163
+ const res = await postWithoutTransientReplay(underlying, `/sap/bc/adt/oo/classrun/${encodeURIComponent(className.toLowerCase())}`);
199
164
  return res.body;
200
165
  },
201
166
  async programRun(programName) {
@@ -203,7 +168,7 @@ export function createPluginRunOps(underlying, safety, allowPluginExecute, toolS
203
168
  if (typeof programName !== 'string' || !ABAP_PROGRAM_NAME.test(programName)) {
204
169
  throw new AdtSafetyError(`Extension tool '${opLabel}': invalid ABAP program name '${programName}'.`);
205
170
  }
206
- const res = await underlying.post(`/sap/bc/adt/programs/programrun/${encodeURIComponent(programName.toLowerCase())}`);
171
+ const res = await postWithoutTransientReplay(underlying, `/sap/bc/adt/programs/programrun/${encodeURIComponent(programName.toLowerCase())}`);
207
172
  return res.body;
208
173
  },
209
174
  };
@@ -1 +1 @@
1
- {"version":3,"file":"safe-http-client.js","sourceRoot":"","sources":["../../src/server/safe-http-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safe-http-client.js","sourceRoot":"","sources":["../../src/server/safe-http-client.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,EAAE;AACF,iGAAiG;AACjG,yEAAyE;AACzE,EAAE;AACF,kGAAkG;AAClG,mGAAmG;AACnG,+FAA+F;AAC/F,sGAAsG;AACtG,sGAAsG;AACtG,qGAAqG;AACrG,yEAAyE;AACzE,EAAE;AACF,4FAA4F;AAC5F,oGAAoG;AACpG,EAAE;AACF,4FAA4F;AAC5F,+DAA+D;AAG/D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAE,aAAa,EAA6C,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAc,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAA0B,MAAM,+BAA+B,CAAC;AAa9F;;;;;;;;;GASG;AACH,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;IACrF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,qCAAqC;IACpD,CAAC;IACD,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,CAAC,8CAA8C;QAC7D,CAAC;QACD,IAAI,IAAI,KAAK,OAAO;YAAE,MAAM;QAC5B,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,OAAO;SACX,WAAW,EAAE;SACb,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,UAAU,CAAC,cAAc,CAAC,CAAC;AAChC,CAAC;AAED,6GAA6G;AAC7G,KAAK,UAAU,0BAA0B,CACvC,UAAyB,EACzB,IAAY,EACZ,IAAa,EACb,WAAoB,EACpB,OAAgC;IAEhC,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;IAClG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,eAAe;YAChC,CAAC,KAAK,YAAY,WAAW,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,EACnF,CAAC;YACD,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACtC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAyB,EACzB,MAAoB,EACpB,OAAe,EACf,SAAgB,EAChB,cAAuB;IAEvB,SAAS,QAAQ;QACf,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,UAAU,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,SAAS,SAAS,CAAC,EAAqB,EAAE,IAAY;QACpD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,cAAc,CACtB,mBAAmB,OAAO,2DAA2D;gBACnF,uGAAuG,CAC1G,CAAC;QACJ,CAAC;QACD,gGAAgG;QAChG,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,cAAc,CACtB,mBAAmB,OAAO,qBAAqB,SAAS,yBAAyB,EAAE,qCAAqC,CACzH,CAAC;QACJ,CAAC;QACD,gGAAgG;QAChG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,cAAc,CACtB,mBAAmB,OAAO,oCAAoC,IAAI,8DAA8D;gBAC9H,+EAA+E,CAClF,CAAC;QACJ,CAAC;QACD,+FAA+F;QAC/F,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,UAAU,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;YACrB,QAAQ,EAAE,CAAC;YACX,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO;YACtB,QAAQ,EAAE,CAAC;YACX,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO;YACzC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACtC,OAAO,0BAA0B,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAClF,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO;YACxC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACtC,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO;YACxB,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACtC,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;uGAEuG;AACvG,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,WAAW,CAChB,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC,CAAC,CACH,CACmB,CAAC;AACzB,CAAC;AAED,oGAAoG;AACpG,MAAM,eAAe,GAAG,iCAAiC,CAAC;AAC1D,kFAAkF;AAClF,MAAM,iBAAiB,GAAG,oDAAoD,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAyB,EACzB,MAAoB,EACpB,kBAA2B,EAC3B,SAAgB,EAChB,OAAe;IAEf,SAAS,aAAa,CAAC,IAAwB,EAAE,SAAoC;QACnF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,IAAI,cAAc,CACtB,mBAAmB,OAAO,wBAAwB,IAAI,2CAA2C;gBAC/F,4EAA4E,CAC/E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,cAAc,CACtB,mBAAmB,OAAO,qBAAqB,SAAS,2BAA2B,IAAI,yBAAyB,CACjH,CAAC;QACJ,CAAC;QACD,8FAA8F;QAC9F,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE,UAAU,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,SAAiB;YAC9B,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACnC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,cAAc,CAAC,mBAAmB,OAAO,+BAA+B,SAAS,IAAI,CAAC,CAAC;YACnG,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,0BAA0B,CAC1C,UAAU,EACV,2BAA2B,kBAAkB,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CACzE,CAAC;YACF,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,WAAmB;YAClC,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACtC,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5E,MAAM,IAAI,cAAc,CAAC,mBAAmB,OAAO,iCAAiC,WAAW,IAAI,CAAC,CAAC;YACvG,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,0BAA0B,CAC1C,UAAU,EACV,mCAAmC,kBAAkB,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CACnF,CAAC;YACF,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,6 +1,4 @@
1
1
  /**
2
- * MCP Server for ARC-1.
3
- *
4
2
  * Creates and starts the MCP server with 12 intent-based tools.
5
3
  * Supports two transports:
6
4
  * - stdio (default): for local MCP clients (Claude Desktop, Claude Code, Cursor)
@@ -17,8 +15,7 @@ import { getToolDefinitions, type ToolDefinition, type ToolDefinitionOptions } f
17
15
  import { type McpRateLimiter } from './mcp-rate-limit.js';
18
16
  import { type MultiTargetServerOptions } from './multi-target-server.js';
19
17
  import type { ServerConfig } from './types.js';
20
- /** ARC-1 version */
21
- export declare const VERSION = "1.4.0";
18
+ export { VERSION } from '../version.js';
22
19
  export declare function resolveNullableOptionals(config: ServerConfig, client?: Implementation): boolean;
23
20
  export declare function getToolDefinitionOptions(config: ServerConfig, client?: Implementation): ToolDefinitionOptions;
24
21
  export declare function getConfiguredToolDefinitions(config: ServerConfig, textSearchAvailable?: boolean, resolvedFeatures?: Parameters<typeof getToolDefinitions>[2], client?: Implementation): ToolDefinition[];
@@ -123,7 +120,11 @@ export interface CreateServerOptions {
123
120
  dataResultSemaphore?: Semaphore;
124
121
  mcpRateLimiter?: McpRateLimiter;
125
122
  multiTarget?: MultiTargetServerOptions;
123
+ /** Shared SAP transport (cookies, CSRF token); each request still gets its own AdtClient and caches. */
124
+ defaultHttp?: AdtClient['http'];
126
125
  }
126
+ /** Maximum age when selecting a shared transport for a new HTTP request; not a ticket lifetime (R21). */
127
+ export declare const SHARED_TRANSPORT_MAX_AGE_MS: number;
127
128
  export declare function createServer(config: ServerConfig, options?: CreateServerOptions): Server;
128
129
  /**
129
130
  * Create a CachingLayer based on config.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
1
  /**
2
- * MCP Server for ARC-1.
3
- *
4
2
  * Creates and starts the MCP server with 12 intent-based tools.
5
3
  * Supports two transports:
6
4
  * - stdio (default): for local MCP clients (Claude Desktop, Claude Code, Cursor)
@@ -22,6 +20,7 @@ import { MemoryCache } from '../cache/memory.js';
22
20
  import { getToolRegistry, handleToolCall } from '../handlers/dispatch.js';
23
21
  import { getCachedDiscovery, getCachedFeatures, setCachedDiscovery, setCachedFeatures, } from '../handlers/feature-cache.js';
24
22
  import { getToolDefinitions } from '../handlers/tools.js';
23
+ import { VERSION } from '../version.js';
25
24
  import { logAuthSummary } from './auth-summary.js';
26
25
  import { API_KEY_PROFILES } from './config.js';
27
26
  import { generateRequestId } from './context.js';
@@ -45,8 +44,7 @@ import { FileSink } from './sinks/file.js';
45
44
  import { filterToolsByAuthScope } from './tool-auth.js';
46
45
  import { startLocalUiServer } from './ui.js';
47
46
  import { UiLogBufferSink } from './ui-log-buffer.js';
48
- /** ARC-1 version */
49
- export const VERSION = '1.4.0'; // x-release-please-version
47
+ export { VERSION } from '../version.js';
50
48
  // Soft warning for an unusually large served tools/list. It is re-sent on every conversation (a
51
49
  // recurring token + latency cost), and some MCP clients cap tool-list size. CI's
52
50
  // check-tool-schema-budget guards the built-in surface, but plugin (Custom_*) tools are added at
@@ -151,6 +149,7 @@ export function buildAdtConfig(config, btpProxy, bearerTokenProvider, opts, adtS
151
149
  baseUrl: config.url,
152
150
  client: config.client,
153
151
  language: config.language,
152
+ userAgent: config.userAgent,
154
153
  insecure: config.insecure,
155
154
  gzipDataPreviewBody: config.gzipDataPreviewBody,
156
155
  disableSaml: config.disableSaml2,
@@ -324,6 +323,7 @@ export function applyPerUserAuthTokens(adtConfig, authTokens, displayUsername, d
324
323
  }
325
324
  adtConfig.username = displayUsername;
326
325
  adtConfig.password = undefined;
326
+ adtConfig.http = undefined; // An existing transport can carry another identity's login cookies.
327
327
  return adtConfig;
328
328
  }
329
329
  /**
@@ -509,6 +509,10 @@ export function formatStartupAuthPreflightToolError(preflight) {
509
509
  `Preflight endpoint: ${preflight.endpoint}\n` +
510
510
  `Checked at: ${preflight.checkedAt}`);
511
511
  }
512
+ // Mark startup-401 cookies stale once per transport, preserving cookies refreshed by earlier HTTP calls.
513
+ const staleCookieTransports = new WeakSet();
514
+ /** Maximum age when selecting a shared transport for a new HTTP request; not a ticket lifetime (R21). */
515
+ export const SHARED_TRANSPORT_MAX_AGE_MS = 10 * 60_000;
512
516
  export function createServer(config, options = {}) {
513
517
  const { btpProxy, btpConfig, bearerTokenProvider, cachingLayer, startupProbePromise, startupAuthPreflightPromise, adtSemaphore, dataResultSemaphore, mcpRateLimiter, multiTarget, } = options;
514
518
  const server = new Server({ name: config.serverName, version: VERSION }, {
@@ -518,20 +522,13 @@ export function createServer(config, options = {}) {
518
522
  : buildServerInstructions(config.systemLabel),
519
523
  });
520
524
  const apiKeyProvenanceVerifier = createConfiguredApiKeyVerifier(config);
521
- // Create default ADT client (shared, uses startup-time credentials or OAuth bearer).
522
- // Passes the shared server-wide semaphore so per-user PP clients (created at request
523
- // time) share the same Layer 3 concurrency cap.
525
+ // Default ADT client (startup-time credentials or OAuth bearer); per-user PP clients share its semaphore.
524
526
  const defaultClient = multiTarget
525
527
  ? undefined
526
- : new AdtClient(buildAdtConfig(config, btpProxy, bearerTokenProvider, undefined, adtSemaphore, dataResultSemaphore));
527
- // Cookie-auth preflight propagation: when startup preflight returned a non-blocking
528
- // 401 in SAP_COOKIE_FILE mode, the throwaway preflight client marked itself stale —
529
- // but the long-lived defaultClient was constructed independently with cookies read at
530
- // startup and is unaware. Without explicit propagation, the first real tool call would
531
- // re-emit the same stale cookies and hit 401 again before the lazy reload triggers,
532
- // wasting one round-trip per startup-stale-cookie cycle. We propagate the stale state
533
- // once on first tool call — idempotent flag keeps later calls O(1).
534
- let preflightStalePropagated = false;
528
+ : new AdtClient({
529
+ ...buildAdtConfig(config, btpProxy, bearerTokenProvider, undefined, adtSemaphore, dataResultSemaphore),
530
+ http: options.defaultHttp,
531
+ });
535
532
  let schemaNullableAutoClientInfoLogged = false;
536
533
  // Register tool listing — filtered by user's scopes when auth is active
537
534
  server.setRequestHandler(ListToolsRequestSchema, async (_request, extra) => {
@@ -637,12 +634,10 @@ export function createServer(config, options = {}) {
637
634
  isError: true,
638
635
  };
639
636
  }
640
- // Non-blocking 401 from cookie-auth preflight → mark the runtime client's cookies
641
- // stale so its first call goes straight to the lazy reload path instead of repeating
642
- // the failure. Fires once per process; subsequent calls early-return.
643
- if (!preflightStalePropagated && startupAuth.status === 'inconclusive' && startupAuth.statusCode === 401) {
644
- defaultClient?.http.markCookiesStale();
645
- preflightStalePropagated = true;
637
+ const staleStartupCookies = startupAuth.status === 'inconclusive' && startupAuth.statusCode === 401;
638
+ if (staleStartupCookies && defaultClient && !staleCookieTransports.has(defaultClient.http)) {
639
+ defaultClient.http.markCookiesStale();
640
+ staleCookieTransports.add(defaultClient.http);
646
641
  }
647
642
  }
648
643
  // Principal propagation: create per-user ADT client if enabled and user JWT available.
@@ -847,13 +842,41 @@ export async function createCachingLayer(config) {
847
842
  * Create and start the MCP server.
848
843
  */
849
844
  export async function createAndStartServer(config, sources) {
850
- initLogger(config.logFormat, config.verbose);
845
+ initLogger(config.logFormat, config.logLevel);
851
846
  const startedAt = new Date().toISOString();
852
847
  const uiLogBuffer = config.uiMode !== 'off' ? new UiLogBufferSink() : undefined;
853
848
  if (uiLogBuffer) {
854
849
  logger.addSink(uiLogBuffer);
855
850
  }
856
851
  logAuthSummary(config);
852
+ // Load the XSUAA binding before plugins, UI listeners or SAP traffic so a failure stops startup cleanly.
853
+ let xsuaaCredentials;
854
+ if (config.transport === 'http-streamable' && config.xsuaaAuth) {
855
+ try {
856
+ const xsenv = await import('@sap/xsenv');
857
+ const services = xsenv.getServices({ uaa: { tag: 'xsuaa' } });
858
+ const uaa = services.uaa;
859
+ xsuaaCredentials = {
860
+ url: uaa.url,
861
+ clientid: uaa.clientid,
862
+ clientsecret: uaa.clientsecret,
863
+ xsappname: uaa.xsappname,
864
+ uaadomain: uaa.uaadomain,
865
+ };
866
+ logger.info('XSUAA credentials loaded', {
867
+ xsappname: xsuaaCredentials.xsappname,
868
+ url: xsuaaCredentials.url,
869
+ });
870
+ }
871
+ catch (err) {
872
+ // Fail closed: continuing without credentials would serve /mcp unauthenticated.
873
+ logger.error('Failed to load XSUAA credentials — refusing to start', {
874
+ error: err instanceof Error ? err.message : String(err),
875
+ });
876
+ const flag = config.multiTargetEndpoints ? 'ARC1_MULTI_TARGET_ENDPOINTS' : 'SAP_XSUAA_AUTH';
877
+ throw new Error(`${flag}=true requires a valid bound XSUAA service.`);
878
+ }
879
+ }
857
880
  logger.info('Runtime memory envelope', runtimeMemoryEnvelope());
858
881
  // Effective-policy log + contradiction warnings (Task 8 observability).
859
882
  // Sources is optional for test callers — defaults to 'default' for all fields.
@@ -1069,6 +1092,17 @@ export async function createAndStartServer(config, sources) {
1069
1092
  await runStartupProbe(config, btpProxy, bearerTokenProvider, btpConfig, adtSemaphore);
1070
1093
  })()
1071
1094
  : Promise.resolve();
1095
+ // Retire transport state for new HTTP requests, preserving older requests and their late responses.
1096
+ // Configured cookies are reloaded, not revoked; see R21. Stdio builds its server only once.
1097
+ const newDefaultHttp = () => new AdtClient(buildAdtConfig(config, btpProxy, bearerTokenProvider, undefined, adtSemaphore, dataResultSemaphore))
1098
+ .http;
1099
+ let shared = { http: newDefaultHttp(), since: performance.now() };
1100
+ const defaultHttp = () => {
1101
+ if (performance.now() - shared.since >= SHARED_TRANSPORT_MAX_AGE_MS) {
1102
+ shared = { http: newDefaultHttp(), since: performance.now() };
1103
+ }
1104
+ return shared.http;
1105
+ };
1072
1106
  const buildDefaultServer = () => createServer(config, {
1073
1107
  btpProxy,
1074
1108
  btpConfig,
@@ -1079,6 +1113,7 @@ export async function createAndStartServer(config, sources) {
1079
1113
  adtSemaphore,
1080
1114
  dataResultSemaphore,
1081
1115
  mcpRateLimiter,
1116
+ defaultHttp: defaultHttp(),
1082
1117
  });
1083
1118
  const aggregateConfig = registry ? buildAggregateToolSurfaceConfig(config, registry.targets) : undefined;
1084
1119
  const buildAggregateServer = registry && aggregateConfig && btpConfig
@@ -1118,34 +1153,6 @@ export async function createAndStartServer(config, sources) {
1118
1153
  // per request. This is required because MCP SDK's Server can only connect
1119
1154
  // to one transport at a time, and clients like Copilot Studio send
1120
1155
  // concurrent requests.
1121
- // Load XSUAA credentials if XSUAA auth is enabled
1122
- let xsuaaCredentials;
1123
- if (config.xsuaaAuth) {
1124
- try {
1125
- const xsenv = await import('@sap/xsenv');
1126
- const services = xsenv.getServices({ uaa: { tag: 'xsuaa' } });
1127
- const uaa = services.uaa;
1128
- xsuaaCredentials = {
1129
- url: uaa.url,
1130
- clientid: uaa.clientid,
1131
- clientsecret: uaa.clientsecret,
1132
- xsappname: uaa.xsappname,
1133
- uaadomain: uaa.uaadomain,
1134
- };
1135
- logger.info('XSUAA credentials loaded', {
1136
- xsappname: xsuaaCredentials.xsappname,
1137
- url: xsuaaCredentials.url,
1138
- });
1139
- }
1140
- catch (err) {
1141
- logger.error('Failed to load XSUAA credentials — XSUAA auth will not work', {
1142
- error: err instanceof Error ? err.message : String(err),
1143
- });
1144
- if (config.multiTargetEndpoints) {
1145
- throw new Error('ARC1_MULTI_TARGET_ENDPOINTS=true requires a valid bound XSUAA service.');
1146
- }
1147
- }
1148
- }
1149
1156
  const { startHttpServer } = await import('./http.js');
1150
1157
  const multiTargets = registry && btpConfig && buildAggregateServer
1151
1158
  ? {