- Tool handlers are now a typed map of thin translation wrappers: wire
arguments are cast once at the boundary to types derived (Pick) from
ontime-types, and all service calls are fully typed — a change to a
service signature or domain type now fails compilation in api-mcp
instead of drifting silently. No more 'as never' casts.
- Entry mutations target the loaded rundown explicitly, matching the
rundownId-first service signatures introduced with secondary rundowns.
- Rundown create/rename/delete/duplicate call the rundown service;
mcp.service.ts and its duplicated router logic are deleted.
- ontime_create_entry supports all entry types (event, delay, milestone,
group) and entry tools accept flag and custom field values, matching
what the workflow prompts already instruct agents to do. Tool names
use entry terminology consistently with the service layer.
- ontime_create_project description fixed: creating a project switches
to it.
https://claude.ai/code/session_01V27pYyjw2PGSWy7wNtiWKj
mcp.resources.ts: replace 6-branch if-chain with a RESOURCE_READERS dispatch map.
Each resource is now a one-liner { mimeType, read } entry; handleReadResource
collapses to a 3-line lookup with a single throw.
mcp.prompts.ts: extract repeated message-wrapping boilerplate into userPrompt()
helper, reducing each prompt from ~10 lines of structure to a single call.
Enrich all four prompts with operational domain knowledge:
- create_rundown_from_agenda: entry type selection (event/milestone/delay/group),
timerType and endAction guidance, linkStart chain semantics, flag usage, colour
conventions
- bulk_edit_rundown: timeStrategy (lock-end vs lock-duration), endAction automation
risk, clarified time-shift mechanics
- validate_rundown: totalDelay/totalDays checks, linkStart chain validation,
play-next chain disclosure, flag audit
- restructure_rundown: group awareness (entries vs order arrays), insert order type,
move-out vs move-in patterns
https://claude.ai/code/session_01U24MeuUacYXeQhbX3tatEe
Single file to update when the data model changes:
- EVENT_TIMER_FIELDS and EVENT_WRITABLE_FIELDS (tool JSON schemas) moved from mcp.tools.ts
- ONTIME_SCHEMA_MARKDOWN and ONTIME_DOCS_MARKDOWN moved from mcp.resources.ts
- mcp.tools.ts and mcp.resources.ts now import from mcp.schema.ts
- Removed inline data model notes from the agenda prompt; replaced with a reference
to the ontime://schema resource
- Fixed inaccurate enum values in schema (Milestone type added, TimerType/EndAction
corrected to match ontime-types)
https://claude.ai/code/session_01U24MeuUacYXeQhbX3tatEe