@lore-co/core 0.1.19 → 0.1.22

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 (43) hide show
  1. package/dist/canonical-json.d.ts +1 -0
  2. package/dist/canonical-json.d.ts.map +1 -1
  3. package/dist/canonical-json.js +1 -0
  4. package/dist/canonical-json.js.map +1 -1
  5. package/dist/engine.d.ts.map +1 -1
  6. package/dist/engine.js +60 -23
  7. package/dist/engine.js.map +1 -1
  8. package/dist/guard-evaluation.d.ts +52 -0
  9. package/dist/guard-evaluation.d.ts.map +1 -0
  10. package/dist/guard-evaluation.js +350 -0
  11. package/dist/guard-evaluation.js.map +1 -0
  12. package/dist/guard-schemas.d.ts +22 -0
  13. package/dist/guard-schemas.d.ts.map +1 -1
  14. package/dist/guard-schemas.js +16 -1
  15. package/dist/guard-schemas.js.map +1 -1
  16. package/dist/in-memory-repository.d.ts.map +1 -1
  17. package/dist/in-memory-repository.js +6 -1
  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/integration-contract.d.ts.map +1 -1
  24. package/dist/integration-contract.js +9 -7
  25. package/dist/integration-contract.js.map +1 -1
  26. package/dist/knowledge-quality.d.ts +18 -0
  27. package/dist/knowledge-quality.d.ts.map +1 -0
  28. package/dist/knowledge-quality.js +40 -0
  29. package/dist/knowledge-quality.js.map +1 -0
  30. package/dist/reliability-schemas.d.ts +14 -4
  31. package/dist/reliability-schemas.d.ts.map +1 -1
  32. package/dist/reliability-schemas.js +16 -0
  33. package/dist/reliability-schemas.js.map +1 -1
  34. package/dist/schemas.d.ts +3 -0
  35. package/dist/schemas.d.ts.map +1 -1
  36. package/dist/schemas.js +1 -0
  37. package/dist/schemas.js.map +1 -1
  38. package/dist/session-schemas.d.ts.map +1 -1
  39. package/dist/session-schemas.js +3 -1
  40. package/dist/session-schemas.js.map +1 -1
  41. package/dist/snapshot-schemas.d.ts +24 -12
  42. package/dist/snapshot-schemas.d.ts.map +1 -1
  43. package/package.json +9 -1
