@chendpoc/pi-memory 0.1.13 → 0.2.1

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 (817) hide show
  1. package/README.md +284 -216
  2. package/UBIQUITOUS_LANGUAGE.md +81 -0
  3. package/dist/adapters/embed/factory.d.ts +7 -0
  4. package/dist/adapters/embed/factory.d.ts.map +1 -0
  5. package/dist/adapters/embed/factory.js +44 -0
  6. package/dist/adapters/embed/factory.js.map +1 -0
  7. package/dist/adapters/embed/hash.d.ts +3 -0
  8. package/dist/adapters/embed/hash.d.ts.map +1 -0
  9. package/dist/adapters/embed/hash.js +26 -0
  10. package/dist/adapters/embed/hash.js.map +1 -0
  11. package/dist/adapters/embed/normalize.d.ts +3 -0
  12. package/dist/adapters/embed/normalize.d.ts.map +1 -0
  13. package/dist/adapters/embed/normalize.js +15 -0
  14. package/dist/adapters/embed/normalize.js.map +1 -0
  15. package/dist/adapters/embed/ollama.d.ts +8 -0
  16. package/dist/adapters/embed/ollama.d.ts.map +1 -0
  17. package/dist/adapters/embed/ollama.js +31 -0
  18. package/dist/adapters/embed/ollama.js.map +1 -0
  19. package/dist/adapters/embed/openai.d.ts +8 -0
  20. package/dist/adapters/embed/openai.d.ts.map +1 -0
  21. package/dist/adapters/embed/openai.js +30 -0
  22. package/dist/adapters/embed/openai.js.map +1 -0
  23. package/dist/adapters/embed/types.d.ts +9 -0
  24. package/dist/adapters/embed/types.d.ts.map +1 -0
  25. package/dist/adapters/embed/types.js.map +1 -0
  26. package/dist/adapters/http.d.ts +13 -0
  27. package/dist/adapters/http.d.ts.map +1 -0
  28. package/dist/adapters/http.js +31 -0
  29. package/dist/adapters/http.js.map +1 -0
  30. package/dist/adapters/index.d.ts +4 -0
  31. package/dist/adapters/index.d.ts.map +1 -0
  32. package/dist/adapters/index.js +4 -0
  33. package/dist/adapters/index.js.map +1 -0
  34. package/dist/adapters/llm/extractText.d.ts +5 -0
  35. package/dist/adapters/llm/extractText.d.ts.map +1 -0
  36. package/dist/adapters/llm/extractText.js +7 -0
  37. package/dist/adapters/llm/extractText.js.map +1 -0
  38. package/dist/adapters/llm/factory.d.ts +11 -0
  39. package/dist/adapters/llm/factory.d.ts.map +1 -0
  40. package/dist/adapters/llm/factory.js +48 -0
  41. package/dist/adapters/llm/factory.js.map +1 -0
  42. package/dist/adapters/llm/index.d.ts +8 -0
  43. package/dist/adapters/llm/index.d.ts.map +1 -0
  44. package/dist/adapters/llm/index.js +7 -0
  45. package/dist/adapters/llm/index.js.map +1 -0
  46. package/dist/adapters/llm/modelSpec.d.ts +10 -0
  47. package/dist/adapters/llm/modelSpec.d.ts.map +1 -0
  48. package/dist/adapters/llm/modelSpec.js +21 -0
  49. package/dist/adapters/llm/modelSpec.js.map +1 -0
  50. package/dist/adapters/llm/ollama.d.ts +4 -0
  51. package/dist/adapters/llm/ollama.d.ts.map +1 -0
  52. package/dist/adapters/llm/ollama.js +32 -0
  53. package/dist/adapters/llm/ollama.js.map +1 -0
  54. package/dist/adapters/llm/openai-compat.d.ts +4 -0
  55. package/dist/adapters/llm/openai-compat.d.ts.map +1 -0
  56. package/dist/adapters/llm/openai-compat.js +36 -0
  57. package/dist/adapters/llm/openai-compat.js.map +1 -0
  58. package/dist/adapters/llm/pi-ai.d.ts +5 -0
  59. package/dist/adapters/llm/pi-ai.d.ts.map +1 -0
  60. package/dist/adapters/llm/pi-ai.js +60 -0
  61. package/dist/adapters/llm/pi-ai.js.map +1 -0
  62. package/dist/adapters/llm/standalone.d.ts +6 -0
  63. package/dist/adapters/llm/standalone.d.ts.map +1 -0
  64. package/dist/adapters/llm/standalone.js +44 -0
  65. package/dist/adapters/llm/standalone.js.map +1 -0
  66. package/dist/adapters/llm/types.d.ts +15 -0
  67. package/dist/adapters/llm/types.d.ts.map +1 -0
  68. package/dist/adapters/llm/types.js.map +1 -0
  69. package/dist/cli/init.d.ts +3 -0
  70. package/dist/cli/init.d.ts.map +1 -0
  71. package/dist/cli/init.js +13 -0
  72. package/dist/cli/init.js.map +1 -0
  73. package/dist/cli/jobs.d.ts +32 -0
  74. package/dist/cli/jobs.d.ts.map +1 -0
  75. package/dist/cli/jobs.js +100 -0
  76. package/dist/cli/jobs.js.map +1 -0
  77. package/dist/cli/log.d.ts +14 -0
  78. package/dist/cli/log.d.ts.map +1 -0
  79. package/dist/cli/log.js +32 -0
  80. package/dist/cli/log.js.map +1 -0
  81. package/dist/cli/parseArgs.d.ts +35 -0
  82. package/dist/cli/parseArgs.d.ts.map +1 -0
  83. package/dist/cli/parseArgs.js +127 -0
  84. package/dist/cli/parseArgs.js.map +1 -0
  85. package/dist/cli/status.d.ts +44 -0
  86. package/dist/cli/status.d.ts.map +1 -0
  87. package/dist/cli/status.js +238 -0
  88. package/dist/cli/status.js.map +1 -0
  89. package/dist/cli/theme.d.ts +14 -0
  90. package/dist/cli/theme.d.ts.map +1 -0
  91. package/dist/cli/theme.js +20 -0
  92. package/dist/cli/theme.js.map +1 -0
  93. package/dist/cli.js +70 -356
  94. package/dist/cli.js.map +1 -1
  95. package/dist/commands/index.d.ts +6 -0
  96. package/dist/commands/index.d.ts.map +1 -0
  97. package/dist/commands/index.js +14 -0
  98. package/dist/commands/index.js.map +1 -0
  99. package/dist/commands/parseMemoryStatusArgs.d.ts +3 -0
  100. package/dist/commands/parseMemoryStatusArgs.d.ts.map +1 -0
  101. package/dist/commands/parseMemoryStatusArgs.js +15 -0
  102. package/dist/commands/parseMemoryStatusArgs.js.map +1 -0
  103. package/dist/commands/parseRememberArgs.d.ts +10 -0
  104. package/dist/commands/parseRememberArgs.d.ts.map +1 -0
  105. package/dist/commands/parseRememberArgs.js +46 -0
  106. package/dist/commands/parseRememberArgs.js.map +1 -0
  107. package/dist/commands/remember.d.ts +8 -0
  108. package/dist/commands/remember.d.ts.map +1 -0
  109. package/dist/commands/remember.js +30 -0
  110. package/dist/commands/remember.js.map +1 -0
  111. package/dist/commands/status.d.ts +10 -0
  112. package/dist/commands/status.d.ts.map +1 -0
  113. package/dist/commands/status.js +81 -0
  114. package/dist/commands/status.js.map +1 -0
  115. package/dist/commands/types.d.ts +10 -0
  116. package/dist/commands/types.d.ts.map +1 -0
  117. package/dist/commands/types.js +2 -0
  118. package/dist/{consolidation → commands}/types.js.map +1 -1
  119. package/dist/compact/index.d.ts +5 -0
  120. package/dist/compact/index.d.ts.map +1 -0
  121. package/dist/compact/index.js +5 -0
  122. package/dist/compact/index.js.map +1 -0
  123. package/dist/compact/parseMemoryExport.d.ts +6 -0
  124. package/dist/compact/parseMemoryExport.d.ts.map +1 -0
  125. package/dist/compact/parseMemoryExport.js +62 -0
  126. package/dist/compact/parseMemoryExport.js.map +1 -0
  127. package/dist/compact/register.d.ts +10 -0
  128. package/dist/compact/register.d.ts.map +1 -0
  129. package/dist/compact/register.js +47 -0
  130. package/dist/compact/register.js.map +1 -0
  131. package/dist/compact/runSummary.d.ts +6 -0
  132. package/dist/compact/runSummary.d.ts.map +1 -0
  133. package/dist/compact/runSummary.js +29 -0
  134. package/dist/compact/runSummary.js.map +1 -0
  135. package/dist/compact/subagentDelta.d.ts +6 -0
  136. package/dist/compact/subagentDelta.d.ts.map +1 -0
  137. package/dist/compact/subagentDelta.js +13 -0
  138. package/dist/compact/subagentDelta.js.map +1 -0
  139. package/dist/compact/summaryPrompt.d.ts +3 -0
  140. package/dist/compact/summaryPrompt.d.ts.map +1 -0
  141. package/dist/compact/summaryPrompt.js +41 -0
  142. package/dist/compact/summaryPrompt.js.map +1 -0
  143. package/dist/config/agentDir.d.ts +11 -0
  144. package/dist/config/agentDir.d.ts.map +1 -0
  145. package/dist/config/agentDir.js +21 -0
  146. package/dist/config/agentDir.js.map +1 -0
  147. package/dist/config/chunking.d.ts +7 -0
  148. package/dist/config/chunking.d.ts.map +1 -0
  149. package/dist/config/chunking.js +20 -0
  150. package/dist/config/chunking.js.map +1 -0
  151. package/dist/config/env.d.ts +28 -0
  152. package/dist/config/env.d.ts.map +1 -0
  153. package/dist/config/env.js +43 -0
  154. package/dist/config/env.js.map +1 -0
  155. package/dist/config/index.d.ts +8 -0
  156. package/dist/config/index.d.ts.map +1 -0
  157. package/dist/config/index.js +8 -0
  158. package/dist/config/index.js.map +1 -0
  159. package/dist/config/loadEnv.d.ts +10 -0
  160. package/dist/config/loadEnv.d.ts.map +1 -0
  161. package/dist/config/loadEnv.js +25 -0
  162. package/dist/config/loadEnv.js.map +1 -0
  163. package/dist/config/preflight.d.ts +8 -0
  164. package/dist/config/preflight.d.ts.map +1 -0
  165. package/dist/config/preflight.js +22 -0
  166. package/dist/config/preflight.js.map +1 -0
  167. package/dist/config/preflightBudget.d.ts +9 -0
  168. package/dist/config/preflightBudget.d.ts.map +1 -0
  169. package/dist/config/preflightBudget.js +16 -0
  170. package/dist/config/preflightBudget.js.map +1 -0
  171. package/dist/config/retrieval.d.ts +10 -0
  172. package/dist/config/retrieval.d.ts.map +1 -0
  173. package/dist/config/retrieval.js +31 -0
  174. package/dist/config/retrieval.js.map +1 -0
  175. package/dist/consolidate/entryKey.d.ts +6 -0
  176. package/dist/consolidate/entryKey.d.ts.map +1 -0
  177. package/dist/consolidate/entryKey.js +5 -0
  178. package/dist/consolidate/entryKey.js.map +1 -0
  179. package/dist/consolidate/index.d.ts +5 -0
  180. package/dist/consolidate/index.d.ts.map +1 -0
  181. package/dist/consolidate/index.js +5 -0
  182. package/dist/consolidate/index.js.map +1 -0
  183. package/dist/consolidate/mergeEntries.d.ts +4 -0
  184. package/dist/consolidate/mergeEntries.d.ts.map +1 -0
  185. package/dist/consolidate/mergeEntries.js +17 -0
  186. package/dist/consolidate/mergeEntries.js.map +1 -0
  187. package/dist/consolidate/mergePrompt.d.ts +4 -0
  188. package/dist/consolidate/mergePrompt.d.ts.map +1 -0
  189. package/dist/consolidate/mergePrompt.js +40 -0
  190. package/dist/consolidate/mergePrompt.js.map +1 -0
  191. package/dist/consolidate/mergeWithLlm.d.ts +4 -0
  192. package/dist/consolidate/mergeWithLlm.d.ts.map +1 -0
  193. package/dist/consolidate/mergeWithLlm.js +27 -0
  194. package/dist/consolidate/mergeWithLlm.js.map +1 -0
  195. package/dist/consolidate/runJob.d.ts +29 -0
  196. package/dist/consolidate/runJob.d.ts.map +1 -0
  197. package/dist/consolidate/runJob.js +48 -0
  198. package/dist/consolidate/runJob.js.map +1 -0
  199. package/dist/consolidate/scheduler.d.ts +18 -0
  200. package/dist/consolidate/scheduler.d.ts.map +1 -0
  201. package/dist/consolidate/scheduler.js +32 -0
  202. package/dist/consolidate/scheduler.js.map +1 -0
  203. package/dist/constants/chunking.d.ts +7 -0
  204. package/dist/constants/chunking.d.ts.map +1 -0
  205. package/dist/constants/chunking.js +7 -0
  206. package/dist/constants/chunking.js.map +1 -0
  207. package/dist/constants/env.d.ts +47 -0
  208. package/dist/constants/env.d.ts.map +1 -0
  209. package/dist/constants/env.js +52 -0
  210. package/dist/constants/env.js.map +1 -0
  211. package/dist/constants/index.d.ts +8 -0
  212. package/dist/constants/index.d.ts.map +1 -0
  213. package/dist/constants/index.js +8 -0
  214. package/dist/constants/index.js.map +1 -0
  215. package/dist/constants/memory.d.ts +17 -0
  216. package/dist/constants/memory.d.ts.map +1 -0
  217. package/dist/constants/memory.js +16 -0
  218. package/dist/constants/memory.js.map +1 -0
  219. package/dist/constants/paths.d.ts +23 -0
  220. package/dist/constants/paths.d.ts.map +1 -0
  221. package/dist/constants/paths.js +23 -0
  222. package/dist/constants/paths.js.map +1 -0
  223. package/dist/constants/preflight.d.ts +17 -0
  224. package/dist/constants/preflight.d.ts.map +1 -0
  225. package/dist/constants/preflight.js +17 -0
  226. package/dist/constants/preflight.js.map +1 -0
  227. package/dist/constants/retrieval.d.ts +10 -0
  228. package/dist/constants/retrieval.d.ts.map +1 -0
  229. package/dist/constants/retrieval.js +10 -0
  230. package/dist/constants/retrieval.js.map +1 -0
  231. package/dist/constants/security.d.ts +5 -0
  232. package/dist/constants/security.d.ts.map +1 -0
  233. package/dist/constants/security.js +5 -0
  234. package/dist/constants/security.js.map +1 -0
  235. package/dist/constants/timing.d.ts +38 -0
  236. package/dist/constants/timing.d.ts.map +1 -0
  237. package/dist/constants/timing.js +38 -0
  238. package/dist/constants/timing.js.map +1 -0
  239. package/dist/index.d.ts +11 -29
  240. package/dist/index.d.ts.map +1 -1
  241. package/dist/index.js +11 -28
  242. package/dist/index.js.map +1 -1
  243. package/dist/init/workspace.d.ts +15 -0
  244. package/dist/init/workspace.d.ts.map +1 -0
  245. package/dist/init/workspace.js +32 -0
  246. package/dist/init/workspace.js.map +1 -0
  247. package/dist/ipc/jsonlFramer.d.ts +9 -0
  248. package/dist/ipc/jsonlFramer.d.ts.map +1 -0
  249. package/dist/ipc/jsonlFramer.js +26 -0
  250. package/dist/ipc/jsonlFramer.js.map +1 -0
  251. package/dist/pi-extension.d.ts +0 -2
  252. package/dist/pi-extension.d.ts.map +1 -1
  253. package/dist/pi-extension.js +175 -515
  254. package/dist/pi-extension.js.map +1 -1
  255. package/dist/preflight/episodic.d.ts +26 -0
  256. package/dist/preflight/episodic.d.ts.map +1 -0
  257. package/dist/preflight/episodic.js +125 -0
  258. package/dist/preflight/episodic.js.map +1 -0
  259. package/dist/preflight/intentCache.d.ts +13 -0
  260. package/dist/preflight/intentCache.d.ts.map +1 -0
  261. package/dist/preflight/intentCache.js +37 -0
  262. package/dist/preflight/intentCache.js.map +1 -0
  263. package/dist/preflight/queryCache.d.ts +15 -0
  264. package/dist/preflight/queryCache.d.ts.map +1 -0
  265. package/dist/preflight/queryCache.js +46 -0
  266. package/dist/preflight/queryCache.js.map +1 -0
  267. package/dist/preflight/queryIntent.d.ts +29 -0
  268. package/dist/preflight/queryIntent.d.ts.map +1 -0
  269. package/dist/preflight/queryIntent.js +91 -0
  270. package/dist/preflight/queryIntent.js.map +1 -0
  271. package/dist/preflight/render.d.ts +8 -33
  272. package/dist/preflight/render.d.ts.map +1 -1
  273. package/dist/preflight/render.js +29 -126
  274. package/dist/preflight/render.js.map +1 -1
  275. package/dist/preflight/session.d.ts +3 -0
  276. package/dist/preflight/session.d.ts.map +1 -0
  277. package/dist/preflight/session.js +6 -0
  278. package/dist/preflight/session.js.map +1 -0
  279. package/dist/preflight/strip.d.ts +0 -8
  280. package/dist/preflight/strip.d.ts.map +1 -1
  281. package/dist/preflight/strip.js +2 -11
  282. package/dist/preflight/strip.js.map +1 -1
  283. package/dist/shutdown/enqueue.d.ts +12 -0
  284. package/dist/shutdown/enqueue.d.ts.map +1 -0
  285. package/dist/shutdown/enqueue.js +14 -0
  286. package/dist/shutdown/enqueue.js.map +1 -0
  287. package/dist/shutdown/extractPrompt.d.ts +4 -0
  288. package/dist/shutdown/extractPrompt.d.ts.map +1 -0
  289. package/dist/shutdown/extractPrompt.js +29 -0
  290. package/dist/shutdown/extractPrompt.js.map +1 -0
  291. package/dist/shutdown/processed.d.ts +9 -0
  292. package/dist/shutdown/processed.d.ts.map +1 -0
  293. package/dist/shutdown/processed.js +28 -0
  294. package/dist/shutdown/processed.js.map +1 -0
  295. package/dist/shutdown/readQueue.d.ts +4 -0
  296. package/dist/shutdown/readQueue.d.ts.map +1 -0
  297. package/dist/shutdown/readQueue.js +26 -0
  298. package/dist/shutdown/readQueue.js.map +1 -0
  299. package/dist/shutdown/runDrainJob.d.ts +26 -0
  300. package/dist/shutdown/runDrainJob.d.ts.map +1 -0
  301. package/dist/shutdown/runDrainJob.js +143 -0
  302. package/dist/shutdown/runDrainJob.js.map +1 -0
  303. package/dist/shutdown/sessionReader.d.ts +6 -0
  304. package/dist/shutdown/sessionReader.d.ts.map +1 -0
  305. package/dist/shutdown/sessionReader.js +44 -0
  306. package/dist/shutdown/sessionReader.js.map +1 -0
  307. package/dist/sidecar/client.d.ts +17 -16
  308. package/dist/sidecar/client.d.ts.map +1 -1
  309. package/dist/sidecar/client.js +64 -100
  310. package/dist/sidecar/client.js.map +1 -1
  311. package/dist/sidecar/paths.d.ts +8 -0
  312. package/dist/sidecar/paths.d.ts.map +1 -0
  313. package/dist/sidecar/paths.js +23 -0
  314. package/dist/sidecar/paths.js.map +1 -0
  315. package/dist/sidecar/protocol.d.ts +54 -0
  316. package/dist/sidecar/protocol.d.ts.map +1 -0
  317. package/dist/sidecar/protocol.js +4 -0
  318. package/dist/sidecar/protocol.js.map +1 -0
  319. package/dist/sidecar/reindexBridge.d.ts +13 -0
  320. package/dist/sidecar/reindexBridge.d.ts.map +1 -0
  321. package/dist/sidecar/reindexBridge.js +37 -0
  322. package/dist/sidecar/reindexBridge.js.map +1 -0
  323. package/dist/sidecar/server/process.d.ts +2 -0
  324. package/dist/sidecar/server/process.d.ts.map +1 -0
  325. package/dist/sidecar/server/process.js +22 -0
  326. package/dist/sidecar/server/process.js.map +1 -0
  327. package/dist/sidecar/server/query.d.ts +8 -0
  328. package/dist/sidecar/server/query.d.ts.map +1 -0
  329. package/dist/sidecar/server/query.js +7 -0
  330. package/dist/sidecar/server/query.js.map +1 -0
  331. package/dist/sidecar/server/reindex.d.ts +8 -0
  332. package/dist/sidecar/server/reindex.d.ts.map +1 -0
  333. package/dist/sidecar/server/reindex.js +12 -0
  334. package/dist/sidecar/server/reindex.js.map +1 -0
  335. package/dist/sidecar/server/server.d.ts +11 -0
  336. package/dist/sidecar/server/server.d.ts.map +1 -0
  337. package/dist/sidecar/server/server.js +76 -0
  338. package/dist/sidecar/server/server.js.map +1 -0
  339. package/dist/sidecar/server/stats.d.ts +8 -0
  340. package/dist/sidecar/server/stats.d.ts.map +1 -0
  341. package/dist/sidecar/server/stats.js +18 -0
  342. package/dist/sidecar/server/stats.js.map +1 -0
  343. package/dist/sidecar/server/vec/embedder.d.ts +2 -0
  344. package/dist/sidecar/server/vec/embedder.d.ts.map +1 -0
  345. package/dist/sidecar/server/vec/embedder.js +2 -0
  346. package/dist/sidecar/server/vec/embedder.js.map +1 -0
  347. package/dist/sidecar/server/vec/mmr.d.ts +13 -0
  348. package/dist/sidecar/server/vec/mmr.d.ts.map +1 -0
  349. package/dist/sidecar/server/vec/mmr.js +36 -0
  350. package/dist/sidecar/server/vec/mmr.js.map +1 -0
  351. package/dist/sidecar/server/vec/store.d.ts +30 -0
  352. package/dist/sidecar/server/vec/store.d.ts.map +1 -0
  353. package/dist/sidecar/server/vec/store.js +179 -0
  354. package/dist/sidecar/server/vec/store.js.map +1 -0
  355. package/dist/sidecar/sidecarManager.d.ts +10 -0
  356. package/dist/sidecar/sidecarManager.d.ts.map +1 -0
  357. package/dist/sidecar/sidecarManager.js +111 -0
  358. package/dist/sidecar/sidecarManager.js.map +1 -0
  359. package/dist/sidecar/utils.d.ts +3 -0
  360. package/dist/sidecar/utils.d.ts.map +1 -0
  361. package/dist/sidecar/utils.js +27 -0
  362. package/dist/sidecar/utils.js.map +1 -0
  363. package/dist/sidecar/warmup.d.ts +6 -0
  364. package/dist/sidecar/warmup.d.ts.map +1 -0
  365. package/dist/sidecar/warmup.js +39 -0
  366. package/dist/sidecar/warmup.js.map +1 -0
  367. package/dist/store/backend.d.ts +12 -0
  368. package/dist/store/backend.d.ts.map +1 -0
  369. package/dist/store/backend.js +47 -0
  370. package/dist/store/backend.js.map +1 -0
  371. package/dist/store/index.d.ts +6 -0
  372. package/dist/store/index.d.ts.map +1 -0
  373. package/dist/store/index.js +6 -0
  374. package/dist/store/index.js.map +1 -0
  375. package/dist/store/indexChunks.d.ts +9 -0
  376. package/dist/store/indexChunks.d.ts.map +1 -0
  377. package/dist/store/indexChunks.js +78 -0
  378. package/dist/store/indexChunks.js.map +1 -0
  379. package/dist/store/markdown/format.d.ts +5 -0
  380. package/dist/store/markdown/format.d.ts.map +1 -0
  381. package/dist/store/markdown/format.js +14 -0
  382. package/dist/store/markdown/format.js.map +1 -0
  383. package/dist/store/markdown/parse.d.ts +5 -0
  384. package/dist/store/markdown/parse.d.ts.map +1 -0
  385. package/dist/store/markdown/parse.js +57 -0
  386. package/dist/store/markdown/parse.js.map +1 -0
  387. package/dist/store/markdown/template.d.ts +3 -0
  388. package/dist/store/markdown/template.d.ts.map +1 -0
  389. package/dist/store/markdown/template.js +22 -0
  390. package/dist/store/markdown/template.js.map +1 -0
  391. package/dist/store/memoryStore.d.ts +69 -0
  392. package/dist/store/memoryStore.d.ts.map +1 -0
  393. package/dist/store/memoryStore.js +421 -0
  394. package/dist/store/memoryStore.js.map +1 -0
  395. package/dist/store/paths.d.ts +10 -0
  396. package/dist/store/paths.d.ts.map +1 -0
  397. package/dist/store/paths.js +19 -0
  398. package/dist/store/paths.js.map +1 -0
  399. package/dist/store/types.d.ts +38 -0
  400. package/dist/store/types.d.ts.map +1 -0
  401. package/dist/store/types.js +3 -0
  402. package/dist/store/types.js.map +1 -0
  403. package/dist/ui/memoryStatusWidget.d.ts +20 -0
  404. package/dist/ui/memoryStatusWidget.d.ts.map +1 -0
  405. package/dist/ui/memoryStatusWidget.js +51 -0
  406. package/dist/ui/memoryStatusWidget.js.map +1 -0
  407. package/dist/utils/debugLog.d.ts +4 -0
  408. package/dist/utils/debugLog.d.ts.map +1 -0
  409. package/dist/utils/debugLog.js +14 -0
  410. package/dist/utils/debugLog.js.map +1 -0
  411. package/dist/utils/fs.d.ts +26 -0
  412. package/dist/utils/fs.d.ts.map +1 -0
  413. package/dist/utils/fs.js +101 -0
  414. package/dist/utils/fs.js.map +1 -0
  415. package/dist/utils/index.d.ts +8 -0
  416. package/dist/utils/index.d.ts.map +1 -0
  417. package/dist/utils/index.js +8 -0
  418. package/dist/utils/index.js.map +1 -0
  419. package/dist/utils/paths.d.ts +22 -0
  420. package/dist/utils/paths.d.ts.map +1 -0
  421. package/dist/utils/paths.js +51 -0
  422. package/dist/utils/paths.js.map +1 -0
  423. package/dist/utils/platform.d.ts +7 -0
  424. package/dist/utils/platform.d.ts.map +1 -0
  425. package/dist/utils/platform.js +18 -0
  426. package/dist/utils/platform.js.map +1 -0
  427. package/dist/utils/scheduler.d.ts +33 -0
  428. package/dist/utils/scheduler.d.ts.map +1 -0
  429. package/dist/utils/scheduler.js +63 -0
  430. package/dist/utils/scheduler.js.map +1 -0
  431. package/dist/utils/socket.d.ts +7 -0
  432. package/dist/utils/socket.d.ts.map +1 -0
  433. package/dist/utils/socket.js +35 -0
  434. package/dist/utils/socket.js.map +1 -0
  435. package/dist/utils/time.d.ts +22 -0
  436. package/dist/utils/time.d.ts.map +1 -0
  437. package/dist/utils/time.js +42 -0
  438. package/dist/utils/time.js.map +1 -0
  439. package/doc/README-zh.md +365 -0
  440. package/doc/ROADMAP-zh.md +52 -0
  441. package/doc/ROADMAP.md +52 -0
  442. package/package.json +31 -10
  443. package/scripts/init-memory-workspace.mjs +62 -0
  444. package/scripts/path-utils.mjs +12 -0
  445. package/scripts/platform-fs.mjs +65 -0
  446. package/scripts/postinstall.mjs +17 -0
  447. package/src/adapters/embed/factory.ts +50 -0
  448. package/src/adapters/embed/hash.ts +29 -0
  449. package/src/adapters/embed/normalize.ts +13 -0
  450. package/src/adapters/embed/ollama.ts +49 -0
  451. package/src/adapters/embed/openai.ts +46 -0
  452. package/src/adapters/embed/types.ts +9 -0
  453. package/src/adapters/http.ts +42 -0
  454. package/src/adapters/index.ts +16 -0
  455. package/src/adapters/llm/extractText.ts +6 -0
  456. package/src/adapters/llm/factory.ts +60 -0
  457. package/src/adapters/llm/index.ts +7 -0
  458. package/src/adapters/llm/modelSpec.ts +39 -0
  459. package/src/adapters/llm/ollama.ts +42 -0
  460. package/src/adapters/llm/openai-compat.ts +46 -0
  461. package/src/adapters/llm/pi-ai.ts +75 -0
  462. package/src/adapters/llm/standalone.ts +60 -0
  463. package/src/adapters/llm/types.ts +16 -0
  464. package/src/cli/init.ts +18 -0
  465. package/src/cli/jobs.ts +144 -0
  466. package/src/cli/log.ts +46 -0
  467. package/src/cli/parseArgs.ts +175 -0
  468. package/src/cli/status.ts +323 -0
  469. package/src/cli/theme.ts +26 -0
  470. package/src/cli.ts +80 -374
  471. package/src/commands/index.ts +20 -0
  472. package/src/commands/parseMemoryStatusArgs.ts +11 -0
  473. package/src/commands/parseRememberArgs.ts +55 -0
  474. package/src/commands/remember.ts +43 -0
  475. package/src/commands/status.ts +112 -0
  476. package/src/commands/types.ts +12 -0
  477. package/src/compact/index.ts +4 -0
  478. package/src/compact/parseMemoryExport.ts +71 -0
  479. package/src/compact/register.ts +57 -0
  480. package/src/compact/runSummary.ts +42 -0
  481. package/src/compact/subagentDelta.ts +22 -0
  482. package/src/compact/summaryPrompt.ts +45 -0
  483. package/src/config/agentDir.ts +24 -0
  484. package/src/config/chunking.ts +36 -0
  485. package/src/config/env.ts +97 -0
  486. package/src/config/index.ts +7 -0
  487. package/src/config/loadEnv.ts +26 -0
  488. package/src/config/preflight.ts +34 -0
  489. package/src/config/preflightBudget.ts +33 -0
  490. package/src/config/retrieval.ts +50 -0
  491. package/src/consolidate/entryKey.ts +4 -0
  492. package/src/consolidate/index.ts +4 -0
  493. package/src/consolidate/mergeEntries.ts +22 -0
  494. package/src/consolidate/mergePrompt.ts +46 -0
  495. package/src/consolidate/mergeWithLlm.ts +39 -0
  496. package/src/consolidate/runJob.ts +81 -0
  497. package/src/consolidate/scheduler.ts +54 -0
  498. package/src/constants/chunking.ts +8 -0
  499. package/src/constants/env.ts +59 -0
  500. package/src/constants/index.ts +7 -0
  501. package/src/constants/memory.ts +22 -0
  502. package/src/constants/paths.ts +26 -0
  503. package/src/constants/preflight.ts +22 -0
  504. package/src/constants/retrieval.ts +10 -0
  505. package/src/constants/security.ts +5 -0
  506. package/src/constants/timing.ts +48 -0
  507. package/src/index.ts +11 -247
  508. package/src/init/workspace.ts +44 -0
  509. package/src/ipc/jsonlFramer.ts +29 -0
  510. package/src/pi-extension.ts +196 -605
  511. package/src/preflight/episodic.ts +183 -0
  512. package/src/preflight/intentCache.ts +44 -0
  513. package/src/preflight/queryCache.ts +59 -0
  514. package/src/preflight/queryIntent.ts +126 -0
  515. package/src/preflight/render.ts +34 -180
  516. package/src/preflight/session.ts +7 -0
  517. package/src/preflight/strip.ts +4 -11
  518. package/src/shutdown/enqueue.ts +29 -0
  519. package/src/shutdown/extractPrompt.ts +27 -0
  520. package/src/shutdown/processed.ts +45 -0
  521. package/src/shutdown/readQueue.ts +26 -0
  522. package/src/shutdown/runDrainJob.ts +202 -0
  523. package/src/shutdown/sessionReader.ts +61 -0
  524. package/src/sidecar/client.ts +98 -150
  525. package/src/sidecar/paths.ts +31 -0
  526. package/src/sidecar/protocol.ts +38 -0
  527. package/src/sidecar/reindexBridge.ts +52 -0
  528. package/src/sidecar/server/process.ts +27 -0
  529. package/src/sidecar/server/query.ts +16 -0
  530. package/src/sidecar/server/reindex.ts +21 -0
  531. package/src/sidecar/server/server.ts +105 -0
  532. package/src/sidecar/server/stats.ts +23 -0
  533. package/src/sidecar/server/vec/embedder.ts +1 -0
  534. package/src/sidecar/server/vec/mmr.ts +55 -0
  535. package/src/sidecar/server/vec/store.ts +232 -0
  536. package/src/sidecar/sidecarManager.ts +134 -0
  537. package/src/sidecar/utils.ts +28 -0
  538. package/src/sidecar/warmup.ts +50 -0
  539. package/src/store/backend.ts +66 -0
  540. package/src/store/index.ts +5 -0
  541. package/src/store/indexChunks.ts +89 -0
  542. package/src/store/markdown/format.ts +16 -0
  543. package/src/store/markdown/parse.ts +63 -0
  544. package/src/store/markdown/template.ts +24 -0
  545. package/src/store/memoryStore.ts +518 -0
  546. package/src/store/paths.ts +33 -0
  547. package/src/store/proper-lockfile.d.ts +3 -0
  548. package/src/store/types.ts +46 -0
  549. package/src/ui/memoryStatusWidget.ts +80 -0
  550. package/src/utils/debugLog.ts +22 -0
  551. package/src/utils/fs.ts +115 -0
  552. package/src/utils/index.ts +68 -0
  553. package/src/utils/paths.ts +67 -0
  554. package/src/utils/platform.ts +20 -0
  555. package/src/utils/scheduler.ts +98 -0
  556. package/src/utils/socket.ts +33 -0
  557. package/src/utils/time.ts +51 -0
  558. package/templates/MEMORY.md.example +22 -0
  559. package/dist/adapters/ollamaClient.d.ts +0 -11
  560. package/dist/adapters/ollamaClient.d.ts.map +0 -1
  561. package/dist/adapters/ollamaClient.js +0 -122
  562. package/dist/adapters/ollamaClient.js.map +0 -1
  563. package/dist/adapters/openaiCompatClient.d.ts +0 -11
  564. package/dist/adapters/openaiCompatClient.d.ts.map +0 -1
  565. package/dist/adapters/openaiCompatClient.js +0 -118
  566. package/dist/adapters/openaiCompatClient.js.map +0 -1
  567. package/dist/adapters/piComplete.d.ts +0 -17
  568. package/dist/adapters/piComplete.d.ts.map +0 -1
  569. package/dist/adapters/piComplete.js +0 -169
  570. package/dist/adapters/piComplete.js.map +0 -1
  571. package/dist/bundle/install.d.ts +0 -34
  572. package/dist/bundle/install.d.ts.map +0 -1
  573. package/dist/bundle/install.js +0 -183
  574. package/dist/bundle/install.js.map +0 -1
  575. package/dist/cache/memoryCaches.d.ts +0 -32
  576. package/dist/cache/memoryCaches.d.ts.map +0 -1
  577. package/dist/cache/memoryCaches.js +0 -59
  578. package/dist/cache/memoryCaches.js.map +0 -1
  579. package/dist/config.d.ts +0 -55
  580. package/dist/config.d.ts.map +0 -1
  581. package/dist/config.js +0 -85
  582. package/dist/config.js.map +0 -1
  583. package/dist/consolidation/enqueue.d.ts +0 -33
  584. package/dist/consolidation/enqueue.d.ts.map +0 -1
  585. package/dist/consolidation/enqueue.js +0 -145
  586. package/dist/consolidation/enqueue.js.map +0 -1
  587. package/dist/consolidation/index.d.ts +0 -19
  588. package/dist/consolidation/index.d.ts.map +0 -1
  589. package/dist/consolidation/index.js +0 -15
  590. package/dist/consolidation/index.js.map +0 -1
  591. package/dist/consolidation/lock.d.ts +0 -5
  592. package/dist/consolidation/lock.d.ts.map +0 -1
  593. package/dist/consolidation/lock.js +0 -33
  594. package/dist/consolidation/lock.js.map +0 -1
  595. package/dist/consolidation/log.d.ts +0 -8
  596. package/dist/consolidation/log.d.ts.map +0 -1
  597. package/dist/consolidation/log.js +0 -32
  598. package/dist/consolidation/log.js.map +0 -1
  599. package/dist/consolidation/memoryIndex.d.ts +0 -18
  600. package/dist/consolidation/memoryIndex.d.ts.map +0 -1
  601. package/dist/consolidation/memoryIndex.js +0 -100
  602. package/dist/consolidation/memoryIndex.js.map +0 -1
  603. package/dist/consolidation/phase2/runPhase2.d.ts +0 -23
  604. package/dist/consolidation/phase2/runPhase2.d.ts.map +0 -1
  605. package/dist/consolidation/phase2/runPhase2.js +0 -196
  606. package/dist/consolidation/phase2/runPhase2.js.map +0 -1
  607. package/dist/consolidation/scheduler/launchd.d.ts +0 -5
  608. package/dist/consolidation/scheduler/launchd.d.ts.map +0 -1
  609. package/dist/consolidation/scheduler/launchd.js +0 -54
  610. package/dist/consolidation/scheduler/launchd.js.map +0 -1
  611. package/dist/consolidation/scheduler/runConsolidate.d.ts +0 -26
  612. package/dist/consolidation/scheduler/runConsolidate.d.ts.map +0 -1
  613. package/dist/consolidation/scheduler/runConsolidate.js +0 -83
  614. package/dist/consolidation/scheduler/runConsolidate.js.map +0 -1
  615. package/dist/consolidation/scheduler/setupSchedule.d.ts +0 -3
  616. package/dist/consolidation/scheduler/setupSchedule.d.ts.map +0 -1
  617. package/dist/consolidation/scheduler/setupSchedule.js +0 -79
  618. package/dist/consolidation/scheduler/setupSchedule.js.map +0 -1
  619. package/dist/consolidation/scheduler/systemd.d.ts +0 -9
  620. package/dist/consolidation/scheduler/systemd.d.ts.map +0 -1
  621. package/dist/consolidation/scheduler/systemd.js +0 -57
  622. package/dist/consolidation/scheduler/systemd.js.map +0 -1
  623. package/dist/consolidation/scheduler/types.d.ts +0 -24
  624. package/dist/consolidation/scheduler/types.d.ts.map +0 -1
  625. package/dist/consolidation/scheduler/types.js.map +0 -1
  626. package/dist/consolidation/scope.d.ts +0 -12
  627. package/dist/consolidation/scope.d.ts.map +0 -1
  628. package/dist/consolidation/scope.js +0 -51
  629. package/dist/consolidation/scope.js.map +0 -1
  630. package/dist/consolidation/stage1/deltaExtract.d.ts +0 -3
  631. package/dist/consolidation/stage1/deltaExtract.d.ts.map +0 -1
  632. package/dist/consolidation/stage1/deltaExtract.js +0 -19
  633. package/dist/consolidation/stage1/deltaExtract.js.map +0 -1
  634. package/dist/consolidation/stage1/drainQueue.d.ts +0 -21
  635. package/dist/consolidation/stage1/drainQueue.d.ts.map +0 -1
  636. package/dist/consolidation/stage1/drainQueue.js +0 -113
  637. package/dist/consolidation/stage1/drainQueue.js.map +0 -1
  638. package/dist/consolidation/stage1/extractSession.d.ts +0 -6
  639. package/dist/consolidation/stage1/extractSession.d.ts.map +0 -1
  640. package/dist/consolidation/stage1/extractSession.js +0 -47
  641. package/dist/consolidation/stage1/extractSession.js.map +0 -1
  642. package/dist/consolidation/stage1/store.d.ts +0 -45
  643. package/dist/consolidation/stage1/store.d.ts.map +0 -1
  644. package/dist/consolidation/stage1/store.js +0 -297
  645. package/dist/consolidation/stage1/store.js.map +0 -1
  646. package/dist/consolidation/types.d.ts +0 -49
  647. package/dist/consolidation/types.d.ts.map +0 -1
  648. package/dist/errclass.d.ts +0 -7
  649. package/dist/errclass.d.ts.map +0 -1
  650. package/dist/errclass.js +0 -32
  651. package/dist/errclass.js.map +0 -1
  652. package/dist/extension.d.ts +0 -24
  653. package/dist/extension.d.ts.map +0 -1
  654. package/dist/extension.js +0 -7
  655. package/dist/extension.js.map +0 -1
  656. package/dist/fallback/index.d.ts +0 -11
  657. package/dist/fallback/index.d.ts.map +0 -1
  658. package/dist/fallback/index.js +0 -16
  659. package/dist/fallback/index.js.map +0 -1
  660. package/dist/fallback/llmRerank.d.ts +0 -19
  661. package/dist/fallback/llmRerank.d.ts.map +0 -1
  662. package/dist/fallback/llmRerank.js +0 -68
  663. package/dist/fallback/llmRerank.js.map +0 -1
  664. package/dist/fallback/memoryMd.d.ts +0 -6
  665. package/dist/fallback/memoryMd.d.ts.map +0 -1
  666. package/dist/fallback/memoryMd.js +0 -35
  667. package/dist/fallback/memoryMd.js.map +0 -1
  668. package/dist/fallback/sessionIndex.d.ts +0 -35
  669. package/dist/fallback/sessionIndex.d.ts.map +0 -1
  670. package/dist/fallback/sessionIndex.js +0 -239
  671. package/dist/fallback/sessionIndex.js.map +0 -1
  672. package/dist/fallback/sessionSearch.d.ts +0 -18
  673. package/dist/fallback/sessionSearch.d.ts.map +0 -1
  674. package/dist/fallback/sessionSearch.js +0 -234
  675. package/dist/fallback/sessionSearch.js.map +0 -1
  676. package/dist/local/graphQuery.d.ts +0 -31
  677. package/dist/local/graphQuery.d.ts.map +0 -1
  678. package/dist/local/graphQuery.js +0 -195
  679. package/dist/local/graphQuery.js.map +0 -1
  680. package/dist/paths.d.ts +0 -7
  681. package/dist/paths.d.ts.map +0 -1
  682. package/dist/paths.js +0 -26
  683. package/dist/paths.js.map +0 -1
  684. package/dist/preflight/detectIntents.d.ts +0 -102
  685. package/dist/preflight/detectIntents.d.ts.map +0 -1
  686. package/dist/preflight/detectIntents.js +0 -631
  687. package/dist/preflight/detectIntents.js.map +0 -1
  688. package/dist/preflight/hook.d.ts +0 -76
  689. package/dist/preflight/hook.d.ts.map +0 -1
  690. package/dist/preflight/hook.js +0 -122
  691. package/dist/preflight/hook.js.map +0 -1
  692. package/dist/service.d.ts +0 -72
  693. package/dist/service.d.ts.map +0 -1
  694. package/dist/service.js +0 -257
  695. package/dist/service.js.map +0 -1
  696. package/dist/session/activeBranch.d.ts +0 -17
  697. package/dist/session/activeBranch.d.ts.map +0 -1
  698. package/dist/session/activeBranch.js +0 -251
  699. package/dist/session/activeBranch.js.map +0 -1
  700. package/dist/settings.d.ts +0 -41
  701. package/dist/settings.d.ts.map +0 -1
  702. package/dist/settings.js +0 -85
  703. package/dist/settings.js.map +0 -1
  704. package/dist/sidecar/bundle.d.ts +0 -19
  705. package/dist/sidecar/bundle.d.ts.map +0 -1
  706. package/dist/sidecar/bundle.js +0 -39
  707. package/dist/sidecar/bundle.js.map +0 -1
  708. package/dist/sidecar/process.d.ts +0 -14
  709. package/dist/sidecar/process.d.ts.map +0 -1
  710. package/dist/sidecar/process.js +0 -138
  711. package/dist/sidecar/process.js.map +0 -1
  712. package/dist/tools/memoryAppend.d.ts +0 -47
  713. package/dist/tools/memoryAppend.d.ts.map +0 -1
  714. package/dist/tools/memoryAppend.js +0 -138
  715. package/dist/tools/memoryAppend.js.map +0 -1
  716. package/dist/tools/memoryRecall.d.ts +0 -113
  717. package/dist/tools/memoryRecall.d.ts.map +0 -1
  718. package/dist/tools/memoryRecall.js +0 -351
  719. package/dist/tools/memoryRecall.js.map +0 -1
  720. package/dist/trainer/bundleBuilder.d.ts +0 -30
  721. package/dist/trainer/bundleBuilder.d.ts.map +0 -1
  722. package/dist/trainer/bundleBuilder.js +0 -106
  723. package/dist/trainer/bundleBuilder.js.map +0 -1
  724. package/dist/trainer/bundleLoader.d.ts +0 -12
  725. package/dist/trainer/bundleLoader.d.ts.map +0 -1
  726. package/dist/trainer/bundleLoader.js +0 -59
  727. package/dist/trainer/bundleLoader.js.map +0 -1
  728. package/dist/trainer/deltaMerge.d.ts +0 -38
  729. package/dist/trainer/deltaMerge.d.ts.map +0 -1
  730. package/dist/trainer/deltaMerge.js +0 -183
  731. package/dist/trainer/deltaMerge.js.map +0 -1
  732. package/dist/trainer/entityResolver.d.ts +0 -27
  733. package/dist/trainer/entityResolver.d.ts.map +0 -1
  734. package/dist/trainer/entityResolver.js +0 -92
  735. package/dist/trainer/entityResolver.js.map +0 -1
  736. package/dist/trainer/extractFacts.d.ts +0 -67
  737. package/dist/trainer/extractFacts.d.ts.map +0 -1
  738. package/dist/trainer/extractFacts.js +0 -213
  739. package/dist/trainer/extractFacts.js.map +0 -1
  740. package/dist/trainer/index.d.ts +0 -54
  741. package/dist/trainer/index.d.ts.map +0 -1
  742. package/dist/trainer/index.js +0 -82
  743. package/dist/trainer/index.js.map +0 -1
  744. package/dist/trainer/llmExtractor.d.ts +0 -16
  745. package/dist/trainer/llmExtractor.d.ts.map +0 -1
  746. package/dist/trainer/llmExtractor.js +0 -146
  747. package/dist/trainer/llmExtractor.js.map +0 -1
  748. package/dist/trainer/marker.d.ts +0 -10
  749. package/dist/trainer/marker.d.ts.map +0 -1
  750. package/dist/trainer/marker.js +0 -28
  751. package/dist/trainer/marker.js.map +0 -1
  752. package/dist/trainer/scheduler.d.ts +0 -33
  753. package/dist/trainer/scheduler.d.ts.map +0 -1
  754. package/dist/trainer/scheduler.js +0 -73
  755. package/dist/trainer/scheduler.js.map +0 -1
  756. package/dist/trainer/sessionLoader.d.ts +0 -26
  757. package/dist/trainer/sessionLoader.d.ts.map +0 -1
  758. package/dist/trainer/sessionLoader.js +0 -145
  759. package/dist/trainer/sessionLoader.js.map +0 -1
  760. package/dist/types.d.ts +0 -135
  761. package/dist/types.d.ts.map +0 -1
  762. package/dist/types.js +0 -8
  763. package/dist/types.js.map +0 -1
  764. package/src/adapters/ollamaClient.ts +0 -179
  765. package/src/adapters/openaiCompatClient.ts +0 -155
  766. package/src/adapters/piComplete.ts +0 -233
  767. package/src/bundle/install.ts +0 -206
  768. package/src/cache/memoryCaches.ts +0 -72
  769. package/src/config.ts +0 -180
  770. package/src/consolidation/enqueue.ts +0 -205
  771. package/src/consolidation/index.ts +0 -90
  772. package/src/consolidation/lock.ts +0 -41
  773. package/src/consolidation/log.ts +0 -43
  774. package/src/consolidation/memoryIndex.ts +0 -127
  775. package/src/consolidation/phase2/runPhase2.ts +0 -255
  776. package/src/consolidation/scheduler/launchd.ts +0 -62
  777. package/src/consolidation/scheduler/runConsolidate.ts +0 -115
  778. package/src/consolidation/scheduler/setupSchedule.ts +0 -106
  779. package/src/consolidation/scheduler/systemd.ts +0 -78
  780. package/src/consolidation/scheduler/types.ts +0 -27
  781. package/src/consolidation/scope.ts +0 -58
  782. package/src/consolidation/stage1/deltaExtract.ts +0 -29
  783. package/src/consolidation/stage1/drainQueue.ts +0 -143
  784. package/src/consolidation/stage1/extractSession.ts +0 -58
  785. package/src/consolidation/stage1/store.ts +0 -411
  786. package/src/consolidation/types.ts +0 -52
  787. package/src/errclass.ts +0 -37
  788. package/src/extension.ts +0 -23
  789. package/src/fallback/index.ts +0 -24
  790. package/src/fallback/llmRerank.ts +0 -97
  791. package/src/fallback/memoryMd.ts +0 -36
  792. package/src/fallback/sessionIndex.ts +0 -290
  793. package/src/fallback/sessionSearch.ts +0 -261
  794. package/src/local/graphQuery.ts +0 -252
  795. package/src/paths.ts +0 -28
  796. package/src/preflight/detectIntents.ts +0 -660
  797. package/src/preflight/hook.ts +0 -213
  798. package/src/service.ts +0 -306
  799. package/src/session/activeBranch.ts +0 -294
  800. package/src/settings.ts +0 -161
  801. package/src/sidecar/bundle.ts +0 -52
  802. package/src/sidecar/process.ts +0 -160
  803. package/src/tools/memoryAppend.ts +0 -166
  804. package/src/tools/memoryRecall.ts +0 -388
  805. package/src/trainer/bundleBuilder.ts +0 -192
  806. package/src/trainer/bundleLoader.ts +0 -105
  807. package/src/trainer/deltaMerge.ts +0 -221
  808. package/src/trainer/entityResolver.ts +0 -140
  809. package/src/trainer/extractFacts.ts +0 -312
  810. package/src/trainer/index.ts +0 -147
  811. package/src/trainer/llmExtractor.ts +0 -206
  812. package/src/trainer/marker.ts +0 -30
  813. package/src/trainer/scheduler.ts +0 -107
  814. package/src/trainer/sessionLoader.ts +0 -176
  815. package/src/types.ts +0 -168
  816. /package/dist/{consolidation/scheduler → adapters/embed}/types.js +0 -0
  817. /package/dist/{consolidation → adapters/llm}/types.js +0 -0
