@debian777/kairos-mcp 3.0.1-beta.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +108 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/cli/api-client.d.ts +31 -0
  5. package/dist/cli/api-client.d.ts.map +1 -0
  6. package/dist/cli/api-client.js +110 -0
  7. package/dist/cli/api-client.js.map +1 -0
  8. package/dist/cli/commands/attest.d.ts +6 -0
  9. package/dist/cli/commands/attest.d.ts.map +1 -0
  10. package/dist/cli/commands/attest.js +52 -0
  11. package/dist/cli/commands/attest.js.map +1 -0
  12. package/dist/cli/commands/begin.d.ts +6 -0
  13. package/dist/cli/commands/begin.d.ts.map +1 -0
  14. package/dist/cli/commands/begin.js +32 -0
  15. package/dist/cli/commands/begin.js.map +1 -0
  16. package/dist/cli/commands/delete.d.ts +6 -0
  17. package/dist/cli/commands/delete.d.ts.map +1 -0
  18. package/dist/cli/commands/delete.js +32 -0
  19. package/dist/cli/commands/delete.js.map +1 -0
  20. package/dist/cli/commands/mint.d.ts +6 -0
  21. package/dist/cli/commands/mint.d.ts.map +1 -0
  22. package/dist/cli/commands/mint.js +48 -0
  23. package/dist/cli/commands/mint.js.map +1 -0
  24. package/dist/cli/commands/next.d.ts +6 -0
  25. package/dist/cli/commands/next.d.ts.map +1 -0
  26. package/dist/cli/commands/next.js +89 -0
  27. package/dist/cli/commands/next.js.map +1 -0
  28. package/dist/cli/commands/search.d.ts +6 -0
  29. package/dist/cli/commands/search.d.ts.map +1 -0
  30. package/dist/cli/commands/search.js +32 -0
  31. package/dist/cli/commands/search.js.map +1 -0
  32. package/dist/cli/commands/update.d.ts +6 -0
  33. package/dist/cli/commands/update.d.ts.map +1 -0
  34. package/dist/cli/commands/update.js +72 -0
  35. package/dist/cli/commands/update.js.map +1 -0
  36. package/dist/cli/config.d.ts +9 -0
  37. package/dist/cli/config.d.ts.map +1 -0
  38. package/dist/cli/config.js +14 -0
  39. package/dist/cli/config.js.map +1 -0
  40. package/dist/cli/index.d.ts +6 -0
  41. package/dist/cli/index.d.ts.map +1 -0
  42. package/dist/cli/index.js +40 -0
  43. package/dist/cli/index.js.map +1 -0
  44. package/dist/cli/output.d.ts +10 -0
  45. package/dist/cli/output.d.ts.map +1 -0
  46. package/dist/cli/output.js +20 -0
  47. package/dist/cli/output.js.map +1 -0
  48. package/dist/config.d.ts +58 -0
  49. package/dist/config.d.ts.map +1 -0
  50. package/dist/config.js +165 -0
  51. package/dist/config.js.map +1 -0
  52. package/dist/embed-docs/mem/00000000-0000-0000-0000-000000002001.md +324 -0
  53. package/dist/embed-docs/mem/00000000-0000-0000-0000-000000002002.md +48 -0
  54. package/dist/http/bearer-validate.d.ts +14 -0
  55. package/dist/http/bearer-validate.d.ts.map +1 -0
  56. package/dist/http/bearer-validate.js +111 -0
  57. package/dist/http/bearer-validate.js.map +1 -0
  58. package/dist/http/http-api-attest.d.ts +7 -0
  59. package/dist/http/http-api-attest.d.ts.map +1 -0
  60. package/dist/http/http-api-attest.js +103 -0
  61. package/dist/http/http-api-attest.js.map +1 -0
  62. package/dist/http/http-api-begin-step.d.ts +8 -0
  63. package/dist/http/http-api-begin-step.d.ts.map +1 -0
  64. package/dist/http/http-api-begin-step.js +108 -0
  65. package/dist/http/http-api-begin-step.js.map +1 -0
  66. package/dist/http/http-api-begin.d.ts +8 -0
  67. package/dist/http/http-api-begin.d.ts.map +1 -0
  68. package/dist/http/http-api-begin.js +167 -0
  69. package/dist/http/http-api-begin.js.map +1 -0
  70. package/dist/http/http-api-delete.d.ts +9 -0
  71. package/dist/http/http-api-delete.d.ts.map +1 -0
  72. package/dist/http/http-api-delete.js +67 -0
  73. package/dist/http/http-api-delete.js.map +1 -0
  74. package/dist/http/http-api-dump.d.ts +8 -0
  75. package/dist/http/http-api-dump.d.ts.map +1 -0
  76. package/dist/http/http-api-dump.js +34 -0
  77. package/dist/http/http-api-dump.js.map +1 -0
  78. package/dist/http/http-api-mint.d.ts +9 -0
  79. package/dist/http/http-api-mint.d.ts.map +1 -0
  80. package/dist/http/http-api-mint.js +100 -0
  81. package/dist/http/http-api-mint.js.map +1 -0
  82. package/dist/http/http-api-next.d.ts +9 -0
  83. package/dist/http/http-api-next.d.ts.map +1 -0
  84. package/dist/http/http-api-next.js +237 -0
  85. package/dist/http/http-api-next.js.map +1 -0
  86. package/dist/http/http-api-routes.d.ts +13 -0
  87. package/dist/http/http-api-routes.d.ts.map +1 -0
  88. package/dist/http/http-api-routes.js +28 -0
  89. package/dist/http/http-api-routes.js.map +1 -0
  90. package/dist/http/http-api-snapshot.d.ts +4 -0
  91. package/dist/http/http-api-snapshot.d.ts.map +1 -0
  92. package/dist/http/http-api-snapshot.js +36 -0
  93. package/dist/http/http-api-snapshot.js.map +1 -0
  94. package/dist/http/http-api-update.d.ts +9 -0
  95. package/dist/http/http-api-update.d.ts.map +1 -0
  96. package/dist/http/http-api-update.js +105 -0
  97. package/dist/http/http-api-update.js.map +1 -0
  98. package/dist/http/http-auth-callback.d.ts +6 -0
  99. package/dist/http/http-auth-callback.d.ts.map +1 -0
  100. package/dist/http/http-auth-callback.js +183 -0
  101. package/dist/http/http-auth-callback.js.map +1 -0
  102. package/dist/http/http-auth-middleware.d.ts +30 -0
  103. package/dist/http/http-auth-middleware.d.ts.map +1 -0
  104. package/dist/http/http-auth-middleware.js +224 -0
  105. package/dist/http/http-auth-middleware.js.map +1 -0
  106. package/dist/http/http-error-handlers.d.ts +7 -0
  107. package/dist/http/http-error-handlers.d.ts.map +1 -0
  108. package/dist/http/http-error-handlers.js +35 -0
  109. package/dist/http/http-error-handlers.js.map +1 -0
  110. package/dist/http/http-health-routes.d.ts +9 -0
  111. package/dist/http/http-health-routes.d.ts.map +1 -0
  112. package/dist/http/http-health-routes.js +117 -0
  113. package/dist/http/http-health-routes.js.map +1 -0
  114. package/dist/http/http-mcp-handler.d.ts +8 -0
  115. package/dist/http/http-mcp-handler.d.ts.map +1 -0
  116. package/dist/http/http-mcp-handler.js +136 -0
  117. package/dist/http/http-mcp-handler.js.map +1 -0
  118. package/dist/http/http-metrics-middleware.d.ts +7 -0
  119. package/dist/http/http-metrics-middleware.d.ts.map +1 -0
  120. package/dist/http/http-metrics-middleware.js +56 -0
  121. package/dist/http/http-metrics-middleware.js.map +1 -0
  122. package/dist/http/http-server-config.d.ts +11 -0
  123. package/dist/http/http-server-config.d.ts.map +1 -0
  124. package/dist/http/http-server-config.js +15 -0
  125. package/dist/http/http-server-config.js.map +1 -0
  126. package/dist/http/http-server-startup.d.ts +9 -0
  127. package/dist/http/http-server-startup.d.ts.map +1 -0
  128. package/dist/http/http-server-startup.js +26 -0
  129. package/dist/http/http-server-startup.js.map +1 -0
  130. package/dist/http/http-server.d.ts +4 -0
  131. package/dist/http/http-server.d.ts.map +1 -0
  132. package/dist/http/http-server.js +39 -0
  133. package/dist/http/http-server.js.map +1 -0
  134. package/dist/http/http-well-known.d.ts +13 -0
  135. package/dist/http/http-well-known.d.ts.map +1 -0
  136. package/dist/http/http-well-known.js +32 -0
  137. package/dist/http/http-well-known.js.map +1 -0
  138. package/dist/index.d.ts +7 -0
  139. package/dist/index.d.ts.map +1 -0
  140. package/dist/index.js +100 -0
  141. package/dist/index.js.map +1 -0
  142. package/dist/metrics-server.d.ts +14 -0
  143. package/dist/metrics-server.d.ts.map +1 -0
  144. package/dist/metrics-server.js +41 -0
  145. package/dist/metrics-server.js.map +1 -0
  146. package/dist/resources/docs-resources.d.ts +2 -0
  147. package/dist/resources/docs-resources.d.ts.map +1 -0
  148. package/dist/resources/docs-resources.js +47 -0
  149. package/dist/resources/docs-resources.js.map +1 -0
  150. package/dist/resources/embedded-mcp-resources.d.ts +73 -0
  151. package/dist/resources/embedded-mcp-resources.d.ts.map +1 -0
  152. package/dist/resources/embedded-mcp-resources.js +132 -0
  153. package/dist/resources/embedded-mcp-resources.js.map +1 -0
  154. package/dist/resources/mem-resources-boot.d.ts +10 -0
  155. package/dist/resources/mem-resources-boot.d.ts.map +1 -0
  156. package/dist/resources/mem-resources-boot.js +164 -0
  157. package/dist/resources/mem-resources-boot.js.map +1 -0
  158. package/dist/resources/prompt-resources.d.ts +5 -0
  159. package/dist/resources/prompt-resources.d.ts.map +1 -0
  160. package/dist/resources/prompt-resources.js +42 -0
  161. package/dist/resources/prompt-resources.js.map +1 -0
  162. package/dist/resources/resource-bootstrap.d.ts +7 -0
  163. package/dist/resources/resource-bootstrap.d.ts.map +1 -0
  164. package/dist/resources/resource-bootstrap.js +33 -0
  165. package/dist/resources/resource-bootstrap.js.map +1 -0
  166. package/dist/server.d.ts +4 -0
  167. package/dist/server.d.ts.map +1 -0
  168. package/dist/server.js +79 -0
  169. package/dist/server.js.map +1 -0
  170. package/dist/services/chain-utils.d.ts +22 -0
  171. package/dist/services/chain-utils.d.ts.map +1 -0
  172. package/dist/services/chain-utils.js +95 -0
  173. package/dist/services/chain-utils.js.map +1 -0
  174. package/dist/services/code-block-processor.d.ts +40 -0
  175. package/dist/services/code-block-processor.d.ts.map +1 -0
  176. package/dist/services/code-block-processor.js +169 -0
  177. package/dist/services/code-block-processor.js.map +1 -0
  178. package/dist/services/embedding/config.d.ts +5 -0
  179. package/dist/services/embedding/config.d.ts.map +1 -0
  180. package/dist/services/embedding/config.js +13 -0
  181. package/dist/services/embedding/config.js.map +1 -0
  182. package/dist/services/embedding/providers.d.ts +5 -0
  183. package/dist/services/embedding/providers.d.ts.map +1 -0
  184. package/dist/services/embedding/providers.js +141 -0
  185. package/dist/services/embedding/providers.js.map +1 -0
  186. package/dist/services/embedding/service.d.ts +39 -0
  187. package/dist/services/embedding/service.d.ts.map +1 -0
  188. package/dist/services/embedding/service.js +302 -0
  189. package/dist/services/embedding/service.js.map +1 -0
  190. package/dist/services/embedding/types.d.ts +17 -0
  191. package/dist/services/embedding/types.d.ts.map +1 -0
  192. package/dist/services/embedding/types.js +2 -0
  193. package/dist/services/embedding/types.js.map +1 -0
  194. package/dist/services/id-generator.d.ts +63 -0
  195. package/dist/services/id-generator.d.ts.map +1 -0
  196. package/dist/services/id-generator.js +101 -0
  197. package/dist/services/id-generator.js.map +1 -0
  198. package/dist/services/key-value-store-factory.d.ts +7 -0
  199. package/dist/services/key-value-store-factory.d.ts.map +1 -0
  200. package/dist/services/key-value-store-factory.js +15 -0
  201. package/dist/services/key-value-store-factory.js.map +1 -0
  202. package/dist/services/key-value-store.d.ts +24 -0
  203. package/dist/services/key-value-store.d.ts.map +1 -0
  204. package/dist/services/key-value-store.js +6 -0
  205. package/dist/services/key-value-store.js.map +1 -0
  206. package/dist/services/memory/chain-builder-proof.d.ts +18 -0
  207. package/dist/services/memory/chain-builder-proof.d.ts.map +1 -0
  208. package/dist/services/memory/chain-builder-proof.js +78 -0
  209. package/dist/services/memory/chain-builder-proof.js.map +1 -0
  210. package/dist/services/memory/chain-builder.d.ts +4 -0
  211. package/dist/services/memory/chain-builder.d.ts.map +1 -0
  212. package/dist/services/memory/chain-builder.js +185 -0
  213. package/dist/services/memory/chain-builder.js.map +1 -0
  214. package/dist/services/memory/store-chain-default-handler.d.ts +9 -0
  215. package/dist/services/memory/store-chain-default-handler.d.ts.map +1 -0
  216. package/dist/services/memory/store-chain-default-handler.js +118 -0
  217. package/dist/services/memory/store-chain-default-handler.js.map +1 -0
  218. package/dist/services/memory/store-chain-header-handler.d.ts +8 -0
  219. package/dist/services/memory/store-chain-header-handler.d.ts.map +1 -0
  220. package/dist/services/memory/store-chain-header-handler.js +98 -0
  221. package/dist/services/memory/store-chain-header-handler.js.map +1 -0
  222. package/dist/services/memory/store-chain-helpers.d.ts +27 -0
  223. package/dist/services/memory/store-chain-helpers.d.ts.map +1 -0
  224. package/dist/services/memory/store-chain-helpers.js +102 -0
  225. package/dist/services/memory/store-chain-helpers.js.map +1 -0
  226. package/dist/services/memory/store-chain.d.ts +15 -0
  227. package/dist/services/memory/store-chain.d.ts.map +1 -0
  228. package/dist/services/memory/store-chain.js +56 -0
  229. package/dist/services/memory/store-chain.js.map +1 -0
  230. package/dist/services/memory/store-init.d.ts +3 -0
  231. package/dist/services/memory/store-init.d.ts.map +1 -0
  232. package/dist/services/memory/store-init.js +127 -0
  233. package/dist/services/memory/store-init.js.map +1 -0
  234. package/dist/services/memory/store-methods.d.ts +35 -0
  235. package/dist/services/memory/store-methods.d.ts.map +1 -0
  236. package/dist/services/memory/store-methods.js +308 -0
  237. package/dist/services/memory/store-methods.js.map +1 -0
  238. package/dist/services/memory/store.d.ts +36 -0
  239. package/dist/services/memory/store.d.ts.map +1 -0
  240. package/dist/services/memory/store.js +119 -0
  241. package/dist/services/memory/store.js.map +1 -0
  242. package/dist/services/memory-store.d.ts +33 -0
  243. package/dist/services/memory-store.d.ts.map +1 -0
  244. package/dist/services/memory-store.js +158 -0
  245. package/dist/services/memory-store.js.map +1 -0
  246. package/dist/services/metrics/agent-metrics.d.ts +12 -0
  247. package/dist/services/metrics/agent-metrics.d.ts.map +1 -0
  248. package/dist/services/metrics/agent-metrics.js +34 -0
  249. package/dist/services/metrics/agent-metrics.js.map +1 -0
  250. package/dist/services/metrics/embedding-metrics.d.ts +12 -0
  251. package/dist/services/metrics/embedding-metrics.d.ts.map +1 -0
  252. package/dist/services/metrics/embedding-metrics.js +41 -0
  253. package/dist/services/metrics/embedding-metrics.js.map +1 -0
  254. package/dist/services/metrics/http-metrics.d.ts +12 -0
  255. package/dist/services/metrics/http-metrics.d.ts.map +1 -0
  256. package/dist/services/metrics/http-metrics.js +41 -0
  257. package/dist/services/metrics/http-metrics.js.map +1 -0
  258. package/dist/services/metrics/mcp-metrics.d.ts +16 -0
  259. package/dist/services/metrics/mcp-metrics.d.ts.map +1 -0
  260. package/dist/services/metrics/mcp-metrics.js +55 -0
  261. package/dist/services/metrics/mcp-metrics.js.map +1 -0
  262. package/dist/services/metrics/memory-metrics.d.ts +10 -0
  263. package/dist/services/metrics/memory-metrics.d.ts.map +1 -0
  264. package/dist/services/metrics/memory-metrics.js +28 -0
  265. package/dist/services/metrics/memory-metrics.js.map +1 -0
  266. package/dist/services/metrics/qdrant-metrics.d.ts +11 -0
  267. package/dist/services/metrics/qdrant-metrics.d.ts.map +1 -0
  268. package/dist/services/metrics/qdrant-metrics.js +35 -0
  269. package/dist/services/metrics/qdrant-metrics.js.map +1 -0
  270. package/dist/services/metrics/registry.d.ts +9 -0
  271. package/dist/services/metrics/registry.d.ts.map +1 -0
  272. package/dist/services/metrics/registry.js +19 -0
  273. package/dist/services/metrics/registry.js.map +1 -0
  274. package/dist/services/metrics/system-metrics.d.ts +10 -0
  275. package/dist/services/metrics/system-metrics.d.ts.map +1 -0
  276. package/dist/services/metrics/system-metrics.js +35 -0
  277. package/dist/services/metrics/system-metrics.js.map +1 -0
  278. package/dist/services/proof-of-work-store.d.ts +66 -0
  279. package/dist/services/proof-of-work-store.d.ts.map +1 -0
  280. package/dist/services/proof-of-work-store.js +141 -0
  281. package/dist/services/proof-of-work-store.js.map +1 -0
  282. package/dist/services/qdrant/connection.d.ts +24 -0
  283. package/dist/services/qdrant/connection.d.ts.map +1 -0
  284. package/dist/services/qdrant/connection.js +126 -0
  285. package/dist/services/qdrant/connection.js.map +1 -0
  286. package/dist/services/qdrant/index.d.ts +3 -0
  287. package/dist/services/qdrant/index.d.ts.map +1 -0
  288. package/dist/services/qdrant/index.js +4 -0
  289. package/dist/services/qdrant/index.js.map +1 -0
  290. package/dist/services/qdrant/initialization.d.ts +25 -0
  291. package/dist/services/qdrant/initialization.d.ts.map +1 -0
  292. package/dist/services/qdrant/initialization.js +170 -0
  293. package/dist/services/qdrant/initialization.js.map +1 -0
  294. package/dist/services/qdrant/listing.d.ts +26 -0
  295. package/dist/services/qdrant/listing.d.ts.map +1 -0
  296. package/dist/services/qdrant/listing.js +88 -0
  297. package/dist/services/qdrant/listing.js.map +1 -0
  298. package/dist/services/qdrant/memory-retrieval.d.ts +14 -0
  299. package/dist/services/qdrant/memory-retrieval.d.ts.map +1 -0
  300. package/dist/services/qdrant/memory-retrieval.js +110 -0
  301. package/dist/services/qdrant/memory-retrieval.js.map +1 -0
  302. package/dist/services/qdrant/memory-store.d.ts +16 -0
  303. package/dist/services/qdrant/memory-store.d.ts.map +1 -0
  304. package/dist/services/qdrant/memory-store.js +108 -0
  305. package/dist/services/qdrant/memory-store.js.map +1 -0
  306. package/dist/services/qdrant/memory-updates.d.ts +8 -0
  307. package/dist/services/qdrant/memory-updates.d.ts.map +1 -0
  308. package/dist/services/qdrant/memory-updates.js +206 -0
  309. package/dist/services/qdrant/memory-updates.js.map +1 -0
  310. package/dist/services/qdrant/protocol.d.ts +16 -0
  311. package/dist/services/qdrant/protocol.d.ts.map +1 -0
  312. package/dist/services/qdrant/protocol.js +48 -0
  313. package/dist/services/qdrant/protocol.js.map +1 -0
  314. package/dist/services/qdrant/quality.d.ts +14 -0
  315. package/dist/services/qdrant/quality.d.ts.map +1 -0
  316. package/dist/services/qdrant/quality.js +101 -0
  317. package/dist/services/qdrant/quality.js.map +1 -0
  318. package/dist/services/qdrant/resources.d.ts +7 -0
  319. package/dist/services/qdrant/resources.d.ts.map +1 -0
  320. package/dist/services/qdrant/resources.js +108 -0
  321. package/dist/services/qdrant/resources.js.map +1 -0
  322. package/dist/services/qdrant/search.d.ts +22 -0
  323. package/dist/services/qdrant/search.d.ts.map +1 -0
  324. package/dist/services/qdrant/search.js +75 -0
  325. package/dist/services/qdrant/search.js.map +1 -0
  326. package/dist/services/qdrant/service.d.ts +90 -0
  327. package/dist/services/qdrant/service.d.ts.map +1 -0
  328. package/dist/services/qdrant/service.js +95 -0
  329. package/dist/services/qdrant/service.js.map +1 -0
  330. package/dist/services/qdrant/snapshots.d.ts +19 -0
  331. package/dist/services/qdrant/snapshots.d.ts.map +1 -0
  332. package/dist/services/qdrant/snapshots.js +130 -0
  333. package/dist/services/qdrant/snapshots.js.map +1 -0
  334. package/dist/services/qdrant/types.d.ts +39 -0
  335. package/dist/services/qdrant/types.d.ts.map +1 -0
  336. package/dist/services/qdrant/types.js +2 -0
  337. package/dist/services/qdrant/types.js.map +1 -0
  338. package/dist/services/qdrant/utils.d.ts +20 -0
  339. package/dist/services/qdrant/utils.d.ts.map +1 -0
  340. package/dist/services/qdrant/utils.js +121 -0
  341. package/dist/services/qdrant/utils.js.map +1 -0
  342. package/dist/services/redis-cache.d.ts +43 -0
  343. package/dist/services/redis-cache.d.ts.map +1 -0
  344. package/dist/services/redis-cache.js +214 -0
  345. package/dist/services/redis-cache.js.map +1 -0
  346. package/dist/services/redis.d.ts +43 -0
  347. package/dist/services/redis.d.ts.map +1 -0
  348. package/dist/services/redis.js +234 -0
  349. package/dist/services/redis.js.map +1 -0
  350. package/dist/services/stats/bonuses.d.ts +28 -0
  351. package/dist/services/stats/bonuses.d.ts.map +1 -0
  352. package/dist/services/stats/bonuses.js +96 -0
  353. package/dist/services/stats/bonuses.js.map +1 -0
  354. package/dist/services/stats/healer.d.ts +6 -0
  355. package/dist/services/stats/healer.d.ts.map +1 -0
  356. package/dist/services/stats/healer.js +24 -0
  357. package/dist/services/stats/healer.js.map +1 -0
  358. package/dist/services/stats/model-stats.d.ts +53 -0
  359. package/dist/services/stats/model-stats.d.ts.map +1 -0
  360. package/dist/services/stats/model-stats.js +238 -0
  361. package/dist/services/stats/model-stats.js.map +1 -0
  362. package/dist/services/stats/protocol.d.ts +11 -0
  363. package/dist/services/stats/protocol.d.ts.map +1 -0
  364. package/dist/services/stats/protocol.js +55 -0
  365. package/dist/services/stats/protocol.js.map +1 -0
  366. package/dist/services/stats/scoring.d.ts +19 -0
  367. package/dist/services/stats/scoring.d.ts.map +1 -0
  368. package/dist/services/stats/scoring.js +102 -0
  369. package/dist/services/stats/scoring.js.map +1 -0
  370. package/dist/services/stats/types.d.ts +39 -0
  371. package/dist/services/stats/types.d.ts.map +1 -0
  372. package/dist/services/stats/types.js +8 -0
  373. package/dist/services/stats/types.js.map +1 -0
  374. package/dist/tools/kairos_attest.d.ts +7 -0
  375. package/dist/tools/kairos_attest.d.ts.map +1 -0
  376. package/dist/tools/kairos_attest.js +179 -0
  377. package/dist/tools/kairos_attest.js.map +1 -0
  378. package/dist/tools/kairos_begin.d.ts +9 -0
  379. package/dist/tools/kairos_begin.d.ts.map +1 -0
  380. package/dist/tools/kairos_begin.js +149 -0
  381. package/dist/tools/kairos_begin.js.map +1 -0
  382. package/dist/tools/kairos_begin_schema.d.ts +48 -0
  383. package/dist/tools/kairos_begin_schema.d.ts.map +1 -0
  384. package/dist/tools/kairos_begin_schema.js +48 -0
  385. package/dist/tools/kairos_begin_schema.js.map +1 -0
  386. package/dist/tools/kairos_delete.d.ts +2 -0
  387. package/dist/tools/kairos_delete.d.ts.map +1 -0
  388. package/dist/tools/kairos_delete.js +113 -0
  389. package/dist/tools/kairos_delete.js.map +1 -0
  390. package/dist/tools/kairos_dump.d.ts +14 -0
  391. package/dist/tools/kairos_dump.d.ts.map +1 -0
  392. package/dist/tools/kairos_dump.js +148 -0
  393. package/dist/tools/kairos_dump.js.map +1 -0
  394. package/dist/tools/kairos_mint.d.ts +7 -0
  395. package/dist/tools/kairos_mint.d.ts.map +1 -0
  396. package/dist/tools/kairos_mint.js +233 -0
  397. package/dist/tools/kairos_mint.js.map +1 -0
  398. package/dist/tools/kairos_next-missing-proof-payload.d.ts +24 -0
  399. package/dist/tools/kairos_next-missing-proof-payload.d.ts.map +1 -0
  400. package/dist/tools/kairos_next-missing-proof-payload.js +32 -0
  401. package/dist/tools/kairos_next-missing-proof-payload.js.map +1 -0
  402. package/dist/tools/kairos_next-pow-helpers.d.ts +57 -0
  403. package/dist/tools/kairos_next-pow-helpers.d.ts.map +1 -0
  404. package/dist/tools/kairos_next-pow-helpers.js +271 -0
  405. package/dist/tools/kairos_next-pow-helpers.js.map +1 -0
  406. package/dist/tools/kairos_next-previous-step.d.ts +36 -0
  407. package/dist/tools/kairos_next-previous-step.d.ts.map +1 -0
  408. package/dist/tools/kairos_next-previous-step.js +121 -0
  409. package/dist/tools/kairos_next-previous-step.js.map +1 -0
  410. package/dist/tools/kairos_next.d.ts +12 -0
  411. package/dist/tools/kairos_next.d.ts.map +1 -0
  412. package/dist/tools/kairos_next.js +285 -0
  413. package/dist/tools/kairos_next.js.map +1 -0
  414. package/dist/tools/kairos_next_schema.d.ts +80 -0
  415. package/dist/tools/kairos_next_schema.d.ts.map +1 -0
  416. package/dist/tools/kairos_next_schema.js +82 -0
  417. package/dist/tools/kairos_next_schema.js.map +1 -0
  418. package/dist/tools/kairos_search.d.ts +15 -0
  419. package/dist/tools/kairos_search.d.ts.map +1 -0
  420. package/dist/tools/kairos_search.js +262 -0
  421. package/dist/tools/kairos_search.js.map +1 -0
  422. package/dist/tools/kairos_spaces.d.ts +10 -0
  423. package/dist/tools/kairos_spaces.d.ts.map +1 -0
  424. package/dist/tools/kairos_spaces.js +129 -0
  425. package/dist/tools/kairos_spaces.js.map +1 -0
  426. package/dist/tools/kairos_update.d.ts +2 -0
  427. package/dist/tools/kairos_update.d.ts.map +1 -0
  428. package/dist/tools/kairos_update.js +158 -0
  429. package/dist/tools/kairos_update.js.map +1 -0
  430. package/dist/types/index.d.ts +60 -0
  431. package/dist/types/index.d.ts.map +1 -0
  432. package/dist/types/index.js +21 -0
  433. package/dist/types/index.js.map +1 -0
  434. package/dist/types/memory.d.ts +38 -0
  435. package/dist/types/memory.d.ts.map +1 -0
  436. package/dist/types/memory.js +2 -0
  437. package/dist/types/memory.js.map +1 -0
  438. package/dist/utils/build-version.d.ts +15 -0
  439. package/dist/utils/build-version.d.ts.map +1 -0
  440. package/dist/utils/build-version.js +46 -0
  441. package/dist/utils/build-version.js.map +1 -0
  442. package/dist/utils/global-error-handlers.d.ts +7 -0
  443. package/dist/utils/global-error-handlers.d.ts.map +1 -0
  444. package/dist/utils/global-error-handlers.js +61 -0
  445. package/dist/utils/global-error-handlers.js.map +1 -0
  446. package/dist/utils/log-core.d.ts +11 -0
  447. package/dist/utils/log-core.d.ts.map +1 -0
  448. package/dist/utils/log-core.js +78 -0
  449. package/dist/utils/log-core.js.map +1 -0
  450. package/dist/utils/logger.d.ts +22 -0
  451. package/dist/utils/logger.d.ts.map +1 -0
  452. package/dist/utils/logger.js +63 -0
  453. package/dist/utils/logger.js.map +1 -0
  454. package/dist/utils/memory-body.d.ts +6 -0
  455. package/dist/utils/memory-body.d.ts.map +1 -0
  456. package/dist/utils/memory-body.js +21 -0
  457. package/dist/utils/memory-body.js.map +1 -0
  458. package/dist/utils/memory-store-utils.d.ts +14 -0
  459. package/dist/utils/memory-store-utils.d.ts.map +1 -0
  460. package/dist/utils/memory-store-utils.js +83 -0
  461. package/dist/utils/memory-store-utils.js.map +1 -0
  462. package/dist/utils/qdrant-collection-utils.d.ts +11 -0
  463. package/dist/utils/qdrant-collection-utils.d.ts.map +1 -0
  464. package/dist/utils/qdrant-collection-utils.js +62 -0
  465. package/dist/utils/qdrant-collection-utils.js.map +1 -0
  466. package/dist/utils/qdrant-query-utils.d.ts +6 -0
  467. package/dist/utils/qdrant-query-utils.d.ts.map +1 -0
  468. package/dist/utils/qdrant-query-utils.js +23 -0
  469. package/dist/utils/qdrant-query-utils.js.map +1 -0
  470. package/dist/utils/qdrant-utils.d.ts +5 -0
  471. package/dist/utils/qdrant-utils.d.ts.map +1 -0
  472. package/dist/utils/qdrant-utils.js +5 -0
  473. package/dist/utils/qdrant-utils.js.map +1 -0
  474. package/dist/utils/qdrant-vector-management.d.ts +25 -0
  475. package/dist/utils/qdrant-vector-management.d.ts.map +1 -0
  476. package/dist/utils/qdrant-vector-management.js +284 -0
  477. package/dist/utils/qdrant-vector-management.js.map +1 -0
  478. package/dist/utils/qdrant-vector-types.d.ts +35 -0
  479. package/dist/utils/qdrant-vector-types.d.ts.map +1 -0
  480. package/dist/utils/qdrant-vector-types.js +42 -0
  481. package/dist/utils/qdrant-vector-types.js.map +1 -0
  482. package/dist/utils/space-display.d.ts +11 -0
  483. package/dist/utils/space-display.d.ts.map +1 -0
  484. package/dist/utils/space-display.js +25 -0
  485. package/dist/utils/space-display.js.map +1 -0
  486. package/dist/utils/space-filter.d.ts +15 -0
  487. package/dist/utils/space-filter.d.ts.map +1 -0
  488. package/dist/utils/space-filter.js +18 -0
  489. package/dist/utils/space-filter.js.map +1 -0
  490. package/dist/utils/structured-logger.d.ts +41 -0
  491. package/dist/utils/structured-logger.d.ts.map +1 -0
  492. package/dist/utils/structured-logger.js +133 -0
  493. package/dist/utils/structured-logger.js.map +1 -0
  494. package/dist/utils/tenant-context.d.ts +67 -0
  495. package/dist/utils/tenant-context.d.ts.map +1 -0
  496. package/dist/utils/tenant-context.js +154 -0
  497. package/dist/utils/tenant-context.js.map +1 -0
  498. package/dist/utils/uri-builder.d.ts +37 -0
  499. package/dist/utils/uri-builder.d.ts.map +1 -0
  500. package/dist/utils/uri-builder.js +60 -0
  501. package/dist/utils/uri-builder.js.map +1 -0
  502. package/package.json +121 -0
