17 lines
1.3 KiB
Plaintext
17 lines
1.3 KiB
Plaintext
external atom AgentDirectoryObject id "atom:org.quixos.agent:directory";
|
|
external atom AgentObject id "atom:org.quixos.agent:agent";
|
|
external atom AgentThreadObject id "atom:org.quixos.agent:thread";
|
|
external atom AgentRequestObject id "atom:org.quixos.agent:request";
|
|
external atom AgentItemObject id "atom:org.quixos.agent:item";
|
|
external atom AgentQuestionObject id "atom:org.quixos.agent:question";
|
|
external atom AgentCompletionStreamObject id "atom:org.quixos.agent:completion-stream";
|
|
|
|
type QuestionData = record {key:string;title:string;options:string;status:string;answer:optional<string>;createdAt:string;expiresAt:string;attempt:string;generation:uint32;};
|
|
interface AgentQuestion id "interface:org.quixos.agent:question" revision "interface:org.quixos.agent:question@1" {
|
|
queryable value data id "agent:question:data" : QuestionData {get id "agent:question:data:get" execution snapshot;}
|
|
queryable relation request id "agent:question:request" : exactly-one atom AgentRequestObject {resolve id "agent:question:request:resolve" execution snapshot;}
|
|
operation answer id "agent:question:answer" : record {answer:string;attempt:string;generation:uint32;answeredAt:string;} -> bool {call id "agent:question:answer:call" execution transaction;}
|
|
operation cancel id "agent:question:cancel" : unit -> unit {call id "agent:question:cancel:call" execution transaction;}
|
|
}
|
|
|