@st-gr/sail-proxy 0.9.2 → 0.9.4

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 (244) hide show
  1. package/bundled/gateway/node_modules/.package-lock.json +142 -93
  2. package/bundled/gateway/node_modules/axios/CHANGELOG.md +0 -42
  3. package/bundled/gateway/node_modules/axios/README.md +237 -237
  4. package/bundled/gateway/node_modules/axios/dist/axios.js +21 -113
  5. package/bundled/gateway/node_modules/axios/dist/axios.js.map +1 -0
  6. package/bundled/gateway/node_modules/axios/dist/axios.min.js +2 -2
  7. package/bundled/gateway/node_modules/axios/dist/axios.min.js.map +1 -1
  8. package/bundled/gateway/node_modules/axios/dist/browser/axios.cjs +15 -121
  9. package/bundled/gateway/node_modules/axios/dist/browser/axios.cjs.map +1 -0
  10. package/bundled/gateway/node_modules/axios/dist/esm/axios.js +15 -121
  11. package/bundled/gateway/node_modules/axios/dist/esm/axios.js.map +1 -0
  12. package/bundled/gateway/node_modules/axios/dist/esm/axios.min.js +2 -2
  13. package/bundled/gateway/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  14. package/bundled/gateway/node_modules/axios/dist/node/axios.cjs +107 -249
  15. package/bundled/gateway/node_modules/axios/dist/node/axios.cjs.map +1 -0
  16. package/bundled/gateway/node_modules/axios/index.d.cts +3 -8
  17. package/bundled/gateway/node_modules/axios/index.d.ts +1 -4
  18. package/bundled/gateway/node_modules/axios/lib/adapters/fetch.js +0 -79
  19. package/bundled/gateway/node_modules/axios/lib/adapters/http.js +118 -62
  20. package/bundled/gateway/node_modules/axios/lib/core/Axios.js +0 -1
  21. package/bundled/gateway/node_modules/axios/lib/core/AxiosHeaders.js +2 -2
  22. package/bundled/gateway/node_modules/axios/lib/defaults/transitional.js +0 -1
  23. package/bundled/gateway/node_modules/axios/lib/env/data.js +1 -1
  24. package/bundled/gateway/node_modules/axios/lib/helpers/buildURL.js +1 -1
  25. package/bundled/gateway/node_modules/axios/lib/helpers/formDataToStream.js +2 -2
  26. package/bundled/gateway/node_modules/axios/lib/helpers/resolveConfig.js +6 -12
  27. package/bundled/gateway/node_modules/axios/lib/helpers/toFormData.js +1 -1
  28. package/bundled/gateway/node_modules/axios/lib/utils.js +2 -23
  29. package/bundled/gateway/node_modules/axios/package.json +13 -29
  30. package/bundled/gateway/node_modules/body-parser/HISTORY.md +0 -14
  31. package/bundled/gateway/node_modules/body-parser/SECURITY.md +25 -0
  32. package/bundled/gateway/node_modules/body-parser/lib/types/json.js +5 -1
  33. package/bundled/gateway/node_modules/body-parser/lib/types/urlencoded.js +15 -7
  34. package/bundled/gateway/node_modules/body-parser/node_modules/qs/.editorconfig +46 -0
  35. package/bundled/gateway/node_modules/body-parser/node_modules/qs/.eslintrc +38 -0
  36. package/bundled/gateway/node_modules/body-parser/node_modules/qs/.github/FUNDING.yml +12 -0
  37. package/bundled/gateway/node_modules/body-parser/node_modules/qs/.nycrc +13 -0
  38. package/bundled/gateway/node_modules/body-parser/node_modules/qs/CHANGELOG.md +600 -0
  39. package/bundled/gateway/node_modules/body-parser/node_modules/qs/LICENSE.md +29 -0
  40. package/bundled/gateway/node_modules/body-parser/node_modules/qs/README.md +709 -0
  41. package/bundled/gateway/node_modules/body-parser/node_modules/qs/dist/qs.js +90 -0
  42. package/bundled/gateway/node_modules/body-parser/node_modules/qs/lib/formats.js +23 -0
  43. package/bundled/gateway/node_modules/body-parser/node_modules/qs/lib/index.js +11 -0
  44. package/bundled/gateway/node_modules/body-parser/node_modules/qs/lib/parse.js +296 -0
  45. package/bundled/gateway/node_modules/body-parser/node_modules/qs/lib/stringify.js +351 -0
  46. package/bundled/gateway/node_modules/body-parser/node_modules/qs/lib/utils.js +265 -0
  47. package/bundled/gateway/node_modules/body-parser/node_modules/qs/package.json +91 -0
  48. package/bundled/gateway/node_modules/body-parser/node_modules/qs/test/empty-keys-cases.js +267 -0
  49. package/bundled/gateway/node_modules/body-parser/node_modules/qs/test/parse.js +1170 -0
  50. package/bundled/gateway/node_modules/body-parser/node_modules/qs/test/stringify.js +1298 -0
  51. package/bundled/gateway/node_modules/body-parser/node_modules/qs/test/utils.js +136 -0
  52. package/bundled/gateway/node_modules/body-parser/package.json +10 -9
  53. package/bundled/gateway/node_modules/cookie/index.js +35 -24
  54. package/bundled/gateway/node_modules/cookie/package.json +1 -1
  55. package/bundled/gateway/node_modules/cookie-signature/History.md +1 -5
  56. package/bundled/gateway/node_modules/cookie-signature/index.js +6 -6
  57. package/bundled/gateway/node_modules/cookie-signature/package.json +2 -2
  58. package/bundled/gateway/node_modules/express/History.md +0 -43
  59. package/bundled/gateway/node_modules/express/lib/response.js +0 -1
  60. package/bundled/gateway/node_modules/express/lib/utils.js +1 -2
  61. package/bundled/gateway/node_modules/express/node_modules/qs/.editorconfig +43 -0
  62. package/bundled/gateway/node_modules/express/node_modules/qs/.eslintrc +38 -0
  63. package/bundled/gateway/node_modules/express/node_modules/qs/.github/FUNDING.yml +12 -0
  64. package/bundled/gateway/node_modules/express/node_modules/qs/.nycrc +13 -0
  65. package/bundled/gateway/node_modules/express/node_modules/qs/CHANGELOG.md +546 -0
  66. package/bundled/gateway/node_modules/express/node_modules/qs/LICENSE.md +29 -0
  67. package/bundled/gateway/node_modules/express/node_modules/qs/README.md +625 -0
  68. package/bundled/gateway/node_modules/express/node_modules/qs/dist/qs.js +2054 -0
  69. package/bundled/gateway/node_modules/express/node_modules/qs/lib/formats.js +23 -0
  70. package/bundled/gateway/node_modules/express/node_modules/qs/lib/index.js +11 -0
  71. package/bundled/gateway/node_modules/express/node_modules/qs/lib/parse.js +263 -0
  72. package/bundled/gateway/node_modules/express/node_modules/qs/lib/stringify.js +326 -0
  73. package/bundled/gateway/node_modules/express/node_modules/qs/lib/utils.js +252 -0
  74. package/bundled/gateway/node_modules/express/node_modules/qs/package.json +77 -0
  75. package/bundled/gateway/node_modules/express/node_modules/qs/test/parse.js +855 -0
  76. package/bundled/gateway/node_modules/express/node_modules/qs/test/stringify.js +909 -0
  77. package/bundled/gateway/node_modules/express/node_modules/qs/test/utils.js +136 -0
  78. package/bundled/gateway/node_modules/express/package.json +17 -21
  79. package/bundled/gateway/node_modules/finalhandler/HISTORY.md +0 -21
  80. package/bundled/gateway/node_modules/finalhandler/README.md +2 -2
  81. package/bundled/gateway/node_modules/finalhandler/index.js +2 -7
  82. package/bundled/gateway/node_modules/finalhandler/node_modules/encodeurl/HISTORY.md +14 -0
  83. package/bundled/gateway/node_modules/finalhandler/node_modules/encodeurl/LICENSE +22 -0
  84. package/bundled/gateway/node_modules/finalhandler/node_modules/encodeurl/README.md +128 -0
  85. package/bundled/gateway/node_modules/finalhandler/node_modules/encodeurl/index.js +60 -0
  86. package/bundled/gateway/node_modules/finalhandler/node_modules/encodeurl/package.json +40 -0
  87. package/bundled/gateway/node_modules/finalhandler/package.json +9 -10
  88. package/bundled/gateway/node_modules/form-data/CHANGELOG.md +29 -2
  89. package/bundled/gateway/node_modules/form-data/README.md +4 -4
  90. package/bundled/gateway/node_modules/form-data/lib/form_data.js +14 -2
  91. package/bundled/gateway/node_modules/form-data/package.json +7 -7
  92. package/bundled/gateway/node_modules/http-errors/HISTORY.md +0 -6
  93. package/bundled/gateway/node_modules/http-errors/index.js +3 -4
  94. package/bundled/gateway/node_modules/http-errors/package.json +8 -12
  95. package/bundled/gateway/node_modules/raw-body/HISTORY.md +308 -0
  96. package/bundled/gateway/node_modules/raw-body/SECURITY.md +24 -0
  97. package/bundled/gateway/node_modules/raw-body/package.json +7 -5
  98. package/bundled/gateway/node_modules/semver/classes/range.js +17 -4
  99. package/bundled/gateway/node_modules/semver/package.json +2 -2
  100. package/bundled/gateway/node_modules/send/HISTORY.md +7 -19
  101. package/bundled/gateway/node_modules/send/node_modules/encodeurl/HISTORY.md +14 -0
  102. package/bundled/gateway/node_modules/send/node_modules/encodeurl/LICENSE +22 -0
  103. package/bundled/gateway/node_modules/send/node_modules/encodeurl/README.md +128 -0
  104. package/bundled/gateway/node_modules/send/node_modules/encodeurl/index.js +60 -0
  105. package/bundled/gateway/node_modules/send/node_modules/encodeurl/package.json +40 -0
  106. package/bundled/gateway/node_modules/send/package.json +6 -6
  107. package/bundled/gateway/node_modules/serve-static/HISTORY.md +0 -16
  108. package/bundled/gateway/node_modules/serve-static/node_modules/encodeurl/HISTORY.md +14 -0
  109. package/bundled/gateway/node_modules/serve-static/node_modules/encodeurl/LICENSE +22 -0
  110. package/bundled/gateway/node_modules/serve-static/node_modules/encodeurl/README.md +128 -0
  111. package/bundled/gateway/node_modules/serve-static/node_modules/encodeurl/index.js +60 -0
  112. package/bundled/gateway/node_modules/serve-static/node_modules/encodeurl/package.json +40 -0
  113. package/bundled/gateway/node_modules/serve-static/package.json +3 -3
  114. package/bundled/gateway/node_modules/side-channel/CHANGELOG.md +10 -0
  115. package/bundled/gateway/node_modules/side-channel/README.md +1 -1
  116. package/bundled/gateway/node_modules/side-channel/index.js +5 -2
  117. package/bundled/gateway/node_modules/side-channel/package.json +10 -10
  118. package/bundled/gateway/node_modules/side-channel/test/index.js +16 -0
  119. package/bundled/gateway/node_modules/statuses/HISTORY.md +0 -5
  120. package/bundled/gateway/node_modules/statuses/README.md +0 -3
  121. package/bundled/gateway/node_modules/statuses/package.json +7 -7
  122. package/bundled/gateway/package-lock.json +150 -101
  123. package/bundled/gateway/package.json +31 -5
  124. package/bundled/gateway/services/gateway/src/controllers/anthropicController.js +1 -1
  125. package/bundled/gateway/services/gateway/src/controllers/awsBedrockController.js +5 -1
  126. package/bundled/gateway/services/gateway/src/index.js +14 -0
  127. package/bundled/gateway/services/gateway/src/plugins/pseudonymization/detectors/index.js +23 -1
  128. package/bundled/gateway/services/gateway/src/plugins/pseudonymization/detectors/regexDetectors.js +149 -10
  129. package/bundled/gateway/services/gateway/src/plugins/pseudonymization/entityToggles.d.ts +24 -0
  130. package/bundled/gateway/services/gateway/src/plugins/pseudonymization/entityToggles.js +54 -0
  131. package/bundled/gateway/services/gateway/src/plugins/pseudonymization/index.d.ts +2 -1
  132. package/bundled/gateway/services/gateway/src/plugins/pseudonymization/index.js +441 -92
  133. package/bundled/gateway/services/gateway/src/plugins/pseudonymization/replacementMap.d.ts +24 -0
  134. package/bundled/gateway/services/gateway/src/plugins/pseudonymization/replacementMap.js +93 -4
  135. package/bundled/gateway/services/gateway/src/plugins/pseudonymization/replacer.d.ts +22 -0
  136. package/bundled/gateway/services/gateway/src/plugins/pseudonymization/replacer.js +77 -0
  137. package/bundled/gateway/services/gateway/src/plugins/pseudonymization/streamBuffer.js +26 -8
  138. package/bundled/gateway/services/gateway/src/services/awsBedrockService.js +118 -46
  139. package/bundled/gateway/services/gateway/src/services/betaFlagQuarantine.d.ts +18 -0
  140. package/bundled/gateway/services/gateway/src/services/betaFlagQuarantine.js +111 -0
  141. package/bundled/gateway/services/gateway/src/services/configService.d.ts +8 -0
  142. package/bundled/gateway/services/gateway/src/services/configService.js +61 -53
  143. package/bundled/gateway/services/gateway/src/utils/bedrockStreamParser.d.ts +9 -0
  144. package/bundled/gateway/services/gateway/src/utils/bedrockStreamParser.js +69 -3
  145. package/bundled/gateway/services/gateway/src/utils/betaFeatureFilter.d.ts +31 -0
  146. package/bundled/gateway/services/gateway/src/utils/betaFeatureFilter.js +58 -0
  147. package/bundled/gateway/services/gateway/src/utils/payloadLogger.d.ts +6 -0
  148. package/bundled/gateway/services/gateway/src/utils/payloadLogger.js +11 -7
  149. package/bundled/gateway/services/gateway/src/utils/pluginCacheSelector.d.ts +15 -0
  150. package/bundled/gateway/services/gateway/src/utils/pluginCacheSelector.js +24 -0
  151. package/bundled/gateway/services/gateway/src/utils/sseWriter.js +4 -2
  152. package/bundled/gateway/services/gateway/src/utils/upstreamErrorBody.d.ts +10 -0
  153. package/bundled/gateway/services/gateway/src/utils/upstreamErrorBody.js +71 -0
  154. package/bundled/ollama/node_modules/.package-lock.json +111 -92
  155. package/bundled/ollama/node_modules/axios/CHANGELOG.md +0 -42
  156. package/bundled/ollama/node_modules/axios/README.md +237 -237
  157. package/bundled/ollama/node_modules/axios/dist/axios.js +21 -113
  158. package/bundled/ollama/node_modules/axios/dist/axios.js.map +1 -0
  159. package/bundled/ollama/node_modules/axios/dist/axios.min.js +2 -2
  160. package/bundled/ollama/node_modules/axios/dist/axios.min.js.map +1 -1
  161. package/bundled/ollama/node_modules/axios/dist/browser/axios.cjs +15 -121
  162. package/bundled/ollama/node_modules/axios/dist/browser/axios.cjs.map +1 -0
  163. package/bundled/ollama/node_modules/axios/dist/esm/axios.js +15 -121
  164. package/bundled/ollama/node_modules/axios/dist/esm/axios.js.map +1 -0
  165. package/bundled/ollama/node_modules/axios/dist/esm/axios.min.js +2 -2
  166. package/bundled/ollama/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  167. package/bundled/ollama/node_modules/axios/dist/node/axios.cjs +107 -249
  168. package/bundled/ollama/node_modules/axios/dist/node/axios.cjs.map +1 -0
  169. package/bundled/ollama/node_modules/axios/index.d.cts +3 -8
  170. package/bundled/ollama/node_modules/axios/index.d.ts +1 -4
  171. package/bundled/ollama/node_modules/axios/lib/adapters/fetch.js +0 -79
  172. package/bundled/ollama/node_modules/axios/lib/adapters/http.js +118 -62
  173. package/bundled/ollama/node_modules/axios/lib/core/Axios.js +0 -1
  174. package/bundled/ollama/node_modules/axios/lib/core/AxiosHeaders.js +2 -2
  175. package/bundled/ollama/node_modules/axios/lib/defaults/transitional.js +0 -1
  176. package/bundled/ollama/node_modules/axios/lib/env/data.js +1 -1
  177. package/bundled/ollama/node_modules/axios/lib/helpers/buildURL.js +1 -1
  178. package/bundled/ollama/node_modules/axios/lib/helpers/formDataToStream.js +2 -2
  179. package/bundled/ollama/node_modules/axios/lib/helpers/resolveConfig.js +6 -12
  180. package/bundled/ollama/node_modules/axios/lib/helpers/toFormData.js +1 -1
  181. package/bundled/ollama/node_modules/axios/lib/utils.js +2 -23
  182. package/bundled/ollama/node_modules/axios/package.json +13 -29
  183. package/bundled/ollama/node_modules/body-parser/HISTORY.md +0 -14
  184. package/bundled/ollama/node_modules/body-parser/SECURITY.md +25 -0
  185. package/bundled/ollama/node_modules/body-parser/lib/types/json.js +5 -1
  186. package/bundled/ollama/node_modules/body-parser/lib/types/urlencoded.js +15 -7
  187. package/bundled/ollama/node_modules/body-parser/package.json +10 -9
  188. package/bundled/ollama/node_modules/cookie/index.js +35 -24
  189. package/bundled/ollama/node_modules/cookie/package.json +1 -1
  190. package/bundled/ollama/node_modules/cookie-signature/History.md +1 -5
  191. package/bundled/ollama/node_modules/cookie-signature/index.js +6 -6
  192. package/bundled/ollama/node_modules/cookie-signature/package.json +2 -2
  193. package/bundled/ollama/node_modules/express/History.md +0 -43
  194. package/bundled/ollama/node_modules/express/lib/response.js +0 -1
  195. package/bundled/ollama/node_modules/express/lib/utils.js +1 -2
  196. package/bundled/ollama/node_modules/express/package.json +17 -21
  197. package/bundled/ollama/node_modules/finalhandler/HISTORY.md +0 -21
  198. package/bundled/ollama/node_modules/finalhandler/README.md +2 -2
  199. package/bundled/ollama/node_modules/finalhandler/index.js +2 -7
  200. package/bundled/ollama/node_modules/finalhandler/node_modules/encodeurl/HISTORY.md +14 -0
  201. package/bundled/ollama/node_modules/finalhandler/node_modules/encodeurl/LICENSE +22 -0
  202. package/bundled/ollama/node_modules/finalhandler/node_modules/encodeurl/README.md +128 -0
  203. package/bundled/ollama/node_modules/finalhandler/node_modules/encodeurl/index.js +60 -0
  204. package/bundled/ollama/node_modules/finalhandler/node_modules/encodeurl/package.json +40 -0
  205. package/bundled/ollama/node_modules/finalhandler/package.json +9 -10
  206. package/bundled/ollama/node_modules/form-data/CHANGELOG.md +29 -2
  207. package/bundled/ollama/node_modules/form-data/README.md +4 -4
  208. package/bundled/ollama/node_modules/form-data/lib/form_data.js +14 -2
  209. package/bundled/ollama/node_modules/form-data/package.json +7 -7
  210. package/bundled/ollama/node_modules/http-errors/HISTORY.md +0 -6
  211. package/bundled/ollama/node_modules/http-errors/index.js +3 -4
  212. package/bundled/ollama/node_modules/http-errors/package.json +8 -12
  213. package/bundled/ollama/node_modules/raw-body/HISTORY.md +308 -0
  214. package/bundled/ollama/node_modules/raw-body/SECURITY.md +24 -0
  215. package/bundled/ollama/node_modules/raw-body/package.json +7 -5
  216. package/bundled/ollama/node_modules/send/HISTORY.md +7 -19
  217. package/bundled/ollama/node_modules/send/node_modules/encodeurl/HISTORY.md +14 -0
  218. package/bundled/ollama/node_modules/send/node_modules/encodeurl/LICENSE +22 -0
  219. package/bundled/ollama/node_modules/send/node_modules/encodeurl/README.md +128 -0
  220. package/bundled/ollama/node_modules/send/node_modules/encodeurl/index.js +60 -0
  221. package/bundled/ollama/node_modules/send/node_modules/encodeurl/package.json +40 -0
  222. package/bundled/ollama/node_modules/send/package.json +6 -6
  223. package/bundled/ollama/node_modules/serve-static/HISTORY.md +0 -16
  224. package/bundled/ollama/node_modules/serve-static/node_modules/encodeurl/HISTORY.md +14 -0
  225. package/bundled/ollama/node_modules/serve-static/node_modules/encodeurl/LICENSE +22 -0
  226. package/bundled/ollama/node_modules/serve-static/node_modules/encodeurl/README.md +128 -0
  227. package/bundled/ollama/node_modules/serve-static/node_modules/encodeurl/index.js +60 -0
  228. package/bundled/ollama/node_modules/serve-static/node_modules/encodeurl/package.json +40 -0
  229. package/bundled/ollama/node_modules/serve-static/package.json +3 -3
  230. package/bundled/ollama/node_modules/side-channel/CHANGELOG.md +10 -0
  231. package/bundled/ollama/node_modules/side-channel/README.md +1 -1
  232. package/bundled/ollama/node_modules/side-channel/index.js +5 -2
  233. package/bundled/ollama/node_modules/side-channel/package.json +10 -10
  234. package/bundled/ollama/node_modules/side-channel/test/index.js +16 -0
  235. package/bundled/ollama/node_modules/statuses/HISTORY.md +0 -5
  236. package/bundled/ollama/node_modules/statuses/README.md +0 -3
  237. package/bundled/ollama/node_modules/statuses/package.json +7 -7
  238. package/bundled/ollama/package-lock.json +114 -95
  239. package/bundled/ollama/package.json +32 -4
  240. package/dist/templates/api_config.template.json +266 -18
  241. package/node_modules/@sap-llm-gateway/service-key-parser/package.json +1 -1
  242. package/package.json +2 -2
  243. package/bundled/gateway/node_modules/axios/lib/helpers/Http2Sessions.js +0 -119
  244. package/bundled/ollama/node_modules/axios/lib/helpers/Http2Sessions.js +0 -119
