toolnet-memory 0.2.0 → 0.2.2

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 (341) hide show
  1. package/README.md +443 -70
  2. package/bin/toolnet-memory +66 -53
  3. package/bundle/agy.js +88 -0
  4. package/bundle/codex.js +92 -0
  5. package/bundle/context-runtime.js +56 -0
  6. package/bundle/context.js +62 -0
  7. package/bundle/doctor.js +3 -0
  8. package/bundle/full-index.js +8 -0
  9. package/bundle/learner.js +8 -0
  10. package/bundle/mcp.js +7 -0
  11. package/bundle/opencode.js +314 -0
  12. package/bundle/project-manual.js +54 -0
  13. package/bundle/setup.js +31 -0
  14. package/bundle/snapshot.js +4 -0
  15. package/bundle/work-continuity.js +12 -0
  16. package/package.json +11 -5
  17. package/dist/packages/cli/commands.js +0 -1
  18. package/dist/packages/cli/index.js +0 -1
  19. package/dist/packages/sdk/client.js +0 -78
  20. package/dist/packages/sdk/index.js +0 -1
  21. package/dist/packages/sdk/types.js +0 -1
  22. package/dist/src/api/index.js +0 -1
  23. package/dist/src/api/routes/health.js +0 -1
  24. package/dist/src/api/routes/index.js +0 -1
  25. package/dist/src/api/routes/memory.js +0 -1
  26. package/dist/src/api/routes/projects.js +0 -1
  27. package/dist/src/api/routes/search.js +0 -1
  28. package/dist/src/api/server.js +0 -1
  29. package/dist/src/capture/activity-capture.js +0 -21
  30. package/dist/src/capture/command-capture.js +0 -12
  31. package/dist/src/capture/error-capture.js +0 -14
  32. package/dist/src/capture/event-deduplicator.js +0 -28
  33. package/dist/src/capture/event-queue.js +0 -20
  34. package/dist/src/capture/file-capture.js +0 -23
  35. package/dist/src/capture/index.js +0 -8
  36. package/dist/src/capture/session-capture.js +0 -18
  37. package/dist/src/capture/tool-capture.js +0 -13
  38. package/dist/src/code-intelligence/analysis/analysis-engine.js +0 -26
  39. package/dist/src/code-intelligence/analysis/dead-code-analyzer.js +0 -127
  40. package/dist/src/code-intelligence/analysis/dependency-analyzer.js +0 -66
  41. package/dist/src/code-intelligence/analysis/index.js +0 -4
  42. package/dist/src/code-intelligence/analysis/types.js +0 -1
  43. package/dist/src/code-intelligence/architecture/architecture-engine.js +0 -48
  44. package/dist/src/code-intelligence/architecture/clusters.js +0 -322
  45. package/dist/src/code-intelligence/architecture/entry-points.js +0 -150
  46. package/dist/src/code-intelligence/architecture/hotspots.js +0 -136
  47. package/dist/src/code-intelligence/architecture/index.js +0 -6
  48. package/dist/src/code-intelligence/architecture/layers.js +0 -197
  49. package/dist/src/code-intelligence/architecture/types.js +0 -1
  50. package/dist/src/code-intelligence/chunks/index.js +0 -2
  51. package/dist/src/code-intelligence/chunks/smart-chunker.js +0 -125
  52. package/dist/src/code-intelligence/chunks/types.js +0 -1
  53. package/dist/src/code-intelligence/git/git-diff.js +0 -109
  54. package/dist/src/code-intelligence/git/index.js +0 -1
  55. package/dist/src/code-intelligence/graph/architecture.js +0 -26
  56. package/dist/src/code-intelligence/graph/graph-builder.js +0 -213
  57. package/dist/src/code-intelligence/graph/graph-store.js +0 -57
  58. package/dist/src/code-intelligence/graph/index.js +0 -1
  59. package/dist/src/code-intelligence/graph/relationships.js +0 -1
  60. package/dist/src/code-intelligence/graph/trace.js +0 -65
  61. package/dist/src/code-intelligence/impact/blast-radius.js +0 -160
  62. package/dist/src/code-intelligence/impact/change-mapper.js +0 -69
  63. package/dist/src/code-intelligence/impact/edit-tool-detector.js +0 -92
  64. package/dist/src/code-intelligence/impact/impact-analyzer.js +0 -60
  65. package/dist/src/code-intelligence/impact/impact-guard.js +0 -33
  66. package/dist/src/code-intelligence/impact/index.js +0 -5
  67. package/dist/src/code-intelligence/incremental/file-hash.js +0 -8
  68. package/dist/src/code-intelligence/incremental/incremental-indexer.js +0 -106
  69. package/dist/src/code-intelligence/incremental/manifest-builder.js +0 -19
  70. package/dist/src/code-intelligence/incremental/manifest.js +0 -31
  71. package/dist/src/code-intelligence/index.js +0 -23
  72. package/dist/src/code-intelligence/indexer/file-watcher.js +0 -1
  73. package/dist/src/code-intelligence/indexer/incremental-indexer.js +0 -1
  74. package/dist/src/code-intelligence/indexer/index.js +0 -1
  75. package/dist/src/code-intelligence/indexer/repository-indexer.js +0 -31
  76. package/dist/src/code-intelligence/indexer/repository-scanner.js +0 -50
  77. package/dist/src/code-intelligence/parsers/index.js +0 -1
  78. package/dist/src/code-intelligence/parsers/tree-sitter/index.js +0 -1
  79. package/dist/src/code-intelligence/parsers/tree-sitter/languages.js +0 -1
  80. package/dist/src/code-intelligence/parsers/tree-sitter/parser.js +0 -1
  81. package/dist/src/code-intelligence/parsers/typescript-parser.js +0 -190
  82. package/dist/src/code-intelligence/query/graph-query-engine.js +0 -275
  83. package/dist/src/code-intelligence/query/index.js +0 -2
  84. package/dist/src/code-intelligence/query/types.js +0 -1
  85. package/dist/src/code-intelligence/resolution/index.js +0 -2
  86. package/dist/src/code-intelligence/resolution/types.js +0 -1
  87. package/dist/src/code-intelligence/resolution/typescript-resolver.js +0 -316
  88. package/dist/src/code-intelligence/rich/index.js +0 -1
  89. package/dist/src/code-intelligence/rich/rich-graph-enricher.js +0 -463
  90. package/dist/src/code-intelligence/semantic/index.js +0 -2
  91. package/dist/src/code-intelligence/semantic/semantic-code-engine.js +0 -213
  92. package/dist/src/code-intelligence/semantic/source-priority.js +0 -22
  93. package/dist/src/code-intelligence/symbols/index.js +0 -1
  94. package/dist/src/code-intelligence/symbols/reference-resolver.js +0 -21
  95. package/dist/src/code-intelligence/symbols/symbol-extractor.js +0 -1
  96. package/dist/src/code-intelligence/test-analysis.js +0 -72
  97. package/dist/src/code-intelligence/test-architecture.js +0 -67
  98. package/dist/src/code-intelligence/test-impact.js +0 -47
  99. package/dist/src/code-intelligence/test-incremental.js +0 -24
  100. package/dist/src/code-intelligence/test-index.js +0 -39
  101. package/dist/src/code-intelligence/test-resolution.js +0 -54
  102. package/dist/src/code-intelligence/test-rich-graph.js +0 -48
  103. package/dist/src/code-intelligence/test-semantic.js +0 -57
  104. package/dist/src/code-intelligence/test-visualization.js +0 -36
  105. package/dist/src/code-intelligence/types.js +0 -1
  106. package/dist/src/code-intelligence/visualization/index.js +0 -2
  107. package/dist/src/code-intelligence/visualization/types.js +0 -1
  108. package/dist/src/code-intelligence/visualization/visualization-builder.js +0 -104
  109. package/dist/src/core/config.js +0 -66
  110. package/dist/src/core/global-env.js +0 -70
  111. package/dist/src/core/importance.js +0 -30
  112. package/dist/src/core/index.js +0 -5
  113. package/dist/src/core/memory-engine.js +0 -183
  114. package/dist/src/core/project-manager.js +0 -243
  115. package/dist/src/core/types.js +0 -1
  116. package/dist/src/embeddings/batch-embedder.js +0 -1
  117. package/dist/src/embeddings/cache.js +0 -1
  118. package/dist/src/embeddings/embedder.js +0 -51
  119. package/dist/src/embeddings/index.js +0 -4
  120. package/dist/src/embeddings/local.js +0 -37
  121. package/dist/src/embeddings/provider.js +0 -1
  122. package/dist/src/embeddings/remote.js +0 -76
  123. package/dist/src/embeddings/test-connection.js +0 -16
  124. package/dist/src/hooks/after-edit.js +0 -3
  125. package/dist/src/hooks/after-tool.js +0 -3
  126. package/dist/src/hooks/auto-context.js +0 -68
  127. package/dist/src/hooks/auto-impact-guard.js +0 -94
  128. package/dist/src/hooks/auto-retrieval.js +0 -27
  129. package/dist/src/hooks/before-agent.js +0 -18
  130. package/dist/src/hooks/before-compact.js +0 -3
  131. package/dist/src/hooks/before-edit.js +0 -20
  132. package/dist/src/hooks/index.js +0 -11
  133. package/dist/src/hooks/runtime.js +0 -110
  134. package/dist/src/hooks/session-end.js +0 -3
  135. package/dist/src/hooks/session-start.js +0 -3
  136. package/dist/src/index.js +0 -22
  137. package/dist/src/mcp/bootstrap.js +0 -68
  138. package/dist/src/mcp/context.js +0 -1
  139. package/dist/src/mcp/index.js +0 -3
  140. package/dist/src/mcp/server.js +0 -45
  141. package/dist/src/mcp/tools/analyze-impact.js +0 -41
  142. package/dist/src/mcp/tools/dead-code.js +0 -55
  143. package/dist/src/mcp/tools/find-callers.js +0 -24
  144. package/dist/src/mcp/tools/find-dependencies.js +0 -57
  145. package/dist/src/mcp/tools/find-symbol.js +0 -7
  146. package/dist/src/mcp/tools/get-architecture.js +0 -11
  147. package/dist/src/mcp/tools/graph-dependents.js +0 -24
  148. package/dist/src/mcp/tools/graph-neighborhood.js +0 -58
  149. package/dist/src/mcp/tools/graph-path.js +0 -43
  150. package/dist/src/mcp/tools/graph-query-utils.js +0 -32
  151. package/dist/src/mcp/tools/impact-guard.js +0 -34
  152. package/dist/src/mcp/tools/index-repository.js +0 -1
  153. package/dist/src/mcp/tools/index.js +0 -20
  154. package/dist/src/mcp/tools/memory-decisions.js +0 -1
  155. package/dist/src/mcp/tools/memory-forget.js +0 -14
  156. package/dist/src/mcp/tools/memory-recent.js +0 -1
  157. package/dist/src/mcp/tools/memory-remember.js +0 -33
  158. package/dist/src/mcp/tools/memory-rules.js +0 -1
  159. package/dist/src/mcp/tools/memory-search.js +0 -18
  160. package/dist/src/mcp/tools/memory-todos.js +0 -1
  161. package/dist/src/mcp/tools/project-context.js +0 -25
  162. package/dist/src/mcp/tools/search-code.js +0 -21
  163. package/dist/src/mcp/tools/semantic-code-search.js +0 -33
  164. package/dist/src/mcp/tools/snapshot-create.js +0 -13
  165. package/dist/src/mcp/tools/snapshot-list.js +0 -7
  166. package/dist/src/mcp/tools/snapshot-restore.js +0 -13
  167. package/dist/src/mcp/tools/trace-calls.js +0 -37
  168. package/dist/src/memory/activity.js +0 -5
  169. package/dist/src/memory/conflict-detector.js +0 -105
  170. package/dist/src/memory/consolidator.js +0 -104
  171. package/dist/src/memory/decay.js +0 -59
  172. package/dist/src/memory/decisions.js +0 -3
  173. package/dist/src/memory/deduplicate.js +0 -25
  174. package/dist/src/memory/index.js +0 -11
  175. package/dist/src/memory/maintenance.js +0 -16
  176. package/dist/src/memory/remember.js +0 -3
  177. package/dist/src/memory/rules.js +0 -3
  178. package/dist/src/memory/search.js +0 -3
  179. package/dist/src/memory/summaries.js +0 -1
  180. package/dist/src/memory/todos.js +0 -3
  181. package/dist/src/processor/decision-extractor.js +0 -13
  182. package/dist/src/processor/importance-scorer.js +0 -22
  183. package/dist/src/processor/index.js +0 -7
  184. package/dist/src/processor/memory-extractor.js +0 -59
  185. package/dist/src/processor/memory-processor.js +0 -105
  186. package/dist/src/processor/rule-extractor.js +0 -13
  187. package/dist/src/processor/summarizer.js +0 -71
  188. package/dist/src/processor/todo-extractor.js +0 -12
  189. package/dist/src/production/config-check.js +0 -34
  190. package/dist/src/production/doctor.js +0 -58
  191. package/dist/src/production/full-index.js +0 -114
  192. package/dist/src/production/health.js +0 -58
  193. package/dist/src/production/index-pipeline.js +0 -151
  194. package/dist/src/production/index.js +0 -4
  195. package/dist/src/production/project-lock.js +0 -95
  196. package/dist/src/production/project-status.js +0 -16
  197. package/dist/src/production/recovery.js +0 -15
  198. package/dist/src/production/snapshot-cli.js +0 -58
  199. package/dist/src/project-manual/cli.js +0 -77
  200. package/dist/src/project-manual/index.js +0 -2
  201. package/dist/src/project-manual/manager.js +0 -147
  202. package/dist/src/project-manual/types.js +0 -1
  203. package/dist/src/retrieval/bm25/index.js +0 -1
  204. package/dist/src/retrieval/bm25/search.js +0 -1
  205. package/dist/src/retrieval/bm25.js +0 -30
  206. package/dist/src/retrieval/context-budget.js +0 -1
  207. package/dist/src/retrieval/context-builder.js +0 -22
  208. package/dist/src/retrieval/graph/index.js +0 -1
  209. package/dist/src/retrieval/graph/search.js +0 -1
  210. package/dist/src/retrieval/hybrid/hybrid-search.js +0 -1
  211. package/dist/src/retrieval/hybrid/index.js +0 -1
  212. package/dist/src/retrieval/hybrid-search.js +0 -68
  213. package/dist/src/retrieval/importance.js +0 -16
  214. package/dist/src/retrieval/index.js +0 -12
  215. package/dist/src/retrieval/query-analyzer.js +0 -32
  216. package/dist/src/retrieval/query-classifier.js +0 -1
  217. package/dist/src/retrieval/query-expansion.js +0 -1
  218. package/dist/src/retrieval/recency.js +0 -12
  219. package/dist/src/retrieval/reranker/index.js +0 -1
  220. package/dist/src/retrieval/reranker/reranker.js +0 -1
  221. package/dist/src/retrieval/retrieval-engine.js +0 -17
  222. package/dist/src/retrieval/tokenizer.js +0 -9
  223. package/dist/src/retrieval/type-priority.js +0 -10
  224. package/dist/src/retrieval/types.js +0 -1
  225. package/dist/src/retrieval/vector/index.js +0 -4
  226. package/dist/src/retrieval/vector/metadata-filter.js +0 -1
  227. package/dist/src/retrieval/vector/persistence.js +0 -67
  228. package/dist/src/retrieval/vector/search.js +0 -12
  229. package/dist/src/retrieval/vector/test-persistence.js +0 -36
  230. package/dist/src/retrieval/vector/upsert.js +0 -40
  231. package/dist/src/retrieval/vector/vector-store.js +0 -89
  232. package/dist/src/retrieval/vector-hybrid-engine.js +0 -91
  233. package/dist/src/runtime/bootstrap.js +0 -28
  234. package/dist/src/runtime/graceful.js +0 -17
  235. package/dist/src/runtime/index.js +0 -3
  236. package/dist/src/runtime/toolnet-memory-runtime.js +0 -156
  237. package/dist/src/security/encryption.js +0 -1
  238. package/dist/src/security/file-filter.js +0 -30
  239. package/dist/src/security/index.js +0 -3
  240. package/dist/src/security/sanitizer.js +0 -49
  241. package/dist/src/security/secret-scanner.js +0 -56
  242. package/dist/src/session/agy/adapter.js +0 -159
  243. package/dist/src/session/agy/cli.js +0 -87
  244. package/dist/src/session/agy/hook-installer.js +0 -62
  245. package/dist/src/session/agy/hook.js +0 -167
  246. package/dist/src/session/agy/index.js +0 -5
  247. package/dist/src/session/agy/project-resolver.js +0 -27
  248. package/dist/src/session/agy/recovery.js +0 -112
  249. package/dist/src/session/agy/transcript.js +0 -191
  250. package/dist/src/session/codex/adapter.js +0 -138
  251. package/dist/src/session/codex/cli.js +0 -236
  252. package/dist/src/session/codex/context-hook-installer.js +0 -70
  253. package/dist/src/session/codex/context-hook.js +0 -69
  254. package/dist/src/session/codex/discovery.js +0 -138
  255. package/dist/src/session/codex/index.js +0 -6
  256. package/dist/src/session/codex/notify-installer.js +0 -135
  257. package/dist/src/session/codex/project-resolver.js +0 -25
  258. package/dist/src/session/codex/recovery.js +0 -27
  259. package/dist/src/session/codex/rollout.js +0 -186
  260. package/dist/src/session/core.js +0 -239
  261. package/dist/src/session/identity.js +0 -57
  262. package/dist/src/session/index.js +0 -9
  263. package/dist/src/session/learner/cli.js +0 -62
  264. package/dist/src/session/learner/extractor.js +0 -461
  265. package/dist/src/session/learner/index.js +0 -4
  266. package/dist/src/session/learner/journal.js +0 -159
  267. package/dist/src/session/learner/learner.js +0 -124
  268. package/dist/src/session/learner/types.js +0 -1
  269. package/dist/src/session/opencode/adapter.js +0 -553
  270. package/dist/src/session/opencode/cli.js +0 -121
  271. package/dist/src/session/opencode/index.js +0 -2
  272. package/dist/src/session/opencode/plugin-installer.js +0 -230
  273. package/dist/src/session/store.js +0 -242
  274. package/dist/src/session/types.js +0 -1
  275. package/dist/src/session/utils.js +0 -47
  276. package/dist/src/session/wal.js +0 -303
  277. package/dist/src/snapshot/index.js +0 -2
  278. package/dist/src/snapshot/manager.js +0 -130
  279. package/dist/src/snapshot/test-snapshot.js +0 -28
  280. package/dist/src/snapshot/types.js +0 -1
  281. package/dist/src/storage/architecture-store.js +0 -37
  282. package/dist/src/storage/cleanup-health.js +0 -20
  283. package/dist/src/storage/code-analysis-store.js +0 -35
  284. package/dist/src/storage/code-chunk-store.js +0 -25
  285. package/dist/src/storage/code-graph-store.js +0 -24
  286. package/dist/src/storage/code-manifest-store.js +0 -24
  287. package/dist/src/storage/code-vector-store.js +0 -25
  288. package/dist/src/storage/github/client.js +0 -1
  289. package/dist/src/storage/github/index.js +0 -1
  290. package/dist/src/storage/google-drive/client.js +0 -1
  291. package/dist/src/storage/google-drive/index.js +0 -1
  292. package/dist/src/storage/huggingface/client.js +0 -116
  293. package/dist/src/storage/huggingface/index.js +0 -1
  294. package/dist/src/storage/index.js +0 -16
  295. package/dist/src/storage/list-bucket-raw.js +0 -14
  296. package/dist/src/storage/list-bucket-tree.js +0 -38
  297. package/dist/src/storage/local/client.js +0 -99
  298. package/dist/src/storage/local/index.js +0 -1
  299. package/dist/src/storage/memory-store.js +0 -30
  300. package/dist/src/storage/project/cleanup-layout-v1.js +0 -72
  301. package/dist/src/storage/project/folder.js +0 -15
  302. package/dist/src/storage/project/index.js +0 -3
  303. package/dist/src/storage/project/layout.js +0 -74
  304. package/dist/src/storage/project/migrate-layout-v2.js +0 -101
  305. package/dist/src/storage/project/migrate.js +0 -73
  306. package/dist/src/storage/project/scoped-provider.js +0 -165
  307. package/dist/src/storage/provider.js +0 -26
  308. package/dist/src/storage/retrying-provider.js +0 -23
  309. package/dist/src/storage/test-connection.js +0 -32
  310. package/dist/src/storage/type-resolution-store.js +0 -26
  311. package/dist/src/storage/types.js +0 -1
  312. package/dist/src/storage/vector-store.js +0 -30
  313. package/dist/src/storage/visualization-store.js +0 -25
  314. package/dist/src/sync/compressor.js +0 -1
  315. package/dist/src/sync/conflict-resolver.js +0 -1
  316. package/dist/src/sync/downloader.js +0 -1
  317. package/dist/src/sync/index.js +0 -1
  318. package/dist/src/sync/sync-engine.js +0 -1
  319. package/dist/src/sync/upload-queue.js +0 -1
  320. package/dist/src/utils/retry.js +0 -29
  321. package/dist/src/visualization/server.js +0 -270
  322. package/dist/src/work-continuity/brief-cache.js +0 -107
  323. package/dist/src/work-continuity/brief.js +0 -349
  324. package/dist/src/work-continuity/cli.js +0 -96
  325. package/dist/src/work-continuity/context-cli.js +0 -106
  326. package/dist/src/work-continuity/context-runtime-cli.js +0 -88
  327. package/dist/src/work-continuity/extractor.js +0 -339
  328. package/dist/src/work-continuity/handoff.js +0 -185
  329. package/dist/src/work-continuity/index.js +0 -14
  330. package/dist/src/work-continuity/injection.js +0 -84
  331. package/dist/src/work-continuity/journal.js +0 -49
  332. package/dist/src/work-continuity/learner.js +0 -127
  333. package/dist/src/work-continuity/reducer.js +0 -316
  334. package/dist/src/work-continuity/semantic-extractor.js +0 -360
  335. package/dist/src/work-continuity/semantic-journal.js +0 -55
  336. package/dist/src/work-continuity/semantic-learner.js +0 -125
  337. package/dist/src/work-continuity/semantic-reducer.js +0 -268
  338. package/dist/src/work-continuity/semantic-types.js +0 -1
  339. package/dist/src/work-continuity/types.js +0 -1
  340. package/dist/visualization/public/index.html +0 -2896
  341. package/dist/visualization/public/vendor/3d-force-graph.min.js +0 -5
