{ "id": "harbor-forge", "name": "HarborForge", "version": "0.2.0", "description": "HarborForge plugin for OpenClaw - project management, monitoring, and CLI integration", "entry": "./index.js", "configSchema": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "type": "boolean", "default": true, "description": "Enable the HarborForge plugin" }, "backendUrl": { "type": "string", "default": "https://monitor.hangman-lab.top", "description": "HarborForge backend base URL (shared by Monitor and Calendar API)" }, "identifier": { "type": "string", "description": "Server/claw identifier. Used as claw_identifier in Calendar heartbeat and as MonitoredServer.identifier. Auto-detected from hostname if not set." }, "apiKey": { "type": "string", "description": "API Key from HarborForge Monitor admin panel (optional but required for Monitor authentication)" }, "monitor_port": { "type": "number", "description": "Local port for communication between HarborForge Monitor and this plugin" }, "reportIntervalSec": { "type": "number", "default": 30, "description": "How often to report metrics (seconds)" }, "httpFallbackIntervalSec": { "type": "number", "default": 60, "description": "HTTP heartbeat interval when WS unavailable" }, "logLevel": { "type": "string", "enum": ["debug", "info", "warn", "error"], "default": "info", "description": "Logging level" }, "calendarEnabled": { "type": "boolean", "default": true, "description": "Enable Calendar heartbeat integration (PLG-CAL-001). When enabled, plugin sends periodic heartbeat to /calendar/agent/heartbeat to receive pending TimeSlots." }, "calendarHeartbeatIntervalSec": { "type": "number", "default": 60, "description": "How often to send Calendar heartbeat to backend (seconds). Defaults to 60s (1 minute)." }, "calendarApiKey": { "type": "string", "description": "API key for Calendar API authentication. If not set, uses apiKey or plugin auto-authentication via X-Agent-ID header." } } } }