vectie/bunnia/agent does not have a README file

    Actor

    pub struct Actor {
    id : String
    label : String
    kind : ActorKind
    } derive(Eq,
    Debug
    )

    ActorKind

    pub(all) enum ActorKind {
    Human
    Agent
    System
    } derive(Eq,
    Debug
    )

    AgentDelta

    pub struct AgentDelta {
    id : String
    kind : AgentDeltaKind
    target_path : String
    patches : Array[
    Patch
    ]
    } derive(Eq,
    Debug
    )

    AgentDeltaKind

    pub(all) enum AgentDeltaKind {
    AppendMessage
    AppendCommunication
    AppendStreamChunk
    SetStreamChunk
    SetRunStatus
    SetReviewState
    } derive(Eq,
    Debug
    )

    AgentDeltaPlan

    pub struct AgentDeltaPlan {
    deltas : Array[AgentDelta]
    patch_plan :
    PatchPlan

    duplicate_stream_chunk_count : Int
    diagnostics : Array[String]
    summary : String
    } derive(Eq,
    Debug
    )

    Communication

    pub struct Communication {
    id : String
    thread_id : String
    kind : CommunicationKind
    from_actor_id : String
    to_actor_id : String
    text : String
    artifact_ref : String
    timestamp : String
    status : RunStatus
    open_message : String
    } derive(Eq,
    Debug
    )

    CommunicationBudget

    pub struct CommunicationBudget {
    max_visible_count : Int
    max_review_request_count : Int
    max_unresolved_review_count : Int
    max_artifact_ref_count : Int
    } derive(Eq,
    Debug
    )

    CommunicationFilter

    pub struct CommunicationFilter {
    thread_id : String
    actor_id : String
    kind_id : String
    include_resolved_reviews : Bool
    } derive(Eq,
    Debug
    )

    CommunicationKind

    pub(all) enum CommunicationKind {
    MessageEvent
    Handoff
    Broadcast
    ReviewRequest
    Approval
    ToolResult
    RecoveryNotice
    } derive(Eq,
    Debug
    )

    CommunicationPlan

    pub struct CommunicationPlan {
    total_count : Int
    filtered_count : Int
    visible_count : Int
    hidden_count : Int
    visible_items : Array[Communication]
    review_request_count : Int
    unresolved_review_count : Int
    handoff_count : Int
    broadcast_count : Int
    tool_result_count : Int
    recovery_notice_count : Int
    artifact_ref_count : Int
    running_count : Int
    failed_count : Int
    diagnostics : Array[String]
    summary : String
    } derive(Eq,
    Debug
    )

    Message

    pub struct Message {
    id : String
    actor_id : String
    thread_id : String
    text : String
    artifact_ref : String
    status : RunStatus
    } derive(Eq,
    Debug
    )

    ReviewAction

    pub struct ReviewAction {
    id : String
    label : String
    state : ReviewState
    approve_message : String
    reject_message : String
    } derive(Eq,
    Debug
    )

    ReviewState

    pub(all) enum ReviewState {
    NotRequired
    Pending
    Approved
    Rejected
    CancelledReview
    FailedReview
    } derive(Eq,
    Debug
    )

    RunStatus

    pub(all) enum RunStatus {
    Idle
    Running
    WaitingReview
    Done
    Failed
    Cancelled
    } derive(Eq,
    Debug
    )

    Thread

    pub struct Thread {
    id : String
    title : String
    owner_actor_id : String
    subject_ref : String
    status : RunStatus
    } derive(Eq,
    Debug
    )

    ToolResultBudget

    pub struct ToolResultBudget {
    max_visible_count : Int
    max_pending_ack_count : Int
    max_missing_ack_count : Int
    max_artifact_ref_count : Int
    } derive(Eq,
    Debug
    )

    ToolResultCard

    pub struct ToolResultCard {
    id : String
    tool_name : String
    title : String
    summary : String
    artifact_ref : String
    status : RunStatus
    open_message : String
    acknowledge_message : String
    } derive(Eq,
    Debug
    )

    ToolResultPlan

    pub struct ToolResultPlan {
    total_count : Int
    visible_count : Int
    hidden_count : Int
    visible_items : Array[ToolResultCard]
    artifact_ref_count : Int
    pending_ack_count : Int
    missing_ack_count : Int
    running_count : Int
    failed_count : Int
    diagnostics : Array[String]
    summary : String
    } derive(Eq,
    Debug
    )

    actor

    fn actor(id~ : String, label~ : String, kind? : ActorKind) -> Actor

    agent_delta_kind_id

    fn agent_delta_kind_id(kind : AgentDeltaKind) -> String

    all_communication_filter

    fn all_communication_filter() -> CommunicationFilter

    append_communication_delta

    fn append_communication_delta(target_path : String, item : Communication) -> AgentDelta

    append_message_delta

    fn append_message_delta(target_path : String, item : Message) -> AgentDelta

    append_stream_chunk_delta

    fn append_stream_chunk_delta(target_path : String, chunk_id : String, text : String, status? : RunStatus) -> AgentDelta

    approval

    fn approval(id~ : String, thread_id~ : String, from_actor_id~ : String, to_actor_id~ : String, text~ : String, artifact_ref? : String, open_message? : String) -> Communication

    broadcast

    fn broadcast(id~ : String, thread_id~ : String, from_actor_id~ : String, text~ : String, open_message? : String) -> Communication

    communication

    fn communication(id~ : String, thread_id~ : String, kind~ : CommunicationKind, from_actor_id~ : String, to_actor_id? : String, text~ : String, artifact_ref? : String, timestamp? : String, status? : RunStatus, open_message? : String) -> Communication

    communication_budget

    fn communication_budget(max_visible_count? : Int, max_review_request_count? : Int, max_unresolved_review_count? : Int, max_artifact_ref_count? : Int) -> CommunicationBudget

    communication_filter

    fn communication_filter(thread_id? : String, actor_id? : String, kind_id? : String, include_resolved_reviews? : Bool) -> CommunicationFilter

    communication_kind_id

    fn communication_kind_id(kind : CommunicationKind) -> String

    communication_row

    fn communication_row(input : Communication) ->
    Node

    communication_trace

    fn communication_trace(items : Array[Communication]) ->
    Node

    default_communication_budget

    fn default_communication_budget() -> CommunicationBudget

    default_tool_result_budget

    fn default_tool_result_budget() -> ToolResultBudget

    filter_communications

    fn filter_communications(items : Array[Communication], filter : CommunicationFilter) -> Array[Communication]

    handoff

    fn handoff(id~ : String, thread_id~ : String, from_actor_id~ : String, to_actor_id~ : String, text~ : String, open_message? : String) -> Communication

    message

    fn message(id~ : String, actor_id~ : String, thread_id~ : String, text~ : String, artifact_ref? : String, status? : RunStatus) -> Message

    message_event

    fn message_event(id~ : String, thread_id~ : String, from_actor_id~ : String, text~ : String, artifact_ref? : String, open_message? : String) -> Communication

    message_feed

    fn message_feed(messages : Array[Message]) ->
    Node

    message_row

    fn message_row(item : Message) ->
    Node

    plan_agent_deltas

    fn plan_agent_deltas(deltas : Array[AgentDelta]) -> AgentDeltaPlan

    plan_agent_deltas_with_budget

    fn plan_agent_deltas_with_budget(deltas : Array[AgentDelta], budget :
    PatchBudget
    ) -> AgentDeltaPlan

    plan_communications

    fn plan_communications(items : Array[Communication]) -> CommunicationPlan

    plan_communications_with_budget

    fn plan_communications_with_budget(items : Array[Communication], budget : CommunicationBudget) -> CommunicationPlan

    plan_filtered_communications

    fn plan_filtered_communications(items : Array[Communication], filter : CommunicationFilter, budget? : CommunicationBudget) -> CommunicationPlan

    plan_tool_result_cards

    fn plan_tool_result_cards(cards : Array[ToolResultCard]) -> ToolResultPlan

    plan_tool_result_cards_with_budget

    fn plan_tool_result_cards_with_budget(cards : Array[ToolResultCard], budget : ToolResultBudget) -> ToolResultPlan

    recovery_notice

    fn recovery_notice(id~ : String, thread_id~ : String, from_actor_id~ : String, text~ : String, open_message? : String) -> Communication

    review_action

    fn review_action(id~ : String, label~ : String, approve_message~ : String, reject_message~ : String, state? : ReviewState) -> ReviewAction

    review_action_enabled

    fn review_action_enabled(action : ReviewAction) -> Bool

    review_controls

    fn review_controls(action : ReviewAction) ->
    Node

    review_request

    fn review_request(id~ : String, thread_id~ : String, from_actor_id~ : String, to_actor_id~ : String, text~ : String, artifact_ref? : String, open_message? : String) -> Communication

    review_state_id

    fn review_state_id(state : ReviewState) -> String

    run_status_id

    fn run_status_id(status : RunStatus) -> String

    set_review_state_delta

    fn set_review_state_delta(target_path : String, state : ReviewState) -> AgentDelta

    set_run_status_delta

    fn set_run_status_delta(target_path : String, status : RunStatus) -> AgentDelta

    set_stream_chunk_delta

    fn set_stream_chunk_delta(target_path : String, chunk_id : String, text : String, status? : RunStatus) -> AgentDelta

    thread

    fn thread(id~ : String, title~ : String, owner_actor_id~ : String, subject_ref? : String, status? : RunStatus) -> Thread

    thread_card

    fn thread_card(input : Thread) ->
    Node

    tool_result

    fn tool_result(id~ : String, thread_id~ : String, from_actor_id~ : String, text~ : String, artifact_ref~ : String, open_message? : String) -> Communication

    tool_result_budget

    fn tool_result_budget(max_visible_count? : Int, max_pending_ack_count? : Int, max_missing_ack_count? : Int, max_artifact_ref_count? : Int) -> ToolResultBudget

    tool_result_card

    fn tool_result_card(id~ : String, tool_name~ : String, title~ : String, summary~ : String, artifact_ref? : String, status? : RunStatus, open_message? : String, acknowledge_message? : String) -> ToolResultCard

    tool_result_card_list

    fn tool_result_card_list(cards : Array[ToolResultCard]) ->
    Node

    tool_result_card_view

    fn tool_result_card_view(card : ToolResultCard) ->
    Node

    windowed_communication_trace

    fn windowed_communication_trace(items : Array[Communication], total_count~ : Int, offset? : Int) ->
    Node

    windowed_message_feed

    fn windowed_message_feed(messages : Array[Message], total_count~ : Int, offset? : Int) ->
    Node

    windowed_tool_result_card_list

    fn windowed_tool_result_card_list(cards : Array[ToolResultCard], total_count~ : Int, offset? : Int) ->
    Node