@dollhousemcp/mcp-server 2.0.17 → 2.0.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.
Files changed (51) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/elements/BaseElement.d.ts +1 -0
  3. package/dist/elements/BaseElement.d.ts.map +1 -1
  4. package/dist/elements/BaseElement.js +7 -1
  5. package/dist/elements/agents/AgentManager.js +2 -2
  6. package/dist/elements/base/ElementFileOperations.js +2 -2
  7. package/dist/elements/ensembles/EnsembleManager.js +3 -3
  8. package/dist/elements/memories/MemoryManager.js +2 -2
  9. package/dist/elements/skills/SkillManager.js +2 -2
  10. package/dist/elements/templates/TemplateManager.js +2 -2
  11. package/dist/generated/version.d.ts +2 -2
  12. package/dist/generated/version.js +3 -3
  13. package/dist/handlers/ElementCRUDHandler.d.ts.map +1 -1
  14. package/dist/handlers/ElementCRUDHandler.js +3 -2
  15. package/dist/handlers/mcp-aql/MCPAQLHandler.d.ts +1 -0
  16. package/dist/handlers/mcp-aql/MCPAQLHandler.d.ts.map +1 -1
  17. package/dist/handlers/mcp-aql/MCPAQLHandler.js +35 -14
  18. package/dist/handlers/mcp-aql/policies/ElementPolicies.d.ts +9 -1
  19. package/dist/handlers/mcp-aql/policies/ElementPolicies.d.ts.map +1 -1
  20. package/dist/handlers/mcp-aql/policies/ElementPolicies.js +63 -4
  21. package/dist/handlers/strategies/AgentActivationStrategy.d.ts.map +1 -1
  22. package/dist/handlers/strategies/AgentActivationStrategy.js +5 -1
  23. package/dist/handlers/strategies/BaseActivationStrategy.d.ts +1 -0
  24. package/dist/handlers/strategies/BaseActivationStrategy.d.ts.map +1 -1
  25. package/dist/handlers/strategies/BaseActivationStrategy.js +15 -1
  26. package/dist/handlers/strategies/EnsembleActivationStrategy.d.ts.map +1 -1
  27. package/dist/handlers/strategies/EnsembleActivationStrategy.js +5 -1
  28. package/dist/handlers/strategies/MemoryActivationStrategy.d.ts.map +1 -1
  29. package/dist/handlers/strategies/MemoryActivationStrategy.js +5 -1
  30. package/dist/handlers/strategies/PersonaActivationStrategy.d.ts.map +1 -1
  31. package/dist/handlers/strategies/PersonaActivationStrategy.js +5 -1
  32. package/dist/handlers/strategies/SkillActivationStrategy.d.ts.map +1 -1
  33. package/dist/handlers/strategies/SkillActivationStrategy.js +5 -1
  34. package/dist/handlers/strategies/TemplateActivationStrategy.d.ts.map +1 -1
  35. package/dist/handlers/strategies/TemplateActivationStrategy.js +7 -2
  36. package/dist/persona/PersonaElement.js +2 -2
  37. package/dist/services/SerializationService.d.ts.map +1 -1
  38. package/dist/services/SerializationService.js +7 -1
  39. package/dist/types/elements/IElement.d.ts +9 -0
  40. package/dist/types/elements/IElement.d.ts.map +1 -1
  41. package/dist/types/elements/IElement.js +1 -1
  42. package/dist/web/public/permissions.css +190 -2
  43. package/dist/web/public/permissions.js +171 -30
  44. package/dist/web/public/setup.js +131 -60
  45. package/dist/web/routes/permissionRoutes.d.ts.map +1 -1
  46. package/dist/web/routes/permissionRoutes.js +77 -5
  47. package/dist/web/routes/setupRoutes.d.ts.map +1 -1
  48. package/dist/web/routes/setupRoutes.js +16 -2
  49. package/package.json +1 -1
  50. package/scripts/pretooluse-dollhouse.sh +39 -1
  51. package/server.json +2 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dollhousemcp/mcp-server",
3
- "version": "2.0.17",
3
+ "version": "2.0.18",
4
4
  "description": "DollhouseMCP - A Model Context Protocol (MCP) server that enables dynamic AI persona management from markdown files, allowing Claude and other compatible AI assistants to activate and switch between different behavioral personas.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -29,6 +29,35 @@ debug() {
29
29
  return 0
30
30
  }
31
31
 
32
+ normalize_response() {
33
+ local response="$1"
34
+
35
+ case "$HOOK_PLATFORM" in
36
+ claude_code)
37
+ echo "$response" | jq -c '
38
+ if (.hookSpecificOutput.permissionDecision? | type) == "string" then
39
+ .
40
+ elif (.decision? | type) == "string" and (.decision | IN("allow", "deny", "ask")) then
41
+ {
42
+ hookSpecificOutput: {
43
+ hookEventName: "PreToolUse",
44
+ permissionDecision: .decision,
45
+ permissionDecisionReason: (.reason // .message // "")
46
+ }
47
+ }
48
+ else
49
+ empty
50
+ end
51
+ ' 2>/dev/null
52
+ ;;
53
+ *)
54
+ echo "$response"
55
+ ;;
56
+ esac
57
+
58
+ return 0
59
+ }
60
+
32
61
  # Discover the port from the port file
33
62
  if [[ -f "$PORT_FILE" ]]; then
34
63
  PORT=$(cat "$PORT_FILE" 2>/dev/null)
@@ -92,7 +121,16 @@ while [[ $ATTEMPT -le $MAX_RETRIES ]]; do
92
121
 
93
122
  if [[ $CURL_EXIT -eq 0 ]] && [[ -n "$RESPONSE" ]]; then
94
123
  debug "Response (attempt $((ATTEMPT+1))): $RESPONSE"
95
- echo "$RESPONSE"
124
+ if ! echo "$RESPONSE" | jq -e . >/dev/null 2>&1; then
125
+ debug "Non-JSON response for platform $HOOK_PLATFORM — fail open"
126
+ exit 0
127
+ fi
128
+ NORMALIZED_RESPONSE=$(normalize_response "$RESPONSE")
129
+ if [[ -n "$NORMALIZED_RESPONSE" ]]; then
130
+ echo "$NORMALIZED_RESPONSE"
131
+ else
132
+ debug "Malformed response for platform $HOOK_PLATFORM — fail open"
133
+ fi
96
134
  exit 0
97
135
  fi
98
136
 
package/server.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "io.github.DollhouseMCP/mcp-server",
4
4
  "title": "DollhouseMCP",
5
5
  "description": "OSS to create Personas, Skills, Templates, Agents, and Memories to customize your AI experience.",
6
- "version": "2.0.17",
6
+ "version": "2.0.18",
7
7
  "homepage": "https://dollhousemcp.com",
8
8
  "repository": {
9
9
  "type": "git",
@@ -29,7 +29,7 @@
29
29
  {
30
30
  "registryType": "npm",
31
31
  "identifier": "@dollhousemcp/mcp-server",
32
- "version": "2.0.17",
32
+ "version": "2.0.18",
33
33
  "transport": {
34
34
  "type": "stdio"
35
35
  }