fix: preserve native model switches and bound project searches
This commit is contained in:
1 parent
db5e876f40
commit
e7d3080e0a
14 files changed
+371
-35
No files matched your search
+6
-2
@@ -2653,7 +2653,7 @@ def search_tool(pattern: str, target: str = "content", path: str = ".",
|
||||
file_glob: str = None, limit: int = 50, offset: int = 0,
|
||||
output_mode: str = "content", context: int = 0,
|
||||
order: str = "discovery",
|
||||
task_id: str = "default") -> str:
|
||||
task_id: str = "default", allow_broad: bool = False) -> str:
|
||||
"""Search for content or files."""
|
||||
try:
|
||||
offset, limit = normalize_search_pagination(offset, limit)
|
||||
@@ -2670,6 +2670,7 @@ def search_tool(pattern: str, target: str = "content", path: str = ".",
|
||||
limit,
|
||||
offset,
|
||||
order,
|
||||
allow_broad,
|
||||
)
|
||||
with _read_tracker_lock:
|
||||
task_data = _read_tracker.setdefault(task_id, {
|
||||
@@ -2717,6 +2718,7 @@ def search_tool(pattern: str, target: str = "content", path: str = ".",
|
||||
pattern=pattern, path=path, target=target, file_glob=file_glob,
|
||||
limit=limit, offset=offset, output_mode=output_mode, context=context,
|
||||
order=order,
|
||||
**({"allow_broad": True} if allow_broad else {}),
|
||||
)
|
||||
omitted = _filter_read_blocked_search_results(result, task_id)
|
||||
if hasattr(result, 'matches'):
|
||||
@@ -2912,6 +2914,7 @@ SEARCH_FILES_SCHEMA = {
|
||||
"parameters": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"allow_broad": {"type": "boolean", "default": False, "description": "Deliberately search a home, drive or multi-project umbrella. Default scopes to the current project or asks for a scope. Does not remove pruning or CPU limits."},
|
||||
"pattern": {"type": "string", "description": "Regex pattern for content search, or glob pattern (e.g., '*.py') for file search"},
|
||||
"target": {"type": "string", "enum": ["content", "files"], "description": "'content' searches inside file contents, 'files' searches for files by name", "default": "content"},
|
||||
"path": {"type": "string", "description": "Directory or file to search in (default: current working directory)", "default": "."},
|
||||
@@ -2979,7 +2982,8 @@ def _handle_search_files(args, **kw):
|
||||
pattern=args.get("pattern", ""), target=target, path=args.get("path", "."),
|
||||
file_glob=args.get("file_glob"), limit=args.get("limit", 50), offset=args.get("offset", 0),
|
||||
output_mode=args.get("output_mode", "content"), context=args.get("context", 0),
|
||||
order=args.get("order", "discovery"), task_id=tid)
|
||||
order=args.get("order", "discovery"), task_id=tid,
|
||||
allow_broad=args.get("allow_broad") is True)
|
||||
|
||||
|
||||
def _read_file_schema_overrides():
|
||||
|
||||
Reference in new issue
Block a user