{
  "sources": [
    {
      "url": "https://gist.githubusercontent.com/gtmcknight/594c47336546c8763e641b46cf9af4ec/raw/field.json",
      "quote": "\"refs\":[{\"name\":\"done-bell\",\"repo\":\"https://github.com/aydnOktay/hermes-done-bell-\",\"sha\":\"3fa519a291d91b0e6c44bd42762190363ce80c39\",\"subdir\":\"\"},{\"name\":\"homeassistant\",\"repo\":\"https://github.com/NousResearch/hermes-official-plugins\",\"sha\":\"e7a218f26db88426ab3e7376f0e000b6e356f5e7\",\"subdir\":\"homeassistant\"}],\"plugins\":"
    },
    {
      "url": "https://raw.githubusercontent.com/aydnOktay/hermes-done-bell-/3fa519a291d91b0e6c44bd42762190363ce80c39/__init__.py",
      "quote": "def register(ctx) -> None:\n    bell_context.set_ctx(ctx)\n    ctx.register_tool(\n        name=\"done_bell_status\",\n        toolset=\"done_bell\",\n        schema=bell_schemas.DONE_BELL_STATUS,\n        handler=bell_tools.done_bell_status,\n    )\n    ctx.register_hook(\"on_session_end\", bell_hooks.on_session_end)\n    ctx.register_hook(\"pre_approval_request\", bell_hooks.on_pre_approval_request)"
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/__init__.py",
      "quote": "def register(ctx) -> None:\n    \"\"\"Plugin entry point — called by the Hermes plugin loader.\"\"\"\n    if _core_ships_home_assistant():\n        # Registering on top of the built-in would shadow core's ha_* tools and replace its adapter.\n        logger.info(\"homeassistant: this Hermes core still ships Home Assistant built in; \""
    },
    {
      "url": "https://raw.githubusercontent.com/welliv/hermes-zaprite/2422546b20ed0d4b59e931061d0017e8f9004583/zaprite_core/policy.py",
      "quote": "def pre_tool_call(tool_name: str, args: dict | None = None, task_id: str | None = None, **kwargs: Any) -> dict | None:\n    \"\"\"Hook for every tool. Only Zaprite's own writes are touched.\n\n    Hermes may call this positionally (tool_name, args, task_id) or by keyword.\n    {\"action\": \"approve\"} escalates to the human approval gate. It does not\n    grant the call. {\"action\": \"block\"} refuses it.\n    \"\"\""
    },
    {
      "url": "https://raw.githubusercontent.com/Femtech-web/Capalis/78843af2e15812fc391a74fe1cbcf2ac82a03de1/plugin/capalis/service.py",
      "quote": "def approve(self, recipe_id: str, digest_prefix: str, actor: Actor) -> str:\n        self.authorize_actor(actor)\n        recipe, state = self._latest(recipe_id)\n        if state is not RecipeState.AWAITING_APPROVAL:\n            raise ServiceError(f\"{recipe_id} v{recipe.version} is {state.value}; only a shadow-qualified version \"\n                               \"awaiting approval can be approved\")"
    },
    {
      "url": "https://raw.githubusercontent.com/bhaskarduvvuri/hermes-ask-ledger/1986b146f7fbddf5437744ec9d72bf8caa88cb8a/plugin/__init__.py",
      "quote": "def setup(ctx, data_dir: Callable[[], Path] = _default_data_dir) -> AskLedgerPlugin:\n    p = AskLedgerPlugin(ctx, data_dir)\n    ctx.register_hook(\"pre_llm_call\", p.on_turn)\n    ctx.register_hook(\"post_gateway_admission\", p.on_admission)\n    ctx.register_hook(\"transform_llm_output\", p.on_output)\n    def run_tool(name, args, **kw):\n        result = todo_tools.handle(p, name, args, **kw)"
    },
    {
      "url": "https://raw.githubusercontent.com/Kattegat-crew/hermes_focus_plugin/c34c1fb665212d46c9fca76cb983fdb4fdfdcbfe/neural_context/triage.py",
      "quote": "def _call_model(self, user_text: str) -> tuple[Optional[str], bool]:\n        \"\"\"Invokes the model facade (ctx.llm, custom model_fn, or structured prompt).\"\"\"\n        hermes_locale = get_hermes_language()\n        locale_directive = f\"\\n[Hermes Configured Locale: {hermes_locale}]\\n\" if hermes_locale else \"\"\n        prompt = f\"{TRIAGE_SYSTEM_PROMPT}{locale_directive}\\n\\nUSER MESSAGE:\\n\\\"{user_text}\\\"\\n\\nJSON RESPONSE:\""
    },
    {
      "url": "https://raw.githubusercontent.com/cipoklean/hermes-xray/21ca5f6fb5e46fb6d1a0ec2e179d055b96c69f52/xray/chamber/child/harness.py",
      "quote": "for name, (schema, handler, is_async) in list(_tools.items()):\n        if not callable(handler):\n            continue\n        for i, args in enumerate(fuzz_args(schema, rounds)):\n            sc.set_phase(\"tool:\" + name)\n            _, err = _run_with_timeout(handler, args, task_id=\"xray-%d\" % i)\n            REC[\"calls\"] += 1\n            if err:"
    },
    {
      "url": "https://raw.githubusercontent.com/sammy-XXIV/hermes-crash-recovery/2d00ff5832a6a6d7aca0c09ef500a64a890efa14/recovery.py",
      "quote": "def execute(self, tool_name='', args=None, next_call=None, session_id='', tool_call_id='', **kwargs):\n        if tool_name in self.read_only_tools:\n            return next_call(args)\n        # Do not raise on pre-execution plugin failures: Hermes middleware fails open.\n        try:\n            if self.poisoned:"
    },
    {
      "url": "https://raw.githubusercontent.com/D0xedDevi0/hermes-neural-mesh/26abb610f3cbdd4215fbb898d4a2478317dfc5e5/__init__.py",
      "quote": "class NeuralMeshProvider(MemoryProvider):\n    \"\"\"Long-term memory from a local mesh. Nothing leaves the machine; nothing is required.\"\"\"\n\n    def __init__(self) -> None:\n        self._meshes: dict[int, Any] = {}\n        self._store_dir: Path | None = None\n        self._store_file: Path | None = None\n        self._session_id = \"\"\n        self._agent_context = \"primary\"\n        self._top_k = DEFAULT_TOP_K"
    },
    {
      "url": "https://raw.githubusercontent.com/latentbyte/skills/4f5adc4671c625c7c36aa1bf80f8253c53c9ea56/plugins/workout-tracker/mcp.json",
      "quote": "{\n  \"$schema\": \"https://agent-plugins.org/schemas/1.0.0/mcp.schema.json\",\n  \"mcpServers\": {\n    \"workout-tracker\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://workout.lbyte.app/mcp/public\"\n    },\n    \"workout-tracker-account\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://workout.lbyte.app/mcp/account\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${WORKOUT_TRACKER_TOKEN}\"\n      }\n    }\n  }\n}"
    },
    {
      "url": "https://raw.githubusercontent.com/matrixneoaiagent/spendwarden/fe23b59ab2eca7d1b183bfbde3f47841b0603788/service.py",
      "quote": "def pre_tool_call(\n        self,\n        tool_name: str,\n        args: dict[str, Any],\n        task_id: str = \"\",\n        **kwargs: Any,\n    ) -> dict[str, str] | None:\n        try:\n            policy = self.policy()\n            intent = detect_intent(\n                tool_name,\n                args,\n                policy,\n                session_id=str(kwargs.get(\"session_id\") or \"\"),\n                task_id=task_id,\n            )"
    },
    {
      "url": "https://raw.githubusercontent.com/summero/memory-bridge/d166fbe72493050ef2651f37f8b2c267ee5f18d2/safe_fs.py",
      "quote": "Every path step is opened relative to an already-open parent directory with\n``O_NOFOLLOW``, and every check that matters (file type, link count, size) is\nmade with ``fstat`` on the open descriptor. That closes the gap between checking\na path and opening it: a symlink or special file swapped in after listing is\nrefused at open time rather than followed.\n"
    },
    {
      "url": "https://raw.githubusercontent.com/NousResearch/hermes-official-plugins/e7a218f26db88426ab3e7376f0e000b6e356f5e7/homeassistant/README.md",
      "quote": "By default, **no events are forwarded**. Configure at least one of `watch_domains`, `watch_entities`\nor `watch_all`, otherwise a warning is logged at startup and every state change is dropped. Settings\ngo under the platform's `extra` section in `~/.hermes/config.yaml`:\n\n```yaml\nplatforms:\n  homeassistant:"
    },
    {
      "url": "https://raw.githubusercontent.com/Kattegat-crew/hermes_focus_plugin/c34c1fb665212d46c9fca76cb983fdb4fdfdcbfe/README.md",
      "quote": "timeout_ms: 250\n```\n\n---\n\n## Security & Fail-Closed Boundaries\n"
    },
    {
      "url": "https://raw.githubusercontent.com/cipoklean/hermes-xray/21ca5f6fb5e46fb6d1a0ec2e179d055b96c69f52/README.md",
      "quote": "**Python level only.** Compiled code runs below X-Ray's hooks. X-Ray can't see inside it, so it\n  marks any plugin that ships binaries or calls native code AMBER and says where. The catalog\n  rejects unscannable binaries anyway (rule 14).\n- **Environment variables.** Reading one isn't an event Python reports. Stealing a key from the"
    },
    {
      "url": "https://raw.githubusercontent.com/D0xedDevi0/hermes-neural-mesh/26abb610f3cbdd4215fbb898d4a2478317dfc5e5/README.md",
      "quote": "**This is a memory provider, so treat the store as sensitive.** Everything the agent\ndecides to remember is written there in plain text, and anything in it gets recalled into\nsession context. It is not encrypted. If a secret should not persist, do not let it reach\nmemory — the scanning described above reduces accidental poisoning, it does not make the\nstore a secret store.\n"
    },
    {
      "url": "https://raw.githubusercontent.com/latentbyte/skills/4f5adc4671c625c7c36aa1bf80f8253c53c9ea56/plugins/workout-tracker/README.md",
      "quote": "The tool set is served by the remote servers at runtime, not by this package.\n- This package is configuration only: no local code, no telemetry."
    },
    {
      "url": "https://raw.githubusercontent.com/matrixneoaiagent/spendwarden/fe23b59ab2eca7d1b183bfbde3f47841b0603788/README.md",
      "quote": "Start in `observe` mode. It records every payment-shaped call and the decision it *would* have made, but does not block anything. Read a day of events, tune the limits and allowlist, then switch to `enforce`.\n\n## A 60-second example\n\nAsk the agent:\n"
    },
    {
      "url": "https://raw.githubusercontent.com/summero/memory-bridge/d166fbe72493050ef2651f37f8b2c267ee5f18d2/README.md",
      "quote": "**Flagged internal dependency:** `agent.delegation_context.is_delegated_child_process_context` supplies subagent detection and generates the catalog-rule-9 warning.\n- `gateway.session_context.get_session_env`: cron session flag.\n- `PluginContext.current_cron_execution`: additional cron detection.\n\nMissing helpers or conflicting identity signals fail closed. Semantic changes"
    }
  ]
}
