ObjectStackObjectStack

Report

Report protocol schemas

Report Type Enum

Source: packages/spec/src/ui/report.zod.ts

TypeScript Usage

import { JoinedReportBlock, Report, ReportChart, ReportColumn, ReportGrouping, ReportType } from '@objectstack/spec/ui';
import type { JoinedReportBlock, Report, ReportChart, ReportColumn, ReportGrouping, ReportType } from '@objectstack/spec/ui';

// Validate data
const result = JoinedReportBlock.parse(data);

JoinedReportBlock

Properties

PropertyTypeRequiredDescription
namestringSnake case identifier (lowercase with underscores only)
labelstringoptionalDisplay label (plain string; i18n keys are auto-generated by the framework)
descriptionstringoptionalDisplay label (plain string; i18n keys are auto-generated by the framework)
typeEnum<'tabular' | 'summary' | 'matrix'>
objectNamestringoptional
columnsObject[]
groupingsDownObject[]optional
groupingsAcrossObject[]optional
filter[__schema0](./__schema0)optional
chartObjectoptional

Report

Properties

PropertyTypeRequiredDescription
namestringReport unique name
labelstringReport label
descriptionstringoptionalDisplay label (plain string; i18n keys are auto-generated by the framework)
objectNamestringPrimary object
typeEnum<'tabular' | 'summary' | 'matrix' | 'joined'>Report format type
columnsObject[]Columns to display
groupingsDownObject[]optionalRow groupings
groupingsAcrossObject[]optionalColumn groupings (Matrix only)
filter[__schema0](./__schema0)optionalFilter criteria
chartObjectoptionalEmbedded chart configuration
ariaObjectoptionalARIA accessibility attributes
performanceObjectoptionalPerformance optimization settings
blocksObject[]optionalSub-reports for type=joined
protectionObjectoptionalPackage author protection block — lock policy for this report.
_lockEnum<'none' | 'no-overlay' | 'no-delete' | 'full'>optionalItem-level lock — controls overlay & delete (ADR-0010).
_lockReasonstringoptionalHuman-readable reason shown when a write is refused by _lock.
_lockSourceEnum<'artifact' | 'package' | 'env-forced'>optionalLayer that set _lock (artifact
_provenanceEnum<'package' | 'org' | 'env-forced'>optionalOrigin of the item (package
_packageIdstringoptionalOwning package machine id.
_packageVersionstringoptionalOwning package version.
_lockDocsUrlstringoptionalOptional documentation link surfaced next to _lockReason.

ReportChart

Properties

PropertyTypeRequiredDescription
typeEnum<'bar' | 'horizontal-bar' | 'column' | 'grouped-bar' | 'stacked-bar' | 'bi-polar-bar' | 'line' | 'area' | 'stacked-area' | 'step-line' | 'spline' | 'pie' | 'donut' | 'funnel' | 'pyramid' | 'scatter' | 'bubble' | 'treemap' | 'sankey' | 'gauge' | 'solid-gauge' | 'metric' | 'kpi' | 'bullet' | 'radar' | 'table' | 'pivot'>
titlestringoptionalChart title
subtitlestringoptionalChart subtitle
descriptionstringoptionalAccessibility description
xAxisstringGrouping field for X-Axis
yAxisstringSummary field for Y-Axis
seriesObject[]optionalDefined series configuration
colorsstring[]optionalColor palette
heightnumberoptionalFixed height in pixels
showLegendbooleanDisplay legend
showDataLabelsbooleanDisplay data labels
annotationsObject[]optional
interactionObjectoptional
ariaObjectoptionalARIA accessibility attributes
groupBystringoptionalAdditional grouping field

ReportColumn

Properties

PropertyTypeRequiredDescription
fieldstringField name
labelstringoptionalOverride label
aggregateEnum<'sum' | 'avg' | 'max' | 'min' | 'count' | 'unique'>optionalAggregation function
responsiveObjectoptionalResponsive visibility for this column

ReportGrouping

Properties

PropertyTypeRequiredDescription
fieldstringField to group by
sortOrderEnum<'asc' | 'desc'>
dateGranularityEnum<'day' | 'week' | 'month' | 'quarter' | 'year'>optionalFor date fields

ReportType

Allowed Values

  • tabular
  • summary
  • matrix
  • joined

On this page