Skip to main content
Glama

DollhouseMCP

by DollhouseMCP
PR_353_VERIFICATION.md3.78 kB
# PR #353 Verification Report This report confirms that all code changes from PR #353 have been successfully merged into the main branch. ## PR #353 Contents PR #353 contained the following changes: ### 1. Agent Circular Buffer Optimization (Issue #350) **Original commit**: b8c64c4 in PR #353 **Merged via**: PR #352 (commit a29851d) **File**: `src/elements/agents/Agent.ts` **Change**: Optimized circular buffer to use `shift()` instead of `slice()` ```typescript // BEFORE (inefficient) if (this.state.decisions.length >= AGENT_LIMITS.MAX_DECISION_HISTORY) { this.state.decisions = this.state.decisions.slice(1); } // AFTER (optimized - now in main) if (this.state.decisions.length >= AGENT_LIMITS.MAX_DECISION_HISTORY) { this.state.decisions.shift(); } ``` ### 2. Template Type Safety Improvements (Issue #351) **Original commit**: b8c64c4 in PR #353 **Merged via**: PR #352 (commit a29851d) **File**: `src/elements/templates/Template.ts` **Changes**: Replaced `any` with `unknown` for better type safety in: - render() method generic type parameter - TemplateVariable.default field - TemplateExample.variables field - Variable validation methods - Variable resolution methods ### 3. ReDoS Vulnerability Fixes **Original commit**: 36d5ce9 in PR #353 **Merged via**: PR #357 (multiple commits) #### 3a. filesystem.ts fixes **Merged in**: Main branch (via PR #357) - `generateUniqueId()`: Single-pass transformation - `slugify()`: Single-pass transformation - Both now use pre-compiled ALPHANUMERIC_REGEX #### 3b. InputValidator.ts fixes **Merged in**: Main branch (via PR #357) - Path normalization now uses character-by-character processing - Pre-compiled 15+ regex patterns for performance - Fixed IPv6 validation (including review feedback) #### 3c. PersonaImporter.ts fixes **Merged in**: Main branch (via PR #357) - Base64 validation now rejects empty strings - Changed from `*` to `+` quantifier ### 4. Pre-compiled Regex Patterns (Issue #354) **Original commit**: 6994f25 in PR #353 **Merged via**: PR #357 (commit 52b93c3) **File**: `src/security/InputValidator.ts` Added 15+ pre-compiled regex constants at module level. ### 5. Performance Tests (Issue #355) **Not in PR #353 originally** **Merged via**: PR #357 (commit 468dcd5) **File**: `test/__tests__/performance/redos-regression.test.ts` 18 performance tests ensuring <50ms execution. ### 6. Pathological Input Tests (Issue #356) **Not in PR #353 originally** **Merged via**: PR #357 (commit a75db93) **File**: `test/__tests__/security/redos-pathological-inputs.test.ts` 22 tests documenting specific ReDoS patterns. ## Verification Commands To verify these changes are in main, run: ```bash # Check Agent optimization git show a29851d:src/elements/agents/Agent.ts | grep -A 3 "decisions.shift()" # Check Template type safety git show a29851d:src/elements/templates/Template.ts | grep "unknown" | head -5 # Check filesystem.ts ReDoS fixes git show main:src/utils/filesystem.ts | grep -A 5 "ALPHANUMERIC_REGEX" # Check InputValidator pre-compiled patterns git show main:src/security/InputValidator.ts | grep "const.*_REGEX" | wc -l # Check for performance tests ls test/__tests__/performance/redos-regression.test.ts # Check for pathological input tests ls test/__tests__/security/redos-pathological-inputs.test.ts ``` ## Summary ✅ **ALL code changes from PR #353 are now in the main branch** - Agent & Template optimizations → Merged via PR #352 - ReDoS fixes → Merged via PR #357 - Pre-compiled regex → Merged via PR #357 - Performance tests → Added and merged via PR #357 - Pathological tests → Added and merged via PR #357 The only difference is that the changes were split across two PRs for better organization, but all the actual code changes are present in main.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DollhouseMCP/DollhouseMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server