@chendpoc/pi-memory 0.1.13 → 0.2.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 (799) hide show
  1. package/README.md +66 -258
  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 +7 -0
  156. package/dist/config/index.d.ts.map +1 -0
  157. package/dist/config/index.js +7 -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/preflightBudget.d.ts +9 -0
  164. package/dist/config/preflightBudget.d.ts.map +1 -0
  165. package/dist/config/preflightBudget.js +16 -0
  166. package/dist/config/preflightBudget.js.map +1 -0
  167. package/dist/config/retrieval.d.ts +10 -0
  168. package/dist/config/retrieval.d.ts.map +1 -0
  169. package/dist/config/retrieval.js +31 -0
  170. package/dist/config/retrieval.js.map +1 -0
  171. package/dist/consolidate/entryKey.d.ts +6 -0
  172. package/dist/consolidate/entryKey.d.ts.map +1 -0
  173. package/dist/consolidate/entryKey.js +5 -0
  174. package/dist/consolidate/entryKey.js.map +1 -0
  175. package/dist/consolidate/index.d.ts +5 -0
  176. package/dist/consolidate/index.d.ts.map +1 -0
  177. package/dist/consolidate/index.js +5 -0
  178. package/dist/consolidate/index.js.map +1 -0
  179. package/dist/consolidate/mergeEntries.d.ts +4 -0
  180. package/dist/consolidate/mergeEntries.d.ts.map +1 -0
  181. package/dist/consolidate/mergeEntries.js +17 -0
  182. package/dist/consolidate/mergeEntries.js.map +1 -0
  183. package/dist/consolidate/mergePrompt.d.ts +4 -0
  184. package/dist/consolidate/mergePrompt.d.ts.map +1 -0
  185. package/dist/consolidate/mergePrompt.js +40 -0
  186. package/dist/consolidate/mergePrompt.js.map +1 -0
  187. package/dist/consolidate/mergeWithLlm.d.ts +4 -0
  188. package/dist/consolidate/mergeWithLlm.d.ts.map +1 -0
  189. package/dist/consolidate/mergeWithLlm.js +27 -0
  190. package/dist/consolidate/mergeWithLlm.js.map +1 -0
  191. package/dist/consolidate/runJob.d.ts +29 -0
  192. package/dist/consolidate/runJob.d.ts.map +1 -0
  193. package/dist/consolidate/runJob.js +48 -0
  194. package/dist/consolidate/runJob.js.map +1 -0
  195. package/dist/consolidate/scheduler.d.ts +18 -0
  196. package/dist/consolidate/scheduler.d.ts.map +1 -0
  197. package/dist/consolidate/scheduler.js +32 -0
  198. package/dist/consolidate/scheduler.js.map +1 -0
  199. package/dist/constants/chunking.d.ts +7 -0
  200. package/dist/constants/chunking.d.ts.map +1 -0
  201. package/dist/constants/chunking.js +7 -0
  202. package/dist/constants/chunking.js.map +1 -0
  203. package/dist/constants/env.d.ts +44 -0
  204. package/dist/constants/env.d.ts.map +1 -0
  205. package/dist/constants/env.js +49 -0
  206. package/dist/constants/env.js.map +1 -0
  207. package/dist/constants/index.d.ts +8 -0
  208. package/dist/constants/index.d.ts.map +1 -0
  209. package/dist/constants/index.js +8 -0
  210. package/dist/constants/index.js.map +1 -0
  211. package/dist/constants/memory.d.ts +17 -0
  212. package/dist/constants/memory.d.ts.map +1 -0
  213. package/dist/constants/memory.js +16 -0
  214. package/dist/constants/memory.js.map +1 -0
  215. package/dist/constants/paths.d.ts +23 -0
  216. package/dist/constants/paths.d.ts.map +1 -0
  217. package/dist/constants/paths.js +23 -0
  218. package/dist/constants/paths.js.map +1 -0
  219. package/dist/constants/preflight.d.ts +10 -0
  220. package/dist/constants/preflight.d.ts.map +1 -0
  221. package/dist/constants/preflight.js +10 -0
  222. package/dist/constants/preflight.js.map +1 -0
  223. package/dist/constants/retrieval.d.ts +10 -0
  224. package/dist/constants/retrieval.d.ts.map +1 -0
  225. package/dist/constants/retrieval.js +10 -0
  226. package/dist/constants/retrieval.js.map +1 -0
  227. package/dist/constants/security.d.ts +5 -0
  228. package/dist/constants/security.d.ts.map +1 -0
  229. package/dist/constants/security.js +5 -0
  230. package/dist/constants/security.js.map +1 -0
  231. package/dist/constants/timing.d.ts +36 -0
  232. package/dist/constants/timing.d.ts.map +1 -0
  233. package/dist/constants/timing.js +36 -0
  234. package/dist/constants/timing.js.map +1 -0
  235. package/dist/index.d.ts +11 -29
  236. package/dist/index.d.ts.map +1 -1
  237. package/dist/index.js +11 -28
  238. package/dist/index.js.map +1 -1
  239. package/dist/init/workspace.d.ts +15 -0
  240. package/dist/init/workspace.d.ts.map +1 -0
  241. package/dist/init/workspace.js +32 -0
  242. package/dist/init/workspace.js.map +1 -0
  243. package/dist/ipc/jsonlFramer.d.ts +9 -0
  244. package/dist/ipc/jsonlFramer.d.ts.map +1 -0
  245. package/dist/ipc/jsonlFramer.js +26 -0
  246. package/dist/ipc/jsonlFramer.js.map +1 -0
  247. package/dist/pi-extension.d.ts +0 -2
  248. package/dist/pi-extension.d.ts.map +1 -1
  249. package/dist/pi-extension.js +161 -520
  250. package/dist/pi-extension.js.map +1 -1
  251. package/dist/preflight/episodic.d.ts +20 -0
  252. package/dist/preflight/episodic.d.ts.map +1 -0
  253. package/dist/preflight/episodic.js +109 -0
  254. package/dist/preflight/episodic.js.map +1 -0
  255. package/dist/preflight/queryCache.d.ts +15 -0
  256. package/dist/preflight/queryCache.d.ts.map +1 -0
  257. package/dist/preflight/queryCache.js +46 -0
  258. package/dist/preflight/queryCache.js.map +1 -0
  259. package/dist/preflight/queryIntent.d.ts +20 -0
  260. package/dist/preflight/queryIntent.d.ts.map +1 -0
  261. package/dist/preflight/queryIntent.js +75 -0
  262. package/dist/preflight/queryIntent.js.map +1 -0
  263. package/dist/preflight/render.d.ts +8 -33
  264. package/dist/preflight/render.d.ts.map +1 -1
  265. package/dist/preflight/render.js +29 -126
  266. package/dist/preflight/render.js.map +1 -1
  267. package/dist/preflight/session.d.ts +3 -0
  268. package/dist/preflight/session.d.ts.map +1 -0
  269. package/dist/preflight/session.js +6 -0
  270. package/dist/preflight/session.js.map +1 -0
  271. package/dist/preflight/strip.d.ts +0 -8
  272. package/dist/preflight/strip.d.ts.map +1 -1
  273. package/dist/preflight/strip.js +2 -11
  274. package/dist/preflight/strip.js.map +1 -1
  275. package/dist/shutdown/enqueue.d.ts +12 -0
  276. package/dist/shutdown/enqueue.d.ts.map +1 -0
  277. package/dist/shutdown/enqueue.js +14 -0
  278. package/dist/shutdown/enqueue.js.map +1 -0
  279. package/dist/shutdown/extractPrompt.d.ts +4 -0
  280. package/dist/shutdown/extractPrompt.d.ts.map +1 -0
  281. package/dist/shutdown/extractPrompt.js +29 -0
  282. package/dist/shutdown/extractPrompt.js.map +1 -0
  283. package/dist/shutdown/processed.d.ts +9 -0
  284. package/dist/shutdown/processed.d.ts.map +1 -0
  285. package/dist/shutdown/processed.js +28 -0
  286. package/dist/shutdown/processed.js.map +1 -0
  287. package/dist/shutdown/readQueue.d.ts +4 -0
  288. package/dist/shutdown/readQueue.d.ts.map +1 -0
  289. package/dist/shutdown/readQueue.js +26 -0
  290. package/dist/shutdown/readQueue.js.map +1 -0
  291. package/dist/shutdown/runDrainJob.d.ts +26 -0
  292. package/dist/shutdown/runDrainJob.d.ts.map +1 -0
  293. package/dist/shutdown/runDrainJob.js +143 -0
  294. package/dist/shutdown/runDrainJob.js.map +1 -0
  295. package/dist/shutdown/sessionReader.d.ts +6 -0
  296. package/dist/shutdown/sessionReader.d.ts.map +1 -0
  297. package/dist/shutdown/sessionReader.js +44 -0
  298. package/dist/shutdown/sessionReader.js.map +1 -0
  299. package/dist/sidecar/client.d.ts +17 -16
  300. package/dist/sidecar/client.d.ts.map +1 -1
  301. package/dist/sidecar/client.js +64 -100
  302. package/dist/sidecar/client.js.map +1 -1
  303. package/dist/sidecar/paths.d.ts +8 -0
  304. package/dist/sidecar/paths.d.ts.map +1 -0
  305. package/dist/sidecar/paths.js +23 -0
  306. package/dist/sidecar/paths.js.map +1 -0
  307. package/dist/sidecar/protocol.d.ts +54 -0
  308. package/dist/sidecar/protocol.d.ts.map +1 -0
  309. package/dist/sidecar/protocol.js +4 -0
  310. package/dist/sidecar/protocol.js.map +1 -0
  311. package/dist/sidecar/reindexBridge.d.ts +13 -0
  312. package/dist/sidecar/reindexBridge.d.ts.map +1 -0
  313. package/dist/sidecar/reindexBridge.js +37 -0
  314. package/dist/sidecar/reindexBridge.js.map +1 -0
  315. package/dist/sidecar/server/process.d.ts +2 -0
  316. package/dist/sidecar/server/process.d.ts.map +1 -0
  317. package/dist/sidecar/server/process.js +22 -0
  318. package/dist/sidecar/server/process.js.map +1 -0
  319. package/dist/sidecar/server/query.d.ts +8 -0
  320. package/dist/sidecar/server/query.d.ts.map +1 -0
  321. package/dist/sidecar/server/query.js +7 -0
  322. package/dist/sidecar/server/query.js.map +1 -0
  323. package/dist/sidecar/server/reindex.d.ts +8 -0
  324. package/dist/sidecar/server/reindex.d.ts.map +1 -0
  325. package/dist/sidecar/server/reindex.js +12 -0
  326. package/dist/sidecar/server/reindex.js.map +1 -0
  327. package/dist/sidecar/server/server.d.ts +11 -0
  328. package/dist/sidecar/server/server.d.ts.map +1 -0
  329. package/dist/sidecar/server/server.js +76 -0
  330. package/dist/sidecar/server/server.js.map +1 -0
  331. package/dist/sidecar/server/stats.d.ts +8 -0
  332. package/dist/sidecar/server/stats.d.ts.map +1 -0
  333. package/dist/sidecar/server/stats.js +18 -0
  334. package/dist/sidecar/server/stats.js.map +1 -0
  335. package/dist/sidecar/server/vec/embedder.d.ts +2 -0
  336. package/dist/sidecar/server/vec/embedder.d.ts.map +1 -0
  337. package/dist/sidecar/server/vec/embedder.js +2 -0
  338. package/dist/sidecar/server/vec/embedder.js.map +1 -0
  339. package/dist/sidecar/server/vec/mmr.d.ts +13 -0
  340. package/dist/sidecar/server/vec/mmr.d.ts.map +1 -0
  341. package/dist/sidecar/server/vec/mmr.js +36 -0
  342. package/dist/sidecar/server/vec/mmr.js.map +1 -0
  343. package/dist/sidecar/server/vec/store.d.ts +30 -0
  344. package/dist/sidecar/server/vec/store.d.ts.map +1 -0
  345. package/dist/sidecar/server/vec/store.js +179 -0
  346. package/dist/sidecar/server/vec/store.js.map +1 -0
  347. package/dist/sidecar/sidecarManager.d.ts +10 -0
  348. package/dist/sidecar/sidecarManager.d.ts.map +1 -0
  349. package/dist/sidecar/sidecarManager.js +111 -0
  350. package/dist/sidecar/sidecarManager.js.map +1 -0
  351. package/dist/sidecar/utils.d.ts +3 -0
  352. package/dist/sidecar/utils.d.ts.map +1 -0
  353. package/dist/sidecar/utils.js +27 -0
  354. package/dist/sidecar/utils.js.map +1 -0
  355. package/dist/store/backend.d.ts +12 -0
  356. package/dist/store/backend.d.ts.map +1 -0
  357. package/dist/store/backend.js +47 -0
  358. package/dist/store/backend.js.map +1 -0
  359. package/dist/store/index.d.ts +6 -0
  360. package/dist/store/index.d.ts.map +1 -0
  361. package/dist/store/index.js +6 -0
  362. package/dist/store/index.js.map +1 -0
  363. package/dist/store/indexChunks.d.ts +9 -0
  364. package/dist/store/indexChunks.d.ts.map +1 -0
  365. package/dist/store/indexChunks.js +78 -0
  366. package/dist/store/indexChunks.js.map +1 -0
  367. package/dist/store/markdown/format.d.ts +5 -0
  368. package/dist/store/markdown/format.d.ts.map +1 -0
  369. package/dist/store/markdown/format.js +14 -0
  370. package/dist/store/markdown/format.js.map +1 -0
  371. package/dist/store/markdown/parse.d.ts +5 -0
  372. package/dist/store/markdown/parse.d.ts.map +1 -0
  373. package/dist/store/markdown/parse.js +57 -0
  374. package/dist/store/markdown/parse.js.map +1 -0
  375. package/dist/store/markdown/template.d.ts +3 -0
  376. package/dist/store/markdown/template.d.ts.map +1 -0
  377. package/dist/store/markdown/template.js +22 -0
  378. package/dist/store/markdown/template.js.map +1 -0
  379. package/dist/store/memoryStore.d.ts +69 -0
  380. package/dist/store/memoryStore.d.ts.map +1 -0
  381. package/dist/store/memoryStore.js +421 -0
  382. package/dist/store/memoryStore.js.map +1 -0
  383. package/dist/store/paths.d.ts +10 -0
  384. package/dist/store/paths.d.ts.map +1 -0
  385. package/dist/store/paths.js +19 -0
  386. package/dist/store/paths.js.map +1 -0
  387. package/dist/store/types.d.ts +38 -0
  388. package/dist/store/types.d.ts.map +1 -0
  389. package/dist/store/types.js +3 -0
  390. package/dist/store/types.js.map +1 -0
  391. package/dist/ui/memoryStatusWidget.d.ts +20 -0
  392. package/dist/ui/memoryStatusWidget.d.ts.map +1 -0
  393. package/dist/ui/memoryStatusWidget.js +51 -0
  394. package/dist/ui/memoryStatusWidget.js.map +1 -0
  395. package/dist/utils/debugLog.d.ts +4 -0
  396. package/dist/utils/debugLog.d.ts.map +1 -0
  397. package/dist/utils/debugLog.js +14 -0
  398. package/dist/utils/debugLog.js.map +1 -0
  399. package/dist/utils/fs.d.ts +26 -0
  400. package/dist/utils/fs.d.ts.map +1 -0
  401. package/dist/utils/fs.js +101 -0
  402. package/dist/utils/fs.js.map +1 -0
  403. package/dist/utils/index.d.ts +8 -0
  404. package/dist/utils/index.d.ts.map +1 -0
  405. package/dist/utils/index.js +8 -0
  406. package/dist/utils/index.js.map +1 -0
  407. package/dist/utils/paths.d.ts +22 -0
  408. package/dist/utils/paths.d.ts.map +1 -0
  409. package/dist/utils/paths.js +51 -0
  410. package/dist/utils/paths.js.map +1 -0
  411. package/dist/utils/platform.d.ts +7 -0
  412. package/dist/utils/platform.d.ts.map +1 -0
  413. package/dist/utils/platform.js +18 -0
  414. package/dist/utils/platform.js.map +1 -0
  415. package/dist/utils/scheduler.d.ts +33 -0
  416. package/dist/utils/scheduler.d.ts.map +1 -0
  417. package/dist/utils/scheduler.js +63 -0
  418. package/dist/utils/scheduler.js.map +1 -0
  419. package/dist/utils/socket.d.ts +7 -0
  420. package/dist/utils/socket.d.ts.map +1 -0
  421. package/dist/utils/socket.js +35 -0
  422. package/dist/utils/socket.js.map +1 -0
  423. package/dist/utils/time.d.ts +22 -0
  424. package/dist/utils/time.d.ts.map +1 -0
  425. package/dist/utils/time.js +42 -0
  426. package/dist/utils/time.js.map +1 -0
  427. package/package.json +28 -10
  428. package/scripts/init-memory-workspace.mjs +62 -0
  429. package/scripts/path-utils.mjs +12 -0
  430. package/scripts/platform-fs.mjs +65 -0
  431. package/scripts/postinstall.mjs +17 -0
  432. package/src/adapters/embed/factory.ts +50 -0
  433. package/src/adapters/embed/hash.ts +29 -0
  434. package/src/adapters/embed/normalize.ts +13 -0
  435. package/src/adapters/embed/ollama.ts +49 -0
  436. package/src/adapters/embed/openai.ts +46 -0
  437. package/src/adapters/embed/types.ts +9 -0
  438. package/src/adapters/http.ts +42 -0
  439. package/src/adapters/index.ts +16 -0
  440. package/src/adapters/llm/extractText.ts +6 -0
  441. package/src/adapters/llm/factory.ts +60 -0
  442. package/src/adapters/llm/index.ts +7 -0
  443. package/src/adapters/llm/modelSpec.ts +39 -0
  444. package/src/adapters/llm/ollama.ts +42 -0
  445. package/src/adapters/llm/openai-compat.ts +46 -0
  446. package/src/adapters/llm/pi-ai.ts +75 -0
  447. package/src/adapters/llm/standalone.ts +60 -0
  448. package/src/adapters/llm/types.ts +16 -0
  449. package/src/cli/init.ts +18 -0
  450. package/src/cli/jobs.ts +144 -0
  451. package/src/cli/log.ts +46 -0
  452. package/src/cli/parseArgs.ts +175 -0
  453. package/src/cli/status.ts +323 -0
  454. package/src/cli/theme.ts +26 -0
  455. package/src/cli.ts +80 -374
  456. package/src/commands/index.ts +20 -0
  457. package/src/commands/parseMemoryStatusArgs.ts +11 -0
  458. package/src/commands/parseRememberArgs.ts +55 -0
  459. package/src/commands/remember.ts +43 -0
  460. package/src/commands/status.ts +112 -0
  461. package/src/commands/types.ts +12 -0
  462. package/src/compact/index.ts +4 -0
  463. package/src/compact/parseMemoryExport.ts +71 -0
  464. package/src/compact/register.ts +57 -0
  465. package/src/compact/runSummary.ts +42 -0
  466. package/src/compact/subagentDelta.ts +22 -0
  467. package/src/compact/summaryPrompt.ts +45 -0
  468. package/src/config/agentDir.ts +24 -0
  469. package/src/config/chunking.ts +36 -0
  470. package/src/config/env.ts +97 -0
  471. package/src/config/index.ts +6 -0
  472. package/src/config/loadEnv.ts +26 -0
  473. package/src/config/preflightBudget.ts +33 -0
  474. package/src/config/retrieval.ts +50 -0
  475. package/src/consolidate/entryKey.ts +4 -0
  476. package/src/consolidate/index.ts +4 -0
  477. package/src/consolidate/mergeEntries.ts +22 -0
  478. package/src/consolidate/mergePrompt.ts +46 -0
  479. package/src/consolidate/mergeWithLlm.ts +39 -0
  480. package/src/consolidate/runJob.ts +81 -0
  481. package/src/consolidate/scheduler.ts +54 -0
  482. package/src/constants/chunking.ts +8 -0
  483. package/src/constants/env.ts +56 -0
  484. package/src/constants/index.ts +7 -0
  485. package/src/constants/memory.ts +22 -0
  486. package/src/constants/paths.ts +26 -0
  487. package/src/constants/preflight.ts +13 -0
  488. package/src/constants/retrieval.ts +10 -0
  489. package/src/constants/security.ts +5 -0
  490. package/src/constants/timing.ts +46 -0
  491. package/src/index.ts +11 -247
  492. package/src/init/workspace.ts +44 -0
  493. package/src/ipc/jsonlFramer.ts +29 -0
  494. package/src/pi-extension.ts +177 -606
  495. package/src/preflight/episodic.ts +159 -0
  496. package/src/preflight/queryCache.ts +59 -0
  497. package/src/preflight/queryIntent.ts +92 -0
  498. package/src/preflight/render.ts +34 -180
  499. package/src/preflight/session.ts +7 -0
  500. package/src/preflight/strip.ts +4 -11
  501. package/src/shutdown/enqueue.ts +29 -0
  502. package/src/shutdown/extractPrompt.ts +27 -0
  503. package/src/shutdown/processed.ts +45 -0
  504. package/src/shutdown/readQueue.ts +26 -0
  505. package/src/shutdown/runDrainJob.ts +202 -0
  506. package/src/shutdown/sessionReader.ts +61 -0
  507. package/src/sidecar/client.ts +98 -150
  508. package/src/sidecar/paths.ts +31 -0
  509. package/src/sidecar/protocol.ts +38 -0
  510. package/src/sidecar/reindexBridge.ts +52 -0
  511. package/src/sidecar/server/process.ts +27 -0
  512. package/src/sidecar/server/query.ts +16 -0
  513. package/src/sidecar/server/reindex.ts +21 -0
  514. package/src/sidecar/server/server.ts +105 -0
  515. package/src/sidecar/server/stats.ts +23 -0
  516. package/src/sidecar/server/vec/embedder.ts +1 -0
  517. package/src/sidecar/server/vec/mmr.ts +55 -0
  518. package/src/sidecar/server/vec/store.ts +232 -0
  519. package/src/sidecar/sidecarManager.ts +134 -0
  520. package/src/sidecar/utils.ts +28 -0
  521. package/src/store/backend.ts +66 -0
  522. package/src/store/index.ts +5 -0
  523. package/src/store/indexChunks.ts +89 -0
  524. package/src/store/markdown/format.ts +16 -0
  525. package/src/store/markdown/parse.ts +63 -0
  526. package/src/store/markdown/template.ts +24 -0
  527. package/src/store/memoryStore.ts +518 -0
  528. package/src/store/paths.ts +33 -0
  529. package/src/store/proper-lockfile.d.ts +3 -0
  530. package/src/store/types.ts +46 -0
  531. package/src/ui/memoryStatusWidget.ts +80 -0
  532. package/src/utils/debugLog.ts +22 -0
  533. package/src/utils/fs.ts +115 -0
  534. package/src/utils/index.ts +68 -0
  535. package/src/utils/paths.ts +67 -0
  536. package/src/utils/platform.ts +20 -0
  537. package/src/utils/scheduler.ts +98 -0
  538. package/src/utils/socket.ts +33 -0
  539. package/src/utils/time.ts +51 -0
  540. package/templates/MEMORY.md.example +22 -0
  541. package/dist/adapters/ollamaClient.d.ts +0 -11
  542. package/dist/adapters/ollamaClient.d.ts.map +0 -1
  543. package/dist/adapters/ollamaClient.js +0 -122
  544. package/dist/adapters/ollamaClient.js.map +0 -1
  545. package/dist/adapters/openaiCompatClient.d.ts +0 -11
  546. package/dist/adapters/openaiCompatClient.d.ts.map +0 -1
  547. package/dist/adapters/openaiCompatClient.js +0 -118
  548. package/dist/adapters/openaiCompatClient.js.map +0 -1
  549. package/dist/adapters/piComplete.d.ts +0 -17
  550. package/dist/adapters/piComplete.d.ts.map +0 -1
  551. package/dist/adapters/piComplete.js +0 -169
  552. package/dist/adapters/piComplete.js.map +0 -1
  553. package/dist/bundle/install.d.ts +0 -34
  554. package/dist/bundle/install.d.ts.map +0 -1
  555. package/dist/bundle/install.js +0 -183
  556. package/dist/bundle/install.js.map +0 -1
  557. package/dist/cache/memoryCaches.d.ts +0 -32
  558. package/dist/cache/memoryCaches.d.ts.map +0 -1
  559. package/dist/cache/memoryCaches.js +0 -59
  560. package/dist/cache/memoryCaches.js.map +0 -1
  561. package/dist/config.d.ts +0 -55
  562. package/dist/config.d.ts.map +0 -1
  563. package/dist/config.js +0 -85
  564. package/dist/config.js.map +0 -1
  565. package/dist/consolidation/enqueue.d.ts +0 -33
  566. package/dist/consolidation/enqueue.d.ts.map +0 -1
  567. package/dist/consolidation/enqueue.js +0 -145
  568. package/dist/consolidation/enqueue.js.map +0 -1
  569. package/dist/consolidation/index.d.ts +0 -19
  570. package/dist/consolidation/index.d.ts.map +0 -1
  571. package/dist/consolidation/index.js +0 -15
  572. package/dist/consolidation/index.js.map +0 -1
  573. package/dist/consolidation/lock.d.ts +0 -5
  574. package/dist/consolidation/lock.d.ts.map +0 -1
  575. package/dist/consolidation/lock.js +0 -33
  576. package/dist/consolidation/lock.js.map +0 -1
  577. package/dist/consolidation/log.d.ts +0 -8
  578. package/dist/consolidation/log.d.ts.map +0 -1
  579. package/dist/consolidation/log.js +0 -32
  580. package/dist/consolidation/log.js.map +0 -1
  581. package/dist/consolidation/memoryIndex.d.ts +0 -18
  582. package/dist/consolidation/memoryIndex.d.ts.map +0 -1
  583. package/dist/consolidation/memoryIndex.js +0 -100
  584. package/dist/consolidation/memoryIndex.js.map +0 -1
  585. package/dist/consolidation/phase2/runPhase2.d.ts +0 -23
  586. package/dist/consolidation/phase2/runPhase2.d.ts.map +0 -1
  587. package/dist/consolidation/phase2/runPhase2.js +0 -196
  588. package/dist/consolidation/phase2/runPhase2.js.map +0 -1
  589. package/dist/consolidation/scheduler/launchd.d.ts +0 -5
  590. package/dist/consolidation/scheduler/launchd.d.ts.map +0 -1
  591. package/dist/consolidation/scheduler/launchd.js +0 -54
  592. package/dist/consolidation/scheduler/launchd.js.map +0 -1
  593. package/dist/consolidation/scheduler/runConsolidate.d.ts +0 -26
  594. package/dist/consolidation/scheduler/runConsolidate.d.ts.map +0 -1
  595. package/dist/consolidation/scheduler/runConsolidate.js +0 -83
  596. package/dist/consolidation/scheduler/runConsolidate.js.map +0 -1
  597. package/dist/consolidation/scheduler/setupSchedule.d.ts +0 -3
  598. package/dist/consolidation/scheduler/setupSchedule.d.ts.map +0 -1
  599. package/dist/consolidation/scheduler/setupSchedule.js +0 -79
  600. package/dist/consolidation/scheduler/setupSchedule.js.map +0 -1
  601. package/dist/consolidation/scheduler/systemd.d.ts +0 -9
  602. package/dist/consolidation/scheduler/systemd.d.ts.map +0 -1
  603. package/dist/consolidation/scheduler/systemd.js +0 -57
  604. package/dist/consolidation/scheduler/systemd.js.map +0 -1
  605. package/dist/consolidation/scheduler/types.d.ts +0 -24
  606. package/dist/consolidation/scheduler/types.d.ts.map +0 -1
  607. package/dist/consolidation/scheduler/types.js.map +0 -1
  608. package/dist/consolidation/scope.d.ts +0 -12
  609. package/dist/consolidation/scope.d.ts.map +0 -1
  610. package/dist/consolidation/scope.js +0 -51
  611. package/dist/consolidation/scope.js.map +0 -1
  612. package/dist/consolidation/stage1/deltaExtract.d.ts +0 -3
  613. package/dist/consolidation/stage1/deltaExtract.d.ts.map +0 -1
  614. package/dist/consolidation/stage1/deltaExtract.js +0 -19
  615. package/dist/consolidation/stage1/deltaExtract.js.map +0 -1
  616. package/dist/consolidation/stage1/drainQueue.d.ts +0 -21
  617. package/dist/consolidation/stage1/drainQueue.d.ts.map +0 -1
  618. package/dist/consolidation/stage1/drainQueue.js +0 -113
  619. package/dist/consolidation/stage1/drainQueue.js.map +0 -1
  620. package/dist/consolidation/stage1/extractSession.d.ts +0 -6
  621. package/dist/consolidation/stage1/extractSession.d.ts.map +0 -1
  622. package/dist/consolidation/stage1/extractSession.js +0 -47
  623. package/dist/consolidation/stage1/extractSession.js.map +0 -1
  624. package/dist/consolidation/stage1/store.d.ts +0 -45
  625. package/dist/consolidation/stage1/store.d.ts.map +0 -1
  626. package/dist/consolidation/stage1/store.js +0 -297
  627. package/dist/consolidation/stage1/store.js.map +0 -1
  628. package/dist/consolidation/types.d.ts +0 -49
  629. package/dist/consolidation/types.d.ts.map +0 -1
  630. package/dist/errclass.d.ts +0 -7
  631. package/dist/errclass.d.ts.map +0 -1
  632. package/dist/errclass.js +0 -32
  633. package/dist/errclass.js.map +0 -1
  634. package/dist/extension.d.ts +0 -24
  635. package/dist/extension.d.ts.map +0 -1
  636. package/dist/extension.js +0 -7
  637. package/dist/extension.js.map +0 -1
  638. package/dist/fallback/index.d.ts +0 -11
  639. package/dist/fallback/index.d.ts.map +0 -1
  640. package/dist/fallback/index.js +0 -16
  641. package/dist/fallback/index.js.map +0 -1
  642. package/dist/fallback/llmRerank.d.ts +0 -19
  643. package/dist/fallback/llmRerank.d.ts.map +0 -1
  644. package/dist/fallback/llmRerank.js +0 -68
  645. package/dist/fallback/llmRerank.js.map +0 -1
  646. package/dist/fallback/memoryMd.d.ts +0 -6
  647. package/dist/fallback/memoryMd.d.ts.map +0 -1
  648. package/dist/fallback/memoryMd.js +0 -35
  649. package/dist/fallback/memoryMd.js.map +0 -1
  650. package/dist/fallback/sessionIndex.d.ts +0 -35
  651. package/dist/fallback/sessionIndex.d.ts.map +0 -1
  652. package/dist/fallback/sessionIndex.js +0 -239
  653. package/dist/fallback/sessionIndex.js.map +0 -1
  654. package/dist/fallback/sessionSearch.d.ts +0 -18
  655. package/dist/fallback/sessionSearch.d.ts.map +0 -1
  656. package/dist/fallback/sessionSearch.js +0 -234
  657. package/dist/fallback/sessionSearch.js.map +0 -1
  658. package/dist/local/graphQuery.d.ts +0 -31
  659. package/dist/local/graphQuery.d.ts.map +0 -1
  660. package/dist/local/graphQuery.js +0 -195
  661. package/dist/local/graphQuery.js.map +0 -1
  662. package/dist/paths.d.ts +0 -7
  663. package/dist/paths.d.ts.map +0 -1
  664. package/dist/paths.js +0 -26
  665. package/dist/paths.js.map +0 -1
  666. package/dist/preflight/detectIntents.d.ts +0 -102
  667. package/dist/preflight/detectIntents.d.ts.map +0 -1
  668. package/dist/preflight/detectIntents.js +0 -631
  669. package/dist/preflight/detectIntents.js.map +0 -1
  670. package/dist/preflight/hook.d.ts +0 -76
  671. package/dist/preflight/hook.d.ts.map +0 -1
  672. package/dist/preflight/hook.js +0 -122
  673. package/dist/preflight/hook.js.map +0 -1
  674. package/dist/service.d.ts +0 -72
  675. package/dist/service.d.ts.map +0 -1
  676. package/dist/service.js +0 -257
  677. package/dist/service.js.map +0 -1
  678. package/dist/session/activeBranch.d.ts +0 -17
  679. package/dist/session/activeBranch.d.ts.map +0 -1
  680. package/dist/session/activeBranch.js +0 -251
  681. package/dist/session/activeBranch.js.map +0 -1
  682. package/dist/settings.d.ts +0 -41
  683. package/dist/settings.d.ts.map +0 -1
  684. package/dist/settings.js +0 -85
  685. package/dist/settings.js.map +0 -1
  686. package/dist/sidecar/bundle.d.ts +0 -19
  687. package/dist/sidecar/bundle.d.ts.map +0 -1
  688. package/dist/sidecar/bundle.js +0 -39
  689. package/dist/sidecar/bundle.js.map +0 -1
  690. package/dist/sidecar/process.d.ts +0 -14
  691. package/dist/sidecar/process.d.ts.map +0 -1
  692. package/dist/sidecar/process.js +0 -138
  693. package/dist/sidecar/process.js.map +0 -1
  694. package/dist/tools/memoryAppend.d.ts +0 -47
  695. package/dist/tools/memoryAppend.d.ts.map +0 -1
  696. package/dist/tools/memoryAppend.js +0 -138
  697. package/dist/tools/memoryAppend.js.map +0 -1
  698. package/dist/tools/memoryRecall.d.ts +0 -113
  699. package/dist/tools/memoryRecall.d.ts.map +0 -1
  700. package/dist/tools/memoryRecall.js +0 -351
  701. package/dist/tools/memoryRecall.js.map +0 -1
  702. package/dist/trainer/bundleBuilder.d.ts +0 -30
  703. package/dist/trainer/bundleBuilder.d.ts.map +0 -1
  704. package/dist/trainer/bundleBuilder.js +0 -106
  705. package/dist/trainer/bundleBuilder.js.map +0 -1
  706. package/dist/trainer/bundleLoader.d.ts +0 -12
  707. package/dist/trainer/bundleLoader.d.ts.map +0 -1
  708. package/dist/trainer/bundleLoader.js +0 -59
  709. package/dist/trainer/bundleLoader.js.map +0 -1
  710. package/dist/trainer/deltaMerge.d.ts +0 -38
  711. package/dist/trainer/deltaMerge.d.ts.map +0 -1
  712. package/dist/trainer/deltaMerge.js +0 -183
  713. package/dist/trainer/deltaMerge.js.map +0 -1
  714. package/dist/trainer/entityResolver.d.ts +0 -27
  715. package/dist/trainer/entityResolver.d.ts.map +0 -1
  716. package/dist/trainer/entityResolver.js +0 -92
  717. package/dist/trainer/entityResolver.js.map +0 -1
  718. package/dist/trainer/extractFacts.d.ts +0 -67
  719. package/dist/trainer/extractFacts.d.ts.map +0 -1
  720. package/dist/trainer/extractFacts.js +0 -213
  721. package/dist/trainer/extractFacts.js.map +0 -1
  722. package/dist/trainer/index.d.ts +0 -54
  723. package/dist/trainer/index.d.ts.map +0 -1
  724. package/dist/trainer/index.js +0 -82
  725. package/dist/trainer/index.js.map +0 -1
  726. package/dist/trainer/llmExtractor.d.ts +0 -16
  727. package/dist/trainer/llmExtractor.d.ts.map +0 -1
  728. package/dist/trainer/llmExtractor.js +0 -146
  729. package/dist/trainer/llmExtractor.js.map +0 -1
  730. package/dist/trainer/marker.d.ts +0 -10
  731. package/dist/trainer/marker.d.ts.map +0 -1
  732. package/dist/trainer/marker.js +0 -28
  733. package/dist/trainer/marker.js.map +0 -1
  734. package/dist/trainer/scheduler.d.ts +0 -33
  735. package/dist/trainer/scheduler.d.ts.map +0 -1
  736. package/dist/trainer/scheduler.js +0 -73
  737. package/dist/trainer/scheduler.js.map +0 -1
  738. package/dist/trainer/sessionLoader.d.ts +0 -26
  739. package/dist/trainer/sessionLoader.d.ts.map +0 -1
  740. package/dist/trainer/sessionLoader.js +0 -145
  741. package/dist/trainer/sessionLoader.js.map +0 -1
  742. package/dist/types.d.ts +0 -135
  743. package/dist/types.d.ts.map +0 -1
  744. package/dist/types.js +0 -8
  745. package/dist/types.js.map +0 -1
  746. package/src/adapters/ollamaClient.ts +0 -179
  747. package/src/adapters/openaiCompatClient.ts +0 -155
  748. package/src/adapters/piComplete.ts +0 -233
  749. package/src/bundle/install.ts +0 -206
  750. package/src/cache/memoryCaches.ts +0 -72
  751. package/src/config.ts +0 -180
  752. package/src/consolidation/enqueue.ts +0 -205
  753. package/src/consolidation/index.ts +0 -90
  754. package/src/consolidation/lock.ts +0 -41
  755. package/src/consolidation/log.ts +0 -43
  756. package/src/consolidation/memoryIndex.ts +0 -127
  757. package/src/consolidation/phase2/runPhase2.ts +0 -255
  758. package/src/consolidation/scheduler/launchd.ts +0 -62
  759. package/src/consolidation/scheduler/runConsolidate.ts +0 -115
  760. package/src/consolidation/scheduler/setupSchedule.ts +0 -106
  761. package/src/consolidation/scheduler/systemd.ts +0 -78
  762. package/src/consolidation/scheduler/types.ts +0 -27
  763. package/src/consolidation/scope.ts +0 -58
  764. package/src/consolidation/stage1/deltaExtract.ts +0 -29
  765. package/src/consolidation/stage1/drainQueue.ts +0 -143
  766. package/src/consolidation/stage1/extractSession.ts +0 -58
  767. package/src/consolidation/stage1/store.ts +0 -411
  768. package/src/consolidation/types.ts +0 -52
  769. package/src/errclass.ts +0 -37
  770. package/src/extension.ts +0 -23
  771. package/src/fallback/index.ts +0 -24
  772. package/src/fallback/llmRerank.ts +0 -97
  773. package/src/fallback/memoryMd.ts +0 -36
  774. package/src/fallback/sessionIndex.ts +0 -290
  775. package/src/fallback/sessionSearch.ts +0 -261
  776. package/src/local/graphQuery.ts +0 -252
  777. package/src/paths.ts +0 -28
  778. package/src/preflight/detectIntents.ts +0 -660
  779. package/src/preflight/hook.ts +0 -213
  780. package/src/service.ts +0 -306
  781. package/src/session/activeBranch.ts +0 -294
  782. package/src/settings.ts +0 -161
  783. package/src/sidecar/bundle.ts +0 -52
  784. package/src/sidecar/process.ts +0 -160
  785. package/src/tools/memoryAppend.ts +0 -166
  786. package/src/tools/memoryRecall.ts +0 -388
  787. package/src/trainer/bundleBuilder.ts +0 -192
  788. package/src/trainer/bundleLoader.ts +0 -105
  789. package/src/trainer/deltaMerge.ts +0 -221
  790. package/src/trainer/entityResolver.ts +0 -140
  791. package/src/trainer/extractFacts.ts +0 -312
  792. package/src/trainer/index.ts +0 -147
  793. package/src/trainer/llmExtractor.ts +0 -206
  794. package/src/trainer/marker.ts +0 -30
  795. package/src/trainer/scheduler.ts +0 -107
  796. package/src/trainer/sessionLoader.ts +0 -176
  797. package/src/types.ts +0 -168
  798. /package/dist/{consolidation/scheduler → adapters/embed}/types.js +0 -0
  799. /package/dist/{consolidation → adapters/llm}/types.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugLog.js","sourceRoot":"","sources":["../../src/utils/debugLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,MAAM,UAAU,oBAAoB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACvE,OAAO,GAAG,CAAC,eAAe,KAAK,GAAG,IAAI,GAAG,CAAC,eAAe,KAAK,MAAM,CAAC;AACvE,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,WAAW,CACzB,KAAa,EACb,OAAe,EACf,MAAqE,EACrE,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;QAAE,OAAO;IAEvC,MAAM,MAAM,GACV,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;QACtC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;QACrF,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,26 @@
