generated from coulomb/repo-seed
Adds a message-passing layer to state-hub so Claude instances can coordinate across sessions without polling shared progress events. - Migration f3a4b5c6d7e8: agent_messages table with thread support - FastAPI router: POST/GET /messages/, thread view, mark-read, archive, reply - 4 MCP tools: send_message, get_messages, mark_message_read, reply_to_message - Observable dashboard: /inbox page with unread/read/archived sections + KPI - CLAUDE.md updates: global, custodian, marki-docx, activity-core, template - TOOLS.md: Agent Inbox tools section documented Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
16 lines
479 B
Python
16 lines
479 B
Python
#!/usr/bin/env python3
|
|
"""Observable data loader: fetches /messages/ from the API."""
|
|
import json
|
|
import os
|
|
import urllib.request
|
|
import urllib.error
|
|
|
|
API_BASE = os.environ.get("API_BASE", "http://127.0.0.1:8000").rstrip("/")
|
|
|
|
try:
|
|
with urllib.request.urlopen(f"{API_BASE}/messages/?limit=100", timeout=10) as resp:
|
|
data = json.loads(resp.read())
|
|
print(json.dumps(data))
|
|
except urllib.error.URLError as e:
|
|
print(json.dumps({"error": str(e), "messages": []}))
|