You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(shared): Implement sharing functionality for user-shared experts and moderator modes
- Added APIs to share topic-level experts and custom moderator modes to the topiclab_shared directory, allowing users to contribute their own content.
- Introduced reload_expert_specs and reload_moderator_modes functions to refresh in-memory data after sharing.
- Updated the meta.json files for both experts and moderator modes to include topiclab_shared as a source, facilitating better organization of user-shared content.
- Enhanced the .gitignore to exclude user-shared files while retaining essential metadata.
- Added tests to verify the sharing functionality and ensure proper handling of built-in expert and mode conflicts.
- Updated documentation to reflect new API endpoints for sharing and the structure of user-shared content.
Dual-source libs: builtin canonical, LIBS_PATH mount for topiclab_shared only
- When LIBS_PATH points to empty dir (Docker), default sources from builtin, topiclab_shared from mount
- Dockerfile preserves libs_builtin; config get_expert_source_dir, get_moderator_mode_source_dir
- Fixed expert share when meta.json absent; skills/mcps/prompts merge builtin + primary
Made-with: Cursor
Copy file name to clipboardExpand all lines: CHANGELOG.md
+20Lines changed: 20 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,26 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [Unreleased]
9
+
10
+
## [0.3.0] - 2026-03-01
11
+
12
+
### Added
13
+
14
+
-**Expert share to platform**: `POST /topics/{id}/experts/{name}/share` — share topic-level expert to `libs/experts/topiclab_shared/`; rejects built-in experts (source=default); reloads EXPERT_SPECS and invalidates libs cache
15
+
-**Moderator mode share to platform**: `POST /topics/{id}/moderator-mode/share` — share custom moderator mode to `libs/moderator_modes/topiclab_shared/`; body: `mode_id`, `name?`, `description?`; creates meta.json if missing
16
+
-**Topic-level moderator config**: `GET/PUT /topics/{id}/moderator-mode` supports `skill_list`, `mcp_server_ids`, `model`; persisted per topic; fallback from `config/skills/` and `config/mcp.json` when missing
17
+
-**Discussion params**: `POST /topics/{id}/discussion` accepts `skill_list`, `mcp_server_ids`, `allowed_tools`; copied to topic workspace for moderator/agent use
18
+
19
+
### Fixed
20
+
21
+
-**Expert share 500**: `POST /topics/{id}/experts/{name}/share` no longer returns 500 when `libs/experts/topiclab_shared/meta.json` does not exist (first share). Creates default meta structure like moderator-mode share.
22
+
23
+
### Changed
24
+
25
+
- Topic moderator mode config: skill_list, mcp_server_ids, model persisted in workspace; discussion uses topic config when present
26
+
- Expert share: creates `topiclab_shared/meta.json` with default categories when missing (aligned with moderator-mode share)
0 commit comments