@@ -0,0 +1,350 @@
1
+ /** Only these unambiguous prohibitions have an implemented action checker. */
2
+ export function compileGuardRule(content) {
3
+ const text = content.trim();
4
+ if (/^Never run shell commands\.?$/iu.test(text))
5
+ return { action: "shell" };
6
+ if (/^Never deploy(?: this repository)?\.?$/iu.test(text))
7
+ return { action: "deploy" };
8
+ if (/^Never commit(?: in this repository)?\.?$/iu.test(text))
9
+ return { action: "commit" };
10
+ if (/^Never push(?: this repository)?\.?$/iu.test(text))
11
+ return { action: "push" };
12
+ const match = /^Never edit `?([\p{L}\p{N}_@./-]+?)`?\.?$/iu.exec(text);
13
+ if (match === null)
14
+ return null;
15
+ const path = match[1].replace(/^\.\//u, "").replace(/\/$/u, "");
16
+ if (!path || path.startsWith("/") || path.split("/").some((part) => part === ".." || part === "." || !part))
17
+ return null;
18
+ return { action: "edit", path };
19
+ }
20
+ export function supportedGuardRule(rule) {
21
+ const constraint = compileGuardRule(rule.content);
22
+ const path = rule.scope.path;
23
+ return constraint !== null && rule.scope.project === undefined && rule.scope.component === undefined &&
24
+ (path === undefined || (constraint.action === "edit" && path !== "" && !path.startsWith("/") &&
25
+ !path.split("/").some((part) => part === ".." || part === "." || !part)));
26
+ }
27
+ export function guardEmergencyCommand(sessionId, repo) {
28
+ const quote = (value) => `'${value.replaceAll("'", "'\\''")}'`;
29
+ return `lore guard break-glass --session ${quote(sessionId)} --repo ${quote(repo)} --reason 'Explain the emergency'`;
30
+ }
31
+ function within(path, prefix) {
32
+ return path === prefix || path.startsWith(`${prefix}/`);
33
+ }
34
+ /** Static shell evidence only: no expansion, command execution, or glob resolution. */
35
+ function shellTokens(command) {
36
+ const tokens = [];
37
+ let value = "", quote = "", dynamic = false, started = false, lineStart = 0;
38
+ const flush = () => {
39
+ if (started)
40
+ tokens.push({ value, operator: false, dynamic });
41
+ value = "";
42
+ started = false;
43
+ dynamic = false;
44
+ };
45
+ for (let index = 0; index < command.length; index++) {
46
+ const char = command[index];
47
+ if (char === "\\" && quote !== "'") {
48
+ started = true;
49
+ const next = command[++index];
50
+ if (next !== undefined && next !== "\n")
51
+ value += next;
52
+ continue;
53
+ }
54
+ if (quote) {
55
+ if (char === quote)
56
+ quote = "";
57
+ else {
58
+ value += char;
59
+ if (quote === '"' && (char === "$" || char === "`"))
60
+ dynamic = true;
61
+ }
62
+ continue;
63
+ }
64
+ if (char === "'" || char === '"') {
65
+ quote = char;
66
+ started = true;
67
+ continue;
68
+ }
69
+ if (char === "#" && !started) {
70
+ while (index < command.length && command[index] !== "\n")
71
+ index++;
72
+ flush();
73
+ tokens.push({
74
+ value: "\n",
75
+ operator: true,
76
+ dynamic: false,
77
+ line: command.slice(lineStart, index),
78
+ });
79
+ lineStart = index + 1;
80
+ continue;
81
+ }
82
+ if (char === "\n" || ";|&<>".includes(char)) {
83
+ flush();
84
+ let operator = char;
85
+ if (char === "<" && command[index + 1] === "<") {
86
+ const suffix = command[index + 2];
87
+ operator = suffix === "<" ? "<<<" : suffix === "-" ? "<<-" : "<<";
88
+ index += operator.length - 1;
89
+ }
90
+ else if (command[index + 1] === char && char !== "\n") {
91
+ operator += char;
92
+ index++;
93
+ }
94
+ tokens.push({
95
+ value: operator,
96
+ operator: true,
97
+ dynamic: false,
98
+ ...(char === "\n"
99
+ ? { line: command.slice(lineStart, index) }
100
+ : {}),
101
+ });
102
+ if (char === "\n")
103
+ lineStart = index + 1;
104
+ continue;
105
+ }
106
+ if (/\s/u.test(char)) {
107
+ flush();
108
+ continue;
109
+ }
110
+ started = true;
111
+ value += char;
112
+ if ("$`*?[](){}~".includes(char))
113
+ dynamic = true;
114
+ }
115
+ if (quote)
116
+ dynamic = true;
117
+ flush();
118
+ return tokens;
119
+ }
120
+ function relativeLiteral(path, base = "") {
121
+ if (!path || path.includes("\0"))
122
+ return null;
123
+ const absolute = path.startsWith("/") || base.startsWith("/");
124
+ const parts = [];
125
+ for (const part of (path.startsWith("/") ? path : `${base}/${path}`).split("/")) {
126
+ if (!part || part === ".")
127
+ continue;
128
+ if (part === "..") {
129
+ if (parts.length && parts.at(-1) !== "..")
130
+ parts.pop();
131
+ else if (!absolute)
132
+ parts.push("..");
133
+ }
134
+ else
135
+ parts.push(part);
136
+ }
137
+ return `${absolute ? "/" : ""}${parts.join("/")}` || null;
138
+ }
139
+ /** Recognizes literal targets of common file commands and compound commands. */
140
+ export function shellGuardEvidence(command) {
141
+ const evidence = { files: [], commit: false, push: false, deploy: false, mutation: false };
142
+ let base = "";
143
+ let segment = [];
144
+ const addFile = (token) => {
145
+ if (!token || token.dynamic || token.operator)
146
+ return;
147
+ const path = relativeLiteral(token.value, base);
148
+ // Absolute targets are normalized by the host against its repository root.
149
+ if (path)
150
+ evidence.files.push(path);
151
+ else if (token.value.startsWith("/"))
152
+ evidence.files.push(token.value);
153
+ };
154
+ const inspect = () => {
155
+ const args = [];
156
+ const heredocDelimiters = [];
157
+ for (let i = 0; i < segment.length; i++) {
158
+ const token = segment[i];
159
+ if (token.operator && [">", ">>"].includes(token.value)) {
160
+ evidence.mutation = true;
161
+ addFile(segment[++i]);
162
+ }
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)) {
173
+ i++;
174
+ }
175
+ else if (!token.operator)
176
+ args.push(token);
177
+ }
178
+ while (args[0] && /^[A-Za-z_][A-Za-z0-9_]*=/u.test(args[0].value))
179
+ args.shift();
180
+ while (args[0] && ["env", "command", "sudo"].includes(args[0].value)) {
181
+ const wrapper = args.shift().value;
182
+ while (args[0]?.value.startsWith("-") || (wrapper === "env" && args[0]?.value.includes("="))) {
183
+ const option = args.shift().value;
184
+ if (["-u", "-g", "-C", "--unset", "--user", "--group"].includes(option))
185
+ args.shift();
186
+ }
187
+ }
188
+ const executable = args.shift();
189
+ if (!executable || executable.dynamic)
190
+ return heredocDelimiters;
191
+ const name = executable.value.split("/").at(-1);
192
+ if (name === "cd" && args[0] && !args[0].dynamic) {
193
+ base = relativeLiteral(args[0].value, base) ?? base;
194
+ return heredocDelimiters;
195
+ }
196
+ if (name === "git") {
197
+ while (args[0]?.value.startsWith("-")) {
198
+ const option = args.shift().value;
199
+ if (["-C", "-c", "--git-dir", "--work-tree"].includes(option))
200
+ args.shift();
201
+ }
202
+ evidence.commit ||= args[0]?.value === "commit";
203
+ evidence.push ||= args[0]?.value === "push";
204
+ }
205
+ const literalCommand = [name, ...args.map((token) => token.dynamic ? "<dynamic>" : token.value)].join(" ");
206
+ 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
+ if (!["rm", "rmdir", "unlink", "mv", "cp", "install", "touch", "mkdir", "tee", "truncate", "sed"].includes(name))
208
+ return heredocDelimiters;
209
+ if (name === "sed" && !args.some((token) => /^-i|^--in-place(?:=|$)/u.test(token.value)))
210
+ return heredocDelimiters;
211
+ evidence.mutation = true;
212
+ const operands = [];
213
+ let options = true, explicitSedScript = false, targetDirectory = false;
214
+ for (let i = 0; i < args.length; i++) {
215
+ const token = args[i];
216
+ if (options && token.value === "--") {
217
+ options = false;
218
+ continue;
219
+ }
220
+ if (options && token.value.startsWith("-")) {
221
+ if (["-t", "--target-directory"].includes(token.value) && ["cp", "mv", "install"].includes(name)) {
222
+ targetDirectory = true;
223
+ addFile(args[++i]);
224
+ }
225
+ else if (token.value.startsWith("--target-directory=") && ["cp", "mv", "install"].includes(name)) {
226
+ targetDirectory = true;
227
+ addFile({ ...token, value: token.value.slice(19) });
228
+ }
229
+ else if ((name === "truncate" && ["-s", "--size", "-r", "--reference"].includes(token.value)) ||
230
+ (name === "touch" && ["-r", "--reference", "-t", "-d", "--date"].includes(token.value)) ||
231
+ (["install", "mkdir"].includes(name) && ["-m", "--mode", "-o", "--owner", "-g", "--group"].includes(token.value)))
232
+ i++;
233
+ else if (name === "sed" && ["-e", "-f"].includes(token.value)) {
234
+ explicitSedScript = true;
235
+ i++;
236
+ }
237
+ else if (name === "sed" && token.value === "-i" && args[i + 1]?.value === "")
238
+ i++;
239
+ continue;
240
+ }
241
+ operands.push(token);
242
+ }
243
+ if (name === "sed" && !explicitSedScript)
244
+ operands.shift();
245
+ if (["cp", "install"].includes(name)) {
246
+ if (!targetDirectory)
247
+ addFile(operands.at(-1));
248
+ }
249
+ else
250
+ operands.forEach(addFile);
251
+ return heredocDelimiters;
252
+ };
253
+ const pendingHeredocs = [];
254
+ let activeHeredoc;
255
+ 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
+ if (token.operator && ["\n", ";", "&&", "||", "|", "&"].includes(token.value)) {
268
+ const priorBase = base;
269
+ pendingHeredocs.push(...inspect());
270
+ segment = [];
271
+ if (["|", "||", "&"].includes(token.value))
272
+ base = priorBase;
273
+ if (token.value === "\n")
274
+ activeHeredoc = pendingHeredocs.shift();
275
+ }
276
+ else
277
+ segment.push(token);
278
+ }
279
+ if (segment.length && activeHeredoc === undefined)
280
+ inspect();
281
+ evidence.files = [...new Set(evidence.files)];
282
+ return evidence;
283
+ }
284
+ export function guardToolTrigger(tool, input) {
285
+ const name = tool.split(".").at(-1);
286
+ if (["Edit", "Write", "MultiEdit", "NotebookEdit", "ApplyPatch", "apply_patch", "edit", "write", "create", "patch", "str_replace_editor", "file_write", "file_edit_search_replace", "file_edit_hashline", "patch_edit"].includes(name)) {
287
+ const files = [input.file_path, input.filePath, input.notebook_path, input.path].filter((value) => typeof value === "string" && value.trim() !== "");
288
+ const patch = [input.patch, input.patchText, input.input, input.command].find((value) => typeof value === "string");
289
+ if (patch)
290
+ for (const match of patch.matchAll(/^\*\*\* (?:Add File|Update File|Delete File|Move to): (.+)$/gmu))
291
+ files.push(match[1]);
292
+ return { action: "edit", ...(files.length ? { files: [...new Set(files)] } : {}) };
293
+ }
294
+ if (!["Bash", "bash", "Shell", "shell", "exec_command", "shell_command", "run_terminal_cmd", "shell_exec", "shell_monitor", "shell_service"].includes(name))
295
+ return null;
296
+ const command = typeof input.command === "string" ? input.command : typeof input.cmd === "string" ? input.cmd : undefined;
297
+ // A service restart can execute a previously registered command without
298
+ // repeating its text. The no-shell policy must still gate that boundary.
299
+ if (name === "shell_service" && !command?.trim())
300
+ return { action: "command" };
301
+ if (!command?.trim())
302
+ return null;
303
+ const evidence = shellGuardEvidence(command);
304
+ // Every shell invocation must reach the checker, including scripts and
305
+ // dynamic syntax, so a required no-shell policy cannot be parsed around.
306
+ const action = evidence.deploy ? "deploy" : evidence.commit || evidence.push ? "commit" : "command";
307
+ return { action, command, ...(evidence.files.length ? { files: evidence.files } : {}) };
308
+ }
309
+ export function guardRuleConflict(rule, action) {
310
+ if (rule.status !== "active" || rule.enforcement !== "required")
311
+ return null;
312
+ if (rule.scope.repo !== undefined && rule.scope.repo !== action.repo)
313
+ return null;
314
+ // These scope dimensions are not supplied by current pre-action hosts.
315
+ if (rule.scope.project !== undefined || rule.scope.component !== undefined)
316
+ return null;
317
+ const shell = action.command === undefined ? undefined : shellGuardEvidence(action.command);
318
+ const inferredFiles = shell?.files.map((path) => relativeLiteral(path, action.path)).filter((path) => path !== null) ?? [];
319
+ const files = [...(action.files ?? []), ...inferredFiles].map((path) => path.replace(/^\.\//u, "")).filter((path) => !path.startsWith("/") && !path.split("/").includes("..") &&
320
+ (rule.scope.path === undefined || within(path, rule.scope.path)));
321
+ if (rule.scope.path !== undefined && files.length === 0)
322
+ return null;
323
+ const constraint = compileGuardRule(rule.content);
324
+ if (constraint === null)
325
+ return null;
326
+ if (constraint.action === "shell")
327
+ return action.command !== undefined || action.action === "command"
328
+ ? "This rule prohibits all shell commands, including scripts and dynamic shell expressions."
329
+ : null;
330
+ if (constraint.action === "deploy")
331
+ return action.action === "deploy" || shell?.deploy ? "This rule prohibits deployment in the action's scope." : null;
332
+ if (constraint.action === "commit")
333
+ return shell?.commit || (action.action === "commit" && action.command === undefined) ? "This rule prohibits committing in this repository." : null;
334
+ if (constraint.action === "push")
335
+ return shell?.push ? "This rule prohibits pushing this repository." : null;
336
+ return (action.action === "edit" || shell?.mutation) && files.some((path) => within(path, constraint.path))
337
+ ? "The planned edit targets a path this rule prohibits editing."
338
+ : null;
339
+ }
340
+ export function emergencyOverrideApplies(value, sessionId, repo, now) {
341
+ if (typeof value !== "object" || value === null)
342
+ return false;
343
+ const record = value;
344
+ const issued = typeof record.issuedAt === "string" ? Date.parse(record.issuedAt) : NaN;
345
+ const expires = typeof record.expiresAt === "string" ? Date.parse(record.expiresAt) : NaN;
346
+ return record.sessionId === sessionId && record.repo === (repo ?? "") &&
347
+ typeof record.reason === "string" && record.reason.trim().length > 0 &&
348
+ issued <= now.getTime() && expires > now.getTime() && expires - issued <= 15 * 60_000;
349
+ }
350
+ //# sourceMappingURL=guard-evaluation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard-evaluation.js","sourceRoot":"","sources":["../src/guard-evaluation.ts"],"names":[],"mappings":"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"}
@@ -276,6 +276,7 @@ export declare const GuardCheckResponseSchema: z.ZodObject<{
276
276
  summary: z.ZodString;
277
277
  }, z.core.$strict>>;
278
278
  requiresConfirmation: z.ZodBoolean;
279
+ policyIssue: z.ZodOptional<z.ZodLiteral<"unsupported_required_rules">>;
279
280
  confirm: z.ZodOptional<z.ZodObject<{
280
281
  memoryIds: z.ZodArray<z.ZodUUID>;
281
282
  command: z.ZodString;
@@ -294,7 +295,28 @@ export declare const GuardApproveResponseSchema: z.ZodObject<{
294
295
  }, z.core.$strict>;
295
296
  export type GuardApproveResponse = z.infer<typeof GuardApproveResponseSchema>;
296
297
  export declare const GUARD_AUDIT_CONTRACT_VERSION: 1;
298
+ export declare const GuardEmergencyOverrideSchema: z.ZodObject<{
299
+ overrideId: z.ZodUUID;
300
+ sessionId: z.ZodString;
301
+ repo: z.ZodString;
302
+ reason: z.ZodString;
303
+ issuedAt: z.ZodISODateTime;
304
+ expiresAt: z.ZodISODateTime;
305
+ }, z.core.$strict>;
306
+ export type GuardEmergencyOverride = z.infer<typeof GuardEmergencyOverrideSchema>;
307
+ export declare const GuardEmergencyAcknowledgementSchema: z.ZodObject<{
308
+ overrideId: z.ZodUUID;
309
+ }, z.core.$strict>;
297
310
  export declare const GuardAuditPayloadSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
311
+ overrideId: z.ZodUUID;
312
+ sessionId: z.ZodString;
313
+ repo: z.ZodString;
314
+ reason: z.ZodString;
315
+ issuedAt: z.ZodISODateTime;
316
+ expiresAt: z.ZodISODateTime;
317
+ version: z.ZodLiteral<1>;
318
+ event: z.ZodLiteral<"break_glass">;
319
+ }, z.core.$strict>, z.ZodObject<{
298
320
  version: z.ZodLiteral<1>;
299
321
  event: z.ZodLiteral<"check">;
300
322
  checkId: z.ZodUUID;
@@ -1 +1 @@
1
- {"version":3,"file":"guard-schemas.d.ts","sourceRoot":"","sources":["../src/guard-schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guard-schemas.d.ts","sourceRoot":"","sources":["../src/guard-schemas.ts"],"names":[],"mappings":"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"}
@@ -106,7 +106,12 @@ export const GuardCheckResponseSchema = z
106
106
  items: z.array(GuardItemSchema).max(GUARD_MAX_ITEMS),
107
107
  conflicts: z.array(GuardConflictSchema),
108
108
  requiresConfirmation: z.boolean(),
109
- /** Present when requiresConfirmation is true. */
109
+ /** An existing required rule cannot be evaluated; repair policy before retrying. */
110
+ policyIssue: z.literal("unsupported_required_rules").optional(),
111
+ /**
112
+ * Present for an approvable rule block. A policyIssue may keep the legacy
113
+ * requiresConfirmation safety bit true without exposing an approval flow.
114
+ */
110
115
  confirm: z
111
116
  .object({
112
117
  memoryIds: z.array(z.uuid()).min(1),
@@ -130,6 +135,15 @@ export const GuardApproveResponseSchema = z
130
135
  })
131
136
  .strict();
132
137
  export const GUARD_AUDIT_CONTRACT_VERSION = 1;
138
+ export const GuardEmergencyOverrideSchema = z.object({
139
+ overrideId: z.uuid(), sessionId: z.string().trim().min(1).max(500),
140
+ repo: z.string().max(1_000), reason: z.string().trim().min(1).max(1_000),
141
+ issuedAt: z.iso.datetime({ offset: true }), expiresAt: z.iso.datetime({ offset: true }),
142
+ }).strict().refine((value) => {
143
+ const duration = Date.parse(value.expiresAt) - Date.parse(value.issuedAt);
144
+ return duration > 0 && duration <= 15 * 60_000;
145
+ }, "Emergency overrides may last at most fifteen minutes");
146
+ export const GuardEmergencyAcknowledgementSchema = z.object({ overrideId: z.uuid() }).strict();
133
147
  const GuardAuditMemoryEvidenceSchema = z
134
148
  .object({
135
149
  memoryId: z.uuid(),
@@ -137,6 +151,7 @@ const GuardAuditMemoryEvidenceSchema = z
137
151
  })
138
152
  .strict();
139
153
  export const GuardAuditPayloadSchema = z.discriminatedUnion("event", [
154
+ GuardEmergencyOverrideSchema.safeExtend({ version: z.literal(GUARD_AUDIT_CONTRACT_VERSION), event: z.literal("break_glass") }),
140
155
  z
141
156
  .object({
142
157
  version: z.literal(GUARD_AUDIT_CONTRACT_VERSION),
@@ -1 +1 @@
1
- {"version":3,"file":"guard-schemas.js","sourceRoot":"","sources":["../src/guard-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAGpE,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;IACrB,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;CAC5C,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE;IACrB,IAAI,EAAE,eAAe;IACrB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;CAC5C,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC;KAC9C,MAAM,CAAC;IACN,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,CAAC;SACX,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;SACxD,MAAM,EAAE;SACR,QAAQ,EAAE;IACb,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACxE,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,SAAS;IACxB,KAAK,CAAC,WAAW,KAAK,SAAS;IAC/B,KAAK,CAAC,cAAc,KAAK,SAAS,EACpC,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAC3D,CAAC;AAKJ,wDAAwD;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,MAAM;IACN,SAAS;IACT,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;CACR,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,SAAS,EAAE,mBAAmB;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC5C,MAAM,EAAE,iBAAiB;IACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAClD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;IACrD,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;IACpD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;CACzD,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACvD,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC3B,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;CAC5C,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,QAAQ,EAAE,oBAAoB;IAC9B,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,uBAAuB;IACpC,MAAM,EAAE,qBAAqB;IAC7B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnD,WAAW,EAAE,0BAA0B,CAAC,QAAQ,EAAE;CACnD,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC1C,WAAW;IACX,eAAe;CAChB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,yDAAyD;IACzD,IAAI,EAAE,eAAe;IACrB,0CAA0C;IAC1C,UAAU,EAAE,qBAAqB;IACjC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;IACpD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;IACvC,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE;IACjC,iDAAiD;IACjD,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QAC1C,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAC5C,CAAC;SACD,MAAM,EAAE;SACR,QAAQ,EAAE;CACd,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;CAClB,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACxC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;CACvD,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAU,CAAC;AAEvD,MAAM,8BAA8B,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;CAC5D,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;IACnE,CAAC;SACE,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC;QAChD,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACzB,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;QACjB,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,qBAAqB;QACjC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC;YACf,OAAO;YACP,sBAAsB;YACtB,mBAAmB;SACpB,CAAC;QACF,aAAa,EAAE,CAAC;aACb,IAAI,CAAC,CAAC,QAAQ,EAAE,sBAAsB,EAAE,cAAc,CAAC,CAAC;aACxD,QAAQ,EAAE;QACb,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;QAClE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;QACrB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;QACtE,SAAS,EAAE,CAAC;aACT,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,gBAAgB,EAAE,CAAC,CAAC,IAAI,EAAE;YAC1B,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE;SACzB,CAAC;aACD,MAAM,EAAE,CACZ;aACA,GAAG,CAAC,eAAe,CAAC;QACvB,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QAC7C,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QAC7C,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAClD,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE;QAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;KAC1C,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC;QAChD,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC3B,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;QACjB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;QACvD,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QACtC,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAClD,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE;QAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;KAC1C,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC;QAChD,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC5B,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;QACjB,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACpD,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAC5C,CAAC;SACD,MAAM,EAAE;IACX,CAAC;SACE,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC;QAChD,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QACjC,QAAQ,EAAE,0BAA0B;QACpC,OAAO,EAAE,0BAA0B;QACnC,SAAS,EAAE,gCAAgC;KAC5C,CAAC;SACD,MAAM,EAAE;CACZ,CAAC,CAAC;AAGH,kEAAkE;AAClE,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAMlC;IACC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAa,CAAC,wBAAwB,CAAC,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GACT,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;gBAC3B,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO;gBAC3B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;oBACrC,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,qBAAqB,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,2DAA2D,CAAC,CAAC;QAC5E,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"guard-schemas.js","sourceRoot":"","sources":["../src/guard-schemas.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;AAiDpB,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;IAqJ5B,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;IAkD1B,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;IA2Dd,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;AAkDpB,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;IAqJ5B,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,5 +1,6 @@
1
1
  import { ListMemoriesDtoSchema, MemoryConflictSchema, MemorySchema, MemoryUpdateSchema, ProposalMetadataSchema, ReviewProposalDtoSchema, UpdateWorkspaceLearningPolicySchema, WorkspaceLearningPolicySchema, } from "./schemas.js";
2
2
  import { createMemoryFingerprint } from "./engine.js";
3
+ import { candidateKeywordScore, memoryNeedsReview } from "./knowledge-quality.js";
3
4
  function copyMemory(memory) {
4
5
  return structuredClone(memory);
5
6
  }
@@ -382,6 +383,8 @@ export class InMemoryMemoryRepository {
382
383
  if (statuses !== undefined && !statuses.includes(memory.status)) {
383
384
  return false;
384
385
  }
386
+ if (filters.reviewDue === true && !memoryNeedsReview(memory))
387
+ return false;
385
388
  return (query === undefined ||
386
389
  memory.content.toLocaleLowerCase().includes(query));
387
390
  })
@@ -499,7 +502,9 @@ export class InMemoryMemoryRepository {
499
502
  (keywords === undefined ||
500
503
  keywords.length === 0 ||
501
504
  keywords.some((keyword) => memory.content.toLocaleLowerCase().includes(keyword))))
502
- .sort((left, right) => right.createdAt.localeCompare(left.createdAt) ||
505
+ .sort((left, right) => candidateKeywordScore(right.content, keywords ?? []) -
506
+ candidateKeywordScore(left.content, keywords ?? []) ||
507
+ right.updatedAt.localeCompare(left.updatedAt) ||
503
508
  left.id.localeCompare(right.id))
504
509
  .slice(0, limit)
505
510
  .map(copyMemory);