@dollhousemcp/mcp-server 1.3.2 → 1.4.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 (71) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/README.md +100 -5
  3. package/dist/collection/ElementInstaller.d.ts.map +1 -1
  4. package/dist/collection/ElementInstaller.js +2 -4
  5. package/dist/elements/agents/AgentManager.js +2 -2
  6. package/dist/elements/index.d.ts +0 -2
  7. package/dist/elements/index.d.ts.map +1 -1
  8. package/dist/elements/index.js +1 -3
  9. package/dist/elements/skills/Skill.d.ts.map +1 -1
  10. package/dist/elements/skills/Skill.js +3 -2
  11. package/dist/elements/skills/SkillManager.d.ts +89 -0
  12. package/dist/elements/skills/SkillManager.d.ts.map +1 -0
  13. package/dist/elements/skills/SkillManager.js +412 -0
  14. package/dist/elements/skills/index.d.ts +1 -0
  15. package/dist/elements/skills/index.d.ts.map +1 -1
  16. package/dist/elements/skills/index.js +2 -1
  17. package/dist/elements/templates/TemplateManager.d.ts +9 -0
  18. package/dist/elements/templates/TemplateManager.d.ts.map +1 -1
  19. package/dist/elements/templates/TemplateManager.js +28 -1
  20. package/dist/index.d.ts +104 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1166 -6
  23. package/dist/portfolio/PortfolioManager.d.ts.map +1 -1
  24. package/dist/portfolio/PortfolioManager.js +1 -3
  25. package/dist/portfolio/types.d.ts +6 -6
  26. package/dist/portfolio/types.d.ts.map +1 -1
  27. package/dist/portfolio/types.js +7 -7
  28. package/dist/security/audit/config/suppressions.d.ts.map +1 -1
  29. package/dist/security/audit/config/suppressions.js +6 -1
  30. package/dist/server/ServerSetup.d.ts.map +1 -1
  31. package/dist/server/ServerSetup.js +5 -2
  32. package/dist/server/tools/CollectionTools.js +6 -6
  33. package/dist/server/tools/ElementTools.d.ts +11 -0
  34. package/dist/server/tools/ElementTools.d.ts.map +1 -0
  35. package/dist/server/tools/ElementTools.js +303 -0
  36. package/dist/server/tools/index.d.ts +1 -0
  37. package/dist/server/tools/index.d.ts.map +1 -1
  38. package/dist/server/tools/index.js +2 -1
  39. package/dist/server/types.d.ts +31 -0
  40. package/dist/server/types.d.ts.map +1 -1
  41. package/dist/server/types.js +1 -1
  42. package/dist/utils/filesystem.d.ts.map +1 -1
  43. package/dist/utils/filesystem.js +17 -5
  44. package/package.json +1 -1
  45. package/dist/elements/ensembles/Ensemble.d.ts +0 -144
  46. package/dist/elements/ensembles/Ensemble.d.ts.map +0 -1
  47. package/dist/elements/ensembles/Ensemble.js +0 -860
  48. package/dist/elements/ensembles/EnsembleManager.d.ts +0 -85
  49. package/dist/elements/ensembles/EnsembleManager.d.ts.map +0 -1
  50. package/dist/elements/ensembles/EnsembleManager.js +0 -378
  51. package/dist/elements/ensembles/constants.d.ts +0 -73
  52. package/dist/elements/ensembles/constants.d.ts.map +0 -1
  53. package/dist/elements/ensembles/constants.js +0 -92
  54. package/dist/elements/ensembles/index.d.ts +0 -8
  55. package/dist/elements/ensembles/index.d.ts.map +0 -1
  56. package/dist/elements/ensembles/index.js +0 -8
  57. package/dist/elements/ensembles/types.d.ts +0 -92
  58. package/dist/elements/ensembles/types.d.ts.map +0 -1
  59. package/dist/elements/ensembles/types.js +0 -8
  60. package/dist/elements/memories/Memory.d.ts +0 -110
  61. package/dist/elements/memories/Memory.d.ts.map +0 -1
  62. package/dist/elements/memories/Memory.js +0 -470
  63. package/dist/elements/memories/MemoryManager.d.ts +0 -86
  64. package/dist/elements/memories/MemoryManager.d.ts.map +0 -1
  65. package/dist/elements/memories/MemoryManager.js +0 -435
  66. package/dist/elements/memories/constants.d.ts +0 -42
  67. package/dist/elements/memories/constants.d.ts.map +0 -1
  68. package/dist/elements/memories/constants.js +0 -49
  69. package/dist/elements/memories/index.d.ts +0 -6
  70. package/dist/elements/memories/index.d.ts.map +0 -1
  71. package/dist/elements/memories/index.js +0 -6
