Commit Graph
100 Commits
Author SHA1 Message Date
Rin 4e1ba4537a feat(minecraft): use js REPL for llm interface, would could possibly go wrong 2026-02-18 11:14:37 +08:00
Rin c250ecfeec feat(minecraft): add automatic reconnection with configurable retry limit
Add reconnect option to MineflayerOptions with enabled flag and maxRetries (default: 5), implement tryReconnect method to handle kicked/end events, extract setupBotEventHandlers to reuse on reconnect, track reconnect state with reconnectAttempts/isReconnecting/isStopping flags, add @types/node dependency for setTimeout typing
2026-02-18 11:14:37 +08:00
Rin b20d55508e feat(minecraft): (does it work???)use native reasoning field instead of [REASONING] prefix hack
Replace manual reasoning prefix concatenation with proper reasoning field in Message type, enable reasoning with configurable effort (default: low) in LLM calls, extract reasoningText from response instead of reasoning property
2026-02-18 11:14:37 +08:00
Rin 6488a3b43c feat(minecraft): back to xsai, again :D 2026-02-18 11:14:36 +08:00
Rin edde03216f refactor(minecraft): switch brain to stateless conversation with explicit history management
Replace stateful neuri.handle with handleStateless, maintain conversation history manually using Message[] array, append user/assistant messages only after successful parsing to avoid dirty data on retry
2026-02-18 11:14:08 +08:00
Rin b237ac846d feat(minecraft): add rate limit detection and backoff to brain retry logic
Add isRateLimitError helper to detect 429 status and rate limit messages, implement 500ms sleep on rate limit errors before retry
2026-02-18 11:14:08 +08:00
Rin 62f16570ca feat(minecraft): reasoning hack 2026-02-18 11:14:08 +08:00
Rin f59a11a5d6 fix(minecraft): sane tool description in system mesage 2026-02-18 11:14:08 +08:00
Rin 54b3bfdc06 refactor(minecraft): remove legacy action adapter and simplify execution model
- Remove unused ActionLLMHandler and createActionNeuriAgent from adapter.ts
- Replace execution:'parallel'/'sequential' with readonly:true for query tools
- Add 'skip' action for explicit no-op turns
- Remove error suggestion logic (now handled by brain retry)
- Simplify TaskExecutor to use ActionAgent.performAction directly
- Update tests to use createNeuriAgent() without bot parameter
2026-02-18 11:14:08 +08:00
Rin 1c942a84c8 fix(minecraft): validate LLM response structure to retry on invalid format 2026-02-18 11:14:08 +08:00
Rin c21b997569 fix(minecraft): simplify brain error retry logic to catch edge cases
Remove isLikelyRecoverableError helper and retry all non-auth/bad-arg errors
2026-02-18 11:14:07 +08:00
Rin 02d3f38663 fix(minecraft): make logging actually meaningful
Ported from commit f8b73bbf (partial - debug files only):
- Add /api/logs endpoint for listing and loading persisted log files
- Add log file selector UI to debug dashboard
- Filter persistEvent to only save relevant event types
- Add refreshFileList and loadPersistedLog methods to LogsPanel
2026-02-18 11:14:07 +08:00
Rin cb13baf108 chore(minecraft): speckit 2026-02-18 11:14:07 +08:00
Rin e07d775202 refactor(minecraft): remove auto-follow behavior from reflex social mode 2026-02-18 11:14:07 +08:00
Rin a70c2e158f chore(minecraft): minecraft debug config 2026-02-18 11:14:07 +08:00
Rin 4b8f00ce99 feat(minecraft): borrow patch from mindcraft 2026-02-18 11:14:07 +08:00
Rin 9ee5aa86ad chore(minecraft): TODO cleanup and ignore .agent/ 2026-02-18 11:13:08 +08:00
Rin f85b0d805e chore(minecraft): update brain prompt 2026-02-18 11:12:47 +08:00
Rin 260bc37935 fix(minecraft): invalid LLM output breaks blackboard 2026-02-18 11:12:47 +08:00
Rin 02c3949a40 feat(minecraft): use native tool calling for instant tasks 2026-02-18 11:12:47 +08:00
Rin d9b99bdda1 feat(minecraft): improve error handling and auto-craft intermediates...but it doesn't work very well
1. Wrap neuri tool invocations to catch ActionError and return as
   result strings instead of throwing. This allows the LLM to learn
   from tool failures during its reasoning phase.

