memkin 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (914) hide show
  1. package/LICENSE +191 -0
  2. package/README.en.md +934 -0
  3. package/README.md +934 -0
  4. package/README.zh-CN.md +825 -0
  5. package/bin/memkin.mjs +41 -0
  6. package/dist/adapters/file.d.ts +19 -0
  7. package/dist/adapters/file.d.ts.map +1 -0
  8. package/dist/adapters/file.js +61 -0
  9. package/dist/adapters/file.js.map +1 -0
  10. package/dist/adapters/gbrain.d.ts +29 -0
  11. package/dist/adapters/gbrain.d.ts.map +1 -0
  12. package/dist/adapters/gbrain.js +622 -0
  13. package/dist/adapters/gbrain.js.map +1 -0
  14. package/dist/adapters/index.d.ts +6 -0
  15. package/dist/adapters/index.d.ts.map +1 -0
  16. package/dist/adapters/index.js +5 -0
  17. package/dist/adapters/index.js.map +1 -0
  18. package/dist/adapters/registry.d.ts +18 -0
  19. package/dist/adapters/registry.d.ts.map +1 -0
  20. package/dist/adapters/registry.js +18 -0
  21. package/dist/adapters/registry.js.map +1 -0
  22. package/dist/adapters/stdout.d.ts +12 -0
  23. package/dist/adapters/stdout.d.ts.map +1 -0
  24. package/dist/adapters/stdout.js +29 -0
  25. package/dist/adapters/stdout.js.map +1 -0
  26. package/dist/adapters/store.d.ts +47 -0
  27. package/dist/adapters/store.d.ts.map +1 -0
  28. package/dist/adapters/store.js +642 -0
  29. package/dist/adapters/store.js.map +1 -0
  30. package/dist/cli-helpers.d.ts +12 -0
  31. package/dist/cli-helpers.d.ts.map +1 -0
  32. package/dist/cli-helpers.js +11 -0
  33. package/dist/cli-helpers.js.map +1 -0
  34. package/dist/cli-stores.d.ts +61 -0
  35. package/dist/cli-stores.d.ts.map +1 -0
  36. package/dist/cli-stores.js +130 -0
  37. package/dist/cli-stores.js.map +1 -0
  38. package/dist/cli.d.ts +2 -0
  39. package/dist/cli.d.ts.map +1 -0
  40. package/dist/cli.js +1579 -0
  41. package/dist/cli.js.map +1 -0
  42. package/dist/collectors/agent/claude-code.d.ts +12 -0
  43. package/dist/collectors/agent/claude-code.d.ts.map +1 -0
  44. package/dist/collectors/agent/claude-code.js +94 -0
  45. package/dist/collectors/agent/claude-code.js.map +1 -0
  46. package/dist/collectors/agent/codex.d.ts +16 -0
  47. package/dist/collectors/agent/codex.d.ts.map +1 -0
  48. package/dist/collectors/agent/codex.js +149 -0
  49. package/dist/collectors/agent/codex.js.map +1 -0
  50. package/dist/collectors/agent/collector.d.ts +20 -0
  51. package/dist/collectors/agent/collector.d.ts.map +1 -0
  52. package/dist/collectors/agent/collector.js +108 -0
  53. package/dist/collectors/agent/collector.js.map +1 -0
  54. package/dist/collectors/agent/hermes.d.ts +13 -0
  55. package/dist/collectors/agent/hermes.d.ts.map +1 -0
  56. package/dist/collectors/agent/hermes.js +90 -0
  57. package/dist/collectors/agent/hermes.js.map +1 -0
  58. package/dist/collectors/agent/index.d.ts +6 -0
  59. package/dist/collectors/agent/index.d.ts.map +1 -0
  60. package/dist/collectors/agent/index.js +5 -0
  61. package/dist/collectors/agent/index.js.map +1 -0
  62. package/dist/collectors/agent/types.d.ts +61 -0
  63. package/dist/collectors/agent/types.d.ts.map +1 -0
  64. package/dist/collectors/agent/types.js +6 -0
  65. package/dist/collectors/agent/types.js.map +1 -0
  66. package/dist/collectors/feishu/auth.d.ts +13 -0
  67. package/dist/collectors/feishu/auth.d.ts.map +1 -0
  68. package/dist/collectors/feishu/auth.js +72 -0
  69. package/dist/collectors/feishu/auth.js.map +1 -0
  70. package/dist/collectors/feishu/chat-name-resolver.d.ts +33 -0
  71. package/dist/collectors/feishu/chat-name-resolver.d.ts.map +1 -0
  72. package/dist/collectors/feishu/chat-name-resolver.js +63 -0
  73. package/dist/collectors/feishu/chat-name-resolver.js.map +1 -0
  74. package/dist/collectors/feishu/collector.d.ts +27 -0
  75. package/dist/collectors/feishu/collector.d.ts.map +1 -0
  76. package/dist/collectors/feishu/collector.js +136 -0
  77. package/dist/collectors/feishu/collector.js.map +1 -0
  78. package/dist/collectors/feishu/cursor-staging.d.ts +11 -0
  79. package/dist/collectors/feishu/cursor-staging.d.ts.map +1 -0
  80. package/dist/collectors/feishu/cursor-staging.js +37 -0
  81. package/dist/collectors/feishu/cursor-staging.js.map +1 -0
  82. package/dist/collectors/feishu/docs/blocks.d.ts +25 -0
  83. package/dist/collectors/feishu/docs/blocks.d.ts.map +1 -0
  84. package/dist/collectors/feishu/docs/blocks.js +34 -0
  85. package/dist/collectors/feishu/docs/blocks.js.map +1 -0
  86. package/dist/collectors/feishu/docs/candidate.d.ts +17 -0
  87. package/dist/collectors/feishu/docs/candidate.d.ts.map +1 -0
  88. package/dist/collectors/feishu/docs/candidate.js +36 -0
  89. package/dist/collectors/feishu/docs/candidate.js.map +1 -0
  90. package/dist/collectors/feishu/docs/config.d.ts +41 -0
  91. package/dist/collectors/feishu/docs/config.d.ts.map +1 -0
  92. package/dist/collectors/feishu/docs/config.js +30 -0
  93. package/dist/collectors/feishu/docs/config.js.map +1 -0
  94. package/dist/collectors/feishu/docs/decision.d.ts +14 -0
  95. package/dist/collectors/feishu/docs/decision.d.ts.map +1 -0
  96. package/dist/collectors/feishu/docs/decision.js +43 -0
  97. package/dist/collectors/feishu/docs/decision.js.map +1 -0
  98. package/dist/collectors/feishu/docs/full-builder.d.ts +17 -0
  99. package/dist/collectors/feishu/docs/full-builder.d.ts.map +1 -0
  100. package/dist/collectors/feishu/docs/full-builder.js +136 -0
  101. package/dist/collectors/feishu/docs/full-builder.js.map +1 -0
  102. package/dist/collectors/feishu/docs/hash.d.ts +8 -0
  103. package/dist/collectors/feishu/docs/hash.d.ts.map +1 -0
  104. package/dist/collectors/feishu/docs/hash.js +15 -0
  105. package/dist/collectors/feishu/docs/hash.js.map +1 -0
  106. package/dist/collectors/feishu/docs/ingest.d.ts +54 -0
  107. package/dist/collectors/feishu/docs/ingest.d.ts.map +1 -0
  108. package/dist/collectors/feishu/docs/ingest.js +120 -0
  109. package/dist/collectors/feishu/docs/ingest.js.map +1 -0
  110. package/dist/collectors/feishu/docs/llm-json.d.ts +13 -0
  111. package/dist/collectors/feishu/docs/llm-json.d.ts.map +1 -0
  112. package/dist/collectors/feishu/docs/llm-json.js +40 -0
  113. package/dist/collectors/feishu/docs/llm-json.js.map +1 -0
  114. package/dist/collectors/feishu/docs/pointer-builder.d.ts +7 -0
  115. package/dist/collectors/feishu/docs/pointer-builder.d.ts.map +1 -0
  116. package/dist/collectors/feishu/docs/pointer-builder.js +11 -0
  117. package/dist/collectors/feishu/docs/pointer-builder.js.map +1 -0
  118. package/dist/collectors/feishu/docs/render.d.ts +8 -0
  119. package/dist/collectors/feishu/docs/render.d.ts.map +1 -0
  120. package/dist/collectors/feishu/docs/render.js +105 -0
  121. package/dist/collectors/feishu/docs/render.js.map +1 -0
  122. package/dist/collectors/feishu/docs/run.d.ts +37 -0
  123. package/dist/collectors/feishu/docs/run.d.ts.map +1 -0
  124. package/dist/collectors/feishu/docs/run.js +143 -0
  125. package/dist/collectors/feishu/docs/run.js.map +1 -0
  126. package/dist/collectors/feishu/docs/status.d.ts +16 -0
  127. package/dist/collectors/feishu/docs/status.d.ts.map +1 -0
  128. package/dist/collectors/feishu/docs/status.js +24 -0
  129. package/dist/collectors/feishu/docs/status.js.map +1 -0
  130. package/dist/collectors/feishu/docs/store-writer.d.ts +32 -0
  131. package/dist/collectors/feishu/docs/store-writer.d.ts.map +1 -0
  132. package/dist/collectors/feishu/docs/store-writer.js +71 -0
  133. package/dist/collectors/feishu/docs/store-writer.js.map +1 -0
  134. package/dist/collectors/feishu/docs/toc.d.ts +3 -0
  135. package/dist/collectors/feishu/docs/toc.d.ts.map +1 -0
  136. package/dist/collectors/feishu/docs/toc.js +19 -0
  137. package/dist/collectors/feishu/docs/toc.js.map +1 -0
  138. package/dist/collectors/feishu/docs/triggers.d.ts +7 -0
  139. package/dist/collectors/feishu/docs/triggers.d.ts.map +1 -0
  140. package/dist/collectors/feishu/docs/triggers.js +31 -0
  141. package/dist/collectors/feishu/docs/triggers.js.map +1 -0
  142. package/dist/collectors/feishu/docs/types.d.ts +109 -0
  143. package/dist/collectors/feishu/docs/types.d.ts.map +1 -0
  144. package/dist/collectors/feishu/docs/types.js +2 -0
  145. package/dist/collectors/feishu/docs/types.js.map +1 -0
  146. package/dist/collectors/feishu/docs/upgrade-queue.d.ts +19 -0
  147. package/dist/collectors/feishu/docs/upgrade-queue.d.ts.map +1 -0
  148. package/dist/collectors/feishu/docs/upgrade-queue.js +36 -0
  149. package/dist/collectors/feishu/docs/upgrade-queue.js.map +1 -0
  150. package/dist/collectors/feishu/docs/url-parser.d.ts +3 -0
  151. package/dist/collectors/feishu/docs/url-parser.d.ts.map +1 -0
  152. package/dist/collectors/feishu/docs/url-parser.js +39 -0
  153. package/dist/collectors/feishu/docs/url-parser.js.map +1 -0
  154. package/dist/collectors/feishu/docs/walkers.d.ts +24 -0
  155. package/dist/collectors/feishu/docs/walkers.d.ts.map +1 -0
  156. package/dist/collectors/feishu/docs/walkers.js +90 -0
  157. package/dist/collectors/feishu/docs/walkers.js.map +1 -0
  158. package/dist/collectors/feishu/docs/wiki-resolver.d.ts +15 -0
  159. package/dist/collectors/feishu/docs/wiki-resolver.d.ts.map +1 -0
  160. package/dist/collectors/feishu/docs/wiki-resolver.js +24 -0
  161. package/dist/collectors/feishu/docs/wiki-resolver.js.map +1 -0
  162. package/dist/collectors/feishu/http-client.d.ts +26 -0
  163. package/dist/collectors/feishu/http-client.d.ts.map +1 -0
  164. package/dist/collectors/feishu/http-client.js +94 -0
  165. package/dist/collectors/feishu/http-client.js.map +1 -0
  166. package/dist/collectors/feishu/index.d.ts +3 -0
  167. package/dist/collectors/feishu/index.d.ts.map +1 -0
  168. package/dist/collectors/feishu/index.js +2 -0
  169. package/dist/collectors/feishu/index.js.map +1 -0
  170. package/dist/collectors/feishu/lark-cli-client.d.ts +28 -0
  171. package/dist/collectors/feishu/lark-cli-client.d.ts.map +1 -0
  172. package/dist/collectors/feishu/lark-cli-client.js +104 -0
  173. package/dist/collectors/feishu/lark-cli-client.js.map +1 -0
  174. package/dist/collectors/feishu/lark-cli-identity-backend.d.ts +28 -0
  175. package/dist/collectors/feishu/lark-cli-identity-backend.d.ts.map +1 -0
  176. package/dist/collectors/feishu/lark-cli-identity-backend.js +110 -0
  177. package/dist/collectors/feishu/lark-cli-identity-backend.js.map +1 -0
  178. package/dist/collectors/feishu/rate-limiter.d.ts +10 -0
  179. package/dist/collectors/feishu/rate-limiter.d.ts.map +1 -0
  180. package/dist/collectors/feishu/rate-limiter.js +33 -0
  181. package/dist/collectors/feishu/rate-limiter.js.map +1 -0
  182. package/dist/collectors/feishu/self-open-id.d.ts +20 -0
  183. package/dist/collectors/feishu/self-open-id.d.ts.map +1 -0
  184. package/dist/collectors/feishu/self-open-id.js +31 -0
  185. package/dist/collectors/feishu/self-open-id.js.map +1 -0
  186. package/dist/collectors/feishu/sources/base.d.ts +9 -0
  187. package/dist/collectors/feishu/sources/base.d.ts.map +1 -0
  188. package/dist/collectors/feishu/sources/base.js +2 -0
  189. package/dist/collectors/feishu/sources/base.js.map +1 -0
  190. package/dist/collectors/feishu/sources/calendar.d.ts +16 -0
  191. package/dist/collectors/feishu/sources/calendar.d.ts.map +1 -0
  192. package/dist/collectors/feishu/sources/calendar.js +98 -0
  193. package/dist/collectors/feishu/sources/calendar.js.map +1 -0
  194. package/dist/collectors/feishu/sources/dm.d.ts +28 -0
  195. package/dist/collectors/feishu/sources/dm.d.ts.map +1 -0
  196. package/dist/collectors/feishu/sources/dm.js +156 -0
  197. package/dist/collectors/feishu/sources/dm.js.map +1 -0
  198. package/dist/collectors/feishu/sources/mail.d.ts +27 -0
  199. package/dist/collectors/feishu/sources/mail.d.ts.map +1 -0
  200. package/dist/collectors/feishu/sources/mail.js +149 -0
  201. package/dist/collectors/feishu/sources/mail.js.map +1 -0
  202. package/dist/collectors/feishu/sources/message-search.d.ts +37 -0
  203. package/dist/collectors/feishu/sources/message-search.d.ts.map +1 -0
  204. package/dist/collectors/feishu/sources/message-search.js +140 -0
  205. package/dist/collectors/feishu/sources/message-search.js.map +1 -0
  206. package/dist/collectors/feishu/sources/messages.d.ts +28 -0
  207. package/dist/collectors/feishu/sources/messages.d.ts.map +1 -0
  208. package/dist/collectors/feishu/sources/messages.js +175 -0
  209. package/dist/collectors/feishu/sources/messages.js.map +1 -0
  210. package/dist/collectors/feishu/sources/tasks.d.ts +15 -0
  211. package/dist/collectors/feishu/sources/tasks.d.ts.map +1 -0
  212. package/dist/collectors/feishu/sources/tasks.js +74 -0
  213. package/dist/collectors/feishu/sources/tasks.js.map +1 -0
  214. package/dist/collectors/feishu/types.d.ts +258 -0
  215. package/dist/collectors/feishu/types.d.ts.map +1 -0
  216. package/dist/collectors/feishu/types.js +17 -0
  217. package/dist/collectors/feishu/types.js.map +1 -0
  218. package/dist/collectors/index.d.ts +10 -0
  219. package/dist/collectors/index.d.ts.map +1 -0
  220. package/dist/collectors/index.js +18 -0
  221. package/dist/collectors/index.js.map +1 -0
  222. package/dist/config-center/connection-checks.d.ts +28 -0
  223. package/dist/config-center/connection-checks.d.ts.map +1 -0
  224. package/dist/config-center/connection-checks.js +114 -0
  225. package/dist/config-center/connection-checks.js.map +1 -0
  226. package/dist/config-center/document.d.ts +21 -0
  227. package/dist/config-center/document.d.ts.map +1 -0
  228. package/dist/config-center/document.js +93 -0
  229. package/dist/config-center/document.js.map +1 -0
  230. package/dist/config-center/index.d.ts +9 -0
  231. package/dist/config-center/index.d.ts.map +1 -0
  232. package/dist/config-center/index.js +29 -0
  233. package/dist/config-center/index.js.map +1 -0
  234. package/dist/config-center/recommendations.d.ts +16 -0
  235. package/dist/config-center/recommendations.d.ts.map +1 -0
  236. package/dist/config-center/recommendations.js +50 -0
  237. package/dist/config-center/recommendations.js.map +1 -0
  238. package/dist/config-center/reducer.d.ts +57 -0
  239. package/dist/config-center/reducer.d.ts.map +1 -0
  240. package/dist/config-center/reducer.js +192 -0
  241. package/dist/config-center/reducer.js.map +1 -0
  242. package/dist/config-center/schema.d.ts +31 -0
  243. package/dist/config-center/schema.d.ts.map +1 -0
  244. package/dist/config-center/schema.js +442 -0
  245. package/dist/config-center/schema.js.map +1 -0
  246. package/dist/config-center/secrets.d.ts +9 -0
  247. package/dist/config-center/secrets.d.ts.map +1 -0
  248. package/dist/config-center/secrets.js +51 -0
  249. package/dist/config-center/secrets.js.map +1 -0
  250. package/dist/config-center/source-dirs.d.ts +16 -0
  251. package/dist/config-center/source-dirs.d.ts.map +1 -0
  252. package/dist/config-center/source-dirs.js +81 -0
  253. package/dist/config-center/source-dirs.js.map +1 -0
  254. package/dist/config-center/tui/app.d.ts +22 -0
  255. package/dist/config-center/tui/app.d.ts.map +1 -0
  256. package/dist/config-center/tui/app.js +142 -0
  257. package/dist/config-center/tui/app.js.map +1 -0
  258. package/dist/config-center/tui/render.d.ts +20 -0
  259. package/dist/config-center/tui/render.d.ts.map +1 -0
  260. package/dist/config-center/tui/render.js +166 -0
  261. package/dist/config-center/tui/render.js.map +1 -0
  262. package/dist/config-center/validation.d.ts +9 -0
  263. package/dist/config-center/validation.d.ts.map +1 -0
  264. package/dist/config-center/validation.js +59 -0
  265. package/dist/config-center/validation.js.map +1 -0
  266. package/dist/consolidator/consolidator.d.ts +43 -0
  267. package/dist/consolidator/consolidator.d.ts.map +1 -0
  268. package/dist/consolidator/consolidator.js +67 -0
  269. package/dist/consolidator/consolidator.js.map +1 -0
  270. package/dist/consolidator/dead-link.d.ts +7 -0
  271. package/dist/consolidator/dead-link.d.ts.map +1 -0
  272. package/dist/consolidator/dead-link.js +57 -0
  273. package/dist/consolidator/dead-link.js.map +1 -0
  274. package/dist/consolidator/hot-warm.d.ts +9 -0
  275. package/dist/consolidator/hot-warm.d.ts.map +1 -0
  276. package/dist/consolidator/hot-warm.js +88 -0
  277. package/dist/consolidator/hot-warm.js.map +1 -0
  278. package/dist/consolidator/infer-preferences.d.ts +14 -0
  279. package/dist/consolidator/infer-preferences.d.ts.map +1 -0
  280. package/dist/consolidator/infer-preferences.js +73 -0
  281. package/dist/consolidator/infer-preferences.js.map +1 -0
  282. package/dist/consolidator/rules.d.ts +5 -0
  283. package/dist/consolidator/rules.d.ts.map +1 -0
  284. package/dist/consolidator/rules.js +53 -0
  285. package/dist/consolidator/rules.js.map +1 -0
  286. package/dist/consolidator/warm-cold.d.ts +13 -0
  287. package/dist/consolidator/warm-cold.d.ts.map +1 -0
  288. package/dist/consolidator/warm-cold.js +91 -0
  289. package/dist/consolidator/warm-cold.js.map +1 -0
  290. package/dist/core/block-builder.d.ts +15 -0
  291. package/dist/core/block-builder.d.ts.map +1 -0
  292. package/dist/core/block-builder.js +185 -0
  293. package/dist/core/block-builder.js.map +1 -0
  294. package/dist/core/canonicalize.d.ts +3 -0
  295. package/dist/core/canonicalize.d.ts.map +1 -0
  296. package/dist/core/canonicalize.js +141 -0
  297. package/dist/core/canonicalize.js.map +1 -0
  298. package/dist/core/concurrency.d.ts +2 -0
  299. package/dist/core/concurrency.d.ts.map +1 -0
  300. package/dist/core/concurrency.js +14 -0
  301. package/dist/core/concurrency.js.map +1 -0
  302. package/dist/core/config.d.ts +257 -0
  303. package/dist/core/config.d.ts.map +1 -0
  304. package/dist/core/config.js +247 -0
  305. package/dist/core/config.js.map +1 -0
  306. package/dist/core/cursors.d.ts +36 -0
  307. package/dist/core/cursors.d.ts.map +1 -0
  308. package/dist/core/cursors.js +90 -0
  309. package/dist/core/cursors.js.map +1 -0
  310. package/dist/core/dedup.d.ts +45 -0
  311. package/dist/core/dedup.d.ts.map +1 -0
  312. package/dist/core/dedup.js +111 -0
  313. package/dist/core/dedup.js.map +1 -0
  314. package/dist/core/entity-extract.d.ts +3 -0
  315. package/dist/core/entity-extract.d.ts.map +1 -0
  316. package/dist/core/entity-extract.js +54 -0
  317. package/dist/core/entity-extract.js.map +1 -0
  318. package/dist/core/env-validation.d.ts +9 -0
  319. package/dist/core/env-validation.d.ts.map +1 -0
  320. package/dist/core/env-validation.js +94 -0
  321. package/dist/core/env-validation.js.map +1 -0
  322. package/dist/core/helpers.d.ts +3 -0
  323. package/dist/core/helpers.d.ts.map +1 -0
  324. package/dist/core/helpers.js +10 -0
  325. package/dist/core/helpers.js.map +1 -0
  326. package/dist/core/identity-resolver.d.ts +42 -0
  327. package/dist/core/identity-resolver.d.ts.map +1 -0
  328. package/dist/core/identity-resolver.js +207 -0
  329. package/dist/core/identity-resolver.js.map +1 -0
  330. package/dist/core/person-identity.d.ts +140 -0
  331. package/dist/core/person-identity.d.ts.map +1 -0
  332. package/dist/core/person-identity.js +428 -0
  333. package/dist/core/person-identity.js.map +1 -0
  334. package/dist/core/person-slug.d.ts +21 -0
  335. package/dist/core/person-slug.d.ts.map +1 -0
  336. package/dist/core/person-slug.js +93 -0
  337. package/dist/core/person-slug.js.map +1 -0
  338. package/dist/core/pipeline-factory.d.ts +13 -0
  339. package/dist/core/pipeline-factory.d.ts.map +1 -0
  340. package/dist/core/pipeline-factory.js +37 -0
  341. package/dist/core/pipeline-factory.js.map +1 -0
  342. package/dist/core/pipeline.d.ts +77 -0
  343. package/dist/core/pipeline.d.ts.map +1 -0
  344. package/dist/core/pipeline.js +332 -0
  345. package/dist/core/pipeline.js.map +1 -0
  346. package/dist/core/resource-loader.d.ts +2 -0
  347. package/dist/core/resource-loader.d.ts.map +1 -0
  348. package/dist/core/resource-loader.js +12 -0
  349. package/dist/core/resource-loader.js.map +1 -0
  350. package/dist/core/schemas.d.ts +5142 -0
  351. package/dist/core/schemas.d.ts.map +1 -0
  352. package/dist/core/schemas.js +256 -0
  353. package/dist/core/schemas.js.map +1 -0
  354. package/dist/core/signal-scoring.d.ts +3 -0
  355. package/dist/core/signal-scoring.d.ts.map +1 -0
  356. package/dist/core/signal-scoring.js +128 -0
  357. package/dist/core/signal-scoring.js.map +1 -0
  358. package/dist/core/source-ref.d.ts +4 -0
  359. package/dist/core/source-ref.d.ts.map +1 -0
  360. package/dist/core/source-ref.js +24 -0
  361. package/dist/core/source-ref.js.map +1 -0
  362. package/dist/core/state.d.ts +22 -0
  363. package/dist/core/state.d.ts.map +1 -0
  364. package/dist/core/state.js +33 -0
  365. package/dist/core/state.js.map +1 -0
  366. package/dist/core/types.d.ts +266 -0
  367. package/dist/core/types.d.ts.map +1 -0
  368. package/dist/core/types.js +6 -0
  369. package/dist/core/types.js.map +1 -0
  370. package/dist/daemon/alerts.d.ts +12 -0
  371. package/dist/daemon/alerts.d.ts.map +1 -0
  372. package/dist/daemon/alerts.js +34 -0
  373. package/dist/daemon/alerts.js.map +1 -0
  374. package/dist/daemon/autostart/argv.d.ts +21 -0
  375. package/dist/daemon/autostart/argv.d.ts.map +1 -0
  376. package/dist/daemon/autostart/argv.js +37 -0
  377. package/dist/daemon/autostart/argv.js.map +1 -0
  378. package/dist/daemon/autostart/daemon-state.d.ts +19 -0
  379. package/dist/daemon/autostart/daemon-state.d.ts.map +1 -0
  380. package/dist/daemon/autostart/daemon-state.js +34 -0
  381. package/dist/daemon/autostart/daemon-state.js.map +1 -0
  382. package/dist/daemon/autostart/index.d.ts +40 -0
  383. package/dist/daemon/autostart/index.d.ts.map +1 -0
  384. package/dist/daemon/autostart/index.js +146 -0
  385. package/dist/daemon/autostart/index.js.map +1 -0
  386. package/dist/daemon/autostart/launchd.d.ts +13 -0
  387. package/dist/daemon/autostart/launchd.d.ts.map +1 -0
  388. package/dist/daemon/autostart/launchd.js +51 -0
  389. package/dist/daemon/autostart/launchd.js.map +1 -0
  390. package/dist/daemon/autostart/runner.d.ts +14 -0
  391. package/dist/daemon/autostart/runner.d.ts.map +1 -0
  392. package/dist/daemon/autostart/runner.js +30 -0
  393. package/dist/daemon/autostart/runner.js.map +1 -0
  394. package/dist/daemon/autostart/systemd.d.ts +11 -0
  395. package/dist/daemon/autostart/systemd.d.ts.map +1 -0
  396. package/dist/daemon/autostart/systemd.js +40 -0
  397. package/dist/daemon/autostart/systemd.js.map +1 -0
  398. package/dist/daemon/index.d.ts +6 -0
  399. package/dist/daemon/index.d.ts.map +1 -0
  400. package/dist/daemon/index.js +6 -0
  401. package/dist/daemon/index.js.map +1 -0
  402. package/dist/daemon/logger.d.ts +8 -0
  403. package/dist/daemon/logger.d.ts.map +1 -0
  404. package/dist/daemon/logger.js +35 -0
  405. package/dist/daemon/logger.js.map +1 -0
  406. package/dist/daemon/reload-manager.d.ts +41 -0
  407. package/dist/daemon/reload-manager.d.ts.map +1 -0
  408. package/dist/daemon/reload-manager.js +89 -0
  409. package/dist/daemon/reload-manager.js.map +1 -0
  410. package/dist/daemon/run-history.d.ts +29 -0
  411. package/dist/daemon/run-history.d.ts.map +1 -0
  412. package/dist/daemon/run-history.js +54 -0
  413. package/dist/daemon/run-history.js.map +1 -0
  414. package/dist/daemon/scheduler.d.ts +45 -0
  415. package/dist/daemon/scheduler.d.ts.map +1 -0
  416. package/dist/daemon/scheduler.js +217 -0
  417. package/dist/daemon/scheduler.js.map +1 -0
  418. package/dist/daemon/serve-runtime.d.ts +31 -0
  419. package/dist/daemon/serve-runtime.d.ts.map +1 -0
  420. package/dist/daemon/serve-runtime.js +230 -0
  421. package/dist/daemon/serve-runtime.js.map +1 -0
  422. package/dist/daemon/source-schedule.d.ts +25 -0
  423. package/dist/daemon/source-schedule.d.ts.map +1 -0
  424. package/dist/daemon/source-schedule.js +87 -0
  425. package/dist/daemon/source-schedule.js.map +1 -0
  426. package/dist/embedded-assets.generated.d.ts +4 -0
  427. package/dist/embedded-assets.generated.d.ts.map +1 -0
  428. package/dist/embedded-assets.generated.js +12 -0
  429. package/dist/embedded-assets.generated.js.map +1 -0
  430. package/dist/extractors/noise-filter.d.ts +30 -0
  431. package/dist/extractors/noise-filter.d.ts.map +1 -0
  432. package/dist/extractors/noise-filter.js +185 -0
  433. package/dist/extractors/noise-filter.js.map +1 -0
  434. package/dist/extractors/playbook-extractor.d.ts +35 -0
  435. package/dist/extractors/playbook-extractor.d.ts.map +1 -0
  436. package/dist/extractors/playbook-extractor.js +98 -0
  437. package/dist/extractors/playbook-extractor.js.map +1 -0
  438. package/dist/extractors/providers/anthropic.d.ts +13 -0
  439. package/dist/extractors/providers/anthropic.d.ts.map +1 -0
  440. package/dist/extractors/providers/anthropic.js +67 -0
  441. package/dist/extractors/providers/anthropic.js.map +1 -0
  442. package/dist/extractors/providers/index.d.ts +12 -0
  443. package/dist/extractors/providers/index.d.ts.map +1 -0
  444. package/dist/extractors/providers/index.js +41 -0
  445. package/dist/extractors/providers/index.js.map +1 -0
  446. package/dist/extractors/providers/mock.d.ts +14 -0
  447. package/dist/extractors/providers/mock.d.ts.map +1 -0
  448. package/dist/extractors/providers/mock.js +37 -0
  449. package/dist/extractors/providers/mock.js.map +1 -0
  450. package/dist/extractors/providers/openai.d.ts +15 -0
  451. package/dist/extractors/providers/openai.d.ts.map +1 -0
  452. package/dist/extractors/providers/openai.js +109 -0
  453. package/dist/extractors/providers/openai.js.map +1 -0
  454. package/dist/extractors/providers/types.d.ts +27 -0
  455. package/dist/extractors/providers/types.d.ts.map +1 -0
  456. package/dist/extractors/providers/types.js +6 -0
  457. package/dist/extractors/providers/types.js.map +1 -0
  458. package/dist/extractors/signal-extractor.d.ts +30 -0
  459. package/dist/extractors/signal-extractor.d.ts.map +1 -0
  460. package/dist/extractors/signal-extractor.js +371 -0
  461. package/dist/extractors/signal-extractor.js.map +1 -0
  462. package/dist/formatters/index.d.ts +3 -0
  463. package/dist/formatters/index.d.ts.map +1 -0
  464. package/dist/formatters/index.js +3 -0
  465. package/dist/formatters/index.js.map +1 -0
  466. package/dist/formatters/json.d.ts +6 -0
  467. package/dist/formatters/json.d.ts.map +1 -0
  468. package/dist/formatters/json.js +16 -0
  469. package/dist/formatters/json.js.map +1 -0
  470. package/dist/formatters/markdown.d.ts +6 -0
  471. package/dist/formatters/markdown.d.ts.map +1 -0
  472. package/dist/formatters/markdown.js +198 -0
  473. package/dist/formatters/markdown.js.map +1 -0
  474. package/dist/hooks/handlers.d.ts +21 -0
  475. package/dist/hooks/handlers.d.ts.map +1 -0
  476. package/dist/hooks/handlers.js +22 -0
  477. package/dist/hooks/handlers.js.map +1 -0
  478. package/dist/hooks/inject.d.ts +7 -0
  479. package/dist/hooks/inject.d.ts.map +1 -0
  480. package/dist/hooks/inject.js +18 -0
  481. package/dist/hooks/inject.js.map +1 -0
  482. package/dist/hooks/install.d.ts +14 -0
  483. package/dist/hooks/install.d.ts.map +1 -0
  484. package/dist/hooks/install.js +34 -0
  485. package/dist/hooks/install.js.map +1 -0
  486. package/dist/hooks/output.d.ts +19 -0
  487. package/dist/hooks/output.d.ts.map +1 -0
  488. package/dist/hooks/output.js +13 -0
  489. package/dist/hooks/output.js.map +1 -0
  490. package/dist/hooks/recall-client.d.ts +25 -0
  491. package/dist/hooks/recall-client.d.ts.map +1 -0
  492. package/dist/hooks/recall-client.js +56 -0
  493. package/dist/hooks/recall-client.js.map +1 -0
  494. package/dist/hooks/run-event.d.ts +13 -0
  495. package/dist/hooks/run-event.d.ts.map +1 -0
  496. package/dist/hooks/run-event.js +20 -0
  497. package/dist/hooks/run-event.js.map +1 -0
  498. package/dist/hooks/settings-edit.d.ts +10 -0
  499. package/dist/hooks/settings-edit.d.ts.map +1 -0
  500. package/dist/hooks/settings-edit.js +44 -0
  501. package/dist/hooks/settings-edit.js.map +1 -0
  502. package/dist/hooks/writeback.d.ts +12 -0
  503. package/dist/hooks/writeback.d.ts.map +1 -0
  504. package/dist/hooks/writeback.js +48 -0
  505. package/dist/hooks/writeback.js.map +1 -0
  506. package/dist/install/clients/claude-code.d.ts +3 -0
  507. package/dist/install/clients/claude-code.d.ts.map +1 -0
  508. package/dist/install/clients/claude-code.js +31 -0
  509. package/dist/install/clients/claude-code.js.map +1 -0
  510. package/dist/install/clients/claude-desktop.d.ts +3 -0
  511. package/dist/install/clients/claude-desktop.d.ts.map +1 -0
  512. package/dist/install/clients/claude-desktop.js +33 -0
  513. package/dist/install/clients/claude-desktop.js.map +1 -0
  514. package/dist/install/clients/codex.d.ts +3 -0
  515. package/dist/install/clients/codex.d.ts.map +1 -0
  516. package/dist/install/clients/codex.js +33 -0
  517. package/dist/install/clients/codex.js.map +1 -0
  518. package/dist/install/clients/cursor.d.ts +3 -0
  519. package/dist/install/clients/cursor.d.ts.map +1 -0
  520. package/dist/install/clients/cursor.js +37 -0
  521. package/dist/install/clients/cursor.js.map +1 -0
  522. package/dist/install/clients/hermes.d.ts +3 -0
  523. package/dist/install/clients/hermes.d.ts.map +1 -0
  524. package/dist/install/clients/hermes.js +37 -0
  525. package/dist/install/clients/hermes.js.map +1 -0
  526. package/dist/install/clients/index.d.ts +4 -0
  527. package/dist/install/clients/index.d.ts.map +1 -0
  528. package/dist/install/clients/index.js +18 -0
  529. package/dist/install/clients/index.js.map +1 -0
  530. package/dist/install/clients/windsurf.d.ts +3 -0
  531. package/dist/install/clients/windsurf.d.ts.map +1 -0
  532. package/dist/install/clients/windsurf.js +34 -0
  533. package/dist/install/clients/windsurf.js.map +1 -0
  534. package/dist/install/command.d.ts +14 -0
  535. package/dist/install/command.d.ts.map +1 -0
  536. package/dist/install/command.js +34 -0
  537. package/dist/install/command.js.map +1 -0
  538. package/dist/install/directive.d.ts +7 -0
  539. package/dist/install/directive.d.ts.map +1 -0
  540. package/dist/install/directive.js +31 -0
  541. package/dist/install/directive.js.map +1 -0
  542. package/dist/install/index.d.ts +28 -0
  543. package/dist/install/index.d.ts.map +1 -0
  544. package/dist/install/index.js +122 -0
  545. package/dist/install/index.js.map +1 -0
  546. package/dist/install/json-config.d.ts +8 -0
  547. package/dist/install/json-config.d.ts.map +1 -0
  548. package/dist/install/json-config.js +44 -0
  549. package/dist/install/json-config.js.map +1 -0
  550. package/dist/install/marked-block.d.ts +11 -0
  551. package/dist/install/marked-block.d.ts.map +1 -0
  552. package/dist/install/marked-block.js +34 -0
  553. package/dist/install/marked-block.js.map +1 -0
  554. package/dist/install/mcp-entry.d.ts +11 -0
  555. package/dist/install/mcp-entry.d.ts.map +1 -0
  556. package/dist/install/mcp-entry.js +7 -0
  557. package/dist/install/mcp-entry.js.map +1 -0
  558. package/dist/install/skill.d.ts +4 -0
  559. package/dist/install/skill.d.ts.map +1 -0
  560. package/dist/install/skill.js +61 -0
  561. package/dist/install/skill.js.map +1 -0
  562. package/dist/install/toml-config.d.ts +4 -0
  563. package/dist/install/toml-config.d.ts.map +1 -0
  564. package/dist/install/toml-config.js +54 -0
  565. package/dist/install/toml-config.js.map +1 -0
  566. package/dist/install/types.d.ts +40 -0
  567. package/dist/install/types.d.ts.map +1 -0
  568. package/dist/install/types.js +10 -0
  569. package/dist/install/types.js.map +1 -0
  570. package/dist/install/yaml-config.d.ts +4 -0
  571. package/dist/install/yaml-config.d.ts.map +1 -0
  572. package/dist/install/yaml-config.js +19 -0
  573. package/dist/install/yaml-config.js.map +1 -0
  574. package/dist/lifecycle/down.d.ts +19 -0
  575. package/dist/lifecycle/down.d.ts.map +1 -0
  576. package/dist/lifecycle/down.js +24 -0
  577. package/dist/lifecycle/down.js.map +1 -0
  578. package/dist/lifecycle/health-poll.d.ts +19 -0
  579. package/dist/lifecycle/health-poll.d.ts.map +1 -0
  580. package/dist/lifecycle/health-poll.js +39 -0
  581. package/dist/lifecycle/health-poll.js.map +1 -0
  582. package/dist/lifecycle/install-state.d.ts +34 -0
  583. package/dist/lifecycle/install-state.d.ts.map +1 -0
  584. package/dist/lifecycle/install-state.js +70 -0
  585. package/dist/lifecycle/install-state.js.map +1 -0
  586. package/dist/lifecycle/legacy-migration.d.ts +58 -0
  587. package/dist/lifecycle/legacy-migration.d.ts.map +1 -0
  588. package/dist/lifecycle/legacy-migration.js +212 -0
  589. package/dist/lifecycle/legacy-migration.js.map +1 -0
  590. package/dist/lifecycle/lifecycle-lock.d.ts +20 -0
  591. package/dist/lifecycle/lifecycle-lock.d.ts.map +1 -0
  592. package/dist/lifecycle/lifecycle-lock.js +98 -0
  593. package/dist/lifecycle/lifecycle-lock.js.map +1 -0
  594. package/dist/lifecycle/run-up.d.ts +38 -0
  595. package/dist/lifecycle/run-up.d.ts.map +1 -0
  596. package/dist/lifecycle/run-up.js +307 -0
  597. package/dist/lifecycle/run-up.js.map +1 -0
  598. package/dist/lifecycle/status.d.ts +38 -0
  599. package/dist/lifecycle/status.d.ts.map +1 -0
  600. package/dist/lifecycle/status.js +41 -0
  601. package/dist/lifecycle/status.js.map +1 -0
  602. package/dist/lifecycle/up.d.ts +35 -0
  603. package/dist/lifecycle/up.d.ts.map +1 -0
  604. package/dist/lifecycle/up.js +45 -0
  605. package/dist/lifecycle/up.js.map +1 -0
  606. package/dist/processors/privacy.d.ts +101 -0
  607. package/dist/processors/privacy.d.ts.map +1 -0
  608. package/dist/processors/privacy.js +273 -0
  609. package/dist/processors/privacy.js.map +1 -0
  610. package/dist/profile/accumulate.d.ts +28 -0
  611. package/dist/profile/accumulate.d.ts.map +1 -0
  612. package/dist/profile/accumulate.js +48 -0
  613. package/dist/profile/accumulate.js.map +1 -0
  614. package/dist/profile/behavior.d.ts +32 -0
  615. package/dist/profile/behavior.d.ts.map +1 -0
  616. package/dist/profile/behavior.js +122 -0
  617. package/dist/profile/behavior.js.map +1 -0
  618. package/dist/profile/four-color.d.ts +12 -0
  619. package/dist/profile/four-color.d.ts.map +1 -0
  620. package/dist/profile/four-color.js +39 -0
  621. package/dist/profile/four-color.js.map +1 -0
  622. package/dist/profile/profile-synth.d.ts +27 -0
  623. package/dist/profile/profile-synth.d.ts.map +1 -0
  624. package/dist/profile/profile-synth.js +174 -0
  625. package/dist/profile/profile-synth.js.map +1 -0
  626. package/dist/profile/types.d.ts +84 -0
  627. package/dist/profile/types.d.ts.map +1 -0
  628. package/dist/profile/types.js +11 -0
  629. package/dist/profile/types.js.map +1 -0
  630. package/dist/server/api.d.ts +49 -0
  631. package/dist/server/api.d.ts.map +1 -0
  632. package/dist/server/api.js +502 -0
  633. package/dist/server/api.js.map +1 -0
  634. package/dist/server/backfill-job.d.ts +36 -0
  635. package/dist/server/backfill-job.d.ts.map +1 -0
  636. package/dist/server/backfill-job.js +88 -0
  637. package/dist/server/backfill-job.js.map +1 -0
  638. package/dist/server/backfill-routes.d.ts +7 -0
  639. package/dist/server/backfill-routes.d.ts.map +1 -0
  640. package/dist/server/backfill-routes.js +146 -0
  641. package/dist/server/backfill-routes.js.map +1 -0
  642. package/dist/server/chat-name-refresh-job.d.ts +33 -0
  643. package/dist/server/chat-name-refresh-job.d.ts.map +1 -0
  644. package/dist/server/chat-name-refresh-job.js +120 -0
  645. package/dist/server/chat-name-refresh-job.js.map +1 -0
  646. package/dist/server/chat-name-routes.d.ts +13 -0
  647. package/dist/server/chat-name-routes.d.ts.map +1 -0
  648. package/dist/server/chat-name-routes.js +81 -0
  649. package/dist/server/chat-name-routes.js.map +1 -0
  650. package/dist/server/config-routes.d.ts +10 -0
  651. package/dist/server/config-routes.d.ts.map +1 -0
  652. package/dist/server/config-routes.js +122 -0
  653. package/dist/server/config-routes.js.map +1 -0
  654. package/dist/server/context.d.ts +13 -0
  655. package/dist/server/context.d.ts.map +1 -0
  656. package/dist/server/context.js +47 -0
  657. package/dist/server/context.js.map +1 -0
  658. package/dist/server/entity.d.ts +25 -0
  659. package/dist/server/entity.d.ts.map +1 -0
  660. package/dist/server/entity.js +34 -0
  661. package/dist/server/entity.js.map +1 -0
  662. package/dist/server/event-bus.d.ts +35 -0
  663. package/dist/server/event-bus.d.ts.map +1 -0
  664. package/dist/server/event-bus.js +4 -0
  665. package/dist/server/event-bus.js.map +1 -0
  666. package/dist/server/mcp-http-runtime.d.ts +28 -0
  667. package/dist/server/mcp-http-runtime.d.ts.map +1 -0
  668. package/dist/server/mcp-http-runtime.js +24 -0
  669. package/dist/server/mcp-http-runtime.js.map +1 -0
  670. package/dist/server/mcp-http.d.ts +41 -0
  671. package/dist/server/mcp-http.d.ts.map +1 -0
  672. package/dist/server/mcp-http.js +139 -0
  673. package/dist/server/mcp-http.js.map +1 -0
  674. package/dist/server/mcp.d.ts +292 -0
  675. package/dist/server/mcp.d.ts.map +1 -0
  676. package/dist/server/mcp.js +1146 -0
  677. package/dist/server/mcp.js.map +1 -0
  678. package/dist/server/open-browser.d.ts +3 -0
  679. package/dist/server/open-browser.d.ts.map +1 -0
  680. package/dist/server/open-browser.js +12 -0
  681. package/dist/server/open-browser.js.map +1 -0
  682. package/dist/server/runtime.d.ts +13 -0
  683. package/dist/server/runtime.d.ts.map +1 -0
  684. package/dist/server/runtime.js +27 -0
  685. package/dist/server/runtime.js.map +1 -0
  686. package/dist/server/server-security.d.ts +51 -0
  687. package/dist/server/server-security.d.ts.map +1 -0
  688. package/dist/server/server-security.js +76 -0
  689. package/dist/server/server-security.js.map +1 -0
  690. package/dist/server/setup-server.d.ts +7 -0
  691. package/dist/server/setup-server.d.ts.map +1 -0
  692. package/dist/server/setup-server.js +49 -0
  693. package/dist/server/setup-server.js.map +1 -0
  694. package/dist/setup/assess-hardware.d.ts +34 -0
  695. package/dist/setup/assess-hardware.d.ts.map +1 -0
  696. package/dist/setup/assess-hardware.js +179 -0
  697. package/dist/setup/assess-hardware.js.map +1 -0
  698. package/dist/setup/connection-tests.d.ts +17 -0
  699. package/dist/setup/connection-tests.d.ts.map +1 -0
  700. package/dist/setup/connection-tests.js +69 -0
  701. package/dist/setup/connection-tests.js.map +1 -0
  702. package/dist/setup/detect-api-keys.d.ts +13 -0
  703. package/dist/setup/detect-api-keys.d.ts.map +1 -0
  704. package/dist/setup/detect-api-keys.js +41 -0
  705. package/dist/setup/detect-api-keys.js.map +1 -0
  706. package/dist/setup/detect-runtime.d.ts +14 -0
  707. package/dist/setup/detect-runtime.d.ts.map +1 -0
  708. package/dist/setup/detect-runtime.js +43 -0
  709. package/dist/setup/detect-runtime.js.map +1 -0
  710. package/dist/setup/detect-sources.d.ts +14 -0
  711. package/dist/setup/detect-sources.d.ts.map +1 -0
  712. package/dist/setup/detect-sources.js +75 -0
  713. package/dist/setup/detect-sources.js.map +1 -0
  714. package/dist/setup/doctor.d.ts +48 -0
  715. package/dist/setup/doctor.d.ts.map +1 -0
  716. package/dist/setup/doctor.js +157 -0
  717. package/dist/setup/doctor.js.map +1 -0
  718. package/dist/setup/generate-config.d.ts +13 -0
  719. package/dist/setup/generate-config.d.ts.map +1 -0
  720. package/dist/setup/generate-config.js +163 -0
  721. package/dist/setup/generate-config.js.map +1 -0
  722. package/dist/setup/index.d.ts +9 -0
  723. package/dist/setup/index.d.ts.map +1 -0
  724. package/dist/setup/index.js +9 -0
  725. package/dist/setup/index.js.map +1 -0
  726. package/dist/setup/init-wizard.d.ts +20 -0
  727. package/dist/setup/init-wizard.d.ts.map +1 -0
  728. package/dist/setup/init-wizard.js +531 -0
  729. package/dist/setup/init-wizard.js.map +1 -0
  730. package/dist/setup/terminal.d.ts +28 -0
  731. package/dist/setup/terminal.d.ts.map +1 -0
  732. package/dist/setup/terminal.js +258 -0
  733. package/dist/setup/terminal.js.map +1 -0
  734. package/dist/setup/validate-config.d.ts +30 -0
  735. package/dist/setup/validate-config.d.ts.map +1 -0
  736. package/dist/setup/validate-config.js +45 -0
  737. package/dist/setup/validate-config.js.map +1 -0
  738. package/dist/store/chunks.d.ts +25 -0
  739. package/dist/store/chunks.d.ts.map +1 -0
  740. package/dist/store/chunks.js +78 -0
  741. package/dist/store/chunks.js.map +1 -0
  742. package/dist/store/data-dir-lock.d.ts +15 -0
  743. package/dist/store/data-dir-lock.d.ts.map +1 -0
  744. package/dist/store/data-dir-lock.js +96 -0
  745. package/dist/store/data-dir-lock.js.map +1 -0
  746. package/dist/store/database.d.ts +31 -0
  747. package/dist/store/database.d.ts.map +1 -0
  748. package/dist/store/database.js +113 -0
  749. package/dist/store/database.js.map +1 -0
  750. package/dist/store/embedding.d.ts +23 -0
  751. package/dist/store/embedding.d.ts.map +1 -0
  752. package/dist/store/embedding.js +62 -0
  753. package/dist/store/embedding.js.map +1 -0
  754. package/dist/store/engine-factory.d.ts +4 -0
  755. package/dist/store/engine-factory.d.ts.map +1 -0
  756. package/dist/store/engine-factory.js +18 -0
  757. package/dist/store/engine-factory.js.map +1 -0
  758. package/dist/store/graph.d.ts +75 -0
  759. package/dist/store/graph.d.ts.map +1 -0
  760. package/dist/store/graph.js +276 -0
  761. package/dist/store/graph.js.map +1 -0
  762. package/dist/store/managed/managed-engine.d.ts +35 -0
  763. package/dist/store/managed/managed-engine.d.ts.map +1 -0
  764. package/dist/store/managed/managed-engine.js +40 -0
  765. package/dist/store/managed/managed-engine.js.map +1 -0
  766. package/dist/store/managed/managed-lock.d.ts +2 -0
  767. package/dist/store/managed/managed-lock.d.ts.map +1 -0
  768. package/dist/store/managed/managed-lock.js +68 -0
  769. package/dist/store/managed/managed-lock.js.map +1 -0
  770. package/dist/store/managed/new-install.d.ts +12 -0
  771. package/dist/store/managed/new-install.d.ts.map +1 -0
  772. package/dist/store/managed/new-install.js +23 -0
  773. package/dist/store/managed/new-install.js.map +1 -0
  774. package/dist/store/managed/pg-paths.d.ts +28 -0
  775. package/dist/store/managed/pg-paths.d.ts.map +1 -0
  776. package/dist/store/managed/pg-paths.js +41 -0
  777. package/dist/store/managed/pg-paths.js.map +1 -0
  778. package/dist/store/managed/pg-runtime-provider.d.ts +47 -0
  779. package/dist/store/managed/pg-runtime-provider.d.ts.map +1 -0
  780. package/dist/store/managed/pg-runtime-provider.js +249 -0
  781. package/dist/store/managed/pg-runtime-provider.js.map +1 -0
  782. package/dist/store/managed/pg-supervisor.d.ts +30 -0
  783. package/dist/store/managed/pg-supervisor.d.ts.map +1 -0
  784. package/dist/store/managed/pg-supervisor.js +308 -0
  785. package/dist/store/managed/pg-supervisor.js.map +1 -0
  786. package/dist/store/managed/recovery-loop.d.ts +41 -0
  787. package/dist/store/managed/recovery-loop.d.ts.map +1 -0
  788. package/dist/store/managed/recovery-loop.js +87 -0
  789. package/dist/store/managed/recovery-loop.js.map +1 -0
  790. package/dist/store/managed/stop-from-state.d.ts +11 -0
  791. package/dist/store/managed/stop-from-state.d.ts.map +1 -0
  792. package/dist/store/managed/stop-from-state.js +26 -0
  793. package/dist/store/managed/stop-from-state.js.map +1 -0
  794. package/dist/store/migrations/index.d.ts +9 -0
  795. package/dist/store/migrations/index.d.ts.map +1 -0
  796. package/dist/store/migrations/index.js +121 -0
  797. package/dist/store/migrations/index.js.map +1 -0
  798. package/dist/store/pages.d.ts +81 -0
  799. package/dist/store/pages.d.ts.map +1 -0
  800. package/dist/store/pages.js +286 -0
  801. package/dist/store/pages.js.map +1 -0
  802. package/dist/store/person-behavior.d.ts +37 -0
  803. package/dist/store/person-behavior.d.ts.map +1 -0
  804. package/dist/store/person-behavior.js +134 -0
  805. package/dist/store/person-behavior.js.map +1 -0
  806. package/dist/store/pglite-assets.d.ts +15 -0
  807. package/dist/store/pglite-assets.d.ts.map +1 -0
  808. package/dist/store/pglite-assets.js +47 -0
  809. package/dist/store/pglite-assets.js.map +1 -0
  810. package/dist/store/pglite-executor.d.ts +21 -0
  811. package/dist/store/pglite-executor.d.ts.map +1 -0
  812. package/dist/store/pglite-executor.js +61 -0
  813. package/dist/store/pglite-executor.js.map +1 -0
  814. package/dist/store/postgres-executor.d.ts +16 -0
  815. package/dist/store/postgres-executor.d.ts.map +1 -0
  816. package/dist/store/postgres-executor.js +77 -0
  817. package/dist/store/postgres-executor.js.map +1 -0
  818. package/dist/store/query-rewrite.d.ts +28 -0
  819. package/dist/store/query-rewrite.d.ts.map +1 -0
  820. package/dist/store/query-rewrite.js +97 -0
  821. package/dist/store/query-rewrite.js.map +1 -0
  822. package/dist/store/search.d.ts +65 -0
  823. package/dist/store/search.d.ts.map +1 -0
  824. package/dist/store/search.js +312 -0
  825. package/dist/store/search.js.map +1 -0
  826. package/dist/store/sequence-sync.d.ts +22 -0
  827. package/dist/store/sequence-sync.d.ts.map +1 -0
  828. package/dist/store/sequence-sync.js +46 -0
  829. package/dist/store/sequence-sync.js.map +1 -0
  830. package/dist/store/sql-executor.d.ts +17 -0
  831. package/dist/store/sql-executor.d.ts.map +1 -0
  832. package/dist/store/sql-executor.js +3 -0
  833. package/dist/store/sql-executor.js.map +1 -0
  834. package/dist/store/store-meta.d.ts +10 -0
  835. package/dist/store/store-meta.d.ts.map +1 -0
  836. package/dist/store/store-meta.js +13 -0
  837. package/dist/store/store-meta.js.map +1 -0
  838. package/dist/store/tags.d.ts +10 -0
  839. package/dist/store/tags.d.ts.map +1 -0
  840. package/dist/store/tags.js +35 -0
  841. package/dist/store/tags.js.map +1 -0
  842. package/dist/store/timeline.d.ts +38 -0
  843. package/dist/store/timeline.d.ts.map +1 -0
  844. package/dist/store/timeline.js +173 -0
  845. package/dist/store/timeline.js.map +1 -0
  846. package/dist/store/trgm-search.d.ts +13 -0
  847. package/dist/store/trgm-search.d.ts.map +1 -0
  848. package/dist/store/trgm-search.js +53 -0
  849. package/dist/store/trgm-search.js.map +1 -0
  850. package/dist/store/wikilink.d.ts +17 -0
  851. package/dist/store/wikilink.d.ts.map +1 -0
  852. package/dist/store/wikilink.js +58 -0
  853. package/dist/store/wikilink.js.map +1 -0
  854. package/dist/sync/obsidian.d.ts +136 -0
  855. package/dist/sync/obsidian.d.ts.map +1 -0
  856. package/dist/sync/obsidian.js +543 -0
  857. package/dist/sync/obsidian.js.map +1 -0
  858. package/dist/synth/cache.d.ts +17 -0
  859. package/dist/synth/cache.d.ts.map +1 -0
  860. package/dist/synth/cache.js +67 -0
  861. package/dist/synth/cache.js.map +1 -0
  862. package/dist/synth/citations.d.ts +12 -0
  863. package/dist/synth/citations.d.ts.map +1 -0
  864. package/dist/synth/citations.js +28 -0
  865. package/dist/synth/citations.js.map +1 -0
  866. package/dist/synth/context.d.ts +10 -0
  867. package/dist/synth/context.d.ts.map +1 -0
  868. package/dist/synth/context.js +67 -0
  869. package/dist/synth/context.js.map +1 -0
  870. package/dist/synth/engine.d.ts +16 -0
  871. package/dist/synth/engine.d.ts.map +1 -0
  872. package/dist/synth/engine.js +111 -0
  873. package/dist/synth/engine.js.map +1 -0
  874. package/dist/synth/gaps.d.ts +17 -0
  875. package/dist/synth/gaps.d.ts.map +1 -0
  876. package/dist/synth/gaps.js +57 -0
  877. package/dist/synth/gaps.js.map +1 -0
  878. package/dist/synth/index.d.ts +6 -0
  879. package/dist/synth/index.d.ts.map +1 -0
  880. package/dist/synth/index.js +6 -0
  881. package/dist/synth/index.js.map +1 -0
  882. package/dist/synth/intent.d.ts +6 -0
  883. package/dist/synth/intent.d.ts.map +1 -0
  884. package/dist/synth/intent.js +13 -0
  885. package/dist/synth/intent.js.map +1 -0
  886. package/dist/synth/intents/daily-report.d.ts +7 -0
  887. package/dist/synth/intents/daily-report.d.ts.map +1 -0
  888. package/dist/synth/intents/daily-report.js +37 -0
  889. package/dist/synth/intents/daily-report.js.map +1 -0
  890. package/dist/synth/intents/index.d.ts +2 -0
  891. package/dist/synth/intents/index.d.ts.map +1 -0
  892. package/dist/synth/intents/index.js +12 -0
  893. package/dist/synth/intents/index.js.map +1 -0
  894. package/dist/synth/intents/person-strategy.d.ts +40 -0
  895. package/dist/synth/intents/person-strategy.d.ts.map +1 -0
  896. package/dist/synth/intents/person-strategy.js +66 -0
  897. package/dist/synth/intents/person-strategy.js.map +1 -0
  898. package/dist/synth/intents/recall.d.ts +8 -0
  899. package/dist/synth/intents/recall.d.ts.map +1 -0
  900. package/dist/synth/intents/recall.js +26 -0
  901. package/dist/synth/intents/recall.js.map +1 -0
  902. package/dist/synth/intents/troubleshoot.d.ts +11 -0
  903. package/dist/synth/intents/troubleshoot.d.ts.map +1 -0
  904. package/dist/synth/intents/troubleshoot.js +66 -0
  905. package/dist/synth/intents/troubleshoot.js.map +1 -0
  906. package/dist/synth/scope.d.ts +13 -0
  907. package/dist/synth/scope.d.ts.map +1 -0
  908. package/dist/synth/scope.js +139 -0
  909. package/dist/synth/scope.js.map +1 -0
  910. package/dist/synth/types.d.ts +117 -0
  911. package/dist/synth/types.d.ts.map +1 -0
  912. package/dist/synth/types.js +2 -0
  913. package/dist/synth/types.js.map +1 -0
  914. package/package.json +98 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/formatters/markdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { type HookInput, type HookOutput } from "./output.js";
