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.
- package/README.md +443 -70
- package/bin/toolnet-memory +66 -53
- package/bundle/agy.js +88 -0
- package/bundle/codex.js +92 -0
- package/bundle/context-runtime.js +56 -0
- package/bundle/context.js +62 -0
- package/bundle/doctor.js +3 -0
- package/bundle/full-index.js +8 -0
- package/bundle/learner.js +8 -0
- package/bundle/mcp.js +7 -0
- package/bundle/opencode.js +314 -0
- package/bundle/project-manual.js +54 -0
- package/bundle/setup.js +31 -0
- package/bundle/snapshot.js +4 -0
- package/bundle/work-continuity.js +12 -0
- package/package.json +11 -5
- package/dist/packages/cli/commands.js +0 -1
- package/dist/packages/cli/index.js +0 -1
- package/dist/packages/sdk/client.js +0 -78
- package/dist/packages/sdk/index.js +0 -1
- package/dist/packages/sdk/types.js +0 -1
- package/dist/src/api/index.js +0 -1
- package/dist/src/api/routes/health.js +0 -1
- package/dist/src/api/routes/index.js +0 -1
- package/dist/src/api/routes/memory.js +0 -1
- package/dist/src/api/routes/projects.js +0 -1
- package/dist/src/api/routes/search.js +0 -1
- package/dist/src/api/server.js +0 -1
- package/dist/src/capture/activity-capture.js +0 -21
- package/dist/src/capture/command-capture.js +0 -12
- package/dist/src/capture/error-capture.js +0 -14
- package/dist/src/capture/event-deduplicator.js +0 -28
- package/dist/src/capture/event-queue.js +0 -20
- package/dist/src/capture/file-capture.js +0 -23
- package/dist/src/capture/index.js +0 -8
- package/dist/src/capture/session-capture.js +0 -18
- package/dist/src/capture/tool-capture.js +0 -13
- package/dist/src/code-intelligence/analysis/analysis-engine.js +0 -26
- package/dist/src/code-intelligence/analysis/dead-code-analyzer.js +0 -127
- package/dist/src/code-intelligence/analysis/dependency-analyzer.js +0 -66
- package/dist/src/code-intelligence/analysis/index.js +0 -4
- package/dist/src/code-intelligence/analysis/types.js +0 -1
- package/dist/src/code-intelligence/architecture/architecture-engine.js +0 -48
- package/dist/src/code-intelligence/architecture/clusters.js +0 -322
- package/dist/src/code-intelligence/architecture/entry-points.js +0 -150
- package/dist/src/code-intelligence/architecture/hotspots.js +0 -136
- package/dist/src/code-intelligence/architecture/index.js +0 -6
- package/dist/src/code-intelligence/architecture/layers.js +0 -197
- package/dist/src/code-intelligence/architecture/types.js +0 -1
- package/dist/src/code-intelligence/chunks/index.js +0 -2
- package/dist/src/code-intelligence/chunks/smart-chunker.js +0 -125
- package/dist/src/code-intelligence/chunks/types.js +0 -1
- package/dist/src/code-intelligence/git/git-diff.js +0 -109
- package/dist/src/code-intelligence/git/index.js +0 -1
- package/dist/src/code-intelligence/graph/architecture.js +0 -26
- package/dist/src/code-intelligence/graph/graph-builder.js +0 -213
- package/dist/src/code-intelligence/graph/graph-store.js +0 -57
- package/dist/src/code-intelligence/graph/index.js +0 -1
- package/dist/src/code-intelligence/graph/relationships.js +0 -1
- package/dist/src/code-intelligence/graph/trace.js +0 -65
- package/dist/src/code-intelligence/impact/blast-radius.js +0 -160
- package/dist/src/code-intelligence/impact/change-mapper.js +0 -69
- package/dist/src/code-intelligence/impact/edit-tool-detector.js +0 -92
- package/dist/src/code-intelligence/impact/impact-analyzer.js +0 -60
- package/dist/src/code-intelligence/impact/impact-guard.js +0 -33
- package/dist/src/code-intelligence/impact/index.js +0 -5
- package/dist/src/code-intelligence/incremental/file-hash.js +0 -8
- package/dist/src/code-intelligence/incremental/incremental-indexer.js +0 -106
- package/dist/src/code-intelligence/incremental/manifest-builder.js +0 -19
- package/dist/src/code-intelligence/incremental/manifest.js +0 -31
- package/dist/src/code-intelligence/index.js +0 -23
- package/dist/src/code-intelligence/indexer/file-watcher.js +0 -1
- package/dist/src/code-intelligence/indexer/incremental-indexer.js +0 -1
- package/dist/src/code-intelligence/indexer/index.js +0 -1
- package/dist/src/code-intelligence/indexer/repository-indexer.js +0 -31
- package/dist/src/code-intelligence/indexer/repository-scanner.js +0 -50
- package/dist/src/code-intelligence/parsers/index.js +0 -1
- package/dist/src/code-intelligence/parsers/tree-sitter/index.js +0 -1
- package/dist/src/code-intelligence/parsers/tree-sitter/languages.js +0 -1
- package/dist/src/code-intelligence/parsers/tree-sitter/parser.js +0 -1
- package/dist/src/code-intelligence/parsers/typescript-parser.js +0 -190
- package/dist/src/code-intelligence/query/graph-query-engine.js +0 -275
- package/dist/src/code-intelligence/query/index.js +0 -2
- package/dist/src/code-intelligence/query/types.js +0 -1
- package/dist/src/code-intelligence/resolution/index.js +0 -2
- package/dist/src/code-intelligence/resolution/types.js +0 -1
- package/dist/src/code-intelligence/resolution/typescript-resolver.js +0 -316
- package/dist/src/code-intelligence/rich/index.js +0 -1
- package/dist/src/code-intelligence/rich/rich-graph-enricher.js +0 -463
- package/dist/src/code-intelligence/semantic/index.js +0 -2
- package/dist/src/code-intelligence/semantic/semantic-code-engine.js +0 -213
- package/dist/src/code-intelligence/semantic/source-priority.js +0 -22
- package/dist/src/code-intelligence/symbols/index.js +0 -1
- package/dist/src/code-intelligence/symbols/reference-resolver.js +0 -21
- package/dist/src/code-intelligence/symbols/symbol-extractor.js +0 -1
- package/dist/src/code-intelligence/test-analysis.js +0 -72
- package/dist/src/code-intelligence/test-architecture.js +0 -67
- package/dist/src/code-intelligence/test-impact.js +0 -47
- package/dist/src/code-intelligence/test-incremental.js +0 -24
- package/dist/src/code-intelligence/test-index.js +0 -39
- package/dist/src/code-intelligence/test-resolution.js +0 -54
- package/dist/src/code-intelligence/test-rich-graph.js +0 -48
- package/dist/src/code-intelligence/test-semantic.js +0 -57
- package/dist/src/code-intelligence/test-visualization.js +0 -36
- package/dist/src/code-intelligence/types.js +0 -1
- package/dist/src/code-intelligence/visualization/index.js +0 -2
- package/dist/src/code-intelligence/visualization/types.js +0 -1
- package/dist/src/code-intelligence/visualization/visualization-builder.js +0 -104
- package/dist/src/core/config.js +0 -66
- package/dist/src/core/global-env.js +0 -70
- package/dist/src/core/importance.js +0 -30
- package/dist/src/core/index.js +0 -5
- package/dist/src/core/memory-engine.js +0 -183
- package/dist/src/core/project-manager.js +0 -243
- package/dist/src/core/types.js +0 -1
- package/dist/src/embeddings/batch-embedder.js +0 -1
- package/dist/src/embeddings/cache.js +0 -1
- package/dist/src/embeddings/embedder.js +0 -51
- package/dist/src/embeddings/index.js +0 -4
- package/dist/src/embeddings/local.js +0 -37
- package/dist/src/embeddings/provider.js +0 -1
- package/dist/src/embeddings/remote.js +0 -76
- package/dist/src/embeddings/test-connection.js +0 -16
- package/dist/src/hooks/after-edit.js +0 -3
- package/dist/src/hooks/after-tool.js +0 -3
- package/dist/src/hooks/auto-context.js +0 -68
- package/dist/src/hooks/auto-impact-guard.js +0 -94
- package/dist/src/hooks/auto-retrieval.js +0 -27
- package/dist/src/hooks/before-agent.js +0 -18
- package/dist/src/hooks/before-compact.js +0 -3
- package/dist/src/hooks/before-edit.js +0 -20
- package/dist/src/hooks/index.js +0 -11
- package/dist/src/hooks/runtime.js +0 -110
- package/dist/src/hooks/session-end.js +0 -3
- package/dist/src/hooks/session-start.js +0 -3
- package/dist/src/index.js +0 -22
- package/dist/src/mcp/bootstrap.js +0 -68
- package/dist/src/mcp/context.js +0 -1
- package/dist/src/mcp/index.js +0 -3
- package/dist/src/mcp/server.js +0 -45
- package/dist/src/mcp/tools/analyze-impact.js +0 -41
- package/dist/src/mcp/tools/dead-code.js +0 -55
- package/dist/src/mcp/tools/find-callers.js +0 -24
- package/dist/src/mcp/tools/find-dependencies.js +0 -57
- package/dist/src/mcp/tools/find-symbol.js +0 -7
- package/dist/src/mcp/tools/get-architecture.js +0 -11
- package/dist/src/mcp/tools/graph-dependents.js +0 -24
- package/dist/src/mcp/tools/graph-neighborhood.js +0 -58
- package/dist/src/mcp/tools/graph-path.js +0 -43
- package/dist/src/mcp/tools/graph-query-utils.js +0 -32
- package/dist/src/mcp/tools/impact-guard.js +0 -34
- package/dist/src/mcp/tools/index-repository.js +0 -1
- package/dist/src/mcp/tools/index.js +0 -20
- package/dist/src/mcp/tools/memory-decisions.js +0 -1
- package/dist/src/mcp/tools/memory-forget.js +0 -14
- package/dist/src/mcp/tools/memory-recent.js +0 -1
- package/dist/src/mcp/tools/memory-remember.js +0 -33
- package/dist/src/mcp/tools/memory-rules.js +0 -1
- package/dist/src/mcp/tools/memory-search.js +0 -18
- package/dist/src/mcp/tools/memory-todos.js +0 -1
- package/dist/src/mcp/tools/project-context.js +0 -25
- package/dist/src/mcp/tools/search-code.js +0 -21
- package/dist/src/mcp/tools/semantic-code-search.js +0 -33
- package/dist/src/mcp/tools/snapshot-create.js +0 -13
- package/dist/src/mcp/tools/snapshot-list.js +0 -7
- package/dist/src/mcp/tools/snapshot-restore.js +0 -13
- package/dist/src/mcp/tools/trace-calls.js +0 -37
- package/dist/src/memory/activity.js +0 -5
- package/dist/src/memory/conflict-detector.js +0 -105
- package/dist/src/memory/consolidator.js +0 -104
- package/dist/src/memory/decay.js +0 -59
- package/dist/src/memory/decisions.js +0 -3
- package/dist/src/memory/deduplicate.js +0 -25
- package/dist/src/memory/index.js +0 -11
- package/dist/src/memory/maintenance.js +0 -16
- package/dist/src/memory/remember.js +0 -3
- package/dist/src/memory/rules.js +0 -3
- package/dist/src/memory/search.js +0 -3
- package/dist/src/memory/summaries.js +0 -1
- package/dist/src/memory/todos.js +0 -3
- package/dist/src/processor/decision-extractor.js +0 -13
- package/dist/src/processor/importance-scorer.js +0 -22
- package/dist/src/processor/index.js +0 -7
- package/dist/src/processor/memory-extractor.js +0 -59
- package/dist/src/processor/memory-processor.js +0 -105
- package/dist/src/processor/rule-extractor.js +0 -13
- package/dist/src/processor/summarizer.js +0 -71
- package/dist/src/processor/todo-extractor.js +0 -12
- package/dist/src/production/config-check.js +0 -34
- package/dist/src/production/doctor.js +0 -58
- package/dist/src/production/full-index.js +0 -114
- package/dist/src/production/health.js +0 -58
- package/dist/src/production/index-pipeline.js +0 -151
- package/dist/src/production/index.js +0 -4
- package/dist/src/production/project-lock.js +0 -95
- package/dist/src/production/project-status.js +0 -16
- package/dist/src/production/recovery.js +0 -15
- package/dist/src/production/snapshot-cli.js +0 -58
- package/dist/src/project-manual/cli.js +0 -77
- package/dist/src/project-manual/index.js +0 -2
- package/dist/src/project-manual/manager.js +0 -147
- package/dist/src/project-manual/types.js +0 -1
- package/dist/src/retrieval/bm25/index.js +0 -1
- package/dist/src/retrieval/bm25/search.js +0 -1
- package/dist/src/retrieval/bm25.js +0 -30
- package/dist/src/retrieval/context-budget.js +0 -1
- package/dist/src/retrieval/context-builder.js +0 -22
- package/dist/src/retrieval/graph/index.js +0 -1
- package/dist/src/retrieval/graph/search.js +0 -1
- package/dist/src/retrieval/hybrid/hybrid-search.js +0 -1
- package/dist/src/retrieval/hybrid/index.js +0 -1
- package/dist/src/retrieval/hybrid-search.js +0 -68
- package/dist/src/retrieval/importance.js +0 -16
- package/dist/src/retrieval/index.js +0 -12
- package/dist/src/retrieval/query-analyzer.js +0 -32
- package/dist/src/retrieval/query-classifier.js +0 -1
- package/dist/src/retrieval/query-expansion.js +0 -1
- package/dist/src/retrieval/recency.js +0 -12
- package/dist/src/retrieval/reranker/index.js +0 -1
- package/dist/src/retrieval/reranker/reranker.js +0 -1
- package/dist/src/retrieval/retrieval-engine.js +0 -17
- package/dist/src/retrieval/tokenizer.js +0 -9
- package/dist/src/retrieval/type-priority.js +0 -10
- package/dist/src/retrieval/types.js +0 -1
- package/dist/src/retrieval/vector/index.js +0 -4
- package/dist/src/retrieval/vector/metadata-filter.js +0 -1
- package/dist/src/retrieval/vector/persistence.js +0 -67
- package/dist/src/retrieval/vector/search.js +0 -12
- package/dist/src/retrieval/vector/test-persistence.js +0 -36
- package/dist/src/retrieval/vector/upsert.js +0 -40
- package/dist/src/retrieval/vector/vector-store.js +0 -89
- package/dist/src/retrieval/vector-hybrid-engine.js +0 -91
- package/dist/src/runtime/bootstrap.js +0 -28
- package/dist/src/runtime/graceful.js +0 -17
- package/dist/src/runtime/index.js +0 -3
- package/dist/src/runtime/toolnet-memory-runtime.js +0 -156
- package/dist/src/security/encryption.js +0 -1
- package/dist/src/security/file-filter.js +0 -30
- package/dist/src/security/index.js +0 -3
- package/dist/src/security/sanitizer.js +0 -49
- package/dist/src/security/secret-scanner.js +0 -56
- package/dist/src/session/agy/adapter.js +0 -159
- package/dist/src/session/agy/cli.js +0 -87
- package/dist/src/session/agy/hook-installer.js +0 -62
- package/dist/src/session/agy/hook.js +0 -167
- package/dist/src/session/agy/index.js +0 -5
- package/dist/src/session/agy/project-resolver.js +0 -27
- package/dist/src/session/agy/recovery.js +0 -112
- package/dist/src/session/agy/transcript.js +0 -191
- package/dist/src/session/codex/adapter.js +0 -138
- package/dist/src/session/codex/cli.js +0 -236
- package/dist/src/session/codex/context-hook-installer.js +0 -70
- package/dist/src/session/codex/context-hook.js +0 -69
- package/dist/src/session/codex/discovery.js +0 -138
- package/dist/src/session/codex/index.js +0 -6
- package/dist/src/session/codex/notify-installer.js +0 -135
- package/dist/src/session/codex/project-resolver.js +0 -25
- package/dist/src/session/codex/recovery.js +0 -27
- package/dist/src/session/codex/rollout.js +0 -186
- package/dist/src/session/core.js +0 -239
- package/dist/src/session/identity.js +0 -57
- package/dist/src/session/index.js +0 -9
- package/dist/src/session/learner/cli.js +0 -62
- package/dist/src/session/learner/extractor.js +0 -461
- package/dist/src/session/learner/index.js +0 -4
- package/dist/src/session/learner/journal.js +0 -159
- package/dist/src/session/learner/learner.js +0 -124
- package/dist/src/session/learner/types.js +0 -1
- package/dist/src/session/opencode/adapter.js +0 -553
- package/dist/src/session/opencode/cli.js +0 -121
- package/dist/src/session/opencode/index.js +0 -2
- package/dist/src/session/opencode/plugin-installer.js +0 -230
- package/dist/src/session/store.js +0 -242
- package/dist/src/session/types.js +0 -1
- package/dist/src/session/utils.js +0 -47
- package/dist/src/session/wal.js +0 -303
- package/dist/src/snapshot/index.js +0 -2
- package/dist/src/snapshot/manager.js +0 -130
- package/dist/src/snapshot/test-snapshot.js +0 -28
- package/dist/src/snapshot/types.js +0 -1
- package/dist/src/storage/architecture-store.js +0 -37
- package/dist/src/storage/cleanup-health.js +0 -20
- package/dist/src/storage/code-analysis-store.js +0 -35
- package/dist/src/storage/code-chunk-store.js +0 -25
- package/dist/src/storage/code-graph-store.js +0 -24
- package/dist/src/storage/code-manifest-store.js +0 -24
- package/dist/src/storage/code-vector-store.js +0 -25
- package/dist/src/storage/github/client.js +0 -1
- package/dist/src/storage/github/index.js +0 -1
- package/dist/src/storage/google-drive/client.js +0 -1
- package/dist/src/storage/google-drive/index.js +0 -1
- package/dist/src/storage/huggingface/client.js +0 -116
- package/dist/src/storage/huggingface/index.js +0 -1
- package/dist/src/storage/index.js +0 -16
- package/dist/src/storage/list-bucket-raw.js +0 -14
- package/dist/src/storage/list-bucket-tree.js +0 -38
- package/dist/src/storage/local/client.js +0 -99
- package/dist/src/storage/local/index.js +0 -1
- package/dist/src/storage/memory-store.js +0 -30
- package/dist/src/storage/project/cleanup-layout-v1.js +0 -72
- package/dist/src/storage/project/folder.js +0 -15
- package/dist/src/storage/project/index.js +0 -3
- package/dist/src/storage/project/layout.js +0 -74
- package/dist/src/storage/project/migrate-layout-v2.js +0 -101
- package/dist/src/storage/project/migrate.js +0 -73
- package/dist/src/storage/project/scoped-provider.js +0 -165
- package/dist/src/storage/provider.js +0 -26
- package/dist/src/storage/retrying-provider.js +0 -23
- package/dist/src/storage/test-connection.js +0 -32
- package/dist/src/storage/type-resolution-store.js +0 -26
- package/dist/src/storage/types.js +0 -1
- package/dist/src/storage/vector-store.js +0 -30
- package/dist/src/storage/visualization-store.js +0 -25
- package/dist/src/sync/compressor.js +0 -1
- package/dist/src/sync/conflict-resolver.js +0 -1
- package/dist/src/sync/downloader.js +0 -1
- package/dist/src/sync/index.js +0 -1
- package/dist/src/sync/sync-engine.js +0 -1
- package/dist/src/sync/upload-queue.js +0 -1
- package/dist/src/utils/retry.js +0 -29
- package/dist/src/visualization/server.js +0 -270
- package/dist/src/work-continuity/brief-cache.js +0 -107
- package/dist/src/work-continuity/brief.js +0 -349
- package/dist/src/work-continuity/cli.js +0 -96
- package/dist/src/work-continuity/context-cli.js +0 -106
- package/dist/src/work-continuity/context-runtime-cli.js +0 -88
- package/dist/src/work-continuity/extractor.js +0 -339
- package/dist/src/work-continuity/handoff.js +0 -185
- package/dist/src/work-continuity/index.js +0 -14
- package/dist/src/work-continuity/injection.js +0 -84
- package/dist/src/work-continuity/journal.js +0 -49
- package/dist/src/work-continuity/learner.js +0 -127
- package/dist/src/work-continuity/reducer.js +0 -316
- package/dist/src/work-continuity/semantic-extractor.js +0 -360
- package/dist/src/work-continuity/semantic-journal.js +0 -55
- package/dist/src/work-continuity/semantic-learner.js +0 -125
- package/dist/src/work-continuity/semantic-reducer.js +0 -268
- package/dist/src/work-continuity/semantic-types.js +0 -1
- package/dist/src/work-continuity/types.js +0 -1
- package/dist/visualization/public/index.html +0 -2896
- package/dist/visualization/public/vendor/3d-force-graph.min.js +0 -5
package/README.md
CHANGED
|
@@ -1,147 +1,520 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# TOOLNET MEMORY
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
### Persistent project memory & code intelligence for AI coding agents
|
|
6
6
|
|
|
7
|
-
|
|
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
|
-
|
|
9
|
+
[](https://www.npmjs.com/package/toolnet-memory)
|
|
10
|
+
[](https://nodejs.org/)
|
|
11
|
+
[](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
|
-
|
|
21
|
-
cd toolnet-memory
|
|
22
|
-
npm install
|
|
23
|
-
npm run build
|
|
24
|
-
npm link
|
|
82
|
+
npx toolnet-memory-install
|
|
25
83
|
```
|
|
26
84
|
|
|
27
|
-
|
|
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
|
-
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
## First-time configuration
|
|
35
109
|
|
|
36
|
-
|
|
110
|
+
After installation, ToolNet Memory can configure storage interactively:
|
|
37
111
|
|
|
38
112
|
```bash
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
176
|
+
### Semantic Work Context
|
|
51
177
|
|
|
52
|
-
|
|
178
|
+
ToolNet can preserve:
|
|
53
179
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
|
|
209
|
+
### Project Operating Rules
|
|
210
|
+
|
|
211
|
+
Each project can retain persistent working rules.
|
|
212
|
+
|
|
213
|
+
Example:
|
|
60
214
|
|
|
61
215
|
```text
|
|
62
|
-
|
|
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
|
-
|
|
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
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
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
|
|
274
|
+
cd /path/to/project
|
|
78
275
|
toolnet-memory index
|
|
79
276
|
```
|
|
80
277
|
|
|
81
|
-
|
|
278
|
+
ToolNet creates a stable project identity:
|
|
82
279
|
|
|
83
280
|
```text
|
|
84
|
-
|
|
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
|
-
|
|
284
|
+
Moving or renaming the folder does not create a new project identity.
|
|
94
285
|
|
|
95
|
-
|
|
286
|
+
Check project state:
|
|
96
287
|
|
|
97
288
|
```bash
|
|
98
|
-
|
|
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
|
-
|
|
292
|
+
Generate a startup brief:
|
|
103
293
|
|
|
104
|
-
```
|
|
105
|
-
|
|
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
|
-
|
|
310
|
+
---
|
|
109
311
|
|
|
110
|
-
##
|
|
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
|
|
119
|
-
|
|
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
|
-
|
|
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
|
-
|
|
130
|
-
|
|
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
|
-
|
|
447
|
+
Create it with:
|
|
134
448
|
|
|
135
|
-
|
|
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
|
-
|
|
461
|
+
npm install -g toolnet-memory@latest
|
|
139
462
|
```
|
|
140
463
|
|
|
141
|
-
|
|
464
|
+
or rerun:
|
|
142
465
|
|
|
143
466
|
```bash
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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>
|