公开符号 15

class

ControlAxisDescriptor

L76
class ControlAxisDescriptor(object)

One ordered command axis and its accepted units.

字段类型默认值
namestr—
unitstuple[str, ...]—
class

ControlCommandSpaceDescriptor

L96
class ControlCommandSpaceDescriptor(object)

Portable resource-specific contract for one command space. Frame-capable spaces always carry an explicit ``allowed_frames`` tuple. A required-frame space needs at least one entry; an optional space may use an empty tuple to advertise frameless-only operation. Frame-forbidden spaces may use either ``None`` or an empty tuple. ``unit_rule`` states whether the advertised per-axis unit choices are fixed, must be selected uniformly across all axes, or may be selected per axis. This is a track-target contract. Terminal policies and controller convergence are exposed separately by the enclosing target's controller execution descriptors.

字段类型默认值
command_space_idstr—
controller_idstuple[str, ...]—
axestuple[ControlAxisDescriptor, ...]—
frame_requirementstr—
allowed_framestuple[str, ...] | None—
default_framestr | None—
required_semanticsMapping[str, tuple[str, ...]]—
unit_rulestr'per_axis'
supports_linearboolTrue
class

ControlControllerExecutionDescriptor

L189
class ControlControllerExecutionDescriptor(object)

Portable chunk-execution choices for one target-compatible controller.

字段类型默认值
controller_idstr—
terminal_policiestuple[str, ...]—
supports_convergencebool—
class

ControlEmbeddedBaseJointDescriptor

L214
class ControlEmbeddedBaseJointDescriptor(object)

Capture-safe manifest declaration for an embedded physical SE(2) base.

字段类型默认值
declaration_idstr—
physical_joint_namestuple[str, str, str]—
unitstuple[str, str, str]—
supported_modelstuple[str, ...]—
controller_idstr—
class

ControlTargetDescriptor

L249
class ControlTargetDescriptor(object)

One immutable target visible through a plugin's exact control grant.

字段类型默认值
binding_rolestr—
entity_idstr—
resource_groupstr—
controller_idstuple[str, ...]—
controller_executionstuple[ControlControllerExecutionDescriptor, ...]—
command_space_idstuple[str, ...]—
command_spacestuple[ControlCommandSpaceDescriptor, ...]—
max_command_rate_hzfloat—
embedded_base_jointsControlEmbeddedBaseJointDescriptor | NoneNone
class

RunInfoSnapshot

L323
class RunInfoSnapshot(object)

Small immutable run identity safe to expose outside the core.

字段类型默认值
run_idstr—
plan_digeststr—
namestr—
backendstr—
class

PublishedPluginEvent

L341
class PublishedPluginEvent(object)

One immutable, core-namespaced event emitted by a plugin.

字段类型默认值
run_idstr—
plan_digeststr—
instancestr—
topicstr—
sequenceint—
published_monotonic_nsint—
payloadMapping[str, object]—
qualified_topic
PublishedPluginEvent.qualified_topic(self) -> str

Return the unspoofable instance namespace followed by the local topic.

class

ScopedControlSession

L422
class ScopedControlSession(Protocol)

Asynchronous control session with a policy fixed by the composition root.

session_id
ScopedControlSession.session_id(self) -> str
run_id
ScopedControlSession.run_id(self) -> str
source_id
ScopedControlSession.source_id(self) -> str
closed
ScopedControlSession.closed(self) -> bool
state
ScopedControlSession.state(self) -> ControlSessionState
submit
async ScopedControlSession.submit(self, chunk: ControlChunk, *, planning_submission: object | None=None) -> ControlSubmission
cancel
async ScopedControlSession.cancel(self, chunk_id: str, timeout: float | None=None) -> ControlOperationTicket[bool]
heartbeat
async ScopedControlSession.heartbeat(self, timeout: float | None=None) -> ControlOperationTicket[None]
observe
async ScopedControlSession.observe(self, timeout: float | None=None) -> ControlContext
query
async ScopedControlSession.query(self, chunk_id: str, timeout: float | None=None) -> ChunkTicket
close
async ScopedControlSession.close(self, timeout: float | None=None) -> None
class

