Commit Graph
52 Commits
Author SHA1 Message Date
Ryanba a5d45bdd77 fix(server-runtime): preserve explicit empty data destinations (#1635) 2026-05-04 06:40:13 +08:00
Iro 3f829421d3 fix(server-runtime): enforce auth & routing safety, fix lifecycle leaks (#1686) 2026-04-22 14:03:16 +08:00
Neko Ayaka b18158bce2 chore(computer-use-mcp): remove all hardcoded file path 2026-04-11 05:13:55 +08:00
Richard Pinedo 99be852fe4 feat(stage-tamagotchi,stage-ui,server-sdk,server-runtime): zero-trust websocket authentication (#1582) 2026-04-07 04:05:35 +08:00
Phoenix-Forrest-Lin 70a66292b2 fix(server-*,stage-ui): WebSocket cannot reconnect correctly, improved log (#1563) 2026-04-05 01:14:24 +08:00
Neko Ayaka 99e44116ca fix(server-runtime,docs,vishot-*): tsconfig issue, node issue, h3 export 2026-04-04 04:19:25 +08:00
LemonNeko 1fccad5fc7 fix(stage-tamagotchi): rollback when wss enable failed, show errors 2026-04-03 18:28:07 +08:00
fdeb9561bc feat(minecraft,stage-*): airi integration, isolated-vm plus misc updates (#1371)
* feat(minecraft): contextflow integration

Add AiriBridge to cognitive engine to enable communication with Airi system. Expose `notifyAiri` and `updateAiriContext` functions in JS planner runtime globals for sending notifications and context updates from agent code.

* refactor(minecraft): remove redundant destinations field from airi-bridge

Remove hardcoded `destinations: ['minecraft']` from spark:command, spark:notify, and context:update events as the destination is already implied by the bridge context.

* feat(minecraft): complete AIRI context flow integration

Wire up bidirectional AIRI ↔ Minecraft communication via dedicated
signal channels instead of reusing signal:chat_message.

- Add airi_command and airi_context to PerceptionSignalType
- Route spark:command intents: action/plan/proposal/reroute emit
  signal:airi_command; context intent emits signal:airi_context
- Add inbound context:update listener so AIRI can push context to
  the Minecraft agent
- airi_context signals are injected into conversation history directly
  without triggering a full cognitive cycle
- airi_command events reset the no-action budget (like player chat)
- enterContext/exitContext auto-emit context:update back to AIRI for
  task lifecycle visibility
- Add sendEmit() helper for queued/working/done progress reporting

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(minecraft): report bot startup state to AIRI

Send initial context update to AIRI when brain comes online, including
bot username, server address, position, health, game mode, and list of
other online players. Tagged with 'startup' and bot username for
filtering.

* feat(minecraft): manage bot config through airi

* feat(stage-ui): add minecraft service shell

* fix(stage-ui): use applied minecraft config for chat context

* fix(minecraft): fall back on invalid env port

* fix(minecraft): support quoted env values

* fix(minecraft): ignore empty env overrides

* fix(stage-ui): keep minecraft draft during apply

* fix(stage-ui): simplify minecraft heartbeat label

* feat(stage-ui): simplify minecraft settings shell

* fix(minecraft): use registry heartbeat for stage liveness

* chore(minecraft): remove annoying detector decision logging

* fix(minecraft): limit context flow to bot pushes

* fix(minecraft): use workspace server sdk

* fix(stage-ui): replay registry snapshots for late listeners

* chore(minecraft): add todo for explicit stage deregistration

* feat: improve context flow observability

* fix(stage-ui): remove redundant header and callout from settings and context flow pages

* feat(stage-ui): enhance context flow prompt projection UI with readiness indicator

* docs(stage-ui): clarify context flow prompt projection terminology

* fix(stage-ui): add test for clone-safe context snapshots with nested fields

* todo

* fix(minecraft): avoid blocking startup on airi connection

* Remove LLM timeouts from the Minecraft brain

* Remove context boundary system from Minecraft brain

* feat(minecraft): use isolated-vm for JS planner sandbox

* refactor(minecraft): harden planner sandbox defaults

* Remove LLM attempt timeout guard

* [autofix.ci] apply automated fixes

* Fix server runtime shutdown signal handling

* Remove misleading Minecraft integration toggle

* contextflow destination to stage-*

* chore(deps): updated

* Add settings layout route for web devtools

* chore: default to expand context panels

* fix(server-*): should export more types, and for module:announced should ignore self

* refactor(minecraft): better context orchestration, handle module announce, context sync, and more

* feat(stage-ui): not spark command ready

* [autofix.ci] apply automated fixes

* clean up

* refactor: use :class arrays per AGENTS.md styling guidelines

* cleanup bloated tests

* rm more tests

* use errorMessageFrom

* hardcode to reduce bloat

* update setup instructions

* timeout for brain

* remove more bloat

* fix

---------

Co-authored-by-agent: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by-agent: Codex
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Neko Ayaka <neko@ayaka.moe>
2026-04-01 23:33:59 +08:00
Ryanba 2caae8ee41 fix(server-runtime): preserve explicit empty route destinations (#1521) 2026-03-30 17:16:49 +08:00
Neko Ayaka a9c281c9f2 fix(server-*): added simple message queue for helping selecting consumer
Close #1387
2026-03-29 23:26:29 +08:00
Neko Ayaka 6f8f049b01 fix(server-*): should export more types, and for module:announced should ignore self 2026-03-29 01:10:11 +08:00
Rin d5be1a079e fix(server-runtime): import Buffer 2026-03-29 00:31:23 +08:00
RainbowBird 405904183f refactor(server): revert a8f445a17985a90d7eb5d981b4231114c3066e94 2026-03-28 02:25:44 +08:00
RainbowBird ba3d66de86 feat(server-protocol): introduce shared protocol types for AIRI server clients and frontends
- Added package.json for @proj-airi/server-protocol with necessary configurations.
- Implemented chat event types including WireMessage, SendMessagesRequest, and PullMessagesRequest.
- Defined WebSocket event types and structures for better integration with AIRI components.
- Updated server-runtime and server-sdk to utilize the new server-protocol package.
- Refactored imports across various packages to replace server-shared types with server-protocol types.
- Enhanced type definitions and added TypeScript configurations for better development experience.
2026-03-28 02:25:44 +08:00
15c8b69053 fix(server-runtime): use constant-time comparison for auth token (#1445)
---------

Co-authored-by-agent: spidershield-contrib <spidershield-contrib@users.noreply.github.com>
Co-authored-by: Mateusz Bilicki <78451054+Zazzik1@users.noreply.github.com>
Co-authored-by: Neko <neko@ayaka.moe>
2026-03-24 13:06:31 +08:00
Neko Ayaka 955d1a1d5d refactor(server-*): refactor client, better state managment 2026-03-20 21:19:01 +08:00
Neko Ayaka 60cbea1e19 style: lint 2026-03-19 14:19:54 +08:00
RyanbaandNeko c276bcc24d fix(server-runtime): preserve explicit empty route destinations (#1324)
---------

Co-authored-by: Neko <neko@ayaka.moe>
Co-authored-by-agent: Sisyphus <clio-agent@sisyphuslabs.ai>
Co-authored-by-agent: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-15 01:58:17 +08:00
Rin 1a1f720c93 fix(server-runtime): shutdown server on interruption properly (#1356)
Co-authored-by-agent: Claude Opus 4.6
2026-03-14 21:44:13 +08:00
Neko Ayaka a2da08f2ce fix(stage-tamagotchi): should handle EADDRINUSE, bug of srvx, robust for server channel restart, injeca fix 2026-03-10 23:47:39 +08:00
Pratyush Sharma ada6e77823 fix(server-runtime,server-sdk): accept plain JSON from external WebSocket clients (#1234) 2026-03-10 16:08:23 +08:00
Neko Ayaka 440be8e91d chore(server-runtime,plugin-protocol): adjust healthy check policy, added multiple module check events 2026-03-10 02:40:23 +08:00
SakataRyuichi 49d57a5b8b fix(server-runtime): use superjson.parse for incoming WebSocket messages (#1187) 2026-03-08 18:19:38 +08:00
Mateusz Bilicki 760641b5eb fix(server-runtime): fix invalid payloads dispatched over WebSockets (#1037) 2026-02-17 02:10:32 +08:00
Neko Ayaka b49cf9275a fix(plugin-sdk,server-*): type mismatch 2026-02-07 03:31:44 +08:00
Neko Ayaka 0e9b0668de feat(plugin-sdk): init 2026-02-01 23:32:34 +08:00
LemonNekoandautofix-ci[bot] e4add70e13 feat: allow to enable secure websocket for server channel (#1014)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-01 00:35:03 +08:00
skyline624andNeko Ayaka b500eb8f5b fix(stage-ui): preserve and propagate discord context in bridge (#934)
---------

Co-authored-by: Neko Ayaka <neko@ayaka.moe>
2026-01-11 23:42:45 +08:00
Neko Ayaka ea3328f5b2 fix(server-*): rename message ping & pong body & type 2026-01-10 00:45:08 +08:00
Neko Ayaka eb803ab76e feat(server-*): extend server capability, routing, heartbeat, and better type 2026-01-10 00:28:21 +08:00
Neko Ayaka 340c22b318 refactor(server-runtime): should not check readyState, rely on send failure to lazy drop if encountered error 2025-12-27 03:35:49 +08:00
Neko Ayaka eb81a94847 perf(server-runtime,server-shared,stage-tamagotchi): improved server-runtime 2025-12-20 19:45:27 +08:00
Neko Ayaka 15d2acb268 fix(server-runtime): missing build for bin 2025-11-24 02:44:49 +08:00
Neko Ayaka 882665b87c fix(stage-tamagotchi,server-runtime): h3 update breaks websocket functionality 2025-11-04 01:46:48 +08:00
Neko Ayaka a7a1302b99 chore(deps): bump dependencies 2025-11-01 16:03:45 +08:00
Neko Ayaka 10329fec82 fix(server-runtime): h3 with new router & app API 2025-10-09 02:41:48 +08:00
Makito b8d419fb13 fix: lint errors 2025-09-21 19:01:34 +09:00
Iro d60cc081e3 feat(server-runtime): harden WebSocket peer handling and validation (#598) 2025-09-21 13:49:11 +08:00
Neko Ayaka 20cb21f82f fix: usLogg from @guiiai/logg error 2025-09-10 21:18:48 +08:00
RainbowBird 733b8893c7 refactor: replace useLogg with useLogger (#563) 2025-09-07 23:47:23 +08:00
Iro c00f1fc550 Fix: prevent module peer overwrite on re-announce (#472) 2025-08-26 17:51:35 +08:00
Neko Ayaka 0c127d3baa fix: lint 2025-08-26 12:58:06 +08:00
Iro d05d809ce3 optimize WebSocket handling in packages/server-runtime/src/index.ts (#459) 2025-08-26 12:52:26 +08:00
Neko AyakaandMakito cc449b1d0c style: use @sumimakito integrated perfectionist/sort-imports`
Co-authored-by: Makito <5277268+sumimakito@users.noreply.github.com>
2025-06-17 14:03:27 +08:00
Neko Ayaka 5568d9e5c3 fix(server-runtime): type issue for crossws Peer 2025-05-26 01:24:42 +08:00
Neko Ayaka f96cb55417 fix(server-sdk): reconnect implemented 2025-03-21 11:42:39 +08:00
Neko Ayaka f3b93ab465 feat(stage-web|stage-tamagotchi|server-sdk|server-runtime|server-shared|stage-ui): added new events for ui:configure, and module:configure, and added basic implementation of the memory-pgvector process holding, also adjusted the border style of radio set of card 2025-03-21 01:49:32 +08:00
Neko Ayaka 3b3a068c6b style: lint 2025-02-10 01:16:41 +07:00
Neko Ayaka 7b7fb2dd5c feat(server-sdk): authentication 2025-01-17 01:23:48 +08:00
Neko Ayaka 17aae1222a chore(services/discord-bot): remote stt, fix server bugs 2025-01-16 16:25:30 +08:00