app.core.resolve

Resolve API router - kref resolution utilities.

Functions

resolve_kref([kref, r, t, a, time, client])

Resolve a kref to a file location.

resolve_kref_to_revision([kref, t, time, client])

Resolve a kref to a specific revision with optional tag/time constraints.

Classes

ResolveResponse(**data)

Response for kref resolution.

ResolveRevisionResponse(**data)

Full kref resolution response with revision details.

class app.core.resolve.ResolveResponse(**data)[source]

Bases: BaseModel

Response for kref resolution.

Parameters:
  • kref (str)

  • location (str | None)

  • resolved_revision (int | None)

  • resolved_artifact (str | None)

kref: str
location: str | None
resolved_revision: int | None
resolved_artifact: str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class app.core.resolve.ResolveRevisionResponse(**data)[source]

Bases: BaseModel

Full kref resolution response with revision details.

Parameters:
  • revision (RevisionResponse | None)

  • found (bool)

revision: RevisionResponse | None
found: bool
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

async app.core.resolve.resolve_kref(kref=Query(PydanticUndefined), r=Query(None), t=Query(None), a=Query(None), time=Query(None), client=Depends(dependency=<function get_kumiho_client>, use_cache=True, scope=None))[source]

Resolve a kref to a file location.

Resolution logic: - Item kref → latest revision → default artifact → location - Revision kref → default artifact → location - Artifact kref → location directly

Query parameters can override embedded values in the kref.

Parameters:
  • kref (str)

  • r (int | None)

  • t (str | None)

  • a (str | None)

  • time (str | None)

  • client (Any)

async app.core.resolve.resolve_kref_to_revision(kref=Query(PydanticUndefined), t=Query(None), time=Query(None), client=Depends(dependency=<function get_kumiho_client>, use_cache=True, scope=None))[source]

Resolve a kref to a specific revision with optional tag/time constraints.

This is useful for point-in-time queries or finding which revision had a specific tag at a given moment.

Parameters:
  • kref (str)

  • t (str | None)

  • time (str | None)

  • client (Any)