Static ReadonlyAuthorizesThe action authorizes its caller itself: it loads the routine with the caller's own read permission and runs only a routine the caller owns (or any routine for an Owner-type user). Without this marker a UI-role user's Wake Now is refused for lack of an Action Authorization.
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
Runs one
MJ: User Routinesrow now, on the user's request, without touching its schedule.This is what a "Wake Now" button should call. Writing
NextRunAt = nowinstead makes the dispatcher CLAIM the routine on its next sweep, and a claimed one-shot is spent: the reminder the user wanted tomorrow fires today and is then Disabled. This action hands the routine to UserRoutineDispatcherDriver.RunRoutineNow, which skips the claim and the wake gate, so a one-shot keeps its time and a recurring routine keeps its cadence.Security:
AuthorizesCaller: the ownership check below is the authorization, so noMJ: Action Authorizationsrow is needed for a user to run their own routine.params.ContextUser; a non-Owner-type user may run only routines they own.MJ: User Routine Runs.