Files
git.stella-ops.org/docs/features/unchecked/taskrunner/taskrunner-sdk-client-with-openapi.md

2.5 KiB

TaskRunner SDK Client with OpenAPI

Module

TaskRunner

Status

IMPLEMENTED

Description

Auto-generated SDK client for TaskRunner APIs with OpenAPI spec, deprecation middleware, and versioned endpoint support for external integrators.

Implementation Details

  • Client interface: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/ITaskRunnerClient.cs -- SDK client contract
  • Client implementation: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/TaskRunnerClient.cs -- HTTP client for TaskRunner APIs
  • Client options: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/TaskRunnerClientOptions.cs -- configurable client options
  • DI extensions: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Extensions/TaskRunnerClientServiceCollectionExtensions.cs -- DI registration
  • Pack run models: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Models/PackRunModels.cs -- client-side pack run models
  • Lifecycle helper: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Lifecycle/PackRunLifecycleHelper.cs -- pack run lifecycle management
  • Pagination: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Pagination/Paginator.cs -- paginated API result handling
  • Streaming log reader: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Streaming/StreamingLogReader.cs -- real-time log streaming
  • OpenAPI metadata: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/OpenApiMetadataFactory.cs -- OpenAPI spec generation
  • Deprecation middleware: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Deprecation/ApiDeprecationMiddleware.cs, ApiDeprecationOptions.cs, IDeprecationNotificationService.cs -- API versioning and deprecation support
  • WebService program: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Program.cs -- API host with OpenAPI endpoints
  • Tests: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskRunnerClientTests.cs, OpenApiMetadataFactoryTests.cs, ApiDeprecationTests.cs
  • Source: SPRINT_0157_0001_0001_taskrunner_i.md

E2E Test Plan

  • Verify SDK client can list, create, and manage pack runs
  • Test streaming log reader receives real-time execution logs
  • Verify OpenAPI spec is generated and accessible at /swagger endpoint
  • Test deprecation middleware returns correct headers for deprecated endpoints
  • Verify pagination handles large result sets correctly