1
+ /** Cross-platform path join (`\` on Windows, `/` on POSIX). */
2
+ export declare function joinPath(...segments: string[]): string;
3
+ export declare function pathBasename(filePath: string): string;
4
+ export declare function pathDirname(filePath: string): string;
5
+ export declare function pathExists(filePath: string): boolean;
6
+ /** True when the current process can read the path. */
7
+ export declare function canRead(filePath: string): boolean;
8
+ export declare function isENOENT(error: unknown): boolean;
9
+ /** Create directory tree; Unix applies secure mode, Windows omits mode. */
10
+ export declare function ensureDir(dirPath: string): Promise<void>;
11
+ export declare function ensureDirSync(dirPath: string): void;
12
+ /** Read UTF-8 text; missing file → empty string. */
13
+ export declare function readText(filePath: string): Promise<string>;
14
+ /** Read UTF-8 text; propagates ENOENT. */
15
+ export declare function readTextRequired(filePath: string): Promise<string>;
16
+ /** Write UTF-8 text; creates parent directories. */
17
+ export declare function writeText(filePath: string, content: string): Promise<void>;
18
+ /** Append UTF-8 text; creates parent directories. */
19
+ export declare function appendText(filePath: string, content: string): Promise<void>;
20
+ /** List directory entries; missing dir → empty array. */
21
+ export declare function listDir(dirPath: string): Promise<string[]>;
22
+ /** Delete file; missing file → no-op. */
23
+ export declare function removeFile(filePath: string): Promise<void>;
24
+ /** Ensure file exists (empty) for lockfile targets. */
25
+ export declare function ensureFile(filePath: string): Promise<void>;
26
+ //# sourceMappingURL=fs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAcA,+DAA+D;AAC/D,wBAAgB,QAAQ,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAEtD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,uDAAuD;AACvD,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOjD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEhD;AAED,2EAA2E;AAC3E,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEnD;AAED,oDAAoD;AACpD,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOhE;AAED,0CAA0C;AAC1C,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAExE;AAED,oDAAoD;AACpD,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhF;AAED,qDAAqD;AACrD,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjF;AAED,yDAAyD;AACzD,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAOhE;AAED,yCAAyC;AACzC,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhE;AAED,uDAAuD;AACvD,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhE"}
@@ -0,0 +1,101 @@
1
+ /** Runtime fs helpers. Pre-build postinstall mirror: scripts/platform-fs.mjs */
2
+ import { accessSync, existsSync, mkdirSync, constants } from "node:fs";
3
+ import { appendFile, mkdir, readFile, readdir, unlink, writeFile, } from "node:fs/promises";
4
+ import { basename, dirname, join } from "node:path";
5
+ import { expandHomePath, mkdirOptions } from "./paths.js";
6
+ /** Cross-platform path join (`\` on Windows, `/` on POSIX). */
7
+ export function joinPath(...segments) {
8
+ return join(...segments);
9
+ }
10
+ export function pathBasename(filePath) {
11
+ return basename(filePath);
12
+ }
13
+ export function pathDirname(filePath) {
14
+ return dirname(filePath);
15
+ }
16
+ export function pathExists(filePath) {
17
+ return existsSync(expandHomePath(filePath));
18
+ }
19
+ /** True when the current process can read the path. */
20
+ export function canRead(filePath) {
21
+ try {
22
+ accessSync(expandHomePath(filePath), constants.R_OK);
23
+ return true;
24
+ }
25
+ catch {
26
+ return false;
27
+ }
28
+ }
29
+ export function isENOENT(error) {
30
+ return error?.code === "ENOENT";
31
+ }
32
+ /** Create directory tree; Unix applies secure mode, Windows omits mode. */
33
+ export async function ensureDir(dirPath) {
34
+ await mkdir(expandHomePath(dirPath), mkdirOptions());
35
+ }
36
+ export function ensureDirSync(dirPath) {
37
+ mkdirSync(expandHomePath(dirPath), mkdirOptions());
38
+ }
39
+ /** Read UTF-8 text; missing file → empty string. */
40
+ export async function readText(filePath) {
41
+ try {
42
+ return await readFile(expandHomePath(filePath), "utf8");
43
+ }
44
+ catch (error) {
45
+ if (isENOENT(error))
46
+ return "";
47
+ throw error;
48
+ }
49
+ }
50
+ /** Read UTF-8 text; propagates ENOENT. */
51
+ export async function readTextRequired(filePath) {
52
+ return readFile(expandHomePath(filePath), "utf8");
53
+ }
54
+ /** Write UTF-8 text; creates parent directories. */
55
+ export async function writeText(filePath, content) {
56
+ const resolved = expandHomePath(filePath);
57
+ await ensureDir(dirname(resolved));
58
+ await writeFile(resolved, content, "utf8");
59
+ }
60
+ /** Append UTF-8 text; creates parent directories. */
61
+ export async function appendText(filePath, content) {
62
+ const resolved = expandHomePath(filePath);
63
+ await ensureDir(dirname(resolved));
64
+ await appendFile(resolved, content, "utf8");
65
+ }
66
+ /** List directory entries; missing dir → empty array. */
67
+ export async function listDir(dirPath) {
68
+ try {
69
+ return await readdir(expandHomePath(dirPath));
70
+ }
71
+ catch (error) {
72
+ if (isENOENT(error))
73
+ return [];
74
+ throw error;
75
+ }
76
+ }
77
+ /** Delete file; missing file → no-op. */
78
+ export async function removeFile(filePath) {
79
+ try {
80
+ await unlink(expandHomePath(filePath));
81
+ }
82
+ catch (error) {
83
+ if (isENOENT(error))
84
+ return;
85
+ throw error;
86
+ }
87
+ }
88
+ /** Ensure file exists (empty) for lockfile targets. */
89
+ export async function ensureFile(filePath) {
90
+ try {
91
+ await readTextRequired(filePath);
92
+ }
93
+ catch (error) {
94
+ if (isENOENT(error)) {
95
+ await writeText(filePath, "");
96
+ return;
97
+ }
98
+ throw error;
99
+ }
100
+ }
101
+ //# sourceMappingURL=fs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EACL,UAAU,EACV,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D,+DAA+D;AAC/D,MAAM,UAAU,QAAQ,CAAC,GAAG,QAAkB;IAC5C,OAAO,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,OAAO,CAAC,QAAgB;IACtC,IAAI,CAAC;QACH,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAQ,KAA+B,EAAE,IAAI,KAAK,QAAQ,CAAC;AAC7D,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe;IAC7C,MAAM,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB;IAC7C,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC/B,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,OAAO,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,OAAe;IAC/D,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,OAAe;IAChE,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAe;IAC3C,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC/B,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,yCAAyC;AACzC,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO;QAC5B,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,uDAAuD;AACvD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB;IAC/C,IAAI,CAAC;QACH,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { getPlatform, isMacOS, isUnixLike, isWindows, type PiMemoryPlatform, } from "./platform.js";
2
+ export { CONFIG_DIR_NAME, defaultMemoryAgentDir, defaultPiConfigDir, defaultPiMemoryEnvFile, defaultPiLogsDir, expandHomePath, getAgentDir, mkdirOptions, secureDirMode, secureFileMode, } from "./paths.js";
3
+ export { appendText, canRead, ensureDir, ensureDirSync, ensureFile, isENOENT, joinPath, listDir, pathBasename, pathDirname, pathExists, readText, readTextRequired, removeFile, writeText, } from "./fs.js";
4
+ export { cleanupSocketFiles, removeSocketFile, secureSocketPath } from "./socket.js";
5
+ export { debugMemory, isMemoryDebugEnabled } from "./debugLog.js";
6
+ export { daysSince, epochTimestamp, formatLocalDate, formatTimestamp, now, nowMs, parseTime, remainingMs, type TimeInput, } from "./time.js";
7
+ export { buildConsolidateCliArgs, buildMaintenanceCliArgs, defaultConsolidateSchedulerPaths, formatConsolidateCronLine, formatMaintenanceCronLine, getConsolidateSchedulerKind, getConsolidateTemplateNames, type ConsolidateCliInvocation, type ConsolidateSchedulerKind, type ConsolidateSchedulerPaths, type ConsolidateTemplateName, } from "./scheduler.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACP,UAAU,EACV,SAAS,EACT,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,SAAS,GACV,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAErF,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EACL,SAAS,EACT,cAAc,EACd,eAAe,EACf,eAAe,EACf,GAAG,EACH,KAAK,EACL,SAAS,EACT,WAAW,EACX,KAAK,SAAS,GACf,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,gCAAgC,EAChC,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,GAC7B,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { getPlatform, isMacOS, isUnixLike, isWindows, } from "./platform.js";
2
+ export { CONFIG_DIR_NAME, defaultMemoryAgentDir, defaultPiConfigDir, defaultPiMemoryEnvFile, defaultPiLogsDir, expandHomePath, getAgentDir, mkdirOptions, secureDirMode, secureFileMode, } from "./paths.js";
3
+ export { appendText, canRead, ensureDir, ensureDirSync, ensureFile, isENOENT, joinPath, listDir, pathBasename, pathDirname, pathExists, readText, readTextRequired, removeFile, writeText, } from "./fs.js";
4
+ export { cleanupSocketFiles, removeSocketFile, secureSocketPath } from "./socket.js";
5
+ export { debugMemory, isMemoryDebugEnabled } from "./debugLog.js";
6
+ export { daysSince, epochTimestamp, formatLocalDate, formatTimestamp, now, nowMs, parseTime, remainingMs, } from "./time.js";
7
+ export { buildConsolidateCliArgs, buildMaintenanceCliArgs, defaultConsolidateSchedulerPaths, formatConsolidateCronLine, formatMaintenanceCronLine, getConsolidateSchedulerKind, getConsolidateTemplateNames, } from "./scheduler.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACP,UAAU,EACV,SAAS,GAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,SAAS,GACV,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAErF,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EACL,SAAS,EACT,cAAc,EACd,eAAe,EACf,eAAe,EACf,GAAG,EACH,KAAK,EACL,SAAS,EACT,WAAW,GAEZ,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,gCAAgC,EAChC,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,GAK5B,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { CONFIG_DIR_NAME, getAgentDir } from "@earendil-works/pi-coding-agent";
2
+ export { CONFIG_DIR_NAME, getAgentDir };
3
+ /** Expand leading `~` or `~/` using the current user's home directory. */
4
+ export declare function expandHomePath(input: string): string;
5
+ /** Pi user config root (~/.pi). Uses Pi's CONFIG_DIR_NAME. */
6
+ export declare function defaultPiConfigDir(): string;
7
+ /** Memory data root: ~/.pi/pi-memory-data */
8
+ export declare function defaultMemoryAgentDir(): string;
9
+ /** pi-memory config: ~/.pi/agent/pi-memory.env */
10
+ export declare function defaultPiMemoryEnvFile(): string;
11
+ export declare function defaultPiLogsDir(): string;
12
+ export declare function defaultConsolidateLogPath(): string;
13
+ export declare function defaultConsolidateErrLogPath(): string;
14
+ /** Directory mode for agent / socket parent dirs (Unix only; ignored on Windows). */
15
+ export declare function secureDirMode(): number | undefined;
16
+ /** File mode for socket files (Unix only; ignored on Windows). */
17
+ export declare function secureFileMode(): number | undefined;
18
+ export declare function mkdirOptions(): {
19
+ recursive: true;
20
+ mode?: number;
21
+ };
22
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAc/E,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;AAExC,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOpD;AAED,8DAA8D;AAC9D,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,6CAA6C;AAC7C,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,kDAAkD;AAClD,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAED,qFAAqF;AACrF,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,CAElD;AAED,kEAAkE;AAClE,wBAAgB,cAAc,IAAI,MAAM,GAAG,SAAS,CAEnD;AAED,wBAAgB,YAAY,IAAI;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAGjE"}
@@ -0,0 +1,51 @@
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
+ import { CONSOLIDATE_ERR_LOG_FILE, CONSOLIDATE_LOG_FILE, PI_MEMORY_DATA_SUBDIR, PI_MEMORY_ENV_FILE_NAME, PI_LOGS_SUBDIR, } from "../constants/paths.js";
5
+ import { SECURE_DIR_MODE, SECURE_FILE_MODE } from "../constants/security.js";
6
+ import { isWindows } from "./platform.js";
7
+ export { CONFIG_DIR_NAME, getAgentDir };
8
+ /** Expand leading `~` or `~/` using the current user's home directory. */
9
+ export function expandHomePath(input) {
10
+ const trimmed = input.trim();
11
+ if (trimmed === "~")
12
+ return homedir();
13
+ if (trimmed.startsWith("~/") || trimmed.startsWith("~\\")) {
14
+ return join(homedir(), trimmed.slice(2));
15
+ }
16
+ return trimmed;
17
+ }
18
+ /** Pi user config root (~/.pi). Uses Pi's CONFIG_DIR_NAME. */
19
+ export function defaultPiConfigDir() {
20
+ return join(homedir(), CONFIG_DIR_NAME);
21
+ }
22
+ /** Memory data root: ~/.pi/pi-memory-data */
23
+ export function defaultMemoryAgentDir() {
24
+ return join(defaultPiConfigDir(), PI_MEMORY_DATA_SUBDIR);
25
+ }
26
+ /** pi-memory config: ~/.pi/agent/pi-memory.env */
27
+ export function defaultPiMemoryEnvFile() {
28
+ return join(getAgentDir(), PI_MEMORY_ENV_FILE_NAME);
29
+ }
30
+ export function defaultPiLogsDir() {
31
+ return join(defaultPiConfigDir(), PI_LOGS_SUBDIR);
32
+ }
33
+ export function defaultConsolidateLogPath() {
34
+ return join(defaultPiLogsDir(), CONSOLIDATE_LOG_FILE);
35
+ }
36
+ export function defaultConsolidateErrLogPath() {
37
+ return join(defaultPiLogsDir(), CONSOLIDATE_ERR_LOG_FILE);
38
+ }
39
+ /** Directory mode for agent / socket parent dirs (Unix only; ignored on Windows). */
40
+ export function secureDirMode() {
41
+ return isWindows() ? undefined : SECURE_DIR_MODE;
42
+ }
43
+ /** File mode for socket files (Unix only; ignored on Windows). */
44
+ export function secureFileMode() {
45
+ return isWindows() ? undefined : SECURE_FILE_MODE;
46
+ }
47
+ export function mkdirOptions() {
48
+ const mode = secureDirMode();
49
+ return mode === undefined ? { recursive: true } : { recursive: true, mode };
50
+ }
51
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;AAExC,0EAA0E;AAC1E,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,OAAO,EAAE,CAAC;IACtC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AAC1C,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,qBAAqB;IACnC,OAAO,IAAI,CAAC,kBAAkB,EAAE,EAAE,qBAAqB,CAAC,CAAC;AAC3D,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,sBAAsB;IACpC,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,uBAAuB,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,CAAC,kBAAkB,EAAE,EAAE,cAAc,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO,IAAI,CAAC,gBAAgB,EAAE,EAAE,oBAAoB,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO,IAAI,CAAC,gBAAgB,EAAE,EAAE,wBAAwB,CAAC,CAAC;AAC5D,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,aAAa;IAC3B,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;AACnD,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,cAAc;IAC5B,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type PiMemoryPlatform = "darwin" | "win32" | "other";
2
+ export declare function getPlatform(): PiMemoryPlatform;
3
+ export declare function isWindows(): boolean;
4
+ export declare function isMacOS(): boolean;
5
+ /** Unix-like platforms where chmod / UDS cleanup apply. */
6
+ export declare function isUnixLike(): boolean;
7
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5D,wBAAgB,WAAW,IAAI,gBAAgB,CAI9C;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AAED,2DAA2D;AAC3D,wBAAgB,UAAU,IAAI,OAAO,CAEpC"}
@@ -0,0 +1,18 @@
1
+ export function getPlatform() {
2
+ if (process.platform === "darwin")
3
+ return "darwin";
4
+ if (process.platform === "win32")
5
+ return "win32";
6
+ return "other";
7
+ }
8
+ export function isWindows() {
9
+ return process.platform === "win32";
10
+ }
11
+ export function isMacOS() {
12
+ return process.platform === "darwin";
13
+ }
14
+ /** Unix-like platforms where chmod / UDS cleanup apply. */
15
+ export function isUnixLike() {
16
+ return !isWindows();
17
+ }
18
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/utils/platform.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW;IACzB,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACnD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACjD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACvC,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC,SAAS,EAAE,CAAC;AACtB,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { LAUNCHD_LABEL, SCHEDULER_TEMPLATE_FILES, SCHTASKS_TASK_NAME } from "../constants/paths.js";
2
+ import { isMacOS, isWindows, type PiMemoryPlatform } from "./platform.js";
3
+ export type ConsolidateSchedulerKind = "launchd" | "crontab" | "schtasks";
4
+ /** Recommended OS scheduler for daily consolidate on this platform. */
5
+ export declare function getConsolidateSchedulerKind(platform?: PiMemoryPlatform): ConsolidateSchedulerKind;
6
+ export type ConsolidateSchedulerPaths = {
7
+ agentDir: string;
8
+ envFile: string;
9
+ logsDir: string;
10
+ stdoutLog: string;
11
+ stderrLog: string;
12
+ };
13
+ export declare function defaultConsolidateSchedulerPaths(): ConsolidateSchedulerPaths;
14
+ export type ConsolidateCliInvocation = {
15
+ nodePath: string;
16
+ cliPath: string;
17
+ cron: boolean;
18
+ verbose: boolean;
19
+ agentDir?: string;
20
+ };
21
+ /** argv for `pi-memory maintenance` (OS scheduler / wrapper scripts). */
22
+ export declare function buildMaintenanceCliArgs(opts: Pick<ConsolidateCliInvocation, "cron" | "verbose" | "agentDir">): string[];
23
+ /** @deprecated Prefer buildMaintenanceCliArgs for OS schedulers. */
24
+ export declare function buildConsolidateCliArgs(opts: Pick<ConsolidateCliInvocation, "cron" | "verbose" | "agentDir">): string[];
25
+ /** Single-line shell command (macOS / Linux crontab). */
26
+ export declare function formatMaintenanceCronLine(opts: ConsolidateCliInvocation & ConsolidateSchedulerPaths): string;
27
+ /** @deprecated Prefer formatMaintenanceCronLine. */
28
+ export declare function formatConsolidateCronLine(opts: ConsolidateCliInvocation & ConsolidateSchedulerPaths): string;
29
+ export type ConsolidateTemplateName = (typeof SCHEDULER_TEMPLATE_FILES)[keyof typeof SCHEDULER_TEMPLATE_FILES];
30
+ /** Template file basename shipped under templates/ for this platform. */
31
+ export declare function getConsolidateTemplateNames(platform?: PiMemoryPlatform): ConsolidateTemplateName[];
32
+ export { LAUNCHD_LABEL, SCHEDULER_TEMPLATE_FILES, SCHTASKS_TASK_NAME, isMacOS, isWindows };
33
+ //# sourceMappingURL=scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/utils/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAe,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEvF,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAE1E,uEAAuE;AACvE,wBAAgB,2BAA2B,CAAC,QAAQ,GAAE,gBAAgC,GAAG,wBAAwB,CAIhH;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,gCAAgC,IAAI,yBAAyB,CAQ5E;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,yEAAyE;AACzE,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC,GACpE,MAAM,EAAE,CAMV;AAED,oEAAoE;AACpE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC,GAAG,MAAM,EAAE,CAEvH;AAED,yDAAyD;AACzD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,wBAAwB,GAAG,yBAAyB,GAAG,MAAM,CAU5G;AAED,oDAAoD;AACpD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,wBAAwB,GAAG,yBAAyB,GAAG,MAAM,CAE5G;AAED,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAC;AAE3E,yEAAyE;AACzE,wBAAgB,2BAA2B,CAAC,QAAQ,GAAE,gBAAgC,GAAG,uBAAuB,EAAE,CAQjH;AAED,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { LAUNCHD_LABEL, SCHEDULER_TEMPLATE_FILES, SCHTASKS_TASK_NAME, } from "../constants/paths.js";
2
+ import { defaultConsolidateErrLogPath, defaultConsolidateLogPath, defaultMemoryAgentDir, defaultPiMemoryEnvFile, defaultPiLogsDir, } from "./paths.js";
3
+ import { getPlatform, isMacOS, isWindows } from "./platform.js";
4
+ /** Recommended OS scheduler for daily consolidate on this platform. */
5
+ export function getConsolidateSchedulerKind(platform = getPlatform()) {
6
+ if (platform === "darwin")
7
+ return "launchd";
8
+ if (platform === "win32")
9
+ return "schtasks";
10
+ return "crontab";
11
+ }
12
+ export function defaultConsolidateSchedulerPaths() {
13
+ return {
14
+ agentDir: defaultMemoryAgentDir(),
15
+ envFile: defaultPiMemoryEnvFile(),
16
+ logsDir: defaultPiLogsDir(),
17
+ stdoutLog: defaultConsolidateLogPath(),
18
+ stderrLog: defaultConsolidateErrLogPath(),
19
+ };
20
+ }
21
+ /** argv for `pi-memory maintenance` (OS scheduler / wrapper scripts). */
22
+ export function buildMaintenanceCliArgs(opts) {
23
+ const args = ["maintenance"];
24
+ if (opts.cron)
25
+ args.push("--cron");
26
+ if (opts.verbose)
27
+ args.push("--verbose");
28
+ if (opts.agentDir)
29
+ args.push("--agent-dir", opts.agentDir);
30
+ return args;
31
+ }
32
+ /** @deprecated Prefer buildMaintenanceCliArgs for OS schedulers. */
33
+ export function buildConsolidateCliArgs(opts) {
34
+ return buildMaintenanceCliArgs(opts);
35
+ }
36
+ /** Single-line shell command (macOS / Linux crontab). */
37
+ export function formatMaintenanceCronLine(opts) {
38
+ const args = buildMaintenanceCliArgs(opts).join(" ");
39
+ return [
40
+ `PI_MEMORY_ENV_FILE=${opts.envFile}`,
41
+ `PI_MEMORY_AGENT_DIR=${opts.agentDir}`,
42
+ opts.nodePath,
43
+ opts.cliPath,
44
+ args,
45
+ `>> ${opts.stdoutLog} 2>&1`,
46
+ ].join(" ");
47
+ }
48
+ /** @deprecated Prefer formatMaintenanceCronLine. */
49
+ export function formatConsolidateCronLine(opts) {
50
+ return formatMaintenanceCronLine(opts);
51
+ }
52
+ /** Template file basename shipped under templates/ for this platform. */
53
+ export function getConsolidateTemplateNames(platform = getPlatform()) {
54
+ if (platform === "darwin") {
55
+ return [SCHEDULER_TEMPLATE_FILES.launchd, SCHEDULER_TEMPLATE_FILES.crontab];
56
+ }
57
+ if (platform === "win32") {
58
+ return [SCHEDULER_TEMPLATE_FILES.windowsCmd, SCHEDULER_TEMPLATE_FILES.windowsSchtasks];
59
+ }
60
+ return [SCHEDULER_TEMPLATE_FILES.crontab];
61
+ }
62
+ export { LAUNCHD_LABEL, SCHEDULER_TEMPLATE_FILES, SCHTASKS_TASK_NAME, isMacOS, isWindows };
63
+ //# sourceMappingURL=scheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/utils/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAyB,MAAM,eAAe,CAAC;AAIvF,uEAAuE;AACvE,MAAM,UAAU,2BAA2B,CAAC,WAA6B,WAAW,EAAE;IACpF,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,UAAU,CAAC;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC;AAUD,MAAM,UAAU,gCAAgC;IAC9C,OAAO;QACL,QAAQ,EAAE,qBAAqB,EAAE;QACjC,OAAO,EAAE,sBAAsB,EAAE;QACjC,OAAO,EAAE,gBAAgB,EAAE;QAC3B,SAAS,EAAE,yBAAyB,EAAE;QACtC,SAAS,EAAE,4BAA4B,EAAE;KAC1C,CAAC;AACJ,CAAC;AAUD,yEAAyE;AACzE,MAAM,UAAU,uBAAuB,CACrC,IAAqE;IAErE,MAAM,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7B,IAAI,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,uBAAuB,CAAC,IAAqE;IAC3G,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,yBAAyB,CAAC,IAA0D;IAClG,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO;QACL,sBAAsB,IAAI,CAAC,OAAO,EAAE;QACpC,uBAAuB,IAAI,CAAC,QAAQ,EAAE;QACtC,IAAI,CAAC,QAAQ;QACb,IAAI,CAAC,OAAO;QACZ,IAAI;QACJ,MAAM,IAAI,CAAC,SAAS,OAAO;KAC5B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,yBAAyB,CAAC,IAA0D;IAClG,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAKD,yEAAyE;AACzE,MAAM,UAAU,2BAA2B,CAAC,WAA6B,WAAW,EAAE;IACpF,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,wBAAwB,CAAC,UAAU,EAAE,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ /** Remove stale socket file before bind (Unix domain sockets only). */
2
+ export declare function removeSocketFile(socketPath: string): void;
3
+ /** Restrict socket permissions after bind (Unix only). */
4
+ export declare function secureSocketPath(socketPath: string): void;
5
+ /** Remove socket and pid companion files on shutdown. */
6
+ export declare function cleanupSocketFiles(socketPath: string, pidPath?: string): void;
7
+ //# sourceMappingURL=socket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/utils/socket.ts"],"names":[],"mappings":"AAKA,uEAAuE;AACvE,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAOzD;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAIzD;AAED,yDAAyD;AACzD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAS7E"}
@@ -0,0 +1,35 @@
1
+ import { chmodSync, unlinkSync } from "node:fs";
2
+ import { secureFileMode } from "./paths.js";
3
+ import { isUnixLike } from "./platform.js";
4
+ /** Remove stale socket file before bind (Unix domain sockets only). */
5
+ export function removeSocketFile(socketPath) {
6
+ if (!isUnixLike())
7
+ return;
8
+ try {
9
+ unlinkSync(socketPath);
10
+ }
11
+ catch {
12
+ // ENOENT or in-use; listen() will surface real errors
13
+ }
14
+ }
15
+ /** Restrict socket permissions after bind (Unix only). */
16
+ export function secureSocketPath(socketPath) {
17
+ const mode = secureFileMode();
18
+ if (mode === undefined)
19
+ return;
20
+ chmodSync(socketPath, mode);
21
+ }
22
+ /** Remove socket and pid companion files on shutdown. */
23
+ export function cleanupSocketFiles(socketPath, pidPath) {
24
+ for (const path of [socketPath, pidPath]) {
25
+ if (!path)
26
+ continue;
27
+ try {
28
+ unlinkSync(path);
29
+ }
30
+ catch {
31
+ // already gone
32
+ }
33
+ }
34
+ }
35
+ //# sourceMappingURL=socket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/utils/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,uEAAuE;AACvE,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,IAAI,CAAC,UAAU,EAAE;QAAE,OAAO;IAC1B,IAAI,CAAC;QACH,UAAU,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,sDAAsD;IACxD,CAAC;AACH,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,OAAgB;IACrE,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { type ConfigType, type Dayjs } from "dayjs";
2
+ export type TimeInput = ConfigType;
3
+ /** Current local time. */
4
+ export declare function now(): Dayjs;
5
+ /** Unix epoch ms (deadlines, lock files, external APIs). */
6
+ export declare function nowMs(): number;
7
+ /** Parse stored or external input; invalid values fall back to epoch. */
8
+ export declare function parseTime(input: TimeInput): Dayjs;
9
+ /**
10
+ * Local timestamp for MEMORY entries, GC markers, shutdown queue.
11
+ * Format: YYYY-MM-DDTHH:mm:ss.SSS (local wall clock, no Z suffix).
12
+ */
13
+ export declare function formatTimestamp(input?: TimeInput): string;
14
+ /** Local calendar date (e.g. auto-YYYY-MM-DD-*.md). */
15
+ export declare function formatLocalDate(input?: TimeInput): string;
16
+ /** Fallback timestamp when entry metadata is missing. */
17
+ export declare function epochTimestamp(): string;
18
+ /** Whole calendar days from `from` until `to` (local; default `to` = now). */
19
+ export declare function daysSince(from: TimeInput, to?: TimeInput): number;
20
+ /** Milliseconds left until `deadlineMs` (default clock: now). */
21
+ export declare function remainingMs(deadlineMs: number, atMs?: number): number;
22
+ //# sourceMappingURL=time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,OAAO,CAAC;AAE3D,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC;AAEnC,0BAA0B;AAC1B,wBAAgB,GAAG,IAAI,KAAK,CAE3B;AAED,4DAA4D;AAC5D,wBAAgB,KAAK,IAAI,MAAM,CAE9B;AAED,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAGjD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAGzD;AAED,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAGzD;AAED,yDAAyD;AACzD,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,SAAS,GAAG,MAAM,CAIjE;AAED,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,MAAgB,GAAG,MAAM,CAE9E"}
@@ -0,0 +1,42 @@
1
+ import dayjs from "dayjs";
2
+ /** Current local time. */
3
+ export function now() {
4
+ return dayjs();
5
+ }
6
+ /** Unix epoch ms (deadlines, lock files, external APIs). */
7
+ export function nowMs() {
8
+ return dayjs().valueOf();
9
+ }
10
+ /** Parse stored or external input; invalid values fall back to epoch. */
11
+ export function parseTime(input) {
12
+ const parsed = dayjs(input);
13
+ return parsed.isValid() ? parsed : dayjs(0);
14
+ }
15
+ /**
16
+ * Local timestamp for MEMORY entries, GC markers, shutdown queue.
17
+ * Format: YYYY-MM-DDTHH:mm:ss.SSS (local wall clock, no Z suffix).
18
+ */
19
+ export function formatTimestamp(input) {
20
+ const t = input === undefined ? dayjs() : parseTime(input);
21
+ return t.format("YYYY-MM-DDTHH:mm:ss.SSS");
22
+ }
23
+ /** Local calendar date (e.g. auto-YYYY-MM-DD-*.md). */
24
+ export function formatLocalDate(input) {
25
+ const t = input === undefined ? dayjs() : parseTime(input);
26
+ return t.format("YYYY-MM-DD");
27
+ }
28
+ /** Fallback timestamp when entry metadata is missing. */
29
+ export function epochTimestamp() {
30
+ return formatTimestamp(0);
31
+ }
32
+ /** Whole calendar days from `from` until `to` (local; default `to` = now). */
33
+ export function daysSince(from, to) {
34
+ const end = to === undefined ? dayjs() : parseTime(to);
35
+ const start = parseTime(from);
36
+ return end.startOf("day").diff(start.startOf("day"), "day");
37
+ }
38
+ /** Milliseconds left until `deadlineMs` (default clock: now). */
39
+ export function remainingMs(deadlineMs, atMs = nowMs()) {
40
+ return Math.max(0, deadlineMs - atMs);
41
+ }
42
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/utils/time.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,0BAA0B;AAC1B,MAAM,UAAU,GAAG;IACjB,OAAO,KAAK,EAAE,CAAC;AACjB,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,KAAK;IACnB,OAAO,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,SAAS,CAAC,KAAgB;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAiB;IAC/C,MAAM,CAAC,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3D,OAAO,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAC7C,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,eAAe,CAAC,KAAiB;IAC/C,MAAM,CAAC,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3D,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,cAAc;IAC5B,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,SAAS,CAAC,IAAe,EAAE,EAAc;IACvD,MAAM,GAAG,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,WAAW,CAAC,UAAkB,EAAE,OAAe,KAAK,EAAE;IACpE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;AACxC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@chendpoc/pi-memory",
3
- "version": "0.1.13",
4
- "description": "Local episodic memory for Pi coding agent — knowledge graph + memory_recall tool + implicit preflight",
3
+ "version": "0.2.0",
4
+ "description": "Cross-session episodic memory for Pi agent — MEMORY.md ground truth, JSONL sidecar retrieval, and Preflight injection",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -16,10 +16,13 @@
16
16
  }