@@ -0,0 +1,302 @@
1
+ /**
2
+ * Embedding Service using OpenAI embeddings
3
+ *
4
+ * Implements pure OpenAI embedding support.
5
+ * Uses environment variables:
6
+ * - OPENAI_API_KEY
7
+ * - OPENAI_EMBEDDING_MODEL
8
+ * - EMBEDDING_DIMENSION
9
+ *
10
+ * Supports OpenAI and TEI (Text Embeddings Inference) providers. Selection:
11
+ * - If OPENAI_API_KEY is set, OpenAI is used.
12
+ * - Otherwise, TEI_BASE_URL + TEI_MODEL will be used if configured.
13
+ */
14
+ import { logger } from '../../utils/logger.js';
15
+ import { EMBEDDING_PROVIDER, OPENAI_API_KEY, TEI_BASE_URL, TEI_MODEL, TEI_API_KEY } from '../../config.js';
16
+ import { DEFAULT_MODEL, DEFAULT_DIMENSION, TEI_EMBEDDING_ENDPOINT } from './config.js';
17
+ import { postEmbeddings, postEmbeddingsOpenAI, postEmbeddingsTEI } from './providers.js';
18
+ import { embeddingRequests, embeddingDuration, embeddingErrors, embeddingVectorSize, embeddingBatchSize } from '../metrics/embedding-metrics.js';
19
+ import { getTenantId } from '../../utils/tenant-context.js';
20
+ export class EmbeddingService {
21
+ embeddingDimension;
22
+ constructor() {
23
+ this.embeddingDimension = DEFAULT_DIMENSION;
24
+ }
25
+ async generateEmbedding(text) {
26
+ const tenantId = getTenantId();
27
+ const provider = this.getProvider();
28
+ const timer = embeddingDuration.startTimer({ provider, tenant_id: tenantId });
29
+ try {
30
+ if (!text || text.trim().length === 0)
31
+ throw new Error('Text cannot be empty for embedding generation');
32
+ const vectors = await postEmbeddings(text.trim());
33
+ const embedding = vectors?.[0];
34
+ if (!Array.isArray(embedding))
35
+ throw new Error('OpenAI returned no embedding');
36
+ if (embedding.length !== this.embeddingDimension)
37
+ throw new Error(`Embedding dimension mismatch: got ${embedding.length}, expected ${this.embeddingDimension}`);
38
+ embeddingRequests.inc({
39
+ provider,
40
+ status: 'success',
41
+ tenant_id: tenantId
42
+ });
43
+ // Track vector size (assuming float32, 4 bytes per float)
44
+ const vectorSize = embedding.length * 4;
45
+ embeddingVectorSize.observe({ provider, tenant_id: tenantId }, vectorSize);
46
+ timer({ provider, tenant_id: tenantId });
47
+ return {
48
+ embedding,
49
+ model: DEFAULT_MODEL,
50
+ usage: { prompt_tokens: 0, total_tokens: 0 },
51
+ };
52
+ }
53
+ catch (error) {
54
+ embeddingRequests.inc({
55
+ provider,
56
+ status: 'error',
57
+ tenant_id: tenantId
58
+ });
59
+ embeddingErrors.inc({
60
+ provider,
61
+ status: 'error',
62
+ tenant_id: tenantId
63
+ });
64
+ timer({ provider, tenant_id: tenantId });
65
+ throw error;
66
+ }
67
+ }
68
+ async generateBatchEmbeddings(texts) {
69
+ const tenantId = getTenantId();
70
+ const provider = this.getProvider();
71
+ const timer = embeddingDuration.startTimer({ provider, tenant_id: tenantId });
72
+ try {
73
+ const valid = texts.filter(t => t && t.trim().length > 0);
74
+ if (valid.length === 0)
75
+ throw new Error('No valid texts provided for batch embedding');
76
+ // Track batch size
77
+ embeddingBatchSize.observe({ tenant_id: tenantId }, valid.length);
78
+ const vectors = await postEmbeddings(valid);
79
+ // Validate each vector length
80
+ const wrongDim = vectors.some(v => !Array.isArray(v) || v.length !== this.embeddingDimension);
81
+ if (wrongDim) {
82
+ logger.error('[EmbeddingService] One or more embeddings returned with unexpected dimension');
83
+ throw new Error('One or more embeddings have unexpected dimension from OpenAI');
84
+ }
85
+ embeddingRequests.inc({
86
+ provider,
87
+ status: 'success',
88
+ tenant_id: tenantId
89
+ });
90
+ // Track vector size for each embedding
91
+ for (const embedding of vectors) {
92
+ if (Array.isArray(embedding)) {
93
+ const vectorSize = embedding.length * 4; // float32 = 4 bytes
94
+ embeddingVectorSize.observe({ provider, tenant_id: tenantId }, vectorSize);
95
+ }
96
+ }
97
+ timer({ provider, tenant_id: tenantId });
98
+ return {
99
+ embeddings: vectors,
100
+ model: DEFAULT_MODEL,
101
+ usage: { prompt_tokens: 0, total_tokens: 0 },
102
+ };
103
+ }
104
+ catch (error) {
105
+ embeddingRequests.inc({
106
+ provider,
107
+ status: 'error',
108
+ tenant_id: tenantId
109
+ });
110
+ embeddingErrors.inc({
111
+ provider,
112
+ status: 'error',
113
+ tenant_id: tenantId
114
+ });
115
+ timer({ provider, tenant_id: tenantId });
116
+ throw error;
117
+ }
118
+ }
119
+ calculateCosineSimilarity(embedding1, embedding2) {
120
+ if (!embedding1 || !embedding2)
121
+ return 0;
122
+ if (embedding1.length !== embedding2.length)
123
+ throw new Error('Embeddings must have the same dimensions');
124
+ let dot = 0, n1 = 0, n2 = 0;
125
+ for (let i = 0; i < embedding1.length; i++) {
126
+ const a = embedding1[i] || 0;
127
+ const b = embedding2[i] || 0;
128
+ dot += a * b;
129
+ n1 += a * a;
130
+ n2 += b * b;
131
+ }
132
+ const mag = Math.sqrt(n1) * Math.sqrt(n2);
133
+ return mag === 0 ? 0 : dot / mag;
134
+ }
135
+ async generateMemoryEmbedding(memory) {
136
+ const textToEmbed = [
137
+ memory?.content || '',
138
+ `Resource: ${memory?.resource || ''}`,
139
+ `Task: ${memory?.task || ''}`,
140
+ `Tags: ${(memory?.tags || []).join(', ')}`,
141
+ `Type: ${memory?.type || ''}`
142
+ ].filter(text => text.trim().length > 0).join('\n');
143
+ const result = await this.generateEmbedding(textToEmbed);
144
+ return result.embedding;
145
+ }
146
+ estimateCost() {
147
+ // Cost estimation could be added later; return 0 for now.
148
+ return 0;
149
+ }
150
+ async healthCheck() {
151
+ try {
152
+ const providerPref = EMBEDDING_PROVIDER;
153
+ if (providerPref === 'openai') {
154
+ // Explicit OpenAI only - enforce duo
155
+ if (!OPENAI_API_KEY || !DEFAULT_MODEL) {
156
+ return { healthy: false, message: 'OpenAI requires OPENAI_API_KEY and OPENAI_EMBEDDING_MODEL' };
157
+ }
158
+ try {
159
+ const res = await postEmbeddingsOpenAI('health check');
160
+ return { healthy: Array.isArray(res) && res.length > 0, message: 'openai embeddings operational' };
161
+ }
162
+ catch (err) {
163
+ const msg = err instanceof Error ? err.message : String(err);
164
+ if (msg.includes('429'))
165
+ return { healthy: true, message: 'openai is rate-limited (429) - reachable but throttled' };
166
+ if (msg.includes('401') || msg.toLowerCase().includes('authentication'))
167
+ return { healthy: false, message: 'openai authentication failed - check OPENAI_API_KEY' };
168
+ return { healthy: false, message: `openai health check failed: ${msg}` };
169
+ }
170
+ }
171
+ if (providerPref === 'tei') {
172
+ // Explicit TEI only - enforce duo
173
+ if (!TEI_BASE_URL || !TEI_MODEL) {
174
+ return { healthy: false, message: 'TEI requires TEI_BASE_URL and TEI_MODEL' };
175
+ }
176
+ try {
177
+ const res = await postEmbeddingsTEI('health check');
178
+ return { healthy: Array.isArray(res) && res.length > 0, message: 'TEI embeddings operational' };
179
+ }
180
+ catch (err) {
181
+ const msg = err instanceof Error ? err.message : String(err);
182
+ if (msg.includes('401'))
183
+ return { healthy: false, message: 'TEI authentication failed (401)' };
184
+ if (msg.includes('429'))
185
+ return { healthy: true, message: 'TEI is rate-limited (429) - reachable but throttled' };
186
+ return { healthy: false, message: `TEI health check failed: ${msg}` };
187
+ }
188
+ }
189
+ // Auto mode: prefer OpenAI if both OPENAI vars are present, otherwise TEI
190
+ if (OPENAI_API_KEY && DEFAULT_MODEL) {
191
+ try {
192
+ const res = await postEmbeddingsOpenAI('health check');
193
+ return { healthy: Array.isArray(res) && res.length > 0, message: 'openai embeddings operational' };
194
+ }
195
+ catch (err) {
196
+ const msg = err instanceof Error ? err.message : String(err);
197
+ logger.warn(`[EmbeddingService] OpenAI health check failed, trying TEI fallback: ${msg}`);
198
+ }
199
+ }
200
+ if (TEI_BASE_URL && TEI_MODEL) {
201
+ try {
202
+ const url = TEI_EMBEDDING_ENDPOINT || TEI_BASE_URL;
203
+ const payload = { model: TEI_MODEL, input: ['health check'] };
204
+ const headers = { 'Content-Type': 'application/json' };
205
+ if (TEI_API_KEY)
206
+ headers['x-api-key'] = TEI_API_KEY;
207
+ const resp = await fetch(url, {
208
+ method: 'POST',
209
+ headers,
210
+ body: JSON.stringify(payload)
211
+ });
212
+ let data = null;
213
+ try {
214
+ data = await resp.json();
215
+ }
216
+ catch (parseErr) {
217
+ logger.warn(`[EmbeddingService] TEI returned non-JSON response: ${String(parseErr)}`);
218
+ }
219
+ if (!resp.ok) {
220
+ if (resp.status === 401) {
221
+ return { healthy: false, message: 'TEI authentication failed (401)' };
222
+ }
223
+ if (resp.status === 429) {
224
+ return { healthy: true, message: 'TEI is rate-limited (429) - reachable but throttled' };
225
+ }
226
+ return { healthy: false, message: `TEI returned HTTP ${resp.status}` };
227
+ }
228
+ // Accept several TEI response shapes:
229
+ // - { embeddings: [ [..], ... ] }
230
+ // - { data: [ { embedding: [...] }, ... ] }
231
+ // - { result: [ ... ] } (some servers)
232
+ let embeddings = null;
233
+ if (Array.isArray(data?.embeddings)) {
234
+ embeddings = data.embeddings;
235
+ }
236
+ else if (Array.isArray(data?.data)) {
237
+ embeddings = data.data.map((d) => d?.embedding ?? d);
238
+ }
239
+ else if (Array.isArray(data?.result)) {
240
+ embeddings = data.result;
241
+ }
242
+ else if (Array.isArray(data)) {
243
+ embeddings = data;
244
+ }
245
+ if (Array.isArray(embeddings) && embeddings.length > 0 && Array.isArray(embeddings[0])) {
246
+ const dim = embeddings[0].length;
247
+ if (dim !== DEFAULT_DIMENSION) {
248
+ // If env explicitly sets EMBEDDING_DIMENSION, validate against it
249
+ logger.warn(`[EmbeddingService] TEI embedding dimension mismatch: got ${dim}, expected ${DEFAULT_DIMENSION}`);
250
+ return { healthy: false, message: `TEI embedding dimension mismatch: got ${dim}, expected ${DEFAULT_DIMENSION}` };
251
+ }
252
+ return { healthy: true, message: 'TEI embeddings operational' };
253
+ }
254
+ return { healthy: false, message: 'TEI returned unexpected embedding shape or no embeddings' };
255
+ }
256
+ catch (err) {
257
+ const msg = err instanceof Error ? err.message : String(err);
258
+ return { healthy: false, message: `TEI health check error: ${msg}` };
259
+ }
260
+ }
261
+ return { healthy: false, message: 'No embedding provider configured (set OPENAI_API_KEY+OPENAI_EMBEDDING_MODEL or TEI_BASE_URL+TEI_MODEL)' };
262
+ }
263
+ catch (err) {
264
+ const msg = err instanceof Error ? err.message : String(err);
265
+ return { healthy: false, message: `Embedding health check error: ${msg}` };
266
+ }
267
+ }
268
+ getProvider() {
269
+ const pref = EMBEDDING_PROVIDER;
270
+ if (pref === 'openai')
271
+ return 'openai';
272
+ if (pref === 'tei')
273
+ return 'tei';
274
+ if (OPENAI_API_KEY && DEFAULT_MODEL)
275
+ return 'openai';
276
+ if (TEI_BASE_URL && TEI_MODEL)
277
+ return 'tei';
278
+ return 'local'; // fallback
279
+ }
280
+ getConfig() {
281
+ let provider = 'none';
282
+ const pref = EMBEDDING_PROVIDER;
283
+ if (pref === 'openai')
284
+ provider = 'openai';
285
+ else if (pref === 'tei')
286
+ provider = 'tei';
287
+ else if (OPENAI_API_KEY && DEFAULT_MODEL)
288
+ provider = 'openai';
289
+ else if (TEI_BASE_URL && TEI_MODEL)
290
+ provider = 'tei';
291
+ return {
292
+ model: provider === 'openai' ? DEFAULT_MODEL : (TEI_MODEL || DEFAULT_MODEL),
293
+ dimension: this.embeddingDimension,
294
+ provider,
295
+ apiKeyConfigured: !!OPENAI_API_KEY && !!DEFAULT_MODEL,
296
+ teiConfigured: !!TEI_BASE_URL && !!TEI_MODEL,
297
+ providerPref: EMBEDDING_PROVIDER
298
+ };
299
+ }
300
+ }
301
+ export const embeddingService = new EmbeddingService();
302
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/services/embedding/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export interface EmbeddingResult {
2
+ embedding: number[];
3
+ model: string;
4
+ usage: {
5
+ prompt_tokens: number;
6
+ total_tokens: number;
7
+ };
8
+ }
9
+ export interface BatchEmbeddingResult {
10
+ embeddings: number[][];
11
+ model: string;
12
+ usage: {
13
+ prompt_tokens: number;
14
+ total_tokens: number;
15
+ };
16
+ }
17
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/embedding/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACH,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC;CACL;AAED,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACH,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC;CACL"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/embedding/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * ID Generator Service for KAIROS
3
+ *
4
+ * Generates UUID-based identifiers for knowledge items.
5
+ * Uses URI-based UUIDv5 for deterministic Qdrant IDs where appropriate.
6
+ */
7
+ export declare const KAIROS_NAMESPACE = "6f1d7e2b-8f7b-4b1e-9c8f-2f2f0b1a2e11";
8
+ export declare class IDGenerator {
9
+ /**
10
+ * Generate a protocol ID for protocols
11
+ * This ID is shared across all steps in a protocol sequence
12
+ * Uses full UUID for native Qdrant support
13
+ *
14
+ * @returns RFC 4122 UUID v4 string
15
+ */
16
+ static generateProtocolId(): string;
17
+ /**
18
+ * Generate a deterministic protocol_id from domain/type/task combination
19
+ * This ensures the same domain/type/task always gets the same protocol_id
20
+ *
21
+ * @param domain - Knowledge domain
22
+ * @param type - Knowledge type
23
+ * @param task - Task identifier
24
+ * @returns Deterministic UUIDv5 string
25
+ */
26
+ static generateDeterministicProtocolId(domain: string, type: string, task: string): string;
27
+ /**
28
+ /**
29
+ * Generate a deterministic memory chain UUID (v5) from a label
30
+ * Label is normalized (trim, collapse spaces, lower-case)
31
+ */
32
+ static generateChainUUIDv5(label: string): string;
33
+ /**
34
+ * Generate a UUID for unified protocol
35
+ * Used for kairos://UUID URIs in the unified store protocol
36
+ *
37
+ * @returns RFC 4122 UUID v4 string
38
+ */
39
+ static generateUUID(): string;
40
+ /**
41
+ * Build Qdrant ID from human-readable URI using deterministic UUIDv5
42
+ *
43
+ * This enables URI-based retrieval: given a URI, we can always regenerate
44
+ * the exact same Qdrant ID for direct lookup.
45
+ *
46
+ * @param humanUri - Full human-readable URI (e.g., "kairos://uuid" or legacy "kairos://ai/rule/coding-rules@lF5kZa9D/step/1")
47
+ * @returns Deterministic UUIDv5 string
48
+ *
49
+ * @example
50
+ * buildQdrantId("kairos://700468C5-2C80-4502-B60B-9A8C74044A35")
51
+ * // Returns: "700468C5-2C80-4502-B60B-9A8C74044A35" (direct UUID)
52
+ */
53
+ static buildQdrantId(humanUri: string): string;
54
+ /**
55
+ * Convert URI to Qdrant ID
56
+ * Supports both new kairos://UUID and legacy URI formats
57
+ *
58
+ * @param uri - Full URI string
59
+ * @returns UUID string for Qdrant operations
60
+ */
61
+ static qdrantIdFromUri(uri: string): string;
62
+ }
63
+ //# sourceMappingURL=id-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-generator.d.ts","sourceRoot":"","sources":["../../src/services/id-generator.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAOF,eAAO,MAAM,gBAAgB,yCAAyC,CAAC;AAEvE,qBAAa,WAAW;IACpB;;;;;;OAMG;IACH,MAAM,CAAC,kBAAkB,IAAI,MAAM;IAInC;;;;;;;;OAQG;IACH,MAAM,CAAC,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAK1F;;;;OAIG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAKjD;;;;;OAKG;IACH,MAAM,CAAC,YAAY,IAAI,MAAM;IAI7B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI9C;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CA6B9C"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * ID Generator Service for KAIROS
3
+ *
4
+ * Generates UUID-based identifiers for knowledge items.
5
+ * Uses URI-based UUIDv5 for deterministic Qdrant IDs where appropriate.
6
+ */
7
+ import { v5 as uuidv5, v4 as uuidv4 } from 'uuid';
8
+ import { structuredLogger } from '../utils/structured-logger.js';
9
+ // KAIROS namespace UUID for deterministic ID generation
10
+ // Generate once and hardcode for deployment consistency
11
+ export const KAIROS_NAMESPACE = '6f1d7e2b-8f7b-4b1e-9c8f-2f2f0b1a2e11';
12
+ export class IDGenerator {
13
+ /**
14
+ * Generate a protocol ID for protocols
15
+ * This ID is shared across all steps in a protocol sequence
16
+ * Uses full UUID for native Qdrant support
17
+ *
18
+ * @returns RFC 4122 UUID v4 string
19
+ */
20
+ static generateProtocolId() {
21
+ return uuidv4();
22
+ }
23
+ /**
24
+ * Generate a deterministic protocol_id from domain/type/task combination
25
+ * This ensures the same domain/type/task always gets the same protocol_id
26
+ *
27
+ * @param domain - Knowledge domain
28
+ * @param type - Knowledge type
29
+ * @param task - Task identifier
30
+ * @returns Deterministic UUIDv5 string
31
+ */
32
+ static generateDeterministicProtocolId(domain, type, task) {
33
+ const input = `${domain}:${type}:${task}`;
34
+ return uuidv5(input, KAIROS_NAMESPACE);
35
+ }
36
+ /**
37
+ /**
38
+ * Generate a deterministic memory chain UUID (v5) from a label
39
+ * Label is normalized (trim, collapse spaces, lower-case)
40
+ */
41
+ static generateChainUUIDv5(label) {
42
+ const normalized = (label || '').trim().replace(/\s+/g, ' ').toLowerCase();
43
+ return uuidv5(normalized, KAIROS_NAMESPACE);
44
+ }
45
+ /**
46
+ * Generate a UUID for unified protocol
47
+ * Used for kairos://UUID URIs in the unified store protocol
48
+ *
49
+ * @returns RFC 4122 UUID v4 string
50
+ */
51
+ static generateUUID() {
52
+ return crypto.randomUUID();
53
+ }
54
+ /**
55
+ * Build Qdrant ID from human-readable URI using deterministic UUIDv5
56
+ *
57
+ * This enables URI-based retrieval: given a URI, we can always regenerate
58
+ * the exact same Qdrant ID for direct lookup.
59
+ *
60
+ * @param humanUri - Full human-readable URI (e.g., "kairos://uuid" or legacy "kairos://ai/rule/coding-rules@lF5kZa9D/step/1")
61
+ * @returns Deterministic UUIDv5 string
62
+ *
63
+ * @example
64
+ * buildQdrantId("kairos://700468C5-2C80-4502-B60B-9A8C74044A35")
65
+ * // Returns: "700468C5-2C80-4502-B60B-9A8C74044A35" (direct UUID)
66
+ */
67
+ static buildQdrantId(humanUri) {
68
+ return uuidv5(humanUri, KAIROS_NAMESPACE);
69
+ }
70
+ /**
71
+ * Convert URI to Qdrant ID
72
+ * Supports both new kairos://UUID and legacy URI formats
73
+ *
74
+ * @param uri - Full URI string
75
+ * @returns UUID string for Qdrant operations
76
+ */
77
+ static qdrantIdFromUri(uri) {
78
+ structuredLogger.debug(`qdrantIdFromUri called with URI: ${uri}`);
79
+ // kairos://mem/{uuid}
80
+ const memPrefix = 'kairos://mem/';
81
+ if (uri.startsWith(memPrefix)) {
82
+ return uri.substring(memPrefix.length);
83
+ }
84
+ // kairos://{domain}/{type}/{task}/step/{step} (deterministic hashed id)
85
+ if (uri.startsWith('kairos://') && uri.includes('/step/')) {
86
+ return IDGenerator.buildQdrantId(uri);
87
+ }
88
+ // kairos://{uuid}
89
+ const simplePrefix = 'kairos://';
90
+ if (uri.startsWith(simplePrefix)) {
91
+ const candidate = uri.substring(simplePrefix.length);
92
+ // If it's a bare UUID, return it; otherwise, fall back to v5 hash of full URI
93
+ if (/^[0-9a-fA-F-]{32,36}$/.test(candidate)) {
94
+ return candidate;
95
+ }
96
+ return IDGenerator.buildQdrantId(uri);
97
+ }
98
+ throw new Error(`Unsupported URI format: ${uri}`);
99
+ }
100
+ }
101
+ //# sourceMappingURL=id-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-generator.js","sourceRoot":"","sources":["../../src/services/id-generator.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,wDAAwD;AACxD,wDAAwD;AACxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,sCAAsC,CAAC;AAEvE,MAAM,OAAO,WAAW;IACpB;;;;;;OAMG;IACH,MAAM,CAAC,kBAAkB;QACrB,OAAO,MAAM,EAAE,CAAC;IACpB,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,+BAA+B,CAAC,MAAc,EAAE,IAAY,EAAE,IAAY;QAC7E,MAAM,KAAK,GAAG,GAAG,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAa;QACpC,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3E,OAAO,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,YAAY;QACf,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,aAAa,CAAC,QAAgB;QACjC,OAAO,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAW;QAC9B,gBAAgB,CAAC,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;QAElE,sBAAsB;QACtB,MAAM,SAAS,GAAG,eAAe,CAAC;QAClC,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,wEAAwE;QACxE,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,OAAO,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QAED,kBAAkB;QAClB,MAAM,YAAY,GAAG,WAAW,CAAC;QACjC,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACrD,8EAA8E;YAC9E,IAAI,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1C,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,OAAO,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;CAGJ"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Single export for cache/proof-of-work key-value store.
3
+ * Uses Redis when REDIS_URL is set (non-empty), in-memory when REDIS_URL is unset or empty.
4
+ */
5
+ import type { IKeyValueStore } from './key-value-store.js';
6
+ export declare const keyValueStore: IKeyValueStore;
7
+ //# sourceMappingURL=key-value-store-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-value-store-factory.d.ts","sourceRoot":"","sources":["../../src/services/key-value-store-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAW3D,eAAO,MAAM,aAAa,EAAE,cAAsC,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Single export for cache/proof-of-work key-value store.
3
+ * Uses Redis when REDIS_URL is set (non-empty), in-memory when REDIS_URL is unset or empty.
4
+ */
5
+ import { USE_REDIS } from '../config.js';
6
+ import { MemoryStore } from './memory-store.js';
7
+ import { RedisService } from './redis.js';
8
+ function createKeyValueStore() {
9
+ if (!USE_REDIS) {
10
+ return new MemoryStore();
11
+ }
12
+ return new RedisService();
13
+ }
14
+ export const keyValueStore = createKeyValueStore();
15
+ //# sourceMappingURL=key-value-store-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-value-store-factory.js","sourceRoot":"","sources":["../../src/services/key-value-store-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,SAAS,mBAAmB;IAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,WAAW,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,YAAY,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAmB,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Key-value store abstraction for cache and proof-of-work state.
3
+ * Implementations: Redis (production) or in-memory (dev/simple setups without Redis).
4
+ */
5
+ /** Matches RedisService API: prefix + space namespacing applied by implementation. */
6
+ export interface IKeyValueStore {
7
+ get(key: string): Promise<string | null>;
8
+ set(key: string, value: string, ttl?: number): Promise<void>;
9
+ del(key: string): Promise<void>;
10
+ getJson<T>(key: string): Promise<T | null>;
11
+ setJson<T>(key: string, value: T, ttl?: number): Promise<void>;
12
+ hget(hash: string, field: string): Promise<string | null>;
13
+ hset(hash: string, field: string, value: string): Promise<void>;
14
+ hgetall(hash: string): Promise<Record<string, string> | null>;
15
+ hsetall(hash: string, data: Record<string, string>): Promise<void>;
16
+ incr(key: string): Promise<number>;
17
+ exists(key: string): Promise<boolean>;
18
+ keys(pattern: string): Promise<string[]>;
19
+ publish(channel: string, message: string): Promise<number>;
20
+ connect(): Promise<void>;
21
+ disconnect(): Promise<void>;
22
+ isConnected(): boolean;
23
+ }
24
+ //# sourceMappingURL=key-value-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-value-store.d.ts","sourceRoot":"","sources":["../../src/services/key-value-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sFAAsF;AACtF,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC;CACxB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Key-value store abstraction for cache and proof-of-work state.
3
+ * Implementations: Redis (production) or in-memory (dev/simple setups without Redis).
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=key-value-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-value-store.js","sourceRoot":"","sources":["../../src/services/key-value-store.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,18 @@
1
+ import type { ProofOfWorkDefinition } from '../../types/memory.js';
2
+ export interface ChallengeBlockMatch {
3
+ /** Start index of the opening ``` in content. */
4
+ start: number;
5
+ /** End index (after closing ```) in content. */
6
+ end: number;
7
+ proof: ProofOfWorkDefinition;
8
+ }
9
+ /**
10
+ * Find all PoW boundaries in content: each ```json block with {"challenge": ...}.
11
+ * Steps are defined by these boundaries, not by H2 headings.
12
+ */
13
+ export declare function findAllChallengeBlocks(content: string): ChallengeBlockMatch[];
14
+ export declare function extractProofOfWork(content: string): {
15
+ cleaned: string;
16
+ proof?: ProofOfWorkDefinition;
17
+ };
18
+ //# sourceMappingURL=chain-builder-proof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-builder-proof.d.ts","sourceRoot":"","sources":["../../../src/services/memory/chain-builder-proof.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AASnE,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAgC7E;AA4BD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,qBAAqB,CAAA;CAAE,CAMtG"}