{ "$schema": "internal://schemas/plugin.lock.v1.json", "pluginId": "gh:johnmatthewtennant/mcp-voice-hooks:plugin", "normalized": { "repo": null, "ref": "refs/tags/v20251128.0", "commit": "440fc2efefa74b5fa5509e735020f9a0e2e975be", "treeHash": "7e755719d0274a495c01994048bb5e400d6e678a2dba0d3c1e052d0655a3b5a4", "generatedAt": "2025-11-28T10:19:18.299532Z", "toolVersion": "publish_plugins.py@0.2.0" }, "origin": { "remote": "git@github.com:zhongweili/42plugin-data.git", "branch": "master", "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" }, "manifest": { "name": "mcp-voice-hooks-plugin", "description": "Real-time voice interaction for Claude Code. Speak naturally while Claude works - interrupt, redirect, or provide continuous feedback without stopping.", "version": "1.0.40" }, "content": { "files": [ { "path": "README.md", "sha256": "f6cf6637f41bc4de7ad340adf11c53aa65add49f93fbebf001b7bce11d9d5ca7" }, { "path": "hooks/hooks.json", "sha256": "7f091bfe25f7e4c6a1730ada218a025e53bc8860ee0e2e30de760551373159f5" }, { "path": ".claude-plugin/plugin.json", "sha256": "84dc34c96a7b4e76090408a4de129e250575af116fca2934c70d1d62253487f2" } ], "dirSha256": "7e755719d0274a495c01994048bb5e400d6e678a2dba0d3c1e052d0655a3b5a4" }, "security": { "scannedAt": null, "scannerVersion": null, "flags": [] } }