17
17
  },
18
18
  "bin": {
19
- "pi-memory": "./dist/cli.js"
19
+ "pi-memory": "./dist/cli.js",
20
+ "pi-memory-sidecar": "./dist/sidecar/server/process.js"
20
21
  },
21
22
  "scripts": {
22
- "build": "tsc",
23
+ "clean": "rm -rf dist",
24
+ "build": "rm -rf dist && tsc",
25
+ "postinstall": "node ./scripts/postinstall.mjs",
23
26
  "test": "vitest run",
24
27
  "test:watch": "vitest",
25
28
  "typecheck": "tsc --noEmit",
@@ -36,10 +39,16 @@
36
39
  "dist",
37
40
  "src/**/*.ts",
38
41
  "!src/**/*.test.ts",
39
- "README.md"
42
+ "templates/MEMORY.md.example",
43
+ "scripts/path-utils.mjs",
44
+ "scripts/init-memory-workspace.mjs",
45
+ "scripts/platform-fs.mjs",
46
+ "scripts/postinstall.mjs",
47
+ "README.md",
48
+ "UBIQUITOUS_LANGUAGE.md"
40
49
  ],
41
50
  "engines": {
42
- "node": ">=24"
51
+ "node": ">=24.0.0 <25"
43
52
  },
44
53
  "packageManager": "pnpm@10.12.1",
