8ee7ddac77
Introduces a shared `toolTargeting.ts` module that resolves the active MIDI region/track from the user's current selection, enabling tools to operate on the correct target without requiring explicit track IDs in most cases. Adds two new read-only tools — `list_all_tracks` and `get_user_selected_music_range_and_track` — so the agent can inspect available tracks and the current selection context before acting. Also refactors `AddNotesTool` to auto-create MIDI regions when no region exists, refactors `RemoveNotesTool`, `ReadMusicTool`, and `ReadChordProgressionTool` to use the new targeting helpers, adds a `buildToolHistoryContent` hook to `BaseTool` for cleaner chat history display, and updates system prompts and tests throughout.
406 B
406 B
====
MUSIC INFORMATION
Current Project Context:
- BPM: {bpm}
- Time Signature: {time_signature}
- Key Signature: {key_signature}
Current Selected Music Range: {selected_music_range_section}
Focus Area: Think in terms of tracks first. If the user identifies a target track, operate on that track. When a selected music range is available, focus on that span; otherwise, reason over the full song.