Member Junction
    Preparing search index...

    Create a net-new interactive-form override for the requesting user.

    Net-new path only. Returns ALREADY_EXISTS if the user already has an Active override for the target entity — agents should call Get Active Form For Entity first and route to Modify Interactive Form in that case. (Pending sibling overrides do NOT block creation — those are an in-flight refinement and Modify will resolve them in-place.)

    Security clamp — Scope. This action always writes Scope='User', UserID=ctx.user.ID, Status='Active', Priority=0, regardless of any scope-related parameter the caller might supply. This is the load-bearing safety property of the AI authoring path: an agent cannot write Global or Role overrides that would affect other users. Scope promotion (User → Role → Global) is a separate, deliberate human action in Component Studio / Form Builder dashboard.

    Atomicity. If the override insert fails after the Component insert succeeds, we surface PERSIST_FAILED with the Component already in the table. Orphan Components are harmless — they don't render anywhere until something points an override at them. The caller can retry; a second run will create a fresh Component and a successful override.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    AuthorizesCaller: true

    Changes only the caller's own User-scope forms and panels, with the caller's permissions.

    Accessors

    • get SupportsAudience(): boolean

      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).

      Returns boolean

    Methods