feat: pin sessions to workspace revisions
This commit is contained in:
@@ -117,6 +117,8 @@ class SessionManifest(_YamlModel):
|
||||
provider: str | None = None
|
||||
model: str | None = None
|
||||
thinking: str | None = None
|
||||
workspace_id: str | None = None
|
||||
workspace_revision: str | None = None
|
||||
name: str | None = None
|
||||
archived: bool = False
|
||||
group: str | None = None
|
||||
|
||||
@@ -102,7 +102,8 @@ def create_session(
|
||||
question: str, db: DatabaseConfig, sessions_root: Path,
|
||||
*, author: str | None = None, summary: str | None = None,
|
||||
provider: str | None = None, model: str | None = None,
|
||||
thinking: str | None = None, name: str | None = None,
|
||||
thinking: str | None = None, workspace_id: str | None = None,
|
||||
workspace_revision: str | None = None, name: str | None = None,
|
||||
) -> SessionManifest:
|
||||
now = datetime.now(UTC)
|
||||
# stamp con ora/min/sec: identifica univocamente sessioni dello stesso giorno
|
||||
@@ -123,7 +124,8 @@ def create_session(
|
||||
database=db.database, schema=db.db_schema,
|
||||
author=who, summary=summary or _summarize(question),
|
||||
updated_at=now, updated_by=who, schema_version=schema_version,
|
||||
provider=provider, model=model, thinking=thinking, name=name,
|
||||
provider=provider, model=model, thinking=thinking, workspace_id=workspace_id,
|
||||
workspace_revision=workspace_revision, name=name,
|
||||
)
|
||||
session_dir = sessions_root / session_id
|
||||
manifest.to_yaml(session_dir / MANIFEST)
|
||||
@@ -132,7 +134,8 @@ def create_session(
|
||||
|
||||
|
||||
def new_session_manifest(
|
||||
question: str, db: DatabaseConfig, *, provider=None, model=None, thinking=None, name=None
|
||||
question: str, db: DatabaseConfig, *, provider=None, model=None, thinking=None,
|
||||
workspace_id=None, workspace_revision=None, name=None,
|
||||
) -> SessionManifest:
|
||||
"""Create an unsaved UUIDv4 manifest for a repository-owned session."""
|
||||
now = datetime.now(UTC)
|
||||
@@ -140,7 +143,8 @@ def new_session_manifest(
|
||||
id=str(uuid.uuid4()), created_at=now, question=question,
|
||||
database=db.database, schema=db.db_schema, author=current_author(),
|
||||
summary=_summarize(question), updated_at=now, updated_by=current_author(),
|
||||
provider=provider, model=model, thinking=thinking, name=name,
|
||||
provider=provider, model=model, thinking=thinking, workspace_id=workspace_id,
|
||||
workspace_revision=workspace_revision, name=name,
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user