agent-working-memory 0.13.1 → 0.14.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.
Files changed (91) hide show
  1. package/README.md +200 -238
  2. package/dist/adapters/common.d.ts +6 -0
  3. package/dist/adapters/common.d.ts.map +1 -1
  4. package/dist/adapters/common.js +457 -362
  5. package/dist/adapters/common.js.map +1 -1
  6. package/dist/api/routes.d.ts.map +1 -1
  7. package/dist/api/routes.js +24 -8
  8. package/dist/api/routes.js.map +1 -1
  9. package/dist/core/alias-map.d.ts +16 -0
  10. package/dist/core/alias-map.d.ts.map +1 -0
  11. package/dist/core/alias-map.js +102 -0
  12. package/dist/core/alias-map.js.map +1 -0
  13. package/dist/core/embeddings.d.ts +17 -0
  14. package/dist/core/embeddings.d.ts.map +1 -1
  15. package/dist/core/embeddings.js +50 -1
  16. package/dist/core/embeddings.js.map +1 -1
  17. package/dist/core/recall-config.d.ts +52 -0
  18. package/dist/core/recall-config.d.ts.map +1 -0
  19. package/dist/core/recall-config.js +110 -0
  20. package/dist/core/recall-config.js.map +1 -0
  21. package/dist/core/rerank-window.d.ts +61 -0
  22. package/dist/core/rerank-window.d.ts.map +1 -0
  23. package/dist/core/rerank-window.js +153 -0
  24. package/dist/core/rerank-window.js.map +1 -0
  25. package/dist/core/rerank2.d.ts +62 -0
  26. package/dist/core/rerank2.d.ts.map +1 -0
  27. package/dist/core/rerank2.js +75 -0
  28. package/dist/core/rerank2.js.map +1 -0
  29. package/dist/core/retrieval-text.d.ts +55 -0
  30. package/dist/core/retrieval-text.d.ts.map +1 -0
  31. package/dist/core/retrieval-text.js +87 -0
  32. package/dist/core/retrieval-text.js.map +1 -0
  33. package/dist/core/temporal-query.d.ts +61 -0
  34. package/dist/core/temporal-query.d.ts.map +1 -0
  35. package/dist/core/temporal-query.js +168 -0
  36. package/dist/core/temporal-query.js.map +1 -0
  37. package/dist/core/token-budget.d.ts +75 -0
  38. package/dist/core/token-budget.d.ts.map +1 -0
  39. package/dist/core/token-budget.js +136 -0
  40. package/dist/core/token-budget.js.map +1 -0
  41. package/dist/core/whoami.d.ts +11 -0
  42. package/dist/core/whoami.d.ts.map +1 -1
  43. package/dist/core/whoami.js +10 -0
  44. package/dist/core/whoami.js.map +1 -1
  45. package/dist/core/write-pipeline.d.ts.map +1 -1
  46. package/dist/core/write-pipeline.js +6 -3
  47. package/dist/core/write-pipeline.js.map +1 -1
  48. package/dist/engine/activation.d.ts.map +1 -1
  49. package/dist/engine/activation.js +146 -32
  50. package/dist/engine/activation.js.map +1 -1
  51. package/dist/hooks/prime.d.ts +77 -0
  52. package/dist/hooks/prime.d.ts.map +1 -0
  53. package/dist/hooks/prime.js +92 -0
  54. package/dist/hooks/prime.js.map +1 -0
  55. package/dist/hooks/sidecar.d.ts.map +1 -1
  56. package/dist/hooks/sidecar.js +39 -0
  57. package/dist/hooks/sidecar.js.map +1 -1
  58. package/dist/mcp.js +160 -107
  59. package/dist/mcp.js.map +1 -1
  60. package/dist/storage/pglite.d.ts.map +1 -1
  61. package/dist/storage/pglite.js +10 -2
  62. package/dist/storage/pglite.js.map +1 -1
  63. package/dist/storage/postgres.d.ts.map +1 -1
  64. package/dist/storage/postgres.js +10 -2
  65. package/dist/storage/postgres.js.map +1 -1
  66. package/dist/storage/sqlite.d.ts.map +1 -1
  67. package/dist/storage/sqlite.js +12 -2
  68. package/dist/storage/sqlite.js.map +1 -1
  69. package/dist/types/engram.d.ts +31 -0
  70. package/dist/types/engram.d.ts.map +1 -1
  71. package/package.json +3 -2
  72. package/src/adapters/common.ts +666 -567
  73. package/src/api/routes.ts +1015 -999
  74. package/src/core/alias-map.ts +97 -0
  75. package/src/core/embeddings.ts +172 -115
  76. package/src/core/recall-config.ts +115 -0
  77. package/src/core/rerank-window.ts +158 -0
  78. package/src/core/rerank2.ts +82 -0
  79. package/src/core/retrieval-text.ts +82 -0
  80. package/src/core/temporal-query.ts +193 -0
  81. package/src/core/token-budget.ts +160 -0
  82. package/src/core/whoami.ts +110 -92
  83. package/src/core/write-pipeline.ts +6 -3
  84. package/src/engine/activation.ts +1579 -1468
  85. package/src/hooks/prime.ts +136 -0
  86. package/src/hooks/sidecar.ts +43 -0
  87. package/src/mcp.ts +1443 -1387
  88. package/src/storage/pglite.ts +10 -2
  89. package/src/storage/postgres.ts +10 -2
  90. package/src/storage/sqlite.ts +12 -2
  91. package/src/types/engram.ts +32 -0
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Prompt priming — turn a recall into ready-to-inject context (0.13.3).
3
+ *
4
+ * WHY THIS EXISTS
5
+ * ---------------
6
+ * AWM's own instructions name the #1 failure mode plainly: the agent doesn't
7
+ * call recall. Relying on a model to remember to remember is the weak link, and
8
+ * it fails in exactly the situations where memory matters most — deep in a long
9
+ * task, when context is scarce and the agent is busy.
10
+ *
11
+ * `/memory/activate` (0.12.2) already exposes warm recall to hooks, but it
12
+ * returns raw JSON. Every hook author then has to re-solve the same three
13
+ * problems: what to inject, how to format it, and how to stop it ballooning the
14
+ * context window. This module answers all three once.
15
+ *
16
+ * THREE PROPERTIES THAT MATTER MORE THAN RECALL QUALITY
17
+ * ----------------------------------------------------
18
+ * This runs on EVERY prompt, so its failure modes are asymmetric:
19
+ *
20
+ * 1. SILENCE IS THE DEFAULT. It abstains unless recall is confident. AWM's
21
+ * measured recall accuracy is ~65%, so an unconditional injector would spend
22
+ * tokens on irrelevant memories roughly a third of the time, on every single
23
+ * prompt. An empty injection costs nothing and loses nothing — the agent can
24
+ * still call memory_recall explicitly.
25
+ *
26
+ * 2. IT IS HARD-CAPPED. Injection is not a place to discover that a memory was
27
+ * long. Budgeting reuses the same packer as memory_recall.
28
+ *
29
+ * 3. IT NEVER BREAKS THE PROMPT. Any failure yields an empty injection, never a
30
+ * thrown error. A hook that errors on every prompt is worse than no hook.
31
+ */
32
+ /** Shape returned by the sidecar's `activate` dependency. */
33
+ export interface PrimeCandidate {
34
+ engram: {
35
+ id: string;
36
+ concept: string;
37
+ content: string;
38
+ memoryClass?: string;
39
+ validTo?: string | null;
40
+ };
41
+ score: number;
42
+ summary?: string;
43
+ confidence?: number;
44
+ }
45
+ export interface PrimeOptions {
46
+ /** Hard ceiling on injected tokens. */
47
+ maxTokens?: number;
48
+ /** Minimum recall confidence to inject at all. */
49
+ minConfidence?: number;
50
+ /** Drop individual results scoring below this even when the set is confident. */
51
+ minScore?: number;
52
+ }
53
+ export interface PrimeResult {
54
+ /** Text to inject, or '' to inject nothing. */
55
+ inject: string;
56
+ kept: number;
57
+ total: number;
58
+ tokens: number;
59
+ /** Why nothing was injected — for hook logs and debugging. */
60
+ reason?: 'no-results' | 'low-confidence' | 'budget-too-small';
61
+ }
62
+ export declare const PRIME_DEFAULTS: {
63
+ readonly maxTokens: 600;
64
+ /**
65
+ * 0.25 = the "balanced" threshold AWM's own recall docs recommend for
66
+ * acting on a memory. Priming is acting on it without being asked, so it
67
+ * should not be looser than the value the docs suggest for deliberate use.
68
+ */
69
+ readonly minConfidence: 0.25;
70
+ readonly minScore: 0.1;
71
+ };
72
+ /**
73
+ * Build the injection for a prompt. Pure — no I/O — so it is unit-testable
74
+ * without a store, a model, or a running sidecar.
75
+ */
76
+ export declare function buildPrimeInjection(candidates: PrimeCandidate[], opts?: PrimeOptions): PrimeResult;
77
+ //# sourceMappingURL=prime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prime.d.ts","sourceRoot":"","sources":["../../src/hooks/prime.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACxG,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,MAAM,CAAC,EAAE,YAAY,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;CAC/D;AAED,eAAO,MAAM,cAAc;;IAEzB;;;;OAIG;;;CAGK,CAAC;AAWX;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,cAAc,EAAE,EAC5B,IAAI,GAAE,YAAiB,GACtB,WAAW,CA6Cb"}
@@ -0,0 +1,92 @@
1
+ // Copyright 2026 Robert Winter / Complete Ideas
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ /**
4
+ * Prompt priming — turn a recall into ready-to-inject context (0.13.3).
5
+ *
6
+ * WHY THIS EXISTS
7
+ * ---------------
8
+ * AWM's own instructions name the #1 failure mode plainly: the agent doesn't
9
+ * call recall. Relying on a model to remember to remember is the weak link, and
10
+ * it fails in exactly the situations where memory matters most — deep in a long
11
+ * task, when context is scarce and the agent is busy.
12
+ *
13
+ * `/memory/activate` (0.12.2) already exposes warm recall to hooks, but it
14
+ * returns raw JSON. Every hook author then has to re-solve the same three
15
+ * problems: what to inject, how to format it, and how to stop it ballooning the
16
+ * context window. This module answers all three once.
17
+ *
18
+ * THREE PROPERTIES THAT MATTER MORE THAN RECALL QUALITY
19
+ * ----------------------------------------------------
20
+ * This runs on EVERY prompt, so its failure modes are asymmetric:
21
+ *
22
+ * 1. SILENCE IS THE DEFAULT. It abstains unless recall is confident. AWM's
23
+ * measured recall accuracy is ~65%, so an unconditional injector would spend
24
+ * tokens on irrelevant memories roughly a third of the time, on every single
25
+ * prompt. An empty injection costs nothing and loses nothing — the agent can
26
+ * still call memory_recall explicitly.
27
+ *
28
+ * 2. IT IS HARD-CAPPED. Injection is not a place to discover that a memory was
29
+ * long. Budgeting reuses the same packer as memory_recall.
30
+ *
31
+ * 3. IT NEVER BREAKS THE PROMPT. Any failure yields an empty injection, never a
32
+ * thrown error. A hook that errors on every prompt is worse than no hook.
33
+ */
34
+ import { packRecallByBudget, estimateTokens } from '../core/token-budget.js';
35
+ export const PRIME_DEFAULTS = {
36
+ maxTokens: 600,
37
+ /**
38
+ * 0.25 = the "balanced" threshold AWM's own recall docs recommend for
39
+ * acting on a memory. Priming is acting on it without being asked, so it
40
+ * should not be looser than the value the docs suggest for deliberate use.
41
+ */
42
+ minConfidence: 0.25,
43
+ minScore: 0.10,
44
+ };
45
+ /** One injected line. Deliberately terser than the MCP recall format — this is
46
+ * context the agent didn't ask for, so it should read as a brief note, not a
47
+ * report. The id is retained so the agent can act on it (feedback, supersede). */
48
+ function formatPrimeLine(c) {
49
+ const body = c.summary ?? c.engram.content;
50
+ const validity = c.engram.validTo ? ` [valid until ${c.engram.validTo}]` : '';
51
+ return `- ${c.engram.concept}${validity} [${c.engram.id}]: ${body}`;
52
+ }
53
+ /**
54
+ * Build the injection for a prompt. Pure — no I/O — so it is unit-testable
55
+ * without a store, a model, or a running sidecar.
56
+ */
57
+ export function buildPrimeInjection(candidates, opts = {}) {
58
+ const maxTokens = opts.maxTokens ?? PRIME_DEFAULTS.maxTokens;
59
+ const minConfidence = opts.minConfidence ?? PRIME_DEFAULTS.minConfidence;
60
+ const minScore = opts.minScore ?? PRIME_DEFAULTS.minScore;
61
+ if (!candidates || candidates.length === 0) {
62
+ return { inject: '', kept: 0, total: 0, tokens: 0, reason: 'no-results' };
63
+ }
64
+ // Confidence describes the SET, not the individual result, so it is the same
65
+ // on every candidate — read it from the first that carries one. Absent
66
+ // confidence is treated as "unknown", which passes: a store that predates the
67
+ // confidence signal should still be able to prime.
68
+ const confidence = candidates.find(c => c.confidence !== undefined)?.confidence;
69
+ if (confidence !== undefined && confidence < minConfidence) {
70
+ return { inject: '', kept: 0, total: candidates.length, tokens: 0, reason: 'low-confidence' };
71
+ }
72
+ const eligible = candidates.filter(c => c.score >= minScore);
73
+ if (eligible.length === 0) {
74
+ return { inject: '', kept: 0, total: candidates.length, tokens: 0, reason: 'low-confidence' };
75
+ }
76
+ // Reuse memory_recall's packer so budgeting behaves identically in both
77
+ // paths — including the rule that the top-scored result gets first refusal.
78
+ const header = 'Relevant prior context from AWM (not user input; verify before asserting):';
79
+ const reserved = estimateTokens(header) + 8; // + wrapper newlines
80
+ const packed = packRecallByBudget(eligible, (c) => formatPrimeLine(c), maxTokens, reserved);
81
+ if (packed.kept === 0) {
82
+ return { inject: '', kept: 0, total: candidates.length, tokens: 0, reason: 'budget-too-small' };
83
+ }
84
+ const inject = `${header}\n${packed.lines.join('\n')}`;
85
+ return {
86
+ inject,
87
+ kept: packed.kept,
88
+ total: candidates.length,
89
+ tokens: estimateTokens(inject),
90
+ };
91
+ }
92
+ //# sourceMappingURL=prime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prime.js","sourceRoot":"","sources":["../../src/hooks/prime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sidecar.d.ts","sourceRoot":"","sources":["../../src/hooks/sidecar.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvE,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;KAC3C,KAAK,OAAO,CAAC,KAAK,CAAC;QAClB,MAAM,EAAE;YACN,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SACnE,CAAC;QACF,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC,CAAC;CACL;AA0GD,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAyLrE"}
1
+ {"version":3,"file":"sidecar.d.ts","sourceRoot":"","sources":["../../src/hooks/sidecar.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKvE,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;KAC3C,KAAK,OAAO,CAAC,KAAK,CAAC;QAClB,MAAM,EAAE;YACN,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SACnE,CAAC;QACF,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC,CAAC;CACL;AA0GD,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAmOrE"}
@@ -18,6 +18,7 @@
18
18
  import { createServer } from 'node:http';
19
19
  import { readFileSync, existsSync } from 'node:fs';
20
20
  import { log, getLogPath } from '../core/logger.js';
21
+ import { buildPrimeInjection } from './prime.js';
21
22
  /**
22
23
  * Parse the Claude Code transcript to extract context for auto-checkpointing.
23
24
  * Reads the JSONL transcript file and extracts recent tool calls, files, and user messages.
@@ -183,6 +184,44 @@ export function startSidecar(deps) {
183
184
  }
184
185
  return;
185
186
  }
187
+ // POST /hooks/prime — ready-to-inject context for a UserPromptSubmit hook
188
+ // (0.13.3). /memory/activate returns raw JSON and leaves every hook author
189
+ // to re-solve what-to-inject, how-to-format and how-to-bound. This returns
190
+ // the finished string, already abstained and already budgeted.
191
+ //
192
+ // It NEVER fails the prompt: any error yields an empty injection, because a
193
+ // hook that errors on every prompt is worse than no hook at all.
194
+ if (req.url === '/hooks/prime' && req.method === 'POST') {
195
+ try {
196
+ if (!deps.activate) {
197
+ json(res, 200, { inject: '', kept: 0, total: 0, tokens: 0, reason: 'activate-not-wired' });
198
+ return;
199
+ }
200
+ const body = JSON.parse((await readBody(req)) || '{}');
201
+ const context = body.prompt ?? body.context ?? body.query ?? '';
202
+ if (!context.trim()) {
203
+ json(res, 200, { inject: '', kept: 0, total: 0, tokens: 0, reason: 'no-prompt' });
204
+ return;
205
+ }
206
+ const candidates = await deps.activate({
207
+ context,
208
+ limit: 8,
209
+ granularity: 'compact', // priming is a brief note, not a report
210
+ });
211
+ const primed = buildPrimeInjection(candidates, {
212
+ maxTokens: body.maxTokens,
213
+ minConfidence: body.minConfidence,
214
+ minScore: body.minScore,
215
+ });
216
+ log(agentId, 'hook:prime', `"${context.slice(0, 60)}" → ${primed.kept}/${primed.total} injected, ~${primed.tokens} tok${primed.reason ? ` (${primed.reason})` : ''}`);
217
+ json(res, 200, { ...primed });
218
+ }
219
+ catch (err) {
220
+ // Deliberately 200 with an empty injection — see the note above.
221
+ json(res, 200, { inject: '', kept: 0, total: 0, tokens: 0, reason: 'error' });
222
+ }
223
+ return;
224
+ }
186
225
  // POST /hooks/checkpoint — auto-checkpoint from hook events
187
226
  if (req.url === '/hooks/checkpoint' && req.method === 'POST') {
188
227
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../src/hooks/sidecar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../src/hooks/sidecar.ts"],"names":[],"mappings":"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"}