@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,9 @@
1
+ /**
2
+ * CLI Configuration
3
+ */
4
+ /**
5
+ * Get the KAIROS API base URL
6
+ * Defaults to http://localhost:3000 if not set
7
+ */
8
+ export declare function getApiUrl(): string;
9
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * CLI Configuration
3
+ */
4
+ function getEnvString(key, defaultValue) {
5
+ return process.env[key] || defaultValue;
6
+ }
7
+ /**
8
+ * Get the KAIROS API base URL
9
+ * Defaults to http://localhost:3000 if not set
10
+ */
11
+ export function getApiUrl() {
12
+ return getEnvString('KAIROS_API_URL', 'http://localhost:3000');
13
+ }
14
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,SAAS,YAAY,CAAC,GAAW,EAAE,YAAoB;IACnD,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS;IACrB,OAAO,YAAY,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,CAAC;AACnE,CAAC"}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * KAIROS CLI - Command-line interface for interacting with KAIROS REST API
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG"}
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * KAIROS CLI - Command-line interface for interacting with KAIROS REST API
4
+ */
5
+ import { Command } from 'commander';
6
+ import { createRequire } from 'module';
7
+ import { searchCommand } from './commands/search.js';
8
+ import { beginCommand } from './commands/begin.js';
9
+ import { nextCommand } from './commands/next.js';
10
+ import { mintCommand } from './commands/mint.js';
11
+ import { updateCommand } from './commands/update.js';
12
+ import { deleteCommand } from './commands/delete.js';
13
+ import { attestCommand } from './commands/attest.js';
14
+ import { getApiUrl } from './config.js';
15
+ const require = createRequire(import.meta.url);
16
+ const { version } = require('../../package.json');
17
+ const program = new Command();
18
+ program
19
+ .name('kairos')
20
+ .description('CLI tool for interacting with KAIROS REST API')
21
+ .version(version)
22
+ .option('-u, --url <url>', 'KAIROS API base URL', getApiUrl())
23
+ .hook('preAction', (thisCommand) => {
24
+ // Store the URL option globally for use in commands
25
+ const opts = thisCommand.opts();
26
+ if (opts['url']) {
27
+ process.env['KAIROS_API_URL'] = opts['url'];
28
+ }
29
+ });
30
+ // Register commands (matching MCP tool names 1:1)
31
+ searchCommand(program); // kairos_search
32
+ beginCommand(program); // kairos_begin (step 1)
33
+ nextCommand(program); // kairos_next (steps 2+)
34
+ mintCommand(program); // kairos_mint
35
+ updateCommand(program); // kairos_update
36
+ deleteCommand(program); // kairos_delete
37
+ attestCommand(program); // kairos_attest
38
+ // Parse arguments
39
+ program.parse();
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;AAEzE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACF,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,+CAA+C,CAAC;KAC5D,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC;KAC7D,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IAC/B,oDAAoD;IACpD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;AACL,CAAC,CAAC,CAAC;AAEP,kDAAkD;AAClD,aAAa,CAAC,OAAO,CAAC,CAAC,CAAE,gBAAgB;AACzC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAG,wBAAwB;AACjD,WAAW,CAAC,OAAO,CAAC,CAAC,CAAI,yBAAyB;AAClD,WAAW,CAAC,OAAO,CAAC,CAAC,CAAK,cAAc;AACxC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAG,gBAAgB;AAC1C,aAAa,CAAC,OAAO,CAAC,CAAC,CAAE,gBAAgB;AACzC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAG,gBAAgB;AAE1C,kBAAkB;AAClB,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * CLI Output Utility
3
+ * Uses process.stdout/stderr directly to avoid console.* linting restrictions
4
+ */
5
+ export declare function writeStdout(message: string): void;
6
+ export declare function writeStderr(message: string): void;
7
+ export declare function writeError(message: string): void;
8
+ export declare function writeJson(data: any): void;
9
+ export declare function writeMarkdown(content: string): void;
10
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAEzC;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEnD"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * CLI Output Utility
3
+ * Uses process.stdout/stderr directly to avoid console.* linting restrictions
4
+ */
5
+ export function writeStdout(message) {
6
+ process.stdout.write(message + '\n');
7
+ }
8
+ export function writeStderr(message) {
9
+ process.stderr.write(message + '\n');
10
+ }
11
+ export function writeError(message) {
12
+ writeStderr(`Error: ${message}`);
13
+ }
14
+ export function writeJson(data) {
15
+ writeStdout(JSON.stringify(data, null, 2));
16
+ }
17
+ export function writeMarkdown(content) {
18
+ writeStdout(content);
19
+ }
20
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,UAAU,WAAW,CAAC,OAAe;IACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;IACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe;IACtC,WAAW,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAS;IAC/B,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IACzC,WAAW,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Centralized configuration for environment variables.
3
+ * This file contains all environment variable parsing logic.
4
+ * REDIS_URL: when set (non-empty) → Redis backend; when unset or empty → in-memory backend. QDRANT_URL is always required.
5
+ */
6
+ export declare const REDIS_URL: string;
7
+ export declare const USE_REDIS: boolean;
8
+ export declare const KAIROS_REDIS_PREFIX: string;
9
+ export declare const OPENAI_EMBEDDING_MODEL: string;
10
+ export declare const OPENAI_API_KEY: string;
11
+ export declare const EMBEDDING_PROVIDER: string;
12
+ export declare const TEI_BASE_URL: string;
13
+ export declare const TEI_MODEL: string;
14
+ export declare const TEI_API_KEY: string;
15
+ export declare const LOG_LEVEL: string;
16
+ export declare const LOG_FORMAT: string;
17
+ export declare const QDRANT_API_KEY: string;
18
+ export declare const QDRANT_COLLECTION_CURRENT: string;
19
+ export declare const TEI_URL: string;
20
+ export declare const KAIROS_SEARCH_OVERFETCH_FACTOR: string;
21
+ export declare const KAIROS_SEARCH_MAX_FETCH: string;
22
+ export declare const KAIROS_ENABLE_GROUP_COLLAPSE: string;
23
+ export declare const AUTH_ENABLED: boolean;
24
+ export declare const KEYCLOAK_URL: string;
25
+ /** When set, used for server-side calls (e.g. token exchange). When unset, KEYCLOAK_URL is used. Use keycloak:8080 in Docker. */
26
+ export declare const KEYCLOAK_INTERNAL_URL: string;
27
+ export declare const KEYCLOAK_REALM: string;
28
+ export declare const KEYCLOAK_CLIENT_ID: string;
29
+ /** Base URL for redirect_uri (e.g. http://localhost:3500). Must match Keycloak client redirect URIs. */
30
+ export declare const AUTH_CALLBACK_BASE_URL: string;
31
+ export declare const SESSION_SECRET: string;
32
+ /** Session cookie and payload exp lifetime in seconds; default 7 days. */
33
+ export declare const SESSION_MAX_AGE_SEC: number;
34
+ /** When set to oidc_bearer, Bearer tokens are validated (issuer, audience, exp); when unset, Bearer presence only (backward compat). */
35
+ export declare const AUTH_MODE: string;
36
+ /** Comma-separated list of trusted JWT issuers (e.g. http://keycloak:8080/realms/kairos-dev). Required when AUTH_MODE=oidc_bearer. */
37
+ export declare const AUTH_TRUSTED_ISSUERS_STRING: string;
38
+ /** Comma-separated list of allowed JWT audiences (e.g. kairos-mcp). Required when AUTH_MODE=oidc_bearer. */
39
+ export declare const AUTH_ALLOWED_AUDIENCES_STRING: string;
40
+ export declare const PORT: number;
41
+ export declare const QDRANT_RESCORE_STRING: string;
42
+ /** When non-empty, backup/snapshot is enabled; app creates dir if missing. Empty = not configured → 503 on POST /api/snapshot. */
43
+ export declare const QDRANT_SNAPSHOT_ON_START: boolean;
44
+ export declare const QDRANT_SNAPSHOT_DIR: string;
45
+ export declare const METRICS_PORT: number;
46
+ export declare const SCORE_THRESHOLD: number;
47
+ /** Mint: score >= this value triggers SIMILAR_MEMORY_FOUND. Set SIMILAR_MEMORY_THRESHOLD=1 to effectively disable. */
48
+ export declare const SIMILAR_MEMORY_THRESHOLD: number;
49
+ export declare const TRANSPORT_TYPE: 'stdio' | 'http';
50
+ export declare function getQdrantUrl(): string;
51
+ export declare function getQdrantCollection(defaultValue?: string): string;
52
+ export declare function getEmbeddingDimension(defaultValue?: number): number;
53
+ export declare function getTeiDimension(defaultValue?: number): number;
54
+ export declare const AUTH_TRUSTED_ISSUERS: string[];
55
+ export declare const AUTH_ALLOWED_AUDIENCES: string[];
56
+ /** Space for embedded mem docs and default when AUTH_ENABLED=false. Included in search scope for all users. Must follow space model (e.g. space:kairos-app). */
57
+ export declare const KAIROS_APP_SPACE_ID: string;
58
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwCH,eAAO,MAAM,SAAS,QAAyC,CAAC;AAChE,eAAO,MAAM,SAAS,SAAuB,CAAC;AAC9C,eAAO,MAAM,mBAAmB,QAAiD,CAAC;AAClF,eAAO,MAAM,sBAAsB,QAA6C,CAAC;AACjF,eAAO,MAAM,cAAc,QAAqC,CAAC;AACjE,eAAO,MAAM,kBAAkB,QAA6C,CAAC;AAC7E,eAAO,MAAM,YAAY,QAAmC,CAAC;AAC7D,eAAO,MAAM,SAAS,QAAgC,CAAC;AACvD,eAAO,MAAM,WAAW,QAAkC,CAAC;AAC3D,eAAO,MAAM,SAAS,QAAoC,CAAC;AAC3D,eAAO,MAAM,UAAU,QAAqC,CAAC;AAC7D,eAAO,MAAM,cAAc,QAAqC,CAAC;AACjE,eAAO,MAAM,yBAAyB,QAAgD,CAAC;AACvF,eAAO,MAAM,OAAO,QAA8B,CAAC;AACnD,eAAO,MAAM,8BAA8B,QAAsD,CAAC;AAClG,eAAO,MAAM,uBAAuB,QAAiD,CAAC;AACtF,eAAO,MAAM,4BAA4B,QAAuD,CAAC;AAIjG,eAAO,MAAM,YAAY,SAAuC,CAAC;AACjE,eAAO,MAAM,YAAY,QAAmC,CAAC;AAC7D,iIAAiI;AACjI,eAAO,MAAM,qBAAqB,QAA4C,CAAC;AAC/E,eAAO,MAAM,cAAc,QAA+C,CAAC;AAC3E,eAAO,MAAM,kBAAkB,QAAmD,CAAC;AACnF,wGAAwG;AACxG,eAAO,MAAM,sBAAsB,QAA6C,CAAC;AACjF,eAAO,MAAM,cAAc,QAAqC,CAAC;AACjE,0EAA0E;AAC1E,eAAO,MAAM,mBAAmB,QAA2C,CAAC;AAE5E,wIAAwI;AACxI,eAAO,MAAM,SAAS,QAAgC,CAAC;AACvD,sIAAsI;AACtI,eAAO,MAAM,2BAA2B,QAA2C,CAAC;AACpF,4GAA4G;AAC5G,eAAO,MAAM,6BAA6B,QAA6C,CAAC;AAGxF,eAAO,MAAM,IAAI,QAA0B,CAAC;AAe5C,eAAO,MAAM,qBAAqB,QAAyC,CAAC;AAC5E,kIAAkI;AAClI,eAAO,MAAM,wBAAwB,SAAmD,CAAC;AAEzF,eAAO,MAAM,mBAAmB,QAKa,CAAC;AAG9C,eAAO,MAAM,YAAY,QAAkC,CAAC;AAG5D,eAAO,MAAM,eAAe,QAAsC,CAAC;AACnE,sHAAsH;AACtH,eAAO,MAAM,wBAAwB,QAA+C,CAAC;AAIrF,eAAO,MAAM,cAAc,EAAE,OAAO,GAAG,MACW,CAAC;AAGnD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,mBAAmB,CAAC,YAAY,SAAW,GAAG,MAAM,CAEnE;AAED,wBAAgB,qBAAqB,CAAC,YAAY,SAAO,GAAG,MAAM,CAEjE;AAED,wBAAgB,eAAe,CAAC,YAAY,SAAI,GAAG,MAAM,CAExD;AAuBD,eAAO,MAAM,oBAAoB,UAAuB,CAAC;AAazD,eAAO,MAAM,sBAAsB,UAGjB,CAAC;AACnB,gKAAgK;AAChK,eAAO,MAAM,mBAAmB,QAA0D,CAAC"}
package/dist/config.js ADDED
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Centralized configuration for environment variables.
3
+ * This file contains all environment variable parsing logic.
4
+ * REDIS_URL: when set (non-empty) → Redis backend; when unset or empty → in-memory backend. QDRANT_URL is always required.
5
+ */
6
+ import path from 'path';
7
+ /** Throws if key is missing or empty (after trim). Use for vars that must be set. */
8
+ function getEnvRequired(key, errorMessage) {
9
+ const val = process.env[key];
10
+ const trimmed = typeof val === 'string' ? val.trim() : '';
11
+ if (!trimmed) {
12
+ const msg = errorMessage ?? `KAIROS requires ${key} to be set. Set it in .env or environment.`;
13
+ throw new Error(msg);
14
+ }
15
+ return trimmed;
16
+ }
17
+ function getEnvString(key, defaultValue) {
18
+ return process.env[key] || defaultValue;
19
+ }
20
+ function getEnvInt(key, defaultValue) {
21
+ const val = process.env[key];
22
+ if (val === undefined)
23
+ return defaultValue;
24
+ const parsed = parseInt(val, 10);
25
+ return isNaN(parsed) ? defaultValue : parsed;
26
+ }
27
+ function getEnvFloat(key, defaultValue) {
28
+ const val = process.env[key];
29
+ if (val === undefined)
30
+ return defaultValue;
31
+ const parsed = parseFloat(val);
32
+ return isNaN(parsed) ? defaultValue : parsed;
33
+ }
34
+ function getEnvBoolean(key, defaultValue) {
35
+ const val = process.env[key];
36
+ if (val === undefined)
37
+ return defaultValue;
38
+ return val !== 'false';
39
+ }
40
+ // REDIS_URL set (non-empty) → Redis; unset or empty → in-memory backend
41
+ export const REDIS_URL = (getEnvString('REDIS_URL', '')).trim();
42
+ export const USE_REDIS = REDIS_URL.length > 0;
43
+ export const KAIROS_REDIS_PREFIX = getEnvString('KAIROS_REDIS_PREFIX', 'kairos:');
44
+ export const OPENAI_EMBEDDING_MODEL = getEnvString('OPENAI_EMBEDDING_MODEL', '');
45
+ export const OPENAI_API_KEY = getEnvString('OPENAI_API_KEY', '');
46
+ export const EMBEDDING_PROVIDER = getEnvString('EMBEDDING_PROVIDER', 'auto');
47
+ export const TEI_BASE_URL = getEnvString('TEI_BASE_URL', '');
48
+ export const TEI_MODEL = getEnvString('TEI_MODEL', '');
49
+ export const TEI_API_KEY = getEnvString('TEI_API_KEY', '');
50
+ export const LOG_LEVEL = getEnvString('LOG_LEVEL', 'info');
51
+ export const LOG_FORMAT = getEnvString('LOG_FORMAT', 'text');
52
+ export const QDRANT_API_KEY = getEnvString('QDRANT_API_KEY', '');
53
+ export const QDRANT_COLLECTION_CURRENT = getEnvString('QDRANT_COLLECTION_CURRENT', '');
54
+ export const TEI_URL = getEnvString('TEI_URL', '');
55
+ export const KAIROS_SEARCH_OVERFETCH_FACTOR = getEnvString('KAIROS_SEARCH_OVERFETCH_FACTOR', '4');
56
+ export const KAIROS_SEARCH_MAX_FETCH = getEnvString('KAIROS_SEARCH_MAX_FETCH', '200');
57
+ export const KAIROS_ENABLE_GROUP_COLLAPSE = getEnvString('KAIROS_ENABLE_GROUP_COLLAPSE', 'true');
58
+ // Auth (Keycloak OIDC). One Keycloak per env: each env file sets KEYCLOAK_URL, KEYCLOAK_REALM, KEYCLOAK_CLIENT_ID.
59
+ // When AUTH_ENABLED=true these must be set (no empty string); startup will throw otherwise.
60
+ export const AUTH_ENABLED = getEnvBoolean('AUTH_ENABLED', false);
61
+ export const KEYCLOAK_URL = getEnvString('KEYCLOAK_URL', '');
62
+ /** When set, used for server-side calls (e.g. token exchange). When unset, KEYCLOAK_URL is used. Use keycloak:8080 in Docker. */
63
+ export const KEYCLOAK_INTERNAL_URL = getEnvString('KEYCLOAK_INTERNAL_URL', '');
64
+ export const KEYCLOAK_REALM = getEnvString('KEYCLOAK_REALM', 'kairos-dev');
65
+ export const KEYCLOAK_CLIENT_ID = getEnvString('KEYCLOAK_CLIENT_ID', 'kairos-mcp');
66
+ /** Base URL for redirect_uri (e.g. http://localhost:3500). Must match Keycloak client redirect URIs. */
67
+ export const AUTH_CALLBACK_BASE_URL = getEnvString('AUTH_CALLBACK_BASE_URL', '');
68
+ export const SESSION_SECRET = getEnvString('SESSION_SECRET', '');
69
+ /** Session cookie and payload exp lifetime in seconds; default 7 days. */
70
+ export const SESSION_MAX_AGE_SEC = getEnvInt('SESSION_MAX_AGE_SEC', 604800);
71
+ /** When set to oidc_bearer, Bearer tokens are validated (issuer, audience, exp); when unset, Bearer presence only (backward compat). */
72
+ export const AUTH_MODE = getEnvString('AUTH_MODE', '');
73
+ /** Comma-separated list of trusted JWT issuers (e.g. http://keycloak:8080/realms/kairos-dev). Required when AUTH_MODE=oidc_bearer. */
74
+ export const AUTH_TRUSTED_ISSUERS_STRING = getEnvString('AUTH_TRUSTED_ISSUERS', '');
75
+ /** Comma-separated list of allowed JWT audiences (e.g. kairos-mcp). Required when AUTH_MODE=oidc_bearer. */
76
+ export const AUTH_ALLOWED_AUDIENCES_STRING = getEnvString('AUTH_ALLOWED_AUDIENCES', '');
77
+ // Int configurations
78
+ export const PORT = getEnvInt('PORT', 3000);
79
+ if (AUTH_ENABLED) {
80
+ const missing = [];
81
+ if (!KEYCLOAK_URL.trim())
82
+ missing.push('KEYCLOAK_URL');
83
+ if (!KEYCLOAK_REALM.trim())
84
+ missing.push('KEYCLOAK_REALM');
85
+ if (!KEYCLOAK_CLIENT_ID.trim())
86
+ missing.push('KEYCLOAK_CLIENT_ID');
87
+ if (!AUTH_CALLBACK_BASE_URL.trim())
88
+ missing.push('AUTH_CALLBACK_BASE_URL');
89
+ if (!SESSION_SECRET.trim())
90
+ missing.push('SESSION_SECRET');
91
+ if (missing.length > 0) {
92
+ throw new Error(`AUTH_ENABLED=true requires non-empty env: ${missing.join(', ')}. Set them in .env. See docs/install/README.md.`);
93
+ }
94
+ }
95
+ export const QDRANT_RESCORE_STRING = getEnvString('QDRANT_RESCORE', 'true');
96
+ /** When non-empty, backup/snapshot is enabled; app creates dir if missing. Empty = not configured → 503 on POST /api/snapshot. */
97
+ export const QDRANT_SNAPSHOT_ON_START = getEnvBoolean('QDRANT_SNAPSHOT_ON_START', false);
98
+ const QDRANT_SNAPSHOT_DIR_RAW = getEnvString('QDRANT_SNAPSHOT_DIR', '').trim();
99
+ export const QDRANT_SNAPSHOT_DIR = QDRANT_SNAPSHOT_DIR_RAW === ''
100
+ ? ''
101
+ : path.isAbsolute(QDRANT_SNAPSHOT_DIR_RAW)
102
+ ? QDRANT_SNAPSHOT_DIR_RAW
103
+ : path.resolve(QDRANT_SNAPSHOT_DIR_RAW);
104
+ // Int configurations
105
+ export const METRICS_PORT = getEnvInt('METRICS_PORT', 9090);
106
+ // Float configurations (tunable via env; relaxed defaults so more results pass into choices)
107
+ export const SCORE_THRESHOLD = getEnvFloat('SCORE_THRESHOLD', 0.3);
108
+ /** Mint: score >= this value triggers SIMILAR_MEMORY_FOUND. Set SIMILAR_MEMORY_THRESHOLD=1 to effectively disable. */
109
+ export const SIMILAR_MEMORY_THRESHOLD = getEnvFloat('SIMILAR_MEMORY_THRESHOLD', 0.9);
110
+ // Transport: stdio | http. Logging and server use this single source.
111
+ const TRANSPORT_TYPE_RAW = getEnvString('TRANSPORT_TYPE', 'stdio');
112
+ export const TRANSPORT_TYPE = TRANSPORT_TYPE_RAW === 'http' ? 'http' : 'stdio';
113
+ // Required (throw at startup if missing)
114
+ export function getQdrantUrl() {
115
+ return getEnvRequired('QDRANT_URL');
116
+ }
117
+ export function getQdrantCollection(defaultValue = 'kairos') {
118
+ return getEnvString('QDRANT_COLLECTION', defaultValue);
119
+ }
120
+ export function getEmbeddingDimension(defaultValue = 1024) {
121
+ return getEnvInt('EMBEDDING_DIMENSION', defaultValue);
122
+ }
123
+ export function getTeiDimension(defaultValue = 0) {
124
+ return getEnvInt('TEI_DIMENSION', defaultValue);
125
+ }
126
+ // Trusted issuers: from env, or from KEYCLOAK_URL/REALM when unset. Add loopback alias (localhost <-> 127.0.0.1) so tokens match either.
127
+ const _authIssuersFromEnv = AUTH_TRUSTED_ISSUERS_STRING.split(',')
128
+ .map((s) => s.trim())
129
+ .filter(Boolean);
130
+ const _authIssuersBase = _authIssuersFromEnv.length > 0
131
+ ? _authIssuersFromEnv
132
+ : KEYCLOAK_URL && KEYCLOAK_REALM
133
+ ? [`${KEYCLOAK_URL.replace(/\/$/, '')}/realms/${KEYCLOAK_REALM}`]
134
+ : [];
135
+ const _authIssuersExpanded = [];
136
+ for (const iss of _authIssuersBase) {
137
+ _authIssuersExpanded.push(iss);
138
+ if (iss.includes('localhost')) {
139
+ const other = iss.replace(/localhost/g, '127.0.0.1');
140
+ if (!_authIssuersExpanded.includes(other))
141
+ _authIssuersExpanded.push(other);
142
+ }
143
+ else if (iss.includes('127.0.0.1')) {
144
+ const other = iss.replace(/127\.0\.0\.1/g, 'localhost');
145
+ if (!_authIssuersExpanded.includes(other))
146
+ _authIssuersExpanded.push(other);
147
+ }
148
+ }
149
+ export const AUTH_TRUSTED_ISSUERS = _authIssuersExpanded;
150
+ // Allowed audiences: from env, or from KEYCLOAK_CLIENT_ID when unset. Add "account" for Keycloak access tokens when we have realm issuers.
151
+ const _authAudFromEnv = AUTH_ALLOWED_AUDIENCES_STRING.split(',')
152
+ .map((s) => s.trim())
153
+ .filter(Boolean);
154
+ const _authAudBase = _authAudFromEnv.length > 0
155
+ ? _authAudFromEnv
156
+ : KEYCLOAK_CLIENT_ID
157
+ ? [KEYCLOAK_CLIENT_ID]
158
+ : [];
159
+ const _hasKeycloakRealm = _authIssuersBase.some((u) => u.includes('/realms/'));
160
+ export const AUTH_ALLOWED_AUDIENCES = _hasKeycloakRealm && !_authAudBase.includes('account')
161
+ ? [..._authAudBase, 'account']
162
+ : _authAudBase;
163
+ /** Space for embedded mem docs and default when AUTH_ENABLED=false. Included in search scope for all users. Must follow space model (e.g. space:kairos-app). */
164
+ export const KAIROS_APP_SPACE_ID = getEnvString('KAIROS_APP_SPACE_ID', 'space:kairos-app');
165
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}