Conversation
Providers enforce the OpenAI function-name pattern
^(?:[A-Za-z0-9_-]{1,64})$ on tools[].function.name, so an MCP server that
advertises a dotted name (browser.fetch) makes every request fail with
"Invalid 'tools[1].function.name': string does not match pattern" even though
the server itself is healthy.
Sanitize the prefixed name when the tool list is built, compare sanitized names
when matching an incoming call to its server, and map the sanitized name back to
the name the server advertises before tools/call. Sanitization is idempotent, so
a caller that already holds the original name is unaffected.
Revert the beads/dolt entries the PR added to .gitignore so the merge touches code only. Replace the per-call scan in responses.original_tool_name() with module-level dicts that cache the original/sanitized MCP tool name pairs. register_tool_names() fills them from coder.mcp_tools inside get_tool_list(), so dispatching a tool call is now a dict lookup instead of iterating every advertised tool. sanitize_tool_name() also reuses its cache.
…nds cannot hijack input
…meters of completions api
…on in API error messages and exceptions
CLI-66: Add retry-on-forbidden opt-in for 403 PermissionDeniedError
…into v1.6.2-clean-704
Consolidate the try/except os.path.relpath(ValueError) pattern introduced by PR #704 into a single cecli.utils.safe_relpath helper. The CompletionBar private _safe_relpath helper is replaced by the shared utility. requirements.txt and common-constraints.txt remain unchanged from v1.6.2.
Resolve conflict with existing retry_on_forbidden support by keeping both opt-in retry flags. Follow-up changes on top of the merge: - Revert requirements.txt and requirements/common-constraints.txt. - Add models.parse_model_error(retry_config, error) and use it from cecli/models.py and cecli/coders/base_coder.py to remove duplicated retry-decision logic. - Fix 403 retry test to configure retries instead of setting the derived attribute directly.
fixing the pickling error
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.
Addresses:
Includes:
HookHelpers.system_one