From af937a4e5c02381ec61f6a5dddd3c6b91869faf6 Mon Sep 17 00:00:00 2001 From: a2a-cloud Date: Mon, 13 Jul 2026 03:03:26 +0000 Subject: [PATCH] a2a-source-edit: write agent.py --- agent.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/agent.py b/agent.py index c79c4a5..bdc4511 100644 --- a/agent.py +++ b/agent.py @@ -1032,12 +1032,14 @@ async def _persist_text(ctx: RunContext[NoAuth], run_id: str, filename: str, tex sha = hashlib.sha256(data).hexdigest() artifact_uri: str | None = None try: - grant = await ctx.workspace.request_access(files=[rel_path], mode=WorkspaceMode.READ_WRITE_OVERLAY, reason="persist redacted revenue recovery output", purpose="write revenue recovery artifact") - view = await ctx.workspace.request_access(files=[rel_path], mode=WorkspaceMode.READ_WRITE_OVERLAY, reason="persist redacted revenue recovery output", purpose="write revenue recovery artifact") - # The workspace API returns grants; open a view for concrete writes. - opened = await ctx.workspace.open_view(purpose="persist revenue recovery output", hints=[rel_path], max_files=1, mode=WorkspaceMode.READ_WRITE_OVERLAY, reason="write generated output under outputs/revenue-recovery") - await opened.write(rel_path, data) - _ = grant, view + view = await ctx.workspace.open_view( + purpose="persist revenue recovery output", + hints=[rel_path], + max_files=1, + mode=WorkspaceMode.READ_WRITE_OVERLAY, + reason="write generated output under outputs/revenue-recovery", + ) + await view.write(rel_path, data) except Exception as exc: # workspace may be unavailable in local smoke calls; artifact still persists. await ctx.emit_event(AgentEvent(kind="workspace_write_warning", payload={"path": rel_path, "message": str(exc)[:300]})) try: