weave-python 0.58.0__py3-none-any.whl → 0.59.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,6 +13,30 @@ import sqlalchemy.ext.asyncio
13
13
  from weave.weavesql.weavedb import models
14
14
 
15
15
 
16
+ CLAIM_AGENT_RUN = """-- name: claim_agent_run \\:one
17
+ UPDATE weave.agent_runs
18
+ SET
19
+ status = :p1,
20
+ error_code = '',
21
+ safe_error_message = '',
22
+ started_at = COALESCE(started_at, :p2\\:\\:timestamptz),
23
+ finished_at = NULL
24
+ WHERE organization_id = :p3
25
+ AND id = :p4
26
+ AND status = :p5
27
+ RETURNING id, organization_id, agent_definition_id, agent_version_id, status, created_by_user_id, chat_session_id, workflow_run_id, workflow_step_run_id, input, output, error_code, safe_error_message, created_at, started_at, finished_at
28
+ """
29
+
30
+
31
+ @dataclasses.dataclass()
32
+ class ClaimAgentRunParams:
33
+ status: str
34
+ started_at: datetime.datetime
35
+ organization_id: uuid.UUID
36
+ agent_run_id: uuid.UUID
37
+ expected_status: str
38
+
39
+
16
40
  CREATE_AGENT_DEFINITION = """-- name: create_agent_definition \\:one
17
41
  INSERT INTO weave.agent_definitions (
18
42
  id,
@@ -632,6 +656,40 @@ class Querier:
632
656
  def __init__(self, conn: sqlalchemy.engine.Connection):
633
657
  self._conn = conn
634
658
 
659
+ def claim_agent_run(
660
+ self, arg: ClaimAgentRunParams
661
+ ) -> Optional[models.WeaveAgentRun]:
662
+ row = self._conn.execute(
663
+ sqlalchemy.text(CLAIM_AGENT_RUN),
664
+ {
665
+ "p1": arg.status,
666
+ "p2": arg.started_at,
667
+ "p3": arg.organization_id,
668
+ "p4": arg.agent_run_id,
669
+ "p5": arg.expected_status,
670
+ },
671
+ ).first()
672
+ if row is None:
673
+ return None
674
+ return models.WeaveAgentRun(
675
+ id=row[0],
676
+ organization_id=row[1],
677
+ agent_definition_id=row[2],
678
+ agent_version_id=row[3],
679
+ status=row[4],
680
+ created_by_user_id=row[5],
681
+ chat_session_id=row[6],
682
+ workflow_run_id=row[7],
683
+ workflow_step_run_id=row[8],
684
+ input=row[9],
685
+ output=row[10],
686
+ error_code=row[11],
687
+ safe_error_message=row[12],
688
+ created_at=row[13],
689
+ started_at=row[14],
690
+ finished_at=row[15],
691
+ )
692
+
635
693
  def create_agent_definition(
636
694
  self, arg: CreateAgentDefinitionParams
637
695
  ) -> Optional[models.WeaveAgentDefinition]:
@@ -1360,6 +1418,42 @@ class AsyncQuerier:
1360
1418
  def __init__(self, conn: sqlalchemy.ext.asyncio.AsyncConnection):
1361
1419
  self._conn = conn
1362
1420
 
1421
+ async def claim_agent_run(
1422
+ self, arg: ClaimAgentRunParams
1423
+ ) -> Optional[models.WeaveAgentRun]:
1424
+ row = (
1425
+ await self._conn.execute(
1426
+ sqlalchemy.text(CLAIM_AGENT_RUN),
1427
+ {
1428
+ "p1": arg.status,
1429
+ "p2": arg.started_at,
1430
+ "p3": arg.organization_id,
1431
+ "p4": arg.agent_run_id,
1432
+ "p5": arg.expected_status,
1433
+ },
1434
+ )
1435
+ ).first()
1436
+ if row is None:
1437
+ return None
1438
+ return models.WeaveAgentRun(
1439
+ id=row[0],
1440
+ organization_id=row[1],
1441
+ agent_definition_id=row[2],
1442
+ agent_version_id=row[3],
1443
+ status=row[4],
1444
+ created_by_user_id=row[5],
1445
+ chat_session_id=row[6],
1446
+ workflow_run_id=row[7],
1447
+ workflow_step_run_id=row[8],
1448
+ input=row[9],
1449
+ output=row[10],
1450
+ error_code=row[11],
1451
+ safe_error_message=row[12],
1452
+ created_at=row[13],
1453
+ started_at=row[14],
1454
+ finished_at=row[15],
1455
+ )
1456
+
1363
1457
  async def create_agent_definition(
1364
1458
  self, arg: CreateAgentDefinitionParams
1365
1459
  ) -> Optional[models.WeaveAgentDefinition]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: weave-python
3
- Version: 0.58.0
3
+ Version: 0.59.0
4
4
  Author: Weave Labs
5
5
  License: FCL-1.0-ALv2
6
6
  License-File: LICENSE
@@ -129,7 +129,7 @@ weave/weavesql/atcdb/models.py,sha256=FHBXYp_VOQIMJhB_uviKjDo9QTz1c88DRjx0l6otrS
129
129
  weave/weavesql/atcdb/run_template.py,sha256=kIa3JASDW0GgcErLg8NfFSh31KmzgHoLU102D19JsL0,12328
130
130
  weave/weavesql/atcdb/snapshot.py,sha256=Rgdvmy1GHr9n7lenLOEoEkukHi9eCzQGaGVUQBcqzYc,6411
131
131
  weave/weavesql/atcdb/team.py,sha256=4Q9DlRi4pMOxxoHEBuya6SZ-VMWumQBpG8cYhx8RBvA,12148
132
- weave/weavesql/weavedb/agent.py,sha256=KG4Ma6gngqKUL72mgp7P3u-g_Lle_AbLYVm2CMgNysU,66863
132
+ weave/weavesql/weavedb/agent.py,sha256=mmZ6hGpN0ifVP7GABytv4hfDrswLIECJDDJGhWQbTIQ,69789
133
133
  weave/weavesql/weavedb/auth_identity.py,sha256=qW1JNoT9tlnRP1lRSry1wodITvsBc_BzS4lHlGrVmnw,134030
134
134
  weave/weavesql/weavedb/chat.py,sha256=STtu97aOKidcizsSLHpLFeo8DdYnv3PgpA2m6cW2hpE,58177
135
135
  weave/weavesql/weavedb/consolidation.py,sha256=kzZX-o3JF4n0r7rankiWN4I_eywsZUTHr9ujDmTG5nY,30785
@@ -143,7 +143,7 @@ weave/weavesql/weavedb/provider.py,sha256=zfBtTFiPGy-gJxil_Om3-N0E3aJpHYTsC1P3Jp
143
143
  weave/weavesql/weavedb/retrieval.py,sha256=tRGNZpPglYc1IBFWrQHKSulXTsWVpNgs49cB8L-nCPc,61207
144
144
  weave/weavesql/weavedb/task.py,sha256=AS2wig-e4UnlPHJ6Uk53XEa3lF9RLKwGpN4m9vmFqzM,23966
145
145
  weave/weavesql/weavedb/workflow.py,sha256=ICEaiczoMcJoAmvXc-lAX_kSfAQqaCfSGXZD9V1y4ac,79625
146
- weave_python-0.58.0.dist-info/METADATA,sha256=8Dal9YTEnico5kGxW-Zqb8EIqhRGI2f8Xa7LQl-gjkE,1444
147
- weave_python-0.58.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
148
- weave_python-0.58.0.dist-info/licenses/LICENSE,sha256=oO00b58BS5uBxjk80lqVRUm_p8yMsGilVGCdO4ulm5Y,4216
149
- weave_python-0.58.0.dist-info/RECORD,,
146
+ weave_python-0.59.0.dist-info/METADATA,sha256=I3znFozj-ujKViZqIZSjc1HF2Dd-BDbPGu63eMNrNzU,1444
147
+ weave_python-0.59.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
148
+ weave_python-0.59.0.dist-info/licenses/LICENSE,sha256=oO00b58BS5uBxjk80lqVRUm_p8yMsGilVGCdO4ulm5Y,4216
149
+ weave_python-0.59.0.dist-info/RECORD,,