package/README.md CHANGED
@@ -1,147 +1,520 @@
1
- # ToolNet Memory
1
+ <div align="center">
2
2
 
3
- Persistent memory + code intelligence cho AI coding agents.
3
+ # TOOLNET MEMORY
4
4
 
5
- ## Tính năng
5
+ ### Persistent project memory & code intelligence for AI coding agents
6
6
 
7
- - Mỗi thư mục = 1 project độc lập
8
- - Persistent memory
9
- - Code Graph + Type Resolution
10
- - Semantic Code Search
11
- - Architecture & Dependency Analysis
12
- - Dead Code / Impact Guard
13
- - Snapshots
14
- - MCP tools
15
- - Multi-project 3D Graph
7
+ **Continue the same project across OpenCode, Agy and Codex without losing context.**
16
8
 
17
- ## Cài đặt
9
+ [![npm](https://img.shields.io/npm/v/toolnet-memory?style=flat-square)](https://www.npmjs.com/package/toolnet-memory)
10
+ [![Node.js](https://img.shields.io/badge/Node.js-22%2B-339933?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org/)
11
+ [![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](LICENSE)
12
+
13
+ </div>
14
+
15
+ ---
16
+
17
+ ## What does ToolNet Memory do?
18
+
19
+ ToolNet Memory is a persistent memory layer for AI coding agents.
20
+
21
+ Its job is simple: **help the next AI understand the project before it continues the work.**
22
+
23
+ A coding agent normally loses important context when a session ends, tokens run out, you change tools, move to another VPS, or return to the project days later. The new agent may be able to read the source code, but it often does not know the original goal, why an architecture was chosen, what has already been completed, what is still in progress, or which project rules must not be violated.
24
+
25
+ ToolNet Memory preserves that project knowledge separately from any single AI agent.
26
+
27
+ ```text
28
+ OpenCode stops at Phase 3
29
+
30
+ ToolNet Memory
31
+
32
+ Agy opens the same project
33
+
34
+ Understands the mission, rationale,
35
+ completed work, current objective,
36
+ constraints and next actions
37
+
38
+ Continues Phase 4
39
+
40
+ Agy later stops at Phase 6
41
+
42
+ ToolNet Memory
43
+
44
+ Codex continues Phase 7
45
+ ```
46
+
47
+ It is **not just chat history**. ToolNet extracts and preserves durable working context such as:
48
+
49
+ - what the project is building,
50
+ - the current objective,
51
+ - why the work matters,
52
+ - why a specific implementation direction was chosen,
53
+ - completed and active phases/tasks,
54
+ - deliverables and Definition of Done,
55
+ - architecture decisions,
56
+ - dependencies and blockers,
57
+ - project operating rules,
58
+ - important warnings,
59
+ - next actions.
60
+
61
+ The result is a shared technical memory layer between your project and your AI coding agents:
62
+
63
+ ```text
64
+ OpenCode / Agy / Codex
65
+
66
+ ToolNet Memory
67
+
68
+ Project Memory + Work State
69
+ + Semantic Context + Code Intelligence
70
+
71
+ The next agent continues with context
72
+ instead of restarting from zero
73
+ ```
74
+
75
+ ---
76
+
77
+ ## Install
78
+
79
+ ### Recommended
18
80
 
19
81
  ```bash
20
- git clone https://github.com/LBT-AI/toolnet-memory
21
- cd toolnet-memory
22
- npm install
23
- npm run build
24
- npm link
82
+ npx toolnet-memory-install
25
83
  ```
26
84
 
27
- Kiểm tra:
85
+ ### One-line installer
86
+
87
+ ```bash
88
+ curl -fsSL https://memory.toolnet.tech/install | bash
89
+ ```
90
+
91
+ ### npm
92
+
93
+ ```bash
94
+ npm install -g toolnet-memory
95
+ ```
96
+
97
+ Requires **Node.js 22+**.
98
+
99
+ Verify:
28
100
 
29
101
  ```bash
30
- toolnet-memory help
31
102
  toolnet-memory doctor
32
103
  ```
33
104
 
34
- ## Cấu hình
105
+ ---
106
+
107
+
108
+ ## First-time configuration
35
109
 
36
- Tạo config dùng chung:
110
+ After installation, ToolNet Memory can configure storage interactively:
37
111
 
38
112
  ```bash
39
- mkdir -p ~/.config/toolnet-memory
40
- cp .env.example ~/.config/toolnet-memory/.env
41
- chmod 600 ~/.config/toolnet-memory/.env
113
+ toolnet-memory setup
114
+ If Hugging Face storage is already configured, ToolNet detects it and keeps the existing configuration.
115
+ For a new machine, the setup wizard asks for:
116
+ HF_NAMESPACE
117
+ HF_BUCKET
118
+ HF_S3_ACCESS_KEY_ID
119
+ HF_S3_SECRET_ACCESS_KEY
120
+ Configuration is stored at:
121
+ ~/.config/toolnet-memory/.env
122
+ Permissions are restricted automatically:
123
+ ~/.config/toolnet-memory 700
124
+ ~/.config/toolnet-memory/.env 600
125
+ Your Hugging Face credentials belong to your own account and are never bundled with ToolNet Memory.
126
+ The installer can launch this setup automatically on first install.
127
+
128
+
129
+
130
+ ## Core capabilities
131
+
132
+ ### Persistent Project Memory
133
+
134
+ Each project gets its own isolated memory universe.
135
+
136
+ ```text
137
+ Project A
138
+ ├── memories
139
+ ├── vectors
140
+ ├── code graph
141
+ ├── semantic context
142
+ ├── work state
143
+ └── snapshots
144
+
145
+ Project B
146
+ ├── memories
147
+ ├── vectors
148
+ ├── code graph
149
+ ├── semantic context
150
+ ├── work state
151
+ └── snapshots
42
152
  ```
43
153
 
44
- Điền Hugging Face Storage credentials vào:
154
+ Project data does not mix across projects.
155
+
156
+ ### Work Continuity
157
+
158
+ ToolNet tracks structured execution state such as:
45
159
 
46
160
  ```text
47
- ~/.config/toolnet-memory/.env
161
+ Mission
162
+ Objective
163
+ Why
164
+ Plan
165
+ Phase
166
+ Task
167
+ Deliverable
168
+ Definition of Done
169
+ Dependencies
170
+ Decisions
171
+ Blockers
172
+ Warnings
173
+ Next Actions
48
174
  ```
49
175
 
50
- ## Sử dụng
176
+ ### Semantic Work Context
51
177
 
52
- Đi vào project cần index:
178
+ ToolNet can preserve:
53
179
 
54
- ```bash
55
- cd ~/ToolNetSecrets
56
- toolnet-memory index
180
+ - project mission,
181
+ - current objective,
182
+ - why the work matters,
183
+ - why a specific approach was chosen,
184
+ - phase objective,
185
+ - deliverables,
186
+ - acceptance criteria,
187
+ - dependencies,
188
+ - constraints,
189
+ - open questions.
190
+
191
+ If a reason was never explicitly recorded, ToolNet should not invent one.
192
+
193
+ ### Smart Handoff
194
+
195
+ When a session ends before the work is complete, ToolNet can preserve a compact handoff containing:
196
+
197
+ ```text
198
+ What we are building
199
+ Why we are building it
200
+ What was completed
201
+ What is currently active
202
+ What remains
203
+ What is blocked
204
+ Important decisions
205
+ Important warnings
206
+ Next actions
57
207
  ```
58
208
 
59
- ToolNet tự tạo:
209
+ ### Project Operating Rules
210
+
211
+ Each project can retain persistent working rules.
212
+
213
+ Example:
60
214
 
61
215
  ```text
62
- ToolNetSecrets/.toolnet/project.json
216
+ ONLY edit:
217
+ /root/project/source
218
+
219
+ NEVER edit:
220
+ /var/www/project
221
+
222
+ Deploy only with:
223
+ ./deploy.sh --apply
63
224
  ```
64
225
 
65
- lưu riêng trên remote:
226
+ This avoids repeating the same instructions every session or every time you switch agents.
227
+
228
+ ---
229
+
230
+ ## Code Intelligence
231
+
232
+ ToolNet builds a project model through:
66
233
 
67
234
  ```text
68
- projects/ToolNetSecrets/
69
- ├── memory/
70
- ├── code/
71
- └── snapshots/
235
+ Source Index
236
+
237
+ Type Resolution
238
+
239
+ Rich Code Graph
240
+
241
+ Semantic Code Index
242
+
243
+ Architecture Intelligence
244
+
245
+ Dependency Analysis
246
+
247
+ Impact Analysis
72
248
  ```
73
249
 
74
- Project khác cũng hoàn toàn độc lập:
250
+ Capabilities include:
251
+
252
+ - symbol indexing,
253
+ - type resolution,
254
+ - callers / callees,
255
+ - imports,
256
+ - inheritance,
257
+ - implementations,
258
+ - route detection,
259
+ - architecture layers,
260
+ - subsystem clustering,
261
+ - hotspots,
262
+ - dependency analysis,
263
+ - dead-code candidates,
264
+ - blast radius,
265
+ - semantic code search.
266
+
267
+ ---
268
+
269
+ ## Quick Start
270
+
271
+ Inside a project:
75
272
 
76
273
  ```bash
77
- cd ~/Mercedes
274
+ cd /path/to/project
78
275
  toolnet-memory index
79
276
  ```
80
277
 
81
- ## Full Index Pipeline
278
+ ToolNet creates a stable project identity:
82
279
 
83
280
  ```text
84
- Source Index
85
- → Type Resolution
86
- → Rich Graph
87
- → Semantic Index
88
- → Architecture
89
- → Analysis
90
- → 3D Visualization
281
+ .toolnet/project.json
91
282
  ```
92
283
 
93
- ## 3D Graph
284
+ Moving or renaming the folder does not create a new project identity.
94
285
 
95
- Chạy dashboard:
286
+ Check project state:
96
287
 
97
288
  ```bash
98
- cd ~/toolnet-memory
99
- TOOLNET_GRAPH_HOST=0.0.0.0 TOOLNET_GRAPH_PORT=9749 npm run graph:ui
289
+ toolnet-memory work:status
100
290
  ```
101
291
 
102
- Mở:
292
+ Generate a startup brief:
103
293
 
104
- ```text
105
- http://SERVER_IP:9749
294
+ ```bash
295
+ toolnet-memory brief
296
+ ```
297
+
298
+ Search semantically:
299
+
300
+ ```bash
301
+ toolnet-memory semantic "authentication flow"
302
+ ```
303
+
304
+ Analyze impact:
305
+
306
+ ```bash
307
+ toolnet-memory impact src/path/to/file.ts
106
308
  ```
107
309
 
108
- Một dashboard có thể chuyển giữa nhiều project, nhưng dữ liệu của từng project vẫn tách biệt.
310
+ ---
109
311
 
110
- ## Lệnh chính
312
+ ## Main commands
111
313
 
112
314
  ```bash
113
315
  toolnet-memory doctor
316
+
114
317
  toolnet-memory index
115
318
  toolnet-memory index:graph
116
319
  toolnet-memory incremental
320
+
117
321
  toolnet-memory semantic "query"
118
- toolnet-memory impact [file]
119
- toolnet-memory mcp
322
+ toolnet-memory impact path/to/file
323
+
324
+ toolnet-memory brief
325
+ toolnet-memory brief:json
326
+
327
+ toolnet-memory work:status
328
+ toolnet-memory work:json
329
+ toolnet-memory work:reconcile
330
+
331
+ toolnet-memory context:sync
332
+ toolnet-memory context:print
333
+ toolnet-memory context:refresh
334
+
120
335
  toolnet-memory snapshot:list
121
336
  toolnet-memory snapshot:create "reason"
122
337
  toolnet-memory snapshot:restore <id>
338
+
123
339
  toolnet-memory recover
340
+ toolnet-memory mcp
124
341
  ```
125
342
 
126
- ## Development
343
+ Agent/session integrations include commands for OpenCode, Agy and Codex.
344
+
345
+ ---
346
+
347
+ ## Startup Brief
348
+
349
+ Before an agent continues work, ToolNet can build a compact project brief containing only relevant context:
350
+
351
+ ```text
352
+ PROJECT RULES
353
+ MISSION
354
+ CURRENT OBJECTIVE
355
+ WHY THIS WORK MATTERS
356
+ WHY THIS APPROACH
357
+ ACTIVE WORK
358
+ CURRENT PHASE
359
+ PHASE OBJECTIVE
360
+ DELIVERABLE
361
+ DEFINITION OF DONE
362
+ BLOCKERS
363
+ RECENT DECISIONS
364
+ NEXT ACTIONS
365
+ ```
366
+
367
+ The goal is to avoid dumping entire transcripts into the model.
368
+
369
+ ---
370
+
371
+ ## Session Capture
372
+
373
+ ToolNet can normalize coding-agent sessions into a common project-scoped format.
374
+
375
+ Sessions can preserve:
376
+
377
+ ```text
378
+ session identity
379
+ messages
380
+ tool activity
381
+ file changes
382
+ continuity observations
383
+ semantic observations
384
+ handoff state
385
+ ```
386
+
387
+ Raw session history and durable long-term memory remain separate.
388
+
389
+ ---
390
+
391
+ ## Storage model
392
+
393
+ Remote project data is isolated by project namespace:
394
+
395
+ ```text
396
+ projects/<project>/
397
+ ├── project.json
398
+ ├── memory/
399
+ │ ├── records/
400
+ │ └── vectors/
401
+ ├── code/
402
+ │ ├── chunks/
403
+ │ ├── vectors/
404
+ │ ├── graph/
405
+ │ ├── architecture/
406
+ │ ├── analysis/
407
+ │ └── visualization/
408
+ ├── work/
409
+ ├── context/
410
+ └── snapshots/
411
+ ```
412
+
413
+ ---
414
+
415
+ ## MCP
416
+
417
+ ToolNet exposes memory and code intelligence through MCP.
127
418
 
128
419
  ```bash
129
- npm run build
130
- npm test
420
+ toolnet-memory mcp
421
+ ```
422
+
423
+ Typical capabilities include memory search, symbol search, dependency lookup, call tracing, architecture context, semantic code search and impact analysis.
424
+
425
+ ---
426
+
427
+ ## 3D Code Graph
428
+
429
+ ToolNet includes a multi-project code graph dashboard.
430
+
431
+ ```text
432
+ https://memory.toolnet.tech
433
+ ```
434
+
435
+ It can visualize symbols, files, calls, imports, type usage, architecture clusters, dependencies, dead-code candidates and impact relationships.
436
+
437
+ ---
438
+
439
+ ## Configuration
440
+
441
+ Global configuration lives at:
442
+
443
+ ```text
444
+ ~/.config/toolnet-memory/.env
131
445
  ```
132
446
 
133
- > 1 folder = 1 project = 1 isolated memory universe.
447
+ Create it with:
134
448
 
135
- ## Cài nhanh
449
+ ```bash
450
+ mkdir -p ~/.config/toolnet-memory
451
+ chmod 700 ~/.config/toolnet-memory
452
+ ```
453
+
454
+ Never commit API keys, tokens or credentials to a repository.
455
+
456
+ ---
457
+
458
+ ## Update
136
459
 
137
460
  ```bash
138
- curl -fsSL https://raw.githubusercontent.com/LBT-AI/toolnet-memory/main/scripts/install.sh | bash
461
+ npm install -g toolnet-memory@latest
139
462
  ```
140
463
 
141
- Sau đó:
464
+ or rerun:
142
465
 
143
466
  ```bash
144
- source ~/.profile
145
- cd ~/your-project
146
- toolnet-memory index
467
+ npx toolnet-memory-install
468
+ ```
469
+
470
+ ## Uninstall
471
+
472
+ ```bash
473
+ npm uninstall -g toolnet-memory
474
+ ```
475
+
476
+ Local `.toolnet` project metadata is not automatically removed.
477
+
478
+ ---
479
+
480
+ ## Development
481
+
482
+ ```bash
483
+ git clone https://github.com/LBT-AI/toolnet-memory.git
484
+ cd toolnet-memory
485
+ npm install
486
+ npm run build
487
+ npm test
147
488
  ```
489
+
490
+ Production build:
491
+
492
+ ```bash
493
+ npm run build:prod
494
+ ```
495
+
496
+ ---
497
+
498
+ ## Design principles
499
+
500
+ **Project isolation** — one project must never silently inherit another project's memory.
501
+
502
+ **Compact context** — agents receive relevant state, not giant transcript dumps.
503
+
504
+ **Provenance** — important semantic state should retain where it came from.
505
+
506
+ **No invented intent** — missing rationale stays unknown instead of becoming fabricated history.
507
+
508
+ **Agent independence** — the memory layer is not tied to one coding CLI.
509
+
510
+ **Graceful failure** — memory/context failures should not break the coding agent itself.
511
+
512
+ ---
513
+
514
+ <div align="center">
515
+
516
+ ### One project. Multiple agents. Continuous memory.
517
+
518
+ **ToolNet Memory**
519
+
520
+ </div>