block level script run (#3710)

This commit is contained in:
Shuchang Zheng
2025-10-14 16:17:03 -07:00
committed by GitHub
parent e13e9a5d58
commit ce35b37470
10 changed files with 352 additions and 176 deletions

View File

@@ -4152,6 +4152,7 @@ class AgentDB:
organization_id: str,
script_block_label: str,
script_file_id: str | None = None,
run_signature: str | None = None,
) -> ScriptBlock:
"""Create a script block."""
async with self.Session() as session:
@@ -4161,6 +4162,7 @@ class AgentDB:
organization_id=organization_id,
script_block_label=script_block_label,
script_file_id=script_file_id,
run_signature=run_signature,
)
session.add(script_block)
await session.commit()
@@ -4172,6 +4174,7 @@ class AgentDB:
script_block_id: str,
organization_id: str,
script_file_id: str | None = None,
run_signature: str | None = None,
) -> ScriptBlock:
async with self.Session() as session:
script_block = (
@@ -4182,8 +4185,10 @@ class AgentDB:
)
).first()
if script_block:
if script_file_id:
if script_file_id is not None:
script_block.script_file_id = script_file_id
if run_signature is not None:
script_block.run_signature = run_signature
await session.commit()
await session.refresh(script_block)
return convert_to_script_block(script_block)

View File

@@ -969,6 +969,7 @@ class ScriptBlockModel(Base):
script_revision_id = Column(String, nullable=False, index=True)
script_block_label = Column(String, nullable=False)
script_file_id = Column(String, nullable=True)
run_signature = Column(String, nullable=True)
created_at = Column(DateTime, default=datetime.datetime.utcnow, nullable=False)
modified_at = Column(DateTime, default=datetime.datetime.utcnow, onupdate=datetime.datetime.utcnow, nullable=False)

View File

@@ -580,6 +580,7 @@ def convert_to_script_block(script_block_model: ScriptBlockModel) -> ScriptBlock
script_revision_id=script_block_model.script_revision_id,
script_block_label=script_block_model.script_block_label,
script_file_id=script_block_model.script_file_id,
run_signature=script_block_model.run_signature,
created_at=script_block_model.created_at,
modified_at=script_block_model.modified_at,
deleted_at=script_block_model.deleted_at,