proto

package
v0.2026254.503 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 11, 2026 License: MIT Imports: 9 Imported by: 85

Documentation

Index

Constants

View Source
const (
	Provider_Invoke_FullMethodName       = "/charlyplugin.Provider/Invoke"
	Provider_InvokeStream_FullMethodName = "/charlyplugin.Provider/InvokeStream"
	Provider_Channel_FullMethodName      = "/charlyplugin.Provider/Channel"
)
View Source
const (
	ExecutorService_Venue_FullMethodName            = "/charlyplugin.ExecutorService/Venue"
	ExecutorService_RunSystem_FullMethodName        = "/charlyplugin.ExecutorService/RunSystem"
	ExecutorService_RunUser_FullMethodName          = "/charlyplugin.ExecutorService/RunUser"
	ExecutorService_PutFile_FullMethodName          = "/charlyplugin.ExecutorService/PutFile"
	ExecutorService_RunCapture_FullMethodName       = "/charlyplugin.ExecutorService/RunCapture"
	ExecutorService_RunInteractive_FullMethodName   = "/charlyplugin.ExecutorService/RunInteractive"
	ExecutorService_RunStream_FullMethodName        = "/charlyplugin.ExecutorService/RunStream"
	ExecutorService_GetFile_FullMethodName          = "/charlyplugin.ExecutorService/GetFile"
	ExecutorService_RunHostStep_FullMethodName      = "/charlyplugin.ExecutorService/RunHostStep"
	ExecutorService_InvokeProvider_FullMethodName   = "/charlyplugin.ExecutorService/InvokeProvider"
	ExecutorService_HostBuild_FullMethodName        = "/charlyplugin.ExecutorService/HostBuild"
	ExecutorService_DescribeProvider_FullMethodName = "/charlyplugin.ExecutorService/DescribeProvider"
)
View Source
const (
	CheckContextService_HTTPDo_FullMethodName                  = "/charlyplugin.CheckContextService/HTTPDo"
	CheckContextService_AddBackground_FullMethodName           = "/charlyplugin.CheckContextService/AddBackground"
	CheckContextService_ResolveEndpoint_FullMethodName         = "/charlyplugin.CheckContextService/ResolveEndpoint"
	CheckContextService_ResolveGraphicsEndpoint_FullMethodName = "/charlyplugin.CheckContextService/ResolveGraphicsEndpoint"
	CheckContextService_ResolveImageLabel_FullMethodName       = "/charlyplugin.CheckContextService/ResolveImageLabel"
)
View Source
const (
	PluginMeta_Describe_FullMethodName = "/charlyplugin.PluginMeta/Describe"
)

Variables

View Source
var CheckContextService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "charlyplugin.CheckContextService",
	HandlerType: (*CheckContextServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "HTTPDo",
			Handler:    _CheckContextService_HTTPDo_Handler,
		},
		{
			MethodName: "AddBackground",
			Handler:    _CheckContextService_AddBackground_Handler,
		},
		{
			MethodName: "ResolveEndpoint",
			Handler:    _CheckContextService_ResolveEndpoint_Handler,
		},
		{
			MethodName: "ResolveGraphicsEndpoint",
			Handler:    _CheckContextService_ResolveGraphicsEndpoint_Handler,
		},
		{
			MethodName: "ResolveImageLabel",
			Handler:    _CheckContextService_ResolveImageLabel_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "plugin.proto",
}

CheckContextService_ServiceDesc is the grpc.ServiceDesc for CheckContextService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var ExecutorService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "charlyplugin.ExecutorService",
	HandlerType: (*ExecutorServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Venue",
			Handler:    _ExecutorService_Venue_Handler,
		},
		{
			MethodName: "RunSystem",
			Handler:    _ExecutorService_RunSystem_Handler,
		},
		{
			MethodName: "RunUser",
			Handler:    _ExecutorService_RunUser_Handler,
		},
		{
			MethodName: "PutFile",
			Handler:    _ExecutorService_PutFile_Handler,
		},
		{
			MethodName: "RunCapture",
			Handler:    _ExecutorService_RunCapture_Handler,
		},
		{
			MethodName: "RunInteractive",
			Handler:    _ExecutorService_RunInteractive_Handler,
		},
		{
			MethodName: "RunStream",
			Handler:    _ExecutorService_RunStream_Handler,
		},
		{
			MethodName: "GetFile",
			Handler:    _ExecutorService_GetFile_Handler,
		},
		{
			MethodName: "RunHostStep",
			Handler:    _ExecutorService_RunHostStep_Handler,
		},
		{
			MethodName: "InvokeProvider",
			Handler:    _ExecutorService_InvokeProvider_Handler,
		},
		{
			MethodName: "HostBuild",
			Handler:    _ExecutorService_HostBuild_Handler,
		},
		{
			MethodName: "DescribeProvider",
			Handler:    _ExecutorService_DescribeProvider_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "plugin.proto",
}

ExecutorService_ServiceDesc is the grpc.ServiceDesc for ExecutorService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var File_plugin_proto protoreflect.FileDescriptor
View Source
var PluginMeta_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "charlyplugin.PluginMeta",
	HandlerType: (*PluginMetaServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Describe",
			Handler:    _PluginMeta_Describe_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "plugin.proto",
}

PluginMeta_ServiceDesc is the grpc.ServiceDesc for PluginMeta service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var Provider_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "charlyplugin.Provider",
	HandlerType: (*ProviderServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Invoke",
			Handler:    _Provider_Invoke_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "InvokeStream",
			Handler:       _Provider_InvokeStream_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "Channel",
			Handler:       _Provider_Channel_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "plugin.proto",
}

Provider_ServiceDesc is the grpc.ServiceDesc for Provider service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterCheckContextServiceServer

func RegisterCheckContextServiceServer(s grpc.ServiceRegistrar, srv CheckContextServiceServer)

func RegisterExecutorServiceServer

func RegisterExecutorServiceServer(s grpc.ServiceRegistrar, srv ExecutorServiceServer)

func RegisterPluginMetaServer

func RegisterPluginMetaServer(s grpc.ServiceRegistrar, srv PluginMetaServer)

func RegisterProviderServer

func RegisterProviderServer(s grpc.ServiceRegistrar, srv ProviderServer)

Types

type AddBackgroundRequest

type AddBackgroundRequest struct {
	Pid int32 `protobuf:"varint,1,opt,name=pid,proto3" json:"pid,omitempty"`
	// contains filtered or unexported fields
}

func (*AddBackgroundRequest) Descriptor deprecated

func (*AddBackgroundRequest) Descriptor() ([]byte, []int)

Deprecated: Use AddBackgroundRequest.ProtoReflect.Descriptor instead.

func (*AddBackgroundRequest) GetPid

func (x *AddBackgroundRequest) GetPid() int32

func (*AddBackgroundRequest) ProtoMessage

func (*AddBackgroundRequest) ProtoMessage()

func (*AddBackgroundRequest) ProtoReflect

func (x *AddBackgroundRequest) ProtoReflect() protoreflect.Message

func (*AddBackgroundRequest) Reset

func (x *AddBackgroundRequest) Reset()

func (*AddBackgroundRequest) String

func (x *AddBackgroundRequest) String() string

type CLISubcommand

type CLISubcommand struct {

	// the subcommand word, e.g. "live", "boxes"
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// one-line help text, shown in `--help` and used as the MCP tool description
	Help string `protobuf:"bytes,2,opt,name=help,proto3" json:"help,omitempty"`
	// hidden-but-reachable: the host renders a hidden child with a Kong `hidden:""` tag — it is still a REAL dispatchable cmd node, but `--help` and the CLI model (MCP) keep it invisible, mirroring the `hidden:""` tag on the plugin's own grammar struct field (KongSubcommands derives it)
	Hidden bool `protobuf:"varint,3,opt,name=hidden,proto3" json:"hidden,omitempty"`
	// contains filtered or unexported fields
}

CLISubcommand — one DECLARED child of a class="command" capability's own CLI word (F-CLI-NEST). A plain name+help pair, not a full grammar: the host renders it as a Kong `cmd:""` child whose OWN body is still a pass-through Args leaf (the plugin's real internal flag/positional shape stays invisible to the host, exactly like today's flat holder — only the NAMING becomes real). A hidden child (hidden=true) is HIDDEN-BUT-REACHABLE: still a real Kong `cmd:""` node tagged `hidden:""` (so it DISPATCHES — e.g. the iterate harness's `charly check run-local` re-exec — but stays out of `--help` and the CLI model/MCP tool surface).

func (*CLISubcommand) Descriptor deprecated

func (*CLISubcommand) Descriptor() ([]byte, []int)

Deprecated: Use CLISubcommand.ProtoReflect.Descriptor instead.

func (*CLISubcommand) GetHelp

func (x *CLISubcommand) GetHelp() string

func (*CLISubcommand) GetHidden added in v0.2026218.138

func (x *CLISubcommand) GetHidden() bool

func (*CLISubcommand) GetName

func (x *CLISubcommand) GetName() string

func (*CLISubcommand) ProtoMessage

func (*CLISubcommand) ProtoMessage()

func (*CLISubcommand) ProtoReflect

func (x *CLISubcommand) ProtoReflect() protoreflect.Message

func (*CLISubcommand) Reset

func (x *CLISubcommand) Reset()

func (*CLISubcommand) String

func (x *CLISubcommand) String() string

type Capabilities

type Capabilities struct {

	// the plugin's CalVer (CalVer is the version authority)
	Calver string `protobuf:"bytes,1,opt,name=calver,proto3" json:"calver,omitempty"`
	// thin secondary gate; never duplicates CalVer
	ProtocolVersion uint32 `protobuf:"varint,2,opt,name=protocol_version,json=protocolVersion,proto3" json:"protocol_version,omitempty"`
	// the unit's capabilities + the def validating each input
	Provided []*ProvidedCapability `protobuf:"bytes,3,rep,name=provided,proto3" json:"provided,omitempty"`
	// the unit's package-less, SELF-CONTAINED .cue source text
	SchemaCue string `protobuf:"bytes,4,opt,name=schema_cue,json=schemaCue,proto3" json:"schema_cue,omitempty"`
	// contains filtered or unexported fields
}

