mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-18 04:42:20 +02:00
fix(routing): keep media review out of editor and web paths
This commit is contained in:
@@ -3004,6 +3004,14 @@ def inline_suggestion_request(user_text):
|
|||||||
text = str(user_text or '').strip()
|
text = str(user_text or '').strip()
|
||||||
if inline_text_transformation(text):
|
if inline_text_transformation(text):
|
||||||
return False
|
return False
|
||||||
|
if re.search(
|
||||||
|
r"(?:file://)?/workspace/[^\s`\"']+\."
|
||||||
|
r"(?:avif|bmp|gif|jpe?g|png|svg|tiff?|webp|mp3|m4a|ogg|wav|flac|"
|
||||||
|
r"aac|mp4|m4v|mov|mkv|avi|webm)\b",
|
||||||
|
text,
|
||||||
|
re.I,
|
||||||
|
):
|
||||||
|
return False
|
||||||
apply_request = re.search(
|
apply_request = re.search(
|
||||||
r'\b(?:apply|accept)\s+(?:the\s+)?(?:change|changes|suggestion|suggestions)\b',
|
r'\b(?:apply|accept)\s+(?:the\s+)?(?:change|changes|suggestion|suggestions)\b',
|
||||||
text, re.I,
|
text, re.I,
|
||||||
|
|||||||
+10
-2
@@ -4158,7 +4158,7 @@ def requested_capabilities(message: str, history: Iterable = (), *, active_docum
|
|||||||
re.I,
|
re.I,
|
||||||
)
|
)
|
||||||
media_action = re.search(
|
media_action = re.search(
|
||||||
r"\b(?:inspect|view|watch|study|look\s+at|analy[sz]e|read|transcribe|caption|"
|
r"\b(?:inspect|view|watch|review|study|look\s+at|analy[sz]e|read|transcribe|caption|"
|
||||||
r"recreate|reproduce|identify|describe|extract)\b|"
|
r"recreate|reproduce|identify|describe|extract)\b|"
|
||||||
r"(?:浏览|查看|观看|分析|检查|识别|转录|截图)",
|
r"(?:浏览|查看|观看|分析|检查|识别|转录|截图)",
|
||||||
raw_text,
|
raw_text,
|
||||||
@@ -4194,9 +4194,17 @@ def requested_capabilities(message: str, history: Iterable = (), *, active_docum
|
|||||||
families.add("shell_files")
|
families.add("shell_files")
|
||||||
if re.search(
|
if re.search(
|
||||||
r"\b(?:preview|render|open|inspect|verify)\b[^.\n]{0,120}"
|
r"\b(?:preview|render|open|inspect|verify)\b[^.\n]{0,120}"
|
||||||
r"\b(?:page|html|browser|rendered\s+result)\b",
|
r"\b(?:page|html|browser)\b",
|
||||||
raw_text,
|
raw_text,
|
||||||
re.I,
|
re.I,
|
||||||
|
) or (
|
||||||
|
re.search(
|
||||||
|
r"\b(?:preview|render|open|inspect|verify)\b[^.\n]{0,120}"
|
||||||
|
r"\brendered\s+result\b",
|
||||||
|
raw_text,
|
||||||
|
re.I,
|
||||||
|
)
|
||||||
|
and not re.search(r"\binspect_media\b", raw_text, re.I)
|
||||||
):
|
):
|
||||||
families.add("search_browser")
|
families.add("search_browser")
|
||||||
if re.search(
|
if re.search(
|
||||||
|
|||||||
@@ -3059,6 +3059,12 @@ def test_inline_suggestion_intent_is_independent_from_document_visibility():
|
|||||||
'create inline suggestions only; do not apply changes.'
|
'create inline suggestions only; do not apply changes.'
|
||||||
)
|
)
|
||||||
assert not inline_suggestion_request('Apply the suggestions to this document')
|
assert not inline_suggestion_request('Apply the suggestions to this document')
|
||||||
|
assert not inline_suggestion_request(
|
||||||
|
'Review the video at /workspace/input/video.mp4 and count every match point.'
|
||||||
|
)
|
||||||
|
assert not inline_suggestion_request(
|
||||||
|
'Review the short handheld clip at /workspace/input/video.mp4 and save an index image.'
|
||||||
|
)
|
||||||
assert not active_editor_suggestion_request(None, 'give suggestions to this document')
|
assert not active_editor_suggestion_request(None, 'give suggestions to this document')
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4295,6 +4295,20 @@ def test_watch_workspace_video_is_media_not_generic_shell():
|
|||||||
) == {"media_inspection"}
|
) == {"media_inspection"}
|
||||||
|
|
||||||
|
|
||||||
|
def test_review_workspace_video_is_media_not_document_or_web_review():
|
||||||
|
assert requested_capabilities(
|
||||||
|
"Review the video at /workspace/input/video.mp4, count every match point, "
|
||||||
|
"and provide the verified totals in the final message."
|
||||||
|
) == {"media_inspection"}
|
||||||
|
|
||||||
|
|
||||||
|
def test_explicit_media_verification_does_not_require_browser_family():
|
||||||
|
assert requested_capabilities(
|
||||||
|
"First inspect /workspace/input/reference.png. Create /workspace/output.html, "
|
||||||
|
"then inspect the rendered result using inspect_media on the file or a screenshot."
|
||||||
|
) == {"media_inspection", "shell_files"}
|
||||||
|
|
||||||
|
|
||||||
def test_chinese_video_to_image_artifact_keeps_media_and_workspace_tools():
|
def test_chinese_video_to_image_artifact_keeps_media_and_workspace_tools():
|
||||||
assert requested_capabilities(
|
assert requested_capabilities(
|
||||||
"请完整浏览 /workspace/input/video.mp4,为每款零食截图并拼成清单图,"
|
"请完整浏览 /workspace/input/video.mp4,为每款零食截图并拼成清单图,"
|
||||||
|
|||||||
Reference in New Issue
Block a user