@@ -1,144 +0,0 @@
1
- /**
2
- * Ensemble Element - Orchestrates multiple elements working together
3
- *
4
- * Ensembles allow combining multiple elements (personas, skills, templates, agents, memories)
5
- * into cohesive units with controlled activation, conflict resolution, and shared context.
6
- *
7
- * SECURITY MEASURES IMPLEMENTED:
8
- * 1. Circular dependency detection with path tracking
9
- * 2. Resource limits (max elements, nesting depth, activation time)
10
- * 3. Input sanitization for all user-provided data
11
- * 4. Activation timeout protection
12
- * 5. Context size limits to prevent memory exhaustion
13
- * 6. Audit logging for security events
14
- * 7. Condition validation to prevent code injection
15
- */
16
- import { BaseElement } from '../BaseElement.js';
17
- import { IElement, ElementValidationResult, ElementStatus } from '../../types/elements/index.js';
18
- import { EnsembleMetadata, EnsembleElement, ElementRole, EnsembleActivationResult, ContextConflict } from './types.js';
19
- export declare class Ensemble extends BaseElement implements IElement {
20
- private elements;
21
- private elementInstances;
22
- private sharedContext;
23
- private activationInProgress;
24
- private lastActivationResult?;
25
- constructor(metadata?: Partial<EnsembleMetadata>);
26
- /**
27
- * Add an element to the ensemble
28
- */
29
- addElement(elementId: string, elementType: string, role?: ElementRole, options?: {
30
- priority?: number;
31
- activationCondition?: string;
32
- dependencies?: string[];
33
- }): void;
34
- /**
35
- * Remove an element from the ensemble
36
- */
37
- removeElement(elementId: string): void;
38
- /**
39
- * Activate the ensemble and all its elements based on strategy
40
- */
41
- activate(): Promise<void>;
42
- /**
43
- * Deactivate the ensemble and all its elements
44
- */
45
- deactivate(): Promise<void>;
46
- /**
47
- * Validate the ensemble configuration
48
- */
49
- validate(): ElementValidationResult;
50
- /**
51
- * Check if adding an element would create a circular dependency
52
- * MEDIUM FIX: Remove type safety bypass
53
- * Previously: Used 'as any' which bypasses TypeScript checking
54
- * Now: Creates proper EnsembleElement with all required fields
55
- */
56
- private wouldCreateCircularDependency;
57
- /**
58
- * Find circular dependency path
59
- */
60
- private findCircularDependency;
61
- /**
62
- * Detect all circular dependencies in the ensemble
63
- */
64
- private detectAllCircularDependencies;
65
- /**
66
- * Check if graph has any cycle
67
- */
68
- private hasCycle;
69
- /**
70
- * Check for cycle starting from a specific node
71
- */
72
- private hasCycleFrom;
73
- /**
74
- * Validate activation condition syntax
75
- */
76
- private isValidCondition;
77
- /**
78
- * Get activation order based on dependencies and strategy
79
- */
80
- private getActivationOrder;
81
- /**
82
- * Activate elements sequentially
83
- */
84
- private activateSequential;
85
- /**
86
- * Activate all elements simultaneously as one unified entity
87
- */
88
- private activateAll;
89
- /**
90
- * Activate elements by priority
91
- */
92
- private activatePriority;
93
- /**
94
- * Activate elements based on conditions
95
- */
96
- private activateConditional;
97
- /**
98
- * Activate a single element
99
- * CRITICAL FIX: Implement actual element loading and activation
100
- * Previously: Just simulated with timeout
101
- * Now: Loads element from portfolio and activates it
102
- */
103
- private activateElement;
104
- /**
105
- * Evaluate a simple condition
106
- * CRITICAL FIX: Implement actual condition evaluation
107
- * Previously: Always returned true
108
- * Now: Parses and evaluates simple conditions like "element.property == value"
109
- *
110
- * Supported operators: ==, !=, >, <, >=, <=
111
- * Supported properties: active, status, priority
112
- * Example: "element1.active == true" or "element2.priority > 50"
113
- */
114
- private evaluateCondition;
115
- /**
116
- * Get shared context value
117
- */
118
- getContextValue(key: string): any;
119
- /**
120
- * Set shared context value with conflict resolution
121
- */
122
- setContextValue(key: string, value: any, elementId: string): ContextConflict | null;
123
- /**
124
- * Get all elements in the ensemble
125
- */
126
- getElements(): Map<string, EnsembleElement>;
127
- /**
128
- * Get activation result
129
- */
130
- getLastActivationResult(): EnsembleActivationResult | undefined;
131
- /**
132
- * Get current element status
133
- */
134
- getStatus(): ElementStatus;
135
- /**
136
- * Serialize ensemble to string
137
- */
138
- serialize(): string;
139
- /**
140
- * Deserialize ensemble from string
141
- */
142
- deserialize(data: string): void;
143
- }
144
- //# sourceMappingURL=Ensemble.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Ensemble.d.ts","sourceRoot":"","sources":["../../../src/elements/ensembles/Ensemble.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAsC,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAOrI,OAAO,EACL,gBAAgB,EAChB,eAAe,EAGf,WAAW,EAEX,wBAAwB,EAExB,eAAe,EAEhB,MAAM,YAAY,CAAC;AAYpB,qBAAa,QAAS,SAAQ,WAAY,YAAW,QAAQ;IAC3D,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,gBAAgB,CAAoC;IAC5D,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,oBAAoB,CAAC,CAA2B;gBAE5C,QAAQ,GAAE,OAAO,CAAC,gBAAgB,CAAM;IA8DpD;;OAEG;IACI,UAAU,CACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,WAA4C,EAClD,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,GACL,IAAI;IA0EP;;OAEG;IACI,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IA+B7C;;OAEG;IACmB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAiE/C;;OAEG;IACmB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BjD;;OAEG;IACa,QAAQ,IAAI,uBAAuB;IAqDnD;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B;IAkBrC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqC9B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAcrC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAgChB;;OAEG;IACH,OAAO,CAAC,YAAY;IAyBpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA6B1B;;OAEG;YACW,kBAAkB;IAgChC;;OAEG;YACW,WAAW;IA4BzB;;OAEG;YACW,gBAAgB;IAe9B;;OAEG;YACW,mBAAmB;IAiCjC;;;;;OAKG;YACW,eAAe;IA+E7B;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAoFzB;;OAEG;IACI,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAIxC;;OAEG;IACI,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IA0E1F;;OAEG;IACI,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;IAIlD;;OAEG;IACI,uBAAuB,IAAI,wBAAwB,GAAG,SAAS;IAItE;;OAEG;IACa,SAAS,IAAI,aAAa;IAI1C;;OAEG;IACa,SAAS,IAAI,MAAM;IAanC;;OAEG;IACa,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAqChD"}