@@ -92,58 +92,94 @@
92
92
  },
93
93
  "defaultHooks": {
94
94
  "anthropic": {
95
- "pseudonymization": { "enabled": true, "method": "pseudonymization", "allow_user_bypass": false },
95
+ "pseudonymization": {
96
+ "enabled": true,
97
+ "method": "pseudonymization",
98
+ "allow_user_bypass": false
99
+ },
96
100
  "invoke": [
97
101
  {
98
102
  "request": {
99
- "callback": { "id": "pseudonymizationPlugin" },
100
- "match": ["header:contentTypeJson"]
103
+ "callback": {
104
+ "id": "pseudonymizationPlugin"
105
+ },
106
+ "match": [
107
+ "header:contentTypeJson"
108
+ ]
101
109
  }
102
110
  }
103
111
  ],
104
112
  "invoke-with-response-stream": [
105
113
  {
106
114
  "request": {
107
- "callback": { "id": "pseudonymizationPlugin" },
108
- "match": ["header:contentTypeJson"]
115
+ "callback": {
116
+ "id": "pseudonymizationPlugin"
117
+ },
118
+ "match": [
119
+ "header:contentTypeJson"
120
+ ]
109
121
  }
110
122
  }
111
123
  ]
112
124
  },
113
125
  "openai": {
114
- "pseudonymization": { "enabled": true, "method": "pseudonymization", "allow_user_bypass": false },
126
+ "pseudonymization": {
127
+ "enabled": true,
128
+ "method": "pseudonymization",
129
+ "allow_user_bypass": false
130
+ },
115
131
  "invoke": [
116
132
  {
117
133
  "request": {
118
- "callback": { "id": "pseudonymizationPlugin" },
119
- "match": ["header:contentTypeJson"]
134
+ "callback": {
135
+ "id": "pseudonymizationPlugin"
136
+ },
137
+ "match": [
138
+ "header:contentTypeJson"
139
+ ]
120
140
  }
121
141
  }
122
142
  ],
123
143
  "invoke-with-response-stream": [
124
144
  {
125
145
  "request": {
126
- "callback": { "id": "pseudonymizationPlugin" },
127
- "match": ["header:contentTypeJson"]
146
+ "callback": {
147
+ "id": "pseudonymizationPlugin"
148
+ },
149
+ "match": [
150
+ "header:contentTypeJson"
151
+ ]
128
152
  }
129
153
  }
130
154
  ]
131
155
  },
132
156
  "aws-bedrock": {
133
- "pseudonymization": { "enabled": true, "method": "pseudonymization", "allow_user_bypass": false },
157
+ "pseudonymization": {
158
+ "enabled": true,
159
+ "method": "pseudonymization",
160
+ "allow_user_bypass": false
161
+ },
134
162
  "invoke": [
135
163
  {
136
164
  "request": {
137
- "callback": { "id": "pseudonymizationPlugin" },
138
- "match": ["header:contentTypeJson"]
165
+ "callback": {
166
+ "id": "pseudonymizationPlugin"
167
+ },
168
+ "match": [
169
+ "header:contentTypeJson"
170
+ ]
139
171
  }
140
172
  }
141
173
  ],
142
174
  "invoke-with-response-stream": [
143
175
  {
144
176
  "request": {
145
- "callback": { "id": "pseudonymizationPlugin" },
146
- "match": ["header:contentTypeJson"]
177
+ "callback": {
178
+ "id": "pseudonymizationPlugin"
179
+ },
180
+ "match": [
181
+ "header:contentTypeJson"
182
+ ]
147
183
  }
148
184
  }
149
185
  ]
@@ -1283,6 +1319,170 @@
1283
1319
  ],
1284
1320
  "supports_prompt_caching": true
1285
1321
  },
