@mrc2204/agent-smart-memo 5.0.0 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +266 -144
- package/dist/commands/telegram-addproject-command.d.ts +33 -0
- package/dist/commands/telegram-addproject-command.d.ts.map +1 -0
- package/dist/commands/telegram-addproject-command.js +208 -0
- package/dist/commands/telegram-addproject-command.js.map +1 -0
- package/dist/core/contracts/adapter-contracts.d.ts +1 -1
- package/dist/core/contracts/adapter-contracts.d.ts.map +1 -1
- package/dist/core/usecases/default-memory-usecase-port.d.ts +33 -0
- package/dist/core/usecases/default-memory-usecase-port.d.ts.map +1 -1
- package/dist/core/usecases/default-memory-usecase-port.js +876 -0
- package/dist/core/usecases/default-memory-usecase-port.js.map +1 -1
- package/dist/db/slot-db.d.ts +293 -0
- package/dist/db/slot-db.d.ts.map +1 -1
- package/dist/db/slot-db.js +1272 -0
- package/dist/db/slot-db.js.map +1 -1
- package/dist/index.d.ts +537 -64
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +212 -90
- package/dist/index.js.map +1 -1
- package/dist/services/qdrant.d.ts.map +1 -1
- package/dist/services/qdrant.js +17 -0
- package/dist/services/qdrant.js.map +1 -1
- package/dist/tools/project-tools.d.ts +8 -0
- package/dist/tools/project-tools.d.ts.map +1 -0
- package/dist/tools/project-tools.js +649 -0
- package/dist/tools/project-tools.js.map +1 -0
- package/openclaw.plugin.json +22 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,115 +1,264 @@
|
|
|
1
1
|
# Agent Smart Memo
|
|
2
2
|
|
|
3
|
-
> **
|
|
3
|
+
> **ASM v5.1 super memory platform for OpenClaw agents** — unified memory for **conversation memory**, **project memory**, semantic retrieval, structured slots, graph knowledge, onboarding, and engineering context assembly.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Originally built as an OpenClaw memory plugin for conversation/runtime memory, `agent-smart-memo` has evolved into a broader **agent memory platform**:
|
|
6
6
|
|
|
7
|
-
- **
|
|
8
|
-
- **
|
|
9
|
-
- **
|
|
10
|
-
- **
|
|
7
|
+
- **conversation memory** for agent runtime continuity
|
|
8
|
+
- **project memory** for repo-aware engineering context
|
|
9
|
+
- **semantic memory** via vector retrieval
|
|
10
|
+
- **structured slot memory** via SQLite
|
|
11
|
+
- **graph memory** for entities/relationships
|
|
12
|
+
- **operator onboarding** for project registration + Jira mapping + indexing
|
|
13
|
+
- **CLI/setup flows** for OpenClaw installation and bootstrap
|
|
11
14
|
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
This repo is still packaged for **OpenClaw first**, but its practical role is now:
|
|
16
|
+
|
|
17
|
+
- a **super memory layer** for agents
|
|
18
|
+
- a **project-aware engineering memory system**
|
|
19
|
+
- an **operator-friendly onboarding/runtime package**
|
|
20
|
+
|
|
21
|
+
It is no longer accurate to describe ASM as only a small conversation-memory plugin.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 1) What ASM v5.1 is
|
|
26
|
+
|
|
27
|
+
ASM v5.1 combines two big memory domains.
|
|
28
|
+
|
|
29
|
+
### A. Conversation memory
|
|
30
|
+
Used for ongoing agent continuity and runtime recall:
|
|
31
|
+
- semantic memory (`memory_search`, `memory_store`)
|
|
32
|
+
- structured slot memory (`memory_slot_*`)
|
|
33
|
+
- graph memory (`memory_graph_*`)
|
|
34
|
+
- auto-capture / auto-recall support
|
|
35
|
+
- namespace-aware memory behavior
|
|
36
|
+
|
|
37
|
+
### B. Project memory
|
|
38
|
+
Used for engineering/project-aware workflows:
|
|
39
|
+
- project registry and aliasing
|
|
40
|
+
- repo root / repo remote identity
|
|
41
|
+
- Jira mapping and tracker linkage
|
|
42
|
+
- onboarding flows for new repos
|
|
43
|
+
- project indexing / reindexing
|
|
44
|
+
- hybrid retrieval with file / symbol / task lineage
|
|
45
|
+
|
|
46
|
+
That is why ASM now acts as:
|
|
47
|
+
|
|
48
|
+
> **conversation memory + project memory + retrieval/control plane in one agent-facing platform**
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 2) What ASM v5.1 provides today
|
|
53
|
+
|
|
54
|
+
ASM-69 and follow-up waves expanded the system from memory-only into project-aware memory orchestration.
|
|
55
|
+
|
|
56
|
+
### Project-aware memory model
|
|
57
|
+
Agents can now reason about:
|
|
58
|
+
- `project_id`
|
|
59
|
+
- project alias
|
|
60
|
+
- `repo_root`
|
|
61
|
+
- `repo_remote`
|
|
62
|
+
- Jira space / epic mapping
|
|
63
|
+
- registration / validation state
|
|
64
|
+
|
|
65
|
+
### Ingest + semantic block extraction
|
|
66
|
+
Codebases can be transformed into retrievable structures using:
|
|
67
|
+
- file planning
|
|
68
|
+
- semantic block extraction
|
|
69
|
+
- deterministic file/chunk/symbol IDs
|
|
70
|
+
- diff-aware indexing primitives
|
|
71
|
+
|
|
72
|
+
### Incremental reindex
|
|
73
|
+
Instead of rebuilding everything blindly, ASM now supports:
|
|
74
|
+
- changed / unchanged / deleted diffing
|
|
75
|
+
- watch-state snapshotting
|
|
76
|
+
- checksum-driven reindex control
|
|
77
|
+
- background-friendly trigger flow
|
|
78
|
+
|
|
79
|
+
### Hybrid retrieval + task lineage
|
|
80
|
+
ASM is not just vector search anymore.
|
|
81
|
+
It can combine:
|
|
82
|
+
- semantic recall
|
|
83
|
+
- lexical/project filters
|
|
84
|
+
- file/symbol/task context
|
|
85
|
+
- parent/related/touched lineage context
|
|
86
|
+
|
|
87
|
+
### Operator onboarding
|
|
88
|
+
Operators can onboard a project with repo + alias + Jira mapping + optional index trigger using project-aware command flows.
|
|
89
|
+
|
|
90
|
+
### Setup CLI
|
|
91
|
+
OpenClaw setup is now easier through the global CLI:
|
|
92
|
+
- `asm setup-openclaw`
|
|
93
|
+
- `asm setup openclaw`
|
|
94
|
+
- legacy-compatible `npm run init-openclaw`
|
|
14
95
|
|
|
15
96
|
---
|
|
16
97
|
|
|
17
|
-
##
|
|
98
|
+
## 3) Scope of this repository
|
|
18
99
|
|
|
19
|
-
|
|
100
|
+
This repository now spans multiple practical layers.
|
|
20
101
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
102
|
+
### OpenClaw runtime/plugin layer
|
|
103
|
+
Includes:
|
|
104
|
+
- plugin entry
|
|
105
|
+
- tool registration
|
|
106
|
+
- runtime hooks
|
|
107
|
+
- OpenClaw packaging/build flow
|
|
108
|
+
- setup/bootstrap CLI flow
|
|
109
|
+
|
|
110
|
+
### Shared memory platform layer
|
|
111
|
+
Includes:
|
|
112
|
+
- SlotDB
|
|
113
|
+
- semantic memory use-cases
|
|
114
|
+
- graph/registry logic
|
|
115
|
+
- shared contracts and runtime abstractions
|
|
116
|
+
|
|
117
|
+
### Project-aware engineering memory layer
|
|
118
|
+
Includes:
|
|
119
|
+
- project registry
|
|
120
|
+
- onboarding use-cases
|
|
121
|
+
- tracker mapping
|
|
122
|
+
- indexing/reindexing primitives
|
|
123
|
+
- lineage-aware retrieval
|
|
124
|
+
|
|
125
|
+
So the best mental model is:
|
|
126
|
+
|
|
127
|
+
> **an OpenClaw-delivered super memory platform with both conversation memory and project memory**
|
|
27
128
|
|
|
28
129
|
---
|
|
29
130
|
|
|
30
|
-
##
|
|
131
|
+
## 4) Runtime targets
|
|
31
132
|
|
|
32
133
|
### OpenClaw target
|
|
33
|
-
Use this when you want
|
|
134
|
+
Use this when you want ASM as the main OpenClaw memory/runtime plugin.
|
|
34
135
|
|
|
35
136
|
Contains:
|
|
36
|
-
- core
|
|
37
|
-
- required infra
|
|
137
|
+
- core memory platform
|
|
38
138
|
- OpenClaw adapter
|
|
39
139
|
- plugin entry / hooks / tool registration
|
|
140
|
+
- operator onboarding command surfaces
|
|
40
141
|
|
|
41
142
|
Artifact intent:
|
|
42
143
|
- **OpenClaw plugin artifact**
|
|
43
144
|
|
|
44
145
|
### Paperclip target
|
|
45
|
-
Use this when you want
|
|
146
|
+
Use this when you want Paperclip to consume the same shared memory core/runtime behavior.
|
|
46
147
|
|
|
47
148
|
Contains:
|
|
48
|
-
- core
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
- runtime wrapper / compatibility mapper
|
|
149
|
+
- core memory platform
|
|
150
|
+
- Paperclip adapter/runtime wrapper
|
|
151
|
+
- compatibility mapping
|
|
52
152
|
|
|
53
153
|
Artifact intent:
|
|
54
154
|
- **Paperclip runtime package**
|
|
55
155
|
|
|
56
156
|
### Core target
|
|
57
|
-
Use this when you
|
|
157
|
+
Use this when you want the shared contracts/use-cases without OpenClaw/Paperclip-specific delivery.
|
|
58
158
|
|
|
59
159
|
Contains:
|
|
60
|
-
-
|
|
61
|
-
- use-
|
|
62
|
-
- shared platform rules
|
|
160
|
+
- shared contracts
|
|
161
|
+
- shared use-cases
|
|
162
|
+
- shared memory/platform rules
|
|
63
163
|
|
|
64
164
|
Artifact intent:
|
|
65
165
|
- **runtime-agnostic shared memory core**
|
|
66
166
|
|
|
67
167
|
---
|
|
68
168
|
|
|
69
|
-
##
|
|
169
|
+
## 5) Main capability areas
|
|
70
170
|
|
|
71
|
-
###
|
|
72
|
-
|
|
171
|
+
### Conversation memory capabilities
|
|
172
|
+
- `memory_search`
|
|
173
|
+
- `memory_store`
|
|
174
|
+
- `memory_slot_get`
|
|
175
|
+
- `memory_slot_set`
|
|
176
|
+
- `memory_slot_delete`
|
|
177
|
+
- `memory_slot_list`
|
|
178
|
+
- `memory_graph_*`
|
|
179
|
+
- auto-capture / auto-recall
|
|
180
|
+
|
|
181
|
+
### Project memory capabilities
|
|
182
|
+
- `project.register`
|
|
183
|
+
- `project.get`
|
|
184
|
+
- `project.list`
|
|
185
|
+
- `project.link_tracker`
|
|
186
|
+
- `project.trigger_index`
|
|
187
|
+
- `project.reindex_diff`
|
|
188
|
+
- `project.index_watch_get`
|
|
189
|
+
- `project.legacy_backfill`
|
|
190
|
+
- Telegram/operator onboarding surfaces
|
|
191
|
+
|
|
192
|
+
### Retrieval/engineering context capabilities
|
|
193
|
+
- semantic retrieval
|
|
194
|
+
- lexical/project filtering
|
|
195
|
+
- project-aware context assembly
|
|
196
|
+
- file / symbol / task lineage
|
|
197
|
+
- repo-aware indexing and reindexing
|
|
73
198
|
|
|
74
|
-
|
|
75
|
-
Do **not** treat the whole repository output as one OpenClaw-only artifact.
|
|
199
|
+
---
|
|
76
200
|
|
|
77
|
-
|
|
78
|
-
- Paperclip artifact should contain only what Paperclip needs
|
|
79
|
-
- Core artifact should stay reusable for future systems
|
|
201
|
+
## 6) CLI / setup UX
|
|
80
202
|
|
|
81
|
-
|
|
82
|
-
The following should be shared across runtimes:
|
|
83
|
-
- namespace policy
|
|
84
|
-
- actor context contract
|
|
85
|
-
- error model
|
|
86
|
-
- use-case interfaces
|
|
87
|
-
- rollout guardrails
|
|
203
|
+
The preferred setup path is the global CLI.
|
|
88
204
|
|
|
89
|
-
|
|
205
|
+
### Install globally
|
|
206
|
+
```bash
|
|
207
|
+
npm install -g @mrc2204/agent-smart-memo
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Preferred setup flow
|
|
211
|
+
```bash
|
|
212
|
+
asm setup-openclaw
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
Also supported:
|
|
216
|
+
```bash
|
|
217
|
+
asm setup openclaw
|
|
218
|
+
```
|
|
90
219
|
|
|
91
|
-
|
|
220
|
+
Legacy-compatible flow:
|
|
221
|
+
```bash
|
|
222
|
+
npm run init-openclaw
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### What `asm setup-openclaw` does
|
|
226
|
+
1. checks that `openclaw` CLI exists
|
|
227
|
+
2. installs `@mrc2204/agent-smart-memo` if missing
|
|
228
|
+
3. runs OpenClaw bootstrap/init flow
|
|
229
|
+
4. patches config with preview + backup behavior
|
|
230
|
+
5. prints next-step verification guidance
|
|
231
|
+
|
|
232
|
+
This is the fastest path for operators who want ASM enabled in OpenClaw without manual config editing first.
|
|
233
|
+
|
|
234
|
+
---
|
|
92
235
|
|
|
93
|
-
|
|
236
|
+
## 7) Quick start for OpenClaw
|
|
94
237
|
|
|
95
|
-
|
|
238
|
+
If your current goal is still “install and run ASM in OpenClaw”, use this section.
|
|
96
239
|
|
|
240
|
+
### Install plugin directly
|
|
97
241
|
```bash
|
|
98
242
|
openclaw plugins install @mrc2204/agent-smart-memo
|
|
99
243
|
```
|
|
100
244
|
|
|
101
|
-
###
|
|
245
|
+
### Or install locally from source
|
|
246
|
+
```bash
|
|
247
|
+
npm install
|
|
248
|
+
npm run build
|
|
249
|
+
openclaw plugins install -l .
|
|
250
|
+
```
|
|
102
251
|
|
|
103
|
-
|
|
252
|
+
### Prerequisites
|
|
253
|
+
You typically need:
|
|
104
254
|
|
|
105
255
|
| Service | Purpose | Example |
|
|
106
256
|
|---|---|---|
|
|
107
|
-
| Qdrant | Semantic
|
|
108
|
-
| Embedding backend | Embeddings for semantic
|
|
109
|
-
| LLM endpoint | Fact extraction / auto-capture |
|
|
110
|
-
|
|
111
|
-
### OpenClaw config example
|
|
257
|
+
| Qdrant | Semantic/vector memory | `docker run -d -p 6333:6333 qdrant/qdrant` |
|
|
258
|
+
| Embedding backend | Embeddings for semantic recall | Ollama / OpenAI-compatible / docker adapter |
|
|
259
|
+
| LLM endpoint | Fact extraction / auto-capture | OpenAI-compatible API |
|
|
112
260
|
|
|
261
|
+
### Example OpenClaw config
|
|
113
262
|
Add to `~/.openclaw/openclaw.json`:
|
|
114
263
|
|
|
115
264
|
```json5
|
|
@@ -144,22 +293,48 @@ Add to `~/.openclaw/openclaw.json`:
|
|
|
144
293
|
}
|
|
145
294
|
```
|
|
146
295
|
|
|
147
|
-
|
|
296
|
+
---
|
|
148
297
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
298
|
+
## 8) Project onboarding flow
|
|
299
|
+
|
|
300
|
+
For project-aware onboarding in OpenClaw/Telegram flows, the current slash command is:
|
|
301
|
+
|
|
302
|
+
```text
|
|
303
|
+
/project <repo_url>
|
|
153
304
|
```
|
|
154
305
|
|
|
306
|
+
### Current behavior summary
|
|
307
|
+
- onboarding preview exposes resolved `repo_root` when derivable
|
|
308
|
+
- preview/commit can report `repo_resolution` and `clone_policy`
|
|
309
|
+
- if `repo_url` matches an already-registered remote, registration reuses the existing project identity / `repo_root`
|
|
310
|
+
- if `repo_url` is a local path, it is treated as import without `git clone`
|
|
311
|
+
- `project.trigger_index` is background-friendly and reports:
|
|
312
|
+
- `accepted`
|
|
313
|
+
- `enqueued`
|
|
314
|
+
- `detached`
|
|
315
|
+
- `job_id`
|
|
316
|
+
|
|
317
|
+
### Typical onboarding path
|
|
318
|
+
1. operator starts with `/project <repo_url>`
|
|
319
|
+
2. bot prepares preview
|
|
320
|
+
3. preview shows alias/Jira/index choices and repo resolution hints
|
|
321
|
+
4. operator confirms
|
|
322
|
+
5. flow bridges into:
|
|
323
|
+
- `project_register_command`
|
|
324
|
+
- `project_link_tracker`
|
|
325
|
+
- `project_trigger_index`
|
|
326
|
+
|
|
327
|
+
See also:
|
|
328
|
+
- `docs/architecture/ASM-74-master-project-registration-ux-command-contract-jira-mapping-v5.1.md`
|
|
329
|
+
- `tests/test-project-registry.ts`
|
|
330
|
+
|
|
155
331
|
---
|
|
156
332
|
|
|
157
|
-
##
|
|
333
|
+
## 9) Quick start for Paperclip
|
|
158
334
|
|
|
159
335
|
If your goal is to let **Paperclip** consume the same memory core:
|
|
160
336
|
|
|
161
337
|
### Build the Paperclip target
|
|
162
|
-
|
|
163
338
|
```bash
|
|
164
339
|
npm install
|
|
165
340
|
npm run build:paperclip
|
|
@@ -184,10 +359,9 @@ But README intentionally does **not** overclaim this as full production-grade mu
|
|
|
184
359
|
|
|
185
360
|
---
|
|
186
361
|
|
|
187
|
-
##
|
|
362
|
+
## 10) Build targets
|
|
188
363
|
|
|
189
364
|
### Default build
|
|
190
|
-
|
|
191
365
|
```bash
|
|
192
366
|
npm run build
|
|
193
367
|
```
|
|
@@ -195,7 +369,6 @@ npm run build
|
|
|
195
369
|
Default build remains **OpenClaw-compatible** for backward compatibility.
|
|
196
370
|
|
|
197
371
|
### Explicit targets
|
|
198
|
-
|
|
199
372
|
```bash
|
|
200
373
|
npm run build:openclaw
|
|
201
374
|
npm run build:paperclip
|
|
@@ -204,7 +377,6 @@ npm run build:all
|
|
|
204
377
|
```
|
|
205
378
|
|
|
206
379
|
### Packaging
|
|
207
|
-
|
|
208
380
|
```bash
|
|
209
381
|
npm run package:openclaw
|
|
210
382
|
npm run package:paperclip
|
|
@@ -212,7 +384,6 @@ npm run package:core
|
|
|
212
384
|
```
|
|
213
385
|
|
|
214
386
|
### Pack tarballs
|
|
215
|
-
|
|
216
387
|
```bash
|
|
217
388
|
npm run pack:openclaw
|
|
218
389
|
npm run pack:paperclip
|
|
@@ -220,7 +391,6 @@ npm run pack:core
|
|
|
220
391
|
```
|
|
221
392
|
|
|
222
393
|
### Publish targets
|
|
223
|
-
|
|
224
394
|
```bash
|
|
225
395
|
npm run publish:openclaw
|
|
226
396
|
npm run publish:paperclip
|
|
@@ -231,7 +401,7 @@ npm run publish:core
|
|
|
231
401
|
|
|
232
402
|
---
|
|
233
403
|
|
|
234
|
-
##
|
|
404
|
+
## 11) CI/CD model
|
|
235
405
|
|
|
236
406
|
GitHub Actions workflow: `.github/workflows/publish.yml`
|
|
237
407
|
|
|
@@ -245,9 +415,9 @@ Current flow:
|
|
|
245
415
|
|
|
246
416
|
### Important distinction
|
|
247
417
|
A `work/...` branch is for:
|
|
248
|
-
-
|
|
249
|
-
-
|
|
250
|
-
-
|
|
418
|
+
- CI checks
|
|
419
|
+
- PR review
|
|
420
|
+
- dry-run readiness
|
|
251
421
|
|
|
252
422
|
It is **not** the same as:
|
|
253
423
|
- production deploy
|
|
@@ -262,34 +432,7 @@ work/... push -> CI checks -> PR review -> approve -> merge default branch -> pu
|
|
|
262
432
|
|
|
263
433
|
---
|
|
264
434
|
|
|
265
|
-
##
|
|
266
|
-
|
|
267
|
-
### Semantic memory
|
|
268
|
-
- `memory_search`
|
|
269
|
-
- `memory_store`
|
|
270
|
-
- namespace-aware retrieval
|
|
271
|
-
- registry-aware alias normalization
|
|
272
|
-
- explicit unknown namespace validation
|
|
273
|
-
|
|
274
|
-
### Slot memory
|
|
275
|
-
- `memory_slot_get`
|
|
276
|
-
- `memory_slot_set`
|
|
277
|
-
- `memory_slot_delete`
|
|
278
|
-
- `memory_slot_list`
|
|
279
|
-
|
|
280
|
-
### Graph memory
|
|
281
|
-
- entity create/get/search
|
|
282
|
-
- relationship add/remove
|
|
283
|
-
- scoped traversal
|
|
284
|
-
|
|
285
|
-
### Runtime automation
|
|
286
|
-
- auto-capture
|
|
287
|
-
- auto-recall
|
|
288
|
-
- runtime identity injection where supported
|
|
289
|
-
|
|
290
|
-
---
|
|
291
|
-
|
|
292
|
-
## 9) Configuration notes
|
|
435
|
+
## 12) Configuration notes
|
|
293
436
|
|
|
294
437
|
### Embedding backend mapping
|
|
295
438
|
When `embedBackend` is set:
|
|
@@ -307,7 +450,7 @@ Resolution order:
|
|
|
307
450
|
|
|
308
451
|
---
|
|
309
452
|
|
|
310
|
-
##
|
|
453
|
+
## 13) Verification levels
|
|
311
454
|
|
|
312
455
|
### Build level
|
|
313
456
|
Confirms code compiles:
|
|
@@ -318,30 +461,36 @@ npm run build:all
|
|
|
318
461
|
```
|
|
319
462
|
|
|
320
463
|
### Contract / integration level
|
|
321
|
-
|
|
322
464
|
```bash
|
|
323
465
|
npm test
|
|
324
466
|
npm run test:openclaw
|
|
325
467
|
npm run test:paperclip
|
|
326
468
|
```
|
|
327
469
|
|
|
470
|
+
### Project-aware targeted verification
|
|
471
|
+
```bash
|
|
472
|
+
npx tsx tests/test-project-registry.ts
|
|
473
|
+
npx tsx tests/test-project-reindex-diff.ts
|
|
474
|
+
npx tsx tests/test-project-hybrid-lineage.ts
|
|
475
|
+
npx tsx tests/test-project-legacy-backfill.ts
|
|
476
|
+
```
|
|
477
|
+
|
|
328
478
|
### Production-like runtime verification
|
|
329
479
|
Examples already added in this repo include:
|
|
330
480
|
- Paperclip runtime E2E
|
|
331
481
|
- OpenClaw anti-regression integration
|
|
332
482
|
- production-like smoke parity harness
|
|
333
483
|
|
|
334
|
-
This is stronger than mock-only testing, but still distinct from a full production deployment.
|
|
335
|
-
|
|
336
484
|
---
|
|
337
485
|
|
|
338
|
-
##
|
|
486
|
+
## 14) Repository layout (high level)
|
|
339
487
|
|
|
340
488
|
```text
|
|
341
489
|
src/
|
|
342
490
|
core/
|
|
343
491
|
contracts/
|
|
344
492
|
usecases/
|
|
493
|
+
ingest/
|
|
345
494
|
adapters/
|
|
346
495
|
openclaw/
|
|
347
496
|
paperclip/
|
|
@@ -359,50 +508,23 @@ docs/architecture/
|
|
|
359
508
|
|
|
360
509
|
---
|
|
361
510
|
|
|
362
|
-
##
|
|
511
|
+
## 15) Current mental model
|
|
363
512
|
|
|
364
|
-
|
|
365
|
-
- architecture pack completed
|
|
366
|
-
- implementation pack substantially advanced
|
|
367
|
-
- runtime wiring exists for OpenClaw and Paperclip paths
|
|
368
|
-
- production-like smoke parity evidence exists
|
|
369
|
-
- target-based packaging/build pipeline exists
|
|
370
|
-
|
|
371
|
-
Still be precise about claims:
|
|
372
|
-
- strong progress beyond scaffold ✅
|
|
373
|
-
- compatibility-first runtime wiring ✅
|
|
374
|
-
- full production-grade multi-runtime completion should only be claimed with full runtime-host evidence and approved release flow
|
|
375
|
-
|
|
376
|
-
---
|
|
513
|
+
If you only remember one thing, remember this:
|
|
377
514
|
|
|
378
|
-
|
|
515
|
+
> **ASM v5.1 is a super memory platform for agents: conversation memory + project memory + retrieval/control-plane capabilities.**
|
|
379
516
|
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
npm run build:all
|
|
389
|
-
|
|
390
|
-
# test
|
|
391
|
-
npm test
|
|
392
|
-
npm run test:openclaw
|
|
393
|
-
npm run test:paperclip
|
|
394
|
-
|
|
395
|
-
# package / pack
|
|
396
|
-
npm run package:openclaw
|
|
397
|
-
npm run package:paperclip
|
|
398
|
-
npm run package:core
|
|
399
|
-
npm run pack:openclaw
|
|
400
|
-
npm run pack:paperclip
|
|
401
|
-
npm run pack:core
|
|
402
|
-
```
|
|
517
|
+
It helps agents:
|
|
518
|
+
- remember ongoing runtime/conversation context
|
|
519
|
+
- store/retrieve structured and semantic knowledge
|
|
520
|
+
- register and map projects
|
|
521
|
+
- index and reindex repos
|
|
522
|
+
- retrieve engineering context with lineage
|
|
523
|
+
- onboard projects with operator-friendly flows
|
|
524
|
+
- bootstrap OpenClaw faster through the CLI
|
|
403
525
|
|
|
404
526
|
---
|
|
405
527
|
|
|
406
|
-
##
|
|
528
|
+
## 16) License
|
|
407
529
|
|
|
408
530
|
MIT © [mrc2204](https://github.com/cong91)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { OpenClawPluginApi } from "openclaw/plugin-sdk";
|
|
2
|
+
import { getMemoryUseCasePortForContext } from "../adapters/openclaw/tool-runtime.js";
|
|
3
|
+
export interface AddProjectCommandPayload {
|
|
4
|
+
mode: "preview" | "confirm";
|
|
5
|
+
repo_url?: string;
|
|
6
|
+
project_alias?: string;
|
|
7
|
+
jira_space_key?: string;
|
|
8
|
+
default_epic_key?: string;
|
|
9
|
+
index_now?: boolean;
|
|
10
|
+
project_name?: string;
|
|
11
|
+
repo_root?: string;
|
|
12
|
+
active_version?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface AddProjectCommandDependencies {
|
|
15
|
+
getUseCasePortForContext?: typeof getMemoryUseCasePortForContext;
|
|
16
|
+
now?: () => number;
|
|
17
|
+
}
|
|
18
|
+
export declare function parseAddProjectCommandArgs(args?: string): AddProjectCommandPayload | {
|
|
19
|
+
help: true;
|
|
20
|
+
};
|
|
21
|
+
type AddProjectCommandContext = {
|
|
22
|
+
senderId?: string;
|
|
23
|
+
channel: string;
|
|
24
|
+
accountId?: string;
|
|
25
|
+
from?: string;
|
|
26
|
+
messageThreadId?: number;
|
|
27
|
+
};
|
|
28
|
+
export declare function composeAddProjectScopeUserId(ctx: AddProjectCommandContext): string;
|
|
29
|
+
export declare function formatAddProjectUsage(): string;
|
|
30
|
+
export declare function formatAddProjectResult(result: any): string;
|
|
31
|
+
export declare function registerTelegramAddProjectCommand(api: OpenClawPluginApi, deps?: AddProjectCommandDependencies): void;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=telegram-addproject-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telegram-addproject-command.d.ts","sourceRoot":"","sources":["../../src/commands/telegram-addproject-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,6BAA6B;IAC5C,wBAAwB,CAAC,EAAE,OAAO,8BAA8B,CAAC;IACjE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAgCD,wBAAgB,0BAA0B,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,wBAAwB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAkFnG;AAED,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,wBAAwB,GAAG,MAAM,CAMlF;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAU9C;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAyC1D;AAED,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,6BAA6B,GAAG,IAAI,CA4CpH"}
|