pluginsdk/abi/v1/render.pb.go
Alex Dunmow b6d40ed8ac feat: bootstrap block/pluginsdk — the proto-first plugin SDK (P1)
Bootstrap the plugin-facing SDK module so the fleet migration (P2) becomes a
mechanical block/core/X -> block/pluginsdk/X import rewrite.

- abi/proto/v1: the single source-of-truth ABI proto tree, copied from the cms
  authoring source (cms/backend/abi/proto/v1) with go_package retargeted to
  git.dev.alexdunmow.com/block/pluginsdk/abi/v1;abiv1. Kills the hand-kept
  cms/core proto duplication (audit gap 4).
- abi/v1: generated Go bindings (buf generate); byte-identical to core's abi/v1
  save the embedded go_package path.
- plugin/ (registration + DI surface), plugin/wasmguest/** (transport shim,
  caps stubs, bnwasm db driver, testdata fixtures + golden .pb), and the
  guest-facing type packages: blocks (+builtin/shared/tags), templates
  (+pongo/bn), auth, settings, content, gating, crypto, rbac, video, ai,
  subscriptions, menus, datasources. Internal imports rewritten core ->
  pluginsdk; zero block/core references remain.
- README/AGENTS(+CLAUDE symlink)/Makefile: proto is the contract, Go is one
  binding; no replace directives; templates/bn is a synced copy authored in cms.

Spec: cms docs/superpowers/specs/2026-07-07-proto-first-plugin-sdk-design.md

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 10:51:00 +08:00

2007 lines
62 KiB
Go

// render.proto — block/template render payloads and the explicit
// render-context envelope (WO-WZ-001).
//
// RenderContext serializes every value blocks currently read from ctx via
// core/blocks/context.go. Function-valued context entries (SlotRenderer,
// MediaResolver, EmbedResolver, the generic Queries value) cannot cross the
// wire; see core/docs/wasm-abi.md for how each one maps.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc (unknown)
// source: v1/render.proto
package abiv1
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
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)
)
// RenderBlockRequest renders one block (blocks.BlockFunc).
type RenderBlockRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
BlockKey string `protobuf:"bytes,1,opt,name=block_key,json=blockKey,proto3" json:"block_key,omitempty"`
// JSON encoding of the block's content map.
ContentJson []byte `protobuf:"bytes,2,opt,name=content_json,json=contentJson,proto3" json:"content_json,omitempty"`
RenderContext *RenderContext `protobuf:"bytes,3,opt,name=render_context,json=renderContext,proto3" json:"render_context,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RenderBlockRequest) Reset() {
*x = RenderBlockRequest{}
mi := &file_v1_render_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RenderBlockRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RenderBlockRequest) ProtoMessage() {}
func (x *RenderBlockRequest) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 RenderBlockRequest.ProtoReflect.Descriptor instead.
func (*RenderBlockRequest) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{0}
}
func (x *RenderBlockRequest) GetBlockKey() string {
if x != nil {
return x.BlockKey
}
return ""
}
func (x *RenderBlockRequest) GetContentJson() []byte {
if x != nil {
return x.ContentJson
}
return nil
}
func (x *RenderBlockRequest) GetRenderContext() *RenderContext {
if x != nil {
return x.RenderContext
}
return nil
}
type RenderBlockResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Final rendered HTML for a plain (non-template) block. Ignored when
// `powered` is set.
Html string `protobuf:"bytes,1,opt,name=html,proto3" json:"html,omitempty"`
// Set when the block is "powered": instead of final HTML, the block hands
// back a template string + data map (blocks.PoweredBlock) and the HOST
// renders it (pongo2/ninjatpl, host-side) AFTER this RENDER_BLOCK call has
// returned. Because the block-invoke has already returned, the guest
// instance is free, so any plugin tag/filter the template hits (RENDER_TAG /
// APPLY_FILTER) is a fresh invoke — no re-entrancy. A singular message field
// has explicit presence: nil (GetPowered() == nil) means a plain HTML block.
Powered *PoweredBlock `protobuf:"bytes,2,opt,name=powered,proto3" json:"powered,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RenderBlockResponse) Reset() {
*x = RenderBlockResponse{}
mi := &file_v1_render_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RenderBlockResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RenderBlockResponse) ProtoMessage() {}
func (x *RenderBlockResponse) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 RenderBlockResponse.ProtoReflect.Descriptor instead.
func (*RenderBlockResponse) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{1}
}
func (x *RenderBlockResponse) GetHtml() string {
if x != nil {
return x.Html
}
return ""
}
func (x *RenderBlockResponse) GetPowered() *PoweredBlock {
if x != nil {
return x.Powered
}
return nil
}
// PoweredBlock is a template-backed block result. The host renders `template`
// with `data_json` as the pongo2 data map. See core/docs/wasm-abi.md
// §"Powered blocks (render as a host capability)".
type PoweredBlock struct {
state protoimpl.MessageState `protogen:"open.v1"`
// ninjatpl/pongo2 template source the host renders host-side.
Template string `protobuf:"bytes,1,opt,name=template,proto3" json:"template,omitempty"`
// JSON encoding of the template data map (map[string]any).
DataJson []byte `protobuf:"bytes,2,opt,name=data_json,json=dataJson,proto3" json:"data_json,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PoweredBlock) Reset() {
*x = PoweredBlock{}
mi := &file_v1_render_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PoweredBlock) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PoweredBlock) ProtoMessage() {}
func (x *PoweredBlock) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 PoweredBlock.ProtoReflect.Descriptor instead.
func (*PoweredBlock) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{2}
}
func (x *PoweredBlock) GetTemplate() string {
if x != nil {
return x.Template
}
return ""
}
func (x *PoweredBlock) GetDataJson() []byte {
if x != nil {
return x.DataJson
}
return nil
}
// RenderTemplateRequest renders one template (templates.TemplateFunc).
type RenderTemplateRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
TemplateKey string `protobuf:"bytes,1,opt,name=template_key,json=templateKey,proto3" json:"template_key,omitempty"`
// JSON encoding of the template's doc map (the page document).
DocJson []byte `protobuf:"bytes,2,opt,name=doc_json,json=docJson,proto3" json:"doc_json,omitempty"`
RenderContext *RenderContext `protobuf:"bytes,3,opt,name=render_context,json=renderContext,proto3" json:"render_context,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RenderTemplateRequest) Reset() {
*x = RenderTemplateRequest{}
mi := &file_v1_render_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RenderTemplateRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RenderTemplateRequest) ProtoMessage() {}
func (x *RenderTemplateRequest) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 RenderTemplateRequest.ProtoReflect.Descriptor instead.
func (*RenderTemplateRequest) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{3}
}
func (x *RenderTemplateRequest) GetTemplateKey() string {
if x != nil {
return x.TemplateKey
}
return ""
}
func (x *RenderTemplateRequest) GetDocJson() []byte {
if x != nil {
return x.DocJson
}
return nil
}
func (x *RenderTemplateRequest) GetRenderContext() *RenderContext {
if x != nil {
return x.RenderContext
}
return nil
}
type RenderTemplateResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Html []byte `protobuf:"bytes,1,opt,name=html,proto3" json:"html,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RenderTemplateResponse) Reset() {
*x = RenderTemplateResponse{}
mi := &file_v1_render_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RenderTemplateResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RenderTemplateResponse) ProtoMessage() {}
func (x *RenderTemplateResponse) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 RenderTemplateResponse.ProtoReflect.Descriptor instead.
func (*RenderTemplateResponse) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{4}
}
func (x *RenderTemplateResponse) GetHtml() []byte {
if x != nil {
return x.Html
}
return nil
}
// RenderTagRequest invokes a plugin-declared template tag (HOOK_RENDER_TAG).
// The host wires one pongo2 tag per manifest.declared_tags name; when its
// engine hits that tag while rendering a powered block, it calls back here.
// Re-entrancy-free: the originating RENDER_BLOCK has already returned.
type RenderTagRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
TagName string `protobuf:"bytes,1,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"`
// JSON encoding of the tag's parsed arguments (map[string]any).
ArgsJson []byte `protobuf:"bytes,2,opt,name=args_json,json=argsJson,proto3" json:"args_json,omitempty"`
// The active render context (same envelope RENDER_BLOCK carries), so the
// tag fn can read page/post/request state via blocks.Get*.
RenderContext *RenderContext `protobuf:"bytes,3,opt,name=render_context,json=renderContext,proto3" json:"render_context,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RenderTagRequest) Reset() {
*x = RenderTagRequest{}
mi := &file_v1_render_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RenderTagRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RenderTagRequest) ProtoMessage() {}
func (x *RenderTagRequest) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 RenderTagRequest.ProtoReflect.Descriptor instead.
func (*RenderTagRequest) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{5}
}
func (x *RenderTagRequest) GetTagName() string {
if x != nil {
return x.TagName
}
return ""
}
func (x *RenderTagRequest) GetArgsJson() []byte {
if x != nil {
return x.ArgsJson
}
return nil
}
func (x *RenderTagRequest) GetRenderContext() *RenderContext {
if x != nil {
return x.RenderContext
}
return nil
}
// RenderTagResponse returns the tag's rendered HTML. A non-empty `error`
// carries the tag fn's returned error (distinct from an AbiError, which is
// reserved for transport/dispatch/panic failures).
type RenderTagResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Html string `protobuf:"bytes,1,opt,name=html,proto3" json:"html,omitempty"`
Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RenderTagResponse) Reset() {
*x = RenderTagResponse{}
mi := &file_v1_render_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RenderTagResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RenderTagResponse) ProtoMessage() {}
func (x *RenderTagResponse) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 RenderTagResponse.ProtoReflect.Descriptor instead.
func (*RenderTagResponse) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{6}
}
func (x *RenderTagResponse) GetHtml() string {
if x != nil {
return x.Html
}
return ""
}
func (x *RenderTagResponse) GetError() string {
if x != nil {
return x.Error
}
return ""
}
// ApplyFilterRequest invokes a plugin-declared template filter
// (HOOK_APPLY_FILTER). The host wires one pongo2 filter per
// manifest.declared_filters name.
type ApplyFilterRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
FilterName string `protobuf:"bytes,1,opt,name=filter_name,json=filterName,proto3" json:"filter_name,omitempty"`
// The value the filter is applied to (pongo2 passes strings).
Input string `protobuf:"bytes,2,opt,name=input,proto3" json:"input,omitempty"`
// JSON encoding of the filter's arguments (map[string]any).
ArgsJson []byte `protobuf:"bytes,3,opt,name=args_json,json=argsJson,proto3" json:"args_json,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ApplyFilterRequest) Reset() {
*x = ApplyFilterRequest{}
mi := &file_v1_render_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ApplyFilterRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ApplyFilterRequest) ProtoMessage() {}
func (x *ApplyFilterRequest) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 ApplyFilterRequest.ProtoReflect.Descriptor instead.
func (*ApplyFilterRequest) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{7}
}
func (x *ApplyFilterRequest) GetFilterName() string {
if x != nil {
return x.FilterName
}
return ""
}
func (x *ApplyFilterRequest) GetInput() string {
if x != nil {
return x.Input
}
return ""
}
func (x *ApplyFilterRequest) GetArgsJson() []byte {
if x != nil {
return x.ArgsJson
}
return nil
}
// ApplyFilterResponse returns the filtered output. A non-empty `error`
// carries the filter fn's returned error.
type ApplyFilterResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Output string `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ApplyFilterResponse) Reset() {
*x = ApplyFilterResponse{}
mi := &file_v1_render_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ApplyFilterResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ApplyFilterResponse) ProtoMessage() {}
func (x *ApplyFilterResponse) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 ApplyFilterResponse.ProtoReflect.Descriptor instead.
func (*ApplyFilterResponse) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{8}
}
func (x *ApplyFilterResponse) GetOutput() string {
if x != nil {
return x.Output
}
return ""
}
func (x *ApplyFilterResponse) GetError() string {
if x != nil {
return x.Error
}
return ""
}
// RenderContext is the explicit envelope of the context values enumerated
// from core/blocks/context.go. Absent sub-messages mean the corresponding
// ctx value was not set (the getters return nil / zero values).
type RenderContext struct {
state protoimpl.MessageState `protogen:"open.v1"`
// blocks.GetRequest — subset of *http.Request that render code reads.
Request *RequestInfo `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"`
// blocks.GetBlockContext — the pongo2 template data struct.
BlockContext *BlockContext `protobuf:"bytes,2,opt,name=block_context,json=blockContext,proto3" json:"block_context,omitempty"`
// blocks.GetTemplateKey.
TemplateKey string `protobuf:"bytes,3,opt,name=template_key,json=templateKey,proto3" json:"template_key,omitempty"`
// blocks.GetCurrentPage.
Page *PageContext `protobuf:"bytes,4,opt,name=page,proto3" json:"page,omitempty"`
// blocks.GetCurrentBlogPost.
Post *PostContext `protobuf:"bytes,5,opt,name=post,proto3" json:"post,omitempty"`
// blocks.GetCurrentAuthor.
Author *AuthorContext `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"`
// blocks.GetCurrentCategory.
Category *CategoryContext `protobuf:"bytes,7,opt,name=category,proto3" json:"category,omitempty"`
// blocks.GetMasterPage; presence doubles as IsMasterPageContext.
MasterPage *MasterPageContext `protobuf:"bytes,8,opt,name=master_page,json=masterPage,proto3" json:"master_page,omitempty"`
// blocks.GetRequestedPath (404 pages).
RequestedPath string `protobuf:"bytes,9,opt,name=requested_path,json=requestedPath,proto3" json:"requested_path,omitempty"`
// blocks.GetInjectedSlots (master page rendering).
InjectedSlots map[string]string `protobuf:"bytes,10,rep,name=injected_slots,json=injectedSlots,proto3" json:"injected_slots,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
// blocks.IsEditor.
IsEditor bool `protobuf:"varint,11,opt,name=is_editor,json=isEditor,proto3" json:"is_editor,omitempty"`
// blocks.GetExpectedSlots.
ExpectedSlots []string `protobuf:"bytes,12,rep,name=expected_slots,json=expectedSlots,proto3" json:"expected_slots,omitempty"`
// blocks.GetBlockID (UUID; empty for uuid.Nil).
BlockId string `protobuf:"bytes,13,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"`
// blocks.GetCurrentPageID (UUID; empty for uuid.Nil).
CurrentPageId string `protobuf:"bytes,14,opt,name=current_page_id,json=currentPageId,proto3" json:"current_page_id,omitempty"`
// blocks.GetHumanProofBanner.
HumanProofBanner *HumanProofBanner `protobuf:"bytes,15,opt,name=human_proof_banner,json=humanProofBanner,proto3" json:"human_proof_banner,omitempty"`
// blocks.GetDetailRow.
DetailRow *DetailRow `protobuf:"bytes,16,opt,name=detail_row,json=detailRow,proto3" json:"detail_row,omitempty"`
// Active theme variables, JSON-encoded.
ThemeJson []byte `protobuf:"bytes,17,opt,name=theme_json,json=themeJson,proto3" json:"theme_json,omitempty"`
// Site locale (BCP 47).
Locale string `protobuf:"bytes,18,opt,name=locale,proto3" json:"locale,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RenderContext) Reset() {
*x = RenderContext{}
mi := &file_v1_render_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RenderContext) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RenderContext) ProtoMessage() {}
func (x *RenderContext) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 RenderContext.ProtoReflect.Descriptor instead.
func (*RenderContext) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{9}
}
func (x *RenderContext) GetRequest() *RequestInfo {
if x != nil {
return x.Request
}
return nil
}
func (x *RenderContext) GetBlockContext() *BlockContext {
if x != nil {
return x.BlockContext
}
return nil
}
func (x *RenderContext) GetTemplateKey() string {
if x != nil {
return x.TemplateKey
}
return ""
}
func (x *RenderContext) GetPage() *PageContext {
if x != nil {
return x.Page
}
return nil
}
func (x *RenderContext) GetPost() *PostContext {
if x != nil {
return x.Post
}
return nil
}
func (x *RenderContext) GetAuthor() *AuthorContext {
if x != nil {
return x.Author
}
return nil
}
func (x *RenderContext) GetCategory() *CategoryContext {
if x != nil {
return x.Category
}
return nil
}
func (x *RenderContext) GetMasterPage() *MasterPageContext {
if x != nil {
return x.MasterPage
}
return nil
}
func (x *RenderContext) GetRequestedPath() string {
if x != nil {
return x.RequestedPath
}
return ""
}
func (x *RenderContext) GetInjectedSlots() map[string]string {
if x != nil {
return x.InjectedSlots
}
return nil
}
func (x *RenderContext) GetIsEditor() bool {
if x != nil {
return x.IsEditor
}
return false
}
func (x *RenderContext) GetExpectedSlots() []string {
if x != nil {
return x.ExpectedSlots
}
return nil
}
func (x *RenderContext) GetBlockId() string {
if x != nil {
return x.BlockId
}
return ""
}
func (x *RenderContext) GetCurrentPageId() string {
if x != nil {
return x.CurrentPageId
}
return ""
}
func (x *RenderContext) GetHumanProofBanner() *HumanProofBanner {
if x != nil {
return x.HumanProofBanner
}
return nil
}
func (x *RenderContext) GetDetailRow() *DetailRow {
if x != nil {
return x.DetailRow
}
return nil
}
func (x *RenderContext) GetThemeJson() []byte {
if x != nil {
return x.ThemeJson
}
return nil
}
func (x *RenderContext) GetLocale() string {
if x != nil {
return x.Locale
}
return ""
}
// RequestInfo carries the request subset render code reads from
// blocks.GetRequest (single-valued header map, matching BlockContext).
type RequestInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"`
Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
Host string `protobuf:"bytes,4,opt,name=host,proto3" json:"host,omitempty"`
RawQuery string `protobuf:"bytes,5,opt,name=raw_query,json=rawQuery,proto3" json:"raw_query,omitempty"`
Headers map[string]string `protobuf:"bytes,6,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
Cookies map[string]string `protobuf:"bytes,7,rep,name=cookies,proto3" json:"cookies,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
RemoteIp string `protobuf:"bytes,8,opt,name=remote_ip,json=remoteIp,proto3" json:"remote_ip,omitempty"`
Referrer string `protobuf:"bytes,9,opt,name=referrer,proto3" json:"referrer,omitempty"`
UserAgent string `protobuf:"bytes,10,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RequestInfo) Reset() {
*x = RequestInfo{}
mi := &file_v1_render_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RequestInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestInfo) ProtoMessage() {}
func (x *RequestInfo) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 RequestInfo.ProtoReflect.Descriptor instead.
func (*RequestInfo) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{10}
}
func (x *RequestInfo) GetMethod() string {
if x != nil {
return x.Method
}
return ""
}
func (x *RequestInfo) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *RequestInfo) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
func (x *RequestInfo) GetHost() string {
if x != nil {
return x.Host
}
return ""
}
func (x *RequestInfo) GetRawQuery() string {
if x != nil {
return x.RawQuery
}
return ""
}
func (x *RequestInfo) GetHeaders() map[string]string {
if x != nil {
return x.Headers
}
return nil
}
func (x *RequestInfo) GetCookies() map[string]string {
if x != nil {
return x.Cookies
}
return nil
}
func (x *RequestInfo) GetRemoteIp() string {
if x != nil {
return x.RemoteIp
}
return ""
}
func (x *RequestInfo) GetReferrer() string {
if x != nil {
return x.Referrer
}
return ""
}
func (x *RequestInfo) GetUserAgent() string {
if x != nil {
return x.UserAgent
}
return ""
}
// PageContext mirrors blocks.PageContext.
type PageContext struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID
Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"`
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
PostType string `protobuf:"bytes,4,opt,name=post_type,json=postType,proto3" json:"post_type,omitempty"` // "page", "post", "master", "system"
Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` // "published", "draft", "scheduled"
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PageContext) Reset() {
*x = PageContext{}
mi := &file_v1_render_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PageContext) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PageContext) ProtoMessage() {}
func (x *PageContext) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 PageContext.ProtoReflect.Descriptor instead.
func (*PageContext) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{11}
}
func (x *PageContext) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *PageContext) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *PageContext) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *PageContext) GetPostType() string {
if x != nil {
return x.PostType
}
return ""
}
func (x *PageContext) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
// PostContext mirrors blocks.PostContext.
type PostContext struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID
Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"`
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
Excerpt string `protobuf:"bytes,4,opt,name=excerpt,proto3" json:"excerpt,omitempty"`
FeaturedImageUrl string `protobuf:"bytes,5,opt,name=featured_image_url,json=featuredImageUrl,proto3" json:"featured_image_url,omitempty"`
AuthorId string `protobuf:"bytes,6,opt,name=author_id,json=authorId,proto3" json:"author_id,omitempty"` // UUID
PublishedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=published_at,json=publishedAt,proto3" json:"published_at,omitempty"`
ReadingTime int32 `protobuf:"varint,8,opt,name=reading_time,json=readingTime,proto3" json:"reading_time,omitempty"`
IsFeatured bool `protobuf:"varint,9,opt,name=is_featured,json=isFeatured,proto3" json:"is_featured,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PostContext) Reset() {
*x = PostContext{}
mi := &file_v1_render_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PostContext) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PostContext) ProtoMessage() {}
func (x *PostContext) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 PostContext.ProtoReflect.Descriptor instead.
func (*PostContext) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{12}
}
func (x *PostContext) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *PostContext) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *PostContext) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *PostContext) GetExcerpt() string {
if x != nil {
return x.Excerpt
}
return ""
}
func (x *PostContext) GetFeaturedImageUrl() string {
if x != nil {
return x.FeaturedImageUrl
}
return ""
}
func (x *PostContext) GetAuthorId() string {
if x != nil {
return x.AuthorId
}
return ""
}
func (x *PostContext) GetPublishedAt() *timestamppb.Timestamp {
if x != nil {
return x.PublishedAt
}
return nil
}
func (x *PostContext) GetReadingTime() int32 {
if x != nil {
return x.ReadingTime
}
return 0
}
func (x *PostContext) GetIsFeatured() bool {
if x != nil {
return x.IsFeatured
}
return false
}
// AuthorContext mirrors blocks.AuthorContext.
type AuthorContext struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"`
Bio string `protobuf:"bytes,4,opt,name=bio,proto3" json:"bio,omitempty"`
AvatarUrl string `protobuf:"bytes,5,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AuthorContext) Reset() {
*x = AuthorContext{}
mi := &file_v1_render_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AuthorContext) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AuthorContext) ProtoMessage() {}
func (x *AuthorContext) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 AuthorContext.ProtoReflect.Descriptor instead.
func (*AuthorContext) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{13}
}
func (x *AuthorContext) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *AuthorContext) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *AuthorContext) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *AuthorContext) GetBio() string {
if x != nil {
return x.Bio
}
return ""
}
func (x *AuthorContext) GetAvatarUrl() string {
if x != nil {
return x.AvatarUrl
}
return ""
}
// CategoryContext mirrors blocks.CategoryContext.
type CategoryContext struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CategoryContext) Reset() {
*x = CategoryContext{}
mi := &file_v1_render_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CategoryContext) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CategoryContext) ProtoMessage() {}
func (x *CategoryContext) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 CategoryContext.ProtoReflect.Descriptor instead.
func (*CategoryContext) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{14}
}
func (x *CategoryContext) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *CategoryContext) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CategoryContext) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
// MasterPageContext mirrors blocks.MasterPageContext.
type MasterPageContext struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID
Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"`
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *MasterPageContext) Reset() {
*x = MasterPageContext{}
mi := &file_v1_render_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MasterPageContext) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MasterPageContext) ProtoMessage() {}
func (x *MasterPageContext) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 MasterPageContext.ProtoReflect.Descriptor instead.
func (*MasterPageContext) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{15}
}
func (x *MasterPageContext) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *MasterPageContext) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *MasterPageContext) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
// HumanProofBanner mirrors blocks.HumanProofBannerData.
type HumanProofBanner struct {
state protoimpl.MessageState `protogen:"open.v1"`
ActiveTimeMinutes int32 `protobuf:"varint,1,opt,name=active_time_minutes,json=activeTimeMinutes,proto3" json:"active_time_minutes,omitempty"`
KeystrokeCount int32 `protobuf:"varint,2,opt,name=keystroke_count,json=keystrokeCount,proto3" json:"keystroke_count,omitempty"`
SessionCount int32 `protobuf:"varint,3,opt,name=session_count,json=sessionCount,proto3" json:"session_count,omitempty"`
PostSlug string `protobuf:"bytes,4,opt,name=post_slug,json=postSlug,proto3" json:"post_slug,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *HumanProofBanner) Reset() {
*x = HumanProofBanner{}
mi := &file_v1_render_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *HumanProofBanner) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HumanProofBanner) ProtoMessage() {}
func (x *HumanProofBanner) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 HumanProofBanner.ProtoReflect.Descriptor instead.
func (*HumanProofBanner) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{16}
}
func (x *HumanProofBanner) GetActiveTimeMinutes() int32 {
if x != nil {
return x.ActiveTimeMinutes
}
return 0
}
func (x *HumanProofBanner) GetKeystrokeCount() int32 {
if x != nil {
return x.KeystrokeCount
}
return 0
}
func (x *HumanProofBanner) GetSessionCount() int32 {
if x != nil {
return x.SessionCount
}
return 0
}
func (x *HumanProofBanner) GetPostSlug() string {
if x != nil {
return x.PostSlug
}
return ""
}
// DetailRow mirrors blocks.DetailRowInfo.
type DetailRow struct {
state protoimpl.MessageState `protogen:"open.v1"`
TableId string `protobuf:"bytes,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
RowId string `protobuf:"bytes,2,opt,name=row_id,json=rowId,proto3" json:"row_id,omitempty"`
// JSON encoding of the row data map.
DataJson []byte `protobuf:"bytes,3,opt,name=data_json,json=dataJson,proto3" json:"data_json,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *DetailRow) Reset() {
*x = DetailRow{}
mi := &file_v1_render_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DetailRow) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DetailRow) ProtoMessage() {}
func (x *DetailRow) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 DetailRow.ProtoReflect.Descriptor instead.
func (*DetailRow) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{17}
}
func (x *DetailRow) GetTableId() string {
if x != nil {
return x.TableId
}
return ""
}
func (x *DetailRow) GetRowId() string {
if x != nil {
return x.RowId
}
return ""
}
func (x *DetailRow) GetDataJson() []byte {
if x != nil {
return x.DataJson
}
return nil
}
// BlockContext mirrors blocks.BlockContext (the pongo2 data struct) 1:1.
// map[string]any fields travel as JSON bytes.
type BlockContext struct {
state protoimpl.MessageState `protogen:"open.v1"`
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"`
PageId string `protobuf:"bytes,4,opt,name=page_id,json=pageId,proto3" json:"page_id,omitempty"`
PageTitle string `protobuf:"bytes,5,opt,name=page_title,json=pageTitle,proto3" json:"page_title,omitempty"`
TemplateKey string `protobuf:"bytes,6,opt,name=template_key,json=templateKey,proto3" json:"template_key,omitempty"`
IsEditor bool `protobuf:"varint,7,opt,name=is_editor,json=isEditor,proto3" json:"is_editor,omitempty"`
Timestamp int64 `protobuf:"varint,8,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Now *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=now,proto3" json:"now,omitempty"`
IsLoggedIn bool `protobuf:"varint,10,opt,name=is_logged_in,json=isLoggedIn,proto3" json:"is_logged_in,omitempty"`
UserId string `protobuf:"bytes,11,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
UserEmail string `protobuf:"bytes,12,opt,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"`
UserRole string `protobuf:"bytes,13,opt,name=user_role,json=userRole,proto3" json:"user_role,omitempty"`
Method string `protobuf:"bytes,14,opt,name=method,proto3" json:"method,omitempty"`
Host string `protobuf:"bytes,15,opt,name=host,proto3" json:"host,omitempty"`
Query map[string]string `protobuf:"bytes,16,rep,name=query,proto3" json:"query,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
Referrer string `protobuf:"bytes,17,opt,name=referrer,proto3" json:"referrer,omitempty"`
UserAgent string `protobuf:"bytes,18,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
Ip string `protobuf:"bytes,19,opt,name=ip,proto3" json:"ip,omitempty"`
Cookies map[string]string `protobuf:"bytes,20,rep,name=cookies,proto3" json:"cookies,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
Headers map[string]string `protobuf:"bytes,21,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
Country string `protobuf:"bytes,22,opt,name=country,proto3" json:"country,omitempty"`
City string `protobuf:"bytes,23,opt,name=city,proto3" json:"city,omitempty"`
Timezone string `protobuf:"bytes,24,opt,name=timezone,proto3" json:"timezone,omitempty"`
CurrentAuthorJson []byte `protobuf:"bytes,25,opt,name=current_author_json,json=currentAuthorJson,proto3" json:"current_author_json,omitempty"`
CurrentPostJson []byte `protobuf:"bytes,26,opt,name=current_post_json,json=currentPostJson,proto3" json:"current_post_json,omitempty"`
CurrentCategoryJson []byte `protobuf:"bytes,27,opt,name=current_category_json,json=currentCategoryJson,proto3" json:"current_category_json,omitempty"`
SiteJson []byte `protobuf:"bytes,28,opt,name=site_json,json=siteJson,proto3" json:"site_json,omitempty"`
IsPublicLoggedIn bool `protobuf:"varint,29,opt,name=is_public_logged_in,json=isPublicLoggedIn,proto3" json:"is_public_logged_in,omitempty"`
PublicUserId string `protobuf:"bytes,30,opt,name=public_user_id,json=publicUserId,proto3" json:"public_user_id,omitempty"`
PublicUsername string `protobuf:"bytes,31,opt,name=public_username,json=publicUsername,proto3" json:"public_username,omitempty"`
PublicDisplayName string `protobuf:"bytes,32,opt,name=public_display_name,json=publicDisplayName,proto3" json:"public_display_name,omitempty"`
PublicEmailVerified bool `protobuf:"varint,33,opt,name=public_email_verified,json=publicEmailVerified,proto3" json:"public_email_verified,omitempty"`
DetailRowId string `protobuf:"bytes,34,opt,name=detail_row_id,json=detailRowId,proto3" json:"detail_row_id,omitempty"`
DetailTableId string `protobuf:"bytes,35,opt,name=detail_table_id,json=detailTableId,proto3" json:"detail_table_id,omitempty"`
DetailRowDataJson []byte `protobuf:"bytes,36,opt,name=detail_row_data_json,json=detailRowDataJson,proto3" json:"detail_row_data_json,omitempty"`
BlogIndexUrl string `protobuf:"bytes,37,opt,name=blog_index_url,json=blogIndexUrl,proto3" json:"blog_index_url,omitempty"`
CategoryPageUrl string `protobuf:"bytes,38,opt,name=category_page_url,json=categoryPageUrl,proto3" json:"category_page_url,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *BlockContext) Reset() {
*x = BlockContext{}
mi := &file_v1_render_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *BlockContext) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlockContext) ProtoMessage() {}
func (x *BlockContext) ProtoReflect() protoreflect.Message {
mi := &file_v1_render_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 BlockContext.ProtoReflect.Descriptor instead.
func (*BlockContext) Descriptor() ([]byte, []int) {
return file_v1_render_proto_rawDescGZIP(), []int{18}
}
func (x *BlockContext) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *BlockContext) GetPath() string {
if x != nil {
return x.Path
}
return ""
}
func (x *BlockContext) GetSlug() string {
if x != nil {
return x.Slug
}
return ""
}
func (x *BlockContext) GetPageId() string {
if x != nil {
return x.PageId
}
return ""
}
func (x *BlockContext) GetPageTitle() string {
if x != nil {
return x.PageTitle
}
return ""
}
func (x *BlockContext) GetTemplateKey() string {
if x != nil {
return x.TemplateKey
}
return ""
}
func (x *BlockContext) GetIsEditor() bool {
if x != nil {
return x.IsEditor
}
return false
}
func (x *BlockContext) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *BlockContext) GetNow() *timestamppb.Timestamp {
if x != nil {
return x.Now
}
return nil
}
func (x *BlockContext) GetIsLoggedIn() bool {
if x != nil {
return x.IsLoggedIn
}
return false
}
func (x *BlockContext) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
func (x *BlockContext) GetUserEmail() string {
if x != nil {
return x.UserEmail
}
return ""
}
func (x *BlockContext) GetUserRole() string {
if x != nil {
return x.UserRole
}
return ""
}
func (x *BlockContext) GetMethod() string {
if x != nil {
return x.Method
}
return ""
}
func (x *BlockContext) GetHost() string {
if x != nil {
return x.Host
}
return ""
}
func (x *BlockContext) GetQuery() map[string]string {
if x != nil {
return x.Query
}
return nil
}
func (x *BlockContext) GetReferrer() string {
if x != nil {
return x.Referrer
}
return ""
}
func (x *BlockContext) GetUserAgent() string {
if x != nil {
return x.UserAgent
}
return ""
}
func (x *BlockContext) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *BlockContext) GetCookies() map[string]string {
if x != nil {
return x.Cookies
}
return nil
}
func (x *BlockContext) GetHeaders() map[string]string {
if x != nil {
return x.Headers
}
return nil
}
func (x *BlockContext) GetCountry() string {
if x != nil {
return x.Country
}
return ""
}
func (x *BlockContext) GetCity() string {
if x != nil {
return x.City
}
return ""
}
func (x *BlockContext) GetTimezone() string {
if x != nil {
return x.Timezone
}
return ""
}
func (x *BlockContext) GetCurrentAuthorJson() []byte {
if x != nil {
return x.CurrentAuthorJson
}
return nil
}
func (x *BlockContext) GetCurrentPostJson() []byte {
if x != nil {
return x.CurrentPostJson
}
return nil
}
func (x *BlockContext) GetCurrentCategoryJson() []byte {
if x != nil {
return x.CurrentCategoryJson
}
return nil
}
func (x *BlockContext) GetSiteJson() []byte {
if x != nil {
return x.SiteJson
}
return nil
}
func (x *BlockContext) GetIsPublicLoggedIn() bool {
if x != nil {
return x.IsPublicLoggedIn
}
return false
}
func (x *BlockContext) GetPublicUserId() string {
if x != nil {
return x.PublicUserId
}
return ""
}
func (x *BlockContext) GetPublicUsername() string {
if x != nil {
return x.PublicUsername
}
return ""
}
func (x *BlockContext) GetPublicDisplayName() string {
if x != nil {
return x.PublicDisplayName
}
return ""
}
func (x *BlockContext) GetPublicEmailVerified() bool {
if x != nil {
return x.PublicEmailVerified
}
return false
}
func (x *BlockContext) GetDetailRowId() string {
if x != nil {
return x.DetailRowId
}
return ""
}
func (x *BlockContext) GetDetailTableId() string {
if x != nil {
return x.DetailTableId
}
return ""
}
func (x *BlockContext) GetDetailRowDataJson() []byte {
if x != nil {
return x.DetailRowDataJson
}
return nil
}
func (x *BlockContext) GetBlogIndexUrl() string {
if x != nil {
return x.BlogIndexUrl
}
return ""
}
func (x *BlockContext) GetCategoryPageUrl() string {
if x != nil {
return x.CategoryPageUrl
}
return ""
}
var File_v1_render_proto protoreflect.FileDescriptor
const file_v1_render_proto_rawDesc = "" +
"\n" +
"\x0fv1/render.proto\x12\x06abi.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x92\x01\n" +
"\x12RenderBlockRequest\x12\x1b\n" +
"\tblock_key\x18\x01 \x01(\tR\bblockKey\x12!\n" +
"\fcontent_json\x18\x02 \x01(\fR\vcontentJson\x12<\n" +
"\x0erender_context\x18\x03 \x01(\v2\x15.abi.v1.RenderContextR\rrenderContext\"Y\n" +
"\x13RenderBlockResponse\x12\x12\n" +
"\x04html\x18\x01 \x01(\tR\x04html\x12.\n" +
"\apowered\x18\x02 \x01(\v2\x14.abi.v1.PoweredBlockR\apowered\"G\n" +
"\fPoweredBlock\x12\x1a\n" +
"\btemplate\x18\x01 \x01(\tR\btemplate\x12\x1b\n" +
"\tdata_json\x18\x02 \x01(\fR\bdataJson\"\x93\x01\n" +
"\x15RenderTemplateRequest\x12!\n" +
"\ftemplate_key\x18\x01 \x01(\tR\vtemplateKey\x12\x19\n" +
"\bdoc_json\x18\x02 \x01(\fR\adocJson\x12<\n" +
"\x0erender_context\x18\x03 \x01(\v2\x15.abi.v1.RenderContextR\rrenderContext\",\n" +
"\x16RenderTemplateResponse\x12\x12\n" +
"\x04html\x18\x01 \x01(\fR\x04html\"\x88\x01\n" +
"\x10RenderTagRequest\x12\x19\n" +
"\btag_name\x18\x01 \x01(\tR\atagName\x12\x1b\n" +
"\targs_json\x18\x02 \x01(\fR\bargsJson\x12<\n" +
"\x0erender_context\x18\x03 \x01(\v2\x15.abi.v1.RenderContextR\rrenderContext\"=\n" +
"\x11RenderTagResponse\x12\x12\n" +
"\x04html\x18\x01 \x01(\tR\x04html\x12\x14\n" +
"\x05error\x18\x02 \x01(\tR\x05error\"h\n" +
"\x12ApplyFilterRequest\x12\x1f\n" +
"\vfilter_name\x18\x01 \x01(\tR\n" +
"filterName\x12\x14\n" +
"\x05input\x18\x02 \x01(\tR\x05input\x12\x1b\n" +
"\targs_json\x18\x03 \x01(\fR\bargsJson\"C\n" +
"\x13ApplyFilterResponse\x12\x16\n" +
"\x06output\x18\x01 \x01(\tR\x06output\x12\x14\n" +
"\x05error\x18\x02 \x01(\tR\x05error\"\x80\a\n" +
"\rRenderContext\x12-\n" +
"\arequest\x18\x01 \x01(\v2\x13.abi.v1.RequestInfoR\arequest\x129\n" +
"\rblock_context\x18\x02 \x01(\v2\x14.abi.v1.BlockContextR\fblockContext\x12!\n" +
"\ftemplate_key\x18\x03 \x01(\tR\vtemplateKey\x12'\n" +
"\x04page\x18\x04 \x01(\v2\x13.abi.v1.PageContextR\x04page\x12'\n" +
"\x04post\x18\x05 \x01(\v2\x13.abi.v1.PostContextR\x04post\x12-\n" +
"\x06author\x18\x06 \x01(\v2\x15.abi.v1.AuthorContextR\x06author\x123\n" +
"\bcategory\x18\a \x01(\v2\x17.abi.v1.CategoryContextR\bcategory\x12:\n" +
"\vmaster_page\x18\b \x01(\v2\x19.abi.v1.MasterPageContextR\n" +
"masterPage\x12%\n" +
"\x0erequested_path\x18\t \x01(\tR\rrequestedPath\x12O\n" +
"\x0einjected_slots\x18\n" +
" \x03(\v2(.abi.v1.RenderContext.InjectedSlotsEntryR\rinjectedSlots\x12\x1b\n" +
"\tis_editor\x18\v \x01(\bR\bisEditor\x12%\n" +
"\x0eexpected_slots\x18\f \x03(\tR\rexpectedSlots\x12\x19\n" +
"\bblock_id\x18\r \x01(\tR\ablockId\x12&\n" +
"\x0fcurrent_page_id\x18\x0e \x01(\tR\rcurrentPageId\x12F\n" +
"\x12human_proof_banner\x18\x0f \x01(\v2\x18.abi.v1.HumanProofBannerR\x10humanProofBanner\x120\n" +
"\n" +
"detail_row\x18\x10 \x01(\v2\x11.abi.v1.DetailRowR\tdetailRow\x12\x1d\n" +
"\n" +
"theme_json\x18\x11 \x01(\fR\tthemeJson\x12\x16\n" +
"\x06locale\x18\x12 \x01(\tR\x06locale\x1a@\n" +
"\x12InjectedSlotsEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xc4\x03\n" +
"\vRequestInfo\x12\x16\n" +
"\x06method\x18\x01 \x01(\tR\x06method\x12\x10\n" +
"\x03url\x18\x02 \x01(\tR\x03url\x12\x12\n" +
"\x04path\x18\x03 \x01(\tR\x04path\x12\x12\n" +
"\x04host\x18\x04 \x01(\tR\x04host\x12\x1b\n" +
"\traw_query\x18\x05 \x01(\tR\brawQuery\x12:\n" +
"\aheaders\x18\x06 \x03(\v2 .abi.v1.RequestInfo.HeadersEntryR\aheaders\x12:\n" +
"\acookies\x18\a \x03(\v2 .abi.v1.RequestInfo.CookiesEntryR\acookies\x12\x1b\n" +
"\tremote_ip\x18\b \x01(\tR\bremoteIp\x12\x1a\n" +
"\breferrer\x18\t \x01(\tR\breferrer\x12\x1d\n" +
"\n" +
"user_agent\x18\n" +
" \x01(\tR\tuserAgent\x1a:\n" +
"\fHeadersEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a:\n" +
"\fCookiesEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"|\n" +
"\vPageContext\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
"\x04slug\x18\x02 \x01(\tR\x04slug\x12\x14\n" +
"\x05title\x18\x03 \x01(\tR\x05title\x12\x1b\n" +
"\tpost_type\x18\x04 \x01(\tR\bpostType\x12\x16\n" +
"\x06status\x18\x05 \x01(\tR\x06status\"\xaf\x02\n" +
"\vPostContext\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
"\x04slug\x18\x02 \x01(\tR\x04slug\x12\x14\n" +
"\x05title\x18\x03 \x01(\tR\x05title\x12\x18\n" +
"\aexcerpt\x18\x04 \x01(\tR\aexcerpt\x12,\n" +
"\x12featured_image_url\x18\x05 \x01(\tR\x10featuredImageUrl\x12\x1b\n" +
"\tauthor_id\x18\x06 \x01(\tR\bauthorId\x12=\n" +
"\fpublished_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\vpublishedAt\x12!\n" +
"\freading_time\x18\b \x01(\x05R\vreadingTime\x12\x1f\n" +
"\vis_featured\x18\t \x01(\bR\n" +
"isFeatured\"x\n" +
"\rAuthorContext\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
"\x04slug\x18\x03 \x01(\tR\x04slug\x12\x10\n" +
"\x03bio\x18\x04 \x01(\tR\x03bio\x12\x1d\n" +
"\n" +
"avatar_url\x18\x05 \x01(\tR\tavatarUrl\"I\n" +
"\x0fCategoryContext\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
"\x04slug\x18\x03 \x01(\tR\x04slug\"M\n" +
"\x11MasterPageContext\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
"\x04slug\x18\x02 \x01(\tR\x04slug\x12\x14\n" +
"\x05title\x18\x03 \x01(\tR\x05title\"\xad\x01\n" +
"\x10HumanProofBanner\x12.\n" +
"\x13active_time_minutes\x18\x01 \x01(\x05R\x11activeTimeMinutes\x12'\n" +
"\x0fkeystroke_count\x18\x02 \x01(\x05R\x0ekeystrokeCount\x12#\n" +
"\rsession_count\x18\x03 \x01(\x05R\fsessionCount\x12\x1b\n" +
"\tpost_slug\x18\x04 \x01(\tR\bpostSlug\"Z\n" +
"\tDetailRow\x12\x19\n" +
"\btable_id\x18\x01 \x01(\tR\atableId\x12\x15\n" +
"\x06row_id\x18\x02 \x01(\tR\x05rowId\x12\x1b\n" +
"\tdata_json\x18\x03 \x01(\fR\bdataJson\"\x85\f\n" +
"\fBlockContext\x12\x10\n" +
"\x03url\x18\x01 \x01(\tR\x03url\x12\x12\n" +
"\x04path\x18\x02 \x01(\tR\x04path\x12\x12\n" +
"\x04slug\x18\x03 \x01(\tR\x04slug\x12\x17\n" +
"\apage_id\x18\x04 \x01(\tR\x06pageId\x12\x1d\n" +
"\n" +
"page_title\x18\x05 \x01(\tR\tpageTitle\x12!\n" +
"\ftemplate_key\x18\x06 \x01(\tR\vtemplateKey\x12\x1b\n" +
"\tis_editor\x18\a \x01(\bR\bisEditor\x12\x1c\n" +
"\ttimestamp\x18\b \x01(\x03R\ttimestamp\x12,\n" +
"\x03now\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\x03now\x12 \n" +
"\fis_logged_in\x18\n" +
" \x01(\bR\n" +
"isLoggedIn\x12\x17\n" +
"\auser_id\x18\v \x01(\tR\x06userId\x12\x1d\n" +
"\n" +
"user_email\x18\f \x01(\tR\tuserEmail\x12\x1b\n" +
"\tuser_role\x18\r \x01(\tR\buserRole\x12\x16\n" +
"\x06method\x18\x0e \x01(\tR\x06method\x12\x12\n" +
"\x04host\x18\x0f \x01(\tR\x04host\x125\n" +
"\x05query\x18\x10 \x03(\v2\x1f.abi.v1.BlockContext.QueryEntryR\x05query\x12\x1a\n" +
"\breferrer\x18\x11 \x01(\tR\breferrer\x12\x1d\n" +
"\n" +
"user_agent\x18\x12 \x01(\tR\tuserAgent\x12\x0e\n" +
"\x02ip\x18\x13 \x01(\tR\x02ip\x12;\n" +
"\acookies\x18\x14 \x03(\v2!.abi.v1.BlockContext.CookiesEntryR\acookies\x12;\n" +
"\aheaders\x18\x15 \x03(\v2!.abi.v1.BlockContext.HeadersEntryR\aheaders\x12\x18\n" +
"\acountry\x18\x16 \x01(\tR\acountry\x12\x12\n" +
"\x04city\x18\x17 \x01(\tR\x04city\x12\x1a\n" +
"\btimezone\x18\x18 \x01(\tR\btimezone\x12.\n" +
"\x13current_author_json\x18\x19 \x01(\fR\x11currentAuthorJson\x12*\n" +
"\x11current_post_json\x18\x1a \x01(\fR\x0fcurrentPostJson\x122\n" +
"\x15current_category_json\x18\x1b \x01(\fR\x13currentCategoryJson\x12\x1b\n" +
"\tsite_json\x18\x1c \x01(\fR\bsiteJson\x12-\n" +
"\x13is_public_logged_in\x18\x1d \x01(\bR\x10isPublicLoggedIn\x12$\n" +
"\x0epublic_user_id\x18\x1e \x01(\tR\fpublicUserId\x12'\n" +
"\x0fpublic_username\x18\x1f \x01(\tR\x0epublicUsername\x12.\n" +
"\x13public_display_name\x18 \x01(\tR\x11publicDisplayName\x122\n" +
"\x15public_email_verified\x18! \x01(\bR\x13publicEmailVerified\x12\"\n" +
"\rdetail_row_id\x18\" \x01(\tR\vdetailRowId\x12&\n" +
"\x0fdetail_table_id\x18# \x01(\tR\rdetailTableId\x12/\n" +
"\x14detail_row_data_json\x18$ \x01(\fR\x11detailRowDataJson\x12$\n" +
"\x0eblog_index_url\x18% \x01(\tR\fblogIndexUrl\x12*\n" +
"\x11category_page_url\x18& \x01(\tR\x0fcategoryPageUrl\x1a8\n" +
"\n" +
"QueryEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a:\n" +
"\fCookiesEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a:\n" +
"\fHeadersEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B5Z3git.dev.alexdunmow.com/block/pluginsdk/abi/v1;abiv1b\x06proto3"
var (
file_v1_render_proto_rawDescOnce sync.Once
file_v1_render_proto_rawDescData []byte
)
func file_v1_render_proto_rawDescGZIP() []byte {
file_v1_render_proto_rawDescOnce.Do(func() {
file_v1_render_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_v1_render_proto_rawDesc), len(file_v1_render_proto_rawDesc)))
})
return file_v1_render_proto_rawDescData
}
var file_v1_render_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
var file_v1_render_proto_goTypes = []any{
(*RenderBlockRequest)(nil), // 0: abi.v1.RenderBlockRequest
(*RenderBlockResponse)(nil), // 1: abi.v1.RenderBlockResponse
(*PoweredBlock)(nil), // 2: abi.v1.PoweredBlock
(*RenderTemplateRequest)(nil), // 3: abi.v1.RenderTemplateRequest
(*RenderTemplateResponse)(nil), // 4: abi.v1.RenderTemplateResponse
(*RenderTagRequest)(nil), // 5: abi.v1.RenderTagRequest
(*RenderTagResponse)(nil), // 6: abi.v1.RenderTagResponse
(*ApplyFilterRequest)(nil), // 7: abi.v1.ApplyFilterRequest
(*ApplyFilterResponse)(nil), // 8: abi.v1.ApplyFilterResponse
(*RenderContext)(nil), // 9: abi.v1.RenderContext
(*RequestInfo)(nil), // 10: abi.v1.RequestInfo
(*PageContext)(nil), // 11: abi.v1.PageContext
(*PostContext)(nil), // 12: abi.v1.PostContext
(*AuthorContext)(nil), // 13: abi.v1.AuthorContext
(*CategoryContext)(nil), // 14: abi.v1.CategoryContext
(*MasterPageContext)(nil), // 15: abi.v1.MasterPageContext
(*HumanProofBanner)(nil), // 16: abi.v1.HumanProofBanner
(*DetailRow)(nil), // 17: abi.v1.DetailRow
(*BlockContext)(nil), // 18: abi.v1.BlockContext
nil, // 19: abi.v1.RenderContext.InjectedSlotsEntry
nil, // 20: abi.v1.RequestInfo.HeadersEntry
nil, // 21: abi.v1.RequestInfo.CookiesEntry
nil, // 22: abi.v1.BlockContext.QueryEntry
nil, // 23: abi.v1.BlockContext.CookiesEntry
nil, // 24: abi.v1.BlockContext.HeadersEntry
(*timestamppb.Timestamp)(nil), // 25: google.protobuf.Timestamp
}
var file_v1_render_proto_depIdxs = []int32{
9, // 0: abi.v1.RenderBlockRequest.render_context:type_name -> abi.v1.RenderContext
2, // 1: abi.v1.RenderBlockResponse.powered:type_name -> abi.v1.PoweredBlock
9, // 2: abi.v1.RenderTemplateRequest.render_context:type_name -> abi.v1.RenderContext
9, // 3: abi.v1.RenderTagRequest.render_context:type_name -> abi.v1.RenderContext
10, // 4: abi.v1.RenderContext.request:type_name -> abi.v1.RequestInfo
18, // 5: abi.v1.RenderContext.block_context:type_name -> abi.v1.BlockContext
11, // 6: abi.v1.RenderContext.page:type_name -> abi.v1.PageContext
12, // 7: abi.v1.RenderContext.post:type_name -> abi.v1.PostContext
13, // 8: abi.v1.RenderContext.author:type_name -> abi.v1.AuthorContext
14, // 9: abi.v1.RenderContext.category:type_name -> abi.v1.CategoryContext
15, // 10: abi.v1.RenderContext.master_page:type_name -> abi.v1.MasterPageContext
19, // 11: abi.v1.RenderContext.injected_slots:type_name -> abi.v1.RenderContext.InjectedSlotsEntry
16, // 12: abi.v1.RenderContext.human_proof_banner:type_name -> abi.v1.HumanProofBanner
17, // 13: abi.v1.RenderContext.detail_row:type_name -> abi.v1.DetailRow
20, // 14: abi.v1.RequestInfo.headers:type_name -> abi.v1.RequestInfo.HeadersEntry
21, // 15: abi.v1.RequestInfo.cookies:type_name -> abi.v1.RequestInfo.CookiesEntry
25, // 16: abi.v1.PostContext.published_at:type_name -> google.protobuf.Timestamp
25, // 17: abi.v1.BlockContext.now:type_name -> google.protobuf.Timestamp
22, // 18: abi.v1.BlockContext.query:type_name -> abi.v1.BlockContext.QueryEntry
23, // 19: abi.v1.BlockContext.cookies:type_name -> abi.v1.BlockContext.CookiesEntry
24, // 20: abi.v1.BlockContext.headers:type_name -> abi.v1.BlockContext.HeadersEntry
21, // [21:21] is the sub-list for method output_type
21, // [21:21] is the sub-list for method input_type
21, // [21:21] is the sub-list for extension type_name
21, // [21:21] is the sub-list for extension extendee
0, // [0:21] is the sub-list for field type_name
}
func init() { file_v1_render_proto_init() }
func file_v1_render_proto_init() {
if File_v1_render_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_v1_render_proto_rawDesc), len(file_v1_render_proto_rawDesc)),
NumEnums: 0,
NumMessages: 25,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_v1_render_proto_goTypes,
DependencyIndexes: file_v1_render_proto_depIdxs,
MessageInfos: file_v1_render_proto_msgTypes,
}.Build()
File_v1_render_proto = out.File
file_v1_render_proto_goTypes = nil
file_v1_render_proto_depIdxs = nil
}