These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)
| Commit: | 1255d50 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(sdk): simplify managed bot setup Make scripts provision named instances and offline bots through native Effect APIs, with managed installation as the default entry point. Keep observation and bot startup scoped, reuse saved accounts without changing existing configuration, and cancel interrupted collection tasks. Update both SDK guides and the vanilla-server harness to use this flow.
| Commit: | 976c9a8 | |
|---|---|---|
| Author: | Cyrill Brito | |
| Committer: | GitHub | |
fix(tasks): let breed find adult animals and sleep reach its bed (#1019) * fix(breed): recognize adults by the baby flag The task only bred animals with getAge() == 0, but on the client an ageable mob's age is only -1 (baby) or 1 (adult): the real age, and with it the breeding cooldown, stay on the server. No adult ever matched. Adults are now recognized with isBaby(). EntitySnapshot.age_ticks documents what the client sees. * fix(sleep): stay within the server's bed range, and find the nearest bed - The task stopped walking within 4 blocks of the bed's centre and tried to sleep from up to 6, but the server only accepts a player within 3 blocks horizontally and 2 vertically of the bed's bottom centre ("the bed is too far away"). It now walks closer and checks that box. - nearestBed copied the position after `min`, but BlockPos.betweenClosed reuses one mutable position, so it returned wherever the iteration ended.
| Commit: | a92a696 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(bot): expose active proxy connection metadata Report the proxy type and endpoint attached to the current bot connection without exposing credentials. Distinguish direct connections from missing connection metadata, including before player state is available. Regenerate SDK bindings for the additive RPC field. Server tests, Spotless, protobuf lint, and TypeScript SDK tests passed.
| Commit: | 3d8ee13 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
fix(pov): restore vanilla animation timing and local dialog actions Capture after simulation and mouse updates, preserve vanilla camera interpolation, and advance the headless real-time animation clock. Add queue lifecycle tests and manual headless movement, crouch and sprint FOV validation. Forward clipboard writes and confirmed HTTP links from authenticated POV input to the controlling client instead of the server desktop.
| Commit: | 2f3232e | |
|---|---|---|
| Author: | AlexProgrammerDE | |
| Committer: | AlexProgrammerDE | |
feat(pov): add adaptive streaming and persistent input Move interactive input to a capability-authenticated WebSocket while keeping video on the authenticated watch stream. Adapt bitrate, resolution and frame rate to client feedback and negotiate H.264 High or optional AV1. Reuse mapped readback buffers, add isolated clipboard support and retain an opt-in pipelined capture path. Extend encoder, adaptation and input-channel validation.
| Commit: | 12d3bd6 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(pov): adapt video bitrate to stream feedback Probe higher bitrates during healthy delivery and back off when client delivery delay, decoder recovery, or server backpressure indicates congestion. Bound adjustments and restart encoding with a keyframe without requiring another hardware session slot. Include the target bitrate in frames and validate adaptation in unit and live integration tests.
| Commit: | 64d7eda | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(pov): stream Minecraft cursor shapes Include the rendered GUI cursor shape in each POV frame so viewers can use the appropriate native cursor. Validate button and text-field hover in the headless integration harness.
| Commit: | b78cdce | |
|---|---|---|
| Author: | AlexProgrammerDE | |
| Committer: | AlexProgrammerDE | |
feat(pov): stream low-latency H.264 video Encode live Vulkan frames through native FFmpeg with hardware encoding and a bundled x264 fallback. Send Annex B access units with timestamps and recovery keyframes over the POV stream, avoiding JPEG conversion and targeting 60 FPS. Keep screenshot rendering intact and validate native decoding, resize recovery, interactive controls, and headless container playback.
| Commit: | e95fc54 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
fix(pov): preserve native controls and world transfer sessions Keep vanilla jump and sprint timers during interactive control and forward Escape even when no screen is open. Wait through temporary missing world state instead of ending the live stream. Extend headless validation to cover flight toggling, Escape menus, and dimension transfers.
| Commit: | d14073b | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(pov): stream live frames and forward native bot input Add authenticated interactive sessions with ordered input, control leases, and heartbeat cleanup. Preserve viewport dimensions between frames and replay loaded chunks when switching render scenes so live terrain remains visible. Validate movement, bot isolation, inventory and world interaction, resizing, and disconnect cleanup against a headless server.
| Commit: | da3ec1d | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(renderer)!: replace CPU rasterizer with headless Vulkan Render requested POV and inventory captures through Minecraft's Vulkan backend without a native window or OpenGL. Share the device and cache one bot scene, release native resources when switching bots, and preserve per-bot fog state. Prefer compatible discrete and integrated GPUs over software devices. Package native libraries, add lavapipe to Docker, and provide opt-in headless comparisons and device benchmarks. Validate with 684 unit tests, 30 exact deterministic scene comparisons, concurrent bot captures, inventory images, and headless benchmarks on NVIDIA, Intel, and lavapipe. BREAKING CHANGE: Server startup requires a Vulkan loader and compatible driver. Inventory images use PNG snapshots instead of animated GIFs, and the custom CPU rendering backend is removed.
| Commit: | 9bb0379 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
| Committer: | AlexProgrammerDE | |
feat(beat-game): harden autonomous survival progression Add durable survival and recovery behavior, live hazard handling, progress-aware exploration, and supporting protocol and pathfinding changes. Preserve ARA* while bounding exploration searches and validating route execution against observed world state.
| Commit: | a95abea | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(pathfinding): add resumable navigation and beat-game skills Replace force-progress frontier behavior with revision-aware ARA* route execution and exact chunk dependencies. Add durable beat-game skill state, restart-safe portal progress, controlled qualification fixtures, and release-gate plumbing.
| Commit: | 0765be7 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(pathfinding): replace weighted search with ARA* Reuse OPEN, CLOSED, and INCONS across epsilon repairs so planning improves incumbents without restarting. Report interruption-safe quality certificates and reject routes that miss the requested bound. BREAKING CHANGE: GoalScorer now evaluates NodeState plus entering actions, RouteSearchMode exposes initial epsilon and a default quality bound, and path planning responses include ARA* diagnostics and a quality-bound-not-met status.
| Commit: | a0ff955 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(pathfinding): replace route search and execution Adopt canonical navigation state, bounded weighted A*, structured route costs, cached world observations, proactive action validation, and partial-route prefetching. Extend movement coverage and expose request-scoped search policies and diagnostics through the protocol and generated SDKs. BREAKING CHANGE: Remove pathfinding pruning and rotation-jitter settings, replace internal route result and state APIs, and extend pathfinding protocol contracts.
| Commit: | e4eaf76 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(protocol): expose block collection diagnostics
| Commit: | d97e57b | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(pathfinding): add route elevation bounds
| Commit: | 9456295 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(sdk): constrain block collection elevation
| Commit: | fc2ca52 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(sdk): add visible block collection
| Commit: | 39fe29f | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(fishing): bound failed cast retries
| Commit: | 15efd4d | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(beat-game): harden autonomous survival recovery
| Commit: | 5334e01 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
fix(beat-game): preserve progress through survival hazards
| Commit: | 7e1c2c2 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(sdk): move game strategy to TypeScript
| Commit: | e4b2dc0 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(sdk): deliver official automation platform
| Commit: | 4522042 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(sdk): expand bot automation APIs
| Commit: | 515c549 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(bots): add per-bot desired state
| Commit: | 46a999f | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(renderer): add configurable POV debug output
| Commit: | 01982e1 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
| Committer: | AlexProgrammerDE | |
feat(instance): add live overview data APIs
| Commit: | 5c0dc3f | |
|---|---|---|
| Author: | AlexProgrammerDE | |
| Committer: | AlexProgrammerDE | |
feat(auth): add TheAltening account support
| Commit: | 349908c | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(inventory): render item icons in bot inventory
| Commit: | 681e6e6 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
| Committer: | AlexProgrammerDE | |
feat(grpc): add BotLiveService for streaming events and automation RPCs Introduces a new automation-first gRPC service that complements BotService with mineflayer/azalea-style ergonomics: - WatchBotEvents: single multiplexed stream delivering initial snapshot, state deltas, chat messages, and lifecycle (disconnect) events. - SendChat: send a chat message or slash command from the bot. - GetBlock / FindBlocks: query the bot's live world view by block id or position. - ListNearbyEntities: enumerate entities within a radius, filtered by type, with distance sorted output. - DigBlock / PlaceBlock / UseItem / AttackEntity / InteractEntity / SwingArm: position- and entity-id targeted imperative actions that bypass the raytrace-from-current-look pattern of MouseClick. - GoTo / StopPathfinding: pathfinding goal submission with streaming PathfindProgress events (PLANNING, MOVING, COMPLETED, FAILED, CANCELLED) and a stop RPC. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
| Commit: | e789e0d | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(script): add ordered collection support
| Commit: | f3ffe29 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(openapi): expose proto field behaviors
| Commit: | ead4a2a | |
|---|---|---|
| Author: | AlexProgrammerDE | |
docs(proto): complete API field annotations
| Commit: | 8eff60a | |
|---|---|---|
| Author: | AlexProgrammerDE | |
Add batched automation bot settings controls
| Commit: | 3e1064e | |
|---|---|---|
| Author: | AlexProgrammerDE | |
Add automation quota override controls
| Commit: | 34ebcb8 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
Expand automation operator controls and docs
| Commit: | c1531ae | |
|---|---|---|
| Author: | AlexProgrammerDE | |
Add manual automation claim release controls
| Commit: | c32b95e | |
|---|---|---|
| Author: | AlexProgrammerDE | |
Add automation role and objective overrides
| Commit: | 42f90e6 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
Add automation coordination controls
| Commit: | 8c5e07e | |
|---|---|---|
| Author: | AlexProgrammerDE | |
Add automation memory inspection controls
| Commit: | f7c4ab9 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
Add dedicated automation API surface
| Commit: | f2145c5 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
Harden automation settings and requirement keys
| Commit: | 5706cac | |
|---|---|---|
| Author: | AlexProgrammerDE | |
chore: improve openapi documentation
| Commit: | 897e76c | |
|---|---|---|
| Author: | AlexProgrammerDE | |
Revert "Add structured instance events service" This reverts commit f4d1bd7aaa5dd0163c71c540426f823150c1f505.
| Commit: | f4d1bd7 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
Add structured instance events service
| Commit: | 7c6a8c4 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add MCP (Model Context Protocol) server support Expose all gRPC services as MCP tools via Armeria's armeria-ai-mcp module, enabling AI assistants to control SoulFire through natural language. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| Commit: | 81c85ac | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add Microsoft Java access token authentication service Introduces OnlineSimpleJavaData as a new AccountData type for access-token-only accounts, avoiding the need to stuff fake data into OnlineChainJavaData. Uses MinecraftAuth's Jwt for expiry parsing and MinecraftProfileRequest for profile resolution via LenniHttpHelper (with proxy support). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| Commit: | e01f066 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add Microsoft Java cookies authentication service Extract cookie-to-refresh-token resolution into a dedicated MSLiveCookieHelper utility and implement MSJavaCookiesAuthService as a new auth type using OnlineChainJavaData. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| Commit: | 2b1a83f | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add generics support for script node type system Introduce TypeDescriptor sealed interface with Simple, Parameterized, and TypeVariable variants to enable generic type inference across node ports. List/flow nodes now declare type variables (e.g. List<T> input, T output) that unify at connection time. Adds MAP port type, proto TypeDescriptor message, and updated type propagation with deduplication. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| Commit: | 3bdc3f5 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: wire script quotas through proto, server CRUD, and execution engine Add disable_timeouts field to ScriptQuotas proto and quotas fields to Create/UpdateScriptRequest. ScriptQuotasConfig record provides typed defaults (100K exec count, 30s data edge timeout, 90s node timeout). Quotas are read/written in ScriptServiceImpl and threaded through ReactiveScriptContext into the execution engine and trigger service. Duration.ZERO disables timeouts. flatMap concurrency replaces the AtomicBoolean guard in ScriptTriggerService. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| Commit: | 4d28877 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: comprehensive script system improvements (35 items) Add type safety, validation, optimization, and UX enhancements to the visual scripting engine across server and proto layers. Server changes: - Structured ValidationDiagnostic with severity levels (ERROR/WARNING) - TypeCompatibility matrix and runtime type coercion checks - TypePropagation forward analysis through ANY ports - ConstantFolding optimization pass for constant subgraphs - Input contract validation for required ports at runtime - Lazy data evaluation filtering by declared input ports - Deterministic sorted ordering for data-only sources - Idempotency tokens for trigger deduplication - ExecutionRecorder for replay support - Script schema versioning and migration framework - Resource quotas proto (ScriptQuotas) - ValidateScript and DryRunScript RPCs - isExpensive/blocksThread flags on NodeMetadata - Execution time tracking in NodeCompleted events - ExecutionStats events for node count reporting Proto changes: - DiagnosticSeverity enum and ValidationDiagnostic message - ScriptQuotas, ExecutionStats, ValidateScript/DryRunScript RPCs - execution_time_nanos on NodeCompleted - is_expensive flag on NodeTypeDefinition Tests: - TypeCompatibilityTest for coercion matrix - TemplateValidationTest with parameterized template JSON files - Data-only node caching verification test - Updated cancellation and execution limit tests - Template fixtures (simple-print, data-edges, loop, branch) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| Commit: | 4ac55c7 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add instance persistent metadata and new variable nodes
| Commit: | 0a3c7db | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add server-level system metrics (CPU, memory, threads, GC, bots) Add ServerMetricsCollector polling JMX beans every 3s with a ring buffer, GetServerMetrics gRPC RPC gated by READ_SERVER_CONFIG permission, and ServerMetricsSnapshot proto message for CPU, heap, threads, GC, uptime, and aggregate bot counts across all instances. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| Commit: | 034e058 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add instance metrics collection and gRPC service Add server-side metrics infrastructure for real-time instance monitoring: - New metrics.proto with MetricsSnapshot time-series and MetricsDistributions - InstanceMetricsCollector: event-driven collector with ring buffer (600 snapshots) - MetricsServiceImpl: gRPC endpoint with incremental fetching via "since" param - Tracks bot counts, packet rates, tick duration, health/food, chunks/entities Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| Commit: | 36334e1 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
refactor: use end sentinel streaming pattern for loginCredentials Replace the aggregate CredentialsAuthFullList final message with per-result streaming and an explicit end sentinel, matching the proxy check service pattern. - Add account data to CredentialsAuthOneSuccess messages - Add CredentialsAuthEnd sentinel message - Remove CredentialsAuthFullList message - Stream individual results with account data as they complete - Client collects accounts from individual one_success messages Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | bc3e032 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
| Committer: | AlexProgrammerDE | |
docs: add CLAUDE.md for Claude Code guidance Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 33a1f15 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(scripts): add 24 new scripting nodes and fix proto paused field New node categories and nodes: - Network: WebFetchNode (HTTP requests with method, headers, body) - AI: LLMChatNode (uses bot's AI settings for LLM chat) - JSON: JsonParse, JsonStringify, JsonGet, JsonSet, JsonArray, JsonObject - Encoding: Hash, Base64Encode/Decode, Encrypt/Decrypt, Compression - State: CacheNode, StateNode (state machine) - Integration: DiscordWebhookNode - Variable: Get/SetPersistentBotVariable, Get/SetSessionBotVariable - Flow: DelayNode, RateLimitNode - String: RegexMatchNode, RegexReplaceNode - Utility: TimestampNode Also fixes proto schema to add missing 'paused' field that was introduced in the activation-to-pause refactor. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | e175d02 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add script log streaming and fix PrintNode for any type inputs - Add ScriptLog message to proto for streaming log events to frontend - Update ScriptServiceImpl to send ScriptLog events when onLog is called - Fix PrintNode to properly handle "any" type inputs by accessing NodeValue directly instead of using getInput() which only handles specific types Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 313712c | |
|---|---|---|
| Author: | AlexProgrammerDE | |
| Committer: | AlexProgrammerDE | |
feat(scripting): add data-driven HandleShape and EdgeStyle for ports Add HandleShape and EdgeStyle enums to PortTypeMetadata, allowing the visual appearance of port handles and edge animations to be configured server-side instead of hardcoded in the client. - Execution ports: square handles with animated edges - Data ports: circular handles with static edges Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | c3a9238 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
fix(scripting): update proto files and fix registry API - Add PortTypeMetadata, RegistryEntry, GetRegistryDataRequest/Response to proto - Add GetRegistryData RPC to ScriptService - Fix registry data to use formatted IDs as display names - Add formatRegistryId helper for converting IDs to display names Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 4708563 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat(script): Add Blender-style node editor enhancements - Add multi-input socket support for ports that accept multiple connections - Add layout node support (isLayoutNode, supportsMuting, supportsPreview) - Update PortDefinition with multiInput flag - Update NodeMetadata with muting and preview support - Update ScriptGraph to collect multi-input values into lists - Update ScriptServiceImpl to serialize new proto fields Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 7e5e131 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
Revert "feat: improve validation and node capabilities" This reverts commit 083c50194fb653103760d292c4458e580c254b61.
| Commit: | 083c501 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: improve validation and node capabilities
| Commit: | 9eb47e9 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
chore: fixup protocol
| Commit: | 92ea92c | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add CategoryDefinition with id, displayName, icon for all categories Categories are now proper objects with metadata instead of plain strings: - CategoryDefinition proto message: id, display_name, icon, description, sort_order - NodeCategory enum in Java with predefined categories: - triggers, actions, data, flow, logic, math, string, list, constants, utility - Each category has icon (using lucide icon names) Node changes: - NodeMetadata.category is now NodeCategory enum (not String) - NodeMetadata.icon is now required (not nullable) - AbstractScriptNode derives icon from category if not specified - GetNodeTypesResponse returns List<CategoryDefinition> instead of List<String> Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 47b5ed6 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add data-driven node metadata system for client rendering Clients can now render the visual script editor without hardcoded knowledge of node types. The protocol defines: - PortType enum: NUMBER, STRING, BOOLEAN, VECTOR3, BOT, LIST, EXEC, etc. - PortDefinition: describes input/output ports with type, defaults - NodeTypeDefinition: complete node metadata (name, category, ports, etc.) - GetNodeTypes RPC: returns all node definitions for client rendering Java implementation: - PortType enum matching proto - PortDefinition record with factory methods for common patterns - NodeMetadata record with builder for defining node metadata - ScriptNode.getMetadata() method for nodes to describe themselves - AbstractScriptNode provides default metadata derived from type - NodeRegistry.getAllMetadata() for gRPC service implementation Example nodes updated with rich metadata: - OnTickNode (trigger pattern) - AddNode (data node pattern) - PathfindToNode (action node pattern) Remaining nodes use auto-generated minimal metadata and can be enhanced incrementally. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 64d8486 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
| Committer: | AlexProgrammerDE | |
refactor: remove script scoping and make scripts activatable This refactor makes two architectural changes to the visual scripting system: 1. Remove BOT/INSTANCE scoping - All scripts now run at instance level. Bot becomes an explicit input to nodes. New nodes provide bot selection: - GetBotsNode: returns all bots in the instance - FilterBotsNode: filters bots by regex pattern - GetBotByNameNode: gets a bot by name - ForEachBotNode: iterates over bots 2. Make scripts activatable instead of startable - Scripts are now reactive state machines that activate (register listeners) and deactivate (unregister + cancel pending operations). There is no concept of scripts "running to completion". Key changes: - Remove ScriptScope enum from proto and database - Add currentBot field to ScriptContext for flow nodes - All action/data nodes use requireBot(inputs, context) pattern - Trigger nodes output bot and set context.currentBot - Rename start/stop to activate/deactivate throughout - Add database migration to drop scope column Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 4c671da | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add visual scripting node implementations and trigger service - Add constant nodes (number, string, boolean, vector3) - Add utility nodes (print, get/set variable) - Create ScriptTriggerService for event-driven execution - Wire up ScriptEngine to gRPC service - Add executeFromTrigger method for trigger node execution - Add onLog method to ScriptEventListener - Add auto_start field to protocol and database entity - Register all new nodes in NodeRegistry Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 42514ec | |
|---|---|---|
| Author: | AlexProgrammerDE | |
| Committer: | AlexProgrammerDE | |
feat: implement visual scripting backend with execution engine Add complete backend for visual node-based scripting: - ScriptService proto with CRUD, execution, and log streaming RPCs - ScriptEngine with topological sort and async node execution - ScriptContext for BOT and INSTANCE scope execution - ScriptGraph for node/edge representation - 48 node implementations (triggers, math, logic, actions, data, flow) - ScriptServiceImpl gRPC service with database persistence - ScriptEntity JPA entity with JSON storage for nodes/edges - NodeRegistry for node type registration Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 1ffc7ba | |
|---|---|---|
| Author: | AlexProgrammerDE | |
docs: add comprehensive documentation to all proto files Document all 13 SoulFire proto files with comments derived from backend implementation analysis including service descriptions, RPC methods, message types, fields, enums, permissions, and error cases. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 91a5217 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
fix: implement bot config and bot persistence more idiomatically
| Commit: | 4475c61 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add persistent account metadata storage Adds Map<String, Map<String, JsonElement>> metadata field to MinecraftAccount that persists to database and syncs via gRPC with granular entry updates. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 2784be9 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add game mode to bot live state Returns the bot's current game mode (survival, creative, adventure, spectator) in BotLiveState for display in the client UI. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 34d9dee | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add movement and rotation control RPCs - SetMovementState: Control WASD movement, jump, sneak, sprint - ResetMovement: Stop all movement - SetRotation: Set absolute yaw/pitch rotation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 8bd0459 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add server dialog support and hotbar slot selection - Add server dialog handling for Minecraft 1.21.6+ dialogs - Add SetHotbarSlot RPC to change the active hotbar slot (0-8) - Add DialogHandler plugin for processing server dialogs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | dabacd3 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add anvil text input and lectern book pages - Add ContainerTextInput proto for text fields (anvil rename) - Add BookPage proto for lectern book content - Implement SetContainerText RPC for anvil rename - Extract book content from lectern items Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 1101619 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add data-driven container action buttons Add support for container buttons (stonecutter recipes, enchantments, loom patterns, merchant trades, beacon effects, crafter toggles, lectern navigation) with proper disabled state detection. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | c5afe95 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
refactor: remove JS/Python scripting system Remove the entire scripting backend in preparation for a visual node-based script editor. This includes: - Delete ScriptManager, ScriptLanguage, ScriptHelper and all script API classes - Delete ScriptEntity and ScriptServiceImpl - Remove GraalVM Polyglot and SWC4J dependencies - Remove script-related permissions from proto definitions - Add database migration to drop the scripts table - Remove script settings and WebDAV paths The visual script editor will be implemented in a future update with a completely new architecture. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 0d4ce58 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add clicking support
| Commit: | ef41ffb | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add bot cmd scope
| Commit: | 6ebfb5c | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add mc version api
| Commit: | 7390b1e | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add data-driven inventory management with container support - Add clickInventorySlot RPC for inventory interactions - Add getInventoryState RPC with data-driven container layout - Add closeContainer and openInventory RPC methods - Support layout generation for all vanilla container types - Include slot regions, types, and container titles in response Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 693c98f | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: add data api
| Commit: | 3714c56 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
refactor: rebrand from attacks to sessions SoulFire is becoming a general purpose bot tool. It can still be used for stress-testing, but also for things like development and automation in the near future.
| Commit: | c5e80e5 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
Add GetBotList RPC to get online/offline status for all bots - Add BotListRequest, BotListEntry, and BotListResponse messages - Add GetBotList RPC to BotService - Implement getBotList in BotServiceImpl to return online status and optional live state for each account Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 73b862b | |
|---|---|---|
| Author: | AlexProgrammerDE | |
| Committer: | AlexProgrammerDE | |
chore: update proto
| Commit: | 933e00b | |
|---|---|---|
| Author: | AlexProgrammerDE | |
refactor: add granular config update protocol for concurrent editing Add specific gRPC calls for individual config operations instead of sending the entire profile on every change. This prevents conflicts when multiple users edit different config keys, accounts, or proxies simultaneously. New protocol methods: - UpdateInstanceConfigEntry/UpdateServerConfigEntry/UpdateBotConfigEntry - AddInstanceAccount/RemoveInstanceAccount/UpdateInstanceAccount - AddInstanceProxy/RemoveInstanceProxy/UpdateInstanceProxy The existing UpdateInstanceConfig/UpdateServerConfig methods are now reserved for profile import/export operations only. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | 49762e2 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
refactor: decouple settings definitions from pages in protocol Introduce SettingsDefinition as a standalone message containing full setting metadata (id, scope, type with UI config). SettingsPage now only references settings by identifier, enabling settings to be mounted anywhere by namespace+key. - Add SettingsDefinition message to common.proto - Update SettingsPage to hold SettingsEntryIdentifier list - Add settings_definitions field to InstanceInfoResponse/ServerInfoResponse - Split SettingsPageRegistry into exportSettingsDefinitions/exportSettingsPages - Update CLIManager to use definitions lookup map Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| Commit: | a2ed76f | |
|---|---|---|
| Author: | AlexProgrammerDE | |
refactor: add page ids
| Commit: | bf5c517 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
refactor: send with every page definition for each entry what scope it is
| Commit: | 26068c2 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: implement new bot protocol
| Commit: | c53befc | |
|---|---|---|
| Author: | AlexProgrammerDE | |
fix: make it executable with the new bot protocol
| Commit: | de31899 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
refactor: make internal code ready for multiple namespaces per page
| Commit: | 81e2b4b | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: bot control
| Commit: | 2169561 | |
|---|---|---|
| Author: | Alex | |
| Committer: | GitHub | |
feat: update VFP (#924) * feat: update VFp * fix: help IJ inference by extracting lambdas to methods * fix: redo layout for mcauth * fix: make expiry handled better
| Commit: | 36c0354 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
fix: redo layout for mcauth
| Commit: | dac6854 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: implement better log protocol
The documentation is generated from this commit.
| Commit: | 7f0a11f | |
|---|---|---|
| Author: | AlexProgrammerDE | |
| Committer: | AlexProgrammerDE | |
feat: add personal logs scope
| Commit: | cf32fb1 | |
|---|---|---|
| Author: | AlexProgrammerDE | |
feat: revamp proxy check protocol