Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/toad/acp/prompt.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
from acp import schema
from acp.helpers import ContentBlock
from agent_comms.field_codec import FieldCodec
from agent_comms.image_inputs import ImageInput, prompt_images
from agent_comms.image_input import ImageInput
from agent_comms.image_inputs import prompt_images

from toad.clipboard_image import attachment_directory
from toad.file_kind import FileKind
Expand Down
27 changes: 21 additions & 6 deletions src/toad/acp/status.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,25 @@
"""Specification-spelled reasons and statuses own toolkit independent facts."""
from agent_comms.declared_family import DeclaredFamily
from agent_comms.mro_dispatch import MroDispatch, handles
from agent_comms.transcript_events import ToolTranscript, ToolStartTranscript, ToolEndTranscript
from dataclasses import dataclass

from acp.schema import ToolCall
from toad.line_blocks import FailureRole, Span, SuccessRole, Summary, ToolArgumentRole, ToolVerbRole, WorkingRole
from agent_comms.agent_event_updates import AcpToolAction
from agent_comms.declared_family import DeclaredFamily
from agent_comms.mro_dispatch import MroDispatch, handles
from agent_comms.transcript_events import (
ToolEndTranscript,
ToolStartTranscript,
ToolTranscript,
)

from toad.line_blocks import (
FailureRole,
Span,
SuccessRole,
Summary,
ToolArgumentRole,
ToolVerbRole,
WorkingRole,
)


class StopReason(DeclaredFamily, affix='StopReason'):
Expand Down Expand Up @@ -50,7 +65,7 @@ def from_transcript(cls, events: tuple[ToolTranscript, ...]):
"""
first = events[0]
call = ToolCall(tool_call_id=first.tool_call_id, title=first.title,
kind=first.kind, status='completed')
kind=AcpToolAction.kind(first.kind), status='completed')
consumer = cls(call)
for event in events:
consumer.dispatch_sync(event)
Expand All @@ -60,7 +75,7 @@ def from_transcript(cls, events: tuple[ToolTranscript, ...]):
def recorded_start(self, event: ToolStartTranscript):
self.call.status = 'in_progress'
self.call.title = event.title
self.call.kind = event.kind
self.call.kind = AcpToolAction.kind(event.kind)
self.call.raw_input = event.raw_input

@handles(ToolEndTranscript)
Expand Down
5 changes: 3 additions & 2 deletions src/toad/clipboard_image.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@
import asyncio
import hashlib
import os
from pathlib import Path
import shutil
from pathlib import Path

from agent_comms.image_input import MAX_IMAGE_BYTES

from agent_comms.image_inputs import MAX_IMAGE_BYTES
from toad import paths

PNG_SIGNATURE = b"\x89PNG\r\n\x1a\n"
Expand Down
5 changes: 3 additions & 2 deletions src/toad/prompt/resource.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
from dataclasses import dataclass
import mimetypes
from dataclasses import dataclass
from pathlib import Path

from agent_comms.image_inputs import MAX_IMAGE_BYTES
from agent_comms.image_input import MAX_IMAGE_BYTES

from toad.file_kind import FileKind


Expand Down
Loading