Class ScriptServiceGrpc.ScriptServiceImplBase

java.lang.Object
com.soulfiremc.grpc.generated.ScriptServiceGrpc.ScriptServiceImplBase
All Implemented Interfaces:
ScriptServiceGrpc.AsyncService, io.grpc.BindableService
Direct Known Subclasses:
ScriptServiceImpl
Enclosing class:
ScriptServiceGrpc

public abstract static class ScriptServiceGrpc.ScriptServiceImplBase extends Object implements io.grpc.BindableService, ScriptServiceGrpc.AsyncService
Base class for the server implementation of the service ScriptService.
ScriptService provides management and execution capabilities for visual node-based
automation scripts within SoulFire.
The visual scripting system allows users to create automation workflows by connecting
nodes in a graph. Each node represents an action, condition, or event trigger.
Nodes are connected by edges that define execution flow and data transfer.
SCRIPT LIFECYCLE:
1. Create a script using CreateScript with initial nodes/edges or empty graph
2. Edit the script using UpdateScript to modify the node graph
3. Activate the script using ActivateScript to register event listeners
4. Monitor execution via SubscribeScriptEvents or GetScriptStatus
5. Deactivate using DeactivateScript when done
6. Delete unused scripts with DeleteScript
Scripts are reactive state machines - they don't "run" but rather listen for
trigger events and execute node chains in response. Activation registers the
listeners, deactivation removes them and cancels any pending async operations.
PERMISSIONS: Script operations require appropriate instance permissions.
The specific permissions are TBD but will likely include:
- READ_SCRIPT: View script definitions and status
- UPDATE_SCRIPT: Create, modify, and delete scripts
- EXECUTE_SCRIPT: Activate and deactivate scripts
LOGGING: Script execution logs can be streamed via SubscribeScriptLogs or
filtered using InstanceScriptLogScope in the LogsService (see logs.proto).
  • Constructor Details

    • ScriptServiceImplBase

      public ScriptServiceImplBase()
  • Method Details

    • bindService

      public final io.grpc.ServerServiceDefinition bindService()
      Specified by:
      bindService in interface io.grpc.BindableService