Class PipelineCrawlerImpl

java.lang.Object
ai.pipestream.testing.harness.v1.PipelineCrawlerServiceGrpc.PipelineCrawlerServiceImplBase
ai.pipestream.module.pipelineprobe.pipelinecrawl.PipelineCrawlerImpl
All Implemented Interfaces:
ai.pipestream.testing.harness.v1.PipelineCrawlerServiceGrpc.AsyncService, io.grpc.BindableService

@Singleton public class PipelineCrawlerImpl extends ai.pipestream.testing.harness.v1.PipelineCrawlerServiceGrpc.PipelineCrawlerServiceImplBase
gRPC entry point for RunPipelineCrawl. Plain StreamObserver end to end — no Mutiny. Each call spawns a virtual thread that hands the request to OrchestrationDriver via an EventEmitter.

This class does only three things:

  1. Spawn the VT for the gRPC entry path.
  2. Run the driver, catching the known failure types and surfacing each as a summary event with a typed message — never broad RuntimeException/Throwable catches, never swallowed exceptions.
  3. Close the response stream regardless of outcome.

All actual orchestration logic lives in OrchestrationDriver. The SSE bridge resource (PipelineCrawlerResource) calls runOrchestration(RunPipelineCrawlRequest, StreamObserver) directly with its own observer that translates each event to an SSE write — the gRPC server's observer and the SSE bridge's observer share this same body.

  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates the pipeline crawler gRPC service.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    runOrchestration(ai.pipestream.testing.harness.v1.RunPipelineCrawlRequest req, io.grpc.stub.StreamObserver<ai.pipestream.testing.harness.v1.RunPipelineCrawlResponse> obs)
    Execute one orchestration on the calling thread (assumed to already be a virtual thread — the gRPC entry above and the SSE bridge both spawn one before calling this).
    void
    runPipelineCrawl(ai.pipestream.testing.harness.v1.RunPipelineCrawlRequest request, io.grpc.stub.StreamObserver<ai.pipestream.testing.harness.v1.RunPipelineCrawlResponse> responseObserver)
     

    Methods inherited from class ai.pipestream.testing.harness.v1.PipelineCrawlerServiceGrpc.PipelineCrawlerServiceImplBase

    bindService

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PipelineCrawlerImpl

      public PipelineCrawlerImpl()
      Creates the pipeline crawler gRPC service. Instances are managed by CDI.
  • Method Details

    • runPipelineCrawl

      public void runPipelineCrawl(ai.pipestream.testing.harness.v1.RunPipelineCrawlRequest request, io.grpc.stub.StreamObserver<ai.pipestream.testing.harness.v1.RunPipelineCrawlResponse> responseObserver)
    • runOrchestration

      public void runOrchestration(ai.pipestream.testing.harness.v1.RunPipelineCrawlRequest req, io.grpc.stub.StreamObserver<ai.pipestream.testing.harness.v1.RunPipelineCrawlResponse> obs)
      Execute one orchestration on the calling thread (assumed to already be a virtual thread — the gRPC entry above and the SSE bridge both spawn one before calling this).
      Parameters:
      req - the pipeline-crawl request to orchestrate
      obs - the observer to which run events and the final summary are emitted