// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.9
// 	protoc        (unknown)
// source: powerx/agent/v1/stream.proto

package agentv1

import (
	v1 "github.com/ArtisanCloud/PowerX/api/grpc/gen/go/common/v1"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	structpb "google.golang.org/protobuf/types/known/structpb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// =============== 请求/响应模型（Stream） ===============
type StreamRequest struct {
	state     protoimpl.MessageState `protogen:"open.v1"`
	Ctx       *v1.RequestContext     `protobuf:"bytes,1,opt,name=ctx,proto3" json:"ctx,omitempty"`                               // 必带：tenant/member/trace/scopes 等
	Message   string                 `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`                       // 等价 q/message
	Env       string                 `protobuf:"bytes,3,opt,name=env,proto3" json:"env,omitempty"`                               // 默认 "default"
	AgentId   uint64                 `protobuf:"varint,4,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"`       // 目标 Agent
	SessionId uint64                 `protobuf:"varint,5,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` // 可选：复用会话
	FlowId    string                 `protobuf:"bytes,6,opt,name=flow_id,json=flowId,proto3" json:"flow_id,omitempty"`           // 可选：显式指定 flow（不传交由引擎选择）
	// 透传执行上下文/引擎配置（保持与 HTTP SSE/WS 对齐；引擎内部解析，避免重复造轮子）
	Context *structpb.Struct `protobuf:"bytes,7,opt,name=context,proto3" json:"context,omitempty"` // 如 user_id/locale/biz_ctx 等
	Config  *structpb.Struct `protobuf:"bytes,8,opt,name=config,proto3" json:"config,omitempty"`   // 如 temperature/tools/planner/runtime 等
	// 调用侧标签与头部（可选）
	Tags          map[string]string `protobuf:"bytes,20,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`       // 审计/链路
	Headers       map[string]string `protobuf:"bytes,21,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // 透传请求头
	Probe         bool              `protobuf:"varint,22,opt,name=probe,proto3" json:"probe,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StreamRequest) Reset() {
	*x = StreamRequest{}
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StreamRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StreamRequest) ProtoMessage() {}

func (x *StreamRequest) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StreamRequest.ProtoReflect.Descriptor instead.
func (*StreamRequest) Descriptor() ([]byte, []int) {
	return file_powerx_agent_v1_stream_proto_rawDescGZIP(), []int{0}
}

func (x *StreamRequest) GetCtx() *v1.RequestContext {
	if x != nil {
		return x.Ctx
	}
	return nil
}

func (x *StreamRequest) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *StreamRequest) GetEnv() string {
	if x != nil {
		return x.Env
	}
	return ""
}

func (x *StreamRequest) GetAgentId() uint64 {
	if x != nil {
		return x.AgentId
	}
	return 0
}

func (x *StreamRequest) GetSessionId() uint64 {
	if x != nil {
		return x.SessionId
	}
	return 0
}

func (x *StreamRequest) GetFlowId() string {
	if x != nil {
		return x.FlowId
	}
	return ""
}

func (x *StreamRequest) GetContext() *structpb.Struct {
	if x != nil {
		return x.Context
	}
	return nil
}

func (x *StreamRequest) GetConfig() *structpb.Struct {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *StreamRequest) GetTags() map[string]string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *StreamRequest) GetHeaders() map[string]string {
	if x != nil {
		return x.Headers
	}
	return nil
}

func (x *StreamRequest) GetProbe() bool {
	if x != nil {
		return x.Probe
	}
	return false
}

// ******* 请求（模拟流） *******
type SimulateRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ctx           *v1.RequestContext     `protobuf:"bytes,1,opt,name=ctx,proto3" json:"ctx,omitempty"`                         // 必带
	Probe         bool                   `protobuf:"varint,2,opt,name=probe,proto3" json:"probe,omitempty"`                    // probe=true 时仅输出 start/end
	Text          string                 `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"`                       // 为空则用默认中文段落
	Chunk         int32                  `protobuf:"varint,4,opt,name=chunk,proto3" json:"chunk,omitempty"`                    // 每帧字符数（rune），默认 1
	DelayMs       int32                  `protobuf:"varint,5,opt,name=delay_ms,json=delayMs,proto3" json:"delay_ms,omitempty"` // 每帧延迟（毫秒），默认 60，最小 0
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SimulateRequest) Reset() {
	*x = SimulateRequest{}
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SimulateRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SimulateRequest) ProtoMessage() {}

