openedx_ai_extensions.xapi package#

Submodules#

openedx_ai_extensions.xapi.constants module#

Constants for AI workflow xAPI transformers.

openedx_ai_extensions.xapi.transformers module#

xAPI transformers for AI workflow events.

class openedx_ai_extensions.xapi.transformers.AIWorkflowCompletedTransformer(event)#

Bases: BaseAIWorkflowTransformer

xAPI Transformer for a one-shot AI workflow completion.

Emitted when a non-threaded workflow completes (e.g., summarize, explain_like_five). These workflows don’t have back-and-forth interactions - they’re single request/response.

class openedx_ai_extensions.xapi.transformers.AIWorkflowInitializedTransformer(event)#

Bases: BaseAIWorkflowTransformer

xAPI Transformer for initializing a threaded AI workflow.

Emitted when a conversational/threaded workflow is started for the first time.

class openedx_ai_extensions.xapi.transformers.AIWorkflowInteractedTransformer(event)#

Bases: BaseAIWorkflowTransformer

xAPI Transformer for interactions within a threaded AI workflow.

Emitted for each subsequent interaction in a conversational workflow (after initialization).

class openedx_ai_extensions.xapi.transformers.BaseAIWorkflowTransformer(event)#

Bases: XApiTransformer

Base transformer for all AI workflow events.

Provides common object construction for AI workflow activities. Subclasses only need to define the appropriate verb.

get_object() Activity#

Construct the xAPI object for AI workflow events.

The activity object includes:

  • A unique ID for this workflow instance

  • A custom activity type (https://w3id.org/xapi/openedx/activity/ai-workflow)

  • Name derived from the config filename (e.g., “openai_threads”)

  • Extensions with workflow metadata:

    • action: The workflow action

    • prompt-template-slug: Placeholder for future prompt template tracking

    • location-id: The Open edX location/unit where the workflow was triggered

Returns:

The xAPI Activity object representing the AI workflow

Return type:

Activity

Module contents#

xAPI event tracking for Open edX AI Extensions.

This module contains xAPI transformers and constants for tracking AI workflow events in Open edX.