akif/arclet-boards
Arclet Boards — private Kanban workspaces with AppID, DataK3, shared web and MCP actions.
A remix template · 1 remixes · Remix akif/arclet-boards
app/application/ports.py
from typing import Callable, Protocol, TypeVar
T = TypeVar("T")
class Transaction(Protocol):
def get(self, table: str, key: str, guard: bool = False) -> dict | None: ...
def find(self, table: str, **filters) -> list[dict]: ...
def insert(self, table: str, row: dict) -> None: ...
def update(self, table: str, key: str, changes: dict) -> None: ...
def delete(self, table: str, key: str) -> None: ...
def similar_cards(self, board_id: str, card_id: str, embedding: str) -> list[dict]: ...
class Store(Protocol):
def run(self, fn: Callable[[Transaction], T], write: bool = False) -> T: ...