Export template source from 43588085c8b4076a65db8542df7b9cfef57eb070:quixos-instance/interfaces/agent-directory

This commit is contained in:
Quixos Template Publisher
2000-01-01 00:00:00 +00:00
commit 72ca29acc9
3 changed files with 38 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
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";
import interface AgentContextSubject;
type AgentSubmission = record {text:string;data:optional<string>;profile:optional<string>;response:optional<string>;sourceKind:string;sourceLabel:string;publication:optional<string>;createdAt:string;contexts:list<interface-ref<AgentContextSubject>>;related:optional<atom-ref<AgentRequestObject>>;retryOf:optional<atom-ref<AgentRequestObject>>;root:optional<atom-ref<AgentRequestObject>>;causalDepth:uint32;};
type AgentAdmission = record {accepted:bool;reason:optional<string>;thread:optional<atom-ref<AgentThreadObject>>;request:optional<atom-ref<AgentRequestObject>>;};
type DirectoryData = record {sequence:uint64;pending:uint32;ordinaryPending:uint32;notificationPending:uint32;profiles:string;availability:string;};
interface AgentDirectory id "interface:org.quixos.agent:directory" revision "interface:org.quixos.agent:directory@1" {
queryable value data id "agent:directory:data" : DirectoryData {get id "agent:directory:data:get" execution snapshot;}
queryable relation agents id "agent:directory:agents" : many-unique atom AgentObject {resolve id "agent:directory:agents:resolve" execution snapshot;}
queryable relation threads id "agent:directory:threads" : many-unique atom AgentThreadObject {resolve id "agent:directory:threads:resolve" execution snapshot;}
queryable relation pending id "agent:directory:pending" : many-unique atom AgentRequestObject {resolve id "agent:directory:pending:resolve" execution snapshot;}
queryable relation notifications id "agent:directory:notifications" : many-unique atom AgentRequestObject {resolve id "agent:directory:notifications:resolve" execution snapshot;}
queryable relation defaultAgent id "agent:directory:default-agent" : optional-one atom AgentObject {resolve id "agent:directory:default-agent:resolve" execution snapshot;}
queryable relation initialThread id "agent:directory:initial-thread" : optional-one atom AgentThreadObject {resolve id "agent:directory:initial-thread:resolve" execution snapshot;}
operation createAgent id "agent:directory:create-agent" : record {name:string;description:string;instructions:string;settings:string;} -> atom-ref<AgentObject> {call id "agent:directory:create-agent:call" execution transaction;}
operation createThread id "agent:directory:create-thread" : record {agent:atom-ref<AgentObject>;title:string;kind:string;createdAt:string;contexts:list<interface-ref<AgentContextSubject>>;} -> atom-ref<AgentThreadObject> {call id "agent:directory:create-thread:call" execution transaction;}
operation admit id "agent:directory:admit" : record {agent:atom-ref<AgentObject>;thread:optional<atom-ref<AgentThreadObject>>;submission:AgentSubmission;optionalWork:bool;} -> AgentAdmission {call id "agent:directory:admit:call" execution transaction;}
operation reconcileRepair id "agent:directory:reconcile-repair" : record {key:string;text:string;configuration:string;createdAt:string;confirmedAt:string;publication:string;attempt:string;generation:uint32;startedAt:string;} -> atom-ref<AgentRequestObject> {call id "agent:directory:reconcile-repair:call" execution transaction;}
operation settle id "agent:directory:settle" : record {request:atom-ref<AgentRequestObject>;thread:atom-ref<AgentThreadObject>;interactive:bool;notify:bool;} -> unit {call id "agent:directory:settle:call" execution transaction;}
operation advertise id "agent:directory:advertise" : record {profiles:string;availability:string;} -> unit {call id "agent:directory:advertise:call" execution transaction;}
operation initialize id "agent:directory:initialize" : record {instructions:string;settings:string;} -> unit {call id "agent:directory:initialize:call" execution transaction;}
operation notificationSent id "agent:directory:notification-sent" : atom-ref<AgentRequestObject> -> unit {call id "agent:directory:notification-sent:call" execution transaction;}
}