Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

1from abc import ABC, abstractmethod
2
3from integrations.models import Message, SourceType
4
5
6class Manager(ABC):
7 manager_type: SourceType
8
9 @abstractmethod
10 async def receive_message(self, message: Message):
11 "Receive message from integration"
12 raise NotImplementedError
13
14 @abstractmethod
15 def send_message(self, message: Message):
16 "Send message to integration from Openhands server"
17 raise NotImplementedError
18
19 @abstractmethod
20 def start_job(self):
21 "Kick off a job with openhands agent"
22 raise NotImplementedError
23
24 def create_outgoing_message(self, msg: str | dict, ephemeral: bool = False):
25 return Message(source=SourceType.OPENHANDS, message=msg, ephemeral=ephemeral)
26

After

1from abc import ABC, abstractmethod
2from typing import Any
3
4from integrations.models import Message, SourceType
5
6
7class Manager(ABC):
8 manager_type: SourceType
9
10 @abstractmethod
11 async def receive_message(self, message: Message):
12 "Receive message from integration"
13 raise NotImplementedError
14
15 @abstractmethod
16 def send_message(self, message: str, *args: Any, **kwargs: Any):
17 """Send message to integration from OpenHands server.
18
19 Args:
20 message: The message content to send (plain text string).
21 """
22 raise NotImplementedError
23
24 @abstractmethod
25 def start_job(self):
26 "Kick off a job with openhands agent"
27 raise NotImplementedError
28

Before

module
import_from_statement
from "from"
dotted_name
identifier "abc"
import "import"
dotted_name
identifier "ABC"
, ","
dotted_name
identifier "abstractmethod"
import_from_statement
from "from"
dotted_name
identifier "integrations"
. "."
identifier "models"
import "import"
dotted_name
identifier "Message"
, ","
dotted_name
identifier "SourceType"
class_definition
class "class"
identifier "Manager"
argument_list
( "("
identifier "ABC"
) ")"
: ":"
block
expression_statement
assignment
identifier "manager_type"
: ":"
type
identifier "SourceType"
decorated_definition (+28 nodes collapsed)
decorated_definition
decorator
@ "@"
identifier "abstractmethod"
function_definition
def "def"
identifier "send_message"
parameters
( "("
identifier "self"
, ","
typed_parameter
identifier "message"
: ":"
type
identifier "Message"
) ")"
: ":"
block
expression_statement
string
string_start "\""
string_content "Send message to integration from Openhands server"
string_end "\""
raise_statement
raise "raise"
identifier "NotImplementedError"
decorated_definition (+21 nodes collapsed)
function_definition
def "def"
identifier "create_outgoing_message"
parameters
( "("
identifier "self"
, ","
typed_parameter
identifier "msg"
: ":"
type
binary_operator
identifier "str"
| "|"
identifier "dict"
, ","
typed_default_parameter
identifier "ephemeral"
: ":"
type
identifier "bool"
= "="
false "False"
) ")"
: ":"
block
return_statement
return "return"
call
identifier "Message"
argument_list
( "("
keyword_argument
identifier "source"
= "="
attribute
identifier "SourceType"
. "."
identifier "OPENHANDS"
, ","
keyword_argument
identifier "message"
= "="
identifier "msg"
, ","
keyword_argument
identifier "ephemeral"
= "="
identifier "ephemeral"
) ")"

After

module
import_from_statement
from "from"
dotted_name
identifier "abc"
import "import"
dotted_name
identifier "ABC"
, ","
dotted_name
identifier "abstractmethod"
import_from_statement
from "from"
dotted_name
identifier "typing"
import "import"
dotted_name
identifier "Any"
import_from_statement
from "from"
dotted_name
identifier "integrations"
. "."
identifier "models"
import "import"
dotted_name
identifier "Message"
, ","
dotted_name
identifier "SourceType"
class_definition
class "class"
identifier "Manager"
argument_list
( "("
identifier "ABC"
) ")"
: ":"
block
expression_statement
assignment
identifier "manager_type"
: ":"
type
identifier "SourceType"
decorated_definition (+28 nodes collapsed)
decorated_definition
decorator
@ "@"
identifier "abstractmethod"
function_definition
def "def"
identifier "send_message"
parameters
( "("
identifier "self"
, ","
typed_parameter
identifier "message"
: ":"
type
identifier "str"
, ","
typed_parameter
list_splat_pattern
* "*"
identifier "args"
: ":"
type
identifier "Any"
, ","
typed_parameter
dictionary_splat_pattern
** "**"
identifier "kwargs"
: ":"
type
identifier "Any"
) ")"
: ":"
block
expression_statement
string
string_start "\"\"\""
string_content "Send message to integration from OpenHands server.\n\n "...
string_end "\"\"\""
raise_statement
raise "raise"
identifier "NotImplementedError"
decorated_definition (+21 nodes collapsed)