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

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