1322
+ "anthropic--claude-4.8-opus--deployed": {
1323
+ "anthropic_version": "bedrock-2023-05-31",
1324
+ "inject_beta_features": [],
1325
+ "contextLength": 1048576,
1326
+ "cachePricing": {
1327
+ "cacheReadInputCostPer1K": "0.00037",
1328
+ "cacheCreationInputCostPer1K": "0.00459"
1329
+ },
1330
+ "hooks": {
1331
+ "invoke": [
1332
+ {
1333
+ "request": {
1334
+ "callback": {
1335
+ "id": "pseudonymizationPlugin"
1336
+ },
1337
+ "match": [
1338
+ "header:contentTypeJson"
1339
+ ]
1340
+ }
1341
+ },
1342
+ {
1343
+ "request": {
1344
+ "callback": {
1345
+ "id": "webSearchPlugin"
1346
+ },
1347
+ "match": [
1348
+ "tools:hasWebSearch"
1349
+ ]
1350
+ }
1351
+ },
1352
+ {
1353
+ "request": {
1354
+ "callback": {
1355
+ "id": "resizeOversizedImages"
1356
+ },
1357
+ "match": [
1358
+ "header:x-app=cli"
1359
+ ]
1360
+ }
1361
+ },
1362
+ {
1363
+ "request": {
1364
+ "callback": {
1365
+ "id": "stripCacheControlScope"
1366
+ },
1367
+ "match": [
1368
+ "header:x-app=cli"
1369
+ ]
1370
+ }
1371
+ },
1372
+ {
1373
+ "request": {
1374
+ "callback": {
1375
+ "id": "repairToolBlocks"
1376
+ },
1377
+ "match": [
1378
+ "header:x-app=cli"
1379
+ ]
1380
+ }
1381
+ },
1382
+ {
1383
+ "request": {
1384
+ "callback": {
1385
+ "id": "removeEmptyAssistantMessages"
1386
+ },
1387
+ "match": [
1388
+ "header:x-app=cli"
1389
+ ]
1390
+ }
1391
+ },
1392
+ {
1393
+ "request": {
1394
+ "callback": {
1395
+ "id": "awsBedrockResponseCache"
1396
+ },
1397
+ "match": [
1398
+ "size:min61kb"
1399
+ ]
1400
+ }
1401
+ }
1402
+ ],
1403
+ "invoke-with-response-stream": [
1404
+ {
1405
+ "request": {
1406
+ "callback": {
1407
+ "id": "pseudonymizationPlugin"
1408
+ },
1409
+ "match": [
1410
+ "header:contentTypeJson"
1411
+ ]
1412
+ }
1413
+ },
1414
+ {
1415
+ "request": {
1416
+ "callback": {
1417
+ "id": "webSearchPlugin"
1418
+ },
1419
+ "match": [
1420
+ "tools:hasWebSearch"
1421
+ ]
1422
+ }
1423
+ },
1424
+ {
1425
+ "request": {
1426
+ "callback": {
1427
+ "id": "resizeOversizedImages"
1428
+ },
1429
+ "match": [
1430
+ "header:x-app=cli"
1431
+ ]
1432
+ }
1433
+ },
1434
+ {
1435
+ "request": {
1436
+ "callback": {
1437
+ "id": "stripCacheControlScope"
1438
+ },
1439
+ "match": [
1440
+ "header:x-app=cli"
1441
+ ]
1442
+ }
1443
+ },
1444
+ {
1445
+ "request": {
1446
+ "callback": {
1447
+ "id": "repairToolBlocks"
1448
+ },
1449
+ "match": [
1450
+ "header:x-app=cli"
1451
+ ]
1452
+ }
1453
+ },
1454
+ {
1455
+ "request": {
1456
+ "callback": {
1457
+ "id": "removeEmptyAssistantMessages"
1458
+ },
1459
+ "match": [
1460
+ "header:x-app=cli"
1461
+ ]
1462
+ }
1463
+ },
1464
+ {
1465
+ "request": {
1466
+ "callback": {
1467
+ "id": "awsBedrockResponseCache"
1468
+ },
1469
+ "match": [
1470
+ "size:min61kb"
1471
+ ]
1472
+ }
1473
+ }
1474
+ ]
1475
+ },
1476
+ "streamingSupported": true,
1477
+ "subpaths_emulated": [],
1478
+ "subpaths_native": [
1479
+ "invoke",
1480
+ "invoke-with-response-stream",
1481
+ "converse",
1482
+ "converse-stream"
1483
+ ],
1484
+ "supports_prompt_caching": true
1485
+ },
1286
1486
  "amazon--titan-text-express": {
1287
1487
  "streamingSupported": false
1288
1488
  },
@@ -1320,11 +1520,50 @@
1320
1520
  "streamingSupported": false
1321
1521
  }
1322
1522
  },
1523
+ "pseudonymization": {
1524
+ "entities": {
1525
+ "profile-person": true,
1526
+ "profile-email": true,
1527
+ "profile-phone": true,
1528
+ "profile-ssn": true,
1529
+ "profile-credit-card-number": true,
1530
+ "profile-iban": true,
1531
+ "profile-url": true,
1532
+ "profile-address": true,
1533
+ "profile-username-password": true,
1534
+ "profile-nationalid": true,
1535
+ "profile-passport": true,
1536
+ "profile-driverlicense": true,
1537
+ "profile-pronouns-gender": true,
1538
+ "profile-nationality": true,
1539
+ "profile-ethnicity": true,
1540
+ "profile-gender": true,
1541
+ "profile-religious-group": true,
1542
+ "profile-political-group": true,
1543
+ "profile-sexual-orientation": true,
1544
+ "profile-trade-union": true,
1545
+ "profile-org": true,
1546
+ "profile-location": true
1547
+ }
1548
+ },
1323
1549
  "anthropic": {
1324
1550
  "anthropic_bedrock_version": "bedrock-2023-05-31",
1325
1551
  "excluded_beta_headers": [
1326
1552
  "prompt-caching-scope-2026-01-05",
1327
- "redact-thinking-2026-02-12"
1553
+ "redact-thinking-2026-02-12",
1554
+ "thinking-token-count-2026-05-13",
1555
+ "structured-outputs-2025-12-15",
1556
+ "fallback-credit-2026-06-01"
1557
+ ],
1558
+ "supported_beta_headers": [
1559
+ "claude-code-20250219",
1560
+ "context-1m-2025-08-07",
1561
+ "interleaved-thinking-2025-05-14",
1562
+ "context-management-2025-06-27",
1563
+ "effort-2025-11-24",
1564
+ "mid-conversation-system-2026-04-07",
1565
+ "afk-mode-2026-01-31",
1566
+ "fine-grained-tool-streaming-2025-05-14"
1328
1567
  ],
1329
1568
  "emulate_streaming_for_models": [
1330
1569
  "anthropic--claude-4-opus"
@@ -1373,6 +1612,10 @@
1373
1612
  {
1374
1613
  "from": "claude-opus-4-7",
1375
1614
  "to": "anthropic--claude-4.7-opus--deployed"
1615
+ },
1616
+ {
1617
+ "from": "claude-opus-4-8",
1618
+ "to": "anthropic--claude-4.8-opus--deployed"
1376
1619
  }
1377
1620
  ]
1378
1621
  },
