summaryrefslogtreecommitdiff
path: root/pyproject.toml
AgeCommit message (Collapse)Author
2026-09-13chore(release): prepare version 0.3.0HEADv0.3.0maintanaka takashi
Bump the project and package versions to 0.3.0 and expose the same version through FastMCP server metadata. Add a regression test that keeps pyproject, package, and MCP server versions aligned. Add a 0.3.0 changelog covering the AudioContent migration, wav_path removal, isError semantics, security hardening, and other breaking changes. Update README links so project documentation and samples remain accessible from the rendered PyPI description. Declare MIT and project URLs in package metadata, and restrict source distributions to release documentation, source code, and tests so generated audio, caches, local plans, and unrelated working files cannot leak into published artifacts. Release verification completed with Ruff, 488 passing tests, uv lock validation, wheel CLI smoke testing, sdist content auditing, and twine checks for both wheel and sdist.
2026-09-13feat: return composed WAV as MCP audio contenttanaka takashi
Replace the server-local wav_path result with a protocol-native multimedia response. - Split internal composition execution from MCP ToolResult serialization so filesystem paths never enter public payloads. - Return every successfully composed WAV as AudioContent with the audio/wav MIME type, regardless of file size. - Keep structured audio metadata, duration, note sequence, and validation details alongside the multimedia content. - Use CallToolResult.isError as the authoritative MCP execution status while retaining compose success and validate valid as domain fields. - Treat invalid compose/API requests and runtime failures as tool errors, while invalid MML discovered by validate remains a successful validation operation. - Sanitize synthesis, file-write, audio-serialization, and unexpected failure responses so internal paths and exception details are not exposed. - Add protocol-level coverage for base64 round trips, content block types, error semantics, ResourceLink absence, and path non-disclosure. - Update existing tests for the separated execution layer and path-free result contract. - Document AudioContent and isError behavior in the README, MCP schema, and design specification. - Require the tested FastMCP 3.4.4 API line and exclude the incompatible 4.x major version. Verification: 487 tests passed; ruff check passed; git diff --check passed; uv lock --check passed; and a manual MCP call returned TextContent plus AudioContent with no wav_path.
2026-07-15バージョン更新tanaka takashi
2026-07-12waveファイルの出力先変更tanaka takashi
mmlファイルをwaveファイルと一緒に出力するように変更 サンプルデータ追加
2026-07-12feat: 合成機能テンプレートの拡充とドキュメントの更新tanaka takashi
- ppmck/pyxel向けに表現力のある作曲テンプレートを追加 - エンベロープ、ビブラート、音程変化の使用例を追加 - テンプレートの検証・IR・音声合成テストを追加 - README、設計書、MCP仕様書を現行実装に合わせて更新
2026-07-12pyproject.toml version updatetanaka takashi
2026-07-12MML構文解析処理一部修正。ドキュメント最新化tanaka takashi
2026-07-11ドキュメントとコメント一部更新tanaka takashi
2026-07-11feat: implement Famicom-style MML composer MCP servertanaka takashi
- Add FastMCP server with compose_mml tool - Support ppmck and pyxel MML syntax - Add lexer and parsers for both formats - Add NES APU-style synthesizer (pulse/triangle/noise) to WAV - Add MML templates (basic/melody/chord/drum/empty) for both modes - Add tests for lexer, parser, and server - Support stdio, http, sse, streamable-http transports - Update README, pyproject.toml, and .gitignore
2026-07-11First Commit.tanaka takashi