@danielmarbach/mnemonic-mcp 0.27.2 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -1
- package/README.md +7 -0
- package/build/auto-relate.d.ts.map +1 -1
- package/build/auto-relate.js +11 -5
- package/build/auto-relate.js.map +1 -1
- package/build/brands.d.ts +38 -0
- package/build/brands.d.ts.map +1 -0
- package/build/brands.js +51 -0
- package/build/brands.js.map +1 -0
- package/build/cache.d.ts.map +1 -1
- package/build/cache.js +10 -12
- package/build/cache.js.map +1 -1
- package/build/cli/import-claude-memory.d.ts +4 -0
- package/build/cli/import-claude-memory.d.ts.map +1 -0
- package/build/cli/import-claude-memory.js +146 -0
- package/build/cli/import-claude-memory.js.map +1 -0
- package/build/cli/migrate.d.ts +2 -0
- package/build/cli/migrate.d.ts.map +1 -0
- package/build/cli/migrate.js +104 -0
- package/build/cli/migrate.js.map +1 -0
- package/build/config.d.ts +2 -0
- package/build/config.d.ts.map +1 -1
- package/build/config.js +52 -23
- package/build/config.js.map +1 -1
- package/build/consolidate.d.ts +2 -1
- package/build/consolidate.d.ts.map +1 -1
- package/build/consolidate.js +3 -6
- package/build/consolidate.js.map +1 -1
- package/build/context.d.ts +5 -0
- package/build/context.d.ts.map +1 -0
- package/build/context.js +47 -0
- package/build/context.js.map +1 -0
- package/build/date-utils.d.ts +3 -0
- package/build/date-utils.d.ts.map +1 -0
- package/build/date-utils.js +10 -0
- package/build/date-utils.js.map +1 -0
- package/build/domain-errors.d.ts +49 -0
- package/build/domain-errors.d.ts.map +1 -0
- package/build/domain-errors.js +99 -0
- package/build/domain-errors.js.map +1 -0
- package/build/embeddings.d.ts +2 -1
- package/build/embeddings.d.ts.map +1 -1
- package/build/embeddings.js +39 -9
- package/build/embeddings.js.map +1 -1
- package/build/error-utils.d.ts +33 -0
- package/build/error-utils.d.ts.map +1 -0
- package/build/error-utils.js +65 -0
- package/build/error-utils.js.map +1 -0
- package/build/git-constants.d.ts +2 -0
- package/build/git-constants.d.ts.map +1 -0
- package/build/git-constants.js +2 -0
- package/build/git-constants.js.map +1 -0
- package/build/git.d.ts +27 -18
- package/build/git.d.ts.map +1 -1
- package/build/git.js +45 -24
- package/build/git.js.map +1 -1
- package/build/helpers/embed.d.ts +13 -0
- package/build/helpers/embed.d.ts.map +1 -0
- package/build/helpers/embed.js +68 -0
- package/build/helpers/embed.js.map +1 -0
- package/build/helpers/git-commit.d.ts +43 -0
- package/build/helpers/git-commit.d.ts.map +1 -0
- package/build/helpers/git-commit.js +129 -0
- package/build/helpers/git-commit.js.map +1 -0
- package/build/helpers/index.d.ts +19 -0
- package/build/helpers/index.d.ts.map +1 -0
- package/build/helpers/index.js +83 -0
- package/build/helpers/index.js.map +1 -0
- package/build/helpers/persistence.d.ts +34 -0
- package/build/helpers/persistence.d.ts.map +1 -0
- package/build/helpers/persistence.js +177 -0
- package/build/helpers/persistence.js.map +1 -0
- package/build/helpers/project.d.ts +21 -0
- package/build/helpers/project.d.ts.map +1 -0
- package/build/helpers/project.js +75 -0
- package/build/helpers/project.js.map +1 -0
- package/build/helpers/vault.d.ts +50 -0
- package/build/helpers/vault.d.ts.map +1 -0
- package/build/helpers/vault.js +196 -0
- package/build/helpers/vault.js.map +1 -0
- package/build/index.js +12 -5467
- package/build/index.js.map +1 -1
- package/build/lexical.d.ts +1 -1
- package/build/lexical.d.ts.map +1 -1
- package/build/lexical.js +2 -3
- package/build/lexical.js.map +1 -1
- package/build/markdown-ast.d.ts.map +1 -1
- package/build/markdown-ast.js +4 -2
- package/build/markdown-ast.js.map +1 -1
- package/build/migration.d.ts.map +1 -1
- package/build/migration.js +12 -8
- package/build/migration.js.map +1 -1
- package/build/project-introspection.d.ts +4 -4
- package/build/project-introspection.d.ts.map +1 -1
- package/build/project-introspection.js +71 -27
- package/build/project-introspection.js.map +1 -1
- package/build/project-memory-policy.d.ts.map +1 -1
- package/build/project-memory-policy.js +38 -3
- package/build/project-memory-policy.js.map +1 -1
- package/build/project.d.ts +2 -1
- package/build/project.d.ts.map +1 -1
- package/build/project.js +29 -41
- package/build/project.js.map +1 -1
- package/build/projections.d.ts.map +1 -1
- package/build/projections.js +3 -2
- package/build/projections.js.map +1 -1
- package/build/prompts.d.ts +3 -0
- package/build/prompts.d.ts.map +1 -0
- package/build/prompts.js +138 -0
- package/build/prompts.js.map +1 -0
- package/build/provenance.d.ts +9 -3
- package/build/provenance.d.ts.map +1 -1
- package/build/provenance.js +46 -15
- package/build/provenance.js.map +1 -1
- package/build/recall.d.ts +2 -1
- package/build/recall.d.ts.map +1 -1
- package/build/recall.js +30 -14
- package/build/recall.js.map +1 -1
- package/build/relationships.d.ts +2 -2
- package/build/relationships.d.ts.map +1 -1
- package/build/relationships.js +39 -43
- package/build/relationships.js.map +1 -1
- package/build/semantic-patch.d.ts.map +1 -1
- package/build/semantic-patch.js +16 -9
- package/build/semantic-patch.js.map +1 -1
- package/build/server-context.d.ts +18 -0
- package/build/server-context.d.ts.map +1 -0
- package/build/server-context.js +2 -0
- package/build/server-context.js.map +1 -0
- package/build/startup.d.ts +5 -0
- package/build/startup.d.ts.map +1 -0
- package/build/startup.js +37 -0
- package/build/startup.js.map +1 -0
- package/build/storage.d.ts +17 -15
- package/build/storage.d.ts.map +1 -1
- package/build/storage.js +67 -93
- package/build/storage.js.map +1 -1
- package/build/structured-content.d.ts +115 -74
- package/build/structured-content.d.ts.map +1 -1
- package/build/structured-content.js +41 -17
- package/build/structured-content.js.map +1 -1
- package/build/temporal-interpretation.d.ts +2 -1
- package/build/temporal-interpretation.d.ts.map +1 -1
- package/build/temporal-interpretation.js +15 -8
- package/build/temporal-interpretation.js.map +1 -1
- package/build/tools/consolidate-helpers.d.ts +55 -0
- package/build/tools/consolidate-helpers.d.ts.map +1 -0
- package/build/tools/consolidate-helpers.js +815 -0
- package/build/tools/consolidate-helpers.js.map +1 -0
- package/build/tools/consolidate.d.ts +4 -0
- package/build/tools/consolidate.d.ts.map +1 -0
- package/build/tools/consolidate.js +127 -0
- package/build/tools/consolidate.js.map +1 -0
- package/build/tools/detect-project.d.ts +6 -0
- package/build/tools/detect-project.d.ts.map +1 -0
- package/build/tools/detect-project.js +79 -0
- package/build/tools/detect-project.js.map +1 -0
- package/build/tools/discover-tags.d.ts +4 -0
- package/build/tools/discover-tags.d.ts.map +1 -0
- package/build/tools/discover-tags.js +236 -0
- package/build/tools/discover-tags.js.map +1 -0
- package/build/tools/forget.d.ts +4 -0
- package/build/tools/forget.d.ts.map +1 -0
- package/build/tools/forget.js +123 -0
- package/build/tools/forget.js.map +1 -0
- package/build/tools/get-project-identity.d.ts +4 -0
- package/build/tools/get-project-identity.d.ts.map +1 -0
- package/build/tools/get-project-identity.js +59 -0
- package/build/tools/get-project-identity.js.map +1 -0
- package/build/tools/get.d.ts +4 -0
- package/build/tools/get.d.ts.map +1 -0
- package/build/tools/get.js +115 -0
- package/build/tools/get.js.map +1 -0
- package/build/tools/index.d.ts +4 -0
- package/build/tools/index.d.ts.map +1 -0
- package/build/tools/index.js +47 -0
- package/build/tools/index.js.map +1 -0
- package/build/tools/list.d.ts +4 -0
- package/build/tools/list.d.ts.map +1 -0
- package/build/tools/list.js +95 -0
- package/build/tools/list.js.map +1 -0
- package/build/tools/memory-graph.d.ts +4 -0
- package/build/tools/memory-graph.d.ts.map +1 -0
- package/build/tools/memory-graph.js +84 -0
- package/build/tools/memory-graph.js.map +1 -0
- package/build/tools/migration.d.ts +5 -0
- package/build/tools/migration.d.ts.map +1 -0
- package/build/tools/migration.js +158 -0
- package/build/tools/migration.js.map +1 -0
- package/build/tools/move-memory.d.ts +4 -0
- package/build/tools/move-memory.d.ts.map +1 -0
- package/build/tools/move-memory.js +170 -0
- package/build/tools/move-memory.js.map +1 -0
- package/build/tools/policy.d.ts +5 -0
- package/build/tools/policy.d.ts.map +1 -0
- package/build/tools/policy.js +195 -0
- package/build/tools/policy.js.map +1 -0
- package/build/tools/project-memory-summary.d.ts +4 -0
- package/build/tools/project-memory-summary.d.ts.map +1 -0
- package/build/tools/project-memory-summary.js +477 -0
- package/build/tools/project-memory-summary.js.map +1 -0
- package/build/tools/recall-helpers.d.ts +40 -0
- package/build/tools/recall-helpers.d.ts.map +1 -0
- package/build/tools/recall-helpers.js +217 -0
- package/build/tools/recall-helpers.js.map +1 -0
- package/build/tools/recall.d.ts +4 -0
- package/build/tools/recall.d.ts.map +1 -0
- package/build/tools/recall.js +413 -0
- package/build/tools/recall.js.map +1 -0
- package/build/tools/recent-memories.d.ts +4 -0
- package/build/tools/recent-memories.d.ts.map +1 -0
- package/build/tools/recent-memories.js +79 -0
- package/build/tools/recent-memories.js.map +1 -0
- package/build/tools/relate.d.ts +4 -0
- package/build/tools/relate.d.ts.map +1 -0
- package/build/tools/relate.js +180 -0
- package/build/tools/relate.js.map +1 -0
- package/build/tools/remember.d.ts +4 -0
- package/build/tools/remember.d.ts.map +1 -0
- package/build/tools/remember.js +219 -0
- package/build/tools/remember.js.map +1 -0
- package/build/tools/set-project-identity.d.ts +4 -0
- package/build/tools/set-project-identity.d.ts.map +1 -0
- package/build/tools/set-project-identity.js +113 -0
- package/build/tools/set-project-identity.js.map +1 -0
- package/build/tools/sync.d.ts +4 -0
- package/build/tools/sync.d.ts.map +1 -0
- package/build/tools/sync.js +127 -0
- package/build/tools/sync.js.map +1 -0
- package/build/tools/unrelate.d.ts +4 -0
- package/build/tools/unrelate.d.ts.map +1 -0
- package/build/tools/unrelate.js +179 -0
- package/build/tools/unrelate.js.map +1 -0
- package/build/tools/update.d.ts +4 -0
- package/build/tools/update.d.ts.map +1 -0
- package/build/tools/update.js +364 -0
- package/build/tools/update.js.map +1 -0
- package/build/tools/where-is-memory.d.ts +4 -0
- package/build/tools/where-is-memory.d.ts.map +1 -0
- package/build/tools/where-is-memory.js +61 -0
- package/build/tools/where-is-memory.js.map +1 -0
- package/build/validation.d.ts +24 -0
- package/build/validation.d.ts.map +1 -0
- package/build/validation.js +62 -0
- package/build/validation.js.map +1 -0
- package/build/vault.d.ts.map +1 -1
- package/build/vault.js +38 -47
- package/build/vault.js.map +1 -1
- package/package.json +5 -2
- package/skills/mnemonic-rpi-workflow/SKILL.md +48 -17
package/build/storage.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { NoteProjection } from "./structured-content.js";
|
|
2
|
-
|
|
2
|
+
import type { MemoryId, EmbeddingModelId, ISO8601DateString } from "./brands.js";
|
|
3
|
+
export declare const RELATIONSHIP_TYPES: readonly ["related-to", "explains", "example-of", "supersedes", "derives-from", "follows"];
|
|
4
|
+
export type RelationshipType = typeof RELATIONSHIP_TYPES[number];
|
|
3
5
|
export type NoteLifecycle = "temporary" | "permanent";
|
|
4
6
|
export type NoteRole = "summary" | "decision" | "plan" | "context" | "reference" | "research" | "review";
|
|
5
7
|
export type NoteImportance = "high" | "normal" | "low";
|
|
@@ -7,11 +9,11 @@ export declare const NOTE_LIFECYCLES: readonly ["temporary", "permanent"];
|
|
|
7
9
|
export declare const NOTE_ROLES: readonly ["summary", "decision", "plan", "context", "reference", "research", "review"];
|
|
8
10
|
export declare const NOTE_IMPORTANCE_LEVELS: readonly ["high", "normal", "low"];
|
|
9
11
|
export interface Relationship {
|
|
10
|
-
id:
|
|
12
|
+
id: MemoryId;
|
|
11
13
|
type: RelationshipType;
|
|
12
14
|
}
|
|
13
15
|
export interface Note {
|
|
14
|
-
id:
|
|
16
|
+
id: MemoryId;
|
|
15
17
|
title: string;
|
|
16
18
|
content: string;
|
|
17
19
|
tags: string[];
|
|
@@ -24,16 +26,16 @@ export interface Note {
|
|
|
24
26
|
/** Human-readable project name for display */
|
|
25
27
|
projectName?: string;
|
|
26
28
|
relatedTo?: Relationship[];
|
|
27
|
-
createdAt:
|
|
28
|
-
updatedAt:
|
|
29
|
+
createdAt: ISO8601DateString;
|
|
30
|
+
updatedAt: ISO8601DateString;
|
|
29
31
|
/** Schema version for forward compatibility (0 = pre-v0.2.0) */
|
|
30
32
|
memoryVersion?: number;
|
|
31
33
|
}
|
|
32
34
|
export interface EmbeddingRecord {
|
|
33
|
-
id:
|
|
34
|
-
model:
|
|
35
|
+
id: MemoryId;
|
|
36
|
+
model: EmbeddingModelId;
|
|
35
37
|
embedding: number[];
|
|
36
|
-
updatedAt:
|
|
38
|
+
updatedAt: ISO8601DateString;
|
|
37
39
|
}
|
|
38
40
|
export declare class Storage {
|
|
39
41
|
readonly vaultPath: string;
|
|
@@ -54,20 +56,20 @@ export declare class Storage {
|
|
|
54
56
|
commitAtomicNotesWrite(): Promise<void>;
|
|
55
57
|
rollbackAtomicNotesWrite(): Promise<void>;
|
|
56
58
|
writeNote(note: Note): Promise<void>;
|
|
57
|
-
readNote(id:
|
|
58
|
-
deleteNote(id:
|
|
59
|
+
readNote(id: MemoryId): Promise<Note | null>;
|
|
60
|
+
deleteNote(id: MemoryId): Promise<boolean>;
|
|
59
61
|
listNotes(filter?: {
|
|
60
62
|
project?: string | null;
|
|
61
63
|
}): Promise<Note[]>;
|
|
62
64
|
private serializeNote;
|
|
63
65
|
writeEmbedding(record: EmbeddingRecord): Promise<void>;
|
|
64
|
-
readEmbedding(id:
|
|
66
|
+
readEmbedding(id: MemoryId): Promise<EmbeddingRecord | null>;
|
|
65
67
|
listEmbeddings(): Promise<EmbeddingRecord[]>;
|
|
66
68
|
writeProjection(projection: NoteProjection): Promise<void>;
|
|
67
|
-
readProjection(id:
|
|
68
|
-
notePath(id:
|
|
69
|
-
embeddingPath(id:
|
|
70
|
-
projectionPath(id:
|
|
69
|
+
readProjection(id: MemoryId): Promise<NoteProjection | null>;
|
|
70
|
+
notePath(id: MemoryId): string;
|
|
71
|
+
embeddingPath(id: MemoryId): string;
|
|
72
|
+
projectionPath(id: MemoryId): string;
|
|
71
73
|
private stagedNotePath;
|
|
72
74
|
private listNoteIds;
|
|
73
75
|
private clearAtomicNotesWrite;
|
package/build/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/build/storage.js
CHANGED
|
@@ -2,6 +2,11 @@ import fs from "fs/promises";
|
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { randomUUID } from "crypto";
|
|
4
4
|
import matter from "gray-matter";
|
|
5
|
+
import { validateEmbeddingRecord, validateNoteProjection, validateRelatedTo } from "./validation.js";
|
|
6
|
+
import { memoryId, isoDateString, isValidMemoryId } from "./brands.js";
|
|
7
|
+
import { attempt } from "./error-utils.js";
|
|
8
|
+
import { AtomicWriteInProgressError, MalformedNoteError, InvalidNoteIdError } from "./domain-errors.js";
|
|
9
|
+
export const RELATIONSHIP_TYPES = ["related-to", "explains", "example-of", "supersedes", "derives-from", "follows"];
|
|
5
10
|
export const NOTE_LIFECYCLES = ["temporary", "permanent"];
|
|
6
11
|
export const NOTE_ROLES = ["summary", "decision", "plan", "context", "reference", "research", "review"];
|
|
7
12
|
export const NOTE_IMPORTANCE_LEVELS = ["high", "normal", "low"];
|
|
@@ -37,7 +42,7 @@ export class Storage {
|
|
|
37
42
|
// ── Notes ──────────────────────────────────────────────────────────────────
|
|
38
43
|
async beginAtomicNotesWrite() {
|
|
39
44
|
if (this.stagedNotesDir) {
|
|
40
|
-
throw new
|
|
45
|
+
throw new AtomicWriteInProgressError();
|
|
41
46
|
}
|
|
42
47
|
this.stagedNotesDir = path.join(this.vaultPath, `.notes-staging-${randomUUID()}`);
|
|
43
48
|
this.stagedDeletedNoteIds.clear();
|
|
@@ -49,20 +54,9 @@ export class Storage {
|
|
|
49
54
|
}
|
|
50
55
|
const stagedDir = this.stagedNotesDir;
|
|
51
56
|
const stagedFiles = await fs.readdir(stagedDir).catch(() => []);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
await fs.rename(path.join(stagedDir, file), path.join(this.notesDir, file));
|
|
57
|
-
}
|
|
58
|
-
for (const noteId of this.stagedDeletedNoteIds) {
|
|
59
|
-
try {
|
|
60
|
-
await fs.unlink(this.notePath(noteId));
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
63
|
-
// already absent
|
|
64
|
-
}
|
|
65
|
-
}
|
|
57
|
+
const mdFiles = stagedFiles.filter((f) => f.endsWith(".md"));
|
|
58
|
+
await Promise.all(mdFiles.map((file) => fs.rename(path.join(stagedDir, file), path.join(this.notesDir, file))));
|
|
59
|
+
await Promise.allSettled([...this.stagedDeletedNoteIds].map((noteId) => fs.unlink(this.notePath(memoryId(noteId)))));
|
|
66
60
|
await this.clearAtomicNotesWrite();
|
|
67
61
|
}
|
|
68
62
|
async rollbackAtomicNotesWrite() {
|
|
@@ -85,51 +79,34 @@ export class Storage {
|
|
|
85
79
|
}
|
|
86
80
|
const stagedPath = this.stagedNotePath(id);
|
|
87
81
|
if (stagedPath) {
|
|
88
|
-
|
|
82
|
+
const result = await attempt("storage:readNote", async () => {
|
|
89
83
|
const raw = await fs.readFile(stagedPath, "utf-8");
|
|
90
84
|
return this.parseNote(id, raw);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
85
|
+
});
|
|
86
|
+
if (result.ok)
|
|
87
|
+
return result.value;
|
|
95
88
|
}
|
|
96
|
-
|
|
89
|
+
const result = await attempt("storage:readNote", async () => {
|
|
97
90
|
const raw = await fs.readFile(this.notePath(id), "utf-8");
|
|
98
91
|
return this.parseNote(id, raw);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return null;
|
|
102
|
-
}
|
|
92
|
+
});
|
|
93
|
+
return result.ok ? result.value : null;
|
|
103
94
|
}
|
|
104
95
|
async deleteNote(id) {
|
|
105
96
|
if (this.stagedNotesDir) {
|
|
106
97
|
this.stagedDeletedNoteIds.add(id);
|
|
107
98
|
const stagedPath = this.stagedNotePath(id);
|
|
108
99
|
if (stagedPath) {
|
|
109
|
-
|
|
110
|
-
await fs.unlink(stagedPath);
|
|
111
|
-
}
|
|
112
|
-
catch {
|
|
113
|
-
// ok
|
|
114
|
-
}
|
|
100
|
+
await attempt("storage:deleteStaged", () => fs.unlink(stagedPath));
|
|
115
101
|
}
|
|
116
102
|
return true;
|
|
117
103
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
try {
|
|
125
|
-
await fs.unlink(this.projectionPath(id));
|
|
126
|
-
}
|
|
127
|
-
catch { /* ok */ }
|
|
128
|
-
return true;
|
|
129
|
-
}
|
|
130
|
-
catch {
|
|
131
|
-
return false;
|
|
132
|
-
}
|
|
104
|
+
const [noteResult] = await Promise.allSettled([
|
|
105
|
+
fs.unlink(this.notePath(id)),
|
|
106
|
+
fs.unlink(this.embeddingPath(id)),
|
|
107
|
+
fs.unlink(this.projectionPath(id)),
|
|
108
|
+
]);
|
|
109
|
+
return noteResult.status === "fulfilled";
|
|
133
110
|
}
|
|
134
111
|
async listNotes(filter) {
|
|
135
112
|
const ids = await this.listNoteIds();
|
|
@@ -187,87 +164,79 @@ export class Storage {
|
|
|
187
164
|
await fs.writeFile(this.embeddingPath(record.id), JSON.stringify(record, null, 2), "utf-8");
|
|
188
165
|
}
|
|
189
166
|
async readEmbedding(id) {
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
return JSON.parse(raw);
|
|
193
|
-
}
|
|
194
|
-
catch {
|
|
167
|
+
const raw = await attempt("storage:readEmbedding", () => fs.readFile(this.embeddingPath(id), "utf-8"));
|
|
168
|
+
if (!raw.ok)
|
|
195
169
|
return null;
|
|
196
|
-
|
|
170
|
+
const parsed = await attempt("storage:readEmbedding", () => JSON.parse(raw.value));
|
|
171
|
+
if (!parsed.ok)
|
|
172
|
+
return null;
|
|
173
|
+
return validateEmbeddingRecord(parsed.value);
|
|
197
174
|
}
|
|
198
175
|
async listEmbeddings() {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
files = await fs.readdir(this.embeddingsDir);
|
|
202
|
-
}
|
|
203
|
-
catch {
|
|
204
|
-
return [];
|
|
205
|
-
}
|
|
176
|
+
const filesResult = await attempt("storage:listEmbeddings", () => fs.readdir(this.embeddingsDir), []);
|
|
177
|
+
const files = filesResult.ok ? filesResult.value : [];
|
|
206
178
|
const ids = files
|
|
207
179
|
.filter((file) => file.endsWith(".json"))
|
|
208
|
-
.map((file) => file.replace(/\.json$/, ""));
|
|
180
|
+
.map((file) => memoryId(file.replace(/\.json$/, "")));
|
|
209
181
|
const records = await Promise.all(ids.map((id) => this.readEmbedding(id)));
|
|
210
182
|
return records.filter((record) => record !== null);
|
|
211
183
|
}
|
|
212
184
|
// ── Projections ────────────────────────────────────────────────────────────
|
|
213
185
|
async writeProjection(projection) {
|
|
214
186
|
await fs.mkdir(this.projectionsDir, { recursive: true });
|
|
215
|
-
await fs.writeFile(this.projectionPath(projection.noteId), JSON.stringify(projection, null, 2), "utf-8");
|
|
187
|
+
await fs.writeFile(this.projectionPath(memoryId(projection.noteId)), JSON.stringify(projection, null, 2), "utf-8");
|
|
216
188
|
}
|
|
217
189
|
async readProjection(id) {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
return JSON.parse(raw);
|
|
221
|
-
}
|
|
222
|
-
catch {
|
|
190
|
+
const raw = await attempt("storage:readProjection", () => fs.readFile(this.projectionPath(id), "utf-8"));
|
|
191
|
+
if (!raw.ok)
|
|
223
192
|
return null;
|
|
224
|
-
|
|
193
|
+
const parsed = await attempt("storage:readProjection", () => JSON.parse(raw.value));
|
|
194
|
+
if (!parsed.ok)
|
|
195
|
+
return null;
|
|
196
|
+
return validateNoteProjection(parsed.value);
|
|
225
197
|
}
|
|
226
198
|
// ── Helpers ────────────────────────────────────────────────────────────────
|
|
227
199
|
notePath(id) {
|
|
200
|
+
validateNoteId(id);
|
|
228
201
|
return path.join(this.notesDir, `${id}.md`);
|
|
229
202
|
}
|
|
230
203
|
embeddingPath(id) {
|
|
204
|
+
validateNoteId(id);
|
|
231
205
|
return path.join(this.embeddingsDir, `${id}.json`);
|
|
232
206
|
}
|
|
233
207
|
projectionPath(id) {
|
|
208
|
+
validateNoteId(id);
|
|
234
209
|
return path.join(this.projectionsDir, `${id}.json`);
|
|
235
210
|
}
|
|
236
211
|
stagedNotePath(id) {
|
|
212
|
+
validateNoteId(id);
|
|
237
213
|
return this.stagedNotesDir
|
|
238
214
|
? path.join(this.stagedNotesDir, `${id}.md`)
|
|
239
215
|
: undefined;
|
|
240
216
|
}
|
|
241
217
|
async listNoteIds() {
|
|
242
218
|
const ids = new Set();
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
}
|
|
219
|
+
const filesResult = await attempt("storage:listNoteIds", () => fs.readdir(this.notesDir), []);
|
|
220
|
+
const files = filesResult.ok ? filesResult.value : [];
|
|
221
|
+
for (const file of files) {
|
|
222
|
+
if (file.endsWith(".md")) {
|
|
223
|
+
ids.add(file.replace(/\.md$/, ""));
|
|
249
224
|
}
|
|
250
225
|
}
|
|
251
|
-
catch {
|
|
252
|
-
// treat as empty
|
|
253
|
-
}
|
|
254
226
|
if (this.stagedNotesDir) {
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
227
|
+
const stagedDir = this.stagedNotesDir;
|
|
228
|
+
const stagedResult = await attempt("storage:listStagedNoteIds", () => fs.readdir(stagedDir), []);
|
|
229
|
+
const stagedFiles = stagedResult.ok ? stagedResult.value : [];
|
|
230
|
+
for (const file of stagedFiles) {
|
|
231
|
+
if (file.endsWith(".md")) {
|
|
232
|
+
ids.add(file.replace(/\.md$/, ""));
|
|
261
233
|
}
|
|
262
234
|
}
|
|
263
|
-
catch {
|
|
264
|
-
// treat as empty
|
|
265
|
-
}
|
|
266
235
|
}
|
|
267
236
|
for (const deletedId of this.stagedDeletedNoteIds) {
|
|
268
237
|
ids.delete(deletedId);
|
|
269
238
|
}
|
|
270
|
-
return [...ids].sort();
|
|
239
|
+
return [...ids].sort().map(memoryId);
|
|
271
240
|
}
|
|
272
241
|
async clearAtomicNotesWrite() {
|
|
273
242
|
const stagedDir = this.stagedNotesDir;
|
|
@@ -279,7 +248,7 @@ export class Storage {
|
|
|
279
248
|
}
|
|
280
249
|
parseNote(id, raw) {
|
|
281
250
|
if (!raw.trimStart().startsWith("---")) {
|
|
282
|
-
throw new
|
|
251
|
+
throw new MalformedNoteError(id);
|
|
283
252
|
}
|
|
284
253
|
const parsed = matter(raw);
|
|
285
254
|
return {
|
|
@@ -291,9 +260,9 @@ export class Storage {
|
|
|
291
260
|
role: normalizeRole(parsed.data["role"]),
|
|
292
261
|
importance: normalizeImportance(parsed.data["importance"]),
|
|
293
262
|
alwaysLoad: normalizeAlwaysLoad(parsed.data["alwaysLoad"]),
|
|
294
|
-
project: parsed.data["project"],
|
|
295
|
-
projectName: parsed.data["projectName"],
|
|
296
|
-
relatedTo: parsed.data["relatedTo"],
|
|
263
|
+
project: typeof parsed.data["project"] === "string" ? parsed.data["project"] : undefined,
|
|
264
|
+
projectName: typeof parsed.data["projectName"] === "string" ? parsed.data["projectName"] : undefined,
|
|
265
|
+
relatedTo: validateRelatedTo(parsed.data["relatedTo"]),
|
|
297
266
|
createdAt: toIsoString(parsed.data["createdAt"]),
|
|
298
267
|
updatedAt: toIsoString(parsed.data["updatedAt"]),
|
|
299
268
|
memoryVersion: normalizeMemoryVersion(parsed.data["memoryVersion"]),
|
|
@@ -324,11 +293,16 @@ function isNoteRole(value) {
|
|
|
324
293
|
function isNoteImportance(value) {
|
|
325
294
|
return typeof value === "string" && NOTE_IMPORTANCE_LEVELS.includes(value);
|
|
326
295
|
}
|
|
296
|
+
function validateNoteId(id) {
|
|
297
|
+
if (!isValidMemoryId(id)) {
|
|
298
|
+
throw new InvalidNoteIdError(id);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
327
301
|
function toIsoString(value) {
|
|
328
302
|
if (value instanceof Date)
|
|
329
|
-
return value.toISOString();
|
|
303
|
+
return isoDateString(value.toISOString());
|
|
330
304
|
if (typeof value === "string" && value)
|
|
331
|
-
return value;
|
|
332
|
-
return new Date().toISOString();
|
|
305
|
+
return isoDateString(value);
|
|
306
|
+
return isoDateString(new Date().toISOString());
|
|
333
307
|
}
|
|
334
308
|
//# sourceMappingURL=storage.js.map
|
package/build/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAErG,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,CAAU,CAAC;AAK7H,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,WAAW,CAA6C,CAAC;AACtG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAwC,CAAC;AAC/I,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAA8C,CAAC;AAkC7G,MAAM,OAAO,OAAO;IACT,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,aAAa,CAAS;IACtB,cAAc,CAAS;IACxB,cAAc,CAAU;IACxB,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjD;;;;;OAKG;IACH,YAAY,SAAiB,EAAE,qBAA8B;QAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnD,kEAAkE;QAClE,qFAAqF;QACrF,IAAI,CAAC,aAAa,GAAG,qBAAqB;YACxC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC5C,2EAA2E;QAC3E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,8EAA8E;IAE9E,KAAK,CAAC,qBAAqB;QACzB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,0BAA0B,EAAE,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,UAAU,EAAE,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;QACtC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAC7F,CAAC;QAEF,MAAM,OAAO,CAAC,UAAU,CACtB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC3F,CAAC;QAEF,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAU;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc;YAClC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE3B,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAY;QACzB,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;gBAC1D,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACnD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,EAAE;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QACrC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAY;QAC3B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,OAAO,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YAC5C,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACjC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;SACnC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAoC;QAClD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,KAAK,GAAW,EAAE,CAAC;QAEzB,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBAC5B,IAAI,IAAI,CAAC,OAAO;wBAAE,SAAS;gBAC7B,CAAC;qBAAM,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACxC,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;wBAAE,SAAS;gBAChD,CAAC;YACH,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,aAAa,CAAC,IAAU;QAC9B,MAAM,WAAW,GAA4B;YAC3C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;QACF,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACtC,WAAW,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9C,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACzC,WAAW,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9C,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YACtC,IAAI,IAAI,CAAC,WAAW;gBAAE,WAAW,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACtE,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC/D,WAAW,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QACpD,CAAC;QACD,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,8EAA8E;IAE9E,KAAK,CAAC,cAAc,CAAC,MAAuB;QAC1C,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAC/B,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAY;QAC9B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACvG,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAc,CAAC,CAAC;QAClH,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,GAAG,GAAG,KAAK;aACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAA6B,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IAChF,CAAC;IAED,8EAA8E;IAE9E,KAAK,CAAC,eAAe,CAAC,UAA0B;QAC9C,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAChD,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EACnC,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAY;QAC/B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,8EAA8E;IAE9E,QAAQ,CAAC,EAAY;QACnB,cAAc,CAAC,EAAE,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,aAAa,CAAC,EAAY;QACxB,cAAc,CAAC,EAAE,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,cAAc,CAAC,EAAY;QACzB,cAAc,CAAC,EAAE,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAEO,cAAc,CAAC,EAAY;QACjC,cAAc,CAAC,EAAE,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC,cAAc;YACxB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAE9B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAc,CAAC,CAAC;QAC1G,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;YACtC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAc,CAAC,CAAC;YAC7G,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAElC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,EAAY,EAAE,GAAW;QACzC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO;YACL,EAAE;YACF,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACjC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;YAC9B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAC/B,SAAS,EAAE,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxC,UAAU,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1D,UAAU,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACxF,WAAW,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;YACpG,SAAS,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtD,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChD,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChD,aAAa,EAAE,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACpE,CAAC;IACJ,CAAC;CACF;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;AAC3D,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAiB,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,sBAAsB,CAAC,QAAQ,CAAC,KAAuB,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,cAAc,CAAC,EAAU;IAChC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACrE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IACpE,OAAO,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACjD,CAAC"}
|