func (x *SimulateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SimulateRequest.ProtoReflect.Descriptor instead.
func (*SimulateRequest) Descriptor() ([]byte, []int) {
	return file_powerx_agent_v1_stream_proto_rawDescGZIP(), []int{1}
}

func (x *SimulateRequest) GetCtx() *v1.RequestContext {
	if x != nil {
		return x.Ctx
	}
	return nil
}

func (x *SimulateRequest) GetProbe() bool {
	if x != nil {
		return x.Probe
	}
	return false
}

func (x *SimulateRequest) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

func (x *SimulateRequest) GetChunk() int32 {
	if x != nil {
		return x.Chunk
	}
	return 0
}

func (x *SimulateRequest) GetDelayMs() int32 {
	if x != nil {
		return x.DelayMs
	}
	return 0
}

// ******* 统一的事件响应（生产流） *******
type StreamResponse struct {
	state       protoimpl.MessageState     `protogen:"open.v1"`
	Type        string                     `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // "start" | "token" | "data" | "plan" | "intent" | "final" | "end" | "error" | "heartbeat" | "meta"
	FlowId      string                     `protobuf:"bytes,2,opt,name=flow_id,json=flowId,proto3" json:"flow_id,omitempty"`
	ExecutionId string                     `protobuf:"bytes,3,opt,name=execution_id,json=executionId,proto3" json:"execution_id,omitempty"`
	StepId      string                     `protobuf:"bytes,4,opt,name=step_id,json=stepId,proto3" json:"step_id,omitempty"`
	Timestamp   int64                      `protobuf:"varint,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // 秒级时间戳
	Success     bool                       `protobuf:"varint,6,opt,name=success,proto3" json:"success,omitempty"`     // 对 final/end 等有意义
	Metadata    map[string]*structpb.Value `protobuf:"bytes,7,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Types that are valid to be assigned to Payload:
	//
	//	*StreamResponse_EvStart
	//	*StreamResponse_EvToken
	//	*StreamResponse_EvData
	//	*StreamResponse_EvPlan
	//	*StreamResponse_EvIntent
	//	*StreamResponse_EvFinal
	//	*StreamResponse_EvEnd
	//	*StreamResponse_EvError
	//	*StreamResponse_EvHeartbeat
	//	*StreamResponse_EvMeta
	Payload       isStreamResponse_Payload `protobuf_oneof:"payload"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StreamResponse) Reset() {
	*x = StreamResponse{}
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StreamResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StreamResponse) ProtoMessage() {}

func (x *StreamResponse) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StreamResponse.ProtoReflect.Descriptor instead.
func (*StreamResponse) Descriptor() ([]byte, []int) {
	return file_powerx_agent_v1_stream_proto_rawDescGZIP(), []int{2}
}

func (x *StreamResponse) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *StreamResponse) GetFlowId() string {
	if x != nil {
		return x.FlowId
	}
	return ""
}

func (x *StreamResponse) GetExecutionId() string {
	if x != nil {
		return x.ExecutionId
	}
	return ""
}

func (x *StreamResponse) GetStepId() string {
	if x != nil {
		return x.StepId
	}
	return ""
}

func (x *StreamResponse) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *StreamResponse) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

func (x *StreamResponse) GetMetadata() map[string]*structpb.Value {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *StreamResponse) GetPayload() isStreamResponse_Payload {
	if x != nil {
		return x.Payload
	}
	return nil
}

func (x *StreamResponse) GetEvStart() *EventStart {
	if x != nil {
		if x, ok := x.Payload.(*StreamResponse_EvStart); ok {
			return x.EvStart
		}
	}
	return nil
}

func (x *StreamResponse) GetEvToken() *EventToken {
	if x != nil {
		if x, ok := x.Payload.(*StreamResponse_EvToken); ok {
			return x.EvToken
		}
	}
	return nil
}

func (x *StreamResponse) GetEvData() *EventData {
	if x != nil {
		if x, ok := x.Payload.(*StreamResponse_EvData); ok {
			return x.EvData
		}
	}
	return nil
}

func (x *StreamResponse) GetEvPlan() *EventPlan {
	if x != nil {
		if x, ok := x.Payload.(*StreamResponse_EvPlan); ok {
			return x.EvPlan
		}
	}
	return nil
}

func (x *StreamResponse) GetEvIntent() *EventIntent {
	if x != nil {
		if x, ok := x.Payload.(*StreamResponse_EvIntent); ok {
			return x.EvIntent
		}
	}
	return nil
}

func (x *StreamResponse) GetEvFinal() *EventFinal {
	if x != nil {
		if x, ok := x.Payload.(*StreamResponse_EvFinal); ok {
			return x.EvFinal
		}
	}
	return nil
}

func (x *StreamResponse) GetEvEnd() *EventEnd {
	if x != nil {
		if x, ok := x.Payload.(*StreamResponse_EvEnd); ok {
			return x.EvEnd
		}
	}
	return nil
}

func (x *StreamResponse) GetEvError() *EventError {
	if x != nil {
		if x, ok := x.Payload.(*StreamResponse_EvError); ok {
			return x.EvError
		}
	}
	return nil
}

func (x *StreamResponse) GetEvHeartbeat() *EventHeartbeat {
	if x != nil {
		if x, ok := x.Payload.(*StreamResponse_EvHeartbeat); ok {
			return x.EvHeartbeat
		}
	}
	return nil
}

func (x *StreamResponse) GetEvMeta() *EventMeta {
	if x != nil {
		if x, ok := x.Payload.(*StreamResponse_EvMeta); ok {
			return x.EvMeta
		}
	}
	return nil
}

type isStreamResponse_Payload interface {
	isStreamResponse_Payload()
}

type StreamResponse_EvStart struct {
	EvStart *EventStart `protobuf:"bytes,10,opt,name=ev_start,json=evStart,proto3,oneof"`
}

type StreamResponse_EvToken struct {
	EvToken *EventToken `protobuf:"bytes,11,opt,name=ev_token,json=evToken,proto3,oneof"`
}

type StreamResponse_EvData struct {
	EvData *EventData `protobuf:"bytes,12,opt,name=ev_data,json=evData,proto3,oneof"`
}

type StreamResponse_EvPlan struct {
	EvPlan *EventPlan `protobuf:"bytes,13,opt,name=ev_plan,json=evPlan,proto3,oneof"`
}

type StreamResponse_EvIntent struct {
	EvIntent *EventIntent `protobuf:"bytes,14,opt,name=ev_intent,json=evIntent,proto3,oneof"`
}

type StreamResponse_EvFinal struct {
	EvFinal *EventFinal `protobuf:"bytes,15,opt,name=ev_final,json=evFinal,proto3,oneof"`
}

type StreamResponse_EvEnd struct {
	EvEnd *EventEnd `protobuf:"bytes,16,opt,name=ev_end,json=evEnd,proto3,oneof"`
}

type StreamResponse_EvError struct {
	EvError *EventError `protobuf:"bytes,17,opt,name=ev_error,json=evError,proto3,oneof"`
}

