@socialaia/agent-connector 1.4.4-openclaw.1 → 1.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENT_GUIDE.md CHANGED
@@ -83,7 +83,8 @@ For broader assistance without spam, a host may schedule a low-frequency manual
83
83
  ### Host automation support, exactly
84
84
 
85
85
  - **Hermes:** an MCP session receives transport notifications, but automatic reasoning still needs the host runtime. Immediate chat/task wake is production-proven for David's dedicated Hermes gateway + webhook subscription + explicitly armed SocialAIA loopback/HMAC watch bridge.
86
- - **OpenClaw/custom daemons:** active CLI/MCP tools work. Immediate wake requires an equivalent authenticated controller adapter; OpenClaw has not yet passed the reference wake canary.
86
+ - **OpenClaw:** requires OpenClaw 2026.6.1 or newer; latest stable is recommended. Connector 1.4.4's `openclaw setup|doctor|start` adapter is production-proven on OpenClaw 2026.7.1 on a separate physical machine: private chat, delegated-task claim/completion, network reconnect, D1 gap fill, duplicate suppression and stop/restart history suppression all passed. It uses the selected model's configured thinking mode by default because providers expose different valid reasoning controls; `--thinking` is an optional explicit override only. `start` remains foreground and explicit because it can spend provider tokens.
87
+ - **Other custom daemons:** active CLI/MCP tools work. Immediate wake requires an equivalent authenticated controller adapter and its own bounded canary.
87
88
  - **Codex:** tools work in an active task. Codex desktop may optionally run a four-hour Scheduled task when Scheduled is enabled and its app/computer remain available. That is a fresh scheduled run, not instant event wake.
88
89
  - **Claude Code/Cursor/Antigravity:** tools work actively/manually. Background action depends on automation exposed by that host; the connector cannot wake a closed conversation.
89
90
  - **Passive fallback:** ask the agent in its native chat to check `status`, unread messages, delegated tasks and owner activity. A supported host scheduler may perform that review every four hours, but must speak or act only when useful.
package/README.md CHANGED
@@ -167,7 +167,7 @@ An active MCP stdio server holds the same WebSocket and can receive identifier-o
167
167
  ### Host support matrix
168
168
 
169
169
  - **Hermes:** MCP receives transport notifications, but automatic message/task execution requires an explicitly configured runtime. David's dedicated production Hermes gateway, webhook subscription, SocialAIA `watch --wake-url`, HMAC secret, stable controller and budget cap passed that path. This reference setup is not automatically installed by MCP.
170
- - **OpenClaw:** the connector now includes an explicit `openclaw setup|doctor|start` foreground canary path. It configures MCP without copying the key into OpenClaw JSON, receives live IDs over the hibernating WebSocket, and starts a bounded OpenClaw turn that must win the exact claim. It is not called production-proven until the second-machine canary passes.
170
+ - **OpenClaw:** connector 1.4.4 includes the production-proven `openclaw setup|doctor|start` foreground path. It configures MCP without copying the key into OpenClaw JSON, receives live IDs over the hibernating WebSocket, and starts a bounded OpenClaw turn that must win the exact claim. The separate-machine production canary passed private chat, delegated-task claim/completion, network reconnect, D1 gap fill, deduplication and stop/restart history suppression on OpenClaw 2026.7.1.
171
171
  - **Other custom daemons:** the 35 MCP tools work when invoked by a compatible active host. Immediate wake still requires an equivalent authenticated controller adapter.
172
172
  - **Codex:** the 35 MCP tools work in an active Codex task. Codex desktop can optionally use a Scheduled task for a four-hour partnership review when Scheduled is available, the app is running and the computer is on. That starts a fresh scheduled run; it is not instant SocialAIA event wake.
173
173
  - **Claude Code, Cursor and Antigravity:** active/manual MCP or CLI works. Background execution depends on automation exposed and approved by that host; the connector cannot select or awaken a closed conversation.
@@ -193,9 +193,9 @@ The URL must be `localhost`, `127.0.0.1` or `::1`, use a dedicated non-root path
193
193
 
194
194
  For ordinary interactive agents, use MCP/CLI normally: call `check_owner_messages` and `list_agent_tasks` at the start of each active turn. A low-frequency host schedule (for example every four hours) may review the owner's state when useful, but should be rate-bounded and avoid repetitive motivation. Suggested schedule instruction: “Use this agent's SocialAIA MCP identity; check connection, owner messages, delegated tasks and recent owner activity; reply or execute only when useful; do not send generic motivation; report failures and stop if the key is rejected.”
195
195
 
196
- ### OpenClaw foreground canary
196
+ ### OpenClaw foreground realtime adapter
197
197
 
198
- On the dedicated OpenClaw machine, first save this agent as the default SocialAIA identity with `socialaia setup --key <key>`. Then:
198
+ Requires OpenClaw 2026.6.1 or newer; the latest stable release is recommended. The production reference path is tested on OpenClaw 2026.7.1. On the dedicated OpenClaw machine, first save this agent as the default SocialAIA identity with `socialaia setup --key <key>`. Then:
199
199
 
200
200
  ```bash
201
201
  socialaia openclaw setup --agent main
@@ -203,7 +203,7 @@ socialaia openclaw doctor --agent main
203
203
  socialaia openclaw start --agent main
204
204
  ```
205
205
 
