import { Schema as S } from "effect"; import { Term, Triple } from "./Triple.js"; export type Request = object; export type Response = object; export type WireError = object | string; const UnknownRecord = S.Record(S.String, S.Unknown); const WireErrorValue = S.Union([S.String, UnknownRecord]); const TypedMessageError = S.Struct({ message: S.String, type: S.optionalKey(S.String), }); const OptionalMessageError = S.Struct({ message: S.optionalKey(S.String), }); const NumberArray = S.Array(S.Finite).pipe(S.mutable); const NumberMatrix = S.Array(NumberArray).pipe(S.mutable); const TripleArray = S.Array(Triple).pipe(S.mutable); const StringArray = S.Array(S.String).pipe(S.mutable); export class ResponseError extends S.Class("ResponseError")({ type: S.optionalKey(S.String), message: S.String, }, { description: "TrustGraph response error payload." }) {} export class RequestMessage extends S.Class("RequestMessage")({ id: S.String, service: S.String, request: UnknownRecord, flow: S.optionalKey(S.String), }, { description: "Envelope sent to a TrustGraph service." }) {} export class ApiResponse extends S.Class("ApiResponse")({ id: S.String, response: UnknownRecord, }, { description: "Envelope returned from a TrustGraph service." }) {} export class Metadata extends S.Class("Metadata")({ id: S.optionalKey(S.String), metadata: S.optionalKey(TripleArray), user: S.optionalKey(S.String), collection: S.optionalKey(S.String), }, { description: "Shared request metadata for TrustGraph wire messages." }) {} export class EntityEmbeddings extends S.Class("EntityEmbeddings")({ entity: S.optionalKey(Term), vectors: S.optionalKey(NumberMatrix), }, { description: "Embedding vectors associated with a graph entity." }) {} export class GraphEmbeddings extends S.Class("GraphEmbeddings")({ metadata: S.optionalKey(Metadata), entities: S.optionalKey(S.Array(EntityEmbeddings).pipe(S.mutable)), }, { description: "Graph embedding payload grouped by entity." }) {} export class TextCompletionRequest extends S.Class("TextCompletionRequest")({ system: S.String, prompt: S.String, streaming: S.optionalKey(S.Boolean), }, { description: "Text-completion request payload." }) {} export class TextCompletionResponse extends S.Class("TextCompletionResponse")({ response: S.String, end_of_stream: S.optionalKey(S.Boolean), error: S.optionalKey(TypedMessageError), in_token: S.optionalKey(S.Finite), out_token: S.optionalKey(S.Finite), model: S.optionalKey(S.String), }, { description: "Text-completion response payload." }) {} export class GraphRagRequest extends S.Class("GraphRagRequest")({ query: S.String, user: S.optionalKey(S.String), collection: S.optionalKey(S.String), "entity-limit": S.optionalKey(S.Finite), "triple-limit": S.optionalKey(S.Finite), "max-subgraph-size": S.optionalKey(S.Finite), "max-path-length": S.optionalKey(S.Finite), streaming: S.optionalKey(S.Boolean), }, { description: "Graph RAG request payload." }) {} export class GraphRagResponse extends S.Class("GraphRagResponse")({ response: S.String, chunk: S.optionalKey(S.String), end_of_stream: S.optionalKey(S.Boolean), endOfStream: S.optionalKey(S.Boolean), error: S.optionalKey(TypedMessageError), in_token: S.optionalKey(S.Finite), out_token: S.optionalKey(S.Finite), model: S.optionalKey(S.String), message_type: S.optionalKey(S.Literals(["chunk", "explain"])), explain_id: S.optionalKey(S.String), explain_graph: S.optionalKey(S.String), explain_triples: S.optionalKey(S.Array(S.Unknown).pipe(S.mutable)), end_of_session: S.optionalKey(S.Boolean), }, { description: "Graph RAG response payload." }) {} export class DocumentRagRequest extends S.Class("DocumentRagRequest")({ query: S.String, user: S.optionalKey(S.String), collection: S.optionalKey(S.String), "doc-limit": S.optionalKey(S.Finite), streaming: S.optionalKey(S.Boolean), }, { description: "Document RAG request payload." }) {} export class DocumentRagResponse extends S.Class("DocumentRagResponse")({ response: S.String, chunk: S.optionalKey(S.String), end_of_stream: S.optionalKey(S.Boolean), endOfStream: S.optionalKey(S.Boolean), error: S.optionalKey(TypedMessageError), in_token: S.optionalKey(S.Finite), out_token: S.optionalKey(S.Finite), model: S.optionalKey(S.String), message_type: S.optionalKey(S.Literals(["chunk", "explain"])), explain_id: S.optionalKey(S.String), explain_graph: S.optionalKey(S.String), end_of_session: S.optionalKey(S.Boolean), }, { description: "Document RAG response payload." }) {} export class AgentRequest extends S.Class("AgentRequest")({ question: S.String, user: S.optionalKey(S.String), collection: S.optionalKey(S.String), streaming: S.optionalKey(S.Boolean), }, { description: "Agent request payload." }) {} export class AgentResponse extends S.Class("AgentResponse")({ chunk_type: S.optionalKey(S.Literals([ "thought", "action", "observation", "answer", "final-answer", "explain", "error", ])), content: S.optionalKey(S.String), end_of_message: S.optionalKey(S.Boolean), end_of_dialog: S.optionalKey(S.Boolean), thought: S.optionalKey(S.String), observation: S.optionalKey(S.String), answer: S.optionalKey(S.String), error: S.optionalKey(ResponseError), in_token: S.optionalKey(S.Finite), out_token: S.optionalKey(S.Finite), model: S.optionalKey(S.String), message_type: S.optionalKey(S.Literals(["chunk", "explain"])), explain_id: S.optionalKey(S.String), explain_graph: S.optionalKey(S.String), explain_triples: S.optionalKey(S.Array(S.Unknown).pipe(S.mutable)), }, { description: "Agent response payload." }) {} export class EmbeddingsRequest extends S.Class("EmbeddingsRequest")({ texts: StringArray, }, { description: "Batch embeddings request payload." }) {} export class EmbeddingsResponse extends S.Class("EmbeddingsResponse")({ vectors: NumberMatrix, }, { description: "Batch embeddings response payload." }) {} export class GraphEmbeddingsQueryRequest extends S.Class("GraphEmbeddingsQueryRequest")({ vector: NumberArray, limit: S.Finite, user: S.optionalKey(S.String), collection: S.optionalKey(S.String), }, { description: "Graph embeddings query request payload." }) {} export class EntityMatch extends S.Class("EntityMatch")({ entity: S.NullOr(Term), score: S.Finite, }, { description: "Scored graph-entity match." }) {} export class GraphEmbeddingsQueryResponse extends S.Class("GraphEmbeddingsQueryResponse")({ entities: S.Array(EntityMatch).pipe(S.mutable), }, { description: "Graph embeddings query response payload." }) {} export class TriplesQueryRequest extends S.Class("TriplesQueryRequest")({ s: S.optionalKey(Term), p: S.optionalKey(Term), o: S.optionalKey(Term), g: S.optionalKey(S.String), limit: S.Finite, user: S.optionalKey(S.String), collection: S.optionalKey(S.String), }, { description: "Triple pattern query request payload." }) {} export class TriplesQueryResponse extends S.Class("TriplesQueryResponse")({ triples: TripleArray, response: S.optionalKey(TripleArray), }, { description: "Triple pattern query response payload." }) {} export class RowsQueryRequest extends S.Class("RowsQueryRequest")({ query: S.String, user: S.optionalKey(S.String), collection: S.optionalKey(S.String), variables: S.optionalKey(UnknownRecord), operation_name: S.optionalKey(S.String), }, { description: "Structured rows GraphQL request payload." }) {} export class RowsQueryResponse extends S.Class("RowsQueryResponse")({ data: S.optionalKey(UnknownRecord), errors: S.optionalKey(S.Array(UnknownRecord).pipe(S.mutable)), extensions: S.optionalKey(UnknownRecord), values: S.optionalKey(S.Array(S.Unknown).pipe(S.mutable)), }, { description: "Structured rows GraphQL response payload." }) {} export class NlpQueryRequest extends S.Class("NlpQueryRequest")({ question: S.String, max_results: S.optionalKey(S.Finite), }, { description: "Natural-language-to-GraphQL request payload." }) {} export class NlpQueryResponse extends S.Class("NlpQueryResponse")({ graphql_query: S.optionalKey(S.String), variables: S.optionalKey(UnknownRecord), detected_schemas: S.optionalKey(S.Array(UnknownRecord).pipe(S.mutable)), confidence: S.optionalKey(S.Finite), }, { description: "Natural-language-to-GraphQL response payload." }) {} export class StructuredQueryRequest extends S.Class("StructuredQueryRequest")({ question: S.String, user: S.optionalKey(S.String), collection: S.optionalKey(S.String), }, { description: "Structured query request payload." }) {} export class StructuredQueryResponse extends S.Class("StructuredQueryResponse")({ data: S.optionalKey(UnknownRecord), errors: S.optionalKey(S.Array(UnknownRecord).pipe(S.mutable)), }, { description: "Structured query response payload." }) {} export class RowEmbeddingsQueryRequest extends S.Class("RowEmbeddingsQueryRequest")({ vector: NumberArray, schema_name: S.String, user: S.optionalKey(S.String), collection: S.optionalKey(S.String), index_name: S.optionalKey(S.String), limit: S.optionalKey(S.Finite), }, { description: "Row embeddings query request payload." }) {} export class RowEmbeddingsMatch extends S.Class("RowEmbeddingsMatch")({ index_name: S.String, index_value: StringArray, text: S.String, score: S.Finite, }, { description: "Scored row embeddings match." }) {} export class RowEmbeddingsQueryResponse extends S.Class("RowEmbeddingsQueryResponse")({ matches: S.optionalKey(S.Array(RowEmbeddingsMatch).pipe(S.mutable)), error: S.optionalKey(TypedMessageError), }, { description: "Row embeddings query response payload." }) {} export class LoadDocumentRequest extends S.Class("LoadDocumentRequest")({ id: S.optionalKey(S.String), data: S.String, metadata: S.optionalKey(TripleArray), }, { description: "Flow-scoped document load request payload." }) {} export type LoadDocumentResponse = void; export class LoadTextRequest extends S.Class("LoadTextRequest")({ id: S.optionalKey(S.String), text: S.String, charset: S.optionalKey(S.String), metadata: S.optionalKey(TripleArray), }, { description: "Flow-scoped text load request payload." }) {} export type LoadTextResponse = void; export class DocumentMetadata extends S.Class("DocumentMetadata")({ id: S.optionalKey(S.String), time: S.optionalKey(S.Finite), kind: S.optionalKey(S.String), title: S.optionalKey(S.String), comments: S.optionalKey(S.String), metadata: S.optionalKey(TripleArray), user: S.optionalKey(S.String), tags: S.optionalKey(StringArray), parentId: S.optionalKey(S.String), documentType: S.optionalKey(S.String), "parent-id": S.optionalKey(S.String), "document-type": S.optionalKey(S.String), }, { description: "Library document metadata payload." }) {} export class ProcessingMetadata extends S.Class("ProcessingMetadata")({ id: S.optionalKey(S.String), "document-id": S.optionalKey(S.String), documentId: S.optionalKey(S.String), time: S.optionalKey(S.Finite), flow: S.optionalKey(S.String), user: S.optionalKey(S.String), collection: S.optionalKey(S.String), tags: S.optionalKey(StringArray), }, { description: "Library processing metadata payload." }) {} export class LibraryRequest extends S.Class("LibraryRequest")({ operation: S.String, documentId: S.optionalKey(S.String), "document-id": S.optionalKey(S.String), processingId: S.optionalKey(S.String), "processing-id": S.optionalKey(S.String), "document-metadata": S.optionalKey(DocumentMetadata), documentMetadata: S.optionalKey(DocumentMetadata), "processing-metadata": S.optionalKey(ProcessingMetadata), content: S.optionalKey(S.String), user: S.optionalKey(S.String), collection: S.optionalKey(S.String), metadata: S.optionalKey(TripleArray), id: S.optionalKey(S.String), flow: S.optionalKey(S.String), }, { description: "Library service request payload." }) {} export class LibraryResponse extends S.Class("LibraryResponse")({ error: S.optionalKey(WireErrorValue), "document-metadata": S.optionalKey(DocumentMetadata), documentMetadata: S.optionalKey(DocumentMetadata), content: S.optionalKey(S.String), "document-metadatas": S.optionalKey(S.Array(DocumentMetadata).pipe(S.mutable)), documents: S.optionalKey(S.Array(DocumentMetadata).pipe(S.mutable)), "processing-metadata": S.optionalKey(ProcessingMetadata), "processing-metadatas": S.optionalKey(S.Array(ProcessingMetadata).pipe(S.mutable)), processing: S.optionalKey(S.Array(ProcessingMetadata).pipe(S.mutable)), }, { description: "Library service response payload." }) {} export class KnowledgeRequest extends S.Class("KnowledgeRequest")({ operation: S.String, user: S.optionalKey(S.String), id: S.optionalKey(S.String), flow: S.optionalKey(S.String), collection: S.optionalKey(S.String), triples: S.optionalKey(TripleArray), "graph-embeddings": S.optionalKey(GraphEmbeddings), graphEmbeddings: S.optionalKey(GraphEmbeddings), "document-embeddings": S.optionalKey(S.Unknown), documentEmbeddings: S.optionalKey(S.Unknown), }, { description: "Knowledge service request payload." }) {} export class KnowledgeResponse extends S.Class("KnowledgeResponse")({ error: S.optionalKey(WireErrorValue), ids: S.optionalKey(StringArray), eos: S.optionalKey(S.Boolean), triples: S.optionalKey(TripleArray), "graph-embeddings": S.optionalKey(GraphEmbeddings), graphEmbeddings: S.optionalKey(GraphEmbeddings), "document-embeddings": S.optionalKey(S.Unknown), documentEmbeddings: S.optionalKey(S.Unknown), }, { description: "Knowledge service response payload." }) {} export class FlowRequest extends S.Class("FlowRequest")({ operation: S.String, "blueprint-name": S.optionalKey(S.String), "blueprint-definition": S.optionalKey(S.String), description: S.optionalKey(S.String), "flow-id": S.optionalKey(S.String), parameters: S.optionalKey(UnknownRecord), user: S.optionalKey(S.String), }, { description: "Flow service request payload." }) {} export class FlowResponse extends S.Class("FlowResponse")({ "blueprint-names": S.optionalKey(StringArray), "flow-ids": S.optionalKey(StringArray), ids: S.optionalKey(StringArray), flow: S.optionalKey(S.String), "blueprint-definition": S.optionalKey(S.String), description: S.optionalKey(S.String), error: S.optionalKey(S.Union([OptionalMessageError, WireErrorValue])), }, { description: "Flow service response payload." }) {} export class PromptRequest extends S.Class("PromptRequest")({ id: S.String, terms: UnknownRecord, streaming: S.optionalKey(S.Boolean), }, { description: "Prompt rendering request payload." }) {} export class PromptResponse extends S.Class("PromptResponse")({ text: S.String, end_of_stream: S.optionalKey(S.Boolean), error: S.optionalKey(TypedMessageError), in_token: S.optionalKey(S.Finite), out_token: S.optionalKey(S.Finite), model: S.optionalKey(S.String), }, { description: "Prompt rendering response payload." }) {} export type ConfigRequest = object; export type ConfigResponse = object; export class ChunkedUploadDocumentMetadata extends S.Class("ChunkedUploadDocumentMetadata")({ id: S.String, time: S.Finite, kind: S.String, title: S.String, comments: S.optionalKey(S.String), metadata: S.optionalKey(TripleArray), user: S.String, collection: S.optionalKey(S.String), tags: S.optionalKey(StringArray), }, { description: "Document metadata used to begin a chunked upload." }) {} export class BeginUploadRequest extends S.Class("BeginUploadRequest")({ operation: S.Literal("begin-upload"), "document-metadata": S.optionalKey(ChunkedUploadDocumentMetadata), documentMetadata: S.optionalKey(ChunkedUploadDocumentMetadata), "total-size": S.Finite, "chunk-size": S.optionalKey(S.Finite), }, { description: "Chunked upload begin request payload." }) {} export class BeginUploadResponse extends S.Class("BeginUploadResponse")({ "upload-id": S.String, "chunk-size": S.Finite, "total-chunks": S.Finite, error: S.optionalKey(ResponseError), }, { description: "Chunked upload begin response payload." }) {} export class UploadChunkRequest extends S.Class("UploadChunkRequest")({ operation: S.Literal("upload-chunk"), "upload-id": S.String, "chunk-index": S.Finite, content: S.String, user: S.String, }, { description: "Chunked upload chunk request payload." }) {} export class UploadChunkResponse extends S.Class("UploadChunkResponse")({ "upload-id": S.String, "chunk-index": S.Finite, "chunks-received": S.Finite, "total-chunks": S.Finite, "bytes-received": S.Finite, "total-bytes": S.Finite, error: S.optionalKey(ResponseError), }, { description: "Chunked upload chunk response payload." }) {} export class CompleteUploadRequest extends S.Class("CompleteUploadRequest")({ operation: S.Literal("complete-upload"), "upload-id": S.String, user: S.String, }, { description: "Chunked upload completion request payload." }) {} export class CompleteUploadResponse extends S.Class("CompleteUploadResponse")({ "document-id": S.String, "object-id": S.String, error: S.optionalKey(ResponseError), }, { description: "Chunked upload completion response payload." }) {} export class GetUploadStatusRequest extends S.Class("GetUploadStatusRequest")({ operation: S.Literal("get-upload-status"), "upload-id": S.String, user: S.String, }, { description: "Chunked upload status request payload." }) {} export class GetUploadStatusResponse extends S.Class("GetUploadStatusResponse")({ "upload-id": S.String, "upload-state": S.Literals(["in-progress", "completed", "expired"]), "chunks-received": S.Finite, "total-chunks": S.Finite, "received-chunks": S.Array(S.Finite).pipe(S.mutable), "missing-chunks": S.Array(S.Finite).pipe(S.mutable), "bytes-received": S.Finite, "total-bytes": S.Finite, error: S.optionalKey(ResponseError), }, { description: "Chunked upload status response payload." }) {} export class AbortUploadRequest extends S.Class("AbortUploadRequest")({ operation: S.Literal("abort-upload"), "upload-id": S.String, user: S.String, }, { description: "Chunked upload abort request payload." }) {} export class AbortUploadResponse extends S.Class("AbortUploadResponse")({ error: S.optionalKey(ResponseError), }, { description: "Chunked upload abort response payload." }) {} export class ListUploadsRequest extends S.Class("ListUploadsRequest")({ operation: S.Literal("list-uploads"), user: S.String, }, { description: "Pending uploads list request payload." }) {} export class UploadSession extends S.Class("UploadSession")({ "upload-id": S.String, "document-id": S.String, "document-metadata-json": S.String, "total-size": S.Finite, "chunk-size": S.Finite, "total-chunks": S.Finite, "chunks-received": S.Finite, "created-at": S.String, }, { description: "Pending upload session payload." }) {} export class ListUploadsResponse extends S.Class("ListUploadsResponse")({ "upload-sessions": S.Array(UploadSession).pipe(S.mutable), error: S.optionalKey(ResponseError), }, { description: "Pending uploads list response payload." }) {} export class StreamDocumentRequest extends S.Class("StreamDocumentRequest")({ operation: S.Literal("stream-document"), "document-id": S.String, "chunk-size": S.optionalKey(S.Finite), user: S.String, }, { description: "Document chunk stream request payload." }) {} export class StreamDocumentResponse extends S.Class("StreamDocumentResponse")({ content: S.String, "chunk-index": S.Finite, "total-chunks": S.Finite, error: S.optionalKey(ResponseError), }, { description: "Document chunk stream response payload." }) {}