Static ReadonlyAuthorizesReads only with the caller's permissions.
Whether this action can bound what it returns to an audience (RunActionParams.Audience): everyone
besides the caller who will see its output, such as the other participants of a shared conversation.
false by default, and the engine enforces it: when a run's audience adds a reader beyond the caller,
ActionEngineServer.RunAction refuses the action with result code AUDIENCE_UNSUPPORTED, without running
it. Override to return true only when the action honours the audience in full — every record, snippet
and count it returns is something every reader may see (pass the audience to the search engine, check each
reader's entitlement to anything it scopes by, and leave out aggregates computed before that filtering).
ProtectedInternalInternal method that must be implemented by derived action classes. This is where the actual action logic should be implemented.
The action execution parameters including typed context
Promise resolving to the action result
Executes the action with the provided parameters.
The action execution parameters including context
Promise resolving to the action result
Server-side composition of an entity's form, for agents with no browser snapshot.
The client context is the better source for sections — it reports what a form actually rendered. This reproduces the part derivable from metadata alone: field sections by CodeGen rule,
DisplayInFormrelated grids with their L1 inclusion, the caller's Active metadata contributions as the caller's form draws them, and the L3 rule count.Contributions are reported for the form this user sees: one row per key (highest
Precedence, then the narrower scope, the browser's collapse rule), the panels the user hid markedHidden, and on an identity or permission entity only the user's own rows (FormScopeAllowedOnEntity). Any failed query returnsQUERY_FAILEDrather than an answer built from a partial read. With metadata contributions switched off (MetadataContributionsOn) no row is read or listed, andMetadataContributionsEnabledis false.Compiled
BaseFormPanelregistrations live in the browser bundle, so they are absent and theNotesays so.Slots are reported from
GENERATED_FORM_CONTRIBUTION_SLOTSrather than guessed: what CodeGen emits is fixed, so the set is known for every generated form without opening one. A hand-written custom form can emit a different set, and theNotesays so.