type StreamResponse_EvHeartbeat struct {
	EvHeartbeat *EventHeartbeat `protobuf:"bytes,18,opt,name=ev_heartbeat,json=evHeartbeat,proto3,oneof"`
}

type StreamResponse_EvMeta struct {
	EvMeta *EventMeta `protobuf:"bytes,19,opt,name=ev_meta,json=evMeta,proto3,oneof"`
}

func (*StreamResponse_EvStart) isStreamResponse_Payload() {}

func (*StreamResponse_EvToken) isStreamResponse_Payload() {}

func (*StreamResponse_EvData) isStreamResponse_Payload() {}

func (*StreamResponse_EvPlan) isStreamResponse_Payload() {}

func (*StreamResponse_EvIntent) isStreamResponse_Payload() {}

func (*StreamResponse_EvFinal) isStreamResponse_Payload() {}

func (*StreamResponse_EvEnd) isStreamResponse_Payload() {}

func (*StreamResponse_EvError) isStreamResponse_Payload() {}

func (*StreamResponse_EvHeartbeat) isStreamResponse_Payload() {}

func (*StreamResponse_EvMeta) isStreamResponse_Payload() {}

// ******* 统一的事件响应（模拟流）——为通过 lint，命名与方法一致 *******
type SimulateResponse struct {
	state       protoimpl.MessageState     `protogen:"open.v1"`
	Type        string                     `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // "start" | "token" | "data" | "plan" | "intent" | "final" | "end" | "error" | "heartbeat" | "meta"
	FlowId      string                     `protobuf:"bytes,2,opt,name=flow_id,json=flowId,proto3" json:"flow_id,omitempty"`
	ExecutionId string                     `protobuf:"bytes,3,opt,name=execution_id,json=executionId,proto3" json:"execution_id,omitempty"`
	StepId      string                     `protobuf:"bytes,4,opt,name=step_id,json=stepId,proto3" json:"step_id,omitempty"`
	Timestamp   int64                      `protobuf:"varint,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // 秒级时间戳
	Success     bool                       `protobuf:"varint,6,opt,name=success,proto3" json:"success,omitempty"`
	Metadata    map[string]*structpb.Value `protobuf:"bytes,7,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Types that are valid to be assigned to Payload:
	//
	//	*SimulateResponse_EvStart
	//	*SimulateResponse_EvToken
	//	*SimulateResponse_EvData
	//	*SimulateResponse_EvPlan
	//	*SimulateResponse_EvIntent
	//	*SimulateResponse_EvFinal
	//	*SimulateResponse_EvEnd
	//	*SimulateResponse_EvError
	//	*SimulateResponse_EvHeartbeat
	//	*SimulateResponse_EvMeta
	Payload       isSimulateResponse_Payload `protobuf_oneof:"payload"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SimulateResponse) Reset() {
	*x = SimulateResponse{}
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SimulateResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SimulateResponse) ProtoMessage() {}

func (x *SimulateResponse) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SimulateResponse.ProtoReflect.Descriptor instead.
func (*SimulateResponse) Descriptor() ([]byte, []int) {
	return file_powerx_agent_v1_stream_proto_rawDescGZIP(), []int{3}
}

func (x *SimulateResponse) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *SimulateResponse) GetFlowId() string {
	if x != nil {
		return x.FlowId
	}
	return ""
}

func (x *SimulateResponse) GetExecutionId() string {
	if x != nil {
		return x.ExecutionId
	}
	return ""
}

func (x *SimulateResponse) GetStepId() string {
	if x != nil {
		return x.StepId
	}
	return ""
}

func (x *SimulateResponse) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *SimulateResponse) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

func (x *SimulateResponse) GetMetadata() map[string]*structpb.Value {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *SimulateResponse) GetPayload() isSimulateResponse_Payload {
	if x != nil {
		return x.Payload
	}
	return nil
}

func (x *SimulateResponse) GetEvStart() *EventStart {
	if x != nil {
		if x, ok := x.Payload.(*SimulateResponse_EvStart); ok {
			return x.EvStart
		}
	}
	return nil
}

func (x *SimulateResponse) GetEvToken() *EventToken {
	if x != nil {
		if x, ok := x.Payload.(*SimulateResponse_EvToken); ok {
			return x.EvToken
		}
	}
	return nil
}

func (x *SimulateResponse) GetEvData() *EventData {
	if x != nil {
		if x, ok := x.Payload.(*SimulateResponse_EvData); ok {
			return x.EvData
		}
	}
	return nil
}

func (x *SimulateResponse) GetEvPlan() *EventPlan {
	if x != nil {
		if x, ok := x.Payload.(*SimulateResponse_EvPlan); ok {
			return x.EvPlan
		}
	}
	return nil
}

func (x *SimulateResponse) GetEvIntent() *EventIntent {
	if x != nil {
		if x, ok := x.Payload.(*SimulateResponse_EvIntent); ok {
			return x.EvIntent
		}
	}
	return nil
}

func (x *SimulateResponse) GetEvFinal() *EventFinal {
	if x != nil {
		if x, ok := x.Payload.(*SimulateResponse_EvFinal); ok {
			return x.EvFinal
		}
	}
	return nil
}

func (x *SimulateResponse) GetEvEnd() *EventEnd {
	if x != nil {
		if x, ok := x.Payload.(*SimulateResponse_EvEnd); ok {
			return x.EvEnd
		}
	}
	return nil
}

func (x *SimulateResponse) GetEvError() *EventError {
	if x != nil {
		if x, ok := x.Payload.(*SimulateResponse_EvError); ok {
			return x.EvError
		}
	}
	return nil
}

func (x *SimulateResponse) GetEvHeartbeat() *EventHeartbeat {
	if x != nil {
		if x, ok := x.Payload.(*SimulateResponse_EvHeartbeat); ok {
			return x.EvHeartbeat
		}
	}
	return nil
}

