bldr/plugin/plugin_srpc.pb.ts
Rama master · réplica de lectura del repositorio original.
// @generated by protoc-gen-es-starpc none with parameter "target=ts,ts_nocheck=false"
// @generated from file github.com/s4wave/spacewave/bldr/plugin/plugin.proto (package bldr.plugin, syntax proto3)
/* eslint-disable */
import {
ActivatePluginRequest,
ActivatePluginResponse,
CheckActivationRequest,
CheckActivationResponse,
GetPluginInfoRequest,
GetPluginInfoResponse,
LoadPluginRequest,
LoadPluginResponse,
PrepareUpdateRequest,
PrepareUpdateResponse,
WatchPluginStatusRequest,
WatchPluginStatusResponse,
} from './plugin.pb.js'
import { MethodKind } from '@aptre/protobuf-es-lite'
import {
ExecControllerRequest,
ExecControllerResponse,
} from '@go/github.com/aperturerobotics/controllerbus/controller/exec/exec.pb.js'
import { RpcStreamPacket } from '@go/github.com/aperturerobotics/starpc/rpcstream/rpcstream.pb.js'
import {
buildDecodeMessageTransform,
buildEncodeMessageTransform,
MessageStream,
ProtoRpc,
ServerContext,
} from 'starpc'
/**
* PluginHost is the service exposed by the plugin host.
*
* Available at service ID plugin-host.
*
* @generated from service bldr.plugin.PluginHost
*/
export const PluginHostDefinition = {
typeName: 'bldr.plugin.PluginHost',
methods: {
/**
* GetPluginInfo returns the information for the current plugin.
*
* @generated from rpc bldr.plugin.PluginHost.GetPluginInfo
*/
GetPluginInfo: {
name: 'GetPluginInfo',
I: GetPluginInfoRequest,
O: GetPluginInfoResponse,
kind: MethodKind.Unary,
},
/**
* ExecController executes a controller configuration on the bus.
*
* @generated from rpc bldr.plugin.PluginHost.ExecController
*/
ExecController: {
name: 'ExecController',
I: ExecControllerRequest,
O: ExecControllerResponse,
kind: MethodKind.ServerStreaming,
},
/**
* LoadPlugin requests to load the plugin with the given ID.
* The plugin will remain loaded as long as the RPC is active.
* Multiple requests to load the same plugin are de-duplicated.
*
* @generated from rpc bldr.plugin.PluginHost.LoadPlugin
*/
LoadPlugin: {
name: 'LoadPlugin',
I: LoadPluginRequest,
O: LoadPluginResponse,
kind: MethodKind.ServerStreaming,
},
/**
* PluginRpc forwards an RPC call to a remote plugin.
* The plugin will remain loaded as long as the RPC is active.
* Component ID: plugin id, or plugin id / instance key for instanced plugins.
*
* @generated from rpc bldr.plugin.PluginHost.PluginRpc
*/
PluginRpc: {
name: 'PluginRpc',
I: RpcStreamPacket,
O: RpcStreamPacket,
kind: MethodKind.BiDiStreaming,
},
/**
* PluginFsRpc accesses a FSCursorService to access plugin assets or dist filesystems.
* The plugin will remain loaded as long as the RPC is active.
* Component ID: plugin-assets or plugin-dist for current plugin
* Component ID: plugin-assets/{plugin-id} or plugin-dist/{plugin-id} for remote plugin
*
* @generated from rpc bldr.plugin.PluginHost.PluginFsRpc
*/
PluginFsRpc: {
name: 'PluginFsRpc',
I: RpcStreamPacket,
O: RpcStreamPacket,
kind: MethodKind.BiDiStreaming,
},
/**
* WatchPluginStatus streams the host scheduler's plugin status.
* Sends the current snapshot, then each change.
*
* @generated from rpc bldr.plugin.PluginHost.WatchPluginStatus
*/
WatchPluginStatus: {
name: 'WatchPluginStatus',
I: WatchPluginStatusRequest,
O: WatchPluginStatusResponse,
kind: MethodKind.ServerStreaming,
},
},
} as const
/**
* PluginHost is the service exposed by the plugin host.
*
* Available at service ID plugin-host.
*
* @generated from service bldr.plugin.PluginHost
*/
export interface PluginHost {
/**
* GetPluginInfo returns the information for the current plugin.
*
* @generated from rpc bldr.plugin.PluginHost.GetPluginInfo
*/
GetPluginInfo(
request: GetPluginInfoRequest,
abortSignal?: AbortSignal,
): Promise<GetPluginInfoResponse>
/**
* ExecController executes a controller configuration on the bus.
*
* @generated from rpc bldr.plugin.PluginHost.ExecController
*/
ExecController(
request: ExecControllerRequest,
abortSignal?: AbortSignal,
): MessageStream<ExecControllerResponse>
/**
* LoadPlugin requests to load the plugin with the given ID.
* The plugin will remain loaded as long as the RPC is active.
* Multiple requests to load the same plugin are de-duplicated.
*
* @generated from rpc bldr.plugin.PluginHost.LoadPlugin
*/
LoadPlugin(
request: LoadPluginRequest,
abortSignal?: AbortSignal,
): MessageStream<LoadPluginResponse>
/**
* PluginRpc forwards an RPC call to a remote plugin.
* The plugin will remain loaded as long as the RPC is active.
* Component ID: plugin id, or plugin id / instance key for instanced plugins.
*
* @generated from rpc bldr.plugin.PluginHost.PluginRpc
*/
PluginRpc(
request: MessageStream<RpcStreamPacket>,
abortSignal?: AbortSignal,
): MessageStream<RpcStreamPacket>
/**
* PluginFsRpc accesses a FSCursorService to access plugin assets or dist filesystems.
* The plugin will remain loaded as long as the RPC is active.
* Component ID: plugin-assets or plugin-dist for current plugin
* Component ID: plugin-assets/{plugin-id} or plugin-dist/{plugin-id} for remote plugin
*
* @generated from rpc bldr.plugin.PluginHost.PluginFsRpc
*/
PluginFsRpc(
request: MessageStream<RpcStreamPacket>,
abortSignal?: AbortSignal,
): MessageStream<RpcStreamPacket>
/**
* WatchPluginStatus streams the host scheduler's plugin status.
* Sends the current snapshot, then each change.
*
* @generated from rpc bldr.plugin.PluginHost.WatchPluginStatus
*/
WatchPluginStatus(
request: WatchPluginStatusRequest,
abortSignal?: AbortSignal,
): MessageStream<WatchPluginStatusResponse>
}
/**
* PluginHost is the service exposed by the plugin host.
*
* Available at service ID plugin-host.
*
* @generated from service bldr.plugin.PluginHost
*/
export interface PluginHostHandler {
/**
* GetPluginInfo returns the information for the current plugin.
*
* @generated from rpc bldr.plugin.PluginHost.GetPluginInfo
*/
GetPluginInfo(
request: GetPluginInfoRequest,
abortSignal: AbortSignal,
context: ServerContext,
): Promise<GetPluginInfoResponse>
/**
* ExecController executes a controller configuration on the bus.
*
* @generated from rpc bldr.plugin.PluginHost.ExecController
*/
ExecController(
request: ExecControllerRequest,
abortSignal: AbortSignal,
context: ServerContext,
): MessageStream<ExecControllerResponse>
/**
* LoadPlugin requests to load the plugin with the given ID.
* The plugin will remain loaded as long as the RPC is active.
* Multiple requests to load the same plugin are de-duplicated.
*
* @generated from rpc bldr.plugin.PluginHost.LoadPlugin
*/
LoadPlugin(
request: LoadPluginRequest,
abortSignal: AbortSignal,
context: ServerContext,
): MessageStream<LoadPluginResponse>
/**
* PluginRpc forwards an RPC call to a remote plugin.
* The plugin will remain loaded as long as the RPC is active.
* Component ID: plugin id, or plugin id / instance key for instanced plugins.
*
* @generated from rpc bldr.plugin.PluginHost.PluginRpc
*/
PluginRpc(
request: MessageStream<RpcStreamPacket>,
abortSignal: AbortSignal,
context: ServerContext,
): MessageStream<RpcStreamPacket>
/**
* PluginFsRpc accesses a FSCursorService to access plugin assets or dist filesystems.
* The plugin will remain loaded as long as the RPC is active.
* Component ID: plugin-assets or plugin-dist for current plugin
* Component ID: plugin-assets/{plugin-id} or plugin-dist/{plugin-id} for remote plugin
*
* @generated from rpc bldr.plugin.PluginHost.PluginFsRpc
*/
PluginFsRpc(
request: MessageStream<RpcStreamPacket>,
abortSignal: AbortSignal,
context: ServerContext,
): MessageStream<RpcStreamPacket>
/**
* WatchPluginStatus streams the host scheduler's plugin status.
* Sends the current snapshot, then each change.
*
* @generated from rpc bldr.plugin.PluginHost.WatchPluginStatus
*/
WatchPluginStatus(
request: WatchPluginStatusRequest,
abortSignal: AbortSignal,
context: ServerContext,
): MessageStream<WatchPluginStatusResponse>
}
export const PluginHostServiceName = PluginHostDefinition.typeName
export class PluginHostClient implements PluginHost {
private readonly rpc: ProtoRpc
private readonly service: string
constructor(rpc: ProtoRpc, opts?: { service?: string }) {
this.service = opts?.service || PluginHostServiceName
this.rpc = rpc
this.GetPluginInfo = this.GetPluginInfo.bind(this)
this.ExecController = this.ExecController.bind(this)
this.LoadPlugin = this.LoadPlugin.bind(this)
this.PluginRpc = this.PluginRpc.bind(this)
this.PluginFsRpc = this.PluginFsRpc.bind(this)
this.WatchPluginStatus = this.WatchPluginStatus.bind(this)
}
/**
* GetPluginInfo returns the information for the current plugin.
*
* @generated from rpc bldr.plugin.PluginHost.GetPluginInfo
*/
async GetPluginInfo(
request: GetPluginInfoRequest,
abortSignal?: AbortSignal,
): Promise<GetPluginInfoResponse> {
const requestMsg = GetPluginInfoRequest.create(request)
const result = await this.rpc.request(
this.service,
PluginHostDefinition.methods.GetPluginInfo.name,
GetPluginInfoRequest.toBinary(requestMsg),
abortSignal || undefined,
)
return GetPluginInfoResponse.fromBinary(result)
}
/**
* ExecController executes a controller configuration on the bus.
*
* @generated from rpc bldr.plugin.PluginHost.ExecController
*/
ExecController(
request: ExecControllerRequest,
abortSignal?: AbortSignal,
): MessageStream<ExecControllerResponse> {
const requestMsg = ExecControllerRequest.create(request)
const result = this.rpc.serverStreamingRequest(
this.service,
PluginHostDefinition.methods.ExecController.name,
ExecControllerRequest.toBinary(requestMsg),
abortSignal || undefined,
)
return buildDecodeMessageTransform(ExecControllerResponse)(result)
}
/**
* LoadPlugin requests to load the plugin with the given ID.
* The plugin will remain loaded as long as the RPC is active.
* Multiple requests to load the same plugin are de-duplicated.
*
* @generated from rpc bldr.plugin.PluginHost.LoadPlugin
*/
LoadPlugin(
request: LoadPluginRequest,
abortSignal?: AbortSignal,
): MessageStream<LoadPluginResponse> {
const requestMsg = LoadPluginRequest.create(request)
const result = this.rpc.serverStreamingRequest(
this.service,
PluginHostDefinition.methods.LoadPlugin.name,
LoadPluginRequest.toBinary(requestMsg),
abortSignal || undefined,
)
return buildDecodeMessageTransform(LoadPluginResponse)(result)
}
/**
* PluginRpc forwards an RPC call to a remote plugin.
* The plugin will remain loaded as long as the RPC is active.
* Component ID: plugin id, or plugin id / instance key for instanced plugins.
*
* @generated from rpc bldr.plugin.PluginHost.PluginRpc
*/
PluginRpc(
request: MessageStream<RpcStreamPacket>,
abortSignal?: AbortSignal,
): MessageStream<RpcStreamPacket> {
const result = this.rpc.bidirectionalStreamingRequest(
this.service,
PluginHostDefinition.methods.PluginRpc.name,
buildEncodeMessageTransform(RpcStreamPacket)(request),
abortSignal || undefined,
)
return buildDecodeMessageTransform(RpcStreamPacket)(result)
}
/**
* PluginFsRpc accesses a FSCursorService to access plugin assets or dist filesystems.
* The plugin will remain loaded as long as the RPC is active.
* Component ID: plugin-assets or plugin-dist for current plugin
* Component ID: plugin-assets/{plugin-id} or plugin-dist/{plugin-id} for remote plugin
*
* @generated from rpc bldr.plugin.PluginHost.PluginFsRpc
*/
PluginFsRpc(
request: MessageStream<RpcStreamPacket>,
abortSignal?: AbortSignal,
): MessageStream<RpcStreamPacket> {
const result = this.rpc.bidirectionalStreamingRequest(
this.service,
PluginHostDefinition.methods.PluginFsRpc.name,
buildEncodeMessageTransform(RpcStreamPacket)(request),
abortSignal || undefined,
)
return buildDecodeMessageTransform(RpcStreamPacket)(result)
}
/**
* WatchPluginStatus streams the host scheduler's plugin status.
* Sends the current snapshot, then each change.
*
* @generated from rpc bldr.plugin.PluginHost.WatchPluginStatus
*/
WatchPluginStatus(
request: WatchPluginStatusRequest,
abortSignal?: AbortSignal,
): MessageStream<WatchPluginStatusResponse> {
const requestMsg = WatchPluginStatusRequest.create(request)
const result = this.rpc.serverStreamingRequest(
this.service,
PluginHostDefinition.methods.WatchPluginStatus.name,
WatchPluginStatusRequest.toBinary(requestMsg),
abortSignal || undefined,
)
return buildDecodeMessageTransform(WatchPluginStatusResponse)(result)
}
}
/**
* Plugin is the service exposed by the plugin.
*
* @generated from service bldr.plugin.Plugin
*/
export const PluginDefinition = {
typeName: 'bldr.plugin.Plugin',
methods: {
/**
* PluginRpc handles an RPC call from a remote plugin.
* Component ID: remote plugin id
*
* @generated from rpc bldr.plugin.Plugin.PluginRpc
*/
PluginRpc: {
name: 'PluginRpc',
I: RpcStreamPacket,
O: RpcStreamPacket,
kind: MethodKind.BiDiStreaming,
},
},
} as const
/**
* Plugin is the service exposed by the plugin.
*
* @generated from service bldr.plugin.Plugin
*/
export interface Plugin {
/**
* PluginRpc handles an RPC call from a remote plugin.
* Component ID: remote plugin id
*
* @generated from rpc bldr.plugin.Plugin.PluginRpc
*/
PluginRpc(
request: MessageStream<RpcStreamPacket>,
abortSignal?: AbortSignal,
): MessageStream<RpcStreamPacket>
}
/**
* Plugin is the service exposed by the plugin.
*
* @generated from service bldr.plugin.Plugin
*/
export interface PluginHandler {
/**
* PluginRpc handles an RPC call from a remote plugin.
* Component ID: remote plugin id
*
* @generated from rpc bldr.plugin.Plugin.PluginRpc
*/
PluginRpc(
request: MessageStream<RpcStreamPacket>,
abortSignal: AbortSignal,
context: ServerContext,
): MessageStream<RpcStreamPacket>
}
export const PluginServiceName = PluginDefinition.typeName
export class PluginClient implements Plugin {
private readonly rpc: ProtoRpc
private readonly service: string
constructor(rpc: ProtoRpc, opts?: { service?: string }) {
this.service = opts?.service || PluginServiceName
this.rpc = rpc
this.PluginRpc = this.PluginRpc.bind(this)
}
/**
* PluginRpc handles an RPC call from a remote plugin.
* Component ID: remote plugin id
*
* @generated from rpc bldr.plugin.Plugin.PluginRpc
*/
PluginRpc(
request: MessageStream<RpcStreamPacket>,
abortSignal?: AbortSignal,
): MessageStream<RpcStreamPacket> {
const result = this.rpc.bidirectionalStreamingRequest(
this.service,
PluginDefinition.methods.PluginRpc.name,
buildEncodeMessageTransform(RpcStreamPacket)(request),
abortSignal || undefined,
)
return buildDecodeMessageTransform(RpcStreamPacket)(result)
}
}
/**
* UpdateGuard is implemented by plugins whose owned work must quiesce before
* replacement. Hosts call it only for explicitly configured guarded plugins.
*
* @generated from service bldr.plugin.UpdateGuard
*/
export const UpdateGuardDefinition = {
typeName: 'bldr.plugin.UpdateGuard',
methods: {
/**
* Prepare waits for owned work to finish and prevents new work from starting.
* Success authorizes replacement of this plugin generation.
*
* @generated from rpc bldr.plugin.UpdateGuard.Prepare
*/
Prepare: {
name: 'Prepare',
I: PrepareUpdateRequest,
O: PrepareUpdateResponse,
kind: MethodKind.Unary,
},
},
} as const
/**
* UpdateGuard is implemented by plugins whose owned work must quiesce before
* replacement. Hosts call it only for explicitly configured guarded plugins.
*
* @generated from service bldr.plugin.UpdateGuard
*/
export interface UpdateGuard {
/**
* Prepare waits for owned work to finish and prevents new work from starting.
* Success authorizes replacement of this plugin generation.
*
* @generated from rpc bldr.plugin.UpdateGuard.Prepare
*/
Prepare(
request: PrepareUpdateRequest,
abortSignal?: AbortSignal,
): Promise<PrepareUpdateResponse>
}
/**
* UpdateGuard is implemented by plugins whose owned work must quiesce before
* replacement. Hosts call it only for explicitly configured guarded plugins.
*
* @generated from service bldr.plugin.UpdateGuard
*/
export interface UpdateGuardHandler {
/**
* Prepare waits for owned work to finish and prevents new work from starting.
* Success authorizes replacement of this plugin generation.
*
* @generated from rpc bldr.plugin.UpdateGuard.Prepare
*/
Prepare(
request: PrepareUpdateRequest,
abortSignal: AbortSignal,
context: ServerContext,
): Promise<PrepareUpdateResponse>
}
export const UpdateGuardServiceName = UpdateGuardDefinition.typeName
export class UpdateGuardClient implements UpdateGuard {
private readonly rpc: ProtoRpc
private readonly service: string
constructor(rpc: ProtoRpc, opts?: { service?: string }) {
this.service = opts?.service || UpdateGuardServiceName
this.rpc = rpc
this.Prepare = this.Prepare.bind(this)
}
/**
* Prepare waits for owned work to finish and prevents new work from starting.
* Success authorizes replacement of this plugin generation.
*
* @generated from rpc bldr.plugin.UpdateGuard.Prepare
*/
async Prepare(
request: PrepareUpdateRequest,
abortSignal?: AbortSignal,
): Promise<PrepareUpdateResponse> {
const requestMsg = PrepareUpdateRequest.create(request)
const result = await this.rpc.request(
this.service,
UpdateGuardDefinition.methods.Prepare.name,
PrepareUpdateRequest.toBinary(requestMsg),
abortSignal || undefined,
)
return PrepareUpdateResponse.fromBinary(result)
}
}
/**
* Activation is implemented by plugins that stage their complete registration
* set before the scheduler replaces an already running generation.
*
* @generated from service bldr.plugin.Activation
*/
export const ActivationDefinition = {
typeName: 'bldr.plugin.Activation',
methods: {
/**
* Check confirms support for private startup and atomic registration admission.
*
* @generated from rpc bldr.plugin.Activation.Check
*/
Check: {
name: 'Check',
I: CheckActivationRequest,
O: CheckActivationResponse,
kind: MethodKind.Unary,
},
/**
* Activate admits this worker's prepared registrations after startup succeeds.
*
* @generated from rpc bldr.plugin.Activation.Activate
*/
Activate: {
name: 'Activate',
I: ActivatePluginRequest,
O: ActivatePluginResponse,
kind: MethodKind.Unary,
},
},
} as const
/**
* Activation is implemented by plugins that stage their complete registration
* set before the scheduler replaces an already running generation.
*
* @generated from service bldr.plugin.Activation
*/
export interface Activation {
/**
* Check confirms support for private startup and atomic registration admission.
*
* @generated from rpc bldr.plugin.Activation.Check
*/
Check(
request: CheckActivationRequest,
abortSignal?: AbortSignal,
): Promise<CheckActivationResponse>
/**
* Activate admits this worker's prepared registrations after startup succeeds.
*
* @generated from rpc bldr.plugin.Activation.Activate
*/
Activate(
request: ActivatePluginRequest,
abortSignal?: AbortSignal,
): Promise<ActivatePluginResponse>
}
/**
* Activation is implemented by plugins that stage their complete registration
* set before the scheduler replaces an already running generation.
*
* @generated from service bldr.plugin.Activation
*/
export interface ActivationHandler {
/**
* Check confirms support for private startup and atomic registration admission.
*
* @generated from rpc bldr.plugin.Activation.Check
*/
Check(
request: CheckActivationRequest,
abortSignal: AbortSignal,
context: ServerContext,
): Promise<CheckActivationResponse>
/**
* Activate admits this worker's prepared registrations after startup succeeds.
*
* @generated from rpc bldr.plugin.Activation.Activate
*/
Activate(
request: ActivatePluginRequest,
abortSignal: AbortSignal,
context: ServerContext,
): Promise<ActivatePluginResponse>
}
export const ActivationServiceName = ActivationDefinition.typeName
export class ActivationClient implements Activation {
private readonly rpc: ProtoRpc
private readonly service: string
constructor(rpc: ProtoRpc, opts?: { service?: string }) {
this.service = opts?.service || ActivationServiceName
this.rpc = rpc
this.Check = this.Check.bind(this)
this.Activate = this.Activate.bind(this)
}
/**
* Check confirms support for private startup and atomic registration admission.
*
* @generated from rpc bldr.plugin.Activation.Check
*/
async Check(
request: CheckActivationRequest,
abortSignal?: AbortSignal,
): Promise<CheckActivationResponse> {
const requestMsg = CheckActivationRequest.create(request)
const result = await this.rpc.request(
this.service,
ActivationDefinition.methods.Check.name,
CheckActivationRequest.toBinary(requestMsg),
abortSignal || undefined,
)
return CheckActivationResponse.fromBinary(result)
}
/**
* Activate admits this worker's prepared registrations after startup succeeds.
*
* @generated from rpc bldr.plugin.Activation.Activate
*/
async Activate(
request: ActivatePluginRequest,
abortSignal?: AbortSignal,
): Promise<ActivatePluginResponse> {
const requestMsg = ActivatePluginRequest.create(request)
const result = await this.rpc.request(
this.service,
ActivationDefinition.methods.Activate.name,
ActivatePluginRequest.toBinary(requestMsg),
abortSignal || undefined,
)
return ActivatePluginResponse.fromBinary(result)
}
}