@dollhousemcp/mcp-server 1.9.16 → 1.9.18
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 +98 -0
- package/LICENSE +11 -0
- package/README.md.backup +64 -0
- package/data/README.md +113 -0
- package/dist/config/ConfigManager.d.ts +37 -0
- package/dist/config/ConfigManager.d.ts.map +1 -1
- package/dist/config/ConfigManager.js +128 -58
- package/dist/elements/memories/Memory.d.ts +113 -3
- package/dist/elements/memories/Memory.d.ts.map +1 -1
- package/dist/elements/memories/Memory.js +308 -35
- package/dist/elements/memories/MemoryManager.d.ts.map +1 -1
- package/dist/elements/memories/MemoryManager.js +7 -1
- package/dist/elements/memories/constants.d.ts +10 -0
- package/dist/elements/memories/constants.d.ts.map +1 -1
- package/dist/elements/memories/constants.js +12 -1
- package/dist/generated/version.d.ts +2 -2
- package/dist/generated/version.js +3 -3
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +101 -4
- package/dist/security/audit/config/suppressions.d.ts.map +1 -1
- package/dist/security/audit/config/suppressions.js +51 -1
- package/dist/security/constants.d.ts +1 -0
- package/dist/security/constants.d.ts.map +1 -1
- package/dist/security/constants.js +8 -2
- package/dist/security/contentValidator.d.ts +33 -2
- package/dist/security/contentValidator.d.ts.map +1 -1
- package/dist/security/contentValidator.js +96 -32
- package/dist/security/encryption/ContextTracker.d.ts +85 -0
- package/dist/security/encryption/ContextTracker.d.ts.map +1 -0
- package/dist/security/encryption/ContextTracker.js +115 -0
- package/dist/security/encryption/PatternDecryptor.d.ts +72 -0
- package/dist/security/encryption/PatternDecryptor.d.ts.map +1 -0
- package/dist/security/encryption/PatternDecryptor.js +186 -0
- package/dist/security/encryption/PatternEncryptor.d.ts +142 -0
- package/dist/security/encryption/PatternEncryptor.d.ts.map +1 -0
- package/dist/security/encryption/PatternEncryptor.js +282 -0
- package/dist/security/encryption/index.d.ts +19 -0
- package/dist/security/encryption/index.d.ts.map +1 -0
- package/dist/security/encryption/index.js +16 -0
- package/dist/security/index.d.ts +1 -0
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +2 -1
- package/dist/security/pathValidator.d.ts +17 -0
- package/dist/security/pathValidator.d.ts.map +1 -1
- package/dist/security/pathValidator.js +93 -41
- package/dist/security/telemetry/SecurityTelemetry.d.ts +80 -0
- package/dist/security/telemetry/SecurityTelemetry.d.ts.map +1 -0
- package/dist/security/telemetry/SecurityTelemetry.js +218 -0
- package/dist/security/validation/BackgroundValidator.d.ts +132 -0
- package/dist/security/validation/BackgroundValidator.d.ts.map +1 -0
- package/dist/security/validation/BackgroundValidator.js +300 -0
- package/dist/security/validation/PatternExtractor.d.ts +108 -0
- package/dist/security/validation/PatternExtractor.d.ts.map +1 -0
- package/dist/security/validation/PatternExtractor.js +251 -0
- package/dist/security/validators/unicodeValidator.d.ts.map +1 -1
- package/dist/security/validators/unicodeValidator.js +11 -3
- package/dist/server/resources/CapabilityIndexResource.d.ts +116 -27
- package/dist/server/resources/CapabilityIndexResource.d.ts.map +1 -1
- package/dist/server/resources/CapabilityIndexResource.js +86 -10
- package/dist/telemetry/OperationalTelemetry.d.ts +108 -0
- package/dist/telemetry/OperationalTelemetry.d.ts.map +1 -0
- package/dist/telemetry/OperationalTelemetry.js +398 -0
- package/dist/telemetry/clientDetector.d.ts +70 -0
- package/dist/telemetry/clientDetector.d.ts.map +1 -0
- package/dist/telemetry/clientDetector.js +197 -0
- package/dist/telemetry/index.d.ts +12 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +12 -0
- package/dist/telemetry/types.d.ts +55 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +20 -0
- package/package.json +25 -16
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,103 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [Unreleased]
|
|
4
|
+
|
|
5
|
+
## [1.9.18] - 2025-10-17
|
|
6
|
+
|
|
7
|
+
**Feature Release**: PostHog remote telemetry (opt-in), MCP Resources support, and operational telemetry foundation
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **PostHog Remote Telemetry Integration** (#1357, #1361) - Opt-in remote analytics
|
|
12
|
+
- **Simple opt-in**: Set `DOLLHOUSE_TELEMETRY_OPTIN=true` to enable remote telemetry
|
|
13
|
+
- Uses shared PostHog project for community-wide insights
|
|
14
|
+
- Default PostHog project key embedded (safe to expose - write-only)
|
|
15
|
+
- Backward compatible with custom `POSTHOG_API_KEY` for enterprise deployments
|
|
16
|
+
- Multiple control levels:
|
|
17
|
+
- `DOLLHOUSE_TELEMETRY_OPTIN=true` - Enable remote telemetry
|
|
18
|
+
- `DOLLHOUSE_TELEMETRY_NO_REMOTE=true` - Local only, no PostHog
|
|
19
|
+
- `DOLLHOUSE_TELEMETRY=false` - Disable all telemetry
|
|
20
|
+
- GDPR compliant - fully opt-in by design
|
|
21
|
+
- See [docs/privacy/OPERATIONAL_TELEMETRY.md](docs/privacy/OPERATIONAL_TELEMETRY.md) for complete privacy policy
|
|
22
|
+
- Future incentive program planned for community contributors
|
|
23
|
+
|
|
24
|
+
- **MCP Resources Support** (#1360) - Future-proof implementation of MCP Resources protocol
|
|
25
|
+
- Three resource variants exposed: summary (~3K tokens), full (~40K tokens), and stats (JSON)
|
|
26
|
+
- Capability index exposed as MCP resources for intelligent element discovery
|
|
27
|
+
- **Status**: Non-functional in Claude Code (Oct 2025) - discovery only, not read
|
|
28
|
+
- **Default**: Disabled for safety - zero overhead when not enabled
|
|
29
|
+
- Manual attachment works in Claude Desktop and VS Code
|
|
30
|
+
- Comprehensive user documentation at `docs/configuration/MCP_RESOURCES.md`
|
|
31
|
+
- Research document at `docs/development/MCP_RESOURCES_SUPPORT_RESEARCH_2025-10-16.md`
|
|
32
|
+
- Configuration options: `resources.enabled`, `resources.expose[]`, `resources.cache_ttl`
|
|
33
|
+
- Early adopter advantage - ready when MCP clients implement full resource reading
|
|
34
|
+
|
|
35
|
+
- **Operational Telemetry Foundation** (#1358, #1359) - Minimal installation tracking
|
|
36
|
+
- Tracks single installation event on first run (version, OS, Node version, MCP client)
|
|
37
|
+
- Local-only logging to `~/.dollhouse/telemetry.log` by default
|
|
38
|
+
- Simple opt-out via `DOLLHOUSE_TELEMETRY=false` environment variable
|
|
39
|
+
- Privacy-first design: no PII, no behavioral data, no user content
|
|
40
|
+
- Anonymous UUID generated locally for installation identification
|
|
41
|
+
- Graceful error handling (never crashes if files can't be written)
|
|
42
|
+
- Zero performance impact when opted out
|
|
43
|
+
|
|
44
|
+
### Documentation
|
|
45
|
+
|
|
46
|
+
- Added comprehensive telemetry incentive strategy guide
|
|
47
|
+
- Updated privacy policy with PostHog opt-in details
|
|
48
|
+
- Added session notes for telemetry implementation
|
|
49
|
+
- Enhanced README with telemetry opt-in section
|
|
50
|
+
|
|
51
|
+
### Test Results
|
|
52
|
+
|
|
53
|
+
- 2546 tests passing
|
|
54
|
+
- Test coverage: >96% maintained
|
|
55
|
+
- All CI checks passing across all platforms
|
|
56
|
+
|
|
57
|
+
## [1.9.17] - 2025-10-08
|
|
58
|
+
|
|
59
|
+
Test isolation and repository cleanup patch
|
|
60
|
+
|
|
61
|
+
### Fixed
|
|
62
|
+
- **Performance Test Isolation (#1288)**: Fixed flaky IndexOptimization test by isolating performance tests
|
|
63
|
+
- Created dedicated `jest.performance.config.cjs` with 4 parallel workers
|
|
64
|
+
- Main test suite no longer runs performance tests concurrently (prevents resource contention)
|
|
65
|
+
- IndexOptimization test now consistently passes at 60-70ms (was failing at 926ms due to interference)
|
|
66
|
+
- Added `test:performance` and `test:all` npm scripts
|
|
67
|
+
- CI workflows updated with dedicated performance test step
|
|
68
|
+
- Execution time: 18.7s with 4 workers vs 10+ minutes serial
|
|
69
|
+
- Reduced code duplication by using filter to inherit base config patterns
|
|
70
|
+
|
|
71
|
+
- **Repository Cleanup (#1287)**: Removed ignored files from Git tracking
|
|
72
|
+
- Removed `.obsidian/` directory (4 files) and `test-results/` (3 files) from version control
|
|
73
|
+
- Files remain available locally but no longer tracked in repository
|
|
74
|
+
- Follows gitignore additions from PR #1276
|
|
75
|
+
|
|
76
|
+
- **Flaky Test Management (#1286)**: Skip flaky GitHubRateLimiter tests
|
|
77
|
+
- Marked intermittent GitHub API rate limiter tests as skipped
|
|
78
|
+
- Prevents CI failures from external API dependencies
|
|
79
|
+
- Tests can be run manually when needed
|
|
80
|
+
|
|
81
|
+
### Chores
|
|
82
|
+
- **Repository Organization (#1276)**: Added `.obsidian/` and `test-results/` to .gitignore
|
|
83
|
+
- **Documentation Structure (#1277)**: Renamed docs/archive/ to docs/session-history/
|
|
84
|
+
- **Docker Best Practices (#1273)**: Enhanced Docker environment file documentation
|
|
85
|
+
- **Data Directory Documentation (#1274)**: Added README to data/ directory
|
|
86
|
+
- **Documentation Refactor (#1270)**: Improved CLAUDE.md organization and clarity
|
|
87
|
+
|
|
88
|
+
### Features
|
|
89
|
+
- **Issue Management (#1251)**: Added orphaned issues checker for repository maintenance
|
|
90
|
+
- **Developer Experience (#1275)**: Added dev-notes/ directory for personal documentation
|
|
91
|
+
- **CI Improvements**: Added automated release issue verification (#1241)
|
|
92
|
+
- **Dependabot Integration (#1241)**: Skip Claude Code Review for Dependabot PRs
|
|
93
|
+
|
|
94
|
+
### Test Results
|
|
95
|
+
- Main suite: 2269 tests passing (performance tests excluded)
|
|
96
|
+
- Performance suite: 62 tests passing (isolated execution)
|
|
97
|
+
- Total: 2331 tests passing
|
|
98
|
+
- No flaky tests remaining
|
|
99
|
+
- CI/CD: All workflows passing across all platforms
|
|
100
|
+
|
|
3
101
|
## [1.9.15] - 2025-10-01
|
|
4
102
|
|
|
5
103
|
Security patch: Zero-width Unicode bypass vulnerability + SonarCloud cleanup
|
package/LICENSE
CHANGED
|
@@ -3,6 +3,17 @@ Version 3, 19 November 2007
|
|
|
3
3
|
|
|
4
4
|
Copyright (C) 2024 Mick Darling <mick@mickdarling.com>
|
|
5
5
|
|
|
6
|
+
DUAL LICENSING NOTICE:
|
|
7
|
+
DollhouseMCP is available under dual licensing:
|
|
8
|
+
1. AGPL-3.0 (this file) - Free for personal, educational, and open source projects
|
|
9
|
+
2. Commercial License - For proprietary/commercial use without AGPL obligations
|
|
10
|
+
|
|
11
|
+
For commercial licensing inquiries, see COMMERCIAL_LICENSE.md or contact:
|
|
12
|
+
contact@dollhousemcp.com
|
|
13
|
+
|
|
14
|
+
Unless you have a separate commercial license agreement, this software is licensed
|
|
15
|
+
under the terms of the AGPL-3.0 as stated below.
|
|
16
|
+
|
|
6
17
|
LICENSE TRANSITION NOTICE:
|
|
7
18
|
This project was originally developed under the MIT License as "persona-mcp-server".
|
|
8
19
|
On July 1, 2025, the copyright owner (Mick Darling) exercised their right to relicense
|
package/README.md.backup
CHANGED
|
@@ -873,6 +873,70 @@ For detailed guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
|
873
873
|
|
|
874
874
|
## 🏷️ Version History
|
|
875
875
|
|
|
876
|
+
### v1.9.18 - October 17, 2025
|
|
877
|
+
|
|
878
|
+
**Feature Release**: PostHog remote telemetry (opt-in), MCP Resources support, and operational telemetry foundation
|
|
879
|
+
|
|
880
|
+
#### ✨ Features
|
|
881
|
+
- **PostHog Remote Telemetry Integration** - Opt-in remote analytics with community insights
|
|
882
|
+
- Simple opt-in: Set `DOLLHOUSE_TELEMETRY_OPTIN=true` to enable
|
|
883
|
+
- Default PostHog project key embedded (safe to expose - write-only)
|
|
884
|
+
- Multiple control levels for privacy and data management
|
|
885
|
+
- GDPR compliant - fully opt-in by design
|
|
886
|
+
|
|
887
|
+
- **MCP Resources Support** - Future-proof capability index (disabled by default)
|
|
888
|
+
- Server can expose element definitions as MCP Resources
|
|
889
|
+
- Alternative to tool-based element access for future MCP clients
|
|
890
|
+
- Disabled by default to maintain stability
|
|
891
|
+
|
|
892
|
+
- **Operational Telemetry Foundation** - Infrastructure for monitoring and analytics
|
|
893
|
+
- TelemetryManager with local-first architecture
|
|
894
|
+
- Event aggregation and buffering (10s intervals)
|
|
895
|
+
- PostHog integration for remote insights (opt-in only)
|
|
896
|
+
- Privacy-preserving with PII filtering
|
|
897
|
+
|
|
898
|
+
#### 🔧 Fixed
|
|
899
|
+
- **SonarCloud Code Quality** - Resolved 6 issues across import management and security
|
|
900
|
+
- **Security Audit** - Fixed 3 MEDIUM/LOW severity issues in dependencies
|
|
901
|
+
|
|
902
|
+
#### 📊 Impact
|
|
903
|
+
- ✅ Optional remote telemetry for community insights
|
|
904
|
+
- ✅ Future-proof MCP Resources foundation
|
|
905
|
+
- ✅ All SonarCloud quality gates PASSING
|
|
906
|
+
- ✅ Zero HIGH/CRITICAL security issues
|
|
907
|
+
|
|
908
|
+
---
|
|
909
|
+
|
|
910
|
+
### v1.9.17 - October 8, 2025
|
|
911
|
+
|
|
912
|
+
**Patch Release**: Test isolation and repository cleanup
|
|
913
|
+
|
|
914
|
+
#### 🔧 Fixed
|
|
915
|
+
- **Performance Test Isolation** - Fixed flaky IndexOptimization test with dedicated test suite
|
|
916
|
+
- Created `jest.performance.config.cjs` with 4 parallel workers
|
|
917
|
+
- Reduced execution time from 10+ minutes to 18.7 seconds
|
|
918
|
+
- Main test suite no longer runs performance tests concurrently
|
|
919
|
+
|
|
920
|
+
- **Repository Cleanup** - Removed ignored files from Git tracking
|
|
921
|
+
- Removed `.obsidian/` directory and `test-results/` from version control
|
|
922
|
+
- Files remain available locally but not tracked in repository
|
|
923
|
+
|
|
924
|
+
- **Flaky Test Management** - Skipped intermittent GitHubRateLimiter tests
|
|
925
|
+
- Prevents CI failures from external API dependencies
|
|
926
|
+
|
|
927
|
+
#### 📚 Documentation
|
|
928
|
+
- Enhanced Docker environment file documentation
|
|
929
|
+
- Added README to data/ directory
|
|
930
|
+
- Improved CLAUDE.md organization and clarity
|
|
931
|
+
- Renamed docs/archive/ to docs/session-history/
|
|
932
|
+
|
|
933
|
+
#### 📊 Impact
|
|
934
|
+
- ✅ Improved CI reliability and test execution speed
|
|
935
|
+
- ✅ Cleaner repository structure
|
|
936
|
+
- ✅ Better documentation organization
|
|
937
|
+
|
|
938
|
+
---
|
|
939
|
+
|
|
876
940
|
### v1.9.16 - October 3, 2025
|
|
877
941
|
|
|
878
942
|
**Patch Release**: Platform-agnostic MCP client documentation + SonarCloud code quality (19 issues)
|
package/data/README.md
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# Bundled Starter Elements
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This directory contains **default example elements** that ship with the DollhouseMCP NPM package. These are NOT user-generated files - they are part of the product.
|
|
6
|
+
|
|
7
|
+
## What Are Bundled Elements?
|
|
8
|
+
|
|
9
|
+
On first run, DollhouseMCP copies these example elements to the user's local portfolio (`~/.dollhouse/portfolio/`) to provide:
|
|
10
|
+
|
|
11
|
+
1. **Working examples** - Users can immediately try personas, skills, and templates
|
|
12
|
+
2. **Learning material** - See proper element structure and metadata
|
|
13
|
+
3. **Quick start** - No empty portfolio on first install
|
|
14
|
+
|
|
15
|
+
### First-Run Process
|
|
16
|
+
|
|
17
|
+
When a user installs DollhouseMCP via NPM:
|
|
18
|
+
|
|
19
|
+
1. **User installs**: `npm install @dollhousemcp/mcp-server`
|
|
20
|
+
2. **First launch**: User starts DollhouseMCP for the first time
|
|
21
|
+
3. **Empty portfolio detected**: System checks `~/.dollhouse/portfolio/` and finds it empty
|
|
22
|
+
4. **Bundled elements copied**: DefaultElementProvider copies files from `data/` → user portfolio
|
|
23
|
+
5. **User customizes**: User can now modify their local copies without affecting the originals
|
|
24
|
+
|
|
25
|
+
**Important**: The bundled elements in `data/` remain unchanged. Users work with *copies* in their portfolio.
|
|
26
|
+
|
|
27
|
+
## Directory Structure
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
data/
|
|
31
|
+
├── personas/ Example AI behavioral profiles
|
|
32
|
+
├── skills/ Example discrete capabilities
|
|
33
|
+
├── templates/ Example reusable content structures
|
|
34
|
+
├── agents/ Example goal-oriented decision makers
|
|
35
|
+
├── memories/ Example persistent context storage
|
|
36
|
+
└── ensembles/ Example combined element orchestration
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Important Distinctions
|
|
40
|
+
|
|
41
|
+
| This Directory (data/) | User Portfolio (~/.dollhouse/portfolio/) |
|
|
42
|
+
|------------------------|------------------------------------------|
|
|
43
|
+
| ✅ In git repository | ❌ NOT in repository |
|
|
44
|
+
| ✅ Ships with NPM | ❌ Local user storage only |
|
|
45
|
+
| ✅ Read-only examples | ✅ User's active elements |
|
|
46
|
+
| ✅ Version controlled | ❌ .gitignored |
|
|
47
|
+
|
|
48
|
+
## For Developers
|
|
49
|
+
|
|
50
|
+
### NPM Package Inclusion
|
|
51
|
+
|
|
52
|
+
These files are explicitly included in package.json:
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
"files": [
|
|
56
|
+
"data/personas/**/*.md",
|
|
57
|
+
"data/skills/**/*.md",
|
|
58
|
+
"data/templates/**/*.md",
|
|
59
|
+
"data/agents/**/*.md",
|
|
60
|
+
"data/memories/**/*.md",
|
|
61
|
+
"data/ensembles/**/*.md"
|
|
62
|
+
]
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Loading Mechanism
|
|
66
|
+
|
|
67
|
+
See `src/portfolio/DefaultElementProvider.ts` for the implementation:
|
|
68
|
+
|
|
69
|
+
- **Population logic** (`populateDefaultElements()` around line 947): Main function that orchestrates copying bundled elements to user portfolio
|
|
70
|
+
- **File copying** (`copyElementFiles()` around line 679): Copies individual files while preserving existing user modifications
|
|
71
|
+
- **Directory detection** (`findDataDirectory()` around line 190): Locates bundled data in NPM installation or git repository
|
|
72
|
+
- **Development vs production mode** (lines 35-122): See below for detailed explanation
|
|
73
|
+
|
|
74
|
+
#### Development vs Production Modes
|
|
75
|
+
|
|
76
|
+
The loading mechanism behaves differently based on the environment:
|
|
77
|
+
|
|
78
|
+
**Production Mode** (NPM installation, no `.git` directory):
|
|
79
|
+
- ✅ Bundled elements ARE loaded by default
|
|
80
|
+
- Users get starter examples on first run
|
|
81
|
+
- Provides immediate value for new installations
|
|
82
|
+
|
|
83
|
+
**Development Mode** (Git clone, `.git` directory present):
|
|
84
|
+
- ❌ Bundled elements are NOT loaded by default
|
|
85
|
+
- Prevents test/example data from polluting developer's portfolio
|
|
86
|
+
- Developers can override with `DOLLHOUSE_LOAD_TEST_DATA=true` environment variable
|
|
87
|
+
|
|
88
|
+
This distinction ensures:
|
|
89
|
+
- End users get a great first-run experience with examples
|
|
90
|
+
- Developers working on the codebase don't get unwanted test data in their personal portfolio
|
|
91
|
+
- Test elements (marked with metadata) are blocked in production for security
|
|
92
|
+
|
|
93
|
+
### Testing
|
|
94
|
+
|
|
95
|
+
`test/__tests__/basic.test.ts` (lines 33-57) verifies:
|
|
96
|
+
- Required directories exist (including `data/personas`)
|
|
97
|
+
- Expected example files are present (e.g., `creative-writer.md`)
|
|
98
|
+
- Proper structure is maintained
|
|
99
|
+
|
|
100
|
+
## Common Misconceptions
|
|
101
|
+
|
|
102
|
+
❌ "data/ should be in .gitignore" - **NO**, these are bundled examples, not user data
|
|
103
|
+
❌ "This is test data" - **NO**, this is production starter content
|
|
104
|
+
❌ "This is my local portfolio" - **NO**, your portfolio is in `~/.dollhouse/`
|
|
105
|
+
|
|
106
|
+
## Contributing New Examples
|
|
107
|
+
|
|
108
|
+
When adding new bundled elements:
|
|
109
|
+
|
|
110
|
+
1. Follow existing element structure (YAML frontmatter + Markdown)
|
|
111
|
+
2. Keep examples simple and educational
|
|
112
|
+
3. Test that DefaultElementProvider can load them
|
|
113
|
+
4. Update this README if adding new element types
|
|
@@ -59,6 +59,14 @@ export interface CollectionConfig {
|
|
|
59
59
|
require_review: boolean;
|
|
60
60
|
add_attribution: boolean;
|
|
61
61
|
}
|
|
62
|
+
export interface CapabilityIndexResourcesConfig {
|
|
63
|
+
advertise_resources: boolean;
|
|
64
|
+
variants: {
|
|
65
|
+
summary: boolean;
|
|
66
|
+
full: boolean;
|
|
67
|
+
stats: boolean;
|
|
68
|
+
};
|
|
69
|
+
}
|
|
62
70
|
export interface EnhancedIndexConfig {
|
|
63
71
|
enabled: boolean;
|
|
64
72
|
limits: {
|
|
@@ -81,6 +89,7 @@ export interface EnhancedIndexConfig {
|
|
|
81
89
|
scanInterval: number;
|
|
82
90
|
maxConcurrentScans: number;
|
|
83
91
|
};
|
|
92
|
+
resources?: CapabilityIndexResourcesConfig;
|
|
84
93
|
}
|
|
85
94
|
export interface ElementsConfig {
|
|
86
95
|
auto_activate: {
|
|
@@ -224,10 +233,38 @@ export declare class ConfigManager {
|
|
|
224
233
|
/**
|
|
225
234
|
* Merge partial config with defaults
|
|
226
235
|
*
|
|
236
|
+
* FIX: Reduced cognitive complexity by extracting helper methods
|
|
237
|
+
* Previously: Cognitive complexity of 17 (exceeded max of 15)
|
|
238
|
+
* Now: Split into focused helper methods for each config section
|
|
239
|
+
*
|
|
227
240
|
* IMPORTANT: This function preserves unknown fields for forward compatibility.
|
|
228
241
|
* If a future version adds new config fields, older versions won't lose them.
|
|
229
242
|
*/
|
|
230
243
|
private mergeWithDefaults;
|
|
244
|
+
/**
|
|
245
|
+
* Merge user configuration section
|
|
246
|
+
*/
|
|
247
|
+
private mergeUserConfig;
|
|
248
|
+
/**
|
|
249
|
+
* Merge GitHub configuration section
|
|
250
|
+
*/
|
|
251
|
+
private mergeGitHubConfig;
|
|
252
|
+
/**
|
|
253
|
+
* Merge sync configuration section
|
|
254
|
+
*/
|
|
255
|
+
private mergeSyncConfig;
|
|
256
|
+
/**
|
|
257
|
+
* Merge elements configuration section
|
|
258
|
+
*/
|
|
259
|
+
private mergeElementsConfig;
|
|
260
|
+
/**
|
|
261
|
+
* Merge enhanced index configuration
|
|
262
|
+
*/
|
|
263
|
+
private mergeEnhancedIndexConfig;
|
|
264
|
+
/**
|
|
265
|
+
* Merge display configuration section
|
|
266
|
+
*/
|
|
267
|
+
private mergeDisplayConfig;
|
|
231
268
|
/**
|
|
232
269
|
* Migrate settings from environment variables
|
|
233
270
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigManager.d.ts","sourceRoot":"","sources":["../../src/config/ConfigManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,qBAAqB,CAAC;IACjC,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,oBAAoB,CAAC;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE;QACN,qBAAqB,EAAE,MAAM,CAAC;QAC9B,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,SAAS,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,YAAY,CAAC,EAAE;QACb,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;IACF,kBAAkB,CAAC,EAAE;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;
|
|
1
|
+
{"version":3,"file":"ConfigManager.d.ts","sourceRoot":"","sources":["../../src/config/ConfigManager.ts"],"names":[],"mappings":"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"}
|