func (x *SimulateResponse) GetEvMeta() *EventMeta {
	if x != nil {
		if x, ok := x.Payload.(*SimulateResponse_EvMeta); ok {
			return x.EvMeta
		}
	}
	return nil
}

type isSimulateResponse_Payload interface {
	isSimulateResponse_Payload()
}

type SimulateResponse_EvStart struct {
	EvStart *EventStart `protobuf:"bytes,10,opt,name=ev_start,json=evStart,proto3,oneof"`
}

type SimulateResponse_EvToken struct {
	EvToken *EventToken `protobuf:"bytes,11,opt,name=ev_token,json=evToken,proto3,oneof"`
}

type SimulateResponse_EvData struct {
	EvData *EventData `protobuf:"bytes,12,opt,name=ev_data,json=evData,proto3,oneof"`
}

type SimulateResponse_EvPlan struct {
	EvPlan *EventPlan `protobuf:"bytes,13,opt,name=ev_plan,json=evPlan,proto3,oneof"`
}

type SimulateResponse_EvIntent struct {
	EvIntent *EventIntent `protobuf:"bytes,14,opt,name=ev_intent,json=evIntent,proto3,oneof"`
}

type SimulateResponse_EvFinal struct {
	EvFinal *EventFinal `protobuf:"bytes,15,opt,name=ev_final,json=evFinal,proto3,oneof"`
}

type SimulateResponse_EvEnd struct {
	EvEnd *EventEnd `protobuf:"bytes,16,opt,name=ev_end,json=evEnd,proto3,oneof"`
}

type SimulateResponse_EvError struct {
	EvError *EventError `protobuf:"bytes,17,opt,name=ev_error,json=evError,proto3,oneof"`
}

type SimulateResponse_EvHeartbeat struct {
	EvHeartbeat *EventHeartbeat `protobuf:"bytes,18,opt,name=ev_heartbeat,json=evHeartbeat,proto3,oneof"`
}

type SimulateResponse_EvMeta struct {
	EvMeta *EventMeta `protobuf:"bytes,19,opt,name=ev_meta,json=evMeta,proto3,oneof"`
}

func (*SimulateResponse_EvStart) isSimulateResponse_Payload() {}

func (*SimulateResponse_EvToken) isSimulateResponse_Payload() {}

func (*SimulateResponse_EvData) isSimulateResponse_Payload() {}

func (*SimulateResponse_EvPlan) isSimulateResponse_Payload() {}

func (*SimulateResponse_EvIntent) isSimulateResponse_Payload() {}

func (*SimulateResponse_EvFinal) isSimulateResponse_Payload() {}

func (*SimulateResponse_EvEnd) isSimulateResponse_Payload() {}

func (*SimulateResponse_EvError) isSimulateResponse_Payload() {}

func (*SimulateResponse_EvHeartbeat) isSimulateResponse_Payload() {}

func (*SimulateResponse_EvMeta) isSimulateResponse_Payload() {}

// =============== 各事件负载（与 SSE/WS 对齐） ===============
type EventStart struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Message       string                 `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EventStart) Reset() {
	*x = EventStart{}
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EventStart) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EventStart) ProtoMessage() {}

func (x *EventStart) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EventStart.ProtoReflect.Descriptor instead.
func (*EventStart) Descriptor() ([]byte, []int) {
	return file_powerx_agent_v1_stream_proto_rawDescGZIP(), []int{4}
}

func (x *EventStart) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

type EventToken struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Delta         string                 `protobuf:"bytes,1,opt,name=delta,proto3" json:"delta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EventToken) Reset() {
	*x = EventToken{}
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EventToken) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EventToken) ProtoMessage() {}

func (x *EventToken) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EventToken.ProtoReflect.Descriptor instead.
func (*EventToken) Descriptor() ([]byte, []int) {
	return file_powerx_agent_v1_stream_proto_rawDescGZIP(), []int{5}
}

func (x *EventToken) GetDelta() string {
	if x != nil {
		return x.Delta
	}
	return ""
}

type EventData struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          *structpb.Struct       `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EventData) Reset() {
	*x = EventData{}
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EventData) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EventData) ProtoMessage() {}

func (x *EventData) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EventData.ProtoReflect.Descriptor instead.
func (*EventData) Descriptor() ([]byte, []int) {
	return file_powerx_agent_v1_stream_proto_rawDescGZIP(), []int{6}
}

func (x *EventData) GetData() *structpb.Struct {
	if x != nil {
		return x.Data
	}
	return nil
}

type EventPlan struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Plan          *structpb.Struct       `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EventPlan) Reset() {
	*x = EventPlan{}
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EventPlan) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EventPlan) ProtoMessage() {}

func (x *EventPlan) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EventPlan.ProtoReflect.Descriptor instead.
func (*EventPlan) Descriptor() ([]byte, []int) {
	return file_powerx_agent_v1_stream_proto_rawDescGZIP(), []int{7}
}

func (x *EventPlan) GetPlan() *structpb.Struct {
	if x != nil {
		return x.Plan
	}
	return nil
}

type EventIntent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Tasks         *structpb.Struct       `protobuf:"bytes,1,opt,name=tasks,proto3" json:"tasks,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EventIntent) Reset() {
	*x = EventIntent{}
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EventIntent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EventIntent) ProtoMessage() {}

func (x *EventIntent) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EventIntent.ProtoReflect.Descriptor instead.
func (*EventIntent) Descriptor() ([]byte, []int) {
	return file_powerx_agent_v1_stream_proto_rawDescGZIP(), []int{8}
}

func (x *EventIntent) GetTasks() *structpb.Struct {
	if x != nil {
		return x.Tasks
	}
	return nil
}

type EventFinal struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          *structpb.Struct       `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EventFinal) Reset() {
	*x = EventFinal{}
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EventFinal) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EventFinal) ProtoMessage() {}

