From d7b48c1c1eb3d6b4fe7d6af92dca024ae44d24e0 Mon Sep 17 00:00:00 2001 From: Quixos Template Publisher Date: Sat, 1 Jan 2000 00:00:00 +0000 Subject: [PATCH] Export template source from a5d7856b0442d9e3f3d4ee711e65ccc670f157c0:quixos-instance/interfaces/agent-directory --- .quixos-template-source.json | 4 ++++ interface.qx | 30 ++++++++++++++++++++++++++++++ quixos.lock | 4 ++++ 3 files changed, 38 insertions(+) create mode 100644 .quixos-template-source.json create mode 100644 interface.qx create mode 100644 quixos.lock diff --git a/.quixos-template-source.json b/.quixos-template-source.json new file mode 100644 index 0000000..d3302b7 --- /dev/null +++ b/.quixos-template-source.json @@ -0,0 +1,4 @@ +{ + "monorepoCommit": "a5d7856b0442d9e3f3d4ee711e65ccc670f157c0", + "sourcePath": "quixos-instance/interfaces/agent-directory" +} diff --git a/interface.qx b/interface.qx new file mode 100644 index 0000000..4cabfbd --- /dev/null +++ b/interface.qx @@ -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;profile:optional;response:optional;sourceKind:string;sourceLabel:string;publication:optional;createdAt:string;contexts:list>;related:optional>;retryOf:optional>;root:optional>;causalDepth:uint32;}; +type AgentAdmission = record {accepted:bool;reason:optional;thread:optional>;request:optional>;}; +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 {call id "agent:directory:create-agent:call" execution transaction;} + operation createThread id "agent:directory:create-thread" : record {agent:atom-ref;title:string;kind:string;createdAt:string;contexts:list>;} -> atom-ref {call id "agent:directory:create-thread:call" execution transaction;} + operation admit id "agent:directory:admit" : record {agent:atom-ref;thread:optional>;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 {call id "agent:directory:reconcile-repair:call" execution transaction;} + operation settle id "agent:directory:settle" : record {request:atom-ref;thread:atom-ref;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 -> unit {call id "agent:directory:notification-sent:call" execution transaction;} +} + diff --git a/quixos.lock b/quixos.lock new file mode 100644 index 0000000..25ba22e --- /dev/null +++ b/quixos.lock @@ -0,0 +1,4 @@ +quixos-lock version 1 { + quixos source { repository "https://gitea.internal.quixos.org/quixos/quixos.git"; commit "a5d7856b0442d9e3f3d4ee711e65ccc670f157c0"; } + interface AgentContextSubject source { repository "https://repos.quixos.org/quixos-studio/interface-agent-context-subject.git"; commit "0a1dd60f7457856bcfa6c8cf580e516d69d59ee7"; } +}