Member Junction
    Preparing search index...

    Action that generates SVG diagrams including flowcharts, org charts, and ER diagrams.

    This action provides server-side SVG generation for structured diagrams, designed for AI agents and workflows to create publication-quality visualizations from structured data.

    // Flowchart example
    await runAction({
    ActionName: 'Create SVG Diagram',
    Params: [
    { Name: 'DiagramType', Value: 'flow' },
    { Name: 'Nodes', Value: JSON.stringify([
    { id: '1', kind: 'start', label: 'Start' },
    { id: '2', kind: 'process', label: 'Process Data' },
    { id: '3', kind: 'end', label: 'End' }
    ]) },
    { Name: 'Edges', Value: JSON.stringify([
    { from: '1', to: '2', label: 'Begin' },
    { from: '2', to: '3' }
    ]) },
    { Name: 'Direction', Value: 'TB' },
    { Name: 'Width', Value: '800' },
    { Name: 'Height', Value: '600' }
    ]
    });

    // Org chart example
    await runAction({
    ActionName: 'Create SVG Diagram',
    Params: [
    { Name: 'DiagramType', Value: 'org' },
    { Name: 'Nodes', Value: JSON.stringify({
    id: '1',
    label: 'CEO',
    role: 'Chief Executive Officer',
    children: [
    { id: '2', label: 'CTO', role: 'Technology' },
    { id: '3', label: 'CFO', role: 'Finance' }
    ]
    }) }
    ]
    });

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    AuthorizesCaller: boolean

    True when the action authorizes its caller itself, so a public entry point such as the RunAction mutation may run it for an authenticated user without an MJ: Action Authorizations link. Set it only on an action that either checks an authorization the caller must hold, or reads and writes only with the caller's own permissions. Leave it false for an action that acts with more authority than its caller, or that reaches data or sends messages the caller chooses but could not otherwise reach.

    The engine reads the marker only from the class that runs, never from its parent classes. A subclass that overrides a marked action must declare the marker again.

    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

    • Generates an SVG diagram from the provided data and configuration

      Parameters

      • params: RunActionParams

        The action parameters containing:

        • DiagramType: Type of diagram ('flow' | 'org' | 'er')
        • Nodes: JSON array or object of nodes
        • Edges: JSON array of edges (for flow and ER diagrams)
        • Direction: Layout direction ('TB' | 'LR' | 'RL' | 'BT') for flow diagrams
        • Width: Diagram width in pixels (optional, default: 800)
        • Height: Diagram height in pixels (optional, default: 600)
        • Title: Diagram title (optional)
        • Palette: Color palette ('mjDefault' | 'gray' | 'pastel' | 'highContrast')
        • Seed: Random seed for deterministic layouts (optional)

      Returns Promise<SVGActionResult>

      A promise resolving to an SVGActionResult with:

      • Success: true if diagram was generated successfully
      • ResultCode: "SUCCESS" or error code
      • Message: The SVG string or error message
      • svg: The SVG XML string
      • width: Diagram width in pixels
      • height: Diagram height in pixels