func (*Capabilities) Descriptor deprecated

func (*Capabilities) Descriptor() ([]byte, []int)

Deprecated: Use Capabilities.ProtoReflect.Descriptor instead.

func (*Capabilities) GetCalver

func (x *Capabilities) GetCalver() string

func (*Capabilities) GetProtocolVersion

func (x *Capabilities) GetProtocolVersion() uint32

func (*Capabilities) GetProvided

func (x *Capabilities) GetProvided() []*ProvidedCapability

func (*Capabilities) GetSchemaCue

func (x *Capabilities) GetSchemaCue() string

func (*Capabilities) ProtoMessage

func (*Capabilities) ProtoMessage()

func (*Capabilities) ProtoReflect

func (x *Capabilities) ProtoReflect() protoreflect.Message

func (*Capabilities) Reset

func (x *Capabilities) Reset()

func (*Capabilities) String

func (x *Capabilities) String() string

type CaptureReply

type CaptureReply struct {
	Stdout   string `protobuf:"bytes,1,opt,name=stdout,proto3" json:"stdout,omitempty"`
	Stderr   string `protobuf:"bytes,2,opt,name=stderr,proto3" json:"stderr,omitempty"`
	ExitCode int32  `protobuf:"varint,3,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
	Error    string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

error = execution failure, NOT a non-zero exit

func (*CaptureReply) Descriptor deprecated

func (*CaptureReply) Descriptor() ([]byte, []int)

Deprecated: Use CaptureReply.ProtoReflect.Descriptor instead.

func (*CaptureReply) GetError

func (x *CaptureReply) GetError() string

func (*CaptureReply) GetExitCode

func (x *CaptureReply) GetExitCode() int32

func (*CaptureReply) GetStderr

func (x *CaptureReply) GetStderr() string

func (*CaptureReply) GetStdout

func (x *CaptureReply) GetStdout() string

func (*CaptureReply) ProtoMessage

func (*CaptureReply) ProtoMessage()

func (*CaptureReply) ProtoReflect

func (x *CaptureReply) ProtoReflect() protoreflect.Message

func (*CaptureReply) Reset

func (x *CaptureReply) Reset()

func (*CaptureReply) String

func (x *CaptureReply) String() string

type ChannelFrame

type ChannelFrame struct {

	// stable idempotency/correlation key for the channel
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// monotonic sender sequence; zero is reserved for an unsequenced open
	Sequence uint64 `protobuf:"varint,2,opt,name=sequence,proto3" json:"sequence,omitempty"`
	// highest contiguous peer sequence consumed
	AckSequence uint64 `protobuf:"varint,3,opt,name=ack_sequence,json=ackSequence,proto3" json:"ack_sequence,omitempty"`
	// open|stdin|stdout|stderr|terminal|status|resize|signal|ack|cancel|exit|error|resync
	Kind string `protobuf:"bytes,4,opt,name=kind,proto3" json:"kind,omitempty"`
	// provider class, set on open
	Class string `protobuf:"bytes,5,opt,name=class,proto3" json:"class,omitempty"`
	// provider word, set on open
	Reserved string `protobuf:"bytes,6,opt,name=reserved,proto3" json:"reserved,omitempty"`
	// provider operation, set on open
	Op string `protobuf:"bytes,7,opt,name=op,proto3" json:"op,omitempty"`
	// CUE-generated domain payload or structured status
	PayloadJson []byte `protobuf:"bytes,8,opt,name=payload_json,json=payloadJson,proto3" json:"payload_json,omitempty"`
	// binary-safe process or terminal bytes; never shell-interpreted
	Data []byte `protobuf:"bytes,9,opt,name=data,proto3" json:"data,omitempty"`
	// canonical key, signal, stream, or status name
	Name     string `protobuf:"bytes,10,opt,name=name,proto3" json:"name,omitempty"`
	Cols     uint32 `protobuf:"varint,11,opt,name=cols,proto3" json:"cols,omitempty"`
	Rows     uint32 `protobuf:"varint,12,opt,name=rows,proto3" json:"rows,omitempty"`
	ExitCode int32  `protobuf:"varint,13,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
	Error    string `protobuf:"bytes,14,opt,name=error,proto3" json:"error,omitempty"`
	// CUE-generated generic target chain, set on open
	TargetJson []byte `protobuf:"bytes,15,opt,name=target_json,json=targetJson,proto3" json:"target_json,omitempty"`
	// first sequence requested during attach/resynchronization
	ReplayFrom uint64 `protobuf:"varint,16,opt,name=replay_from,json=replayFrom,proto3" json:"replay_from,omitempty"`
	// contains filtered or unexported fields
}

ChannelFrame is the generic, bidirectional provider process channel. Domain payloads remain CUE-generated JSON; this envelope owns ordering, flow control, terminal data, and lifecycle signals without naming a runtime or transport.

func (*ChannelFrame) Descriptor deprecated

func (*ChannelFrame) Descriptor() ([]byte, []int)

Deprecated: Use ChannelFrame.ProtoReflect.Descriptor instead.

func (*ChannelFrame) GetAckSequence

func (x *ChannelFrame) GetAckSequence() uint64

func (*ChannelFrame) GetClass

func (x *ChannelFrame) GetClass() string

func (*ChannelFrame) GetCols

func (x *ChannelFrame) GetCols() uint32

func (*ChannelFrame) GetData

func (x *ChannelFrame) GetData() []byte

func (*ChannelFrame) GetError

func (x *ChannelFrame) GetError() string

func (*ChannelFrame) GetExitCode

func (x *ChannelFrame) GetExitCode() int32

func (*ChannelFrame) GetKind

func (x *ChannelFrame) GetKind() string

func (*ChannelFrame) GetName

func (x *ChannelFrame) GetName() string

func (*ChannelFrame) GetOp

func (x *ChannelFrame) GetOp() string

func (*ChannelFrame) GetPayloadJson

func (x *ChannelFrame) GetPayloadJson() []byte

func (*ChannelFrame) GetReplayFrom

func (x *ChannelFrame) GetReplayFrom() uint64

func (*ChannelFrame) GetRequestId

func (x *ChannelFrame) GetRequestId() string

func (*ChannelFrame) GetReserved

func (x *ChannelFrame) GetReserved() string

func (*ChannelFrame) GetRows

func (x *ChannelFrame) GetRows() uint32

func (*ChannelFrame) GetSequence

func (x *ChannelFrame) GetSequence() uint64

func (*ChannelFrame) GetTargetJson

func (x *ChannelFrame) GetTargetJson() []byte

func (*ChannelFrame) ProtoMessage

func (*ChannelFrame) ProtoMessage()

func (*ChannelFrame) ProtoReflect

func (x *ChannelFrame) ProtoReflect() protoreflect.Message

func (*ChannelFrame) Reset

func (x *ChannelFrame) Reset()

func (*ChannelFrame) String

func (x *ChannelFrame) String() string

type CheckContextServiceClient

type CheckContextServiceClient interface {
	HTTPDo(ctx context.Context, in *HTTPDoRequest, opts ...grpc.CallOption) (*HTTPDoReply, error)
	AddBackground(ctx context.Context, in *AddBackgroundRequest, opts ...grpc.CallOption) (*Empty, error)
	// ResolveEndpoint: resolve the check target's venue (container / VM / ssh / local) and
	// return a host-reachable address for an in-venue TCP port — opening (and host-side
	// tracking, for post-Invoke teardown) any ssh -L forward a VM/ssh venue needs. Class-
	// generic: ANY endpoint check verb (cdp/vnc/spice/…) declares its port and dials the addr.
	ResolveEndpoint(ctx context.Context, in *ResolveEndpointRequest, opts ...grpc.CallOption) (*ResolveEndpointReply, error)
	// ResolveGraphicsEndpoint: resolve a VM's <graphics type='<kind>'> listener (kind = "vnc"
	// | "spice") to a dialable endpoint — the host owns the go-libvirt resolution, any
	// qemu+ssh:// tunnel (tracked for post-Invoke teardown), the socket->TCP bridge a TCP-only
	// client needs, and the credential-store password. Class-generic: parameterized by kind,
	// shared by the vnc + spice verbs (never a per-verb RPC).
	ResolveGraphicsEndpoint(ctx context.Context, in *ResolveGraphicsEndpointRequest, opts ...grpc.CallOption) (*ResolveGraphicsEndpointReply, error)
	// ResolveImageLabel: read one OCI label value off the deployment-under-test's image — the
	// host owns the podman engine + container→image resolution the out-of-process plugin cannot
	// reach. Class-generic (parameterized by label name): the mcp verb reads ai.opencharly.mcp_provide;
	// any verb needing a baked label uses it. Empty value (label absent) is a valid reply.
	ResolveImageLabel(ctx context.Context, in *ResolveImageLabelRequest, opts ...grpc.CallOption) (*ResolveImageLabelReply, error)
}

CheckContextServiceClient is the client API for CheckContextService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type CheckContextServiceServer

type CheckContextServiceServer interface {
	HTTPDo(context.Context, *HTTPDoRequest) (*HTTPDoReply, error)
	AddBackground(context.Context, *AddBackgroundRequest) (*Empty, error)
	// ResolveEndpoint: resolve the check target's venue (container / VM / ssh / local) and
	// return a host-reachable address for an in-venue TCP port — opening (and host-side
	// tracking, for post-Invoke teardown) any ssh -L forward a VM/ssh venue needs. Class-
	// generic: ANY endpoint check verb (cdp/vnc/spice/…) declares its port and dials the addr.
	ResolveEndpoint(context.Context, *ResolveEndpointRequest) (*ResolveEndpointReply, error)
	// ResolveGraphicsEndpoint: resolve a VM's <graphics type='<kind>'> listener (kind = "vnc"
	// | "spice") to a dialable endpoint — the host owns the go-libvirt resolution, any
	// qemu+ssh:// tunnel (tracked for post-Invoke teardown), the socket->TCP bridge a TCP-only
	// client needs, and the credential-store password. Class-generic: parameterized by kind,
	// shared by the vnc + spice verbs (never a per-verb RPC).
	ResolveGraphicsEndpoint(context.Context, *ResolveGraphicsEndpointRequest) (*ResolveGraphicsEndpointReply, error)
	// ResolveImageLabel: read one OCI label value off the deployment-under-test's image — the
	// host owns the podman engine + container→image resolution the out-of-process plugin cannot
	// reach. Class-generic (parameterized by label name): the mcp verb reads ai.opencharly.mcp_provide;
	// any verb needing a baked label uses it. Empty value (label absent) is a valid reply.
	ResolveImageLabel(context.Context, *ResolveImageLabelRequest) (*ResolveImageLabelReply, error)
	// contains filtered or unexported methods
}

