Feed
Feed protocol schemas
Activity-timeline UI config enums, and the sys_activity.type built-in set.
The service-feed backend was retired (ADR-0052 §5 / #1955); sys_comment /
sys_activity are the canonical record-collaboration/timeline backend. The two
enums here configure the record activity component (RecordActivityProps in
../ui/component.zod.ts). FeedFilterMode is pure UI configuration, but
FeedItemType is not backend-free: it has no backend import, yet it is the
TARGET of the map UI consumers apply to the sys_activity.type column — a
backend coupling — and that column's vocabulary is OPEN and
author-extensible (maintainer ruling 2026-08-24, #11507). FeedItemType is
therefore the built-in guidance half of that map, never the value domain of
an authoring surface: RecordActivityProps.types accepts contributed kinds
beyond it (#11658), and consumers must map unknown sys_activity.type values
to a fallback rather than drop them. SYS_ACTIVITY_BUILTIN_TYPES below is
the published built-in vocabulary of the sys_activity.type column,
co-located with FeedItemType because UI consumers map one onto the other.
(A later feed → activity rename is tracked separately.)
Source: packages/spec/src/data/feed.zod.ts
TypeScript Usage
import { FeedFilterMode, FeedItemType } from '@objectstack/spec/data';
import type { FeedFilterMode, FeedItemType } from '@objectstack/spec/data';
// Validate data
const result = FeedFilterMode.parse(data);FeedFilterMode
Allowed Values
allcomments_onlychanges_onlytasks_only
FeedItemType
Allowed Values
commentfield_changetaskeventemailcallnotefilerecord_createrecord_deleteapprovalsharingsystem