@@ -0,0 +1,22 @@
1
+ import { theme } from "../cli/theme.js";
2
+
3
+ export function isMemoryDebugEnabled(env: NodeJS.ProcessEnv = process.env): boolean {
4
+ return env.PI_MEMORY_DEBUG === "1" || env.PI_MEMORY_DEBUG === "true";
5
+ }
6
+
7
+ /** Debug-only stderr log; never shown to Pi UI or session. */
8
+ export function debugMemory(
9
+ scope: string,
10
+ message: string,
11
+ fields?: Record<string, string | number | boolean | null | undefined>,
12
+ env: NodeJS.ProcessEnv = process.env,
13
+ ): void {
14
+ if (!isMemoryDebugEnabled(env)) return;
15
+
16
+ const suffix =
17
+ fields && Object.keys(fields).length > 0
18
+ ? ` ${JSON.stringify(fields, (_key, value) => (value === undefined ? null : value))}`
19
+ : "";
20
+
21
+ console.error(theme.dim(`[${scope}] ${message}${suffix}`));
22
+ }
@@ -0,0 +1,115 @@
1
+ /** Runtime fs helpers. Pre-build postinstall mirror: scripts/platform-fs.mjs */
2
+ import { accessSync, existsSync, mkdirSync, constants } from "node:fs";
3
+ import {
4
+ appendFile,
5
+ mkdir,
6
+ readFile,
7
+ readdir,
8
+ unlink,
9
+ writeFile,
10
+ } from "node:fs/promises";
11
+ import { basename, dirname, join } from "node:path";
12
+
13
+ import { expandHomePath, mkdirOptions } from "./paths.js";
14
+
15
+ /** Cross-platform path join (`\` on Windows, `/` on POSIX). */
16
+ export function joinPath(...segments: string[]): string {
17
+ return join(...segments);
18
+ }
19
+
20
+ export function pathBasename(filePath: string): string {
21
+ return basename(filePath);
22
+ }
23
+
24
+ export function pathDirname(filePath: string): string {
25
+ return dirname(filePath);
26
+ }
27
+
28
+ export function pathExists(filePath: string): boolean {
29
+ return existsSync(expandHomePath(filePath));
30
+ }
31
+
32
+ /** True when the current process can read the path. */
33
+ export function canRead(filePath: string): boolean {
34
+ try {
35
+ accessSync(expandHomePath(filePath), constants.R_OK);
36
+ return true;
37
+ } catch {
38
+ return false;
39
+ }
40
+ }
41
+
42
+ export function isENOENT(error: unknown): boolean {
43
+ return (error as NodeJS.ErrnoException)?.code === "ENOENT";
44
+ }
45
+
46
+ /** Create directory tree; Unix applies secure mode, Windows omits mode. */
47
+ export async function ensureDir(dirPath: string): Promise<void> {
48
+ await mkdir(expandHomePath(dirPath), mkdirOptions());
49
+ }
50
+
51
+ export function ensureDirSync(dirPath: string): void {
52
+ mkdirSync(expandHomePath(dirPath), mkdirOptions());
53
+ }
54
+
55
+ /** Read UTF-8 text; missing file → empty string. */
56
+ export async function readText(filePath: string): Promise<string> {
57
+ try {
58
+ return await readFile(expandHomePath(filePath), "utf8");
59
+ } catch (error) {
60
+ if (isENOENT(error)) return "";
61
+ throw error;
62
+ }
63
+ }
64
+
65
+ /** Read UTF-8 text; propagates ENOENT. */
66
+ export async function readTextRequired(filePath: string): Promise<string> {
67
+ return readFile(expandHomePath(filePath), "utf8");
68
+ }
69
+
70
+ /** Write UTF-8 text; creates parent directories. */
71
+ export async function writeText(filePath: string, content: string): Promise<void> {
72
+ const resolved = expandHomePath(filePath);
73
+ await ensureDir(dirname(resolved));
74
+ await writeFile(resolved, content, "utf8");
75
+ }
76
+
77
+ /** Append UTF-8 text; creates parent directories. */
78
+ export async function appendText(filePath: string, content: string): Promise<void> {
79
+ const resolved = expandHomePath(filePath);
80
+ await ensureDir(dirname(resolved));
81
+ await appendFile(resolved, content, "utf8");
82
+ }
83
+
84
+ /** List directory entries; missing dir → empty array. */
85
+ export async function listDir(dirPath: string): Promise<string[]> {
86
+ try {
87
+ return await readdir(expandHomePath(dirPath));
88
+ } catch (error) {
89
+ if (isENOENT(error)) return [];
90
+ throw error;
91
+ }
92
+ }
93
+
94
+ /** Delete file; missing file → no-op. */
95
+ export async function removeFile(filePath: string): Promise<void> {
96
+ try {
97
+ await unlink(expandHomePath(filePath));
98
+ } catch (error) {
99
+ if (isENOENT(error)) return;
100
+ throw error;
101
+ }
102
+ }
103
+
104
+ /** Ensure file exists (empty) for lockfile targets. */
105
+ export async function ensureFile(filePath: string): Promise<void> {
106
+ try {
107
+ await readTextRequired(filePath);
108
+ } catch (error) {
109
+ if (isENOENT(error)) {
110
+ await writeText(filePath, "");
111
+ return;
112
+ }
113
+ throw error;
114
+ }
115
+ }
@@ -0,0 +1,68 @@
1
+ export {
2
+ getPlatform,
3
+ isMacOS,
4
+ isUnixLike,
5
+ isWindows,
6
+ type PiMemoryPlatform,
7
+ } from "./platform.js";
8
+
9
+ export {
10
+ CONFIG_DIR_NAME,
11
+ defaultMemoryAgentDir,
12
+ defaultPiConfigDir,
13
+ defaultPiMemoryEnvFile,
14
+ defaultPiLogsDir,
15
+ expandHomePath,
16
+ getAgentDir,
17
+ mkdirOptions,
18
+ secureDirMode,
19
+ secureFileMode,
20
+ } from "./paths.js";
21
+
22
+ export {
23
+ appendText,
24
+ canRead,
25
+ ensureDir,
26
+ ensureDirSync,
27
+ ensureFile,
28
+ isENOENT,
29
+ joinPath,
30
+ listDir,
31
+ pathBasename,
32
+ pathDirname,
33
+ pathExists,
34
+ readText,
35
+ readTextRequired,
36
+ removeFile,
37
+ writeText,
38
+ } from "./fs.js";
39
+
40
+ export { cleanupSocketFiles, removeSocketFile, secureSocketPath } from "./socket.js";
41
+
42
+ export { debugMemory, isMemoryDebugEnabled } from "./debugLog.js";
43
+
44
+ export {
45
+ daysSince,
46
+ epochTimestamp,
47
+ formatLocalDate,
48
+ formatTimestamp,
49
+ now,
50
+ nowMs,
51
+ parseTime,
52
+ remainingMs,
53
+ type TimeInput,
54
+ } from "./time.js";
55
+
56
+ export {
57
+ buildConsolidateCliArgs,
58
+ buildMaintenanceCliArgs,
59
+ defaultConsolidateSchedulerPaths,
60
+ formatConsolidateCronLine,
61
+ formatMaintenanceCronLine,
62
+ getConsolidateSchedulerKind,
63
+ getConsolidateTemplateNames,
64
+ type ConsolidateCliInvocation,
65
+ type ConsolidateSchedulerKind,
66
+ type ConsolidateSchedulerPaths,
67
+ type ConsolidateTemplateName,
68
+ } from "./scheduler.js";
@@ -0,0 +1,67 @@
1
+ import { CONFIG_DIR_NAME, getAgentDir } from "@earendil-works/pi-coding-agent";
2
+ import { homedir } from "node:os";
3
+ import { join } from "node:path";
4
+
5
+ import {
6
+ CONSOLIDATE_ERR_LOG_FILE,
7
+ CONSOLIDATE_LOG_FILE,
8
+ PI_MEMORY_DATA_SUBDIR,
9
+ PI_MEMORY_ENV_FILE_NAME,
10
+ PI_LOGS_SUBDIR,
11
+ } from "../constants/paths.js";
12
+ import { SECURE_DIR_MODE, SECURE_FILE_MODE } from "../constants/security.js";
13
+ import { isWindows } from "./platform.js";
14
+
15
+ export { CONFIG_DIR_NAME, getAgentDir };
16
+
17
+ /** Expand leading `~` or `~/` using the current user's home directory. */
18
+ export function expandHomePath(input: string): string {
19
+ const trimmed = input.trim();
20
+ if (trimmed === "~") return homedir();
21
+ if (trimmed.startsWith("~/") || trimmed.startsWith("~\\")) {
22
+ return join(homedir(), trimmed.slice(2));
23
+ }
24
+ return trimmed;
25
+ }
26
+
27
+ /** Pi user config root (~/.pi). Uses Pi's CONFIG_DIR_NAME. */
28
+ export function defaultPiConfigDir(): string {
29
+ return join(homedir(), CONFIG_DIR_NAME);
30
+ }
31
+
32
+ /** Memory data root: ~/.pi/pi-memory-data */
33
+ export function defaultMemoryAgentDir(): string {
34
+ return join(defaultPiConfigDir(), PI_MEMORY_DATA_SUBDIR);
35
+ }
36
+
37
+ /** pi-memory config: ~/.pi/agent/pi-memory.env */
38
+ export function defaultPiMemoryEnvFile(): string {
39
+ return join(getAgentDir(), PI_MEMORY_ENV_FILE_NAME);
40
+ }
41
+
42
+ export function defaultPiLogsDir(): string {
43
+ return join(defaultPiConfigDir(), PI_LOGS_SUBDIR);
44
+ }
45
+
46
+ export function defaultConsolidateLogPath(): string {
47
+ return join(defaultPiLogsDir(), CONSOLIDATE_LOG_FILE);
48
+ }
49
+
50
+ export function defaultConsolidateErrLogPath(): string {
51
+ return join(defaultPiLogsDir(), CONSOLIDATE_ERR_LOG_FILE);
52
+ }
53
+
54
+ /** Directory mode for agent / socket parent dirs (Unix only; ignored on Windows). */
55
+ export function secureDirMode(): number | undefined {
56
+ return isWindows() ? undefined : SECURE_DIR_MODE;
57
+ }
58
+
59
+ /** File mode for socket files (Unix only; ignored on Windows). */
60
+ export function secureFileMode(): number | undefined {
61
+ return isWindows() ? undefined : SECURE_FILE_MODE;
62
+ }
63
+
64
+ export function mkdirOptions(): { recursive: true; mode?: number } {
65
+ const mode = secureDirMode();
66
+ return mode === undefined ? { recursive: true } : { recursive: true, mode };
67
+ }
@@ -0,0 +1,20 @@
1
+ export type PiMemoryPlatform = "darwin" | "win32" | "other";
2
+
3
+ export function getPlatform(): PiMemoryPlatform {
4
+ if (process.platform === "darwin") return "darwin";
5
+ if (process.platform === "win32") return "win32";
6
+ return "other";
7
+ }
8
+
9
+ export function isWindows(): boolean {
10
+ return process.platform === "win32";
11
+ }
12
+
13
+ export function isMacOS(): boolean {
14
+ return process.platform === "darwin";
15
+ }
16
+
17
+ /** Unix-like platforms where chmod / UDS cleanup apply. */
18
+ export function isUnixLike(): boolean {
19
+ return !isWindows();
20
+ }
@@ -0,0 +1,98 @@
1
+ import {
2
+ LAUNCHD_LABEL,
3
+ SCHEDULER_TEMPLATE_FILES,
4
+ SCHTASKS_TASK_NAME,
5
+ } from "../constants/paths.js";
6
+ import {
7
+ defaultConsolidateErrLogPath,
8
+ defaultConsolidateLogPath,
9
+ defaultMemoryAgentDir,
10
+ defaultPiMemoryEnvFile,
11
+ defaultPiLogsDir,
12
+ } from "./paths.js";
13
+ import { getPlatform, isMacOS, isWindows, type PiMemoryPlatform } from "./platform.js";
14
+
15
+ export type ConsolidateSchedulerKind = "launchd" | "crontab" | "schtasks";
16
+
17
+ /** Recommended OS scheduler for daily consolidate on this platform. */
18
+ export function getConsolidateSchedulerKind(platform: PiMemoryPlatform = getPlatform()): ConsolidateSchedulerKind {
19
+ if (platform === "darwin") return "launchd";
20
+ if (platform === "win32") return "schtasks";
21
+ return "crontab";
22
+ }
23
+
24
+ export type ConsolidateSchedulerPaths = {
25
+ agentDir: string;
26
+ envFile: string;
27
+ logsDir: string;
28
+ stdoutLog: string;
29
+ stderrLog: string;
30
+ };
31
+
32
+ export function defaultConsolidateSchedulerPaths(): ConsolidateSchedulerPaths {
33
+ return {
34
+ agentDir: defaultMemoryAgentDir(),
35
+ envFile: defaultPiMemoryEnvFile(),
36
+ logsDir: defaultPiLogsDir(),
37
+ stdoutLog: defaultConsolidateLogPath(),
38
+ stderrLog: defaultConsolidateErrLogPath(),
39
+ };
40
+ }
41
+
42
+ export type ConsolidateCliInvocation = {
43
+ nodePath: string;
44
+ cliPath: string;
45
+ cron: boolean;
46
+ verbose: boolean;
47
+ agentDir?: string;
48
+ };
49
+
50
+ /** argv for `pi-memory maintenance` (OS scheduler / wrapper scripts). */
51
+ export function buildMaintenanceCliArgs(
52
+ opts: Pick<ConsolidateCliInvocation, "cron" | "verbose" | "agentDir">,
53
+ ): string[] {
54
+ const args = ["maintenance"];
55
+ if (opts.cron) args.push("--cron");
56
+ if (opts.verbose) args.push("--verbose");
57
+ if (opts.agentDir) args.push("--agent-dir", opts.agentDir);
58
+ return args;
59
+ }
60
+
61
+ /** @deprecated Prefer buildMaintenanceCliArgs for OS schedulers. */
62
+ export function buildConsolidateCliArgs(opts: Pick<ConsolidateCliInvocation, "cron" | "verbose" | "agentDir">): string[] {
63
+ return buildMaintenanceCliArgs(opts);
64
+ }
65
+
66
+ /** Single-line shell command (macOS / Linux crontab). */
67
+ export function formatMaintenanceCronLine(opts: ConsolidateCliInvocation & ConsolidateSchedulerPaths): string {
68
+ const args = buildMaintenanceCliArgs(opts).join(" ");
69
+ return [
70
+ `PI_MEMORY_ENV_FILE=${opts.envFile}`,
71
+ `PI_MEMORY_AGENT_DIR=${opts.agentDir}`,
72
+ opts.nodePath,
73
+ opts.cliPath,
74
+ args,
75
+ `>> ${opts.stdoutLog} 2>&1`,
76
+ ].join(" ");
77
+ }
78
+
79
+ /** @deprecated Prefer formatMaintenanceCronLine. */
80
+ export function formatConsolidateCronLine(opts: ConsolidateCliInvocation & ConsolidateSchedulerPaths): string {
81
+ return formatMaintenanceCronLine(opts);
82
+ }
83
+
84
+ export type ConsolidateTemplateName =
85
+ (typeof SCHEDULER_TEMPLATE_FILES)[keyof typeof SCHEDULER_TEMPLATE_FILES];
86
+
87
+ /** Template file basename shipped under templates/ for this platform. */
88
+ export function getConsolidateTemplateNames(platform: PiMemoryPlatform = getPlatform()): ConsolidateTemplateName[] {
89
+ if (platform === "darwin") {
90
+ return [SCHEDULER_TEMPLATE_FILES.launchd, SCHEDULER_TEMPLATE_FILES.crontab];
91
+ }
92
+ if (platform === "win32") {
93
+ return [SCHEDULER_TEMPLATE_FILES.windowsCmd, SCHEDULER_TEMPLATE_FILES.windowsSchtasks];
94
+ }
95
+ return [SCHEDULER_TEMPLATE_FILES.crontab];
96
+ }
97
+
98
+ export { LAUNCHD_LABEL, SCHEDULER_TEMPLATE_FILES, SCHTASKS_TASK_NAME, isMacOS, isWindows };
@@ -0,0 +1,33 @@
1
+ import { chmodSync, unlinkSync } from "node:fs";
2
+
3
+ import { secureFileMode } from "./paths.js";
4
+ import { isUnixLike } from "./platform.js";
5
+
6
+ /** Remove stale socket file before bind (Unix domain sockets only). */
7
+ export function removeSocketFile(socketPath: string): void {
8
+ if (!isUnixLike()) return;
9
+ try {
10
+ unlinkSync(socketPath);
11
+ } catch {
12
+ // ENOENT or in-use; listen() will surface real errors
13
+ }
14
+ }
15
+
16
+ /** Restrict socket permissions after bind (Unix only). */
17
+ export function secureSocketPath(socketPath: string): void {
18
+ const mode = secureFileMode();
19
+ if (mode === undefined) return;
20
+ chmodSync(socketPath, mode);
21
+ }
22
+
23
+ /** Remove socket and pid companion files on shutdown. */
24
+ export function cleanupSocketFiles(socketPath: string, pidPath?: string): void {
25
+ for (const path of [socketPath, pidPath]) {
26
+ if (!path) continue;
27
+ try {
28
+ unlinkSync(path);
29
+ } catch {
30
+ // already gone
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,51 @@
1
+ import dayjs, { type ConfigType, type Dayjs } from "dayjs";
2
+
3
+ export type TimeInput = ConfigType;
4
+
5
+ /** Current local time. */
6
+ export function now(): Dayjs {
7
+ return dayjs();
8
+ }
9
+
10
+ /** Unix epoch ms (deadlines, lock files, external APIs). */
11
+ export function nowMs(): number {
12
+ return dayjs().valueOf();
13
+ }
14
+
15
+ /** Parse stored or external input; invalid values fall back to epoch. */
16
+ export function parseTime(input: TimeInput): Dayjs {
17
+ const parsed = dayjs(input);
18
+ return parsed.isValid() ? parsed : dayjs(0);
19
+ }
20
+
21
+ /**
22
+ * Local timestamp for MEMORY entries, GC markers, shutdown queue.
23
+ * Format: YYYY-MM-DDTHH:mm:ss.SSS (local wall clock, no Z suffix).
24
+ */
25
+ export function formatTimestamp(input?: TimeInput): string {
26
+ const t = input === undefined ? dayjs() : parseTime(input);
27
+ return t.format("YYYY-MM-DDTHH:mm:ss.SSS");
28
+ }
29
+
30
+ /** Local calendar date (e.g. auto-YYYY-MM-DD-*.md). */
31
+ export function formatLocalDate(input?: TimeInput): string {
32
+ const t = input === undefined ? dayjs() : parseTime(input);
33
+ return t.format("YYYY-MM-DD");
34
+ }
35
+
36
+ /** Fallback timestamp when entry metadata is missing. */
37
+ export function epochTimestamp(): string {
38
+ return formatTimestamp(0);
39
+ }
40
+
41
+ /** Whole calendar days from `from` until `to` (local; default `to` = now). */
42
+ export function daysSince(from: TimeInput, to?: TimeInput): number {
43
+ const end = to === undefined ? dayjs() : parseTime(to);
44
+ const start = parseTime(from);
45
+ return end.startOf("day").diff(start.startOf("day"), "day");
46
+ }
47
+
48
+ /** Milliseconds left until `deadlineMs` (default clock: now). */
49
+ export function remainingMs(deadlineMs: number, atMs: number = nowMs()): number {
50
+ return Math.max(0, deadlineMs - atMs);
51
+ }
@@ -0,0 +1,22 @@
1
+ # Memory
2
+
3
+ <!-- pi-memory ground truth — cross-session durable notes for the Pi agent.
4
+ Sections: Preferences | Conventions | Findings | Todos
5
+ User entries: /remember → - [user] text <!-- id:... user ts:... -->
6
+ Line cap: 150; overflow spills to auto-*.md in this directory. -->
7
+
8
+ ## Preferences
9
+
10
+ <!-- User preferences and defaults. -->
11
+
12
+ ## Conventions
13
+
14
+ <!-- Project or workflow conventions. -->
15
+
16
+ ## Findings
17
+
18
+ <!-- Durable conclusions, decisions, and facts. -->
19
+
20
+ ## Todos
21
+
22
+ <!-- Items to carry forward across sessions. -->
@@ -1,11 +0,0 @@
1
- import type { LLMClient } from "../trainer/llmExtractor.js";
2
- import type { MemoryHelperLLM } from "../preflight/detectIntents.js";
3
- export interface OllamaConfig {
4
- baseUrl: string;
5
- model: string;
6
- }
7
- export declare const DEFAULT_OLLAMA_CONFIG: OllamaConfig;
8
- export declare function ollamaHealthCheck(baseUrl: string): Promise<boolean>;
9
- export declare function createOllamaLLMClient(cfg: OllamaConfig): LLMClient;
10
- export declare function createOllamaMemoryHelper(cfg: OllamaConfig): MemoryHelperLLM;
11
- //# sourceMappingURL=ollamaClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ollamaClient.d.ts","sourceRoot":"","sources":["../../src/adapters/ollamaClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAOrE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,qBAAqB,EAAE,YAGnC,CAAC;AAiFF,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAezE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,YAAY,GAAG,SAAS,CAgBlE;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,YAAY,GAAG,eAAe,CA2C3E"}
@@ -1,122 +0,0 @@
1
- import http from "node:http";
2
- import https from "node:https";
3
- import { COMPILE_MEMORY_INTENTS_PARAMETERS, MEMORY_HELPER_TOOL_NAME, } from "../preflight/detectIntents.js";
4
- export const DEFAULT_OLLAMA_CONFIG = {
5
- baseUrl: "http://localhost:11434",
6
- model: "qwen3:8b",
7
- };
8
- async function ollamaRequest(baseUrl, path, body) {
9
- const url = new URL(path, baseUrl);
10
- const mod = url.protocol === "https:" ? https : http;
11
- const payload = JSON.stringify(body);
12
- return new Promise((resolve, reject) => {
13
- const req = mod.request(url, {
14
- method: "POST",
15
- headers: {
16
- "Content-Type": "application/json",
17
- "Content-Length": Buffer.byteLength(payload),
18
- },
19
- timeout: 60_000,
20
- }, (res) => {
21
- const chunks = [];
22
- res.on("data", (c) => chunks.push(c));
23
- res.on("end", () => {
24
- const text = Buffer.concat(chunks).toString("utf8");
25
- try {
26
- resolve(JSON.parse(text));
27
- }
28
- catch {
29
- reject(new Error(`Ollama: invalid JSON response: ${text.slice(0, 200)}`));
30
- }
31
- });
32
- });
33
- req.on("error", (err) => reject(new Error(`Ollama: ${err.message}`)));
34
- req.on("timeout", () => {
35
- req.destroy();
36
- reject(new Error("Ollama: request timeout"));
37
- });
38
- req.write(payload);
39
- req.end();
40
- });
41
- }
42
- export async function ollamaHealthCheck(baseUrl) {
43
- try {
44
- const url = new URL("/api/tags", baseUrl);
45
- const mod = url.protocol === "https:" ? https : http;
46
- return new Promise((resolve) => {
47
- const req = mod.get(url, { timeout: 3_000 }, (res) => {
48
- res.resume();
49
- resolve(res.statusCode === 200);
50
- });
51
- req.on("error", () => resolve(false));
52
- req.on("timeout", () => { req.destroy(); resolve(false); });
53
- });
54
- }
55
- catch {
56
- return false;
57
- }
58
- }
59
- export function createOllamaLLMClient(cfg) {
60
- return {
61
- async complete(prompt) {
62
- const body = {
63
- model: cfg.model,
64
- messages: [{ role: "user", content: prompt }],
65
- stream: false,
66
- options: { num_predict: 8192 },
67
- };
68
- const resp = await ollamaRequest(cfg.baseUrl, "/api/chat", body);
69
- if (resp.error)
70
- throw new Error(`Ollama: ${resp.error}`);
71
- const text = resp.message?.content?.trim();
72
- if (!text)
73
- throw new Error("Ollama: empty response");
74
- return text;
75
- },
76
- };
77
- }
78
- export function createOllamaMemoryHelper(cfg) {
79
- return {
80
- async compileIntents(text) {
81
- const body = {
82
- model: cfg.model,
83
- messages: [
84
- {
85
- role: "user",
86
- content: `Analyze whether the user message requires recalling private episodic memory.\n\n<message>\n${text}\n</message>`,
87
- },
88
- ],
89
- stream: false,
90
- tools: [
91
- {
92
- type: "function",
93
- function: {
94
- name: MEMORY_HELPER_TOOL_NAME,
95
- description: "Decide whether to recall private episodic memory and compile structured query intents.",
96
- parameters: COMPILE_MEMORY_INTENTS_PARAMETERS,
97
- },
98
- },
99
- ],
100
- options: { num_predict: 2048 },
101
- };
102
- const resp = await ollamaRequest(cfg.baseUrl, "/api/chat", body);
103
- if (resp.error)
104
- throw new Error(`Ollama: ${resp.error}`);
105
- const toolCall = resp.message?.tool_calls?.[0]?.function;
106
- if (toolCall?.name === MEMORY_HELPER_TOOL_NAME && toolCall.arguments) {
107
- return toolCall.arguments;
108
- }
109
- const raw = resp.message?.content?.trim();
110
- if (!raw)
111
- return { should_recall: false, intents: [] };
112
- try {
113
- const cleaned = raw.replace(/^```(?:json)?\s*/m, "").replace(/\s*```\s*$/m, "").trim();
114
- return JSON.parse(cleaned);
115
- }
116
- catch {
117
- return { should_recall: false, intents: [] };
118
- }
119
- },
120
- };
121
- }
122
- //# sourceMappingURL=ollamaClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ollamaClient.js","sourceRoot":"","sources":["../../src/adapters/ollamaClient.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,YAAY,CAAC;AAK/B,OAAO,EACL,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AAOvC,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,OAAO,EAAE,wBAAwB;IACjC,KAAK,EAAE,UAAU;CAClB,CAAC;AAsCF,KAAK,UAAU,aAAa,CAC1B,OAAe,EACf,IAAY,EACZ,IAAa;IAEb,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAErC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CACrB,GAAG,EACH;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;aAC7C;YACD,OAAO,EAAE,MAAM;SAChB,EACD,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACpD,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC,CAAC;gBACjC,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACtE,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACrB,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe;IACrD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACrD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;gBACnD,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACtC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAiB;IACrD,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,MAAc;YAC3B,MAAM,IAAI,GAAsB;gBAC9B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;gBAC7C,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;aAC/B,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,aAAa,CAAqB,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YACrF,IAAI,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAiB;IACxD,OAAO;QACL,KAAK,CAAC,cAAc,CAAC,IAAY;YAC/B,MAAM,IAAI,GAAsB;gBAC9B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,8FAA8F,IAAI,cAAc;qBAC1H;iBACF;gBACD,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE;4BACR,IAAI,EAAE,uBAAuB;4BAC7B,WAAW,EAAE,wFAAwF;4BACrG,UAAU,EAAE,iCAAuE;yBACpF;qBACF;iBACF;gBACD,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;aAC/B,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,aAAa,CAAqB,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YACrF,IAAI,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAEzD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;YACzD,IAAI,QAAQ,EAAE,IAAI,KAAK,uBAAuB,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACrE,OAAO,QAAQ,CAAC,SAAkD,CAAC;YACrE,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG;gBAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YAEvD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACvF,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAA+B,CAAC;YAC3D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YAC/C,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,11 +0,0 @@
1
- import type { LLMClient } from "../trainer/llmExtractor.js";
2
- import type { MemoryHelperLLM } from "../preflight/detectIntents.js";
3
- export interface OpenAICompatConfig {
4
- baseUrl: string;
5
- model: string;
6
- apiKey?: string;
7
- }
8
- export declare function openaiCompatHealthCheck(baseUrl: string): Promise<boolean>;
9
- export declare function createOpenAICompatLLMClient(cfg: OpenAICompatConfig): LLMClient;
10
- export declare function createOpenAICompatMemoryHelper(cfg: OpenAICompatConfig): MemoryHelperLLM;
11
- //# sourceMappingURL=openaiCompatClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openaiCompatClient.d.ts","sourceRoot":"","sources":["../../src/adapters/openaiCompatClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAOrE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAyDD,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAe/E;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,kBAAkB,GAAG,SAAS,CAgB9E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,kBAAkB,GAAG,eAAe,CA+CvF"}