CheckContextServiceServer is the server API for CheckContextService service. All implementations must embed UnimplementedCheckContextServiceServer for forward compatibility

type DeployTraits

type DeployTraits struct {

	// "container" | "ssh" | "shell" | "parent" | "none": how commands physically execute in this substrate's venue
	Venue string `protobuf:"bytes,1,opt,name=venue,proto3" json:"venue,omitempty"`
	// the substrate runs a baked OCI image (pod)
	ImageBacked bool `protobuf:"varint,2,opt,name=image_backed,json=imageBacked,proto3" json:"image_backed,omitempty"`
	// the substrate composes over an image build context (pod overlay, kubernetes manifests)
	ImageContext bool `protobuf:"varint,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
	// the substrate is a full machine with a system init (host/vm/local) — services render as systemd units, not a container init
	MachineVenue bool `protobuf:"varint,4,opt,name=machine_venue,json=machineVenue,proto3" json:"machine_venue,omitempty"`
	// the substrate holds an exclusive host-resource lease boundary (vm)
	ExclusiveVenue bool `protobuf:"varint,5,opt,name=exclusive_venue,json=exclusiveVenue,proto3" json:"exclusive_venue,omitempty"`
	// the substrate is a deploy-chain LEAF — it cannot be descended into (kubernetes)
	LeafOnly bool `protobuf:"varint,6,opt,name=leaf_only,json=leafOnly,proto3" json:"leaf_only,omitempty"`
	// the substrate's Start/Stop accept direct-mode CLI opts AND need the Q1 resource-arbiter claim bracketed around the dispatch (pod); a substrate that manages its own venue lifecycle + resource claim (vm) leaves this false
	BracketedLifecycle bool `protobuf:"varint,7,opt,name=bracketed_lifecycle,json=bracketedLifecycle,proto3" json:"bracketed_lifecycle,omitempty"`
	// the substrate is a valid kind:check bed target (pod/vm/local/android); kubernetes and unknown words are not
	BedTarget bool `protobuf:"varint,8,opt,name=bed_target,json=bedTarget,proto3" json:"bed_target,omitempty"`
	// the substrate's Add/Del path wires the ephemeral register/teardown seam (TTL timer + charly.yml persistence) — vm only today
	SupportsEphemeral bool `protobuf:"varint,9,opt,name=supports_ephemeral,json=supportsEphemeral,proto3" json:"supports_ephemeral,omitempty"`
	// the substrate has a backing chain from_snapshot restores from — vm only
	SupportsFromSnapshot bool `protobuf:"varint,10,opt,name=supports_from_snapshot,json=supportsFromSnapshot,proto3" json:"supports_from_snapshot,omitempty"`
	// contains filtered or unexported fields
}

DeployTraits — a SUBSTRATE kind's DECLARED deploy behaviour (P9), advertised per substrate word over Describe and stamped by kit.StampDescent onto the node's DescentDescriptor. This is the SINGLE plugin-declared source for "how does this substrate behave in the deploy chain", so the kernel consults it BY TRAIT (off node.Descent) — never by switching on the kind word. Canonical table: pod=container+image_backed+image_context; vm=ssh+machine_venue+exclusive_venue; local=shell+machine_venue; kubernetes=shell+image_context+leaf_only; android=parent; zero value = external-in-place. Empty/absent for every non-kind (or non-substrate kind) capability.

func (*DeployTraits) Descriptor deprecated

func (*DeployTraits) Descriptor() ([]byte, []int)

Deprecated: Use DeployTraits.ProtoReflect.Descriptor instead.

func (*DeployTraits) GetBedTarget

func (x *DeployTraits) GetBedTarget() bool

func (*DeployTraits) GetBracketedLifecycle

func (x *DeployTraits) GetBracketedLifecycle() bool

func (*DeployTraits) GetExclusiveVenue

func (x *DeployTraits) GetExclusiveVenue() bool

func (*DeployTraits) GetImageBacked

func (x *DeployTraits) GetImageBacked() bool

func (*DeployTraits) GetImageContext

func (x *DeployTraits) GetImageContext() bool

func (*DeployTraits) GetLeafOnly

func (x *DeployTraits) GetLeafOnly() bool

func (*DeployTraits) GetMachineVenue

func (x *DeployTraits) GetMachineVenue() bool

func (*DeployTraits) GetSupportsEphemeral

func (x *DeployTraits) GetSupportsEphemeral() bool

func (*DeployTraits) GetSupportsFromSnapshot

func (x *DeployTraits) GetSupportsFromSnapshot() bool

func (*DeployTraits) GetVenue

func (x *DeployTraits) GetVenue() string

func (*DeployTraits) ProtoMessage

func (*DeployTraits) ProtoMessage()

func (*DeployTraits) ProtoReflect

func (x *DeployTraits) ProtoReflect() protoreflect.Message

func (*DeployTraits) Reset

func (x *DeployTraits) Reset()

func (*DeployTraits) String

func (x *DeployTraits) String() string

type DescribeProviderReply

type DescribeProviderReply struct {
	Found        bool          `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"`
	StepContract *StepContract `protobuf:"bytes,2,opt,name=step_contract,json=stepContract,proto3" json:"step_contract,omitempty"`
	// contains filtered or unexported fields
}

