@lore-co/core 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth-schemas.d.ts +120 -0
- package/dist/auth-schemas.d.ts.map +1 -1
- package/dist/auth-schemas.js +72 -1
- package/dist/auth-schemas.js.map +1 -1
- package/dist/conflict-detector.d.ts +8 -0
- package/dist/conflict-detector.d.ts.map +1 -0
- package/dist/conflict-detector.js +124 -0
- package/dist/conflict-detector.js.map +1 -0
- package/dist/engine.d.ts +12 -6
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +212 -25
- package/dist/engine.js.map +1 -1
- package/dist/in-memory-repository.d.ts +13 -7
- package/dist/in-memory-repository.d.ts.map +1 -1
- package/dist/in-memory-repository.js +356 -28
- package/dist/in-memory-repository.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/native-coding-agents.d.ts +4 -0
- package/dist/native-coding-agents.d.ts.map +1 -0
- package/dist/native-coding-agents.js +10 -0
- package/dist/native-coding-agents.js.map +1 -0
- package/dist/pilot-schemas.d.ts +533 -34
- package/dist/pilot-schemas.d.ts.map +1 -1
- package/dist/pilot-schemas.js +58 -2
- package/dist/pilot-schemas.js.map +1 -1
- package/dist/ports.d.ts +38 -7
- package/dist/ports.d.ts.map +1 -1
- package/dist/redaction.d.ts.map +1 -1
- package/dist/redaction.js +10 -1
- package/dist/redaction.js.map +1 -1
- package/dist/schemas.d.ts +1154 -43
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +293 -4
- package/dist/schemas.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,34 @@
|
|
|
1
|
-
import { ListMemoriesDtoSchema, MemorySchema, MemoryUpdateSchema, } from "./schemas.js";
|
|
1
|
+
import { ListMemoriesDtoSchema, MemoryConflictSchema, MemorySchema, MemoryUpdateSchema, ProposalMetadataSchema, ReviewProposalDtoSchema, UpdateWorkspaceLearningPolicySchema, WorkspaceLearningPolicySchema, } from "./schemas.js";
|
|
2
2
|
import { createMemoryFingerprint } from "./engine.js";
|
|
3
3
|
function copyMemory(memory) {
|
|
4
4
|
return structuredClone(memory);
|
|
5
5
|
}
|
|
6
|
+
function copyProposalMetadata(metadata) {
|
|
7
|
+
return structuredClone(metadata);
|
|
8
|
+
}
|
|
9
|
+
function copyConflict(conflict) {
|
|
10
|
+
return structuredClone(conflict);
|
|
11
|
+
}
|
|
12
|
+
function memoryWorkspaceId(memory) {
|
|
13
|
+
return memory.workspaceId ?? memory.source.workspaceId;
|
|
14
|
+
}
|
|
15
|
+
function fingerprintKey(memory) {
|
|
16
|
+
return `${memoryWorkspaceId(memory) ?? ""}\0${memory.fingerprint}`;
|
|
17
|
+
}
|
|
18
|
+
function reservesFingerprint(memory) {
|
|
19
|
+
return (memory.status === "active" ||
|
|
20
|
+
memory.status === "suppressed" ||
|
|
21
|
+
memory.status === "proposed");
|
|
22
|
+
}
|
|
23
|
+
function conflictEdgeKey(conflict) {
|
|
24
|
+
return [
|
|
25
|
+
conflict.workspaceId,
|
|
26
|
+
conflict.proposalMemoryId,
|
|
27
|
+
conflict.targetMemoryId,
|
|
28
|
+
conflict.detector,
|
|
29
|
+
].join("\0");
|
|
30
|
+
}
|
|
31
|
+
const DEFAULT_POLICY_UPDATED_AT = "1970-01-01T00:00:00.000Z";
|
|
6
32
|
function scopeValueMatches(memoryValue, taskValue) {
|
|
7
33
|
return memoryValue === undefined || memoryValue === taskValue;
|
|
8
34
|
}
|
|
@@ -19,22 +45,29 @@ function toArray(value) {
|
|
|
19
45
|
export class InMemoryMemoryRepository {
|
|
20
46
|
#memories = new Map();
|
|
21
47
|
#fingerprints = new Map();
|
|
48
|
+
#proposalMetadata = new Map();
|
|
49
|
+
#conflicts = new Map();
|
|
50
|
+
#conflictEdges = new Map();
|
|
51
|
+
#policies = new Map();
|
|
22
52
|
constructor(initialMemories = []) {
|
|
23
53
|
for (const initialMemory of initialMemories) {
|
|
24
54
|
const memory = MemorySchema.parse(initialMemory);
|
|
25
|
-
if (memory
|
|
26
|
-
this.#fingerprints.has(memory
|
|
55
|
+
if (reservesFingerprint(memory) &&
|
|
56
|
+
this.#fingerprints.has(fingerprintKey(memory))) {
|
|
27
57
|
throw new Error(`Duplicate initial memory fingerprint: ${memory.fingerprint}`);
|
|
28
58
|
}
|
|
29
59
|
this.#memories.set(memory.id, copyMemory(memory));
|
|
30
|
-
if (memory
|
|
31
|
-
this.#fingerprints.set(memory
|
|
60
|
+
if (reservesFingerprint(memory)) {
|
|
61
|
+
this.#fingerprints.set(fingerprintKey(memory), memory.id);
|
|
32
62
|
}
|
|
33
63
|
}
|
|
34
64
|
}
|
|
35
65
|
async insert(memoryInput) {
|
|
36
66
|
const memory = MemorySchema.parse(memoryInput);
|
|
37
|
-
|
|
67
|
+
if (memory.status === "proposed") {
|
|
68
|
+
throw new Error("Proposed memories must be inserted with proposal metadata");
|
|
69
|
+
}
|
|
70
|
+
const existingId = this.#fingerprints.get(fingerprintKey(memory));
|
|
38
71
|
if (existingId !== undefined) {
|
|
39
72
|
const existing = this.#memories.get(existingId);
|
|
40
73
|
if (existing === undefined) {
|
|
@@ -46,14 +79,286 @@ export class InMemoryMemoryRepository {
|
|
|
46
79
|
throw new Error(`Memory ID already exists: ${memory.id}`);
|
|
47
80
|
}
|
|
48
81
|
this.#memories.set(memory.id, copyMemory(memory));
|
|
49
|
-
|
|
82
|
+
if (reservesFingerprint(memory)) {
|
|
83
|
+
this.#fingerprints.set(fingerprintKey(memory), memory.id);
|
|
84
|
+
}
|
|
50
85
|
return { memory: copyMemory(memory), inserted: true };
|
|
51
86
|
}
|
|
52
|
-
async
|
|
87
|
+
async propose(memoryInput, metadataInput, conflictInputs = []) {
|
|
88
|
+
const memory = MemorySchema.parse(memoryInput);
|
|
89
|
+
const metadata = ProposalMetadataSchema.parse(metadataInput);
|
|
90
|
+
const conflicts = conflictInputs.map((conflict) => MemoryConflictSchema.parse(conflict));
|
|
91
|
+
if (memory.status !== "proposed") {
|
|
92
|
+
throw new Error("Proposal insertion requires proposed memory status");
|
|
93
|
+
}
|
|
94
|
+
if (metadata.memoryId !== memory.id ||
|
|
95
|
+
metadata.workspaceId !== memoryWorkspaceId(memory)) {
|
|
96
|
+
throw new Error("Proposal metadata does not match its memory");
|
|
97
|
+
}
|
|
98
|
+
if (metadata.decision !== null) {
|
|
99
|
+
throw new Error("New proposal metadata must be pending");
|
|
100
|
+
}
|
|
101
|
+
if (JSON.stringify(metadata.provenance) !== JSON.stringify(memory.source)) {
|
|
102
|
+
throw new Error("Proposal provenance does not match its memory source");
|
|
103
|
+
}
|
|
104
|
+
const existingId = this.#fingerprints.get(fingerprintKey(memory));
|
|
105
|
+
if (existingId !== undefined) {
|
|
106
|
+
const existing = this.#memories.get(existingId);
|
|
107
|
+
if (existing === undefined) {
|
|
108
|
+
throw new Error("In-memory fingerprint index is inconsistent");
|
|
109
|
+
}
|
|
110
|
+
const existingMetadata = this.#proposalMetadata.get(existing.id);
|
|
111
|
+
return {
|
|
112
|
+
memory: copyMemory(existing),
|
|
113
|
+
metadata: existingMetadata === undefined
|
|
114
|
+
? null
|
|
115
|
+
: copyProposalMetadata(existingMetadata),
|
|
116
|
+
conflicts: this.#proposalConflicts(existing.id),
|
|
117
|
+
inserted: false,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
if (this.#memories.has(memory.id)) {
|
|
121
|
+
throw new Error(`Memory ID already exists: ${memory.id}`);
|
|
122
|
+
}
|
|
123
|
+
const conflictEdges = new Set();
|
|
124
|
+
for (const conflict of conflicts) {
|
|
125
|
+
this.#validateNewConflict(conflict, memory);
|
|
126
|
+
const edge = conflictEdgeKey(conflict);
|
|
127
|
+
if (conflictEdges.has(edge)) {
|
|
128
|
+
throw new Error("Duplicate conflict edge in proposal");
|
|
129
|
+
}
|
|
130
|
+
if (this.#conflicts.has(conflict.id) ||
|
|
131
|
+
this.#conflictEdges.has(edge)) {
|
|
132
|
+
throw new Error("Proposal conflict already exists");
|
|
133
|
+
}
|
|
134
|
+
conflictEdges.add(edge);
|
|
135
|
+
}
|
|
136
|
+
this.#memories.set(memory.id, copyMemory(memory));
|
|
137
|
+
this.#fingerprints.set(fingerprintKey(memory), memory.id);
|
|
138
|
+
this.#proposalMetadata.set(memory.id, copyProposalMetadata(metadata));
|
|
139
|
+
for (const conflict of conflicts) {
|
|
140
|
+
this.#storeConflict(conflict);
|
|
141
|
+
}
|
|
142
|
+
return {
|
|
143
|
+
memory: copyMemory(memory),
|
|
144
|
+
metadata: copyProposalMetadata(metadata),
|
|
145
|
+
conflicts: conflicts.map(copyConflict),
|
|
146
|
+
inserted: true,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
async get(id, context = {}) {
|
|
53
150
|
const memory = this.#memories.get(id);
|
|
54
|
-
return memory === undefined
|
|
151
|
+
return memory === undefined ||
|
|
152
|
+
(context.workspaceId !== undefined &&
|
|
153
|
+
memory.workspaceId !== context.workspaceId)
|
|
154
|
+
? null
|
|
155
|
+
: copyMemory(memory);
|
|
55
156
|
}
|
|
56
|
-
async
|
|
157
|
+
async getProposal(memoryId, context = {}) {
|
|
158
|
+
const memory = this.#memories.get(memoryId);
|
|
159
|
+
const metadata = this.#proposalMetadata.get(memoryId);
|
|
160
|
+
if (memory === undefined ||
|
|
161
|
+
metadata === undefined ||
|
|
162
|
+
(context.workspaceId !== undefined &&
|
|
163
|
+
memoryWorkspaceId(memory) !== context.workspaceId)) {
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
return {
|
|
167
|
+
memory: copyMemory(memory),
|
|
168
|
+
metadata: copyProposalMetadata(metadata),
|
|
169
|
+
conflicts: this.#proposalConflicts(memoryId),
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
async addProposalConflict(conflictInput, context) {
|
|
173
|
+
const conflict = MemoryConflictSchema.parse(conflictInput);
|
|
174
|
+
if (conflict.workspaceId !== context.workspaceId) {
|
|
175
|
+
throw new Error("Conflict workspace does not match repository context");
|
|
176
|
+
}
|
|
177
|
+
this.#validateNewConflict(conflict);
|
|
178
|
+
const existingId = this.#conflictEdges.get(conflictEdgeKey(conflict));
|
|
179
|
+
if (existingId !== undefined) {
|
|
180
|
+
const existing = this.#conflicts.get(existingId);
|
|
181
|
+
if (existing === undefined) {
|
|
182
|
+
throw new Error("In-memory conflict index is inconsistent");
|
|
183
|
+
}
|
|
184
|
+
return { conflict: copyConflict(existing), inserted: false };
|
|
185
|
+
}
|
|
186
|
+
this.#storeConflict(conflict);
|
|
187
|
+
return { conflict: copyConflict(conflict), inserted: true };
|
|
188
|
+
}
|
|
189
|
+
async reviewProposal(inputValue, context) {
|
|
190
|
+
const input = ReviewProposalDtoSchema.parse(inputValue);
|
|
191
|
+
const current = this.#memories.get(input.proposalMemoryId);
|
|
192
|
+
const metadata = this.#proposalMetadata.get(input.proposalMemoryId);
|
|
193
|
+
if (current === undefined ||
|
|
194
|
+
metadata === undefined ||
|
|
195
|
+
memoryWorkspaceId(current) !== context.workspaceId) {
|
|
196
|
+
throw new Error(`Proposal not found: ${input.proposalMemoryId}`);
|
|
197
|
+
}
|
|
198
|
+
if (metadata.decision !== null || current.status !== "proposed") {
|
|
199
|
+
throw new Error(`Proposal has already been resolved: ${current.id}`);
|
|
200
|
+
}
|
|
201
|
+
const openConflicts = this.#proposalConflicts(current.id).filter((conflict) => conflict.resolution === null);
|
|
202
|
+
const blocking = openConflicts.filter((conflict) => conflict.severity === "blocking");
|
|
203
|
+
if (input.decision === "approve" &&
|
|
204
|
+
(blocking.length > 0 || current.supersedesMemoryId !== null)) {
|
|
205
|
+
throw new Error("Blocked proposals cannot be approved without resolution");
|
|
206
|
+
}
|
|
207
|
+
let target;
|
|
208
|
+
if (input.decision === "use_proposal") {
|
|
209
|
+
const targetId = input.targetMemoryId;
|
|
210
|
+
const deterministicConflict = openConflicts.find((conflict) => conflict.targetMemoryId === targetId &&
|
|
211
|
+
conflict.detector === "deterministic" &&
|
|
212
|
+
conflict.severity === "blocking");
|
|
213
|
+
if (deterministicConflict === undefined) {
|
|
214
|
+
throw new Error("Using a proposal requires an open deterministic blocking conflict");
|
|
215
|
+
}
|
|
216
|
+
if (blocking.some((conflict) => conflict.targetMemoryId !== targetId)) {
|
|
217
|
+
throw new Error("Proposal has additional blocking conflicts that require keep_both or reject");
|
|
218
|
+
}
|
|
219
|
+
target = targetId === undefined ? undefined : this.#memories.get(targetId);
|
|
220
|
+
if (target === undefined ||
|
|
221
|
+
memoryWorkspaceId(target) !== context.workspaceId ||
|
|
222
|
+
(target.status !== "active" && target.status !== "suppressed")) {
|
|
223
|
+
throw new Error(`Conflict target is not replaceable: ${targetId}`);
|
|
224
|
+
}
|
|
225
|
+
if (current.supersedesMemoryId !== null &&
|
|
226
|
+
current.supersedesMemoryId !== target.id) {
|
|
227
|
+
throw new Error("Proposal lineage does not match the conflict target");
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
const decidedAt = new Date().toISOString();
|
|
231
|
+
const supersedesMemoryId = input.decision === "use_proposal" ? (target?.id ?? null) : null;
|
|
232
|
+
const status = input.decision === "reject" ? "deleted" : "active";
|
|
233
|
+
const next = MemorySchema.parse({
|
|
234
|
+
...current,
|
|
235
|
+
status,
|
|
236
|
+
scope: input.scope ?? current.scope,
|
|
237
|
+
supersedesMemoryId,
|
|
238
|
+
fingerprint: createMemoryFingerprint({
|
|
239
|
+
content: current.content,
|
|
240
|
+
scope: input.scope ?? current.scope,
|
|
241
|
+
category: current.category,
|
|
242
|
+
supersedesMemoryId,
|
|
243
|
+
}),
|
|
244
|
+
updatedAt: decidedAt,
|
|
245
|
+
suppressedAt: null,
|
|
246
|
+
deletedAt: input.decision === "reject" ? decidedAt : null,
|
|
247
|
+
});
|
|
248
|
+
if (reservesFingerprint(next)) {
|
|
249
|
+
const existingId = this.#fingerprints.get(fingerprintKey(next));
|
|
250
|
+
if (existingId !== undefined &&
|
|
251
|
+
existingId !== current.id &&
|
|
252
|
+
existingId !== target?.id) {
|
|
253
|
+
throw new Error(`Memory fingerprint already exists: ${next.fingerprint}`);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
let supersededMemory = null;
|
|
257
|
+
if (target !== undefined) {
|
|
258
|
+
supersededMemory = MemorySchema.parse({
|
|
259
|
+
...target,
|
|
260
|
+
status: "superseded",
|
|
261
|
+
updatedAt: decidedAt,
|
|
262
|
+
suppressedAt: null,
|
|
263
|
+
});
|
|
264
|
+
if (reservesFingerprint(target)) {
|
|
265
|
+
this.#fingerprints.delete(fingerprintKey(target));
|
|
266
|
+
}
|
|
267
|
+
this.#memories.set(target.id, copyMemory(supersededMemory));
|
|
268
|
+
}
|
|
269
|
+
if (reservesFingerprint(current)) {
|
|
270
|
+
this.#fingerprints.delete(fingerprintKey(current));
|
|
271
|
+
}
|
|
272
|
+
if (reservesFingerprint(next)) {
|
|
273
|
+
this.#fingerprints.set(fingerprintKey(next), next.id);
|
|
274
|
+
}
|
|
275
|
+
this.#memories.set(next.id, copyMemory(next));
|
|
276
|
+
const nextMetadata = ProposalMetadataSchema.parse({
|
|
277
|
+
...metadata,
|
|
278
|
+
decision: input.decision,
|
|
279
|
+
reviewerId: input.reviewerId,
|
|
280
|
+
decisionReason: input.reason,
|
|
281
|
+
decidedAt,
|
|
282
|
+
decisionTargetMemoryId: target?.id ?? null,
|
|
283
|
+
});
|
|
284
|
+
this.#proposalMetadata.set(next.id, copyProposalMetadata(nextMetadata));
|
|
285
|
+
const resolvedConflicts = openConflicts.map((conflict) => MemoryConflictSchema.parse({
|
|
286
|
+
...conflict,
|
|
287
|
+
resolution: input.decision,
|
|
288
|
+
resolvedAt: decidedAt,
|
|
289
|
+
}));
|
|
290
|
+
for (const conflict of resolvedConflicts) {
|
|
291
|
+
this.#conflicts.set(conflict.id, copyConflict(conflict));
|
|
292
|
+
}
|
|
293
|
+
return {
|
|
294
|
+
proposal: copyMemory(next),
|
|
295
|
+
metadata: copyProposalMetadata(nextMetadata),
|
|
296
|
+
conflicts: this.#proposalConflicts(next.id),
|
|
297
|
+
supersededMemory: supersededMemory === null ? null : copyMemory(supersededMemory),
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
async getWorkspaceLearningPolicy(workspaceId) {
|
|
301
|
+
const stored = this.#policies.get(workspaceId);
|
|
302
|
+
return structuredClone(stored ??
|
|
303
|
+
WorkspaceLearningPolicySchema.parse({
|
|
304
|
+
workspaceId,
|
|
305
|
+
learningMode: "trust_tiered",
|
|
306
|
+
llmConflictAnalysisEnabled: false,
|
|
307
|
+
updatedAt: DEFAULT_POLICY_UPDATED_AT,
|
|
308
|
+
}));
|
|
309
|
+
}
|
|
310
|
+
async updateWorkspaceLearningPolicy(workspaceId, updateInput) {
|
|
311
|
+
const update = UpdateWorkspaceLearningPolicySchema.parse(updateInput);
|
|
312
|
+
const current = await this.getWorkspaceLearningPolicy(workspaceId);
|
|
313
|
+
const next = WorkspaceLearningPolicySchema.parse({
|
|
314
|
+
...current,
|
|
315
|
+
...update,
|
|
316
|
+
workspaceId,
|
|
317
|
+
updatedAt: new Date().toISOString(),
|
|
318
|
+
});
|
|
319
|
+
this.#policies.set(workspaceId, structuredClone(next));
|
|
320
|
+
return structuredClone(next);
|
|
321
|
+
}
|
|
322
|
+
#proposalConflicts(proposalMemoryId) {
|
|
323
|
+
return [...this.#conflicts.values()]
|
|
324
|
+
.filter((conflict) => conflict.proposalMemoryId === proposalMemoryId)
|
|
325
|
+
.sort((left, right) => left.createdAt.localeCompare(right.createdAt) ||
|
|
326
|
+
left.id.localeCompare(right.id))
|
|
327
|
+
.map(copyConflict);
|
|
328
|
+
}
|
|
329
|
+
#validateNewConflict(conflict, unstoredProposal) {
|
|
330
|
+
if (conflict.resolution !== null) {
|
|
331
|
+
throw new Error("New conflicts must be unresolved");
|
|
332
|
+
}
|
|
333
|
+
const proposal = unstoredProposal?.id === conflict.proposalMemoryId
|
|
334
|
+
? unstoredProposal
|
|
335
|
+
: this.#memories.get(conflict.proposalMemoryId);
|
|
336
|
+
const target = this.#memories.get(conflict.targetMemoryId);
|
|
337
|
+
if (proposal === undefined || proposal.status !== "proposed") {
|
|
338
|
+
throw new Error(`Proposed memory not found: ${conflict.proposalMemoryId}`);
|
|
339
|
+
}
|
|
340
|
+
if (conflict.workspaceId !== memoryWorkspaceId(proposal) ||
|
|
341
|
+
target === undefined ||
|
|
342
|
+
memoryWorkspaceId(target) !== conflict.workspaceId) {
|
|
343
|
+
throw new Error("Conflict memories must belong to the same workspace");
|
|
344
|
+
}
|
|
345
|
+
if (target.status !== "active" && target.status !== "suppressed") {
|
|
346
|
+
throw new Error(`Conflict target is not reviewable: ${target.id}`);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
#storeConflict(conflict) {
|
|
350
|
+
const edge = conflictEdgeKey(conflict);
|
|
351
|
+
const existingId = this.#conflictEdges.get(edge);
|
|
352
|
+
if (existingId !== undefined && existingId !== conflict.id) {
|
|
353
|
+
throw new Error("Conflict edge already exists");
|
|
354
|
+
}
|
|
355
|
+
if (this.#conflicts.has(conflict.id)) {
|
|
356
|
+
throw new Error(`Conflict ID already exists: ${conflict.id}`);
|
|
357
|
+
}
|
|
358
|
+
this.#conflicts.set(conflict.id, copyConflict(conflict));
|
|
359
|
+
this.#conflictEdges.set(edge, conflict.id);
|
|
360
|
+
}
|
|
361
|
+
async list(input = {}, context = {}) {
|
|
57
362
|
const filters = ListMemoriesDtoSchema.parse(input);
|
|
58
363
|
const categories = toArray(filters.category);
|
|
59
364
|
const statuses = toArray(filters.status);
|
|
@@ -62,6 +367,10 @@ export class InMemoryMemoryRepository {
|
|
|
62
367
|
const limit = filters.limit ?? 50;
|
|
63
368
|
const matching = [...this.#memories.values()]
|
|
64
369
|
.filter((memory) => {
|
|
370
|
+
if (context.workspaceId !== undefined &&
|
|
371
|
+
memory.workspaceId !== context.workspaceId) {
|
|
372
|
+
return false;
|
|
373
|
+
}
|
|
65
374
|
if (filters.scope !== undefined &&
|
|
66
375
|
!memoryScopeAppliesTo(filters.scope, memory.scope)) {
|
|
67
376
|
return false;
|
|
@@ -85,12 +394,19 @@ export class InMemoryMemoryRepository {
|
|
|
85
394
|
offset,
|
|
86
395
|
};
|
|
87
396
|
}
|
|
88
|
-
async update(id, updateInput) {
|
|
397
|
+
async update(id, updateInput, context = {}) {
|
|
89
398
|
const current = this.#memories.get(id);
|
|
90
|
-
if (current === undefined
|
|
399
|
+
if (current === undefined ||
|
|
400
|
+
(context.workspaceId !== undefined &&
|
|
401
|
+
current.workspaceId !== context.workspaceId)) {
|
|
91
402
|
return null;
|
|
92
403
|
}
|
|
93
404
|
const update = MemoryUpdateSchema.parse(updateInput);
|
|
405
|
+
if (update.status !== undefined &&
|
|
406
|
+
(current.status === "proposed" || update.status === "proposed") &&
|
|
407
|
+
update.status !== current.status) {
|
|
408
|
+
throw new Error("Proposed memories must be resolved with reviewProposal");
|
|
409
|
+
}
|
|
94
410
|
const content = update.content ?? current.content;
|
|
95
411
|
const scope = update.scope ?? current.scope;
|
|
96
412
|
const category = update.category ?? current.category;
|
|
@@ -121,24 +437,26 @@ export class InMemoryMemoryRepository {
|
|
|
121
437
|
fingerprint,
|
|
122
438
|
updatedAt: update.updatedAt ?? new Date().toISOString(),
|
|
123
439
|
});
|
|
124
|
-
if (next
|
|
125
|
-
const existingId = this.#fingerprints.get(next
|
|
440
|
+
if (reservesFingerprint(next)) {
|
|
441
|
+
const existingId = this.#fingerprints.get(fingerprintKey(next));
|
|
126
442
|
if (existingId !== undefined && existingId !== id) {
|
|
127
443
|
throw new Error(`Memory fingerprint already exists: ${next.fingerprint}`);
|
|
128
444
|
}
|
|
129
445
|
}
|
|
130
|
-
if (current
|
|
131
|
-
this.#fingerprints.delete(current
|
|
446
|
+
if (reservesFingerprint(current)) {
|
|
447
|
+
this.#fingerprints.delete(fingerprintKey(current));
|
|
132
448
|
}
|
|
133
|
-
if (next
|
|
134
|
-
this.#fingerprints.set(next
|
|
449
|
+
if (reservesFingerprint(next)) {
|
|
450
|
+
this.#fingerprints.set(fingerprintKey(next), id);
|
|
135
451
|
}
|
|
136
452
|
this.#memories.set(id, copyMemory(next));
|
|
137
453
|
return copyMemory(next);
|
|
138
454
|
}
|
|
139
|
-
async softDelete(id, deletedAt = new Date().toISOString()) {
|
|
455
|
+
async softDelete(id, deletedAt = new Date().toISOString(), context = {}) {
|
|
140
456
|
const current = this.#memories.get(id);
|
|
141
|
-
if (current === undefined
|
|
457
|
+
if (current === undefined ||
|
|
458
|
+
(context.workspaceId !== undefined &&
|
|
459
|
+
current.workspaceId !== context.workspaceId)) {
|
|
142
460
|
return null;
|
|
143
461
|
}
|
|
144
462
|
if (current.status === "deleted") {
|
|
@@ -146,9 +464,10 @@ export class InMemoryMemoryRepository {
|
|
|
146
464
|
}
|
|
147
465
|
return this.update(id, {
|
|
148
466
|
status: "deleted",
|
|
467
|
+
suppressedAt: null,
|
|
149
468
|
deletedAt,
|
|
150
469
|
updatedAt: deletedAt,
|
|
151
|
-
});
|
|
470
|
+
}, context);
|
|
152
471
|
}
|
|
153
472
|
async findActiveScopeCandidates(scope, options = {}) {
|
|
154
473
|
const keywords = options.keywords
|
|
@@ -171,6 +490,12 @@ export class InMemoryMemoryRepository {
|
|
|
171
490
|
path.startsWith(`${memory.scope.path}/`))) &&
|
|
172
491
|
(memory.scope.component === undefined ||
|
|
173
492
|
components.has(memory.scope.component)) &&
|
|
493
|
+
(options.requirePathOrComponentMatch !== true ||
|
|
494
|
+
(memory.scope.path !== undefined &&
|
|
495
|
+
paths.some((path) => path === memory.scope.path ||
|
|
496
|
+
path.startsWith(`${memory.scope.path}/`))) ||
|
|
497
|
+
(memory.scope.component !== undefined &&
|
|
498
|
+
components.has(memory.scope.component))) &&
|
|
174
499
|
(keywords === undefined ||
|
|
175
500
|
keywords.length === 0 ||
|
|
176
501
|
keywords.some((keyword) => memory.content.toLocaleLowerCase().includes(keyword))))
|
|
@@ -179,16 +504,18 @@ export class InMemoryMemoryRepository {
|
|
|
179
504
|
.slice(0, limit)
|
|
180
505
|
.map(copyMemory);
|
|
181
506
|
}
|
|
182
|
-
async supersede(memoryId, replacementInput) {
|
|
507
|
+
async supersede(memoryId, replacementInput, context = {}) {
|
|
183
508
|
const current = this.#memories.get(memoryId);
|
|
184
|
-
if (current === undefined
|
|
509
|
+
if (current === undefined ||
|
|
510
|
+
(context.workspaceId !== undefined &&
|
|
511
|
+
current.workspaceId !== context.workspaceId)) {
|
|
185
512
|
throw new Error(`Memory not found: ${memoryId}`);
|
|
186
513
|
}
|
|
187
514
|
const replacement = MemorySchema.parse(replacementInput);
|
|
188
515
|
if (replacement.supersedesMemoryId !== memoryId) {
|
|
189
516
|
throw new Error("Replacement must reference the memory it supersedes");
|
|
190
517
|
}
|
|
191
|
-
const existingId = this.#fingerprints.get(replacement
|
|
518
|
+
const existingId = this.#fingerprints.get(fingerprintKey(replacement));
|
|
192
519
|
if (current.status === "superseded") {
|
|
193
520
|
const existing = existingId === undefined ? undefined : this.#memories.get(existingId);
|
|
194
521
|
if (existing?.supersedesMemoryId === memoryId) {
|
|
@@ -199,8 +526,8 @@ export class InMemoryMemoryRepository {
|
|
|
199
526
|
}
|
|
200
527
|
throw new Error(`Memory has already been superseded: ${memoryId}`);
|
|
201
528
|
}
|
|
202
|
-
if (current.status !== "active") {
|
|
203
|
-
throw new Error(`Only active memories can be superseded: ${memoryId} is ${current.status}`);
|
|
529
|
+
if (current.status !== "active" && current.status !== "suppressed") {
|
|
530
|
+
throw new Error(`Only active or suppressed memories can be superseded: ${memoryId} is ${current.status}`);
|
|
204
531
|
}
|
|
205
532
|
let storedReplacement;
|
|
206
533
|
if (existingId !== undefined) {
|
|
@@ -218,7 +545,7 @@ export class InMemoryMemoryRepository {
|
|
|
218
545
|
throw new Error(`Memory ID already exists: ${replacement.id}`);
|
|
219
546
|
}
|
|
220
547
|
this.#memories.set(replacement.id, copyMemory(replacement));
|
|
221
|
-
this.#fingerprints.set(replacement
|
|
548
|
+
this.#fingerprints.set(fingerprintKey(replacement), replacement.id);
|
|
222
549
|
storedReplacement = replacement;
|
|
223
550
|
}
|
|
224
551
|
const timestamp = replacement.createdAt;
|
|
@@ -226,8 +553,9 @@ export class InMemoryMemoryRepository {
|
|
|
226
553
|
...current,
|
|
227
554
|
status: "superseded",
|
|
228
555
|
updatedAt: timestamp,
|
|
556
|
+
suppressedAt: null,
|
|
229
557
|
});
|
|
230
|
-
this.#fingerprints.delete(current
|
|
558
|
+
this.#fingerprints.delete(fingerprintKey(current));
|
|
231
559
|
this.#memories.set(memoryId, copyMemory(superseded));
|
|
232
560
|
return {
|
|
233
561
|
memory: copyMemory(storedReplacement),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-repository.js","sourceRoot":"","sources":["../src/in-memory-repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"in-memory-repository.js","sourceRoot":"","sources":["../src/in-memory-repository.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export { AuthenticatedWorkspaceSchema, type AuthenticatedWorkspace, } from "./au
|
|
|
5
5
|
export * from "./ports.js";
|
|
6
6
|
export * from "./in-memory-repository.js";
|
|
7
7
|
export * from "./engine.js";
|
|
8
|
+
export * from "./conflict-detector.js";
|
|
8
9
|
export * from "./redaction.js";
|
|
9
10
|
export * from "./injected-context.js";
|
|
11
|
+
export * from "./native-coding-agents.js";
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,4BAA4B,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,4BAA4B,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,8 @@ export { AuthenticatedWorkspaceSchema, } from "./auth-schemas.js";
|
|
|
5
5
|
export * from "./ports.js";
|
|
6
6
|
export * from "./in-memory-repository.js";
|
|
7
7
|
export * from "./engine.js";
|
|
8
|
+
export * from "./conflict-detector.js";
|
|
8
9
|
export * from "./redaction.js";
|
|
9
10
|
export * from "./injected-context.js";
|
|
11
|
+
export * from "./native-coding-agents.js";
|
|
10
12
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,4BAA4B,GAE7B,MAAM,mBAAmB,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,4BAA4B,GAE7B,MAAM,mBAAmB,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const NATIVE_CODING_AGENT_NAMES: readonly ["claude", "codex", "opencode"];
|
|
2
|
+
export type NativeCodingAgentName = (typeof NATIVE_CODING_AGENT_NAMES)[number];
|
|
3
|
+
export declare function isNativeCodingAgent(agent: string): agent is NativeCodingAgentName;
|
|
4
|
+
//# sourceMappingURL=native-coding-agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-coding-agents.d.ts","sourceRoot":"","sources":["../src/native-coding-agents.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,0CAI5B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAI7C,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GACZ,KAAK,IAAI,qBAAqB,CAEhC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const NATIVE_CODING_AGENT_NAMES = [
|
|
2
|
+
"claude",
|
|
3
|
+
"codex",
|
|
4
|
+
"opencode",
|
|
5
|
+
];
|
|
6
|
+
const NATIVE_CODING_AGENTS = new Set(NATIVE_CODING_AGENT_NAMES);
|
|
7
|
+
export function isNativeCodingAgent(agent) {
|
|
8
|
+
return NATIVE_CODING_AGENTS.has(agent);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=native-coding-agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-coding-agents.js","sourceRoot":"","sources":["../src/native-coding-agents.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,QAAQ;IACR,OAAO;IACP,UAAU;CACF,CAAC;AAKX,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS,yBAAyB,CAAC,CAAC;AAExE,MAAM,UAAU,mBAAmB,CACjC,KAAa;IAEb,OAAO,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC"}
|