> For the complete documentation index, see [llms.txt](https://dnotifier.gitbook.io/product-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dnotifier.gitbook.io/product-docs/appendix/glossary.md).

# Glossary

Definitions of terms used across DNotifier documentation and SDK APIs.

***

## A

### Agent

A named unit of workflow logic created with `defineAgent`. Each agent has a `run` function that receives `WorkflowContext` and can call `sendAI`, `search`, document APIs, or other agents via `runAgent`.

→ [Define an agent](/product-docs/workflows-and-agents/define-agent.md)

### appId

Your DNotifier application's public identifier, created in the dashboard. Passed to the SDK constructor. Paired with `secret` for authentication.

→ [Credentials & environment](/product-docs/getting-started/credentials.md)

### authToken

Bearer token returned after successful `connect()`. Used internally for WebSocket handshake and authenticated API calls. Available as `notifier.authToken` after connect.

→ [Connection & auth](/product-docs/reference/connection-auth.md)

***

## C

### Chunking

Splitting large outbound payloads into multiple frames sized to `messageSizeLimit`, then reassembling them on the receiver before `onMessage` fires.

→ [Large messages & chunking](/product-docs/realtime-communication/chunking.md)

### connect()

SDK method that authenticates with DNotifier and establishes readiness — opens a WebSocket for `ws` transport or marks the client authenticated for `http`.

→ [Connection lifecycle](/product-docs/realtime-communication/connection-lifecycle.md)

***

## D

### Directed messaging

DNotifier routes messages from a `senderId` to explicit `receiverId` or `receiverIds`. There is no anonymous broadcast or topic subscription model.

→ [Understanding messages](/product-docs/getting-started/understanding-messages.md)

### DNotifier

The main SDK client class. Manages transport, authentication, messaging, AI, knowledge base, and workflow execution.

→ [DNotifier class](/product-docs/reference/dnotifier-class.md)

### DNotifierMessage

Incoming message object passed to `onMessage`. Contains `metadata` (id, sender, timestamp, type) and `payload` (body accessors).

→ [Types & payloads](/product-docs/reference/types-and-payloads.md)

***

## E

### Endpoints

HTTP and WebSocket endpoints the SDK calls. Default production host: `api.dnotifier.com`. Optional WebSocket `url` override only when provided by DNotifier.

→ [Endpoints & custom URL](/product-docs/reference/endpoints.md)

### executionId

Unique identifier for a workflow run when `observability: true`. Returned from `runWorkflow` and visible in the workflow dashboard.

→ [Workflow observability](/product-docs/workflows-and-agents/observability.md)

***

## F

### Framed packet

Binary wire format wrapping message metadata and payload. Handled internally by the SDK — application code uses `send()` and `onMessage`.

***

## H

### Handshake

Post-auth WebSocket step where the client sends the auth token to the realtime server before `onConnected` fires.

→ [Connection lifecycle](/product-docs/realtime-communication/connection-lifecycle.md)

### HTTP transport

Stateless transport (`transport: "http"`) for AI, RAG, knowledge-base APIs, and workflows. Does not deliver push messages to `onMessage`.

→ [Choose your transport](/product-docs/getting-started/choose-transport.md)

***

## K

### Knowledge base (RAG)

Indexed document store for semantic search. Manage with `addDocument`, `updateDocument`, `listDocuments`, `getDocument`, `deleteDocument`, and query with `search` or `useKnowledgeBase` in AI messages.

→ [Knowledge base overview](/product-docs/ai/knowledge-base-overview.md)

***

## M

### messageSizeLimit

Maximum message size in bytes from your plan. Also used as chunk size for large payloads. Available after `connect()` on the client instance and in `getPlanLimits()`.

→ [Plan limits & quotas](/product-docs/realtime-communication/plan-limits.md)

***

## O

### Observability

Workflow feature that records execution and step telemetry to the DNotifier dashboard when `observability: true` on a `Workflow`.

→ [Workflow observability](/product-docs/workflows-and-agents/observability.md)

### onConnected

Callback fired when the client is authenticated and ready (WebSocket handshake complete for `ws`).

### onDisconnected

Callback fired when the WebSocket connection closes or the client disconnects.

### onMessage

Callback fired for each incoming realtime message (after chunk reassembly if applicable). Required for receiving chat and history responses.

***

## P

### Payload

Message body wrapper with `toJSON()`, `toString()`, `toBase64()`, and `raw()` accessors.

→ [Types & payloads](/product-docs/reference/types-and-payloads.md)

### Plan limits

Quotas returned at auth: message caps, AI requests/words, knowledge-base words, `aiEnabled`, user limits. Read with `getPlanLimits()`.

→ [Pricing & plans](/product-docs/platform-overview/pricing.md)

***

## R

### RAG

Retrieval-augmented generation — answering AI prompts using documents from your knowledge base via `search` or `useKnowledgeBase: true`.

→ [Build a RAG Q\&A bot](/product-docs/ai/example-rag-bot.md)

### receiverId / receiverIds

Target user ID(s) for an outbound message. Must match the connected `userId` of the recipient client(s).

### RPC send

HTTP endpoint for server-side message send (`rpcSendUrl`) — alternative to WebSocket `send()` in some server architectures.

***

## S

### saveHistory

Boolean flag on `send()` (default `true`). When true, the message is stored in chat history.

→ [Save history flag](/product-docs/chat/save-history.md)

### secret

Private application key paired with `appId`. Must be kept confidential. Sent during `connect()` authentication.

→ [Security best practices](/product-docs/operations/security.md)

### senderId

User or service ID attributed as the message sender. Typically matches the connecting client's `userId` or a delegated service account.

### Semantic search

Vector similarity search over knowledge-base documents via `search({ query, limit, minSimilarity, ... })`.

→ [Semantic search](/product-docs/ai/semantic-search.md)

### Session logging

When `logs: true`, AI sessions are reported to the DNotifier logs dashboard (start, completion, token usage).

→ [Session logging](/product-docs/ai/session-logging.md)

### sessionId

AI conversation session identifier from a prior `sendAI` response. Pass to subsequent `sendAI` calls to continue the same session.

→ [AI sessions](/product-docs/ai/sessions.md)

***

## T

### Transport

Communication mode: `ws` (WebSocket, realtime) or `http` (request/response for AI/RAG/workflows).

→ [Transport method matrix](/product-docs/reference/transport-matrix.md)

***

## U

### userId

End-user or service identifier for the connecting client. Used in auth, routing, and per-user limits.

→ [Credentials & environment](/product-docs/getting-started/credentials.md)

***

## W

### WebSocketImpl

Constructor option (JavaScript / Node.js only) — pass the `ws` package class when using `transport: "ws"` in Node. Browsers omit this; Dart uses `web_socket_channel` internally.

→ [Node.js platform guide](/product-docs/platform-guides/nodejs.md)

### WebSocket transport

Persistent connection (`transport: "ws"`) for realtime send/receive and `onMessage` delivery.

### Workflow

Named multi-step pipeline with an `entry` function and registered agents. Executed via `runWorkflow`.

→ [Workflows overview](/product-docs/workflows-and-agents/overview.md)

### WorkflowContext

Context object (`ctx`) passed to workflow `entry` and agent `run` functions. Provides `input`, `state`, `runAgent`, `sendAI`, `search`, document methods, and `recordStep`.

→ [WorkflowContext reference](/product-docs/workflows-and-agents/workflow-context.md)

### WorkflowError

Error type thrown for workflow validation failures and runtime errors in agent execution.

***

## Related

* [FAQ](/product-docs/operations/faq.md)
* [Support & links](/product-docs/appendix/support.md)
