@devflow-tools/memory-engine 0.17.8 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/consolidator.d.ts.map +1 -1
- package/dist/consolidator.js +2 -0
- package/dist/consolidator.js.map +1 -1
- package/dist/embedding-model-store.d.ts +1 -4
- package/dist/embedding-model-store.d.ts.map +1 -1
- package/dist/embedding-model-store.js +3 -75
- package/dist/embedding-model-store.js.map +1 -1
- package/dist/embedding-provider.d.ts +3 -2
- package/dist/embedding-provider.d.ts.map +1 -1
- package/dist/embedding-provider.js +151 -43
- package/dist/embedding-provider.js.map +1 -1
- package/dist/hybrid-search.d.ts +5 -1
- package/dist/hybrid-search.d.ts.map +1 -1
- package/dist/hybrid-search.js +92 -56
- package/dist/hybrid-search.js.map +1 -1
- package/dist/index.d.ts +16 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/lease-store.d.ts.map +1 -1
- package/dist/lease-store.js +30 -0
- package/dist/lease-store.js.map +1 -1
- package/dist/memory-command-service.d.ts +73 -0
- package/dist/memory-command-service.d.ts.map +1 -0
- package/dist/memory-command-service.js +283 -0
- package/dist/memory-command-service.js.map +1 -0
- package/dist/memory-engine.d.ts +19 -15
- package/dist/memory-engine.d.ts.map +1 -1
- package/dist/memory-engine.js +207 -158
- package/dist/memory-engine.js.map +1 -1
- package/dist/memory-episode-repository.d.ts +77 -0
- package/dist/memory-episode-repository.d.ts.map +1 -0
- package/dist/memory-episode-repository.js +262 -0
- package/dist/memory-episode-repository.js.map +1 -0
- package/dist/memory-fact-provider-port.d.ts +83 -0
- package/dist/memory-fact-provider-port.d.ts.map +1 -0
- package/dist/memory-fact-provider-port.js +22 -0
- package/dist/memory-fact-provider-port.js.map +1 -0
- package/dist/memory-fact-validator.d.ts +16 -0
- package/dist/memory-fact-validator.d.ts.map +1 -0
- package/dist/memory-fact-validator.js +52 -0
- package/dist/memory-fact-validator.js.map +1 -0
- package/dist/memory-gate.d.ts +14 -17
- package/dist/memory-gate.d.ts.map +1 -1
- package/dist/memory-gate.js +369 -329
- package/dist/memory-gate.js.map +1 -1
- package/dist/memory-identity-compiler.d.ts +18 -0
- package/dist/memory-identity-compiler.d.ts.map +1 -0
- package/dist/memory-identity-compiler.js +26 -0
- package/dist/memory-identity-compiler.js.map +1 -0
- package/dist/memory-index-projector.d.ts +22 -0
- package/dist/memory-index-projector.d.ts.map +1 -0
- package/dist/memory-index-projector.js +11 -0
- package/dist/memory-index-projector.js.map +1 -0
- package/dist/memory-lifecycle-reducer.d.ts +21 -0
- package/dist/memory-lifecycle-reducer.d.ts.map +1 -0
- package/dist/memory-lifecycle-reducer.js +34 -0
- package/dist/memory-lifecycle-reducer.js.map +1 -0
- package/dist/memory-maintenance.d.ts +1 -4
- package/dist/memory-maintenance.d.ts.map +1 -1
- package/dist/memory-maintenance.js +3 -20
- package/dist/memory-maintenance.js.map +1 -1
- package/dist/memory-query-service.d.ts +24 -0
- package/dist/memory-query-service.d.ts.map +1 -0
- package/dist/memory-query-service.js +180 -0
- package/dist/memory-query-service.js.map +1 -0
- package/dist/memory-relevance.d.ts +16 -1
- package/dist/memory-relevance.d.ts.map +1 -1
- package/dist/memory-relevance.js +83 -139
- package/dist/memory-relevance.js.map +1 -1
- package/dist/memory-store.d.ts +52 -36
- package/dist/memory-store.d.ts.map +1 -1
- package/dist/memory-store.js +406 -704
- package/dist/memory-store.js.map +1 -1
- package/dist/semantic-memory-compiler.d.ts +0 -2
- package/dist/semantic-memory-compiler.d.ts.map +1 -1
- package/dist/semantic-memory-compiler.js +4 -4
- package/dist/semantic-memory-compiler.js.map +1 -1
- package/dist/session-summarizer.d.ts +3 -0
- package/dist/session-summarizer.d.ts.map +1 -1
- package/dist/session-summarizer.js.map +1 -1
- package/dist/signal-analyzer.d.ts +2 -2
- package/dist/signal-analyzer.d.ts.map +1 -1
- package/dist/signal-analyzer.js +10 -16
- package/dist/signal-analyzer.js.map +1 -1
- package/package.json +14 -5
- package/dist/lease-store.test.d.ts +0 -2
- package/dist/lease-store.test.d.ts.map +0 -1
- package/dist/lease-store.test.js +0 -182
- package/dist/lease-store.test.js.map +0 -1
- package/dist/migrations/v10-to-v11.d.ts +0 -3
- package/dist/migrations/v10-to-v11.d.ts.map +0 -1
- package/dist/migrations/v10-to-v11.js +0 -21
- package/dist/migrations/v10-to-v11.js.map +0 -1
- package/dist/migrations/v11-to-v12.d.ts +0 -66
- package/dist/migrations/v11-to-v12.d.ts.map +0 -1
- package/dist/migrations/v11-to-v12.js +0 -577
- package/dist/migrations/v11-to-v12.js.map +0 -1
- package/dist/migrations/v12-to-v13.d.ts +0 -3
- package/dist/migrations/v12-to-v13.d.ts.map +0 -1
- package/dist/migrations/v12-to-v13.js +0 -50
- package/dist/migrations/v12-to-v13.js.map +0 -1
- package/dist/migrations/v2-to-v3.d.ts +0 -3
- package/dist/migrations/v2-to-v3.d.ts.map +0 -1
- package/dist/migrations/v2-to-v3.js +0 -122
- package/dist/migrations/v2-to-v3.js.map +0 -1
- package/dist/migrations/v2-to-v3.test.d.ts +0 -2
- package/dist/migrations/v2-to-v3.test.d.ts.map +0 -1
- package/dist/migrations/v2-to-v3.test.js +0 -88
- package/dist/migrations/v2-to-v3.test.js.map +0 -1
- package/dist/migrations/v3-to-v4.d.ts +0 -3
- package/dist/migrations/v3-to-v4.d.ts.map +0 -1
- package/dist/migrations/v3-to-v4.js +0 -97
- package/dist/migrations/v3-to-v4.js.map +0 -1
- package/dist/migrations/v4-to-v5.d.ts +0 -3
- package/dist/migrations/v4-to-v5.d.ts.map +0 -1
- package/dist/migrations/v4-to-v5.js +0 -34
- package/dist/migrations/v4-to-v5.js.map +0 -1
- package/dist/migrations/v4-to-v5.test.d.ts +0 -2
- package/dist/migrations/v4-to-v5.test.d.ts.map +0 -1
- package/dist/migrations/v4-to-v5.test.js +0 -32
- package/dist/migrations/v4-to-v5.test.js.map +0 -1
- package/dist/migrations/v6-to-v7.d.ts +0 -3
- package/dist/migrations/v6-to-v7.d.ts.map +0 -1
- package/dist/migrations/v6-to-v7.js +0 -18
- package/dist/migrations/v6-to-v7.js.map +0 -1
- package/dist/migrations/v6-to-v7.test.d.ts +0 -2
- package/dist/migrations/v6-to-v7.test.d.ts.map +0 -1
- package/dist/migrations/v6-to-v7.test.js +0 -33
- package/dist/migrations/v6-to-v7.test.js.map +0 -1
- package/dist/migrations/v7-to-v8.d.ts +0 -3
- package/dist/migrations/v7-to-v8.d.ts.map +0 -1
- package/dist/migrations/v7-to-v8.js +0 -20
- package/dist/migrations/v7-to-v8.js.map +0 -1
- package/dist/migrations/v8-to-v9.d.ts +0 -3
- package/dist/migrations/v8-to-v9.d.ts.map +0 -1
- package/dist/migrations/v8-to-v9.js +0 -18
- package/dist/migrations/v8-to-v9.js.map +0 -1
- package/dist/migrations/v9-to-v10.d.ts +0 -3
- package/dist/migrations/v9-to-v10.d.ts.map +0 -1
- package/dist/migrations/v9-to-v10.js +0 -45
- package/dist/migrations/v9-to-v10.js.map +0 -1
- package/dist/migrations/v9-to-v10.test.d.ts +0 -2
- package/dist/migrations/v9-to-v10.test.d.ts.map +0 -1
- package/dist/migrations/v9-to-v10.test.js +0 -40
- package/dist/migrations/v9-to-v10.test.js.map +0 -1
- package/dist/preference-conflicts.test.d.ts +0 -2
- package/dist/preference-conflicts.test.d.ts.map +0 -1
- package/dist/preference-conflicts.test.js +0 -80
- package/dist/preference-conflicts.test.js.map +0 -1
- package/dist/semantic-memory.test.d.ts +0 -2
- package/dist/semantic-memory.test.d.ts.map +0 -1
- package/dist/semantic-memory.test.js +0 -61
- package/dist/semantic-memory.test.js.map +0 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { type ProviderExecutionReceiptV1 } from '@devflow-tools/sdk';
|
|
2
|
+
import type { ObservationType } from './observation-types.js';
|
|
3
|
+
import type { ExplicitMemoryEvidence } from './explicit-memory-enricher.js';
|
|
4
|
+
export interface MemoryEpisodeV1 {
|
|
5
|
+
schemaVersion: 'memory-episode.v1';
|
|
6
|
+
episodeId: string;
|
|
7
|
+
projectId: string;
|
|
8
|
+
memoryNamespace: string;
|
|
9
|
+
actorId: string;
|
|
10
|
+
sessionId: string;
|
|
11
|
+
turnId: string;
|
|
12
|
+
sourceMessageId: string;
|
|
13
|
+
sourceKind: 'explicit' | 'turn' | 'distill';
|
|
14
|
+
coldRecallEligible: boolean;
|
|
15
|
+
supersedesEpisodeId?: string;
|
|
16
|
+
content: string;
|
|
17
|
+
contentHash: string;
|
|
18
|
+
sourceEventIds: string[];
|
|
19
|
+
createdAt: number;
|
|
20
|
+
episodeHash: string;
|
|
21
|
+
}
|
|
22
|
+
export interface MemoryFactSourceSpanV1 {
|
|
23
|
+
sourceMessageId: string;
|
|
24
|
+
start: number;
|
|
25
|
+
end: number;
|
|
26
|
+
textHash: string;
|
|
27
|
+
}
|
|
28
|
+
export interface MemoryFactProposalV1 {
|
|
29
|
+
schemaVersion: 'memory-fact-proposal.v1';
|
|
30
|
+
proposalId: string;
|
|
31
|
+
providerExecutionId: string;
|
|
32
|
+
type: ObservationType;
|
|
33
|
+
subject: string;
|
|
34
|
+
predicate: string;
|
|
35
|
+
value: string;
|
|
36
|
+
polarity: 'positive' | 'negative';
|
|
37
|
+
statement: string;
|
|
38
|
+
scope: string;
|
|
39
|
+
confidence: number;
|
|
40
|
+
sourceSpans: MemoryFactSourceSpanV1[];
|
|
41
|
+
relatedCandidateHandles: string[];
|
|
42
|
+
observedAt: number;
|
|
43
|
+
validFrom?: number;
|
|
44
|
+
validUntil?: number;
|
|
45
|
+
enrichment: Omit<ExplicitMemoryEvidence, 'semanticKey' | 'facetKey'>;
|
|
46
|
+
proposalHash: string;
|
|
47
|
+
}
|
|
48
|
+
export interface MemoryCandidateHandleV1 {
|
|
49
|
+
handle: string;
|
|
50
|
+
statement: string;
|
|
51
|
+
type: ObservationType;
|
|
52
|
+
scope: string;
|
|
53
|
+
validFrom?: number;
|
|
54
|
+
validUntil?: number;
|
|
55
|
+
/** Set only by the command service; providers never author this value. */
|
|
56
|
+
slotIdentity?: string;
|
|
57
|
+
factId?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface MemoryFactProviderPort {
|
|
60
|
+
propose(input: {
|
|
61
|
+
episode: MemoryEpisodeV1;
|
|
62
|
+
newMessages: Array<{
|
|
63
|
+
messageId: string;
|
|
64
|
+
content: string;
|
|
65
|
+
}>;
|
|
66
|
+
recentMessages: Array<{
|
|
67
|
+
messageId: string;
|
|
68
|
+
content: string;
|
|
69
|
+
}>;
|
|
70
|
+
existingCandidates: MemoryCandidateHandleV1[];
|
|
71
|
+
providerReceipt: ProviderExecutionReceiptV1;
|
|
72
|
+
}): Promise<{
|
|
73
|
+
status: 'ready' | 'empty_valid' | 'invalid' | 'unavailable';
|
|
74
|
+
proposals: MemoryFactProposalV1[];
|
|
75
|
+
reasonCodes?: string[];
|
|
76
|
+
}>;
|
|
77
|
+
}
|
|
78
|
+
export declare function createMemoryEpisodeV1(input: Omit<MemoryEpisodeV1, 'schemaVersion' | 'contentHash' | 'episodeHash' | 'sourceKind' | 'coldRecallEligible'> & {
|
|
79
|
+
sourceKind?: MemoryEpisodeV1['sourceKind'];
|
|
80
|
+
coldRecallEligible?: boolean;
|
|
81
|
+
}): MemoryEpisodeV1;
|
|
82
|
+
export declare function createMemoryFactProposalV1(input: Omit<MemoryFactProposalV1, 'schemaVersion' | 'proposalHash'>): MemoryFactProposalV1;
|
|
83
|
+
//# sourceMappingURL=memory-fact-provider-port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-fact-provider-port.d.ts","sourceRoot":"","sources":["../src/memory-fact-provider-port.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { stableRuntimeHash, } from '@devflow-tools/sdk';
|
|
2
|
+
export function createMemoryEpisodeV1(input) {
|
|
3
|
+
const content = input.content.normalize('NFKC').trim();
|
|
4
|
+
if (!content)
|
|
5
|
+
throw new Error('MEMORY_EPISODE_CONTENT_EMPTY');
|
|
6
|
+
const sourceKind = input.sourceKind ?? 'explicit';
|
|
7
|
+
const body = {
|
|
8
|
+
...input, schemaVersion: 'memory-episode.v1', sourceKind,
|
|
9
|
+
coldRecallEligible: input.coldRecallEligible ?? sourceKind !== 'distill',
|
|
10
|
+
content, contentHash: stableRuntimeHash(content), sourceEventIds: [...new Set(input.sourceEventIds)].sort(),
|
|
11
|
+
};
|
|
12
|
+
return Object.freeze({ ...body, episodeHash: stableRuntimeHash(body) });
|
|
13
|
+
}
|
|
14
|
+
export function createMemoryFactProposalV1(input) {
|
|
15
|
+
const body = {
|
|
16
|
+
...input,
|
|
17
|
+
schemaVersion: 'memory-fact-proposal.v1',
|
|
18
|
+
relatedCandidateHandles: [...new Set(input.relatedCandidateHandles)].sort(),
|
|
19
|
+
};
|
|
20
|
+
return Object.freeze({ ...body, proposalHash: stableRuntimeHash(body) });
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=memory-fact-provider-port.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-fact-provider-port.js","sourceRoot":"","sources":["../src/memory-fact-provider-port.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAElB,MAAM,oBAAoB,CAAC;AA6E5B,MAAM,UAAU,qBAAqB,CAAC,KAInC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC;IAClD,MAAM,IAAI,GAAG;QACX,GAAG,KAAK,EAAE,aAAa,EAAE,mBAA4B,EAAE,UAAU;QACjE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,UAAU,KAAK,SAAS;QACxE,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE;KAC5G,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAAmE;IAEnE,MAAM,IAAI,GAAG;QACX,GAAG,KAAK;QACR,aAAa,EAAE,yBAAkC;QACjD,uBAAuB,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,EAAE;KAC5E,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type ProviderExecutionReceiptV1 } from '@devflow-tools/sdk';
|
|
2
|
+
import type { MemoryEpisodeV1, MemoryCandidateHandleV1, MemoryFactProposalV1 } from './memory-fact-provider-port.js';
|
|
3
|
+
export type MemoryFactProposalValidation = {
|
|
4
|
+
valid: true;
|
|
5
|
+
proposal: MemoryFactProposalV1;
|
|
6
|
+
} | {
|
|
7
|
+
valid: false;
|
|
8
|
+
reasonCode: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function validateMemoryFactProposal(input: {
|
|
11
|
+
episode: MemoryEpisodeV1;
|
|
12
|
+
proposal: MemoryFactProposalV1;
|
|
13
|
+
providerReceipt: ProviderExecutionReceiptV1;
|
|
14
|
+
handles: ReadonlyMap<string, MemoryCandidateHandleV1>;
|
|
15
|
+
}): MemoryFactProposalValidation;
|
|
16
|
+
//# sourceMappingURL=memory-fact-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-fact-validator.d.ts","sourceRoot":"","sources":["../src/memory-fact-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAErH,MAAM,MAAM,4BAA4B,GACpC;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,oBAAoB,CAAA;CAAE,GAC/C;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAIzC,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,eAAe,EAAE,0BAA0B,CAAC;IAC5C,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACvD,GAAG,4BAA4B,CAkC/B"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { stableRuntimeHash, } from '@devflow-tools/sdk';
|
|
2
|
+
import { OBSERVATION_TYPES } from './observation-types.js';
|
|
3
|
+
const PREDICATES = new Set(['use', 'require', 'prefer', 'avoid', 'version', 'state']);
|
|
4
|
+
export function validateMemoryFactProposal(input) {
|
|
5
|
+
const proposal = input.proposal;
|
|
6
|
+
const { proposalHash, ...body } = proposal;
|
|
7
|
+
if (proposal.schemaVersion !== 'memory-fact-proposal.v1')
|
|
8
|
+
return invalid('proposal_schema_unsupported');
|
|
9
|
+
if (stableRuntimeHash(body) !== proposalHash)
|
|
10
|
+
return invalid('proposal_hash_mismatch');
|
|
11
|
+
if (proposal.providerExecutionId !== input.providerReceipt.executionId
|
|
12
|
+
|| input.providerReceipt.capability !== 'memory_facts'
|
|
13
|
+
|| input.providerReceipt.status !== 'ready'
|
|
14
|
+
|| input.providerReceipt.requestHash !== input.episode.contentHash)
|
|
15
|
+
return invalid('provider_receipt_invalid');
|
|
16
|
+
if (!OBSERVATION_TYPES.includes(proposal.type))
|
|
17
|
+
return invalid('proposal_type_invalid');
|
|
18
|
+
if (!PREDICATES.has(proposal.predicate))
|
|
19
|
+
return invalid('proposal_predicate_invalid');
|
|
20
|
+
if (!proposal.statement.trim() || proposal.statement.length > 4_000
|
|
21
|
+
|| !proposal.subject.trim() || proposal.subject.length > 160
|
|
22
|
+
|| !proposal.value.trim() || proposal.value.length > 2_000)
|
|
23
|
+
return invalid('proposal_value_invalid');
|
|
24
|
+
if (proposal.scope !== input.episode.memoryNamespace)
|
|
25
|
+
return invalid('proposal_scope_mismatch');
|
|
26
|
+
if (!Number.isFinite(proposal.confidence) || proposal.confidence < 0 || proposal.confidence > 1) {
|
|
27
|
+
return invalid('proposal_confidence_invalid');
|
|
28
|
+
}
|
|
29
|
+
if (!Number.isSafeInteger(proposal.observedAt) || proposal.observedAt < 0)
|
|
30
|
+
return invalid('proposal_observed_at_invalid');
|
|
31
|
+
if (proposal.validFrom !== undefined && proposal.validUntil !== undefined
|
|
32
|
+
&& proposal.validUntil <= proposal.validFrom)
|
|
33
|
+
return invalid('proposal_temporal_interval_invalid');
|
|
34
|
+
if (!Array.isArray(proposal.sourceSpans) || proposal.sourceSpans.length === 0)
|
|
35
|
+
return invalid('proposal_source_span_missing');
|
|
36
|
+
for (const span of proposal.sourceSpans) {
|
|
37
|
+
if (span.sourceMessageId !== input.episode.sourceMessageId
|
|
38
|
+
|| !Number.isSafeInteger(span.start) || !Number.isSafeInteger(span.end)
|
|
39
|
+
|| span.start < 0 || span.end <= span.start || span.end > input.episode.content.length
|
|
40
|
+
|| stableRuntimeHash(input.episode.content.slice(span.start, span.end)) !== span.textHash) {
|
|
41
|
+
return invalid('proposal_source_span_invalid');
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (!proposal.relatedCandidateHandles.every(handle => input.handles.has(handle))) {
|
|
45
|
+
return invalid('candidate_handle_invalid');
|
|
46
|
+
}
|
|
47
|
+
return { valid: true, proposal };
|
|
48
|
+
}
|
|
49
|
+
function invalid(reasonCode) {
|
|
50
|
+
return { valid: false, reasonCode };
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=memory-fact-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-fact-validator.js","sourceRoot":"","sources":["../src/memory-fact-validator.ts"],"names":[],"mappings":"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"}
|
package/dist/memory-gate.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { IMemoryEngine, UserPrefs, Convention, ProjectContext, SessionEntry, SessionMemory, MemoryCandidate, KnowledgeEntry, MemoryEntryRecord, MemoryFilter, MemorySearchOptions, MemorySearchResult, SessionEventInput, GetMemoryOptions, GetMemoryResult, MemorySnapshotItem } from '@devflow-tools/sdk';
|
|
1
|
+
import type { IMemoryEngine, UserPrefs, Convention, ProjectContext, SessionEntry, SessionMemory, MemoryCandidate, KnowledgeEntry, MemoryEntryRecord, MemoryFilter, MemorySearchOptions, MemorySearchResult, SessionEventInput, GetMemoryOptions, GetMemoryResult, MemorySnapshotItem, MemoryWriteProvenance } from '@devflow-tools/sdk';
|
|
2
|
+
import type { SearchWithDiagnosticsResult } from './hybrid-search.js';
|
|
2
3
|
import { EmbeddingProvider } from './embedding-provider.js';
|
|
3
4
|
import { type ParsedObservation } from './session-summarizer.js';
|
|
4
5
|
import { LeaseStore } from './lease-store.js';
|
|
@@ -49,6 +50,7 @@ export declare class MemoryGate implements IMemoryEngine {
|
|
|
49
50
|
private projectValid;
|
|
50
51
|
private initPromise;
|
|
51
52
|
private projectRoot;
|
|
53
|
+
private readonly projectIdentity;
|
|
52
54
|
private embedder;
|
|
53
55
|
private needsColdFlush;
|
|
54
56
|
private analyzer;
|
|
@@ -120,11 +122,6 @@ export declare class MemoryGate implements IMemoryEngine {
|
|
|
120
122
|
unlinked: number;
|
|
121
123
|
}>;
|
|
122
124
|
logInvalidDistillBatch(batchId: string): void;
|
|
123
|
-
/**
|
|
124
|
-
* Saves distilled observations from Claude and marks source events as processed.
|
|
125
|
-
* @deprecated Use saveDistilledObservationsByBatch(batchId, observations) instead.
|
|
126
|
-
*/
|
|
127
|
-
saveDistilledObservations(observations: ParsedObservation[], sessionId: string): Promise<number>;
|
|
128
125
|
/** Returns the count of unprocessed events (for session-start hook). */
|
|
129
126
|
getPendingEventCount(sessionId?: string, triage?: boolean): number;
|
|
130
127
|
reconcileDecidedTurnEventWindows(sessionId: string, turns: MemoryTurnWindow[], sessionEndAt?: number): Promise<DecidedTurnEventReconciliation>;
|
|
@@ -150,22 +147,21 @@ export declare class MemoryGate implements IMemoryEngine {
|
|
|
150
147
|
relevant: KnowledgeEntry[];
|
|
151
148
|
}>;
|
|
152
149
|
getRetrievalRevision(): number;
|
|
153
|
-
saveExplicitMemoryIntent(content: string,
|
|
150
|
+
saveExplicitMemoryIntent(content: string, provenance: MemoryWriteProvenance, sourceEventId?: string): Promise<MemorySnapshotItem>;
|
|
154
151
|
enrichExplicitMemoryObservation(observationId: string): Promise<import('./explicit-memory-enricher.js').ExplicitMemoryEvidence>;
|
|
155
152
|
attributeRetrievalBenefits(options: {
|
|
156
153
|
sessionId: string;
|
|
157
154
|
executionId?: string;
|
|
158
|
-
finalAnswer?: string;
|
|
159
155
|
outcome?: 'positive' | 'negative' | 'unknown';
|
|
160
156
|
outcomeReason?: string;
|
|
161
157
|
workflowRunId?: string;
|
|
162
158
|
contextReceipt?: string;
|
|
163
159
|
toolEvidence?: string[];
|
|
164
160
|
verificationReceipt?: string;
|
|
165
|
-
|
|
161
|
+
consumedSourceIds: string[];
|
|
166
162
|
}): Promise<{
|
|
167
163
|
selected: number;
|
|
168
|
-
|
|
164
|
+
consumed: number;
|
|
169
165
|
positive: number;
|
|
170
166
|
negative: number;
|
|
171
167
|
unknown: number;
|
|
@@ -197,16 +193,17 @@ export declare class MemoryGate implements IMemoryEngine {
|
|
|
197
193
|
missing: number;
|
|
198
194
|
};
|
|
199
195
|
getCandidates(): Promise<MemoryCandidate[]>;
|
|
200
|
-
approveCandidate(id: string): Promise<void>;
|
|
201
|
-
rejectCandidate(id: string): Promise<void>;
|
|
196
|
+
approveCandidate(id: string, provenance: MemoryWriteProvenance): Promise<void>;
|
|
197
|
+
rejectCandidate(id: string, provenance: MemoryWriteProvenance): Promise<void>;
|
|
202
198
|
search(query: string, options?: MemorySearchOptions): Promise<MemorySearchResult[]>;
|
|
199
|
+
searchWithDiagnostics(query: string, options?: MemorySearchOptions): Promise<SearchWithDiagnosticsResult>;
|
|
203
200
|
listMemories(filter?: MemoryFilter): Promise<MemoryEntryRecord[]>;
|
|
204
|
-
addMemory(entry:
|
|
205
|
-
updateMemory(id: string, updates: Partial<Pick<MemoryEntryRecord, 'content' | 'status'
|
|
206
|
-
deleteMemory(id: string): Promise<void>;
|
|
201
|
+
addMemory(entry: import('@devflow-tools/sdk').MemoryEntryInput, provenance: MemoryWriteProvenance): Promise<MemoryEntryRecord>;
|
|
202
|
+
updateMemory(id: string, updates: Partial<Pick<MemoryEntryRecord, 'content' | 'status'>>, provenance: MemoryWriteProvenance): Promise<void>;
|
|
203
|
+
deleteMemory(id: string, provenance: MemoryWriteProvenance): Promise<void>;
|
|
207
204
|
getPendingMemories(): Promise<MemoryEntryRecord[]>;
|
|
208
|
-
approveMemory(id: string): Promise<void>;
|
|
209
|
-
rejectMemory(id: string): Promise<void>;
|
|
205
|
+
approveMemory(id: string, provenance: MemoryWriteProvenance): Promise<void>;
|
|
206
|
+
rejectMemory(id: string, provenance: MemoryWriteProvenance): Promise<void>;
|
|
210
207
|
extractFromEventsRealtime(events: Array<{
|
|
211
208
|
tool: string;
|
|
212
209
|
command?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-gate.d.ts","sourceRoot":"","sources":["../src/memory-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EACpD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAC5D,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EACxE,iBAAiB,EACjB,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"memory-gate.d.ts","sourceRoot":"","sources":["../src/memory-gate.ts"],"names":[],"mappings":"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"}
|