mirror of
https://github.com/moeru-ai/airi.git
synced 2026-07-18 12:13:33 +00:00
## Summary Restores `services/minecraft` to own **only Minecraft semantics**, decoupling the already-merged #1915 runtime contract from the (unmerged) #1916 desktop-relay design — as requested by @shinohara-rin in the #1916 review: > I'd prefer we first restore `services/minecraft` to only own Minecraft semantics, then reintroduce desktop relay/read-aloud through a generic module capability/tool contribution path or a Minecraft adapter. Otherwise `main` now contains half of a cross-PR runtime contract whose other half we are saying should not land as-is. The perception/reflex/brain reliability work from #1915 is untouched. This PR only removes the three desktop-coupling points baked into the bot service. ## Changes - **`airi-bridge.ts` — `handleActionIntent`**: a `spark:command` is high-level guidance from the AIRI server, now attributed to a neutral `'airi'` source. Removed the hardcoded `username = '主人'` / `relayedFrom: 'desktop-airi'` "treat it as if the master typed it in-game" framing. The generic server→bot directive still routes through `signal:chat_message` to trigger a fresh decision cycle, exactly as before — only the identity/provenance is neutralized. Binding a relayed command to the master's in-game identity is desktop-relay policy and will live in the Minecraft adapter. - **`minecraft-context-service.ts`**: stopped emitting the machine-readable `master:` status hint (whose only consumer was the desktop `gaming-minecraft` store) and removed the desktop-coupling NOTICE. The owner identity remains in the human-readable status **text** for the bot's own brain. - **`cognitive/index.ts`**: stopped forwarding the bot's own in-game chat over the `context:update` lane `minecraft:speech` (only meaningful with the #1916 desktop TTS consumer). The bot still ignores its own messages. ## How tested - Updated `minecraft-context-service.test.ts` to assert the neutral behavior (owner identity in status text, **never** as a `master:` hint). 2/2 pass. - `pnpm exec eslint <changed files>` → 0 problems. - The changed files typecheck clean. (Note: this worktree surfaces pre-existing `vec3@0.1.10` vs `vec3@0.2.0` dependency-resolution errors in unrelated files — `gaze.ts`/`runtime.ts`/`patched-goto.ts`/`world.ts`/`map-renderer`/`brain`/`rules` — present on `main` before this change too; not introduced here.) ## Follow-up Desktop relay (`relayToMinecraft`) and read-aloud will be reintroduced through a Minecraft adapter in the renderer (registering tools/prompts into the existing generic stores), so the runtime contract is owned by the Minecraft surface rather than baked into the neutral bot service. The generic stage-ui robustness fixes are already split out in #1949. --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Rin <shinohara-rin@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| computer-use-mcp | ||
| discord-bot | ||
| minecraft | ||
| satori-bot | ||
| telegram-bot | ||
| twitter-services | ||