@lore-co/core 0.1.28 → 0.1.30

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.
Files changed (36) hide show
  1. package/dist/auth-schemas.d.ts +23 -0
  2. package/dist/auth-schemas.d.ts.map +1 -1
  3. package/dist/auth-schemas.js +17 -0
  4. package/dist/auth-schemas.js.map +1 -1
  5. package/dist/cloud-recovery-schemas.d.ts +367 -0
  6. package/dist/cloud-recovery-schemas.d.ts.map +1 -0
  7. package/dist/cloud-recovery-schemas.js +41 -0
  8. package/dist/cloud-recovery-schemas.js.map +1 -0
  9. package/dist/engine.d.ts +2 -0
  10. package/dist/engine.d.ts.map +1 -1
  11. package/dist/engine.js +53 -16
  12. package/dist/engine.js.map +1 -1
  13. package/dist/guard-evaluation.d.ts.map +1 -1
  14. package/dist/guard-evaluation.js +54 -54
  15. package/dist/guard-evaluation.js.map +1 -1
  16. package/dist/in-memory-repository.d.ts.map +1 -1
  17. package/dist/in-memory-repository.js +24 -2
  18. package/dist/in-memory-repository.js.map +1 -1
  19. package/dist/index.d.ts +2 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +2 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/platform-admin-schemas.d.ts +65 -0
  24. package/dist/platform-admin-schemas.d.ts.map +1 -1
  25. package/dist/platform-admin-schemas.js +10 -0
  26. package/dist/platform-admin-schemas.js.map +1 -1
  27. package/dist/recovery-packet-schemas.d.ts +29 -0
  28. package/dist/recovery-packet-schemas.d.ts.map +1 -0
  29. package/dist/recovery-packet-schemas.js +13 -0
  30. package/dist/recovery-packet-schemas.js.map +1 -0
  31. package/dist/redaction.d.ts.map +1 -1
  32. package/dist/redaction.js +17 -4
  33. package/dist/redaction.js.map +1 -1
  34. package/dist/reliability-schemas.d.ts +6 -6
  35. package/dist/snapshot-schemas.d.ts +16 -16
  36. package/package.json +5 -1
package/dist/engine.js CHANGED
@@ -6,6 +6,47 @@ import { ScopedMemoryConflictDetector } from "./conflict-detector.js";
6
6
  import { contradictoryObligations, isTemporaryTeaching, isTaskOnlyText } from "./knowledge-quality.js";
7
7
  import { isQuestionReplyMessage } from "./user-message.js";
8
8
  import { createCanonicalJsonSha256 } from "./canonical-json.js";
