Help us shape the future of Go! Take the 2026 Go Developer Survey

agentv1

package
v0.5.8 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AgentService_ExchangeToken_FullMethodName   = "/leoflow.agent.v1.AgentService/ExchangeToken"
	AgentService_Register_FullMethodName        = "/leoflow.agent.v1.AgentService/Register"
	AgentService_GetTaskSpec_FullMethodName     = "/leoflow.agent.v1.AgentService/GetTaskSpec"
	AgentService_FetchXCom_FullMethodName       = "/leoflow.agent.v1.AgentService/FetchXCom"
	AgentService_FetchXComBatch_FullMethodName  = "/leoflow.agent.v1.AgentService/FetchXComBatch"
	AgentService_PushXCom_FullMethodName        = "/leoflow.agent.v1.AgentService/PushXCom"
	AgentService_StreamLogs_FullMethodName      = "/leoflow.agent.v1.AgentService/StreamLogs"
	AgentService_ReportState_FullMethodName     = "/leoflow.agent.v1.AgentService/ReportState"
	AgentService_Heartbeat_FullMethodName       = "/leoflow.agent.v1.AgentService/Heartbeat"
	AgentService_GetVariables_FullMethodName    = "/leoflow.agent.v1.AgentService/GetVariables"
	AgentService_GetConnections_FullMethodName  = "/leoflow.agent.v1.AgentService/GetConnections"
	AgentService_AwaitAssignment_FullMethodName = "/leoflow.agent.v1.AgentService/AwaitAssignment"
)

Variables

View Source
var (
	LogLevel_name = map[int32]string{
		0: "LOG_LEVEL_UNSPECIFIED",
		1: "LOG_LEVEL_DEBUG",
		2: "LOG_LEVEL_INFO",
		3: "LOG_LEVEL_WARN",
		4: "LOG_LEVEL_ERROR",
	}
	LogLevel_value = map[string]int32{
		"LOG_LEVEL_UNSPECIFIED": 0,
		"LOG_LEVEL_DEBUG":       1,
		"LOG_LEVEL_INFO":        2,
		"LOG_LEVEL_WARN":        3,
		"LOG_LEVEL_ERROR":       4,
	}
)

Enum value maps for LogLevel.

View Source
var (
	TaskState_name = map[int32]string{
		0: "TASK_STATE_UNSPECIFIED",
		1: "TASK_STATE_RUNNING",
		2: "TASK_STATE_SUCCESS",
		3: "TASK_STATE_FAILED",
		4: "TASK_STATE_SKIPPED",
		5: "TASK_STATE_UP_FOR_RESCHEDULE",
	}
	TaskState_value = map[string]int32{
		"TASK_STATE_UNSPECIFIED":       0,
		"TASK_STATE_RUNNING":           1,
		"TASK_STATE_SUCCESS":           2,
		"TASK_STATE_FAILED":            3,
		"TASK_STATE_SKIPPED":           4,
		"TASK_STATE_UP_FOR_RESCHEDULE": 5,
	}
)

Enum value maps for TaskState.

