Files
ui-customization/gen/ui-customization_zap.go
zeekay 11c160189c ui-customization: first Hanzo Base-native Go service binary
The architectural reference for console's tRPC->ZAP migration. Replaces the
in-process tRPC UiCustomization router with a standalone Go binary built on
Hanzo Base (embedded encrypted SQLite + plugins) exposing a typed ZAP
capability-RPC interface. 11+ services follow this pattern.

- proto/ui-customization.zap: canonical schema (zap-spec dialect), source of
  truth, compiled to Go via zapgen (make zap-gen, idempotent).
- server/: ZAP RPC handler at msgType 200. Three decoupled wire layers
  (transport / envelope / typed payload); capability carried as opaque bytes.
  Single auth chokepoint (Kind + PermSessionRead bitmask); signature verify
  gated on a wired issuer registry (TODO -> SPEC.md 2.3). Get + GetModules
  read from the ui_customization Base collection. Promise-pipelining via an
  await/resolve table.
- main.go: base.New() + vault (per-org encrypted SQLite) + ZAP router.
  HTTP :8090 (Base health/metrics), ZAP :9999.
- cmd/probe/: out-of-process smoke probe.

Tests: 4/4 pass (Get, GetModules, permission-denied, pipelining proof showing
the dependent call ships before the first answer resolves). Pure-Go
(CGO_ENABLED=0); zap-gen + build reproducible. No Prisma/Postgres/Mongo/tRPC.
2026-06-15 12:31:11 -07:00

149 lines
5.6 KiB
Go