9
+ /** Resolve references only after earlier writes reveal their persisted IDs. */
10
+ export function remapMemoryMutationPlanEntry(entry, persistedIds) {
11
+ if (entry.kind === "existing" || persistedIds.size === 0) {
12
+ return entry;
13
+ }
14
+ const parent = entry.memory.supersedesMemoryId;
15
+ const supersedesMemoryId = parent === null ? null : (persistedIds.get(parent) ?? parent);
16
+ const memory = supersedesMemoryId === parent
17
+ ? entry.memory
18
+ : {
19
+ ...entry.memory,
20
+ supersedesMemoryId,
21
+ fingerprint: createMemoryFingerprint({
22
+ ...entry.memory,
23
+ supersedesMemoryId,
24
+ }),
25
+ };
26
+ if (entry.kind === "propose") {
27
+ const conflicts = new Map();
28
+ for (const conflict of entry.conflicts) {
29
+ const targetMemoryId = persistedIds.get(conflict.targetMemoryId) ?? conflict.targetMemoryId;
30
+ const remapped = { ...conflict, targetMemoryId };
31
+ const key = `${targetMemoryId}\0${conflict.detector}`;
32
+ const existing = conflicts.get(key);
33
+ // Two staged references can resolve to the same edge. Retain the
34
+ // strongest review requirement instead of inserting a duplicate edge.
35
+ if (existing === undefined ||
36
+ (existing.severity !== "blocking" && remapped.severity === "blocking")) {
37
+ conflicts.set(key, remapped);
38
+ }
39
+ }
40
+ return { ...entry, memory, conflicts: [...conflicts.values()] };
41
+ }
42
+ return entry.kind === "supersede"
43
+ ? {
44
+ ...entry,
45
+ memory,
46
+ targetMemoryId: persistedIds.get(entry.targetMemoryId) ?? entry.targetMemoryId,
47
+ }
48
+ : { ...entry, memory };
49
+ }
9
50
  export function createLearningPolicyRevision(policy) {
10
51
  return createCanonicalJsonSha256({
11
52
  revisionVersion: "workspace-learning-policy-v1",
@@ -320,7 +361,9 @@ export class SharedMemoryEngine {
320
361
  throw new Error(`Correction target not found: ${candidate.supersedesMemoryId}`);
321
362
  }
322
363
  const inferredTarget = explicitTarget === undefined
323
- ? await findReconciliationTarget(this.#repository, scope, candidate, interaction.workspaceId, entries.filter((entry) => entry.kind === "insert").map((entry) => entry.memory))
364
+ ? await findReconciliationTarget(this.#repository, scope, candidate, interaction.workspaceId, entries
365
+ .filter((entry) => entry.kind === "insert" || entry.kind === "propose")
366
+ .map((entry) => entry.memory))
324
367
  : undefined;
325
368
  const reconciliationTarget = explicitTarget ?? inferredTarget;
326
369
  const candidateScope = resolveCandidateScope(scope, candidate, reconciliationTarget ?? undefined);
@@ -453,7 +496,8 @@ export class SharedMemoryEngine {
453
496
  let created = 0;
454
497
  let reconciled = 0;
455
498
  let superseded = 0;
456
- for (const entry of plan.entries) {
499
+ for (const plannedEntry of plan.entries) {
500
+ const entry = remapMemoryMutationPlanEntry(plannedEntry, stagedIdRemap);
457
501
  if (entry.kind === "existing") {
458
502
  stored.push(entry.memory);
459
503
  continue;
@@ -472,27 +516,20 @@ export class SharedMemoryEngine {
472
516
  if (entry.kind === "propose") {
473
517
  const result = await this.#repository.propose(entry.memory, entry.metadata, entry.conflicts, mutationContext);
474
518
  stored.push(result.memory);
519
+ if (result.memory.id !== entry.memory.id) {
520
+ stagedIdRemap.set(entry.memory.id, result.memory.id);
521
+ }
475
522
  if (result.inserted) {
476
523
  created += 1;
477
524
  }
478
525
  continue;
479
526
  }
480
- const remappedTargetId = stagedIdRemap.get(entry.targetMemoryId);
481
- const targetMemoryId = remappedTargetId ?? entry.targetMemoryId;
482
- const memory = remappedTargetId === undefined
483
- ? entry.memory
484
- : {
485
- ...entry.memory,
486
- supersedesMemoryId: targetMemoryId,
487
- fingerprint: createMemoryFingerprint({
488
- content: entry.memory.content,
489
- scope: entry.memory.scope,
490
- category: entry.memory.category,
491
- supersedesMemoryId: targetMemoryId,
492
- }),
493
- };
527
+ const { memory, targetMemoryId } = entry;
494
528
  const result = await this.#repository.supersede(targetMemoryId, memory, mutationContext);
495
529
  stored.push(result.memory);
530
+ if (result.memory.id !== memory.id) {
531
+ stagedIdRemap.set(memory.id, result.memory.id);
532
+ }
496
533
  if (result.memory.id === memory.id) {
497
534
  created += 1;
498
535
  superseded += 1;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"guard-evaluation.d.ts","sourceRoot":"","sources":["../src/guard-evaluation.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAC9H,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAW/E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,OAAO,CAM/F;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG7E;AA6FD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAsGtE;AAED,MAAM,WAAW,gBAAgB;IAAG,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;AAEzI,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAqBtG;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CAsBtG;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,IAAI,GAAG,OAAO,CAQxH"}
1
+ {"version":3,"file":"guard-evaluation.d.ts","sourceRoot":"","sources":["../src/guard-evaluation.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAC9H,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAW/E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,OAAO,CAM/F;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG7E;AAgHD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CA8EtE;AAED,MAAM,WAAW,gBAAgB;IAAG,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;AAEzI,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAqBtG;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CAsBtG;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,IAAI,GAAG,OAAO,CAQxH"}
@@ -34,21 +34,56 @@ function within(path, prefix) {
34
34
  /** Static shell evidence only: no expansion, command execution, or glob resolution. */
35
35
  function shellTokens(command) {
36
36
  const tokens = [];
37
- let value = "", quote = "", dynamic = false, started = false, lineStart = 0;
37
+ let value = "", quote = "", dynamic = false, started = false, quoted = false;
38
+ const pendingHeredocs = [];
39
+ let heredocOperator;
38
40
  const flush = () => {
39
- if (started)
41
+ if (started) {
40
42
  tokens.push({ value, operator: false, dynamic });
43
+ if (heredocOperator !== undefined) {
44
+ pendingHeredocs.push({ value, stripTabs: heredocOperator === "<<-", quoted });
45
+ heredocOperator = undefined;
46
+ }
47
+ }
41
48
  value = "";
42
49
  started = false;
43
50
  dynamic = false;
51
+ quoted = false;
52
+ };
53
+ const skipHeredocs = (start) => {
54
+ for (const delimiter of pendingHeredocs.splice(0)) {
55
+ while (start < command.length) {
56
+ let line = "";
57
+ // Heredoc text never changes shell quote/comment state. Only unquoted
58
+ // delimiters allow backslash-newline joining before a terminator match.
59
+ for (;;) {
60
+ const end = command.indexOf("\n", start);
61
+ const part = command.slice(start, end < 0 ? command.length : end);
62
+ line += part;
63
+ start = end < 0 ? command.length : end + 1;
64
+ const backslashes = /\\+$/u.exec(part)?.[0].length ?? 0;
65
+ if (!delimiter.quoted && end >= 0 && backslashes % 2 === 1) {
66
+ line = line.slice(0, -1);
67
+ }
68
+ else
69
+ break;
70
+ }
71
+ if ((delimiter.stripTabs ? line.replace(/^\t+/u, "") : line) === delimiter.value)
72
+ break;
73
+ }
74
+ }
75
+ return start;
44
76
  };
45
77
  for (let index = 0; index < command.length; index++) {
46
78
  const char = command[index];
47
79
  if (char === "\\" && quote !== "'") {
48
- started = true;
49
80
  const next = command[++index];
50
- if (next !== undefined && next !== "\n")
51
- value += next;
81
+ if (next !== "\n") {
82
+ started = true;
83
+ quoted = true;
84
+ if (next !== undefined)
85
+ value += next;
86
+ }
52
87
  continue;
53
88
  }
54
89
  if (quote) {
@@ -64,19 +99,16 @@ function shellTokens(command) {
64
99
  if (char === "'" || char === '"') {
65
100
  quote = char;
66
101
  started = true;
102
+ quoted = true;
67
103
  continue;
68
104
  }
69
105
  if (char === "#" && !started) {
70
106
  while (index < command.length && command[index] !== "\n")
71
107
  index++;
72
108
  flush();
73
- tokens.push({
74
- value: "\n",
75
- operator: true,
76
- dynamic: false,
77
- line: command.slice(lineStart, index),
78
- });
79
- lineStart = index + 1;
109
+ tokens.push({ value: "\n", operator: true, dynamic: false });
110
+ heredocOperator = undefined;
111
+ index = skipHeredocs(index + 1) - 1;
80
112
  continue;
81
113
  }
82
114
  if (char === "\n" || ";|&<>".includes(char)) {
@@ -91,16 +123,10 @@ function shellTokens(command) {
91
123
  operator += char;
92
124
  index++;
93
125
  }
94
- tokens.push({
95
- value: operator,
96
- operator: true,
97
- dynamic: false,
98
- ...(char === "\n"
99
- ? { line: command.slice(lineStart, index) }
100
- : {}),
101
- });
126
+ tokens.push({ value: operator, operator: true, dynamic: false });
127
+ heredocOperator = operator === "<<" || operator === "<<-" ? operator : undefined;
102
128
  if (char === "\n")
103
- lineStart = index + 1;
129
+ index = skipHeredocs(index + 1) - 1;
104
130
  continue;
105
131
  }
106
132
  if (/\s/u.test(char)) {
@@ -153,23 +179,13 @@ export function shellGuardEvidence(command) {
153
179
  };
154
180
  const inspect = () => {
155
181
  const args = [];
156
- const heredocDelimiters = [];
157
182
  for (let i = 0; i < segment.length; i++) {
158
183
  const token = segment[i];
159
184
  if (token.operator && [">", ">>"].includes(token.value)) {
160
185
  evidence.mutation = true;
161
186
  addFile(segment[++i]);
162
187
  }
163
- else if (token.operator && ["<<", "<<-"].includes(token.value)) {
164
- const delimiter = segment[++i];
165
- if (delimiter && !delimiter.operator) {
166
- heredocDelimiters.push({
167
- value: delimiter.value,
168
- stripTabs: token.value === "<<-",
169
- });
170
- }
171
- }
172
- else if (token.operator && ["<", "<<<"].includes(token.value)) {
188
+ else if (token.operator && ["<", "<<<", "<<", "<<-"].includes(token.value)) {
173
189
  i++;
174
190
  }
175
191
  else if (!token.operator)
@@ -187,11 +203,11 @@ export function shellGuardEvidence(command) {
187
203
  }
188
204
  const executable = args.shift();
189
205
  if (!executable || executable.dynamic)
190
- return heredocDelimiters;
206
+ return;
191
207
  const name = executable.value.split("/").at(-1);
192
208
  if (name === "cd" && args[0] && !args[0].dynamic) {
193
209
  base = relativeLiteral(args[0].value, base) ?? base;
194
- return heredocDelimiters;
210
+ return;
195
211
  }
196
212
  if (name === "git") {
197
213
  while (args[0]?.value.startsWith("-")) {
@@ -205,9 +221,9 @@ export function shellGuardEvidence(command) {
205
221
  const literalCommand = [name, ...args.map((token) => token.dynamic ? "<dynamic>" : token.value)].join(" ");
206
222
  evidence.deploy ||= /^(?:terraform (?:apply|destroy)|pulumi up|kubectl (?:apply|delete|rollout)|helm (?:install|upgrade|uninstall)|docker push|fly(?:ctl)? deploy|vercel(?: deploy| --prod)|railway up|serverless deploy|sls deploy|cdk deploy|eb deploy|gcloud (?:app|run|functions) deploy|az webapp (?:up|deploy)|(?:npm|pnpm|yarn) publish|prisma migrate deploy|drizzle-kit (?:push|migrate))\b/iu.test(literalCommand);
207
223
  if (!["rm", "rmdir", "unlink", "mv", "cp", "install", "touch", "mkdir", "tee", "truncate", "sed"].includes(name))
208
- return heredocDelimiters;
224
+ return;
209
225
  if (name === "sed" && !args.some((token) => /^-i|^--in-place(?:=|$)/u.test(token.value)))
210
- return heredocDelimiters;
226
+ return;
211
227
  evidence.mutation = true;
212
228
  const operands = [];
213
229
  let options = true, explicitSedScript = false, targetDirectory = false;
@@ -248,35 +264,19 @@ export function shellGuardEvidence(command) {
248
264
  }
249
265
  else
250
266
  operands.forEach(addFile);
251
- return heredocDelimiters;
252
267
  };
253
- const pendingHeredocs = [];
254
- let activeHeredoc;
255
268
  for (const token of shellTokens(command)) {
256
- if (activeHeredoc !== undefined) {
257
- if (token.operator && token.value === "\n") {
258
- const line = activeHeredoc.stripTabs
259
- ? token.line?.replace(/^\t+/u, "")
260
- : token.line;
261
- if (line === activeHeredoc.value) {
262
- activeHeredoc = pendingHeredocs.shift();
263
- }
264
- }
265
- continue;
266
- }
267
269
  if (token.operator && ["\n", ";", "&&", "||", "|", "&"].includes(token.value)) {
268
270
  const priorBase = base;
269
- pendingHeredocs.push(...inspect());
271
+ inspect();
270
272
  segment = [];
271
273
  if (["|", "||", "&"].includes(token.value))
272
274
  base = priorBase;
273
- if (token.value === "\n")
274
- activeHeredoc = pendingHeredocs.shift();
275
275
  }
276
276
  else
277
277
  segment.push(token);
278
278
  }
279
- if (segment.length && activeHeredoc === undefined)
279
+ if (segment.length)
280
280
  inspect();
281
281
  evidence.files = [...new Set(evidence.files)];
282
282
  return evidence;
@@ -1 +1 @@
1
- {"version":3,"file":"guard-evaluation.js","sourceRoot":"","sources":["../src/guard-evaluation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guard-evaluation.js","sourceRoot":"","sources":["../src/guard-evaluation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-repository.d.ts","sourceRoot":"","sources":["../src/in-memory-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAmDpB,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,WAAW,GACrB,OAAO,CAQT;AAMD,qBAAa,wBAAyB,YAAW,gBAAgB;;gBAQnD,eAAe,GAAE,SAAS,MAAM,EAAO;IAkB7C,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyBxD,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,gBAAgB,EAC/B,cAAc,GAAE,SAAS,cAAc,EAAO,GAC7C,OAAO,CAAC,mBAAmB,CAAC;IA0EzB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IASxE,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAkB3B,mBAAmB,CACvB,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,0BAA0B,CAAC;IAkBhC,cAAc,CAClB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,sBAAsB,CAAC;IA0J5B,0BAA0B,CAC9B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC;IAa7B,6BAA6B,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,6BAA6B,GACzC,OAAO,CAAC,uBAAuB,CAAC;IAgE7B,IAAI,CACR,KAAK,GAAE,eAAoB,EAC3B,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAmD1B,MAAM,CACV,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,YAAY,EACzB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoEnB,UAAU,CACd,EAAE,EAAE,MAAM,EACV,SAAS,SAA2B,EACpC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyBnB,yBAAyB,CAC7B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,MAAM,EAAE,CAAC;IA6Dd,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC;CAqElC"}
1
+ {"version":3,"file":"in-memory-repository.d.ts","sourceRoot":"","sources":["../src/in-memory-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAmDpB,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,WAAW,GACrB,OAAO,CAQT;AAMD,qBAAa,wBAAyB,YAAW,gBAAgB;;gBAQnD,eAAe,GAAE,SAAS,MAAM,EAAO;IAkB7C,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyBxD,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,gBAAgB,EAC/B,cAAc,GAAE,SAAS,cAAc,EAAO,GAC7C,OAAO,CAAC,mBAAmB,CAAC;IA0EzB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IASxE,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAkB3B,mBAAmB,CACvB,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,0BAA0B,CAAC;IAkBhC,cAAc,CAClB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,sBAAsB,CAAC;IAgL5B,0BAA0B,CAC9B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC;IAa7B,6BAA6B,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,6BAA6B,GACzC,OAAO,CAAC,uBAAuB,CAAC;IAgE7B,IAAI,CACR,KAAK,GAAE,eAAoB,EAC3B,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAmD1B,MAAM,CACV,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,YAAY,EACzB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoEnB,UAAU,CACd,EAAE,EAAE,MAAM,EACV,SAAS,SAA2B,EACpC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyBnB,yBAAyB,CAC7B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,MAAM,EAAE,CAAC;IA6Dd,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC;CAqElC"}
@@ -208,6 +208,7 @@ export class InMemoryMemoryRepository {
208
208
  throw new Error("Blocked proposals cannot be approved without resolution");
209
209
  }
210
210
  let target;
211
+ let targetProposalMetadata;
211
212
  if (input.decision === "use_proposal") {
212
213
  const targetId = input.targetMemoryId;
213
214
  const deterministicConflict = openConflicts.find((conflict) => conflict.targetMemoryId === targetId &&
@@ -222,7 +223,7 @@ export class InMemoryMemoryRepository {
222
223
  target = targetId === undefined ? undefined : this.#memories.get(targetId);
223
224
  if (target === undefined ||
224
225
  memoryWorkspaceId(target) !== context.workspaceId ||
225
- (target.status !== "active" && target.status !== "suppressed")) {
226
+ (target.status !== "active" && target.status !== "suppressed" && target.status !== "proposed")) {
226
227
  throw new Error(`Conflict target is not replaceable: ${targetId}`);
227
228
  }
228
229
  if (current.supersedesMemoryId !== null &&
@@ -233,6 +234,12 @@ export class InMemoryMemoryRepository {
233
234
  if (context.allowWorkspaceWideReview === false && target.enforcement === "required") {
234
235
  throw new WorkspaceWideReviewError();
235
236
  }
237
+ if (target.status === "proposed") {
238
+ targetProposalMetadata = this.#proposalMetadata.get(target.id);
239
+ if (targetProposalMetadata === undefined || targetProposalMetadata.decision !== null) {
240
+ throw new Error(`Conflict target is not a pending proposal: ${target.id}`);
241
+ }
242
+ }
236
243
  }
237
244
  const decidedAt = new Date().toISOString();
238
245
  const supersedesMemoryId = input.decision === "use_proposal" ? (target?.id ?? null) : null;
@@ -272,6 +279,21 @@ export class InMemoryMemoryRepository {
272
279
  this.#fingerprints.delete(fingerprintKey(target));
273
280
  }
274
281
  this.#memories.set(target.id, copyMemory(supersededMemory));
282
+ if (targetProposalMetadata !== undefined) {
283
+ this.#proposalMetadata.set(target.id, ProposalMetadataSchema.parse({
284
+ ...targetProposalMetadata,
285
+ decision: "reject",
286
+ reviewerId: input.reviewerId,
287
+ decisionReason: input.reason,
288
+ decidedAt,
289
+ decisionTargetMemoryId: null,
290
+ }));
291
+ for (const conflict of this.#proposalConflicts(target.id)) {
292
+ if (conflict.resolution === null) {
293
+ this.#conflicts.set(conflict.id, { ...conflict, resolution: "reject", resolvedAt: decidedAt });
294
+ }
295
+ }
296
+ }
275
297
  }
276
298
  if (reservesFingerprint(current)) {
277
299
  this.#fingerprints.delete(fingerprintKey(current));
@@ -349,7 +371,7 @@ export class InMemoryMemoryRepository {
349
371
  memoryWorkspaceId(target) !== conflict.workspaceId) {
350
372
  throw new Error("Conflict memories must belong to the same workspace");
351
373
  }
352
- if (target.status !== "active" && target.status !== "suppressed") {
374
+ if (target.status !== "active" && target.status !== "suppressed" && target.status !== "proposed") {
353
375
  throw new Error(`Conflict target is not reviewable: ${target.id}`);
354
376
  }
355
377
  }