ScopedControlService

L459
class ScopedControlService(Protocol)

Factory for plugin-scoped control sessions.

service_id
ScopedControlService.service_id(self) -> str
open_session
async ScopedControlService.open_session(self, timeout: float | None=None) -> ScopedControlSession
class

ScopedControlTargetService

L469
class ScopedControlTargetService(Protocol)

Read-only exact-resource view of discoverable control targets.

service_id
ScopedControlTargetService.service_id(self) -> str
descriptors
ScopedControlTargetService.descriptors(self) -> tuple[ControlTargetDescriptor, ...]
get
ScopedControlTargetService.get(self, binding_role: str, resource_group: str) -> ControlTargetDescriptor
class

ScopedObservationSubscription

L482
class ScopedObservationSubscription(Protocol)

Bounded observation stream that cannot reveal ungranted channels. Application-loop plugins must use :meth:`get_async`; synchronous ``get`` is retained only for a plugin-owned worker thread.

closed
ScopedObservationSubscription.closed(self) -> bool
dropped
ScopedObservationSubscription.dropped(self) -> int
get
ScopedObservationSubscription.get(self, timeout: float | None=None) -> ObservationStreamItem
get_async
async ScopedObservationSubscription.get_async(self, timeout: float | None=None) -> ObservationStreamItem
close
ScopedObservationSubscription.close(self) -> None
class

ScopedObservationChannelSubscription

L503
class ScopedObservationChannelSubscription(Protocol)

Bounded independently stamped observation-channel stream.

closed
ScopedObservationChannelSubscription.closed(self) -> bool
dropped
ScopedObservationChannelSubscription.dropped(self) -> int
get
ScopedObservationChannelSubscription.get(self, timeout: float | None=None) -> ObservationChannelStreamItem
get_async
async ScopedObservationChannelSubscription.get_async(self, timeout: float | None=None) -> ObservationChannelStreamItem
close
ScopedObservationChannelSubscription.close(self) -> None
class

ScopedObservationService

L520
class ScopedObservationService(Protocol)

Read-only exact-channel view of the runtime observation service.

service_id
ScopedObservationService.service_id(self) -> str
channels
ScopedObservationService.channels(self) -> tuple[str, ...]
descriptors
ScopedObservationService.descriptors(self) -> tuple[ObservationDescriptor, ...]
latest_snapshot
ScopedObservationService.latest_snapshot(self, *, generation: int | None=None) -> ObservationSnapshot
snapshot
ScopedObservationService.snapshot(self, tick: int, *, generation: int | None=None) -> ObservationSnapshot
latest
ScopedObservationService.latest(self, key: ObservationKey | str, *, generation: int | None=None, current_tick: int | None=None, max_age_ticks: int | None=None, allow_stale: bool=False) -> ObservationSample
subscribe
ScopedObservationService.subscribe(self, capacity: int=16, overflow: SubscriptionOverflowPolicy=SubscriptionOverflowPolicy.DROP_OLDEST, *, replay_history: bool=False, from_record_sequence: int | None=None) -> ScopedObservationSubscription
subscribe_channels
ScopedObservationService.subscribe_channels(self, capacity: int=16, overflow: SubscriptionOverflowPolicy=SubscriptionOverflowPolicy.DROP_OLDEST, *, replay_history: bool=False, from_record_sequence: int | None=None) -> ScopedObservationChannelSubscription
class

RunInfoService

L566
class RunInfoService(Protocol)

Read-only immutable metadata for the current run.

service_id
RunInfoService.service_id(self) -> str
snapshot
RunInfoService.snapshot(self) -> RunInfoSnapshot
get
RunInfoService.get(self) -> RunInfoSnapshot
class

EventPublishService

L579
class EventPublishService(Protocol)

Namespaced, bounded and portable plugin event publisher.

service_id
EventPublishService.service_id(self) -> str
publish
EventPublishService.publish(self, topic: str, payload: Mapping[str, object] | None=None) -> PublishedPluginEvent