func (x *EventFinal) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EventFinal.ProtoReflect.Descriptor instead.
func (*EventFinal) Descriptor() ([]byte, []int) {
	return file_powerx_agent_v1_stream_proto_rawDescGZIP(), []int{9}
}

func (x *EventFinal) GetData() *structpb.Struct {
	if x != nil {
		return x.Data
	}
	return nil
}

type EventEnd struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Message       string                 `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EventEnd) Reset() {
	*x = EventEnd{}
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EventEnd) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EventEnd) ProtoMessage() {}

func (x *EventEnd) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EventEnd.ProtoReflect.Descriptor instead.
func (*EventEnd) Descriptor() ([]byte, []int) {
	return file_powerx_agent_v1_stream_proto_rawDescGZIP(), []int{10}
}

func (x *EventEnd) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

type EventError struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Code          string                 `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
	Message       string                 `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	Detail        *structpb.Struct       `protobuf:"bytes,3,opt,name=detail,proto3" json:"detail,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EventError) Reset() {
	*x = EventError{}
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EventError) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EventError) ProtoMessage() {}

func (x *EventError) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EventError.ProtoReflect.Descriptor instead.
func (*EventError) Descriptor() ([]byte, []int) {
	return file_powerx_agent_v1_stream_proto_rawDescGZIP(), []int{11}
}

func (x *EventError) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

func (x *EventError) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *EventError) GetDetail() *structpb.Struct {
	if x != nil {
		return x.Detail
	}
	return nil
}

