Proto commits in AlexProgrammerDE/SoulFire

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