ai-memory-layer 2.0.1 → 3.0.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/CHANGELOG.md +19 -12
- package/README.md +435 -320
- package/bin/memory-server.mjs +0 -0
- package/dist/adapters/memory/embeddings.d.ts.map +1 -1
- package/dist/adapters/memory/embeddings.js +12 -1
- package/dist/adapters/memory/embeddings.js.map +1 -1
- package/dist/adapters/memory/index.d.ts.map +1 -1
- package/dist/adapters/memory/index.js +1281 -48
- package/dist/adapters/memory/index.js.map +1 -1
- package/dist/adapters/postgres/index.d.ts +1 -0
- package/dist/adapters/postgres/index.d.ts.map +1 -1
- package/dist/adapters/postgres/index.js +1770 -42
- package/dist/adapters/postgres/index.js.map +1 -1
- package/dist/adapters/sqlite/embeddings.d.ts.map +1 -1
- package/dist/adapters/sqlite/embeddings.js +49 -12
- package/dist/adapters/sqlite/embeddings.js.map +1 -1
- package/dist/adapters/sqlite/index.d.ts.map +1 -1
- package/dist/adapters/sqlite/index.js +1720 -38
- package/dist/adapters/sqlite/index.js.map +1 -1
- package/dist/adapters/sqlite/mappers.d.ts +39 -4
- package/dist/adapters/sqlite/mappers.d.ts.map +1 -1
- package/dist/adapters/sqlite/mappers.js +87 -0
- package/dist/adapters/sqlite/mappers.js.map +1 -1
- package/dist/adapters/sqlite/schema.d.ts +1 -1
- package/dist/adapters/sqlite/schema.d.ts.map +1 -1
- package/dist/adapters/sqlite/schema.js +297 -1
- package/dist/adapters/sqlite/schema.js.map +1 -1
- package/dist/adapters/sync-to-async.d.ts.map +1 -1
- package/dist/adapters/sync-to-async.js +54 -0
- package/dist/adapters/sync-to-async.js.map +1 -1
- package/dist/contracts/async-storage.d.ts +61 -1
- package/dist/contracts/async-storage.d.ts.map +1 -1
- package/dist/contracts/cognitive.d.ts +37 -0
- package/dist/contracts/cognitive.d.ts.map +1 -0
- package/dist/contracts/cognitive.js +24 -0
- package/dist/contracts/cognitive.js.map +1 -0
- package/dist/contracts/coordination.d.ts +101 -0
- package/dist/contracts/coordination.d.ts.map +1 -0
- package/dist/contracts/coordination.js +26 -0
- package/dist/contracts/coordination.js.map +1 -0
- package/dist/contracts/embedding.d.ts +1 -1
- package/dist/contracts/embedding.d.ts.map +1 -1
- package/dist/contracts/errors.d.ts +28 -0
- package/dist/contracts/errors.d.ts.map +1 -0
- package/dist/contracts/errors.js +41 -0
- package/dist/contracts/errors.js.map +1 -0
- package/dist/contracts/identity.d.ts +2 -0
- package/dist/contracts/identity.d.ts.map +1 -1
- package/dist/contracts/identity.js +26 -1
- package/dist/contracts/identity.js.map +1 -1
- package/dist/contracts/observability.d.ts +2 -1
- package/dist/contracts/observability.d.ts.map +1 -1
- package/dist/contracts/observability.js +11 -0
- package/dist/contracts/observability.js.map +1 -1
- package/dist/contracts/profile.d.ts +29 -0
- package/dist/contracts/profile.d.ts.map +1 -0
- package/dist/contracts/profile.js +2 -0
- package/dist/contracts/profile.js.map +1 -0
- package/dist/contracts/session-state.d.ts +10 -0
- package/dist/contracts/session-state.d.ts.map +1 -0
- package/dist/contracts/session-state.js +2 -0
- package/dist/contracts/session-state.js.map +1 -0
- package/dist/contracts/storage.d.ts +73 -1
- package/dist/contracts/storage.d.ts.map +1 -1
- package/dist/contracts/storage.js +16 -1
- package/dist/contracts/storage.js.map +1 -1
- package/dist/contracts/temporal.d.ts +112 -0
- package/dist/contracts/temporal.d.ts.map +1 -0
- package/dist/contracts/temporal.js +31 -0
- package/dist/contracts/temporal.js.map +1 -0
- package/dist/contracts/types.d.ts +135 -0
- package/dist/contracts/types.d.ts.map +1 -1
- package/dist/contracts/types.js +27 -0
- package/dist/contracts/types.js.map +1 -1
- package/dist/core/associations.d.ts +18 -0
- package/dist/core/associations.d.ts.map +1 -0
- package/dist/core/associations.js +185 -0
- package/dist/core/associations.js.map +1 -0
- package/dist/core/circuit-breaker.d.ts +9 -0
- package/dist/core/circuit-breaker.d.ts.map +1 -1
- package/dist/core/circuit-breaker.js +13 -1
- package/dist/core/circuit-breaker.js.map +1 -1
- package/dist/core/cognitive.d.ts +5 -0
- package/dist/core/cognitive.d.ts.map +1 -0
- package/dist/core/cognitive.js +120 -0
- package/dist/core/cognitive.js.map +1 -0
- package/dist/core/context.d.ts +72 -1
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +471 -45
- package/dist/core/context.js.map +1 -1
- package/dist/core/episodic.d.ts +28 -0
- package/dist/core/episodic.d.ts.map +1 -0
- package/dist/core/episodic.js +371 -0
- package/dist/core/episodic.js.map +1 -0
- package/dist/core/formatter.d.ts +4 -0
- package/dist/core/formatter.d.ts.map +1 -1
- package/dist/core/formatter.js +103 -0
- package/dist/core/formatter.js.map +1 -1
- package/dist/core/maintenance.d.ts +1 -0
- package/dist/core/maintenance.d.ts.map +1 -1
- package/dist/core/maintenance.js +75 -0
- package/dist/core/maintenance.js.map +1 -1
- package/dist/core/manager.d.ts +159 -7
- package/dist/core/manager.d.ts.map +1 -1
- package/dist/core/manager.js +740 -31
- package/dist/core/manager.js.map +1 -1
- package/dist/core/orchestrator.d.ts.map +1 -1
- package/dist/core/orchestrator.js +210 -178
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/playbook.d.ts +35 -0
- package/dist/core/playbook.d.ts.map +1 -0
- package/dist/core/playbook.js +184 -0
- package/dist/core/playbook.js.map +1 -0
- package/dist/core/profile.d.ts +8 -0
- package/dist/core/profile.d.ts.map +1 -0
- package/dist/core/profile.js +103 -0
- package/dist/core/profile.js.map +1 -0
- package/dist/core/quick.d.ts +5 -0
- package/dist/core/quick.d.ts.map +1 -1
- package/dist/core/quick.js +10 -1
- package/dist/core/quick.js.map +1 -1
- package/dist/core/runtime.d.ts +17 -1
- package/dist/core/runtime.d.ts.map +1 -1
- package/dist/core/runtime.js +88 -5
- package/dist/core/runtime.js.map +1 -1
- package/dist/core/streaming.d.ts +1 -1
- package/dist/core/streaming.d.ts.map +1 -1
- package/dist/core/temporal.d.ts +29 -0
- package/dist/core/temporal.d.ts.map +1 -0
- package/dist/core/temporal.js +447 -0
- package/dist/core/temporal.js.map +1 -0
- package/dist/core/validation.d.ts +3 -0
- package/dist/core/validation.d.ts.map +1 -1
- package/dist/core/validation.js +25 -10
- package/dist/core/validation.js.map +1 -1
- package/dist/core/workspace-detect.d.ts +17 -0
- package/dist/core/workspace-detect.d.ts.map +1 -0
- package/dist/core/workspace-detect.js +55 -0
- package/dist/core/workspace-detect.js.map +1 -0
- package/dist/embeddings/resilience.d.ts.map +1 -1
- package/dist/embeddings/resilience.js +19 -8
- package/dist/embeddings/resilience.js.map +1 -1
- package/dist/index.d.ts +21 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/integrations/claude-agent.d.ts +6 -0
- package/dist/integrations/claude-agent.d.ts.map +1 -1
- package/dist/integrations/claude-agent.js +5 -1
- package/dist/integrations/claude-agent.js.map +1 -1
- package/dist/integrations/claude-tools.d.ts +5 -4
- package/dist/integrations/claude-tools.d.ts.map +1 -1
- package/dist/integrations/claude-tools.js +155 -2
- package/dist/integrations/claude-tools.js.map +1 -1
- package/dist/integrations/middleware.d.ts +6 -0
- package/dist/integrations/middleware.d.ts.map +1 -1
- package/dist/integrations/middleware.js +11 -1
- package/dist/integrations/middleware.js.map +1 -1
- package/dist/integrations/openai-tools.d.ts +5 -4
- package/dist/integrations/openai-tools.d.ts.map +1 -1
- package/dist/integrations/openai-tools.js +170 -2
- package/dist/integrations/openai-tools.js.map +1 -1
- package/dist/integrations/vercel-ai.d.ts +6 -0
- package/dist/integrations/vercel-ai.d.ts.map +1 -1
- package/dist/integrations/vercel-ai.js +4 -0
- package/dist/integrations/vercel-ai.js.map +1 -1
- package/dist/server/http-server.d.ts +8 -0
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +976 -58
- package/dist/server/http-server.js.map +1 -1
- package/dist/server/mcp-server.d.ts +8 -0
- package/dist/server/mcp-server.d.ts.map +1 -1
- package/dist/server/mcp-server.js +1157 -37
- package/dist/server/mcp-server.js.map +1 -1
- package/dist/server/parsing.d.ts +12 -0
- package/dist/server/parsing.d.ts.map +1 -0
- package/dist/server/parsing.js +42 -0
- package/dist/server/parsing.js.map +1 -0
- package/dist/summarizers/prompts.d.ts +4 -0
- package/dist/summarizers/prompts.d.ts.map +1 -1
- package/dist/summarizers/prompts.js +42 -0
- package/dist/summarizers/prompts.js.map +1 -1
- package/docs/ULTIMATE_MEMORY_LAYER_ROADMAP.md +291 -0
- package/docs/prd.json +1498 -0
- package/openapi.yaml +1945 -112
- package/package.json +4 -2
package/dist/core/formatter.js
CHANGED
|
@@ -22,6 +22,24 @@ export function formatContextForPrompt(context, options) {
|
|
|
22
22
|
formatHeading('Current Objective', options),
|
|
23
23
|
context.currentObjective ?? 'None',
|
|
24
24
|
'',
|
|
25
|
+
formatHeading('Session State', options),
|
|
26
|
+
`Objective: ${context.sessionState.currentObjective ?? 'None'}`,
|
|
27
|
+
`Blockers: ${context.sessionState.blockers.length > 0
|
|
28
|
+
? context.sessionState.blockers.join(' | ')
|
|
29
|
+
: 'None'}`,
|
|
30
|
+
`Assumptions: ${context.sessionState.assumptions.length > 0
|
|
31
|
+
? context.sessionState.assumptions.join(' | ')
|
|
32
|
+
: 'None'}`,
|
|
33
|
+
`Pending Decisions: ${context.sessionState.pendingDecisions.length > 0
|
|
34
|
+
? context.sessionState.pendingDecisions.join(' | ')
|
|
35
|
+
: 'None'}`,
|
|
36
|
+
`Active Tools: ${context.sessionState.activeTools.length > 0
|
|
37
|
+
? context.sessionState.activeTools.join(' | ')
|
|
38
|
+
: 'None'}`,
|
|
39
|
+
`Recent Outputs: ${context.sessionState.recentOutputs.length > 0
|
|
40
|
+
? context.sessionState.recentOutputs.join(' | ')
|
|
41
|
+
: 'None'}`,
|
|
42
|
+
'',
|
|
25
43
|
formatHeading('Active State', options),
|
|
26
44
|
...(context.activeState.length > 0 ? context.activeState.map((item) => `- ${item}`) : ['- None']),
|
|
27
45
|
'',
|
|
@@ -50,6 +68,26 @@ export function formatContextForPrompt(context, options) {
|
|
|
50
68
|
? context.recentSummaries.map((item) => `- ${item.summary}`)
|
|
51
69
|
: ['- None']),
|
|
52
70
|
];
|
|
71
|
+
sections.push('', formatHeading('Relevant Playbooks', options), ...(context.relevantPlaybooks?.length
|
|
72
|
+
? context.relevantPlaybooks.flatMap((pb) => [
|
|
73
|
+
`- ${pb.title} (${pb.status})${pb.description ? `: ${pb.description}` : ''}`,
|
|
74
|
+
...(pb.instructions ? [` Instructions: ${pb.instructions}`] : []),
|
|
75
|
+
...(pb.references?.length ? [` References: ${pb.references.join(', ')}`] : []),
|
|
76
|
+
...(pb.scripts?.length ? [` Scripts: ${pb.scripts.join(', ')}`] : []),
|
|
77
|
+
])
|
|
78
|
+
: ['- None']));
|
|
79
|
+
if (context.associatedKnowledge?.length) {
|
|
80
|
+
sections.push('', formatHeading('Related Knowledge (via associations)', options), ...context.associatedKnowledge.map((k) => `- [${k.knowledge_class}] ${k.fact} (trust: ${k.trust_score.toFixed(2)})`));
|
|
81
|
+
}
|
|
82
|
+
if (context.coordinationState) {
|
|
83
|
+
sections.push('', formatHeading('Coordination State', options), `Currently Owned Work: ${context.coordinationState.ownedClaims.length > 0
|
|
84
|
+
? context.coordinationState.ownedClaims.map((claim) => `#${claim.work_item_id}`).join(' | ')
|
|
85
|
+
: 'None'}`, `Handoffs To Review: ${context.coordinationState.pendingInboundHandoffs.length > 0
|
|
86
|
+
? context.coordinationState.pendingInboundHandoffs.map((handoff) => handoff.summary).join(' | ')
|
|
87
|
+
: 'None'}`, `Work Awaiting Pickup: ${context.coordinationState.pendingOutboundHandoffs.length > 0
|
|
88
|
+
? context.coordinationState.pendingOutboundHandoffs.map((handoff) => handoff.summary).join(' | ')
|
|
89
|
+
: 'None'}`);
|
|
90
|
+
}
|
|
53
91
|
if (options?.includeProvisionalKnowledge) {
|
|
54
92
|
sections.push('', formatHeading('Provisional Knowledge', options), ...(context.provisionalKnowledge.length > 0
|
|
55
93
|
? context.provisionalKnowledge.map((item) => formatKnowledgeLine(item, options))
|
|
@@ -67,6 +105,24 @@ export function formatBootstrapForPrompt(bootstrap, options) {
|
|
|
67
105
|
formatHeading('Bootstrap Objective', options),
|
|
68
106
|
bootstrap.currentObjective ?? 'None',
|
|
69
107
|
'',
|
|
108
|
+
formatHeading('Bootstrap Session State', options),
|
|
109
|
+
`Objective: ${bootstrap.sessionState.currentObjective ?? 'None'}`,
|
|
110
|
+
`Blockers: ${bootstrap.sessionState.blockers.length > 0
|
|
111
|
+
? bootstrap.sessionState.blockers.join(' | ')
|
|
112
|
+
: 'None'}`,
|
|
113
|
+
`Assumptions: ${bootstrap.sessionState.assumptions.length > 0
|
|
114
|
+
? bootstrap.sessionState.assumptions.join(' | ')
|
|
115
|
+
: 'None'}`,
|
|
116
|
+
`Pending Decisions: ${bootstrap.sessionState.pendingDecisions.length > 0
|
|
117
|
+
? bootstrap.sessionState.pendingDecisions.join(' | ')
|
|
118
|
+
: 'None'}`,
|
|
119
|
+
`Active Tools: ${bootstrap.sessionState.activeTools.length > 0
|
|
120
|
+
? bootstrap.sessionState.activeTools.join(' | ')
|
|
121
|
+
: 'None'}`,
|
|
122
|
+
`Recent Outputs: ${bootstrap.sessionState.recentOutputs.length > 0
|
|
123
|
+
? bootstrap.sessionState.recentOutputs.join(' | ')
|
|
124
|
+
: 'None'}`,
|
|
125
|
+
'',
|
|
70
126
|
formatHeading('Bootstrap Working Memory', options),
|
|
71
127
|
bootstrap.workingMemory?.summary ?? 'None',
|
|
72
128
|
'',
|
|
@@ -84,8 +140,55 @@ export function formatBootstrapForPrompt(bootstrap, options) {
|
|
|
84
140
|
...(bootstrap.unresolvedWork.length > 0
|
|
85
141
|
? bootstrap.unresolvedWork.map((item) => `- ${item}`)
|
|
86
142
|
: ['- None']),
|
|
143
|
+
'',
|
|
144
|
+
formatHeading('Bootstrap Coordination', options),
|
|
145
|
+
...(bootstrap.coordinationState
|
|
146
|
+
? [
|
|
147
|
+
`Owned Claims: ${bootstrap.coordinationState.ownedClaims.length > 0
|
|
148
|
+
? bootstrap.coordinationState.ownedClaims.map((claim) => `#${claim.work_item_id}`).join(' | ')
|
|
149
|
+
: 'None'}`,
|
|
150
|
+
`Inbound Handoffs: ${bootstrap.coordinationState.pendingInboundHandoffs.length > 0
|
|
151
|
+
? bootstrap.coordinationState.pendingInboundHandoffs.map((handoff) => handoff.summary).join(' | ')
|
|
152
|
+
: 'None'}`,
|
|
153
|
+
`Outbound Handoffs: ${bootstrap.coordinationState.pendingOutboundHandoffs.length > 0
|
|
154
|
+
? bootstrap.coordinationState.pendingOutboundHandoffs.map((handoff) => handoff.summary).join(' | ')
|
|
155
|
+
: 'None'}`,
|
|
156
|
+
]
|
|
157
|
+
: ['None']),
|
|
158
|
+
...formatProfileSection(bootstrap.profile, options),
|
|
87
159
|
].join('\n');
|
|
88
160
|
}
|
|
161
|
+
function formatProfileSection(profile, options) {
|
|
162
|
+
if (!profile)
|
|
163
|
+
return [];
|
|
164
|
+
const sectionLabels = {
|
|
165
|
+
identity: 'Identity',
|
|
166
|
+
preferences: 'Preferences',
|
|
167
|
+
communication: 'Communication',
|
|
168
|
+
constraints: 'Constraints',
|
|
169
|
+
workflows: 'Workflows',
|
|
170
|
+
};
|
|
171
|
+
const lines = ['', formatHeading('Profile', options)];
|
|
172
|
+
const sections = ['identity', 'preferences', 'communication', 'constraints', 'workflows'];
|
|
173
|
+
let hasContent = false;
|
|
174
|
+
for (const section of sections) {
|
|
175
|
+
const entries = profile.sections[section];
|
|
176
|
+
if (entries.length === 0)
|
|
177
|
+
continue;
|
|
178
|
+
hasContent = true;
|
|
179
|
+
lines.push(` ${sectionLabels[section]}:`);
|
|
180
|
+
for (const entry of entries) {
|
|
181
|
+
const suffix = options?.includeTrustMetadata
|
|
182
|
+
? ` [trust=${entry.trustScore.toFixed(2)}, state=${entry.knowledgeState}]`
|
|
183
|
+
: '';
|
|
184
|
+
lines.push(` - ${entry.fact}${suffix}`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
if (!hasContent) {
|
|
188
|
+
lines.push('- None');
|
|
189
|
+
}
|
|
190
|
+
return lines;
|
|
191
|
+
}
|
|
89
192
|
export function formatContextAsMessages(context, options) {
|
|
90
193
|
return [
|
|
91
194
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/core/formatter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/core/formatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export interface MaintenanceReport {
|
|
|
5
5
|
expiredWorkingMemoryIds: number[];
|
|
6
6
|
retiredKnowledgeIds: number[];
|
|
7
7
|
deletedWorkItemIds: number[];
|
|
8
|
+
deletedAssociationIds: number[];
|
|
8
9
|
reverifiedKnowledgeIds: number[];
|
|
9
10
|
demotedKnowledgeIds: number[];
|
|
10
11
|
expiredCandidateIds: number[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maintenance.d.ts","sourceRoot":"","sources":["../../src/core/maintenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AASzE,MAAM,WAAW,iBAAiB;IAChC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,WAAW,EAClB,MAAM,GAAE,iBAAsB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"maintenance.d.ts","sourceRoot":"","sources":["../../src/core/maintenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AASzE,MAAM,WAAW,iBAAiB;IAChC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,WAAW,EAClB,MAAM,GAAE,iBAAsB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CAwM5B"}
|
package/dist/core/maintenance.js
CHANGED
|
@@ -6,6 +6,7 @@ export async function runMaintenance(adapter, scope, policy = {}) {
|
|
|
6
6
|
const expiredWorkingMemoryIds = [];
|
|
7
7
|
const retiredKnowledgeIds = [];
|
|
8
8
|
const deletedWorkItemIds = [];
|
|
9
|
+
const deletedAssociationIds = [];
|
|
9
10
|
const reverifiedKnowledgeIds = [];
|
|
10
11
|
const demotedKnowledgeIds = [];
|
|
11
12
|
const expiredCandidateIds = [];
|
|
@@ -90,10 +91,84 @@ export async function runMaintenance(adapter, scope, policy = {}) {
|
|
|
90
91
|
await adapter.deleteWorkItem(item.id);
|
|
91
92
|
deletedWorkItemIds.push(item.id);
|
|
92
93
|
}
|
|
94
|
+
const associations = await adapter.listAssociations(scope);
|
|
95
|
+
const existenceCache = new Map();
|
|
96
|
+
async function primeExistenceCache(kind, ids) {
|
|
97
|
+
const uniqueIds = [...new Set(ids)];
|
|
98
|
+
if (uniqueIds.length === 0) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const existingIds = kind === 'knowledge'
|
|
102
|
+
? await adapter.getExistingKnowledgeMemoryIds?.(uniqueIds)
|
|
103
|
+
: kind === 'work_item'
|
|
104
|
+
? await adapter.getExistingWorkItemIds?.(uniqueIds)
|
|
105
|
+
: kind === 'playbook'
|
|
106
|
+
? await adapter.getExistingPlaybookIds?.(uniqueIds)
|
|
107
|
+
: await adapter.getExistingWorkingMemoryIds?.(uniqueIds);
|
|
108
|
+
if (!existingIds) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const existingSet = new Set(existingIds);
|
|
112
|
+
for (const id of uniqueIds) {
|
|
113
|
+
existenceCache.set(`${kind}:${id}`, existingSet.has(id));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async function entityExists(kind, id) {
|
|
117
|
+
const cacheKey = `${kind}:${id}`;
|
|
118
|
+
if (existenceCache.has(cacheKey)) {
|
|
119
|
+
return existenceCache.get(cacheKey);
|
|
120
|
+
}
|
|
121
|
+
const exists = kind === 'knowledge'
|
|
122
|
+
? (await adapter.getKnowledgeMemoryById(id)) != null
|
|
123
|
+
: kind === 'work_item'
|
|
124
|
+
? (await adapter.getWorkItemById(id)) != null
|
|
125
|
+
: kind === 'playbook'
|
|
126
|
+
? (await adapter.getPlaybookById(id)) != null
|
|
127
|
+
: (await adapter.getWorkingMemoryById(id)) != null;
|
|
128
|
+
existenceCache.set(cacheKey, exists);
|
|
129
|
+
return exists;
|
|
130
|
+
}
|
|
131
|
+
const idsByKind = {
|
|
132
|
+
knowledge: new Set(),
|
|
133
|
+
work_item: new Set(),
|
|
134
|
+
playbook: new Set(),
|
|
135
|
+
working_memory: new Set(),
|
|
136
|
+
};
|
|
137
|
+
for (const association of associations) {
|
|
138
|
+
idsByKind[association.source_kind].add(association.source_id);
|
|
139
|
+
idsByKind[association.target_kind].add(association.target_id);
|
|
140
|
+
}
|
|
141
|
+
await Promise.all([
|
|
142
|
+
primeExistenceCache('knowledge', [...idsByKind.knowledge]),
|
|
143
|
+
primeExistenceCache('work_item', [...idsByKind.work_item]),
|
|
144
|
+
primeExistenceCache('playbook', [...idsByKind.playbook]),
|
|
145
|
+
primeExistenceCache('working_memory', [...idsByKind.working_memory]),
|
|
146
|
+
]);
|
|
147
|
+
for (const association of associations) {
|
|
148
|
+
const sourceExists = association.source_kind === 'knowledge'
|
|
149
|
+
? await entityExists('knowledge', association.source_id)
|
|
150
|
+
: association.source_kind === 'work_item'
|
|
151
|
+
? await entityExists('work_item', association.source_id)
|
|
152
|
+
: association.source_kind === 'playbook'
|
|
153
|
+
? await entityExists('playbook', association.source_id)
|
|
154
|
+
: await entityExists('working_memory', association.source_id);
|
|
155
|
+
const targetExists = association.target_kind === 'knowledge'
|
|
156
|
+
? await entityExists('knowledge', association.target_id)
|
|
157
|
+
: association.target_kind === 'work_item'
|
|
158
|
+
? await entityExists('work_item', association.target_id)
|
|
159
|
+
: association.target_kind === 'playbook'
|
|
160
|
+
? await entityExists('playbook', association.target_id)
|
|
161
|
+
: await entityExists('working_memory', association.target_id);
|
|
162
|
+
if (!sourceExists || !targetExists) {
|
|
163
|
+
await adapter.deleteAssociation(association.id);
|
|
164
|
+
deletedAssociationIds.push(association.id);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
93
167
|
return {
|
|
94
168
|
expiredWorkingMemoryIds,
|
|
95
169
|
retiredKnowledgeIds,
|
|
96
170
|
deletedWorkItemIds,
|
|
171
|
+
deletedAssociationIds,
|
|
97
172
|
reverifiedKnowledgeIds,
|
|
98
173
|
demotedKnowledgeIds,
|
|
99
174
|
expiredCandidateIds,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../../src/core/maintenance.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../../src/core/maintenance.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAYlC,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA4B,EAC5B,KAAkB,EAClB,SAA4B,EAAE;IAE9B,MAAM,QAAQ,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,uBAAuB,GAAa,EAAE,CAAC;IAC7C,MAAM,mBAAmB,GAAa,EAAE,CAAC;IACzC,MAAM,kBAAkB,GAAa,EAAE,CAAC;IACxC,MAAM,qBAAqB,GAAa,EAAE,CAAC;IAC3C,MAAM,sBAAsB,GAAa,EAAE,CAAC;IAC5C,MAAM,mBAAmB,GAAa,EAAE,CAAC;IACzC,MAAM,mBAAmB,GAAa,EAAE,CAAC;IAEzC,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,2BAA2B,CAAC,KAAK,EAAE;QAC1E,MAAM,EAAE,GAAG,GAAG,QAAQ,CAAC,uBAAuB;KAC/C,CAAC,CAAC;IACH,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;YACtD,MAAM,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,eAAe,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACxF,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE;YAC3C,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,IAAI,GAAG;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACjE,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE;gBAC3C,eAAe,EAAE,aAAa;gBAC9B,mBAAmB,EAAE,YAAY;gBACjC,kBAAkB,EAAE,4CAA4C;gBAChE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;gBAC7C,sBAAsB,EAAE,QAAQ,CAAC,oBAAoB;aACtD,CAAC,CAAC;YACH,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAClD,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,oBAAoB,KAAK,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAClE,MAAM,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE;gBAC3C,sBAAsB,EAAE,QAAQ,CAAC,oBAAoB;aACtD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,eAAe,CAAC,MAAM,GAAG,QAAQ,CAAC,uBAAuB,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,CAAC,GAAG,eAAe,CAAC;aAClC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;aAC/C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC;aAC1F,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QACvE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC7B,MAAM,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAClD,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkC,CAAC;QACzD,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAC/B,MAAM,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAC7C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB;gBACvC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY;gBAC/B,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAC1C,CAAC;YACF,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;oBAClC,MAAM,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACvD,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,CACzB,MAAM,OAAO,CAAC,uBAAuB,CAAC,KAAK,EAAE;QAC3C,MAAM,EAAE,GAAG,GAAG,QAAQ,CAAC,2BAA2B;KACnD,CAAC,CACH,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAmB,CAAC;IAElD,KAAK,UAAU,mBAAmB,CAChC,IAA+D,EAC/D,GAAa;QAEb,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GACf,IAAI,KAAK,WAAW;YAClB,CAAC,CAAC,MAAM,OAAO,CAAC,6BAA6B,EAAE,CAAC,SAAS,CAAC;YAC1D,CAAC,CAAC,IAAI,KAAK,WAAW;gBACpB,CAAC,CAAC,MAAM,OAAO,CAAC,sBAAsB,EAAE,CAAC,SAAS,CAAC;gBACnD,CAAC,CAAC,IAAI,KAAK,UAAU;oBACnB,CAAC,CAAC,MAAM,OAAO,CAAC,sBAAsB,EAAE,CAAC,SAAS,CAAC;oBACnD,CAAC,CAAC,MAAM,OAAO,CAAC,2BAA2B,EAAE,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QACzC,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,KAAK,UAAU,YAAY,CACzB,IAA+D,EAC/D,EAAU;QAEV,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;QACjC,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACvC,CAAC;QACD,MAAM,MAAM,GACV,IAAI,KAAK,WAAW;YAClB,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI;YACpD,CAAC,CAAC,IAAI,KAAK,WAAW;gBACpB,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI;gBAC7C,CAAC,CAAC,IAAI,KAAK,UAAU;oBACnB,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI;oBAC7C,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;QAC3D,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,SAAS,GAAG;QAChB,SAAS,EAAE,IAAI,GAAG,EAAU;QAC5B,SAAS,EAAE,IAAI,GAAG,EAAU;QAC5B,QAAQ,EAAE,IAAI,GAAG,EAAU;QAC3B,cAAc,EAAE,IAAI,GAAG,EAAU;KAClC,CAAC;IACF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC9D,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,mBAAmB,CAAC,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1D,mBAAmB,CAAC,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1D,mBAAmB,CAAC,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxD,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;KACrE,CAAC,CAAC;IAEH,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,YAAY,GAChB,WAAW,CAAC,WAAW,KAAK,WAAW;YACrC,CAAC,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC;YACxD,CAAC,CAAC,WAAW,CAAC,WAAW,KAAK,WAAW;gBACvC,CAAC,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC;gBACxD,CAAC,CAAC,WAAW,CAAC,WAAW,KAAK,UAAU;oBACtC,CAAC,CAAC,MAAM,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC;oBACvD,CAAC,CAAC,MAAM,YAAY,CAAC,gBAAgB,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QACtE,MAAM,YAAY,GAChB,WAAW,CAAC,WAAW,KAAK,WAAW;YACrC,CAAC,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC;YACxD,CAAC,CAAC,WAAW,CAAC,WAAW,KAAK,WAAW;gBACvC,CAAC,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC;gBACxD,CAAC,CAAC,WAAW,CAAC,WAAW,KAAK,UAAU;oBACtC,CAAC,CAAC,MAAM,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC;oBACvD,CAAC,CAAC,MAAM,YAAY,CAAC,gBAAgB,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAChD,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO;QACL,uBAAuB;QACvB,mBAAmB;QACnB,kBAAkB;QAClB,qBAAqB;QACrB,sBAAsB;QACtB,mBAAmB;QACnB,mBAAmB;KACpB,CAAC;AACJ,CAAC"}
|
package/dist/core/manager.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { EmbeddingAdapter, EmbeddingGenerator } from '../contracts/embedding.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ActorRef, ContextViewPolicy, HandoffRecord, WorkClaim, WorkItemPatch } from '../contracts/coordination.js';
|
|
3
|
+
import { type MemoryScope, type ScopeLevel } from '../contracts/identity.js';
|
|
3
4
|
import type { EventHook, Logger } from '../contracts/observability.js';
|
|
4
5
|
import type { ContextPolicy, ExtractionPolicy, MaintenancePolicy, MonitorPolicy } from '../contracts/policy.js';
|
|
5
6
|
import type { StorageAdapter } from '../contracts/storage.js';
|
|
6
7
|
import type { AsyncStorageAdapter } from '../contracts/async-storage.js';
|
|
7
|
-
import type { CompactionLog, ContextMonitor, FactConfidence, FactType, KnowledgeEvidence, KnowledgeMemory, KnowledgeMemoryAudit, KnowledgeTrustAssessment, PaginationOptions, PaginatedResult, SearchOptions, SearchResult, TimeRange, Turn, TurnRole, WorkItem, WorkingMemory } from '../contracts/types.js';
|
|
8
|
+
import type { CompactionLog, ContextMonitor, FactConfidence, FactType, KnowledgeEvidence, KnowledgeMemory, KnowledgeMemoryAudit, KnowledgeTrustAssessment, NewPlaybook, PaginationOptions, PaginatedResult, Playbook, Association, AssociationTargetKind, NewAssociation, PlaybookRevision, SearchOptions, SearchResult, EpisodeSearchOptions, EpisodeSummary, ReflectOptions, ReflectResult, TimeRange, Turn, TurnRole, WorkItem, WorkingMemory } from '../contracts/types.js';
|
|
8
9
|
import { type MemoryContext } from './context.js';
|
|
9
10
|
import type { MemoryEventEmitter } from './events.js';
|
|
10
11
|
import type { Extractor } from './extractor.js';
|
|
@@ -12,7 +13,13 @@ import type { SessionBootstrap } from './formatter.js';
|
|
|
12
13
|
import { type CompactionResult, type Summarizer } from './orchestrator.js';
|
|
13
14
|
import { type MaintenanceReport } from './maintenance.js';
|
|
14
15
|
import { type TokenEstimator } from './tokens.js';
|
|
15
|
-
import { type CircuitBreakerOptions } from './circuit-breaker.js';
|
|
16
|
+
import { type CircuitBreakerOptions, type CircuitBreakerSnapshot } from './circuit-breaker.js';
|
|
17
|
+
import type { CognitiveSearchOptions, CognitiveSearchResult } from '../contracts/cognitive.js';
|
|
18
|
+
import type { TemporalId, TemporalIdInput, MemoryEventEntityKind, MemoryEventRecord, TemporalStateDiff, TemporalStateSnapshot, TimelineResult } from '../contracts/temporal.js';
|
|
19
|
+
import type { StructuredGenerationClient } from '../summarizers/client.js';
|
|
20
|
+
import { type AssociationGraph } from './associations.js';
|
|
21
|
+
import type { Profile, ProfileOptions } from '../contracts/profile.js';
|
|
22
|
+
import { type CreatePlaybookFromTaskInput } from './playbook.js';
|
|
16
23
|
export interface MemoryManagerConfig {
|
|
17
24
|
/** Synchronous storage adapter (SQLite, in-memory). Mutually exclusive with asyncAdapter. */
|
|
18
25
|
adapter?: StorageAdapter;
|
|
@@ -48,6 +55,8 @@ export interface MemoryManagerConfig {
|
|
|
48
55
|
kind: 'turn' | 'fact' | 'work_item';
|
|
49
56
|
text: string;
|
|
50
57
|
}) => string;
|
|
58
|
+
structuredClient?: StructuredGenerationClient;
|
|
59
|
+
closeAdapter?: boolean;
|
|
51
60
|
}
|
|
52
61
|
export interface MemoryManager {
|
|
53
62
|
processTurn(role: TurnRole, content: string, actor?: string): Promise<Turn>;
|
|
@@ -59,9 +68,74 @@ export interface MemoryManager {
|
|
|
59
68
|
assistantTurn: Turn;
|
|
60
69
|
compactionResult: CompactionResult | null;
|
|
61
70
|
}>;
|
|
62
|
-
getContext(relevanceQuery?: string
|
|
63
|
-
|
|
64
|
-
|
|
71
|
+
getContext(relevanceQuery?: string, options?: {
|
|
72
|
+
view?: ContextViewPolicy;
|
|
73
|
+
viewer?: ActorRef;
|
|
74
|
+
includeCoordinationState?: boolean;
|
|
75
|
+
}): Promise<MemoryContext>;
|
|
76
|
+
getContextAt(asOf: number, relevanceQuery?: string, options?: {
|
|
77
|
+
view?: ContextViewPolicy;
|
|
78
|
+
viewer?: ActorRef;
|
|
79
|
+
includeCoordinationState?: boolean;
|
|
80
|
+
}): Promise<MemoryContext>;
|
|
81
|
+
getStateAt(asOf: number, options?: {
|
|
82
|
+
relevanceQuery?: string;
|
|
83
|
+
view?: ContextViewPolicy;
|
|
84
|
+
viewer?: ActorRef;
|
|
85
|
+
includeCoordinationState?: boolean;
|
|
86
|
+
}): Promise<TemporalStateSnapshot<MemoryContext>>;
|
|
87
|
+
getTimeline(options?: {
|
|
88
|
+
sessionId?: string;
|
|
89
|
+
entityKind?: MemoryEventEntityKind;
|
|
90
|
+
entityId?: string;
|
|
91
|
+
startAt?: number;
|
|
92
|
+
endAt?: number;
|
|
93
|
+
limit?: number;
|
|
94
|
+
cursor?: TemporalIdInput;
|
|
95
|
+
}): Promise<TimelineResult>;
|
|
96
|
+
diffState(from: number, to: number, options?: {
|
|
97
|
+
sessionId?: string;
|
|
98
|
+
entityKind?: MemoryEventEntityKind;
|
|
99
|
+
entityId?: string;
|
|
100
|
+
maxEvents?: number;
|
|
101
|
+
}): Promise<TemporalStateDiff>;
|
|
102
|
+
listMemoryEvents(options?: {
|
|
103
|
+
sessionId?: string;
|
|
104
|
+
entityKind?: MemoryEventEntityKind;
|
|
105
|
+
entityId?: string;
|
|
106
|
+
startAt?: number;
|
|
107
|
+
endAt?: number;
|
|
108
|
+
limit?: number;
|
|
109
|
+
cursor?: TemporalIdInput;
|
|
110
|
+
}): Promise<TimelineResult>;
|
|
111
|
+
getSessionBootstrap(relevanceQuery?: string, options?: {
|
|
112
|
+
view?: ContextViewPolicy;
|
|
113
|
+
viewer?: ActorRef;
|
|
114
|
+
includeCoordinationState?: boolean;
|
|
115
|
+
}): Promise<SessionBootstrap>;
|
|
116
|
+
getSessionBootstrapAt(asOf: number, relevanceQuery?: string, options?: {
|
|
117
|
+
view?: ContextViewPolicy;
|
|
118
|
+
viewer?: ActorRef;
|
|
119
|
+
includeCoordinationState?: boolean;
|
|
120
|
+
}): Promise<SessionBootstrap>;
|
|
121
|
+
captureSnapshot(relevanceQuery?: string, options?: {
|
|
122
|
+
view?: ContextViewPolicy;
|
|
123
|
+
viewer?: ActorRef;
|
|
124
|
+
includeCoordinationState?: boolean;
|
|
125
|
+
}): Promise<{
|
|
126
|
+
bootstrap: SessionBootstrap;
|
|
127
|
+
context: MemoryContext;
|
|
128
|
+
frozenAt: number;
|
|
129
|
+
watermarkEventId: string | null;
|
|
130
|
+
profile: Profile | null;
|
|
131
|
+
}>;
|
|
132
|
+
getRuntimeDiagnostics(): Promise<{
|
|
133
|
+
circuitBreakers: {
|
|
134
|
+
summarizer: CircuitBreakerSnapshot;
|
|
135
|
+
extractor: CircuitBreakerSnapshot;
|
|
136
|
+
embeddings: CircuitBreakerSnapshot;
|
|
137
|
+
};
|
|
138
|
+
}>;
|
|
65
139
|
recall(timeRange: TimeRange): Promise<{
|
|
66
140
|
turns: Turn[];
|
|
67
141
|
workingMemory: WorkingMemory[];
|
|
@@ -80,7 +154,47 @@ export interface MemoryManager {
|
|
|
80
154
|
}): Promise<KnowledgeMemory[]>;
|
|
81
155
|
forceCompact(): Promise<CompactionResult | null>;
|
|
82
156
|
learnFact(fact: string, factType: FactType, confidence?: FactConfidence): Promise<KnowledgeMemory>;
|
|
83
|
-
trackWorkItem(title: string, kind?: WorkItem['kind'], status?: WorkItem['status'], detail?: string
|
|
157
|
+
trackWorkItem(title: string, kind?: WorkItem['kind'], status?: WorkItem['status'], detail?: string, options?: {
|
|
158
|
+
visibilityClass?: WorkItem['visibility_class'];
|
|
159
|
+
}): Promise<WorkItem>;
|
|
160
|
+
updateWorkItem(id: number, patch: WorkItemPatch, options?: {
|
|
161
|
+
expectedVersion?: number;
|
|
162
|
+
}): Promise<WorkItem | null>;
|
|
163
|
+
claimWorkItem(input: {
|
|
164
|
+
workItemId: number;
|
|
165
|
+
actor: ActorRef;
|
|
166
|
+
leaseSeconds?: number;
|
|
167
|
+
}): Promise<WorkClaim>;
|
|
168
|
+
renewWorkClaim(claimId: number, actor: ActorRef, leaseSeconds?: number): Promise<WorkClaim | null>;
|
|
169
|
+
releaseWorkClaim(claimId: number, actor: ActorRef, reason?: string): Promise<WorkClaim | null>;
|
|
170
|
+
listWorkClaims(options?: {
|
|
171
|
+
actor?: Pick<ActorRef, 'actor_kind' | 'actor_id'>;
|
|
172
|
+
sessionId?: string;
|
|
173
|
+
}): Promise<WorkClaim[]>;
|
|
174
|
+
handoffWorkItem(input: {
|
|
175
|
+
workItemId: number;
|
|
176
|
+
fromActor: ActorRef;
|
|
177
|
+
toActor: ActorRef;
|
|
178
|
+
summary: string;
|
|
179
|
+
contextBundleRef?: string | null;
|
|
180
|
+
expiresAt?: number | null;
|
|
181
|
+
}): Promise<HandoffRecord>;
|
|
182
|
+
acceptHandoff(handoffId: number, actor: ActorRef, reason?: string): Promise<HandoffRecord | null>;
|
|
183
|
+
rejectHandoff(handoffId: number, actor: ActorRef, reason?: string): Promise<HandoffRecord | null>;
|
|
184
|
+
cancelHandoff(handoffId: number, actor: ActorRef, reason?: string): Promise<HandoffRecord | null>;
|
|
185
|
+
listPendingHandoffs(options?: {
|
|
186
|
+
actor?: Pick<ActorRef, 'actor_kind' | 'actor_id'>;
|
|
187
|
+
direction?: 'inbound' | 'outbound' | 'all';
|
|
188
|
+
}): Promise<HandoffRecord[]>;
|
|
189
|
+
streamChanges(options?: {
|
|
190
|
+
cursor?: TemporalIdInput;
|
|
191
|
+
sessionId?: string;
|
|
192
|
+
entityKind?: MemoryEventEntityKind;
|
|
193
|
+
entityId?: string;
|
|
194
|
+
pollIntervalMs?: number;
|
|
195
|
+
signal?: AbortSignal;
|
|
196
|
+
}): AsyncIterable<MemoryEventRecord>;
|
|
197
|
+
resolveChangeStreamCursor(cursor?: TemporalIdInput): Promise<TemporalId>;
|
|
84
198
|
inspectKnowledge(id: number): Promise<{
|
|
85
199
|
knowledge: KnowledgeMemory | null;
|
|
86
200
|
evidence: KnowledgeEvidence[];
|
|
@@ -104,6 +218,44 @@ export interface MemoryManager {
|
|
|
104
218
|
demotedKnowledgeIds: number[];
|
|
105
219
|
}>;
|
|
106
220
|
runMaintenance(policy?: MaintenancePolicy): Promise<MaintenanceReport>;
|
|
221
|
+
searchEpisodes(options: EpisodeSearchOptions): Promise<EpisodeSummary[]>;
|
|
222
|
+
summarizeEpisode(sessionId: string, options?: {
|
|
223
|
+
detailLevel?: EpisodeSummary['detailLevel'];
|
|
224
|
+
}): Promise<EpisodeSummary>;
|
|
225
|
+
reflect(options: ReflectOptions): Promise<ReflectResult>;
|
|
226
|
+
searchCognitive(options: CognitiveSearchOptions): Promise<CognitiveSearchResult>;
|
|
227
|
+
getProfile(options?: ProfileOptions): Promise<Profile>;
|
|
228
|
+
createPlaybook(input: Omit<NewPlaybook, 'tenant_id' | 'system_id' | 'scope_id' | 'workspace_id' | 'collaboration_id'>): Promise<Playbook>;
|
|
229
|
+
createPlaybookFromTask(input: CreatePlaybookFromTaskInput): Promise<Playbook>;
|
|
230
|
+
revisePlaybook(playbookId: number, newInstructions: string, revisionReason: string, sourceSessionId?: string | null): Promise<{
|
|
231
|
+
playbook: Playbook;
|
|
232
|
+
revision: PlaybookRevision;
|
|
233
|
+
}>;
|
|
234
|
+
getPlaybook(id: number): Promise<Playbook | null>;
|
|
235
|
+
listPlaybooks(): Promise<Playbook[]>;
|
|
236
|
+
searchPlaybooks(query: string, options?: SearchOptions): Promise<SearchResult<Playbook>[]>;
|
|
237
|
+
updatePlaybook(id: number, patch: {
|
|
238
|
+
title?: string;
|
|
239
|
+
description?: string;
|
|
240
|
+
instructions?: string;
|
|
241
|
+
references?: string[];
|
|
242
|
+
templates?: string[];
|
|
243
|
+
scripts?: string[];
|
|
244
|
+
assets?: string[];
|
|
245
|
+
tags?: string[];
|
|
246
|
+
status?: Playbook['status'];
|
|
247
|
+
}): Promise<Playbook | null>;
|
|
248
|
+
recordPlaybookUse(id: number): Promise<void>;
|
|
249
|
+
addAssociation(input: Omit<NewAssociation, 'tenant_id' | 'system_id' | 'scope_id' | 'workspace_id' | 'collaboration_id'>): Promise<Association>;
|
|
250
|
+
getAssociations(kind: AssociationTargetKind, id: number): Promise<{
|
|
251
|
+
from: Association[];
|
|
252
|
+
to: Association[];
|
|
253
|
+
}>;
|
|
254
|
+
traverseAssociations(kind: AssociationTargetKind, id: number, options?: {
|
|
255
|
+
maxDepth?: number;
|
|
256
|
+
maxNodes?: number;
|
|
257
|
+
}): Promise<AssociationGraph>;
|
|
258
|
+
removeAssociation(id: number): Promise<void>;
|
|
107
259
|
close(): Promise<void>;
|
|
108
260
|
}
|
|
109
261
|
export declare function createMemoryManager(config: MemoryManagerConfig): MemoryManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/core/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/core/manager.ts"],"names":[],"mappings":"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"}
|