agentfootprint 8.7.0 → 8.9.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/AGENTS.md +12 -4
- package/CLAUDE.md +7 -3
- package/ai-instructions/claude-code/SKILL.md +1 -1
- package/ai-instructions/setup.sh +0 -0
- package/bin/agentfootprint-lint-tools.mjs +0 -0
- package/dist/adapters/memory/sqliteVector.js +875 -0
- package/dist/adapters/memory/sqliteVector.js.map +1 -0
- package/dist/core/Agent.js +6 -0
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +12 -1
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +12 -1
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/memoryRecallInjections.js +100 -10
- package/dist/core/agent/memoryRecallInjections.js.map +1 -1
- package/dist/core/agent/stages/deliver.js.map +1 -1
- package/dist/core/slots/buildSystemPromptSlot.js +10 -0
- package/dist/core/slots/buildSystemPromptSlot.js.map +1 -1
- package/dist/core/slots/helpers.js +12 -10
- package/dist/core/slots/helpers.js.map +1 -1
- package/dist/embedders/index.js +11 -0
- package/dist/embedders/index.js.map +1 -1
- package/dist/esm/adapters/memory/sqliteVector.d.ts +251 -0
- package/dist/esm/adapters/memory/sqliteVector.js +869 -0
- package/dist/esm/adapters/memory/sqliteVector.js.map +1 -0
- package/dist/esm/core/Agent.js +6 -0
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.js +13 -2
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +13 -2
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/memoryRecallInjections.d.ts +13 -3
- package/dist/esm/core/agent/memoryRecallInjections.js +101 -11
- package/dist/esm/core/agent/memoryRecallInjections.js.map +1 -1
- package/dist/esm/core/agent/stages/deliver.d.ts +6 -3
- package/dist/esm/core/agent/stages/deliver.js.map +1 -1
- package/dist/esm/core/slots/buildSystemPromptSlot.js +10 -0
- package/dist/esm/core/slots/buildSystemPromptSlot.js.map +1 -1
- package/dist/esm/core/slots/helpers.d.ts +11 -2
- package/dist/esm/core/slots/helpers.js +11 -9
- package/dist/esm/core/slots/helpers.js.map +1 -1
- package/dist/esm/embedders/index.js +11 -0
- package/dist/esm/embedders/index.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +63 -0
- package/dist/esm/events/registry.d.ts +3 -1
- package/dist/esm/events/registry.js +2 -0
- package/dist/esm/events/registry.js.map +1 -1
- package/dist/esm/hosting/sqliteSessions.d.ts +7 -13
- package/dist/esm/hosting/sqliteSessions.js +8 -25
- package/dist/esm/hosting/sqliteSessions.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/lib/fnv1a.d.ts +16 -0
- package/dist/esm/lib/fnv1a.js +24 -0
- package/dist/esm/lib/fnv1a.js.map +1 -0
- package/dist/esm/lib/injection-engine/types.d.ts +17 -0
- package/dist/esm/lib/injection-engine/types.js.map +1 -1
- package/dist/esm/lib/rag/defineRAG.d.ts +126 -26
- package/dist/esm/lib/rag/defineRAG.js +112 -25
- package/dist/esm/lib/rag/defineRAG.js.map +1 -1
- package/dist/esm/lib/rag/index.d.ts +1 -1
- package/dist/esm/lib/rag/index.js +1 -1
- package/dist/esm/lib/rag/index.js.map +1 -1
- package/dist/esm/lib/rag/indexDocuments.d.ts +26 -4
- package/dist/esm/lib/rag/indexDocuments.js +12 -1
- package/dist/esm/lib/rag/indexDocuments.js.map +1 -1
- package/dist/esm/lib/sqliteUnavailable.d.ts +55 -0
- package/dist/esm/lib/sqliteUnavailable.js +61 -0
- package/dist/esm/lib/sqliteUnavailable.js.map +1 -0
- package/dist/esm/memory/define.js +38 -2
- package/dist/esm/memory/define.js.map +1 -1
- package/dist/esm/memory/define.types.d.ts +93 -1
- package/dist/esm/memory/define.types.js +18 -0
- package/dist/esm/memory/define.types.js.map +1 -1
- package/dist/esm/memory/embedding/embedMessages.js +16 -0
- package/dist/esm/memory/embedding/embedMessages.js.map +1 -1
- package/dist/esm/memory/embedding/emitEmbedding.d.ts +38 -0
- package/dist/esm/memory/embedding/emitEmbedding.js +15 -0
- package/dist/esm/memory/embedding/emitEmbedding.js.map +1 -0
- package/dist/esm/memory/embedding/loadRelevant.d.ts +49 -15
- package/dist/esm/memory/embedding/loadRelevant.js +150 -7
- package/dist/esm/memory/embedding/loadRelevant.js.map +1 -1
- package/dist/esm/memory/embedding/mockEmbedder.js +4 -0
- package/dist/esm/memory/embedding/mockEmbedder.js.map +1 -1
- package/dist/esm/memory/embedding/types.d.ts +24 -0
- package/dist/esm/memory/index.d.ts +2 -1
- package/dist/esm/memory/index.js +2 -1
- package/dist/esm/memory/index.js.map +1 -1
- package/dist/esm/memory/pipeline/semantic.d.ts +15 -0
- package/dist/esm/memory/pipeline/semantic.js +3 -1
- package/dist/esm/memory/pipeline/semantic.js.map +1 -1
- package/dist/esm/memory/retrieval/index.d.ts +10 -0
- package/dist/esm/memory/retrieval/index.js +3 -0
- package/dist/esm/memory/retrieval/index.js.map +1 -0
- package/dist/esm/memory/retrieval/provenance.d.ts +43 -0
- package/dist/esm/memory/retrieval/provenance.js +60 -0
- package/dist/esm/memory/retrieval/provenance.js.map +1 -0
- package/dist/esm/memory/retrieval/topK.d.ts +67 -0
- package/dist/esm/memory/retrieval/topK.js +53 -0
- package/dist/esm/memory/retrieval/topK.js.map +1 -0
- package/dist/esm/memory/retrieval/types.d.ts +189 -0
- package/dist/esm/memory/retrieval/types.js +2 -0
- package/dist/esm/memory/retrieval/types.js.map +1 -0
- package/dist/esm/memory/stages/formatDefault.d.ts +52 -26
- package/dist/esm/memory/stages/formatDefault.js +118 -28
- package/dist/esm/memory/stages/formatDefault.js.map +1 -1
- package/dist/esm/memory/stages/pickByBudget.js +53 -3
- package/dist/esm/memory/stages/pickByBudget.js.map +1 -1
- package/dist/esm/memory/stages/types.d.ts +15 -0
- package/dist/esm/memory/wire/mountMemoryPipeline.d.ts +25 -0
- package/dist/esm/memory/wire/mountMemoryPipeline.js +11 -2
- package/dist/esm/memory/wire/mountMemoryPipeline.js.map +1 -1
- package/dist/esm/memory-providers.d.ts +2 -0
- package/dist/esm/memory-providers.js +8 -0
- package/dist/esm/memory-providers.js.map +1 -1
- package/dist/esm/observe.d.ts +2 -0
- package/dist/esm/observe.js +2 -0
- package/dist/esm/observe.js.map +1 -1
- package/dist/esm/recorders/core/EmbeddingRecorder.d.ts +19 -0
- package/dist/esm/recorders/core/EmbeddingRecorder.js +24 -0
- package/dist/esm/recorders/core/EmbeddingRecorder.js.map +1 -0
- package/dist/events/registry.js +2 -0
- package/dist/events/registry.js.map +1 -1
- package/dist/hosting/sqliteSessions.js +10 -27
- package/dist/hosting/sqliteSessions.js.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/fnv1a.js +28 -0
- package/dist/lib/fnv1a.js.map +1 -0
- package/dist/lib/injection-engine/types.js.map +1 -1
- package/dist/lib/rag/defineRAG.js +113 -26
- package/dist/lib/rag/defineRAG.js.map +1 -1
- package/dist/lib/rag/index.js +2 -1
- package/dist/lib/rag/index.js.map +1 -1
- package/dist/lib/rag/indexDocuments.js +12 -1
- package/dist/lib/rag/indexDocuments.js.map +1 -1
- package/dist/lib/sqliteUnavailable.js +65 -0
- package/dist/lib/sqliteUnavailable.js.map +1 -0
- package/dist/memory/define.js +38 -2
- package/dist/memory/define.js.map +1 -1
- package/dist/memory/define.types.js +21 -1
- package/dist/memory/define.types.js.map +1 -1
- package/dist/memory/embedding/embedMessages.js +16 -0
- package/dist/memory/embedding/embedMessages.js.map +1 -1
- package/dist/memory/embedding/emitEmbedding.js +19 -0
- package/dist/memory/embedding/emitEmbedding.js.map +1 -0
- package/dist/memory/embedding/loadRelevant.js +152 -8
- package/dist/memory/embedding/loadRelevant.js.map +1 -1
- package/dist/memory/embedding/mockEmbedder.js +4 -0
- package/dist/memory/embedding/mockEmbedder.js.map +1 -1
- package/dist/memory/index.js +5 -1
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/pipeline/semantic.js +2 -0
- package/dist/memory/pipeline/semantic.js.map +1 -1
- package/dist/memory/retrieval/index.js +9 -0
- package/dist/memory/retrieval/index.js.map +1 -0
- package/dist/memory/retrieval/provenance.js +65 -0
- package/dist/memory/retrieval/provenance.js.map +1 -0
- package/dist/memory/retrieval/topK.js +57 -0
- package/dist/memory/retrieval/topK.js.map +1 -0
- package/dist/memory/retrieval/types.js +3 -0
- package/dist/memory/retrieval/types.js.map +1 -0
- package/dist/memory/stages/formatDefault.js +118 -28
- package/dist/memory/stages/formatDefault.js.map +1 -1
- package/dist/memory/stages/pickByBudget.js +53 -3
- package/dist/memory/stages/pickByBudget.js.map +1 -1
- package/dist/memory/wire/mountMemoryPipeline.js +11 -2
- package/dist/memory/wire/mountMemoryPipeline.js.map +1 -1
- package/dist/memory-providers.js +13 -1
- package/dist/memory-providers.js.map +1 -1
- package/dist/observe.js +4 -1
- package/dist/observe.js.map +1 -1
- package/dist/recorders/core/EmbeddingRecorder.js +28 -0
- package/dist/recorders/core/EmbeddingRecorder.js.map +1 -0
- package/dist/types/adapters/memory/sqliteVector.d.ts +252 -0
- package/dist/types/adapters/memory/sqliteVector.d.ts.map +1 -0
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/memoryRecallInjections.d.ts +13 -3
- package/dist/types/core/agent/memoryRecallInjections.d.ts.map +1 -1
- package/dist/types/core/agent/stages/deliver.d.ts +6 -3
- package/dist/types/core/agent/stages/deliver.d.ts.map +1 -1
- package/dist/types/core/slots/buildSystemPromptSlot.d.ts.map +1 -1
- package/dist/types/core/slots/helpers.d.ts +11 -2
- package/dist/types/core/slots/helpers.d.ts.map +1 -1
- package/dist/types/embedders/index.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +63 -0
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/events/registry.d.ts +3 -1
- package/dist/types/events/registry.d.ts.map +1 -1
- package/dist/types/hosting/sqliteSessions.d.ts +7 -13
- package/dist/types/hosting/sqliteSessions.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/lib/fnv1a.d.ts +17 -0
- package/dist/types/lib/fnv1a.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/types.d.ts +17 -0
- package/dist/types/lib/injection-engine/types.d.ts.map +1 -1
- package/dist/types/lib/rag/defineRAG.d.ts +126 -26
- package/dist/types/lib/rag/defineRAG.d.ts.map +1 -1
- package/dist/types/lib/rag/index.d.ts +1 -1
- package/dist/types/lib/rag/index.d.ts.map +1 -1
- package/dist/types/lib/rag/indexDocuments.d.ts +26 -4
- package/dist/types/lib/rag/indexDocuments.d.ts.map +1 -1
- package/dist/types/lib/sqliteUnavailable.d.ts +56 -0
- package/dist/types/lib/sqliteUnavailable.d.ts.map +1 -0
- package/dist/types/memory/define.d.ts.map +1 -1
- package/dist/types/memory/define.types.d.ts +93 -1
- package/dist/types/memory/define.types.d.ts.map +1 -1
- package/dist/types/memory/embedding/embedMessages.d.ts.map +1 -1
- package/dist/types/memory/embedding/emitEmbedding.d.ts +39 -0
- package/dist/types/memory/embedding/emitEmbedding.d.ts.map +1 -0
- package/dist/types/memory/embedding/loadRelevant.d.ts +49 -15
- package/dist/types/memory/embedding/loadRelevant.d.ts.map +1 -1
- package/dist/types/memory/embedding/mockEmbedder.d.ts.map +1 -1
- package/dist/types/memory/embedding/types.d.ts +24 -0
- package/dist/types/memory/embedding/types.d.ts.map +1 -1
- package/dist/types/memory/index.d.ts +2 -1
- package/dist/types/memory/index.d.ts.map +1 -1
- package/dist/types/memory/pipeline/semantic.d.ts +15 -0
- package/dist/types/memory/pipeline/semantic.d.ts.map +1 -1
- package/dist/types/memory/retrieval/index.d.ts +11 -0
- package/dist/types/memory/retrieval/index.d.ts.map +1 -0
- package/dist/types/memory/retrieval/provenance.d.ts +44 -0
- package/dist/types/memory/retrieval/provenance.d.ts.map +1 -0
- package/dist/types/memory/retrieval/topK.d.ts +68 -0
- package/dist/types/memory/retrieval/topK.d.ts.map +1 -0
- package/dist/types/memory/retrieval/types.d.ts +190 -0
- package/dist/types/memory/retrieval/types.d.ts.map +1 -0
- package/dist/types/memory/stages/formatDefault.d.ts +52 -26
- package/dist/types/memory/stages/formatDefault.d.ts.map +1 -1
- package/dist/types/memory/stages/pickByBudget.d.ts.map +1 -1
- package/dist/types/memory/stages/types.d.ts +15 -0
- package/dist/types/memory/stages/types.d.ts.map +1 -1
- package/dist/types/memory/wire/mountMemoryPipeline.d.ts +25 -0
- package/dist/types/memory/wire/mountMemoryPipeline.d.ts.map +1 -1
- package/dist/types/memory-providers.d.ts +2 -0
- package/dist/types/memory-providers.d.ts.map +1 -1
- package/dist/types/observe.d.ts +2 -0
- package/dist/types/observe.d.ts.map +1 -1
- package/dist/types/recorders/core/EmbeddingRecorder.d.ts +20 -0
- package/dist/types/recorders/core/EmbeddingRecorder.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* (`buildSystemPromptSlot` / `buildMessagesSlot`) only iterate `activeInjections` —
|
|
7
7
|
* so on the Agent path the recall was read, formatted, and persisted but NEVER
|
|
8
8
|
* composed into the prompt (a dead-end key). This turns those recalls into
|
|
9
|
-
* `
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* `ActiveInjection`s so the existing composers inject them: system-role content →
|
|
10
|
+
* the system slot (`inject.systemPrompt`), everything else → the messages slot
|
|
11
|
+
* (`inject.messages`).
|
|
12
12
|
*
|
|
13
13
|
* Only the system-role half reaches the model. The messages slot is an
|
|
14
14
|
* observability projection, not a wire (see `messagesSlotRefusal.ts`), so a
|
|
@@ -17,12 +17,42 @@
|
|
|
17
17
|
* `defineMemory()`; it can only be entered by a hand-built read subflow mounted
|
|
18
18
|
* with `mountMemoryRead`. It is left as-is rather than silently re-homed into
|
|
19
19
|
* the system slot, which would change what the model sees.
|
|
20
|
+
*
|
|
21
|
+
* ─── One injection PER CHUNK (8.8.0) ───────────────────────────────────
|
|
22
|
+
*
|
|
23
|
+
* A retrieval that put three passages in the prompt used to produce ONE
|
|
24
|
+
* injection, so the recording could say "the recall block went in" and
|
|
25
|
+
* nothing finer. Ablating a single passage was impossible; the context
|
|
26
|
+
* ledger credited the block, not the passage; and `retrievalScore` /
|
|
27
|
+
* `rankPosition` on `ContextInjectedPayload` — declared since 2.x — had
|
|
28
|
+
* nowhere to come from, because one record cannot carry three scores.
|
|
29
|
+
*
|
|
30
|
+
* When the read subflow lifted a retrieval record (`retrievalEvidence_<id>`),
|
|
31
|
+
* this splits the recall into one injection per admitted chunk, keyed by
|
|
32
|
+
* the chunk's own id, carrying that chunk's score and rank.
|
|
33
|
+
*
|
|
34
|
+
* **The prompt does not change by one byte.** The formatter records the
|
|
35
|
+
* exact fragment each chunk contributed (`promptFragment`), header on the
|
|
36
|
+
* first and footer on the last, and `callLLM` assembles the system prompt
|
|
37
|
+
* by joining every record's `rawContent` with `\n\n` — the same separator
|
|
38
|
+
* the formatter joined its blocks with. Splitting and re-joining is the
|
|
39
|
+
* identity function here, and a test pins it.
|
|
40
|
+
*
|
|
41
|
+
* Without a record (conversation memory, hand-built pipelines) the old
|
|
42
|
+
* single-injection path is taken unchanged.
|
|
20
43
|
*/
|
|
21
|
-
import { memoryInjectionKey } from '../../memory/define.types.js';
|
|
22
|
-
|
|
23
|
-
|
|
44
|
+
import { memoryInjectionKey, retrievalEvidenceKey } from '../../memory/define.types.js';
|
|
45
|
+
function normalize(source) {
|
|
46
|
+
return typeof source === 'string' ? { id: source } : source;
|
|
47
|
+
}
|
|
48
|
+
function sourceOf(flavor) {
|
|
49
|
+
return flavor === 'rag' ? 'rag' : 'memory';
|
|
50
|
+
}
|
|
51
|
+
/** Build recall ActiveInjections from the per-id recall keys in `parent`. */
|
|
52
|
+
export function memoryRecallInjections(parent, memories) {
|
|
24
53
|
const out = [];
|
|
25
|
-
for (const
|
|
54
|
+
for (const entry of memories) {
|
|
55
|
+
const { id, flavor } = normalize(entry);
|
|
26
56
|
const recall = parent[memoryInjectionKey(id)];
|
|
27
57
|
if (!Array.isArray(recall) || recall.length === 0)
|
|
28
58
|
continue;
|
|
@@ -36,9 +66,25 @@ export function memoryRecallInjections(parent, memoryIds) {
|
|
|
36
66
|
.map((m) => ({ role: m.role, content: m.content }));
|
|
37
67
|
if (!systemContent && messages.length === 0)
|
|
38
68
|
continue;
|
|
69
|
+
const perChunk = chunkInjections(parent, id, flavor, systemContent);
|
|
70
|
+
if (perChunk) {
|
|
71
|
+
out.push(...perChunk);
|
|
72
|
+
// A non-system recall alongside a retrieval record is not something
|
|
73
|
+
// any shipped formatter produces; carry it on its own record rather
|
|
74
|
+
// than dropping it.
|
|
75
|
+
if (messages.length > 0) {
|
|
76
|
+
out.push({
|
|
77
|
+
id: `memory:${id}`,
|
|
78
|
+
flavor: sourceOf(flavor),
|
|
79
|
+
description: `recall from memory '${id}'`,
|
|
80
|
+
inject: { messages },
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
39
85
|
out.push({
|
|
40
86
|
id: `memory:${id}`,
|
|
41
|
-
flavor:
|
|
87
|
+
flavor: sourceOf(flavor),
|
|
42
88
|
description: `recall from memory '${id}'`,
|
|
43
89
|
inject: {
|
|
44
90
|
...(systemContent ? { systemPrompt: systemContent } : {}),
|
|
@@ -48,15 +94,59 @@ export function memoryRecallInjections(parent, memoryIds) {
|
|
|
48
94
|
}
|
|
49
95
|
return out;
|
|
50
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* One injection per admitted chunk, or `undefined` when this memory left
|
|
99
|
+
* no usable retrieval record.
|
|
100
|
+
*
|
|
101
|
+
* Refuses to split unless the fragments rebuild the recall EXACTLY. A
|
|
102
|
+
* custom formatter, a hand-written `renderEntry`, or a future change to
|
|
103
|
+
* how blocks are joined would silently alter the prompt otherwise — so
|
|
104
|
+
* the guard is an equality check on the assembled bytes, not a version
|
|
105
|
+
* flag. Failing it falls back to the single-injection path, which is
|
|
106
|
+
* always correct and merely coarser.
|
|
107
|
+
*/
|
|
108
|
+
function chunkInjections(parent, id, flavor, systemContent) {
|
|
109
|
+
const evidence = parent[retrievalEvidenceKey(id)];
|
|
110
|
+
const candidates = evidence?.candidates;
|
|
111
|
+
if (!candidates || candidates.length === 0)
|
|
112
|
+
return undefined;
|
|
113
|
+
// In PROMPT order, not score order. The record is stored best-scoring
|
|
114
|
+
// first; the message was assembled in the budget picker's order. Joining
|
|
115
|
+
// the wrong one reproduces the right bytes in a sequence the model never
|
|
116
|
+
// saw — which the equality check below would catch, but silently, by
|
|
117
|
+
// falling back to one coarse injection for every retrieval.
|
|
118
|
+
const admitted = candidates
|
|
119
|
+
.filter((c) => c.admitted && c.promptFragment !== undefined && c.promptPosition !== undefined)
|
|
120
|
+
.sort((a, b) => (a.promptPosition ?? 0) - (b.promptPosition ?? 0));
|
|
121
|
+
if (admitted.length === 0)
|
|
122
|
+
return undefined;
|
|
123
|
+
const rebuilt = admitted.map((c) => c.promptFragment ?? '').join('\n\n');
|
|
124
|
+
if (rebuilt !== systemContent)
|
|
125
|
+
return undefined;
|
|
126
|
+
const source = sourceOf(flavor);
|
|
127
|
+
return admitted.map((c) => ({
|
|
128
|
+
id: `memory:${id}#${c.id}`,
|
|
129
|
+
flavor: source,
|
|
130
|
+
description: c.docUri !== undefined
|
|
131
|
+
? `retrieved '${c.id}' from ${c.docUri} (rank ${c.rank}, score ${c.score.toFixed(2)})`
|
|
132
|
+
: `retrieved '${c.id}' (rank ${c.rank}, score ${c.score.toFixed(2)})`,
|
|
133
|
+
retrieval: {
|
|
134
|
+
score: c.score,
|
|
135
|
+
rank: c.rank,
|
|
136
|
+
...(evidence?.threshold !== undefined && { threshold: evidence.threshold }),
|
|
137
|
+
},
|
|
138
|
+
inject: { systemPrompt: c.promptFragment ?? '' },
|
|
139
|
+
}));
|
|
140
|
+
}
|
|
51
141
|
/**
|
|
52
142
|
* Append memory recalls to the active-injection set a slot-fork inputMapper hands to
|
|
53
143
|
* the system / messages slot subflows. No-op when the agent has no memories.
|
|
54
144
|
*/
|
|
55
|
-
export function withMemoryRecall(activeInjections, parent,
|
|
145
|
+
export function withMemoryRecall(activeInjections, parent, memories) {
|
|
56
146
|
const base = activeInjections ?? [];
|
|
57
|
-
if (
|
|
147
|
+
if (memories.length === 0)
|
|
58
148
|
return base;
|
|
59
|
-
const recall = memoryRecallInjections(parent,
|
|
149
|
+
const recall = memoryRecallInjections(parent, memories);
|
|
60
150
|
return recall.length === 0 ? base : [...base, ...recall];
|
|
61
151
|
}
|
|
62
152
|
//# sourceMappingURL=memoryRecallInjections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryRecallInjections.js","sourceRoot":"","sources":["../../../../src/core/agent/memoryRecallInjections.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"memoryRecallInjections.js","sourceRoot":"","sources":["../../../../src/core/agent/memoryRecallInjections.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,13 +45,16 @@
|
|
|
45
45
|
*/
|
|
46
46
|
import type { TypedScope } from 'footprintjs';
|
|
47
47
|
import type { LLMProvider, WireRole } from '../../../adapters/types.js';
|
|
48
|
+
import { type MemoryRecallSource } from '../memoryRecallInjections.js';
|
|
48
49
|
import type { AgentState } from '../types.js';
|
|
49
50
|
export interface DeliverStageDeps {
|
|
50
51
|
/** The attached provider — the authority on what the wire can carry. */
|
|
51
52
|
readonly provider: LLMProvider;
|
|
52
|
-
/**
|
|
53
|
-
* slots compose it (so the stage and the slots agree on what is active).
|
|
54
|
-
|
|
53
|
+
/** Memories whose recall composes into the active set, exactly as the
|
|
54
|
+
* slots compose it (so the stage and the slots agree on what is active).
|
|
55
|
+
* A bare id keeps the historical call shape; the object form carries the
|
|
56
|
+
* `flavor` a corpus retrieval needs (8.8.0). */
|
|
57
|
+
readonly memoryIds: readonly (string | MemoryRecallSource)[];
|
|
55
58
|
}
|
|
56
59
|
/** What a provider carries inside `messages`, with the floor applied. */
|
|
57
60
|
export declare function carriedRoles(provider: LLMProvider): readonly WireRole[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliver.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/deliver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAIH,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAEzE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"deliver.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/deliver.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,6 +79,16 @@ export function buildSystemPromptSlot(config) {
|
|
|
79
79
|
sourceId: inj.id,
|
|
80
80
|
reason: inj.description ?? `${inj.flavor} '${inj.id}' active`,
|
|
81
81
|
rawContent: promptContent,
|
|
82
|
+
// Retrieval provenance (8.8.0) — present only when a retrieval
|
|
83
|
+
// produced this injection. These are the payload's declared
|
|
84
|
+
// `retrievalScore` / `rankPosition` / `threshold`, written for
|
|
85
|
+
// the first time; before the recall was split per chunk there
|
|
86
|
+
// was no single score a record could honestly carry.
|
|
87
|
+
...(inj.retrieval !== undefined && {
|
|
88
|
+
retrievalScore: inj.retrieval.score,
|
|
89
|
+
rankPosition: inj.retrieval.rank,
|
|
90
|
+
...(inj.retrieval.threshold !== undefined && { threshold: inj.retrieval.threshold }),
|
|
91
|
+
}),
|
|
82
92
|
});
|
|
83
93
|
}
|
|
84
94
|
scope.$setValue(INJECTION_KEYS.SYSTEM_PROMPT, injections);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildSystemPromptSlot.js","sourceRoot":"","sources":["../../../../src/core/slots/buildSystemPromptSlot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AA6CjG;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA8B;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC;IAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,IAAI,sBAAsB,CAAC;IAC7D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,0EAA0E;IAC1E,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,OAAO,SAAS,CACd,SAAS,EACT,KAAK,EAAE,KAA2C,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAwB,CAAC;QACpD,MAAM,QAAQ,GAAG,OAAO,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9F,MAAM,MAAM,GAAG,OAAO,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAEtF,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,+DAA+D;QAC/D,gEAAgE;QAChE,6DAA6D;QAC7D,8DAA8D;QAC9D,+DAA+D;QAC/D,0BAA0B;QAC1B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,UAAU,CAAC,IAAI,CAAC;gBACd,cAAc,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACtC,WAAW,EAAE,KAAK,CAAC,MAAM,QAAQ,EAAE,CAAC;gBACpC,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,MAAM;gBACd,MAAM;gBACN,UAAU,EAAE,QAAQ;aACrB,CAAC,CAAC;QACL,CAAC;QAED,2DAA2D;QAC3D,2DAA2D;QAC3D,kEAAkE;QAClE,8DAA8D;QAC9D,mEAAmE;QACnE,sDAAsD;QACtD,MAAM,gBAAgB,GACnB,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAA4C,IAAI,EAAE,CAAC;QACxF,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9C,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAC3D,mEAAmE;YACnE,8DAA8D;YAC9D,kEAAkE;YAClE,gEAAgE;YAChE,kEAAkE;YAClE,6DAA6D;YAC7D,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,GAAG,CAAC,WAAW,KAAK,WAAW;gBAAE,SAAS;YACxE,UAAU,CAAC,IAAI,CAAC;gBACd,cAAc,EAAE,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC3C,WAAW,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,aAAa,EAAE,CAAC;gBACjE,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,GAAG,CAAC,EAAE;gBAChB,MAAM,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,UAAU;gBAC7D,UAAU,EAAE,aAAa;
|
|
1
|
+
{"version":3,"file":"buildSystemPromptSlot.js","sourceRoot":"","sources":["../../../../src/core/slots/buildSystemPromptSlot.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,17 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { ContextSource, ContextSlot } from '../../events/types.js';
|
|
9
9
|
import type { BudgetPressureRecord, InjectionRecord, SlotComposition } from '../../recorders/core/types.js';
|
|
10
|
-
/**
|
|
11
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Non-cryptographic stable hash — sufficient for InjectionRecord dedup.
|
|
12
|
+
*
|
|
13
|
+
* The implementation moved to `lib/fnv1a.ts` in 8.8.0 so the memory
|
|
14
|
+
* layer's retrieval record can hash the same way without importing
|
|
15
|
+
* `core/` (which imports `memory/` — the cycle is why a second copy was
|
|
16
|
+
* the alternative). Re-exported here under the same name: every existing
|
|
17
|
+
* importer of `helpers.fnv1a` is untouched, and there is still exactly
|
|
18
|
+
* one implementation.
|
|
19
|
+
*/
|
|
20
|
+
export { fnv1a } from '../../lib/fnv1a.js';
|
|
12
21
|
/** Truncate with ellipsis for contentSummary fields. */
|
|
13
22
|
export declare function truncate(s: string, n: number): string;
|
|
14
23
|
/** Aggregate injection chars/count per source — payload for SlotComposition. */
|
|
@@ -5,15 +5,17 @@
|
|
|
5
5
|
* Role: Tiny pure functions the slot builders share — hash, truncate,
|
|
6
6
|
* breakdown. Kept co-located to avoid cross-package import churn.
|
|
7
7
|
*/
|
|
8
|
-
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Non-cryptographic stable hash — sufficient for InjectionRecord dedup.
|
|
10
|
+
*
|
|
11
|
+
* The implementation moved to `lib/fnv1a.ts` in 8.8.0 so the memory
|
|
12
|
+
* layer's retrieval record can hash the same way without importing
|
|
13
|
+
* `core/` (which imports `memory/` — the cycle is why a second copy was
|
|
14
|
+
* the alternative). Re-exported here under the same name: every existing
|
|
15
|
+
* importer of `helpers.fnv1a` is untouched, and there is still exactly
|
|
16
|
+
* one implementation.
|
|
17
|
+
*/
|
|
18
|
+
export { fnv1a } from '../../lib/fnv1a.js';
|
|
17
19
|
/** Truncate with ellipsis for contentSummary fields. */
|
|
18
20
|
export function truncate(s, n) {
|
|
19
21
|
if (s.length <= n)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/core/slots/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/core/slots/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,6 +59,12 @@ export function openaiEmbedder(options = {}) {
|
|
|
59
59
|
}
|
|
60
60
|
return {
|
|
61
61
|
dimensions,
|
|
62
|
+
// The embedding SPACE, not the instance: two `openaiEmbedder()` calls with
|
|
63
|
+
// the same model produce interchangeable vectors, and a store must treat
|
|
64
|
+
// them as one index. The SIZE is deliberately not in here — a store's
|
|
65
|
+
// fingerprint is `'<id>@<dims>'`, so it appends the dimensions itself and
|
|
66
|
+
// a truncated vector is already a different fingerprint from a native one.
|
|
67
|
+
id: `openai:${model}`,
|
|
62
68
|
async embed({ text, signal }) {
|
|
63
69
|
return (await call([text], signal))[0];
|
|
64
70
|
},
|
|
@@ -91,6 +97,10 @@ export function localEmbedder(options = {}) {
|
|
|
91
97
|
};
|
|
92
98
|
return {
|
|
93
99
|
dimensions,
|
|
100
|
+
// `dtype` is part of the name because a q8 and an fp32 build of one model
|
|
101
|
+
// are close but not identical spaces, and "close" is exactly the kind of
|
|
102
|
+
// difference that shows up as a mysteriously worse ranking.
|
|
103
|
+
id: `local:${model}:${dtype}`,
|
|
94
104
|
async embed({ text }) {
|
|
95
105
|
const p = await getPipe();
|
|
96
106
|
const out = await p(text, { pooling: 'mean', normalize: true });
|
|
@@ -145,6 +155,7 @@ export function staticEmbedder(options = {}) {
|
|
|
145
155
|
};
|
|
146
156
|
return {
|
|
147
157
|
dimensions,
|
|
158
|
+
id: `static:${spec}`,
|
|
148
159
|
async embed({ text }) {
|
|
149
160
|
const fn = await getEmbed();
|
|
150
161
|
const rows = toRows(await fn([text]));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/embedders/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/embedders/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -392,6 +392,17 @@ export interface MemoryStrategyAppliedPayload {
|
|
|
392
392
|
readonly droppedIds: readonly string[];
|
|
393
393
|
readonly addedIds: readonly string[];
|
|
394
394
|
}
|
|
395
|
+
/**
|
|
396
|
+
* One piece of stored content reached the prompt.
|
|
397
|
+
*
|
|
398
|
+
* Emitted once per admitted chunk by the memory formatter (8.8.0 — the
|
|
399
|
+
* payload was declared in 2.x and nothing emitted it until then).
|
|
400
|
+
* `memoryId` is the STORE ENTRY's id, which for an indexed corpus is the
|
|
401
|
+
* chunk id you can cite. Which retriever produced it is
|
|
402
|
+
* `meta.runtimeStageId` (`sf-memory-read-<id>/format-default#N`) — the
|
|
403
|
+
* house rule is that events correlate by runtime stage id, not by
|
|
404
|
+
* duplicating the owner into every payload.
|
|
405
|
+
*/
|
|
395
406
|
export interface MemoryAttachedPayload {
|
|
396
407
|
readonly memoryId: string;
|
|
397
408
|
readonly contentSummary: string;
|
|
@@ -400,6 +411,58 @@ export interface MemoryAttachedPayload {
|
|
|
400
411
|
readonly source: 'store' | 'auto-extract' | 'manual';
|
|
401
412
|
readonly retriever?: 'pinecone' | 'weaviate' | 'qdrant' | 'chroma' | 'custom';
|
|
402
413
|
}
|
|
414
|
+
/** One candidate a retrieval considered, admitted or not. */
|
|
415
|
+
export interface RetrievedCandidatePayload {
|
|
416
|
+
readonly id: string;
|
|
417
|
+
readonly score: number;
|
|
418
|
+
readonly rank: number;
|
|
419
|
+
readonly admitted: boolean;
|
|
420
|
+
readonly reason?: 'below-threshold' | 'over-budget' | 'over-max-entries';
|
|
421
|
+
readonly docUri?: string;
|
|
422
|
+
readonly page?: number;
|
|
423
|
+
readonly heading?: string;
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* A retrieval happened — here is everything it considered (8.8.0).
|
|
427
|
+
*
|
|
428
|
+
* The event that makes "why did the agent NOT read that passage"
|
|
429
|
+
* answerable. Until 8.8.0 the quality floor was applied inside the store,
|
|
430
|
+
* so a rejected candidate never came back and a retrieval that injected
|
|
431
|
+
* nothing left no trace of what it nearly injected.
|
|
432
|
+
*
|
|
433
|
+
* `candidates` absent means the store could not tell us (see
|
|
434
|
+
* `candidatesOmittedReason`) — it never means there were none. That case
|
|
435
|
+
* is `candidates: []` with `consideredCount: 0` and `corpusEmpty: true`.
|
|
436
|
+
*/
|
|
437
|
+
export interface MemoryRetrievedPayload {
|
|
438
|
+
/** Stable hash of the query text. The text itself is already in the recording once. */
|
|
439
|
+
readonly queryHash: string;
|
|
440
|
+
/** How many chunks the retriever was willing to admit. */
|
|
441
|
+
readonly k: number;
|
|
442
|
+
/** The quality floor, when the retriever set one. */
|
|
443
|
+
readonly threshold?: number;
|
|
444
|
+
readonly embedderId?: string;
|
|
445
|
+
/** Length of the query vector. */
|
|
446
|
+
readonly dimensions?: number;
|
|
447
|
+
readonly consideredCount: number;
|
|
448
|
+
readonly admittedCount: number;
|
|
449
|
+
readonly rejectedCount: number;
|
|
450
|
+
readonly candidates?: readonly RetrievedCandidatePayload[];
|
|
451
|
+
/**
|
|
452
|
+
* Whether `candidates` is every candidate that existed, or only as far
|
|
453
|
+
* as the requested pool reached. `false` never weakens the ADMITTED
|
|
454
|
+
* set — only the rejected list is then a sample.
|
|
455
|
+
*/
|
|
456
|
+
readonly candidatesComplete: boolean;
|
|
457
|
+
readonly candidatesOmittedReason?: string;
|
|
458
|
+
/**
|
|
459
|
+
* The namespace held nothing at all. Almost always means the corpus was
|
|
460
|
+
* indexed under a different identity than the one being queried.
|
|
461
|
+
*/
|
|
462
|
+
readonly corpusEmpty: boolean;
|
|
463
|
+
/** The namespace that was searched. */
|
|
464
|
+
readonly namespace?: string;
|
|
465
|
+
}
|
|
403
466
|
export interface MemoryDetachedPayload {
|
|
404
467
|
readonly memoryId: string;
|
|
405
468
|
readonly reason: 'stale' | 'budget' | 'score_low' | 'policy';
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* major bump. See agentfootprint_v2_detailed_design.md for rules.
|
|
17
17
|
*/
|
|
18
18
|
import type { AgentfootprintEventEnvelope } from './types.js';
|
|
19
|
-
import type { AgentHandoffPayload, AgentIterationEndPayload, AgentIterationStartPayload, AgentRouteDecidedPayload, AgentTurnEndPayload, AgentTurnStartPayload, CompositionEnterPayload, CompositionExitPayload, ConditionalRouteDecidedPayload, ContextBudgetPressurePayload, ContextEvaluatedPayload, ContextEvictedPayload, ContextInjectedPayload, ContextSlotComposedPayload, CostLimitHitPayload, CostTickPayload, EmbeddingGeneratedPayload, ErrorFatalPayload, ErrorRecoveredPayload, ErrorRetriedPayload, EvalScorePayload, EvalThresholdCrossedPayload, AgentOutputSchemaValidationFailedPayload, AgentOutputSchemaRetryPayload, AgentThinkingParseFailedPayload, StreamThinkingDeltaPayload, StreamThinkingEndPayload, FallbackTriggeredPayload, LLMEndPayload, LLMStartPayload, LLMTokenPayload, LoopIterationExitPayload, LoopIterationStartPayload, MemoryAttachedPayload, MemoryDetachedPayload, MemoryStrategyAppliedPayload, MemoryWrittenPayload, ParallelBranchCompletePayload, ParallelForkStartPayload, ParallelMergeEndPayload, PauseRequestPayload, PauseResumePayload, CheckInRequestPayload, CheckInDecisionPayload, PermissionCheckPayload, PermissionGateClosedPayload, PermissionHaltPayload, PermissionGateOpenedPayload, CredentialRequestedPayload, CredentialAcquiredPayload, CredentialAuthorizationRequiredPayload, CredentialFailedPayload, ReliabilityFailFastPayload, ReliabilityRetriedPayload, ReliabilityRecoveredPayload, RiskFlaggedPayload, SkillActivatedPayload, SkillDeactivatedPayload, SkillRejectedPayload, SkillRerouteSupersededPayload, ToolEndPayload, ToolsActivatedPayload, ToolsDeactivatedPayload, ToolsDiscoveryStartedPayload, ToolsDiscoveryCompletedPayload, ToolsDiscoveryFailedPayload, ToolsShadowedPayload, ToolsOfferedPayload, ToolStartPayload, ValidationArgsInvalidPayload, MiddlewareDecisionPayload } from './payloads.js';
|
|
19
|
+
import type { AgentHandoffPayload, AgentIterationEndPayload, AgentIterationStartPayload, AgentRouteDecidedPayload, AgentTurnEndPayload, AgentTurnStartPayload, CompositionEnterPayload, CompositionExitPayload, ConditionalRouteDecidedPayload, ContextBudgetPressurePayload, ContextEvaluatedPayload, ContextEvictedPayload, ContextInjectedPayload, ContextSlotComposedPayload, CostLimitHitPayload, CostTickPayload, EmbeddingGeneratedPayload, ErrorFatalPayload, ErrorRecoveredPayload, ErrorRetriedPayload, EvalScorePayload, EvalThresholdCrossedPayload, AgentOutputSchemaValidationFailedPayload, AgentOutputSchemaRetryPayload, AgentThinkingParseFailedPayload, StreamThinkingDeltaPayload, StreamThinkingEndPayload, FallbackTriggeredPayload, LLMEndPayload, LLMStartPayload, LLMTokenPayload, LoopIterationExitPayload, LoopIterationStartPayload, MemoryAttachedPayload, MemoryDetachedPayload, MemoryRetrievedPayload, MemoryStrategyAppliedPayload, MemoryWrittenPayload, ParallelBranchCompletePayload, ParallelForkStartPayload, ParallelMergeEndPayload, PauseRequestPayload, PauseResumePayload, CheckInRequestPayload, CheckInDecisionPayload, PermissionCheckPayload, PermissionGateClosedPayload, PermissionHaltPayload, PermissionGateOpenedPayload, CredentialRequestedPayload, CredentialAcquiredPayload, CredentialAuthorizationRequiredPayload, CredentialFailedPayload, ReliabilityFailFastPayload, ReliabilityRetriedPayload, ReliabilityRecoveredPayload, RiskFlaggedPayload, SkillActivatedPayload, SkillDeactivatedPayload, SkillRejectedPayload, SkillRerouteSupersededPayload, ToolEndPayload, ToolsActivatedPayload, ToolsDeactivatedPayload, ToolsDiscoveryStartedPayload, ToolsDiscoveryCompletedPayload, ToolsDiscoveryFailedPayload, ToolsShadowedPayload, ToolsOfferedPayload, ToolStartPayload, ValidationArgsInvalidPayload, MiddlewareDecisionPayload } from './payloads.js';
|
|
20
20
|
export declare const EVENT_NAMES: {
|
|
21
21
|
readonly composition: {
|
|
22
22
|
readonly enter: "agentfootprint.composition.enter";
|
|
@@ -58,6 +58,7 @@ export declare const EVENT_NAMES: {
|
|
|
58
58
|
readonly memory: {
|
|
59
59
|
readonly strategyApplied: "agentfootprint.memory.strategy_applied";
|
|
60
60
|
readonly attached: "agentfootprint.memory.attached";
|
|
61
|
+
readonly retrieved: "agentfootprint.memory.retrieved";
|
|
61
62
|
readonly detached: "agentfootprint.memory.detached";
|
|
62
63
|
readonly written: "agentfootprint.memory.written";
|
|
63
64
|
};
|
|
@@ -162,6 +163,7 @@ export interface AgentfootprintEventMap {
|
|
|
162
163
|
'agentfootprint.context.evaluated': AgentfootprintEventEnvelope<'agentfootprint.context.evaluated', ContextEvaluatedPayload>;
|
|
163
164
|
'agentfootprint.memory.strategy_applied': AgentfootprintEventEnvelope<'agentfootprint.memory.strategy_applied', MemoryStrategyAppliedPayload>;
|
|
164
165
|
'agentfootprint.memory.attached': AgentfootprintEventEnvelope<'agentfootprint.memory.attached', MemoryAttachedPayload>;
|
|
166
|
+
'agentfootprint.memory.retrieved': AgentfootprintEventEnvelope<'agentfootprint.memory.retrieved', MemoryRetrievedPayload>;
|
|
165
167
|
'agentfootprint.memory.detached': AgentfootprintEventEnvelope<'agentfootprint.memory.detached', MemoryDetachedPayload>;
|
|
166
168
|
'agentfootprint.memory.written': AgentfootprintEventEnvelope<'agentfootprint.memory.written', MemoryWrittenPayload>;
|
|
167
169
|
'agentfootprint.tools.offered': AgentfootprintEventEnvelope<'agentfootprint.tools.offered', ToolsOfferedPayload>;
|
|
@@ -59,6 +59,7 @@ export const EVENT_NAMES = {
|
|
|
59
59
|
memory: {
|
|
60
60
|
strategyApplied: 'agentfootprint.memory.strategy_applied',
|
|
61
61
|
attached: 'agentfootprint.memory.attached',
|
|
62
|
+
retrieved: 'agentfootprint.memory.retrieved',
|
|
62
63
|
detached: 'agentfootprint.memory.detached',
|
|
63
64
|
written: 'agentfootprint.memory.written',
|
|
64
65
|
},
|
|
@@ -167,6 +168,7 @@ export const ALL_EVENT_TYPES = [
|
|
|
167
168
|
'agentfootprint.context.evaluated',
|
|
168
169
|
'agentfootprint.memory.strategy_applied',
|
|
169
170
|
'agentfootprint.memory.attached',
|
|
171
|
+
'agentfootprint.memory.retrieved',
|
|
170
172
|
'agentfootprint.memory.detached',
|
|
171
173
|
'agentfootprint.memory.written',
|
|
172
174
|
'agentfootprint.tools.offered',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/events/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/events/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -135,20 +135,14 @@ export interface SqliteSessions extends SessionLifecycle {
|
|
|
135
135
|
/**
|
|
136
136
|
* Raised when `node:sqlite` is not available in the running Node.
|
|
137
137
|
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
* broke and nothing about what to do.
|
|
138
|
+
* The class moved to `lib/sqliteUnavailable.ts` in 8.9.0 so the SQLite vector
|
|
139
|
+
* store raises the SAME error for the same missing module — a consumer
|
|
140
|
+
* catching it should not have to know which of our stores was being built.
|
|
141
|
+
* Constructed with no third argument it produces exactly the message it always
|
|
142
|
+
* did, and it is re-exported here under its own name, so nothing that imports
|
|
143
|
+
* it from this module changes.
|
|
145
144
|
*/
|
|
146
|
-
export
|
|
147
|
-
readonly code: "ERR_SQLITE_UNAVAILABLE";
|
|
148
|
-
/** The Node version this process is running. */
|
|
149
|
-
readonly nodeVersion: string;
|
|
150
|
-
constructor(nodeVersion: string, reason: string);
|
|
151
|
-
}
|
|
145
|
+
export { SqliteUnavailableError } from '../lib/sqliteUnavailable.js';
|
|
152
146
|
/**
|
|
153
147
|
* Raised when the file exists but this runtime cannot use it as a session
|
|
154
148
|
* store.
|
|
@@ -55,36 +55,19 @@
|
|
|
55
55
|
import { checkEnvelope } from './envelope.js';
|
|
56
56
|
import { UnreadableEnvelopeError } from './errors.js';
|
|
57
57
|
import { lazyRequire } from '../lib/lazyRequire.js';
|
|
58
|
+
import { SqliteUnavailableError } from '../lib/sqliteUnavailable.js';
|
|
58
59
|
// ─── The refusals ────────────────────────────────────────────────────
|
|
59
60
|
/**
|
|
60
61
|
* Raised when `node:sqlite` is not available in the running Node.
|
|
61
62
|
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
* broke and nothing about what to do.
|
|
63
|
+
* The class moved to `lib/sqliteUnavailable.ts` in 8.9.0 so the SQLite vector
|
|
64
|
+
* store raises the SAME error for the same missing module — a consumer
|
|
65
|
+
* catching it should not have to know which of our stores was being built.
|
|
66
|
+
* Constructed with no third argument it produces exactly the message it always
|
|
67
|
+
* did, and it is re-exported here under its own name, so nothing that imports
|
|
68
|
+
* it from this module changes.
|
|
69
69
|
*/
|
|
70
|
-
export
|
|
71
|
-
code = 'ERR_SQLITE_UNAVAILABLE';
|
|
72
|
-
/** The Node version this process is running. */
|
|
73
|
-
nodeVersion;
|
|
74
|
-
constructor(nodeVersion, reason) {
|
|
75
|
-
super(`[hosting] sqliteSessions() needs Node's built-in 'node:sqlite' module, and this ` +
|
|
76
|
-
`process (Node ${nodeVersion}) does not have it (${reason}). ` +
|
|
77
|
-
`That module ships with Node 22.5 and newer: on Node 22.13+ (and 23.4+) it is ` +
|
|
78
|
-
`available as-is, and on Node 22.5–22.12 it is behind --experimental-sqlite. ` +
|
|
79
|
-
`So: upgrade Node, add that flag, or use memorySessions() — which keeps ` +
|
|
80
|
-
`conversations in a Map and loses them on restart, and says so in its name. ` +
|
|
81
|
-
`This refuses rather than falling back to memory on your behalf: a store that ` +
|
|
82
|
-
`silently forgot every conversation on restart looks, from the outside, exactly ` +
|
|
83
|
-
`like a brand-new user.`);
|
|
84
|
-
this.name = 'SqliteUnavailableError';
|
|
85
|
-
this.nodeVersion = nodeVersion;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
70
|
+
export { SqliteUnavailableError } from '../lib/sqliteUnavailable.js';
|
|
88
71
|
/**
|
|
89
72
|
* Raised when the file exists but this runtime cannot use it as a session
|
|
90
73
|
* store.
|