-
Notifications
You must be signed in to change notification settings - Fork 83
Add support for creating playlists with song lists in player agent #1841
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
steveluc
wants to merge
10
commits into
main
Choose a base branch
from
add-command-executor-mcp-server
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+145
−5
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Introduces a new MCP (Model Context Protocol) server that enables Claude Code to execute TypeAgent commands for music playback, list management, calendar operations, and other natural language tasks. Key features: - Connects Claude Code to TypeAgent dispatcher via WebSocket - Automatic reconnection with 5-second retry interval - Comprehensive logging to temp files for debugging - Supports natural language commands (e.g., "play bohemian rhapsody", "add milk to grocery list") - Clean output formatting with HTML image tags stripped Includes example configuration for .mcp.json and detailed installation instructions in README. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add trademark section to README - Remove dist-test build outputs from git - Fix package.json field ordering (use exports instead of main) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Use exact trademark text format with proper line breaks - Sort package.json scripts alphabetically Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit enhances the split editor command in the Coda extension to support more flexible editor selection and improves TypeAgent schema disambiguation. **Bug Fixes:** - Fix off-by-one error when selecting "first" or "last" editor by sorting by viewColumn - Fix multiple split issue by adding conditionals to focus changes - Remove unnecessary focus restoration logic for voice command scenarios **Features:** - Add support for splitting editors by position: "first", "last", "active", or numeric index - Add support for splitting editors by file name: "split app.tsx to the right" - Search all open tabs using tabGroups API, not just visible editors - Automatically open and focus files found in background tabs before splitting **Schema Improvements:** - Add clear disambiguation between splitEditor and moveCursorInFile actions - Add "USE THIS for" and "DO NOT USE for" guidance in schema comments - Add concrete examples to help LLM choose correct action - Remove moveCursorInFile reference from main code schema (not useful for voice) **Documentation:** - Add VSCODE_CAPABILITIES.md documenting all VSCode automation features - Update split editor examples to show new position and file-based splitting Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This enhancement allows the player agent to create playlists with songs specified by title and artist, and to add lists of songs to existing playlists, eliminating the need to search and build a track list first. Changes: - Add SongSpecification interface for specifying songs by track name, optional artist, and optional album - Extend CreatePlaylistAction with optional songs parameter to support creating playlists with songs in one action - Add new AddSongsToPlaylistAction for bulk adding songs to existing playlists - Implement searchSongsAndGetUris helper function to search Spotify for songs and collect their URIs - Update createPlaylist handler to search for and add songs when creating playlists - Add addSongsToPlaylist handler for the new action - Add validation support for the new action in playerHandlers Benefits: - Users can create playlists with songs in a single request - Supports requests like "create a playlist with the top 10 songs" - Provides feedback on songs that couldn't be found - Maintains backward compatibility with existing createPlaylist usage Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds support for creating playlists with lists of songs specified by title and artist, eliminating the need to first search for tracks and build a track list before creating or adding to playlists.
Changes
Schema Enhancements (playerSchema.ts)
Added
SongSpecificationinterfacetrackName, optionalartist, and optionalalbumNameExtended
CreatePlaylistActionsongs?: SongSpecification[]parameterAdded
AddSongsToPlaylistActionImplementation (client.ts)
Added
searchSongsAndGetUrishelper functionEnhanced
createPlaylisthandlerImplemented
addSongsToPlaylisthandlerValidation Support (playerHandlers.ts)
addSongsToPlaylistto playlist name validation autocompleteExample Usage
Users can now make requests like:
Testing
Successfully tested by creating a "Top Hits" playlist with 10 songs in a single request. The agent correctly:
SongSpecificationobjectsSee test results in MCP server log showing the parsed action with all song specifications.
Benefits
✅ Create playlists with songs in one request
✅ Add multiple songs to playlists without building track lists first
✅ Flexible search with track name, artist, and album support
✅ Clear error reporting for songs not found
✅ Backward compatible - existing functionality unchanged
✅ Uses Spotify batch API for efficient operations