Skip to content

Add library enum constants for channel library identification #214

@rtibbles

Description

@rtibbles

This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.

Overview

Add a library enum to le-utils for use by both Studio and Kolibri to identify which library a channel belongs to. This enables distinguishing between Kolibri Library (public) channels and Community Library channels.

Complexity: Low
Target branch: main

Context

le-utils uses JSON spec files in spec/ to define constants, which are then generated into both Python and JavaScript via scripts/generate_from_specs.py. Simple enum constants use the array format in spec/constants-*.json files (e.g. constants-modalities.json).

The Change

Add a new spec/constants-library.json spec file defining the library enum values, and run the generation script to produce the Python and JS constant files.

Acceptance Criteria

  • spec/constants-library.json defines the library enum values (KOLIBRI, COMMUNITY)
  • Generated Python constants in le_utils/constants/library.py with choices tuple
  • Generated JavaScript constants in js/Library.js

AI usage

Used Claude Code to draft this issue interactively. I provided the requirements and Claude explored the le-utils codebase to understand the spec-driven constant generation pattern. All content reflects my decisions and was reviewed section by section.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions