opencode-rehydra-core 0.14.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 (432) hide show
  1. package/LICENSE +22 -0
  2. package/README.en.md +191 -0
  3. package/README.md +191 -0
  4. package/dist/browser.d.ts +54 -0
  5. package/dist/browser.d.ts.map +1 -0
  6. package/dist/browser.js +74 -0
  7. package/dist/browser.js.map +1 -0
  8. package/dist/core/anonymizer.d.ts +309 -0
  9. package/dist/core/anonymizer.d.ts.map +1 -0
  10. package/dist/core/anonymizer.js +555 -0
  11. package/dist/core/anonymizer.js.map +1 -0
  12. package/dist/core/index.d.ts +6 -0
  13. package/dist/core/index.d.ts.map +1 -0
  14. package/dist/core/index.js +6 -0
  15. package/dist/core/index.js.map +1 -0
  16. package/dist/crypto/index.d.ts +6 -0
  17. package/dist/crypto/index.d.ts.map +1 -0
  18. package/dist/crypto/index.js +6 -0
  19. package/dist/crypto/index.js.map +1 -0
  20. package/dist/crypto/pii-map-crypto.d.ts +114 -0
  21. package/dist/crypto/pii-map-crypto.d.ts.map +1 -0
  22. package/dist/crypto/pii-map-crypto.js +228 -0
  23. package/dist/crypto/pii-map-crypto.js.map +1 -0
  24. package/dist/index.d.ts +53 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +72 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/ner/bio-decoder.d.ts +64 -0
  29. package/dist/ner/bio-decoder.d.ts.map +1 -0
  30. package/dist/ner/bio-decoder.js +218 -0
  31. package/dist/ner/bio-decoder.js.map +1 -0
  32. package/dist/ner/index.d.ts +12 -0
  33. package/dist/ner/index.d.ts.map +1 -0
  34. package/dist/ner/index.js +12 -0
  35. package/dist/ner/index.js.map +1 -0
  36. package/dist/ner/inference-server-client.d.ts +81 -0
  37. package/dist/ner/inference-server-client.d.ts.map +1 -0
  38. package/dist/ner/inference-server-client.js +120 -0
  39. package/dist/ner/inference-server-client.js.map +1 -0
  40. package/dist/ner/inference-server-ner-model.d.ts +43 -0
  41. package/dist/ner/inference-server-ner-model.d.ts.map +1 -0
  42. package/dist/ner/inference-server-ner-model.js +119 -0
  43. package/dist/ner/inference-server-ner-model.js.map +1 -0
  44. package/dist/ner/model-manager.d.ts +111 -0
  45. package/dist/ner/model-manager.d.ts.map +1 -0
  46. package/dist/ner/model-manager.js +334 -0
  47. package/dist/ner/model-manager.js.map +1 -0
  48. package/dist/ner/ner-model.d.ts +172 -0
  49. package/dist/ner/ner-model.d.ts.map +1 -0
  50. package/dist/ner/ner-model.js +514 -0
  51. package/dist/ner/ner-model.js.map +1 -0
  52. package/dist/ner/onnx-runtime.browser.d.ts +46 -0
  53. package/dist/ner/onnx-runtime.browser.d.ts.map +1 -0
  54. package/dist/ner/onnx-runtime.browser.js +90 -0
  55. package/dist/ner/onnx-runtime.browser.js.map +1 -0
  56. package/dist/ner/onnx-runtime.d.ts +72 -0
  57. package/dist/ner/onnx-runtime.d.ts.map +1 -0
  58. package/dist/ner/onnx-runtime.js +132 -0
  59. package/dist/ner/onnx-runtime.js.map +1 -0
  60. package/dist/ner/token-window.d.ts +19 -0
  61. package/dist/ner/token-window.d.ts.map +1 -0
  62. package/dist/ner/token-window.js +101 -0
  63. package/dist/ner/token-window.js.map +1 -0
  64. package/dist/ner/tokenizer.d.ts +142 -0
  65. package/dist/ner/tokenizer.d.ts.map +1 -0
  66. package/dist/ner/tokenizer.js +362 -0
  67. package/dist/ner/tokenizer.js.map +1 -0
  68. package/dist/opencode-plugin/git-identity.d.ts +3 -0
  69. package/dist/opencode-plugin/git-identity.d.ts.map +1 -0
  70. package/dist/opencode-plugin/git-identity.js +37 -0
  71. package/dist/opencode-plugin/git-identity.js.map +1 -0
  72. package/dist/opencode-plugin/github-username.d.ts +3 -0
  73. package/dist/opencode-plugin/github-username.d.ts.map +1 -0
  74. package/dist/opencode-plugin/github-username.js +41 -0
  75. package/dist/opencode-plugin/github-username.js.map +1 -0
  76. package/dist/opencode-plugin/identity-recognizer.d.ts +5 -0
  77. package/dist/opencode-plugin/identity-recognizer.d.ts.map +1 -0
  78. package/dist/opencode-plugin/identity-recognizer.js +21 -0
  79. package/dist/opencode-plugin/identity-recognizer.js.map +1 -0
  80. package/dist/opencode-plugin/index.d.ts +7 -0
  81. package/dist/opencode-plugin/index.d.ts.map +1 -0
  82. package/dist/opencode-plugin/index.js +6 -0
  83. package/dist/opencode-plugin/index.js.map +1 -0
  84. package/dist/opencode-plugin/plugin.d.ts +39 -0
  85. package/dist/opencode-plugin/plugin.d.ts.map +1 -0
  86. package/dist/opencode-plugin/plugin.js +294 -0
  87. package/dist/opencode-plugin/plugin.js.map +1 -0
  88. package/dist/opencode-plugin/types.d.ts +33 -0
  89. package/dist/opencode-plugin/types.d.ts.map +1 -0
  90. package/dist/opencode-plugin/types.js +5 -0
  91. package/dist/opencode-plugin/types.js.map +1 -0
  92. package/dist/opencode-plugin/v2/anon-state.d.ts +12 -0
  93. package/dist/opencode-plugin/v2/anon-state.d.ts.map +1 -0
  94. package/dist/opencode-plugin/v2/anon-state.js +14 -0
  95. package/dist/opencode-plugin/v2/anon-state.js.map +1 -0
  96. package/dist/opencode-plugin/v2/deep-rehydrate.d.ts +13 -0
  97. package/dist/opencode-plugin/v2/deep-rehydrate.d.ts.map +1 -0
  98. package/dist/opencode-plugin/v2/deep-rehydrate.js +33 -0
  99. package/dist/opencode-plugin/v2/deep-rehydrate.js.map +1 -0
  100. package/dist/opencode-plugin/v2/index.d.ts +17 -0
  101. package/dist/opencode-plugin/v2/index.d.ts.map +1 -0
  102. package/dist/opencode-plugin/v2/index.js +17 -0
  103. package/dist/opencode-plugin/v2/index.js.map +1 -0
  104. package/dist/opencode-plugin/v2/logger.d.ts +24 -0
  105. package/dist/opencode-plugin/v2/logger.d.ts.map +1 -0
  106. package/dist/opencode-plugin/v2/logger.js +73 -0
  107. package/dist/opencode-plugin/v2/logger.js.map +1 -0
  108. package/dist/opencode-plugin/v2/options.d.ts +40 -0
  109. package/dist/opencode-plugin/v2/options.d.ts.map +1 -0
  110. package/dist/opencode-plugin/v2/options.js +132 -0
  111. package/dist/opencode-plugin/v2/options.js.map +1 -0
  112. package/dist/opencode-plugin/v2/register-hooks.d.ts +43 -0
  113. package/dist/opencode-plugin/v2/register-hooks.d.ts.map +1 -0
  114. package/dist/opencode-plugin/v2/register-hooks.js +160 -0
  115. package/dist/opencode-plugin/v2/register-hooks.js.map +1 -0
  116. package/dist/opencode-plugin/v2/rehydrate-tail.d.ts +101 -0
  117. package/dist/opencode-plugin/v2/rehydrate-tail.d.ts.map +1 -0
  118. package/dist/opencode-plugin/v2/rehydrate-tail.js +147 -0
  119. package/dist/opencode-plugin/v2/rehydrate-tail.js.map +1 -0
  120. package/dist/opencode-plugin/v2/response-rehydrate.d.ts +78 -0
  121. package/dist/opencode-plugin/v2/response-rehydrate.d.ts.map +1 -0
  122. package/dist/opencode-plugin/v2/response-rehydrate.js +210 -0
  123. package/dist/opencode-plugin/v2/response-rehydrate.js.map +1 -0
  124. package/dist/opencode-plugin/v2/scrub-messages.d.ts +39 -0
  125. package/dist/opencode-plugin/v2/scrub-messages.d.ts.map +1 -0
  126. package/dist/opencode-plugin/v2/scrub-messages.js +260 -0
  127. package/dist/opencode-plugin/v2/scrub-messages.js.map +1 -0
  128. package/dist/opencode-plugin/v2/sessions.d.ts +17 -0
  129. package/dist/opencode-plugin/v2/sessions.d.ts.map +1 -0
  130. package/dist/opencode-plugin/v2/sessions.js +23 -0
  131. package/dist/opencode-plugin/v2/sessions.js.map +1 -0
  132. package/dist/opencode-plugin/v2/sse.d.ts +101 -0
  133. package/dist/opencode-plugin/v2/sse.d.ts.map +1 -0
  134. package/dist/opencode-plugin/v2/sse.js +235 -0
  135. package/dist/opencode-plugin/v2/sse.js.map +1 -0
  136. package/dist/opencode-plugin/v2/types.d.ts +188 -0
  137. package/dist/opencode-plugin/v2/types.d.ts.map +1 -0
  138. package/dist/opencode-plugin/v2/types.js +10 -0
  139. package/dist/opencode-plugin/v2/types.js.map +1 -0
  140. package/dist/opencode-plugin/vcs-command.d.ts +3 -0
  141. package/dist/opencode-plugin/vcs-command.d.ts.map +1 -0
  142. package/dist/opencode-plugin/vcs-command.js +34 -0
  143. package/dist/opencode-plugin/vcs-command.js.map +1 -0
  144. package/dist/pipeline/index.d.ts +12 -0
  145. package/dist/pipeline/index.d.ts.map +1 -0
  146. package/dist/pipeline/index.js +12 -0
  147. package/dist/pipeline/index.js.map +1 -0
  148. package/dist/pipeline/prenormalize.d.ts +48 -0
  149. package/dist/pipeline/prenormalize.d.ts.map +1 -0
  150. package/dist/pipeline/prenormalize.js +94 -0
  151. package/dist/pipeline/prenormalize.js.map +1 -0
  152. package/dist/pipeline/resolver.d.ts +56 -0
  153. package/dist/pipeline/resolver.d.ts.map +1 -0
  154. package/dist/pipeline/resolver.js +239 -0
  155. package/dist/pipeline/resolver.js.map +1 -0
  156. package/dist/pipeline/semantic-data-loader.d.ts +171 -0
  157. package/dist/pipeline/semantic-data-loader.d.ts.map +1 -0
  158. package/dist/pipeline/semantic-data-loader.js +677 -0
  159. package/dist/pipeline/semantic-data-loader.js.map +1 -0
  160. package/dist/pipeline/semantic-enricher.d.ts +112 -0
  161. package/dist/pipeline/semantic-enricher.d.ts.map +1 -0
  162. package/dist/pipeline/semantic-enricher.js +322 -0
  163. package/dist/pipeline/semantic-enricher.js.map +1 -0
  164. package/dist/pipeline/tagger.d.ts +121 -0
  165. package/dist/pipeline/tagger.d.ts.map +1 -0
  166. package/dist/pipeline/tagger.js +545 -0
  167. package/dist/pipeline/tagger.js.map +1 -0
  168. package/dist/pipeline/title-extractor.d.ts +79 -0
  169. package/dist/pipeline/title-extractor.d.ts.map +1 -0
  170. package/dist/pipeline/title-extractor.js +801 -0
  171. package/dist/pipeline/title-extractor.js.map +1 -0
  172. package/dist/pipeline/validator.d.ts +65 -0
  173. package/dist/pipeline/validator.d.ts.map +1 -0
  174. package/dist/pipeline/validator.js +292 -0
  175. package/dist/pipeline/validator.js.map +1 -0
  176. package/dist/proxy/index.d.ts +13 -0
  177. package/dist/proxy/index.d.ts.map +1 -0
  178. package/dist/proxy/index.js +12 -0
  179. package/dist/proxy/index.js.map +1 -0
  180. package/dist/proxy/providers/anthropic.d.ts +28 -0
  181. package/dist/proxy/providers/anthropic.d.ts.map +1 -0
  182. package/dist/proxy/providers/anthropic.js +265 -0
  183. package/dist/proxy/providers/anthropic.js.map +1 -0
  184. package/dist/proxy/providers/index.d.ts +19 -0
  185. package/dist/proxy/providers/index.d.ts.map +1 -0
  186. package/dist/proxy/providers/index.js +41 -0
  187. package/dist/proxy/providers/index.js.map +1 -0
  188. package/dist/proxy/providers/openai.d.ts +27 -0
  189. package/dist/proxy/providers/openai.d.ts.map +1 -0
  190. package/dist/proxy/providers/openai.js +203 -0
  191. package/dist/proxy/providers/openai.js.map +1 -0
  192. package/dist/proxy/providers/streaming-tool-loop.d.ts +12 -0
  193. package/dist/proxy/providers/streaming-tool-loop.d.ts.map +1 -0
  194. package/dist/proxy/providers/streaming-tool-loop.js +223 -0
  195. package/dist/proxy/providers/streaming-tool-loop.js.map +1 -0
  196. package/dist/proxy/providers/types.d.ts +109 -0
  197. package/dist/proxy/providers/types.d.ts.map +1 -0
  198. package/dist/proxy/providers/types.js +2 -0
  199. package/dist/proxy/providers/types.js.map +1 -0
  200. package/dist/proxy/proxy-server.d.ts +61 -0
  201. package/dist/proxy/proxy-server.d.ts.map +1 -0
  202. package/dist/proxy/proxy-server.js +146 -0
  203. package/dist/proxy/proxy-server.js.map +1 -0
  204. package/dist/proxy/rehydra-fetch.d.ts +35 -0
  205. package/dist/proxy/rehydra-fetch.d.ts.map +1 -0
  206. package/dist/proxy/rehydra-fetch.js +631 -0
  207. package/dist/proxy/rehydra-fetch.js.map +1 -0
  208. package/dist/proxy/rehydra-proxy.d.ts +40 -0
  209. package/dist/proxy/rehydra-proxy.d.ts.map +1 -0
  210. package/dist/proxy/rehydra-proxy.js +150 -0
  211. package/dist/proxy/rehydra-proxy.js.map +1 -0
  212. package/dist/proxy/sse-parser.d.ts +59 -0
  213. package/dist/proxy/sse-parser.d.ts.map +1 -0
  214. package/dist/proxy/sse-parser.js +112 -0
  215. package/dist/proxy/sse-parser.js.map +1 -0
  216. package/dist/proxy/system-instruction.d.ts +19 -0
  217. package/dist/proxy/system-instruction.d.ts.map +1 -0
  218. package/dist/proxy/system-instruction.js +33 -0
  219. package/dist/proxy/system-instruction.js.map +1 -0
  220. package/dist/proxy/tool-loop-stream.d.ts +7 -0
  221. package/dist/proxy/tool-loop-stream.d.ts.map +1 -0
  222. package/dist/proxy/tool-loop-stream.js +65 -0
  223. package/dist/proxy/tool-loop-stream.js.map +1 -0
  224. package/dist/proxy/types.d.ts +138 -0
  225. package/dist/proxy/types.d.ts.map +1 -0
  226. package/dist/proxy/types.js +5 -0
  227. package/dist/proxy/types.js.map +1 -0
  228. package/dist/proxy/wrap-client.d.ts +47 -0
  229. package/dist/proxy/wrap-client.d.ts.map +1 -0
  230. package/dist/proxy/wrap-client.js +70 -0
  231. package/dist/proxy/wrap-client.js.map +1 -0
  232. package/dist/recognizers/address.d.ts +2 -0
  233. package/dist/recognizers/address.d.ts.map +1 -0
  234. package/dist/recognizers/address.js +23 -0
  235. package/dist/recognizers/address.js.map +1 -0
  236. package/dist/recognizers/base.d.ts +78 -0
  237. package/dist/recognizers/base.d.ts.map +1 -0
  238. package/dist/recognizers/base.js +100 -0
  239. package/dist/recognizers/base.js.map +1 -0
  240. package/dist/recognizers/bic-swift.d.ts +10 -0
  241. package/dist/recognizers/bic-swift.d.ts.map +1 -0
  242. package/dist/recognizers/bic-swift.js +107 -0
  243. package/dist/recognizers/bic-swift.js.map +1 -0
  244. package/dist/recognizers/credit-card.d.ts +32 -0
  245. package/dist/recognizers/credit-card.d.ts.map +1 -0
  246. package/dist/recognizers/credit-card.js +160 -0
  247. package/dist/recognizers/credit-card.js.map +1 -0
  248. package/dist/recognizers/custom-id.d.ts +28 -0
  249. package/dist/recognizers/custom-id.d.ts.map +1 -0
  250. package/dist/recognizers/custom-id.js +116 -0
  251. package/dist/recognizers/custom-id.js.map +1 -0
  252. package/dist/recognizers/date.d.ts +10 -0
  253. package/dist/recognizers/date.d.ts.map +1 -0
  254. package/dist/recognizers/date.js +228 -0
  255. package/dist/recognizers/date.js.map +1 -0
  256. package/dist/recognizers/email.d.ts +10 -0
  257. package/dist/recognizers/email.d.ts.map +1 -0
  258. package/dist/recognizers/email.js +75 -0
  259. package/dist/recognizers/email.js.map +1 -0
  260. package/dist/recognizers/iban.d.ts +14 -0
  261. package/dist/recognizers/iban.d.ts.map +1 -0
  262. package/dist/recognizers/iban.js +67 -0
  263. package/dist/recognizers/iban.js.map +1 -0
  264. package/dist/recognizers/index.d.ts +25 -0
  265. package/dist/recognizers/index.d.ts.map +1 -0
  266. package/dist/recognizers/index.js +53 -0
  267. package/dist/recognizers/index.js.map +1 -0
  268. package/dist/recognizers/ip-address.d.ts +14 -0
  269. package/dist/recognizers/ip-address.d.ts.map +1 -0
  270. package/dist/recognizers/ip-address.js +183 -0
  271. package/dist/recognizers/ip-address.js.map +1 -0
  272. package/dist/recognizers/phone.d.ts +10 -0
  273. package/dist/recognizers/phone.d.ts.map +1 -0
  274. package/dist/recognizers/phone.js +145 -0
  275. package/dist/recognizers/phone.js.map +1 -0
  276. package/dist/recognizers/postal-code.d.ts +16 -0
  277. package/dist/recognizers/postal-code.d.ts.map +1 -0
  278. package/dist/recognizers/postal-code.js +42 -0
  279. package/dist/recognizers/postal-code.js.map +1 -0
  280. package/dist/recognizers/registry.d.ts +59 -0
  281. package/dist/recognizers/registry.d.ts.map +1 -0
  282. package/dist/recognizers/registry.js +113 -0
  283. package/dist/recognizers/registry.js.map +1 -0
  284. package/dist/recognizers/secrets/api-key.d.ts +6 -0
  285. package/dist/recognizers/secrets/api-key.d.ts.map +1 -0
  286. package/dist/recognizers/secrets/api-key.js +40 -0
  287. package/dist/recognizers/secrets/api-key.js.map +1 -0
  288. package/dist/recognizers/secrets/aws-credentials.d.ts +7 -0
  289. package/dist/recognizers/secrets/aws-credentials.d.ts.map +1 -0
  290. package/dist/recognizers/secrets/aws-credentials.js +68 -0
  291. package/dist/recognizers/secrets/aws-credentials.js.map +1 -0
  292. package/dist/recognizers/secrets/config-secret.d.ts +8 -0
  293. package/dist/recognizers/secrets/config-secret.d.ts.map +1 -0
  294. package/dist/recognizers/secrets/config-secret.js +59 -0
  295. package/dist/recognizers/secrets/config-secret.js.map +1 -0
  296. package/dist/recognizers/secrets/connection-string.d.ts +6 -0
  297. package/dist/recognizers/secrets/connection-string.d.ts.map +1 -0
  298. package/dist/recognizers/secrets/connection-string.js +40 -0
  299. package/dist/recognizers/secrets/connection-string.js.map +1 -0
  300. package/dist/recognizers/secrets/env-var.d.ts +8 -0
  301. package/dist/recognizers/secrets/env-var.d.ts.map +1 -0
  302. package/dist/recognizers/secrets/env-var.js +54 -0
  303. package/dist/recognizers/secrets/env-var.js.map +1 -0
  304. package/dist/recognizers/secrets/index.d.ts +22 -0
  305. package/dist/recognizers/secrets/index.d.ts.map +1 -0
  306. package/dist/recognizers/secrets/index.js +41 -0
  307. package/dist/recognizers/secrets/index.js.map +1 -0
  308. package/dist/recognizers/secrets/jwt.d.ts +6 -0
  309. package/dist/recognizers/secrets/jwt.d.ts.map +1 -0
  310. package/dist/recognizers/secrets/jwt.js +47 -0
  311. package/dist/recognizers/secrets/jwt.js.map +1 -0
  312. package/dist/recognizers/secrets/key-patterns.d.ts +10 -0
  313. package/dist/recognizers/secrets/key-patterns.d.ts.map +1 -0
  314. package/dist/recognizers/secrets/key-patterns.js +15 -0
  315. package/dist/recognizers/secrets/key-patterns.js.map +1 -0
  316. package/dist/recognizers/secrets/literal-value.d.ts +10 -0
  317. package/dist/recognizers/secrets/literal-value.d.ts.map +1 -0
  318. package/dist/recognizers/secrets/literal-value.js +48 -0
  319. package/dist/recognizers/secrets/literal-value.js.map +1 -0
  320. package/dist/recognizers/secrets/private-key.d.ts +6 -0
  321. package/dist/recognizers/secrets/private-key.d.ts.map +1 -0
  322. package/dist/recognizers/secrets/private-key.js +16 -0
  323. package/dist/recognizers/secrets/private-key.js.map +1 -0
  324. package/dist/recognizers/url.d.ts +14 -0
  325. package/dist/recognizers/url.d.ts.map +1 -0
  326. package/dist/recognizers/url.js +121 -0
  327. package/dist/recognizers/url.js.map +1 -0
  328. package/dist/storage/browser.d.ts +13 -0
  329. package/dist/storage/browser.d.ts.map +1 -0
  330. package/dist/storage/browser.js +13 -0
  331. package/dist/storage/browser.js.map +1 -0
  332. package/dist/storage/in-memory.d.ts +60 -0
  333. package/dist/storage/in-memory.d.ts.map +1 -0
  334. package/dist/storage/in-memory.js +108 -0
  335. package/dist/storage/in-memory.js.map +1 -0
  336. package/dist/storage/index.d.ts +11 -0
  337. package/dist/storage/index.d.ts.map +1 -0
  338. package/dist/storage/index.js +11 -0
  339. package/dist/storage/index.js.map +1 -0
  340. package/dist/storage/indexeddb.d.ts +69 -0
  341. package/dist/storage/indexeddb.d.ts.map +1 -0
  342. package/dist/storage/indexeddb.js +274 -0
  343. package/dist/storage/indexeddb.js.map +1 -0
  344. package/dist/storage/session-base.d.ts +34 -0
  345. package/dist/storage/session-base.d.ts.map +1 -0
  346. package/dist/storage/session-base.js +122 -0
  347. package/dist/storage/session-base.js.map +1 -0
  348. package/dist/storage/session.d.ts +19 -0
  349. package/dist/storage/session.d.ts.map +1 -0
  350. package/dist/storage/session.js +31 -0
  351. package/dist/storage/session.js.map +1 -0
  352. package/dist/storage/sqlite.d.ts +80 -0
  353. package/dist/storage/sqlite.d.ts.map +1 -0
  354. package/dist/storage/sqlite.js +255 -0
  355. package/dist/storage/sqlite.js.map +1 -0
  356. package/dist/storage/types.d.ts +208 -0
  357. package/dist/storage/types.d.ts.map +1 -0
  358. package/dist/storage/types.js +6 -0
  359. package/dist/storage/types.js.map +1 -0
  360. package/dist/streaming/anonymizer-stream.d.ts +63 -0
  361. package/dist/streaming/anonymizer-stream.d.ts.map +1 -0
  362. package/dist/streaming/anonymizer-stream.js +184 -0
  363. package/dist/streaming/anonymizer-stream.js.map +1 -0
  364. package/dist/streaming/index.d.ts +9 -0
  365. package/dist/streaming/index.d.ts.map +1 -0
  366. package/dist/streaming/index.js +8 -0
  367. package/dist/streaming/index.js.map +1 -0
  368. package/dist/streaming/sentence-buffer.d.ts +78 -0
  369. package/dist/streaming/sentence-buffer.d.ts.map +1 -0
  370. package/dist/streaming/sentence-buffer.js +239 -0
  371. package/dist/streaming/sentence-buffer.js.map +1 -0
  372. package/dist/streaming/stream-factory.d.ts +38 -0
  373. package/dist/streaming/stream-factory.d.ts.map +1 -0
  374. package/dist/streaming/stream-factory.js +69 -0
  375. package/dist/streaming/stream-factory.js.map +1 -0
  376. package/dist/streaming/types.d.ts +121 -0
  377. package/dist/streaming/types.d.ts.map +1 -0
  378. package/dist/streaming/types.js +5 -0
  379. package/dist/streaming/types.js.map +1 -0
  380. package/dist/types/index.d.ts +269 -0
  381. package/dist/types/index.d.ts.map +1 -0
  382. package/dist/types/index.js +95 -0
  383. package/dist/types/index.js.map +1 -0
  384. package/dist/types/pii-types.d.ts +64 -0
  385. package/dist/types/pii-types.d.ts.map +1 -0
  386. package/dist/types/pii-types.js +153 -0
  387. package/dist/types/pii-types.js.map +1 -0
  388. package/dist/utils/iban-checksum.d.ts +23 -0
  389. package/dist/utils/iban-checksum.d.ts.map +1 -0
  390. package/dist/utils/iban-checksum.js +106 -0
  391. package/dist/utils/iban-checksum.js.map +1 -0
  392. package/dist/utils/index.d.ts +11 -0
  393. package/dist/utils/index.d.ts.map +1 -0
  394. package/dist/utils/index.js +11 -0
  395. package/dist/utils/index.js.map +1 -0
  396. package/dist/utils/json-walk.d.ts +21 -0
  397. package/dist/utils/json-walk.d.ts.map +1 -0
  398. package/dist/utils/json-walk.js +44 -0
  399. package/dist/utils/json-walk.js.map +1 -0
  400. package/dist/utils/luhn.d.ts +17 -0
  401. package/dist/utils/luhn.d.ts.map +1 -0
  402. package/dist/utils/luhn.js +55 -0
  403. package/dist/utils/luhn.js.map +1 -0
  404. package/dist/utils/offsets.d.ts +86 -0
  405. package/dist/utils/offsets.d.ts.map +1 -0
  406. package/dist/utils/offsets.js +124 -0
  407. package/dist/utils/offsets.js.map +1 -0
  408. package/dist/utils/path.d.ts +34 -0
  409. package/dist/utils/path.d.ts.map +1 -0
  410. package/dist/utils/path.js +96 -0
  411. package/dist/utils/path.js.map +1 -0
  412. package/dist/utils/regex.d.ts +11 -0
  413. package/dist/utils/regex.d.ts.map +1 -0
  414. package/dist/utils/regex.js +14 -0
  415. package/dist/utils/regex.js.map +1 -0
  416. package/dist/utils/storage-browser.d.ts +51 -0
  417. package/dist/utils/storage-browser.d.ts.map +1 -0
  418. package/dist/utils/storage-browser.js +381 -0
  419. package/dist/utils/storage-browser.js.map +1 -0
  420. package/dist/utils/storage-node.d.ts +51 -0
  421. package/dist/utils/storage-node.d.ts.map +1 -0
  422. package/dist/utils/storage-node.js +153 -0
  423. package/dist/utils/storage-node.js.map +1 -0
  424. package/dist/utils/storage.browser.d.ts +75 -0
  425. package/dist/utils/storage.browser.d.ts.map +1 -0
  426. package/dist/utils/storage.browser.js +69 -0
  427. package/dist/utils/storage.browser.js.map +1 -0
  428. package/dist/utils/storage.d.ts +73 -0
  429. package/dist/utils/storage.d.ts.map +1 -0
  430. package/dist/utils/storage.js +69 -0
  431. package/dist/utils/storage.js.map +1 -0
  432. package/package.json +148 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"title-extractor.js","sourceRoot":"","sources":["../../src/pipeline/title-extractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Output Validator
3
+ * Validates anonymized output and performs leak scan
4
+ */
5
+ import { PIIType, DetectedEntity, AnonymizationPolicy, TagFormat } from '../types/index.js';
6
+ /**
7
+ * Validation result
8
+ */
9
+ export interface ValidationResult {
10
+ /** Whether validation passed */
11
+ valid: boolean;
12
+ /** List of validation errors */
13
+ errors: ValidationError[];
14
+ /** Whether leak scan passed (if performed) */
15
+ leakScanPassed?: boolean;
16
+ /** Potential leaks found by leak scan */
17
+ potentialLeaks?: LeakScanMatch[];
18
+ }
19
+ /**
20
+ * Validation error
21
+ */
22
+ export interface ValidationError {
23
+ /** Error code */
24
+ code: ValidationErrorCode;
25
+ /** Human-readable message */
26
+ message: string;
27
+ /** Additional details */
28
+ details?: Record<string, unknown>;
29
+ }
30
+ /**
31
+ * Validation error codes
32
+ */
33
+ export declare enum ValidationErrorCode {
34
+ OVERLAPPING_ENTITIES = "OVERLAPPING_ENTITIES",
35
+ DUPLICATE_IDS = "DUPLICATE_IDS",
36
+ MALFORMED_TAG = "MALFORMED_TAG",
37
+ ID_MISMATCH = "ID_MISMATCH",
38
+ MISSING_IN_MAP = "MISSING_IN_MAP",
39
+ POTENTIAL_PII_LEAK = "POTENTIAL_PII_LEAK"
40
+ }
41
+ /**
42
+ * Leak scan match
43
+ */
44
+ export interface LeakScanMatch {
45
+ /** Type of potential leak */
46
+ type: PIIType;
47
+ /** Matched text */
48
+ text: string;
49
+ /** Position in anonymized text */
50
+ position: number;
51
+ /** Pattern that matched */
52
+ pattern: string;
53
+ }
54
+ /**
55
+ * Validates anonymization output
56
+ */
57
+ export declare function validateOutput(anonymizedText: string, entities: DetectedEntity[], piiMapKeys: string[], policy: AnonymizationPolicy, tagFormat?: TagFormat): ValidationResult;
58
+ /**
59
+ * Validates that no overlaps exist (fast check)
60
+ */
61
+ export declare function hasNoOverlaps(entities: Array<{
62
+ start: number;
63
+ end: number;
64
+ }>): boolean;
65
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/pipeline/validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAA6B,MAAM,mBAAmB,CAAC;AAMvH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,gCAAgC;IAChC,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,8CAA8C;IAC9C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yCAAyC;IACzC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iBAAiB;IACjB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,oBAAoB,yBAAyB;IAC7C,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAuCD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,cAAc,EAAE,EAC1B,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,EAAE,mBAAmB,EAC3B,SAAS,GAAE,SAA8B,GACxC,gBAAgB,CA+ClB;AAqOD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,OAAO,CAYtF"}
@@ -0,0 +1,292 @@
1
+ /**
2
+ * Output Validator
3
+ * Validates anonymized output and performs leak scan
4
+ */
5
+ import { PIIType, DEFAULT_TAG_FORMAT } from '../types/index.js';
6
+ import { spansOverlap } from '../utils/offsets.js';
7
+ import { extractTags, isValidTag } from './tagger.js';
8
+ import { escapeRegExp } from '../utils/regex.js';
9
+ import { UK_POSTAL_CODE_PATTERN } from '../recognizers/postal-code.js';
10
+ /**
11
+ * Validation error codes
12
+ */
13
+ export var ValidationErrorCode;
14
+ (function (ValidationErrorCode) {
15
+ ValidationErrorCode["OVERLAPPING_ENTITIES"] = "OVERLAPPING_ENTITIES";
16
+ ValidationErrorCode["DUPLICATE_IDS"] = "DUPLICATE_IDS";
17
+ ValidationErrorCode["MALFORMED_TAG"] = "MALFORMED_TAG";
18
+ ValidationErrorCode["ID_MISMATCH"] = "ID_MISMATCH";
19
+ ValidationErrorCode["MISSING_IN_MAP"] = "MISSING_IN_MAP";
20
+ ValidationErrorCode["POTENTIAL_PII_LEAK"] = "POTENTIAL_PII_LEAK";
21
+ })(ValidationErrorCode || (ValidationErrorCode = {}));
22
+ /**
23
+ * Leak scan patterns for common structured PII
24
+ * These are simplified patterns for quick scanning
25
+ */
26
+ const LEAK_SCAN_PATTERNS = [
27
+ {
28
+ type: PIIType.EMAIL,
29
+ pattern: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g,
30
+ name: 'Email',
31
+ },
32
+ {
33
+ type: PIIType.PHONE,
34
+ pattern: /(?:\+|00)[1-9][0-9]{7,14}|0[1-9][0-9]{6,11}/g,
35
+ name: 'Phone',
36
+ },
37
+ {
38
+ type: PIIType.IBAN,
39
+ pattern: /[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}/gi,
40
+ name: 'IBAN',
41
+ },
42
+ {
43
+ type: PIIType.CREDIT_CARD,
44
+ pattern: /[0-9]{4}[\s-]?[0-9]{4}[\s-]?[0-9]{4}[\s-]?[0-9]{4}/g,
45
+ name: 'Credit Card',
46
+ },
47
+ {
48
+ type: PIIType.IP_ADDRESS,
49
+ pattern: /(?:\d{1,3}\.){3}\d{1,3}/g,
50
+ name: 'IP Address',
51
+ },
52
+ {
53
+ type: PIIType.POSTAL_CODE,
54
+ pattern: UK_POSTAL_CODE_PATTERN,
55
+ name: 'UK Postal Code',
56
+ },
57
+ ];
58
+ /**
59
+ * Validates anonymization output
60
+ */
61
+ export function validateOutput(anonymizedText, entities, piiMapKeys, policy, tagFormat = DEFAULT_TAG_FORMAT) {
62
+ const errors = [];
63
+ // Validate no overlapping entities
64
+ const overlapErrors = checkOverlappingEntities(entities);
65
+ errors.push(...overlapErrors);
66
+ // Validate unique IDs (per type or globally)
67
+ const idErrors = checkUniqueIds(entities);
68
+ errors.push(...idErrors);
69
+ // Validate tags in text are well-formed
70
+ const tagErrors = checkTags(anonymizedText, tagFormat);
71
+ errors.push(...tagErrors);
72
+ // Validate tag count matches entity count
73
+ const countErrors = checkTagEntityMatch(anonymizedText, entities, tagFormat);
74
+ errors.push(...countErrors);
75
+ // Validate all entities have entries in PII map
76
+ const mapErrors = checkPIIMapCompleteness(entities, piiMapKeys);
77
+ errors.push(...mapErrors);
78
+ // Perform leak scan if enabled
79
+ let leakScanPassed;
80
+ let potentialLeaks;
81
+ if (policy.enableLeakScan) {
82
+ const leakResult = performLeakScan(anonymizedText, policy, tagFormat);
83
+ potentialLeaks = leakResult.matches;
84
+ leakScanPassed = potentialLeaks.length === 0;
85
+ if (!leakScanPassed) {
86
+ errors.push({
87
+ code: ValidationErrorCode.POTENTIAL_PII_LEAK,
88
+ message: `Leak scan found ${potentialLeaks.length} potential PII leak(s)`,
89
+ details: { leaks: potentialLeaks },
90
+ });
91
+ }
92
+ }
93
+ return {
94
+ valid: errors.length === 0,
95
+ errors,
96
+ leakScanPassed,
97
+ potentialLeaks,
98
+ };
99
+ }
100
+ /**
101
+ * Checks for overlapping entities
102
+ */
103
+ function checkOverlappingEntities(entities) {
104
+ const errors = [];
105
+ for (let i = 0; i < entities.length; i++) {
106
+ for (let j = i + 1; j < entities.length; j++) {
107
+ const a = entities[i];
108
+ const b = entities[j];
109
+ if (spansOverlap(a, b)) {
110
+ errors.push({
111
+ code: ValidationErrorCode.OVERLAPPING_ENTITIES,
112
+ message: `Entities ${a.id} (${a.type}) and ${b.id} (${b.type}) overlap`,
113
+ details: {
114
+ entity1: { id: a.id, type: a.type, start: a.start, end: a.end },
115
+ entity2: { id: b.id, type: b.type, start: b.start, end: b.end },
116
+ },
117
+ });
118
+ }
119
+ }
120
+ }
121
+ return errors;
122
+ }
123
+ /**
124
+ * Checks for duplicate IDs
125
+ */
126
+ function checkUniqueIds(entities) {
127
+ const errors = [];
128
+ const seenIds = new Map();
129
+ for (const entity of entities) {
130
+ const existing = seenIds.get(entity.id);
131
+ if (existing !== undefined) {
132
+ // Duplicate ID - only an error if they have different original text
133
+ // (reuse of IDs for same text is allowed with policy.reuseIdsForRepeatedPII)
134
+ if (existing.original !== entity.original) {
135
+ errors.push({
136
+ code: ValidationErrorCode.DUPLICATE_IDS,
137
+ message: `Duplicate ID ${entity.id} used for different text values`,
138
+ details: {
139
+ id: entity.id,
140
+ first: { type: existing.type, text: existing.original },
141
+ second: { type: entity.type, text: entity.original },
142
+ },
143
+ });
144
+ }
145
+ }
146
+ else {
147
+ seenIds.set(entity.id, entity);
148
+ }
149
+ }
150
+ return errors;
151
+ }
152
+ /**
153
+ * Checks that all tags in text are well-formed
154
+ */
155
+ function checkTags(anonymizedText, tagFormat = DEFAULT_TAG_FORMAT) {
156
+ const errors = [];
157
+ const keyword = tagFormat.keyword ?? "PII";
158
+ const escapedOpen = escapeRegExp(tagFormat.open);
159
+ const escapedClose = escapeRegExp(tagFormat.close);
160
+ // Find anything that looks like a PII tag
161
+ // Build pattern: OPEN KEYWORD ... CLOSE
162
+ // Use negated char class on close delimiter's first char to prevent matching across tags
163
+ const boundChar = escapeRegExp(tagFormat.close[0]);
164
+ const escapedKeyword = escapeRegExp(keyword);
165
+ const tagLikePattern = new RegExp(`${escapedOpen}${escapedKeyword}[^${boundChar}]*${escapedClose}`, "g");
166
+ let match;
167
+ while ((match = tagLikePattern.exec(anonymizedText)) !== null) {
168
+ if (!isValidTag(match[0], tagFormat)) {
169
+ // For XML-style "/>", the regex may capture up to ">" without the leading "/",
170
+ // so try appending the close delimiter to see if the tag is actually valid.
171
+ // This only applies to XML-style where open/close are asymmetric.
172
+ if (tagFormat.close === "/>") {
173
+ const fullTag = match[0] + tagFormat.close;
174
+ if (isValidTag(fullTag, tagFormat))
175
+ continue;
176
+ }
177
+ errors.push({
178
+ code: ValidationErrorCode.MALFORMED_TAG,
179
+ message: `Malformed PII tag at position ${match.index}`,
180
+ details: { tag: match[0], position: match.index },
181
+ });
182
+ }
183
+ }
184
+ return errors;
185
+ }
186
+ /**
187
+ * Checks that tag count matches entity count
188
+ */
189
+ function checkTagEntityMatch(anonymizedText, entities, tagFormat = DEFAULT_TAG_FORMAT) {
190
+ const errors = [];
191
+ const tags = extractTags(anonymizedText, tagFormat);
192
+ // Get unique entity IDs
193
+ const entityIds = new Set(entities.map((e) => e.id));
194
+ const tagIds = new Set(tags.map((t) => t.id));
195
+ // Check for mismatches
196
+ for (const id of entityIds) {
197
+ if (!tagIds.has(id)) {
198
+ errors.push({
199
+ code: ValidationErrorCode.ID_MISMATCH,
200
+ message: `Entity ID ${id} not found in anonymized text`,
201
+ details: { missingId: id },
202
+ });
203
+ }
204
+ }
205
+ return errors;
206
+ }
207
+ /**
208
+ * Checks that all entities have entries in PII map
209
+ */
210
+ function checkPIIMapCompleteness(entities, piiMapKeys) {
211
+ const errors = [];
212
+ const keySet = new Set(piiMapKeys);
213
+ for (const entity of entities) {
214
+ const expectedKey = `${entity.type}_${entity.id}`;
215
+ if (!keySet.has(expectedKey)) {
216
+ errors.push({
217
+ code: ValidationErrorCode.MISSING_IN_MAP,
218
+ message: `Entity ${entity.id} (${entity.type}) missing from PII map`,
219
+ details: { entityId: entity.id, entityType: entity.type, expectedKey },
220
+ });
221
+ }
222
+ }
223
+ return errors;
224
+ }
225
+ /**
226
+ * Performs leak scan on anonymized text
227
+ */
228
+ function performLeakScan(anonymizedText, policy, tagFormat = DEFAULT_TAG_FORMAT) {
229
+ const matches = [];
230
+ // Skip scanning inside PII tags
231
+ const keyword = tagFormat.keyword ?? "PII";
232
+ const boundChar = escapeRegExp(tagFormat.close[0]);
233
+ const tagStripPattern = new RegExp(`${escapeRegExp(tagFormat.open)}${escapeRegExp(keyword)}[^${boundChar}]*${escapeRegExp(tagFormat.close)}`, "g");
234
+ const textWithoutTags = anonymizedText.replace(tagStripPattern, ' '.repeat(20));
235
+ for (const { type, pattern, name } of LEAK_SCAN_PATTERNS) {
236
+ // Skip if type not enabled in policy
237
+ if (!policy.enabledTypes.has(type)) {
238
+ continue;
239
+ }
240
+ const flags = pattern.flags.includes('g') ? pattern.flags : pattern.flags + 'g';
241
+ const globalPattern = new RegExp(pattern.source, flags);
242
+ let match;
243
+ while ((match = globalPattern.exec(textWithoutTags)) !== null) {
244
+ // Double-check this isn't inside a tag
245
+ const position = match.index;
246
+ const isInTag = isPositionInsideTag(anonymizedText, position, tagFormat);
247
+ if (!isInTag) {
248
+ matches.push({
249
+ type,
250
+ text: match[0],
251
+ position,
252
+ pattern: name,
253
+ });
254
+ }
255
+ }
256
+ }
257
+ return { matches };
258
+ }
259
+ /**
260
+ * Checks if a position is inside a PII tag
261
+ */
262
+ function isPositionInsideTag(text, position, tagFormat = DEFAULT_TAG_FORMAT) {
263
+ const open = tagFormat.open;
264
+ const close = tagFormat.close;
265
+ const keyword = tagFormat.keyword ?? "PII";
266
+ const prefix = open + keyword;
267
+ // Find the nearest tag-like open (open + keyword) before position
268
+ const before = text.lastIndexOf(prefix, position);
269
+ if (before === -1)
270
+ return false;
271
+ // Find the nearest close delimiter after the open
272
+ const after = text.indexOf(close, before + prefix.length);
273
+ if (after === -1)
274
+ return false;
275
+ // Position is inside tag if it's between open and close
276
+ return position > before && position < after + close.length;
277
+ }
278
+ /**
279
+ * Validates that no overlaps exist (fast check)
280
+ */
281
+ export function hasNoOverlaps(entities) {
282
+ if (entities.length <= 1)
283
+ return true;
284
+ const sorted = [...entities].sort((a, b) => a.start - b.start);
285
+ for (let i = 0; i < sorted.length - 1; i++) {
286
+ if (sorted[i].end > sorted[i + 1].start) {
287
+ return false;
288
+ }
289
+ }
290
+ return true;
291
+ }
292
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/pipeline/validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Proxy Middleware Module
3
+ * Node.js/Bun only — not available in browser builds.
4
+ */
5
+ export { createRehydraFetch } from "./rehydra-fetch.js";
6
+ export { createRehydraProxy } from "./rehydra-proxy.js";
7
+ export { wrapLLMClient } from "./wrap-client.js";
8
+ export { createRehydraProxyServer, incomingMessageToRequest, writeResponse, type RehydraProxyServerConfig, type RehydraProxyServer, } from "./proxy-server.js";
9
+ export { SSEParser, isSSEDone, serializeSSEEvent, type SSEEvent } from "./sse-parser.js";
10
+ export { detectProvider, OpenAIProvider, AnthropicProvider, type LLMContentProvider, } from "./providers/index.js";
11
+ export type { RehydraFetchConfig, RehydraProxyConfig, OnToolCallFn, AnonymizeInfo, PathOverlapWarning, } from "./types.js";
12
+ export { DEFAULT_PII_SYSTEM_INSTRUCTION } from "./system-instruction.js";
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proxy/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACb,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Proxy Middleware Module
3
+ * Node.js/Bun only — not available in browser builds.
4
+ */
5
+ export { createRehydraFetch } from "./rehydra-fetch.js";
6
+ export { createRehydraProxy } from "./rehydra-proxy.js";
7
+ export { wrapLLMClient } from "./wrap-client.js";
8
+ export { createRehydraProxyServer, incomingMessageToRequest, writeResponse, } from "./proxy-server.js";
9
+ export { SSEParser, isSSEDone, serializeSSEEvent } from "./sse-parser.js";
10
+ export { detectProvider, OpenAIProvider, AnthropicProvider, } from "./providers/index.js";
11
+ export { DEFAULT_PII_SYSTEM_INSTRUCTION } from "./system-instruction.js";
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/proxy/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,GAGd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACzF,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,GAElB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Anthropic Content Provider
3
+ * Handles Anthropic Messages API format.
4
+ */
5
+ import type { LLMContentProvider, ToolCallDelta, ToolCallInfo, ToolResultMessage } from "./types.js";
6
+ export declare class AnthropicProvider implements LLMContentProvider {
7
+ readonly name = "anthropic";
8
+ readonly streamingToolLoop: import("./streaming-tool-loop.js").StreamingToolLoopAdapter;
9
+ matchesRequest(url: string, headers: Headers): boolean;
10
+ extractRequestText(body: unknown): string[];
11
+ rebuildRequestBody(body: unknown, anonymizedTexts: string[]): unknown;
12
+ extractResponseText(body: unknown): string[];
13
+ rebuildResponseBody(body: unknown, rehydratedTexts: string[]): unknown;
14
+ extractSSEDelta(data: unknown): string | null;
15
+ rebuildSSEDelta(data: unknown, rehydratedText: string): unknown;
16
+ isStreamingRequest(body: unknown): boolean;
17
+ extractResponseToolCalls(body: unknown): string[];
18
+ rebuildResponseToolCalls(body: unknown, rehydratedArgs: string[]): unknown;
19
+ extractSSEToolCallDeltas(data: unknown): ToolCallDelta[] | null;
20
+ rebuildSSEToolCallDeltas(data: unknown, rehydratedArgs: Map<number, string>): unknown;
21
+ extractSSEToolCallStop(data: unknown): number | null;
22
+ hasResponseToolCalls(body: unknown): boolean;
23
+ extractResponseToolCallInfo(body: unknown): ToolCallInfo[];
24
+ extractMessages(body: unknown): unknown[];
25
+ buildToolLoopBody(originalBody: unknown, currentMessages: unknown[], assistantResponse: unknown, toolResults: ToolResultMessage[]): unknown;
26
+ injectSystemInstruction(body: unknown, instruction: string): unknown;
27
+ }
28
+ //# sourceMappingURL=anthropic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/proxy/providers/anthropic.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,iBAAiB,EAClB,MAAM,YAAY,CAAC;AA4CpB,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,iBAAiB,8DAA8B;IAExD,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAOtD,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IA2C3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO;IAwCrE,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IAa5C,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO;IAatE,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAQ7C,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO;IAQ/D,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAK1C,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IAajD,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO;IAyB1E,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,EAAE,GAAG,IAAI;IAc/D,wBAAwB,CACtB,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO;IAcV,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAapD,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAM5C,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,EAAE;IAe1D,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE;IAKzC,iBAAiB,CACf,YAAY,EAAE,OAAO,EACrB,eAAe,EAAE,OAAO,EAAE,EAC1B,iBAAiB,EAAE,OAAO,EAC1B,WAAW,EAAE,iBAAiB,EAAE,GAC/B,OAAO;IAuBV,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;CAerE"}