agentfootprint 9.5.0 → 9.6.0
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/dist/adapters/llm/AnthropicProvider.js +6 -0
- package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BedrockProvider.js +7 -0
- package/dist/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserAnthropicProvider.js +13 -0
- package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserOpenAIProvider.js +14 -0
- package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/adapters/llm/OpenAIProvider.js +7 -0
- package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/adapters/llm/contextWindow.js +284 -0
- package/dist/adapters/llm/contextWindow.js.map +1 -0
- package/dist/core/Agent.js +13 -0
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/stages/seed.js +67 -11
- package/dist/core/agent/stages/seed.js.map +1 -1
- package/dist/core/runCheckpoint.js +102 -2
- package/dist/core/runCheckpoint.js.map +1 -1
- package/dist/esm/adapters/llm/AnthropicProvider.js +6 -0
- package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BedrockProvider.js +7 -0
- package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +13 -0
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +14 -0
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/OpenAIProvider.js +7 -0
- package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/contextWindow.d.ts +111 -0
- package/dist/esm/adapters/llm/contextWindow.js +277 -0
- package/dist/esm/adapters/llm/contextWindow.js.map +1 -0
- package/dist/esm/core/Agent.js +13 -0
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/stages/seed.d.ts +12 -0
- package/dist/esm/core/agent/stages/seed.js +67 -11
- package/dist/esm/core/agent/stages/seed.js.map +1 -1
- package/dist/esm/core/runCheckpoint.d.ts +25 -0
- package/dist/esm/core/runCheckpoint.js +100 -1
- package/dist/esm/core/runCheckpoint.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +6 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/memory/causal/writeSnapshot.d.ts +17 -4
- package/dist/esm/memory/causal/writeSnapshot.js +31 -27
- package/dist/esm/memory/causal/writeSnapshot.js.map +1 -1
- package/dist/esm/memory/define.js +17 -1
- package/dist/esm/memory/define.js.map +1 -1
- package/dist/esm/memory/define.types.d.ts +17 -0
- package/dist/esm/memory/define.types.js.map +1 -1
- package/dist/esm/memory/index.d.ts +1 -0
- package/dist/esm/memory/index.js +1 -0
- package/dist/esm/memory/index.js.map +1 -1
- package/dist/esm/memory/stages/types.d.ts +13 -3
- package/dist/esm/memory/strategies.d.ts +27 -1
- package/dist/esm/memory/strategies.js +105 -1
- package/dist/esm/memory/strategies.js.map +1 -1
- package/dist/esm/memory/turn/index.d.ts +7 -0
- package/dist/esm/memory/turn/index.js +11 -0
- package/dist/esm/memory/turn/index.js.map +1 -0
- package/dist/esm/memory/turn/resolveTurnNumber.d.ts +94 -0
- package/dist/esm/memory/turn/resolveTurnNumber.js +75 -0
- package/dist/esm/memory/turn/resolveTurnNumber.js.map +1 -0
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/memory/causal/writeSnapshot.js +31 -27
- package/dist/memory/causal/writeSnapshot.js.map +1 -1
- package/dist/memory/define.js +16 -0
- package/dist/memory/define.js.map +1 -1
- package/dist/memory/define.types.js.map +1 -1
- package/dist/memory/index.js +1 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/strategies.js +107 -2
- package/dist/memory/strategies.js.map +1 -1
- package/dist/memory/turn/index.js +16 -0
- package/dist/memory/turn/index.js.map +1 -0
- package/dist/memory/turn/resolveTurnNumber.js +81 -0
- package/dist/memory/turn/resolveTurnNumber.js.map +1 -0
- package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/contextWindow.d.ts +112 -0
- package/dist/types/adapters/llm/contextWindow.d.ts.map +1 -0
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/stages/seed.d.ts +12 -0
- package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/runCheckpoint.d.ts +25 -0
- package/dist/types/core/runCheckpoint.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/memory/causal/writeSnapshot.d.ts +17 -4
- package/dist/types/memory/causal/writeSnapshot.d.ts.map +1 -1
- package/dist/types/memory/define.d.ts.map +1 -1
- package/dist/types/memory/define.types.d.ts +17 -0
- package/dist/types/memory/define.types.d.ts.map +1 -1
- package/dist/types/memory/index.d.ts +1 -0
- package/dist/types/memory/index.d.ts.map +1 -1
- package/dist/types/memory/stages/types.d.ts +13 -3
- package/dist/types/memory/stages/types.d.ts.map +1 -1
- package/dist/types/memory/strategies.d.ts +27 -1
- package/dist/types/memory/strategies.d.ts.map +1 -1
- package/dist/types/memory/turn/index.d.ts +8 -0
- package/dist/types/memory/turn/index.d.ts.map +1 -0
- package/dist/types/memory/turn/resolveTurnNumber.d.ts +95 -0
- package/dist/types/memory/turn/resolveTurnNumber.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -22,15 +22,28 @@
|
|
|
22
22
|
* processes). Rationale:
|
|
23
23
|
* - Hosts that track `turnNumber` correctly keep their numbering
|
|
24
24
|
* (`turnNumber: 5` → `snap-5`, gaps preserved).
|
|
25
|
-
* - Hosts with a stale counter
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* `snap-1`.
|
|
25
|
+
* - Hosts with a stale counter still get a fresh, ordered id — turn 2
|
|
26
|
+
* of the same conversation lands `snap-2` instead of silently
|
|
27
|
+
* replacing `snap-1`.
|
|
29
28
|
* Causal snapshots are decision evidence (audit/replay data): when
|
|
30
29
|
* "stale counter" and "deliberate same-turn rewrite" are
|
|
31
30
|
* indistinguishable, never destroying a prior turn's evidence wins.
|
|
32
31
|
* TTL-expired snapshots are ignored by the scan (same as every read).
|
|
33
32
|
*
|
|
33
|
+
* Since 9.6.0 this is SELF-DEFENSE, not the primary mechanism. The Agent
|
|
34
|
+
* resolves the turn once per run against the same stores (`seed` →
|
|
35
|
+
* `resolveTurnNumber`), so under an Agent `scope.turnNumber` already
|
|
36
|
+
* satisfies this rule and the scan changes nothing — it re-answers what
|
|
37
|
+
* it is given. It stays for hand-composed pipelines mounted through
|
|
38
|
+
* `mountMemoryWrite` in a host that numbers its own turns, which is
|
|
39
|
+
* exactly the case the Agent's resolution cannot reach.
|
|
40
|
+
*
|
|
41
|
+
* The scan is deliberately narrowed to `snap-{n}` ids rather than to
|
|
42
|
+
* every turn-stamped entry: `writeMessages` may already have written
|
|
43
|
+
* turn N into a SHARED store by the time this stage runs, and a scan that
|
|
44
|
+
* counted those would answer N+1 and file this turn's evidence under a
|
|
45
|
+
* turn its own messages do not have.
|
|
46
|
+
*
|
|
34
47
|
* Empty-newMessages handling:
|
|
35
48
|
* When `newMessages` is empty (no final answer produced — e.g.
|
|
36
49
|
* pause-resume mid-flight), the stage no-ops. Re-runs after resume
|
|
@@ -22,15 +22,28 @@
|
|
|
22
22
|
* processes). Rationale:
|
|
23
23
|
* - Hosts that track `turnNumber` correctly keep their numbering
|
|
24
24
|
* (`turnNumber: 5` → `snap-5`, gaps preserved).
|
|
25
|
-
* - Hosts with a stale counter
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* `snap-1`.
|
|
25
|
+
* - Hosts with a stale counter still get a fresh, ordered id — turn 2
|
|
26
|
+
* of the same conversation lands `snap-2` instead of silently
|
|
27
|
+
* replacing `snap-1`.
|
|
29
28
|
* Causal snapshots are decision evidence (audit/replay data): when
|
|
30
29
|
* "stale counter" and "deliberate same-turn rewrite" are
|
|
31
30
|
* indistinguishable, never destroying a prior turn's evidence wins.
|
|
32
31
|
* TTL-expired snapshots are ignored by the scan (same as every read).
|
|
33
32
|
*
|
|
33
|
+
* Since 9.6.0 this is SELF-DEFENSE, not the primary mechanism. The Agent
|
|
34
|
+
* resolves the turn once per run against the same stores (`seed` →
|
|
35
|
+
* `resolveTurnNumber`), so under an Agent `scope.turnNumber` already
|
|
36
|
+
* satisfies this rule and the scan changes nothing — it re-answers what
|
|
37
|
+
* it is given. It stays for hand-composed pipelines mounted through
|
|
38
|
+
* `mountMemoryWrite` in a host that numbers its own turns, which is
|
|
39
|
+
* exactly the case the Agent's resolution cannot reach.
|
|
40
|
+
*
|
|
41
|
+
* The scan is deliberately narrowed to `snap-{n}` ids rather than to
|
|
42
|
+
* every turn-stamped entry: `writeMessages` may already have written
|
|
43
|
+
* turn N into a SHARED store by the time this stage runs, and a scan that
|
|
44
|
+
* counted those would answer N+1 and file this turn's evidence under a
|
|
45
|
+
* turn its own messages do not have.
|
|
46
|
+
*
|
|
34
47
|
* Empty-newMessages handling:
|
|
35
48
|
* When `newMessages` is empty (no final answer produced — e.g.
|
|
36
49
|
* pause-resume mid-flight), the stage no-ops. Re-runs after resume
|
|
@@ -39,6 +52,7 @@
|
|
|
39
52
|
* @see ./types.ts for the SnapshotEntry shape this writes
|
|
40
53
|
* @see ./loadSnapshot.ts for the read-side counterpart
|
|
41
54
|
*/
|
|
55
|
+
import { maxStoredTurn, normalizeHostTurn } from '../turn/resolveTurnNumber.js';
|
|
42
56
|
/** Ids written by this stage: `snap-{turn}`. Used to find the highest
|
|
43
57
|
* turn already persisted for a conversation (other entry kinds sharing
|
|
44
58
|
* the store — `msg-{turn}-{idx}`, beats, facts — never match). */
|
|
@@ -48,26 +62,17 @@ const SNAPSHOT_ID_PATTERN = /^snap-(\d+)$/;
|
|
|
48
62
|
* conversation. 0 when none. One paged `list()` scan per turn-write —
|
|
49
63
|
* snapshot writes happen once per turn, and the namespace is a single
|
|
50
64
|
* conversation, so the scan stays small.
|
|
65
|
+
*
|
|
66
|
+
* The paging (and its bound) is `maxStoredTurn`'s, shared with the Agent's
|
|
67
|
+
* per-run resolution; only WHICH entries count is this stage's own.
|
|
51
68
|
*/
|
|
52
69
|
async function maxStoredSnapshotTurn(store, identity) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
do {
|
|
56
|
-
const page = await store.list(identity, {
|
|
57
|
-
limit: 1000,
|
|
58
|
-
...(cursor !== undefined && { cursor }),
|
|
59
|
-
});
|
|
60
|
-
for (const entry of page.entries) {
|
|
70
|
+
return maxStoredTurn(store, identity, {
|
|
71
|
+
turnFor: (entry) => {
|
|
61
72
|
const match = SNAPSHOT_ID_PATTERN.exec(entry.id);
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
max = turn;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
cursor = page.cursor;
|
|
69
|
-
} while (cursor !== undefined);
|
|
70
|
-
return max;
|
|
73
|
+
return match ? Number(match[1]) : 0;
|
|
74
|
+
},
|
|
75
|
+
});
|
|
71
76
|
}
|
|
72
77
|
export function writeSnapshot(config) {
|
|
73
78
|
const { store, embedder } = config;
|
|
@@ -86,12 +91,11 @@ export function writeSnapshot(config) {
|
|
|
86
91
|
if (query.length === 0)
|
|
87
92
|
return; // No query → no useful snapshot.
|
|
88
93
|
// Effective turn — anchored on the store, not the host's counter
|
|
89
|
-
// (see header: "Turn derivation"). Guarantees distinct, ordered ids
|
|
90
|
-
//
|
|
91
|
-
//
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
: 1;
|
|
94
|
+
// (see header: "Turn derivation"). Guarantees distinct, ordered ids for
|
|
95
|
+
// consecutive turns of one conversation even when the host's own counter
|
|
96
|
+
// is stale — which the Agent's is not since 9.6.0, and a hand-composed
|
|
97
|
+
// host's may still be.
|
|
98
|
+
const hostTurn = normalizeHostTurn(scope.turnNumber);
|
|
95
99
|
const storedMax = await maxStoredSnapshotTurn(store, identity);
|
|
96
100
|
const turn = Math.max(hostTurn, storedMax + 1);
|
|
97
101
|
const signal = scope.$getEnv?.()?.signal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeSnapshot.js","sourceRoot":"","sources":["../../../../src/memory/causal/writeSnapshot.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"writeSnapshot.js","sourceRoot":"","sources":["../../../../src/memory/causal/writeSnapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
* @see ./pipeline/*.ts for the existing pipeline factories this dispatches to
|
|
29
29
|
*/
|
|
30
30
|
import { refuseAsRole } from './asRoleRefusal.js';
|
|
31
|
-
import { assertStrategyRequirements } from './strategies.js';
|
|
31
|
+
import { assertStrategyRequirements, assertStrategyShape } from './strategies.js';
|
|
32
32
|
import { resolveRankingMode } from './store/capability.js';
|
|
33
33
|
import { defaultPipeline } from './pipeline/default.js';
|
|
34
34
|
import { ephemeralPipeline } from './pipeline/ephemeral.js';
|
|
@@ -87,6 +87,10 @@ export function defineMemory(options) {
|
|
|
87
87
|
type: options.type,
|
|
88
88
|
read: brandPipeline(pipeline.read),
|
|
89
89
|
...(write !== undefined && { write: brandPipeline(write) }),
|
|
90
|
+
// Carried in the open so the host can resolve WHICH TURN this is against
|
|
91
|
+
// the same durable namespace the pipeline writes into — the turn number
|
|
92
|
+
// is a key, not a label (see MemoryDefinition.store).
|
|
93
|
+
store: options.store,
|
|
90
94
|
timing: options.timing ?? MEMORY_TIMING.TURN_START,
|
|
91
95
|
...(options.redact !== undefined && { redact: options.redact }),
|
|
92
96
|
...(options.corpus !== undefined && { corpus: options.corpus }),
|
|
@@ -111,6 +115,14 @@ function validate(options) {
|
|
|
111
115
|
throw new Error(`defineMemory[id=${options.id}]: \`store\` is required. ` +
|
|
112
116
|
'Pass `new InMemoryStore()` for dev/tests, or a backed store for production.');
|
|
113
117
|
}
|
|
118
|
+
// SHAPE before anything reads a field (9.5.1). Both the dispatch below and
|
|
119
|
+
// the requirements walk read fields off the strategy — `h.strategies[0]`,
|
|
120
|
+
// `for (const sub of strategy.strategies)` — and a field read off a shape
|
|
121
|
+
// that never had it is a `TypeError` from inside this library, naming
|
|
122
|
+
// neither the option the caller got wrong nor the one they meant.
|
|
123
|
+
// Field-reported: `{ kind: 'hybrid', size: 5 }` produced `Cannot read
|
|
124
|
+
// properties of undefined (reading '0')`.
|
|
125
|
+
assertStrategyShape(options.strategy, `defineMemory[${options.id}]`);
|
|
114
126
|
// The shorthand and the spelled-out rule EXCLUDE. Accepting both would
|
|
115
127
|
// mean one of two numbers silently loses, and the recording would name
|
|
116
128
|
// a `k` the run did not use.
|
|
@@ -194,6 +206,10 @@ function buildEpisodicPipeline(options) {
|
|
|
194
206
|
const h = s;
|
|
195
207
|
const inner = h.strategies[0];
|
|
196
208
|
if (!inner) {
|
|
209
|
+
// Unreachable since 9.5.1 — `assertStrategyShape` refuses a missing,
|
|
210
|
+
// non-array or empty `strategies` in `validate()`, with the field
|
|
211
|
+
// named and a working line in the message. Kept as the index-access
|
|
212
|
+
// backstop the type system asks for, not as the message a caller sees.
|
|
197
213
|
throw new Error(`defineMemory[${options.id}]: HYBRID strategy requires at least one sub-strategy.`);
|
|
198
214
|
}
|
|
199
215
|
return buildEpisodicPipeline({ ...options, strategy: inner });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/memory/define.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/memory/define.ts"],"names":[],"mappings":"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"}
|
|
@@ -314,6 +314,23 @@ export interface MemoryDefinition<T = unknown> {
|
|
|
314
314
|
readonly read: ReadonlyMemoryFlowChart<T>;
|
|
315
315
|
/** Compiled write subflow. Optional — `EPHEMERAL`-style configs omit. */
|
|
316
316
|
readonly write?: ReadonlyMemoryFlowChart<T>;
|
|
317
|
+
/**
|
|
318
|
+
* The store this memory reads and writes (9.6.0).
|
|
319
|
+
*
|
|
320
|
+
* The compiled subflows already closed over it — this carries it in the
|
|
321
|
+
* open for the one question a subflow cannot answer from inside itself:
|
|
322
|
+
* **which turn of this conversation is about to happen?** A turn number
|
|
323
|
+
* is the key in `msg-{turn}-{index}` / `snap-{turn}` / `beat-{turn}-{i}`,
|
|
324
|
+
* and the only thing that remembers how far a conversation has got —
|
|
325
|
+
* across processes, across a fresh `Agent` per turn — is the store. The
|
|
326
|
+
* Agent reads this to resolve the turn once per run (`resolveTurnNumber`)
|
|
327
|
+
* before any memory subflow runs.
|
|
328
|
+
*
|
|
329
|
+
* Optional because a `MemoryDefinition` may be hand-built; a definition
|
|
330
|
+
* without it simply keeps whatever turn number its host supplies, which
|
|
331
|
+
* is what every release before 9.6.0 did.
|
|
332
|
+
*/
|
|
333
|
+
readonly store?: MemoryStore;
|
|
317
334
|
/** When `read` runs. Default `TURN_START`. */
|
|
318
335
|
readonly timing: MemoryTiming;
|
|
319
336
|
/** Reserved for a future release — patterns to redact before write. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.types.js","sourceRoot":"","sources":["../../../src/memory/define.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAQH,uEAAuE;AAEvE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;CAChB,CAAC;AAGX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"define.types.js","sourceRoot":"","sources":["../../../src/memory/define.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAQH,uEAAuE;AAEvE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;CAChB,CAAC;AAGX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;CACJ,CAAC;AAqXX,uEAAuE;AAEvE,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAQ,MAAM,CAAC,MAAM,CAAC,aAAa,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAQ,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED,uEAAuE;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAA2B,CAAC;AAEvE,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,OAAO,GAAG,2BAA2B,GAAG,EAAE,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,oBAA6B,CAAC;AAE3E,MAAM,UAAU,oBAAoB,CAAC,EAAU;IAC7C,OAAO,GAAG,6BAA6B,GAAG,EAAE,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,OAAO,GAAG,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -14,6 +14,7 @@ export * from './identity/index.js';
|
|
|
14
14
|
export * from './pipeline/index.js';
|
|
15
15
|
export * from './stages/index.js';
|
|
16
16
|
export * from './store/index.js';
|
|
17
|
+
export * from './turn/index.js';
|
|
17
18
|
export * from './wire/index.js';
|
|
18
19
|
export * from './retrieval/index.js';
|
|
19
20
|
export { MEMORY_TYPES, MEMORY_STRATEGIES, MEMORY_TIMING, SNAPSHOT_PROJECTIONS, MEMORY_INJECTION_KEY_PREFIX, RETRIEVAL_EVIDENCE_KEY_PREFIX, isMemoryType, isMemoryStrategyKind, isMemoryTiming, isSnapshotProjection, memoryInjectionKey, isMemoryInjectionKey, retrievalEvidenceKey, isRetrievalEvidenceKey, type MemoryType, type MemoryStrategyKind, type MemoryTiming, type SnapshotProjection, type Strategy, type MemoryWindowStrategy, type BudgetStrategy, type SummarizeStrategy, type TopKStrategy, type TopKShorthandStrategy, type TopKRetrievalStrategy, type MemoryFlavor, type ExtractStrategy, type DecayStrategy, type HybridStrategy, type MemoryDefinition, type DefineMemoryOptions, type DefineEpisodicOptions, type DefineSemanticOptions, type DefineNarrativeOptions, type DefineCausalOptions, type MemoryRedactionPolicy, } from './define.types.js';
|
package/dist/esm/memory/index.js
CHANGED
|
@@ -14,6 +14,7 @@ export * from './identity/index.js';
|
|
|
14
14
|
export * from './pipeline/index.js';
|
|
15
15
|
export * from './stages/index.js';
|
|
16
16
|
export * from './store/index.js';
|
|
17
|
+
export * from './turn/index.js';
|
|
17
18
|
export * from './wire/index.js';
|
|
18
19
|
export * from './retrieval/index.js';
|
|
19
20
|
// Consumer-facing factory + const-objects for memory configuration.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/memory/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AAErC,oEAAoE;AACpE,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,6BAA6B,EAC7B,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,GAuBvB,MAAM,mBAAmB,CAAC;AAC3B,6EAA6E;AAC7E,wEAAwE;AACxE,wEAAwE;AACxE,4EAA4E;AAC5E,gEAAgE;AAChE,0EAA0E;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,4EAA4E;AAC5E,uEAAuE;AACvE,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GAGnB,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/memory/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AAErC,oEAAoE;AACpE,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,6BAA6B,EAC7B,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,GAuBvB,MAAM,mBAAmB,CAAC;AAC3B,6EAA6E;AAC7E,wEAAwE;AACxE,wEAAwE;AACxE,4EAA4E;AAC5E,gEAAgE;AAChE,0EAA0E;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,4EAA4E;AAC5E,uEAAuE;AACvE,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GAGnB,MAAM,iBAAiB,CAAC"}
|
|
@@ -24,9 +24,19 @@ export interface MemoryState {
|
|
|
24
24
|
*/
|
|
25
25
|
readonly identity: MemoryIdentity;
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* by
|
|
27
|
+
* WHICH TURN of this conversation this pipeline is running for — 1 for the
|
|
28
|
+
* first exchange, 2 for the second, and so on within one `conversationId`.
|
|
29
|
+
* Set by the wire layer before the pipeline runs.
|
|
30
|
+
*
|
|
31
|
+
* Not a label: write-side stages KEY their entries on it (`msg-{turn}-{i}`,
|
|
32
|
+
* `snap-{turn}`, `beat-{turn}-{i}`) and stamp it into `MemoryEntry.source`
|
|
33
|
+
* so recall can say "remembered from turn 5". Two turns that share this
|
|
34
|
+
* number are one turn overwriting the other.
|
|
35
|
+
*
|
|
36
|
+
* Under an Agent it is resolved once per run against the memory stores
|
|
37
|
+
* themselves (`resolveTurnNumber`), so it survives a fresh Agent — or a
|
|
38
|
+
* fresh process — per turn. A host that mounts these subflows itself owns
|
|
39
|
+
* the number: pass a real one, or call `resolveTurnNumber` to derive it.
|
|
30
40
|
*/
|
|
31
41
|
readonly turnNumber: number;
|
|
32
42
|
/**
|
|
@@ -24,7 +24,10 @@
|
|
|
24
24
|
* `requirements` is what a host must SUPPLY (an embedder, an LLM, a store
|
|
25
25
|
* that can search). Empty means the strategy runs anywhere, at $0.
|
|
26
26
|
*
|
|
27
|
-
* Pattern: declared capability descriptors +
|
|
27
|
+
* Pattern: declared capability descriptors + the two guards that enforce
|
|
28
|
+
* them — SHAPE first (`assertStrategyShape`: is this even a
|
|
29
|
+
* strategy?), REQUIREMENTS after (`assertStrategyRequirements`: can
|
|
30
|
+
* this deployment run it?).
|
|
28
31
|
* Role: memory/ layer-1, beside the const it describes.
|
|
29
32
|
* Emits: N/A — build-time only.
|
|
30
33
|
*
|
|
@@ -85,6 +88,29 @@ export declare function listMemoryStrategies(): readonly MemoryStrategyInfo[];
|
|
|
85
88
|
* not a strategy at all.
|
|
86
89
|
*/
|
|
87
90
|
export declare function memoryStrategyInfo(kind: string): MemoryStrategyInfo | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* Refuse a strategy whose SHAPE is wrong, before anything reads into it.
|
|
93
|
+
*
|
|
94
|
+
* WHY it runs FIRST, ahead of both the pipeline dispatch and the
|
|
95
|
+
* requirements walk: those two read FIELDS off the strategy
|
|
96
|
+
* (`strategies[0]`, `s.embedder`, `for (const sub of strategy.strategies)`),
|
|
97
|
+
* and a field read off a shape that never had it is a `TypeError` with the
|
|
98
|
+
* library's internals in the text — `Cannot read properties of undefined
|
|
99
|
+
* (reading '0')` for `{ kind: 'hybrid', size: 5 }`, which names neither the
|
|
100
|
+
* option the caller got wrong nor the one they meant. A caller cannot act on
|
|
101
|
+
* that. This guard turns every such read into a refusal that names the
|
|
102
|
+
* field, shows the line that would have worked, and points at the catalogue.
|
|
103
|
+
*
|
|
104
|
+
* It checks SHAPE only — is this an object, does it carry a `kind`, does a
|
|
105
|
+
* `hybrid` carry the array that makes it a hybrid. It deliberately does NOT
|
|
106
|
+
* judge whether the kind is real or legal for the type: the dispatch refuses
|
|
107
|
+
* those and names the alternative for that type, which is the better message.
|
|
108
|
+
*
|
|
109
|
+
* @param strategy the strategy exactly as the caller wrote it — `unknown`,
|
|
110
|
+
* because the whole point is that it may not be a `Strategy`.
|
|
111
|
+
* @param site the call to name in the message, e.g. `defineMemory[chat]`.
|
|
112
|
+
*/
|
|
113
|
+
export declare function assertStrategyShape(strategy: unknown, site: string): void;
|
|
88
114
|
/**
|
|
89
115
|
* Refuse a config whose strategy declares a requirement the caller did not
|
|
90
116
|
* supply — by name, at BUILD, with the fix in the message.
|
|
@@ -24,7 +24,10 @@
|
|
|
24
24
|
* `requirements` is what a host must SUPPLY (an embedder, an LLM, a store
|
|
25
25
|
* that can search). Empty means the strategy runs anywhere, at $0.
|
|
26
26
|
*
|
|
27
|
-
* Pattern: declared capability descriptors +
|
|
27
|
+
* Pattern: declared capability descriptors + the two guards that enforce
|
|
28
|
+
* them — SHAPE first (`assertStrategyShape`: is this even a
|
|
29
|
+
* strategy?), REQUIREMENTS after (`assertStrategyRequirements`: can
|
|
30
|
+
* this deployment run it?).
|
|
28
31
|
* Role: memory/ layer-1, beside the const it describes.
|
|
29
32
|
* Emits: N/A — build-time only.
|
|
30
33
|
*
|
|
@@ -127,6 +130,107 @@ export function listMemoryStrategies() {
|
|
|
127
130
|
export function memoryStrategyInfo(kind) {
|
|
128
131
|
return BUILT_IN.find((s) => s.kind === kind);
|
|
129
132
|
}
|
|
133
|
+
// ─── The guard that makes the SHAPE true ────────────────────────────
|
|
134
|
+
/**
|
|
135
|
+
* One correct line per kind — what a caller writes to get that strategy.
|
|
136
|
+
* These are quoted verbatim into refusals, so a reader can copy the fix out
|
|
137
|
+
* of the message instead of going to look for a doc.
|
|
138
|
+
*/
|
|
139
|
+
const EXAMPLE = Object.freeze({
|
|
140
|
+
[MEMORY_STRATEGIES.WINDOW]: `{ kind: 'window', size: 20 }`,
|
|
141
|
+
[MEMORY_STRATEGIES.BUDGET]: `{ kind: 'budget', maxEntries: 20 }`,
|
|
142
|
+
[MEMORY_STRATEGIES.SUMMARIZE]: `{ kind: 'summarize', recent: 5, llm }`,
|
|
143
|
+
[MEMORY_STRATEGIES.TOP_K]: `{ kind: 'topK', topK: 3, embedder }`,
|
|
144
|
+
[MEMORY_STRATEGIES.EXTRACT]: `{ kind: 'extract', extractor: 'pattern' }`,
|
|
145
|
+
[MEMORY_STRATEGIES.DECAY]: `{ kind: 'decay', halfLifeMs: 86_400_000 }`,
|
|
146
|
+
[MEMORY_STRATEGIES.HYBRID]: `{ kind: 'hybrid', strategies: [{ kind: 'window', size: 20 }] }`,
|
|
147
|
+
});
|
|
148
|
+
const LISTING_HINT = ` \`listMemoryStrategies()\` describes all seven kinds — what each one does, which memory ` +
|
|
149
|
+
`TYPES accept it, and what it needs supplied.`;
|
|
150
|
+
/**
|
|
151
|
+
* Refuse a strategy whose SHAPE is wrong, before anything reads into it.
|
|
152
|
+
*
|
|
153
|
+
* WHY it runs FIRST, ahead of both the pipeline dispatch and the
|
|
154
|
+
* requirements walk: those two read FIELDS off the strategy
|
|
155
|
+
* (`strategies[0]`, `s.embedder`, `for (const sub of strategy.strategies)`),
|
|
156
|
+
* and a field read off a shape that never had it is a `TypeError` with the
|
|
157
|
+
* library's internals in the text — `Cannot read properties of undefined
|
|
158
|
+
* (reading '0')` for `{ kind: 'hybrid', size: 5 }`, which names neither the
|
|
159
|
+
* option the caller got wrong nor the one they meant. A caller cannot act on
|
|
160
|
+
* that. This guard turns every such read into a refusal that names the
|
|
161
|
+
* field, shows the line that would have worked, and points at the catalogue.
|
|
162
|
+
*
|
|
163
|
+
* It checks SHAPE only — is this an object, does it carry a `kind`, does a
|
|
164
|
+
* `hybrid` carry the array that makes it a hybrid. It deliberately does NOT
|
|
165
|
+
* judge whether the kind is real or legal for the type: the dispatch refuses
|
|
166
|
+
* those and names the alternative for that type, which is the better message.
|
|
167
|
+
*
|
|
168
|
+
* @param strategy the strategy exactly as the caller wrote it — `unknown`,
|
|
169
|
+
* because the whole point is that it may not be a `Strategy`.
|
|
170
|
+
* @param site the call to name in the message, e.g. `defineMemory[chat]`.
|
|
171
|
+
*/
|
|
172
|
+
export function assertStrategyShape(strategy, site) {
|
|
173
|
+
checkShape(strategy, site, 'strategy');
|
|
174
|
+
}
|
|
175
|
+
function checkShape(value, site, path) {
|
|
176
|
+
if (typeof value !== 'object' || value === null) {
|
|
177
|
+
throw new Error(notAStrategyObject(value, site, path));
|
|
178
|
+
}
|
|
179
|
+
const kind = value.kind;
|
|
180
|
+
if (typeof kind !== 'string' || kind === '') {
|
|
181
|
+
throw new Error(missingKind(site, path));
|
|
182
|
+
}
|
|
183
|
+
if (kind !== MEMORY_STRATEGIES.HYBRID)
|
|
184
|
+
return;
|
|
185
|
+
// A hybrid IS its list. Every other kind can survive a missing field on a
|
|
186
|
+
// default; this one has nothing left to be.
|
|
187
|
+
const subs = value.strategies;
|
|
188
|
+
if (!Array.isArray(subs) || subs.length === 0) {
|
|
189
|
+
throw new Error(hybridWithoutStrategies(subs, site, path));
|
|
190
|
+
}
|
|
191
|
+
subs.forEach((sub, index) => checkShape(sub, site, `${path}.strategies[${index}]`));
|
|
192
|
+
}
|
|
193
|
+
/** `'window'`, `42`, `null` — anything that is not an object at all. */
|
|
194
|
+
function notAStrategyObject(value, site, path) {
|
|
195
|
+
const written = typeof value === 'string'
|
|
196
|
+
? `the string \`'${value}'\``
|
|
197
|
+
: value === undefined
|
|
198
|
+
? 'nothing at all'
|
|
199
|
+
: `\`${String(value)}\``;
|
|
200
|
+
// A bare string is almost always a caller reaching for the right kind with
|
|
201
|
+
// the wrong syntax — so answer with THAT kind's line, not a generic one.
|
|
202
|
+
const example = typeof value === 'string' && memoryStrategyInfo(value) !== undefined
|
|
203
|
+
? EXAMPLE[value]
|
|
204
|
+
: EXAMPLE[MEMORY_STRATEGIES.WINDOW];
|
|
205
|
+
return (`${site}: \`${path}\` must be an OBJECT with a \`kind\` — got ${written}.\n` +
|
|
206
|
+
` A bare kind name is not a strategy: the kind names the rule, and the object's other ` +
|
|
207
|
+
`fields configure it.\n` +
|
|
208
|
+
` Fix: ${path}: ${example}\n` +
|
|
209
|
+
LISTING_HINT);
|
|
210
|
+
}
|
|
211
|
+
/** `{}`, or an object whose `kind` is not a string. */
|
|
212
|
+
function missingKind(site, path) {
|
|
213
|
+
return (`${site}: \`${path}\` has no \`kind\` — that field is what says which strategy this is, ` +
|
|
214
|
+
`so there is nothing here to build.\n` +
|
|
215
|
+
` Fix: ${path}: ${EXAMPLE[MEMORY_STRATEGIES.WINDOW]}\n` +
|
|
216
|
+
LISTING_HINT);
|
|
217
|
+
}
|
|
218
|
+
/** `{ kind: 'hybrid' }` — the field-report shape, and its neighbours. */
|
|
219
|
+
function hybridWithoutStrategies(subs, site, path) {
|
|
220
|
+
const written = !Array.isArray(subs)
|
|
221
|
+
? subs === undefined
|
|
222
|
+
? 'none was passed'
|
|
223
|
+
: `\`strategies\` is not an array (got \`${typeof subs}\`)`
|
|
224
|
+
: 'the array is empty';
|
|
225
|
+
return (`${site}: the \`hybrid\` strategy needs a non-empty \`strategies\` array and ${written} — a ` +
|
|
226
|
+
`hybrid is defined by the strategies it composes, so an empty one has nothing to compose ` +
|
|
227
|
+
`and no behaviour of its own.\n` +
|
|
228
|
+
` Fix: ${path}: { kind: 'hybrid', strategies: [{ kind: 'window', size: 20 }, ` +
|
|
229
|
+
`{ kind: 'topK', topK: 3, embedder }] }\n` +
|
|
230
|
+
` Or: drop \`hybrid\` and name the one rule you meant, e.g. ` +
|
|
231
|
+
`${EXAMPLE[MEMORY_STRATEGIES.WINDOW]}.\n` +
|
|
232
|
+
LISTING_HINT);
|
|
233
|
+
}
|
|
130
234
|
// ─── The guard that makes the declaration true ──────────────────────
|
|
131
235
|
/**
|
|
132
236
|
* Refuse a config whose strategy declares a requirement the caller did not
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../../src/memory/strategies.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../../src/memory/strategies.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Turn identity — which turn of a conversation is about to happen.
|
|
3
|
+
*
|
|
4
|
+
* One rule, shared by every memory kind, so two turns of one conversation
|
|
5
|
+
* can never write the same turn-stamped ids. See `./resolveTurnNumber.ts`.
|
|
6
|
+
*/
|
|
7
|
+
export { maxStoredTurn, resolveTurnNumber, type MaxStoredTurnOptions, type ResolveTurnNumberOptions, } from './resolveTurnNumber.js';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Turn identity — which turn of a conversation is about to happen.
|
|
3
|
+
*
|
|
4
|
+
* One rule, shared by every memory kind, so two turns of one conversation
|
|
5
|
+
* can never write the same turn-stamped ids. See `./resolveTurnNumber.ts`.
|
|
6
|
+
*/
|
|
7
|
+
// `normalizeHostTurn` is deliberately NOT re-exported: it is the shared
|
|
8
|
+
// "what counts as a turn number" rule two call sites need, not a question a
|
|
9
|
+
// consumer has. Import it from the module when composing inside the library.
|
|
10
|
+
export { maxStoredTurn, resolveTurnNumber, } from './resolveTurnNumber.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/memory/turn/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wEAAwE;AACxE,4EAA4E;AAC5E,6EAA6E;AAC7E,OAAO,EACL,aAAa,EACb,iBAAiB,GAGlB,MAAM,wBAAwB,CAAC"}
|