trustgraph/specs/websocket/components/schemas/RequestEnvelope.yaml

57 lines
1.8 KiB
YAML
Raw Normal View History

type: object
description: |
WebSocket request message envelope.
Wraps service-specific request payloads with routing and correlation metadata.
required:
- id
- service
- request
properties:
id:
type: string
description: |
Client-generated unique identifier for this request within the WebSocket session.
Used to correlate responses with requests in multiplexed async communication.
Can be any string, but must be unique per active request.
examples:
- req-123
- request-abc-456
- b5f8d9a2-4c3e-11ef-9c8a-0242ac120002
service:
type: string
description: |
Service identifier. Same as {kind} in REST API URLs.
Global services: config, flow, librarian, knowledge, collection-management
Flow-hosted services: agent, text-completion, prompt, document-rag, graph-rag,
embeddings, graph-embeddings, document-embeddings, triples, objects,
nlp-query, structured-query, structured-diag, text-load, document-load, mcp-tool
examples:
- config
- agent
- document-rag
flow:
type: string
description: |
Flow ID for flow-hosted services. Required for services accessed via
/api/v1/flow/{flow}/service/{kind} in REST API.
Omit this field for global services (config, flow, librarian, knowledge, collection-management).
examples:
- my-flow
- production-flow
request:
type: object
description: |
Service-specific request payload. Structure is identical to the request body
in the corresponding REST API endpoint.
See OpenAPI specification for detailed schemas per service.
examples:
- operation: list
type: flow
- question: What is quantum computing?
streaming: true
system-prompt: You are a helpful assistant