View Source
var AgentService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "leoflow.agent.v1.AgentService",
	HandlerType: (*AgentServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "ExchangeToken",
			Handler:    _AgentService_ExchangeToken_Handler,
		},
		{
			MethodName: "Register",
			Handler:    _AgentService_Register_Handler,
		},
		{
			MethodName: "GetTaskSpec",
			Handler:    _AgentService_GetTaskSpec_Handler,
		},
		{
			MethodName: "FetchXCom",
			Handler:    _AgentService_FetchXCom_Handler,
		},
		{
			MethodName: "FetchXComBatch",
			Handler:    _AgentService_FetchXComBatch_Handler,
		},
		{
			MethodName: "PushXCom",
			Handler:    _AgentService_PushXCom_Handler,
		},
		{
			MethodName: "ReportState",
			Handler:    _AgentService_ReportState_Handler,
		},
		{
			MethodName: "Heartbeat",
			Handler:    _AgentService_Heartbeat_Handler,
		},
		{
			MethodName: "GetVariables",
			Handler:    _AgentService_GetVariables_Handler,
		},
		{
			MethodName: "GetConnections",
			Handler:    _AgentService_GetConnections_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "StreamLogs",
			Handler:       _AgentService_StreamLogs_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
		{
			StreamName:    "AwaitAssignment",
			Handler:       _AgentService_AwaitAssignment_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "agent.proto",
}

AgentService_ServiceDesc is the grpc.ServiceDesc for AgentService 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_agent_proto protoreflect.FileDescriptor

Functions

func RegisterAgentServiceServer

func RegisterAgentServiceServer(s grpc.ServiceRegistrar, srv AgentServiceServer)

Types

type AgentServiceClient

type AgentServiceClient interface {
	// Agent exchanges its bootstrap credential for a task-scoped agent JWT
	// (ADR 0055 Fix #3). Called once at startup ONLY when the pod was given a
	// projected ServiceAccount token instead of a plaintext token: the agent
	// presents that projected token in metadata, the Control Plane validates it
	// with a Kubernetes TokenReview, resolves the pod to its task instance, and
	// returns the task-scoped JWT the agent uses as its bearer thereafter. The
	// default (env-var) transport never calls this.
	ExchangeToken(ctx context.Context, in *ExchangeTokenRequest, opts ...grpc.CallOption) (*ExchangeTokenResponse, error)
	// Agent registers with the Control Plane on container startup.
	// The JWT in metadata identifies the task instance.
	Register(ctx context.Context, in *RegisterRequest, opts ...grpc.CallOption) (*RegisterResponse, error)
	// Agent fetches the task specification.
	GetTaskSpec(ctx context.Context, in *GetTaskSpecRequest, opts ...grpc.CallOption) (*TaskSpec, error)
	// Agent pulls XCom values declared as inputs.
	FetchXCom(ctx context.Context, in *FetchXComRequest, opts ...grpc.CallOption) (*FetchXComResponse, error)
	// Agent pulls several XCom values in one call. Each item is authorized and
	// scoped exactly like FetchXCom. An older control plane answers Unimplemented
	// and the agent falls back to FetchXCom per value.
	FetchXComBatch(ctx context.Context, in *FetchXComBatchRequest, opts ...grpc.CallOption) (*FetchXComBatchResponse, error)
	// Agent pushes an XCom value (typically the task return value).
	PushXCom(ctx context.Context, in *PushXComRequest, opts ...grpc.CallOption) (*PushXComResponse, error)
	// Agent streams log lines back to the Control Plane.
	// Bidirectional: server sends acks; client streams logs.
	StreamLogs(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[LogLine, LogAck], error)
	// Agent reports task state transitions (running, success, failed).
	ReportState(ctx context.Context, in *ReportStateRequest, opts ...grpc.CallOption) (*ReportStateResponse, error)
	// Agent sends periodic heartbeats during long-running tasks.
	Heartbeat(ctx context.Context, in *HeartbeatRequest, opts ...grpc.CallOption) (*HeartbeatResponse, error)
	// Agent fetches the tenant's Variables to export as AIRFLOW_VAR_* env vars,
	// so user code resolves them via Airflow's native env secrets backend.
	GetVariables(ctx context.Context, in *GetVariablesRequest, opts ...grpc.CallOption) (*GetVariablesResponse, error)
	// Agent fetches the tenant's Connections (as Airflow connection URIs) to
	// export as AIRFLOW_CONN_* env vars.
	GetConnections(ctx context.Context, in *GetConnectionsRequest, opts ...grpc.CallOption) (*GetConnectionsResponse, error)
	// A warm worker awaits per-attempt assignments over a long-lived bidi stream
	// (ADR 0058 N1b). Down: the control plane pushes WorkAssignments. Up: the
	// worker sends its initial WorkerRegister, per-assignment AssignmentAcks, and
	// SlotFree signals. Gated on execution.warm_pools_enabled — the handler
	// returns FailedPrecondition when warm pools are off, so the transport is
	// inert by default.
	AwaitAssignment(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[WorkerMessage, WorkAssignment], error)
}

AgentServiceClient is the client API for AgentService 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.

───────────────────────────────────────────────────────────────────────── Service ─────────────────────────────────────────────────────────────────────────

type AgentServiceServer

type AgentServiceServer interface {
	// Agent exchanges its bootstrap credential for a task-scoped agent JWT
	// (ADR 0055 Fix #3). Called once at startup ONLY when the pod was given a
	// projected ServiceAccount token instead of a plaintext token: the agent
	// presents that projected token in metadata, the Control Plane validates it
	// with a Kubernetes TokenReview, resolves the pod to its task instance, and
	// returns the task-scoped JWT the agent uses as its bearer thereafter. The
	// default (env-var) transport never calls this.
	ExchangeToken(context.Context, *ExchangeTokenRequest) (*ExchangeTokenResponse, error)
	// Agent registers with the Control Plane on container startup.
	// The JWT in metadata identifies the task instance.
	Register(context.Context, *RegisterRequest) (*RegisterResponse, error)
	// Agent fetches the task specification.
	GetTaskSpec(context.Context, *GetTaskSpecRequest) (*TaskSpec, error)
	// Agent pulls XCom values declared as inputs.
	FetchXCom(context.Context, *FetchXComRequest) (*FetchXComResponse, error)
	// Agent pulls several XCom values in one call. Each item is authorized and
	// scoped exactly like FetchXCom. An older control plane answers Unimplemented
	// and the agent falls back to FetchXCom per value.
	FetchXComBatch(context.Context, *FetchXComBatchRequest) (*FetchXComBatchResponse, error)
	// Agent pushes an XCom value (typically the task return value).
	PushXCom(context.Context, *PushXComRequest) (*PushXComResponse, error)
	// Agent streams log lines back to the Control Plane.
	// Bidirectional: server sends acks; client streams logs.
	StreamLogs(grpc.BidiStreamingServer[LogLine, LogAck]) error
	// Agent reports task state transitions (running, success, failed).
	ReportState(context.Context, *ReportStateRequest) (*ReportStateResponse, error)
	// Agent sends periodic heartbeats during long-running tasks.
	Heartbeat(context.Context, *HeartbeatRequest) (*HeartbeatResponse, error)
	// Agent fetches the tenant's Variables to export as AIRFLOW_VAR_* env vars,
	// so user code resolves them via Airflow's native env secrets backend.
	GetVariables(context.Context, *GetVariablesRequest) (*GetVariablesResponse, error)
	// Agent fetches the tenant's Connections (as Airflow connection URIs) to
	// export as AIRFLOW_CONN_* env vars.
	GetConnections(context.Context, *GetConnectionsRequest) (*GetConnectionsResponse, error)
	// A warm worker awaits per-attempt assignments over a long-lived bidi stream
	// (ADR 0058 N1b). Down: the control plane pushes WorkAssignments. Up: the
	// worker sends its initial WorkerRegister, per-assignment AssignmentAcks, and
	// SlotFree signals. Gated on execution.warm_pools_enabled — the handler
	// returns FailedPrecondition when warm pools are off, so the transport is
	// inert by default.
	AwaitAssignment(grpc.BidiStreamingServer[WorkerMessage, WorkAssignment]) error
	// contains filtered or unexported methods
}

AgentServiceServer is the server API for AgentService service. All implementations must embed UnimplementedAgentServiceServer for forward compatibility.

───────────────────────────────────────────────────────────────────────── Service ─────────────────────────────────────────────────────────────────────────

type AgentService_AwaitAssignmentClient

type AgentService_AwaitAssignmentClient = grpc.BidiStreamingClient[WorkerMessage, WorkAssignment]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type AgentService_AwaitAssignmentServer

type AgentService_AwaitAssignmentServer = grpc.BidiStreamingServer[WorkerMessage, WorkAssignment]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type AgentService_StreamLogsClient

type AgentService_StreamLogsClient = grpc.BidiStreamingClient[LogLine, LogAck]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type AgentService_StreamLogsServer

type AgentService_StreamLogsServer = grpc.BidiStreamingServer[LogLine, LogAck]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type AssignmentAck

type AssignmentAck struct {
	AssignmentId string `protobuf:"bytes,1,opt,name=assignment_id,json=assignmentId,proto3" json:"assignment_id,omitempty"`
	Started      bool   `protobuf:"varint,2,opt,name=started,proto3" json:"started,omitempty"`
	// contains filtered or unexported fields
}

AssignmentAck answers a WorkAssignment. started=true means the worker began the attempt (the control plane marks it active and cancels the lease). started=false means the worker refuses or cannot start it (the control plane reclaims it).

func (*AssignmentAck) Descriptor deprecated

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

Deprecated: Use AssignmentAck.ProtoReflect.Descriptor instead.

func (*AssignmentAck) GetAssignmentId

func (x *AssignmentAck) GetAssignmentId() string

func (*AssignmentAck) GetStarted

func (x *AssignmentAck) GetStarted() bool

func (*AssignmentAck) ProtoMessage

func (*AssignmentAck) ProtoMessage()

func (*AssignmentAck) ProtoReflect

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

func (*AssignmentAck) Reset

func (x *AssignmentAck) Reset()

func (*AssignmentAck) String

func (x *AssignmentAck) String() string

type ExchangeTokenRequest

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

ExchangeTokenRequest is empty; the agent presents its projected ServiceAccount token as the bootstrap bearer in the authorization metadata. The Control Plane derives everything it needs (the pod, hence the task instance) from that token via a Kubernetes TokenReview.

func (*ExchangeTokenRequest) Descriptor deprecated

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

Deprecated: Use ExchangeTokenRequest.ProtoReflect.Descriptor instead.

func (*ExchangeTokenRequest) ProtoMessage

func (*ExchangeTokenRequest) ProtoMessage()

func (*ExchangeTokenRequest) ProtoReflect

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

func (*ExchangeTokenRequest) Reset

func (x *ExchangeTokenRequest) Reset()

func (*ExchangeTokenRequest) String

func (x *ExchangeTokenRequest) String() string

type ExchangeTokenResponse

type ExchangeTokenResponse struct {

	// A freshly minted, task-scoped agent JWT — the same identity scoped and
	// liveness-checked on the secret path. The agent swaps its bearer to this
	// value for every subsequent RPC. Never logged.
	AgentToken string `protobuf:"bytes,1,opt,name=agent_token,json=agentToken,proto3" json:"agent_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ExchangeTokenResponse) Descriptor deprecated

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

Deprecated: Use ExchangeTokenResponse.ProtoReflect.Descriptor instead.

func (*ExchangeTokenResponse) GetAgentToken

func (x *ExchangeTokenResponse) GetAgentToken() string

func (*ExchangeTokenResponse) ProtoMessage

func (*ExchangeTokenResponse) ProtoMessage()

func (*ExchangeTokenResponse) ProtoReflect

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

func (*ExchangeTokenResponse) Reset

func (x *ExchangeTokenResponse) Reset()

func (*ExchangeTokenResponse) String

func (x *ExchangeTokenResponse) String() string

type FetchXComBatchItem added in v0.5.1

type FetchXComBatchItem struct {
	UpstreamTaskId string                 `protobuf:"bytes,1,opt,name=upstream_task_id,json=upstreamTaskId,proto3" json:"upstream_task_id,omitempty"`
	Key            string                 `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`            // the resolved key ('return_value' when the request left it empty)
	Found          bool                   `protobuf:"varint,3,opt,name=found,proto3" json:"found,omitempty"`       // false when the value is absent or expired (FetchXCom's NotFound)
	Deferred       bool                   `protobuf:"varint,4,opt,name=deferred,proto3" json:"deferred,omitempty"` // true when the value did not fit the response size budget; fetch it with FetchXCom
	Value          []byte                 `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"`        // JSON-encoded payload, set only when found and not deferred
	ContentType    string                 `protobuf:"bytes,6,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
	SizeBytes      int32                  `protobuf:"varint,7,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"`
	CreatedAt      *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// contains filtered or unexported fields
}

func (*FetchXComBatchItem) Descriptor deprecated added in v0.5.1

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

Deprecated: Use FetchXComBatchItem.ProtoReflect.Descriptor instead.

func (*FetchXComBatchItem) GetContentType added in v0.5.1

func (x *FetchXComBatchItem) GetContentType() string

func (*FetchXComBatchItem) GetCreatedAt added in v0.5.1

func (x *FetchXComBatchItem) GetCreatedAt() *timestamppb.Timestamp

func (*FetchXComBatchItem) GetDeferred added in v0.5.1

func (x *FetchXComBatchItem) GetDeferred() bool

func (*FetchXComBatchItem) GetFound added in v0.5.1

func (x *FetchXComBatchItem) GetFound() bool

func (*FetchXComBatchItem) GetKey added in v0.5.1

func (x *FetchXComBatchItem) GetKey() string

func (*FetchXComBatchItem) GetSizeBytes added in v0.5.1

func (x *FetchXComBatchItem) GetSizeBytes() int32

func (*FetchXComBatchItem) GetUpstreamTaskId added in v0.5.1

func (x *FetchXComBatchItem) GetUpstreamTaskId() string

func (*FetchXComBatchItem) GetValue added in v0.5.1

func (x *FetchXComBatchItem) GetValue() []byte

func (*FetchXComBatchItem) ProtoMessage added in v0.5.1

func (*FetchXComBatchItem) ProtoMessage()

func (*FetchXComBatchItem) ProtoReflect added in v0.5.1

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

func (*FetchXComBatchItem) Reset added in v0.5.1

func (x *FetchXComBatchItem) Reset()

func (*FetchXComBatchItem) String added in v0.5.1

func (x *FetchXComBatchItem) String() string

type FetchXComBatchRequest added in v0.5.1

type FetchXComBatchRequest struct {
	Items []*FetchXComRequest `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` // at most 256 items
	// contains filtered or unexported fields
}

func (*FetchXComBatchRequest) Descriptor deprecated added in v0.5.1

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

Deprecated: Use FetchXComBatchRequest.ProtoReflect.Descriptor instead.

func (*FetchXComBatchRequest) GetItems added in v0.5.1

func (x *FetchXComBatchRequest) GetItems() []*FetchXComRequest

func (*FetchXComBatchRequest) ProtoMessage added in v0.5.1

func (*FetchXComBatchRequest) ProtoMessage()

func (*FetchXComBatchRequest) ProtoReflect added in v0.5.1

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

func (*FetchXComBatchRequest) Reset added in v0.5.1

func (x *FetchXComBatchRequest) Reset()

func (*FetchXComBatchRequest) String added in v0.5.1

func (x *FetchXComBatchRequest) String() string

type FetchXComBatchResponse added in v0.5.1

type FetchXComBatchResponse struct {
	Items []*FetchXComBatchItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` // one per request item, in request order
	// contains filtered or unexported fields
}

func (*FetchXComBatchResponse) Descriptor deprecated added in v0.5.1

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

Deprecated: Use FetchXComBatchResponse.ProtoReflect.Descriptor instead.

func (*FetchXComBatchResponse) GetItems added in v0.5.1

func (x *FetchXComBatchResponse) GetItems() []*FetchXComBatchItem

func (*FetchXComBatchResponse) ProtoMessage added in v0.5.1

func (*FetchXComBatchResponse) ProtoMessage()

func (*FetchXComBatchResponse) ProtoReflect added in v0.5.1

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

func (*FetchXComBatchResponse) Reset added in v0.5.1

func (x *FetchXComBatchResponse) Reset()

func (*FetchXComBatchResponse) String added in v0.5.1

func (x *FetchXComBatchResponse) String() string

type FetchXComRequest

type FetchXComRequest struct {
	UpstreamTaskId string `protobuf:"bytes,1,opt,name=upstream_task_id,json=upstreamTaskId,proto3" json:"upstream_task_id,omitempty"`
	Key            string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` // defaults to 'return_value'
	// contains filtered or unexported fields
}

func (*FetchXComRequest) Descriptor deprecated

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

Deprecated: Use FetchXComRequest.ProtoReflect.Descriptor instead.

func (*FetchXComRequest) GetKey

func (x *FetchXComRequest) GetKey() string

func (*FetchXComRequest) GetUpstreamTaskId

func (x *FetchXComRequest) GetUpstreamTaskId() string

func (*FetchXComRequest) ProtoMessage

func (*FetchXComRequest) ProtoMessage()

func (*FetchXComRequest) ProtoReflect

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

func (*FetchXComRequest) Reset

func (x *FetchXComRequest) Reset()

func (*FetchXComRequest) String

func (x *FetchXComRequest) String() string

type FetchXComResponse

type FetchXComResponse struct {
	Value       []byte                 `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`                                // JSON-encoded payload
	ContentType string                 `protobuf:"bytes,2,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` // 'application/json' by default
	SizeBytes   int32                  `protobuf:"varint,3,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"`
	CreatedAt   *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// contains filtered or unexported fields
}

func (*FetchXComResponse) Descriptor deprecated

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

Deprecated: Use FetchXComResponse.ProtoReflect.Descriptor instead.

func (*FetchXComResponse) GetContentType

func (x *FetchXComResponse) GetContentType() string

func (*FetchXComResponse) GetCreatedAt

func (x *FetchXComResponse) GetCreatedAt() *timestamppb.Timestamp

func (*FetchXComResponse) GetSizeBytes

func (x *FetchXComResponse) GetSizeBytes() int32

func (*FetchXComResponse) GetValue

func (x *FetchXComResponse) GetValue() []byte

func (*FetchXComResponse) ProtoMessage

func (*FetchXComResponse) ProtoMessage()

func (*FetchXComResponse) ProtoReflect

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

func (*FetchXComResponse) Reset

func (x *FetchXComResponse) Reset()

func (*FetchXComResponse) String

func (x *FetchXComResponse) String() string

type GetConnectionsRequest

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

func (*GetConnectionsRequest) Descriptor deprecated

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

Deprecated: Use GetConnectionsRequest.ProtoReflect.Descriptor instead.

func (*GetConnectionsRequest) ProtoMessage

func (*GetConnectionsRequest) ProtoMessage()

func (*GetConnectionsRequest) ProtoReflect

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

func (*GetConnectionsRequest) Reset

func (x *GetConnectionsRequest) Reset()

func (*GetConnectionsRequest) String

func (x *GetConnectionsRequest) String() string

type GetConnectionsResponse

type GetConnectionsResponse struct {

	// conn_id -> Airflow connection URI, exported as AIRFLOW_CONN_<CONN_ID>.
	ConnectionUris map[string]string `` /* 177-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*GetConnectionsResponse) Descriptor deprecated

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

Deprecated: Use GetConnectionsResponse.ProtoReflect.Descriptor instead.

func (*GetConnectionsResponse) GetConnectionUris

func (x *GetConnectionsResponse) GetConnectionUris() map[string]string

func (*GetConnectionsResponse) ProtoMessage

func (*GetConnectionsResponse) ProtoMessage()

func (*GetConnectionsResponse) ProtoReflect

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

func (*GetConnectionsResponse) Reset

func (x *GetConnectionsResponse) Reset()

func (*GetConnectionsResponse) String

func (x *GetConnectionsResponse) String() string

type GetTaskSpecRequest

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

func (*GetTaskSpecRequest) Descriptor deprecated

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

Deprecated: Use GetTaskSpecRequest.ProtoReflect.Descriptor instead.

func (*GetTaskSpecRequest) ProtoMessage

func (*GetTaskSpecRequest) ProtoMessage()

func (*GetTaskSpecRequest) ProtoReflect

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

func (*GetTaskSpecRequest) Reset

func (x *GetTaskSpecRequest) Reset()

func (*GetTaskSpecRequest) String

func (x *GetTaskSpecRequest) String() string

type GetVariablesRequest

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

GetVariablesRequest is empty; the calling task instance is identified by its agent token in metadata (the tenant is derived from it).

func (*GetVariablesRequest) Descriptor deprecated

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

Deprecated: Use GetVariablesRequest.ProtoReflect.Descriptor instead.

func (*GetVariablesRequest) ProtoMessage

func (*GetVariablesRequest) ProtoMessage()

func (*GetVariablesRequest) ProtoReflect

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

func (*GetVariablesRequest) Reset

func (x *GetVariablesRequest) Reset()

func (*GetVariablesRequest) String

func (x *GetVariablesRequest) String() string

type GetVariablesResponse

type GetVariablesResponse struct {

	// key -> value, exported by the agent as AIRFLOW_VAR_<KEY>.
	Variables map[string]string `` /* 145-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*GetVariablesResponse) Descriptor deprecated

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

Deprecated: Use GetVariablesResponse.ProtoReflect.Descriptor instead.

func (*GetVariablesResponse) GetVariables

func (x *GetVariablesResponse) GetVariables() map[string]string

func (*GetVariablesResponse) ProtoMessage

func (*GetVariablesResponse) ProtoMessage()

func (*GetVariablesResponse) ProtoReflect

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

func (*GetVariablesResponse) Reset

func (x *GetVariablesResponse) Reset()

func (*GetVariablesResponse) String

func (x *GetVariablesResponse) String() string

type HeartbeatRequest

type HeartbeatRequest struct {
	SentAt        *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=sent_at,json=sentAt,proto3" json:"sent_at,omitempty"`
	CustomMetrics map[string]float64     `` // optional task-reported metrics
	/* 176-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*HeartbeatRequest) Descriptor deprecated

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

Deprecated: Use HeartbeatRequest.ProtoReflect.Descriptor instead.

func (*HeartbeatRequest) GetCustomMetrics

func (x *HeartbeatRequest) GetCustomMetrics() map[string]float64

func (*HeartbeatRequest) GetSentAt

func (x *HeartbeatRequest) GetSentAt() *timestamppb.Timestamp

func (*HeartbeatRequest) ProtoMessage

func (*HeartbeatRequest) ProtoMessage()

func (*HeartbeatRequest) ProtoReflect

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

func (*HeartbeatRequest) Reset

func (x *HeartbeatRequest) Reset()

func (*HeartbeatRequest) String

func (x *HeartbeatRequest) String() string

type HeartbeatResponse

type HeartbeatResponse struct {
	ShouldTerminate bool                   `protobuf:"varint,1,opt,name=should_terminate,json=shouldTerminate,proto3" json:"should_terminate,omitempty"`
	ServerTime      *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=server_time,json=serverTime,proto3" json:"server_time,omitempty"`
	// A freshly minted, task-scoped agent token the control plane issues when the
	// heartbeat proves the attempt is still live (ADR 0055 Fix #4). When non-empty
	// the agent atomically swaps its bearer to this value, so a long task keeps a
	// working credential while the short per-attempt TTL bounds a stolen/finished
	// one. Empty means "keep the current token" (no renewal this beat, or the
	// attempt is superseded/past its lifetime ceiling). Never logged.
	RenewedToken string `protobuf:"bytes,3,opt,name=renewed_token,json=renewedToken,proto3" json:"renewed_token,omitempty"`
	// contains filtered or unexported fields
}

func (*HeartbeatResponse) Descriptor deprecated

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

Deprecated: Use HeartbeatResponse.ProtoReflect.Descriptor instead.

func (*HeartbeatResponse) GetRenewedToken

func (x *HeartbeatResponse) GetRenewedToken() string

func (*HeartbeatResponse) GetServerTime

func (x *HeartbeatResponse) GetServerTime() *timestamppb.Timestamp

func (*HeartbeatResponse) GetShouldTerminate

func (x *HeartbeatResponse) GetShouldTerminate() bool

func (*HeartbeatResponse) ProtoMessage

func (*HeartbeatResponse) ProtoMessage()

func (*HeartbeatResponse) ProtoReflect

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

func (*HeartbeatResponse) Reset

func (x *HeartbeatResponse) Reset()

func (*HeartbeatResponse) String

func (x *HeartbeatResponse) String() string

type LogAck

type LogAck struct {
	AcknowledgedThroughLine int64 `` /* 133-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*LogAck) Descriptor deprecated

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

Deprecated: Use LogAck.ProtoReflect.Descriptor instead.

func (*LogAck) GetAcknowledgedThroughLine

func (x *LogAck) GetAcknowledgedThroughLine() int64

func (*LogAck) ProtoMessage

func (*LogAck) ProtoMessage()

func (*LogAck) ProtoReflect

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

func (*LogAck) Reset

func (x *LogAck) Reset()

func (*LogAck) String

func (x *LogAck) String() string

type LogLevel

type LogLevel int32
const (
	LogLevel_LOG_LEVEL_UNSPECIFIED LogLevel = 0
	LogLevel_LOG_LEVEL_DEBUG       LogLevel = 1
	LogLevel_LOG_LEVEL_INFO        LogLevel = 2
	LogLevel_LOG_LEVEL_WARN        LogLevel = 3
	LogLevel_LOG_LEVEL_ERROR       LogLevel = 4
)

func (LogLevel) Descriptor

func (LogLevel) Descriptor() protoreflect.EnumDescriptor

func (LogLevel) Enum

func (x LogLevel) Enum() *LogLevel

func (LogLevel) EnumDescriptor deprecated

func (LogLevel) EnumDescriptor() ([]byte, []int)

Deprecated: Use LogLevel.Descriptor instead.

func (LogLevel) Number

func (x LogLevel) Number() protoreflect.EnumNumber

func (LogLevel) String

func (x LogLevel) String() string

func (LogLevel) Type

type LogLine

type LogLine struct {
	Time       *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
	Level      LogLevel               `protobuf:"varint,2,opt,name=level,proto3,enum=leoflow.agent.v1.LogLevel" json:"level,omitempty"`
	Message    string                 `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
	Stream     string                 `protobuf:"bytes,4,opt,name=stream,proto3" json:"stream,omitempty"` // 'stdout' or 'stderr'
	LineNumber int64                  `protobuf:"varint,5,opt,name=line_number,json=lineNumber,proto3" json:"line_number,omitempty"`
	// contains filtered or unexported fields
}

func (*LogLine) Descriptor deprecated

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

Deprecated: Use LogLine.ProtoReflect.Descriptor instead.

func (*LogLine) GetLevel

func (x *LogLine) GetLevel() LogLevel

func (*LogLine) GetLineNumber

func (x *LogLine) GetLineNumber() int64

func (*LogLine) GetMessage

func (x *LogLine) GetMessage() string

func (*LogLine) GetStream

func (x *LogLine) GetStream() string

func (*LogLine) GetTime

func (x *LogLine) GetTime() *timestamppb.Timestamp

func (*LogLine) ProtoMessage

func (*LogLine) ProtoMessage()

func (*LogLine) ProtoReflect

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

func (*LogLine) Reset

func (x *LogLine) Reset()

func (*LogLine) String

func (x *LogLine) String() string

type PushXComRequest

type PushXComRequest struct {
	Key         string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`     // defaults to 'return_value'
	Value       []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // JSON-encoded payload, max 256KB
	ContentType string `protobuf:"bytes,3,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
	// contains filtered or unexported fields
}

func (*PushXComRequest) Descriptor deprecated

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

Deprecated: Use PushXComRequest.ProtoReflect.Descriptor instead.

func (*PushXComRequest) GetContentType

func (x *PushXComRequest) GetContentType() string

func (*PushXComRequest) GetKey

func (x *PushXComRequest) GetKey() string

func (*PushXComRequest) GetValue

func (x *PushXComRequest) GetValue() []byte

func (*PushXComRequest) ProtoMessage

func (*PushXComRequest) ProtoMessage()

func (*PushXComRequest) ProtoReflect

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

func (*PushXComRequest) Reset

func (x *PushXComRequest) Reset()

func (*PushXComRequest) String

func (x *PushXComRequest) String() string

type PushXComResponse

type PushXComResponse struct {
	Accepted        bool   `protobuf:"varint,1,opt,name=accepted,proto3" json:"accepted,omitempty"`
	RejectionReason string `protobuf:"bytes,2,opt,name=rejection_reason,json=rejectionReason,proto3" json:"rejection_reason,omitempty"` // empty if accepted
	TtlSeconds      int32  `protobuf:"varint,3,opt,name=ttl_seconds,json=ttlSeconds,proto3" json:"ttl_seconds,omitempty"`               // server-set TTL
	// contains filtered or unexported fields
}

func (*PushXComResponse) Descriptor deprecated

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

Deprecated: Use PushXComResponse.ProtoReflect.Descriptor instead.

func (*PushXComResponse) GetAccepted

func (x *PushXComResponse) GetAccepted() bool

func (*PushXComResponse) GetRejectionReason

func (x *PushXComResponse) GetRejectionReason() string

func (*PushXComResponse) GetTtlSeconds

func (x *PushXComResponse) GetTtlSeconds() int32

func (*PushXComResponse) ProtoMessage

func (*PushXComResponse) ProtoMessage()

func (*PushXComResponse) ProtoReflect

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

func (*PushXComResponse) Reset

func (x *PushXComResponse) Reset()

func (*PushXComResponse) String

func (x *PushXComResponse) String() string

type RegisterRequest

type RegisterRequest struct {
	AgentVersion string            `protobuf:"bytes,1,opt,name=agent_version,json=agentVersion,proto3" json:"agent_version,omitempty"`
	Hostname     string            `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"`
	Environment  map[string]string `` // selected env vars for diagnostics
	/* 149-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*RegisterRequest) Descriptor deprecated

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

Deprecated: Use RegisterRequest.ProtoReflect.Descriptor instead.

func (*RegisterRequest) GetAgentVersion

func (x *RegisterRequest) GetAgentVersion() string

func (*RegisterRequest) GetEnvironment

func (x *RegisterRequest) GetEnvironment() map[string]string

func (*RegisterRequest) GetHostname

func (x *RegisterRequest) GetHostname() string

func (*RegisterRequest) ProtoMessage

func (*RegisterRequest) ProtoMessage()

func (*RegisterRequest) ProtoReflect

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

func (*RegisterRequest) Reset

func (x *RegisterRequest) Reset()

func (*RegisterRequest) String

func (x *RegisterRequest) String() string

type RegisterResponse

type RegisterResponse struct {

	// Server-assigned correlation token for subsequent calls.
	SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	// Server clock for skew detection.
	ServerTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=server_time,json=serverTime,proto3" json:"server_time,omitempty"`
	// contains filtered or unexported fields
}

func (*RegisterResponse) Descriptor deprecated

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

Deprecated: Use RegisterResponse.ProtoReflect.Descriptor instead.

func (*RegisterResponse) GetServerTime

func (x *RegisterResponse) GetServerTime() *timestamppb.Timestamp

func (*RegisterResponse) GetSessionId

func (x *RegisterResponse) GetSessionId() string

func (*RegisterResponse) ProtoMessage

func (*RegisterResponse) ProtoMessage()

func (*RegisterResponse) ProtoReflect

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

func (*RegisterResponse) Reset

func (x *RegisterResponse) Reset()

func (*RegisterResponse) String

func (x *RegisterResponse) String() string

type ReportStateRequest

type ReportStateRequest struct {
	State        TaskState              `protobuf:"varint,1,opt,name=state,proto3,enum=leoflow.agent.v1.TaskState" json:"state,omitempty"`
	ExitCode     int32                  `protobuf:"varint,2,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`            // for terminal states
	ErrorMessage string                 `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` // for failed state
	OccurredAt   *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"`
	// For TASK_STATE_UP_FOR_RESCHEDULE: the earliest time the scheduler may
	// re-dispatch this task instance (a reschedule-mode sensor poked not-ready).
	RescheduleAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=reschedule_at,json=rescheduleAt,proto3" json:"reschedule_at,omitempty"`
	// contains filtered or unexported fields
}

func (*ReportStateRequest) Descriptor deprecated

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

Deprecated: Use ReportStateRequest.ProtoReflect.Descriptor instead.

func (*ReportStateRequest) GetErrorMessage

func (x *ReportStateRequest) GetErrorMessage() string

func (*ReportStateRequest) GetExitCode

func (x *ReportStateRequest) GetExitCode() int32

func (*ReportStateRequest) GetOccurredAt

func (x *ReportStateRequest) GetOccurredAt() *timestamppb.Timestamp

func (*ReportStateRequest) GetRescheduleAt

func (x *ReportStateRequest) GetRescheduleAt() *timestamppb.Timestamp

func (*ReportStateRequest) GetState

func (x *ReportStateRequest) GetState() TaskState

func (*ReportStateRequest) ProtoMessage

func (*ReportStateRequest) ProtoMessage()

func (*ReportStateRequest) ProtoReflect

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

func (*ReportStateRequest) Reset

func (x *ReportStateRequest) Reset()

func (*ReportStateRequest) String

func (x *ReportStateRequest) String() string

type ReportStateResponse

type ReportStateResponse struct {
	Acknowledged bool `protobuf:"varint,1,opt,name=acknowledged,proto3" json:"acknowledged,omitempty"`
	// If the Control Plane wants the task to stop (cancellation), it signals here.
	ShouldTerminate bool `protobuf:"varint,2,opt,name=should_terminate,json=shouldTerminate,proto3" json:"should_terminate,omitempty"`
	// contains filtered or unexported fields
}

func (*ReportStateResponse) Descriptor deprecated

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

Deprecated: Use ReportStateResponse.ProtoReflect.Descriptor instead.

func (*ReportStateResponse) GetAcknowledged

func (x *ReportStateResponse) GetAcknowledged() bool

func (*ReportStateResponse) GetShouldTerminate

func (x *ReportStateResponse) GetShouldTerminate() bool

func (*ReportStateResponse) ProtoMessage

func (*ReportStateResponse) ProtoMessage()

func (*ReportStateResponse) ProtoReflect

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

func (*ReportStateResponse) Reset

func (x *ReportStateResponse) Reset()

func (*ReportStateResponse) String

func (x *ReportStateResponse) String() string

type SlotFree

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

SlotFree signals that the worker freed an execution slot. Reserved for the placement layer (N1b1-place); the transport carries it now and the registry records it.

func (*SlotFree) Descriptor deprecated

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

Deprecated: Use SlotFree.ProtoReflect.Descriptor instead.

func (*SlotFree) ProtoMessage

func (*SlotFree) ProtoMessage()

func (*SlotFree) ProtoReflect

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

func (*SlotFree) Reset

func (x *SlotFree) Reset()

func (*SlotFree) String

func (x *SlotFree) String() string

type TaskSpec

type TaskSpec struct {
	TenantId         string                    `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
	DagId            string                    `protobuf:"bytes,2,opt,name=dag_id,json=dagId,proto3" json:"dag_id,omitempty"`
	DagVersion       string                    `protobuf:"bytes,3,opt,name=dag_version,json=dagVersion,proto3" json:"dag_version,omitempty"`
	RunId            string                    `protobuf:"bytes,4,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	TaskId           string                    `protobuf:"bytes,5,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	TryNumber        int32                     `protobuf:"varint,6,opt,name=try_number,json=tryNumber,proto3" json:"try_number,omitempty"`
	Operator         string                    `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator,omitempty"` // 'python', 'bash', 'airflow_operator'
	Entrypoint       string                    `protobuf:"bytes,8,opt,name=entrypoint,proto3" json:"entrypoint,omitempty"`
	Environment      map[string]string         `` /* 149-byte string literal not displayed */
	XcomInputMapping map[string]*XComUpstreams `` // param_name -> ordered list of upstream task_ids (1 = single, N = fan-in)
	/* 186-byte string literal not displayed */
	ExecutionTimeoutSeconds int32            ``                                                                                                                        /* 134-byte string literal not displayed */
	Extra                   *structpb.Struct `protobuf:"bytes,12,opt,name=extra,proto3" json:"extra,omitempty"`                                                        // operator-specific fields
	CallArgsJson            string           `protobuf:"bytes,13,opt,name=call_args_json,json=callArgsJson,proto3" json:"call_args_json,omitempty"`                    // TaskFlow literal call args, JSON-encoded (#115). Named call_args to leave 'params' free for Airflow's DAG-run params (#148).
	OperatorClass           string           `protobuf:"bytes,14,opt,name=operator_class,json=operatorClass,proto3" json:"operator_class,omitempty"`                   // For operator='airflow_operator': the dotted provider operator/sensor class the runtime imports and executes (ADR 0040).
	OperatorArgsJson        string           `protobuf:"bytes,15,opt,name=operator_args_json,json=operatorArgsJson,proto3" json:"operator_args_json,omitempty"`        // For operator='airflow_operator': the operator's constructor kwargs, JSON-encoded. Delivered to the runtime as LEOFLOW_OPERATOR_ARGS.
	LogicalDate             string           `protobuf:"bytes,16,opt,name=logical_date,json=logicalDate,proto3" json:"logical_date,omitempty"`                         // The DagRun's logical date, RFC3339. The agent derives the runtime's LEOFLOW_TS (this value) and LEOFLOW_DS (the date) so the standalone operator context has a real ds/ts (ADR 0040). Empty leaves them unset.
	DependsOn               []string         `protobuf:"bytes,17,rep,name=depends_on,json=dependsOn,proto3" json:"depends_on,omitempty"`                               // The task's upstream task_ids. The agent fetches each one's return_value and delivers them as the LEOFLOW_XCOM_BY_TASK map so a captured operator's ti.xcom_pull(<id>) resolves it (chained operators, ADR 0040).
	DataIntervalStart       string           `protobuf:"bytes,18,opt,name=data_interval_start,json=dataIntervalStart,proto3" json:"data_interval_start,omitempty"`     // The DagRun's data interval start, RFC3339. The agent stamps LEOFLOW_DATA_INTERVAL_START so the standalone operator context exposes data_interval_start (ADR 0040). Empty leaves it unset.
	DataIntervalEnd         string           `protobuf:"bytes,19,opt,name=data_interval_end,json=dataIntervalEnd,proto3" json:"data_interval_end,omitempty"`           // The DagRun's data interval end, RFC3339. Stamped as LEOFLOW_DATA_INTERVAL_END -> context data_interval_end. Empty leaves it unset.
	ParamsJson              string           `protobuf:"bytes,20,opt,name=params_json,json=paramsJson,proto3" json:"params_json,omitempty"`                            // The DagRun's params/conf, JSON-encoded (#148). Stamped as LEOFLOW_PARAMS so the standalone operator context exposes context['params'] / {{ params.X }}. Empty leaves params={}.
	FirstRescheduleAt       string           `protobuf:"bytes,21,opt,name=first_reschedule_at,json=firstRescheduleAt,proto3" json:"first_reschedule_at,omitempty"`     // For a reschedule-mode sensor re-dispatched after poking not-ready (#380): the time it FIRST entered reschedule, RFC3339. Stamped as LEOFLOW_FIRST_RESCHEDULE_AT so get_first_reschedule_date returns the real value and the sensor honors its cumulative timeout. Empty on the first attempt.
	MaxTries                int32            `protobuf:"varint,22,opt,name=max_tries,json=maxTries,proto3" json:"max_tries,omitempty"`                                 // The task's total attempt budget (retries + 1). The agent stamps LEOFLOW_MAX_TRIES so the runtime fires on_failure_callback only on the terminal attempt (try_number == max_tries), never on an intermediate retry (#424).
	OnFailureCallback       bool             `protobuf:"varint,23,opt,name=on_failure_callback,json=onFailureCallback,proto3" json:"on_failure_callback,omitempty"`    // The task declares an Airflow on_failure_callback (#424). The agent stamps LEOFLOW_ON_FAILURE_CALLBACK=1 so the runtime re-imports dag.py and runs it in-process on the task's final failure. The callable itself is not carried.
	DeclaredVariables       []string         `protobuf:"bytes,24,rep,name=declared_variables,json=declaredVariables,proto3" json:"declared_variables,omitempty"`       // The variable names this task declared (dexaflow.yaml). The agent asks a pod-side external secret resolver only for declared names, so declaration stays the scope authority for externally-sourced secrets too (ADR 0060 / ADR 0055).
	DeclaredConnections     []string         `protobuf:"bytes,25,rep,name=declared_connections,json=declaredConnections,proto3" json:"declared_connections,omitempty"` // The connection ids this task declared (dexaflow.yaml). Same role as declared_variables for connections.
	AttemptEpoch            int64            `protobuf:"varint,26,opt,name=attempt_epoch,json=attemptEpoch,proto3" json:"attempt_epoch,omitempty"`                     // Which execution of this try the agent is (ADR 0051 amendment), read from its verified token; 0 for a token minted before the epoch existed. Informational for the agent: the control plane fences on the token, never on this field.
	RunConfJson             string           `protobuf:"bytes,27,opt,name=run_conf_json,json=runConfJson,proto3" json:"run_conf_json,omitempty"`                       // The DagRun's conf alone, JSON-encoded ("{}" for a run without one), not layered with param defaults as params_json is (#1843). Stamped as LEOFLOW_RUN_CONF -> context dag_run.conf. Empty from a control plane that predates the field; the runtime then reports dag_run.conf as not provided.
	RunType                 string           `protobuf:"bytes,28,opt,name=run_type,json=runType,proto3" json:"run_type,omitempty"`                                     // The DagRun's type in the Task SDK's DagRunType vocabulary (manual, scheduled, backfill, asset_triggered) (#1843). Stamped as LEOFLOW_RUN_TYPE -> context dag_run.run_type. Empty leaves it unset.
	// contains filtered or unexported fields
}

func (*TaskSpec) Descriptor deprecated

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

Deprecated: Use TaskSpec.ProtoReflect.Descriptor instead.

func (*TaskSpec) GetAttemptEpoch added in v0.5.1

func (x *TaskSpec) GetAttemptEpoch() int64

func (*TaskSpec) GetCallArgsJson

func (x *TaskSpec) GetCallArgsJson() string

func (*TaskSpec) GetDagId

func (x *TaskSpec) GetDagId() string

func (*TaskSpec) GetDagVersion

func (x *TaskSpec) GetDagVersion() string

func (*TaskSpec) GetDataIntervalEnd

func (x *TaskSpec) GetDataIntervalEnd() string

func (*TaskSpec) GetDataIntervalStart

func (x *TaskSpec) GetDataIntervalStart() string

func (*TaskSpec) GetDeclaredConnections

func (x *TaskSpec) GetDeclaredConnections() []string

func (*TaskSpec) GetDeclaredVariables

func (x *TaskSpec) GetDeclaredVariables() []string

func (*TaskSpec) GetDependsOn

func (x *TaskSpec) GetDependsOn() []string

func (*TaskSpec) GetEntrypoint

func (x *TaskSpec) GetEntrypoint() string

func (*TaskSpec) GetEnvironment

func (x *TaskSpec) GetEnvironment() map[string]string

func (*TaskSpec) GetExecutionTimeoutSeconds

func (x *TaskSpec) GetExecutionTimeoutSeconds() int32

func (*TaskSpec) GetExtra

func (x *TaskSpec) GetExtra() *structpb.Struct

func (*TaskSpec) GetFirstRescheduleAt

func (x *TaskSpec) GetFirstRescheduleAt() string

func (*TaskSpec) GetLogicalDate

func (x *TaskSpec) GetLogicalDate() string

func (*TaskSpec) GetMaxTries

func (x *TaskSpec) GetMaxTries() int32

func (*TaskSpec) GetOnFailureCallback

func (x *TaskSpec) GetOnFailureCallback() bool

func (*TaskSpec) GetOperator

func (x *TaskSpec) GetOperator() string

func (*TaskSpec) GetOperatorArgsJson

func (x *TaskSpec) GetOperatorArgsJson() string

func (*TaskSpec) GetOperatorClass

func (x *TaskSpec) GetOperatorClass() string

func (*TaskSpec) GetParamsJson

func (x *TaskSpec) GetParamsJson() string

func (*TaskSpec) GetRunConfJson added in v0.5.5

func (x *TaskSpec) GetRunConfJson() string

func (*TaskSpec) GetRunId

func (x *TaskSpec) GetRunId() string

func (*TaskSpec) GetRunType added in v0.5.5

func (x *TaskSpec) GetRunType() string

func (*TaskSpec) GetTaskId

func (x *TaskSpec) GetTaskId() string

func (*TaskSpec) GetTenantId

func (x *TaskSpec) GetTenantId() string

func (*TaskSpec) GetTryNumber

func (x *TaskSpec) GetTryNumber() int32

func (*TaskSpec) GetXcomInputMapping

func (x *TaskSpec) GetXcomInputMapping() map[string]*XComUpstreams

func (*TaskSpec) ProtoMessage

func (*TaskSpec) ProtoMessage()

func (*TaskSpec) ProtoReflect

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

func (*TaskSpec) Reset

func (x *TaskSpec) Reset()

func (*TaskSpec) String

func (x *TaskSpec) String() string

type TaskState

type TaskState int32
const (
	TaskState_TASK_STATE_UNSPECIFIED TaskState = 0
	TaskState_TASK_STATE_RUNNING     TaskState = 1
	TaskState_TASK_STATE_SUCCESS     TaskState = 2
	TaskState_TASK_STATE_FAILED      TaskState = 3
	TaskState_TASK_STATE_SKIPPED     TaskState = 4
	// A reschedule-mode sensor released its pod; re-dispatch at reschedule_at,
	// without consuming retry budget (ADR 0040 Phase B, #380). Distinct from
	// FAILED so the scheduler reschedules rather than failing/retrying the task.
	TaskState_TASK_STATE_UP_FOR_RESCHEDULE TaskState = 5
)

func (TaskState) Descriptor

func (TaskState) Descriptor() protoreflect.EnumDescriptor

func (TaskState) Enum

func (x TaskState) Enum() *TaskState

func (TaskState) EnumDescriptor deprecated

func (TaskState) EnumDescriptor() ([]byte, []int)

Deprecated: Use TaskState.Descriptor instead.

func (TaskState) Number

func (x TaskState) Number() protoreflect.EnumNumber

func (TaskState) String

func (x TaskState) String() string

func (TaskState) Type

type UnimplementedAgentServiceServer

type UnimplementedAgentServiceServer struct{}

UnimplementedAgentServiceServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedAgentServiceServer) AwaitAssignment

