@dollhousemcp/mcp-server 1.8.0 → 1.9.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.
Files changed (56) hide show
  1. package/CHANGELOG.md +118 -0
  2. package/README.github.md +126 -8
  3. package/README.md +1 -1
  4. package/README.md.backup +50 -795
  5. package/README.npm.md +1 -1
  6. package/dist/collection/CollectionBrowser.d.ts.map +1 -1
  7. package/dist/collection/CollectionBrowser.js +6 -5
  8. package/dist/config/ConfigWizardDisplay.d.ts +64 -0
  9. package/dist/config/ConfigWizardDisplay.d.ts.map +1 -0
  10. package/dist/config/ConfigWizardDisplay.js +150 -0
  11. package/dist/config/WizardFirstResponse.d.ts +25 -0
  12. package/dist/config/WizardFirstResponse.d.ts.map +1 -0
  13. package/dist/config/WizardFirstResponse.js +118 -0
  14. package/dist/elements/memories/Memory.d.ts +190 -0
  15. package/dist/elements/memories/Memory.d.ts.map +1 -0
  16. package/dist/elements/memories/Memory.js +627 -0
  17. package/dist/elements/memories/MemoryManager.d.ts +136 -0
  18. package/dist/elements/memories/MemoryManager.d.ts.map +1 -0
  19. package/dist/elements/memories/MemoryManager.js +607 -0
  20. package/dist/elements/memories/MemorySearchIndex.d.ts +156 -0
  21. package/dist/elements/memories/MemorySearchIndex.d.ts.map +1 -0
  22. package/dist/elements/memories/MemorySearchIndex.js +690 -0
  23. package/dist/elements/memories/constants.d.ts +95 -0
  24. package/dist/elements/memories/constants.d.ts.map +1 -0
  25. package/dist/elements/memories/constants.js +102 -0
  26. package/dist/elements/memories/index.d.ts +7 -0
  27. package/dist/elements/memories/index.d.ts.map +1 -0
  28. package/dist/elements/memories/index.js +7 -0
  29. package/dist/elements/memories/utils.d.ts +68 -0
  30. package/dist/elements/memories/utils.d.ts.map +1 -0
  31. package/dist/elements/memories/utils.js +137 -0
  32. package/dist/generated/version.d.ts +2 -2
  33. package/dist/generated/version.js +3 -3
  34. package/dist/scripts/scripts/run-config-wizard.js +57 -0
  35. package/dist/scripts/src/config/ConfigManager.js +799 -0
  36. package/dist/scripts/src/config/ConfigWizard.js +368 -0
  37. package/dist/scripts/src/errors/SecurityError.js +47 -0
  38. package/dist/scripts/src/security/constants.js +28 -0
  39. package/dist/scripts/src/security/contentValidator.js +415 -0
  40. package/dist/scripts/src/security/errors.js +32 -0
  41. package/dist/scripts/src/security/regexValidator.js +217 -0
  42. package/dist/scripts/src/security/secureYamlParser.js +272 -0
  43. package/dist/scripts/src/security/securityMonitor.js +111 -0
  44. package/dist/scripts/src/security/validators/unicodeValidator.js +315 -0
  45. package/dist/scripts/src/utils/logger.js +288 -0
  46. package/dist/security/audit/SecurityAuditor.d.ts.map +1 -1
  47. package/dist/security/audit/SecurityAuditor.js +24 -2
  48. package/dist/security/audit/config/suppressions.d.ts.map +1 -1
  49. package/dist/security/audit/config/suppressions.js +91 -1
  50. package/dist/security/securityMonitor.d.ts +1 -1
  51. package/dist/security/securityMonitor.d.ts.map +1 -1
  52. package/dist/security/securityMonitor.js +1 -1
  53. package/dist/tools/getWelcomeMessage.d.ts +41 -0
  54. package/dist/tools/getWelcomeMessage.d.ts.map +1 -0
  55. package/dist/tools/getWelcomeMessage.js +109 -0
  56. package/package.json +1 -1
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Memory Search Index - High-performance indexed search for Memory elements
3
+ *
4
+ * Addresses issue #984: Implement search indexing for Memory element scalability
5
+ *
6
+ * Features:
7
+ * - Tag index for O(1) tag-based queries
8
+ * - Content index using inverted index pattern
9
+ * - Temporal index for date range queries
10
+ * - Privacy level index for filtered access
11
+ * - Incremental index updates
12
+ * - Optional persistence
13
+ * - Configurable thresholds
14
+ */
15
+ import { MemoryEntry } from './Memory.js';
16
+ import { PrivacyLevel } from './constants.js';
17
+ export interface SearchIndexConfig {
18
+ /**
19
+ * Enable indexing when memory has more than this many entries
20
+ * Default: 100
21
+ */
22
+ indexThreshold?: number;
23
+ /**
24
+ * Enable content index (more memory intensive)
25
+ * Default: true
26
+ */
27
+ enableContentIndex?: boolean;
28
+ /**
29
+ * Maximum number of terms to index per entry
30
+ * Default: 100
31
+ */
32
+ maxTermsPerEntry?: number;
33
+ /**
34
+ * Minimum term length to index
35
+ * Default: 2
36
+ */
37
+ minTermLength?: number;
38
+ /**
39
+ * Enable index persistence to disk
40
+ * Default: false
41
+ */
42
+ enablePersistence?: boolean;
43
+ /**
44
+ * Maximum memory usage in MB
45
+ * Default: 100
46
+ */
47
+ maxMemoryMB?: number;
48
+ /**
49
+ * Enable LRU eviction when memory limit is reached
50
+ * Default: true
51
+ */
52
+ enableLRUEviction?: boolean;
53
+ }
54
+ export interface SearchIndexStats {
55
+ isIndexed: boolean;
56
+ entryCount: number;
57
+ tagCount: number;
58
+ termCount: number;
59
+ lastBuilt?: Date;
60
+ buildTimeMs?: number;
61
+ memoryUsageBytes?: number;
62
+ }
63
+ export interface SearchQuery {
64
+ tags?: string[];
65
+ content?: string;
66
+ dateFrom?: Date;
67
+ dateTo?: Date;
68
+ privacyLevel?: PrivacyLevel;
69
+ limit?: number;
70
+ offset?: number;
71
+ }
72
+ export interface SearchResult {
73
+ entry: MemoryEntry;
74
+ score: number;
75
+ matches: {
76
+ tags?: string[];
77
+ terms?: string[];
78
+ };
79
+ }
80
+ /**
81
+ * Main search index for Memory elements
82
+ */
83
+ export declare class MemorySearchIndex {
84
+ private readonly config;
85
+ private tagIndex;
86
+ private privacyIndex;
87
+ private contentIndex;
88
+ private temporalIndex;
89
+ private entriesCache;
90
+ private isBuilt;
91
+ private isBuilding;
92
+ private buildQueue;
93
+ private stats;
94
+ private readonly maxMemoryBytes;
95
+ private memoryUsageBytes;
96
+ constructor(config?: SearchIndexConfig);
97
+ /**
98
+ * Build or rebuild the index from entries
99
+ * FIX: Added race condition protection with isBuilding flag and build queue
100
+ */
101
+ buildIndex(entries: Map<string, MemoryEntry>): Promise<void>;
102
+ private _doBuildIndex;
103
+ /**
104
+ * Add a single entry to the index (incremental update)
105
+ */
106
+ addEntry(entry: MemoryEntry): void;
107
+ /**
108
+ * Remove an entry from the index
109
+ */
110
+ removeEntry(entryId: string): void;
111
+ /**
112
+ * Search the index with multiple criteria
113
+ */
114
+ search(query: SearchQuery, entries: Map<string, MemoryEntry>): SearchResult[];
115
+ /**
116
+ * Fallback linear search when index is not available
117
+ */
118
+ private linearSearch;
119
+ /**
120
+ * Internal helper to add entry to all indexes
121
+ */
122
+ private addToIndex;
123
+ /**
124
+ * Clear all indexes
125
+ */
126
+ clear(): void;
127
+ /**
128
+ * Get index statistics
129
+ */
130
+ getStats(): SearchIndexStats;
131
+ /**
132
+ * Check if index is built
133
+ */
134
+ get isIndexed(): boolean;
135
+ /**
136
+ * Calculate and update memory usage
137
+ * FIX: Added memory monitoring for content index
138
+ */
139
+ private updateMemoryUsage;
140
+ /**
141
+ * Evict least recently used entries to free memory
142
+ * FIX: Added LRU eviction for memory management
143
+ */
144
+ private evictLRUEntries;
145
+ /**
146
+ * Serialize index to JSON for persistence
147
+ * FIX: Added index serialization for cold start optimization
148
+ */
149
+ serialize(): string;
150
+ /**
151
+ * Deserialize index from JSON
152
+ * FIX: Added index deserialization for faster startup
153
+ */
154
+ deserialize(data: string, entries: Map<string, MemoryEntry>): void;
155
+ }
156
+ //# sourceMappingURL=MemorySearchIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemorySearchIndex.d.ts","sourceRoot":"","sources":["../../../src/elements/memories/MemorySearchIndex.ts"],"names":[],"mappings":"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"}