@@ -1425,6 +1668,10 @@
1425
1668
  {
1426
1669
  "from": "anthropic.claude-opus-4-7",
1427
1670
  "to": "anthropic--claude-4.7-opus--deployed"
1671
+ },
1672
+ {
1673
+ "from": "anthropic.claude-opus-4-8",
1674
+ "to": "anthropic--claude-4.8-opus--deployed"
1428
1675
  }
1429
1676
  ]
1430
1677
  },
@@ -1495,7 +1742,8 @@
1495
1742
  "anthropic--claude-4.5-opus--deployed": 90,
1496
1743
  "anthropic--claude-4.6-sonnet--deployed": 17,
1497
1744
  "anthropic--claude-4.6-opus--deployed": 90,
1498
- "anthropic--claude-4.7-opus--deployed": 90
1745
+ "anthropic--claude-4.7-opus--deployed": 90,
1746
+ "anthropic--claude-4.8-opus--deployed": 90
1499
1747
  },
1500
1748
  "subpath_specific_delays": {
1501
1749
  "converse-stream": 25,
@@ -1503,4 +1751,4 @@
1503
1751
  }
1504
1752
  }
1505
1753
  }
1506
- }
1754
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap-llm-gateway/service-key-parser",
3
- "version": "0.9.2",
3
+ "version": "0.9.4",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "dependencies": {}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@st-gr/sail-proxy",
3
- "version": "0.9.2",
3
+ "version": "0.9.4",
4
4
  "description": "SAP AI Core Local LLM Proxy - A command-line tool to run a local proxy for SAP AI Core Foundation Models",
