@vaur94/agz-memory 0.5.0 → 0.5.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/ARCHITECTURE.md +7 -4
- package/CHANGELOG.md +32 -0
- package/README.md +24 -16
- package/README.tr.md +24 -16
- package/dist/admin.js +687 -124
- package/dist/core.js +852 -91
- package/dist/server.js +947 -165
- package/dist/types/admin/quarantine.d.ts +15 -0
- package/dist/types/admin/reindex.d.ts +41 -0
- package/dist/types/config.d.ts +1 -0
- package/dist/types/context.d.ts +1 -1
- package/dist/types/contracts/error.d.ts +16 -0
- package/dist/types/contracts/limits.d.ts +18 -0
- package/dist/types/contracts/mutation.d.ts +31 -0
- package/dist/types/contracts/pagination.d.ts +27 -0
- package/dist/types/core.d.ts +4 -0
- package/dist/types/db/health.d.ts +3 -1
- package/dist/types/db/legacy-health.d.ts +3 -1
- package/dist/types/db.d.ts +11 -1
- package/dist/types/security/quarantine-key.d.ts +47 -0
- package/dist/types/server.d.ts +1 -1
- package/dist/types/store/capture.d.ts +5 -1
- package/dist/types/store/outbox.d.ts +10 -1
- package/dist/types/store.d.ts +27 -9
- package/dist/types/version.d.ts +1 -1
- package/docs/backup-restore-runbook.md +16 -16
- package/docs/backup-restore-runbook.tr.md +16 -16
- package/docs/schema-v11.md +1 -1
- package/package.json +3 -3
- package/skills/agz-memory/agz-memory.md +3 -1
- package/skills/index.json +1 -1
package/ARCHITECTURE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AGZ Memory Architecture
|
|
2
2
|
|
|
3
|
-
This document describes the `0.5.
|
|
3
|
+
This document describes the `0.5.2` runtime and SQLite schema v11.
|
|
4
4
|
|
|
5
5
|
## System Boundaries
|
|
6
6
|
|
|
@@ -20,7 +20,7 @@ OpenCode V2 beta-18743
|
|
|
20
20
|
|
|
21
21
|
SQLite outbox
|
|
22
22
|
-> optional derived retrieval backend
|
|
23
|
-
-> disabled in 0.5.
|
|
23
|
+
-> disabled in 0.5.2; backend = none
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
The MCP adapter owns tool schemas, annotations, and result envelopes. The core
|
|
@@ -98,7 +98,10 @@ Capture requires all of these gates:
|
|
|
98
98
|
|
|
99
99
|
1. The plugin version and running OpenCode beta match exactly.
|
|
100
100
|
2. Mode is not `off`, capture is enabled, and exactly one explicit binding
|
|
101
|
-
matches project ID, workspace ID, and canonical directory.
|
|
101
|
+
matches project ID, workspace ID, and canonical directory. A linked Git
|
|
102
|
+
worktree may match its main checkout only after reciprocal worktree metadata
|
|
103
|
+
proves that both use the same common Git directory; persisted binding paths
|
|
104
|
+
are not rewritten.
|
|
102
105
|
3. Only terminal user/assistant text or terminal tool status is projected.
|
|
103
106
|
4. Credential and private-key patterns are removed or quarantined.
|
|
104
107
|
5. The strict `CaptureEventV2` parser enforces UTF-8 size, kind-specific source identity, event
|
|
@@ -133,7 +136,7 @@ original OpenCode context unchanged.
|
|
|
133
136
|
|
|
134
137
|
Semantic providers implement an optional backend contract: project-filtered
|
|
135
138
|
query, idempotent upsert, deterministic delete, full project purge, and health.
|
|
136
|
-
No provider is enabled in `0.5.
|
|
139
|
+
No provider is enabled in `0.5.2`. The SQLite lexical/graph path remains fully
|
|
137
140
|
functional without one.
|
|
138
141
|
|
|
139
142
|
## Derived Index Outbox
|
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,38 @@
|
|
|
3
3
|
All notable changes to AGZ Memory are recorded here. The project follows
|
|
4
4
|
[Semantic Versioning](https://semver.org/).
|
|
5
5
|
|
|
6
|
+
## [0.5.2] - 2026-09-04
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
|
|
10
|
+
- Updated linked Git worktree guidance so a main checkout and its linked
|
|
11
|
+
worktrees safely reuse the same `memoryProjectID` after Git metadata confirms
|
|
12
|
+
the shared common directory.
|
|
13
|
+
- Preserved persisted binding path and key compatibility while allowing distinct
|
|
14
|
+
OpenCode project/workspace identities to map to that shared memory project.
|
|
15
|
+
- Aligned release metadata, package examples, and bilingual operational guidance
|
|
16
|
+
with the 0.5.2 release surface.
|
|
17
|
+
|
|
18
|
+
### Compatibility
|
|
19
|
+
|
|
20
|
+
- Retained SQLite schema 11, the exact nine-tool MCP contract, and inert plugin
|
|
21
|
+
defaults across the worktree identity guidance change.
|
|
22
|
+
|
|
23
|
+
## [0.5.1] - 2026-09-04
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
|
|
27
|
+
- Hardened Phase 1 stabilization with the migration-root fix, shared limits and
|
|
28
|
+
typed errors, bounded pagination, strict default-off plugin configuration,
|
|
29
|
+
bounded late attachment/shutdown, and resumable administrative reindexing.
|
|
30
|
+
- Added the 10-sample p95 migration timing artifact, safe clean/evidence
|
|
31
|
+
tooling, and keyed quarantine HMAC rotation with Windows fail-closed behavior.
|
|
32
|
+
|
|
33
|
+
### Security
|
|
34
|
+
|
|
35
|
+
- Preserved exactly nine MCP tools, SQLite schema 11, semantic backend `none`,
|
|
36
|
+
and inert plugin defaults.
|
|
37
|
+
|
|
6
38
|
## [0.5.0] - 2026-09-02
|
|
7
39
|
|
|
8
40
|
### Added
|
package/README.md
CHANGED
|
@@ -10,6 +10,9 @@ as two independently usable packages that advance at the same version:
|
|
|
10
10
|
- `@vaur94/agz-memory-plugin`: an optional OpenCode V2 adapter for bounded
|
|
11
11
|
retrieval and deliberately staged automatic capture.
|
|
12
12
|
|
|
13
|
+
**0.5.2 status:** This repository documents the 0.5.2 release surface and
|
|
14
|
+
compatibility contract; npm publication and Git hosting state are tracked separately.
|
|
15
|
+
|
|
13
16
|
The MCP server is ready for normal use. The plugin starts inert: no project is
|
|
14
17
|
created, no session is captured, and no context is injected until an explicit
|
|
15
18
|
binding and rollout mode are configured.
|
|
@@ -32,8 +35,8 @@ binding and rollout mode are configured.
|
|
|
32
35
|
|
|
33
36
|
| Component | Supported version |
|
|
34
37
|
|---|---|
|
|
35
|
-
| Core and MCP | `0.5.
|
|
36
|
-
| OpenCode plugin | `0.5.
|
|
38
|
+
| Core and MCP | `0.5.2` |
|
|
39
|
+
| OpenCode plugin | `0.5.2` |
|
|
37
40
|
| OpenCode V2 | `0.0.0-beta-18743` |
|
|
38
41
|
| `@opencode-ai/plugin` | `0.0.0-beta-18743` |
|
|
39
42
|
| Bun | `>=1.3.14` |
|
|
@@ -47,7 +50,7 @@ itself unless the running OpenCode version exactly matches the supported beta.
|
|
|
47
50
|
Run the server directly:
|
|
48
51
|
|
|
49
52
|
```sh
|
|
50
|
-
bunx @vaur94/agz-memory@0.5.
|
|
53
|
+
bunx @vaur94/agz-memory@0.5.2
|
|
51
54
|
```
|
|
52
55
|
|
|
53
56
|
Or register it in OpenCode V2 under `mcp.servers`:
|
|
@@ -55,13 +58,13 @@ Or register it in OpenCode V2 under `mcp.servers`:
|
|
|
55
58
|
```jsonc
|
|
56
59
|
{
|
|
57
60
|
"skills": [
|
|
58
|
-
"https://raw.githubusercontent.com/ugur-murat-alt/agz-memory/v0.5.
|
|
61
|
+
"https://raw.githubusercontent.com/ugur-murat-alt/agz-memory/v0.5.2/skills/"
|
|
59
62
|
],
|
|
60
63
|
"mcp": {
|
|
61
64
|
"servers": {
|
|
62
65
|
"agz-memory": {
|
|
63
66
|
"type": "local",
|
|
64
|
-
"command": ["bunx", "@vaur94/agz-memory@0.5.
|
|
67
|
+
"command": ["bunx", "@vaur94/agz-memory@0.5.2"],
|
|
65
68
|
"environment": {
|
|
66
69
|
"OPENCODE_MEMORY_DATABASE_PATH": "{env:OPENCODE_MEMORY_DATABASE_PATH}"
|
|
67
70
|
},
|
|
@@ -111,7 +114,8 @@ OpenCode exposes the tools with the configured server prefix, for example
|
|
|
111
114
|
Recommended sequence:
|
|
112
115
|
|
|
113
116
|
1. Call `project_list` and reuse an existing project when it represents the
|
|
114
|
-
same durable workspace.
|
|
117
|
+
same durable workspace. Git linked worktrees are separate checkouts of that
|
|
118
|
+
workspace and must reuse its `projectID`.
|
|
115
119
|
2. Call `project_create` only when no matching project exists.
|
|
116
120
|
3. Keep the returned `projectID`; names can change, UUIDs cannot.
|
|
117
121
|
4. Call `memory_recall` before relying on historical decisions.
|
|
@@ -130,7 +134,7 @@ options:
|
|
|
130
134
|
{
|
|
131
135
|
"plugins": [
|
|
132
136
|
{
|
|
133
|
-
"package": "@vaur94/agz-memory-plugin@0.5.
|
|
137
|
+
"package": "@vaur94/agz-memory-plugin@0.5.2",
|
|
134
138
|
"options": {
|
|
135
139
|
"mode": "off",
|
|
136
140
|
"autoCreateProjects": false,
|
|
@@ -171,9 +175,13 @@ an OpenCode project/workspace/location to an existing AGZ Memory project:
|
|
|
171
175
|
```
|
|
172
176
|
|
|
173
177
|
`memoryProjectID` must come from `project_list`. The directory is resolved with
|
|
174
|
-
the filesystem and compared with the active OpenCode location.
|
|
175
|
-
|
|
176
|
-
|
|
178
|
+
the filesystem and compared with the active OpenCode location. A main checkout
|
|
179
|
+
and a linked Git worktree are accepted as the same repository only when their
|
|
180
|
+
Git metadata confirms the shared common directory. Configure each distinct
|
|
181
|
+
OpenCode project/workspace identity explicitly, but reuse the same
|
|
182
|
+
`memoryProjectID`; the configured canonical path and its persisted hash remain
|
|
183
|
+
unchanged. An unrelated or unverifiable location and a duplicate mapping disable
|
|
184
|
+
the plugin rather than selecting a project heuristically.
|
|
177
185
|
|
|
178
186
|
## Roll Out Safely
|
|
179
187
|
|
|
@@ -203,11 +211,11 @@ quality, and latency gates.
|
|
|
203
211
|
The admin CLI reads the same `OPENCODE_MEMORY_DATABASE_PATH`:
|
|
204
212
|
|
|
205
213
|
```sh
|
|
206
|
-
bunx --package @vaur94/agz-memory@0.5.
|
|
207
|
-
bunx --package @vaur94/agz-memory@0.5.
|
|
208
|
-
bunx --package @vaur94/agz-memory@0.5.
|
|
209
|
-
bunx --package @vaur94/agz-memory@0.5.
|
|
210
|
-
bunx --package @vaur94/agz-memory@0.5.
|
|
214
|
+
bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin doctor
|
|
215
|
+
bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin backup
|
|
216
|
+
bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin upgrade --to 11
|
|
217
|
+
bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin capture status
|
|
218
|
+
bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin outbox status
|
|
211
219
|
```
|
|
212
220
|
|
|
213
221
|
Upgrades take an exclusive migration lock and create a verified backup before
|
|
@@ -216,7 +224,7 @@ restore. Restore and backup deletion use dry-run output plus explicit
|
|
|
216
224
|
confirmation values; never guess them.
|
|
217
225
|
|
|
218
226
|
Use [the backup and restore runbook](docs/backup-restore-runbook.md) for a full
|
|
219
|
-
rehearsal.
|
|
227
|
+
rehearsal. The `0.5.2` backup manifests use `agz-memory-backup/1`; prerelease
|
|
220
228
|
manifests must be handled by the prerelease that created them.
|
|
221
229
|
|
|
222
230
|
## Security Model
|
package/README.tr.md
CHANGED
|
@@ -10,6 +10,9 @@ Aynı sürümde ilerleyen, birbirinden bağımsız kullanılabilen iki paket sun
|
|
|
10
10
|
- `@vaur94/agz-memory-plugin`: sınırlı geri çağırma ve bilinçli olarak aşamalı
|
|
11
11
|
otomatik yakalama için isteğe bağlı OpenCode V2 bağdaştırıcısı.
|
|
12
12
|
|
|
13
|
+
**0.5.2 durumu:** Bu depo 0.5.2 sürüm yüzeyini ve uyumluluk sözleşmesini
|
|
14
|
+
belgeler; npm yayımlama ve Git barındırma durumu ayrı olarak izlenir.
|
|
15
|
+
|
|
13
16
|
MCP sunucusu normal kullanım için hazırdır. Eklenti hareketsiz başlar: açık bir
|
|
14
17
|
eşleme ve devreye alma modu verilene kadar proje oluşturmaz, oturum yakalamaz ve
|
|
15
18
|
bağlam eklemez.
|
|
@@ -32,8 +35,8 @@ bağlam eklemez.
|
|
|
32
35
|
|
|
33
36
|
| Bileşen | Desteklenen sürüm |
|
|
34
37
|
|---|---|
|
|
35
|
-
| Çekirdek ve MCP | `0.5.
|
|
36
|
-
| OpenCode eklentisi | `0.5.
|
|
38
|
+
| Çekirdek ve MCP | `0.5.2` |
|
|
39
|
+
| OpenCode eklentisi | `0.5.2` |
|
|
37
40
|
| OpenCode V2 | `0.0.0-beta-18743` |
|
|
38
41
|
| `@opencode-ai/plugin` | `0.0.0-beta-18743` |
|
|
39
42
|
| Bun | `>=1.3.14` |
|
|
@@ -47,7 +50,7 @@ MCP sunucusu bir OpenCode beta sürümüne bağlı değildir. İsteğe bağlı e
|
|
|
47
50
|
Sunucuyu doğrudan çalıştırın:
|
|
48
51
|
|
|
49
52
|
```sh
|
|
50
|
-
bunx @vaur94/agz-memory@0.5.
|
|
53
|
+
bunx @vaur94/agz-memory@0.5.2
|
|
51
54
|
```
|
|
52
55
|
|
|
53
56
|
Ya da OpenCode V2 içinde `mcp.servers` altına kaydedin:
|
|
@@ -55,13 +58,13 @@ Ya da OpenCode V2 içinde `mcp.servers` altına kaydedin:
|
|
|
55
58
|
```jsonc
|
|
56
59
|
{
|
|
57
60
|
"skills": [
|
|
58
|
-
"https://raw.githubusercontent.com/ugur-murat-alt/agz-memory/v0.5.
|
|
61
|
+
"https://raw.githubusercontent.com/ugur-murat-alt/agz-memory/v0.5.2/skills/"
|
|
59
62
|
],
|
|
60
63
|
"mcp": {
|
|
61
64
|
"servers": {
|
|
62
65
|
"agz-memory": {
|
|
63
66
|
"type": "local",
|
|
64
|
-
"command": ["bunx", "@vaur94/agz-memory@0.5.
|
|
67
|
+
"command": ["bunx", "@vaur94/agz-memory@0.5.2"],
|
|
65
68
|
"environment": {
|
|
66
69
|
"OPENCODE_MEMORY_DATABASE_PATH": "{env:OPENCODE_MEMORY_DATABASE_PATH}"
|
|
67
70
|
},
|
|
@@ -112,7 +115,8 @@ OpenCode araçları yapılandırılan sunucu önekiyle gösterir; örneğin
|
|
|
112
115
|
Önerilen sıra:
|
|
113
116
|
|
|
114
117
|
1. `project_list` çağırın ve aynı kalıcı çalışma alanını temsil eden mevcut
|
|
115
|
-
projeyi yeniden kullanın.
|
|
118
|
+
projeyi yeniden kullanın. Git bağlantılı çalışma ağaçları bu çalışma alanının
|
|
119
|
+
ayrı kod kopyalarıdır ve aynı `projectID` değerini kullanmalıdır.
|
|
116
120
|
2. Yalnız eşleşen proje yoksa `project_create` çağırın.
|
|
117
121
|
3. Dönen `projectID` değerini saklayın; ad değişebilir, UUID değişmez.
|
|
118
122
|
4. Geçmiş kararlara dayanmadan önce `memory_recall` çağırın.
|
|
@@ -132,7 +136,7 @@ ayarlarla ekleyin:
|
|
|
132
136
|
{
|
|
133
137
|
"plugins": [
|
|
134
138
|
{
|
|
135
|
-
"package": "@vaur94/agz-memory-plugin@0.5.
|
|
139
|
+
"package": "@vaur94/agz-memory-plugin@0.5.2",
|
|
136
140
|
"options": {
|
|
137
141
|
"mode": "off",
|
|
138
142
|
"autoCreateProjects": false,
|
|
@@ -173,9 +177,13 @@ OpenCode proje/çalışma alanı/konumunu mevcut AGZ Memory projesine bağlar:
|
|
|
173
177
|
```
|
|
174
178
|
|
|
175
179
|
`memoryProjectID`, `project_list` sonucundan gelmelidir. Dizin gerçek dosya
|
|
176
|
-
sistemi yoluna çözülür ve etkin OpenCode konumuyla karşılaştırılır.
|
|
177
|
-
|
|
178
|
-
|
|
180
|
+
sistemi yoluna çözülür ve etkin OpenCode konumuyla karşılaştırılır. Ana kod
|
|
181
|
+
kopyası ile bağlantılı Git çalışma ağacı, yalnız Git metadata'sı ortak dizini
|
|
182
|
+
doğruladığında aynı depo kabul edilir. Her farklı OpenCode proje/çalışma alanı
|
|
183
|
+
kimliğini açıkça eşleyin, fakat aynı `memoryProjectID` değerini yeniden kullanın;
|
|
184
|
+
yapılandırılmış kanonik yol ve veritabanındaki özeti değişmez. İlişkisiz veya
|
|
185
|
+
doğrulanamayan konum ya da çift eşleme, sezgisel proje seçmek yerine eklentiyi
|
|
186
|
+
kapatır.
|
|
179
187
|
|
|
180
188
|
## Güvenli Devreye Alma
|
|
181
189
|
|
|
@@ -205,11 +213,11 @@ kapılarından geçene kadar `semanticBackend` değeri `none` olmalıdır.
|
|
|
205
213
|
Yönetim aracı aynı `OPENCODE_MEMORY_DATABASE_PATH` değerini okur:
|
|
206
214
|
|
|
207
215
|
```sh
|
|
208
|
-
bunx --package @vaur94/agz-memory@0.5.
|
|
209
|
-
bunx --package @vaur94/agz-memory@0.5.
|
|
210
|
-
bunx --package @vaur94/agz-memory@0.5.
|
|
211
|
-
bunx --package @vaur94/agz-memory@0.5.
|
|
212
|
-
bunx --package @vaur94/agz-memory@0.5.
|
|
216
|
+
bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin doctor
|
|
217
|
+
bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin backup
|
|
218
|
+
bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin upgrade --to 11
|
|
219
|
+
bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin capture status
|
|
220
|
+
bunx --package @vaur94/agz-memory@0.5.2 agz-memory-admin outbox status
|
|
213
221
|
```
|
|
214
222
|
|
|
215
223
|
Yükseltmeler özel bir geçiş kilidi alır ve veritabanını değiştirmeden önce
|
|
@@ -218,7 +226,7 @@ dener. Geri yükleme ve yedek silme işlemleri önce deneme çıktısı, sonra a
|
|
|
218
226
|
onay değerleri ister; bu değerleri tahmin etmeyin.
|
|
219
227
|
|
|
220
228
|
Tam prova için [yedekleme ve geri yükleme runbook'unu](docs/backup-restore-runbook.tr.md)
|
|
221
|
-
kullanın.
|
|
229
|
+
kullanın. `0.5.2` yedek manifestleri `agz-memory-backup/1` kullanır;
|
|
222
230
|
ön sürüm manifestleri onları oluşturan ön sürümle işlenmelidir.
|
|
223
231
|
|
|
224
232
|
## Güvenlik Modeli
|