func (UnimplementedAgentServiceServer) ExchangeToken

func (UnimplementedAgentServiceServer) FetchXCom

func (UnimplementedAgentServiceServer) FetchXComBatch added in v0.5.1

func (UnimplementedAgentServiceServer) GetConnections

func (UnimplementedAgentServiceServer) GetTaskSpec

func (UnimplementedAgentServiceServer) GetVariables

func (UnimplementedAgentServiceServer) Heartbeat

func (UnimplementedAgentServiceServer) PushXCom

func (UnimplementedAgentServiceServer) Register

func (UnimplementedAgentServiceServer) ReportState

func (UnimplementedAgentServiceServer) StreamLogs

type UnsafeAgentServiceServer

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

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

type WorkAssignment

type WorkAssignment struct {
	AssignmentId string `protobuf:"bytes,1,opt,name=assignment_id,json=assignmentId,proto3" json:"assignment_id,omitempty"` // control-plane-generated correlation id for this hand-off
	AttemptToken string `protobuf:"bytes,2,opt,name=attempt_token,json=attemptToken,proto3" json:"attempt_token,omitempty"` // per-attempt agent JWT the worker adopts for this attempt; NEVER logged
	DagRunId     string `protobuf:"bytes,3,opt,name=dag_run_id,json=dagRunId,proto3" json:"dag_run_id,omitempty"`
	TaskId       string `protobuf:"bytes,4,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	TryNumber    int32  `protobuf:"varint,5,opt,name=try_number,json=tryNumber,proto3" json:"try_number,omitempty"`
	DagVersionId string `protobuf:"bytes,6,opt,name=dag_version_id,json=dagVersionId,proto3" json:"dag_version_id,omitempty"` // the pool identity this assignment belongs to
	LeaseSeconds int64  `protobuf:"varint,7,opt,name=lease_seconds,json=leaseSeconds,proto3" json:"lease_seconds,omitempty"`  // ack deadline: unacked within it => the attempt is reclaimed
	AttemptEpoch int64  `protobuf:"varint,8,opt,name=attempt_epoch,json=attemptEpoch,proto3" json:"attempt_epoch,omitempty"`  // the execution of try_number this assignment is (ADR 0051 amendment); also carried in attempt_token, which is what the control plane fences on
	// dag_source is the version's dag.py when the version runs in source mode
	// (ADR 0067 §3, ADR 0095), empty otherwise. The worker writes it as dag.py
	// into a per-attempt directory and runs the attempt from there, as a
	// dedicated source-mode pod runs from its projected dag.py. Only a worker
	// that registered with source_delivery is sent one. At most
	// MaxSourceModeBytes (128 KiB), the cap register and dispatch apply.
	DagSource []byte `protobuf:"bytes,9,opt,name=dag_source,json=dagSource,proto3" json:"dag_source,omitempty"`
	// dag_source_sha256 is the lowercase hex SHA-256 of dag_source, set with
	// it. The worker refuses the assignment when the text it received does not
	// match.
	DagSourceSha256 string `protobuf:"bytes,10,opt,name=dag_source_sha256,json=dagSourceSha256,proto3" json:"dag_source_sha256,omitempty"`
	// contains filtered or unexported fields
}

WorkAssignment is one unit of per-attempt work the control plane hands to a warm worker over AwaitAssignment (ADR 0058 N1b). The control plane mints the attempt_token and generates assignment_id; the worker replies with an AssignmentAck referencing assignment_id.

func (*WorkAssignment) Descriptor deprecated

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

Deprecated: Use WorkAssignment.ProtoReflect.Descriptor instead.

func (*WorkAssignment) GetAssignmentId

func (x *WorkAssignment) GetAssignmentId() string

func (*WorkAssignment) GetAttemptEpoch added in v0.5.1

func (x *WorkAssignment) GetAttemptEpoch() int64

func (*WorkAssignment) GetAttemptToken

func (x *WorkAssignment) GetAttemptToken() string

func (*WorkAssignment) GetDagRunId

func (x *WorkAssignment) GetDagRunId() string

func (*WorkAssignment) GetDagSource added in v0.5.7

func (x *WorkAssignment) GetDagSource() []byte

func (*WorkAssignment) GetDagSourceSha256 added in v0.5.7

func (x *WorkAssignment) GetDagSourceSha256() string

func (*WorkAssignment) GetDagVersionId

func (x *WorkAssignment) GetDagVersionId() string

func (*WorkAssignment) GetLeaseSeconds

func (x *WorkAssignment) GetLeaseSeconds() int64

func (*WorkAssignment) GetTaskId

func (x *WorkAssignment) GetTaskId() string

func (*WorkAssignment) GetTryNumber

func (x *WorkAssignment) GetTryNumber() int32

func (*WorkAssignment) ProtoMessage

func (*WorkAssignment) ProtoMessage()

func (*WorkAssignment) ProtoReflect

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

func (*WorkAssignment) Reset

func (x *WorkAssignment) Reset()

func (*WorkAssignment) String

func (x *WorkAssignment) String() string

type WorkerMessage

type WorkerMessage struct {

	// Types that are valid to be assigned to Msg:
	//
	//	*WorkerMessage_Register
	//	*WorkerMessage_Ack
	//	*WorkerMessage_SlotFree
	Msg isWorkerMessage_Msg `protobuf_oneof:"msg"`
	// contains filtered or unexported fields
}

WorkerMessage is everything a warm worker sends UP the AwaitAssignment stream: its one initial registration, then per-assignment acks and slot-free signals.

func (*WorkerMessage) Descriptor deprecated

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

Deprecated: Use WorkerMessage.ProtoReflect.Descriptor instead.

func (*WorkerMessage) GetAck

func (x *WorkerMessage) GetAck() *AssignmentAck

func (*WorkerMessage) GetMsg

func (x *WorkerMessage) GetMsg() isWorkerMessage_Msg

func (*WorkerMessage) GetRegister

func (x *WorkerMessage) GetRegister() *WorkerRegister

func (*WorkerMessage) GetSlotFree

func (x *WorkerMessage) GetSlotFree() *SlotFree

func (*WorkerMessage) ProtoMessage

func (*WorkerMessage) ProtoMessage()

func (*WorkerMessage) ProtoReflect

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

func (*WorkerMessage) Reset

func (x *WorkerMessage) Reset()

func (*WorkerMessage) String

func (x *WorkerMessage) String() string

type WorkerMessage_Ack

type WorkerMessage_Ack struct {
	Ack *AssignmentAck `protobuf:"bytes,2,opt,name=ack,proto3,oneof"`
}

type WorkerMessage_Register

type WorkerMessage_Register struct {
	Register *WorkerRegister `protobuf:"bytes,1,opt,name=register,proto3,oneof"`
}

type WorkerMessage_SlotFree

type WorkerMessage_SlotFree struct {
	SlotFree *SlotFree `protobuf:"bytes,3,opt,name=slot_free,json=slotFree,proto3,oneof"`
}

type WorkerRegister

type WorkerRegister struct {
	DagVersionId string `protobuf:"bytes,1,opt,name=dag_version_id,json=dagVersionId,proto3" json:"dag_version_id,omitempty"`
	// pod_name is the worker's OWN Kubernetes pod name, delivered to the
	// container via the downward API (LEOFLOW_POD_NAME). It is the durable key
	// the control plane binds a started attempt to (warm_worker_id on the running
	// TI) so a later reaper can match bound attempts against the live warm-pod set
	// ListWarmPods returns, even after a leader failover. Unlike an identity, it
	// is a locator, not a credential: the worker's authenticated identity still
	// comes from its bearer token on the stream context, never from this field.
	PodName string `protobuf:"bytes,2,opt,name=pod_name,json=podName,proto3" json:"pod_name,omitempty"`
	// attempt_home_sweep confirms that this worker runs with a per-attempt HOME
	// and empties /tmp and /dev/shm before and after every attempt (the
	// read-only-root isolation mode, LEOFLOW_WARM_ATTEMPT_HOME=1). A worker
	// built on an older runtime never sets it. With
	// execution.warm_read_only_root_filesystem on, the control plane logs and
	// meters a registration that does not confirm the sweep, and refuses it
	// when execution.warm_require_attempt_home_sweep is on too, so attempts run
	// on dedicated pods instead of on a worker that would leak those paths.
	AttemptHomeSweep bool `protobuf:"varint,3,opt,name=attempt_home_sweep,json=attemptHomeSweep,proto3" json:"attempt_home_sweep,omitempty"`
	// source_delivery confirms that this worker writes a WorkAssignment's
	// dag_source as dag.py and runs the attempt from it (ADR 0095). A worker
	// built on an older runtime never sets it, and the control plane never
	// places a source-mode attempt on such a worker: the attempt takes a
	// dedicated pod instead.
	SourceDelivery bool `protobuf:"varint,4,opt,name=source_delivery,json=sourceDelivery,proto3" json:"source_delivery,omitempty"`
	// contains filtered or unexported fields
}

WorkerRegister is the mandatory first WorkerMessage. dag_version_id names which pool the worker serves. The worker's IDENTITY (registry key) is taken from its authenticated pod/bootstrap credential on the stream context, NOT from this payload — a worker must not be able to claim an arbitrary identity here.

func (*WorkerRegister) Descriptor deprecated

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

Deprecated: Use WorkerRegister.ProtoReflect.Descriptor instead.

func (*WorkerRegister) GetAttemptHomeSweep added in v0.5.5

func (x *WorkerRegister) GetAttemptHomeSweep() bool

func (*WorkerRegister) GetDagVersionId

func (x *WorkerRegister) GetDagVersionId() string

func (*WorkerRegister) GetPodName

func (x *WorkerRegister) GetPodName() string

func (*WorkerRegister) GetSourceDelivery added in v0.5.7

func (x *WorkerRegister) GetSourceDelivery() bool

func (*WorkerRegister) ProtoMessage

func (*WorkerRegister) ProtoMessage()

func (*WorkerRegister) ProtoReflect

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

func (*WorkerRegister) Reset

func (x *WorkerRegister) Reset()

func (*WorkerRegister) String

func (x *WorkerRegister) String() string

type XComUpstreams

type XComUpstreams struct {
	TaskIds []string `protobuf:"bytes,1,rep,name=task_ids,json=taskIds,proto3" json:"task_ids,omitempty"`
	// contains filtered or unexported fields
}

XComUpstreams is the list of upstream task_ids whose return_values feed one parameter. A single upstream is `task_ids: ["extract"]`; fan-in (binding a list of upstreams to a parameter) is `task_ids: ["a", "b", "c"]`. The runtime receives a JSON array when len > 1, and a single value when len == 1 — so a fan-in parameter is delivered as a list, a normal parameter as the value.

func (*XComUpstreams) Descriptor deprecated

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

Deprecated: Use XComUpstreams.ProtoReflect.Descriptor instead.

func (*XComUpstreams) GetTaskIds

func (x *XComUpstreams) GetTaskIds() []string

func (*XComUpstreams) ProtoMessage

func (*XComUpstreams) ProtoMessage()

func (*XComUpstreams) ProtoReflect

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

func (*XComUpstreams) Reset

func (x *XComUpstreams) Reset()

func (*XComUpstreams) String

func (x *XComUpstreams) String() string

Jump to

Keyboard shortcuts

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