found=false means (class, word) resolves to no CONNECTED provider (mirrors InvokeProvider's own "provider not connected" failure mode, but as a query result rather than an RPC error — a plugin routing decision often wants to distinguish "not found" from a transport failure). step_contract is populated only when the resolved provider is class="step" AND declares one (F3) — absent/nil for every other class, exactly like ProvidedCapability.step_contract's own optionality. Kept narrowly scoped to StepContract (the ONE cached sub-shape a consumer needs today, oci_step_emit.go's relocation) rather than the whole ProvidedCapability — extend with additional cached fields only when a consumer actually needs them.

func (*DescribeProviderReply) Descriptor deprecated

func (*DescribeProviderReply) Descriptor() ([]byte, []int)

Deprecated: Use DescribeProviderReply.ProtoReflect.Descriptor instead.

func (*DescribeProviderReply) GetFound

func (x *DescribeProviderReply) GetFound() bool

func (*DescribeProviderReply) GetStepContract

func (x *DescribeProviderReply) GetStepContract() *StepContract

func (*DescribeProviderReply) ProtoMessage

func (*DescribeProviderReply) ProtoMessage()

func (*DescribeProviderReply) ProtoReflect

func (x *DescribeProviderReply) ProtoReflect() protoreflect.Message

func (*DescribeProviderReply) Reset

func (x *DescribeProviderReply) Reset()

func (*DescribeProviderReply) String

func (x *DescribeProviderReply) String() string

type DescribeProviderRequest

type DescribeProviderRequest struct {
	Class string `protobuf:"bytes,1,opt,name=class,proto3" json:"class,omitempty"`
	Word  string `protobuf:"bytes,2,opt,name=word,proto3" json:"word,omitempty"`
	// contains filtered or unexported fields
}

DescribeProviderRequest (K5-A item 2): ask the host for the CACHED capability metadata of another provider by (class, word) — no live Describe round-trip, no Invoke. This is what a plugin needs to make a routing DECISION about a peer provider (e.g. "does class:step word X declare Emits=true?") without holding its own copy of the provider registry — the same registry-consult gap InvokeProvider solves for DISPATCH, DescribeProvider solves for METADATA. class/word are DATA (the F11 uniform-API invariant): the RPC itself never names a plugin word.

func (*DescribeProviderRequest) Descriptor deprecated

func (*DescribeProviderRequest) Descriptor() ([]byte, []int)

Deprecated: Use DescribeProviderRequest.ProtoReflect.Descriptor instead.

func (*DescribeProviderRequest) GetClass

func (x *DescribeProviderRequest) GetClass() string

func (*DescribeProviderRequest) GetWord

func (x *DescribeProviderRequest) GetWord() string

func (*DescribeProviderRequest) ProtoMessage

func (*DescribeProviderRequest) ProtoMessage()

func (*DescribeProviderRequest) ProtoReflect

func (x *DescribeProviderRequest) ProtoReflect() protoreflect.Message

func (*DescribeProviderRequest) Reset

func (x *DescribeProviderRequest) Reset()

func (*DescribeProviderRequest) String

func (x *DescribeProviderRequest) String() string

type Empty

type Empty struct {
	// contains filtered or unexported fields
}

func (*Empty) Descriptor deprecated

func (*Empty) Descriptor() ([]byte, []int)

Deprecated: Use Empty.ProtoReflect.Descriptor instead.

func (*Empty) ProtoMessage

func (*Empty) ProtoMessage()

func (*Empty) ProtoReflect

func (x *Empty) ProtoReflect() protoreflect.Message

func (*Empty) Reset

func (x *Empty) Reset()

func (*Empty) String

func (x *Empty) String() string

type ExecutorServiceClient

type ExecutorServiceClient interface {
	Venue(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*VenueReply, error)
	RunSystem(ctx context.Context, in *RunRequest, opts ...grpc.CallOption) (*RunReply, error)
	RunUser(ctx context.Context, in *RunRequest, opts ...grpc.CallOption) (*RunReply, error)
	// place file content on the venue (binary-safe; owner_root → root:root via sudo)
	PutFile(ctx context.Context, in *PutFileRequest, opts ...grpc.CallOption) (*PutFileReply, error)
	// capture stdout/stderr/exit (no root escalation — callers add sudo)
	RunCapture(ctx context.Context, in *RunRequest, opts ...grpc.CallOption) (*CaptureReply, error)
	// F12: run script on the venue wired to the operator's LIVE TTY (the host reverse-server runs IN the charly process, so it inherits os.Stdin/os.Stdout/os.Stderr = the operator's terminal — stdio NEVER crosses the wire, only script→exit; the child podman exec -it / ssh -t owns the PTY + resize + Ctrl-C). Blocks until the session ends; UNARY (host holds the TTY — the hostBuildCli doctrine). Consumers: charly shell (-it), charly cmd (-i)
	RunInteractive(ctx context.Context, in *RunRequest, opts ...grpc.CallOption) (*LiveReply, error)
	// F12: run script on the venue streaming stdout/stderr LIVE to the operator (inherited os.Stdout/os.Stderr; no stdin). Blocks until exit. UNARY (host holds the terminal). Consumer: charly logs --follow
	RunStream(ctx context.Context, in *RunRequest, opts ...grpc.CallOption) (*LiveReply, error)
	// read a venue file (e.g. a record/screenshot artifact pulled back to the host)
	GetFile(ctx context.Context, in *GetFileRequest, opts ...grpc.CallOption) (*GetFileReply, error)
	// run a HOST-ENGINE step (Builder/LocalPkgInstall/SystemPackages/act-OpStep/ExternalPlugin) on the host engine + apply onto the venue
	RunHostStep(ctx context.Context, in *HostStepRequest, opts ...grpc.CallOption) (*HostStepReply, error)
	// F10 plugin↔plugin: the host resolves another provider by (class,word) + Invokes it on the calling plugin's behalf (threading the SAME venue executor) — the generalization of the RunHostStep ExternalPlugin arm to ANY class/op
	InvokeProvider(ctx context.Context, in *InvokeProviderRequest, opts ...grpc.CallOption) (*InvokeReply, error)
	// F10 host-build: the calling plugin requests a HOST-side build (the build engine stays in core) — the host runs the registered host-builder for `kind` and returns its result
	HostBuild(ctx context.Context, in *HostBuildRequest, opts ...grpc.CallOption) (*HostBuildReply, error)
	// K5-A item 2: the host resolves another provider by (class,word) and returns its CACHED capability metadata (today: StepContract) — no Invoke, no live Describe round-trip. The metadata twin of InvokeProvider (dispatch) and HostBuild (host-side build).
	DescribeProvider(ctx context.Context, in *DescribeProviderRequest, opts ...grpc.CallOption) (*DescribeProviderReply, error)
}

ExecutorServiceClient is the client API for ExecutorService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type ExecutorServiceServer

type ExecutorServiceServer interface {
	Venue(context.Context, *Empty) (*VenueReply, error)
	RunSystem(context.Context, *RunRequest) (*RunReply, error)
	RunUser(context.Context, *RunRequest) (*RunReply, error)
	// place file content on the venue (binary-safe; owner_root → root:root via sudo)
	PutFile(context.Context, *PutFileRequest) (*PutFileReply, error)
	// capture stdout/stderr/exit (no root escalation — callers add sudo)
	RunCapture(context.Context, *RunRequest) (*CaptureReply, error)
	// F12: run script on the venue wired to the operator's LIVE TTY (the host reverse-server runs IN the charly process, so it inherits os.Stdin/os.Stdout/os.Stderr = the operator's terminal — stdio NEVER crosses the wire, only script→exit; the child podman exec -it / ssh -t owns the PTY + resize + Ctrl-C). Blocks until the session ends; UNARY (host holds the TTY — the hostBuildCli doctrine). Consumers: charly shell (-it), charly cmd (-i)
	RunInteractive(context.Context, *RunRequest) (*LiveReply, error)
	// F12: run script on the venue streaming stdout/stderr LIVE to the operator (inherited os.Stdout/os.Stderr; no stdin). Blocks until exit. UNARY (host holds the terminal). Consumer: charly logs --follow
	RunStream(context.Context, *RunRequest) (*LiveReply, error)
	// read a venue file (e.g. a record/screenshot artifact pulled back to the host)
	GetFile(context.Context, *GetFileRequest) (*GetFileReply, error)
	// run a HOST-ENGINE step (Builder/LocalPkgInstall/SystemPackages/act-OpStep/ExternalPlugin) on the host engine + apply onto the venue
	RunHostStep(context.Context, *HostStepRequest) (*HostStepReply, error)
	// F10 plugin↔plugin: the host resolves another provider by (class,word) + Invokes it on the calling plugin's behalf (threading the SAME venue executor) — the generalization of the RunHostStep ExternalPlugin arm to ANY class/op
	InvokeProvider(context.Context, *InvokeProviderRequest) (*InvokeReply, error)
	// F10 host-build: the calling plugin requests a HOST-side build (the build engine stays in core) — the host runs the registered host-builder for `kind` and returns its result
	HostBuild(context.Context, *HostBuildRequest) (*HostBuildReply, error)
	// K5-A item 2: the host resolves another provider by (class,word) and returns its CACHED capability metadata (today: StepContract) — no Invoke, no live Describe round-trip. The metadata twin of InvokeProvider (dispatch) and HostBuild (host-side build).
	DescribeProvider(context.Context, *DescribeProviderRequest) (*DescribeProviderReply, error)
	// contains filtered or unexported methods
}

ExecutorServiceServer is the server API for ExecutorService service. All implementations must embed UnimplementedExecutorServiceServer for forward compatibility

type Frame

type Frame struct {
	ResultJson []byte `protobuf:"bytes,1,opt,name=result_json,json=resultJson,proto3" json:"result_json,omitempty"`
	// contains filtered or unexported fields
}

one streamed result frame (single-shot sends one)

func (*Frame) Descriptor deprecated

func (*Frame) Descriptor() ([]byte, []int)

Deprecated: Use Frame.ProtoReflect.Descriptor instead.

func (*Frame) GetResultJson

func (x *Frame) GetResultJson() []byte

func (*Frame) ProtoMessage

func (*Frame) ProtoMessage()

func (*Frame) ProtoReflect

func (x *Frame) ProtoReflect() protoreflect.Message

func (*Frame) Reset

func (x *Frame) Reset()

func (*Frame) String

func (x *Frame) String() string

type GetFileReply

type GetFileReply struct {
	Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
	Error   string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

func (*GetFileReply) Descriptor deprecated

func (*GetFileReply) Descriptor() ([]byte, []int)

Deprecated: Use GetFileReply.ProtoReflect.Descriptor instead.

func (*GetFileReply) GetContent

func (x *GetFileReply) GetContent() []byte

func (*GetFileReply) GetError

func (x *GetFileReply) GetError() string

func (*GetFileReply) ProtoMessage

func (*GetFileReply) ProtoMessage()

func (*GetFileReply) ProtoReflect

func (x *GetFileReply) ProtoReflect() protoreflect.Message

func (*GetFileReply) Reset

func (x *GetFileReply) Reset()

func (*GetFileReply) String

func (x *GetFileReply) String() string

type GetFileRequest

type GetFileRequest struct {
	Path     string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	AsRoot   bool   `protobuf:"varint,2,opt,name=as_root,json=asRoot,proto3" json:"as_root,omitempty"`
	OptsJson []byte `protobuf:"bytes,3,opt,name=opts_json,json=optsJson,proto3" json:"opts_json,omitempty"`
	// contains filtered or unexported fields
}

func (*GetFileRequest) Descriptor deprecated

func (*GetFileRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetFileRequest.ProtoReflect.Descriptor instead.

func (*GetFileRequest) GetAsRoot

func (x *GetFileRequest) GetAsRoot() bool

func (*GetFileRequest) GetOptsJson

func (x *GetFileRequest) GetOptsJson() []byte

func (*GetFileRequest) GetPath

func (x *GetFileRequest) GetPath() string

func (*GetFileRequest) ProtoMessage

func (*GetFileRequest) ProtoMessage()

func (*GetFileRequest) ProtoReflect

func (x *GetFileRequest) ProtoReflect() protoreflect.Message

func (*GetFileRequest) Reset

func (x *GetFileRequest) Reset()

func (*GetFileRequest) String

func (x *GetFileRequest) String() string

type HTTPDoReply

type HTTPDoReply struct {
	Status int32  `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
	Body   []byte `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"`
	// pre-formatted "Key: value\n" blob (multi-value preserved), matcher-ready
	HeaderBlob string `protobuf:"bytes,3,opt,name=header_blob,json=headerBlob,proto3" json:"header_blob,omitempty"`
	Error      string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

HTTPDoReply: status + body + response headers, or a transport-level error (the RPC itself succeeds — a failed request rides the error field, like RunReply/CaptureReply).

func (*HTTPDoReply) Descriptor deprecated

func (*HTTPDoReply) Descriptor() ([]byte, []int)

Deprecated: Use HTTPDoReply.ProtoReflect.Descriptor instead.

func (*HTTPDoReply) GetBody

func (x *HTTPDoReply) GetBody() []byte

func (*HTTPDoReply) GetError

func (x *HTTPDoReply) GetError() string

func (*HTTPDoReply) GetHeaderBlob

func (x *HTTPDoReply) GetHeaderBlob() string

func (*HTTPDoReply) GetStatus

func (x *HTTPDoReply) GetStatus() int32

func (*HTTPDoReply) ProtoMessage

func (*HTTPDoReply) ProtoMessage()

func (*HTTPDoReply) ProtoReflect

func (x *HTTPDoReply) ProtoReflect() protoreflect.Message

func (*HTTPDoReply) Reset

func (x *HTTPDoReply) Reset()

func (*HTTPDoReply) String

func (x *HTTPDoReply) String() string

type HTTPDoRequest

type HTTPDoRequest struct {
	Method            string            `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"`
	Url               string            `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	Body              []byte            `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
	Headers           map[string]string `` /* 141-byte string literal not displayed */
	Timeout           string            `protobuf:"bytes,5,opt,name=timeout,proto3" json:"timeout,omitempty"`
	AllowInsecure     bool              `protobuf:"varint,6,opt,name=allow_insecure,json=allowInsecure,proto3" json:"allow_insecure,omitempty"`
	NoFollowRedirects bool              `protobuf:"varint,7,opt,name=no_follow_redirects,json=noFollowRedirects,proto3" json:"no_follow_redirects,omitempty"`
	CaPem             []byte            `protobuf:"bytes,8,opt,name=ca_pem,json=caPem,proto3" json:"ca_pem,omitempty"`
	// contains filtered or unexported fields
}

HTTPDoRequest carries the FULL request + per-request policy the host needs to build the client (httpClientFor) host-side: ca_pem is the resolved CA PEM bytes (the candy reads its authored ca_file host-side and ships the bytes), timeout is a Go duration string ("" = base).

func (*HTTPDoRequest) Descriptor deprecated

func (*HTTPDoRequest) Descriptor() ([]byte, []int)

Deprecated: Use HTTPDoRequest.ProtoReflect.Descriptor instead.

func (*HTTPDoRequest) GetAllowInsecure

func (x *HTTPDoRequest) GetAllowInsecure() bool

func (*HTTPDoRequest) GetBody

func (x *HTTPDoRequest) GetBody() []byte

func (*HTTPDoRequest) GetCaPem

func (x *HTTPDoRequest) GetCaPem() []byte

func (*HTTPDoRequest) GetHeaders

func (x *HTTPDoRequest) GetHeaders() map[string]string

func (*HTTPDoRequest) GetMethod

func (x *HTTPDoRequest) GetMethod() string

func (*HTTPDoRequest) GetNoFollowRedirects

func (x *HTTPDoRequest) GetNoFollowRedirects() bool

func (*HTTPDoRequest) GetTimeout

func (x *HTTPDoRequest) GetTimeout() string

func (*HTTPDoRequest) GetUrl

func (x *HTTPDoRequest) GetUrl() string

func (*HTTPDoRequest) ProtoMessage

func (*HTTPDoRequest) ProtoMessage()

func (*HTTPDoRequest) ProtoReflect

func (x *HTTPDoRequest) ProtoReflect() protoreflect.Message

func (*HTTPDoRequest) Reset

func (x *HTTPDoRequest) Reset()

func (*HTTPDoRequest) String

func (x *HTTPDoRequest) String() string

type HostBuildReply

type HostBuildReply struct {
	ResultJson []byte `protobuf:"bytes,1,opt,name=result_json,json=resultJson,proto3" json:"result_json,omitempty"`
	Error      string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

func (*HostBuildReply) Descriptor deprecated

func (*HostBuildReply) Descriptor() ([]byte, []int)

Deprecated: Use HostBuildReply.ProtoReflect.Descriptor instead.

func (*HostBuildReply) GetError

func (x *HostBuildReply) GetError() string

func (*HostBuildReply) GetResultJson

func (x *HostBuildReply) GetResultJson() []byte

func (*HostBuildReply) ProtoMessage

func (*HostBuildReply) ProtoMessage()

func (*HostBuildReply) ProtoReflect

func (x *HostBuildReply) ProtoReflect() protoreflect.Message

func (*HostBuildReply) Reset

func (x *HostBuildReply) Reset()

func (*HostBuildReply) String

func (x *HostBuildReply) String() string

type HostBuildRequest

type HostBuildRequest struct {
	Kind     string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
	SpecJson []byte `protobuf:"bytes,2,opt,name=spec_json,json=specJson,proto3" json:"spec_json,omitempty"`
	// contains filtered or unexported fields
}

HostBuildRequest names a registered host-builder `kind` (e.g. "plugin-binary", and — added by M13/M14 — "kustomize"/"image") + an opaque `spec_json` it interprets (F10). HostBuildReply carries the builder's opaque result (e.g. an artifact path/handle JSON) or an error.

func (*HostBuildRequest) Descriptor deprecated

func (*HostBuildRequest) Descriptor() ([]byte, []int)

Deprecated: Use HostBuildRequest.ProtoReflect.Descriptor instead.

func (*HostBuildRequest) GetKind

func (x *HostBuildRequest) GetKind() string

func (*HostBuildRequest) GetSpecJson

func (x *HostBuildRequest) GetSpecJson() []byte

func (*HostBuildRequest) ProtoMessage

func (*HostBuildRequest) ProtoMessage()

func (*HostBuildRequest) ProtoReflect

func (x *HostBuildRequest) ProtoReflect() protoreflect.Message

func (*HostBuildRequest) Reset

func (x *HostBuildRequest) Reset()

func (*HostBuildRequest) String

func (x *HostBuildRequest) String() string

type HostStepReply

type HostStepReply struct {
	ReverseOpsJson []byte `protobuf:"bytes,1,opt,name=reverse_ops_json,json=reverseOpsJson,proto3" json:"reverse_ops_json,omitempty"`
	Error          string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

func (*HostStepReply) Descriptor deprecated

func (*HostStepReply) Descriptor() ([]byte, []int)

Deprecated: Use HostStepReply.ProtoReflect.Descriptor instead.

func (*HostStepReply) GetError

func (x *HostStepReply) GetError() string

func (*HostStepReply) GetReverseOpsJson

func (x *HostStepReply) GetReverseOpsJson() []byte

func (*HostStepReply) ProtoMessage

func (*HostStepReply) ProtoMessage()

func (*HostStepReply) ProtoReflect

func (x *HostStepReply) ProtoReflect() protoreflect.Message

func (*HostStepReply) Reset

func (x *HostStepReply) Reset()

func (*HostStepReply) String

func (x *HostStepReply) String() string

type HostStepRequest

type HostStepRequest struct {
	StepJson []byte `protobuf:"bytes,1,opt,name=step_json,json=stepJson,proto3" json:"step_json,omitempty"`
	OptsJson []byte `protobuf:"bytes,2,opt,name=opts_json,json=optsJson,proto3" json:"opts_json,omitempty"`
	// contains filtered or unexported fields
}

step_json = ONE spec.InstallStepView (a HOST-ENGINE step kind — Builder, LocalPkgInstall, SystemPackages, an act-verb Op, or ExternalPlugin — projected by stepToView); opts_json = EmitOpts. reverse_ops_json = the step's recorded []spec.ReverseOp (the plugin folds them into its DeployReply for record-and-replay teardown). error = a host-engine/apply FAILURE on the venue (the RPC itself succeeds — the failure rides the reply field, like RunReply/CaptureReply).

func (*HostStepRequest) Descriptor deprecated

func (*HostStepRequest) Descriptor() ([]byte, []int)

Deprecated: Use HostStepRequest.ProtoReflect.Descriptor instead.

func (*HostStepRequest) GetOptsJson

func (x *HostStepRequest) GetOptsJson() []byte

func (*HostStepRequest) GetStepJson

func (x *HostStepRequest) GetStepJson() []byte

func (*HostStepRequest) ProtoMessage

func (*HostStepRequest) ProtoMessage()

func (*HostStepRequest) ProtoReflect

func (x *HostStepRequest) ProtoReflect() protoreflect.Message

func (*HostStepRequest) Reset

func (x *HostStepRequest) Reset()

func (*HostStepRequest) String

func (x *HostStepRequest) String() string

type InvokeProviderRequest

type InvokeProviderRequest struct {
	Class      string `protobuf:"bytes,1,opt,name=class,proto3" json:"class,omitempty"`
	Reserved   string `protobuf:"bytes,2,opt,name=reserved,proto3" json:"reserved,omitempty"`
	Op         string `protobuf:"bytes,3,opt,name=op,proto3" json:"op,omitempty"`
	ParamsJson []byte `protobuf:"bytes,4,opt,name=params_json,json=paramsJson,proto3" json:"params_json,omitempty"`
	EnvJson    []byte `protobuf:"bytes,5,opt,name=env_json,json=envJson,proto3" json:"env_json,omitempty"`
	// OPTIONAL marshalled spec.VenueDescriptor (S1 — the venue-scoped-executor-session
	// seam). The calling plugin supplies its OWN self-described venue (shell or ssh) when
	// it wants the target provider Invoked WITH a live executor but holds no enclosing
	// executor of its own to forward (e.g. a verb/kind Invoke with no deploy-context
	// broker). On presence, the host re-materializes a FRESH DeployExecutor from the
	// descriptor (venueFromDescriptor) and threads THAT onto the nested InvokeWithExecutor
	// call instead of the caller's own executor. Empty/absent — byte-identical prior
	// behavior (the caller's own executor, if any, is forwarded as before).
	VenueDescriptorJson []byte `protobuf:"bytes,6,opt,name=venue_descriptor_json,json=venueDescriptorJson,proto3" json:"venue_descriptor_json,omitempty"`
	// OPTIONAL canonical candy ref (S3b — the Pass-2 lazy-connect gap). The host's
	// InvokeProvider handler falls back to connectPluginByWordRef(class, word, extraRef)
	// on a registry miss (S2); passing "" only ever reaches Pass-1 (the calling project's
	// own candy closure) — a target declared nowhere in that closure but resolvable via an
	// explicit @github canonical ref (the same Pass-2 fetch the credential/vm/kube host
	// adapters already use) needs this field set. Empty/absent — byte-identical S2
	// behavior (Pass-1 only).
	ExtraRef string `protobuf:"bytes,7,opt,name=extra_ref,json=extraRef,proto3" json:"extra_ref,omitempty"`
	// contains filtered or unexported fields
}

InvokeProviderRequest mirrors InvokeRequest minus the broker id (the host already holds the reverse context): dispatch op `op` on provider (class, reserved) with params/env (F10).

func (*InvokeProviderRequest) Descriptor deprecated

func (*InvokeProviderRequest) Descriptor() ([]byte, []int)

Deprecated: Use InvokeProviderRequest.ProtoReflect.Descriptor instead.

func (*InvokeProviderRequest) GetClass

func (x *InvokeProviderRequest) GetClass() string

func (*InvokeProviderRequest) GetEnvJson

func (x *InvokeProviderRequest) GetEnvJson() []byte

func (*InvokeProviderRequest) GetExtraRef

func (x *InvokeProviderRequest) GetExtraRef() string

func (*InvokeProviderRequest) GetOp

func (x *InvokeProviderRequest) GetOp() string

func (*InvokeProviderRequest) GetParamsJson

func (x *InvokeProviderRequest) GetParamsJson() []byte

func (*InvokeProviderRequest) GetReserved

func (x *InvokeProviderRequest) GetReserved() string

func (*InvokeProviderRequest) GetVenueDescriptorJson

func (x *InvokeProviderRequest) GetVenueDescriptorJson() []byte

func (*InvokeProviderRequest) ProtoMessage

func (*InvokeProviderRequest) ProtoMessage()

func (*InvokeProviderRequest) ProtoReflect

func (x *InvokeProviderRequest) ProtoReflect() protoreflect.Message

func (*InvokeProviderRequest) Reset

func (x *InvokeProviderRequest) Reset()

func (*InvokeProviderRequest) String

func (x *InvokeProviderRequest) String() string

type InvokeReply

type InvokeReply struct {
	ResultJson []byte `protobuf:"bytes,1,opt,name=result_json,json=resultJson,proto3" json:"result_json,omitempty"`
	// contains filtered or unexported fields
}

CheckResult / InstallPlan / Diagnostics, JSON

func (*InvokeReply) Descriptor deprecated

func (*InvokeReply) Descriptor() ([]byte, []int)

Deprecated: Use InvokeReply.ProtoReflect.Descriptor instead.

func (*InvokeReply) GetResultJson

func (x *InvokeReply) GetResultJson() []byte

func (*InvokeReply) ProtoMessage

func (*InvokeReply) ProtoMessage()

func (*InvokeReply) ProtoReflect

func (x *InvokeReply) ProtoReflect() protoreflect.Message

func (*InvokeReply) Reset

func (x *InvokeReply) Reset()

func (*InvokeReply) String

func (x *InvokeReply) String() string

type InvokeRequest

type InvokeRequest struct {

	// the reserved word, e.g. "exampleprobe","cdp","local"
	Reserved string `protobuf:"bytes,1,opt,name=reserved,proto3" json:"reserved,omitempty"`
	// operation selector for the word's class
	Op string `protobuf:"bytes,2,opt,name=op,proto3" json:"op,omitempty"`
	// the CUE-generated params (Op for verbs/steps; entity for kinds)
	ParamsJson []byte `protobuf:"bytes,3,opt,name=params_json,json=paramsJson,proto3" json:"params_json,omitempty"`
	// snapshotCheckEnv / venue descriptor (serializable invocation ctx)
	EnvJson []byte `protobuf:"bytes,4,opt,name=env_json,json=envJson,proto3" json:"env_json,omitempty"`
	// the ProviderClass ("verb"/"kind"/...) — words aren't unique across classes
	Class string `protobuf:"bytes,5,opt,name=class,proto3" json:"class,omitempty"`
	// E3b: the go-plugin broker id the host serves ExecutorService on for a deploy/step/builder op; 0 = none (verb/kind ops need no executor)
	ExecutorBrokerId uint32 `protobuf:"varint,6,opt,name=executor_broker_id,json=executorBrokerId,proto3" json:"executor_broker_id,omitempty"`
	// contains filtered or unexported fields
}

func (*InvokeRequest) Descriptor deprecated

func (*InvokeRequest) Descriptor() ([]byte, []int)

Deprecated: Use InvokeRequest.ProtoReflect.Descriptor instead.

func (*InvokeRequest) GetClass

func (x *InvokeRequest) GetClass() string

func (*InvokeRequest) GetEnvJson

func (x *InvokeRequest) GetEnvJson() []byte

func (*InvokeRequest) GetExecutorBrokerId

func (x *InvokeRequest) GetExecutorBrokerId() uint32

func (*InvokeRequest) GetOp

func (x *InvokeRequest) GetOp() string

func (*InvokeRequest) GetParamsJson

func (x *InvokeRequest) GetParamsJson() []byte

func (*InvokeRequest) GetReserved

func (x *InvokeRequest) GetReserved() string

func (*InvokeRequest) ProtoMessage

func (*InvokeRequest) ProtoMessage()

func (*InvokeRequest) ProtoReflect

func (x *InvokeRequest) ProtoReflect() protoreflect.Message

func (*InvokeRequest) Reset

func (x *InvokeRequest) Reset()

func (*InvokeRequest) String

func (x *InvokeRequest) String() string

type LiveReply

type LiveReply struct {
	ExitCode int32  `protobuf:"varint,1,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
	Error    string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

F12 RunInteractive/RunStream: stdout/stderr/stdin went LIVE to the operator's terminal (host-held), so no buffers — only the session's exit code; error = execution/spawn failure, NOT a non-zero exit (CaptureReply's split, sans buffers)

func (*LiveReply) Descriptor deprecated

func (*LiveReply) Descriptor() ([]byte, []int)

Deprecated: Use LiveReply.ProtoReflect.Descriptor instead.

func (*LiveReply) GetError

func (x *LiveReply) GetError() string

func (*LiveReply) GetExitCode

func (x *LiveReply) GetExitCode() int32

func (*LiveReply) ProtoMessage

func (*LiveReply) ProtoMessage()

func (*LiveReply) ProtoReflect

func (x *LiveReply) ProtoReflect() protoreflect.Message

func (*LiveReply) Reset

func (x *LiveReply) Reset()

func (*LiveReply) String

func (x *LiveReply) String() string

type PluginMetaClient

type PluginMetaClient interface {
	Describe(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Capabilities, error)
}

PluginMetaClient is the client API for PluginMeta service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewPluginMetaClient

func NewPluginMetaClient(cc grpc.ClientConnInterface) PluginMetaClient

type PluginMetaServer

type PluginMetaServer interface {
	Describe(context.Context, *Empty) (*Capabilities, error)
	// contains filtered or unexported methods
}

PluginMetaServer is the server API for PluginMeta service. All implementations must embed UnimplementedPluginMetaServer for forward compatibility

type ProvidedCapability

type ProvidedCapability struct {

	// "verb" / "kind" / "deploy" / "step" / "builder"
	Class string `protobuf:"bytes,1,opt,name=class,proto3" json:"class,omitempty"`
	// the reserved word, e.g. "externalprobe"
	Word string `protobuf:"bytes,2,opt,name=word,proto3" json:"word,omitempty"`
	// the CUE def for this word's plugin_input, e.g. "#ExternalprobeInput"
	InputDef string `protobuf:"bytes,3,opt,name=input_def,json=inputDef,proto3" json:"input_def,omitempty"`
	// set ONLY for class="step" (F3): the plugin-declared install-step contract
	StepContract *StepContract `protobuf:"bytes,4,opt,name=step_contract,json=stepContract,proto3" json:"step_contract,omitempty"`
	// set ONLY for class="kind" (F5): the kind decodes a STRUCTURAL entity (a spec.Deploy member tree -> uf.Deploy) rather than a FLAT body (-> uf.PluginKinds)
	Structural bool `protobuf:"varint,5,opt,name=structural,proto3" json:"structural,omitempty"`
	// set ONLY for class="deploy" (F6): the substrate brings its OWN host-side venue lifecycle (PrepareVenue/Start/Stop/...) served over the lifecycle Ops; the host registers a wire-backed substrateLifecycle for it
	Lifecycle bool `protobuf:"varint,6,opt,name=lifecycle,proto3" json:"lifecycle,omitempty"`
	// set ONLY for class="deploy" (F6): the substrate declares a host-side PRERESOLVE step (OpPreresolve) the host runs before apply, shipping the opaque result in DeployVenue.Substrate
	Preresolve bool `protobuf:"varint,7,opt,name=preresolve,proto3" json:"preresolve,omitempty"`
	// set ONLY for class="kind" (F7/C8): the kind serves a deep OpValidate check (returns Diagnostics) BEYOND the static CUE input-def gate; the host dispatches OpValidate at load
	Validates bool `protobuf:"varint,8,opt,name=validates,proto3" json:"validates,omitempty"`
	// F9: the plugin lifecycle PHASE (sdk.Phase*; "" => runtime default) — the ordered point at which the kernel loads/invokes the plugin; "bootstrap" runs BEFORE config validation/migration
	Phase string `protobuf:"bytes,9,opt,name=phase,proto3" json:"phase,omitempty"`
	// set ONLY for class="verb": the input field the scalar sugar shorthand targets (`file: /x` -> plugin_input: {<primary>: "/x"}); "" => map input only
	Primary string `protobuf:"bytes,10,opt,name=primary,proto3" json:"primary,omitempty"`
	// set ONLY for class="kind" (P9): a SUBSTRATE kind's DECLARED deploy behaviour traits, the SINGLE plugin-declared source kit.StampDescent stamps onto node.Descent — the consult sites read the traits off node.Descent instead of switching on the substrate kind word
	DeployTraits *DeployTraits `protobuf:"bytes,11,opt,name=deploy_traits,json=deployTraits,proto3" json:"deploy_traits,omitempty"`
	// set ONLY for class="command": the plugin's DECLARED one-level-deep CLI subcommand catalog (name+help). Lets the host build a REAL nested Kong grammar (in place of the opaque `[<args>...]` pass-through holder every command-class capability otherwise gets) and synthesize a dotted "<word>.<name>" CLI-model leaf per entry for `charly __cli-model` / MCP tool generation. Empty (the default) preserves today's flat pass-through behavior byte-for-byte.
	Subcommands []*CLISubcommand `protobuf:"bytes,12,rep,name=subcommands,proto3" json:"subcommands,omitempty"`
	// CUE #CLIModel JSON for class=command; lets CLI and MCP reflect plugin-owned leaves without importing plugin code
	CommandModelJson []byte `protobuf:"bytes,13,opt,name=command_model_json,json=commandModelJson,proto3" json:"command_model_json,omitempty"`
	// contains filtered or unexported fields
}

ProvidedCapability — one served capability plus the CUE def that validates its plugin_input. The schema travels with the plugin over Describe (the same channel for in-proc builtin and out-of-proc external — zero distinction), so the host validates authored plugin_input against `base ++ served` without ever reading a candy's schema/ dir. `input_def` is explicit (no Title-case naming convention).

func (*ProvidedCapability) Descriptor deprecated

func (*ProvidedCapability) Descriptor() ([]byte, []int)

Deprecated: Use ProvidedCapability.ProtoReflect.Descriptor instead.

func (*ProvidedCapability) GetClass

func (x *ProvidedCapability) GetClass() string

func (*ProvidedCapability) GetCommandModelJson

func (x *ProvidedCapability) GetCommandModelJson() []byte

func (*ProvidedCapability) GetDeployTraits

func (x *ProvidedCapability) GetDeployTraits() *DeployTraits

func (*ProvidedCapability) GetInputDef

func (x *ProvidedCapability) GetInputDef() string

func (*ProvidedCapability) GetLifecycle

func (x *ProvidedCapability) GetLifecycle() bool

func (*ProvidedCapability) GetPhase

func (x *ProvidedCapability) GetPhase() string

func (*ProvidedCapability) GetPreresolve

func (x *ProvidedCapability) GetPreresolve() bool

func (*ProvidedCapability) GetPrimary

func (x *ProvidedCapability) GetPrimary() string

func (*ProvidedCapability) GetStepContract

func (x *ProvidedCapability) GetStepContract() *StepContract

func (*ProvidedCapability) GetStructural

func (x *ProvidedCapability) GetStructural() bool

func (*ProvidedCapability) GetSubcommands

func (x *ProvidedCapability) GetSubcommands() []*CLISubcommand

func (*ProvidedCapability) GetValidates

func (x *ProvidedCapability) GetValidates() bool

func (*ProvidedCapability) GetWord

func (x *ProvidedCapability) GetWord() string

func (*ProvidedCapability) ProtoMessage

func (*ProvidedCapability) ProtoMessage()

func (*ProvidedCapability) ProtoReflect

func (x *ProvidedCapability) ProtoReflect() protoreflect.Message

func (*ProvidedCapability) Reset

func (x *ProvidedCapability) Reset()

func (*ProvidedCapability) String

func (x *ProvidedCapability) String() string

type ProviderClient

type ProviderClient interface {
	// single-shot (the common path)
	Invoke(ctx context.Context, in *InvokeRequest, opts ...grpc.CallOption) (*InvokeReply, error)
	// streaming (record/logcat/execute)
	InvokeStream(ctx context.Context, in *InvokeRequest, opts ...grpc.CallOption) (Provider_InvokeStreamClient, error)
	// generic bidirectional provider/process stream with explicit ordering, acknowledgements, cancellation, and resynchronization
	Channel(ctx context.Context, opts ...grpc.CallOption) (Provider_ChannelClient, error)
}

ProviderClient is the client API for Provider service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewProviderClient

func NewProviderClient(cc grpc.ClientConnInterface) ProviderClient

type ProviderServer

type ProviderServer interface {
	// single-shot (the common path)
	Invoke(context.Context, *InvokeRequest) (*InvokeReply, error)
	// streaming (record/logcat/execute)
	InvokeStream(*InvokeRequest, Provider_InvokeStreamServer) error
	// generic bidirectional provider/process stream with explicit ordering, acknowledgements, cancellation, and resynchronization
	Channel(Provider_ChannelServer) error
	// contains filtered or unexported methods
}

ProviderServer is the server API for Provider service. All implementations must embed UnimplementedProviderServer for forward compatibility

type Provider_ChannelClient

type Provider_ChannelClient interface {
	Send(*ChannelFrame) error
	Recv() (*ChannelFrame, error)
	grpc.ClientStream
}

type Provider_ChannelServer

type Provider_ChannelServer interface {
	Send(*ChannelFrame) error
	Recv() (*ChannelFrame, error)
	grpc.ServerStream
}

type Provider_InvokeStreamClient

type Provider_InvokeStreamClient interface {
	Recv() (*Frame, error)
	grpc.ClientStream
}

type Provider_InvokeStreamServer

type Provider_InvokeStreamServer interface {
	Send(*Frame) error
	grpc.ServerStream
}

type PutFileReply

type PutFileReply struct {
	Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

empty error = success

func (*PutFileReply) Descriptor deprecated

func (*PutFileReply) Descriptor() ([]byte, []int)

Deprecated: Use PutFileReply.ProtoReflect.Descriptor instead.

func (*PutFileReply) GetError

func (x *PutFileReply) GetError() string

func (*PutFileReply) ProtoMessage

func (*PutFileReply) ProtoMessage()

func (*PutFileReply) ProtoReflect

func (x *PutFileReply) ProtoReflect() protoreflect.Message

func (*PutFileReply) Reset

func (x *PutFileReply) Reset()

func (*PutFileReply) String

func (x *PutFileReply) String() string

type PutFileRequest

type PutFileRequest struct {
	Path      string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	Content   []byte `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
	Mode      uint32 `protobuf:"varint,3,opt,name=mode,proto3" json:"mode,omitempty"`
	OwnerRoot bool   `protobuf:"varint,4,opt,name=owner_root,json=ownerRoot,proto3" json:"owner_root,omitempty"`
	OptsJson  []byte `protobuf:"bytes,5,opt,name=opts_json,json=optsJson,proto3" json:"opts_json,omitempty"`
	// contains filtered or unexported fields
}

content placed at path; mode = octal perms; opts_json = EmitOpts

func (*PutFileRequest) Descriptor deprecated

func (*PutFileRequest) Descriptor() ([]byte, []int)

Deprecated: Use PutFileRequest.ProtoReflect.Descriptor instead.

func (*PutFileRequest) GetContent

func (x *PutFileRequest) GetContent() []byte

func (*PutFileRequest) GetMode

func (x *PutFileRequest) GetMode() uint32

func (*PutFileRequest) GetOptsJson

func (x *PutFileRequest) GetOptsJson() []byte

func (*PutFileRequest) GetOwnerRoot

func (x *PutFileRequest) GetOwnerRoot() bool

func (*PutFileRequest) GetPath

func (x *PutFileRequest) GetPath() string

func (*PutFileRequest) ProtoMessage

func (*PutFileRequest) ProtoMessage()

func (*PutFileRequest) ProtoReflect

func (x *PutFileRequest) ProtoReflect() protoreflect.Message

func (*PutFileRequest) Reset

func (x *PutFileRequest) Reset()

func (*PutFileRequest) String

func (x *PutFileRequest) String() string

type ResolveEndpointReply

type ResolveEndpointReply struct {
	Addr  string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
	Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

ResolveEndpointReply: the host-reachable "host:port" addr, or a resolution error.

func (*ResolveEndpointReply) Descriptor deprecated

func (*ResolveEndpointReply) Descriptor() ([]byte, []int)

Deprecated: Use ResolveEndpointReply.ProtoReflect.Descriptor instead.

func (*ResolveEndpointReply) GetAddr

func (x *ResolveEndpointReply) GetAddr() string

func (*ResolveEndpointReply) GetError

func (x *ResolveEndpointReply) GetError() string

func (*ResolveEndpointReply) ProtoMessage

func (*ResolveEndpointReply) ProtoMessage()

func (*ResolveEndpointReply) ProtoReflect

func (x *ResolveEndpointReply) ProtoReflect() protoreflect.Message

func (*ResolveEndpointReply) Reset

func (x *ResolveEndpointReply) Reset()

func (*ResolveEndpointReply) String

func (x *ResolveEndpointReply) String() string

type ResolveEndpointRequest

type ResolveEndpointRequest struct {
	Port int32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
	// contains filtered or unexported fields
}

ResolveEndpointRequest: the in-venue TCP port to resolve to a host-reachable address.

func (*ResolveEndpointRequest) Descriptor deprecated

func (*ResolveEndpointRequest) Descriptor() ([]byte, []int)

Deprecated: Use ResolveEndpointRequest.ProtoReflect.Descriptor instead.

func (*ResolveEndpointRequest) GetPort

func (x *ResolveEndpointRequest) GetPort() int32

func (*ResolveEndpointRequest) ProtoMessage

func (*ResolveEndpointRequest) ProtoMessage()

func (*ResolveEndpointRequest) ProtoReflect

func (x *ResolveEndpointRequest) ProtoReflect() protoreflect.Message

func (*ResolveEndpointRequest) Reset

func (x *ResolveEndpointRequest) Reset()

func (*ResolveEndpointRequest) String

func (x *ResolveEndpointRequest) String() string

type ResolveGraphicsEndpointReply

type ResolveGraphicsEndpointReply struct {
	Addr        string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
	Socket      string `protobuf:"bytes,2,opt,name=socket,proto3" json:"socket,omitempty"`
	Password    string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
	Skip        bool   `protobuf:"varint,4,opt,name=skip,proto3" json:"skip,omitempty"`
	SkipMessage string `protobuf:"bytes,5,opt,name=skip_message,json=skipMessage,proto3" json:"skip_message,omitempty"`
	Error       string `protobuf:"bytes,6,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

ResolveGraphicsEndpointReply: the dialable endpoint. Exactly one of addr / socket is set; password is the resolved ticket (empty = no auth). skip=true with skip_message signals a deployment with no graphics device of that kind (an N/A skip, not a failure).

func (*ResolveGraphicsEndpointReply) Descriptor deprecated

func (*ResolveGraphicsEndpointReply) Descriptor() ([]byte, []int)

Deprecated: Use ResolveGraphicsEndpointReply.ProtoReflect.Descriptor instead.

func (*ResolveGraphicsEndpointReply) GetAddr

func (x *ResolveGraphicsEndpointReply) GetAddr() string

func (*ResolveGraphicsEndpointReply) GetError

func (x *ResolveGraphicsEndpointReply) GetError() string

func (*ResolveGraphicsEndpointReply) GetPassword

func (x *ResolveGraphicsEndpointReply) GetPassword() string

func (*ResolveGraphicsEndpointReply) GetSkip

func (x *ResolveGraphicsEndpointReply) GetSkip() bool

func (*ResolveGraphicsEndpointReply) GetSkipMessage

func (x *ResolveGraphicsEndpointReply) GetSkipMessage() string

func (*ResolveGraphicsEndpointReply) GetSocket

func (x *ResolveGraphicsEndpointReply) GetSocket() string

func (*ResolveGraphicsEndpointReply) ProtoMessage

func (*ResolveGraphicsEndpointReply) ProtoMessage()

func (*ResolveGraphicsEndpointReply) ProtoReflect

func (*ResolveGraphicsEndpointReply) Reset

func (x *ResolveGraphicsEndpointReply) Reset()

func (*ResolveGraphicsEndpointReply) String

type ResolveGraphicsEndpointRequest

type ResolveGraphicsEndpointRequest struct {
	Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
	// contains filtered or unexported fields
}

ResolveGraphicsEndpointRequest: the graphics kind to resolve ("vnc" | "spice").

func (*ResolveGraphicsEndpointRequest) Descriptor deprecated

func (*ResolveGraphicsEndpointRequest) Descriptor() ([]byte, []int)

Deprecated: Use ResolveGraphicsEndpointRequest.ProtoReflect.Descriptor instead.

func (*ResolveGraphicsEndpointRequest) GetKind

func (*ResolveGraphicsEndpointRequest) ProtoMessage

func (*ResolveGraphicsEndpointRequest) ProtoMessage()

func (*ResolveGraphicsEndpointRequest) ProtoReflect

func (*ResolveGraphicsEndpointRequest) Reset

func (x *ResolveGraphicsEndpointRequest) Reset()

func (*ResolveGraphicsEndpointRequest) String

type ResolveImageLabelReply

type ResolveImageLabelReply struct {
	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
	Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

ResolveImageLabelReply: the raw label value ("" = label absent on the image).

func (*ResolveImageLabelReply) Descriptor deprecated

func (*ResolveImageLabelReply) Descriptor() ([]byte, []int)

Deprecated: Use ResolveImageLabelReply.ProtoReflect.Descriptor instead.

func (*ResolveImageLabelReply) GetError

func (x *ResolveImageLabelReply) GetError() string

func (*ResolveImageLabelReply) GetValue

func (x *ResolveImageLabelReply) GetValue() string

func (*ResolveImageLabelReply) ProtoMessage

func (*ResolveImageLabelReply) ProtoMessage()

func (*ResolveImageLabelReply) ProtoReflect

func (x *ResolveImageLabelReply) ProtoReflect() protoreflect.Message

func (*ResolveImageLabelReply) Reset

func (x *ResolveImageLabelReply) Reset()

func (*ResolveImageLabelReply) String

func (x *ResolveImageLabelReply) String() string

type ResolveImageLabelRequest

type ResolveImageLabelRequest struct {
	Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
	// contains filtered or unexported fields
}

ResolveImageLabelRequest: the OCI label name to read (e.g. "ai.opencharly.mcp_provide").

func (*ResolveImageLabelRequest) Descriptor deprecated

func (*ResolveImageLabelRequest) Descriptor() ([]byte, []int)

Deprecated: Use ResolveImageLabelRequest.ProtoReflect.Descriptor instead.

func (*ResolveImageLabelRequest) GetLabel

func (x *ResolveImageLabelRequest) GetLabel() string

func (*ResolveImageLabelRequest) ProtoMessage

func (*ResolveImageLabelRequest) ProtoMessage()

func (*ResolveImageLabelRequest) ProtoReflect

func (x *ResolveImageLabelRequest) ProtoReflect() protoreflect.Message

func (*ResolveImageLabelRequest) Reset

func (x *ResolveImageLabelRequest) Reset()

func (*ResolveImageLabelRequest) String

func (x *ResolveImageLabelRequest) String() string

type RunReply

type RunReply struct {
	Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
	// contains filtered or unexported fields
}

empty error = success

func (*RunReply) Descriptor deprecated

func (*RunReply) Descriptor() ([]byte, []int)

Deprecated: Use RunReply.ProtoReflect.Descriptor instead.

func (*RunReply) GetError

func (x *RunReply) GetError() string

func (*RunReply) ProtoMessage

func (*RunReply) ProtoMessage()

func (*RunReply) ProtoReflect

func (x *RunReply) ProtoReflect() protoreflect.Message

func (*RunReply) Reset

func (x *RunReply) Reset()

func (*RunReply) String

func (x *RunReply) String() string

type RunRequest

type RunRequest struct {
	Script   string `protobuf:"bytes,1,opt,name=script,proto3" json:"script,omitempty"`
	OptsJson []byte `protobuf:"bytes,2,opt,name=opts_json,json=optsJson,proto3" json:"opts_json,omitempty"`
	// contains filtered or unexported fields
}

opts_json = EmitOpts, JSON

func (*RunRequest) Descriptor deprecated

func (*RunRequest) Descriptor() ([]byte, []int)

Deprecated: Use RunRequest.ProtoReflect.Descriptor instead.

func (*RunRequest) GetOptsJson

func (x *RunRequest) GetOptsJson() []byte

func (*RunRequest) GetScript

func (x *RunRequest) GetScript() string

func (*RunRequest) ProtoMessage

func (*RunRequest) ProtoMessage()

func (*RunRequest) ProtoReflect

func (x *RunRequest) ProtoReflect() protoreflect.Message

func (*RunRequest) Reset

func (x *RunRequest) Reset()

func (*RunRequest) String

func (x *RunRequest) String() string

type StepContract

type StepContract struct {

	// "system" | "user" | "user-profile"
	Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"`
	// Venue enum: 0=host-native, 1=container-builder, 2=skip
	Venue int32 `protobuf:"varint,2,opt,name=venue,proto3" json:"venue,omitempty"`
	// "" | "allow-repo-changes" | "allow-root-tasks" | "with-services"
	Gate string `protobuf:"bytes,3,opt,name=gate,proto3" json:"gate,omitempty"`
	// F-STEP-EMIT: the step produces a build-context Containerfile FRAGMENT (Invoke(OpEmit)); the pod-overlay OCITarget bakes it. false => deploy-only step (no build fragment; OCITarget skips it, like apk on an image build)
	Emits bool `protobuf:"varint,4,opt,name=emits,proto3" json:"emits,omitempty"`
	// contains filtered or unexported fields
}

StepContract — a class="step" plugin's DECLARED install-step contract (F3): where the step's effect lands (scope) + where its commands execute (venue) + the opt-in gate it needs. This is what makes an external step kind a first-class IR step whose privilege / gating the host applies WITHOUT a compiled-in case (the open default arm). Reverse is NOT declared — an external step's teardown ops are DYNAMIC, recorded from its OpExecute reply (the same record-and-replay as ExternalPluginStep). Empty/absent for non-step capabilities.

func (*StepContract) Descriptor deprecated

func (*StepContract) Descriptor() ([]byte, []int)

Deprecated: Use StepContract.ProtoReflect.Descriptor instead.

func (*StepContract) GetEmits

func (x *StepContract) GetEmits() bool

func (*StepContract) GetGate

func (x *StepContract) GetGate() string

func (*StepContract) GetScope

func (x *StepContract) GetScope() string

func (*StepContract) GetVenue

func (x *StepContract) GetVenue() int32

func (*StepContract) ProtoMessage

func (*StepContract) ProtoMessage()

func (*StepContract) ProtoReflect

func (x *StepContract) ProtoReflect() protoreflect.Message

func (*StepContract) Reset

func (x *StepContract) Reset()

func (*StepContract) String

func (x *StepContract) String() string

type UnimplementedCheckContextServiceServer

type UnimplementedCheckContextServiceServer struct {
}

UnimplementedCheckContextServiceServer must be embedded to have forward compatible implementations.

func (UnimplementedCheckContextServiceServer) AddBackground

func (UnimplementedCheckContextServiceServer) HTTPDo

func (UnimplementedCheckContextServiceServer) ResolveEndpoint

func (UnimplementedCheckContextServiceServer) ResolveImageLabel

type UnimplementedExecutorServiceServer

type UnimplementedExecutorServiceServer struct {
}

UnimplementedExecutorServiceServer must be embedded to have forward compatible implementations.

func (UnimplementedExecutorServiceServer) DescribeProvider

func (UnimplementedExecutorServiceServer) GetFile

func (UnimplementedExecutorServiceServer) HostBuild

func (UnimplementedExecutorServiceServer) InvokeProvider

func (UnimplementedExecutorServiceServer) PutFile

func (UnimplementedExecutorServiceServer) RunCapture

func (UnimplementedExecutorServiceServer) RunHostStep

func (UnimplementedExecutorServiceServer) RunInteractive

func (UnimplementedExecutorServiceServer) RunStream

func (UnimplementedExecutorServiceServer) RunSystem

func (UnimplementedExecutorServiceServer) RunUser

func (UnimplementedExecutorServiceServer) Venue

type UnimplementedPluginMetaServer

type UnimplementedPluginMetaServer struct {
}

UnimplementedPluginMetaServer must be embedded to have forward compatible implementations.

func (UnimplementedPluginMetaServer) Describe

type UnimplementedProviderServer

type UnimplementedProviderServer struct {
}

UnimplementedProviderServer must be embedded to have forward compatible implementations.

func (UnimplementedProviderServer) Channel

func (UnimplementedProviderServer) Invoke

func (UnimplementedProviderServer) InvokeStream

type UnsafeCheckContextServiceServer

type UnsafeCheckContextServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeCheckContextServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to CheckContextServiceServer will result in compilation errors.

type UnsafeExecutorServiceServer

type UnsafeExecutorServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeExecutorServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ExecutorServiceServer will result in compilation errors.

type UnsafePluginMetaServer

type UnsafePluginMetaServer interface {
	// contains filtered or unexported methods
}

UnsafePluginMetaServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to PluginMetaServer will result in compilation errors.

type UnsafeProviderServer

type UnsafeProviderServer interface {
	// contains filtered or unexported methods
}

UnsafeProviderServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ProviderServer will result in compilation errors.

type VenueReply

type VenueReply struct {
	Venue string `protobuf:"bytes,1,opt,name=venue,proto3" json:"venue,omitempty"`
	// contains filtered or unexported fields
}

func (*VenueReply) Descriptor deprecated

func (*VenueReply) Descriptor() ([]byte, []int)

Deprecated: Use VenueReply.ProtoReflect.Descriptor instead.

func (*VenueReply) GetVenue

func (x *VenueReply) GetVenue() string

func (*VenueReply) ProtoMessage

func (*VenueReply) ProtoMessage()

func (*VenueReply) ProtoReflect

func (x *VenueReply) ProtoReflect() protoreflect.Message

func (*VenueReply) Reset

func (x *VenueReply) Reset()

func (*VenueReply) String

func (x *VenueReply) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL