Phase 3 of DIALECTIC-V2. Six tools wired to the Go backend running on
server.t3:
- dialectic_list_topics GET /api/topics
- dialectic_topic_detail GET /api/topics/{id}
- dialectic_propose_topic POST /api/topics
- dialectic_signup POST /api/topics/{id}/signups (HF pre-check)
- dialectic_post_argument POST /api/topics/{id}/arguments
- dialectic_view_verdict GET /api/topics/{id}/verdict
All tools return MCP {content:[{type:text,text}]} shape. Errors caught
and surfaced as text payload so agents see actionable failure messages.
Per-agent API key resolved via secret-mgr key dialectic-agent-apikey
(cached in memory; AGENT_VERIFY env required). HF on_call coverage
check degrades gracefully to skipped if HarborForge.OpenclawPlugin
does not yet expose hasOnCallCovering() — backend stores pre_validated
flag as audit signal.
openclaw.plugin.json declares both contracts.tools (the 6 names) AND
activation.onStartup:true per loader gotchas memory; missing either
silently drops the plugin.
Plain export default {id, name, register} entry shape matching
prism-facet. No openclaw SDK imports (jiti runtime resolution of
openclaw was flaky in HF-style entries; structurally simpler avoids
the lookup entirely).
Defaults backendUrl to https://dialectic-api.hangman-lab.top; override
via openclaw.json plugins.entries.dialectic.config.backendUrl for sim.
Phase 3 deferred items (in README): agent key provisioning workflow,
HF window-coverage accessor, SSE subscription tool, token-cost
reporting.
32 lines
782 B
JSON
32 lines
782 B
JSON
{
|
|
"id": "dialectic",
|
|
"name": "Dialectic",
|
|
"version": "0.1.0",
|
|
"description": "OpenClaw plugin for the Dialectic v2 debate platform — agent-facing tools",
|
|
"main": "index.js",
|
|
"activation": {
|
|
"onStartup": true
|
|
},
|
|
"contracts": {
|
|
"tools": [
|
|
"dialectic_list_topics",
|
|
"dialectic_topic_detail",
|
|
"dialectic_propose_topic",
|
|
"dialectic_signup",
|
|
"dialectic_post_argument",
|
|
"dialectic_view_verdict"
|
|
]
|
|
},
|
|
"configSchema": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"backendUrl": {
|
|
"type": "string",
|
|
"description": "Dialectic backend base URL (e.g. https://dialectic-api.hangman-lab.top)",
|
|
"default": "https://dialectic-api.hangman-lab.top"
|
|
}
|
|
}
|
|
}
|
|
}
|