ocr-provenance-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ocr-provenance-mcp might be problematic. Click here for more details.

Files changed (578) hide show
  1. package/.env.example +55 -0
  2. package/LICENSE +78 -0
  3. package/README.md +1154 -0
  4. package/dist/bin-http.d.ts +24 -0
  5. package/dist/bin-http.d.ts.map +1 -0
  6. package/dist/bin-http.js +275 -0
  7. package/dist/bin-http.js.map +1 -0
  8. package/dist/bin-setup.d.ts +11 -0
  9. package/dist/bin-setup.d.ts.map +1 -0
  10. package/dist/bin-setup.js +610 -0
  11. package/dist/bin-setup.js.map +1 -0
  12. package/dist/bin.d.ts +16 -0
  13. package/dist/bin.d.ts.map +1 -0
  14. package/dist/bin.js +16 -0
  15. package/dist/bin.js.map +1 -0
  16. package/dist/index.d.ts +13 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +90 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/models/chunk.d.ts +136 -0
  21. package/dist/models/chunk.d.ts.map +1 -0
  22. package/dist/models/chunk.js +27 -0
  23. package/dist/models/chunk.js.map +1 -0
  24. package/dist/models/cluster.d.ts +79 -0
  25. package/dist/models/cluster.d.ts.map +1 -0
  26. package/dist/models/cluster.js +10 -0
  27. package/dist/models/cluster.js.map +1 -0
  28. package/dist/models/comparison.d.ts +62 -0
  29. package/dist/models/comparison.d.ts.map +1 -0
  30. package/dist/models/comparison.js +8 -0
  31. package/dist/models/comparison.js.map +1 -0
  32. package/dist/models/document.d.ts +104 -0
  33. package/dist/models/document.d.ts.map +1 -0
  34. package/dist/models/document.js +15 -0
  35. package/dist/models/document.js.map +1 -0
  36. package/dist/models/embedding.d.ts +87 -0
  37. package/dist/models/embedding.d.ts.map +1 -0
  38. package/dist/models/embedding.js +23 -0
  39. package/dist/models/embedding.js.map +1 -0
  40. package/dist/models/extraction.d.ts +15 -0
  41. package/dist/models/extraction.d.ts.map +1 -0
  42. package/dist/models/extraction.js +2 -0
  43. package/dist/models/extraction.js.map +1 -0
  44. package/dist/models/form-fill.d.ts +23 -0
  45. package/dist/models/form-fill.d.ts.map +1 -0
  46. package/dist/models/form-fill.js +2 -0
  47. package/dist/models/form-fill.js.map +1 -0
  48. package/dist/models/image.d.ts +177 -0
  49. package/dist/models/image.d.ts.map +1 -0
  50. package/dist/models/image.js +8 -0
  51. package/dist/models/image.js.map +1 -0
  52. package/dist/models/index.d.ts +14 -0
  53. package/dist/models/index.d.ts.map +1 -0
  54. package/dist/models/index.js +22 -0
  55. package/dist/models/index.js.map +1 -0
  56. package/dist/models/provenance.d.ts +174 -0
  57. package/dist/models/provenance.d.ts.map +1 -0
  58. package/dist/models/provenance.js +53 -0
  59. package/dist/models/provenance.js.map +1 -0
  60. package/dist/models/uploaded-file.d.ts +20 -0
  61. package/dist/models/uploaded-file.d.ts.map +1 -0
  62. package/dist/models/uploaded-file.js +2 -0
  63. package/dist/models/uploaded-file.js.map +1 -0
  64. package/dist/server/errors.d.ts +93 -0
  65. package/dist/server/errors.d.ts.map +1 -0
  66. package/dist/server/errors.js +256 -0
  67. package/dist/server/errors.js.map +1 -0
  68. package/dist/server/events.d.ts +36 -0
  69. package/dist/server/events.d.ts.map +1 -0
  70. package/dist/server/events.js +48 -0
  71. package/dist/server/events.js.map +1 -0
  72. package/dist/server/permissions.d.ts +26 -0
  73. package/dist/server/permissions.d.ts.map +1 -0
  74. package/dist/server/permissions.js +194 -0
  75. package/dist/server/permissions.js.map +1 -0
  76. package/dist/server/register-tools.d.ts +25 -0
  77. package/dist/server/register-tools.d.ts.map +1 -0
  78. package/dist/server/register-tools.js +102 -0
  79. package/dist/server/register-tools.js.map +1 -0
  80. package/dist/server/startup.d.ts +16 -0
  81. package/dist/server/startup.d.ts.map +1 -0
  82. package/dist/server/startup.js +37 -0
  83. package/dist/server/startup.js.map +1 -0
  84. package/dist/server/state.d.ts +166 -0
  85. package/dist/server/state.d.ts.map +1 -0
  86. package/dist/server/state.js +424 -0
  87. package/dist/server/state.js.map +1 -0
  88. package/dist/server/transports/http-transport.d.ts +37 -0
  89. package/dist/server/transports/http-transport.d.ts.map +1 -0
  90. package/dist/server/transports/http-transport.js +204 -0
  91. package/dist/server/transports/http-transport.js.map +1 -0
  92. package/dist/server/transports/index.d.ts +9 -0
  93. package/dist/server/transports/index.d.ts.map +1 -0
  94. package/dist/server/transports/index.js +9 -0
  95. package/dist/server/transports/index.js.map +1 -0
  96. package/dist/server/transports/session-manager.d.ts +40 -0
  97. package/dist/server/transports/session-manager.d.ts.map +1 -0
  98. package/dist/server/transports/session-manager.js +74 -0
  99. package/dist/server/transports/session-manager.js.map +1 -0
  100. package/dist/server/types.d.ts +82 -0
  101. package/dist/server/types.d.ts.map +1 -0
  102. package/dist/server/types.js +14 -0
  103. package/dist/server/types.js.map +1 -0
  104. package/dist/services/audit.d.ts +26 -0
  105. package/dist/services/audit.d.ts.map +1 -0
  106. package/dist/services/audit.js +43 -0
  107. package/dist/services/audit.js.map +1 -0
  108. package/dist/services/chunking/chunk-deduplicator.d.ts +33 -0
  109. package/dist/services/chunking/chunk-deduplicator.d.ts.map +1 -0
  110. package/dist/services/chunking/chunk-deduplicator.js +46 -0
  111. package/dist/services/chunking/chunk-deduplicator.js.map +1 -0
  112. package/dist/services/chunking/chunk-merger.d.ts +26 -0
  113. package/dist/services/chunking/chunk-merger.d.ts.map +1 -0
  114. package/dist/services/chunking/chunk-merger.js +94 -0
  115. package/dist/services/chunking/chunk-merger.js.map +1 -0
  116. package/dist/services/chunking/chunker.d.ts +62 -0
  117. package/dist/services/chunking/chunker.d.ts.map +1 -0
  118. package/dist/services/chunking/chunker.js +566 -0
  119. package/dist/services/chunking/chunker.js.map +1 -0
  120. package/dist/services/chunking/heading-normalizer.d.ts +33 -0
  121. package/dist/services/chunking/heading-normalizer.d.ts.map +1 -0
  122. package/dist/services/chunking/heading-normalizer.js +101 -0
  123. package/dist/services/chunking/heading-normalizer.js.map +1 -0
  124. package/dist/services/chunking/json-block-analyzer.d.ts +163 -0
  125. package/dist/services/chunking/json-block-analyzer.d.ts.map +1 -0
  126. package/dist/services/chunking/json-block-analyzer.js +1033 -0
  127. package/dist/services/chunking/json-block-analyzer.js.map +1 -0
  128. package/dist/services/chunking/markdown-parser.d.ts +75 -0
  129. package/dist/services/chunking/markdown-parser.d.ts.map +1 -0
  130. package/dist/services/chunking/markdown-parser.js +428 -0
  131. package/dist/services/chunking/markdown-parser.js.map +1 -0
  132. package/dist/services/chunking/text-normalizer.d.ts +20 -0
  133. package/dist/services/chunking/text-normalizer.d.ts.map +1 -0
  134. package/dist/services/chunking/text-normalizer.js +36 -0
  135. package/dist/services/chunking/text-normalizer.js.map +1 -0
  136. package/dist/services/clm/contract-schemas.d.ts +36 -0
  137. package/dist/services/clm/contract-schemas.d.ts.map +1 -0
  138. package/dist/services/clm/contract-schemas.js +92 -0
  139. package/dist/services/clm/contract-schemas.js.map +1 -0
  140. package/dist/services/clm/summarization.d.ts +46 -0
  141. package/dist/services/clm/summarization.d.ts.map +1 -0
  142. package/dist/services/clm/summarization.js +61 -0
  143. package/dist/services/clm/summarization.js.map +1 -0
  144. package/dist/services/clustering/clustering-service.d.ts +58 -0
  145. package/dist/services/clustering/clustering-service.d.ts.map +1 -0
  146. package/dist/services/clustering/clustering-service.js +467 -0
  147. package/dist/services/clustering/clustering-service.js.map +1 -0
  148. package/dist/services/comparison/diff-service.d.ts +41 -0
  149. package/dist/services/comparison/diff-service.d.ts.map +1 -0
  150. package/dist/services/comparison/diff-service.js +120 -0
  151. package/dist/services/comparison/diff-service.js.map +1 -0
  152. package/dist/services/embedding/embedder.d.ts +55 -0
  153. package/dist/services/embedding/embedder.d.ts.map +1 -0
  154. package/dist/services/embedding/embedder.js +202 -0
  155. package/dist/services/embedding/embedder.js.map +1 -0
  156. package/dist/services/embedding/nomic.d.ts +67 -0
  157. package/dist/services/embedding/nomic.d.ts.map +1 -0
  158. package/dist/services/embedding/nomic.js +280 -0
  159. package/dist/services/embedding/nomic.js.map +1 -0
  160. package/dist/services/gemini/circuit-breaker.d.ts +106 -0
  161. package/dist/services/gemini/circuit-breaker.d.ts.map +1 -0
  162. package/dist/services/gemini/circuit-breaker.js +237 -0
  163. package/dist/services/gemini/circuit-breaker.js.map +1 -0
  164. package/dist/services/gemini/client.d.ts +173 -0
  165. package/dist/services/gemini/client.d.ts.map +1 -0
  166. package/dist/services/gemini/client.js +483 -0
  167. package/dist/services/gemini/client.js.map +1 -0
  168. package/dist/services/gemini/config.d.ts +116 -0
  169. package/dist/services/gemini/config.d.ts.map +1 -0
  170. package/dist/services/gemini/config.js +118 -0
  171. package/dist/services/gemini/config.js.map +1 -0
  172. package/dist/services/gemini/index.d.ts +9 -0
  173. package/dist/services/gemini/index.d.ts.map +1 -0
  174. package/dist/services/gemini/index.js +13 -0
  175. package/dist/services/gemini/index.js.map +1 -0
  176. package/dist/services/gemini/rate-limiter.d.ts +62 -0
  177. package/dist/services/gemini/rate-limiter.d.ts.map +1 -0
  178. package/dist/services/gemini/rate-limiter.js +120 -0
  179. package/dist/services/gemini/rate-limiter.js.map +1 -0
  180. package/dist/services/images/extractor.d.ts +88 -0
  181. package/dist/services/images/extractor.d.ts.map +1 -0
  182. package/dist/services/images/extractor.js +340 -0
  183. package/dist/services/images/extractor.js.map +1 -0
  184. package/dist/services/images/optimizer.d.ts +130 -0
  185. package/dist/services/images/optimizer.d.ts.map +1 -0
  186. package/dist/services/images/optimizer.js +228 -0
  187. package/dist/services/images/optimizer.js.map +1 -0
  188. package/dist/services/ocr/datalab.d.ts +64 -0
  189. package/dist/services/ocr/datalab.d.ts.map +1 -0
  190. package/dist/services/ocr/datalab.js +425 -0
  191. package/dist/services/ocr/datalab.js.map +1 -0
  192. package/dist/services/ocr/errors.d.ts +38 -0
  193. package/dist/services/ocr/errors.d.ts.map +1 -0
  194. package/dist/services/ocr/errors.js +83 -0
  195. package/dist/services/ocr/errors.js.map +1 -0
  196. package/dist/services/ocr/file-manager.d.ts +76 -0
  197. package/dist/services/ocr/file-manager.d.ts.map +1 -0
  198. package/dist/services/ocr/file-manager.js +238 -0
  199. package/dist/services/ocr/file-manager.js.map +1 -0
  200. package/dist/services/ocr/form-fill.d.ts +48 -0
  201. package/dist/services/ocr/form-fill.d.ts.map +1 -0
  202. package/dist/services/ocr/form-fill.js +213 -0
  203. package/dist/services/ocr/form-fill.js.map +1 -0
  204. package/dist/services/ocr/processor.d.ts +95 -0
  205. package/dist/services/ocr/processor.d.ts.map +1 -0
  206. package/dist/services/ocr/processor.js +259 -0
  207. package/dist/services/ocr/processor.js.map +1 -0
  208. package/dist/services/provenance/agent-metadata.d.ts +82 -0
  209. package/dist/services/provenance/agent-metadata.d.ts.map +1 -0
  210. package/dist/services/provenance/agent-metadata.js +106 -0
  211. package/dist/services/provenance/agent-metadata.js.map +1 -0
  212. package/dist/services/provenance/chain-hash.d.ts +57 -0
  213. package/dist/services/provenance/chain-hash.d.ts.map +1 -0
  214. package/dist/services/provenance/chain-hash.js +131 -0
  215. package/dist/services/provenance/chain-hash.js.map +1 -0
  216. package/dist/services/provenance/exporter.d.ts +202 -0
  217. package/dist/services/provenance/exporter.d.ts.map +1 -0
  218. package/dist/services/provenance/exporter.js +457 -0
  219. package/dist/services/provenance/exporter.js.map +1 -0
  220. package/dist/services/provenance/index.d.ts +15 -0
  221. package/dist/services/provenance/index.d.ts.map +1 -0
  222. package/dist/services/provenance/index.js +17 -0
  223. package/dist/services/provenance/index.js.map +1 -0
  224. package/dist/services/provenance/tracker.d.ts +138 -0
  225. package/dist/services/provenance/tracker.d.ts.map +1 -0
  226. package/dist/services/provenance/tracker.js +293 -0
  227. package/dist/services/provenance/tracker.js.map +1 -0
  228. package/dist/services/provenance/verifier.d.ts +153 -0
  229. package/dist/services/provenance/verifier.d.ts.map +1 -0
  230. package/dist/services/provenance/verifier.js +536 -0
  231. package/dist/services/provenance/verifier.js.map +1 -0
  232. package/dist/services/python-pool.d.ts +70 -0
  233. package/dist/services/python-pool.d.ts.map +1 -0
  234. package/dist/services/python-pool.js +265 -0
  235. package/dist/services/python-pool.js.map +1 -0
  236. package/dist/services/search/bm25.d.ts +180 -0
  237. package/dist/services/search/bm25.d.ts.map +1 -0
  238. package/dist/services/search/bm25.js +656 -0
  239. package/dist/services/search/bm25.js.map +1 -0
  240. package/dist/services/search/fusion.d.ts +103 -0
  241. package/dist/services/search/fusion.d.ts.map +1 -0
  242. package/dist/services/search/fusion.js +122 -0
  243. package/dist/services/search/fusion.js.map +1 -0
  244. package/dist/services/search/local-reranker.d.ts +30 -0
  245. package/dist/services/search/local-reranker.d.ts.map +1 -0
  246. package/dist/services/search/local-reranker.js +123 -0
  247. package/dist/services/search/local-reranker.js.map +1 -0
  248. package/dist/services/search/quality.d.ts +11 -0
  249. package/dist/services/search/quality.d.ts.map +1 -0
  250. package/dist/services/search/quality.js +17 -0
  251. package/dist/services/search/quality.js.map +1 -0
  252. package/dist/services/search/query-classifier.d.ts +34 -0
  253. package/dist/services/search/query-classifier.d.ts.map +1 -0
  254. package/dist/services/search/query-classifier.js +114 -0
  255. package/dist/services/search/query-classifier.js.map +1 -0
  256. package/dist/services/search/query-expander.d.ts +73 -0
  257. package/dist/services/search/query-expander.d.ts.map +1 -0
  258. package/dist/services/search/query-expander.js +281 -0
  259. package/dist/services/search/query-expander.js.map +1 -0
  260. package/dist/services/search/reranker.d.ts +44 -0
  261. package/dist/services/search/reranker.d.ts.map +1 -0
  262. package/dist/services/search/reranker.js +101 -0
  263. package/dist/services/search/reranker.js.map +1 -0
  264. package/dist/services/storage/database/annotation-operations.d.ts +113 -0
  265. package/dist/services/storage/database/annotation-operations.d.ts.map +1 -0
  266. package/dist/services/storage/database/annotation-operations.js +177 -0
  267. package/dist/services/storage/database/annotation-operations.js.map +1 -0
  268. package/dist/services/storage/database/approval-operations.d.ts +132 -0
  269. package/dist/services/storage/database/approval-operations.d.ts.map +1 -0
  270. package/dist/services/storage/database/approval-operations.js +206 -0
  271. package/dist/services/storage/database/approval-operations.js.map +1 -0
  272. package/dist/services/storage/database/chunk-operations.d.ts +132 -0
  273. package/dist/services/storage/database/chunk-operations.d.ts.map +1 -0
  274. package/dist/services/storage/database/chunk-operations.js +306 -0
  275. package/dist/services/storage/database/chunk-operations.js.map +1 -0
  276. package/dist/services/storage/database/cluster-operations.d.ts +97 -0
  277. package/dist/services/storage/database/cluster-operations.d.ts.map +1 -0
  278. package/dist/services/storage/database/cluster-operations.js +258 -0
  279. package/dist/services/storage/database/cluster-operations.js.map +1 -0
  280. package/dist/services/storage/database/comparison-operations.d.ts +41 -0
  281. package/dist/services/storage/database/comparison-operations.d.ts.map +1 -0
  282. package/dist/services/storage/database/comparison-operations.js +65 -0
  283. package/dist/services/storage/database/comparison-operations.js.map +1 -0
  284. package/dist/services/storage/database/converters.d.ts +36 -0
  285. package/dist/services/storage/database/converters.d.ts.map +1 -0
  286. package/dist/services/storage/database/converters.js +244 -0
  287. package/dist/services/storage/database/converters.js.map +1 -0
  288. package/dist/services/storage/database/document-operations.d.ts +145 -0
  289. package/dist/services/storage/database/document-operations.d.ts.map +1 -0
  290. package/dist/services/storage/database/document-operations.js +498 -0
  291. package/dist/services/storage/database/document-operations.js.map +1 -0
  292. package/dist/services/storage/database/embedding-operations.d.ts +130 -0
  293. package/dist/services/storage/database/embedding-operations.d.ts.map +1 -0
  294. package/dist/services/storage/database/embedding-operations.js +315 -0
  295. package/dist/services/storage/database/embedding-operations.js.map +1 -0
  296. package/dist/services/storage/database/extraction-operations.d.ts +47 -0
  297. package/dist/services/storage/database/extraction-operations.d.ts.map +1 -0
  298. package/dist/services/storage/database/extraction-operations.js +85 -0
  299. package/dist/services/storage/database/extraction-operations.js.map +1 -0
  300. package/dist/services/storage/database/form-fill-operations.d.ts +58 -0
  301. package/dist/services/storage/database/form-fill-operations.d.ts.map +1 -0
  302. package/dist/services/storage/database/form-fill-operations.js +116 -0
  303. package/dist/services/storage/database/form-fill-operations.js.map +1 -0
  304. package/dist/services/storage/database/helpers.d.ts +29 -0
  305. package/dist/services/storage/database/helpers.d.ts.map +1 -0
  306. package/dist/services/storage/database/helpers.js +55 -0
  307. package/dist/services/storage/database/helpers.js.map +1 -0
  308. package/dist/services/storage/database/image-operations.d.ts +202 -0
  309. package/dist/services/storage/database/image-operations.d.ts.map +1 -0
  310. package/dist/services/storage/database/image-operations.js +484 -0
  311. package/dist/services/storage/database/image-operations.js.map +1 -0
  312. package/dist/services/storage/database/index.d.ts +13 -0
  313. package/dist/services/storage/database/index.d.ts.map +1 -0
  314. package/dist/services/storage/database/index.js +16 -0
  315. package/dist/services/storage/database/index.js.map +1 -0
  316. package/dist/services/storage/database/lock-operations.d.ts +59 -0
  317. package/dist/services/storage/database/lock-operations.d.ts.map +1 -0
  318. package/dist/services/storage/database/lock-operations.js +89 -0
  319. package/dist/services/storage/database/lock-operations.js.map +1 -0
  320. package/dist/services/storage/database/obligation-operations.d.ts +88 -0
  321. package/dist/services/storage/database/obligation-operations.d.ts.map +1 -0
  322. package/dist/services/storage/database/obligation-operations.js +206 -0
  323. package/dist/services/storage/database/obligation-operations.js.map +1 -0
  324. package/dist/services/storage/database/ocr-operations.d.ts +33 -0
  325. package/dist/services/storage/database/ocr-operations.d.ts.map +1 -0
  326. package/dist/services/storage/database/ocr-operations.js +70 -0
  327. package/dist/services/storage/database/ocr-operations.js.map +1 -0
  328. package/dist/services/storage/database/playbook-operations.d.ts +72 -0
  329. package/dist/services/storage/database/playbook-operations.d.ts.map +1 -0
  330. package/dist/services/storage/database/playbook-operations.js +247 -0
  331. package/dist/services/storage/database/playbook-operations.js.map +1 -0
  332. package/dist/services/storage/database/provenance-operations.d.ts +112 -0
  333. package/dist/services/storage/database/provenance-operations.d.ts.map +1 -0
  334. package/dist/services/storage/database/provenance-operations.js +251 -0
  335. package/dist/services/storage/database/provenance-operations.js.map +1 -0
  336. package/dist/services/storage/database/service.d.ts +142 -0
  337. package/dist/services/storage/database/service.d.ts.map +1 -0
  338. package/dist/services/storage/database/service.js +310 -0
  339. package/dist/services/storage/database/service.js.map +1 -0
  340. package/dist/services/storage/database/static-operations.d.ts +30 -0
  341. package/dist/services/storage/database/static-operations.d.ts.map +1 -0
  342. package/dist/services/storage/database/static-operations.js +218 -0
  343. package/dist/services/storage/database/static-operations.js.map +1 -0
  344. package/dist/services/storage/database/stats-operations.d.ts +101 -0
  345. package/dist/services/storage/database/stats-operations.d.ts.map +1 -0
  346. package/dist/services/storage/database/stats-operations.js +394 -0
  347. package/dist/services/storage/database/stats-operations.js.map +1 -0
  348. package/dist/services/storage/database/tag-operations.d.ts +76 -0
  349. package/dist/services/storage/database/tag-operations.d.ts.map +1 -0
  350. package/dist/services/storage/database/tag-operations.js +178 -0
  351. package/dist/services/storage/database/tag-operations.js.map +1 -0
  352. package/dist/services/storage/database/types.d.ts +286 -0
  353. package/dist/services/storage/database/types.d.ts.map +1 -0
  354. package/dist/services/storage/database/types.js +39 -0
  355. package/dist/services/storage/database/types.js.map +1 -0
  356. package/dist/services/storage/database/upload-operations.d.ts +71 -0
  357. package/dist/services/storage/database/upload-operations.d.ts.map +1 -0
  358. package/dist/services/storage/database/upload-operations.js +124 -0
  359. package/dist/services/storage/database/upload-operations.js.map +1 -0
  360. package/dist/services/storage/database/user-operations.d.ts +102 -0
  361. package/dist/services/storage/database/user-operations.d.ts.map +1 -0
  362. package/dist/services/storage/database/user-operations.js +151 -0
  363. package/dist/services/storage/database/user-operations.js.map +1 -0
  364. package/dist/services/storage/database/workflow-operations.d.ts +98 -0
  365. package/dist/services/storage/database/workflow-operations.d.ts.map +1 -0
  366. package/dist/services/storage/database/workflow-operations.js +157 -0
  367. package/dist/services/storage/database/workflow-operations.js.map +1 -0
  368. package/dist/services/storage/database.d.ts +16 -0
  369. package/dist/services/storage/database.d.ts.map +1 -0
  370. package/dist/services/storage/database.js +15 -0
  371. package/dist/services/storage/database.js.map +1 -0
  372. package/dist/services/storage/index.d.ts +10 -0
  373. package/dist/services/storage/index.d.ts.map +1 -0
  374. package/dist/services/storage/index.js +10 -0
  375. package/dist/services/storage/index.js.map +1 -0
  376. package/dist/services/storage/migrations/index.d.ts +16 -0
  377. package/dist/services/storage/migrations/index.d.ts.map +1 -0
  378. package/dist/services/storage/migrations/index.js +20 -0
  379. package/dist/services/storage/migrations/index.js.map +1 -0
  380. package/dist/services/storage/migrations/operations.d.ts +40 -0
  381. package/dist/services/storage/migrations/operations.d.ts.map +1 -0
  382. package/dist/services/storage/migrations/operations.js +2910 -0
  383. package/dist/services/storage/migrations/operations.js.map +1 -0
  384. package/dist/services/storage/migrations/schema-definitions.d.ts +306 -0
  385. package/dist/services/storage/migrations/schema-definitions.d.ts.map +1 -0
  386. package/dist/services/storage/migrations/schema-definitions.js +1006 -0
  387. package/dist/services/storage/migrations/schema-definitions.js.map +1 -0
  388. package/dist/services/storage/migrations/schema-helpers.d.ts +50 -0
  389. package/dist/services/storage/migrations/schema-helpers.d.ts.map +1 -0
  390. package/dist/services/storage/migrations/schema-helpers.js +176 -0
  391. package/dist/services/storage/migrations/schema-helpers.js.map +1 -0
  392. package/dist/services/storage/migrations/types.d.ts +15 -0
  393. package/dist/services/storage/migrations/types.d.ts.map +1 -0
  394. package/dist/services/storage/migrations/types.js +21 -0
  395. package/dist/services/storage/migrations/types.js.map +1 -0
  396. package/dist/services/storage/migrations/verification.d.ts +20 -0
  397. package/dist/services/storage/migrations/verification.d.ts.map +1 -0
  398. package/dist/services/storage/migrations/verification.js +78 -0
  399. package/dist/services/storage/migrations/verification.js.map +1 -0
  400. package/dist/services/storage/migrations.d.ts +16 -0
  401. package/dist/services/storage/migrations.d.ts.map +1 -0
  402. package/dist/services/storage/migrations.js +17 -0
  403. package/dist/services/storage/migrations.js.map +1 -0
  404. package/dist/services/storage/types.d.ts +12 -0
  405. package/dist/services/storage/types.d.ts.map +1 -0
  406. package/dist/services/storage/types.js +5 -0
  407. package/dist/services/storage/types.js.map +1 -0
  408. package/dist/services/storage/vector.d.ts +208 -0
  409. package/dist/services/storage/vector.d.ts.map +1 -0
  410. package/dist/services/storage/vector.js +526 -0
  411. package/dist/services/storage/vector.js.map +1 -0
  412. package/dist/services/vlm/pipeline.d.ts +194 -0
  413. package/dist/services/vlm/pipeline.d.ts.map +1 -0
  414. package/dist/services/vlm/pipeline.js +800 -0
  415. package/dist/services/vlm/pipeline.js.map +1 -0
  416. package/dist/services/vlm/prompts.d.ts +171 -0
  417. package/dist/services/vlm/prompts.d.ts.map +1 -0
  418. package/dist/services/vlm/prompts.js +229 -0
  419. package/dist/services/vlm/prompts.js.map +1 -0
  420. package/dist/services/vlm/service.d.ts +174 -0
  421. package/dist/services/vlm/service.d.ts.map +1 -0
  422. package/dist/services/vlm/service.js +256 -0
  423. package/dist/services/vlm/service.js.map +1 -0
  424. package/dist/services/webhook-delivery.d.ts +4 -0
  425. package/dist/services/webhook-delivery.d.ts.map +1 -0
  426. package/dist/services/webhook-delivery.js +140 -0
  427. package/dist/services/webhook-delivery.js.map +1 -0
  428. package/dist/tools/chunks.d.ts +19 -0
  429. package/dist/tools/chunks.d.ts.map +1 -0
  430. package/dist/tools/chunks.js +392 -0
  431. package/dist/tools/chunks.js.map +1 -0
  432. package/dist/tools/clm.d.ts +16 -0
  433. package/dist/tools/clm.d.ts.map +1 -0
  434. package/dist/tools/clm.js +668 -0
  435. package/dist/tools/clm.js.map +1 -0
  436. package/dist/tools/clustering.d.ts +13 -0
  437. package/dist/tools/clustering.d.ts.map +1 -0
  438. package/dist/tools/clustering.js +498 -0
  439. package/dist/tools/clustering.js.map +1 -0
  440. package/dist/tools/collaboration.d.ts +15 -0
  441. package/dist/tools/collaboration.d.ts.map +1 -0
  442. package/dist/tools/collaboration.js +516 -0
  443. package/dist/tools/collaboration.js.map +1 -0
  444. package/dist/tools/comparison.d.ts +13 -0
  445. package/dist/tools/comparison.d.ts.map +1 -0
  446. package/dist/tools/comparison.js +735 -0
  447. package/dist/tools/comparison.js.map +1 -0
  448. package/dist/tools/compliance.d.ts +15 -0
  449. package/dist/tools/compliance.d.ts.map +1 -0
  450. package/dist/tools/compliance.js +640 -0
  451. package/dist/tools/compliance.js.map +1 -0
  452. package/dist/tools/config.d.ts +19 -0
  453. package/dist/tools/config.d.ts.map +1 -0
  454. package/dist/tools/config.js +213 -0
  455. package/dist/tools/config.js.map +1 -0
  456. package/dist/tools/database.d.ts +62 -0
  457. package/dist/tools/database.d.ts.map +1 -0
  458. package/dist/tools/database.js +288 -0
  459. package/dist/tools/database.js.map +1 -0
  460. package/dist/tools/documents.d.ts +61 -0
  461. package/dist/tools/documents.d.ts.map +1 -0
  462. package/dist/tools/documents.js +1624 -0
  463. package/dist/tools/documents.js.map +1 -0
  464. package/dist/tools/embeddings.d.ts +14 -0
  465. package/dist/tools/embeddings.d.ts.map +1 -0
  466. package/dist/tools/embeddings.js +626 -0
  467. package/dist/tools/embeddings.js.map +1 -0
  468. package/dist/tools/evaluation.d.ts +25 -0
  469. package/dist/tools/evaluation.d.ts.map +1 -0
  470. package/dist/tools/evaluation.js +523 -0
  471. package/dist/tools/evaluation.js.map +1 -0
  472. package/dist/tools/events.d.ts +16 -0
  473. package/dist/tools/events.d.ts.map +1 -0
  474. package/dist/tools/events.js +493 -0
  475. package/dist/tools/events.js.map +1 -0
  476. package/dist/tools/extraction-structured.d.ts +13 -0
  477. package/dist/tools/extraction-structured.d.ts.map +1 -0
  478. package/dist/tools/extraction-structured.js +390 -0
  479. package/dist/tools/extraction-structured.js.map +1 -0
  480. package/dist/tools/extraction.d.ts +24 -0
  481. package/dist/tools/extraction.d.ts.map +1 -0
  482. package/dist/tools/extraction.js +424 -0
  483. package/dist/tools/extraction.js.map +1 -0
  484. package/dist/tools/file-management.d.ts +14 -0
  485. package/dist/tools/file-management.d.ts.map +1 -0
  486. package/dist/tools/file-management.js +523 -0
  487. package/dist/tools/file-management.js.map +1 -0
  488. package/dist/tools/form-fill.d.ts +13 -0
  489. package/dist/tools/form-fill.d.ts.map +1 -0
  490. package/dist/tools/form-fill.js +250 -0
  491. package/dist/tools/form-fill.js.map +1 -0
  492. package/dist/tools/health.d.ts +19 -0
  493. package/dist/tools/health.d.ts.map +1 -0
  494. package/dist/tools/health.js +229 -0
  495. package/dist/tools/health.js.map +1 -0
  496. package/dist/tools/images.d.ts +54 -0
  497. package/dist/tools/images.d.ts.map +1 -0
  498. package/dist/tools/images.js +787 -0
  499. package/dist/tools/images.js.map +1 -0
  500. package/dist/tools/ingestion.d.ts +94 -0
  501. package/dist/tools/ingestion.d.ts.map +1 -0
  502. package/dist/tools/ingestion.js +1659 -0
  503. package/dist/tools/ingestion.js.map +1 -0
  504. package/dist/tools/intelligence.d.ts +18 -0
  505. package/dist/tools/intelligence.d.ts.map +1 -0
  506. package/dist/tools/intelligence.js +1039 -0
  507. package/dist/tools/intelligence.js.map +1 -0
  508. package/dist/tools/provenance.d.ts +51 -0
  509. package/dist/tools/provenance.d.ts.map +1 -0
  510. package/dist/tools/provenance.js +691 -0
  511. package/dist/tools/provenance.js.map +1 -0
  512. package/dist/tools/reports.d.ts +41 -0
  513. package/dist/tools/reports.d.ts.map +1 -0
  514. package/dist/tools/reports.js +1394 -0
  515. package/dist/tools/reports.js.map +1 -0
  516. package/dist/tools/search.d.ts +35 -0
  517. package/dist/tools/search.d.ts.map +1 -0
  518. package/dist/tools/search.js +2528 -0
  519. package/dist/tools/search.js.map +1 -0
  520. package/dist/tools/shared.d.ts +52 -0
  521. package/dist/tools/shared.d.ts.map +1 -0
  522. package/dist/tools/shared.js +54 -0
  523. package/dist/tools/shared.js.map +1 -0
  524. package/dist/tools/tags.d.ts +15 -0
  525. package/dist/tools/tags.d.ts.map +1 -0
  526. package/dist/tools/tags.js +287 -0
  527. package/dist/tools/tags.js.map +1 -0
  528. package/dist/tools/timeline.d.ts +15 -0
  529. package/dist/tools/timeline.d.ts.map +1 -0
  530. package/dist/tools/timeline.js +14 -0
  531. package/dist/tools/timeline.js.map +1 -0
  532. package/dist/tools/users.d.ts +14 -0
  533. package/dist/tools/users.d.ts.map +1 -0
  534. package/dist/tools/users.js +257 -0
  535. package/dist/tools/users.js.map +1 -0
  536. package/dist/tools/vlm.d.ts +40 -0
  537. package/dist/tools/vlm.d.ts.map +1 -0
  538. package/dist/tools/vlm.js +475 -0
  539. package/dist/tools/vlm.js.map +1 -0
  540. package/dist/tools/workflow.d.ts +16 -0
  541. package/dist/tools/workflow.d.ts.map +1 -0
  542. package/dist/tools/workflow.js +495 -0
  543. package/dist/tools/workflow.js.map +1 -0
  544. package/dist/utils/backoff.d.ts +53 -0
  545. package/dist/utils/backoff.d.ts.map +1 -0
  546. package/dist/utils/backoff.js +78 -0
  547. package/dist/utils/backoff.js.map +1 -0
  548. package/dist/utils/config-persistence.d.ts +33 -0
  549. package/dist/utils/config-persistence.d.ts.map +1 -0
  550. package/dist/utils/config-persistence.js +61 -0
  551. package/dist/utils/config-persistence.js.map +1 -0
  552. package/dist/utils/hash.d.ts +65 -0
  553. package/dist/utils/hash.d.ts.map +1 -0
  554. package/dist/utils/hash.js +146 -0
  555. package/dist/utils/hash.js.map +1 -0
  556. package/dist/utils/math.d.ts +21 -0
  557. package/dist/utils/math.d.ts.map +1 -0
  558. package/dist/utils/math.js +39 -0
  559. package/dist/utils/math.js.map +1 -0
  560. package/dist/utils/validation.d.ts +697 -0
  561. package/dist/utils/validation.d.ts.map +1 -0
  562. package/dist/utils/validation.js +529 -0
  563. package/dist/utils/validation.js.map +1 -0
  564. package/package.json +96 -0
  565. package/python/.gitkeep +0 -0
  566. package/python/__init__.py +104 -0
  567. package/python/clustering_worker.py +440 -0
  568. package/python/docx_image_extractor.py +524 -0
  569. package/python/embedding_worker.py +552 -0
  570. package/python/file_manager_worker.py +564 -0
  571. package/python/form_fill_worker.py +399 -0
  572. package/python/gpu_utils.py +582 -0
  573. package/python/image_extractor.py +317 -0
  574. package/python/image_optimizer.py +444 -0
  575. package/python/ocr_worker.py +712 -0
  576. package/python/pyproject.toml +76 -0
  577. package/python/requirements.txt +51 -0
  578. package/python/reranker_worker.py +87 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../src/services/provenance/exporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Provenance Service Module
