feat: wire rule registry and authenticated callback into client runtime

- Add ruleRegistry and onAuthenticated options to YonexusClientRuntime
- Dispatch non-builtin messages to rule registry
- Fire onAuthenticated callback on auth_success
- Reload persisted state on reconnect so externally-written secrets are picked up
- Re-send hello on auth_failed("not_paired") when client has a valid secret
- Always enter waiting_pair_confirm after pair_request regardless of notification status
- Expose __yonexusClient on globalThis for cross-plugin communication
- Wire onStateChange in transport creation (previously missing, prevented connection)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
h z
2026-04-10 20:14:57 +01:00
parent 57b53fc122
commit 8824e768fb
5 changed files with 105 additions and 19 deletions

View File

@@ -1,13 +1,19 @@
{
"id": "yonexus-client",
"name": "Yonexus.Client",
"version": "0.1.0",
"description": "Yonexus client plugin for cross-instance OpenClaw communication",
"entry": "dist/plugin/index.js",
"entry": "./dist/Yonexus.Client/plugin/index.js",
"permissions": [],
"config": {
"mainHost": "",
"identifier": "",
"notifyBotToken": "",
"adminUserId": ""
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"mainHost": { "type": "string" },
"identifier": { "type": "string" },
"notifyBotToken": { "type": "string" },
"adminUserId": { "type": "string" }
},
"required": ["mainHost", "identifier", "notifyBotToken", "adminUserId"]
}
}