Closed
Conversation
Generated Python CLI scripts now look for the fastmcpp binary next to the script itself before falling back to PATH lookup. Fixes FileNotFoundError on Windows where the binary isn't in PATH.
0xeb
added a commit
that referenced
this pull request
Feb 17, 2026
…ssW) Replace the FetchContent dependency on tiny-process-library with internal cross-platform process code adapted from copilot-sdk-cpp. This eliminates an external dependency that was transitively inherited by downstream projects (libagents -> fastmcpp_core). Win32 implementation upgraded from CreateProcessA to CreateProcessW: - UTF-8/UTF-16 conversion via utf8_to_wide() helper - STARTUPINFOEXW with explicit handle inheritance (PROC_THREAD_ATTRIBUTE_HANDLE_LIST) - Job Object for automatic child cleanup - CREATE_NO_WINDOW to prevent console popups - Stderr redirected to NUL when not captured StdioTransport rewritten from callback-based (deque + condition_variable) to synchronous pipe model (direct read_line on stdout pipe), with a background stderr reader thread in keep-alive mode to prevent pipe buffer deadlock. Process liveness is checked during timeout polling (200ms intervals) for fast failure detection when servers crash. Also fixes two CI issues from PR #31: - openapi_provider.hpp: brace-init default param -> explicit Options{} - transports.hpp: add missing override on session_id/has_session New tests: stdio_lifecycle, stdio_stderr, stdio_timeout. All 89 tests pass.
0xeb
added a commit
that referenced
this pull request
Feb 17, 2026
…ssW) Replace the FetchContent dependency on tiny-process-library with internal cross-platform process code adapted from copilot-sdk-cpp. This eliminates an external dependency that was transitively inherited by downstream projects (libagents -> fastmcpp_core). Win32 implementation upgraded from CreateProcessA to CreateProcessW: - UTF-8/UTF-16 conversion via utf8_to_wide() helper - STARTUPINFOEXW with explicit handle inheritance (PROC_THREAD_ATTRIBUTE_HANDLE_LIST) - Job Object for automatic child cleanup - CREATE_NO_WINDOW to prevent console popups - Stderr redirected to NUL when not captured StdioTransport rewritten from callback-based (deque + condition_variable) to synchronous pipe model (direct read_line on stdout pipe), with a background stderr reader thread in keep-alive mode to prevent pipe buffer deadlock. Process liveness is checked during timeout polling (200ms intervals) for fast failure detection when servers crash. Also fixes two CI issues from PR #31: - openapi_provider.hpp: brace-init default param -> explicit Options{} - transports.hpp: add missing override on session_id/has_session New tests: stdio_lifecycle, stdio_stderr, stdio_timeout. All 89 tests pass.
0xeb
added a commit
that referenced
this pull request
Feb 17, 2026
…ssW) Replace the FetchContent dependency on tiny-process-library with internal cross-platform process code adapted from copilot-sdk-cpp. This eliminates an external dependency that was transitively inherited by downstream projects (libagents -> fastmcpp_core). Win32 implementation upgraded from CreateProcessA to CreateProcessW: - UTF-8/UTF-16 conversion via utf8_to_wide() helper - STARTUPINFOEXW with explicit handle inheritance (PROC_THREAD_ATTRIBUTE_HANDLE_LIST) - Job Object for automatic child cleanup - CREATE_NO_WINDOW to prevent console popups - Stderr redirected to NUL when not captured StdioTransport rewritten from callback-based (deque + condition_variable) to synchronous pipe model (direct read_line on stdout pipe), with a background stderr reader thread in keep-alive mode to prevent pipe buffer deadlock. Process liveness is checked during timeout polling (200ms intervals) for fast failure detection when servers crash. Also fixes two CI issues from PR #31: - openapi_provider.hpp: brace-init default param -> explicit Options{} - transports.hpp: add missing override on session_id/has_session New tests: stdio_lifecycle, stdio_stderr, stdio_timeout. All 89 tests pass.
Owner
Author
|
Superseded by PR #32 which includes these changes plus the tiny-process-library replacement. |
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
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
v3.0.0b2(3.x parity)AppConfig, UI metadata on tools/resources/prompts)generate-cli,install,list,call,discoverCLI commandsResponseLimitingMiddlewarewith UTF-8 safe truncation andPingMiddleware$refdereferencing togglefastmcppbinary not in PATHTest plan
generated_cli_e2e)