type EventHeartbeat struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ts            int64                  `protobuf:"varint,1,opt,name=ts,proto3" json:"ts,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EventHeartbeat) Reset() {
	*x = EventHeartbeat{}
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EventHeartbeat) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EventHeartbeat) ProtoMessage() {}

func (x *EventHeartbeat) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EventHeartbeat.ProtoReflect.Descriptor instead.
func (*EventHeartbeat) Descriptor() ([]byte, []int) {
	return file_powerx_agent_v1_stream_proto_rawDescGZIP(), []int{12}
}

func (x *EventHeartbeat) GetTs() int64 {
	if x != nil {
		return x.Ts
	}
	return 0
}

type EventMeta struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	SessionId     uint64                 `protobuf:"varint,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	AgentId       uint64                 `protobuf:"varint,2,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"`
	Extra         *structpb.Struct       `protobuf:"bytes,9,opt,name=extra,proto3" json:"extra,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EventMeta) Reset() {
	*x = EventMeta{}
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EventMeta) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EventMeta) ProtoMessage() {}

func (x *EventMeta) ProtoReflect() protoreflect.Message {
	mi := &file_powerx_agent_v1_stream_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EventMeta.ProtoReflect.Descriptor instead.
func (*EventMeta) Descriptor() ([]byte, []int) {
	return file_powerx_agent_v1_stream_proto_rawDescGZIP(), []int{13}
}

func (x *EventMeta) GetSessionId() uint64 {
	if x != nil {
		return x.SessionId
	}
	return 0
}

func (x *EventMeta) GetAgentId() uint64 {
	if x != nil {
		return x.AgentId
	}
	return 0
}

func (x *EventMeta) GetExtra() *structpb.Struct {
	if x != nil {
		return x.Extra
	}
	return nil
}

var File_powerx_agent_v1_stream_proto protoreflect.FileDescriptor

const file_powerx_agent_v1_stream_proto_rawDesc = "" +
	"\n" +
	"\x1cpowerx/agent/v1/stream.proto\x12\x0fpowerx.agent.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x17common/v1/context.proto\"\xaf\x04\n" +
	"\rStreamRequest\x12+\n" +
	"\x03ctx\x18\x01 \x01(\v2\x19.common.v1.RequestContextR\x03ctx\x12\x18\n" +
	"\amessage\x18\x02 \x01(\tR\amessage\x12\x10\n" +
	"\x03env\x18\x03 \x01(\tR\x03env\x12\x19\n" +
	"\bagent_id\x18\x04 \x01(\x04R\aagentId\x12\x1d\n" +
	"\n" +
	"session_id\x18\x05 \x01(\x04R\tsessionId\x12\x17\n" +
	"\aflow_id\x18\x06 \x01(\tR\x06flowId\x121\n" +
	"\acontext\x18\a \x01(\v2\x17.google.protobuf.StructR\acontext\x12/\n" +
	"\x06config\x18\b \x01(\v2\x17.google.protobuf.StructR\x06config\x12<\n" +
	"\x04tags\x18\x14 \x03(\v2(.powerx.agent.v1.StreamRequest.TagsEntryR\x04tags\x12E\n" +
	"\aheaders\x18\x15 \x03(\v2+.powerx.agent.v1.StreamRequest.HeadersEntryR\aheaders\x12\x14\n" +
	"\x05probe\x18\x16 \x01(\bR\x05probe\x1a7\n" +
	"\tTagsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a:\n" +
	"\fHeadersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x99\x01\n" +
	"\x0fSimulateRequest\x12+\n" +
	"\x03ctx\x18\x01 \x01(\v2\x19.common.v1.RequestContextR\x03ctx\x12\x14\n" +
	"\x05probe\x18\x02 \x01(\bR\x05probe\x12\x12\n" +
	"\x04text\x18\x03 \x01(\tR\x04text\x12\x14\n" +
	"\x05chunk\x18\x04 \x01(\x05R\x05chunk\x12\x19\n" +
	"\bdelay_ms\x18\x05 \x01(\x05R\adelayMs\"\xa0\a\n" +
	"\x0eStreamResponse\x12\x12\n" +
	"\x04type\x18\x01 \x01(\tR\x04type\x12\x17\n" +
	"\aflow_id\x18\x02 \x01(\tR\x06flowId\x12!\n" +
	"\fexecution_id\x18\x03 \x01(\tR\vexecutionId\x12\x17\n" +
	"\astep_id\x18\x04 \x01(\tR\x06stepId\x12\x1c\n" +
	"\ttimestamp\x18\x05 \x01(\x03R\ttimestamp\x12\x18\n" +
	"\asuccess\x18\x06 \x01(\bR\asuccess\x12I\n" +
	"\bmetadata\x18\a \x03(\v2-.powerx.agent.v1.StreamResponse.MetadataEntryR\bmetadata\x128\n" +
	"\bev_start\x18\n" +
	" \x01(\v2\x1b.powerx.agent.v1.EventStartH\x00R\aevStart\x128\n" +
	"\bev_token\x18\v \x01(\v2\x1b.powerx.agent.v1.EventTokenH\x00R\aevToken\x125\n" +
	"\aev_data\x18\f \x01(\v2\x1a.powerx.agent.v1.EventDataH\x00R\x06evData\x125\n" +
	"\aev_plan\x18\r \x01(\v2\x1a.powerx.agent.v1.EventPlanH\x00R\x06evPlan\x12;\n" +
	"\tev_intent\x18\x0e \x01(\v2\x1c.powerx.agent.v1.EventIntentH\x00R\bevIntent\x128\n" +
	"\bev_final\x18\x0f \x01(\v2\x1b.powerx.agent.v1.EventFinalH\x00R\aevFinal\x122\n" +
	"\x06ev_end\x18\x10 \x01(\v2\x19.powerx.agent.v1.EventEndH\x00R\x05evEnd\x128\n" +
	"\bev_error\x18\x11 \x01(\v2\x1b.powerx.agent.v1.EventErrorH\x00R\aevError\x12D\n" +
	"\fev_heartbeat\x18\x12 \x01(\v2\x1f.powerx.agent.v1.EventHeartbeatH\x00R\vevHeartbeat\x125\n" +
	"\aev_meta\x18\x13 \x01(\v2\x1a.powerx.agent.v1.EventMetaH\x00R\x06evMeta\x1aS\n" +
	"\rMetadataEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12,\n" +
	"\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01B\t\n" +
	"\apayload\"\xa4\a\n" +
	"\x10SimulateResponse\x12\x12\n" +
	"\x04type\x18\x01 \x01(\tR\x04type\x12\x17\n" +
	"\aflow_id\x18\x02 \x01(\tR\x06flowId\x12!\n" +
	"\fexecution_id\x18\x03 \x01(\tR\vexecutionId\x12\x17\n" +
	"\astep_id\x18\x04 \x01(\tR\x06stepId\x12\x1c\n" +
	"\ttimestamp\x18\x05 \x01(\x03R\ttimestamp\x12\x18\n" +
	"\asuccess\x18\x06 \x01(\bR\asuccess\x12K\n" +
	"\bmetadata\x18\a \x03(\v2/.powerx.agent.v1.SimulateResponse.MetadataEntryR\bmetadata\x128\n" +
	"\bev_start\x18\n" +
	" \x01(\v2\x1b.powerx.agent.v1.EventStartH\x00R\aevStart\x128\n" +
	"\bev_token\x18\v \x01(\v2\x1b.powerx.agent.v1.EventTokenH\x00R\aevToken\x125\n" +
	"\aev_data\x18\f \x01(\v2\x1a.powerx.agent.v1.EventDataH\x00R\x06evData\x125\n" +
	"\aev_plan\x18\r \x01(\v2\x1a.powerx.agent.v1.EventPlanH\x00R\x06evPlan\x12;\n" +
	"\tev_intent\x18\x0e \x01(\v2\x1c.powerx.agent.v1.EventIntentH\x00R\bevIntent\x128\n" +
	"\bev_final\x18\x0f \x01(\v2\x1b.powerx.agent.v1.EventFinalH\x00R\aevFinal\x122\n" +
	"\x06ev_end\x18\x10 \x01(\v2\x19.powerx.agent.v1.EventEndH\x00R\x05evEnd\x128\n" +
	"\bev_error\x18\x11 \x01(\v2\x1b.powerx.agent.v1.EventErrorH\x00R\aevError\x12D\n" +
	"\fev_heartbeat\x18\x12 \x01(\v2\x1f.powerx.agent.v1.EventHeartbeatH\x00R\vevHeartbeat\x125\n" +
	"\aev_meta\x18\x13 \x01(\v2\x1a.powerx.agent.v1.EventMetaH\x00R\x06evMeta\x1aS\n" +
	"\rMetadataEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12,\n" +
	"\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01B\t\n" +
	"\apayload\"&\n" +
	"\n" +
	"EventStart\x12\x18\n" +
	"\amessage\x18\x01 \x01(\tR\amessage\"\"\n" +
	"\n" +
	"EventToken\x12\x14\n" +
	"\x05delta\x18\x01 \x01(\tR\x05delta\"8\n" +
	"\tEventData\x12+\n" +
	"\x04data\x18\x01 \x01(\v2\x17.google.protobuf.StructR\x04data\"8\n" +
	"\tEventPlan\x12+\n" +
	"\x04plan\x18\x01 \x01(\v2\x17.google.protobuf.StructR\x04plan\"<\n" +
	"\vEventIntent\x12-\n" +
	"\x05tasks\x18\x01 \x01(\v2\x17.google.protobuf.StructR\x05tasks\"9\n" +
	"\n" +
	"EventFinal\x12+\n" +
	"\x04data\x18\x01 \x01(\v2\x17.google.protobuf.StructR\x04data\"$\n" +
	"\bEventEnd\x12\x18\n" +
	"\amessage\x18\x01 \x01(\tR\amessage\"k\n" +
	"\n" +
	"EventError\x12\x12\n" +
	"\x04code\x18\x01 \x01(\tR\x04code\x12\x18\n" +
	"\amessage\x18\x02 \x01(\tR\amessage\x12/\n" +
	"\x06detail\x18\x03 \x01(\v2\x17.google.protobuf.StructR\x06detail\" \n" +
	"\x0eEventHeartbeat\x12\x0e\n" +
	"\x02ts\x18\x01 \x01(\x03R\x02ts\"t\n" +
	"\tEventMeta\x12\x1d\n" +
	"\n" +
	"session_id\x18\x01 \x01(\x04R\tsessionId\x12\x19\n" +
	"\bagent_id\x18\x02 \x01(\x04R\aagentId\x12-\n" +
	"\x05extra\x18\t \x01(\v2\x17.google.protobuf.StructR\x05extra2\xb4\x01\n" +
	"\x12AgentStreamService\x12K\n" +
	"\x06Stream\x12\x1e.powerx.agent.v1.StreamRequest\x1a\x1f.powerx.agent.v1.StreamResponse0\x01\x12Q\n" +
	"\bSimulate\x12 .powerx.agent.v1.SimulateRequest\x1a!.powerx.agent.v1.SimulateResponse0\x01B\xa4\x01\n" +
	"\x13com.powerx.agent.v1P\x01ZIgithub.com/ArtisanCloud/PowerX/api/grpc/contracts/powerx/agent/v1;agentv1\xaa\x02\x0fPowerX.Agent.V1\xca\x02\x0fPowerX\\Agent\\V1\xe2\x02\x1bGPBMetadata\\PowerX\\Agent\\V1b\x06proto3"

var (
	file_powerx_agent_v1_stream_proto_rawDescOnce sync.Once
	file_powerx_agent_v1_stream_proto_rawDescData []byte
)

func file_powerx_agent_v1_stream_proto_rawDescGZIP() []byte {
	file_powerx_agent_v1_stream_proto_rawDescOnce.Do(func() {
		file_powerx_agent_v1_stream_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_powerx_agent_v1_stream_proto_rawDesc), len(file_powerx_agent_v1_stream_proto_rawDesc)))
	})
	return file_powerx_agent_v1_stream_proto_rawDescData
}

var file_powerx_agent_v1_stream_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
var file_powerx_agent_v1_stream_proto_goTypes = []any{
	(*StreamRequest)(nil),     // 0: powerx.agent.v1.StreamRequest
	(*SimulateRequest)(nil),   // 1: powerx.agent.v1.SimulateRequest
	(*StreamResponse)(nil),    // 2: powerx.agent.v1.StreamResponse
	(*SimulateResponse)(nil),  // 3: powerx.agent.v1.SimulateResponse
	(*EventStart)(nil),        // 4: powerx.agent.v1.EventStart
	(*EventToken)(nil),        // 5: powerx.agent.v1.EventToken
	(*EventData)(nil),         // 6: powerx.agent.v1.EventData
	(*EventPlan)(nil),         // 7: powerx.agent.v1.EventPlan
	(*EventIntent)(nil),       // 8: powerx.agent.v1.EventIntent
	(*EventFinal)(nil),        // 9: powerx.agent.v1.EventFinal
	(*EventEnd)(nil),          // 10: powerx.agent.v1.EventEnd
	(*EventError)(nil),        // 11: powerx.agent.v1.EventError
	(*EventHeartbeat)(nil),    // 12: powerx.agent.v1.EventHeartbeat
	(*EventMeta)(nil),         // 13: powerx.agent.v1.EventMeta
	nil,                       // 14: powerx.agent.v1.StreamRequest.TagsEntry
	nil,                       // 15: powerx.agent.v1.StreamRequest.HeadersEntry
	nil,                       // 16: powerx.agent.v1.StreamResponse.MetadataEntry
	nil,                       // 17: powerx.agent.v1.SimulateResponse.MetadataEntry
	(*v1.RequestContext)(nil), // 18: common.v1.RequestContext
	(*structpb.Struct)(nil),   // 19: google.protobuf.Struct
	(*structpb.Value)(nil),    // 20: google.protobuf.Value
}
var file_powerx_agent_v1_stream_proto_depIdxs = []int32{
	18, // 0: powerx.agent.v1.StreamRequest.ctx:type_name -> common.v1.RequestContext
	19, // 1: powerx.agent.v1.StreamRequest.context:type_name -> google.protobuf.Struct
	19, // 2: powerx.agent.v1.StreamRequest.config:type_name -> google.protobuf.Struct
	14, // 3: powerx.agent.v1.StreamRequest.tags:type_name -> powerx.agent.v1.StreamRequest.TagsEntry
	15, // 4: powerx.agent.v1.StreamRequest.headers:type_name -> powerx.agent.v1.StreamRequest.HeadersEntry
	18, // 5: powerx.agent.v1.SimulateRequest.ctx:type_name -> common.v1.RequestContext
	16, // 6: powerx.agent.v1.StreamResponse.metadata:type_name -> powerx.agent.v1.StreamResponse.MetadataEntry
	4,  // 7: powerx.agent.v1.StreamResponse.ev_start:type_name -> powerx.agent.v1.EventStart
	5,  // 8: powerx.agent.v1.StreamResponse.ev_token:type_name -> powerx.agent.v1.EventToken
	6,  // 9: powerx.agent.v1.StreamResponse.ev_data:type_name -> powerx.agent.v1.EventData
	7,  // 10: powerx.agent.v1.StreamResponse.ev_plan:type_name -> powerx.agent.v1.EventPlan
	8,  // 11: powerx.agent.v1.StreamResponse.ev_intent:type_name -> powerx.agent.v1.EventIntent
	9,  // 12: powerx.agent.v1.StreamResponse.ev_final:type_name -> powerx.agent.v1.EventFinal
	10, // 13: powerx.agent.v1.StreamResponse.ev_end:type_name -> powerx.agent.v1.EventEnd
	11, // 14: powerx.agent.v1.StreamResponse.ev_error:type_name -> powerx.agent.v1.EventError
	12, // 15: powerx.agent.v1.StreamResponse.ev_heartbeat:type_name -> powerx.agent.v1.EventHeartbeat
	13, // 16: powerx.agent.v1.StreamResponse.ev_meta:type_name -> powerx.agent.v1.EventMeta
	17, // 17: powerx.agent.v1.SimulateResponse.metadata:type_name -> powerx.agent.v1.SimulateResponse.MetadataEntry
	4,  // 18: powerx.agent.v1.SimulateResponse.ev_start:type_name -> powerx.agent.v1.EventStart
	5,  // 19: powerx.agent.v1.SimulateResponse.ev_token:type_name -> powerx.agent.v1.EventToken
	6,  // 20: powerx.agent.v1.SimulateResponse.ev_data:type_name -> powerx.agent.v1.EventData
	7,  // 21: powerx.agent.v1.SimulateResponse.ev_plan:type_name -> powerx.agent.v1.EventPlan
	8,  // 22: powerx.agent.v1.SimulateResponse.ev_intent:type_name -> powerx.agent.v1.EventIntent
	9,  // 23: powerx.agent.v1.SimulateResponse.ev_final:type_name -> powerx.agent.v1.EventFinal
	10, // 24: powerx.agent.v1.SimulateResponse.ev_end:type_name -> powerx.agent.v1.EventEnd
	11, // 25: powerx.agent.v1.SimulateResponse.ev_error:type_name -> powerx.agent.v1.EventError
	12, // 26: powerx.agent.v1.SimulateResponse.ev_heartbeat:type_name -> powerx.agent.v1.EventHeartbeat
	13, // 27: powerx.agent.v1.SimulateResponse.ev_meta:type_name -> powerx.agent.v1.EventMeta
	19, // 28: powerx.agent.v1.EventData.data:type_name -> google.protobuf.Struct
	19, // 29: powerx.agent.v1.EventPlan.plan:type_name -> google.protobuf.Struct
	19, // 30: powerx.agent.v1.EventIntent.tasks:type_name -> google.protobuf.Struct
	19, // 31: powerx.agent.v1.EventFinal.data:type_name -> google.protobuf.Struct
	19, // 32: powerx.agent.v1.EventError.detail:type_name -> google.protobuf.Struct
	19, // 33: powerx.agent.v1.EventMeta.extra:type_name -> google.protobuf.Struct
	20, // 34: powerx.agent.v1.StreamResponse.MetadataEntry.value:type_name -> google.protobuf.Value
	20, // 35: powerx.agent.v1.SimulateResponse.MetadataEntry.value:type_name -> google.protobuf.Value
	0,  // 36: powerx.agent.v1.AgentStreamService.Stream:input_type -> powerx.agent.v1.StreamRequest
	1,  // 37: powerx.agent.v1.AgentStreamService.Simulate:input_type -> powerx.agent.v1.SimulateRequest
	2,  // 38: powerx.agent.v1.AgentStreamService.Stream:output_type -> powerx.agent.v1.StreamResponse
	3,  // 39: powerx.agent.v1.AgentStreamService.Simulate:output_type -> powerx.agent.v1.SimulateResponse
	38, // [38:40] is the sub-list for method output_type
	36, // [36:38] is the sub-list for method input_type
	36, // [36:36] is the sub-list for extension type_name
	36, // [36:36] is the sub-list for extension extendee
	0,  // [0:36] is the sub-list for field type_name
}

func init() { file_powerx_agent_v1_stream_proto_init() }
func file_powerx_agent_v1_stream_proto_init() {
	if File_powerx_agent_v1_stream_proto != nil {
		return
	}
	file_powerx_agent_v1_stream_proto_msgTypes[2].OneofWrappers = []any{
		(*StreamResponse_EvStart)(nil),
		(*StreamResponse_EvToken)(nil),
		(*StreamResponse_EvData)(nil),
		(*StreamResponse_EvPlan)(nil),
		(*StreamResponse_EvIntent)(nil),
		(*StreamResponse_EvFinal)(nil),
		(*StreamResponse_EvEnd)(nil),
		(*StreamResponse_EvError)(nil),
		(*StreamResponse_EvHeartbeat)(nil),
		(*StreamResponse_EvMeta)(nil),
	}
	file_powerx_agent_v1_stream_proto_msgTypes[3].OneofWrappers = []any{
		(*SimulateResponse_EvStart)(nil),
		(*SimulateResponse_EvToken)(nil),
		(*SimulateResponse_EvData)(nil),
		(*SimulateResponse_EvPlan)(nil),
		(*SimulateResponse_EvIntent)(nil),
		(*SimulateResponse_EvFinal)(nil),
		(*SimulateResponse_EvEnd)(nil),
		(*SimulateResponse_EvError)(nil),
		(*SimulateResponse_EvHeartbeat)(nil),
		(*SimulateResponse_EvMeta)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_powerx_agent_v1_stream_proto_rawDesc), len(file_powerx_agent_v1_stream_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   18,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_powerx_agent_v1_stream_proto_goTypes,
		DependencyIndexes: file_powerx_agent_v1_stream_proto_depIdxs,
		MessageInfos:      file_powerx_agent_v1_stream_proto_msgTypes,
	}.Build()
	File_powerx_agent_v1_stream_proto = out.File
	file_powerx_agent_v1_stream_proto_goTypes = nil
	file_powerx_agent_v1_stream_proto_depIdxs = nil
}
