LemonAgent.Workspace.KanbanStore (lemon_agent v0.1.0)

View Source

Durable BEAM-native kanban board state for multi-agent work.

Summary

Functions

add_comment(task_id, body, opts \\ [])

@spec add_comment(binary(), binary(), keyword()) :: {:ok, map()} | {:error, term()}

archive_board(board_id, opts \\ [])

@spec archive_board(
  binary(),
  keyword()
) :: {:ok, map()} | {:error, term()}

clear_board(board_id, opts \\ [])

@spec clear_board(
  binary(),
  keyword()
) :: :ok | {:error, term()}

complete_task(task_id, opts \\ [])

@spec complete_task(
  binary(),
  keyword()
) :: {:ok, map()} | {:error, term()}

create_board(name, opts \\ [])

@spec create_board(
  binary(),
  keyword()
) :: {:ok, map()} | {:error, term()}

create_task(board_id, title, opts \\ [])

@spec create_task(binary(), binary(), keyword()) :: {:ok, map()} | {:error, term()}

diagnostics(opts \\ [])

@spec diagnostics(keyword()) :: map()

fail_task(task_id, reason, opts \\ [])

@spec fail_task(binary(), binary(), keyword()) :: {:ok, map()} | {:error, term()}

get_board(board_id)

@spec get_board(binary()) :: map()

get_task(task_id)

@spec get_task(binary()) :: map()

lease_task(board_id, worker_id, opts \\ [])

@spec lease_task(binary(), binary(), keyword()) :: {:ok, map()} | {:error, term()}

list_boards(opts \\ [])

@spec list_boards(keyword()) :: [map()]

list_tasks(board_id, opts \\ [])

@spec list_tasks(
  binary(),
  keyword()
) :: [map()]

reclaim_expired_leases(board_id, opts \\ [])

@spec reclaim_expired_leases(
  binary(),
  keyword()
) :: {:ok, [map()]} | {:error, term()}

update_task(task_id, attrs, opts \\ [])

@spec update_task(binary(), keyword() | map(), keyword()) ::
  {:ok, map()} | {:error, term()}