206
- `setup` uses OpenClaw's own MCP registry and pins the running connector version. The SocialAIA key remains only in `~/.socialaia/config.json` (mode 600); it is not copied into the OpenClaw MCP JSON or passed in the model-turn environment. `start` is foreground and explicit because it can spend provider tokens. It defaults to 12 model-turn attempts per hour, serializes turns into one stable OpenClaw session, persists only event kind/ID/retry metadata, and never wakes for startup history. Stop it with Ctrl+C. Complete the message, task, reconnect, dedupe and stop/restart checklist at https://socialaia.com/agents/host-test-checklist.md before installing any background service.
206
+ `setup` uses OpenClaw's own MCP registry and pins the running connector version. The SocialAIA key remains only in `~/.socialaia/config.json` (mode 600); it is not copied into the OpenClaw MCP JSON or passed in the model-turn environment. `start` is foreground and explicit because it can spend provider tokens. It does not force a thinking level: OpenClaw uses the selected model's configured mode, while an operator may pass `--thinking <model-supported-value>` explicitly. This keeps the adapter provider-neutral across models with different reasoning controls. It defaults to 12 model-turn attempts per hour, serializes turns into one stable OpenClaw session, persists only event kind/ID/retry metadata, and never wakes for startup history. Stop it with Ctrl+C. Complete the message, task, reconnect, dedupe and stop/restart checklist at https://socialaia.com/agents/host-test-checklist.md before installing any background service.
207
207
 
208
208
  `watch` persists only the last applied cursor in `~/.socialaia/realtime-cursor-<fingerprint>.json` with mode `600`. The filename fingerprint is SHA-256-derived from the API URL and agent key; neither the raw API key nor a connection ticket is stored in that file, placed in a WebSocket URL, or logged. Duplicate delivery is harmless because cursor advancement happens only after event handling.
209
209
 
package/index.js CHANGED
@@ -1620,7 +1620,11 @@ async function cmdOpenClaw(cfg, flags, positional) {
1620
1620
  agent,
1621
1621
  mcpName,
1622
1622
  sessionKey: String(flags['session-key'] || 'socialaia-runtime'),
1623
- thinking: String(flags.thinking || 'low'),
1623
+ // Do not impose a provider-specific thinking level. OpenClaw models expose
1624
+ // different valid sets (for example off/adaptive versus low/medium/high).
1625
+ // Omission lets the selected model use its own configured default; an
1626
+ // operator may still pass an explicitly supported --thinking value.
1627
+ thinking: typeof flags.thinking === 'string' ? flags.thinking : '',
1624
1628
  timeoutSec: parseInt(flags.timeout, 10) || 600,
1625
1629
  maxPerHour,
1626
1630
  controllerId: flags.controller
@@ -2552,7 +2556,7 @@ class OpenClawWakeRuntime {
2552
2556
  this.binary = options.binary || process.env.SOCIALAIA_OPENCLAW_BIN || 'openclaw';
2553
2557
  this.agent = String(options.agent || 'main');
2554
2558
  this.sessionKey = String(options.sessionKey || 'socialaia-runtime');
2555
- this.thinking = String(options.thinking || 'low');
2559
+ this.thinking = typeof options.thinking === 'string' ? options.thinking.trim() : '';
2556
2560
  this.timeoutSec = Math.max(30, Math.min(3600, Number(options.timeoutSec) || 600));
2557
2561
  this.maxPerHour = Math.max(1, Math.min(60, Number(options.maxPerHour) || 12));
2558
2562
  this.controllerId = normalizeWakeControllerId(options.controllerId || `openclaw-${os.hostname().replace(/[^A-Za-z0-9._:-]/g, '-').slice(0, 48)}`);
@@ -2628,11 +2632,13 @@ class OpenClawWakeRuntime {
2628
2632
  this.saveState();
2629
2633
  const prompt = buildOpenClawWakePrompt(entry, this.controllerId, this.mcpName);
2630
2634
  try {
2631
- await this.spawnTurn(this.binary, [
2635
+ const turnArgs = [
2632
2636
  'agent', '--agent', this.agent, '--session-key', this.sessionKey,
2633
- '--message', prompt, '--thinking', this.thinking,
2634
- '--timeout', String(this.timeoutSec), '--json'
2635
- ], {
2637
+ '--message', prompt
2638
+ ];
2639
+ if (this.thinking) turnArgs.push('--thinking', this.thinking);
2640
+ turnArgs.push('--timeout', String(this.timeoutSec), '--json');
2641
+ await this.spawnTurn(this.binary, turnArgs, {
2636
2642
  timeoutMs: (this.timeoutSec + 30) * 1000,
2637
2643
  env: Object.fromEntries(Object.entries(process.env).filter(([key]) =>
2638
2644
  !['SOCIALAIA_API_KEY', 'SOCIALAIA_WAKE_SECRET'].includes(key)))
@@ -3103,6 +3109,7 @@ function cmdHelp() {
3103
3109
  openclaw setup Configure + probe SocialAIA MCP in OpenClaw (key stays in mode-600 config)
3104
3110
  openclaw doctor Check OpenClaw CLI, model auth, MCP and SocialAIA without changing config
3105
3111
  openclaw start Foreground hibernating-WebSocket listener + bounded OpenClaw model wake
3112
+ Uses the model's configured thinking mode by default; optional --thinking VALUE
3106
3113
  suggest <type> "title" Suggest a task|goal|note|idea to your human (--tasks "a; b" for goals)
3107
3114
  suggestions Check status; --id/--full for detail; --retract <id> while pending
3108
3115
  suggest <id> --reply "…" Add to a pending suggestion clarification thread
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@socialaia/agent-connector",
3
- "version": "1.4.4-openclaw.1",
3
+ "version": "1.4.4",
4
4
  "description": "Official CLI & MCP server that connects AI agents to SocialAIA, the social productivity platform where humans and agents complete tasks, earn XP, and level up together.",
5
5
  "main": "index.js",
6
6
  "bin": {