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":"operations.js","sourceRoot":"","sources":["../../../../src/services/storage/migrations/operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,306 @@
1
+ /**
2
+ * SQL Schema Definitions for OCR Provenance MCP System
3
+ *
4
+ * Contains all table creation SQL, indexes, and database configuration.
5
+ * These are constants used by the migration system.
6
+ *
7
+ * @module migrations/schema-definitions
8
+ */
9
+ /** Current schema version */
10
+ export declare const SCHEMA_VERSION = 32;
11
+ /**
12
+ * Database configuration pragmas for optimal performance and safety
13
+ */
14
+ export declare const DATABASE_PRAGMAS: readonly ["PRAGMA journal_mode = WAL", "PRAGMA foreign_keys = ON", "PRAGMA synchronous = NORMAL", "PRAGMA cache_size = -64000", "PRAGMA wal_autocheckpoint = 1000", "PRAGMA mmap_size = 268435456", "PRAGMA busy_timeout = 30000"];
15
+ /**
16
+ * Schema version table - tracks migration state
17
+ */
18
+ export declare const CREATE_SCHEMA_VERSION_TABLE = "\nCREATE TABLE IF NOT EXISTS schema_version (\n id INTEGER PRIMARY KEY CHECK (id = 1),\n version INTEGER NOT NULL,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n)\n";
19
+ /**
20
+ * Provenance table - central provenance tracking (self-referential FKs)
21
+ * Every data transformation creates a provenance record.
22
+ */
23
+ export declare const CREATE_PROVENANCE_TABLE = "\nCREATE TABLE IF NOT EXISTS provenance (\n id TEXT PRIMARY KEY,\n type TEXT NOT NULL CHECK (type IN ('DOCUMENT', 'OCR_RESULT', 'CHUNK', 'IMAGE', 'VLM_DESCRIPTION', 'EMBEDDING', 'EXTRACTION', 'FORM_FILL', 'COMPARISON', 'CLUSTERING')),\n created_at TEXT NOT NULL,\n processed_at TEXT NOT NULL,\n source_file_created_at TEXT,\n source_file_modified_at TEXT,\n source_type TEXT NOT NULL CHECK (source_type IN ('FILE', 'OCR', 'CHUNKING', 'IMAGE_EXTRACTION', 'VLM', 'VLM_DEDUP', 'EMBEDDING', 'EXTRACTION', 'FORM_FILL', 'COMPARISON', 'CLUSTERING')),\n source_path TEXT,\n source_id TEXT,\n root_document_id TEXT NOT NULL,\n location TEXT,\n content_hash TEXT NOT NULL,\n input_hash TEXT,\n file_hash TEXT,\n processor TEXT NOT NULL,\n processor_version TEXT NOT NULL,\n processing_params TEXT NOT NULL,\n processing_duration_ms INTEGER,\n processing_quality_score REAL,\n parent_id TEXT,\n parent_ids TEXT NOT NULL,\n chain_depth INTEGER NOT NULL,\n chain_path TEXT,\n user_id TEXT,\n agent_id TEXT,\n agent_metadata_json TEXT,\n chain_hash TEXT,\n FOREIGN KEY (source_id) REFERENCES provenance(id),\n FOREIGN KEY (parent_id) REFERENCES provenance(id)\n)\n";
24
+ /**
25
+ * Database metadata table - database info and statistics
26
+ */
27
+ export declare const CREATE_DATABASE_METADATA_TABLE = "\nCREATE TABLE IF NOT EXISTS database_metadata (\n id INTEGER PRIMARY KEY CHECK (id = 1),\n database_name TEXT NOT NULL,\n database_version TEXT NOT NULL,\n created_at TEXT NOT NULL,\n last_modified_at TEXT NOT NULL,\n total_documents INTEGER NOT NULL DEFAULT 0,\n total_ocr_results INTEGER NOT NULL DEFAULT 0,\n total_chunks INTEGER NOT NULL DEFAULT 0,\n total_embeddings INTEGER NOT NULL DEFAULT 0\n)\n";
28
+ /**
29
+ * Documents table - source files with file hashes
30
+ * Provenance depth: 0 (root of chain)
31
+ */
32
+ export declare const CREATE_DOCUMENTS_TABLE = "\nCREATE TABLE IF NOT EXISTS documents (\n id TEXT PRIMARY KEY,\n file_path TEXT NOT NULL,\n file_name TEXT NOT NULL,\n file_hash TEXT NOT NULL,\n file_size INTEGER NOT NULL,\n file_type TEXT NOT NULL,\n status TEXT NOT NULL CHECK (status IN ('pending', 'processing', 'complete', 'failed')),\n page_count INTEGER,\n provenance_id TEXT NOT NULL UNIQUE,\n created_at TEXT NOT NULL,\n modified_at TEXT,\n ocr_completed_at TEXT,\n error_message TEXT,\n doc_title TEXT,\n doc_author TEXT,\n doc_subject TEXT,\n datalab_file_id TEXT,\n FOREIGN KEY (provenance_id) REFERENCES provenance(id)\n)\n";
33
+ /**
34
+ * OCR Results table - extracted text from Datalab OCR
35
+ * Provenance depth: 1
36
+ */
37
+ export declare const CREATE_OCR_RESULTS_TABLE = "\nCREATE TABLE IF NOT EXISTS ocr_results (\n id TEXT PRIMARY KEY,\n provenance_id TEXT NOT NULL UNIQUE,\n document_id TEXT NOT NULL,\n extracted_text TEXT NOT NULL,\n text_length INTEGER NOT NULL,\n datalab_request_id TEXT NOT NULL,\n datalab_mode TEXT NOT NULL CHECK (datalab_mode IN ('fast', 'balanced', 'accurate')),\n parse_quality_score REAL,\n page_count INTEGER NOT NULL,\n cost_cents REAL,\n content_hash TEXT NOT NULL,\n processing_started_at TEXT NOT NULL,\n processing_completed_at TEXT NOT NULL,\n processing_duration_ms INTEGER NOT NULL,\n json_blocks TEXT,\n extras_json TEXT,\n FOREIGN KEY (provenance_id) REFERENCES provenance(id),\n FOREIGN KEY (document_id) REFERENCES documents(id)\n)\n";
38
+ /**
39
+ * Chunks table - text segments (2000 chars, 10% overlap)
40
+ * Provenance depth: 2
41
+ */
42
+ export declare const CREATE_CHUNKS_TABLE = "\nCREATE TABLE IF NOT EXISTS chunks (\n id TEXT PRIMARY KEY,\n document_id TEXT NOT NULL,\n ocr_result_id TEXT NOT NULL,\n text TEXT NOT NULL CHECK(length(trim(text)) > 0),\n text_hash TEXT NOT NULL,\n chunk_index INTEGER NOT NULL,\n character_start INTEGER NOT NULL,\n character_end INTEGER NOT NULL,\n page_number INTEGER,\n page_range TEXT,\n overlap_previous INTEGER NOT NULL,\n overlap_next INTEGER NOT NULL,\n provenance_id TEXT NOT NULL UNIQUE,\n created_at TEXT NOT NULL,\n embedding_status TEXT NOT NULL CHECK (embedding_status IN ('pending', 'complete', 'failed')),\n embedded_at TEXT,\n ocr_quality_score REAL,\n heading_context TEXT,\n heading_level INTEGER,\n section_path TEXT,\n content_types TEXT,\n is_atomic INTEGER NOT NULL DEFAULT 0,\n chunking_strategy TEXT NOT NULL DEFAULT 'hybrid_section',\n FOREIGN KEY (document_id) REFERENCES documents(id),\n FOREIGN KEY (ocr_result_id) REFERENCES ocr_results(id),\n FOREIGN KEY (provenance_id) REFERENCES provenance(id)\n)\n";
43
+ /**
44
+ * Embeddings table - vectors WITH original_text (denormalized)
45
+ * Provenance depth: 3
46
+ *
47
+ * CRITICAL: This table is denormalized to include original_text
48
+ * and source file info. Search results are self-contained per CP-002.
49
+ */
50
+ export declare const CREATE_EMBEDDINGS_TABLE = "\nCREATE TABLE IF NOT EXISTS embeddings (\n id TEXT PRIMARY KEY,\n chunk_id TEXT,\n image_id TEXT,\n extraction_id TEXT,\n document_id TEXT NOT NULL,\n original_text TEXT NOT NULL,\n original_text_length INTEGER NOT NULL,\n source_file_path TEXT NOT NULL,\n source_file_name TEXT NOT NULL,\n source_file_hash TEXT NOT NULL,\n page_number INTEGER,\n page_range TEXT,\n character_start INTEGER NOT NULL,\n character_end INTEGER NOT NULL,\n chunk_index INTEGER NOT NULL,\n total_chunks INTEGER NOT NULL,\n model_name TEXT NOT NULL,\n model_version TEXT NOT NULL,\n task_type TEXT NOT NULL CHECK (task_type IN ('search_document', 'search_query')),\n inference_mode TEXT NOT NULL CHECK (inference_mode = 'local'),\n gpu_device TEXT,\n provenance_id TEXT NOT NULL UNIQUE,\n content_hash TEXT NOT NULL,\n created_at TEXT NOT NULL,\n generation_duration_ms INTEGER,\n FOREIGN KEY (chunk_id) REFERENCES chunks(id),\n FOREIGN KEY (image_id) REFERENCES images(id),\n FOREIGN KEY (extraction_id) REFERENCES extractions(id),\n FOREIGN KEY (document_id) REFERENCES documents(id),\n FOREIGN KEY (provenance_id) REFERENCES provenance(id),\n CHECK (chunk_id IS NOT NULL OR image_id IS NOT NULL OR extraction_id IS NOT NULL)\n)\n";
51
+ /**
52
+ * Vector embeddings virtual table using sqlite-vec
53
+ * 768-dimensional float32 vectors for nomic-embed-text-v1.5
54
+ */
55
+ export declare const CREATE_VEC_EMBEDDINGS_TABLE = "\nCREATE VIRTUAL TABLE IF NOT EXISTS vec_embeddings USING vec0(\n embedding_id TEXT PRIMARY KEY,\n vector FLOAT[768]\n)\n";
56
+ /**
57
+ * FTS5 full-text search index over chunks
58
+ * Uses external content mode - no data duplication
59
+ * Tokenizer: porter stemmer + unicode support
60
+ */
61
+ export declare const CREATE_CHUNKS_FTS_TABLE = "\nCREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5(\n text,\n content='chunks',\n content_rowid='rowid',\n tokenize='porter unicode61'\n)\n";
62
+ /**
63
+ * Triggers to keep FTS5 in sync with chunks table
64
+ * CRITICAL: These must be created in v4 migration
65
+ */
66
+ export declare const CREATE_FTS_TRIGGERS: readonly ["CREATE TRIGGER IF NOT EXISTS chunks_fts_ai AFTER INSERT ON chunks BEGIN\n INSERT INTO chunks_fts(rowid, text) VALUES (new.rowid, new.text);\n END", "CREATE TRIGGER IF NOT EXISTS chunks_fts_ad AFTER DELETE ON chunks BEGIN\n INSERT INTO chunks_fts(chunks_fts, rowid, text) VALUES('delete', old.rowid, old.text);\n END", "CREATE TRIGGER IF NOT EXISTS chunks_fts_au AFTER UPDATE OF text ON chunks BEGIN\n INSERT INTO chunks_fts(chunks_fts, rowid, text) VALUES('delete', old.rowid, old.text);\n INSERT INTO chunks_fts(rowid, text) VALUES (new.rowid, new.text);\n END"];
67
+ /**
68
+ * FTS5 index metadata for audit trail
69
+ * Note: v6 removes CHECK (id = 1) to allow id=2 row for VLM FTS metadata
70
+ */
71
+ export declare const CREATE_FTS_INDEX_METADATA = "\nCREATE TABLE IF NOT EXISTS fts_index_metadata (\n id INTEGER PRIMARY KEY,\n last_rebuild_at TEXT,\n chunks_indexed INTEGER NOT NULL DEFAULT 0,\n tokenizer TEXT NOT NULL DEFAULT 'porter unicode61',\n schema_version INTEGER NOT NULL DEFAULT 8,\n content_hash TEXT\n)\n";
72
+ /**
73
+ * FTS5 full-text search index over VLM description embeddings
74
+ * Uses external content mode - reads original_text from embeddings table
75
+ * Only indexes embeddings where image_id IS NOT NULL (VLM descriptions)
76
+ * Tokenizer: porter stemmer + unicode support
77
+ */
78
+ export declare const CREATE_VLM_FTS_TABLE = "\nCREATE VIRTUAL TABLE IF NOT EXISTS vlm_fts USING fts5(\n original_text,\n content='embeddings',\n content_rowid='rowid',\n tokenize='porter unicode61'\n)\n";
79
+ /**
80
+ * Triggers to keep VLM FTS5 in sync with embeddings table
81
+ * Only fire for embeddings with image_id IS NOT NULL (VLM description embeddings)
82
+ *
83
+ * NOTE (L-3): The UPDATE trigger only fires on original_text changes when
84
+ * new.image_id IS NOT NULL. If image_id were set from non-null to null, the
85
+ * stale FTS entry would remain. In practice image_id is immutable after INSERT,
86
+ * so this is a theoretical gap only. The DELETE trigger covers row removal.
87
+ */
88
+ export declare const CREATE_VLM_FTS_TRIGGERS: readonly ["CREATE TRIGGER IF NOT EXISTS vlm_fts_ai AFTER INSERT ON embeddings\n WHEN new.image_id IS NOT NULL BEGIN\n INSERT INTO vlm_fts(rowid, original_text) VALUES (new.rowid, new.original_text);\n END", "CREATE TRIGGER IF NOT EXISTS vlm_fts_ad AFTER DELETE ON embeddings\n WHEN old.image_id IS NOT NULL BEGIN\n INSERT INTO vlm_fts(vlm_fts, rowid, original_text) VALUES('delete', old.rowid, old.original_text);\n END", "CREATE TRIGGER IF NOT EXISTS vlm_fts_au AFTER UPDATE OF original_text ON embeddings\n WHEN new.image_id IS NOT NULL BEGIN\n INSERT INTO vlm_fts(vlm_fts, rowid, original_text) VALUES('delete', old.rowid, old.original_text);\n INSERT INTO vlm_fts(rowid, original_text) VALUES (new.rowid, new.original_text);\n END"];
89
+ /**
90
+ * Images table - extracted images from documents for VLM analysis
91
+ * Provenance depth: 2 (after OCR extraction)
92
+ */
93
+ export declare const CREATE_IMAGES_TABLE = "\nCREATE TABLE IF NOT EXISTS images (\n id TEXT PRIMARY KEY,\n document_id TEXT NOT NULL,\n ocr_result_id TEXT NOT NULL,\n page_number INTEGER NOT NULL,\n bbox_x REAL NOT NULL,\n bbox_y REAL NOT NULL,\n bbox_width REAL NOT NULL,\n bbox_height REAL NOT NULL,\n image_index INTEGER NOT NULL,\n format TEXT NOT NULL,\n width INTEGER NOT NULL,\n height INTEGER NOT NULL,\n extracted_path TEXT,\n file_size INTEGER,\n vlm_status TEXT NOT NULL DEFAULT 'pending' CHECK (vlm_status IN ('pending', 'processing', 'complete', 'failed')),\n vlm_description TEXT,\n vlm_structured_data TEXT,\n vlm_embedding_id TEXT,\n vlm_model TEXT,\n vlm_confidence REAL,\n vlm_processed_at TEXT,\n vlm_tokens_used INTEGER,\n context_text TEXT,\n provenance_id TEXT,\n created_at TEXT NOT NULL,\n error_message TEXT,\n block_type TEXT,\n is_header_footer INTEGER NOT NULL DEFAULT 0,\n content_hash TEXT,\n FOREIGN KEY (document_id) REFERENCES documents(id) ON DELETE CASCADE,\n FOREIGN KEY (ocr_result_id) REFERENCES ocr_results(id) ON DELETE CASCADE,\n FOREIGN KEY (vlm_embedding_id) REFERENCES embeddings(id),\n FOREIGN KEY (provenance_id) REFERENCES provenance(id)\n)\n";
94
+ /**
95
+ * Extractions table - structured data extracted via page_schema
96
+ * Provenance depth: 2 (after OCR_RESULT)
97
+ */
98
+ export declare const CREATE_EXTRACTIONS_TABLE = "\nCREATE TABLE IF NOT EXISTS extractions (\n id TEXT PRIMARY KEY NOT NULL,\n document_id TEXT NOT NULL REFERENCES documents(id) ON DELETE CASCADE,\n ocr_result_id TEXT NOT NULL REFERENCES ocr_results(id) ON DELETE CASCADE,\n schema_json TEXT NOT NULL,\n extraction_json TEXT NOT NULL,\n content_hash TEXT NOT NULL,\n provenance_id TEXT NOT NULL REFERENCES provenance(id),\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n)\n";
99
+ /**
100
+ * Form fills table - results from Datalab /fill API
101
+ * Provenance depth: 1 (directly from DOCUMENT)
102
+ */
103
+ export declare const CREATE_FORM_FILLS_TABLE = "\nCREATE TABLE IF NOT EXISTS form_fills (\n id TEXT PRIMARY KEY NOT NULL,\n source_file_path TEXT NOT NULL,\n source_file_hash TEXT NOT NULL,\n field_data_json TEXT NOT NULL,\n context TEXT,\n confidence_threshold REAL NOT NULL DEFAULT 0.5,\n output_file_path TEXT,\n output_base64 TEXT,\n fields_filled TEXT NOT NULL DEFAULT '[]',\n fields_not_found TEXT NOT NULL DEFAULT '[]',\n page_count INTEGER,\n cost_cents REAL,\n status TEXT NOT NULL CHECK(status IN ('pending', 'processing', 'complete', 'failed')),\n error_message TEXT,\n provenance_id TEXT NOT NULL REFERENCES provenance(id),\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n)\n";
104
+ /**
105
+ * FTS5 full-text search index over extraction JSON content
106
+ * Uses external content mode - reads extraction_json from extractions table
107
+ * Tokenizer: porter stemmer + unicode support
108
+ */
109
+ export declare const CREATE_EXTRACTIONS_FTS_TABLE = "\nCREATE VIRTUAL TABLE IF NOT EXISTS extractions_fts USING fts5(\n extraction_json,\n content='extractions',\n content_rowid='rowid',\n tokenize='porter unicode61'\n)\n";
110
+ /**
111
+ * Triggers to keep extractions FTS5 in sync with extractions table
112
+ */
113
+ export declare const CREATE_EXTRACTIONS_FTS_TRIGGERS: readonly ["CREATE TRIGGER IF NOT EXISTS extractions_fts_ai AFTER INSERT ON extractions BEGIN\n INSERT INTO extractions_fts(rowid, extraction_json) VALUES (new.rowid, new.extraction_json);\n END", "CREATE TRIGGER IF NOT EXISTS extractions_fts_ad AFTER DELETE ON extractions BEGIN\n INSERT INTO extractions_fts(extractions_fts, rowid, extraction_json) VALUES('delete', old.rowid, old.extraction_json);\n END", "CREATE TRIGGER IF NOT EXISTS extractions_fts_au AFTER UPDATE OF extraction_json ON extractions BEGIN\n INSERT INTO extractions_fts(extractions_fts, rowid, extraction_json) VALUES('delete', old.rowid, old.extraction_json);\n INSERT INTO extractions_fts(rowid, extraction_json) VALUES (new.rowid, new.extraction_json);\n END"];
114
+ /**
115
+ * Uploaded files table - files uploaded to Datalab cloud storage
116
+ * Tracks upload lifecycle: pending -> uploading -> confirming -> complete/failed
117
+ */
118
+ export declare const CREATE_UPLOADED_FILES_TABLE = "\nCREATE TABLE IF NOT EXISTS uploaded_files (\n id TEXT PRIMARY KEY NOT NULL,\n local_path TEXT NOT NULL,\n file_name TEXT NOT NULL,\n file_hash TEXT NOT NULL,\n file_size INTEGER NOT NULL,\n content_type TEXT NOT NULL,\n datalab_file_id TEXT,\n datalab_reference TEXT,\n upload_status TEXT NOT NULL DEFAULT 'pending'\n CHECK (upload_status IN ('pending', 'uploading', 'confirming', 'complete', 'failed')),\n error_message TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n completed_at TEXT,\n provenance_id TEXT NOT NULL REFERENCES provenance(id)\n)";
119
+ /**
120
+ * Comparisons table - document comparison results
121
+ * Provenance depth: 2 (parallel to CHUNK, after OCR_RESULT)
122
+ */
123
+ export declare const CREATE_COMPARISONS_TABLE = "\nCREATE TABLE IF NOT EXISTS comparisons (\n id TEXT PRIMARY KEY NOT NULL,\n document_id_1 TEXT NOT NULL REFERENCES documents(id),\n document_id_2 TEXT NOT NULL REFERENCES documents(id),\n similarity_ratio REAL NOT NULL,\n text_diff_json TEXT NOT NULL,\n structural_diff_json TEXT NOT NULL,\n summary TEXT NOT NULL,\n content_hash TEXT NOT NULL,\n provenance_id TEXT NOT NULL REFERENCES provenance(id),\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n processing_duration_ms INTEGER\n)";
124
+ /**
125
+ * Clusters table - groups of semantically similar documents
126
+ * Provenance depth: 2 (parallel to CHUNK, after OCR_RESULT)
127
+ */
128
+ export declare const CREATE_CLUSTERS_TABLE = "\nCREATE TABLE IF NOT EXISTS clusters (\n id TEXT PRIMARY KEY NOT NULL,\n run_id TEXT NOT NULL,\n cluster_index INTEGER NOT NULL,\n label TEXT,\n description TEXT,\n classification_tag TEXT,\n document_count INTEGER NOT NULL DEFAULT 0,\n centroid_json TEXT,\n top_terms_json TEXT,\n coherence_score REAL,\n algorithm TEXT NOT NULL,\n algorithm_params_json TEXT NOT NULL,\n silhouette_score REAL,\n content_hash TEXT NOT NULL,\n provenance_id TEXT NOT NULL UNIQUE REFERENCES provenance(id),\n created_at TEXT NOT NULL,\n processing_duration_ms INTEGER\n)";
129
+ /**
130
+ * Document-cluster assignments - links documents to clusters within a run
131
+ * UNIQUE(document_id, run_id) ensures one assignment per document per run
132
+ * cluster_id is nullable for noise documents (HDBSCAN -1 labels)
133
+ */
134
+ export declare const CREATE_DOCUMENT_CLUSTERS_TABLE = "\nCREATE TABLE IF NOT EXISTS document_clusters (\n id TEXT PRIMARY KEY NOT NULL,\n document_id TEXT NOT NULL REFERENCES documents(id),\n cluster_id TEXT REFERENCES clusters(id),\n run_id TEXT NOT NULL,\n similarity_to_centroid REAL NOT NULL,\n membership_probability REAL NOT NULL DEFAULT 1.0,\n is_noise INTEGER NOT NULL DEFAULT 0,\n assigned_at TEXT NOT NULL,\n UNIQUE(document_id, run_id)\n)";
135
+ /**
136
+ * Saved searches table - persisted search results for revisiting
137
+ * v28 addition, v30 adds last_executed_at and execution_count
138
+ */
139
+ export declare const CREATE_SAVED_SEARCHES_TABLE = "\nCREATE TABLE IF NOT EXISTS saved_searches (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n query TEXT NOT NULL,\n search_type TEXT NOT NULL CHECK (search_type IN ('bm25', 'semantic', 'hybrid')),\n search_params TEXT NOT NULL DEFAULT '{}',\n result_count INTEGER NOT NULL,\n result_ids TEXT NOT NULL DEFAULT '[]',\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n notes TEXT,\n last_executed_at TEXT,\n execution_count INTEGER DEFAULT 0,\n user_id TEXT,\n is_shared INTEGER DEFAULT 0,\n alert_enabled INTEGER DEFAULT 0,\n last_alert_at TEXT\n)\n";
140
+ /**
141
+ * FTS5 full-text search index over document metadata
142
+ * Indexes doc_title, doc_author, doc_subject for metadata search
143
+ * Uses external content mode - reads from documents table
144
+ * v30 addition
145
+ */
146
+ export declare const CREATE_DOCUMENTS_FTS_TABLE = "\nCREATE VIRTUAL TABLE IF NOT EXISTS documents_fts USING fts5(\n doc_title,\n doc_author,\n doc_subject,\n content='documents',\n content_rowid='rowid',\n tokenize='porter unicode61'\n)\n";
147
+ /**
148
+ * Triggers to keep documents FTS5 in sync with documents table
149
+ * v30 addition
150
+ */
151
+ export declare const CREATE_DOCUMENTS_FTS_TRIGGERS: readonly ["CREATE TRIGGER IF NOT EXISTS documents_fts_ai AFTER INSERT ON documents BEGIN\n INSERT INTO documents_fts(rowid, doc_title, doc_author, doc_subject)\n VALUES (new.rowid, COALESCE(new.doc_title, ''), COALESCE(new.doc_author, ''), COALESCE(new.doc_subject, ''));\n END", "CREATE TRIGGER IF NOT EXISTS documents_fts_ad AFTER DELETE ON documents BEGIN\n INSERT INTO documents_fts(documents_fts, rowid, doc_title, doc_author, doc_subject)\n VALUES('delete', old.rowid, COALESCE(old.doc_title, ''), COALESCE(old.doc_author, ''), COALESCE(old.doc_subject, ''));\n END", "CREATE TRIGGER IF NOT EXISTS documents_fts_au AFTER UPDATE OF doc_title, doc_author, doc_subject ON documents BEGIN\n INSERT INTO documents_fts(documents_fts, rowid, doc_title, doc_author, doc_subject)\n VALUES('delete', old.rowid, COALESCE(old.doc_title, ''), COALESCE(old.doc_author, ''), COALESCE(old.doc_subject, ''));\n INSERT INTO documents_fts(rowid, doc_title, doc_author, doc_subject)\n VALUES (new.rowid, COALESCE(new.doc_title, ''), COALESCE(new.doc_author, ''), COALESCE(new.doc_subject, ''));\n END"];
152
+ /**
153
+ * Tags table - user-defined annotations for cross-entity tagging
154
+ * v29 addition
155
+ */
156
+ export declare const CREATE_TAGS_TABLE = "\nCREATE TABLE IF NOT EXISTS tags (\n id TEXT PRIMARY KEY NOT NULL,\n name TEXT NOT NULL UNIQUE,\n description TEXT,\n color TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n)";
157
+ /**
158
+ * Entity tags table - many-to-many relationship between tags and entities
159
+ * v29 addition
160
+ */
161
+ export declare const CREATE_ENTITY_TAGS_TABLE = "\nCREATE TABLE IF NOT EXISTS entity_tags (\n id TEXT PRIMARY KEY NOT NULL,\n tag_id TEXT NOT NULL REFERENCES tags(id) ON DELETE CASCADE,\n entity_id TEXT NOT NULL,\n entity_type TEXT NOT NULL CHECK(entity_type IN ('document', 'chunk', 'image', 'extraction', 'cluster')),\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n UNIQUE(tag_id, entity_id, entity_type)\n)";
162
+ /**
163
+ * Users table - user identity and roles for multi-user support
164
+ * v32 addition
165
+ */
166
+ export declare const CREATE_USERS_TABLE = "\nCREATE TABLE IF NOT EXISTS users (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n external_id TEXT UNIQUE,\n display_name TEXT NOT NULL,\n email TEXT,\n role TEXT NOT NULL DEFAULT 'viewer' CHECK(role IN ('viewer','reviewer','editor','admin')),\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n last_active_at TEXT,\n metadata_json TEXT DEFAULT '{}'\n)\n";
167
+ /**
168
+ * Audit log table - user action tracking for compliance
169
+ * v32 addition
170
+ */
171
+ export declare const CREATE_AUDIT_LOG_TABLE = "\nCREATE TABLE IF NOT EXISTS audit_log (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n user_id TEXT,\n session_id TEXT,\n action TEXT NOT NULL,\n entity_type TEXT,\n entity_id TEXT,\n details_json TEXT DEFAULT '{}',\n ip_address TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL\n)\n";
172
+ /**
173
+ * Annotations table - document/chunk annotations and comments
174
+ * v32 addition
175
+ */
176
+ export declare const CREATE_ANNOTATIONS_TABLE = "\nCREATE TABLE IF NOT EXISTS annotations (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n document_id TEXT NOT NULL,\n user_id TEXT,\n chunk_id TEXT,\n page_number INTEGER,\n annotation_type TEXT NOT NULL CHECK(annotation_type IN ('comment', 'correction', 'question', 'highlight', 'flag', 'approval')),\n content TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'open' CHECK(status IN ('open', 'resolved', 'dismissed')),\n parent_id TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now')),\n FOREIGN KEY (document_id) REFERENCES documents(id) ON DELETE CASCADE,\n FOREIGN KEY (chunk_id) REFERENCES chunks(id) ON DELETE SET NULL,\n FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL,\n FOREIGN KEY (parent_id) REFERENCES annotations(id) ON DELETE CASCADE\n)\n";
177
+ /**
178
+ * Document locks table - concurrent edit prevention
179
+ * v32 addition
180
+ */
181
+ export declare const CREATE_DOCUMENT_LOCKS_TABLE = "\nCREATE TABLE IF NOT EXISTS document_locks (\n document_id TEXT PRIMARY KEY,\n user_id TEXT NOT NULL,\n session_id TEXT NOT NULL,\n lock_type TEXT NOT NULL CHECK(lock_type IN ('exclusive', 'shared')),\n reason TEXT,\n acquired_at TEXT NOT NULL DEFAULT (datetime('now')),\n expires_at TEXT NOT NULL,\n FOREIGN KEY (document_id) REFERENCES documents(id) ON DELETE CASCADE,\n FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE\n)\n";
182
+ /**
183
+ * Workflow states table - state machine workflow for document review
184
+ * v32 addition
185
+ */
186
+ export declare const CREATE_WORKFLOW_STATES_TABLE = "\nCREATE TABLE IF NOT EXISTS workflow_states (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n document_id TEXT NOT NULL,\n state TEXT NOT NULL CHECK(state IN ('draft', 'submitted', 'in_review', 'changes_requested', 'approved', 'rejected', 'executed', 'expired', 'archived')),\n assigned_to TEXT,\n assigned_by TEXT,\n reason TEXT,\n due_date TEXT,\n completed_at TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n metadata_json TEXT DEFAULT '{}',\n FOREIGN KEY (document_id) REFERENCES documents(id) ON DELETE CASCADE,\n FOREIGN KEY (assigned_to) REFERENCES users(id) ON DELETE SET NULL,\n FOREIGN KEY (assigned_by) REFERENCES users(id) ON DELETE SET NULL\n)\n";
187
+ /**
188
+ * Approval chains table - reusable approval chain definitions
189
+ * v32 addition
190
+ */
191
+ export declare const CREATE_APPROVAL_CHAINS_TABLE = "\nCREATE TABLE IF NOT EXISTS approval_chains (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n name TEXT NOT NULL,\n description TEXT,\n steps_json TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n created_by TEXT,\n FOREIGN KEY (created_by) REFERENCES users(id) ON DELETE SET NULL\n)\n";
192
+ /**
193
+ * Approval steps table - per-document approval progress
194
+ * v32 addition
195
+ */
196
+ export declare const CREATE_APPROVAL_STEPS_TABLE = "\nCREATE TABLE IF NOT EXISTS approval_steps (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n document_id TEXT NOT NULL,\n chain_id TEXT NOT NULL,\n step_order INTEGER NOT NULL,\n required_role TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending' CHECK(status IN ('pending','approved','rejected','skipped')),\n decided_by TEXT,\n decided_at TEXT,\n reason TEXT,\n FOREIGN KEY (document_id) REFERENCES documents(id) ON DELETE CASCADE,\n FOREIGN KEY (chain_id) REFERENCES approval_chains(id) ON DELETE CASCADE,\n FOREIGN KEY (decided_by) REFERENCES users(id) ON DELETE SET NULL\n)\n";
197
+ /**
198
+ * Obligations table - contract obligation tracking
199
+ * v32 addition
200
+ */
201
+ export declare const CREATE_OBLIGATIONS_TABLE = "\nCREATE TABLE IF NOT EXISTS obligations (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n document_id TEXT NOT NULL,\n extraction_id TEXT,\n obligation_type TEXT NOT NULL CHECK(obligation_type IN ('payment', 'delivery', 'notification', 'renewal', 'termination', 'compliance', 'reporting', 'approval', 'other')),\n description TEXT NOT NULL,\n responsible_party TEXT,\n due_date TEXT,\n recurring TEXT,\n status TEXT NOT NULL DEFAULT 'active' CHECK(status IN ('active','fulfilled','overdue','waived','expired')),\n source_chunk_id TEXT,\n source_page INTEGER,\n confidence REAL DEFAULT 1.0,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n metadata_json TEXT DEFAULT '{}',\n FOREIGN KEY (document_id) REFERENCES documents(id) ON DELETE CASCADE,\n FOREIGN KEY (extraction_id) REFERENCES extractions(id) ON DELETE SET NULL,\n FOREIGN KEY (source_chunk_id) REFERENCES chunks(id) ON DELETE SET NULL\n)\n";
202
+ /**
203
+ * Playbooks table - preferred terms for deviation detection
204
+ * v32 addition
205
+ */
206
+ export declare const CREATE_PLAYBOOKS_TABLE = "\nCREATE TABLE IF NOT EXISTS playbooks (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n name TEXT NOT NULL,\n description TEXT,\n clauses_json TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now')),\n created_by TEXT,\n FOREIGN KEY (created_by) REFERENCES users(id) ON DELETE SET NULL\n)\n";
207
+ /**
208
+ * Webhooks table - outbound event notifications
209
+ * v32 addition
210
+ */
211
+ export declare const CREATE_WEBHOOKS_TABLE = "\nCREATE TABLE IF NOT EXISTS webhooks (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n url TEXT NOT NULL,\n events TEXT NOT NULL,\n secret TEXT,\n is_active INTEGER NOT NULL DEFAULT 1,\n created_by TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n last_triggered_at TEXT,\n failure_count INTEGER DEFAULT 0,\n FOREIGN KEY (created_by) REFERENCES users(id) ON DELETE SET NULL\n)\n";
212
+ /**
213
+ * All required indexes for query performance
214
+ */
215
+ export declare const CREATE_INDEXES: readonly ["CREATE INDEX IF NOT EXISTS idx_documents_file_path ON documents(file_path)", "CREATE INDEX IF NOT EXISTS idx_documents_file_hash ON documents(file_hash)", "CREATE INDEX IF NOT EXISTS idx_documents_status ON documents(status)", "CREATE INDEX IF NOT EXISTS idx_ocr_results_document_id ON ocr_results(document_id)", "CREATE INDEX IF NOT EXISTS idx_chunks_document_id ON chunks(document_id)", "CREATE INDEX IF NOT EXISTS idx_chunks_ocr_result_id ON chunks(ocr_result_id)", "CREATE INDEX IF NOT EXISTS idx_chunks_embedding_status ON chunks(embedding_status)", "CREATE INDEX IF NOT EXISTS idx_embeddings_chunk_id ON embeddings(chunk_id)", "CREATE INDEX IF NOT EXISTS idx_embeddings_image_id ON embeddings(image_id)", "CREATE INDEX IF NOT EXISTS idx_embeddings_document_id ON embeddings(document_id)", "CREATE INDEX IF NOT EXISTS idx_embeddings_source_file ON embeddings(source_file_path)", "CREATE INDEX IF NOT EXISTS idx_embeddings_page ON embeddings(page_number)", "CREATE INDEX IF NOT EXISTS idx_embeddings_extraction_id ON embeddings(extraction_id)", "CREATE INDEX IF NOT EXISTS idx_images_document_id ON images(document_id)", "CREATE INDEX IF NOT EXISTS idx_images_ocr_result_id ON images(ocr_result_id)", "CREATE INDEX IF NOT EXISTS idx_images_page ON images(document_id, page_number)", "CREATE INDEX IF NOT EXISTS idx_images_vlm_status ON images(vlm_status)", "CREATE INDEX IF NOT EXISTS idx_images_content_hash ON images(content_hash)", "CREATE INDEX IF NOT EXISTS idx_images_pending ON images(vlm_status) WHERE vlm_status = 'pending'", "CREATE INDEX IF NOT EXISTS idx_images_provenance_id ON images(provenance_id)", "CREATE INDEX IF NOT EXISTS idx_extractions_document_id ON extractions(document_id)", "CREATE INDEX IF NOT EXISTS idx_form_fills_status ON form_fills(status)", "CREATE INDEX IF NOT EXISTS idx_documents_doc_title ON documents(doc_title)", "CREATE INDEX IF NOT EXISTS idx_documents_doc_author ON documents(doc_author)", "CREATE INDEX IF NOT EXISTS idx_documents_doc_subject ON documents(doc_subject)", "CREATE INDEX IF NOT EXISTS idx_provenance_source_id ON provenance(source_id)", "CREATE INDEX IF NOT EXISTS idx_provenance_type ON provenance(type)", "CREATE INDEX IF NOT EXISTS idx_provenance_root_document_id ON provenance(root_document_id)", "CREATE INDEX IF NOT EXISTS idx_provenance_parent_id ON provenance(parent_id)", "CREATE INDEX IF NOT EXISTS idx_uploaded_files_file_hash ON uploaded_files(file_hash)", "CREATE INDEX IF NOT EXISTS idx_uploaded_files_status ON uploaded_files(upload_status)", "CREATE INDEX IF NOT EXISTS idx_uploaded_files_datalab_file_id ON uploaded_files(datalab_file_id)", "CREATE INDEX IF NOT EXISTS idx_comparisons_doc1 ON comparisons(document_id_1)", "CREATE INDEX IF NOT EXISTS idx_comparisons_doc2 ON comparisons(document_id_2)", "CREATE INDEX IF NOT EXISTS idx_comparisons_created ON comparisons(created_at)", "CREATE INDEX IF NOT EXISTS idx_clusters_run_id ON clusters(run_id)", "CREATE INDEX IF NOT EXISTS idx_clusters_tag ON clusters(classification_tag)", "CREATE INDEX IF NOT EXISTS idx_clusters_created ON clusters(created_at DESC)", "CREATE INDEX IF NOT EXISTS idx_doc_clusters_document ON document_clusters(document_id)", "CREATE INDEX IF NOT EXISTS idx_doc_clusters_cluster ON document_clusters(cluster_id)", "CREATE INDEX IF NOT EXISTS idx_doc_clusters_run ON document_clusters(run_id)", "CREATE INDEX IF NOT EXISTS idx_saved_searches_name ON saved_searches(name)", "CREATE INDEX IF NOT EXISTS idx_saved_searches_search_type ON saved_searches(search_type)", "CREATE INDEX IF NOT EXISTS idx_saved_searches_created ON saved_searches(created_at DESC)", "CREATE INDEX IF NOT EXISTS idx_entity_tags_entity ON entity_tags(entity_id, entity_type)", "CREATE INDEX IF NOT EXISTS idx_entity_tags_tag ON entity_tags(tag_id)", "CREATE INDEX IF NOT EXISTS idx_chunks_section_path ON chunks(section_path)", "CREATE INDEX IF NOT EXISTS idx_chunks_heading_level ON chunks(heading_level)", "CREATE INDEX IF NOT EXISTS idx_users_external_id ON users(external_id)", "CREATE INDEX IF NOT EXISTS idx_users_role ON users(role)", "CREATE INDEX IF NOT EXISTS idx_audit_log_user ON audit_log(user_id)", "CREATE INDEX IF NOT EXISTS idx_audit_log_action ON audit_log(action)", "CREATE INDEX IF NOT EXISTS idx_audit_log_entity ON audit_log(entity_type, entity_id)", "CREATE INDEX IF NOT EXISTS idx_audit_log_created ON audit_log(created_at)", "CREATE INDEX IF NOT EXISTS idx_annotations_document ON annotations(document_id)", "CREATE INDEX IF NOT EXISTS idx_annotations_chunk ON annotations(chunk_id)", "CREATE INDEX IF NOT EXISTS idx_annotations_user ON annotations(user_id)", "CREATE INDEX IF NOT EXISTS idx_annotations_type ON annotations(annotation_type)", "CREATE INDEX IF NOT EXISTS idx_annotations_status ON annotations(status)", "CREATE INDEX IF NOT EXISTS idx_workflow_document ON workflow_states(document_id)", "CREATE INDEX IF NOT EXISTS idx_workflow_state ON workflow_states(state)", "CREATE INDEX IF NOT EXISTS idx_workflow_assigned ON workflow_states(assigned_to)", "CREATE INDEX IF NOT EXISTS idx_workflow_due ON workflow_states(due_date)", "CREATE INDEX IF NOT EXISTS idx_approval_steps_doc ON approval_steps(document_id)", "CREATE INDEX IF NOT EXISTS idx_approval_steps_status ON approval_steps(status)", "CREATE INDEX IF NOT EXISTS idx_obligations_document ON obligations(document_id)", "CREATE INDEX IF NOT EXISTS idx_obligations_type ON obligations(obligation_type)", "CREATE INDEX IF NOT EXISTS idx_obligations_due ON obligations(due_date)", "CREATE INDEX IF NOT EXISTS idx_obligations_status ON obligations(status)"];
216
+ /**
217
+ * Table definitions for creating tables in dependency order
218
+ */
219
+ export declare const TABLE_DEFINITIONS: readonly [{
220
+ readonly name: "provenance";
221
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS provenance (\n id TEXT PRIMARY KEY,\n type TEXT NOT NULL CHECK (type IN ('DOCUMENT', 'OCR_RESULT', 'CHUNK', 'IMAGE', 'VLM_DESCRIPTION', 'EMBEDDING', 'EXTRACTION', 'FORM_FILL', 'COMPARISON', 'CLUSTERING')),\n created_at TEXT NOT NULL,\n processed_at TEXT NOT NULL,\n source_file_created_at TEXT,\n source_file_modified_at TEXT,\n source_type TEXT NOT NULL CHECK (source_type IN ('FILE', 'OCR', 'CHUNKING', 'IMAGE_EXTRACTION', 'VLM', 'VLM_DEDUP', 'EMBEDDING', 'EXTRACTION', 'FORM_FILL', 'COMPARISON', 'CLUSTERING')),\n source_path TEXT,\n source_id TEXT,\n root_document_id TEXT NOT NULL,\n location TEXT,\n content_hash TEXT NOT NULL,\n input_hash TEXT,\n file_hash TEXT,\n processor TEXT NOT NULL,\n processor_version TEXT NOT NULL,\n processing_params TEXT NOT NULL,\n processing_duration_ms INTEGER,\n processing_quality_score REAL,\n parent_id TEXT,\n parent_ids TEXT NOT NULL,\n chain_depth INTEGER NOT NULL,\n chain_path TEXT,\n user_id TEXT,\n agent_id TEXT,\n agent_metadata_json TEXT,\n chain_hash TEXT,\n FOREIGN KEY (source_id) REFERENCES provenance(id),\n FOREIGN KEY (parent_id) REFERENCES provenance(id)\n)\n";
222
+ }, {
223
+ readonly name: "database_metadata";
224
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS database_metadata (\n id INTEGER PRIMARY KEY CHECK (id = 1),\n database_name TEXT NOT NULL,\n database_version TEXT NOT NULL,\n created_at TEXT NOT NULL,\n last_modified_at TEXT NOT NULL,\n total_documents INTEGER NOT NULL DEFAULT 0,\n total_ocr_results INTEGER NOT NULL DEFAULT 0,\n total_chunks INTEGER NOT NULL DEFAULT 0,\n total_embeddings INTEGER NOT NULL DEFAULT 0\n)\n";
225
+ }, {
226
+ readonly name: "documents";
227
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS documents (\n id TEXT PRIMARY KEY,\n file_path TEXT NOT NULL,\n file_name TEXT NOT NULL,\n file_hash TEXT NOT NULL,\n file_size INTEGER NOT NULL,\n file_type TEXT NOT NULL,\n status TEXT NOT NULL CHECK (status IN ('pending', 'processing', 'complete', 'failed')),\n page_count INTEGER,\n provenance_id TEXT NOT NULL UNIQUE,\n created_at TEXT NOT NULL,\n modified_at TEXT,\n ocr_completed_at TEXT,\n error_message TEXT,\n doc_title TEXT,\n doc_author TEXT,\n doc_subject TEXT,\n datalab_file_id TEXT,\n FOREIGN KEY (provenance_id) REFERENCES provenance(id)\n)\n";
228
+ }, {
229
+ readonly name: "ocr_results";
230
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS ocr_results (\n id TEXT PRIMARY KEY,\n provenance_id TEXT NOT NULL UNIQUE,\n document_id TEXT NOT NULL,\n extracted_text TEXT NOT NULL,\n text_length INTEGER NOT NULL,\n datalab_request_id TEXT NOT NULL,\n datalab_mode TEXT NOT NULL CHECK (datalab_mode IN ('fast', 'balanced', 'accurate')),\n parse_quality_score REAL,\n page_count INTEGER NOT NULL,\n cost_cents REAL,\n content_hash TEXT NOT NULL,\n processing_started_at TEXT NOT NULL,\n processing_completed_at TEXT NOT NULL,\n processing_duration_ms INTEGER NOT NULL,\n json_blocks TEXT,\n extras_json TEXT,\n FOREIGN KEY (provenance_id) REFERENCES provenance(id),\n FOREIGN KEY (document_id) REFERENCES documents(id)\n)\n";
231
+ }, {
232
+ readonly name: "chunks";
233
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS chunks (\n id TEXT PRIMARY KEY,\n document_id TEXT NOT NULL,\n ocr_result_id TEXT NOT NULL,\n text TEXT NOT NULL CHECK(length(trim(text)) > 0),\n text_hash TEXT NOT NULL,\n chunk_index INTEGER NOT NULL,\n character_start INTEGER NOT NULL,\n character_end INTEGER NOT NULL,\n page_number INTEGER,\n page_range TEXT,\n overlap_previous INTEGER NOT NULL,\n overlap_next INTEGER NOT NULL,\n provenance_id TEXT NOT NULL UNIQUE,\n created_at TEXT NOT NULL,\n embedding_status TEXT NOT NULL CHECK (embedding_status IN ('pending', 'complete', 'failed')),\n embedded_at TEXT,\n ocr_quality_score REAL,\n heading_context TEXT,\n heading_level INTEGER,\n section_path TEXT,\n content_types TEXT,\n is_atomic INTEGER NOT NULL DEFAULT 0,\n chunking_strategy TEXT NOT NULL DEFAULT 'hybrid_section',\n FOREIGN KEY (document_id) REFERENCES documents(id),\n FOREIGN KEY (ocr_result_id) REFERENCES ocr_results(id),\n FOREIGN KEY (provenance_id) REFERENCES provenance(id)\n)\n";
234
+ }, {
235
+ readonly name: "embeddings";
236
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS embeddings (\n id TEXT PRIMARY KEY,\n chunk_id TEXT,\n image_id TEXT,\n extraction_id TEXT,\n document_id TEXT NOT NULL,\n original_text TEXT NOT NULL,\n original_text_length INTEGER NOT NULL,\n source_file_path TEXT NOT NULL,\n source_file_name TEXT NOT NULL,\n source_file_hash TEXT NOT NULL,\n page_number INTEGER,\n page_range TEXT,\n character_start INTEGER NOT NULL,\n character_end INTEGER NOT NULL,\n chunk_index INTEGER NOT NULL,\n total_chunks INTEGER NOT NULL,\n model_name TEXT NOT NULL,\n model_version TEXT NOT NULL,\n task_type TEXT NOT NULL CHECK (task_type IN ('search_document', 'search_query')),\n inference_mode TEXT NOT NULL CHECK (inference_mode = 'local'),\n gpu_device TEXT,\n provenance_id TEXT NOT NULL UNIQUE,\n content_hash TEXT NOT NULL,\n created_at TEXT NOT NULL,\n generation_duration_ms INTEGER,\n FOREIGN KEY (chunk_id) REFERENCES chunks(id),\n FOREIGN KEY (image_id) REFERENCES images(id),\n FOREIGN KEY (extraction_id) REFERENCES extractions(id),\n FOREIGN KEY (document_id) REFERENCES documents(id),\n FOREIGN KEY (provenance_id) REFERENCES provenance(id),\n CHECK (chunk_id IS NOT NULL OR image_id IS NOT NULL OR extraction_id IS NOT NULL)\n)\n";
237
+ }, {
238
+ readonly name: "images";
239
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS images (\n id TEXT PRIMARY KEY,\n document_id TEXT NOT NULL,\n ocr_result_id TEXT NOT NULL,\n page_number INTEGER NOT NULL,\n bbox_x REAL NOT NULL,\n bbox_y REAL NOT NULL,\n bbox_width REAL NOT NULL,\n bbox_height REAL NOT NULL,\n image_index INTEGER NOT NULL,\n format TEXT NOT NULL,\n width INTEGER NOT NULL,\n height INTEGER NOT NULL,\n extracted_path TEXT,\n file_size INTEGER,\n vlm_status TEXT NOT NULL DEFAULT 'pending' CHECK (vlm_status IN ('pending', 'processing', 'complete', 'failed')),\n vlm_description TEXT,\n vlm_structured_data TEXT,\n vlm_embedding_id TEXT,\n vlm_model TEXT,\n vlm_confidence REAL,\n vlm_processed_at TEXT,\n vlm_tokens_used INTEGER,\n context_text TEXT,\n provenance_id TEXT,\n created_at TEXT NOT NULL,\n error_message TEXT,\n block_type TEXT,\n is_header_footer INTEGER NOT NULL DEFAULT 0,\n content_hash TEXT,\n FOREIGN KEY (document_id) REFERENCES documents(id) ON DELETE CASCADE,\n FOREIGN KEY (ocr_result_id) REFERENCES ocr_results(id) ON DELETE CASCADE,\n FOREIGN KEY (vlm_embedding_id) REFERENCES embeddings(id),\n FOREIGN KEY (provenance_id) REFERENCES provenance(id)\n)\n";
240
+ }, {
241
+ readonly name: "extractions";
242
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS extractions (\n id TEXT PRIMARY KEY NOT NULL,\n document_id TEXT NOT NULL REFERENCES documents(id) ON DELETE CASCADE,\n ocr_result_id TEXT NOT NULL REFERENCES ocr_results(id) ON DELETE CASCADE,\n schema_json TEXT NOT NULL,\n extraction_json TEXT NOT NULL,\n content_hash TEXT NOT NULL,\n provenance_id TEXT NOT NULL REFERENCES provenance(id),\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n)\n";
243
+ }, {
244
+ readonly name: "form_fills";
245
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS form_fills (\n id TEXT PRIMARY KEY NOT NULL,\n source_file_path TEXT NOT NULL,\n source_file_hash TEXT NOT NULL,\n field_data_json TEXT NOT NULL,\n context TEXT,\n confidence_threshold REAL NOT NULL DEFAULT 0.5,\n output_file_path TEXT,\n output_base64 TEXT,\n fields_filled TEXT NOT NULL DEFAULT '[]',\n fields_not_found TEXT NOT NULL DEFAULT '[]',\n page_count INTEGER,\n cost_cents REAL,\n status TEXT NOT NULL CHECK(status IN ('pending', 'processing', 'complete', 'failed')),\n error_message TEXT,\n provenance_id TEXT NOT NULL REFERENCES provenance(id),\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n)\n";
246
+ }, {
247
+ readonly name: "uploaded_files";
248
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS uploaded_files (\n id TEXT PRIMARY KEY NOT NULL,\n local_path TEXT NOT NULL,\n file_name TEXT NOT NULL,\n file_hash TEXT NOT NULL,\n file_size INTEGER NOT NULL,\n content_type TEXT NOT NULL,\n datalab_file_id TEXT,\n datalab_reference TEXT,\n upload_status TEXT NOT NULL DEFAULT 'pending'\n CHECK (upload_status IN ('pending', 'uploading', 'confirming', 'complete', 'failed')),\n error_message TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n completed_at TEXT,\n provenance_id TEXT NOT NULL REFERENCES provenance(id)\n)";
249
+ }, {
250
+ readonly name: "comparisons";
251
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS comparisons (\n id TEXT PRIMARY KEY NOT NULL,\n document_id_1 TEXT NOT NULL REFERENCES documents(id),\n document_id_2 TEXT NOT NULL REFERENCES documents(id),\n similarity_ratio REAL NOT NULL,\n text_diff_json TEXT NOT NULL,\n structural_diff_json TEXT NOT NULL,\n summary TEXT NOT NULL,\n content_hash TEXT NOT NULL,\n provenance_id TEXT NOT NULL REFERENCES provenance(id),\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n processing_duration_ms INTEGER\n)";
252
+ }, {
253
+ readonly name: "clusters";
254
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS clusters (\n id TEXT PRIMARY KEY NOT NULL,\n run_id TEXT NOT NULL,\n cluster_index INTEGER NOT NULL,\n label TEXT,\n description TEXT,\n classification_tag TEXT,\n document_count INTEGER NOT NULL DEFAULT 0,\n centroid_json TEXT,\n top_terms_json TEXT,\n coherence_score REAL,\n algorithm TEXT NOT NULL,\n algorithm_params_json TEXT NOT NULL,\n silhouette_score REAL,\n content_hash TEXT NOT NULL,\n provenance_id TEXT NOT NULL UNIQUE REFERENCES provenance(id),\n created_at TEXT NOT NULL,\n processing_duration_ms INTEGER\n)";
255
+ }, {
256
+ readonly name: "document_clusters";
257
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS document_clusters (\n id TEXT PRIMARY KEY NOT NULL,\n document_id TEXT NOT NULL REFERENCES documents(id),\n cluster_id TEXT REFERENCES clusters(id),\n run_id TEXT NOT NULL,\n similarity_to_centroid REAL NOT NULL,\n membership_probability REAL NOT NULL DEFAULT 1.0,\n is_noise INTEGER NOT NULL DEFAULT 0,\n assigned_at TEXT NOT NULL,\n UNIQUE(document_id, run_id)\n)";
258
+ }, {
259
+ readonly name: "saved_searches";
260
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS saved_searches (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n query TEXT NOT NULL,\n search_type TEXT NOT NULL CHECK (search_type IN ('bm25', 'semantic', 'hybrid')),\n search_params TEXT NOT NULL DEFAULT '{}',\n result_count INTEGER NOT NULL,\n result_ids TEXT NOT NULL DEFAULT '[]',\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n notes TEXT,\n last_executed_at TEXT,\n execution_count INTEGER DEFAULT 0,\n user_id TEXT,\n is_shared INTEGER DEFAULT 0,\n alert_enabled INTEGER DEFAULT 0,\n last_alert_at TEXT\n)\n";
261
+ }, {
262
+ readonly name: "tags";
263
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS tags (\n id TEXT PRIMARY KEY NOT NULL,\n name TEXT NOT NULL UNIQUE,\n description TEXT,\n color TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n)";
264
+ }, {
265
+ readonly name: "entity_tags";
266
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS entity_tags (\n id TEXT PRIMARY KEY NOT NULL,\n tag_id TEXT NOT NULL REFERENCES tags(id) ON DELETE CASCADE,\n entity_id TEXT NOT NULL,\n entity_type TEXT NOT NULL CHECK(entity_type IN ('document', 'chunk', 'image', 'extraction', 'cluster')),\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n UNIQUE(tag_id, entity_id, entity_type)\n)";
267
+ }, {
268
+ readonly name: "users";
269
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS users (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n external_id TEXT UNIQUE,\n display_name TEXT NOT NULL,\n email TEXT,\n role TEXT NOT NULL DEFAULT 'viewer' CHECK(role IN ('viewer','reviewer','editor','admin')),\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n last_active_at TEXT,\n metadata_json TEXT DEFAULT '{}'\n)\n";
270
+ }, {
271
+ readonly name: "audit_log";
272
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS audit_log (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n user_id TEXT,\n session_id TEXT,\n action TEXT NOT NULL,\n entity_type TEXT,\n entity_id TEXT,\n details_json TEXT DEFAULT '{}',\n ip_address TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL\n)\n";
273
+ }, {
274
+ readonly name: "annotations";
275
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS annotations (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n document_id TEXT NOT NULL,\n user_id TEXT,\n chunk_id TEXT,\n page_number INTEGER,\n annotation_type TEXT NOT NULL CHECK(annotation_type IN ('comment', 'correction', 'question', 'highlight', 'flag', 'approval')),\n content TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'open' CHECK(status IN ('open', 'resolved', 'dismissed')),\n parent_id TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now')),\n FOREIGN KEY (document_id) REFERENCES documents(id) ON DELETE CASCADE,\n FOREIGN KEY (chunk_id) REFERENCES chunks(id) ON DELETE SET NULL,\n FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL,\n FOREIGN KEY (parent_id) REFERENCES annotations(id) ON DELETE CASCADE\n)\n";
276
+ }, {
277
+ readonly name: "document_locks";
278
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS document_locks (\n document_id TEXT PRIMARY KEY,\n user_id TEXT NOT NULL,\n session_id TEXT NOT NULL,\n lock_type TEXT NOT NULL CHECK(lock_type IN ('exclusive', 'shared')),\n reason TEXT,\n acquired_at TEXT NOT NULL DEFAULT (datetime('now')),\n expires_at TEXT NOT NULL,\n FOREIGN KEY (document_id) REFERENCES documents(id) ON DELETE CASCADE,\n FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE\n)\n";
279
+ }, {
280
+ readonly name: "workflow_states";
281
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS workflow_states (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n document_id TEXT NOT NULL,\n state TEXT NOT NULL CHECK(state IN ('draft', 'submitted', 'in_review', 'changes_requested', 'approved', 'rejected', 'executed', 'expired', 'archived')),\n assigned_to TEXT,\n assigned_by TEXT,\n reason TEXT,\n due_date TEXT,\n completed_at TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n metadata_json TEXT DEFAULT '{}',\n FOREIGN KEY (document_id) REFERENCES documents(id) ON DELETE CASCADE,\n FOREIGN KEY (assigned_to) REFERENCES users(id) ON DELETE SET NULL,\n FOREIGN KEY (assigned_by) REFERENCES users(id) ON DELETE SET NULL\n)\n";
282
+ }, {
283
+ readonly name: "approval_chains";
284
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS approval_chains (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n name TEXT NOT NULL,\n description TEXT,\n steps_json TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n created_by TEXT,\n FOREIGN KEY (created_by) REFERENCES users(id) ON DELETE SET NULL\n)\n";
285
+ }, {
286
+ readonly name: "approval_steps";
287
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS approval_steps (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n document_id TEXT NOT NULL,\n chain_id TEXT NOT NULL,\n step_order INTEGER NOT NULL,\n required_role TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending' CHECK(status IN ('pending','approved','rejected','skipped')),\n decided_by TEXT,\n decided_at TEXT,\n reason TEXT,\n FOREIGN KEY (document_id) REFERENCES documents(id) ON DELETE CASCADE,\n FOREIGN KEY (chain_id) REFERENCES approval_chains(id) ON DELETE CASCADE,\n FOREIGN KEY (decided_by) REFERENCES users(id) ON DELETE SET NULL\n)\n";
288
+ }, {
289
+ readonly name: "obligations";
290
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS obligations (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n document_id TEXT NOT NULL,\n extraction_id TEXT,\n obligation_type TEXT NOT NULL CHECK(obligation_type IN ('payment', 'delivery', 'notification', 'renewal', 'termination', 'compliance', 'reporting', 'approval', 'other')),\n description TEXT NOT NULL,\n responsible_party TEXT,\n due_date TEXT,\n recurring TEXT,\n status TEXT NOT NULL DEFAULT 'active' CHECK(status IN ('active','fulfilled','overdue','waived','expired')),\n source_chunk_id TEXT,\n source_page INTEGER,\n confidence REAL DEFAULT 1.0,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n metadata_json TEXT DEFAULT '{}',\n FOREIGN KEY (document_id) REFERENCES documents(id) ON DELETE CASCADE,\n FOREIGN KEY (extraction_id) REFERENCES extractions(id) ON DELETE SET NULL,\n FOREIGN KEY (source_chunk_id) REFERENCES chunks(id) ON DELETE SET NULL\n)\n";
291
+ }, {
292
+ readonly name: "playbooks";
293
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS playbooks (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n name TEXT NOT NULL,\n description TEXT,\n clauses_json TEXT NOT NULL,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now')),\n created_by TEXT,\n FOREIGN KEY (created_by) REFERENCES users(id) ON DELETE SET NULL\n)\n";
294
+ }, {
295
+ readonly name: "webhooks";
296
+ readonly sql: "\nCREATE TABLE IF NOT EXISTS webhooks (\n id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),\n url TEXT NOT NULL,\n events TEXT NOT NULL,\n secret TEXT,\n is_active INTEGER NOT NULL DEFAULT 1,\n created_by TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n last_triggered_at TEXT,\n failure_count INTEGER DEFAULT 0,\n FOREIGN KEY (created_by) REFERENCES users(id) ON DELETE SET NULL\n)\n";
297
+ }];
298
+ /**
299
+ * Required tables for schema verification
300
+ */
301
+ export declare const REQUIRED_TABLES: readonly ["schema_version", "provenance", "database_metadata", "documents", "ocr_results", "chunks", "embeddings", "vec_embeddings", "images", "chunks_fts", "fts_index_metadata", "vlm_fts", "extractions", "form_fills", "extractions_fts", "uploaded_files", "comparisons", "clusters", "document_clusters", "saved_searches", "tags", "entity_tags", "documents_fts", "users", "audit_log", "annotations", "document_locks", "workflow_states", "approval_chains", "approval_steps", "obligations", "playbooks", "webhooks"];
302
+ /**
303
+ * Required indexes for schema verification
304
+ */
305
+ export declare const REQUIRED_INDEXES: readonly ["idx_documents_file_path", "idx_documents_file_hash", "idx_documents_status", "idx_ocr_results_document_id", "idx_chunks_document_id", "idx_chunks_ocr_result_id", "idx_chunks_embedding_status", "idx_embeddings_chunk_id", "idx_embeddings_image_id", "idx_embeddings_document_id", "idx_embeddings_source_file", "idx_embeddings_page", "idx_embeddings_extraction_id", "idx_images_document_id", "idx_images_ocr_result_id", "idx_images_page", "idx_images_vlm_status", "idx_images_pending", "idx_images_provenance_id", "idx_images_content_hash", "idx_provenance_source_id", "idx_provenance_type", "idx_provenance_root_document_id", "idx_provenance_parent_id", "idx_extractions_document_id", "idx_form_fills_status", "idx_documents_doc_title", "idx_documents_doc_author", "idx_documents_doc_subject", "idx_uploaded_files_file_hash", "idx_uploaded_files_status", "idx_uploaded_files_datalab_file_id", "idx_comparisons_doc1", "idx_comparisons_doc2", "idx_comparisons_created", "idx_clusters_run_id", "idx_clusters_tag", "idx_clusters_created", "idx_doc_clusters_document", "idx_doc_clusters_cluster", "idx_doc_clusters_run", "idx_saved_searches_name", "idx_saved_searches_search_type", "idx_saved_searches_created", "idx_entity_tags_entity", "idx_entity_tags_tag", "idx_chunks_section_path", "idx_chunks_heading_level", "idx_users_external_id", "idx_users_role", "idx_audit_log_user", "idx_audit_log_action", "idx_audit_log_entity", "idx_audit_log_created", "idx_annotations_document", "idx_annotations_chunk", "idx_annotations_user", "idx_annotations_type", "idx_annotations_status", "idx_workflow_document", "idx_workflow_state", "idx_workflow_assigned", "idx_workflow_due", "idx_approval_steps_doc", "idx_approval_steps_status", "idx_obligations_document", "idx_obligations_type", "idx_obligations_due", "idx_obligations_status"];
306
+ //# sourceMappingURL=schema-definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-definitions.d.ts","sourceRoot":"","sources":["../../../../src/services/storage/migrations/schema-definitions.ts"],"names":[],"mappings":"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"}