45
54
  "keywords": [
@@ -47,7 +56,7 @@
47
56
  "pi-extension",
48
57
  "pi-agent",
49
58
  "episodic-memory",
50
- "knowledge-graph",
59
+ "recent-memory",
51
60
  "memory-recall"
52
61
  ],
53
62
  "license": "MIT",
@@ -66,7 +75,8 @@
66
75
  "@earendil-works/pi-agent-core": "*",
67
76
  "@earendil-works/pi-ai": "*",
68
77
  "@earendil-works/pi-coding-agent": "*",
69
- "typebox": "*"
78
+ "@earendil-works/pi-tui": "*",
79
+ "typebox": "^1.1.38"
70
80
  },
71
81
  "optionalDependencies": {
72
82
  "better-sqlite3": "^12.10.0"
@@ -77,9 +87,11 @@
77
87
  "@earendil-works/pi-agent-core": "*",
78
88
  "@earendil-works/pi-ai": "*",
79
89
  "@earendil-works/pi-coding-agent": "*",
90
+ "@earendil-works/pi-tui": "*",
80
91
  "@types/better-sqlite3": "^7.6.0",
92
+ "@types/lodash": "^4.17.24",
81
93
  "@types/node": "^24.0.0",
82
- "typebox": "*",
94
+ "typebox": "^1.3.3",
83
95
  "typescript": "^5.7.2",
84
96
  "vitest": "^3.0.0"
85
97
  },
@@ -87,6 +99,12 @@
87
99
  "better-sqlite3@12.11.1": true
88
100
  },
89
101
  "dependencies": {
90
- "lru-cache": "^11.5.1"
102
+ "chalk": "^5.6.2",
103
+ "dayjs": "^1.11.21",
104
+ "dotenv": "^17.4.2",
105
+ "execa": "^9.6.1",
106
+ "lodash": "^4.18.1",
107
+ "lru-cache": "^11.5.1",
108
+ "proper-lockfile": "^4.1.2"
91
109
  }
92
110
  }