5
5
  "keywords": [
6
6
  "sap",
@@ -65,7 +65,7 @@
65
65
  "@sap-llm-gateway/service-key-parser"
66
66
  ],
67
67
  "dependencies": {
68
- "@sap-llm-gateway/service-key-parser": "0.9.2",
68
+ "@sap-llm-gateway/service-key-parser": "0.9.4",
69
69
  "axios": "^1.15.1",
70
70
  "chalk": "^4.1.2",
71
71
  "commander": "^14.0.0",
@@ -1,119 +0,0 @@
1
- 'use strict';
2
-
3
- // Node-only: relies on the built-in `http2` module. Browser/react-native
4
- // builds replace `lib/adapters/http.js` (the sole importer) with `lib/helpers/null.js`
5
- // via the `browser` package.json field, so this module is never reached in
6
- // those environments. Do not import it from any browser-reachable code path.
7
-
8
- import http2 from 'http2';
9
- import util from 'util';
10
-
11
- class Http2Sessions {
12
- constructor() {
13
- this.sessions = Object.create(null);
14
- }
15
-
16
- getSession(authority, options) {
17
- options = Object.assign(
18
- {
19
- sessionTimeout: 1000,
20
- },
21
- options
22
- );
23
-
24
- let authoritySessions = this.sessions[authority];
25
-
26
- if (authoritySessions) {
27
- let len = authoritySessions.length;
28
-
29
- for (let i = 0; i < len; i++) {
30
- const [sessionHandle, sessionOptions] = authoritySessions[i];
31
- if (
32
- !sessionHandle.destroyed &&
33
- !sessionHandle.closed &&
34
- util.isDeepStrictEqual(sessionOptions, options)
35
- ) {
36
- return sessionHandle;
37
- }
38
- }
39
- }
40
-
41
- const session = http2.connect(authority, options);
42
-
43
- let removed;
44
- let timer;
45
-
46
- const removeSession = () => {
47
- if (removed) {
48
- return;
49
- }
50
-
51
- removed = true;
52
-
53
- if (timer) {
54
- clearTimeout(timer);
55
- timer = null;
56
- }
57
-
58
- let entries = authoritySessions,
59
- len = entries.length,
60
- i = len;
61
-
62
- while (i--) {
63
- if (entries[i][0] === session) {
64
- if (len === 1) {
65
- delete this.sessions[authority];
66
- } else {
67
- entries.splice(i, 1);
68
- }
69
- if (!session.closed) {
70
- session.close();
71
- }
72
- return;
73
- }
74
- }
75
- };
76
-
77
- const originalRequestFn = session.request;
78
-
79
- const { sessionTimeout } = options;
80
-
81
- if (sessionTimeout != null) {
82
- let streamsCount = 0;
83
-
84
- session.request = function () {
85
- const stream = originalRequestFn.apply(this, arguments);
86
-
87
- streamsCount++;
88
-
89
- if (timer) {
90
- clearTimeout(timer);
91
- timer = null;
92
- }
93
-
94
- stream.once('close', () => {
95
- if (!--streamsCount) {
96
- timer = setTimeout(() => {
97
- timer = null;
98
- removeSession();
99
- }, sessionTimeout);
100
- }
101
- });
102
-
103
- return stream;
104
- };
105
- }
106
-
107
- session.once('close', removeSession);
108
-
109
- let entry = [session, options];
110
-
111
- authoritySessions
112
- ? authoritySessions.push(entry)
113
- : (authoritySessions = this.sessions[authority] = [entry]);
114
-
115
- return session;
116
- }
117
- }
118
-
119
- export default Http2Sessions;
@@ -1,119 +0,0 @@
1
- 'use strict';
2
-
3
- // Node-only: relies on the built-in `http2` module. Browser/react-native
4
- // builds replace `lib/adapters/http.js` (the sole importer) with `lib/helpers/null.js`
5
- // via the `browser` package.json field, so this module is never reached in
6
- // those environments. Do not import it from any browser-reachable code path.
7
-
8
- import http2 from 'http2';
9
- import util from 'util';
10
-
11
- class Http2Sessions {
12
- constructor() {
13
- this.sessions = Object.create(null);
14
- }
15
-
16
- getSession(authority, options) {
17
- options = Object.assign(
18
- {
19
- sessionTimeout: 1000,
20
- },
21
- options
22
- );
23
-
24
- let authoritySessions = this.sessions[authority];
25
-
26
- if (authoritySessions) {
27
- let len = authoritySessions.length;
28
-
29
- for (let i = 0; i < len; i++) {
30
- const [sessionHandle, sessionOptions] = authoritySessions[i];
31
- if (
32
- !sessionHandle.destroyed &&
33
- !sessionHandle.closed &&
34
- util.isDeepStrictEqual(sessionOptions, options)
35
- ) {
36
- return sessionHandle;
37
- }
38
- }
39
- }
40
-
41
- const session = http2.connect(authority, options);
42
-
43
- let removed;
44
- let timer;
45
-
46
- const removeSession = () => {
47
- if (removed) {
48
- return;
49
- }
50
-
51
- removed = true;
52
-
53
- if (timer) {
54
- clearTimeout(timer);
55
- timer = null;
56
- }
57
-
58
- let entries = authoritySessions,
59
- len = entries.length,
60
- i = len;
61
-
62
- while (i--) {
63
- if (entries[i][0] === session) {
64
- if (len === 1) {
65
- delete this.sessions[authority];
66
- } else {
67
- entries.splice(i, 1);
68
- }
69
- if (!session.closed) {
70
- session.close();
71
- }
72
- return;
73
- }
74
- }
75
- };
76
-
77
- const originalRequestFn = session.request;
78
-
79
- const { sessionTimeout } = options;
80
-
81
- if (sessionTimeout != null) {
82
- let streamsCount = 0;
83
-
84
- session.request = function () {
85
- const stream = originalRequestFn.apply(this, arguments);
86
-
87
- streamsCount++;
88
-
89
- if (timer) {
90
- clearTimeout(timer);
91
- timer = null;
92
- }
93
-
94
- stream.once('close', () => {
95
- if (!--streamsCount) {
96
- timer = setTimeout(() => {
97
- timer = null;
98
- removeSession();
99
- }, sessionTimeout);
100
- }
101
- });
102
-
103
- return stream;
104
- };
105
- }
106
-
107
- session.once('close', removeSession);
108
-
109
- let entry = [session, options];
110
-
111
- authoritySessions
112
- ? authoritySessions.push(entry)
113
- : (authoritySessions = this.sessions[authority] = [entry]);
114
-
115
- return session;
116
- }
117
- }
118
-
119
- export default Http2Sessions;