// manifest.proto — the static plugin manifest (WO-WZ-001). // // PluginManifest is the wire form of everything that is *static data* in // core/plugin/registration.go (PluginRegistration). It is produced once at // publish time by calling the guest's DESCRIBE hook and stored as manifest.pb // inside the .bnp artifact; the CMS loader reads it without instantiating the // wasm module. // // Function-valued registration fields cannot cross the wire; they map to // either a hook (Load/Unload/JobHandlers/MediaHooks/HTTPHandler), a boolean // presence flag here, or an artifact directory (Assets → assets/, // Schemas → schemas/, Migrations → migrations/). See core/docs/wasm-abi.md // for the full field-by-field mapping. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 // protoc (unknown) // source: v1/manifest.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) ) // PluginManifest mirrors the static surface of plugin.PluginRegistration. type PluginManifest struct { state protoimpl.MessageState `protogen:"open.v1"` // ABI major version the plugin was built against. The host rejects // manifests whose major version it does not support. AbiVersion uint32 `protobuf:"varint,1,opt,name=abi_version,json=abiVersion,proto3" json:"abi_version,omitempty"` // PluginRegistration.Name / .Version. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` // PluginRegistration.Dependencies. Dependencies []*Dependency `protobuf:"bytes,4,rep,name=dependencies,proto3" json:"dependencies,omitempty"` // Blocks registered via BlockRegistry.Register (captured by DESCRIBE). Blocks []*BlockMeta `protobuf:"bytes,5,rep,name=blocks,proto3" json:"blocks,omitempty"` // Blocks registered via BlockRegistry.RegisterTemplateOverride[WithSource]. BlockTemplateOverrides []*BlockTemplateOverride `protobuf:"bytes,6,rep,name=block_template_overrides,json=blockTemplateOverrides,proto3" json:"block_template_overrides,omitempty"` // Templates registered via TemplateRegistry (captured by DESCRIBE). TemplateKeys []string `protobuf:"bytes,7,rep,name=template_keys,json=templateKeys,proto3" json:"template_keys,omitempty"` // TemplateRegistry.Register SystemTemplates []*SystemTemplateMeta `protobuf:"bytes,8,rep,name=system_templates,json=systemTemplates,proto3" json:"system_templates,omitempty"` // RegisterSystemTemplate PageTemplates []*PageTemplateMeta `protobuf:"bytes,9,rep,name=page_templates,json=pageTemplates,proto3" json:"page_templates,omitempty"` // RegisterPageTemplate EmailWrapperSystemKeys []string `protobuf:"bytes,10,rep,name=email_wrapper_system_keys,json=emailWrapperSystemKeys,proto3" json:"email_wrapper_system_keys,omitempty"` // RegisterEmailWrapper // PluginRegistration.AdminPages. AdminPages []*AdminPage `protobuf:"bytes,11,rep,name=admin_pages,json=adminPages,proto3" json:"admin_pages,omitempty"` // PluginRegistration.SettingsSchema / .ThemePresets / .BundledFonts (JSON). SettingsSchema []byte `protobuf:"bytes,12,opt,name=settings_schema,json=settingsSchema,proto3" json:"settings_schema,omitempty"` ThemePresets []byte `protobuf:"bytes,13,opt,name=theme_presets,json=themePresets,proto3" json:"theme_presets,omitempty"` BundledFonts []byte `protobuf:"bytes,14,opt,name=bundled_fonts,json=bundledFonts,proto3" json:"bundled_fonts,omitempty"` // PluginRegistration.MasterPages. MasterPages []*MasterPageDefinition `protobuf:"bytes,15,rep,name=master_pages,json=masterPages,proto3" json:"master_pages,omitempty"` // PluginRegistration.AIActions. AiActions []*AiAction `protobuf:"bytes,16,rep,name=ai_actions,json=aiActions,proto3" json:"ai_actions,omitempty"` // RBAC roles for the plugin's own Connect services, merged from // ServiceRegistration (full method name → role, e.g. // "/symposium.v1.ForumService/CreateThread" → "admin"). RbacMethodRoles map[string]string `protobuf:"bytes,17,rep,name=rbac_method_roles,json=rbacMethodRoles,proto3" json:"rbac_method_roles,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // PluginRegistration.CSSManifest. CssManifest *CssManifest `protobuf:"bytes,18,opt,name=css_manifest,json=cssManifest,proto3" json:"css_manifest,omitempty"` // PluginRegistration.RequiredIconPacks. RequiredIconPacks []string `protobuf:"bytes,19,rep,name=required_icon_packs,json=requiredIconPacks,proto3" json:"required_icon_packs,omitempty"` // PluginRegistration.DirectoryExtensions (static fields only; the // panel-section / pin-decorator callbacks are counted so the host knows // how many guest callbacks exist). DirectoryExtensions *DirectoryExtensions `protobuf:"bytes,20,opt,name=directory_extensions,json=directoryExtensions,proto3" json:"directory_extensions,omitempty"` // Job types the plugin handles (keys of PluginRegistration.JobHandlers). // The host dispatches these via the JOB hook. JobTypes []string `protobuf:"bytes,21,rep,name=job_types,json=jobTypes,proto3" json:"job_types,omitempty"` // Content types the plugin registered RAG content fetchers for // (RAGService.RegisterContentFetcher inverts to a manifest declaration; // the host calls back via the RAG_FETCH hook). RagContentFetcherTypes []string `protobuf:"bytes,22,rep,name=rag_content_fetcher_types,json=ragContentFetcherTypes,proto3" json:"rag_content_fetcher_types,omitempty"` // PluginRegistration.SettingsPanel — Module Federation path of the // settings panel component ("" when the plugin has none). SettingsPanel string `protobuf:"bytes,23,opt,name=settings_panel,json=settingsPanel,proto3" json:"settings_panel,omitempty"` // Presence flags for function-valued registration fields that invert to // hooks at runtime. HasHttpHandler bool `protobuf:"varint,24,opt,name=has_http_handler,json=hasHttpHandler,proto3" json:"has_http_handler,omitempty"` // PluginRegistration.HTTPHandler → HANDLE_HTTP HasLoadHook bool `protobuf:"varint,25,opt,name=has_load_hook,json=hasLoadHook,proto3" json:"has_load_hook,omitempty"` // PluginRegistration.Load → LOAD HasUnloadHook bool `protobuf:"varint,26,opt,name=has_unload_hook,json=hasUnloadHook,proto3" json:"has_unload_hook,omitempty"` // PluginRegistration.Unload → UNLOAD HasMediaHooks bool `protobuf:"varint,27,opt,name=has_media_hooks,json=hasMediaHooks,proto3" json:"has_media_hooks,omitempty"` // PluginRegistration.MediaHooks → MEDIA_HOOK HasProvisioner bool `protobuf:"varint,28,opt,name=has_provisioner,json=hasProvisioner,proto3" json:"has_provisioner,omitempty"` // PluginRegistration.RegisterWithProvisioner // Core CMS services the plugin mounts with custom RBAC roles // (CoreServiceBindings.Bind becomes a static declaration; the host // constructs and mounts the handlers). CoreServiceBindings []*CoreServiceBinding `protobuf:"bytes,29,rep,name=core_service_bindings,json=coreServiceBindings,proto3" json:"core_service_bindings,omitempty"` // data_dir requests a persistent per-plugin /data preopen at load. Its // source of truth is the plugin.mod `data_dir = true` key, which lives // outside the guest code, so DESCRIBE cannot populate it: the packer // (`ninja plugin build`) stamps it into the manifest from plugin.mod so // the loader reads one source. OFF by default. DataDir bool `protobuf:"varint,30,opt,name=data_dir,json=dataDir,proto3" json:"data_dir,omitempty"` // Template tags the plugin provides (blocks.RegisterTag). For each name the // host registers a pongo2 tag that invokes the guest via HOOK_RENDER_TAG. // Captured by DESCRIBE from the blocks tag registry (Register-time). DeclaredTags []string `protobuf:"bytes,31,rep,name=declared_tags,json=declaredTags,proto3" json:"declared_tags,omitempty"` // Template filters the plugin provides (blocks.RegisterFilter). For each // name the host registers a pongo2 filter that invokes the guest via // HOOK_APPLY_FILTER. Captured by DESCRIBE from the blocks filter registry. DeclaredFilters []string `protobuf:"bytes,32,rep,name=declared_filters,json=declaredFilters,proto3" json:"declared_filters,omitempty"` // codeless marks a declarative artifact with NO plugin.wasm (WO-WZ-020): // the host runs it entirely — block definitions from the artifact's // blocks/ dir (blocks.yaml manifest-FS layout), seed data from seed/, // assets/migrations as usual — and never instantiates a guest. A codeless // manifest MUST NOT declare any computing hook (http handler, jobs, // load/unload, RAG fetchers, media hooks, tags/filters, provisioner, // service bindings, directory callbacks); the packer and the host reader // both reject the combination. Not produced by DESCRIBE (there is no guest // to describe): `ninja plugin build` synthesizes the manifest from // plugin.mod + the artifact's declarative files. Codeless bool `protobuf:"varint,33,opt,name=codeless,proto3" json:"codeless,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PluginManifest) Reset() { *x = PluginManifest{} mi := &file_v1_manifest_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PluginManifest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PluginManifest) ProtoMessage() {} func (x *PluginManifest) ProtoReflect() protoreflect.Message { mi := &file_v1_manifest_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 PluginManifest.ProtoReflect.Descriptor instead. func (*PluginManifest) Descriptor() ([]byte, []int) { return file_v1_manifest_proto_rawDescGZIP(), []int{0} } func (x *PluginManifest) GetAbiVersion() uint32 { if x != nil { return x.AbiVersion } return 0 } func (x *PluginManifest) GetName() string { if x != nil { return x.Name } return "" } func (x *PluginManifest) GetVersion() string { if x != nil { return x.Version } return "" } func (x *PluginManifest) GetDependencies() []*Dependency { if x != nil { return x.Dependencies } return nil } func (x *PluginManifest) GetBlocks() []*BlockMeta { if x != nil { return x.Blocks } return nil } func (x *PluginManifest) GetBlockTemplateOverrides() []*BlockTemplateOverride { if x != nil { return x.BlockTemplateOverrides } return nil } func (x *PluginManifest) GetTemplateKeys() []string { if x != nil { return x.TemplateKeys } return nil } func (x *PluginManifest) GetSystemTemplates() []*SystemTemplateMeta { if x != nil { return x.SystemTemplates } return nil } func (x *PluginManifest) GetPageTemplates() []*PageTemplateMeta { if x != nil { return x.PageTemplates } return nil } func (x *PluginManifest) GetEmailWrapperSystemKeys() []string { if x != nil { return x.EmailWrapperSystemKeys } return nil } func (x *PluginManifest) GetAdminPages() []*AdminPage { if x != nil { return x.AdminPages } return nil } func (x *PluginManifest) GetSettingsSchema() []byte { if x != nil { return x.SettingsSchema } return nil } func (x *PluginManifest) GetThemePresets() []byte { if x != nil { return x.ThemePresets } return nil } func (x *PluginManifest) GetBundledFonts() []byte { if x != nil { return x.BundledFonts } return nil } func (x *PluginManifest) GetMasterPages() []*MasterPageDefinition { if x != nil { return x.MasterPages } return nil } func (x *PluginManifest) GetAiActions() []*AiAction { if x != nil { return x.AiActions } return nil } func (x *PluginManifest) GetRbacMethodRoles() map[string]string { if x != nil { return x.RbacMethodRoles } return nil } func (x *PluginManifest) GetCssManifest() *CssManifest { if x != nil { return x.CssManifest } return nil } func (x *PluginManifest) GetRequiredIconPacks() []string { if x != nil { return x.RequiredIconPacks } return nil } func (x *PluginManifest) GetDirectoryExtensions() *DirectoryExtensions { if x != nil { return x.DirectoryExtensions } return nil } func (x *PluginManifest) GetJobTypes() []string { if x != nil { return x.JobTypes } return nil } func (x *PluginManifest) GetRagContentFetcherTypes() []string { if x != nil { return x.RagContentFetcherTypes } return nil } func (x *PluginManifest) GetSettingsPanel() string { if x != nil { return x.SettingsPanel } return "" } func (x *PluginManifest) GetHasHttpHandler() bool { if x != nil { return x.HasHttpHandler } return false } func (x *PluginManifest) GetHasLoadHook() bool { if x != nil { return x.HasLoadHook } return false } func (x *PluginManifest) GetHasUnloadHook() bool { if x != nil { return x.HasUnloadHook } return false } func (x *PluginManifest) GetHasMediaHooks() bool { if x != nil { return x.HasMediaHooks } return false } func (x *PluginManifest) GetHasProvisioner() bool { if x != nil { return x.HasProvisioner } return false } func (x *PluginManifest) GetCoreServiceBindings() []*CoreServiceBinding { if x != nil { return x.CoreServiceBindings } return nil } func (x *PluginManifest) GetDataDir() bool { if x != nil { return x.DataDir } return false } func (x *PluginManifest) GetDeclaredTags() []string { if x != nil { return x.DeclaredTags } return nil } func (x *PluginManifest) GetDeclaredFilters() []string { if x != nil { return x.DeclaredFilters } return nil } func (x *PluginManifest) GetCodeless() bool { if x != nil { return x.Codeless } return false } // Dependency mirrors plugin.Dependency. type Dependency struct { state protoimpl.MessageState `protogen:"open.v1"` Plugin string `protobuf:"bytes,1,opt,name=plugin,proto3" json:"plugin,omitempty"` MinVersion string `protobuf:"bytes,2,opt,name=min_version,json=minVersion,proto3" json:"min_version,omitempty"` Required bool `protobuf:"varint,3,opt,name=required,proto3" json:"required,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Dependency) Reset() { *x = Dependency{} mi := &file_v1_manifest_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Dependency) String() string { return protoimpl.X.MessageStringOf(x) } func (*Dependency) ProtoMessage() {} func (x *Dependency) ProtoReflect() protoreflect.Message { mi := &file_v1_manifest_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 Dependency.ProtoReflect.Descriptor instead. func (*Dependency) Descriptor() ([]byte, []int) { return file_v1_manifest_proto_rawDescGZIP(), []int{1} } func (x *Dependency) GetPlugin() string { if x != nil { return x.Plugin } return "" } func (x *Dependency) GetMinVersion() string { if x != nil { return x.MinVersion } return "" } func (x *Dependency) GetRequired() bool { if x != nil { return x.Required } return false } // BlockMeta mirrors blocks.BlockMeta. Source is omitted: the host assigns it // from the manifest's plugin name at load time. type BlockMeta struct { state protoimpl.MessageState `protogen:"open.v1"` Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` // blocks.BlockCategory string ("content", "layout", "navigation", "blog", // "theme"). Category string `protobuf:"bytes,4,opt,name=category,proto3" json:"category,omitempty"` HasInternalSlot bool `protobuf:"varint,5,opt,name=has_internal_slot,json=hasInternalSlot,proto3" json:"has_internal_slot,omitempty"` Hidden bool `protobuf:"varint,6,opt,name=hidden,proto3" json:"hidden,omitempty"` EditorJs string `protobuf:"bytes,7,opt,name=editor_js,json=editorJs,proto3" json:"editor_js,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *BlockMeta) Reset() { *x = BlockMeta{} mi := &file_v1_manifest_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *BlockMeta) String() string { return protoimpl.X.MessageStringOf(x) } func (*BlockMeta) ProtoMessage() {} func (x *BlockMeta) ProtoReflect() protoreflect.Message { mi := &file_v1_manifest_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 BlockMeta.ProtoReflect.Descriptor instead. func (*BlockMeta) Descriptor() ([]byte, []int) { return file_v1_manifest_proto_rawDescGZIP(), []int{2} } func (x *BlockMeta) GetKey() string { if x != nil { return x.Key } return "" } func (x *BlockMeta) GetTitle() string { if x != nil { return x.Title } return "" } func (x *BlockMeta) GetDescription() string { if x != nil { return x.Description } return "" } func (x *BlockMeta) GetCategory() string { if x != nil { return x.Category } return "" } func (x *BlockMeta) GetHasInternalSlot() bool { if x != nil { return x.HasInternalSlot } return false } func (x *BlockMeta) GetHidden() bool { if x != nil { return x.Hidden } return false } func (x *BlockMeta) GetEditorJs() string { if x != nil { return x.EditorJs } return "" } // BlockTemplateOverride captures BlockRegistry.RegisterTemplateOverride and // RegisterTemplateOverrideWithSource registrations. type BlockTemplateOverride struct { state protoimpl.MessageState `protogen:"open.v1"` TemplateKey string `protobuf:"bytes,1,opt,name=template_key,json=templateKey,proto3" json:"template_key,omitempty"` BlockKey string `protobuf:"bytes,2,opt,name=block_key,json=blockKey,proto3" json:"block_key,omitempty"` // Override source label; empty for plain RegisterTemplateOverride. Source string `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *BlockTemplateOverride) Reset() { *x = BlockTemplateOverride{} mi := &file_v1_manifest_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *BlockTemplateOverride) String() string { return protoimpl.X.MessageStringOf(x) } func (*BlockTemplateOverride) ProtoMessage() {} func (x *BlockTemplateOverride) ProtoReflect() protoreflect.Message { mi := &file_v1_manifest_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 BlockTemplateOverride.ProtoReflect.Descriptor instead. func (*BlockTemplateOverride) Descriptor() ([]byte, []int) { return file_v1_manifest_proto_rawDescGZIP(), []int{3} } func (x *BlockTemplateOverride) GetTemplateKey() string { if x != nil { return x.TemplateKey } return "" } func (x *BlockTemplateOverride) GetBlockKey() string { if x != nil { return x.BlockKey } return "" } func (x *BlockTemplateOverride) GetSource() string { if x != nil { return x.Source } return "" } // SystemTemplateMeta mirrors templates.SystemTemplateMeta. type SystemTemplateMeta struct { state protoimpl.MessageState `protogen:"open.v1"` Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SystemTemplateMeta) Reset() { *x = SystemTemplateMeta{} mi := &file_v1_manifest_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SystemTemplateMeta) String() string { return protoimpl.X.MessageStringOf(x) } func (*SystemTemplateMeta) ProtoMessage() {} func (x *SystemTemplateMeta) ProtoReflect() protoreflect.Message { mi := &file_v1_manifest_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 SystemTemplateMeta.ProtoReflect.Descriptor instead. func (*SystemTemplateMeta) Descriptor() ([]byte, []int) { return file_v1_manifest_proto_rawDescGZIP(), []int{4} } func (x *SystemTemplateMeta) GetKey() string { if x != nil { return x.Key } return "" } func (x *SystemTemplateMeta) GetTitle() string { if x != nil { return x.Title } return "" } func (x *SystemTemplateMeta) GetDescription() string { if x != nil { return x.Description } return "" } // PageTemplateMeta mirrors templates.PageTemplateMeta plus the system // template it was registered under. type PageTemplateMeta struct { state protoimpl.MessageState `protogen:"open.v1"` SystemKey string `protobuf:"bytes,1,opt,name=system_key,json=systemKey,proto3" json:"system_key,omitempty"` Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` Slots []string `protobuf:"bytes,5,rep,name=slots,proto3" json:"slots,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PageTemplateMeta) Reset() { *x = PageTemplateMeta{} mi := &file_v1_manifest_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PageTemplateMeta) String() string { return protoimpl.X.MessageStringOf(x) } func (*PageTemplateMeta) ProtoMessage() {} func (x *PageTemplateMeta) ProtoReflect() protoreflect.Message { mi := &file_v1_manifest_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 PageTemplateMeta.ProtoReflect.Descriptor instead. func (*PageTemplateMeta) Descriptor() ([]byte, []int) { return file_v1_manifest_proto_rawDescGZIP(), []int{5} } func (x *PageTemplateMeta) GetSystemKey() string { if x != nil { return x.SystemKey } return "" } func (x *PageTemplateMeta) GetKey() string { if x != nil { return x.Key } return "" } func (x *PageTemplateMeta) GetTitle() string { if x != nil { return x.Title } return "" } func (x *PageTemplateMeta) GetDescription() string { if x != nil { return x.Description } return "" } func (x *PageTemplateMeta) GetSlots() []string { if x != nil { return x.Slots } return nil } // AdminPage mirrors plugin.AdminPage. type AdminPage struct { state protoimpl.MessageState `protogen:"open.v1"` Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` Icon string `protobuf:"bytes,3,opt,name=icon,proto3" json:"icon,omitempty"` Route string `protobuf:"bytes,4,opt,name=route,proto3" json:"route,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AdminPage) Reset() { *x = AdminPage{} mi := &file_v1_manifest_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AdminPage) String() string { return protoimpl.X.MessageStringOf(x) } func (*AdminPage) ProtoMessage() {} func (x *AdminPage) ProtoReflect() protoreflect.Message { mi := &file_v1_manifest_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 AdminPage.ProtoReflect.Descriptor instead. func (*AdminPage) Descriptor() ([]byte, []int) { return file_v1_manifest_proto_rawDescGZIP(), []int{6} } func (x *AdminPage) GetKey() string { if x != nil { return x.Key } return "" } func (x *AdminPage) GetTitle() string { if x != nil { return x.Title } return "" } func (x *AdminPage) GetIcon() string { if x != nil { return x.Icon } return "" } func (x *AdminPage) GetRoute() string { if x != nil { return x.Route } return "" } // AiAction mirrors plugin.AIAction. type AiAction struct { state protoimpl.MessageState `protogen:"open.v1"` Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` DefaultProvider string `protobuf:"bytes,4,opt,name=default_provider,json=defaultProvider,proto3" json:"default_provider,omitempty"` DefaultModel string `protobuf:"bytes,5,opt,name=default_model,json=defaultModel,proto3" json:"default_model,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AiAction) Reset() { *x = AiAction{} mi := &file_v1_manifest_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AiAction) String() string { return protoimpl.X.MessageStringOf(x) } func (*AiAction) ProtoMessage() {} func (x *AiAction) ProtoReflect() protoreflect.Message { mi := &file_v1_manifest_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 AiAction.ProtoReflect.Descriptor instead. func (*AiAction) Descriptor() ([]byte, []int) { return file_v1_manifest_proto_rawDescGZIP(), []int{7} } func (x *AiAction) GetKey() string { if x != nil { return x.Key } return "" } func (x *AiAction) GetTitle() string { if x != nil { return x.Title } return "" } func (x *AiAction) GetDescription() string { if x != nil { return x.Description } return "" } func (x *AiAction) GetDefaultProvider() string { if x != nil { return x.DefaultProvider } return "" } func (x *AiAction) GetDefaultModel() string { if x != nil { return x.DefaultModel } return "" } // CssManifest mirrors plugin.CSSManifest. type CssManifest struct { state protoimpl.MessageState `protogen:"open.v1"` NpmPackages map[string]string `protobuf:"bytes,1,rep,name=npm_packages,json=npmPackages,proto3" json:"npm_packages,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` CssDirectives []string `protobuf:"bytes,2,rep,name=css_directives,json=cssDirectives,proto3" json:"css_directives,omitempty"` InputCssAppend string `protobuf:"bytes,3,opt,name=input_css_append,json=inputCssAppend,proto3" json:"input_css_append,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CssManifest) Reset() { *x = CssManifest{} mi := &file_v1_manifest_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CssManifest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CssManifest) ProtoMessage() {} func (x *CssManifest) ProtoReflect() protoreflect.Message { mi := &file_v1_manifest_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 CssManifest.ProtoReflect.Descriptor instead. func (*CssManifest) Descriptor() ([]byte, []int) { return file_v1_manifest_proto_rawDescGZIP(), []int{8} } func (x *CssManifest) GetNpmPackages() map[string]string { if x != nil { return x.NpmPackages } return nil } func (x *CssManifest) GetCssDirectives() []string { if x != nil { return x.CssDirectives } return nil } func (x *CssManifest) GetInputCssAppend() string { if x != nil { return x.InputCssAppend } return "" } // DirectoryExtensions mirrors the static fields of plugin.DirectoryExtensions. type DirectoryExtensions struct { state protoimpl.MessageState `protogen:"open.v1"` BooleanFilterFields []string `protobuf:"bytes,1,rep,name=boolean_filter_fields,json=booleanFilterFields,proto3" json:"boolean_filter_fields,omitempty"` SelectFilterFields []string `protobuf:"bytes,2,rep,name=select_filter_fields,json=selectFilterFields,proto3" json:"select_filter_fields,omitempty"` BadgeLabels map[string]*BadgeLabel `protobuf:"bytes,3,rep,name=badge_labels,json=badgeLabels,proto3" json:"badge_labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Counts of the callback slices (PanelSections / PinDecorators) so the host // knows how many guest callbacks the plugin registered. Their invocation // hook is a runtime-WO concern. PanelSectionCount uint32 `protobuf:"varint,4,opt,name=panel_section_count,json=panelSectionCount,proto3" json:"panel_section_count,omitempty"` PinDecoratorCount uint32 `protobuf:"varint,5,opt,name=pin_decorator_count,json=pinDecoratorCount,proto3" json:"pin_decorator_count,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DirectoryExtensions) Reset() { *x = DirectoryExtensions{} mi := &file_v1_manifest_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DirectoryExtensions) String() string { return protoimpl.X.MessageStringOf(x) } func (*DirectoryExtensions) ProtoMessage() {} func (x *DirectoryExtensions) ProtoReflect() protoreflect.Message { mi := &file_v1_manifest_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 DirectoryExtensions.ProtoReflect.Descriptor instead. func (*DirectoryExtensions) Descriptor() ([]byte, []int) { return file_v1_manifest_proto_rawDescGZIP(), []int{9} } func (x *DirectoryExtensions) GetBooleanFilterFields() []string { if x != nil { return x.BooleanFilterFields } return nil } func (x *DirectoryExtensions) GetSelectFilterFields() []string { if x != nil { return x.SelectFilterFields } return nil } func (x *DirectoryExtensions) GetBadgeLabels() map[string]*BadgeLabel { if x != nil { return x.BadgeLabels } return nil } func (x *DirectoryExtensions) GetPanelSectionCount() uint32 { if x != nil { return x.PanelSectionCount } return 0 } func (x *DirectoryExtensions) GetPinDecoratorCount() uint32 { if x != nil { return x.PinDecoratorCount } return 0 } // BadgeLabel mirrors the [2]string value of DirectoryExtensions.BadgeLabels. type BadgeLabel struct { state protoimpl.MessageState `protogen:"open.v1"` Positive string `protobuf:"bytes,1,opt,name=positive,proto3" json:"positive,omitempty"` Negative string `protobuf:"bytes,2,opt,name=negative,proto3" json:"negative,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *BadgeLabel) Reset() { *x = BadgeLabel{} mi := &file_v1_manifest_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *BadgeLabel) String() string { return protoimpl.X.MessageStringOf(x) } func (*BadgeLabel) ProtoMessage() {} func (x *BadgeLabel) ProtoReflect() protoreflect.Message { mi := &file_v1_manifest_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 BadgeLabel.ProtoReflect.Descriptor instead. func (*BadgeLabel) Descriptor() ([]byte, []int) { return file_v1_manifest_proto_rawDescGZIP(), []int{10} } func (x *BadgeLabel) GetPositive() string { if x != nil { return x.Positive } return "" } func (x *BadgeLabel) GetNegative() string { if x != nil { return x.Negative } return "" } // MasterPageDefinition mirrors plugin.MasterPageDefinition. type MasterPageDefinition struct { state protoimpl.MessageState `protogen:"open.v1"` Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` PageTemplates []string `protobuf:"bytes,3,rep,name=page_templates,json=pageTemplates,proto3" json:"page_templates,omitempty"` Blocks []*MasterPageBlock `protobuf:"bytes,4,rep,name=blocks,proto3" json:"blocks,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MasterPageDefinition) Reset() { *x = MasterPageDefinition{} mi := &file_v1_manifest_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *MasterPageDefinition) String() string { return protoimpl.X.MessageStringOf(x) } func (*MasterPageDefinition) ProtoMessage() {} func (x *MasterPageDefinition) ProtoReflect() protoreflect.Message { mi := &file_v1_manifest_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 MasterPageDefinition.ProtoReflect.Descriptor instead. func (*MasterPageDefinition) Descriptor() ([]byte, []int) { return file_v1_manifest_proto_rawDescGZIP(), []int{11} } func (x *MasterPageDefinition) GetKey() string { if x != nil { return x.Key } return "" } func (x *MasterPageDefinition) GetTitle() string { if x != nil { return x.Title } return "" } func (x *MasterPageDefinition) GetPageTemplates() []string { if x != nil { return x.PageTemplates } return nil } func (x *MasterPageDefinition) GetBlocks() []*MasterPageBlock { if x != nil { return x.Blocks } return nil } // MasterPageBlock mirrors plugin.MasterPageBlock. type MasterPageBlock struct { state protoimpl.MessageState `protogen:"open.v1"` BlockKey string `protobuf:"bytes,1,opt,name=block_key,json=blockKey,proto3" json:"block_key,omitempty"` Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` // JSON encoding of the block's content map. ContentJson []byte `protobuf:"bytes,3,opt,name=content_json,json=contentJson,proto3" json:"content_json,omitempty"` HtmlContent *string `protobuf:"bytes,4,opt,name=html_content,json=htmlContent,proto3,oneof" json:"html_content,omitempty"` Slot string `protobuf:"bytes,5,opt,name=slot,proto3" json:"slot,omitempty"` SortOrder int32 `protobuf:"varint,6,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MasterPageBlock) Reset() { *x = MasterPageBlock{} mi := &file_v1_manifest_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *MasterPageBlock) String() string { return protoimpl.X.MessageStringOf(x) } func (*MasterPageBlock) ProtoMessage() {} func (x *MasterPageBlock) ProtoReflect() protoreflect.Message { mi := &file_v1_manifest_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 MasterPageBlock.ProtoReflect.Descriptor instead. func (*MasterPageBlock) Descriptor() ([]byte, []int) { return file_v1_manifest_proto_rawDescGZIP(), []int{12} } func (x *MasterPageBlock) GetBlockKey() string { if x != nil { return x.BlockKey } return "" } func (x *MasterPageBlock) GetTitle() string { if x != nil { return x.Title } return "" } func (x *MasterPageBlock) GetContentJson() []byte { if x != nil { return x.ContentJson } return nil } func (x *MasterPageBlock) GetHtmlContent() string { if x != nil && x.HtmlContent != nil { return *x.HtmlContent } return "" } func (x *MasterPageBlock) GetSlot() string { if x != nil { return x.Slot } return "" } func (x *MasterPageBlock) GetSortOrder() int32 { if x != nil { return x.SortOrder } return 0 } // CoreServiceBinding mirrors a plugin.CoreServiceBindings.Bind call: mount // the named core-provided Connect service with these RBAC roles. type CoreServiceBinding struct { state protoimpl.MessageState `protogen:"open.v1"` ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` MethodRoles map[string]string `protobuf:"bytes,2,rep,name=method_roles,json=methodRoles,proto3" json:"method_roles,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CoreServiceBinding) Reset() { *x = CoreServiceBinding{} mi := &file_v1_manifest_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CoreServiceBinding) String() string { return protoimpl.X.MessageStringOf(x) } func (*CoreServiceBinding) ProtoMessage() {} func (x *CoreServiceBinding) ProtoReflect() protoreflect.Message { mi := &file_v1_manifest_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 CoreServiceBinding.ProtoReflect.Descriptor instead. func (*CoreServiceBinding) Descriptor() ([]byte, []int) { return file_v1_manifest_proto_rawDescGZIP(), []int{13} } func (x *CoreServiceBinding) GetServiceName() string { if x != nil { return x.ServiceName } return "" } func (x *CoreServiceBinding) GetMethodRoles() map[string]string { if x != nil { return x.MethodRoles } return nil } var File_v1_manifest_proto protoreflect.FileDescriptor const file_v1_manifest_proto_rawDesc = "" + "\n" + "\x11v1/manifest.proto\x12\x06abi.v1\"\x8e\r\n" + "\x0ePluginManifest\x12\x1f\n" + "\vabi_version\x18\x01 \x01(\rR\n" + "abiVersion\x12\x12\n" + "\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n" + "\aversion\x18\x03 \x01(\tR\aversion\x126\n" + "\fdependencies\x18\x04 \x03(\v2\x12.abi.v1.DependencyR\fdependencies\x12)\n" + "\x06blocks\x18\x05 \x03(\v2\x11.abi.v1.BlockMetaR\x06blocks\x12W\n" + "\x18block_template_overrides\x18\x06 \x03(\v2\x1d.abi.v1.BlockTemplateOverrideR\x16blockTemplateOverrides\x12#\n" + "\rtemplate_keys\x18\a \x03(\tR\ftemplateKeys\x12E\n" + "\x10system_templates\x18\b \x03(\v2\x1a.abi.v1.SystemTemplateMetaR\x0fsystemTemplates\x12?\n" + "\x0epage_templates\x18\t \x03(\v2\x18.abi.v1.PageTemplateMetaR\rpageTemplates\x129\n" + "\x19email_wrapper_system_keys\x18\n" + " \x03(\tR\x16emailWrapperSystemKeys\x122\n" + "\vadmin_pages\x18\v \x03(\v2\x11.abi.v1.AdminPageR\n" + "adminPages\x12'\n" + "\x0fsettings_schema\x18\f \x01(\fR\x0esettingsSchema\x12#\n" + "\rtheme_presets\x18\r \x01(\fR\fthemePresets\x12#\n" + "\rbundled_fonts\x18\x0e \x01(\fR\fbundledFonts\x12?\n" + "\fmaster_pages\x18\x0f \x03(\v2\x1c.abi.v1.MasterPageDefinitionR\vmasterPages\x12/\n" + "\n" + "ai_actions\x18\x10 \x03(\v2\x10.abi.v1.AiActionR\taiActions\x12W\n" + "\x11rbac_method_roles\x18\x11 \x03(\v2+.abi.v1.PluginManifest.RbacMethodRolesEntryR\x0frbacMethodRoles\x126\n" + "\fcss_manifest\x18\x12 \x01(\v2\x13.abi.v1.CssManifestR\vcssManifest\x12.\n" + "\x13required_icon_packs\x18\x13 \x03(\tR\x11requiredIconPacks\x12N\n" + "\x14directory_extensions\x18\x14 \x01(\v2\x1b.abi.v1.DirectoryExtensionsR\x13directoryExtensions\x12\x1b\n" + "\tjob_types\x18\x15 \x03(\tR\bjobTypes\x129\n" + "\x19rag_content_fetcher_types\x18\x16 \x03(\tR\x16ragContentFetcherTypes\x12%\n" + "\x0esettings_panel\x18\x17 \x01(\tR\rsettingsPanel\x12(\n" + "\x10has_http_handler\x18\x18 \x01(\bR\x0ehasHttpHandler\x12\"\n" + "\rhas_load_hook\x18\x19 \x01(\bR\vhasLoadHook\x12&\n" + "\x0fhas_unload_hook\x18\x1a \x01(\bR\rhasUnloadHook\x12&\n" + "\x0fhas_media_hooks\x18\x1b \x01(\bR\rhasMediaHooks\x12'\n" + "\x0fhas_provisioner\x18\x1c \x01(\bR\x0ehasProvisioner\x12N\n" + "\x15core_service_bindings\x18\x1d \x03(\v2\x1a.abi.v1.CoreServiceBindingR\x13coreServiceBindings\x12\x19\n" + "\bdata_dir\x18\x1e \x01(\bR\adataDir\x12#\n" + "\rdeclared_tags\x18\x1f \x03(\tR\fdeclaredTags\x12)\n" + "\x10declared_filters\x18 \x03(\tR\x0fdeclaredFilters\x12\x1a\n" + "\bcodeless\x18! \x01(\bR\bcodeless\x1aB\n" + "\x14RbacMethodRolesEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"a\n" + "\n" + "Dependency\x12\x16\n" + "\x06plugin\x18\x01 \x01(\tR\x06plugin\x12\x1f\n" + "\vmin_version\x18\x02 \x01(\tR\n" + "minVersion\x12\x1a\n" + "\brequired\x18\x03 \x01(\bR\brequired\"\xd2\x01\n" + "\tBlockMeta\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05title\x18\x02 \x01(\tR\x05title\x12 \n" + "\vdescription\x18\x03 \x01(\tR\vdescription\x12\x1a\n" + "\bcategory\x18\x04 \x01(\tR\bcategory\x12*\n" + "\x11has_internal_slot\x18\x05 \x01(\bR\x0fhasInternalSlot\x12\x16\n" + "\x06hidden\x18\x06 \x01(\bR\x06hidden\x12\x1b\n" + "\teditor_js\x18\a \x01(\tR\beditorJs\"o\n" + "\x15BlockTemplateOverride\x12!\n" + "\ftemplate_key\x18\x01 \x01(\tR\vtemplateKey\x12\x1b\n" + "\tblock_key\x18\x02 \x01(\tR\bblockKey\x12\x16\n" + "\x06source\x18\x03 \x01(\tR\x06source\"^\n" + "\x12SystemTemplateMeta\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05title\x18\x02 \x01(\tR\x05title\x12 \n" + "\vdescription\x18\x03 \x01(\tR\vdescription\"\x91\x01\n" + "\x10PageTemplateMeta\x12\x1d\n" + "\n" + "system_key\x18\x01 \x01(\tR\tsystemKey\x12\x10\n" + "\x03key\x18\x02 \x01(\tR\x03key\x12\x14\n" + "\x05title\x18\x03 \x01(\tR\x05title\x12 \n" + "\vdescription\x18\x04 \x01(\tR\vdescription\x12\x14\n" + "\x05slots\x18\x05 \x03(\tR\x05slots\"]\n" + "\tAdminPage\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05title\x18\x02 \x01(\tR\x05title\x12\x12\n" + "\x04icon\x18\x03 \x01(\tR\x04icon\x12\x14\n" + "\x05route\x18\x04 \x01(\tR\x05route\"\xa4\x01\n" + "\bAiAction\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05title\x18\x02 \x01(\tR\x05title\x12 \n" + "\vdescription\x18\x03 \x01(\tR\vdescription\x12)\n" + "\x10default_provider\x18\x04 \x01(\tR\x0fdefaultProvider\x12#\n" + "\rdefault_model\x18\x05 \x01(\tR\fdefaultModel\"\xe7\x01\n" + "\vCssManifest\x12G\n" + "\fnpm_packages\x18\x01 \x03(\v2$.abi.v1.CssManifest.NpmPackagesEntryR\vnpmPackages\x12%\n" + "\x0ecss_directives\x18\x02 \x03(\tR\rcssDirectives\x12(\n" + "\x10input_css_append\x18\x03 \x01(\tR\x0einputCssAppend\x1a>\n" + "\x10NpmPackagesEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x80\x03\n" + "\x13DirectoryExtensions\x122\n" + "\x15boolean_filter_fields\x18\x01 \x03(\tR\x13booleanFilterFields\x120\n" + "\x14select_filter_fields\x18\x02 \x03(\tR\x12selectFilterFields\x12O\n" + "\fbadge_labels\x18\x03 \x03(\v2,.abi.v1.DirectoryExtensions.BadgeLabelsEntryR\vbadgeLabels\x12.\n" + "\x13panel_section_count\x18\x04 \x01(\rR\x11panelSectionCount\x12.\n" + "\x13pin_decorator_count\x18\x05 \x01(\rR\x11pinDecoratorCount\x1aR\n" + "\x10BadgeLabelsEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12(\n" + "\x05value\x18\x02 \x01(\v2\x12.abi.v1.BadgeLabelR\x05value:\x028\x01\"D\n" + "\n" + "BadgeLabel\x12\x1a\n" + "\bpositive\x18\x01 \x01(\tR\bpositive\x12\x1a\n" + "\bnegative\x18\x02 \x01(\tR\bnegative\"\x96\x01\n" + "\x14MasterPageDefinition\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05title\x18\x02 \x01(\tR\x05title\x12%\n" + "\x0epage_templates\x18\x03 \x03(\tR\rpageTemplates\x12/\n" + "\x06blocks\x18\x04 \x03(\v2\x17.abi.v1.MasterPageBlockR\x06blocks\"\xd3\x01\n" + "\x0fMasterPageBlock\x12\x1b\n" + "\tblock_key\x18\x01 \x01(\tR\bblockKey\x12\x14\n" + "\x05title\x18\x02 \x01(\tR\x05title\x12!\n" + "\fcontent_json\x18\x03 \x01(\fR\vcontentJson\x12&\n" + "\fhtml_content\x18\x04 \x01(\tH\x00R\vhtmlContent\x88\x01\x01\x12\x12\n" + "\x04slot\x18\x05 \x01(\tR\x04slot\x12\x1d\n" + "\n" + "sort_order\x18\x06 \x01(\x05R\tsortOrderB\x0f\n" + "\r_html_content\"\xc7\x01\n" + "\x12CoreServiceBinding\x12!\n" + "\fservice_name\x18\x01 \x01(\tR\vserviceName\x12N\n" + "\fmethod_roles\x18\x02 \x03(\v2+.abi.v1.CoreServiceBinding.MethodRolesEntryR\vmethodRoles\x1a>\n" + "\x10MethodRolesEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B5Z3git.dev.alexdunmow.com/block/pluginsdk/abi/v1;abiv1b\x06proto3" var ( file_v1_manifest_proto_rawDescOnce sync.Once file_v1_manifest_proto_rawDescData []byte ) func file_v1_manifest_proto_rawDescGZIP() []byte { file_v1_manifest_proto_rawDescOnce.Do(func() { file_v1_manifest_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_v1_manifest_proto_rawDesc), len(file_v1_manifest_proto_rawDesc))) }) return file_v1_manifest_proto_rawDescData } var file_v1_manifest_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_v1_manifest_proto_goTypes = []any{ (*PluginManifest)(nil), // 0: abi.v1.PluginManifest (*Dependency)(nil), // 1: abi.v1.Dependency (*BlockMeta)(nil), // 2: abi.v1.BlockMeta (*BlockTemplateOverride)(nil), // 3: abi.v1.BlockTemplateOverride (*SystemTemplateMeta)(nil), // 4: abi.v1.SystemTemplateMeta (*PageTemplateMeta)(nil), // 5: abi.v1.PageTemplateMeta (*AdminPage)(nil), // 6: abi.v1.AdminPage (*AiAction)(nil), // 7: abi.v1.AiAction (*CssManifest)(nil), // 8: abi.v1.CssManifest (*DirectoryExtensions)(nil), // 9: abi.v1.DirectoryExtensions (*BadgeLabel)(nil), // 10: abi.v1.BadgeLabel (*MasterPageDefinition)(nil), // 11: abi.v1.MasterPageDefinition (*MasterPageBlock)(nil), // 12: abi.v1.MasterPageBlock (*CoreServiceBinding)(nil), // 13: abi.v1.CoreServiceBinding nil, // 14: abi.v1.PluginManifest.RbacMethodRolesEntry nil, // 15: abi.v1.CssManifest.NpmPackagesEntry nil, // 16: abi.v1.DirectoryExtensions.BadgeLabelsEntry nil, // 17: abi.v1.CoreServiceBinding.MethodRolesEntry } var file_v1_manifest_proto_depIdxs = []int32{ 1, // 0: abi.v1.PluginManifest.dependencies:type_name -> abi.v1.Dependency 2, // 1: abi.v1.PluginManifest.blocks:type_name -> abi.v1.BlockMeta 3, // 2: abi.v1.PluginManifest.block_template_overrides:type_name -> abi.v1.BlockTemplateOverride 4, // 3: abi.v1.PluginManifest.system_templates:type_name -> abi.v1.SystemTemplateMeta 5, // 4: abi.v1.PluginManifest.page_templates:type_name -> abi.v1.PageTemplateMeta 6, // 5: abi.v1.PluginManifest.admin_pages:type_name -> abi.v1.AdminPage 11, // 6: abi.v1.PluginManifest.master_pages:type_name -> abi.v1.MasterPageDefinition 7, // 7: abi.v1.PluginManifest.ai_actions:type_name -> abi.v1.AiAction 14, // 8: abi.v1.PluginManifest.rbac_method_roles:type_name -> abi.v1.PluginManifest.RbacMethodRolesEntry 8, // 9: abi.v1.PluginManifest.css_manifest:type_name -> abi.v1.CssManifest 9, // 10: abi.v1.PluginManifest.directory_extensions:type_name -> abi.v1.DirectoryExtensions 13, // 11: abi.v1.PluginManifest.core_service_bindings:type_name -> abi.v1.CoreServiceBinding 15, // 12: abi.v1.CssManifest.npm_packages:type_name -> abi.v1.CssManifest.NpmPackagesEntry 16, // 13: abi.v1.DirectoryExtensions.badge_labels:type_name -> abi.v1.DirectoryExtensions.BadgeLabelsEntry 12, // 14: abi.v1.MasterPageDefinition.blocks:type_name -> abi.v1.MasterPageBlock 17, // 15: abi.v1.CoreServiceBinding.method_roles:type_name -> abi.v1.CoreServiceBinding.MethodRolesEntry 10, // 16: abi.v1.DirectoryExtensions.BadgeLabelsEntry.value:type_name -> abi.v1.BadgeLabel 17, // [17:17] is the sub-list for method output_type 17, // [17:17] is the sub-list for method input_type 17, // [17:17] is the sub-list for extension type_name 17, // [17:17] is the sub-list for extension extendee 0, // [0:17] is the sub-list for field type_name } func init() { file_v1_manifest_proto_init() } func file_v1_manifest_proto_init() { if File_v1_manifest_proto != nil { return } file_v1_manifest_proto_msgTypes[12].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_v1_manifest_proto_rawDesc), len(file_v1_manifest_proto_rawDesc)), NumEnums: 0, NumMessages: 18, NumExtensions: 0, NumServices: 0, }, GoTypes: file_v1_manifest_proto_goTypes, DependencyIndexes: file_v1_manifest_proto_depIdxs, MessageInfos: file_v1_manifest_proto_msgTypes, }.Build() File_v1_manifest_proto = out.File file_v1_manifest_proto_goTypes = nil file_v1_manifest_proto_depIdxs = nil }