remdb 0.3.164__tar.gz

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 remdb might be problematic. Click here for more details.

Files changed (735) hide show
  1. remdb-0.3.164/.claude/archive/PUBLISH.md +158 -0
  2. remdb-0.3.164/.claude/archive/QUICKSTART.md +205 -0
  3. remdb-0.3.164/.claude/archive/publish.sh +47 -0
  4. remdb-0.3.164/.claude/settings.local.json +18 -0
  5. remdb-0.3.164/.dockerignore +71 -0
  6. remdb-0.3.164/.env.example +186 -0
  7. remdb-0.3.164/.experiments/README.md +412 -0
  8. remdb-0.3.164/.experiments/RUN_ON_CLUSTER.md +511 -0
  9. remdb-0.3.164/.experiments/TESTING_GUIDE.md +617 -0
  10. remdb-0.3.164/.experiments/test-phoenix-integration.sh +346 -0
  11. remdb-0.3.164/.gitignore +130 -0
  12. remdb-0.3.164/.kreuzberg/mime/039976f3b4dc7549.msgpack +1 -0
  13. remdb-0.3.164/.kreuzberg/mime/045e65492b634d11.msgpack +1 -0
  14. remdb-0.3.164/.kreuzberg/mime/07f5cd0e3fb1d287.msgpack +1 -0
  15. remdb-0.3.164/.kreuzberg/mime/08f4ae339838b804.msgpack +1 -0
  16. remdb-0.3.164/.kreuzberg/mime/0a64e58ae1289686.msgpack +1 -0
  17. remdb-0.3.164/.kreuzberg/mime/0da06e67dd284834.msgpack +1 -0
  18. remdb-0.3.164/.kreuzberg/mime/0e200bfe2ea523f2.msgpack +1 -0
  19. remdb-0.3.164/.kreuzberg/mime/10b1925cb6007390.msgpack +1 -0
  20. remdb-0.3.164/.kreuzberg/mime/11c55125d2be1895.msgpack +1 -0
  21. remdb-0.3.164/.kreuzberg/mime/12dd62bbe8ee9b6a.msgpack +1 -0
  22. remdb-0.3.164/.kreuzberg/mime/18f78825b8e302a8.msgpack +1 -0
  23. remdb-0.3.164/.kreuzberg/mime/19a7ff44501eb3f9.msgpack +1 -0
  24. remdb-0.3.164/.kreuzberg/mime/1c9cec1b6f266e8d.msgpack +1 -0
  25. remdb-0.3.164/.kreuzberg/mime/1db0e7d4ac2443af.msgpack +1 -0
  26. remdb-0.3.164/.kreuzberg/mime/1f32d592b118d944.msgpack +1 -0
  27. remdb-0.3.164/.kreuzberg/mime/20db05a60f4c6ce3.msgpack +1 -0
  28. remdb-0.3.164/.kreuzberg/mime/220746359cef9884.msgpack +1 -0
  29. remdb-0.3.164/.kreuzberg/mime/24034098fd444b39.msgpack +2 -0
  30. remdb-0.3.164/.kreuzberg/mime/2470f3a5e2d1953b.msgpack +1 -0
  31. remdb-0.3.164/.kreuzberg/mime/24acc2df261ae549.msgpack +1 -0
  32. remdb-0.3.164/.kreuzberg/mime/26a8ed0cdfc0ccab.msgpack +1 -0
  33. remdb-0.3.164/.kreuzberg/mime/28e3c2bf25dfc659.msgpack +1 -0
  34. remdb-0.3.164/.kreuzberg/mime/295a37ef869b0a49.msgpack +1 -0
  35. remdb-0.3.164/.kreuzberg/mime/2a6f58009e01ad65.msgpack +1 -0
  36. remdb-0.3.164/.kreuzberg/mime/2ab7ae3b2e42644e.msgpack +1 -0
  37. remdb-0.3.164/.kreuzberg/mime/2b24548c2f91f8b9.msgpack +0 -0
  38. remdb-0.3.164/.kreuzberg/mime/2bb63e6235d19b40.msgpack +1 -0
  39. remdb-0.3.164/.kreuzberg/mime/2c74a0f17cde1b0c.msgpack +1 -0
  40. remdb-0.3.164/.kreuzberg/mime/2d728912eb223a33.msgpack +1 -0
  41. remdb-0.3.164/.kreuzberg/mime/2de80149b410a676.msgpack +1 -0
  42. remdb-0.3.164/.kreuzberg/mime/2e1001cbed04103c.msgpack +1 -0
  43. remdb-0.3.164/.kreuzberg/mime/32d99ccf71d10a38.msgpack +1 -0
  44. remdb-0.3.164/.kreuzberg/mime/3353ae12a176a9bd.msgpack +1 -0
  45. remdb-0.3.164/.kreuzberg/mime/34f1cfc7a58e8b0c.msgpack +2 -0
  46. remdb-0.3.164/.kreuzberg/mime/3c5bd974fb83b573.msgpack +1 -0
  47. remdb-0.3.164/.kreuzberg/mime/3ca9da43dd834bca.msgpack +1 -0
  48. remdb-0.3.164/.kreuzberg/mime/3e9db2b8a87873c7.msgpack +1 -0
  49. remdb-0.3.164/.kreuzberg/mime/3ff1b430e0b510d5.msgpack +1 -0
  50. remdb-0.3.164/.kreuzberg/mime/4035607526c8600d.msgpack +1 -0
  51. remdb-0.3.164/.kreuzberg/mime/40f0415d564cb996.msgpack +1 -0
  52. remdb-0.3.164/.kreuzberg/mime/4388f8ee095c9ed8.msgpack +1 -0
  53. remdb-0.3.164/.kreuzberg/mime/439f422b7f8dc467.msgpack +1 -0
  54. remdb-0.3.164/.kreuzberg/mime/452c56ffd625931f.msgpack +1 -0
  55. remdb-0.3.164/.kreuzberg/mime/45ee850e300157c8.msgpack +1 -0
  56. remdb-0.3.164/.kreuzberg/mime/45f79b5f90a07f0e.msgpack +1 -0
  57. remdb-0.3.164/.kreuzberg/mime/487e56b12d123968.msgpack +1 -0
  58. remdb-0.3.164/.kreuzberg/mime/49be62bf170de12a.msgpack +0 -0
  59. remdb-0.3.164/.kreuzberg/mime/4b3e165ec4ba87d0.msgpack +1 -0
  60. remdb-0.3.164/.kreuzberg/mime/505ff13d9ac8f006.msgpack +1 -0
  61. remdb-0.3.164/.kreuzberg/mime/51e81cbe7899e310.msgpack +1 -0
  62. remdb-0.3.164/.kreuzberg/mime/537dea93b57ffce5.msgpack +1 -0
  63. remdb-0.3.164/.kreuzberg/mime/56a9f1cd9ec05384.msgpack +1 -0
  64. remdb-0.3.164/.kreuzberg/mime/56bf449feab17e6d.msgpack +1 -0
  65. remdb-0.3.164/.kreuzberg/mime/57ab5fe18c74538b.msgpack +1 -0
  66. remdb-0.3.164/.kreuzberg/mime/5a11f436d88e89cd.msgpack +1 -0
  67. remdb-0.3.164/.kreuzberg/mime/5b10dca1c6db6714.msgpack +1 -0
  68. remdb-0.3.164/.kreuzberg/mime/5eb63bbe412735a4.msgpack +1 -0
  69. remdb-0.3.164/.kreuzberg/mime/5ebca8549bb3ff2b.msgpack +1 -0
  70. remdb-0.3.164/.kreuzberg/mime/5fef074c57dd118f.msgpack +1 -0
  71. remdb-0.3.164/.kreuzberg/mime/60f343229f836ab6.msgpack +1 -0
  72. remdb-0.3.164/.kreuzberg/mime/6153f83bf3713b32.msgpack +1 -0
  73. remdb-0.3.164/.kreuzberg/mime/6488134e7b6dd403.msgpack +1 -0
  74. remdb-0.3.164/.kreuzberg/mime/68e7b00767be2e16.msgpack +1 -0
  75. remdb-0.3.164/.kreuzberg/mime/6afac5499ef0a938.msgpack +1 -0
  76. remdb-0.3.164/.kreuzberg/mime/6bd93d4fd4cc3893.msgpack +1 -0
  77. remdb-0.3.164/.kreuzberg/mime/6defbba8bfc76983.msgpack +1 -0
  78. remdb-0.3.164/.kreuzberg/mime/6e37f5165f71513b.msgpack +1 -0
  79. remdb-0.3.164/.kreuzberg/mime/6f9130d5f4db8b28.msgpack +1 -0
  80. remdb-0.3.164/.kreuzberg/mime/6fc0d79c16c59de5.msgpack +1 -0
  81. remdb-0.3.164/.kreuzberg/mime/774b8c209528323e.msgpack +1 -0
  82. remdb-0.3.164/.kreuzberg/mime/78c509bc3a9d93c4.msgpack +1 -0
  83. remdb-0.3.164/.kreuzberg/mime/798017037907ab5f.msgpack +1 -0
  84. remdb-0.3.164/.kreuzberg/mime/7a4fd9fd84ae6899.msgpack +1 -0
  85. remdb-0.3.164/.kreuzberg/mime/7b094993adee6e1a.msgpack +1 -0
  86. remdb-0.3.164/.kreuzberg/mime/7c3ad418912e7c09.msgpack +1 -0
  87. remdb-0.3.164/.kreuzberg/mime/7f630276be2a1503.msgpack +1 -0
  88. remdb-0.3.164/.kreuzberg/mime/80fd68e8a4ac6556.msgpack +1 -0
  89. remdb-0.3.164/.kreuzberg/mime/819aabcfdf1334af.msgpack +1 -0
  90. remdb-0.3.164/.kreuzberg/mime/81ea65c652232174.msgpack +1 -0
  91. remdb-0.3.164/.kreuzberg/mime/84c4f70ba7616566.msgpack +1 -0
  92. remdb-0.3.164/.kreuzberg/mime/856e8ba75c4d220e.msgpack +1 -0
  93. remdb-0.3.164/.kreuzberg/mime/8cace0ec228b43d6.msgpack +1 -0
  94. remdb-0.3.164/.kreuzberg/mime/8d1ecc30d7d58b41.msgpack +1 -0
  95. remdb-0.3.164/.kreuzberg/mime/8e2e4ab7c05925fa.msgpack +1 -0
  96. remdb-0.3.164/.kreuzberg/mime/8e89a980bc3b92d8.msgpack +1 -0
  97. remdb-0.3.164/.kreuzberg/mime/8f6a9b01f15883f5.msgpack +1 -0
  98. remdb-0.3.164/.kreuzberg/mime/9091b9d61e026046.msgpack +1 -0
  99. remdb-0.3.164/.kreuzberg/mime/927a028cf723c70d.msgpack +1 -0
  100. remdb-0.3.164/.kreuzberg/mime/94bda8f2cabc1358.msgpack +1 -0
  101. remdb-0.3.164/.kreuzberg/mime/95313ccec52beb53.msgpack +1 -0
  102. remdb-0.3.164/.kreuzberg/mime/954fee40bb61432b.msgpack +1 -0
  103. remdb-0.3.164/.kreuzberg/mime/9592cc24f2bf0d77.msgpack +1 -0
  104. remdb-0.3.164/.kreuzberg/mime/967396ed95832197.msgpack +1 -0
  105. remdb-0.3.164/.kreuzberg/mime/9804f3b02bf98e83.msgpack +1 -0
  106. remdb-0.3.164/.kreuzberg/mime/9936890e55f094f3.msgpack +1 -0
  107. remdb-0.3.164/.kreuzberg/mime/99405cab6cc35283.msgpack +1 -0
  108. remdb-0.3.164/.kreuzberg/mime/99e3da57a007bc59.msgpack +1 -0
  109. remdb-0.3.164/.kreuzberg/mime/99f1579d6a6790ad.msgpack +1 -0
  110. remdb-0.3.164/.kreuzberg/mime/9c265a028ee05977.msgpack +1 -0
  111. remdb-0.3.164/.kreuzberg/mime/9f02e484a5feb3af.msgpack +1 -0
  112. remdb-0.3.164/.kreuzberg/mime/9fd81ffc0b3282f8.msgpack +1 -0
  113. remdb-0.3.164/.kreuzberg/mime/a0d60cff1e5950a6.msgpack +1 -0
  114. remdb-0.3.164/.kreuzberg/mime/a2bcfb3e4cf75d71.msgpack +1 -0
  115. remdb-0.3.164/.kreuzberg/mime/a3fd1a45a0ef02f1.msgpack +1 -0
  116. remdb-0.3.164/.kreuzberg/mime/a72acced3b5f0c28.msgpack +1 -0
  117. remdb-0.3.164/.kreuzberg/mime/a78fa3051259d29c.msgpack +1 -0
  118. remdb-0.3.164/.kreuzberg/mime/a964045be65be2d2.msgpack +1 -0
  119. remdb-0.3.164/.kreuzberg/mime/ae8bc0c15954a96a.msgpack +1 -0
  120. remdb-0.3.164/.kreuzberg/mime/af05b5754cd245b5.msgpack +1 -0
  121. remdb-0.3.164/.kreuzberg/mime/af28c894e94dc85c.msgpack +1 -0
  122. remdb-0.3.164/.kreuzberg/mime/b0a26c1396c336b2.msgpack +1 -0
  123. remdb-0.3.164/.kreuzberg/mime/b2b5204d4dfab9dc.msgpack +1 -0
  124. remdb-0.3.164/.kreuzberg/mime/b2f8df0bdc713008.msgpack +1 -0
  125. remdb-0.3.164/.kreuzberg/mime/b361fc308a3b9ab1.msgpack +1 -0
  126. remdb-0.3.164/.kreuzberg/mime/b374846290238cd1.msgpack +1 -0
  127. remdb-0.3.164/.kreuzberg/mime/b4b163b746d0aa53.msgpack +1 -0
  128. remdb-0.3.164/.kreuzberg/mime/b68845f6e8da9be3.msgpack +1 -0
  129. remdb-0.3.164/.kreuzberg/mime/b7e677bf8412e9bd.msgpack +1 -0
  130. remdb-0.3.164/.kreuzberg/mime/b99ba32d31caa65e.msgpack +1 -0
  131. remdb-0.3.164/.kreuzberg/mime/bc02d7c24ec8eccc.msgpack +1 -0
  132. remdb-0.3.164/.kreuzberg/mime/bc1a967be3c37e18.msgpack +1 -0
  133. remdb-0.3.164/.kreuzberg/mime/bc89d1801e46fb3c.msgpack +1 -0
  134. remdb-0.3.164/.kreuzberg/mime/bce873a224061155.msgpack +1 -0
  135. remdb-0.3.164/.kreuzberg/mime/bea4de84b22aebbc.msgpack +1 -0
  136. remdb-0.3.164/.kreuzberg/mime/c5f723dcb1ff4b6f.msgpack +1 -0
  137. remdb-0.3.164/.kreuzberg/mime/c6ca46f28d7798dd.msgpack +1 -0
  138. remdb-0.3.164/.kreuzberg/mime/c6e2f4ede9282c2f.msgpack +1 -0
  139. remdb-0.3.164/.kreuzberg/mime/c761de11e901384a.msgpack +1 -0
  140. remdb-0.3.164/.kreuzberg/mime/c99399d1889fa84c.msgpack +1 -0
  141. remdb-0.3.164/.kreuzberg/mime/c9fd297a955f2355.msgpack +1 -0
  142. remdb-0.3.164/.kreuzberg/mime/ca9a80b78b7aa22c.msgpack +1 -0
  143. remdb-0.3.164/.kreuzberg/mime/cb9503b8979b185d.msgpack +1 -0
  144. remdb-0.3.164/.kreuzberg/mime/cbc6cfb0a51ab6bb.msgpack +1 -0
  145. remdb-0.3.164/.kreuzberg/mime/cc3bda1ed2e95150.msgpack +1 -0
  146. remdb-0.3.164/.kreuzberg/mime/ceb98745ab5dbe70.msgpack +1 -0
  147. remdb-0.3.164/.kreuzberg/mime/d1df948b17e4d9fc.msgpack +1 -0
  148. remdb-0.3.164/.kreuzberg/mime/d1e1e212112ab926.msgpack +1 -0
  149. remdb-0.3.164/.kreuzberg/mime/d4b766742cf2328a.msgpack +1 -0
  150. remdb-0.3.164/.kreuzberg/mime/d93262cc2f01da93.msgpack +1 -0
  151. remdb-0.3.164/.kreuzberg/mime/d977ad06778acf8d.msgpack +1 -0
  152. remdb-0.3.164/.kreuzberg/mime/da9376a352a900b8.msgpack +1 -0
  153. remdb-0.3.164/.kreuzberg/mime/db2816895dd01979.msgpack +1 -0
  154. remdb-0.3.164/.kreuzberg/mime/db3a782c367dbe28.msgpack +1 -0
  155. remdb-0.3.164/.kreuzberg/mime/db825a17acae232c.msgpack +1 -0
  156. remdb-0.3.164/.kreuzberg/mime/dc96bd8d8ad04ee4.msgpack +1 -0
  157. remdb-0.3.164/.kreuzberg/mime/dd1562878ff3c0f5.msgpack +1 -0
  158. remdb-0.3.164/.kreuzberg/mime/de117be85702ebbc.msgpack +1 -0
  159. remdb-0.3.164/.kreuzberg/mime/e3aafc52b94d322c.msgpack +1 -0
  160. remdb-0.3.164/.kreuzberg/mime/e53a6e77d7808ee8.msgpack +1 -0
  161. remdb-0.3.164/.kreuzberg/mime/e7dc452a2aae9b10.msgpack +1 -0
  162. remdb-0.3.164/.kreuzberg/mime/ebf2fcb04221173e.msgpack +1 -0
  163. remdb-0.3.164/.kreuzberg/mime/ebf527595602c7cc.msgpack +1 -0
  164. remdb-0.3.164/.kreuzberg/mime/ed6a8410124b956b.msgpack +1 -0
  165. remdb-0.3.164/.kreuzberg/mime/f1801152a72fbdf0.msgpack +1 -0
  166. remdb-0.3.164/.kreuzberg/mime/f6fe984552a62891.msgpack +1 -0
  167. remdb-0.3.164/.kreuzberg/mime/f81bbef279fc5018.msgpack +1 -0
  168. remdb-0.3.164/.kreuzberg/mime/f975369ecf8cfe1b.msgpack +1 -0
  169. remdb-0.3.164/.kreuzberg/mime/fd21c48c0c429b77.msgpack +1 -0
  170. remdb-0.3.164/.kreuzberg/tables/0354796dc060829e.msgpack +0 -0
  171. remdb-0.3.164/.kreuzberg/tables/039f9af1f7851836.msgpack +0 -0
  172. remdb-0.3.164/.kreuzberg/tables/05e117af5b509bae.msgpack +0 -0
  173. remdb-0.3.164/.kreuzberg/tables/0bc34e3949fbef01.msgpack +0 -0
  174. remdb-0.3.164/.kreuzberg/tables/0ce495589c7221d3.msgpack +0 -0
  175. remdb-0.3.164/.kreuzberg/tables/0dd1cda742544db1.msgpack +0 -0
  176. remdb-0.3.164/.kreuzberg/tables/0eba31912f25f3eb.msgpack +1 -0
  177. remdb-0.3.164/.kreuzberg/tables/0f2703145ac02172.msgpack +1 -0
  178. remdb-0.3.164/.kreuzberg/tables/0fa09530ccf28805.msgpack +1 -0
  179. remdb-0.3.164/.kreuzberg/tables/0fd8e540615171e8.msgpack +1 -0
  180. remdb-0.3.164/.kreuzberg/tables/101ff2c4997376a9.msgpack +0 -0
  181. remdb-0.3.164/.kreuzberg/tables/12c490c06def9488.msgpack +1 -0
  182. remdb-0.3.164/.kreuzberg/tables/18257c152bba13a6.msgpack +0 -0
  183. remdb-0.3.164/.kreuzberg/tables/1d4a6a418d2b6a64.msgpack +1 -0
  184. remdb-0.3.164/.kreuzberg/tables/1e61d3c782893a54.msgpack +1 -0
  185. remdb-0.3.164/.kreuzberg/tables/1fc92f87c93d4fd9.msgpack +1 -0
  186. remdb-0.3.164/.kreuzberg/tables/2c9de54bccd13e11.msgpack +0 -0
  187. remdb-0.3.164/.kreuzberg/tables/2f3ea5c1badef128.msgpack +0 -0
  188. remdb-0.3.164/.kreuzberg/tables/32aa8c660cf91963.msgpack +1 -0
  189. remdb-0.3.164/.kreuzberg/tables/35111034d5ad26a6.msgpack +1 -0
  190. remdb-0.3.164/.kreuzberg/tables/352eb0c7f720c196.msgpack +1 -0
  191. remdb-0.3.164/.kreuzberg/tables/3a2e224daffb8e3d.msgpack +1 -0
  192. remdb-0.3.164/.kreuzberg/tables/3ee772a67521e170.msgpack +1 -0
  193. remdb-0.3.164/.kreuzberg/tables/401e93fa320273da.msgpack +1 -0
  194. remdb-0.3.164/.kreuzberg/tables/40d9b4294628036d.msgpack +1 -0
  195. remdb-0.3.164/.kreuzberg/tables/44592db880e5ec3f.msgpack +0 -0
  196. remdb-0.3.164/.kreuzberg/tables/45870b434cfe0c85.msgpack +1 -0
  197. remdb-0.3.164/.kreuzberg/tables/458943c95381e6de.msgpack +1 -0
  198. remdb-0.3.164/.kreuzberg/tables/4ca27bb3cae67ad6.msgpack +1 -0
  199. remdb-0.3.164/.kreuzberg/tables/4e0d19bea7253cc8.msgpack +1 -0
  200. remdb-0.3.164/.kreuzberg/tables/4f02317672f3198b.msgpack +1 -0
  201. remdb-0.3.164/.kreuzberg/tables/56a98d6dbd85ebed.msgpack +0 -0
  202. remdb-0.3.164/.kreuzberg/tables/5d6b31c824d8741e.msgpack +0 -0
  203. remdb-0.3.164/.kreuzberg/tables/5f75509e9ed27170.msgpack +0 -0
  204. remdb-0.3.164/.kreuzberg/tables/5fcfe11a675bac8b.msgpack +0 -0
  205. remdb-0.3.164/.kreuzberg/tables/61b8b2fc9077f91a.msgpack +0 -0
  206. remdb-0.3.164/.kreuzberg/tables/642c92672daf5c43.msgpack +0 -0
  207. remdb-0.3.164/.kreuzberg/tables/655ff32e6cd550bc.msgpack +0 -0
  208. remdb-0.3.164/.kreuzberg/tables/65bc24178c843052.msgpack +1 -0
  209. remdb-0.3.164/.kreuzberg/tables/66cd62510980471d.msgpack +1 -0
  210. remdb-0.3.164/.kreuzberg/tables/681c1dd84a2bdf26.msgpack +1 -0
  211. remdb-0.3.164/.kreuzberg/tables/6838fe47e511b2b8.msgpack +0 -0
  212. remdb-0.3.164/.kreuzberg/tables/6a609539ed167213.msgpack +1 -0
  213. remdb-0.3.164/.kreuzberg/tables/74b6b71e76efb9c9.msgpack +0 -0
  214. remdb-0.3.164/.kreuzberg/tables/75e719c76477d44f.msgpack +0 -0
  215. remdb-0.3.164/.kreuzberg/tables/77e0e879c2c95195.msgpack +0 -0
  216. remdb-0.3.164/.kreuzberg/tables/7a15ef0ba4aa5660.msgpack +1 -0
  217. remdb-0.3.164/.kreuzberg/tables/7a9dd710389dde99.msgpack +0 -0
  218. remdb-0.3.164/.kreuzberg/tables/7b783286f80ab872.msgpack +0 -0
  219. remdb-0.3.164/.kreuzberg/tables/7d1298c12634bc16.msgpack +1 -0
  220. remdb-0.3.164/.kreuzberg/tables/7ddf2b8e4c6cb2e3.msgpack +0 -0
  221. remdb-0.3.164/.kreuzberg/tables/7fc2229fcb868522.msgpack +1 -0
  222. remdb-0.3.164/.kreuzberg/tables/85abdb138905726a.msgpack +1 -0
  223. remdb-0.3.164/.kreuzberg/tables/884e41282eb896c5.msgpack +1 -0
  224. remdb-0.3.164/.kreuzberg/tables/8a703994c30b19ea.msgpack +0 -0
  225. remdb-0.3.164/.kreuzberg/tables/8aca0021ebe63f8e.msgpack +1 -0
  226. remdb-0.3.164/.kreuzberg/tables/8bc107890e1ab320.msgpack +1 -0
  227. remdb-0.3.164/.kreuzberg/tables/8c1a66ea86c98f76.msgpack +0 -0
  228. remdb-0.3.164/.kreuzberg/tables/8dd5ac3207b6ca3b.msgpack +0 -0
  229. remdb-0.3.164/.kreuzberg/tables/8f898c00eea3a93b.msgpack +0 -0
  230. remdb-0.3.164/.kreuzberg/tables/931cbc8a4cbebf70.msgpack +0 -0
  231. remdb-0.3.164/.kreuzberg/tables/932804c1aff4d044.msgpack +1 -0
  232. remdb-0.3.164/.kreuzberg/tables/94b151c44f8a3588.msgpack +1 -0
  233. remdb-0.3.164/.kreuzberg/tables/94ce2189385c970f.msgpack +0 -0
  234. remdb-0.3.164/.kreuzberg/tables/94fa736d741d63be.msgpack +0 -0
  235. remdb-0.3.164/.kreuzberg/tables/95bd2009772c07fd.msgpack +0 -0
  236. remdb-0.3.164/.kreuzberg/tables/95f748fee80393ef.msgpack +1 -0
  237. remdb-0.3.164/.kreuzberg/tables/9b1e26a55ef34ee9.msgpack +0 -0
  238. remdb-0.3.164/.kreuzberg/tables/9f3159c9912586db.msgpack +1 -0
  239. remdb-0.3.164/.kreuzberg/tables/a17c34748d867e85.msgpack +1 -0
  240. remdb-0.3.164/.kreuzberg/tables/a2ca0018b46feabd.msgpack +0 -0
  241. remdb-0.3.164/.kreuzberg/tables/a60b9031cf48ebba.msgpack +1 -0
  242. remdb-0.3.164/.kreuzberg/tables/a9be790d1f0ae7ec.msgpack +0 -0
  243. remdb-0.3.164/.kreuzberg/tables/ac4d6823c4034fe6.msgpack +1 -0
  244. remdb-0.3.164/.kreuzberg/tables/ad80625c2fe055e2.msgpack +1 -0
  245. remdb-0.3.164/.kreuzberg/tables/b102691e3c3e4cae.msgpack +0 -0
  246. remdb-0.3.164/.kreuzberg/tables/b34027c96f8daa30.msgpack +0 -0
  247. remdb-0.3.164/.kreuzberg/tables/b639b463e04459db.msgpack +1 -0
  248. remdb-0.3.164/.kreuzberg/tables/b7e540f21b7f0271.msgpack +0 -0
  249. remdb-0.3.164/.kreuzberg/tables/ba460ba22b61b3ac.msgpack +1 -0
  250. remdb-0.3.164/.kreuzberg/tables/ba7499ca4c58ff94.msgpack +1 -0
  251. remdb-0.3.164/.kreuzberg/tables/be2d027b571e9344.msgpack +0 -0
  252. remdb-0.3.164/.kreuzberg/tables/c1fff30850bb8b6f.msgpack +0 -0
  253. remdb-0.3.164/.kreuzberg/tables/c3889a8993fc490d.msgpack +1 -0
  254. remdb-0.3.164/.kreuzberg/tables/c51c4fa6e6b83f7e.msgpack +1 -0
  255. remdb-0.3.164/.kreuzberg/tables/c57ca30ea53e2d68.msgpack +0 -0
  256. remdb-0.3.164/.kreuzberg/tables/c64c433f4452d82a.msgpack +1 -0
  257. remdb-0.3.164/.kreuzberg/tables/c91739ca8dcc39ea.msgpack +0 -0
  258. remdb-0.3.164/.kreuzberg/tables/c91d5e81eba0d3c9.msgpack +0 -0
  259. remdb-0.3.164/.kreuzberg/tables/c9fecad2b9f0357c.msgpack +1 -0
  260. remdb-0.3.164/.kreuzberg/tables/cb7fab9ab7b8c520.msgpack +1 -0
  261. remdb-0.3.164/.kreuzberg/tables/cbbaeea4c7d24156.msgpack +1 -0
  262. remdb-0.3.164/.kreuzberg/tables/cc7dd2a0003c03d8.msgpack +0 -0
  263. remdb-0.3.164/.kreuzberg/tables/ce64ddc6701623a7.msgpack +0 -0
  264. remdb-0.3.164/.kreuzberg/tables/d19b01ce83c8c71a.msgpack +0 -0
  265. remdb-0.3.164/.kreuzberg/tables/d5aae4af1fe94a3a.msgpack +1 -0
  266. remdb-0.3.164/.kreuzberg/tables/d5c47dfe60be1592.msgpack +0 -0
  267. remdb-0.3.164/.kreuzberg/tables/d7eef627315eeab2.msgpack +0 -0
  268. remdb-0.3.164/.kreuzberg/tables/d81cb4d0b47db4ae.msgpack +0 -0
  269. remdb-0.3.164/.kreuzberg/tables/deed4c82c27e2b5d.msgpack +0 -0
  270. remdb-0.3.164/.kreuzberg/tables/df1c0ed33adf634d.msgpack +1 -0
  271. remdb-0.3.164/.kreuzberg/tables/e1c2af52b798715b.msgpack +0 -0
  272. remdb-0.3.164/.kreuzberg/tables/e249b7de89e07bbc.msgpack +1 -0
  273. remdb-0.3.164/.kreuzberg/tables/e6b6c0b80707ee08.msgpack +0 -0
  274. remdb-0.3.164/.kreuzberg/tables/e74d1c6e8e950e20.msgpack +0 -0
  275. remdb-0.3.164/.kreuzberg/tables/e9d2da361090c228.msgpack +1 -0
  276. remdb-0.3.164/.kreuzberg/tables/ec8c114b8a360379.msgpack +0 -0
  277. remdb-0.3.164/.kreuzberg/tables/f1772556a9442724.msgpack +0 -0
  278. remdb-0.3.164/.kreuzberg/tables/f4753f23f51fe441.msgpack +0 -0
  279. remdb-0.3.164/.kreuzberg/tables/f52c654a914ee356.msgpack +1 -0
  280. remdb-0.3.164/.kreuzberg/tables/f6187d9353655ff5.msgpack +1 -0
  281. remdb-0.3.164/.kreuzberg/tables/f766aa4cfdca2770.msgpack +0 -0
  282. remdb-0.3.164/.kreuzberg/tables/fabcc3a4db082252.msgpack +0 -0
  283. remdb-0.3.164/.kreuzberg/tables/fec2d3d5372c2bcc.msgpack +0 -0
  284. remdb-0.3.164/.venv-test/bin/Activate.ps1 +247 -0
  285. remdb-0.3.164/.venv-test/bin/activate +76 -0
  286. remdb-0.3.164/.venv-test/bin/activate-global-python-argcomplete +7 -0
  287. remdb-0.3.164/.venv-test/bin/activate.csh +27 -0
  288. remdb-0.3.164/.venv-test/bin/activate.fish +69 -0
  289. remdb-0.3.164/.venv-test/bin/alembic +7 -0
  290. remdb-0.3.164/.venv-test/bin/arize-phoenix +7 -0
  291. remdb-0.3.164/.venv-test/bin/cyclopts +7 -0
  292. remdb-0.3.164/.venv-test/bin/distro +7 -0
  293. remdb-0.3.164/.venv-test/bin/docutils +7 -0
  294. remdb-0.3.164/.venv-test/bin/dotenv +7 -0
  295. remdb-0.3.164/.venv-test/bin/email_validator +7 -0
  296. remdb-0.3.164/.venv-test/bin/f2py +7 -0
  297. remdb-0.3.164/.venv-test/bin/fastapi +7 -0
  298. remdb-0.3.164/.venv-test/bin/fastavro +7 -0
  299. remdb-0.3.164/.venv-test/bin/fastmcp +7 -0
  300. remdb-0.3.164/.venv-test/bin/genai-prices +7 -0
  301. remdb-0.3.164/.venv-test/bin/get_gprof +75 -0
  302. remdb-0.3.164/.venv-test/bin/get_objgraph +54 -0
  303. remdb-0.3.164/.venv-test/bin/griffe +7 -0
  304. remdb-0.3.164/.venv-test/bin/hf +7 -0
  305. remdb-0.3.164/.venv-test/bin/httpx +7 -0
  306. remdb-0.3.164/.venv-test/bin/hypercorn +7 -0
  307. remdb-0.3.164/.venv-test/bin/inv +7 -0
  308. remdb-0.3.164/.venv-test/bin/invoke +7 -0
  309. remdb-0.3.164/.venv-test/bin/jp.py +54 -0
  310. remdb-0.3.164/.venv-test/bin/jsonpath_ng +7 -0
  311. remdb-0.3.164/.venv-test/bin/jsonschema +7 -0
  312. remdb-0.3.164/.venv-test/bin/keyring +7 -0
  313. remdb-0.3.164/.venv-test/bin/kreuzberg +7 -0
  314. remdb-0.3.164/.venv-test/bin/logfire +7 -0
  315. remdb-0.3.164/.venv-test/bin/mako-render +7 -0
  316. remdb-0.3.164/.venv-test/bin/markdown-it +7 -0
  317. remdb-0.3.164/.venv-test/bin/mcp +7 -0
  318. remdb-0.3.164/.venv-test/bin/mpire-dashboard +41 -0
  319. remdb-0.3.164/.venv-test/bin/normalizer +7 -0
  320. remdb-0.3.164/.venv-test/bin/numpy-config +7 -0
  321. remdb-0.3.164/.venv-test/bin/openai +7 -0
  322. remdb-0.3.164/.venv-test/bin/opentelemetry-bootstrap +7 -0
  323. remdb-0.3.164/.venv-test/bin/opentelemetry-instrument +7 -0
  324. remdb-0.3.164/.venv-test/bin/pai +7 -0
  325. remdb-0.3.164/.venv-test/bin/phoenix +7 -0
  326. remdb-0.3.164/.venv-test/bin/pip +7 -0
  327. remdb-0.3.164/.venv-test/bin/pip3 +7 -0
  328. remdb-0.3.164/.venv-test/bin/pip3.12 +7 -0
  329. remdb-0.3.164/.venv-test/bin/pygmentize +7 -0
  330. remdb-0.3.164/.venv-test/bin/pyrsa-decrypt +7 -0
  331. remdb-0.3.164/.venv-test/bin/pyrsa-encrypt +7 -0
  332. remdb-0.3.164/.venv-test/bin/pyrsa-keygen +7 -0
  333. remdb-0.3.164/.venv-test/bin/pyrsa-priv2pub +7 -0
  334. remdb-0.3.164/.venv-test/bin/pyrsa-sign +7 -0
  335. remdb-0.3.164/.venv-test/bin/pyrsa-verify +7 -0
  336. remdb-0.3.164/.venv-test/bin/pystache +7 -0
  337. remdb-0.3.164/.venv-test/bin/pystache-test +7 -0
  338. remdb-0.3.164/.venv-test/bin/python +1 -0
  339. remdb-0.3.164/.venv-test/bin/python-argcomplete-check-easy-install-script +7 -0
  340. remdb-0.3.164/.venv-test/bin/python3 +1 -0
  341. remdb-0.3.164/.venv-test/bin/python3.12 +1 -0
  342. remdb-0.3.164/.venv-test/bin/register-python-argcomplete +7 -0
  343. remdb-0.3.164/.venv-test/bin/rem +7 -0
  344. remdb-0.3.164/.venv-test/bin/rst2html +7 -0
  345. remdb-0.3.164/.venv-test/bin/rst2html4 +7 -0
  346. remdb-0.3.164/.venv-test/bin/rst2html5 +7 -0
  347. remdb-0.3.164/.venv-test/bin/rst2latex +7 -0
  348. remdb-0.3.164/.venv-test/bin/rst2man +7 -0
  349. remdb-0.3.164/.venv-test/bin/rst2odt +7 -0
  350. remdb-0.3.164/.venv-test/bin/rst2pseudoxml +7 -0
  351. remdb-0.3.164/.venv-test/bin/rst2s5 +7 -0
  352. remdb-0.3.164/.venv-test/bin/rst2xetex +7 -0
  353. remdb-0.3.164/.venv-test/bin/rst2xml +7 -0
  354. remdb-0.3.164/.venv-test/bin/strawberry +7 -0
  355. remdb-0.3.164/.venv-test/bin/tiny-agents +7 -0
  356. remdb-0.3.164/.venv-test/bin/tqdm +7 -0
  357. remdb-0.3.164/.venv-test/bin/undill +22 -0
  358. remdb-0.3.164/.venv-test/bin/uvicorn +7 -0
  359. remdb-0.3.164/.venv-test/bin/watchfiles +7 -0
  360. remdb-0.3.164/.venv-test/bin/websockets +7 -0
  361. remdb-0.3.164/.venv-test/pyvenv.cfg +5 -0
  362. remdb-0.3.164/Dockerfile +129 -0
  363. remdb-0.3.164/PKG-INFO +1632 -0
  364. remdb-0.3.164/README.md +1544 -0
  365. remdb-0.3.164/Tiltfile +169 -0
  366. remdb-0.3.164/alembic/README.md +104 -0
  367. remdb-0.3.164/alembic/env.py +102 -0
  368. remdb-0.3.164/alembic/script.py.mako +26 -0
  369. remdb-0.3.164/alembic.ini +75 -0
  370. remdb-0.3.164/dev-setup.sh +76 -0
  371. remdb-0.3.164/docker-compose.prebuilt.yml +79 -0
  372. remdb-0.3.164/docker-compose.test.yml +44 -0
  373. remdb-0.3.164/docker-compose.yml +151 -0
  374. remdb-0.3.164/pyproject.toml +223 -0
  375. remdb-0.3.164/src/rem/__init__.py +129 -0
  376. remdb-0.3.164/src/rem/agentic/README.md +726 -0
  377. remdb-0.3.164/src/rem/agentic/__init__.py +54 -0
  378. remdb-0.3.164/src/rem/agentic/agents/README.md +155 -0
  379. remdb-0.3.164/src/rem/agentic/agents/__init__.py +38 -0
  380. remdb-0.3.164/src/rem/agentic/agents/agent_manager.py +311 -0
  381. remdb-0.3.164/src/rem/agentic/agents/sse_simulator.py +502 -0
  382. remdb-0.3.164/src/rem/agentic/context.py +252 -0
  383. remdb-0.3.164/src/rem/agentic/context_builder.py +344 -0
  384. remdb-0.3.164/src/rem/agentic/llm_provider_models.py +301 -0
  385. remdb-0.3.164/src/rem/agentic/mcp/__init__.py +0 -0
  386. remdb-0.3.164/src/rem/agentic/mcp/tool_wrapper.py +244 -0
  387. remdb-0.3.164/src/rem/agentic/otel/__init__.py +5 -0
  388. remdb-0.3.164/src/rem/agentic/otel/setup.py +240 -0
  389. remdb-0.3.164/src/rem/agentic/providers/phoenix.py +926 -0
  390. remdb-0.3.164/src/rem/agentic/providers/pydantic_ai.py +795 -0
  391. remdb-0.3.164/src/rem/agentic/query.py +117 -0
  392. remdb-0.3.164/src/rem/agentic/query_helper.py +89 -0
  393. remdb-0.3.164/src/rem/agentic/schema.py +736 -0
  394. remdb-0.3.164/src/rem/agentic/serialization.py +245 -0
  395. remdb-0.3.164/src/rem/agentic/tools/__init__.py +5 -0
  396. remdb-0.3.164/src/rem/agentic/tools/rem_tools.py +231 -0
  397. remdb-0.3.164/src/rem/api/README.md +657 -0
  398. remdb-0.3.164/src/rem/api/deps.py +253 -0
  399. remdb-0.3.164/src/rem/api/main.py +460 -0
  400. remdb-0.3.164/src/rem/api/mcp_router/prompts.py +182 -0
  401. remdb-0.3.164/src/rem/api/mcp_router/resources.py +536 -0
  402. remdb-0.3.164/src/rem/api/mcp_router/server.py +236 -0
  403. remdb-0.3.164/src/rem/api/mcp_router/tools.py +1134 -0
  404. remdb-0.3.164/src/rem/api/middleware/tracking.py +172 -0
  405. remdb-0.3.164/src/rem/api/routers/admin.py +494 -0
  406. remdb-0.3.164/src/rem/api/routers/auth.py +694 -0
  407. remdb-0.3.164/src/rem/api/routers/chat/__init__.py +5 -0
  408. remdb-0.3.164/src/rem/api/routers/chat/completions.py +665 -0
  409. remdb-0.3.164/src/rem/api/routers/chat/json_utils.py +76 -0
  410. remdb-0.3.164/src/rem/api/routers/chat/models.py +202 -0
  411. remdb-0.3.164/src/rem/api/routers/chat/otel_utils.py +33 -0
  412. remdb-0.3.164/src/rem/api/routers/chat/sse_events.py +542 -0
  413. remdb-0.3.164/src/rem/api/routers/chat/streaming.py +837 -0
  414. remdb-0.3.164/src/rem/api/routers/dev.py +81 -0
  415. remdb-0.3.164/src/rem/api/routers/feedback.py +268 -0
  416. remdb-0.3.164/src/rem/api/routers/messages.py +482 -0
  417. remdb-0.3.164/src/rem/api/routers/models.py +78 -0
  418. remdb-0.3.164/src/rem/api/routers/query.py +360 -0
  419. remdb-0.3.164/src/rem/api/routers/shared_sessions.py +406 -0
  420. remdb-0.3.164/src/rem/auth/README.md +258 -0
  421. remdb-0.3.164/src/rem/auth/__init__.py +36 -0
  422. remdb-0.3.164/src/rem/auth/jwt.py +352 -0
  423. remdb-0.3.164/src/rem/auth/middleware.py +301 -0
  424. remdb-0.3.164/src/rem/auth/providers/__init__.py +16 -0
  425. remdb-0.3.164/src/rem/auth/providers/base.py +376 -0
  426. remdb-0.3.164/src/rem/auth/providers/email.py +215 -0
  427. remdb-0.3.164/src/rem/auth/providers/google.py +163 -0
  428. remdb-0.3.164/src/rem/auth/providers/microsoft.py +237 -0
  429. remdb-0.3.164/src/rem/cli/README.md +455 -0
  430. remdb-0.3.164/src/rem/cli/__init__.py +8 -0
  431. remdb-0.3.164/src/rem/cli/commands/README.md +299 -0
  432. remdb-0.3.164/src/rem/cli/commands/__init__.py +3 -0
  433. remdb-0.3.164/src/rem/cli/commands/ask.py +569 -0
  434. remdb-0.3.164/src/rem/cli/commands/cluster.py +1808 -0
  435. remdb-0.3.164/src/rem/cli/commands/configure.py +495 -0
  436. remdb-0.3.164/src/rem/cli/commands/db.py +750 -0
  437. remdb-0.3.164/src/rem/cli/commands/dreaming.py +324 -0
  438. remdb-0.3.164/src/rem/cli/commands/experiments.py +1698 -0
  439. remdb-0.3.164/src/rem/cli/commands/mcp.py +66 -0
  440. remdb-0.3.164/src/rem/cli/commands/process.py +252 -0
  441. remdb-0.3.164/src/rem/cli/commands/scaffold.py +47 -0
  442. remdb-0.3.164/src/rem/cli/commands/schema.py +230 -0
  443. remdb-0.3.164/src/rem/cli/commands/serve.py +106 -0
  444. remdb-0.3.164/src/rem/cli/commands/session.py +336 -0
  445. remdb-0.3.164/src/rem/cli/dreaming.py +363 -0
  446. remdb-0.3.164/src/rem/cli/main.py +121 -0
  447. remdb-0.3.164/src/rem/config.py +244 -0
  448. remdb-0.3.164/src/rem/mcp_server.py +41 -0
  449. remdb-0.3.164/src/rem/models/core/__init__.py +49 -0
  450. remdb-0.3.164/src/rem/models/core/core_model.py +70 -0
  451. remdb-0.3.164/src/rem/models/core/engram.py +333 -0
  452. remdb-0.3.164/src/rem/models/core/experiment.py +672 -0
  453. remdb-0.3.164/src/rem/models/core/inline_edge.py +132 -0
  454. remdb-0.3.164/src/rem/models/core/rem_query.py +246 -0
  455. remdb-0.3.164/src/rem/models/entities/__init__.py +68 -0
  456. remdb-0.3.164/src/rem/models/entities/domain_resource.py +38 -0
  457. remdb-0.3.164/src/rem/models/entities/feedback.py +123 -0
  458. remdb-0.3.164/src/rem/models/entities/file.py +57 -0
  459. remdb-0.3.164/src/rem/models/entities/image_resource.py +88 -0
  460. remdb-0.3.164/src/rem/models/entities/message.py +64 -0
  461. remdb-0.3.164/src/rem/models/entities/moment.py +123 -0
  462. remdb-0.3.164/src/rem/models/entities/ontology.py +191 -0
  463. remdb-0.3.164/src/rem/models/entities/ontology_config.py +131 -0
  464. remdb-0.3.164/src/rem/models/entities/resource.py +95 -0
  465. remdb-0.3.164/src/rem/models/entities/schema.py +87 -0
  466. remdb-0.3.164/src/rem/models/entities/session.py +83 -0
  467. remdb-0.3.164/src/rem/models/entities/shared_session.py +180 -0
  468. remdb-0.3.164/src/rem/models/entities/subscriber.py +175 -0
  469. remdb-0.3.164/src/rem/models/entities/user.py +93 -0
  470. remdb-0.3.164/src/rem/py.typed +0 -0
  471. remdb-0.3.164/src/rem/registry.py +373 -0
  472. remdb-0.3.164/src/rem/schemas/README.md +507 -0
  473. remdb-0.3.164/src/rem/schemas/__init__.py +6 -0
  474. remdb-0.3.164/src/rem/schemas/agents/README.md +92 -0
  475. remdb-0.3.164/src/rem/schemas/agents/core/agent-builder.yaml +229 -0
  476. remdb-0.3.164/src/rem/schemas/agents/core/moment-builder.yaml +178 -0
  477. remdb-0.3.164/src/rem/schemas/agents/core/rem-query-agent.yaml +226 -0
  478. remdb-0.3.164/src/rem/schemas/agents/core/resource-affinity-assessor.yaml +99 -0
  479. remdb-0.3.164/src/rem/schemas/agents/core/simple-assistant.yaml +19 -0
  480. remdb-0.3.164/src/rem/schemas/agents/core/user-profile-builder.yaml +163 -0
  481. remdb-0.3.164/src/rem/schemas/agents/examples/contract-analyzer.yaml +317 -0
  482. remdb-0.3.164/src/rem/schemas/agents/examples/contract-extractor.yaml +134 -0
  483. remdb-0.3.164/src/rem/schemas/agents/examples/cv-parser.yaml +263 -0
  484. remdb-0.3.164/src/rem/schemas/agents/examples/hello-world.yaml +37 -0
  485. remdb-0.3.164/src/rem/schemas/agents/examples/query.yaml +54 -0
  486. remdb-0.3.164/src/rem/schemas/agents/examples/simple.yaml +21 -0
  487. remdb-0.3.164/src/rem/schemas/agents/examples/test.yaml +29 -0
  488. remdb-0.3.164/src/rem/schemas/agents/rem.yaml +132 -0
  489. remdb-0.3.164/src/rem/schemas/evaluators/hello-world/default.yaml +77 -0
  490. remdb-0.3.164/src/rem/schemas/evaluators/rem/faithfulness.yaml +219 -0
  491. remdb-0.3.164/src/rem/schemas/evaluators/rem/lookup-correctness.yaml +182 -0
  492. remdb-0.3.164/src/rem/schemas/evaluators/rem/retrieval-precision.yaml +199 -0
  493. remdb-0.3.164/src/rem/schemas/evaluators/rem/retrieval-recall.yaml +211 -0
  494. remdb-0.3.164/src/rem/schemas/evaluators/rem/search-correctness.yaml +192 -0
  495. remdb-0.3.164/src/rem/services/__init__.py +18 -0
  496. remdb-0.3.164/src/rem/services/audio/INTEGRATION.md +308 -0
  497. remdb-0.3.164/src/rem/services/audio/README.md +376 -0
  498. remdb-0.3.164/src/rem/services/audio/__init__.py +15 -0
  499. remdb-0.3.164/src/rem/services/audio/chunker.py +354 -0
  500. remdb-0.3.164/src/rem/services/audio/transcriber.py +259 -0
  501. remdb-0.3.164/src/rem/services/content/README.md +1269 -0
  502. remdb-0.3.164/src/rem/services/content/__init__.py +5 -0
  503. remdb-0.3.164/src/rem/services/content/providers.py +760 -0
  504. remdb-0.3.164/src/rem/services/content/service.py +749 -0
  505. remdb-0.3.164/src/rem/services/dreaming/README.md +230 -0
  506. remdb-0.3.164/src/rem/services/dreaming/__init__.py +53 -0
  507. remdb-0.3.164/src/rem/services/dreaming/affinity_service.py +322 -0
  508. remdb-0.3.164/src/rem/services/dreaming/moment_service.py +251 -0
  509. remdb-0.3.164/src/rem/services/dreaming/ontology_service.py +54 -0
  510. remdb-0.3.164/src/rem/services/dreaming/user_model_service.py +297 -0
  511. remdb-0.3.164/src/rem/services/dreaming/utils.py +39 -0
  512. remdb-0.3.164/src/rem/services/email/__init__.py +10 -0
  513. remdb-0.3.164/src/rem/services/email/service.py +511 -0
  514. remdb-0.3.164/src/rem/services/email/templates.py +360 -0
  515. remdb-0.3.164/src/rem/services/embeddings/__init__.py +11 -0
  516. remdb-0.3.164/src/rem/services/embeddings/api.py +127 -0
  517. remdb-0.3.164/src/rem/services/embeddings/worker.py +421 -0
  518. remdb-0.3.164/src/rem/services/fs/README.md +662 -0
  519. remdb-0.3.164/src/rem/services/fs/__init__.py +62 -0
  520. remdb-0.3.164/src/rem/services/fs/examples.py +206 -0
  521. remdb-0.3.164/src/rem/services/fs/examples_paths.py +204 -0
  522. remdb-0.3.164/src/rem/services/fs/git_provider.py +935 -0
  523. remdb-0.3.164/src/rem/services/fs/local_provider.py +760 -0
  524. remdb-0.3.164/src/rem/services/fs/parsing-hooks-examples.md +172 -0
  525. remdb-0.3.164/src/rem/services/fs/paths.py +276 -0
  526. remdb-0.3.164/src/rem/services/fs/provider.py +460 -0
  527. remdb-0.3.164/src/rem/services/fs/s3_provider.py +1042 -0
  528. remdb-0.3.164/src/rem/services/fs/service.py +186 -0
  529. remdb-0.3.164/src/rem/services/git/README.md +1075 -0
  530. remdb-0.3.164/src/rem/services/git/__init__.py +17 -0
  531. remdb-0.3.164/src/rem/services/git/service.py +469 -0
  532. remdb-0.3.164/src/rem/services/phoenix/EXPERIMENT_DESIGN.md +1146 -0
  533. remdb-0.3.164/src/rem/services/phoenix/README.md +453 -0
  534. remdb-0.3.164/src/rem/services/phoenix/__init__.py +46 -0
  535. remdb-0.3.164/src/rem/services/phoenix/client.py +960 -0
  536. remdb-0.3.164/src/rem/services/phoenix/config.py +88 -0
  537. remdb-0.3.164/src/rem/services/phoenix/prompt_labels.py +477 -0
  538. remdb-0.3.164/src/rem/services/postgres/README.md +757 -0
  539. remdb-0.3.164/src/rem/services/postgres/__init__.py +24 -0
  540. remdb-0.3.164/src/rem/services/postgres/diff_service.py +547 -0
  541. remdb-0.3.164/src/rem/services/postgres/migration_service.py +427 -0
  542. remdb-0.3.164/src/rem/services/postgres/pydantic_to_sqlalchemy.py +562 -0
  543. remdb-0.3.164/src/rem/services/postgres/register_type.py +352 -0
  544. remdb-0.3.164/src/rem/services/postgres/repository.py +470 -0
  545. remdb-0.3.164/src/rem/services/postgres/schema_generator.py +661 -0
  546. remdb-0.3.164/src/rem/services/postgres/service.py +802 -0
  547. remdb-0.3.164/src/rem/services/postgres/sql_builder.py +354 -0
  548. remdb-0.3.164/src/rem/services/rate_limit.py +113 -0
  549. remdb-0.3.164/src/rem/services/rem/README.md +318 -0
  550. remdb-0.3.164/src/rem/services/rem/__init__.py +23 -0
  551. remdb-0.3.164/src/rem/services/rem/exceptions.py +71 -0
  552. remdb-0.3.164/src/rem/services/rem/executor.py +293 -0
  553. remdb-0.3.164/src/rem/services/rem/parser.py +180 -0
  554. remdb-0.3.164/src/rem/services/rem/queries.py +196 -0
  555. remdb-0.3.164/src/rem/services/rem/query.py +371 -0
  556. remdb-0.3.164/src/rem/services/rem/service.py +561 -0
  557. remdb-0.3.164/src/rem/services/session/README.md +374 -0
  558. remdb-0.3.164/src/rem/services/session/__init__.py +6 -0
  559. remdb-0.3.164/src/rem/services/session/compression.py +446 -0
  560. remdb-0.3.164/src/rem/services/session/reload.py +84 -0
  561. remdb-0.3.164/src/rem/services/user_service.py +127 -0
  562. remdb-0.3.164/src/rem/settings.py +1800 -0
  563. remdb-0.3.164/src/rem/sql/background_indexes.sql +47 -0
  564. remdb-0.3.164/src/rem/sql/migrations/001_install.sql +836 -0
  565. remdb-0.3.164/src/rem/sql/migrations/002_install_models.sql +3129 -0
  566. remdb-0.3.164/src/rem/sql/migrations/003_optional_extensions.sql +326 -0
  567. remdb-0.3.164/src/rem/sql/migrations/004_cache_system.sql +548 -0
  568. remdb-0.3.164/src/rem/sql/migrations/005_schema_update.sql +145 -0
  569. remdb-0.3.164/src/rem/utils/AGENTIC_CHUNKING.md +597 -0
  570. remdb-0.3.164/src/rem/utils/README.md +628 -0
  571. remdb-0.3.164/src/rem/utils/__init__.py +61 -0
  572. remdb-0.3.164/src/rem/utils/agentic_chunking.py +622 -0
  573. remdb-0.3.164/src/rem/utils/batch_ops.py +343 -0
  574. remdb-0.3.164/src/rem/utils/chunking.py +108 -0
  575. remdb-0.3.164/src/rem/utils/clip_embeddings.py +276 -0
  576. remdb-0.3.164/src/rem/utils/constants.py +97 -0
  577. remdb-0.3.164/src/rem/utils/date_utils.py +228 -0
  578. remdb-0.3.164/src/rem/utils/dict_utils.py +98 -0
  579. remdb-0.3.164/src/rem/utils/embeddings.py +436 -0
  580. remdb-0.3.164/src/rem/utils/examples/embeddings_example.py +305 -0
  581. remdb-0.3.164/src/rem/utils/examples/sql_types_example.py +202 -0
  582. remdb-0.3.164/src/rem/utils/files.py +323 -0
  583. remdb-0.3.164/src/rem/utils/markdown.py +16 -0
  584. remdb-0.3.164/src/rem/utils/mime_types.py +158 -0
  585. remdb-0.3.164/src/rem/utils/model_helpers.py +391 -0
  586. remdb-0.3.164/src/rem/utils/schema_loader.py +621 -0
  587. remdb-0.3.164/src/rem/utils/sql_paths.py +146 -0
  588. remdb-0.3.164/src/rem/utils/sql_types.py +350 -0
  589. remdb-0.3.164/src/rem/utils/user_id.py +81 -0
  590. remdb-0.3.164/src/rem/utils/vision.py +325 -0
  591. remdb-0.3.164/src/rem/workers/README.md +506 -0
  592. remdb-0.3.164/src/rem/workers/__init__.py +7 -0
  593. remdb-0.3.164/src/rem/workers/db_listener.py +579 -0
  594. remdb-0.3.164/src/rem/workers/db_maintainer.py +74 -0
  595. remdb-0.3.164/src/rem/workers/dreaming.py +502 -0
  596. remdb-0.3.164/src/rem/workers/engram_processor.py +312 -0
  597. remdb-0.3.164/src/rem/workers/sqs_file_processor.py +193 -0
  598. remdb-0.3.164/src/rem/workers/unlogged_maintainer.py +463 -0
  599. remdb-0.3.164/tests/README.md +398 -0
  600. remdb-0.3.164/tests/__init__.py +3 -0
  601. remdb-0.3.164/tests/conftest.py +38 -0
  602. remdb-0.3.164/tests/data/README.md +173 -0
  603. remdb-0.3.164/tests/data/audio/README.md +51 -0
  604. remdb-0.3.164/tests/data/audio/SUMMARY.md +141 -0
  605. remdb-0.3.164/tests/data/audio/generate_test_audio.py +148 -0
  606. remdb-0.3.164/tests/data/audio/test_hq_30s.wav +0 -0
  607. remdb-0.3.164/tests/data/audio/test_long_90s.wav +0 -0
  608. remdb-0.3.164/tests/data/audio/test_medium_10s.wav +0 -0
  609. remdb-0.3.164/tests/data/audio/test_short_3s.wav +0 -0
  610. remdb-0.3.164/tests/data/audio/test_standard_30s.wav +0 -0
  611. remdb-0.3.164/tests/data/content-examples/pdf/README.md +184 -0
  612. remdb-0.3.164/tests/data/content-examples/pdf/annual_financial_report.pdf +0 -0
  613. remdb-0.3.164/tests/data/content-examples/pdf/consulting_agreement.pdf +0 -0
  614. remdb-0.3.164/tests/data/content-examples/pdf/nda_agreement.pdf +0 -0
  615. remdb-0.3.164/tests/data/content-examples/pdf/sample_business_plan.pdf +0 -0
  616. remdb-0.3.164/tests/data/content-examples/pdf/sample_invoice.pdf +0 -0
  617. remdb-0.3.164/tests/data/content-examples/pdf/sample_research_paper.pdf +0 -0
  618. remdb-0.3.164/tests/data/content-examples/pdf/sample_resume.pdf +0 -0
  619. remdb-0.3.164/tests/data/content-examples/pdf/service_contract.pdf +0 -0
  620. remdb-0.3.164/tests/data/content-examples/test.md +3 -0
  621. remdb-0.3.164/tests/data/docs/CODE_REVIEW_FIXES.md +226 -0
  622. remdb-0.3.164/tests/data/docs/TEST_RESULTS.md +128 -0
  623. remdb-0.3.164/tests/data/docs/cli_verification.md +118 -0
  624. remdb-0.3.164/tests/data/docs/database-design.md +53 -0
  625. remdb-0.3.164/tests/data/docs/deep-learning-guide.md +38 -0
  626. remdb-0.3.164/tests/data/docs/ml-overview.md +21 -0
  627. remdb-0.3.164/tests/data/docs/python-best-practices.md +85 -0
  628. remdb-0.3.164/tests/data/docs/test_summary.md +96 -0
  629. remdb-0.3.164/tests/data/engrams/test-conversation.yaml +98 -0
  630. remdb-0.3.164/tests/data/engrams/test-diary-entry.yaml +44 -0
  631. remdb-0.3.164/tests/data/engrams/test-meeting-notes.yaml +102 -0
  632. remdb-0.3.164/tests/data/engrams/test-observation.yaml +72 -0
  633. remdb-0.3.164/tests/data/engrams/test-project-note.yaml +106 -0
  634. remdb-0.3.164/tests/data/graph_seed.yaml +45 -0
  635. remdb-0.3.164/tests/data/sample-architecture-doc.txt +48 -0
  636. remdb-0.3.164/tests/data/sample_conversations.yaml +84 -0
  637. remdb-0.3.164/tests/data/schemas/agents/query_agent.yaml +87 -0
  638. remdb-0.3.164/tests/data/schemas/agents/summarization_agent.yaml +83 -0
  639. remdb-0.3.164/tests/data/schemas/agents/test-cv-parser.yaml +120 -0
  640. remdb-0.3.164/tests/data/schemas/evaluators/accuracy_evaluator.yaml +61 -0
  641. remdb-0.3.164/tests/data/seed/001_sample_data.yaml +544 -0
  642. remdb-0.3.164/tests/data/seed/001_sample_data.yaml.bak +544 -0
  643. remdb-0.3.164/tests/data/seed/README.md +172 -0
  644. remdb-0.3.164/tests/data/seed/files/documents/api_spec.md +255 -0
  645. remdb-0.3.164/tests/data/seed/files/documents/meeting_notes.txt +128 -0
  646. remdb-0.3.164/tests/data/seed/files/engrams/personal_reflection.yaml +83 -0
  647. remdb-0.3.164/tests/data/seed/files/engrams/product_idea_voice_memo.yaml +63 -0
  648. remdb-0.3.164/tests/data/seed/files/engrams/team_standup_meeting.yaml +134 -0
  649. remdb-0.3.164/tests/data/seed/resources.yaml +282 -0
  650. remdb-0.3.164/tests/data/seed/shared_sessions_demo.yaml +242 -0
  651. remdb-0.3.164/tests/data/seed/test-user-data.yaml +159 -0
  652. remdb-0.3.164/tests/data/seed/test-user-data.yaml.bak +159 -0
  653. remdb-0.3.164/tests/data/seed/users.yaml +47 -0
  654. remdb-0.3.164/tests/integration/README.md +418 -0
  655. remdb-0.3.164/tests/integration/helpers/README.md +216 -0
  656. remdb-0.3.164/tests/integration/helpers/__init__.py +19 -0
  657. remdb-0.3.164/tests/integration/helpers/seed_data.py +115 -0
  658. remdb-0.3.164/tests/integration/phoenix/run_complete_experiment.py +609 -0
  659. remdb-0.3.164/tests/integration/phoenix/run_hello_world_experiment.py +305 -0
  660. remdb-0.3.164/tests/integration/phoenix/test_connection.py +26 -0
  661. remdb-0.3.164/tests/integration/rem-agent-eval-questions.yaml +180 -0
  662. remdb-0.3.164/tests/integration/rem-query-agent-tests.yaml +393 -0
  663. remdb-0.3.164/tests/integration/run_rem_agent_eval.py +375 -0
  664. remdb-0.3.164/tests/integration/sample_data/dreaming/load_sample_data.py +469 -0
  665. remdb-0.3.164/tests/integration/sample_data/dreaming/resources/api_design_discussion.md +42 -0
  666. remdb-0.3.164/tests/integration/sample_data/dreaming/resources/database_migration_plan.md +71 -0
  667. remdb-0.3.164/tests/integration/sample_data/dreaming/resources/morning_standup_notes.md +95 -0
  668. remdb-0.3.164/tests/integration/sample_data/dreaming/resources/production_incident_postmortem.md +111 -0
  669. remdb-0.3.164/tests/integration/sample_data/dreaming/resources/quarterly_reflection.md +65 -0
  670. remdb-0.3.164/tests/integration/services/test_content_providers.py +324 -0
  671. remdb-0.3.164/tests/integration/services/test_schema_provider.py +249 -0
  672. remdb-0.3.164/tests/integration/test_agent_end_to_end.py +187 -0
  673. remdb-0.3.164/tests/integration/test_agent_tool_invocation.py +80 -0
  674. remdb-0.3.164/tests/integration/test_agent_with_tools.py +164 -0
  675. remdb-0.3.164/tests/integration/test_api_endpoints.py +269 -0
  676. remdb-0.3.164/tests/integration/test_batch_upsert.py +268 -0
  677. remdb-0.3.164/tests/integration/test_completions_with_sessions.py +393 -0
  678. remdb-0.3.164/tests/integration/test_content_ingest_workflow.py +270 -0
  679. remdb-0.3.164/tests/integration/test_contract_extractor.py +175 -0
  680. remdb-0.3.164/tests/integration/test_dreaming_moments.py +171 -0
  681. remdb-0.3.164/tests/integration/test_dynamic_agents.py +100 -0
  682. remdb-0.3.164/tests/integration/test_email_auth.py +191 -0
  683. remdb-0.3.164/tests/integration/test_embedding_worker.py +251 -0
  684. remdb-0.3.164/tests/integration/test_embeddings_e2e.py +228 -0
  685. remdb-0.3.164/tests/integration/test_git_provider.py +215 -0
  686. remdb-0.3.164/tests/integration/test_graph_traversal.py +161 -0
  687. remdb-0.3.164/tests/integration/test_mcp_server_loading.py +143 -0
  688. remdb-0.3.164/tests/integration/test_mcp_tool_loading.py +176 -0
  689. remdb-0.3.164/tests/integration/test_mcp_tools.py +284 -0
  690. remdb-0.3.164/tests/integration/test_mcp_tools_layer.py +207 -0
  691. remdb-0.3.164/tests/integration/test_merge_strategies_demo.py +232 -0
  692. remdb-0.3.164/tests/integration/test_natural_language_to_rem.py +521 -0
  693. remdb-0.3.164/tests/integration/test_rem_query.py +368 -0
  694. remdb-0.3.164/tests/integration/test_rem_query_agent.py +240 -0
  695. remdb-0.3.164/tests/integration/test_rem_query_agent_structured.py +241 -0
  696. remdb-0.3.164/tests/integration/test_rem_query_evolution.py +610 -0
  697. remdb-0.3.164/tests/integration/test_rem_query_functions.py +150 -0
  698. remdb-0.3.164/tests/integration/test_rem_service_layer.py +118 -0
  699. remdb-0.3.164/tests/integration/test_schema_introspection.py +495 -0
  700. remdb-0.3.164/tests/integration/test_session_management.py +397 -0
  701. remdb-0.3.164/tests/integration/test_shared_sessions.py +734 -0
  702. remdb-0.3.164/tests/integration/test_unlogged_maintainer.py +249 -0
  703. remdb-0.3.164/tests/integration/test_user_session_reloads.py +313 -0
  704. remdb-0.3.164/tests/integration/test_verify_setup.py +191 -0
  705. remdb-0.3.164/tests/integration/test_yaml_export.py +117 -0
  706. remdb-0.3.164/tests/integration/validate_rem_agent_schema.py +253 -0
  707. remdb-0.3.164/tests/scripts/__init__.py +1 -0
  708. remdb-0.3.164/tests/scripts/demo_session_recovery.py +233 -0
  709. remdb-0.3.164/tests/scripts/seed_sample_sessions.py +251 -0
  710. remdb-0.3.164/tests/scripts/simple_session_demo.py +160 -0
  711. remdb-0.3.164/tests/test_agent_manager.py +175 -0
  712. remdb-0.3.164/tests/unit/__init__.py +3 -0
  713. remdb-0.3.164/tests/unit/agentic/__init__.py +3 -0
  714. remdb-0.3.164/tests/unit/agentic/agents/__init__.py +1 -0
  715. remdb-0.3.164/tests/unit/agentic/agents/test_sse_simulator.py +348 -0
  716. remdb-0.3.164/tests/unit/agentic/providers/__init__.py +3 -0
  717. remdb-0.3.164/tests/unit/agentic/providers/test_pydantic_ai.py +330 -0
  718. remdb-0.3.164/tests/unit/agentic/test_schema.py +619 -0
  719. remdb-0.3.164/tests/unit/agentic/test_schema_integration.py +172 -0
  720. remdb-0.3.164/tests/unit/agentic/test_tool_description_suffix.py +320 -0
  721. remdb-0.3.164/tests/unit/api/__init__.py +1 -0
  722. remdb-0.3.164/tests/unit/api/test_feedback.py +111 -0
  723. remdb-0.3.164/tests/unit/api/test_models_endpoint.py +112 -0
  724. remdb-0.3.164/tests/unit/api/test_sessions_messages.py +110 -0
  725. remdb-0.3.164/tests/unit/api/test_sse_events.py +493 -0
  726. remdb-0.3.164/tests/unit/conftest.py +48 -0
  727. remdb-0.3.164/tests/unit/services/test_session_compression.py +273 -0
  728. remdb-0.3.164/tests/unit/test_admin_internal.py +201 -0
  729. remdb-0.3.164/tests/unit/test_api_key_auth.py +133 -0
  730. remdb-0.3.164/tests/unit/test_registry.py +551 -0
  731. remdb-0.3.164/tests/unit/test_resource_tools.py +136 -0
  732. remdb-0.3.164/tests/unit/test_session_cli.py +124 -0
  733. remdb-0.3.164/tests/unit/test_sql_security.py +74 -0
  734. remdb-0.3.164/tests/unit/utils/test_agentic_chunking.py +589 -0
  735. remdb-0.3.164/walkthrough.md +828 -0