3
+ *
4
+ * Exports the ProvenanceTracker and ProvenanceVerifier for high-level provenance operations.
5
+ *
6
+ * Constitution Compliance:
7
+ * - CP-001: Complete provenance chain for every data item
8
+ * - CP-003: SHA-256 content hashing via hash utilities
9
+ */
10
+ export { ProvenanceTracker, ProvenanceError, ProvenanceErrorCode, getProvenanceTracker, resetProvenanceTracker, } from './tracker.js';
11
+ export { ProvenanceVerifier, VerifierError, VerifierErrorCode } from './verifier.js';
12
+ export { ProvenanceExporter, ExporterError, ExporterErrorCode, type ExportScope, type ExportFormat, } from './exporter.js';
13
+ export type { ProvenanceRecord, CreateProvenanceParams, VerificationResult, ProvenanceLocation, SourceType, W3CProvDocument, } from '../../models/provenance.js';
14
+ export { ProvenanceType, PROVENANCE_CHAIN_DEPTH } from '../../models/provenance.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/provenance/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGrF,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Provenance Service Module
3
+ *
4
+ * Exports the ProvenanceTracker and ProvenanceVerifier for high-level provenance operations.
5
+ *
6
+ * Constitution Compliance:
7
+ * - CP-001: Complete provenance chain for every data item
8
+ * - CP-003: SHA-256 content hashing via hash utilities
9
+ */
10
+ // Export tracker and related types
11
+ export { ProvenanceTracker, ProvenanceError, ProvenanceErrorCode, getProvenanceTracker, resetProvenanceTracker, } from './tracker.js';
12
+ // Export verifier and related types
13
+ export { ProvenanceVerifier, VerifierError, VerifierErrorCode } from './verifier.js';
14
+ // Export exporter and related types
15
+ export { ProvenanceExporter, ExporterError, ExporterErrorCode, } from './exporter.js';
16
+ export { ProvenanceType, PROVENANCE_CHAIN_DEPTH } from '../../models/provenance.js';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/provenance/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,mCAAmC;AACnC,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAEtB,oCAAoC;AACpC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAErF,oCAAoC;AACpC,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,iBAAiB,GAGlB,MAAM,eAAe,CAAC;AAWvB,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * ProvenanceTracker - High-level service for provenance chain management
3
+ *
4
+ * Constitution Compliance:
5
+ * - CP-001: Complete provenance chain for every data item
6
+ * - CP-003: SHA-256 content hashing
7
+ * - CP-005: Full reproducibility via processing params
8
+ *
9
+ * FAIL FAST: All errors throw immediately, no silent failures
10
+ */
11
+ import { DatabaseService } from '../storage/database/index.js';
12
+ import { ProvenanceRecord, CreateProvenanceParams } from '../../models/provenance.js';
13
+ /** Error codes for provenance operations */
14
+ export declare const ProvenanceErrorCode: {
15
+ readonly NOT_FOUND: "PROVENANCE_NOT_FOUND";
16
+ readonly CHAIN_BROKEN: "PROVENANCE_CHAIN_BROKEN";
17
+ readonly ROOT_NOT_FOUND: "ROOT_DOCUMENT_NOT_FOUND";
18
+ readonly INVALID_TYPE: "INVALID_PROVENANCE_TYPE";
19
+ readonly INVALID_PARAMS: "INVALID_PROVENANCE_PARAMS";
20
+ };
21
+ type ProvenanceErrorCodeType = (typeof ProvenanceErrorCode)[keyof typeof ProvenanceErrorCode];
22
+ /**
23
+ * ProvenanceError - Typed error for provenance operations
24
+ * FAIL FAST: Always throw with detailed error information
25
+ */
26
+ export declare class ProvenanceError extends Error {
27
+ readonly code: ProvenanceErrorCodeType;
28
+ readonly details?: Record<string, unknown> | undefined;
29
+ constructor(message: string, code: ProvenanceErrorCodeType, details?: Record<string, unknown> | undefined);
30
+ }
31
+ /** Result of getProvenanceChain */
32
+ interface ProvenanceChainResult {
33
+ /** The record we started from */
34
+ current: ProvenanceRecord;
35
+ /** Ancestors ordered: immediate parent first, root last */
36
+ ancestors: ProvenanceRecord[];
37
+ /** The root DOCUMENT record */
38
+ root: ProvenanceRecord;
39
+ /** Chain depth of current record */
40
+ depth: number;
41
+ /** Human-readable chain path */
42
+ chainPath: string[];
43
+ /** Whether chain has expected number of records */
44
+ isComplete: boolean;
45
+ }
46
+ /**
47
+ * ProvenanceTracker - High-level provenance chain management
48
+ *
49
+ * Provides clean API for:
50
+ * 1. Creating provenance records with automatic parent_ids chain building
51
+ * 2. Traversing provenance chains from any item to root document
52
+ * 3. Querying provenance by type, root document, or ID
53
+ */
54
+ export declare class ProvenanceTracker {
55
+ private readonly db;
56
+ constructor(db: DatabaseService);
57
+ /**
58
+ * Create provenance record with automatic parent_ids chain building
59
+ *
60
+ * For DOCUMENT type: parent_ids=[], chain_depth=0, root_document_id=self
61
+ * For OCR_RESULT type: parent_ids=[docId], chain_depth=1
62
+ * For CHUNK type: parent_ids=[docId, ocrId], chain_depth=2
63
+ * For EMBEDDING type: parent_ids=[docId, ocrId, chunkId], chain_depth=3
64
+ *
65
+ * @param params - Creation parameters
66
+ * @returns Created provenance record ID
67
+ * @throws ProvenanceError if parent not found or params invalid
68
+ */
69
+ createProvenance(params: CreateProvenanceParams): string;
70
+ /**
71
+ * Get provenance record by ID
72
+ * @throws ProvenanceError if not found
73
+ */
74
+ getProvenanceById(id: string): ProvenanceRecord;
75
+ /**
76
+ * Get provenance record by ID, returns null if not found
77
+ */
78
+ getProvenanceByIdOrNull(id: string): ProvenanceRecord | null;
79
+ /**
80
+ * Get complete provenance chain from item to root
81
+ *
82
+ * Returns ProvenanceChainResult with:
83
+ * - current: the starting record
84
+ * - ancestors: all ancestors from immediate parent to root
85
+ * - root: the DOCUMENT type root record
86
+ * - isComplete: whether chain has expected depth
87
+ *
88
+ * @throws ProvenanceError if record not found
89
+ */
90
+ getProvenanceChain(id: string): ProvenanceChainResult;
91
+ /**
92
+ * Get root document provenance for any item
93
+ *
94
+ * @param provenanceId - Any provenance record ID in the chain
95
+ * @returns The root DOCUMENT type record
96
+ * @throws ProvenanceError if not found or root is not DOCUMENT type
97
+ */
98
+ getRootDocument(provenanceId: string): ProvenanceRecord;
99
+ /**
100
+ * Get all provenance records for a root document
101
+ * Returns records ordered by chain_depth (DOCUMENT first, then OCR_RESULT, etc.)
102
+ */
103
+ getProvenanceByRootDocument(rootDocumentId: string): ProvenanceRecord[];
104
+ /**
105
+ * Get child provenance records for a parent
106
+ */
107
+ getProvenanceChildren(parentId: string): ProvenanceRecord[];
108
+ /**
109
+ * Build parent_ids array from source_id
110
+ * Returns array of ALL ancestor IDs ordered from oldest to most recent
111
+ * Example: For EMBEDDING, returns [docId, ocrId, chunkId]
112
+ *
113
+ * @param sourceId - Immediate parent provenance ID (null for DOCUMENT)
114
+ * @returns Array of all ancestor IDs
115
+ * @throws ProvenanceError if parent not found (CHAIN_BROKEN)
116
+ */
117
+ private buildParentIds;
118
+ /**
119
+ * Build chain_path array based on type
120
+ * Returns human-readable path from root to current type
121
+ *
122
+ * Note: For EMBEDDING, the chain_path depends on the parent type.
123
+ * This method returns the default CHUNK->EMBEDDING path.
124
+ * For VLM_DESCRIPTION->EMBEDDING, the chain_path is built dynamically from parent.
125
+ */
126
+ private buildChainPath;
127
+ }
128
+ /**
129
+ * Get or create ProvenanceTracker singleton
130
+ * @param db - DatabaseService instance
131
+ */
132
+ export declare function getProvenanceTracker(db: DatabaseService): ProvenanceTracker;
133
+ /**
134
+ * Reset singleton for testing
135
+ */
136
+ export declare function resetProvenanceTracker(): void;
137
+ export {};
138
+ //# sourceMappingURL=tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../../src/services/provenance/tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EACL,gBAAgB,EAEhB,sBAAsB,EAEvB,MAAM,4BAA4B,CAAC;AAEpC,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC;AAEX,KAAK,uBAAuB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAE9F;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,IAAI,EAAE,uBAAuB;aAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjD,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,uBAAuB,EAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAOpD;AAED,mCAAmC;AACnC,UAAU,qBAAqB;IAC7B,iCAAiC;IACjC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,2DAA2D;IAC3D,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,+BAA+B;IAC/B,IAAI,EAAE,gBAAgB,CAAC;IACvB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,mDAAmD;IACnD,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,eAAe;IAEhD;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM;IAsDxD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB;IAY/C;;OAEG;IACH,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAI5D;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB;IAsDrD;;;;;;OAMG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB;IAcvD;;;OAGG;IACH,2BAA2B,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAIvE;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAI3D;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IAiCtB;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;CAmCvB;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,eAAe,GAAG,iBAAiB,CAU3E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C"}
@@ -0,0 +1,293 @@
1
+ /**
2
+ * ProvenanceTracker - High-level service for provenance chain management
3
+ *
4
+ * Constitution Compliance:
5
+ * - CP-001: Complete provenance chain for every data item
6
+ * - CP-003: SHA-256 content hashing
7
+ * - CP-005: Full reproducibility via processing params
8
+ *
9
+ * FAIL FAST: All errors throw immediately, no silent failures
10
+ */
11
+ import { v4 as uuidv4 } from 'uuid';
12
+ import { ProvenanceType, PROVENANCE_CHAIN_DEPTH, } from '../../models/provenance.js';
13
+ /** Error codes for provenance operations */
14
+ export const ProvenanceErrorCode = {
15
+ NOT_FOUND: 'PROVENANCE_NOT_FOUND',
16
+ CHAIN_BROKEN: 'PROVENANCE_CHAIN_BROKEN',
17
+ ROOT_NOT_FOUND: 'ROOT_DOCUMENT_NOT_FOUND',
18
+ INVALID_TYPE: 'INVALID_PROVENANCE_TYPE',
19
+ INVALID_PARAMS: 'INVALID_PROVENANCE_PARAMS',
20
+ };
21
+ /**
22
+ * ProvenanceError - Typed error for provenance operations
23
+ * FAIL FAST: Always throw with detailed error information
24
+ */
25
+ export class ProvenanceError extends Error {
26
+ code;
27
+ details;
28
+ constructor(message, code, details) {
29
+ super(message);
30
+ this.code = code;
31
+ this.details = details;
32
+ this.name = 'ProvenanceError';
33
+ // Ensure proper prototype chain for instanceof checks
34
+ Object.setPrototypeOf(this, ProvenanceError.prototype);
35
+ }
36
+ }
37
+ /**
38
+ * ProvenanceTracker - High-level provenance chain management
39
+ *
40
+ * Provides clean API for:
41
+ * 1. Creating provenance records with automatic parent_ids chain building
42
+ * 2. Traversing provenance chains from any item to root document
43
+ * 3. Querying provenance by type, root document, or ID
44
+ */
45
+ export class ProvenanceTracker {
46
+ db;
47
+ constructor(db) {
48
+ this.db = db;
49
+ }
50
+ /**
51
+ * Create provenance record with automatic parent_ids chain building
52
+ *
53
+ * For DOCUMENT type: parent_ids=[], chain_depth=0, root_document_id=self
54
+ * For OCR_RESULT type: parent_ids=[docId], chain_depth=1
55
+ * For CHUNK type: parent_ids=[docId, ocrId], chain_depth=2
56
+ * For EMBEDDING type: parent_ids=[docId, ocrId, chunkId], chain_depth=3
57
+ *
58
+ * @param params - Creation parameters
59
+ * @returns Created provenance record ID
60
+ * @throws ProvenanceError if parent not found or params invalid
61
+ */
62
+ createProvenance(params) {
63
+ // Validate type is a known ProvenanceType
64
+ const validTypes = Object.values(ProvenanceType);
65
+ if (!validTypes.includes(params.type)) {
66
+ throw new ProvenanceError(`Invalid provenance type: ${params.type}. Valid types: ${validTypes.join(', ')}`, ProvenanceErrorCode.INVALID_TYPE, { providedType: params.type, validTypes });
67
+ }
68
+ const id = uuidv4();
69
+ const now = new Date().toISOString();
70
+ const chainDepth = PROVENANCE_CHAIN_DEPTH[params.type];
71
+ // Build parent_ids array by walking the parent chain
72
+ const parentIds = this.buildParentIds(params.source_id ?? null);
73
+ // For DOCUMENT type, root_document_id is self
74
+ // For other types, root_document_id comes from params
75
+ const rootDocumentId = params.type === ProvenanceType.DOCUMENT ? id : params.root_document_id;
76
+ // Build chain_path based on type
77
+ const chainPath = this.buildChainPath(params.type);
78
+ const record = {
79
+ id,
80
+ type: params.type,
81
+ created_at: now,
82
+ processed_at: now,
83
+ source_file_created_at: params.source_file_created_at ?? null,
84
+ source_file_modified_at: params.source_file_modified_at ?? null,
85
+ source_type: params.source_type,
86
+ source_path: params.source_path ?? null,
87
+ source_id: params.source_id ?? null,
88
+ root_document_id: rootDocumentId,
89
+ location: params.location ?? null,
90
+ content_hash: params.content_hash,
91
+ input_hash: params.input_hash ?? null,
92
+ file_hash: params.file_hash ?? null,
93
+ processor: params.processor,
94
+ processor_version: params.processor_version,
95
+ processing_params: params.processing_params,
96
+ processing_duration_ms: params.processing_duration_ms ?? null,
97
+ processing_quality_score: params.processing_quality_score ?? null,
98
+ parent_id: params.source_id ?? null,
99
+ parent_ids: JSON.stringify(parentIds),
100
+ chain_depth: chainDepth,
101
+ chain_path: JSON.stringify(chainPath),
102
+ };
103
+ return this.db.insertProvenance(record);
104
+ }
105
+ /**
106
+ * Get provenance record by ID
107
+ * @throws ProvenanceError if not found
108
+ */
109
+ getProvenanceById(id) {
110
+ const record = this.db.getProvenance(id);
111
+ if (!record) {
112
+ throw new ProvenanceError(`Provenance record not found: ${id}`, ProvenanceErrorCode.NOT_FOUND, { id });
113
+ }
114
+ return record;
115
+ }
116
+ /**
117
+ * Get provenance record by ID, returns null if not found
118
+ */
119
+ getProvenanceByIdOrNull(id) {
120
+ return this.db.getProvenance(id);
121
+ }
122
+ /**
123
+ * Get complete provenance chain from item to root
124
+ *
125
+ * Returns ProvenanceChainResult with:
126
+ * - current: the starting record
127
+ * - ancestors: all ancestors from immediate parent to root
128
+ * - root: the DOCUMENT type root record
129
+ * - isComplete: whether chain has expected depth
130
+ *
131
+ * @throws ProvenanceError if record not found
132
+ */
133
+ getProvenanceChain(id) {
134
+ // getProvenanceChain returns array ordered current→root
135
+ const chain = this.db.getProvenanceChain(id);
136
+ if (chain.length === 0) {
137
+ throw new ProvenanceError(`Provenance record not found: ${id}`, ProvenanceErrorCode.NOT_FOUND, { id });
138
+ }
139
+ const current = chain[0];
140
+ const ancestors = chain.slice(1);
141
+ const root = chain[chain.length - 1];
142
+ // Verify chain completeness based on type's expected depth
143
+ // DOCUMENT (depth=0) expects 1 record (itself)
144
+ // OCR_RESULT (depth=1) expects 2 records
145
+ // CHUNK (depth=2) expects 3 records
146
+ // EMBEDDING (depth=3) expects 4 records
147
+ const expectedChainLength = current.chain_depth + 1;
148
+ const isComplete = chain.length === expectedChainLength;
149
+ // Parse chain_path or reconstruct from chain
150
+ let chainPath;
151
+ if (current.chain_path) {
152
+ try {
153
+ chainPath = JSON.parse(current.chain_path);
154
+ }
155
+ catch (error) {
156
+ console.error(`[ProvenanceTracker] Corrupt chain_path JSON in provenance record ${current.id}:`, error instanceof Error ? error.message : String(error));
157
+ throw new ProvenanceError(`Corrupt chain_path JSON in provenance record ${current.id}`, ProvenanceErrorCode.CHAIN_BROKEN, { provenanceId: current.id, raw: current.chain_path });
158
+ }
159
+ }
160
+ else {
161
+ chainPath = chain.map((r) => r.type).reverse();
162
+ }
163
+ return {
164
+ current,
165
+ ancestors,
166
+ root,
167
+ depth: current.chain_depth,
168
+ chainPath,
169
+ isComplete,
170
+ };
171
+ }
172
+ /**
173
+ * Get root document provenance for any item
174
+ *
175
+ * @param provenanceId - Any provenance record ID in the chain
176
+ * @returns The root DOCUMENT type record
177
+ * @throws ProvenanceError if not found or root is not DOCUMENT type
178
+ */
179
+ getRootDocument(provenanceId) {
180
+ const chain = this.getProvenanceChain(provenanceId);
181
+ if (chain.root.type !== ProvenanceType.DOCUMENT) {
182
+ throw new ProvenanceError(`Root record is not DOCUMENT type. Found: ${chain.root.type}`, ProvenanceErrorCode.ROOT_NOT_FOUND, { rootId: chain.root.id, rootType: chain.root.type });
183
+ }
184
+ return chain.root;
185
+ }
186
+ /**
187
+ * Get all provenance records for a root document
188
+ * Returns records ordered by chain_depth (DOCUMENT first, then OCR_RESULT, etc.)
189
+ */
190
+ getProvenanceByRootDocument(rootDocumentId) {
191
+ return this.db.getProvenanceByRootDocument(rootDocumentId);
192
+ }
193
+ /**
194
+ * Get child provenance records for a parent
195
+ */
196
+ getProvenanceChildren(parentId) {
197
+ return this.db.getProvenanceChildren(parentId);
198
+ }
199
+ /**
200
+ * Build parent_ids array from source_id
201
+ * Returns array of ALL ancestor IDs ordered from oldest to most recent
202
+ * Example: For EMBEDDING, returns [docId, ocrId, chunkId]
203
+ *
204
+ * @param sourceId - Immediate parent provenance ID (null for DOCUMENT)
205
+ * @returns Array of all ancestor IDs
206
+ * @throws ProvenanceError if parent not found (CHAIN_BROKEN)
207
+ */
208
+ buildParentIds(sourceId) {
209
+ if (sourceId === null) {
210
+ // DOCUMENT type has no parents
211
+ return [];
212
+ }
213
+ const parent = this.db.getProvenance(sourceId);
214
+ if (!parent) {
215
+ throw new ProvenanceError(`Parent provenance not found: ${sourceId}. Cannot build provenance chain.`, ProvenanceErrorCode.CHAIN_BROKEN, { sourceId });
216
+ }
217
+ // Parse parent's parent_ids and append parent to get full chain
218
+ let parentParentIds;
219
+ try {
220
+ parentParentIds = JSON.parse(parent.parent_ids);
221
+ }
222
+ catch (error) {
223
+ console.error(`[ProvenanceTracker] Corrupt parent_ids JSON in provenance record ${parent.id}:`, error instanceof Error ? error.message : String(error));
224
+ throw new ProvenanceError(`Corrupt parent_ids JSON in provenance record ${parent.id}`, ProvenanceErrorCode.CHAIN_BROKEN, { provenanceId: parent.id, raw: parent.parent_ids });
225
+ }
226
+ return [...parentParentIds, sourceId];
227
+ }
228
+ /**
229
+ * Build chain_path array based on type
230
+ * Returns human-readable path from root to current type
231
+ *
232
+ * Note: For EMBEDDING, the chain_path depends on the parent type.
233
+ * This method returns the default CHUNK->EMBEDDING path.
234
+ * For VLM_DESCRIPTION->EMBEDDING, the chain_path is built dynamically from parent.
235
+ */
236
+ buildChainPath(type) {
237
+ switch (type) {
238
+ case ProvenanceType.DOCUMENT:
239
+ return ['DOCUMENT'];
240
+ case ProvenanceType.OCR_RESULT:
241
+ return ['DOCUMENT', 'OCR_RESULT'];
242
+ case ProvenanceType.CHUNK:
243
+ return ['DOCUMENT', 'OCR_RESULT', 'CHUNK'];
244
+ case ProvenanceType.IMAGE:
245
+ return ['DOCUMENT', 'OCR_RESULT', 'IMAGE'];
246
+ case ProvenanceType.VLM_DESCRIPTION:
247
+ return ['DOCUMENT', 'OCR_RESULT', 'IMAGE', 'VLM_DESCRIPTION'];
248
+ case ProvenanceType.EXTRACTION:
249
+ return ['DOCUMENT', 'OCR_RESULT', 'EXTRACTION'];
250
+ case ProvenanceType.FORM_FILL:
251
+ return ['FORM_FILL'];
252
+ case ProvenanceType.COMPARISON:
253
+ return ['DOCUMENT', 'OCR_RESULT', 'COMPARISON'];
254
+ case ProvenanceType.CLUSTERING:
255
+ return ['DOCUMENT', 'CLUSTERING'];
256
+ case ProvenanceType.EMBEDDING:
257
+ // Default path is from CHUNK (depth 3). VLM description embeddings
258
+ // (depth 4) bypass createProvenance() and build chain_path directly
259
+ // in pipeline.ts generateAndStoreEmbedding().
260
+ return ['DOCUMENT', 'OCR_RESULT', 'CHUNK', 'EMBEDDING'];
261
+ default:
262
+ // This should never happen due to type validation above
263
+ // but TypeScript needs exhaustive handling
264
+ throw new ProvenanceError(`Unknown provenance type: ${type}`, ProvenanceErrorCode.INVALID_TYPE, { type });
265
+ }
266
+ }
267
+ }
268
+ // Singleton management
269
+ let _tracker = null;
270
+ let _trackerDb = null;
271
+ /**
272
+ * Get or create ProvenanceTracker singleton
273
+ * @param db - DatabaseService instance
274
+ */
275
+ export function getProvenanceTracker(db) {
276
+ // If the database instance has changed, recreate the tracker
277
+ if (_tracker && _trackerDb !== db) {
278
+ _tracker = null;
279
+ }
280
+ if (!_tracker) {
281
+ _tracker = new ProvenanceTracker(db);
282
+ _trackerDb = db;
283
+ }
284
+ return _tracker;
285
+ }
286
+ /**
287
+ * Reset singleton for testing
288
+ */
289
+ export function resetProvenanceTracker() {
290
+ _tracker = null;
291
+ _trackerDb = null;
292
+ }
293
+ //# sourceMappingURL=tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../../src/services/provenance/tracker.ts"],"names":[],"mappings":"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"}