2. Enhance craftRecipe to use the recipe planner for auto-crafting
   intermediate materials. If the bot has raw materials (e.g., logs)
   but not direct ingredients (e.g., planks), it will automatically
   craft the intermediates first.

3. Add memory note about the dual tool interface discovery (neuri
   native tool calls vs JSON actions through TaskExecutor) for future
   optimization work.
2026-02-18 11:12:46 +08:00
Rin b4f606e538 feat(minecraft): autocrafter and recepie planner 2026-02-18 11:12:46 +08:00
Rin 377d9378bd fix(debug): fix Zod 4 compatibility in tool-executor
In Zod 4, _def.defaultValue is the value itself, not a function.
This was causing 'curr._def.defaultValue is not a function' error
when the debug dashboard tried to extract tool definitions.
2026-02-18 11:12:46 +08:00
Rin e9dd2ce0ac fix(minecraft): fix craftables showing wrong results 2026-02-18 11:12:46 +08:00
Rin fc24f6e636 feat(minecraft): hurt source
limitations: the yaml rule doesn't support conditioning...
2026-02-18 11:12:46 +08:00
Rin e31d5e8cdf chore(minecraft): various context adjustments
make gaze context prompt more informative
provide time in hh AM/PM format instead of day/night
2026-02-18 11:12:46 +08:00
Rin 3c2862516d chore(minecraft): clean up (bot as any) and test files 2026-02-18 11:12:46 +08:00
Rin c77f56d81a feat(minecraft): track and display nearby players' held items in context 2026-02-18 11:12:46 +08:00
Rin 60133ae276 refactor(minecraft): linearize perception event flow, and more refactors
- Change brain retry behavior to abort on error instead of throwing
- Add JSON parsing utilities with better error messages for malformed LLM responses
- Treat JSON syntax errors as recoverable for retry logic
- Update conscious signal subscription to use 'conscious:signal:*' pattern
- Move RuleEngine and rule utilities from cognitive/os to cognitive/perception/rules
- Update tests to reflect new abort behavior (returns

cleanup comments and rename debug source

fix(minecraft): fix system message regression
2026-02-18 11:12:45 +08:00
Rin b493d8ed76 refactor(minecraft): declarative perception pipeline 2026-02-18 11:12:45 +08:00
Rin d53031ff38 feat(minecraft): accept system message 2026-02-18 11:12:45 +08:00
Rin 69c61c1a81 feat(minecraft): auto respawn 2026-02-18 11:12:45 +08:00
Rin ca82290064 refactor(minecraft): migrate from EventManager to unified EventBus for perception signals 2026-02-18 11:12:19 +08:00
Rin e02f718aa2 feat(minecraft): add social reflex, follow player on chat
fixup chat signal not propagated
2026-02-18 11:12:19 +08:00
Rin 50111bab56 fix(minecraft): emit reflex state on behavior end and mode change to keep dashboard state refresh 2026-02-18 11:12:19 +08:00
Rin 4133b90ece feat(minecraft): show reflex mode in dashboard 2026-02-18 11:12:19 +08:00
Rin ffa0a431b7 fix(minecraft): debug dashboard layout problem 2026-02-18 11:12:19 +08:00
Rin a9dc7d52fe feat(minecraft): hook up prismarine-viewer 2026-02-18 11:12:18 +08:00
Rin b11bb1a7c8 feat(minecraft): work mode in reflex if action inflight, so idle behaviors doesn't get played while working 2026-02-18 11:12:06 +08:00
Rin c4b35f650a feat(minecraft): event on player join, wire up eventbus 2026-02-18 11:12:06 +08:00
Rin 5b42001769 chore(minecraft): prompt adjustment 2026-02-18 11:12:06 +08:00
Rin 200b783efe feat(minecraft): improve goToCoordinate 2026-02-18 11:12:06 +08:00
Rin 59847cf52d feat(minecraft): add mineBlockAt tool 2026-02-18 11:12:05 +08:00
Rin 9300a7dc5b feat(minecraft): retry on LLM call failure 2026-02-18 11:12:05 +08:00
Rin 2ea93a391b refactor(minecraft): chat as tools to prevent scheme mismatch 2026-02-18 11:12:05 +08:00
Rin 6ff248c959 feat(minecraft): timestamp in blackboard 2026-02-18 11:12:05 +08:00
Rin 6f63e72934 feat(minecraft): get the block player is looking at 2026-02-18 11:12:05 +08:00
Rin 9c9ba1e717 feat(minecraft): action parallelism with feedback timeout 2026-02-18 11:12:05 +08:00
Rin 0b3a9f24e5 refactor(minecraft): better blackboard and task scheduling 2026-02-18 11:12:04 +08:00
Rin 112ed4ea9f fix(minecraft): no need for feedback on interruptions 2026-02-18 11:12:04 +08:00
Rin 9d395fd83d fix(minecraft): collectblock should provide correct feedback 2026-02-18 11:12:04 +08:00
Rin 8441943b2f chore(minecraft): remove personality traits from brain prompt and fix unused parameter 2026-02-18 11:12:04 +08:00
Rin 57b207557c fix(minecraft): fix blackboard name mismatch 2026-02-18 11:12:04 +08:00
Rin 500ad53e31 chore(minecraft): truncate system prompt in debug dashboard 2026-02-18 11:12:04 +08:00
Rin eaecba3638 refactor(minecraft): use exception to handle action erros instead of return value. 2026-02-18 11:12:04 +08:00
Rin de8b1994ed fix(minecraft): use correct id for blocksearch and some improvements 2026-02-18 11:12:04 +08:00
Rin f99b9d6aa4 chore(minecraft): debug launch.json 2026-02-18 11:12:03 +08:00
Rin 07097d1f78 feat(minecraft): execute tools from dashboard 2026-02-18 11:12:03 +08:00
Rin af968b5bc4 chore(minecraft): remove spammy logging 2026-02-18 11:12:03 +08:00
Rin 8ac2f5c354 chore(minecraft): round position for blackboard 2026-02-18 11:12:03 +08:00
Rin 67bc3dae39 fix(minecraft): there's no oxygen in minecraft wtf 2026-02-18 11:12:03 +08:00
Rin 7fa307592e feat(minecraft): resizable debug dashboard 2026-02-18 11:12:03 +08:00
Rin b9c2569743 chore(minecraft): update prompt, remove redundant chatlog 2026-02-18 11:12:03 +08:00
Rin 8beac18ced feat(minecraft): semantic percetion, belief and state pulling 2026-02-18 11:12:02 +08:00
Rin 0eca16030b fix(minecraft): dirty teabagging workaround 2026-02-18 11:12:02 +08:00
Rin 8d68af30b0 fix(minecraft): fix behavior rules not loaded 2026-02-18 11:12:02 +08:00
Rin 07f65950a6 feat(minecraft): add reflex state to dashboard 2026-02-18 11:12:02 +08:00
Rin 54380744c0 feat(minecraft): reflex behaviors WIP 2026-02-18 11:12:02 +08:00
Rin 7158c55e9a feat(minecraft): yet another overhaul...
i honestly don't know what to feel about this
2026-02-18 11:12:02 +08:00
Rin c46b3fa3d2 feat(minecraft) debug server redesigned 2026-02-18 11:11:02 +08:00
Rin bc5e1f42cb feat(minecraft): attempt at sliding window for salience detection 2026-02-18 11:10:04 +08:00
Rin f1c06e55a4 chore(minecraft): make linter happy 2026-02-18 11:10:04 +08:00
Rin 3ba23dda5b refactor(minecraft): clean up more code smell 2026-02-18 11:10:04 +08:00
Rin 0f34399bdf feat(minecraft): test for signals 2026-02-18 11:10:03 +08:00
Rin 3ba3a977f7 refactor(minecraft): perception layer technical debt cleanup 2026-02-18 11:10:03 +08:00
Rin 0959f70c49 fix(minecraft): cognitive engine should wait for bot initializes 2026-02-18 11:10:03 +08:00
Rin 585ff689bc feat(minecraft): implement reflex layer and related refactors 2026-02-18 11:10:03 +08:00
Rin e791d5c528 feat(minecraft): add tests for perception pipeline 2026-02-18 11:10:03 +08:00
Rin ee0adcaad0 feat(minecraft): stage processors, perception frame 2026-02-18 11:10:03 +08:00
Rin 9b53e4311b feat(minecraft): logging for perception pipeline 2026-02-18 11:10:02 +08:00
Rin 2d4eff7dcb fix(minecraft): don't rebuild dispatch table every time 2026-02-18 11:10:02 +08:00
Rin 3c7b42a913 doc(minecraft): update for perception pipeline 2026-02-18 11:10:02 +08:00
Rin 39a5acebfd feat(minecraft): implement raw event pipeline 2026-02-18 11:10:02 +08:00
Rin 703bcbe537 chore(minecraft): cleanup for tick handler 2026-02-18 11:10:02 +08:00
Rin ee21a678d6 feat(minecraft): mineflayer perception collector 2026-02-18 11:10:02 +08:00
Rin a3a29ae21a feat(minecraft): scaffold raw event pipeline with leaky bucket + DI wiring 2026-02-18 11:10:02 +08:00
Rin 8d629a90a2 chore(minecraft): remove bot chat messages and unused inventory functions
bot chat replaced with Error
2026-02-18 11:10:02 +08:00
Rin d049b2edeb chore(minecraft): temp personality for debugging, revert me later 2026-02-18 11:10:01 +08:00
Rin 1ac8e3fb28 fix(minecraft): implement proper interrupt method to stop bot actions
- Add `interrupt()` method to Mineflayer class with comprehensive action stopping
- Stop pathfinder, pvp, digging, item usage, and control states
- Replace non-working `emit('interrupt')` with `interrupt()` call in stop tool
- Add logging for interrupt requests and completion
- Remove FIXME comment as issue is now resolved
2026-02-18 11:10:01 +08:00
Rin 3bf1ebde73 chore(minecraft): remove unused actions and update descriptions
- Remove `stats` action (redundant with status info)
- Remove `stay` action (unused functionality)
- Update action descriptions from "bot's" to "your" for consistency
- Add TODO comment for file relocation
2026-02-18 11:10:01 +08:00
Rin d0d6f14f03 chore(minecraft): add FIXME comment for non-working interrupt emit 2026-02-18 11:10:01 +08:00
Rin c155e4e3d4 fix(minecraft): fix tool action result message (fix #5) 2026-02-18 11:10:01 +08:00
Rin 311d3ed0da feat(minecraft): add require_feedback for actions, updates prompt 2026-02-18 11:10:01 +08:00
Rin 88bff91a60 chore(minecraft): minor refactors and TODOs
chore(minecraft): add TODOs

chore(minecraft): rename BrainResponse to LLMResponse
2026-02-18 11:10:00 +08:00
Rin 0a5a7c9279 chore(minecraft): time llm call duration 2026-02-18 11:10:00 +08:00
Rin 4b2d06db3b chore(minecraft): various legacy code cleanup 2026-02-18 11:10:00 +08:00
Rin 8704bce444 docs(minecraft): update with current file structure 2026-02-18 11:10:00 +08:00
Rin 90588bd65c chore(minecraft): rename EventType to EventCategory 2026-02-18 11:10:00 +08:00
Rin 15d6d5aa79 refactor(minecraft): context encapsulation and more 2026-02-18 11:10:00 +08:00
Rin 684ffa8f1c chore(minecraft): rename 2026-02-18 11:10:00 +08:00