@@ -0,0 +1,158 @@
1
+ # Publishing remdb to PyPI
2
+
3
+ ## Prerequisites
4
+
5
+ ```bash
6
+ # Install build tools
7
+ pip install build twine
8
+
9
+ # Set up PyPI credentials (use API token)
10
+ # Create ~/.pypirc with your credentials
11
+ ```
12
+
13
+ ## Publishing Process
14
+
15
+ ### 1. Update Version
16
+
17
+ Edit `pyproject.toml`:
18
+ ```toml
19
+ version = "0.1.1" # Increment version
20
+ ```
21
+
22
+ ### 2. Build Distribution
23
+
24
+ ```bash
25
+ cd rem/
26
+
27
+ # Clean old builds
28
+ rm -rf dist/ build/ *.egg-info/
29
+
30
+ # Build wheel and source distribution
31
+ python -m build
32
+ ```
33
+
34
+ This creates:
35
+ - `dist/remdb-0.1.1-py3-none-any.whl`
36
+ - `dist/remdb-0.1.1.tar.gz`
37
+
38
+ ### 3. Test on TestPyPI (Optional but Recommended)
39
+
40
+ ```bash
41
+ # Upload to TestPyPI
42
+ python -m twine upload --repository testpypi dist/*
43
+
44
+ # Test installation from TestPyPI
45
+ pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ remdb[all]
46
+ ```
47
+
48
+ ### 4. Publish to PyPI
49
+
50
+ ```bash
51
+ # Upload to PyPI (uses credentials from ~/.pypirc or environment)
52
+ python -m twine upload dist/*
53
+
54
+ # Or with explicit token
55
+ python -m twine upload dist/* --username __token__ --password $PYPI_API_KEY
56
+ ```
57
+
58
+ ### 5. Verify Installation
59
+
60
+ ```bash
61
+ # In a fresh environment
62
+ pip install remdb[all]
63
+
64
+ # Test CLI
65
+ rem --help
66
+ ```
67
+
68
+ ## Using PyPI API Token
69
+
70
+ Recommended approach - use an API token instead of username/password:
71
+
72
+ 1. Go to https://pypi.org/manage/account/token/
73
+ 2. Create a new API token with scope for the `remdb` project
74
+ 3. Set environment variable:
75
+ ```bash
76
+ export PYPI_API_KEY="pypi-..."
77
+ ```
78
+
79
+ 4. Publish:
80
+ ```bash
81
+ python -m twine upload dist/* --username __token__ --password $PYPI_API_KEY
82
+ ```
83
+
84
+ ## Automation with GitHub Actions
85
+
86
+ Create `.github/workflows/publish.yml`:
87
+
88
+ ```yaml
89
+ name: Publish to PyPI
90
+
91
+ on:
92
+ release:
93
+ types: [published]
94
+
95
+ jobs:
96
+ publish:
97
+ runs-on: ubuntu-latest
98
+ steps:
99
+ - uses: actions/checkout@v4
100
+
101
+ - name: Set up Python
102
+ uses: actions/setup-python@v5
103
+ with:
104
+ python-version: '3.12'
105
+
106
+ - name: Install build tools
107
+ run: pip install build twine
108
+
109
+ - name: Build package
110
+ run: python -m build
111
+ working-directory: rem
112
+
113
+ - name: Publish to PyPI
114
+ env:
115
+ TWINE_USERNAME: __token__
116
+ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
117
+ run: python -m twine upload dist/*
118
+ working-directory: rem
119
+ ```
120
+
121
+ Add `PYPI_API_TOKEN` to GitHub repository secrets.
122
+
123
+ ## Version Naming Convention
124
+
125
+ - **0.1.x** - Alpha releases (breaking changes expected)
126
+ - **0.2.x** - Beta releases (stabilizing API)
127
+ - **1.0.0** - First stable release
128
+ - **1.x.y** - Stable releases (semantic versioning)
129
+
130
+ ## Quick Publish Script
131
+
132
+ Save as `publish.sh`:
133
+
134
+ ```bash
135
+ #!/bin/bash
136
+ set -e
137
+
138
+ # Load PyPI token from environment
139
+ if [ -z "$PYPI_API_KEY" ]; then
140
+ echo "Error: PYPI_API_KEY not set"
141
+ exit 1
142
+ fi
143
+
144
+ # Clean and build
145
+ rm -rf dist/ build/ *.egg-info/
146
+ python -m build
147
+
148
+ # Upload to PyPI
149
+ python -m twine upload dist/* --username __token__ --password "$PYPI_API_KEY"
150
+
151
+ echo "✓ Published successfully!"
152
+ ```
153
+
154
+ Make executable and run:
155
+ ```bash
156
+ chmod +x publish.sh
157
+ ./publish.sh
158
+ ```
@@ -0,0 +1,205 @@
1
+ # REM Quickstart Guide
2
+
3
+ ## 🚀 Published to PyPI!
4
+
5
+ **Package:** `remdb` version 0.1.9
6
+ **PyPI:** https://pypi.org/project/remdb/
7
+ **CLI Command:** `rem`
8
+
9
+ ## Installation Options
10
+
11
+ ### Option 1: Standalone Docker (Zero Installation)
12
+
13
+ Run everything in containers - no Python installation needed.
14
+
15
+ ```bash
16
+ # Clone repository
17
+ git clone https://github.com/mr-saoirse/remstack.git
18
+ cd remstack/rem
19
+
20
+ # Set API keys
21
+ export ANTHROPIC_API_KEY="your-key"
22
+ export OPENAI_API_KEY="your-key" # Optional
23
+
24
+ # Start all services
25
+ docker compose up -d
26
+
27
+ # Use CLI via docker exec
28
+ docker exec rem-api rem --help
29
+ docker exec rem-api rem schema generate
30
+ docker exec rem-api rem db migrate --sql-dir sql/migrations
31
+ ```
32
+
33
+ **Access Points:**
34
+ - API: http://localhost:8000
35
+ - Docs: http://localhost:8000/docs
36
+ - MCP: http://localhost:8000/api/v1/mcp
37
+ - PostgreSQL: localhost:5050
38
+
39
+ ### Option 2: Hybrid (Recommended for Development)
40
+
41
+ Docker for infrastructure, pip install for CLI/library.
42
+
43
+ ```bash
44
+ # Clone repository
45
+ git clone https://github.com/mr-saoirse/remstack.git
46
+ cd remstack/rem
47
+
48
+ # Start PostgreSQL only
49
+ docker compose up postgres -d
50
+
51
+ # Install from PyPI
52
+ pip install remdb[all]
53
+
54
+ # Set environment variables
55
+ export ANTHROPIC_API_KEY="your-key"
56
+ export POSTGRES__CONNECTION_STRING="postgresql://rem:rem@localhost:5050/rem"
57
+ export AUTH__ENABLED="false"
58
+ export OTEL__ENABLED="false"
59
+
60
+ # Use CLI directly (no docker exec!)
61
+ rem --help
62
+ rem schema validate
63
+ rem db migrate --sql-dir sql/migrations
64
+ rem ask "What is REM?"
65
+
66
+ # Run API locally with hot reload
67
+ uvicorn rem.api.main:app --reload --port 8000
68
+ ```
69
+
70
+ **Why Hybrid?**
71
+ - ⚡ Faster CLI (no container overhead)
72
+ - 🔥 Hot reload for development
73
+ - 🐛 Native debugging
74
+ - 🐘 Isolated PostgreSQL
75
+
76
+ ### Option 3: Library Usage
77
+
78
+ Use REM as a Python library in your projects.
79
+
80
+ ```bash
81
+ # Install in your project
82
+ pip install remdb[all]
83
+ ```
84
+
85
+ ```python
86
+ from rem.services.rem.service import RemService
87
+ from rem.agentic.context import AgentContext
88
+
89
+ # Connect to Docker PostgreSQL
90
+ service = RemService()
91
+ context = AgentContext(
92
+ user_id="demo-user",
93
+ tenant_id="demo-tenant"
94
+ )
95
+
96
+ # Ask questions
97
+ result = await service.ask_rem(
98
+ query="What resources do we have?",
99
+ context=context
100
+ )
101
+ print(result)
102
+ ```
103
+
104
+ ## Testing the Installation
105
+
106
+ ### Verify CLI Installation
107
+ ```bash
108
+ rem --help
109
+ rem schema --help
110
+ rem db --help
111
+ ```
112
+
113
+ ### Verify PostgreSQL Connection
114
+ ```bash
115
+ docker exec rem-postgres psql -U rem -d rem -c "SELECT version();"
116
+ ```
117
+
118
+ ### Verify API Health
119
+ ```bash
120
+ curl http://localhost:8000/health
121
+ ```
122
+
123
+ ## Environment Configuration
124
+
125
+ All configuration via environment variables:
126
+
127
+ ```bash
128
+ # LLM Configuration (Required)
129
+ export LLM__ANTHROPIC_API_KEY="sk-ant-..."
130
+ export LLM__OPENAI_API_KEY="sk-..."
131
+ export LLM__DEFAULT_MODEL="anthropic:claude-sonnet-4-5-20250929"
132
+
133
+ # Database (Auto-configured in docker-compose)
134
+ export POSTGRES__CONNECTION_STRING="postgresql://rem:rem@localhost:5050/rem"
135
+
136
+ # Auth & Observability (Disabled for local dev)
137
+ export AUTH__ENABLED="false"
138
+ export OTEL__ENABLED="false"
139
+
140
+ # S3 Storage (Optional)
141
+ export S3__BUCKET_NAME="rem-storage"
142
+ export S3__ENDPOINT_URL="http://minio:9000"
143
+ ```
144
+
145
+ ## Next Steps
146
+
147
+ 1. **Explore API Docs:** http://localhost:8000/docs
148
+ 2. **Upload Files:** Use file processing endpoints
149
+ 3. **Create Agent Schemas:** Define custom extractors
150
+ 4. **Connect MCP Clients:** http://localhost:8000/api/v1/mcp
151
+ 5. **Run Evaluations:** `rem experiments --help`
152
+
153
+ ## Troubleshooting
154
+
155
+ ### CLI Not Found
156
+ ```bash
157
+ # Make sure package is installed
158
+ pip list | grep remdb
159
+
160
+ # Check if CLI is in PATH
161
+ which rem
162
+
163
+ # If using venv, make sure it's activated
164
+ source venv/bin/activate
165
+ ```
166
+
167
+ ### PostgreSQL Connection Failed
168
+ ```bash
169
+ # Check if container is running
170
+ docker compose ps
171
+
172
+ # Check logs
173
+ docker logs rem-postgres
174
+
175
+ # Verify connection string
176
+ echo $POSTGRES__CONNECTION_STRING
177
+ ```
178
+
179
+ ### API Not Starting
180
+ ```bash
181
+ # Check API logs
182
+ docker logs rem-api
183
+
184
+ # Verify environment variables
185
+ docker exec rem-api env | grep LLM
186
+ ```
187
+
188
+ ## Uninstall
189
+
190
+ ```bash
191
+ # Stop Docker services
192
+ docker compose down -v
193
+
194
+ # Remove Python package
195
+ pip uninstall remdb
196
+
197
+ # Remove test data
198
+ rm -rf /tmp/test-remdb
199
+ ```
200
+
201
+ ## Support
202
+
203
+ - **Issues:** https://github.com/mr-saoirse/remstack/issues
204
+ - **Docs:** https://github.com/mr-saoirse/remstack/blob/main/README.md
205
+ - **PyPI:** https://pypi.org/project/remdb/
@@ -0,0 +1,47 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ echo "🚀 Publishing remdb to PyPI"
5
+ echo "============================="
6
+
7
+ # Check for PyPI token
8
+ if [ -z "$PYPI_API_KEY" ]; then
9
+ echo "❌ Error: PYPI_API_KEY environment variable not set"
10
+ echo " Export your PyPI API token:"
11
+ echo " export PYPI_API_KEY='pypi-...'"
12
+ exit 1
13
+ fi
14
+
15
+ # Get current version from pyproject.toml
16
+ VERSION=$(grep '^version = ' pyproject.toml | cut -d'"' -f2)
17
+ echo "📦 Building version: $VERSION"
18
+
19
+ # Clean previous builds
20
+ echo "🧹 Cleaning old builds..."
21
+ rm -rf dist/ build/
22
+
23
+ # Build package
24
+ echo "🔨 Building package..."
25
+ uv run python -m build
26
+
27
+ # Show built files
28
+ echo ""
29
+ echo "📁 Built files:"
30
+ ls -lh dist/
31
+
32
+ # Confirm before publishing
33
+ echo ""
34
+ read -p "⚠️ Publish remdb $VERSION to PyPI? (y/N) " -n 1 -r
35
+ echo
36
+ if [[ ! $REPLY =~ ^[Yy]$ ]]; then
37
+ echo "❌ Publishing cancelled"
38
+ exit 1
39
+ fi
40
+
41
+ # Publish to PyPI
42
+ echo "📤 Publishing to PyPI..."
43
+ uv run python -m twine upload dist/* --username __token__ --password "$PYPI_API_KEY"
44
+
45
+ echo ""
46
+ echo "✅ Successfully published remdb $VERSION to PyPI!"
47
+ echo "📦 Install with: pip install remdb[all]"
@@ -0,0 +1,18 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(curl:*)",
5
+ "Bash(kubectl logs:*)",
6
+ "Bash(kubectl exec:*)",
7
+ "Bash(AWS_PROFILE=siggy kubectl delete:*)",
8
+ "Bash(AWS_PROFILE=siggy kubectl apply:*)",
9
+ "Bash(docker buildx build:*)",
10
+ "WebFetch(domain:gist.githubusercontent.com)",
11
+ "Bash(kubectl kustomize:*)",
12
+ "Bash(yq:*)",
13
+ "Bash(mkdir:*)"
14
+ ],
15
+ "deny": [],
16
+ "ask": []
17
+ }
18
+ }
@@ -0,0 +1,71 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ .Python
7
+ *.egg-info/
8
+ dist/
9
+ build/
10
+ *.egg
11
+
12
+ # Virtual environments
13
+ .venv/
14
+ venv/
15
+ ENV/
16
+ env/
17
+
18
+ # IDE
19
+ .vscode/
20
+ .idea/
21
+ *.swp
22
+ *.swo
23
+ *~
24
+
25
+ # Testing
26
+ .pytest_cache/
27
+ .coverage
28
+ htmlcov/
29
+ .tox/
30
+ tests/
31
+
32
+ # Environment variables (should be passed via docker-compose)
33
+ .env
34
+ .env.*
35
+
36
+ # Docker
37
+ Dockerfile
38
+ docker-compose.yml
39
+ .dockerignore
40
+
41
+ # Git
42
+ .git/
43
+ .gitignore
44
+
45
+ # Documentation (keep README.md for package metadata)
46
+ CLAUDE.md
47
+ FILE_PROCESSING.md
48
+ docs/
49
+
50
+ # Manifests (separate from application)
51
+ manifests/
52
+
53
+ # SQL migrations (already mounted as volume)
54
+ sql/
55
+
56
+ # Temporary files
57
+ *.log
58
+ *.tmp
59
+ tmp/
60
+ temp/
61
+
62
+ # macOS
63
+ .DS_Store
64
+
65
+ # CI/CD
66
+ .github/
67
+ .gitlab-ci.yml
68
+
69
+ # Development tools
70
+ .mypy_cache/
71
+ .ruff_cache/
@@ -0,0 +1,186 @@
1
+ # REM Environment Variables
2
+ # Copy this file to .env and update with your values
3
+ #
4
+ # Quick Start (Minimal Configuration):
5
+ # 1. Copy: cp .env.example .env
6
+ # 2. Set LLM API key: LLM__ANTHROPIC_API_KEY or LLM__OPENAI_API_KEY
7
+ # 3. Database is pre-configured for Docker Compose (port 5050)
8
+ # 4. Run: docker compose up -d
9
+ #
10
+ # Optional Features (Enable as needed):
11
+ # - Vision LLM: Set CONTENT__IMAGE_VLLM_SAMPLE_RATE > 0.0
12
+ # - CLIP Embeddings: Set CONTENT__JINA_API_KEY (free at jina.ai/embeddings)
13
+ # - Authentication: Set AUTH__ENABLED=true + OAuth credentials
14
+ # - Observability: Set OTEL__ENABLED=true / PHOENIX__ENABLED=true
15
+
16
+ # =============================================================================
17
+ # Development Settings
18
+ # =============================================================================
19
+ # Skip loading ~/.rem/config.yaml (use .env only for development)
20
+ # This prevents conflicts between user config and development .env
21
+ REM_SKIP_CONFIG_FILE=true
22
+
23
+ # =============================================================================
24
+ # API Server Settings
25
+ # =============================================================================
26
+ API__HOST=0.0.0.0
27
+ API__PORT=8000
28
+ API__RELOAD=true
29
+ API__LOG_LEVEL=info
30
+
31
+ # --- API Key Authentication ---
32
+ # Simple API key auth for programmatic access (independent of OAuth)
33
+ # When enabled, all /api/v1/* requests must include X-API-Key header
34
+ # Generate key: python -c "import secrets; print(secrets.token_urlsafe(32))"
35
+ API__API_KEY_ENABLED=false
36
+ API__API_KEY=
37
+
38
+ # =============================================================================
39
+ # LLM Provider Settings
40
+ # =============================================================================
41
+ LLM__DEFAULT_MODEL=openai:gpt-4.1
42
+ LLM__DEFAULT_TEMPERATURE=0.5
43
+ LLM__MAX_RETRIES=10
44
+
45
+ # Optional: Override models for specific tasks
46
+ # LLM__EVALUATOR_MODEL=gpt-4.1
47
+ # LLM__QUERY_AGENT_MODEL=gpt-4.1-mini
48
+
49
+ # API Keys (required for LLM providers)
50
+ LLM__OPENAI_API_KEY=
51
+ LLM__ANTHROPIC_API_KEY=
52
+
53
+ # =============================================================================
54
+ # Database Settings (PostgreSQL 18 with pgvector)
55
+ # =============================================================================
56
+ # Docker Compose uses port 5050, change to 5432 for CloudNativePG/RDS
57
+ POSTGRES__CONNECTION_STRING=postgresql://rem:rem@localhost:5050/rem
58
+ POSTGRES__POOL_MIN_SIZE=5
59
+ POSTGRES__POOL_MAX_SIZE=20
60
+ POSTGRES__POOL_TIMEOUT=30
61
+ POSTGRES__STATEMENT_TIMEOUT=30000
62
+
63
+ # =============================================================================
64
+ # Authentication Settings (OAuth 2.1 / OIDC)
65
+ # =============================================================================
66
+ AUTH__ENABLED=false
67
+ AUTH__SESSION_SECRET=
68
+
69
+ # --- Google OAuth ---
70
+ AUTH__GOOGLE__CLIENT_ID=
71
+ AUTH__GOOGLE__CLIENT_SECRET=
72
+ AUTH__GOOGLE__REDIRECT_URI=http://localhost:8000/api/auth/google/callback
73
+ # AUTH__GOOGLE__HOSTED_DOMAIN=example.com
74
+
75
+ # --- Microsoft Entra ID OAuth ---
76
+ AUTH__MICROSOFT__CLIENT_ID=
77
+ AUTH__MICROSOFT__CLIENT_SECRET=
78
+ AUTH__MICROSOFT__REDIRECT_URI=http://localhost:8000/api/auth/microsoft/callback
79
+ AUTH__MICROSOFT__TENANT=common
80
+
81
+ # =============================================================================
82
+ # Email Settings (Passwordless Login)
83
+ # =============================================================================
84
+ # Email login uses verification codes - no password required
85
+ # Supports Gmail SMTP with App Passwords by default
86
+ # Generate app password at: https://myaccount.google.com/apppasswords
87
+ EMAIL__ENABLED=false
88
+ EMAIL__SMTP_HOST=smtp.gmail.com
89
+ EMAIL__SMTP_PORT=587
90
+ EMAIL__SENDER_EMAIL=
91
+ EMAIL__SENDER_NAME=REM
92
+ EMAIL__APP_PASSWORD=
93
+ EMAIL__LOGIN_CODE_EXPIRY_MINUTES=10
94
+
95
+ # =============================================================================
96
+ # OpenTelemetry Settings
97
+ # =============================================================================
98
+ OTEL__ENABLED=false
99
+ OTEL__SERVICE_NAME=rem-api
100
+ OTEL__COLLECTOR_ENDPOINT=http://localhost:4318
101
+ OTEL__PROTOCOL=http
102
+ OTEL__EXPORT_TIMEOUT=10000
103
+
104
+ # =============================================================================
105
+ # Arize Phoenix Settings (LLM Observability)
106
+ # =============================================================================
107
+ PHOENIX__ENABLED=false
108
+ PHOENIX__API_KEY=
109
+ PHOENIX__COLLECTOR_ENDPOINT=http://localhost:6006/v1/traces
110
+ PHOENIX__PROJECT_NAME=rem
111
+
112
+ # =============================================================================
113
+ # Filesystem Settings
114
+ # =============================================================================
115
+ # REM_HOME is the base directory for local filesystem storage
116
+ # Defaults to ~/.rem if not set
117
+ # Local paths: $REM_HOME/fs/rem/v1/uploads/...
118
+ REM_HOME=~/.rem
119
+
120
+ # =============================================================================
121
+ # S3 Storage Settings
122
+ # =============================================================================
123
+ # For AWS S3 (production with IRSA)
124
+ S3__BUCKET_NAME=rem-io-staging
125
+ S3__REGION=us-east-1
126
+
127
+ # Path structure version and prefixes
128
+ S3__VERSION=v1
129
+ S3__UPLOADS_PREFIX=uploads
130
+ S3__PARSED_PREFIX=parsed
131
+
132
+ # Convention:
133
+ # Uploads: s3://{bucket}/{version}/uploads/user-123/2025/01/19/file.pdf
134
+ # Parsed: s3://{bucket}/{version}/parsed/user-123/2025/01/19/file.pdf/content.md
135
+
136
+ # For MinIO (local development)
137
+ # S3__ENDPOINT_URL=http://localhost:9000
138
+ # S3__ACCESS_KEY_ID=minioadmin
139
+ # S3__SECRET_ACCESS_KEY=minioadmin
140
+ # S3__USE_SSL=false
141
+
142
+ # =============================================================================
143
+ # Content Processing Settings
144
+ # =============================================================================
145
+
146
+ # --- Document Chunking ---
147
+ CHUNKING__CHUNK_SIZE=1500
148
+ CHUNKING__OVERLAP=200
149
+ CHUNKING__MIN_CHUNK_SIZE=100
150
+ CHUNKING__MAX_CHUNK_SIZE=2500
151
+
152
+ # --- Vision LLM (Image Analysis) ---
153
+ # Expensive - tier-gated or sampled
154
+ CONTENT__IMAGE_VLLM_PROVIDER=anthropic
155
+ CONTENT__IMAGE_VLLM_MODEL=
156
+ CONTENT__IMAGE_VLLM_SAMPLE_RATE=0.0
157
+
158
+ # --- CLIP Embeddings (Image Search) ---
159
+ # Cheap - always-on when key provided (~$0.00008 per image)
160
+ CONTENT__CLIP_PROVIDER=jina
161
+ CONTENT__CLIP_MODEL=jina-clip-v2
162
+ CONTENT__JINA_API_KEY=
163
+
164
+ # =============================================================================
165
+ # SQS Queue Settings (File Processing)
166
+ # =============================================================================
167
+ # Queue URL from Pulumi output (manifests/infra/file-queue)
168
+ SQS__QUEUE_URL=https://sqs.us-east-1.amazonaws.com/ACCOUNT_ID/rem-file-processing
169
+ SQS__REGION=us-east-1
170
+ SQS__MAX_MESSAGES=10
171
+ SQS__WAIT_TIME_SECONDS=20
172
+ SQS__VISIBILITY_TIMEOUT=300
173
+
174
+ # =============================================================================
175
+ # MCP Server Settings
176
+ # =============================================================================
177
+ # MCP_SERVER_TEST=http://localhost:8000/api/v1/mcp
178
+ # MCP_SERVER_PROD=https://api.example.com/api/v1/mcp
179
+
180
+ # =============================================================================
181
+ # Application Settings
182
+ # =============================================================================
183
+ ENVIRONMENT=development
184
+ TEAM=rem
185
+ # DOMAIN=https://api.example.com
186
+ # ROOT_PATH=/rem