@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,271 @@
1
+ import crypto from 'node:crypto';
2
+ import { proofOfWorkStore, MAX_RETRIES } from '../services/proof-of-work-store.js';
3
+ import { embeddingService } from '../services/embedding/service.js';
4
+ import { extractMemoryBody } from '../utils/memory-body.js';
5
+ /** Minimum cosine similarity for comment proof to pass semantic validation. Reject if below. */
6
+ const COMMENT_SEMANTIC_THRESHOLD = 0.25;
7
+ /** Hash used as proof_hash for step 1 (no prior proof). */
8
+ export const GENESIS_HASH = crypto.createHash('sha256').update('genesis').digest('hex');
9
+ function hashProofRecord(record) {
10
+ const canonical = JSON.stringify(record, Object.keys(record).sort());
11
+ return crypto.createHash('sha256').update(canonical).digest('hex');
12
+ }
13
+ /** Build challenge shape from proof only (no nonce, no store). For read-only display e.g. kairos_dump. */
14
+ export function buildChallengeShapeForDisplay(proof) {
15
+ const base = proof ? (() => {
16
+ const proofType = proof.type || 'shell';
17
+ const result = { type: proofType, description: '' };
18
+ if (proofType === 'shell') {
19
+ const cmd = proof.shell?.cmd || proof.cmd || 'No command specified';
20
+ const timeout = proof.shell?.timeout_seconds || proof.timeout_seconds || 30;
21
+ result['description'] = `Execute shell command: ${cmd}. You MUST actually run this command and report the real exit_code/stdout/stderr; do not fabricate.`;
22
+ result['shell'] = { cmd, timeout_seconds: timeout };
23
+ }
24
+ else if (proofType === 'mcp') {
25
+ const toolName = proof.mcp?.tool_name || 'No tool specified';
26
+ result['description'] = `Call MCP tool: ${toolName}. You MUST actually call this tool and report its real result; do not fabricate.`;
27
+ result['mcp'] = { tool_name: toolName, expected_result: proof.mcp?.expected_result };
28
+ }
29
+ else if (proofType === 'user_input') {
30
+ const prompt = proof.user_input?.prompt || 'Confirm completion';
31
+ result['description'] = `User confirmation: ${prompt}. You MUST show this prompt to the user and use only their reply as user_input.confirmation; do not assume or invent it.`;
32
+ result['user_input'] = { prompt };
33
+ }
34
+ else if (proofType === 'comment') {
35
+ const minLength = proof.comment?.min_length || 10;
36
+ result['description'] = `Provide a verification comment (minimum ${minLength} characters) that genuinely summarises what was done in this step; do not paste unrelated text.`;
37
+ result['comment'] = { min_length: minLength };
38
+ }
39
+ return result;
40
+ })() : {
41
+ type: 'comment',
42
+ description: 'Provide a verification comment describing how you completed this step. Write a genuine summary; do not paste unrelated text.'
43
+ };
44
+ base['proof_hash'] = GENESIS_HASH;
45
+ return base;
46
+ }
47
+ export async function buildChallenge(memory, proof, options) {
48
+ const base = buildChallengeShapeForDisplay(proof);
49
+ if (memory?.memory_uuid) {
50
+ if (options?.existingNonce != null) {
51
+ base.nonce = options.existingNonce;
52
+ }
53
+ else {
54
+ const nonce = crypto.randomBytes(16).toString('hex');
55
+ await proofOfWorkStore.setNonce(memory.memory_uuid, nonce);
56
+ base.nonce = nonce;
57
+ }
58
+ }
59
+ return base;
60
+ }
61
+ /** @alias Backward compatibility alias (deprecated - use buildChallenge) */
62
+ export const buildProofOfWorkRequired = buildChallenge;
63
+ export async function tryUserInputElicitation(server, memory, solution, requestedUri, buildCurrentStep) {
64
+ if (memory.proof_of_work?.type !== 'user_input' || solution?.user_input?.confirmation) {
65
+ return { solution };
66
+ }
67
+ const lowLevel = server.server;
68
+ const caps = lowLevel?.getClientCapabilities?.();
69
+ if (caps?.elicitation == null || typeof lowLevel?.elicitInput !== 'function') {
70
+ return { solution };
71
+ }
72
+ const prompt = memory.proof_of_work.user_input?.prompt || 'Confirm completion';
73
+ try {
74
+ const elicitResult = await lowLevel.elicitInput({
75
+ message: prompt,
76
+ requestedSchema: {
77
+ type: 'object',
78
+ properties: { confirmation: { type: 'string', enum: ['approved', 'rejected'], description: 'Confirm or reject' } },
79
+ required: ['confirmation']
80
+ }
81
+ });
82
+ if (elicitResult?.action === 'accept' && elicitResult?.content?.confirmation) {
83
+ return { solution: { ...solution, type: 'user_input', user_input: { confirmation: elicitResult.content.confirmation, timestamp: new Date().toISOString() } } };
84
+ }
85
+ const challenge = await buildChallenge(memory, memory.proof_of_work);
86
+ const current_step = buildCurrentStep(memory, requestedUri);
87
+ if (elicitResult?.action === 'decline') {
88
+ return { payload: buildErrorPayload(memory, current_step, challenge, 'User declined confirmation.', 'USER_DECLINED', 1) };
89
+ }
90
+ return { payload: buildErrorPayload(memory, current_step, challenge, 'User cancelled or did not confirm.', 'USER_DECLINED', 1) };
91
+ }
92
+ catch (err) {
93
+ const challenge = await buildChallenge(memory, memory.proof_of_work);
94
+ return { payload: buildErrorPayload(memory, buildCurrentStep(memory, requestedUri), challenge, err instanceof Error ? err.message : 'Elicitation failed.', 'ELICITATION_FAILED', 1) };
95
+ }
96
+ }
97
+ /**
98
+ * Build an error response payload with two-phase retry escalation.
99
+ * Retries 1-3: must_obey true with recovery next_action.
100
+ * After 3: must_obey false with autonomous options.
101
+ */
102
+ function buildErrorPayload(memory, current_step, challenge, message, errorCode, retryCount) {
103
+ const uuid = memory?.memory_uuid;
104
+ const uri = uuid ? `kairos://mem/${uuid}` : '';
105
+ const maxExceeded = retryCount >= MAX_RETRIES;
106
+ const payload = {
107
+ must_obey: !maxExceeded,
108
+ current_step,
109
+ challenge,
110
+ message: maxExceeded
111
+ ? `Step failed ${retryCount} times. Use your judgment to recover.`
112
+ : message,
113
+ error_code: maxExceeded ? 'MAX_RETRIES_EXCEEDED' : errorCode,
114
+ retry_count: retryCount
115
+ };
116
+ if (maxExceeded && uri) {
117
+ payload.next_action = `Options: (1) call kairos_update with ${uri} to fix the step for future executions (2) call kairos_attest with ${uri} and outcome failure to abort (3) ask the user for help`;
118
+ }
119
+ else if (uri) {
120
+ payload.next_action = `retry kairos_next with ${uri} -- use nonce and proof_hash from THIS response's challenge`;
121
+ }
122
+ return payload;
123
+ }
124
+ export async function handleProofSubmission(submission, memory, options) {
125
+ if (!memory?.proof_of_work) {
126
+ return {};
127
+ }
128
+ const uuid = memory.memory_uuid;
129
+ const proofType = submission.type || 'shell';
130
+ const requiredType = memory.proof_of_work.type || 'shell';
131
+ // Accept both proof_hash (v2) and previousProofHash (v1 compat)
132
+ const submittedProofHash = submission.proof_hash ?? submission.previousProofHash;
133
+ // Build error with retry counting; reuse existing nonce so we don't reset retry key. For step 2+, set
134
+ // challenge.proof_hash to expectedPreviousHash so the client can echo it back (avoids PROOF_HASH_MISMATCH on retry).
135
+ const blocked = async (msg, code, currentStep, challengeObj) => {
136
+ const storedNonce = await proofOfWorkStore.getNonce(memory.memory_uuid);
137
+ const retryKey = storedNonce ?? uuid;
138
+ const retryCount = await proofOfWorkStore.incrementRetry(retryKey);
139
+ const cs = currentStep || { uri: `kairos://mem/${uuid}`, content: '', mimeType: 'text/markdown' };
140
+ let ch = challengeObj ||
141
+ (storedNonce != null
142
+ ? await buildChallenge(memory, memory.proof_of_work, { existingNonce: storedNonce })
143
+ : await buildChallenge(memory, memory.proof_of_work));
144
+ if (options?.expectedPreviousHash != null) {
145
+ ch = { ...ch, proof_hash: options.expectedPreviousHash };
146
+ }
147
+ return {
148
+ blockedPayload: buildErrorPayload(memory, cs, ch, msg, code, retryCount)
149
+ };
150
+ };
151
+ // Nonce validation
152
+ if (memory.memory_uuid) {
153
+ const storedNonce = await proofOfWorkStore.getNonce(memory.memory_uuid);
154
+ if (storedNonce != null) {
155
+ if (submission.nonce !== storedNonce) {
156
+ return blocked('Nonce mismatch. Use the nonce from the current step challenge.', 'NONCE_MISMATCH');
157
+ }
158
+ }
159
+ }
160
+ // Proof hash validation
161
+ if (options?.expectedPreviousHash != null && submittedProofHash !== undefined) {
162
+ if (submittedProofHash !== options.expectedPreviousHash) {
163
+ return blocked('proof_hash mismatch. Use proof_hash from the previous response or challenge.', 'PROOF_HASH_MISMATCH');
164
+ }
165
+ }
166
+ if (options?.expectedPreviousHash != null && submittedProofHash === undefined) {
167
+ return blocked('Include proof_hash in solution (use challenge.proof_hash for step 1).', 'MISSING_FIELD');
168
+ }
169
+ // Type validation
170
+ if (proofType !== requiredType && requiredType !== undefined) {
171
+ return blocked(`Expected proof type: ${requiredType}, got: ${proofType}`, 'TYPE_MISMATCH');
172
+ }
173
+ // Build result record
174
+ const record = {
175
+ result_id: `pow_${uuid}_${Date.now()}`,
176
+ type: proofType,
177
+ status: 'success',
178
+ executed_at: new Date().toISOString()
179
+ };
180
+ if (proofType === 'shell') {
181
+ const shell = submission.shell;
182
+ if (!shell) {
183
+ return blocked('Shell proof requires shell field with exit_code', 'MISSING_FIELD');
184
+ }
185
+ record.status = shell.exit_code === 0 ? 'success' : 'failed';
186
+ record.shell = {
187
+ exit_code: shell.exit_code,
188
+ ...(shell.stdout !== undefined && { stdout: shell.stdout }),
189
+ ...(shell.stderr !== undefined && { stderr: shell.stderr }),
190
+ ...(shell.duration_seconds !== undefined && { duration_seconds: shell.duration_seconds })
191
+ };
192
+ record.exit_code = shell.exit_code;
193
+ if (shell.stdout !== undefined)
194
+ record.stdout = shell.stdout;
195
+ if (shell.stderr !== undefined)
196
+ record.stderr = shell.stderr;
197
+ if (shell.duration_seconds !== undefined)
198
+ record.duration_seconds = shell.duration_seconds;
199
+ }
200
+ else if (proofType === 'mcp') {
201
+ const mcp = submission.mcp;
202
+ if (!mcp) {
203
+ return blocked('MCP proof requires mcp field', 'MISSING_FIELD');
204
+ }
205
+ record.status = mcp.success ? 'success' : 'failed';
206
+ record.mcp = {
207
+ tool_name: mcp.tool_name,
208
+ arguments: mcp.arguments,
209
+ result: mcp.result,
210
+ success: mcp.success
211
+ };
212
+ }
213
+ else if (proofType === 'user_input') {
214
+ const userInput = submission.user_input;
215
+ if (!userInput || !userInput.confirmation) {
216
+ return blocked('User input proof requires user_input.confirmation', 'MISSING_FIELD');
217
+ }
218
+ record.status = 'success';
219
+ record.user_input = {
220
+ confirmation: userInput.confirmation,
221
+ timestamp: userInput.timestamp || new Date().toISOString()
222
+ };
223
+ }
224
+ else if (proofType === 'comment') {
225
+ const comment = submission.comment;
226
+ if (!comment || !comment.text) {
227
+ return blocked('Comment proof requires comment.text', 'MISSING_FIELD');
228
+ }
229
+ const minLength = memory.proof_of_work.comment?.min_length || 10;
230
+ if (comment.text.length < minLength) {
231
+ return blocked(`Comment must be at least ${minLength} characters`, 'COMMENT_TOO_SHORT');
232
+ }
233
+ // Semantic validation
234
+ const stepContent = extractMemoryBody(memory.text) || String(memory.label || '').trim();
235
+ if (stepContent.length >= 20) {
236
+ try {
237
+ const [commentEmb, stepEmb] = await Promise.all([
238
+ embeddingService.generateEmbedding(comment.text.trim()),
239
+ embeddingService.generateEmbedding(stepContent.slice(0, 8000))
240
+ ]);
241
+ const similarity = embeddingService.calculateCosineSimilarity(commentEmb.embedding, stepEmb.embedding);
242
+ if (similarity < COMMENT_SEMANTIC_THRESHOLD) {
243
+ return blocked(`Comment does not appear relevant to this step (similarity ${similarity.toFixed(2)} < ${COMMENT_SEMANTIC_THRESHOLD}). Provide a response that engages with the step content.`, 'COMMENT_IRRELEVANT');
244
+ }
245
+ }
246
+ catch (_err) {
247
+ // Fail open: if embedding unavailable, allow length-valid comments
248
+ }
249
+ }
250
+ record.status = 'success';
251
+ record.comment = { text: comment.text };
252
+ }
253
+ // Idempotency: if we already have a successful result for this step, return existing hash and skip re-saving (avoids double quality update)
254
+ const existing = await proofOfWorkStore.getResult(uuid);
255
+ if (existing?.status === 'success') {
256
+ const proofHash = await proofOfWorkStore.getProofHash(uuid);
257
+ return proofHash ? { proofHash, alreadyRecorded: true } : { proofHash: hashProofRecord(record) };
258
+ }
259
+ await proofOfWorkStore.saveResult(uuid, record);
260
+ const proofHash = hashProofRecord(record);
261
+ await proofOfWorkStore.setProofHash(uuid, proofHash);
262
+ if (memory.proof_of_work.required && record.status === 'failed') {
263
+ return blocked('Proof of work failed. Fix and retry.', 'COMMAND_FAILED');
264
+ }
265
+ // Success -- reset retry counter for this challenge instance
266
+ const storedNonce = await proofOfWorkStore.getNonce(memory.memory_uuid);
267
+ const retryKey = storedNonce ?? uuid;
268
+ await proofOfWorkStore.resetRetry(retryKey);
269
+ return { proofHash };
270
+ }
271
+ //# sourceMappingURL=kairos_next-pow-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kairos_next-pow-helpers.js","sourceRoot":"","sources":["../../src/tools/kairos_next-pow-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * MISSING_PROOF fix: when the requested step has no proof_of_work, apply the solution to the previous step.
3
+ * Shared by MCP (kairos_next) and HTTP (http-api-next).
4
+ */
5
+ import type { Memory } from '../types/memory.js';
6
+ import type { QdrantService } from '../services/qdrant/service.js';
7
+ import { type ProofOfWorkSubmission, type HandleProofResult } from './kairos_next-pow-helpers.js';
8
+ export type PreviousProofBlock = {
9
+ message: string;
10
+ error_code: string;
11
+ next_action?: string;
12
+ };
13
+ export type TryApplyToPreviousResult = {
14
+ applied: true;
15
+ outcome: HandleProofResult;
16
+ prevMemory: Memory;
17
+ } | {
18
+ applied: false;
19
+ };
20
+ /**
21
+ * If the requested step has no proof_of_work and the previous step has required proof, validate and store
22
+ * the solution against the previous step. Returns { applied: true, outcome, prevMemory } when applied
23
+ * (caller must then check ensurePreviousProofCompleted and build response), or { applied: false }.
24
+ */
25
+ export declare function tryApplySolutionToPreviousStep(memory: Memory, solution: ProofOfWorkSubmission, loadMemory: (uuid: string) => Promise<Memory | null>, qdrantService: QdrantService | undefined): Promise<TryApplyToPreviousResult>;
26
+ /**
27
+ * PROOF_HASH_MISMATCH fix: when the client calls kairos_next with the URI from next_action (the *next*
28
+ * step), they are submitting the solution for the step we just showed (the previous step). If the
29
+ * requested step has proof_of_work but the previous step has none stored yet and the solution type
30
+ * matches the previous step's challenge, apply the solution to the previous step and return applied.
31
+ * This prevents PROOF_HASH_MISMATCH because we expect the hash from the previous response, not
32
+ * the hash of the previous step (which is not stored yet).
33
+ */
34
+ export declare function tryApplySolutionToPreviousStepWhenSolutionMatchesPrevious(requestedMemory: Memory, solution: ProofOfWorkSubmission, loadMemory: (uuid: string) => Promise<Memory | null>, qdrantService: QdrantService | undefined): Promise<TryApplyToPreviousResult>;
35
+ export declare function ensurePreviousProofCompleted(memory: Memory, loadMemory: (uuid: string) => Promise<Memory | null>, qdrantService: QdrantService | undefined): Promise<PreviousProofBlock | null>;
36
+ //# sourceMappingURL=kairos_next-previous-step.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kairos_next-previous-step.d.ts","sourceRoot":"","sources":["../../src/tools/kairos_next-previous-step.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAGnE,OAAO,EAAuC,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEvI,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;AAEvB;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,qBAAqB,EAC/B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EACpD,aAAa,EAAE,aAAa,GAAG,SAAS,GACvC,OAAO,CAAC,wBAAwB,CAAC,CAkBnC;AAED;;;;;;;GAOG;AACH,wBAAsB,yDAAyD,CAC7E,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,qBAAqB,EAC/B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EACpD,aAAa,EAAE,aAAa,GAAG,SAAS,GACvC,OAAO,CAAC,wBAAwB,CAAC,CA0BnC;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EACpD,aAAa,EAAE,aAAa,GAAG,SAAS,GACvC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CA2CpC"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * MISSING_PROOF fix: when the requested step has no proof_of_work, apply the solution to the previous step.
3
+ * Shared by MCP (kairos_next) and HTTP (http-api-next).
4
+ */
5
+ import { resolveChainPreviousStep } from '../services/chain-utils.js';
6
+ import { proofOfWorkStore } from '../services/proof-of-work-store.js';
7
+ import { handleProofSubmission, GENESIS_HASH } from './kairos_next-pow-helpers.js';
8
+ /**
9
+ * If the requested step has no proof_of_work and the previous step has required proof, validate and store
10
+ * the solution against the previous step. Returns { applied: true, outcome, prevMemory } when applied
11
+ * (caller must then check ensurePreviousProofCompleted and build response), or { applied: false }.
12
+ */
13
+ export async function tryApplySolutionToPreviousStep(memory, solution, loadMemory, qdrantService) {
14
+ if (memory.proof_of_work)
15
+ return { applied: false };
16
+ const prevInfo = await resolveChainPreviousStep(memory, qdrantService);
17
+ const prevMemory = prevInfo?.uuid ? await loadMemory(prevInfo.uuid) : null;
18
+ if (!prevMemory?.proof_of_work?.required)
19
+ return { applied: false };
20
+ const prevIsStep1 = !prevMemory.chain || prevMemory.chain.step_index <= 1;
21
+ const expectedPrevHash = prevIsStep1
22
+ ? GENESIS_HASH
23
+ : (await (async () => {
24
+ const p = await resolveChainPreviousStep(prevMemory, qdrantService);
25
+ return p?.uuid ? await proofOfWorkStore.getProofHash(p.uuid) : null;
26
+ })()) ?? GENESIS_HASH;
27
+ const outcome = await handleProofSubmission(solution, prevMemory, {
28
+ expectedPreviousHash: expectedPrevHash
29
+ });
30
+ return { applied: true, outcome, prevMemory };
31
+ }
32
+ /**
33
+ * PROOF_HASH_MISMATCH fix: when the client calls kairos_next with the URI from next_action (the *next*
34
+ * step), they are submitting the solution for the step we just showed (the previous step). If the
35
+ * requested step has proof_of_work but the previous step has none stored yet and the solution type
36
+ * matches the previous step's challenge, apply the solution to the previous step and return applied.
37
+ * This prevents PROOF_HASH_MISMATCH because we expect the hash from the previous response, not
38
+ * the hash of the previous step (which is not stored yet).
39
+ */
40
+ export async function tryApplySolutionToPreviousStepWhenSolutionMatchesPrevious(requestedMemory, solution, loadMemory, qdrantService) {
41
+ if (!requestedMemory.proof_of_work)
42
+ return { applied: false };
43
+ const prevInfo = await resolveChainPreviousStep(requestedMemory, qdrantService);
44
+ if (!prevInfo?.uuid)
45
+ return { applied: false };
46
+ const prevMemory = await loadMemory(prevInfo.uuid);
47
+ if (!prevMemory?.proof_of_work?.required)
48
+ return { applied: false };
49
+ const storedResult = await proofOfWorkStore.getResult(prevInfo.uuid);
50
+ if (storedResult)
51
+ return { applied: false };
52
+ const requiredType = prevMemory.proof_of_work.type || 'shell';
53
+ const solutionType = solution.type || 'shell';
54
+ if (solutionType !== requiredType)
55
+ return { applied: false };
56
+ const prevIsStep1 = !prevMemory.chain || prevMemory.chain.step_index <= 1;
57
+ const expectedPrevHash = prevIsStep1
58
+ ? GENESIS_HASH
59
+ : (await (async () => {
60
+ const p = await resolveChainPreviousStep(prevMemory, qdrantService);
61
+ return p?.uuid ? await proofOfWorkStore.getProofHash(p.uuid) : null;
62
+ })()) ?? GENESIS_HASH;
63
+ const outcome = await handleProofSubmission(solution, prevMemory, {
64
+ expectedPreviousHash: expectedPrevHash
65
+ });
66
+ return { applied: true, outcome, prevMemory };
67
+ }
68
+ export async function ensurePreviousProofCompleted(memory, loadMemory, qdrantService) {
69
+ if (!memory?.chain || memory.chain.step_index <= 1)
70
+ return null;
71
+ const previous = await resolveChainPreviousStep(memory, qdrantService);
72
+ if (!previous?.uuid)
73
+ return null;
74
+ const prevMemory = await loadMemory(previous.uuid);
75
+ const prevProof = prevMemory?.proof_of_work;
76
+ if (!prevProof || !prevProof.required)
77
+ return null;
78
+ const storedResult = await proofOfWorkStore.getResult(previous.uuid);
79
+ if (!storedResult) {
80
+ const proofType = prevProof.type || 'shell';
81
+ const stepLabel = prevMemory?.label || 'previous step';
82
+ const prevStepUri = `kairos://mem/${previous.uuid}`;
83
+ let message = `Proof of work missing for ${stepLabel}.`;
84
+ let next_action;
85
+ if (proofType === 'shell') {
86
+ const cmd = prevProof.shell?.cmd || prevProof.cmd || 'the required command';
87
+ message += ` Execute "${cmd}" and report the result before continuing.`;
88
+ next_action = `Execute "${prevProof.shell?.cmd || prevProof.cmd || cmd}", then call kairos_next with ${prevStepUri} and solution matching that step's challenge.`;
89
+ }
90
+ else if (proofType === 'user_input') {
91
+ const prompt = prevProof.user_input?.prompt || 'Confirm (see step content).';
92
+ message += ` For user_input you must obtain the user's actual reply — do not infer or invent. Submit that proof by calling kairos_next with ${prevStepUri} and solution.user_input.confirmation.`;
93
+ next_action = `Ask the user: "${prompt}" then call kairos_next with ${prevStepUri} and solution.user_input.confirmation set to their reply.`;
94
+ }
95
+ else if (proofType === 'mcp') {
96
+ const toolName = prevProof.mcp?.tool_name || 'the required tool';
97
+ message += ` Submit that proof by calling kairos_next with ${prevStepUri} and solution.mcp. Call the MCP tool "${toolName}" and report its real result; do not fabricate.`;
98
+ next_action = `Call ${toolName}, then call kairos_next with ${prevStepUri} and solution.mcp with the real result.`;
99
+ }
100
+ else if (proofType === 'comment') {
101
+ const minLen = prevProof.comment?.min_length ?? 10;
102
+ message += ` Submit that proof by calling kairos_next with ${prevStepUri} and solution.comment.text (min ${minLen} chars). Write a genuine summary of what was done; do not paste unrelated text.`;
103
+ next_action = `call kairos_next with ${prevStepUri} and solution.comment.text (min ${minLen} chars).`;
104
+ }
105
+ else {
106
+ message += ` Complete the required ${proofType} verification before continuing.`;
107
+ next_action = `call kairos_next with ${prevStepUri} -- complete previous step first`;
108
+ }
109
+ if (!next_action)
110
+ next_action = `call kairos_next with ${prevStepUri} -- complete previous step first`;
111
+ const block = { message, error_code: 'MISSING_PROOF' };
112
+ if (next_action !== undefined)
113
+ block.next_action = next_action;
114
+ return block;
115
+ }
116
+ if (storedResult.status !== 'success') {
117
+ return { message: 'Previous step proof failed. Fix and retry.', error_code: 'COMMAND_FAILED' };
118
+ }
119
+ return null;
120
+ }
121
+ //# sourceMappingURL=kairos_next-previous-step.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kairos_next-previous-step.js","sourceRoot":"","sources":["../../src/tools/kairos_next-previous-step.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { MemoryQdrantStore } from '../services/memory/store.js';
2
+ import type { QdrantService } from '../services/qdrant/service.js';
3
+ import type { Memory } from '../types/memory.js';
4
+ interface RegisterNextOptions {
5
+ toolName?: string;
6
+ qdrantService?: QdrantService;
7
+ }
8
+ /** Update quality_metadata and quality_metrics for the completed step. Log and continue on error; do not fail the request. Shared by MCP and HTTP kairos_next. */
9
+ export declare function updateStepQuality(qdrantService: QdrantService, memory: Memory, outcome: 'success' | 'failure', tenantId: string): Promise<void>;
10
+ export declare function registerKairosNextTool(server: any, memoryStore: MemoryQdrantStore, options?: RegisterNextOptions): void;
11
+ export {};
12
+ //# sourceMappingURL=kairos_next.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kairos_next.d.ts","sourceRoot":"","sources":["../../src/tools/kairos_next.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAMnE,OAAO,KAAK,EAAE,MAAM,EAAyB,MAAM,oBAAoB,CAAC;AAUxE,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AA4DD,kKAAkK;AAClK,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,SAAS,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,GAAE,mBAAwB,QA6NpH"}