Codex Library Management
manage_codexManage the server-level codex library of reusable, cross-Novel content (NPCs, characters, scenes, encounters, lore, factions, rooms, things, templates, voice profiles, adventures).
Instructions
Manage the server-level codex library of reusable, cross-Novel content (NPCs, characters, scenes, encounters, lore, factions, rooms, things, templates, voice profiles, adventures). Entries persist to .holonovel-state/codex.json outside every Novel and survive restarts; mutations are audited. Out-of-play and badge-free: requires the Editor or Game Master badge, a Player mid-adventure gets [FORBIDDEN], and reads are not badge-filtered. When no Novel is active, the codex is the default store; import and capture require an active Novel. set needs kind + name (the id derives from them); merge=true shallow-merges content. Revert the most recent mutation with manage_history (action: undo). Use when: storing reusable content for later import, or enumerating/reading/deleting it. Do NOT use when: storing Novel-scoped content — use manage_lore (action: set) or manage_note (action: set).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Entry identifier or array of identifiers (for import/get/delete). | |
| kind | No | Entry kind (for set/list/capture). | |
| name | No | Entry name (for set). | |
| tags | No | Optional tags (for set). | |
| merge | No | For set: when true and the entry exists, shallow-merge the provided content into the stored content instead of replacing it. | |
| action | Yes | set (create/update), list, get, capture (Novel artifact per kind), import (into active Novel), or delete. | |
| content | No | Entry content (for set); when omitted on an existing entry, the stored content is preserved. | |
| entry_id | No | Entry identifier (for get/import/delete); alias of `id`. | |
| entity_id | No | Entity whose voice to capture (for capture, voice_profile kind). | |
| source_id | No | Novel artifact key/name/entity id to capture (for capture). Defaults per kind. | |
| description | No | Optional description (for set). | |
| update_source | No | When true, update the source Codex entry in place (for capture). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Human-readable text envelope mirroring the structured result (REQ-001, REQ-548a). | |
| status | Yes | Machine-readable result status: OK, NEED_INPUT, WARNING, PARTIAL, or an error category (REQ-002, REQ-548c). |