// Code generated by zapgen; DO NOT EDIT.
// source: ui-customization.zap
package uic
import (
zap "github.com/zap-proto/go"
)
const (
uiCustomizationConfigPresentOff = 0
uiCustomizationConfigHostnameOff = 4
uiCustomizationConfigDocumentationHrefOff = 12
uiCustomizationConfigSupportHrefOff = 20
uiCustomizationConfigFeedbackHrefOff = 28
uiCustomizationConfigLogoLightModeHrefOff = 36
uiCustomizationConfigLogoDarkModeHrefOff = 44
uiCustomizationConfigDefaultModelAdapterOff = 52
uiCustomizationConfigDefaultBaseUrlOpenAIOff = 60
uiCustomizationConfigDefaultBaseUrlAnthropicOff = 68
uiCustomizationConfigDefaultBaseUrlAzureOff = 76
uiCustomizationConfigVisibleModulesOff = 84
uiCustomizationConfigSize = 92
)
// UiCustomizationConfig is a zero-copy view into a ZAP-encoded UiCustomizationConfig message.
type UiCustomizationConfig struct{ o zap.Object }
// WrapUiCustomizationConfig parses b and returns a typed view. Returns an error if the
// wire-level checks (magic, version, size) fail.
func WrapUiCustomizationConfig(b []byte) (UiCustomizationConfig, error) {
m, err := zap.Parse(b)
if err != nil {
return UiCustomizationConfig{}, err
}
return UiCustomizationConfig{o: m.Root()}, nil
}
func (t UiCustomizationConfig) Present() bool { return t.o.Bool(uiCustomizationConfigPresentOff) }
func (t UiCustomizationConfig) Hostname() string { return t.o.Text(uiCustomizationConfigHostnameOff) }
func (t UiCustomizationConfig) DocumentationHref() string {
return t.o.Text(uiCustomizationConfigDocumentationHrefOff)
}
func (t UiCustomizationConfig) SupportHref() string {
return t.o.Text(uiCustomizationConfigSupportHrefOff)
}
func (t UiCustomizationConfig) FeedbackHref() string {
return t.o.Text(uiCustomizationConfigFeedbackHrefOff)
}
func (t UiCustomizationConfig) LogoLightModeHref() string {
return t.o.Text(uiCustomizationConfigLogoLightModeHrefOff)
}
func (t UiCustomizationConfig) LogoDarkModeHref() string {
return t.o.Text(uiCustomizationConfigLogoDarkModeHrefOff)
}
func (t UiCustomizationConfig) DefaultModelAdapter() string {
return t.o.Text(uiCustomizationConfigDefaultModelAdapterOff)
}
func (t UiCustomizationConfig) DefaultBaseUrlOpenAI() string {
return t.o.Text(uiCustomizationConfigDefaultBaseUrlOpenAIOff)
}
func (t UiCustomizationConfig) DefaultBaseUrlAnthropic() string {
return t.o.Text(uiCustomizationConfigDefaultBaseUrlAnthropicOff)
}
func (t UiCustomizationConfig) DefaultBaseUrlAzure() string {
return t.o.Text(uiCustomizationConfigDefaultBaseUrlAzureOff)
}
func (t UiCustomizationConfig) VisibleModules() zap.List {
return t.o.List(uiCustomizationConfigVisibleModulesOff)
}
// UiCustomizationConfigInput collects the field values for NewUiCustomizationConfig.
type UiCustomizationConfigInput struct {
Present bool
Hostname string
DocumentationHref string
SupportHref string
FeedbackHref string
LogoLightModeHref string
LogoDarkModeHref string
DefaultModelAdapter string
DefaultBaseUrlOpenAI string
DefaultBaseUrlAnthropic string
DefaultBaseUrlAzure string
VisibleModules [][]byte
}
// NewUiCustomizationConfig builds a ZAP-encoded UiCustomizationConfig message from in and returns the bytes.
func NewUiCustomizationConfig(in UiCustomizationConfigInput) []byte {
b := zap.NewBuilder(256)
ob := b.StartObject(uiCustomizationConfigSize)
ob.SetBool(uiCustomizationConfigPresentOff, in.Present)
ob.SetText(uiCustomizationConfigHostnameOff, in.Hostname)
ob.SetText(uiCustomizationConfigDocumentationHrefOff, in.DocumentationHref)
ob.SetText(uiCustomizationConfigSupportHrefOff, in.SupportHref)
ob.SetText(uiCustomizationConfigFeedbackHrefOff, in.FeedbackHref)
ob.SetText(uiCustomizationConfigLogoLightModeHrefOff, in.LogoLightModeHref)
ob.SetText(uiCustomizationConfigLogoDarkModeHrefOff, in.LogoDarkModeHref)
ob.SetText(uiCustomizationConfigDefaultModelAdapterOff, in.DefaultModelAdapter)
ob.SetText(uiCustomizationConfigDefaultBaseUrlOpenAIOff, in.DefaultBaseUrlOpenAI)
ob.SetText(uiCustomizationConfigDefaultBaseUrlAnthropicOff, in.DefaultBaseUrlAnthropic)
ob.SetText(uiCustomizationConfigDefaultBaseUrlAzureOff, in.DefaultBaseUrlAzure)
visibleModulesLB := b.StartList(0)
for _, elem := range in.VisibleModules {
visibleModulesLB.AddObjectBytes(elem)
}
ob.SetList(uiCustomizationConfigVisibleModulesOff, visibleModulesLB.FinishOffset(), len(in.VisibleModules))
ob.FinishAsRoot()
return b.Finish()
}
const (
visibleModulesModulesOff = 0
visibleModulesSize = 8
)
// VisibleModules is a zero-copy view into a ZAP-encoded VisibleModules message.
type VisibleModules struct{ o zap.Object }
// WrapVisibleModules parses b and returns a typed view. Returns an error if the
// wire-level checks (magic, version, size) fail.
func WrapVisibleModules(b []byte) (VisibleModules, error) {
m, err := zap.Parse(b)
if err != nil {
return VisibleModules{}, err
}
return VisibleModules{o: m.Root()}, nil
}
func (t VisibleModules) Modules() zap.List { return t.o.List(visibleModulesModulesOff) }
// VisibleModulesInput collects the field values for NewVisibleModules.
type VisibleModulesInput struct {
Modules [][]byte
}
// NewVisibleModules builds a ZAP-encoded VisibleModules message from in and returns the bytes.
func NewVisibleModules(in VisibleModulesInput) []byte {
b := zap.NewBuilder(256)
ob := b.StartObject(visibleModulesSize)
modulesLB := b.StartList(0)
for _, elem := range in.Modules {
modulesLB.AddObjectBytes(elem)
}
ob.SetList(visibleModulesModulesOff, modulesLB.FinishOffset(), len(in.Modules))
ob.FinishAsRoot()
return b.Finish()
}