feat: add guided exploration and share user-started MCP backend
This commit is contained in:
1 parent
f86db1ced6
commit
ee256ad7ce
144 files changed
+8625
-2075
No files matched your search
@@ -65,6 +65,7 @@ class PluginRuntime:
|
||||
self.last_images: dict[str, bytes] = {}
|
||||
self._image_targets: dict[str, tuple[str, str]] = {}
|
||||
self._recordings = None
|
||||
self._capture_suspended = False
|
||||
|
||||
def previous_image(self, name: str, arguments: dict) -> bytes | None:
|
||||
if name not in self.bindings:
|
||||
@@ -379,6 +380,7 @@ class PluginRuntime:
|
||||
self._persist_images(outcome)
|
||||
if (
|
||||
outcome.source
|
||||
and not getattr(self, "_capture_suspended", False)
|
||||
and image_block
|
||||
and manifest.capabilities
|
||||
and manifest.capabilities.recording == "windows"
|
||||
@@ -574,6 +576,14 @@ class PluginRuntime:
|
||||
},
|
||||
)
|
||||
|
||||
async def suspend_capture(self):
|
||||
self._capture_suspended = True
|
||||
if self._recordings is not None:
|
||||
await self._recordings.stop()
|
||||
|
||||
def resume_capture(self):
|
||||
self._capture_suspended = False
|
||||
|
||||
async def aclose(self, *, release: bool = True):
|
||||
if self._recordings is not None:
|
||||
try:
|
||||
|
||||
Reference in new issue
Block a user