From 52f297b8fbe6d25ecb585c0bf8bae6394b06dfda Mon Sep 17 00:00:00 2001 From: jayhack Date: Mon, 3 Mar 2025 14:25:24 -0800 Subject: [PATCH 1/2] . --- src/codegen/agents/code_agent.py | 18 ++++++++++++++++ src/codegen/extensions/slack/types.py | 30 +++++++++++++++++++++++++++ uv.lock | 24 ++++++++++----------- 3 files changed, 60 insertions(+), 12 deletions(-) diff --git a/src/codegen/agents/code_agent.py b/src/codegen/agents/code_agent.py index c83c43f41..467e635c1 100644 --- a/src/codegen/agents/code_agent.py +++ b/src/codegen/agents/code_agent.py @@ -95,3 +95,21 @@ def run(self, prompt: str, thread_id: Optional[str] = None) -> str: print(separator) return result + + def get_agent_trace_url(self) -> str | None: + """Get the URL for the most recent agent run in LangSmith. + + Returns: + The URL for the run in LangSmith if found, None otherwise + """ + try: + # TODO - this is definitely not correct, we should be able to get the URL directly... + return find_and_print_langsmith_run_url(client=self.langsmith_client, project_name=self.project_name) + except Exception as e: + separator = "=" * 60 + print(f"\n{separator}\nCould not retrieve LangSmith URL: {e}") + import traceback + + print(traceback.format_exc()) + print(separator) + return None diff --git a/src/codegen/extensions/slack/types.py b/src/codegen/extensions/slack/types.py index c9c56dc6e..8be37efc6 100644 --- a/src/codegen/extensions/slack/types.py +++ b/src/codegen/extensions/slack/types.py @@ -42,3 +42,33 @@ class SlackWebhookPayload(BaseModel): event_time: int | None = Field(None) challenge: str | None = Field(None) subtype: str | None = Field(None) + + +class SlackMessageReaction(BaseModel): + """Model for a reaction on a Slack message.""" + + name: str + users: list[str] + count: int + + +class SlackMessage(BaseModel): + """Model for a message in a Slack conversation.""" + + user: str + type: str + ts: str + client_msg_id: str | None = None + text: str + team: str | None = None + blocks: list[Block] | None = None + language: dict | None = None + reactions: list[SlackMessageReaction] | None = None + thread_ts: str | None = None + reply_count: int | None = None + reply_users_count: int | None = None + latest_reply: str | None = None + reply_users: list[str] | None = None + is_locked: bool | None = None + subscribed: bool | None = None + parent_user_id: str | None = None diff --git a/uv.lock b/uv.lock index f23747826..2c51348b3 100644 --- a/uv.lock +++ b/uv.lock @@ -1677,7 +1677,7 @@ wheels = [ [[package]] name = "ipython" -version = "9.0.0" +version = "9.0.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, @@ -1691,9 +1691,9 @@ dependencies = [ { name = "stack-data" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/de/39/264894738a202ddaf6abae39b3f84671ddee23fd292dbb3e10039e70300c/ipython-9.0.0.tar.gz", hash = "sha256:9368d65b3d4a471e9a698fed3ea486bbf6737e45111e915279c971b77f974397", size = 4364165 } +sdist = { url = "https://files.pythonhosted.org/packages/9d/33/1901c9a842b301d8674f367dee597e654e402548a903faf7280aae8fc2d4/ipython-9.0.1.tar.gz", hash = "sha256:377ea91c8226b48dc9021ac9846a64761abc7ddf74c5efe38e6eb06f6e052f3a", size = 4365847 } wheels = [ - { url = "https://files.pythonhosted.org/packages/85/a1/894e4c0b6ac994045c6edeb2b6fdf69c59f20fcd2e348a42f4e40889181c/ipython-9.0.0-py3-none-any.whl", hash = "sha256:2cce23069b830a54a5b9d3d66ccd6433047c1503a7b9a3b34593c0b5c2c08477", size = 592040 }, + { url = "https://files.pythonhosted.org/packages/28/39/fda74f8215ef94a812dd780073c61a826a88a01e51f627a3454f7ae6951d/ipython-9.0.1-py3-none-any.whl", hash = "sha256:3e878273824b52e0a2280ed84f8193aba8c4ba9a6f45a438348a3d5ef1a34bd0", size = 600186 }, ] [[package]] @@ -2411,7 +2411,7 @@ wheels = [ [[package]] name = "modal" -version = "0.73.78" +version = "0.73.81" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohttp" }, @@ -2429,9 +2429,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "watchfiles" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f6/68/90f2ef2ad678faa7bfd750f4c2bc16c363b11970825779df86fffe939a1d/modal-0.73.78.tar.gz", hash = "sha256:dcb3535549e47ba519ed927635a424e4b73e45afa942b002d5cbc8d3f78479f0", size = 469597 } +sdist = { url = "https://files.pythonhosted.org/packages/0c/d6/800423a59ea862f696804059e5fb49bbb8ca3884aecfc62b4af7cba8f1a8/modal-0.73.81.tar.gz", hash = "sha256:9404481b1dcd2b926597f87afb9e1729caac8f49b8dc58302ba8e6f138d1be56", size = 469407 } wheels = [ - { url = "https://files.pythonhosted.org/packages/97/1f/08178134de7c7bcdb3b8777193ed008188c305edfa7f8e58a6f1bda4ce8b/modal-0.73.78-py3-none-any.whl", hash = "sha256:602edf2ec8877078d5a8d9a0956baf085d59f3431aa654b1302130e9fbde39f2", size = 535815 }, + { url = "https://files.pythonhosted.org/packages/e8/a9/9dd0e5f58e0e7f37fee6761a4cdeb3352c2d32ee85a5022099e68f953224/modal-0.73.81-py3-none-any.whl", hash = "sha256:9c9ce548c1bde97aeba07904f6754910667a97250b5a44eb4dd9797bc387c969", size = 535608 }, ] [[package]] @@ -2563,11 +2563,11 @@ wheels = [ [[package]] name = "narwhals" -version = "1.28.0" +version = "1.29.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ba/65/cc4f1d02d418e587fc5b9b31f3cbb8db83f4b35f91d7b59adfa8d947f644/narwhals-1.28.0.tar.gz", hash = "sha256:a2213fa44a039f724278fb15609889319e7c240403413f2606cc856c8d8f708d", size = 252143 } +sdist = { url = "https://files.pythonhosted.org/packages/e6/f7/caa23ebc4aed3ef2314441c44e1d842e701adc6af57587ffda9263c03b6e/narwhals-1.29.0.tar.gz", hash = "sha256:1021c345d56c66ff0cc8e6d03ca8c543d01ffc411630973a5cb69ee86824d823", size = 248349 } wheels = [ - { url = "https://files.pythonhosted.org/packages/73/aa/eedf2ade0c16a60541ca7acd48665c62dc0d11e1e910467b6c7e6b1eda34/narwhals-1.28.0-py3-none-any.whl", hash = "sha256:45d909ad6240944d447b0dae38074c5a919830dff3868d57b05a5526c1f06fe4", size = 308950 }, + { url = "https://files.pythonhosted.org/packages/ee/f6/1fcd6b3d0e21d9b75e71ae68fbc92bbb9b9b1f4f33dd81c61d8f53378b30/narwhals-1.29.0-py3-none-any.whl", hash = "sha256:653aa8e5eb435816e7b50c8def17e7e5e3324c2ffd8a3eec03fef85792e9cf5e", size = 305214 }, ] [[package]] @@ -4585,11 +4585,11 @@ wheels = [ [[package]] name = "trove-classifiers" -version = "2025.2.18.16" +version = "2025.3.3.18" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/13/8e/15ba2980e2704edecc53d15506a5bfa6efb3b1cadc5e4df7dc277bc199f8/trove_classifiers-2025.2.18.16.tar.gz", hash = "sha256:b1ee2e1668589217d4edf506743e28b1834da128f8a122bad522c02d837006e1", size = 16271 } +sdist = { url = "https://files.pythonhosted.org/packages/08/e9/eb59303bac7aca949c4a4b0fa03a9b270be165d303a84cf2733d35a840ce/trove_classifiers-2025.3.3.18.tar.gz", hash = "sha256:3ffcfa90a428adfde1a5d90e3aa1b87fe474c5dbdbf5ccbca74ed69ba83c5ca7", size = 16239 } wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/67/038a8c7f60ffd6037374649826dbaa221e4b17755016b71a581162a15ce1/trove_classifiers-2025.2.18.16-py3-none-any.whl", hash = "sha256:7f6dfae899f23f04b73bc09e0754d9219a6fc4d6cca6acd62f1850a87ea92262", size = 13616 }, + { url = "https://files.pythonhosted.org/packages/ef/bf/44195f3d9c3c4fe4cccf1c261c80d50781b9e8a0a6febf084c09c66740ff/trove_classifiers-2025.3.3.18-py3-none-any.whl", hash = "sha256:215630da61cf8757c373f81b602fc1283ec5a691cf12c5f9f96f11d6ad5fc7f2", size = 13629 }, ] [[package]] From 2a37ad3624d9501e1687edb12b4052a79b1915b6 Mon Sep 17 00:00:00 2001 From: jayhack Date: Mon, 3 Mar 2025 14:29:47 -0800 Subject: [PATCH 2/2] . --- src/codegen/agents/code_agent.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/codegen/agents/code_agent.py b/src/codegen/agents/code_agent.py index 467e635c1..cb7be3ffa 100644 --- a/src/codegen/agents/code_agent.py +++ b/src/codegen/agents/code_agent.py @@ -12,9 +12,6 @@ if TYPE_CHECKING: from codegen import Codebase -# Remove logger configuration -# logger = logging.getLogger(__name__) - class CodeAgent: """Agent for interacting with a codebase."""