fix: correct Abiba platform label (pi not openclaw), add plugin skeletons, shared config, fix health port
- Replace all 'openclaw' references with 'pi' (pi coding harness) - Fix Git remote URL in CONTEXT.md - Harmonize health port to 9200 across all docs - Add config.yaml.example with full schema - Add pi-zulip-extension skeleton (TypeScript, pi Extension API) - Add hermes-zulip-plugin skeleton (Python, BasePlatformAdapter) - Add agent-zero-plugin skeleton (Python, A0 plugin API) - Update ADR-007 with pi extension docs reference - Document private topic ACL v1 limitation in CONTEXT.md
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
zulip>=0.9.0
|
||||
zulip-bots>=0.9.0
|
||||
pyyaml>=6.0
|
||||
@@ -0,0 +1,11 @@
|
||||
"""
|
||||
Hermes Zulip Plugin — Core adapter for Hermes Python agents
|
||||
|
||||
Implements BasePlatformAdapter to connect Hermes agents (Tanko, Mumuni,
|
||||
Koonimo, Koby) to the Sysloggh Zulip agent mesh.
|
||||
|
||||
Path: hermes-zulip-plugin/src/hermes_zulip/
|
||||
Config: config.yaml (per-agent, deployed alongside plugin)
|
||||
"""
|
||||
|
||||
__version__ = "0.1.0"
|
||||
@@ -0,0 +1,26 @@
|
||||
# Core adapter — implements BasePlatformAdapter for Zulip
|
||||
# See ADR-005 for @mention detection, ADR-009 for error handling
|
||||
# Full implementation in issue #5. This skeleton establishes the package.
|
||||
|
||||
from typing import Any, Dict, Optional
|
||||
|
||||
|
||||
class ZulipAdapter:
|
||||
"""Zulip adapter for Hermes agents. Connects to Zulip, listens for
|
||||
@mentions in #agent-hub, routes messages via BasePlatformAdapter."""
|
||||
|
||||
def __init__(self, config: Dict[str, Any]) -> None:
|
||||
self.config = config
|
||||
self.connected = False
|
||||
|
||||
async def connect(self) -> None:
|
||||
raise NotImplementedError("Skeleton — implement in issue #5")
|
||||
|
||||
async def disconnect(self) -> None:
|
||||
raise NotImplementedError("Skeleton — implement in issue #5")
|
||||
|
||||
async def send_message(self, topic: str, content: str) -> Dict[str, Any]:
|
||||
raise NotImplementedError("Skeleton — implement in issue #5")
|
||||
|
||||
async def on_event(self, event: Dict[str, Any]) -> Optional[Dict[str, Any]]:
|
||||
raise NotImplementedError("Skeleton — implement in issue #5")
|
||||
Reference in New Issue
Block a user