agent-working-memory 0.7.17 → 0.8.6
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 +156 -15
- package/dist/adapters/common.d.ts.map +1 -1
- package/dist/adapters/common.js +289 -202
- package/dist/adapters/common.js.map +1 -1
- package/dist/adapters/http.js +22 -22
- package/dist/api/routes.d.ts +1 -1
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +258 -79
- package/dist/api/routes.js.map +1 -1
- package/dist/cli/migrate.d.ts +42 -0
- package/dist/cli/migrate.d.ts.map +1 -0
- package/dist/cli/migrate.js +268 -0
- package/dist/cli/migrate.js.map +1 -0
- package/dist/cli.js +147 -103
- package/dist/cli.js.map +1 -1
- package/dist/coordination/circuit-breaker.d.ts +24 -0
- package/dist/coordination/circuit-breaker.d.ts.map +1 -0
- package/dist/coordination/circuit-breaker.js +70 -0
- package/dist/coordination/circuit-breaker.js.map +1 -0
- package/dist/coordination/failure-modes.d.ts +21 -0
- package/dist/coordination/failure-modes.d.ts.map +1 -0
- package/dist/coordination/failure-modes.js +49 -0
- package/dist/coordination/failure-modes.js.map +1 -0
- package/dist/coordination/peer-decisions.js +7 -7
- package/dist/coordination/routes.d.ts.map +1 -1
- package/dist/coordination/routes.js +44 -1
- package/dist/coordination/routes.js.map +1 -1
- package/dist/coordination/schema.d.ts.map +1 -1
- package/dist/coordination/schema.js +18 -0
- package/dist/coordination/schema.js.map +1 -1
- package/dist/coordination/schemas.d.ts +9 -9
- package/dist/coordination/stale.d.ts +9 -1
- package/dist/coordination/stale.d.ts.map +1 -1
- package/dist/coordination/stale.js +53 -9
- package/dist/coordination/stale.js.map +1 -1
- package/dist/core/embeddings.d.ts +16 -10
- package/dist/core/embeddings.d.ts.map +1 -1
- package/dist/core/embeddings.js +54 -38
- package/dist/core/embeddings.js.map +1 -1
- package/dist/core/ml-worker-entry.d.ts +17 -0
- package/dist/core/ml-worker-entry.d.ts.map +1 -0
- package/dist/core/ml-worker-entry.js +193 -0
- package/dist/core/ml-worker-entry.js.map +1 -0
- package/dist/core/ml-worker.d.ts +59 -0
- package/dist/core/ml-worker.d.ts.map +1 -0
- package/dist/core/ml-worker.js +253 -0
- package/dist/core/ml-worker.js.map +1 -0
- package/dist/core/query-expander.d.ts +13 -15
- package/dist/core/query-expander.d.ts.map +1 -1
- package/dist/core/query-expander.js +48 -54
- package/dist/core/query-expander.js.map +1 -1
- package/dist/core/reranker.d.ts +9 -19
- package/dist/core/reranker.d.ts.map +1 -1
- package/dist/core/reranker.js +33 -35
- package/dist/core/reranker.js.map +1 -1
- package/dist/core/salience.d.ts +32 -5
- package/dist/core/salience.d.ts.map +1 -1
- package/dist/core/salience.js +201 -28
- package/dist/core/salience.js.map +1 -1
- package/dist/core/write-pipeline.d.ts +10 -2
- package/dist/core/write-pipeline.d.ts.map +1 -1
- package/dist/core/write-pipeline.js +218 -49
- package/dist/core/write-pipeline.js.map +1 -1
- package/dist/engine/activation.d.ts +2 -2
- package/dist/engine/activation.d.ts.map +1 -1
- package/dist/engine/activation.js +238 -115
- package/dist/engine/activation.js.map +1 -1
- package/dist/engine/confidence.d.ts +62 -0
- package/dist/engine/confidence.d.ts.map +1 -0
- package/dist/engine/confidence.js +100 -0
- package/dist/engine/confidence.js.map +1 -0
- package/dist/engine/connections.d.ts +47 -8
- package/dist/engine/connections.d.ts.map +1 -1
- package/dist/engine/connections.js +83 -22
- package/dist/engine/connections.js.map +1 -1
- package/dist/engine/consolidation-scheduler.d.ts +46 -10
- package/dist/engine/consolidation-scheduler.d.ts.map +1 -1
- package/dist/engine/consolidation-scheduler.js +170 -50
- package/dist/engine/consolidation-scheduler.js.map +1 -1
- package/dist/engine/consolidation.d.ts +16 -2
- package/dist/engine/consolidation.d.ts.map +1 -1
- package/dist/engine/consolidation.js +143 -44
- package/dist/engine/consolidation.js.map +1 -1
- package/dist/engine/eval.d.ts +2 -2
- package/dist/engine/eval.d.ts.map +1 -1
- package/dist/engine/eval.js +9 -9
- package/dist/engine/eval.js.map +1 -1
- package/dist/engine/eviction.d.ts +4 -4
- package/dist/engine/eviction.d.ts.map +1 -1
- package/dist/engine/eviction.js +15 -15
- package/dist/engine/eviction.js.map +1 -1
- package/dist/engine/retraction.d.ts +93 -5
- package/dist/engine/retraction.d.ts.map +1 -1
- package/dist/engine/retraction.js +238 -19
- package/dist/engine/retraction.js.map +1 -1
- package/dist/engine/staging.d.ts +1 -1
- package/dist/engine/staging.d.ts.map +1 -1
- package/dist/engine/staging.js +3 -3
- package/dist/engine/staging.js.map +1 -1
- package/dist/hooks/sidecar.d.ts +1 -1
- package/dist/hooks/sidecar.d.ts.map +1 -1
- package/dist/hooks/sidecar.js +4 -4
- package/dist/hooks/sidecar.js.map +1 -1
- package/dist/index.js +48 -31
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +167 -141
- package/dist/mcp.js.map +1 -1
- package/dist/storage/factory.d.ts +55 -0
- package/dist/storage/factory.d.ts.map +1 -0
- package/dist/storage/factory.js +135 -0
- package/dist/storage/factory.js.map +1 -0
- package/dist/storage/pglite-schema.d.ts +20 -0
- package/dist/storage/pglite-schema.d.ts.map +1 -0
- package/dist/storage/pglite-schema.js +165 -0
- package/dist/storage/pglite-schema.js.map +1 -0
- package/dist/storage/pglite.d.ts +187 -0
- package/dist/storage/pglite.d.ts.map +1 -0
- package/dist/storage/pglite.js +1114 -0
- package/dist/storage/pglite.js.map +1 -0
- package/dist/storage/sqlite.d.ts +117 -0
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +357 -8
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/storage/store.d.ts +63 -0
- package/dist/storage/store.d.ts.map +1 -0
- package/dist/storage/store.js +27 -0
- package/dist/storage/store.js.map +1 -0
- package/dist/types/engram.d.ts +92 -2
- package/dist/types/engram.d.ts.map +1 -1
- package/dist/types/engram.js.map +1 -1
- package/package.json +3 -1
- package/src/adapters/claude-code.ts +218 -218
- package/src/adapters/codex.ts +252 -252
- package/src/adapters/common.ts +498 -411
- package/src/adapters/cursor.ts +135 -135
- package/src/adapters/http.ts +93 -93
- package/src/adapters/index.ts +31 -31
- package/src/adapters/types.ts +75 -75
- package/src/api/index.ts +3 -3
- package/src/api/routes.ts +970 -714
- package/src/cli/migrate.ts +307 -0
- package/src/cli.ts +755 -719
- package/src/coordination/circuit-breaker.ts +83 -0
- package/src/coordination/events.ts +90 -90
- package/src/coordination/failure-modes.ts +50 -0
- package/src/coordination/peer-decisions.ts +105 -105
- package/src/coordination/plugin-loader.ts +60 -60
- package/src/coordination/plugin.ts +44 -44
- package/src/coordination/routes.ts +56 -1
- package/src/coordination/schema.ts +13 -0
- package/src/coordination/stale.ts +80 -11
- package/src/coordination/types.ts +311 -311
- package/src/coordination/write-mutex.ts +69 -69
- package/src/core/auto-tagger.ts +168 -168
- package/src/core/decay.ts +63 -63
- package/src/core/embeddings.ts +110 -93
- package/src/core/index.ts +5 -5
- package/src/core/logger.ts +36 -36
- package/src/core/ml-worker-entry.ts +194 -0
- package/src/core/ml-worker.ts +281 -0
- package/src/core/query-expander.ts +122 -128
- package/src/core/reranker.ts +119 -125
- package/src/core/salience.ts +200 -33
- package/src/core/write-pipeline.ts +521 -343
- package/src/engine/activation.ts +235 -109
- package/src/engine/confidence.ts +120 -0
- package/src/engine/connections.ts +162 -103
- package/src/engine/consolidation-scheduler.ts +242 -125
- package/src/engine/consolidation.ts +138 -45
- package/src/engine/eval.ts +102 -102
- package/src/engine/eviction.ts +101 -101
- package/src/engine/index.ts +8 -8
- package/src/engine/retraction.ts +366 -116
- package/src/engine/staging.ts +74 -74
- package/src/hooks/sidecar.ts +5 -5
- package/src/index.ts +226 -212
- package/src/mcp.ts +1145 -1121
- package/src/storage/factory.ts +147 -0
- package/src/storage/index.ts +3 -3
- package/src/storage/pglite-schema.ts +166 -0
- package/src/storage/pglite.ts +1363 -0
- package/src/storage/sqlite.ts +402 -7
- package/src/storage/store.ts +80 -0
- package/src/types/agent.ts +67 -67
- package/src/types/checkpoint.ts +46 -46
- package/src/types/engram.ts +101 -3
- package/src/types/eval.ts +100 -100
- package/src/types/index.ts +6 -6
package/dist/adapters/common.js
CHANGED
|
@@ -164,207 +164,294 @@ export function upsertAwmSection(filePath, newContent, options = {}) {
|
|
|
164
164
|
writeFileSync(filePath, rebuilt);
|
|
165
165
|
return `${fname}: AWM section updated (preserved surrounding content)`;
|
|
166
166
|
}
|
|
167
|
-
export const AWM_INSTRUCTION_CONTENT = `
|
|
168
|
-
## Memory (AWM) — MANDATORY
|
|
169
|
-
|
|
170
|
-
**AWM is THE memory system.** Use it via the \`agent-working-memory\` MCP server
|
|
171
|
-
(preferred) or HTTP at \`http://127.0.0.1:8400\` (fallback). The file-based
|
|
172
|
-
auto-memory at \`~/.claude/projects/.../memory/*.md\` is a LEGACY bootstrap path —
|
|
173
|
-
**do not write new memories to it.** All persistent knowledge goes through AWM.
|
|
174
|
-
|
|
175
|
-
If MCP tools aren't loaded at session start, use ToolSearch with
|
|
176
|
-
\`select:mcp__agent-working-memory__memory_recall,mcp__agent-working-memory__memory_write\`
|
|
177
|
-
to load them. If the MCP server isn't responsive, restart with \`/mcp\` or use
|
|
178
|
-
the HTTP endpoints (\`POST /memory/write-batch\`, \`POST /memory/activate\`)
|
|
179
|
-
directly — but **DO NOT fall back to markdown files**. Files drift the moment
|
|
180
|
-
you write them; AWM stays current because every agent reads + writes the same store.
|
|
181
|
-
|
|
182
|
-
### Lifecycle (always do these, in this order)
|
|
183
|
-
1. **Session start**: call \`memory_restore\` to recover previous context.
|
|
184
|
-
2. **Starting a task**: call \`memory_task_begin\` (checkpoints + recalls relevant memories).
|
|
185
|
-
3. **During work**: call \`memory_recall\` BEFORE stating any fact, BEFORE searching
|
|
186
|
-
the filesystem, BEFORE making architectural decisions. Recall is ~300ms — cheaper
|
|
187
|
-
than one filesystem search.
|
|
188
|
-
4. **As you learn things**: call \`memory_write\` proactively. Don't batch.
|
|
189
|
-
5. **Finishing a task**: call \`memory_task_end\` with a summary.
|
|
190
|
-
6. **Auto-checkpoint** is handled by hooks (compaction, session-end, 15-min timer). No action needed.
|
|
191
|
-
|
|
192
|
-
### Write memory when:
|
|
193
|
-
- A project decision is made or changed
|
|
194
|
-
- A root cause is discovered after debugging
|
|
195
|
-
- A reusable implementation pattern is established
|
|
196
|
-
- A user preference, constraint, or requirement is clarified
|
|
197
|
-
- A prior assumption is found to be wrong
|
|
198
|
-
- A significant piece of work is completed
|
|
199
|
-
|
|
200
|
-
### Writing for recall (the highest-leverage section)
|
|
201
|
-
A memory's recall quality is set the moment you write it. AWM is fast at
|
|
202
|
-
finding what's findable — but if the write is shaped wrong, no retriever
|
|
203
|
-
can rescue it. Be slightly more verbose at the front than feels natural:
|
|
204
|
-
the first 1-2 sentences are what BM25, the embedding model, and concept
|
|
205
|
-
extraction all see most strongly.
|
|
206
|
-
|
|
207
|
-
- **Lead with the rule or fact.** Don't open with context or backstory.
|
|
208
|
-
"Don't mock the database in integration tests." comes first; the reason
|
|
209
|
-
comes second. Recall scans the head of the body, not the tail.
|
|
210
|
-
- **Pick the most specific topic.** Not \`auth\` — \`auth-magic-link-rate-limit\`.
|
|
211
|
-
Topic is a hard filter at recall time. Generic topics hide the memory in
|
|
212
|
-
a noisy bucket where it competes with everything else in the area.
|
|
213
|
-
- **Include 2+ retrievable identifiers.** File paths, function names, table
|
|
214
|
-
columns, ticket IDs, exact error strings, the literal terms a future query
|
|
215
|
-
will use. \`AccountingService.closePeriod()\` beats "the accounting code."
|
|
216
|
-
\`tblMemberDetails.activation_date\` beats "the activation column."
|
|
217
|
-
\`schema/072-period-close.sql\` beats "the migration."
|
|
218
|
-
- **Write in the vocabulary of the future question.** When you imagine asking
|
|
219
|
-
this in three months, what nouns will you use? Use those nouns. Don't
|
|
220
|
-
paraphrase the user's domain language into your own neutral summary.
|
|
221
|
-
- **Reserve canonical for stable invariants.** Decisions, requirements,
|
|
222
|
-
hard facts, cross-agent shared context. Working class (default) is correct
|
|
223
|
-
for findings, observations, and progress notes. The canonical floor is
|
|
224
|
-
0.7 salience — overusing it pollutes the canonical layer and the floor
|
|
225
|
-
loses meaning.
|
|
226
|
-
- **Include the why for feedback memories.** A rule without a reason can't
|
|
227
|
-
be applied to edge cases. "Don't mock the database" is brittle. "Don't
|
|
228
|
-
mock the database — last quarter mocked tests masked a broken migration"
|
|
229
|
-
is portable to new situations.
|
|
230
|
-
|
|
231
|
-
### Tagging rules (REQUIRED — AWM's prefix-tag retrieval boost depends on these)
|
|
232
|
-
|
|
233
|
-
Every \`memory_write\` should pass these structured fields. AWM stores each as a
|
|
234
|
-
prefix-tag like \`proj=\`, \`topic=\`, \`intent=\`, etc. and uses them for BM25
|
|
235
|
-
and entity-bridge boosts at recall time.
|
|
236
|
-
|
|
237
|
-
| Field | Required? | Format | Example |
|
|
238
|
-
|---|---|---|---|
|
|
239
|
-
| \`project\` | **YES** | one short word matching the current project | \`"EquiHub"\`, \`"AWM"\`, \`"USEA-Agent"\` |
|
|
240
|
-
| \`topic\` | **YES** | one or more lowercase area words | \`"database-migration"\`, \`"benchmarks"\` |
|
|
241
|
-
| \`intent\` | **YES** | one of: \`decision\` / \`finding\` / \`todo\` / \`question\` / \`context\` | \`"finding"\` |
|
|
242
|
-
| \`confidence_level\` | **YES** | \`verified\` (tested) / \`observed\` (read in code) / \`assumed\` (reasoning) | \`"verified"\` |
|
|
243
|
-
| \`source\` | recommended | \`code-reading\` / \`debugging\` / \`discussion\` / \`research\` / \`testing\` / \`observation\` | \`"testing"\` |
|
|
244
|
-
| \`memory_class\` | when stable | \`canonical\` (source-of-truth, 0.7 floor, never staged) / \`working\` (default) / \`ephemeral\` | \`"canonical"\` |
|
|
245
|
-
| \`session_id\` | recommended | current conversation ID for entity-bridge boost | autogenerated |
|
|
246
|
-
| \`tags\` | when applicable | extra prefix-tags for IDs and dates | \`["ticket=18360", "date=2026-05-11"]\` |
|
|
247
|
-
|
|
248
|
-
**Always add identifier tags when present in the content:**
|
|
249
|
-
- \`ticket=<id>\` for Freshdesk tickets
|
|
250
|
-
- \`member=<id>\` for member IDs
|
|
251
|
-
- \`horse=<id>\` for horse_member_id
|
|
252
|
-
- \`usef=<id>\` for USEF lookups
|
|
253
|
-
- \`date=YYYY-MM-DD\` for temporal anchoring (ISO format)
|
|
254
|
-
- \`person=<Name>\` for stakeholder quotes / decisions
|
|
255
|
-
- \`version=<X.Y.Z>\` for release-specific findings
|
|
256
|
-
|
|
257
|
-
### Memory classes (controls how strictly the salience filter gates the write)
|
|
258
|
-
- \`memory_class: canonical\` — source-of-truth memories. Floor 0.7 salience, never staged.
|
|
259
|
-
Use for: user-stated decisions, project requirements, verified architectural facts,
|
|
260
|
-
cross-agent shared context. **In a hive (multi-agent) setup, always use \`canonical\`
|
|
261
|
-
for writes that other agents must be able to recall** — the default \`working\` class
|
|
262
|
-
may get filtered.
|
|
263
|
-
- \`memory_class: working\` (default) — observations and findings. Salience-gated.
|
|
264
|
-
- \`memory_class: ephemeral\` — short-lived context that should decay quickly.
|
|
265
|
-
|
|
266
|
-
### Salience auto-promotion (defense in depth)
|
|
267
|
-
The salience filter automatically promotes certain content patterns even if you forget
|
|
268
|
-
to set \`memory_class\` explicitly:
|
|
269
|
-
- **User feedback** — content starting with "Robert said…", "Katherine directed…",
|
|
270
|
-
"Nancy decided…" etc. auto-promotes to canonical. So quoting the user verbatim
|
|
271
|
-
always preserves the decision.
|
|
272
|
-
- **Verified operational records** — content with an action verb (Submitted, Finalized,
|
|
273
|
-
Completed, Reconciled, Triaged, Posted, Resolved, Stamped, Pushed, Deployed, Migrated,
|
|
274
|
-
Imported, Exported, Backfilled) plus 2+ concrete identifiers (ISO date \`YYYY-MM-DD\`,
|
|
275
|
-
or contextual numeric IDs like "event 18969", "ticket #18330", "USEF 341980") gets
|
|
276
|
-
a 0.45 salience floor. So batch summaries with real IDs survive even when topic
|
|
277
|
-
terms repeat.
|
|
278
|
-
|
|
279
|
-
If neither pattern applies and you want a memory to definitely survive, set
|
|
280
|
-
\`memory_class: canonical\` explicitly. Don't rely on auto-promotion for important writes.
|
|
281
|
-
|
|
282
|
-
### Recall memory when:
|
|
283
|
-
- **BEFORE stating ANY fact about how a system works** — recall first; if AWM doesn't
|
|
284
|
-
have it, read the code. Never guess and present it as fact.
|
|
285
|
-
- **BEFORE searching the filesystem** — recall first; AWM is faster and has cross-session
|
|
286
|
-
knowledge that file search doesn't.
|
|
287
|
-
- Starting work on a new task or subsystem
|
|
288
|
-
- Re-entering code you haven't touched recently
|
|
289
|
-
- After a failed attempt — check if there's prior knowledge
|
|
290
|
-
- Before refactoring or making architectural changes
|
|
291
|
-
- When a topic comes up that you might have prior context on
|
|
292
|
-
|
|
293
|
-
Recall is fast (~300ms typical). Use it freely.
|
|
294
|
-
|
|
295
|
-
### Recall strategy (when one query isn't enough)
|
|
296
|
-
AWM's adaptive retrieval handles most query variations natively — synonym
|
|
297
|
-
expansion, multi-channel scoring, embedding + BM25 + reranker agreement.
|
|
298
|
-
A single recall is usually enough.
|
|
299
|
-
|
|
300
|
-
When it isn't:
|
|
301
|
-
- **If the first recall returns nothing or returns the wrong things, reformulate.**
|
|
302
|
-
Try a second query with different phrasing — synonyms, more specific nouns,
|
|
303
|
-
the exact identifier from the code rather than the conceptual name. Two or
|
|
304
|
-
three recalls cost less than one filesystem search.
|
|
305
|
-
- **Use the words a domain expert would use, not generic English.** "Period
|
|
306
|
-
close lock" not "accounting feature"; "magic link rate limit" not "auth issue."
|
|
307
|
-
- **For broad exploration, pass \`mode: "exploratory"\`** — wider candidate
|
|
308
|
-
pool, lower precision floor. For specific lookups, leave mode unset (auto).
|
|
309
|
-
- **Don't ensemble more than 3 reformulations.** If three different phrasings
|
|
310
|
-
return nothing, the memory probably isn't there — read the code instead of
|
|
311
|
-
burning more recalls.
|
|
312
|
-
|
|
313
|
-
###
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
)
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
-
|
|
359
|
-
|
|
360
|
-
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
167
|
+
export const AWM_INSTRUCTION_CONTENT = `
|
|
168
|
+
## Memory (AWM) — MANDATORY
|
|
169
|
+
|
|
170
|
+
**AWM is THE memory system.** Use it via the \`agent-working-memory\` MCP server
|
|
171
|
+
(preferred) or HTTP at \`http://127.0.0.1:8400\` (fallback). The file-based
|
|
172
|
+
auto-memory at \`~/.claude/projects/.../memory/*.md\` is a LEGACY bootstrap path —
|
|
173
|
+
**do not write new memories to it.** All persistent knowledge goes through AWM.
|
|
174
|
+
|
|
175
|
+
If MCP tools aren't loaded at session start, use ToolSearch with
|
|
176
|
+
\`select:mcp__agent-working-memory__memory_recall,mcp__agent-working-memory__memory_write\`
|
|
177
|
+
to load them. If the MCP server isn't responsive, restart with \`/mcp\` or use
|
|
178
|
+
the HTTP endpoints (\`POST /memory/write-batch\`, \`POST /memory/activate\`)
|
|
179
|
+
directly — but **DO NOT fall back to markdown files**. Files drift the moment
|
|
180
|
+
you write them; AWM stays current because every agent reads + writes the same store.
|
|
181
|
+
|
|
182
|
+
### Lifecycle (always do these, in this order)
|
|
183
|
+
1. **Session start**: call \`memory_restore\` to recover previous context.
|
|
184
|
+
2. **Starting a task**: call \`memory_task_begin\` (checkpoints + recalls relevant memories).
|
|
185
|
+
3. **During work**: call \`memory_recall\` BEFORE stating any fact, BEFORE searching
|
|
186
|
+
the filesystem, BEFORE making architectural decisions. Recall is ~300ms — cheaper
|
|
187
|
+
than one filesystem search.
|
|
188
|
+
4. **As you learn things**: call \`memory_write\` proactively. Don't batch.
|
|
189
|
+
5. **Finishing a task**: call \`memory_task_end\` with a summary.
|
|
190
|
+
6. **Auto-checkpoint** is handled by hooks (compaction, session-end, 15-min timer). No action needed.
|
|
191
|
+
|
|
192
|
+
### Write memory when:
|
|
193
|
+
- A project decision is made or changed
|
|
194
|
+
- A root cause is discovered after debugging
|
|
195
|
+
- A reusable implementation pattern is established
|
|
196
|
+
- A user preference, constraint, or requirement is clarified
|
|
197
|
+
- A prior assumption is found to be wrong
|
|
198
|
+
- A significant piece of work is completed
|
|
199
|
+
|
|
200
|
+
### Writing for recall (the highest-leverage section)
|
|
201
|
+
A memory's recall quality is set the moment you write it. AWM is fast at
|
|
202
|
+
finding what's findable — but if the write is shaped wrong, no retriever
|
|
203
|
+
can rescue it. Be slightly more verbose at the front than feels natural:
|
|
204
|
+
the first 1-2 sentences are what BM25, the embedding model, and concept
|
|
205
|
+
extraction all see most strongly.
|
|
206
|
+
|
|
207
|
+
- **Lead with the rule or fact.** Don't open with context or backstory.
|
|
208
|
+
"Don't mock the database in integration tests." comes first; the reason
|
|
209
|
+
comes second. Recall scans the head of the body, not the tail.
|
|
210
|
+
- **Pick the most specific topic.** Not \`auth\` — \`auth-magic-link-rate-limit\`.
|
|
211
|
+
Topic is a hard filter at recall time. Generic topics hide the memory in
|
|
212
|
+
a noisy bucket where it competes with everything else in the area.
|
|
213
|
+
- **Include 2+ retrievable identifiers.** File paths, function names, table
|
|
214
|
+
columns, ticket IDs, exact error strings, the literal terms a future query
|
|
215
|
+
will use. \`AccountingService.closePeriod()\` beats "the accounting code."
|
|
216
|
+
\`tblMemberDetails.activation_date\` beats "the activation column."
|
|
217
|
+
\`schema/072-period-close.sql\` beats "the migration."
|
|
218
|
+
- **Write in the vocabulary of the future question.** When you imagine asking
|
|
219
|
+
this in three months, what nouns will you use? Use those nouns. Don't
|
|
220
|
+
paraphrase the user's domain language into your own neutral summary.
|
|
221
|
+
- **Reserve canonical for stable invariants.** Decisions, requirements,
|
|
222
|
+
hard facts, cross-agent shared context. Working class (default) is correct
|
|
223
|
+
for findings, observations, and progress notes. The canonical floor is
|
|
224
|
+
0.7 salience — overusing it pollutes the canonical layer and the floor
|
|
225
|
+
loses meaning.
|
|
226
|
+
- **Include the why for feedback memories.** A rule without a reason can't
|
|
227
|
+
be applied to edge cases. "Don't mock the database" is brittle. "Don't
|
|
228
|
+
mock the database — last quarter mocked tests masked a broken migration"
|
|
229
|
+
is portable to new situations.
|
|
230
|
+
|
|
231
|
+
### Tagging rules (REQUIRED — AWM's prefix-tag retrieval boost depends on these)
|
|
232
|
+
|
|
233
|
+
Every \`memory_write\` should pass these structured fields. AWM stores each as a
|
|
234
|
+
prefix-tag like \`proj=\`, \`topic=\`, \`intent=\`, etc. and uses them for BM25
|
|
235
|
+
and entity-bridge boosts at recall time.
|
|
236
|
+
|
|
237
|
+
| Field | Required? | Format | Example |
|
|
238
|
+
|---|---|---|---|
|
|
239
|
+
| \`project\` | **YES** | one short word matching the current project | \`"EquiHub"\`, \`"AWM"\`, \`"USEA-Agent"\` |
|
|
240
|
+
| \`topic\` | **YES** | one or more lowercase area words | \`"database-migration"\`, \`"benchmarks"\` |
|
|
241
|
+
| \`intent\` | **YES** | one of: \`decision\` / \`finding\` / \`todo\` / \`question\` / \`context\` | \`"finding"\` |
|
|
242
|
+
| \`confidence_level\` | **YES** | \`verified\` (tested) / \`observed\` (read in code) / \`assumed\` (reasoning) | \`"verified"\` |
|
|
243
|
+
| \`source\` | recommended | \`code-reading\` / \`debugging\` / \`discussion\` / \`research\` / \`testing\` / \`observation\` | \`"testing"\` |
|
|
244
|
+
| \`memory_class\` | when stable | \`canonical\` (source-of-truth, 0.7 floor, never staged) / \`working\` (default) / \`ephemeral\` | \`"canonical"\` |
|
|
245
|
+
| \`session_id\` | recommended | current conversation ID for entity-bridge boost | autogenerated |
|
|
246
|
+
| \`tags\` | when applicable | extra prefix-tags for IDs and dates | \`["ticket=18360", "date=2026-05-11"]\` |
|
|
247
|
+
|
|
248
|
+
**Always add identifier tags when present in the content:**
|
|
249
|
+
- \`ticket=<id>\` for Freshdesk tickets
|
|
250
|
+
- \`member=<id>\` for member IDs
|
|
251
|
+
- \`horse=<id>\` for horse_member_id
|
|
252
|
+
- \`usef=<id>\` for USEF lookups
|
|
253
|
+
- \`date=YYYY-MM-DD\` for temporal anchoring (ISO format)
|
|
254
|
+
- \`person=<Name>\` for stakeholder quotes / decisions
|
|
255
|
+
- \`version=<X.Y.Z>\` for release-specific findings
|
|
256
|
+
|
|
257
|
+
### Memory classes (controls how strictly the salience filter gates the write)
|
|
258
|
+
- \`memory_class: canonical\` — source-of-truth memories. Floor 0.7 salience, never staged.
|
|
259
|
+
Use for: user-stated decisions, project requirements, verified architectural facts,
|
|
260
|
+
cross-agent shared context. **In a hive (multi-agent) setup, always use \`canonical\`
|
|
261
|
+
for writes that other agents must be able to recall** — the default \`working\` class
|
|
262
|
+
may get filtered.
|
|
263
|
+
- \`memory_class: working\` (default) — observations and findings. Salience-gated.
|
|
264
|
+
- \`memory_class: ephemeral\` — short-lived context that should decay quickly.
|
|
265
|
+
|
|
266
|
+
### Salience auto-promotion (defense in depth)
|
|
267
|
+
The salience filter automatically promotes certain content patterns even if you forget
|
|
268
|
+
to set \`memory_class\` explicitly:
|
|
269
|
+
- **User feedback** — content starting with "Robert said…", "Katherine directed…",
|
|
270
|
+
"Nancy decided…" etc. auto-promotes to canonical. So quoting the user verbatim
|
|
271
|
+
always preserves the decision.
|
|
272
|
+
- **Verified operational records** — content with an action verb (Submitted, Finalized,
|
|
273
|
+
Completed, Reconciled, Triaged, Posted, Resolved, Stamped, Pushed, Deployed, Migrated,
|
|
274
|
+
Imported, Exported, Backfilled) plus 2+ concrete identifiers (ISO date \`YYYY-MM-DD\`,
|
|
275
|
+
or contextual numeric IDs like "event 18969", "ticket #18330", "USEF 341980") gets
|
|
276
|
+
a 0.45 salience floor. So batch summaries with real IDs survive even when topic
|
|
277
|
+
terms repeat.
|
|
278
|
+
|
|
279
|
+
If neither pattern applies and you want a memory to definitely survive, set
|
|
280
|
+
\`memory_class: canonical\` explicitly. Don't rely on auto-promotion for important writes.
|
|
281
|
+
|
|
282
|
+
### Recall memory when:
|
|
283
|
+
- **BEFORE stating ANY fact about how a system works** — recall first; if AWM doesn't
|
|
284
|
+
have it, read the code. Never guess and present it as fact.
|
|
285
|
+
- **BEFORE searching the filesystem** — recall first; AWM is faster and has cross-session
|
|
286
|
+
knowledge that file search doesn't.
|
|
287
|
+
- Starting work on a new task or subsystem
|
|
288
|
+
- Re-entering code you haven't touched recently
|
|
289
|
+
- After a failed attempt — check if there's prior knowledge
|
|
290
|
+
- Before refactoring or making architectural changes
|
|
291
|
+
- When a topic comes up that you might have prior context on
|
|
292
|
+
|
|
293
|
+
Recall is fast (~300ms typical). Use it freely.
|
|
294
|
+
|
|
295
|
+
### Recall strategy (when one query isn't enough)
|
|
296
|
+
AWM's adaptive retrieval handles most query variations natively — synonym
|
|
297
|
+
expansion, multi-channel scoring, embedding + BM25 + reranker agreement.
|
|
298
|
+
A single recall is usually enough.
|
|
299
|
+
|
|
300
|
+
When it isn't:
|
|
301
|
+
- **If the first recall returns nothing or returns the wrong things, reformulate.**
|
|
302
|
+
Try a second query with different phrasing — synonyms, more specific nouns,
|
|
303
|
+
the exact identifier from the code rather than the conceptual name. Two or
|
|
304
|
+
three recalls cost less than one filesystem search.
|
|
305
|
+
- **Use the words a domain expert would use, not generic English.** "Period
|
|
306
|
+
close lock" not "accounting feature"; "magic link rate limit" not "auth issue."
|
|
307
|
+
- **For broad exploration, pass \`mode: "exploratory"\`** — wider candidate
|
|
308
|
+
pool, lower precision floor. For specific lookups, leave mode unset (auto).
|
|
309
|
+
- **Don't ensemble more than 3 reformulations.** If three different phrasings
|
|
310
|
+
return nothing, the memory probably isn't there — read the code instead of
|
|
311
|
+
burning more recalls.
|
|
312
|
+
|
|
313
|
+
### Recall tuning (0.8.x — opt-in parameters for higher-quality recall)
|
|
314
|
+
Default \`memory_recall\` is tuned for the common case. The 0.8.x recall pipeline
|
|
315
|
+
exposes four opt-in parameters that change the cost/quality tradeoff. Use them
|
|
316
|
+
when the default doesn't match what you actually need.
|
|
317
|
+
|
|
318
|
+
- **\`granularity: 'compact'\`** — every result carries a 200-char \`summary\`
|
|
319
|
+
field with a query-aware snippet (the densest window of query terms in the
|
|
320
|
+
content). Use this when you expect to scan 5+ results to find one — saves
|
|
321
|
+
~70% of recall output tokens. The full content stays available in
|
|
322
|
+
\`engram.content\` if you want to drill into a specific result.
|
|
323
|
+
- **\`granularity: 'auto'\`** — confidence-adaptive. If the top result is a clear
|
|
324
|
+
winner, it gets a longer summary while the rest are compact. If confidence
|
|
325
|
+
is uniform across results, everything is compact. Use when you don't know
|
|
326
|
+
in advance whether one result will dominate.
|
|
327
|
+
- **\`require_confidence: 0.10 | 0.25 | 0.40\`** — opt-in abstention. AWM
|
|
328
|
+
returns \`[]\` instead of low-confidence noise. Use when you're about to ACT
|
|
329
|
+
on the recalled fact (grounding a decision, citing the memory verbatim,
|
|
330
|
+
contradicting a prior assumption). Thresholds: \`0.10\` strict — only abstain
|
|
331
|
+
on garbage; \`0.25\` balanced; \`0.40\` aggressive — prefer "I don't know"
|
|
332
|
+
over "best of bad." When abstention fires (empty result), treat it as a
|
|
333
|
+
signal — either the memory genuinely isn't there (read the code) or your
|
|
334
|
+
query missed (reformulate). Don't retry without the threshold.
|
|
335
|
+
- **\`workspace: "<name>"\`** — hive-mode recall across all agents in the
|
|
336
|
+
workspace. Use when other agents may have written canonical knowledge you
|
|
337
|
+
need. Default is agent-scoped (your own memories only). Can also be set
|
|
338
|
+
globally via the \`AWM_WORKSPACE\` env var.
|
|
339
|
+
|
|
340
|
+
### Keep memory fresh
|
|
341
|
+
- After recalling a memory, if you observe the real state is different → call
|
|
342
|
+
\`memory_supersede\` immediately with the corrected version.
|
|
343
|
+
- After using a recalled memory: call \`memory_feedback\` (useful/not-useful) so the
|
|
344
|
+
activation engine learns what's valuable.
|
|
345
|
+
- If you discover a memory is factually wrong: \`memory_retract\` to remove it.
|
|
346
|
+
- **If you bypass AWM (file-memory, in-context notes, "I'll just remember"), the memory
|
|
347
|
+
drifts out of date. The system relies on you to keep it current. This is the #1
|
|
348
|
+
failure mode.**
|
|
349
|
+
|
|
350
|
+
### Content fade — write-and-forget is safe (0.8.x)
|
|
351
|
+
Un-recalled engrams gradually fade their content while preserving cue pathways
|
|
352
|
+
(concept + tags + embedding stay intact). This is Paper 1 — storage
|
|
353
|
+
degradation. Practical implications:
|
|
354
|
+
|
|
355
|
+
- **Don't manually purge memories** to "save space." The system already
|
|
356
|
+
compresses unused content. Old memories stay findable via cue match even
|
|
357
|
+
when their body has decayed.
|
|
358
|
+
- **Don't over-pin with \`memory_class: canonical\`** to fight fade. Canonical
|
|
359
|
+
only changes salience gating at write time, not fade behavior. Fade
|
|
360
|
+
affects un-recalled engrams of any class.
|
|
361
|
+
- **Recall keeps content alive.** Every recall touches the engram and resets
|
|
362
|
+
its fade clock. Frequently-recalled memories stay full-fidelity automatically.
|
|
363
|
+
- **Supersede is the right tool for stale facts.** When you observe a memory
|
|
364
|
+
is outdated, call \`memory_supersede\` — the new version inherits the old
|
|
365
|
+
one's coherent associations (counter-narrative replacement, 0.8.x) so cue
|
|
366
|
+
pathways carry forward to the replacement.
|
|
367
|
+
|
|
368
|
+
### Example — good vs bad memory_write
|
|
369
|
+
|
|
370
|
+
**BAD** (no prefix tags, vague concept, can't be recalled by future queries):
|
|
371
|
+
\`\`\`
|
|
372
|
+
memory_write(
|
|
373
|
+
concept="found a bug",
|
|
374
|
+
content="The thing I was looking at was broken so I fixed it."
|
|
375
|
+
)
|
|
376
|
+
\`\`\`
|
|
377
|
+
|
|
378
|
+
**GOOD** (rich identifiers, structured metadata, prefix tags):
|
|
379
|
+
\`\`\`
|
|
380
|
+
memory_write(
|
|
381
|
+
concept="EquiHub period-close BLOCKED check missing server-side",
|
|
382
|
+
content="apps/web/app/(accounting)/accounting/period-close/page.tsx had client-only BLOCKED enforcement. Fixed by adding server-side check in AccountingService.closePeriod() per schema/072-period-close.sql. Without server-side check a malicious request could bypass via direct API call.",
|
|
383
|
+
project="EquiHub",
|
|
384
|
+
topic="accounting",
|
|
385
|
+
intent="finding",
|
|
386
|
+
confidence_level="verified",
|
|
387
|
+
source="debugging",
|
|
388
|
+
memory_class="canonical",
|
|
389
|
+
tags=["ticket=18360", "person=Robert", "date=2026-05-11", "topic=period-close", "topic=security"]
|
|
390
|
+
)
|
|
391
|
+
\`\`\`
|
|
392
|
+
|
|
393
|
+
### Also:
|
|
394
|
+
- To track work items: memory_task_add, memory_task_update, memory_task_list, memory_task_next
|
|
395
|
+
- AWM is shared across all agents in real time. When any agent writes or supersedes a
|
|
396
|
+
memory, every other agent can recall it immediately.
|
|
397
|
+
|
|
398
|
+
### Backend (SQLite vs PGlite, 0.8.x)
|
|
399
|
+
AWM ships two storage backends. The installer picks SQLite by default; both
|
|
400
|
+
are functionally equivalent for cognitive workloads, but differ in operational
|
|
401
|
+
guarantees:
|
|
402
|
+
|
|
403
|
+
- **SQLite** (default) — embedded, **multi-process safe** via WAL mode. Best
|
|
404
|
+
for single-machine setups and MCP scenarios where multiple Claude Code
|
|
405
|
+
sessions may open the same database concurrently.
|
|
406
|
+
- **PGlite** — embedded Postgres (WASM) with pgvector. **Single-process only**
|
|
407
|
+
— two MCP processes against the same \`memory-pglite/\` directory will
|
|
408
|
+
abort the second. Pick via \`AWM_STORE_BACKEND=pglite\` and
|
|
409
|
+
\`AWM_DB_PATH=path/to/memory-pglite\`.
|
|
410
|
+
- **Auto-detect** — if \`AWM_DB_PATH\` points to a directory that already
|
|
411
|
+
exists, AWM detects PGlite; a file → SQLite. No explicit
|
|
412
|
+
\`AWM_STORE_BACKEND\` needed when an existing DB is present.
|
|
413
|
+
|
|
414
|
+
For the comparison table (recall quality parity, BM25 vs \`ts_rank_cd\`,
|
|
415
|
+
multi-process guarantees), see \`docs/pglite-feature-parity.md\`.
|
|
416
|
+
|
|
417
|
+
### Diagnostics / escape hatches (env vars, only if you know why)
|
|
418
|
+
The 0.7.6→0.7.14 work cut recall latency from 11s to ~300ms. The 0.8.x work
|
|
419
|
+
added the write-path rewrite (per-write 300+ ms → under 10ms) and PGlite
|
|
420
|
+
parity tuning. Each optimization is gated by an env-var so it can be disabled
|
|
421
|
+
for A/B testing if a regression appears in your workload:
|
|
422
|
+
|
|
423
|
+
Recall pipeline (0.7.x):
|
|
424
|
+
- \`AWM_DISABLE_POOL_FILTER=1\` — disables the candidate pool reduction
|
|
425
|
+
pre-filter in recall. Reverts to scoring all active candidates.
|
|
426
|
+
- \`AWM_DISABLE_SLIM_CACHE=1\` — disables the in-memory slim cache.
|
|
427
|
+
Reverts to per-recall SQL fetch + Buffer→Float32Array conversion.
|
|
428
|
+
- \`AWM_DISABLE_RERANK_SKIP=1\` — disables the cross-encoder skip on
|
|
429
|
+
clear-winner queries. Forces every recall through the reranker.
|
|
430
|
+
- \`AWM_DISABLE_EXPANSION_CACHE=1\` — disables the query expansion skip
|
|
431
|
+
heuristic + LRU cache. Forces every recall through flan-t5-small.
|
|
432
|
+
|
|
433
|
+
Write pipeline + lifecycle (0.8.x):
|
|
434
|
+
- \`AWM_REINFORCE_MAX_CONTENT_LEN=1500\` — max chars an engram's content
|
|
435
|
+
can grow to via merge-on-reinforce (drop-oldest on overflow). Higher =
|
|
436
|
+
preserves more reinforced detail; lower = leaner recall output.
|
|
437
|
+
- \`AWM_REINFORCE_MERGE_CONTENT=0\` — disable content merge on reinforce.
|
|
438
|
+
Reverts to pre-0.8.5 behavior (discard new content, only bump confidence).
|
|
439
|
+
- \`AWM_NOVELTY_EMBED=0\` — disable the cosine channel in novelty
|
|
440
|
+
computation. BM25-only fallback. Reverts to pre-0.8.5 novelty.
|
|
441
|
+
- \`AWM_GRANULARITY_COMPACT_LEN=200\` — char budget for query-aware snippet
|
|
442
|
+
in \`granularity: 'compact'\` mode.
|
|
443
|
+
- \`AWM_GRANULARITY_FULL_LEN=1000\` — char budget for the top result in
|
|
444
|
+
\`granularity: 'auto'\` mode when there's a clear winner.
|
|
445
|
+
|
|
446
|
+
PGlite backend (0.8.x):
|
|
447
|
+
- \`AWM_PGLITE_BM25_M=1\` — multiplier on PGlite \`ts_rank_cd\` to calibrate
|
|
448
|
+
against SQLite FTS5 BM25 distribution. M=1 (default) is passthrough;
|
|
449
|
+
higher M boosts PGlite scores at the cost of recall-ranking precision
|
|
450
|
+
(see CHANGELOG 0.8.5 follow-up).
|
|
451
|
+
- \`AWM_IVFFLAT_PROBES=5\` — pgvector ivfflat probes per query. Higher =
|
|
452
|
+
more accurate, slower.
|
|
453
|
+
|
|
454
|
+
In production, leave these all unset. Use only when diagnosing a suspected
|
|
455
|
+
recall-quality regression.
|
|
369
456
|
`.trimStart();
|
|
370
457
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/adapters/common.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/adapters/common.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/http.js
CHANGED
|
@@ -9,28 +9,28 @@
|
|
|
9
9
|
import { existsSync } from 'node:fs';
|
|
10
10
|
import { join } from 'node:path';
|
|
11
11
|
import { AWM_INSTRUCTION_CONTENT, upsertAwmSection } from './common.js';
|
|
12
|
-
const HTTP_ADDENDUM = `
|
|
13
|
-
### HTTP API (for tools without MCP support)
|
|
14
|
-
|
|
15
|
-
If your tool doesn't support MCP, use the HTTP API directly:
|
|
16
|
-
|
|
17
|
-
**Base URL:** \`http://127.0.0.1:8400\`
|
|
18
|
-
|
|
19
|
-
| Method | Endpoint | Purpose |
|
|
20
|
-
|--------|----------|---------|
|
|
21
|
-
| GET | /memory/restore/:agentId | Restore context from prior sessions |
|
|
22
|
-
| POST | /memory/activate | Cognitive recall (use \`context\` field) |
|
|
23
|
-
| POST | /memory/write | Write a memory |
|
|
24
|
-
| POST | /memory/feedback | Report if memory was useful |
|
|
25
|
-
| POST | /memory/retract | Invalidate a wrong memory |
|
|
26
|
-
| POST | /memory/checkpoint | Save execution state |
|
|
27
|
-
| POST | /task/create | Create a task |
|
|
28
|
-
| POST | /task/update | Update task status |
|
|
29
|
-
| GET | /task/list/:agentId | List tasks |
|
|
30
|
-
| GET | /task/next/:agentId | Get next actionable task |
|
|
31
|
-
| GET | /health | Health check |
|
|
32
|
-
|
|
33
|
-
Start the server with: \`awm serve\`
|
|
12
|
+
const HTTP_ADDENDUM = `
|
|
13
|
+
### HTTP API (for tools without MCP support)
|
|
14
|
+
|
|
15
|
+
If your tool doesn't support MCP, use the HTTP API directly:
|
|
16
|
+
|
|
17
|
+
**Base URL:** \`http://127.0.0.1:8400\`
|
|
18
|
+
|
|
19
|
+
| Method | Endpoint | Purpose |
|
|
20
|
+
|--------|----------|---------|
|
|
21
|
+
| GET | /memory/restore/:agentId | Restore context from prior sessions |
|
|
22
|
+
| POST | /memory/activate | Cognitive recall (use \`context\` field) |
|
|
23
|
+
| POST | /memory/write | Write a memory |
|
|
24
|
+
| POST | /memory/feedback | Report if memory was useful |
|
|
25
|
+
| POST | /memory/retract | Invalidate a wrong memory |
|
|
26
|
+
| POST | /memory/checkpoint | Save execution state |
|
|
27
|
+
| POST | /task/create | Create a task |
|
|
28
|
+
| POST | /task/update | Update task status |
|
|
29
|
+
| GET | /task/list/:agentId | List tasks |
|
|
30
|
+
| GET | /task/next/:agentId | Get next actionable task |
|
|
31
|
+
| GET | /health | Health check |
|
|
32
|
+
|
|
33
|
+
Start the server with: \`awm serve\`
|
|
34
34
|
`;
|
|
35
35
|
const adapter = {
|
|
36
36
|
id: 'http',
|
package/dist/api/routes.d.ts
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
* GET /health — health check
|
|
32
32
|
*/
|
|
33
33
|
import type { FastifyInstance } from 'fastify';
|
|
34
|
-
import type { EngramStore } from '../storage/
|
|
34
|
+
import type { IEngramStore as EngramStore } from '../storage/store.js';
|
|
35
35
|
import type { ActivationEngine } from '../engine/activation.js';
|
|
36
36
|
import type { ConnectionEngine } from '../engine/connections.js';
|
|
37
37
|
import type { EvictionEngine } from '../engine/eviction.js';
|
package/dist/api/routes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/api/routes.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/api/routes.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AASnF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,sBAAsB,EAAE,sBAAsB,CAAC;CAChD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CA04B3E"}
|