// @generated by protoc-gen-es-lite unknown 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 { createEnumType } from '@aptre/protobuf-es-lite/enum' import type { MessageType } from '@aptre/protobuf-es-lite/message' import { createMessageType } from '@aptre/protobuf-es-lite/message' import { Timestamp } from '@aptre/protobuf-es-lite/google/protobuf/timestamp' import { ManifestRef } from '../manifest/manifest.pb.js' import { VolumeInfo } from '@go/github.com/s4wave/spacewave/db/volume/volume.pb.js' /** * PluginState is the scheduler state for a plugin instance. * * @generated from enum bldr.plugin.PluginState */ export enum PluginState { /** * PluginState_UNKNOWN indicates the scheduler has no state yet. */ PluginState_UNKNOWN = 0, /** * PluginState_REQUESTED indicates the plugin has an active reference but no RPC client yet. */ PluginState_REQUESTED = 1, /** * PluginState_RUNNING indicates the plugin RPC client is ready. */ PluginState_RUNNING = 2, } export const PluginState_Enum = /* @__PURE__ */ createEnumType( 'bldr.plugin.PluginState', [ [0, 'PluginState_UNKNOWN'], [1, 'PluginState_REQUESTED'], [2, 'PluginState_RUNNING'], ], ) /** * PluginStatus holds basic status for a plugin. * * @generated from message bldr.plugin.PluginStatus */ export interface PluginStatus { /** * PluginId is the plugin identifier. */ pluginId?: string /** * Running indicates the plugin is running. */ running?: boolean /** * InstanceKey is the optional instance key for instanced plugins. */ instanceKey?: string /** * State is the scheduler state for this plugin instance. */ state?: PluginState /** * LastErrorMessage is the most recent plugin execution error summary. */ lastErrorMessage?: string /** * LastErrorAt is when LastErrorMessage was recorded. */ lastErrorAt?: Date } export const PluginStatus: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.PluginStatus', () => [ [1, 'plugin_id', 9], [2, 'running', 8], [3, 'instance_key', 9], [4, 'state', 14, 0, PluginState_Enum], [5, 'last_error_message', 9], [6, 'last_error_at', 11, 0, Timestamp.codec], ], ) /** * PluginManifestRecoveryStatus describes the retained Manifest selection and * eligibility facts for one plugin instance. * * @generated from message bldr.plugin.PluginManifestRecoveryStatus */ export interface PluginManifestRecoveryStatus { /** * PluginId is the plugin identifier. */ pluginId?: string /** * InstanceKey is the optional instance key for instanced plugins. */ instanceKey?: string /** * ExecuteManifestRef is the ref of the manifest selected for execution. */ executeManifestRef?: string /** * DownloadManifestRef is the ref of the manifest selected for download. */ downloadManifestRef?: string /** * SkippedCandidateCount is how many candidates were skipped. */ skippedCandidateCount?: number /** * SkippedCandidateSummary summarizes the skipped candidates. */ skippedCandidateSummary?: string /** * IgnoredCandidateCount is how many candidates were ignored. */ ignoredCandidateCount?: number /** * IgnoredCandidateSummary summarizes the ignored candidates. */ ignoredCandidateSummary?: string /** * QuarantinedCandidateCount is how many candidates were quarantined. */ quarantinedCandidateCount?: number /** * QuarantinedCandidateSummary summarizes the quarantined candidates. */ quarantinedCandidateSummary?: string } export const PluginManifestRecoveryStatus: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.PluginManifestRecoveryStatus', () => [ [1, 'plugin_id', 9], [2, 'instance_key', 9], [3, 'execute_manifest_ref', 9], [4, 'download_manifest_ref', 9], [5, 'skipped_candidate_count', 13], [6, 'skipped_candidate_summary', 9], [7, 'ignored_candidate_count', 13], [8, 'ignored_candidate_summary', 9], [9, 'quarantined_candidate_count', 13], [10, 'quarantined_candidate_summary', 9], ], ) /** * PluginStatusSnapshot describes a plugin host scheduler's plugin instances. * * @generated from message bldr.plugin.PluginStatusSnapshot */ export interface PluginStatusSnapshot { /** * Plugins lists the per-instance statuses sorted by plugin id and instance key. */ plugins?: PluginStatus[] /** * ManifestRecovery lists the per-instance manifest selection facts sorted by * plugin id and instance key. */ manifestRecovery?: PluginManifestRecoveryStatus[] } export const PluginStatusSnapshot: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.PluginStatusSnapshot', () => [ [1, 'plugins', 11, 1, PluginStatus.codec], [2, 'manifest_recovery', 11, 1, PluginManifestRecoveryStatus.codec], ], ) /** * CheckActivationRequest queries the running generation's replacement contract. * * @generated from message bldr.plugin.CheckActivationRequest */ export interface CheckActivationRequest {} export const CheckActivationRequest: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.CheckActivationRequest', () => [], ) /** * CheckActivationResponse confirms support for staged replacement. * * @generated from message bldr.plugin.CheckActivationResponse */ export interface CheckActivationResponse {} export const CheckActivationResponse: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.CheckActivationResponse', () => [], ) /** * ActivatePluginRequest asks a ready candidate to become the current generation. * * @generated from message bldr.plugin.ActivatePluginRequest */ export interface ActivatePluginRequest {} export const ActivatePluginRequest: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.ActivatePluginRequest', () => [], ) /** * ActivatePluginResponse confirms admission of the complete registration set. * * @generated from message bldr.plugin.ActivatePluginResponse */ export interface ActivatePluginResponse {} export const ActivatePluginResponse: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.ActivatePluginResponse', () => [], ) /** * PrepareUpdateRequest asks the current generation to relinquish its work. * * @generated from message bldr.plugin.PrepareUpdateRequest */ export interface PrepareUpdateRequest {} export const PrepareUpdateRequest: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.PrepareUpdateRequest', () => [], ) /** * PrepareUpdateResponse confirms the generation is ready for replacement. * * @generated from message bldr.plugin.PrepareUpdateResponse */ export interface PrepareUpdateResponse {} export const PrepareUpdateResponse: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.PrepareUpdateResponse', () => [], ) /** * WatchPluginStatusRequest is the request for WatchPluginStatus. * * @generated from message bldr.plugin.WatchPluginStatusRequest */ export interface WatchPluginStatusRequest {} export const WatchPluginStatusRequest: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.WatchPluginStatusRequest', () => [], ) /** * WatchPluginStatusResponse is one plugin status update from the host. * * @generated from message bldr.plugin.WatchPluginStatusResponse */ export interface WatchPluginStatusResponse { /** * InstanceKey is the instance key the host scheduler was configured with. */ instanceKey?: string /** * Status is the scheduler's current plugin status snapshot. */ status?: PluginStatusSnapshot } export const WatchPluginStatusResponse: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.WatchPluginStatusResponse', () => [ [1, 'instance_key', 9], [2, 'status', 11, 0, PluginStatusSnapshot.codec], ], ) /** * GetPluginInfoRequest is a request to return the information for the current plugin. * * @generated from message bldr.plugin.GetPluginInfoRequest */ export interface GetPluginInfoRequest {} export const GetPluginInfoRequest: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.GetPluginInfoRequest', () => [], ) /** * GetPluginInfoResponse is the response to the GetPluginInfo request. * * @generated from message bldr.plugin.GetPluginInfoResponse */ export interface GetPluginInfoResponse { /** * PluginId is the plugin identifier. */ pluginId?: string /** * ManifestRef is the reference to the Manifest object. */ manifestRef?: ManifestRef /** * HostVolumeInfo is the optional information for the host Volume. * The volume is exposed with a ProxyVolume when present. */ hostVolumeInfo?: VolumeInfo /** * Standalone reports that no PluginHost Resource graph is available. */ standalone?: boolean /** * HostStorageId is the Storage ID on the plugin host bus that this plugin * instance allocates named volumes through. Empty selects the host default * storage. */ hostStorageId?: string /** * Historical reports an immutable execution used for accepted-operation replay. * The plugin serves handlers without publishing current UI or type registrations. */ historical?: boolean /** * Prepared requires private registrations until Activation.Activate is called. */ prepared?: boolean /** * InstanceKey is the logical installation binding, or empty for shared plugins. * A Space uses its World engine ID. Physical worker generations do not change it. */ instanceKey?: string } export const GetPluginInfoResponse: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.GetPluginInfoResponse', () => [ [1, 'plugin_id', 9], [2, 'manifest_ref', 11, 0, ManifestRef.codec], [3, 'host_volume_info', 11, 0, VolumeInfo.codec], [4, 'standalone', 8], [5, 'host_storage_id', 9], [6, 'historical', 8], [7, 'prepared', 8], [8, 'instance_key', 9], ], ) /** * LoadPluginRequest is a request to load a plugin while the RPC is active. * * @generated from message bldr.plugin.LoadPluginRequest */ export interface LoadPluginRequest { /** * PluginId is the plugin identifier to load. */ pluginId?: string /** * InstanceKey is an optional key for instanced plugins. * When non-empty, the plugin host uses (plugin_id, instance_key) as the * composite deduplication key, allowing multiple independent instances of the * same plugin to run concurrently in separate workers. * When empty, behavior is unchanged: a single shared instance per plugin_id. */ instanceKey?: string /** * Manifests selects the installation and its recovery artifacts, newest first. */ manifests?: ManifestRef[] /** * ManifestRoot loads an exact historical executable without current registrations. */ manifestRoot?: string } export const LoadPluginRequest: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.LoadPluginRequest', () => [ [1, 'plugin_id', 9], [2, 'instance_key', 9], [3, 'manifests', 11, 1, ManifestRef.codec], [4, 'manifest_root', 9], ], ) /** * LoadPluginResponse is a status response to a LoadPlugin request. * * @generated from message bldr.plugin.LoadPluginResponse */ export interface LoadPluginResponse { /** * PluginStatus contains the current plugin status object. */ pluginStatus?: PluginStatus } export const LoadPluginResponse: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.LoadPluginResponse', () => [[1, 'plugin_status', 11, 0, PluginStatus.codec]], ) /** * PluginMeta is metadata embedded in a plugin entrypoint. * * @generated from message bldr.plugin.PluginMeta */ export interface PluginMeta { /** * ProjectId is the project identifier. * Must be a valid-dns-label. */ projectId?: string /** * PluginId is the plugin identifier. * Must be a valid-dns-label. */ pluginId?: string /** * PlatformId is the destination platform ID. */ platformId?: string /** * BuildType is the type of build this is. */ buildType?: string } export const PluginMeta: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.PluginMeta', () => [ [1, 'project_id', 9], [2, 'plugin_id', 9], [3, 'platform_id', 9], [4, 'build_type', 9], ], ) /** * PluginStartInfo are details passed to the plugin by the plugin host in the environment. * * @generated from message bldr.plugin.PluginStartInfo */ export interface PluginStartInfo { /** * InstanceId is the plugin instance id. */ instanceId?: string /** * PluginId is the plugin identifier. * Must be a valid-dns-label. */ pluginId?: string /** * InstanceKey is the instance key from the LoadPlugin request. * Empty for non-instanced (shared) plugins. */ instanceKey?: string /** * ManifestRoot identifies the exact executable whose assets this worker imports. * It is the base58-encoded manifest block hash, independent of the current revision. */ manifestRoot?: string } export const PluginStartInfo: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.PluginStartInfo', () => [ [1, 'instance_id', 9], [2, 'plugin_id', 9], [3, 'instance_key', 9], [4, 'manifest_root', 9], ], ) /** * PluginContextInfo contains information about the running plugin attached to * the Context tree for access within controllers running on the plugin bus. * * @generated from message bldr.plugin.PluginContextInfo */ export interface PluginContextInfo { /** * PluginMeta is the plugin metadata. */ pluginMeta?: PluginMeta /** * InstanceKey identifies the plugin installation the host runs. * Empty for a singleton plugin; a Space uses its World engine ID. * State private to one installation is scoped by this key. */ instanceKey?: string /** * ManifestRoot is the root of the manifest the plugin runs, which names the * exact build of its files. Empty when the host did not report it. */ manifestRoot?: string } export const PluginContextInfo: MessageType = /* @__PURE__ */ createMessageType( 'bldr.plugin.PluginContextInfo', () => [ [1, 'plugin_meta', 11, 0, PluginMeta.codec], [2, 'instance_key', 9], [3, 'manifest_root', 9], ], )