// invoke.proto — the bn_invoke envelope, hook catalog, and the job/lifecycle // hook payloads (WO-WZ-001). // // Every host→guest call crosses the wasm boundary as one guest export: // // bn_invoke(hook_id, ptr, len) → packed(ptr, len) // // where (ptr, len) frames a serialized InvokeRequest and the packed return // frames a serialized InvokeResponse. Hook-specific payloads (render.proto, // http.proto, and the messages below) travel inside InvokeRequest.payload / // InvokeResponse.payload. See core/docs/wasm-abi.md. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 // protoc (unknown) // source: v1/invoke.proto package abiv1 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" 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) ) // Hook identifies the guest entry point being invoked. type Hook int32 const ( Hook_HOOK_UNSPECIFIED Hook = 0 // Render one block: payload = RenderBlockRequest / RenderBlockResponse. Hook_HOOK_RENDER_BLOCK Hook = 1 // Render one template: payload = RenderTemplateRequest / RenderTemplateResponse. Hook_HOOK_RENDER_TEMPLATE Hook = 2 // Forward a buffered HTTP request to the guest's mux: // payload = HttpRequest / HttpResponse. Hook_HOOK_HANDLE_HTTP Hook = 3 // Run a background job handler: payload = JobRequest / JobResponse. Hook_HOOK_JOB Hook = 4 // Plugin load lifecycle: payload = LoadRequest / LoadResponse. Hook_HOOK_LOAD Hook = 5 // Plugin unload lifecycle: payload = UnloadRequest / UnloadResponse. Hook_HOOK_UNLOAD Hook = 6 // Re-fetch content for RAG re-indexing: // payload = RagFetchRequest / RagFetchResponse. Hook_HOOK_RAG_FETCH Hook = 7 // Media lifecycle event delivery: payload = MediaHookRequest / MediaHookResponse. Hook_HOOK_MEDIA_HOOK Hook = 8 // Capture the static manifest at publish time: // payload = DescribeRequest / DescribeResponse. Hook_HOOK_DESCRIBE Hook = 9 // Invoke a plugin-declared template tag (manifest.declared_tags) that the // host engine hit while rendering a powered block: // payload = RenderTagRequest / RenderTagResponse. Hook_HOOK_RENDER_TAG Hook = 10 // Apply a plugin-declared template filter (manifest.declared_filters): // payload = ApplyFilterRequest / ApplyFilterResponse. Hook_HOOK_APPLY_FILTER Hook = 11 // Execute a guest-registered AI tool handler (ai.tools.register): // payload = AiToolCallRequest / AiToolCallResponse. Hook_HOOK_AI_TOOL_CALL Hook = 12 // Invoke a method on a bridge service this plugin registered // (bridge.register_service): payload = BridgeCallRequest / BridgeCallResponse. Hook_HOOK_BRIDGE_CALL Hook = 13 // Render one directory panel section (DirectoryExtensions.PanelSections): // payload = DirectoryPanelSectionRequest / DirectoryPanelSectionResponse. Hook_HOOK_DIRECTORY_PANEL_SECTION Hook = 14 // Run one directory pin decorator (DirectoryExtensions.PinDecorators): // payload = DirectoryPinDecoratorRequest / DirectoryPinDecoratorResponse. Hook_HOOK_DIRECTORY_PIN_DECORATOR Hook = 15 ) // Enum value maps for Hook. var ( Hook_name = map[int32]string{ 0: "HOOK_UNSPECIFIED", 1: "HOOK_RENDER_BLOCK", 2: "HOOK_RENDER_TEMPLATE", 3: "HOOK_HANDLE_HTTP", 4: "HOOK_JOB", 5: "HOOK_LOAD", 6: "HOOK_UNLOAD", 7: "HOOK_RAG_FETCH", 8: "HOOK_MEDIA_HOOK", 9: "HOOK_DESCRIBE", 10: "HOOK_RENDER_TAG", 11: "HOOK_APPLY_FILTER", 12: "HOOK_AI_TOOL_CALL", 13: "HOOK_BRIDGE_CALL", 14: "HOOK_DIRECTORY_PANEL_SECTION", 15: "HOOK_DIRECTORY_PIN_DECORATOR", } Hook_value = map[string]int32{ "HOOK_UNSPECIFIED": 0, "HOOK_RENDER_BLOCK": 1, "HOOK_RENDER_TEMPLATE": 2, "HOOK_HANDLE_HTTP": 3, "HOOK_JOB": 4, "HOOK_LOAD": 5, "HOOK_UNLOAD": 6, "HOOK_RAG_FETCH": 7, "HOOK_MEDIA_HOOK": 8, "HOOK_DESCRIBE": 9, "HOOK_RENDER_TAG": 10, "HOOK_APPLY_FILTER": 11, "HOOK_AI_TOOL_CALL": 12, "HOOK_BRIDGE_CALL": 13, "HOOK_DIRECTORY_PANEL_SECTION": 14, "HOOK_DIRECTORY_PIN_DECORATOR": 15, } ) func (x Hook) Enum() *Hook { p := new(Hook) *p = x return p } func (x Hook) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Hook) Descriptor() protoreflect.EnumDescriptor { return file_v1_invoke_proto_enumTypes[0].Descriptor() } func (Hook) Type() protoreflect.EnumType { return &file_v1_invoke_proto_enumTypes[0] } func (x Hook) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Hook.Descriptor instead. func (Hook) EnumDescriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{0} } // AbiErrorCode classifies boundary-crossing failures. type AbiErrorCode int32 const ( AbiErrorCode_ABI_ERROR_CODE_UNSPECIFIED AbiErrorCode = 0 // The handler ran and failed; message carries the Go error text. AbiErrorCode_ABI_ERROR_CODE_INTERNAL AbiErrorCode = 1 // The payload could not be decoded. AbiErrorCode_ABI_ERROR_CODE_DECODE AbiErrorCode = 2 // The hook/capability is not implemented by the callee. AbiErrorCode_ABI_ERROR_CODE_UNIMPLEMENTED AbiErrorCode = 3 // The call exceeded its deadline; the instance is considered poisoned. AbiErrorCode_ABI_ERROR_CODE_DEADLINE_EXCEEDED AbiErrorCode = 4 // The caller is not entitled to this capability. AbiErrorCode_ABI_ERROR_CODE_PERMISSION_DENIED AbiErrorCode = 5 // A db.* call named a transaction handle the host has already expired // (dropped at the call-chain deadline, WO-WZ-007). Distinct from a real // fault: the unit of work is retryable in a fresh transaction. Emitted by // the cms dbexec side (adopted separately) and mapped guest-side to // bnwasm.ErrTxExpired. AbiErrorCode_ABI_ERROR_CODE_TX_EXPIRED AbiErrorCode = 6 // An http.request egress call was refused by policy (host not granted, // grant revoked, platform-denylisted, or an off-allowlist redirect). // message names the offending host. Mapped guest-side to // egress.ErrDenied — deliberately distinct from a network failure // (ADR 0023, cms repo). AbiErrorCode_ABI_ERROR_CODE_EGRESS_DENIED AbiErrorCode = 7 ) // Enum value maps for AbiErrorCode. var ( AbiErrorCode_name = map[int32]string{ 0: "ABI_ERROR_CODE_UNSPECIFIED", 1: "ABI_ERROR_CODE_INTERNAL", 2: "ABI_ERROR_CODE_DECODE", 3: "ABI_ERROR_CODE_UNIMPLEMENTED", 4: "ABI_ERROR_CODE_DEADLINE_EXCEEDED", 5: "ABI_ERROR_CODE_PERMISSION_DENIED", 6: "ABI_ERROR_CODE_TX_EXPIRED", 7: "ABI_ERROR_CODE_EGRESS_DENIED", } AbiErrorCode_value = map[string]int32{ "ABI_ERROR_CODE_UNSPECIFIED": 0, "ABI_ERROR_CODE_INTERNAL": 1, "ABI_ERROR_CODE_DECODE": 2, "ABI_ERROR_CODE_UNIMPLEMENTED": 3, "ABI_ERROR_CODE_DEADLINE_EXCEEDED": 4, "ABI_ERROR_CODE_PERMISSION_DENIED": 5, "ABI_ERROR_CODE_TX_EXPIRED": 6, "ABI_ERROR_CODE_EGRESS_DENIED": 7, } ) func (x AbiErrorCode) Enum() *AbiErrorCode { p := new(AbiErrorCode) *p = x return p } func (x AbiErrorCode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (AbiErrorCode) Descriptor() protoreflect.EnumDescriptor { return file_v1_invoke_proto_enumTypes[1].Descriptor() } func (AbiErrorCode) Type() protoreflect.EnumType { return &file_v1_invoke_proto_enumTypes[1] } func (x AbiErrorCode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use AbiErrorCode.Descriptor instead. func (AbiErrorCode) EnumDescriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{1} } // InvokeRequest is the host→guest call envelope. type InvokeRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Hook Hook `protobuf:"varint,1,opt,name=hook,proto3,enum=abi.v1.Hook" json:"hook,omitempty"` // Serialized hook-specific request message (see Hook value comments). Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` // Milliseconds the guest has to answer; the host also enforces this // deadline on the wasm instance (WithCloseOnContextDone). DeadlineMs int64 `protobuf:"varint,3,opt,name=deadline_ms,json=deadlineMs,proto3" json:"deadline_ms,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *InvokeRequest) Reset() { *x = InvokeRequest{} mi := &file_v1_invoke_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *InvokeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*InvokeRequest) ProtoMessage() {} func (x *InvokeRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_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 InvokeRequest.ProtoReflect.Descriptor instead. func (*InvokeRequest) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{0} } func (x *InvokeRequest) GetHook() Hook { if x != nil { return x.Hook } return Hook_HOOK_UNSPECIFIED } func (x *InvokeRequest) GetPayload() []byte { if x != nil { return x.Payload } return nil } func (x *InvokeRequest) GetDeadlineMs() int64 { if x != nil { return x.DeadlineMs } return 0 } // InvokeResponse is the guest→host return envelope. type InvokeResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // Serialized hook-specific response message; empty when error is set. Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` // Set when the hook failed; the host treats decode failures and traps as // implicit ABI_ERROR_CODE_INTERNAL. Error *AbiError `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *InvokeResponse) Reset() { *x = InvokeResponse{} mi := &file_v1_invoke_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *InvokeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*InvokeResponse) ProtoMessage() {} func (x *InvokeResponse) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_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 InvokeResponse.ProtoReflect.Descriptor instead. func (*InvokeResponse) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{1} } func (x *InvokeResponse) GetPayload() []byte { if x != nil { return x.Payload } return nil } func (x *InvokeResponse) GetError() *AbiError { if x != nil { return x.Error } return nil } // AbiError is the structured error carried by InvokeResponse and // HostCallResponse. type AbiError struct { state protoimpl.MessageState `protogen:"open.v1"` Code AbiErrorCode `protobuf:"varint,1,opt,name=code,proto3,enum=abi.v1.AbiErrorCode" json:"code,omitempty"` Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AbiError) Reset() { *x = AbiError{} mi := &file_v1_invoke_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AbiError) String() string { return protoimpl.X.MessageStringOf(x) } func (*AbiError) ProtoMessage() {} func (x *AbiError) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_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 AbiError.ProtoReflect.Descriptor instead. func (*AbiError) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{2} } func (x *AbiError) GetCode() AbiErrorCode { if x != nil { return x.Code } return AbiErrorCode_ABI_ERROR_CODE_UNSPECIFIED } func (x *AbiError) GetMessage() string { if x != nil { return x.Message } return "" } // DescribeRequest asks the guest for its static manifest (publish time only). type DescribeRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // ABI major version of the calling host/publish tool. HostAbiVersion uint32 `protobuf:"varint,1,opt,name=host_abi_version,json=hostAbiVersion,proto3" json:"host_abi_version,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DescribeRequest) Reset() { *x = DescribeRequest{} mi := &file_v1_invoke_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DescribeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DescribeRequest) ProtoMessage() {} func (x *DescribeRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_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 DescribeRequest.ProtoReflect.Descriptor instead. func (*DescribeRequest) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{3} } func (x *DescribeRequest) GetHostAbiVersion() uint32 { if x != nil { return x.HostAbiVersion } return 0 } // DescribeResponse returns the static manifest. type DescribeResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Manifest *PluginManifest `protobuf:"bytes,1,opt,name=manifest,proto3" json:"manifest,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DescribeResponse) Reset() { *x = DescribeResponse{} mi := &file_v1_invoke_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DescribeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DescribeResponse) ProtoMessage() {} func (x *DescribeResponse) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_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 DescribeResponse.ProtoReflect.Descriptor instead. func (*DescribeResponse) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{4} } func (x *DescribeResponse) GetManifest() *PluginManifest { if x != nil { return x.Manifest } return nil } // LoadRequest carries the static host configuration the .so world exposed as // CoreServices.AppURL / CoreServices.MediaPath. type LoadRequest struct { state protoimpl.MessageState `protogen:"open.v1"` HostConfig *HostConfig `protobuf:"bytes,1,opt,name=host_config,json=hostConfig,proto3" json:"host_config,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LoadRequest) Reset() { *x = LoadRequest{} mi := &file_v1_invoke_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LoadRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoadRequest) ProtoMessage() {} func (x *LoadRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_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 LoadRequest.ProtoReflect.Descriptor instead. func (*LoadRequest) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{5} } func (x *LoadRequest) GetHostConfig() *HostConfig { if x != nil { return x.HostConfig } return nil } // HostConfig mirrors the plain-value CoreServices fields. type HostConfig struct { state protoimpl.MessageState `protogen:"open.v1"` AppUrl string `protobuf:"bytes,1,opt,name=app_url,json=appUrl,proto3" json:"app_url,omitempty"` // CoreServices.AppURL MediaPath string `protobuf:"bytes,2,opt,name=media_path,json=mediaPath,proto3" json:"media_path,omitempty"` // CoreServices.MediaPath unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *HostConfig) Reset() { *x = HostConfig{} mi := &file_v1_invoke_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *HostConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*HostConfig) ProtoMessage() {} func (x *HostConfig) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_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 HostConfig.ProtoReflect.Descriptor instead. func (*HostConfig) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{6} } func (x *HostConfig) GetAppUrl() string { if x != nil { return x.AppUrl } return "" } func (x *HostConfig) GetMediaPath() string { if x != nil { return x.MediaPath } return "" } type LoadResponse struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LoadResponse) Reset() { *x = LoadResponse{} mi := &file_v1_invoke_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LoadResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoadResponse) ProtoMessage() {} func (x *LoadResponse) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_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 LoadResponse.ProtoReflect.Descriptor instead. func (*LoadResponse) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{7} } type UnloadRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *UnloadRequest) Reset() { *x = UnloadRequest{} mi := &file_v1_invoke_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *UnloadRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UnloadRequest) ProtoMessage() {} func (x *UnloadRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_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 UnloadRequest.ProtoReflect.Descriptor instead. func (*UnloadRequest) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{8} } type UnloadResponse struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *UnloadResponse) Reset() { *x = UnloadResponse{} mi := &file_v1_invoke_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *UnloadResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UnloadResponse) ProtoMessage() {} func (x *UnloadResponse) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_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 UnloadResponse.ProtoReflect.Descriptor instead. func (*UnloadResponse) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{9} } // JobRequest dispatches one background job to the guest handler registered // for job_type (manifest.job_types). type JobRequest struct { state protoimpl.MessageState `protogen:"open.v1"` JobType string `protobuf:"bytes,1,opt,name=job_type,json=jobType,proto3" json:"job_type,omitempty"` // JSON job configuration (json.RawMessage in JobHandlerFunc). ConfigJson []byte `protobuf:"bytes,2,opt,name=config_json,json=configJson,proto3" json:"config_json,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *JobRequest) Reset() { *x = JobRequest{} mi := &file_v1_invoke_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *JobRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobRequest) ProtoMessage() {} func (x *JobRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_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 JobRequest.ProtoReflect.Descriptor instead. func (*JobRequest) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{10} } func (x *JobRequest) GetJobType() string { if x != nil { return x.JobType } return "" } func (x *JobRequest) GetConfigJson() []byte { if x != nil { return x.ConfigJson } return nil } // JobResponse returns the handler's JSON result. type JobResponse struct { state protoimpl.MessageState `protogen:"open.v1"` ResultJson []byte `protobuf:"bytes,1,opt,name=result_json,json=resultJson,proto3" json:"result_json,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *JobResponse) Reset() { *x = JobResponse{} mi := &file_v1_invoke_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *JobResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobResponse) ProtoMessage() {} func (x *JobResponse) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_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 JobResponse.ProtoReflect.Descriptor instead. func (*JobResponse) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{11} } func (x *JobResponse) GetResultJson() []byte { if x != nil { return x.ResultJson } return nil } // RagFetchRequest asks the guest's registered content fetcher // (manifest.rag_content_fetcher_types) for a content item's text. type RagFetchRequest struct { state protoimpl.MessageState `protogen:"open.v1"` ContentType string `protobuf:"bytes,1,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` ContentId string `protobuf:"bytes,2,opt,name=content_id,json=contentId,proto3" json:"content_id,omitempty"` // UUID unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RagFetchRequest) Reset() { *x = RagFetchRequest{} mi := &file_v1_invoke_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RagFetchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RagFetchRequest) ProtoMessage() {} func (x *RagFetchRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_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 RagFetchRequest.ProtoReflect.Descriptor instead. func (*RagFetchRequest) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{12} } func (x *RagFetchRequest) GetContentType() string { if x != nil { return x.ContentType } return "" } func (x *RagFetchRequest) GetContentId() string { if x != nil { return x.ContentId } return "" } // RagFetchResponse mirrors plugin.ContentFetcher's return values. type RagFetchResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` Text string `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RagFetchResponse) Reset() { *x = RagFetchResponse{} mi := &file_v1_invoke_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RagFetchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RagFetchResponse) ProtoMessage() {} func (x *RagFetchResponse) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_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 RagFetchResponse.ProtoReflect.Descriptor instead. func (*RagFetchResponse) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{13} } func (x *RagFetchResponse) GetTitle() string { if x != nil { return x.Title } return "" } func (x *RagFetchResponse) GetText() string { if x != nil { return x.Text } return "" } // MediaHookRequest delivers one media lifecycle event // (plugin.MediaHooksProvider). type MediaHookRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Event: // // *MediaHookRequest_MediaAnalyzed // *MediaHookRequest_ModerationDecision Event isMediaHookRequest_Event `protobuf_oneof:"event"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MediaHookRequest) Reset() { *x = MediaHookRequest{} mi := &file_v1_invoke_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *MediaHookRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*MediaHookRequest) ProtoMessage() {} func (x *MediaHookRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_proto_msgTypes[14] 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 MediaHookRequest.ProtoReflect.Descriptor instead. func (*MediaHookRequest) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{14} } func (x *MediaHookRequest) GetEvent() isMediaHookRequest_Event { if x != nil { return x.Event } return nil } func (x *MediaHookRequest) GetMediaAnalyzed() *MediaAnalyzedEvent { if x != nil { if x, ok := x.Event.(*MediaHookRequest_MediaAnalyzed); ok { return x.MediaAnalyzed } } return nil } func (x *MediaHookRequest) GetModerationDecision() *ModerationDecisionEvent { if x != nil { if x, ok := x.Event.(*MediaHookRequest_ModerationDecision); ok { return x.ModerationDecision } } return nil } type isMediaHookRequest_Event interface { isMediaHookRequest_Event() } type MediaHookRequest_MediaAnalyzed struct { MediaAnalyzed *MediaAnalyzedEvent `protobuf:"bytes,1,opt,name=media_analyzed,json=mediaAnalyzed,proto3,oneof"` // OnMediaAnalyzed } type MediaHookRequest_ModerationDecision struct { ModerationDecision *ModerationDecisionEvent `protobuf:"bytes,2,opt,name=moderation_decision,json=moderationDecision,proto3,oneof"` // OnModerationDecision } func (*MediaHookRequest_MediaAnalyzed) isMediaHookRequest_Event() {} func (*MediaHookRequest_ModerationDecision) isMediaHookRequest_Event() {} type MediaHookResponse struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MediaHookResponse) Reset() { *x = MediaHookResponse{} mi := &file_v1_invoke_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *MediaHookResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*MediaHookResponse) ProtoMessage() {} func (x *MediaHookResponse) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_proto_msgTypes[15] 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 MediaHookResponse.ProtoReflect.Descriptor instead. func (*MediaHookResponse) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{15} } // MediaAnalyzedEvent mirrors plugin.MediaAnalyzedEvent (UUIDs as strings). type MediaAnalyzedEvent struct { state protoimpl.MessageState `protogen:"open.v1"` MediaId string `protobuf:"bytes,1,opt,name=media_id,json=mediaId,proto3" json:"media_id,omitempty"` AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` ContentHash string `protobuf:"bytes,3,opt,name=content_hash,json=contentHash,proto3" json:"content_hash,omitempty"` Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` SourcePlugin string `protobuf:"bytes,5,opt,name=source_plugin,json=sourcePlugin,proto3" json:"source_plugin,omitempty"` SourceType string `protobuf:"bytes,6,opt,name=source_type,json=sourceType,proto3" json:"source_type,omitempty"` SourceRefId string `protobuf:"bytes,7,opt,name=source_ref_id,json=sourceRefId,proto3" json:"source_ref_id,omitempty"` SafeAdult string `protobuf:"bytes,8,opt,name=safe_adult,json=safeAdult,proto3" json:"safe_adult,omitempty"` SafeViolence string `protobuf:"bytes,9,opt,name=safe_violence,json=safeViolence,proto3" json:"safe_violence,omitempty"` SafeRacy string `protobuf:"bytes,10,opt,name=safe_racy,json=safeRacy,proto3" json:"safe_racy,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MediaAnalyzedEvent) Reset() { *x = MediaAnalyzedEvent{} mi := &file_v1_invoke_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *MediaAnalyzedEvent) String() string { return protoimpl.X.MessageStringOf(x) } func (*MediaAnalyzedEvent) ProtoMessage() {} func (x *MediaAnalyzedEvent) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_proto_msgTypes[16] 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 MediaAnalyzedEvent.ProtoReflect.Descriptor instead. func (*MediaAnalyzedEvent) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{16} } func (x *MediaAnalyzedEvent) GetMediaId() string { if x != nil { return x.MediaId } return "" } func (x *MediaAnalyzedEvent) GetAnalysisId() string { if x != nil { return x.AnalysisId } return "" } func (x *MediaAnalyzedEvent) GetContentHash() string { if x != nil { return x.ContentHash } return "" } func (x *MediaAnalyzedEvent) GetStatus() string { if x != nil { return x.Status } return "" } func (x *MediaAnalyzedEvent) GetSourcePlugin() string { if x != nil { return x.SourcePlugin } return "" } func (x *MediaAnalyzedEvent) GetSourceType() string { if x != nil { return x.SourceType } return "" } func (x *MediaAnalyzedEvent) GetSourceRefId() string { if x != nil { return x.SourceRefId } return "" } func (x *MediaAnalyzedEvent) GetSafeAdult() string { if x != nil { return x.SafeAdult } return "" } func (x *MediaAnalyzedEvent) GetSafeViolence() string { if x != nil { return x.SafeViolence } return "" } func (x *MediaAnalyzedEvent) GetSafeRacy() string { if x != nil { return x.SafeRacy } return "" } // AiToolCallRequest executes the guest-side Handler of a tool the plugin // registered via ai.tools.register (ai.ToolHandler). type AiToolCallRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Slug string `protobuf:"bytes,1,opt,name=slug,proto3" json:"slug,omitempty"` // JSON encoding of the params map. ParamsJson []byte `protobuf:"bytes,2,opt,name=params_json,json=paramsJson,proto3" json:"params_json,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AiToolCallRequest) Reset() { *x = AiToolCallRequest{} mi := &file_v1_invoke_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AiToolCallRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AiToolCallRequest) ProtoMessage() {} func (x *AiToolCallRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_proto_msgTypes[17] 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 AiToolCallRequest.ProtoReflect.Descriptor instead. func (*AiToolCallRequest) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{17} } func (x *AiToolCallRequest) GetSlug() string { if x != nil { return x.Slug } return "" } func (x *AiToolCallRequest) GetParamsJson() []byte { if x != nil { return x.ParamsJson } return nil } // AiToolCallResponse mirrors ai.ToolResult. A handler-level failure travels // in error_message (a normal tool outcome the model sees); AbiError stays // reserved for transport/decode/panic failures. type AiToolCallResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AiToolCallResponse) Reset() { *x = AiToolCallResponse{} mi := &file_v1_invoke_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AiToolCallResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AiToolCallResponse) ProtoMessage() {} func (x *AiToolCallResponse) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_proto_msgTypes[18] 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 AiToolCallResponse.ProtoReflect.Descriptor instead. func (*AiToolCallResponse) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{18} } func (x *AiToolCallResponse) GetContent() string { if x != nil { return x.Content } return "" } func (x *AiToolCallResponse) GetErrorMessage() string { if x != nil { return x.ErrorMessage } return "" } // BridgeCallRequest asks THIS plugin (the provider) to run a method on one of // its registered bridge services. The consumer side is the bridge.invoke // capability; payload encoding is agreed between the two plugins (JSON by // convention). type BridgeCallRequest struct { state protoimpl.MessageState `protogen:"open.v1"` ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` Payload []byte `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *BridgeCallRequest) Reset() { *x = BridgeCallRequest{} mi := &file_v1_invoke_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *BridgeCallRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*BridgeCallRequest) ProtoMessage() {} func (x *BridgeCallRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_proto_msgTypes[19] 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 BridgeCallRequest.ProtoReflect.Descriptor instead. func (*BridgeCallRequest) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{19} } func (x *BridgeCallRequest) GetServiceName() string { if x != nil { return x.ServiceName } return "" } func (x *BridgeCallRequest) GetMethod() string { if x != nil { return x.Method } return "" } func (x *BridgeCallRequest) GetPayload() []byte { if x != nil { return x.Payload } return nil } type BridgeCallResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *BridgeCallResponse) Reset() { *x = BridgeCallResponse{} mi := &file_v1_invoke_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *BridgeCallResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*BridgeCallResponse) ProtoMessage() {} func (x *BridgeCallResponse) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_proto_msgTypes[20] 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 BridgeCallResponse.ProtoReflect.Descriptor instead. func (*BridgeCallResponse) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{20} } func (x *BridgeCallResponse) GetPayload() []byte { if x != nil { return x.Payload } return nil } // DirectoryPanelSectionRequest renders the index-th registered panel section // (DirectoryExtensions.PanelSections[index], counted in // manifest.directory_extensions.panel_section_count). type DirectoryPanelSectionRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Index uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` // JSON encoding of the row data map. DataJson []byte `protobuf:"bytes,2,opt,name=data_json,json=dataJson,proto3" json:"data_json,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DirectoryPanelSectionRequest) Reset() { *x = DirectoryPanelSectionRequest{} mi := &file_v1_invoke_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DirectoryPanelSectionRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DirectoryPanelSectionRequest) ProtoMessage() {} func (x *DirectoryPanelSectionRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_proto_msgTypes[21] 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 DirectoryPanelSectionRequest.ProtoReflect.Descriptor instead. func (*DirectoryPanelSectionRequest) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{21} } func (x *DirectoryPanelSectionRequest) GetIndex() uint32 { if x != nil { return x.Index } return 0 } func (x *DirectoryPanelSectionRequest) GetDataJson() []byte { if x != nil { return x.DataJson } return nil } type DirectoryPanelSectionResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Html string `protobuf:"bytes,1,opt,name=html,proto3" json:"html,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DirectoryPanelSectionResponse) Reset() { *x = DirectoryPanelSectionResponse{} mi := &file_v1_invoke_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DirectoryPanelSectionResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DirectoryPanelSectionResponse) ProtoMessage() {} func (x *DirectoryPanelSectionResponse) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_proto_msgTypes[22] 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 DirectoryPanelSectionResponse.ProtoReflect.Descriptor instead. func (*DirectoryPanelSectionResponse) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{22} } func (x *DirectoryPanelSectionResponse) GetHtml() string { if x != nil { return x.Html } return "" } // DirectoryPinDecoratorRequest runs the index-th registered pin decorator, // which mutates the pin map in place; the mutated pin is returned. type DirectoryPinDecoratorRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Index uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` // JSON encoding of the pin map (mutated by the decorator). PinJson []byte `protobuf:"bytes,2,opt,name=pin_json,json=pinJson,proto3" json:"pin_json,omitempty"` // JSON encoding of the row data map (read-only input). DataJson []byte `protobuf:"bytes,3,opt,name=data_json,json=dataJson,proto3" json:"data_json,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DirectoryPinDecoratorRequest) Reset() { *x = DirectoryPinDecoratorRequest{} mi := &file_v1_invoke_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DirectoryPinDecoratorRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DirectoryPinDecoratorRequest) ProtoMessage() {} func (x *DirectoryPinDecoratorRequest) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_proto_msgTypes[23] 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 DirectoryPinDecoratorRequest.ProtoReflect.Descriptor instead. func (*DirectoryPinDecoratorRequest) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{23} } func (x *DirectoryPinDecoratorRequest) GetIndex() uint32 { if x != nil { return x.Index } return 0 } func (x *DirectoryPinDecoratorRequest) GetPinJson() []byte { if x != nil { return x.PinJson } return nil } func (x *DirectoryPinDecoratorRequest) GetDataJson() []byte { if x != nil { return x.DataJson } return nil } type DirectoryPinDecoratorResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // JSON encoding of the mutated pin map. PinJson []byte `protobuf:"bytes,1,opt,name=pin_json,json=pinJson,proto3" json:"pin_json,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DirectoryPinDecoratorResponse) Reset() { *x = DirectoryPinDecoratorResponse{} mi := &file_v1_invoke_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DirectoryPinDecoratorResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DirectoryPinDecoratorResponse) ProtoMessage() {} func (x *DirectoryPinDecoratorResponse) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_proto_msgTypes[24] 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 DirectoryPinDecoratorResponse.ProtoReflect.Descriptor instead. func (*DirectoryPinDecoratorResponse) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{24} } func (x *DirectoryPinDecoratorResponse) GetPinJson() []byte { if x != nil { return x.PinJson } return nil } // ModerationDecisionEvent mirrors plugin.ModerationDecisionEvent. type ModerationDecisionEvent struct { state protoimpl.MessageState `protogen:"open.v1"` MediaId string `protobuf:"bytes,1,opt,name=media_id,json=mediaId,proto3" json:"media_id,omitempty"` AnalysisId string `protobuf:"bytes,2,opt,name=analysis_id,json=analysisId,proto3" json:"analysis_id,omitempty"` Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` PreviousStatus string `protobuf:"bytes,4,opt,name=previous_status,json=previousStatus,proto3" json:"previous_status,omitempty"` SourcePlugin string `protobuf:"bytes,5,opt,name=source_plugin,json=sourcePlugin,proto3" json:"source_plugin,omitempty"` SourceType string `protobuf:"bytes,6,opt,name=source_type,json=sourceType,proto3" json:"source_type,omitempty"` SourceRefId string `protobuf:"bytes,7,opt,name=source_ref_id,json=sourceRefId,proto3" json:"source_ref_id,omitempty"` ModeratedBy string `protobuf:"bytes,8,opt,name=moderated_by,json=moderatedBy,proto3" json:"moderated_by,omitempty"` Note string `protobuf:"bytes,9,opt,name=note,proto3" json:"note,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ModerationDecisionEvent) Reset() { *x = ModerationDecisionEvent{} mi := &file_v1_invoke_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ModerationDecisionEvent) String() string { return protoimpl.X.MessageStringOf(x) } func (*ModerationDecisionEvent) ProtoMessage() {} func (x *ModerationDecisionEvent) ProtoReflect() protoreflect.Message { mi := &file_v1_invoke_proto_msgTypes[25] 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 ModerationDecisionEvent.ProtoReflect.Descriptor instead. func (*ModerationDecisionEvent) Descriptor() ([]byte, []int) { return file_v1_invoke_proto_rawDescGZIP(), []int{25} } func (x *ModerationDecisionEvent) GetMediaId() string { if x != nil { return x.MediaId } return "" } func (x *ModerationDecisionEvent) GetAnalysisId() string { if x != nil { return x.AnalysisId } return "" } func (x *ModerationDecisionEvent) GetStatus() string { if x != nil { return x.Status } return "" } func (x *ModerationDecisionEvent) GetPreviousStatus() string { if x != nil { return x.PreviousStatus } return "" } func (x *ModerationDecisionEvent) GetSourcePlugin() string { if x != nil { return x.SourcePlugin } return "" } func (x *ModerationDecisionEvent) GetSourceType() string { if x != nil { return x.SourceType } return "" } func (x *ModerationDecisionEvent) GetSourceRefId() string { if x != nil { return x.SourceRefId } return "" } func (x *ModerationDecisionEvent) GetModeratedBy() string { if x != nil { return x.ModeratedBy } return "" } func (x *ModerationDecisionEvent) GetNote() string { if x != nil { return x.Note } return "" } var File_v1_invoke_proto protoreflect.FileDescriptor const file_v1_invoke_proto_rawDesc = "" + "\n" + "\x0fv1/invoke.proto\x12\x06abi.v1\x1a\x11v1/manifest.proto\"l\n" + "\rInvokeRequest\x12 \n" + "\x04hook\x18\x01 \x01(\x0e2\f.abi.v1.HookR\x04hook\x12\x18\n" + "\apayload\x18\x02 \x01(\fR\apayload\x12\x1f\n" + "\vdeadline_ms\x18\x03 \x01(\x03R\n" + "deadlineMs\"R\n" + "\x0eInvokeResponse\x12\x18\n" + "\apayload\x18\x01 \x01(\fR\apayload\x12&\n" + "\x05error\x18\x02 \x01(\v2\x10.abi.v1.AbiErrorR\x05error\"N\n" + "\bAbiError\x12(\n" + "\x04code\x18\x01 \x01(\x0e2\x14.abi.v1.AbiErrorCodeR\x04code\x12\x18\n" + "\amessage\x18\x02 \x01(\tR\amessage\";\n" + "\x0fDescribeRequest\x12(\n" + "\x10host_abi_version\x18\x01 \x01(\rR\x0ehostAbiVersion\"F\n" + "\x10DescribeResponse\x122\n" + "\bmanifest\x18\x01 \x01(\v2\x16.abi.v1.PluginManifestR\bmanifest\"B\n" + "\vLoadRequest\x123\n" + "\vhost_config\x18\x01 \x01(\v2\x12.abi.v1.HostConfigR\n" + "hostConfig\"D\n" + "\n" + "HostConfig\x12\x17\n" + "\aapp_url\x18\x01 \x01(\tR\x06appUrl\x12\x1d\n" + "\n" + "media_path\x18\x02 \x01(\tR\tmediaPath\"\x0e\n" + "\fLoadResponse\"\x0f\n" + "\rUnloadRequest\"\x10\n" + "\x0eUnloadResponse\"H\n" + "\n" + "JobRequest\x12\x19\n" + "\bjob_type\x18\x01 \x01(\tR\ajobType\x12\x1f\n" + "\vconfig_json\x18\x02 \x01(\fR\n" + "configJson\".\n" + "\vJobResponse\x12\x1f\n" + "\vresult_json\x18\x01 \x01(\fR\n" + "resultJson\"S\n" + "\x0fRagFetchRequest\x12!\n" + "\fcontent_type\x18\x01 \x01(\tR\vcontentType\x12\x1d\n" + "\n" + "content_id\x18\x02 \x01(\tR\tcontentId\"<\n" + "\x10RagFetchResponse\x12\x14\n" + "\x05title\x18\x01 \x01(\tR\x05title\x12\x12\n" + "\x04text\x18\x02 \x01(\tR\x04text\"\xb4\x01\n" + "\x10MediaHookRequest\x12C\n" + "\x0emedia_analyzed\x18\x01 \x01(\v2\x1a.abi.v1.MediaAnalyzedEventH\x00R\rmediaAnalyzed\x12R\n" + "\x13moderation_decision\x18\x02 \x01(\v2\x1f.abi.v1.ModerationDecisionEventH\x00R\x12moderationDecisionB\a\n" + "\x05event\"\x13\n" + "\x11MediaHookResponse\"\xd6\x02\n" + "\x12MediaAnalyzedEvent\x12\x19\n" + "\bmedia_id\x18\x01 \x01(\tR\amediaId\x12\x1f\n" + "\vanalysis_id\x18\x02 \x01(\tR\n" + "analysisId\x12!\n" + "\fcontent_hash\x18\x03 \x01(\tR\vcontentHash\x12\x16\n" + "\x06status\x18\x04 \x01(\tR\x06status\x12#\n" + "\rsource_plugin\x18\x05 \x01(\tR\fsourcePlugin\x12\x1f\n" + "\vsource_type\x18\x06 \x01(\tR\n" + "sourceType\x12\"\n" + "\rsource_ref_id\x18\a \x01(\tR\vsourceRefId\x12\x1d\n" + "\n" + "safe_adult\x18\b \x01(\tR\tsafeAdult\x12#\n" + "\rsafe_violence\x18\t \x01(\tR\fsafeViolence\x12\x1b\n" + "\tsafe_racy\x18\n" + " \x01(\tR\bsafeRacy\"H\n" + "\x11AiToolCallRequest\x12\x12\n" + "\x04slug\x18\x01 \x01(\tR\x04slug\x12\x1f\n" + "\vparams_json\x18\x02 \x01(\fR\n" + "paramsJson\"S\n" + "\x12AiToolCallResponse\x12\x18\n" + "\acontent\x18\x01 \x01(\tR\acontent\x12#\n" + "\rerror_message\x18\x02 \x01(\tR\ferrorMessage\"h\n" + "\x11BridgeCallRequest\x12!\n" + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x12\x16\n" + "\x06method\x18\x02 \x01(\tR\x06method\x12\x18\n" + "\apayload\x18\x03 \x01(\fR\apayload\".\n" + "\x12BridgeCallResponse\x12\x18\n" + "\apayload\x18\x01 \x01(\fR\apayload\"Q\n" + "\x1cDirectoryPanelSectionRequest\x12\x14\n" + "\x05index\x18\x01 \x01(\rR\x05index\x12\x1b\n" + "\tdata_json\x18\x02 \x01(\fR\bdataJson\"3\n" + "\x1dDirectoryPanelSectionResponse\x12\x12\n" + "\x04html\x18\x01 \x01(\tR\x04html\"l\n" + "\x1cDirectoryPinDecoratorRequest\x12\x14\n" + "\x05index\x18\x01 \x01(\rR\x05index\x12\x19\n" + "\bpin_json\x18\x02 \x01(\fR\apinJson\x12\x1b\n" + "\tdata_json\x18\x03 \x01(\fR\bdataJson\":\n" + "\x1dDirectoryPinDecoratorResponse\x12\x19\n" + "\bpin_json\x18\x01 \x01(\fR\apinJson\"\xb7\x02\n" + "\x17ModerationDecisionEvent\x12\x19\n" + "\bmedia_id\x18\x01 \x01(\tR\amediaId\x12\x1f\n" + "\vanalysis_id\x18\x02 \x01(\tR\n" + "analysisId\x12\x16\n" + "\x06status\x18\x03 \x01(\tR\x06status\x12'\n" + "\x0fprevious_status\x18\x04 \x01(\tR\x0epreviousStatus\x12#\n" + "\rsource_plugin\x18\x05 \x01(\tR\fsourcePlugin\x12\x1f\n" + "\vsource_type\x18\x06 \x01(\tR\n" + "sourceType\x12\"\n" + "\rsource_ref_id\x18\a \x01(\tR\vsourceRefId\x12!\n" + "\fmoderated_by\x18\b \x01(\tR\vmoderatedBy\x12\x12\n" + "\x04note\x18\t \x01(\tR\x04note*\xea\x02\n" + "\x04Hook\x12\x14\n" + "\x10HOOK_UNSPECIFIED\x10\x00\x12\x15\n" + "\x11HOOK_RENDER_BLOCK\x10\x01\x12\x18\n" + "\x14HOOK_RENDER_TEMPLATE\x10\x02\x12\x14\n" + "\x10HOOK_HANDLE_HTTP\x10\x03\x12\f\n" + "\bHOOK_JOB\x10\x04\x12\r\n" + "\tHOOK_LOAD\x10\x05\x12\x0f\n" + "\vHOOK_UNLOAD\x10\x06\x12\x12\n" + "\x0eHOOK_RAG_FETCH\x10\a\x12\x13\n" + "\x0fHOOK_MEDIA_HOOK\x10\b\x12\x11\n" + "\rHOOK_DESCRIBE\x10\t\x12\x13\n" + "\x0fHOOK_RENDER_TAG\x10\n" + "\x12\x15\n" + "\x11HOOK_APPLY_FILTER\x10\v\x12\x15\n" + "\x11HOOK_AI_TOOL_CALL\x10\f\x12\x14\n" + "\x10HOOK_BRIDGE_CALL\x10\r\x12 \n" + "\x1cHOOK_DIRECTORY_PANEL_SECTION\x10\x0e\x12 \n" + "\x1cHOOK_DIRECTORY_PIN_DECORATOR\x10\x0f*\x95\x02\n" + "\fAbiErrorCode\x12\x1e\n" + "\x1aABI_ERROR_CODE_UNSPECIFIED\x10\x00\x12\x1b\n" + "\x17ABI_ERROR_CODE_INTERNAL\x10\x01\x12\x19\n" + "\x15ABI_ERROR_CODE_DECODE\x10\x02\x12 \n" + "\x1cABI_ERROR_CODE_UNIMPLEMENTED\x10\x03\x12$\n" + " ABI_ERROR_CODE_DEADLINE_EXCEEDED\x10\x04\x12$\n" + " ABI_ERROR_CODE_PERMISSION_DENIED\x10\x05\x12\x1d\n" + "\x19ABI_ERROR_CODE_TX_EXPIRED\x10\x06\x12 \n" + "\x1cABI_ERROR_CODE_EGRESS_DENIED\x10\aB5Z3git.dev.alexdunmow.com/block/pluginsdk/abi/v1;abiv1b\x06proto3" var ( file_v1_invoke_proto_rawDescOnce sync.Once file_v1_invoke_proto_rawDescData []byte ) func file_v1_invoke_proto_rawDescGZIP() []byte { file_v1_invoke_proto_rawDescOnce.Do(func() { file_v1_invoke_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_v1_invoke_proto_rawDesc), len(file_v1_invoke_proto_rawDesc))) }) return file_v1_invoke_proto_rawDescData } var file_v1_invoke_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_v1_invoke_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_v1_invoke_proto_goTypes = []any{ (Hook)(0), // 0: abi.v1.Hook (AbiErrorCode)(0), // 1: abi.v1.AbiErrorCode (*InvokeRequest)(nil), // 2: abi.v1.InvokeRequest (*InvokeResponse)(nil), // 3: abi.v1.InvokeResponse (*AbiError)(nil), // 4: abi.v1.AbiError (*DescribeRequest)(nil), // 5: abi.v1.DescribeRequest (*DescribeResponse)(nil), // 6: abi.v1.DescribeResponse (*LoadRequest)(nil), // 7: abi.v1.LoadRequest (*HostConfig)(nil), // 8: abi.v1.HostConfig (*LoadResponse)(nil), // 9: abi.v1.LoadResponse (*UnloadRequest)(nil), // 10: abi.v1.UnloadRequest (*UnloadResponse)(nil), // 11: abi.v1.UnloadResponse (*JobRequest)(nil), // 12: abi.v1.JobRequest (*JobResponse)(nil), // 13: abi.v1.JobResponse (*RagFetchRequest)(nil), // 14: abi.v1.RagFetchRequest (*RagFetchResponse)(nil), // 15: abi.v1.RagFetchResponse (*MediaHookRequest)(nil), // 16: abi.v1.MediaHookRequest (*MediaHookResponse)(nil), // 17: abi.v1.MediaHookResponse (*MediaAnalyzedEvent)(nil), // 18: abi.v1.MediaAnalyzedEvent (*AiToolCallRequest)(nil), // 19: abi.v1.AiToolCallRequest (*AiToolCallResponse)(nil), // 20: abi.v1.AiToolCallResponse (*BridgeCallRequest)(nil), // 21: abi.v1.BridgeCallRequest (*BridgeCallResponse)(nil), // 22: abi.v1.BridgeCallResponse (*DirectoryPanelSectionRequest)(nil), // 23: abi.v1.DirectoryPanelSectionRequest (*DirectoryPanelSectionResponse)(nil), // 24: abi.v1.DirectoryPanelSectionResponse (*DirectoryPinDecoratorRequest)(nil), // 25: abi.v1.DirectoryPinDecoratorRequest (*DirectoryPinDecoratorResponse)(nil), // 26: abi.v1.DirectoryPinDecoratorResponse (*ModerationDecisionEvent)(nil), // 27: abi.v1.ModerationDecisionEvent (*PluginManifest)(nil), // 28: abi.v1.PluginManifest } var file_v1_invoke_proto_depIdxs = []int32{ 0, // 0: abi.v1.InvokeRequest.hook:type_name -> abi.v1.Hook 4, // 1: abi.v1.InvokeResponse.error:type_name -> abi.v1.AbiError 1, // 2: abi.v1.AbiError.code:type_name -> abi.v1.AbiErrorCode 28, // 3: abi.v1.DescribeResponse.manifest:type_name -> abi.v1.PluginManifest 8, // 4: abi.v1.LoadRequest.host_config:type_name -> abi.v1.HostConfig 18, // 5: abi.v1.MediaHookRequest.media_analyzed:type_name -> abi.v1.MediaAnalyzedEvent 27, // 6: abi.v1.MediaHookRequest.moderation_decision:type_name -> abi.v1.ModerationDecisionEvent 7, // [7:7] is the sub-list for method output_type 7, // [7:7] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name } func init() { file_v1_invoke_proto_init() } func file_v1_invoke_proto_init() { if File_v1_invoke_proto != nil { return } file_v1_manifest_proto_init() file_v1_invoke_proto_msgTypes[14].OneofWrappers = []any{ (*MediaHookRequest_MediaAnalyzed)(nil), (*MediaHookRequest_ModerationDecision)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_v1_invoke_proto_rawDesc), len(file_v1_invoke_proto_rawDesc)), NumEnums: 2, NumMessages: 26, NumExtensions: 0, NumServices: 0, }, GoTypes: file_v1_invoke_proto_goTypes, DependencyIndexes: file_v1_invoke_proto_depIdxs, EnumInfos: file_v1_invoke_proto_enumTypes, MessageInfos: file_v1_invoke_proto_msgTypes, }.Build() File_v1_invoke_proto = out.File file_v1_invoke_proto_goTypes = nil file_v1_invoke_proto_depIdxs = nil }