2
+ import type { ScoredHit } from "./recall-client.js";
3
+ export interface SessionStartDeps {
4
+ /** Returns the session-context digest (e.g. getSessionContext(stores, days)). */
5
+ sessionContext: () => Promise<string>;
6
+ }
7
+ /** SessionStart: inject the always-on "core" session digest. */
8
+ export declare function runSessionStart(_input: HookInput, deps: SessionStartDeps): Promise<HookOutput | Record<string, never>>;
9
+ export interface UserPromptDeps {
10
+ /** Zero-cost FTS recall for the prompt (e.g. the recall-client). */
11
+ recall: (query: string) => Promise<ScoredHit[]>;
12
+ }
13
+ /** UserPromptSubmit: gated, budgeted, zero-cost FTS auto-recall. */
14
+ export declare function runUserPrompt(input: HookInput, deps: UserPromptDeps): Promise<HookOutput | Record<string, never>>;
15
+ export interface SessionEndDeps {
16
+ /** Triggers opt-in debounced write-back; returns whether it fired. */
17
+ writeback: () => boolean;
18
+ }
19
+ /** SessionEnd: fire-and-forget write-back. Injects nothing; returns fast. */
20
+ export declare function runSessionEnd(_input: HookInput, deps: SessionEndDeps): Promise<Record<string, never>>;
21
+ //# sourceMappingURL=handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/hooks/handlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAwB,MAAM,aAAa,CAAC;AACpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC;AAED,gEAAgE;AAChE,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAG7C;AAED,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;CACjD;AAED,oEAAoE;AACpE,wBAAsB,aAAa,CACjC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAM7C;AAED,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,SAAS,EAAE,MAAM,OAAO,CAAC;CAC1B;AAED,6EAA6E;AAC7E,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAGhC"}
@@ -0,0 +1,22 @@
1
+ import { renderInjection } from "./inject.js";
2
+ import { inject, NO_INJECTION } from "./output.js";
3
+ /** SessionStart: inject the always-on "core" session digest. */
4
+ export async function runSessionStart(_input, deps) {
5
+ const text = (await deps.sessionContext()).trim();
6
+ return text ? inject("SessionStart", text) : NO_INJECTION;
7
+ }
8
+ /** UserPromptSubmit: gated, budgeted, zero-cost FTS auto-recall. */
9
+ export async function runUserPrompt(input, deps) {
10
+ const prompt = typeof input.prompt === "string" ? input.prompt.trim() : "";
11
+ if (!prompt)
12
+ return NO_INJECTION;
13
+ const hits = await deps.recall(prompt);
14
+ const context = renderInjection(hits);
15
+ return context ? inject("UserPromptSubmit", context) : NO_INJECTION;
16
+ }
17
+ /** SessionEnd: fire-and-forget write-back. Injects nothing; returns fast. */
18
+ export async function runSessionEnd(_input, deps) {
19
+ deps.writeback();
20
+ return NO_INJECTION;
21
+ }
22
+ //# sourceMappingURL=handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/hooks/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAmC,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQpF,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAiB,EACjB,IAAsB;IAEtB,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC5D,CAAC;AAOD,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAgB,EAChB,IAAoB;IAEpB,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,IAAI,CAAC,MAAM;QAAE,OAAO,YAAY,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AACtE,CAAC;AAOD,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAiB,EACjB,IAAoB;IAEpB,IAAI,CAAC,SAAS,EAAE,CAAC;IACjB,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ScoredHit } from "./recall-client.js";
2
+ export declare const RECALL_TOP_K = 3;
3
+ export declare const RECALL_MIN_SCORE = 0.5;
4
+ export declare const INJECT_MAX_CHARS = 3000;
5
+ /** Render the top gated hits into an additionalContext string, or null if none qualify. */
6
+ export declare function renderInjection(hits: ScoredHit[]): string | null;
7
+ //# sourceMappingURL=inject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../src/hooks/inject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIpD,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,GAAG,IAAI,CAShE"}
@@ -0,0 +1,18 @@
1
+ // Gating + budget for UserPromptSubmit injection (Spec 13). Character budget,
2
+ // not tokens, to avoid a tokenizer dependency.
3
+ export const RECALL_TOP_K = 3;
4
+ export const RECALL_MIN_SCORE = 0.5;
5
+ export const INJECT_MAX_CHARS = 3000;
6
+ /** Render the top gated hits into an additionalContext string, or null if none qualify. */
7
+ export function renderInjection(hits) {
8
+ const top = hits.filter((h) => h.score >= RECALL_MIN_SCORE).slice(0, RECALL_TOP_K);
9
+ if (top.length === 0)
10
+ return null;
11
+ const lines = top.map((h) => {
12
+ const title = h.title ? `${h.title}: ` : "";
13
+ return `- [${h.slug}] ${title}${h.snippet}`.trimEnd();
14
+ });
15
+ const body = `Relevant memory from Memkin (cite [slug] if used):\n${lines.join("\n")}`;
16
+ return body.length > INJECT_MAX_CHARS ? body.slice(0, INJECT_MAX_CHARS) : body;
17
+ }
18
+ //# sourceMappingURL=inject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject.js","sourceRoot":"","sources":["../../src/hooks/inject.ts"],"names":[],"mappings":"AAEA,8EAA8E;AAC9E,+CAA+C;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC,2FAA2F;AAC3F,MAAM,UAAU,eAAe,CAAC,IAAiB;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACnF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,uDAAuD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACvF,OAAO,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjF,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface HooksInstallOptions {
2
+ writeBack?: boolean;
3
+ project?: boolean;
4
+ dryRun?: boolean;
5
+ home?: string;
6
+ cwd?: string;
7
+ }
8
+ export interface HooksResult {
9
+ path: string;
10
+ events: string[];
11
+ }
12
+ export declare function hooksInstall(opts?: HooksInstallOptions): HooksResult;
13
+ export declare function hooksUninstall(opts?: HooksInstallOptions): HooksResult;
14
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/hooks/install.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAOD,wBAAgB,YAAY,CAAC,IAAI,GAAE,mBAAwB,GAAG,WAAW,CAUxE;AAED,wBAAgB,cAAc,CAAC,IAAI,GAAE,mBAAwB,GAAG,WAAW,CAO1E"}
@@ -0,0 +1,34 @@
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { homedir } from "node:os";
3
+ import { dirname, join } from "node:path";
4
+ import { parseJsonConfig, stringifyJsonConfig } from "../install/json-config.js";
5
+ import { removeHooks, upsertHooks } from "./settings-edit.js";
6
+ const READ_HOOKS = [
7
+ { event: "SessionStart", matcher: "startup|resume", command: "memkin hook session-start" },
8
+ { event: "UserPromptSubmit", command: "memkin hook user-prompt" },
9
+ ];
10
+ const WRITE_HOOK = { event: "SessionEnd", command: "memkin hook session-end" };
11
+ function settingsPath(opts) {
12
+ const root = opts.project ? (opts.cwd ?? process.cwd()) : (opts.home ?? homedir());
13
+ return join(root, ".claude", "settings.json");
14
+ }
15
+ export function hooksInstall(opts = {}) {
16
+ const specs = opts.writeBack ? [...READ_HOOKS, WRITE_HOOK] : [...READ_HOOKS];
17
+ const path = settingsPath(opts);
18
+ if (!opts.dryRun) {
19
+ const text = existsSync(path) ? readFileSync(path, "utf8") : "";
20
+ const next = upsertHooks(parseJsonConfig(text, path), specs);
21
+ mkdirSync(dirname(path), { recursive: true });
22
+ writeFileSync(path, stringifyJsonConfig(next));
23
+ }
24
+ return { path, events: specs.map((s) => s.event) };
25
+ }
26
+ export function hooksUninstall(opts = {}) {
27
+ const path = settingsPath(opts);
28
+ if (!opts.dryRun && existsSync(path)) {
29
+ const next = removeHooks(parseJsonConfig(readFileSync(path, "utf8"), path));
30
+ writeFileSync(path, stringifyJsonConfig(next));
31
+ }
32
+ return { path, events: [READ_HOOKS[0].event, READ_HOOKS[1].event, WRITE_HOOK.event] };
33
+ }
34
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/hooks/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAiB,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE7E,MAAM,UAAU,GAAe;IAC7B,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,2BAA2B,EAAE;IAC1F,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,yBAAyB,EAAE;CAClE,CAAC;AACF,MAAM,UAAU,GAAa,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAezF,SAAS,YAAY,CAAC,IAAyB;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;IACnF,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAA4B,EAAE;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7D,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAA4B,EAAE;IAC3D,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5E,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;AACxF,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface HookInput {
2
+ prompt?: string;
3
+ cwd?: string;
4
+ source?: string;
5
+ reason?: string;
6
+ hook_event_name?: string;
7
+ [k: string]: unknown;
8
+ }
9
+ export interface HookOutput {
10
+ hookSpecificOutput: {
11
+ hookEventName: string;
12
+ additionalContext: string;
13
+ };
14
+ }
15
+ /** Build a context-injection payload for a read hook. */
16
+ export declare function inject(event: string, additionalContext: string): HookOutput;
17
+ /** No-op result: inject nothing. */
18
+ export declare const NO_INJECTION: Record<string, never>;
19
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/hooks/output.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,kBAAkB,EAAE;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AAED,yDAAyD;AACzD,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,UAAU,CAE3E;AAED,oCAAoC;AACpC,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAM,CAAC"}
@@ -0,0 +1,13 @@
1
+ // Claude Code hook stdout protocol.
2
+ //
3
+ // SessionStart and UserPromptSubmit hooks inject text into the agent's context
4
+ // via `hookSpecificOutput.additionalContext` (see Claude Code Hooks docs). The
5
+ // additionalContext is appended after the user message, preserving prompt cache.
6
+ // Emitting `{}` (or empty stdout) injects nothing.
7
+ /** Build a context-injection payload for a read hook. */
8
+ export function inject(event, additionalContext) {
9
+ return { hookSpecificOutput: { hookEventName: event, additionalContext } };
10
+ }
11
+ /** No-op result: inject nothing. */
12
+ export const NO_INJECTION = {};
13
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/hooks/output.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,iFAAiF;AACjF,mDAAmD;AAkBnD,yDAAyD;AACzD,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,iBAAyB;IAC7D,OAAO,EAAE,kBAAkB,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC;AAC7E,CAAC;AAED,oCAAoC;AACpC,MAAM,CAAC,MAAM,YAAY,GAA0B,EAAE,CAAC"}
@@ -0,0 +1,25 @@
1
+ export interface ScoredHit {
2
+ slug: string;
3
+ score: number;
4
+ snippet: string;
5
+ title?: string;
6
+ }
7
+ export interface FtsStore {
8
+ search: (query: string, opts: {
9
+ limit: number;
10
+ }) => Promise<unknown[]>;
11
+ }
12
+ export interface RecallDeps {
13
+ port?: number;
14
+ limit?: number;
15
+ timeoutMs?: number;
16
+ fetchImpl?: (url: string, init?: {
17
+ signal?: AbortSignal;
18
+ }) => Promise<{
19
+ ok: boolean;
20
+ json: () => Promise<unknown>;
21
+ }>;
22
+ store?: FtsStore;
23
+ }
24
+ export declare function recall(query: string, deps?: RecallDeps): Promise<ScoredHit[]>;
25
+ //# sourceMappingURL=recall-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recall-client.d.ts","sourceRoot":"","sources":["../../src/hooks/recall-client.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACxE;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,CACV,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAC5B,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAoBD,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA2BvF"}
@@ -0,0 +1,56 @@
1
+ // Fast, zero-cost recall for the UserPromptSubmit hook.
2
+ //
3
+ // Prefers the running `memkin serve` REST endpoint (GET /api/search), which is
4
+ // FTS-only (SearchEngine.search → to_tsquery, no embeddings) and warm, and which
5
+ // also avoids contending for the PGLite single-writer lock. Falls back to a
6
+ // direct FTS store search when serve is not running. NEVER use the hybrid
7
+ // /api/query (it triggers embeddings).
8
+ function normalize(rows) {
9
+ if (!Array.isArray(rows))
10
+ return [];
11
+ const hits = [];
12
+ for (const r of rows) {
13
+ if (!r || typeof r !== "object")
14
+ continue;
15
+ const row = r;
16
+ const slug = typeof row.slug === "string" ? row.slug : "";
17
+ if (!slug)
18
+ continue;
19
+ hits.push({
20
+ slug,
21
+ score: typeof row.score === "number" ? row.score : 0,
22
+ snippet: typeof row.snippet === "string" ? row.snippet : "",
23
+ title: typeof row.title === "string" ? row.title : undefined,
24
+ });
25
+ }
26
+ return hits;
27
+ }
28
+ export async function recall(query, deps = {}) {
29
+ const limit = deps.limit ?? 5;
30
+ const port = deps.port ?? 3927;
31
+ const fetchImpl = deps.fetchImpl ?? globalThis.fetch;
32
+ if (fetchImpl) {
33
+ try {
34
+ const url = `http://localhost:${port}/api/search?q=${encodeURIComponent(query)}&limit=${limit}`;
35
+ const signal = typeof AbortSignal?.timeout === "function"
36
+ ? AbortSignal.timeout(deps.timeoutMs ?? 800)
37
+ : undefined;
38
+ const res = await fetchImpl(url, signal ? { signal } : undefined);
39
+ if (res.ok)
40
+ return normalize(await res.json());
41
+ }
42
+ catch {
43
+ // serve not running / timeout → fall through to direct store
44
+ }
45
+ }
46
+ if (deps.store) {
47
+ try {
48
+ return normalize(await deps.store.search(query, { limit }));
49
+ }
50
+ catch {
51
+ return [];
52
+ }
53
+ }
54
+ return [];
55
+ }
56
+ //# sourceMappingURL=recall-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recall-client.js","sourceRoot":"","sources":["../../src/hooks/recall-client.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,4EAA4E;AAC5E,0EAA0E;AAC1E,uCAAuC;AAwBvC,SAAS,SAAS,CAAC,IAAa;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,SAAS;QAC1C,MAAM,GAAG,GAAG,CAA4B,CAAC;QACzC,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,CAAC,IAAI,CAAC;YACR,IAAI;YACJ,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC3D,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SAC7D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAa,EAAE,OAAmB,EAAE;IAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAK,UAAU,CAAC,KAAiC,CAAC;IAElF,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,oBAAoB,IAAI,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,UAAU,KAAK,EAAE,CAAC;YAChG,MAAM,MAAM,GACV,OAAO,WAAW,EAAE,OAAO,KAAK,UAAU;gBACxC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;gBAC5C,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,GAAG,CAAC,EAAE;gBAAE,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,6DAA6D;QAC/D,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,OAAO,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { HookInput, HookOutput } from "./output.js";
2
+ export interface RunEventDeps {
3
+ /** Session-context digest (opens/closes the store internally). */
4
+ sessionContext: () => Promise<string>;
5
+ /** Direct FTS search fallback (opens/closes the store internally). */
6
+ ftsSearch: (query: string, opts: {
7
+ limit: number;
8
+ }) => Promise<unknown[]>;
9
+ port?: number;
10
+ }
11
+ /** Dispatch a `memkin hook <event>` invocation. Returns the stdout payload object. */
12
+ export declare function runHookEvent(event: string, input: HookInput, deps: RunEventDeps): Promise<HookOutput | Record<string, never>>;
13
+ //# sourceMappingURL=run-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-event.d.ts","sourceRoot":"","sources":["../../src/hooks/run-event.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzD,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,sEAAsE;IACtE,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,sFAAsF;AACtF,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAc7C"}
@@ -0,0 +1,20 @@
1
+ import { runSessionEnd, runSessionStart, runUserPrompt } from "./handlers.js";
2
+ import { recall } from "./recall-client.js";
3
+ import { runWriteback } from "./writeback.js";
4
+ /** Dispatch a `memkin hook <event>` invocation. Returns the stdout payload object. */
5
+ export async function runHookEvent(event, input, deps) {
6
+ switch (event) {
7
+ case "session-start":
8
+ return runSessionStart(input, { sessionContext: deps.sessionContext });
9
+ case "user-prompt":
10
+ return runUserPrompt(input, {
11
+ recall: (q) => recall(q, { port: deps.port, store: { search: deps.ftsSearch } }),
12
+ });
13
+ case "session-end":
14
+ // Opt-in is encoded by whether the SessionEnd hook was installed at all.
15
+ return runSessionEnd(input, { writeback: () => runWriteback({ enabled: true }) });
16
+ default:
17
+ return {};
18
+ }
19
+ }
20
+ //# sourceMappingURL=run-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-event.js","sourceRoot":"","sources":["../../src/hooks/run-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAU9C,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAa,EACb,KAAgB,EAChB,IAAkB;IAElB,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,eAAe;YAClB,OAAO,eAAe,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACzE,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC,KAAK,EAAE;gBAC1B,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;aACjF,CAAC,CAAC;QACL,KAAK,aAAa;YAChB,yEAAyE;YACzE,OAAO,aAAa,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACpF;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface HookSpec {
2
+ event: string;
3
+ matcher?: string;
4
+ command: string;
5
+ }
6
+ type Json = Record<string, unknown>;
7
+ export declare function upsertHooks(obj: Json, specs: HookSpec[]): Json;
8
+ export declare function removeHooks(obj: Json): Json;
9
+ export {};
10
+ //# sourceMappingURL=settings-edit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-edit.d.ts","sourceRoot":"","sources":["../../src/hooks/settings-edit.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAYpC,wBAAgB,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAW9D;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAa3C"}
@@ -0,0 +1,44 @@
1
+ // Idempotent editing of Claude Code ~/.claude/settings.json `hooks`.
2
+ // memkin-owned groups are identified by a command containing "memkin hook",
3
+ // so user-authored hooks are always preserved.
4
+ function isMemkinGroup(group) {
5
+ if (!group || typeof group !== "object")
6
+ return false;
7
+ const hooks = group.hooks;
8
+ if (!Array.isArray(hooks))
9
+ return false;
10
+ return hooks.some((h) => {
11
+ const command = h && typeof h === "object" ? h.command : undefined;
12
+ return typeof command === "string" && command.includes("memkin hook");
13
+ });
14
+ }
15
+ export function upsertHooks(obj, specs) {
16
+ const hooks = { ...(obj.hooks ?? {}) };
17
+ for (const spec of specs) {
18
+ const existing = Array.isArray(hooks[spec.event]) ? [...hooks[spec.event]] : [];
19
+ const kept = existing.filter((g) => !isMemkinGroup(g));
20
+ const group = {};
21
+ if (spec.matcher)
22
+ group.matcher = spec.matcher;
23
+ group.hooks = [{ type: "command", command: spec.command }];
24
+ hooks[spec.event] = [...kept, group];
25
+ }
26
+ return { ...obj, hooks };
27
+ }
28
+ export function removeHooks(obj) {
29
+ const cur = obj.hooks;
30
+ if (!cur || typeof cur !== "object")
31
+ return obj;
32
+ const hooks = {};
33
+ for (const [event, groups] of Object.entries(cur)) {
34
+ if (!Array.isArray(groups)) {
35
+ hooks[event] = groups;
36
+ continue;
37
+ }
38
+ const kept = groups.filter((g) => !isMemkinGroup(g));
39
+ if (kept.length > 0)
40
+ hooks[event] = kept;
41
+ }
42
+ return { ...obj, hooks };
43
+ }
44
+ //# sourceMappingURL=settings-edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-edit.js","sourceRoot":"","sources":["../../src/hooks/settings-edit.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,4EAA4E;AAC5E,+CAA+C;AAU/C,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,KAAK,GAAI,KAAiC,CAAC,KAAK,CAAC;IACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,MAAM,OAAO,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,CAA6B,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAS,EAAE,KAAiB;IACtD,MAAM,KAAK,GAA4B,EAAE,GAAG,CAAE,GAAG,CAAC,KAAiC,IAAI,EAAE,CAAC,EAAE,CAAC;IAC7F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/C,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAS;IACnC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;IACtB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAChD,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;YACtB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAI,MAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC3C,CAAC;IACD,OAAO,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface WritebackDeps {
2
+ enabled: boolean;
3
+ debounceMs?: number;
4
+ home?: string;
5
+ now?: number;
6
+ readStamp?: () => number | null;
7
+ writeStamp?: (t: number) => void;
8
+ spawnExtract?: () => void;
9
+ }
10
+ /** Returns true if a write-back was triggered. Never blocks (extract is detached). */
11
+ export declare function runWriteback(deps: WritebackDeps): boolean;
12
+ //# sourceMappingURL=writeback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeback.d.ts","sourceRoot":"","sources":["../../src/hooks/writeback.ts"],"names":[],"mappings":"AAsCA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAUzD"}
@@ -0,0 +1,48 @@
1
+ import { spawn } from "node:child_process";
2
+ import { existsSync, readFileSync, writeFileSync } from "node:fs";
3
+ import { homedir } from "node:os";
4
+ import { join } from "node:path";
5
+ // Opt-in, debounced, non-blocking auto write-back for the SessionEnd hook.
6
+ // When enabled, triggers a detached `memkin extract --source claude-code`
7
+ // (incremental + deduped + L1/L2 noise-filtered) at most once per debounce window.
8
+ const DEFAULT_DEBOUNCE_MS = 10 * 60 * 1000; // 10 minutes
9
+ function stampPath(home) {
10
+ return join(home, ".memkin", ".last-writeback");
11
+ }
12
+ function defaultReadStamp(home) {
13
+ const p = stampPath(home);
14
+ if (!existsSync(p))
15
+ return null;
16
+ const n = Number(readFileSync(p, "utf8").trim());
17
+ return Number.isFinite(n) ? n : null;
18
+ }
19
+ function defaultWriteStamp(home, t) {
20
+ try {
21
+ writeFileSync(stampPath(home), String(t));
22
+ }
23
+ catch {
24
+ // best-effort; a missing ~/.memkin just means no debounce persistence
25
+ }
26
+ }
27
+ function defaultSpawn() {
28
+ const child = spawn("memkin", ["extract", "--source", "claude-code"], {
29
+ detached: true,
30
+ stdio: "ignore",
31
+ });
32
+ child.unref();
33
+ }
34
+ /** Returns true if a write-back was triggered. Never blocks (extract is detached). */
35
+ export function runWriteback(deps) {
36
+ if (!deps.enabled)
37
+ return false;
38
+ const home = deps.home ?? homedir();
39
+ const now = deps.now ?? Date.now();
40
+ const debounce = deps.debounceMs ?? DEFAULT_DEBOUNCE_MS;
41
+ const last = (deps.readStamp ?? (() => defaultReadStamp(home)))();
42
+ if (last !== null && now - last < debounce)
43
+ return false;
44
+ (deps.writeStamp ?? ((t) => defaultWriteStamp(home, t)))(now);
45
+ (deps.spawnExtract ?? defaultSpawn)();
46
+ return true;
47
+ }
48
+ //# sourceMappingURL=writeback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeback.js","sourceRoot":"","sources":["../../src/hooks/writeback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,2EAA2E;AAC3E,0EAA0E;AAC1E,mFAAmF;AAEnF,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AAEzD,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,CAAS;IAChD,IAAI,CAAC;QACH,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;IACxE,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE;QACpE,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAYD,sFAAsF;AACtF,MAAM,UAAU,YAAY,CAAC,IAAmB;IAC9C,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,IAAI,mBAAmB,CAAC;IACxD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,QAAQ;QAAE,OAAO,KAAK,CAAC;IACzD,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9D,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,EAAE,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ClientAdapter } from "../types.js";
2
+ export declare const claudeCode: ClientAdapter;
3
+ //# sourceMappingURL=claude-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/install/clients/claude-code.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,aAAa,CAAC;AAEzE,eAAO,MAAM,UAAU,EAAE,aA2BxB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { existsSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { DIRECTIVE_L1 } from "../directive.js";
4
+ import { mcpEntry } from "../types.js";
5
+ export const claudeCode = {
6
+ id: "claude-code",
7
+ displayName: "Claude Code",
8
+ supportsHttp: true,
9
+ detect(home) {
10
+ return existsSync(join(home, ".claude")) || existsSync(join(home, ".claude.json"));
11
+ },
12
+ plan(ctx) {
13
+ const mcpPath = ctx.scope === "project" ? join(ctx.cwd, ".mcp.json") : join(ctx.home, ".claude.json");
14
+ const rulesPath = ctx.scope === "project" ? join(ctx.cwd, "CLAUDE.md") : join(ctx.home, ".claude", "CLAUDE.md");
15
+ return [
16
+ {
17
+ path: mcpPath,
18
+ kind: "json-mcp",
19
+ action: ctx.action,
20
+ entry: ctx.action === "upsert" ? mcpEntry(ctx) : undefined,
21
+ },
22
+ {
23
+ path: rulesPath,
24
+ kind: "marked-block",
25
+ action: ctx.action,
26
+ content: ctx.action === "upsert" ? DIRECTIVE_L1 : undefined,
27
+ },
28
+ ];
29
+ },
30
+ };
31
+ //# sourceMappingURL=claude-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/install/clients/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAsB,QAAQ,EAAgB,MAAM,aAAa,CAAC;AAEzE,MAAM,CAAC,MAAM,UAAU,GAAkB;IACvC,EAAE,EAAE,aAAa;IACjB,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,IAAI;IAClB,MAAM,CAAC,IAAI;QACT,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,GAAY;QACf,MAAM,OAAO,GACX,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACxF,MAAM,SAAS,GACb,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAChG,OAAO;YACL;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;aAC3D;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;aAC5D;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ClientAdapter } from "../types.js";
2
+ export declare const claudeDesktop: ClientAdapter;
3
+ //# sourceMappingURL=claude-desktop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-desktop.d.ts","sourceRoot":"","sources":["../../../src/install/clients/claude-desktop.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,aAAa,CAAC;AAUzE,eAAO,MAAM,aAAa,EAAE,aAmB3B,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { existsSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { mcpEntry } from "../types.js";
4
+ // Claude Desktop has no rules-file mechanism; it relies on the L2 MCP
5
+ // `instructions` field. Install only registers the MCP server.
6
+ function configDir(home, platform) {
7
+ if (platform === "darwin")
8
+ return join(home, "Library", "Application Support", "Claude");
9
+ if (platform === "win32")
10
+ return join(home, "AppData", "Roaming", "Claude");
11
+ return join(home, ".config", "Claude");
12
+ }
13
+ export const claudeDesktop = {
14
+ id: "claude-desktop",
15
+ displayName: "Claude Desktop",
16
+ // TODO(SP4 T6b): verify HTTP support
17
+ supportsHttp: false,
18
+ detect(home, platform) {
19
+ return existsSync(configDir(home, platform));
20
+ },
21
+ plan(ctx) {
22
+ const path = join(configDir(ctx.home, ctx.platform), "claude_desktop_config.json");
23
+ return [
24
+ {
25
+ path,
26
+ kind: "json-mcp",
27
+ action: ctx.action,
28
+ entry: ctx.action === "upsert" ? mcpEntry(ctx) : undefined,
29
+ },
30
+ ];
31
+ },
32
+ };
33
+ //# sourceMappingURL=claude-desktop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-desktop.js","sourceRoot":"","sources":["../../../src/install/clients/claude-desktop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAsB,QAAQ,EAAgB,MAAM,aAAa,CAAC;AAEzE,sEAAsE;AACtE,+DAA+D;AAC/D,SAAS,SAAS,CAAC,IAAY,EAAE,QAAyB;IACxD,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;IACzF,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,EAAE,EAAE,gBAAgB;IACpB,WAAW,EAAE,gBAAgB;IAC7B,qCAAqC;IACrC,YAAY,EAAE,KAAK;IACnB,MAAM,CAAC,IAAI,EAAE,QAAQ;QACnB,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,GAAY;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACnF,OAAO;YACL;gBACE,IAAI;gBACJ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;aAC3D;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ClientAdapter } from "../types.js";
2
+ export declare const codex: ClientAdapter;
3
+ //# sourceMappingURL=codex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/install/clients/codex.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,aAAa,CAAC;AAIzE,eAAO,MAAM,KAAK,EAAE,aA0BnB,CAAC"}