@clidey/dory 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.json +29 -0
- package/CLAUDE.md +161 -0
- package/docs/api-reference/asyncapi.json +324 -0
- package/docs/api-reference/websocket-operations/receive-chat-message.mdx +5 -0
- package/docs/api-reference/websocket-operations/receive-notifications.mdx +5 -0
- package/docs/api-reference/websocket-operations/receive-presence-update.mdx +5 -0
- package/docs/api-reference/websocket-operations/send-chat-message.mdx +5 -0
- package/docs/api-reference/websocket-operations/send-presence-update.mdx +5 -0
- package/docs/dory.json +16 -0
- package/docs/websocket-playground-demo.mdx +135 -0
- package/k8s/Dockerfile +3 -0
- package/package.json +1 -1
- package/src/components/store.ts +4 -0
- package/src/mdx/async-api.tsx +369 -0
- package/src/mdx/mdx.tsx +5 -1
- package/src/mdx/websocket-playground.tsx +755 -0
- package/src/ui/layout.tsx +21 -3
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(find:*)",
|
|
5
|
+
"Bash(grep:*)",
|
|
6
|
+
"Bash(rg:*)",
|
|
7
|
+
"Bash(npm run generate:*)",
|
|
8
|
+
"Bash(ls:*)",
|
|
9
|
+
"Bash(rm:*)",
|
|
10
|
+
"Bash(npm run build:*)",
|
|
11
|
+
"Bash(npx tsc:*)",
|
|
12
|
+
"Bash(npx typescript:*)",
|
|
13
|
+
"Bash(npm install:*)",
|
|
14
|
+
"Bash(pnpm install:*)",
|
|
15
|
+
"Bash(pnpm run:*)",
|
|
16
|
+
"Bash(node*)",
|
|
17
|
+
"Bash(git config*)",
|
|
18
|
+
"Bash(git checkout -b*)",
|
|
19
|
+
"Bash(git add*)",
|
|
20
|
+
"Bash(git commit -m*)",
|
|
21
|
+
"Bash(git push*)",
|
|
22
|
+
"Bash(gh pr create*)",
|
|
23
|
+
"Bash(git status*)",
|
|
24
|
+
"Bash(git diff*)",
|
|
25
|
+
"Bash(git log*)"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"enableAllProjectMcpServers": false
|
|
29
|
+
}
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
Dory is a lightweight static site generator for technical documentation, published as `@clidey/dory` on npm. It uses Preact, Vite, TypeScript, and Tailwind CSS.
|
|
8
|
+
|
|
9
|
+
## Essential Commands
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Install dependencies
|
|
13
|
+
pnpm install
|
|
14
|
+
|
|
15
|
+
# Development server with hot reload
|
|
16
|
+
pnpm run dev
|
|
17
|
+
|
|
18
|
+
# Build the project (includes TypeScript checking)
|
|
19
|
+
pnpm run build
|
|
20
|
+
|
|
21
|
+
# Preview built site
|
|
22
|
+
pnpm run preview
|
|
23
|
+
|
|
24
|
+
# Publish to npm
|
|
25
|
+
pnpm run publish
|
|
26
|
+
|
|
27
|
+
# CLI commands (after build)
|
|
28
|
+
node bin/dory.js build # Build documentation site
|
|
29
|
+
node bin/dory.js preview # Serve built site
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## High-Level Architecture
|
|
33
|
+
|
|
34
|
+
### Core Technologies
|
|
35
|
+
- **Frontend**: Preact (React-compatible)
|
|
36
|
+
- **Build**: Vite with custom plugins
|
|
37
|
+
- **Styling**: Tailwind CSS v4 + SCSS
|
|
38
|
+
- **Content**: MDX (Markdown + JSX)
|
|
39
|
+
- **Language**: TypeScript (strict mode)
|
|
40
|
+
|
|
41
|
+
### Key Directories
|
|
42
|
+
- `bin/` - CLI tool implementation
|
|
43
|
+
- `src/components/` - UI components (Header, Footer, Search, etc.)
|
|
44
|
+
- `src/mdx/` - MDX-specific components (Code, Tabs, Mermaid)
|
|
45
|
+
- `src/plugins/` - Custom Vite plugins for LLM support
|
|
46
|
+
- `docs/` - Documentation content (MDX files)
|
|
47
|
+
|
|
48
|
+
### Important Files
|
|
49
|
+
- `dory.json` - Site configuration (navigation, branding)
|
|
50
|
+
- `vite.config.ts` - Build configuration with custom plugins
|
|
51
|
+
- `src/main.tsx` - Application entry point
|
|
52
|
+
- `src/store.ts` - Global state management
|
|
53
|
+
|
|
54
|
+
### Custom Vite Plugins
|
|
55
|
+
1. **llm-txt-generator**: Generates `llms.txt` files for AI consumption
|
|
56
|
+
2. **llm-txt-dev-server**: Serves LLM-friendly content in development
|
|
57
|
+
3. **remarkSafeVars**: Sanitizes MDX content for security
|
|
58
|
+
|
|
59
|
+
### Development Patterns
|
|
60
|
+
- Functional components with hooks
|
|
61
|
+
- MDX Provider pattern for content rendering
|
|
62
|
+
- Custom store for state management (dark mode, search)
|
|
63
|
+
- Tailwind utilities for styling
|
|
64
|
+
- No test framework currently configured
|
|
65
|
+
|
|
66
|
+
### Key Features to Maintain
|
|
67
|
+
- MDX support with custom components
|
|
68
|
+
- Client-side search with FlexSearch
|
|
69
|
+
- API Playground for OpenAPI specs
|
|
70
|
+
- Mermaid diagram rendering
|
|
71
|
+
- LaTeX math with KaTeX
|
|
72
|
+
- Dark mode toggle
|
|
73
|
+
- Responsive navigation
|
|
74
|
+
|
|
75
|
+
When making changes:
|
|
76
|
+
- Ensure TypeScript strict mode compliance
|
|
77
|
+
- Follow existing component patterns in `src/components/`
|
|
78
|
+
- Update `dory.json` for navigation changes
|
|
79
|
+
- Test both light and dark modes
|
|
80
|
+
- Verify MDX content renders correctly
|
|
81
|
+
|
|
82
|
+
## Common Command Guidelines
|
|
83
|
+
|
|
84
|
+
### Git Commands
|
|
85
|
+
```bash
|
|
86
|
+
# Check current status before making changes
|
|
87
|
+
git status
|
|
88
|
+
|
|
89
|
+
# View uncommitted changes
|
|
90
|
+
git diff
|
|
91
|
+
git diff --staged # for staged changes
|
|
92
|
+
|
|
93
|
+
# Stage and commit changes
|
|
94
|
+
git add -A # Stage all changes
|
|
95
|
+
git commit -m "feat(component): add new feature" # Use conventional commits
|
|
96
|
+
|
|
97
|
+
# Branch operations
|
|
98
|
+
git checkout -b feature/new-feature # Create and switch to new branch
|
|
99
|
+
git push -u origin feature/new-feature # Push new branch to remote
|
|
100
|
+
|
|
101
|
+
# View recent commits
|
|
102
|
+
git log --oneline -10 # Last 10 commits
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### npm/pnpm Commands
|
|
106
|
+
```bash
|
|
107
|
+
# Always use pnpm in this project (not npm or yarn)
|
|
108
|
+
pnpm install # Install dependencies
|
|
109
|
+
pnpm add <package> # Add new dependency
|
|
110
|
+
pnpm add -D <package> # Add dev dependency
|
|
111
|
+
pnpm remove <package> # Remove dependency
|
|
112
|
+
|
|
113
|
+
# Check for outdated packages
|
|
114
|
+
pnpm outdated
|
|
115
|
+
|
|
116
|
+
# Run scripts from package.json
|
|
117
|
+
pnpm run <script-name>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Bash/Shell Commands
|
|
121
|
+
```bash
|
|
122
|
+
# Navigate directories
|
|
123
|
+
cd src/components # Change to components directory
|
|
124
|
+
pwd # Show current directory
|
|
125
|
+
|
|
126
|
+
# File operations
|
|
127
|
+
ls -la # List all files with details
|
|
128
|
+
mkdir -p src/new-feature # Create directories recursively
|
|
129
|
+
rm -rf dist # Remove build directory (be careful!)
|
|
130
|
+
|
|
131
|
+
# Search and find
|
|
132
|
+
grep -r "searchTerm" src/ # Search in source files
|
|
133
|
+
find . -name "*.tsx" -type f # Find all TSX files
|
|
134
|
+
|
|
135
|
+
# Process management
|
|
136
|
+
lsof -i :5173 # Check what's using the dev server port
|
|
137
|
+
kill -9 <PID> # Force kill a process if needed
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Development Workflow Commands
|
|
141
|
+
```bash
|
|
142
|
+
# Start fresh development session
|
|
143
|
+
git pull origin main
|
|
144
|
+
pnpm install
|
|
145
|
+
pnpm run dev
|
|
146
|
+
|
|
147
|
+
# Before committing
|
|
148
|
+
pnpm run build # Ensure build passes
|
|
149
|
+
git status # Review changes
|
|
150
|
+
git diff # Check modifications
|
|
151
|
+
|
|
152
|
+
# After making changes
|
|
153
|
+
git add -A
|
|
154
|
+
git commit -m "type(scope): description"
|
|
155
|
+
git push
|
|
156
|
+
|
|
157
|
+
# Publishing new version
|
|
158
|
+
pnpm version patch/minor/major
|
|
159
|
+
pnpm run build
|
|
160
|
+
pnpm run publish
|
|
161
|
+
```
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
{
|
|
2
|
+
"asyncapi": "3.0.0",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "Chat WebSocket API",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"description": "Real-time chat API using WebSocket for bidirectional communication"
|
|
7
|
+
},
|
|
8
|
+
"servers": {
|
|
9
|
+
"development": {
|
|
10
|
+
"host": "localhost:8080",
|
|
11
|
+
"pathname": "/ws",
|
|
12
|
+
"protocol": "ws",
|
|
13
|
+
"description": "Development WebSocket server"
|
|
14
|
+
},
|
|
15
|
+
"production": {
|
|
16
|
+
"host": "api.example.com",
|
|
17
|
+
"pathname": "/ws",
|
|
18
|
+
"protocol": "wss",
|
|
19
|
+
"description": "Production WebSocket server"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"channels": {
|
|
23
|
+
"/chat": {
|
|
24
|
+
"address": "/chat",
|
|
25
|
+
"title": "Chat Channel",
|
|
26
|
+
"description": "Channel for sending and receiving chat messages",
|
|
27
|
+
"subscribe": {
|
|
28
|
+
"operationId": "receiveChatMessage",
|
|
29
|
+
"summary": "Receive chat messages",
|
|
30
|
+
"description": "Subscribe to receive chat messages from other users",
|
|
31
|
+
"message": {
|
|
32
|
+
"$ref": "#/components/messages/ChatMessage"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"publish": {
|
|
36
|
+
"operationId": "sendChatMessage",
|
|
37
|
+
"summary": "Send chat message",
|
|
38
|
+
"description": "Send a chat message to other users",
|
|
39
|
+
"message": {
|
|
40
|
+
"$ref": "#/components/messages/ChatMessage"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"/notifications": {
|
|
45
|
+
"address": "/notifications",
|
|
46
|
+
"title": "Notifications Channel",
|
|
47
|
+
"description": "Channel for receiving system notifications",
|
|
48
|
+
"subscribe": {
|
|
49
|
+
"operationId": "receiveNotification",
|
|
50
|
+
"summary": "Receive notifications",
|
|
51
|
+
"description": "Subscribe to receive system notifications",
|
|
52
|
+
"message": {
|
|
53
|
+
"$ref": "#/components/messages/Notification"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"/presence": {
|
|
58
|
+
"address": "/presence",
|
|
59
|
+
"title": "Presence Channel",
|
|
60
|
+
"description": "Channel for user presence updates",
|
|
61
|
+
"subscribe": {
|
|
62
|
+
"operationId": "receivePresenceUpdate",
|
|
63
|
+
"summary": "Receive presence updates",
|
|
64
|
+
"description": "Subscribe to receive user presence updates",
|
|
65
|
+
"message": {
|
|
66
|
+
"$ref": "#/components/messages/PresenceUpdate"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"publish": {
|
|
70
|
+
"operationId": "sendPresenceUpdate",
|
|
71
|
+
"summary": "Send presence update",
|
|
72
|
+
"description": "Send a presence update",
|
|
73
|
+
"message": {
|
|
74
|
+
"$ref": "#/components/messages/PresenceUpdate"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"components": {
|
|
80
|
+
"messages": {
|
|
81
|
+
"ChatMessage": {
|
|
82
|
+
"name": "ChatMessage",
|
|
83
|
+
"title": "Chat Message",
|
|
84
|
+
"summary": "Message sent in a chat conversation",
|
|
85
|
+
"description": "A message sent by a user in a chat conversation",
|
|
86
|
+
"contentType": "application/json",
|
|
87
|
+
"payload": {
|
|
88
|
+
"$ref": "#/components/schemas/ChatMessagePayload"
|
|
89
|
+
},
|
|
90
|
+
"headers": {
|
|
91
|
+
"$ref": "#/components/schemas/MessageHeaders"
|
|
92
|
+
},
|
|
93
|
+
"examples": [
|
|
94
|
+
{
|
|
95
|
+
"id": "msg_123",
|
|
96
|
+
"type": "message",
|
|
97
|
+
"content": "Hello, how are you?",
|
|
98
|
+
"userId": "user_456",
|
|
99
|
+
"username": "john_doe",
|
|
100
|
+
"timestamp": "2024-01-15T10:30:00Z",
|
|
101
|
+
"channel": "general"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
"Notification": {
|
|
106
|
+
"name": "Notification",
|
|
107
|
+
"title": "System Notification",
|
|
108
|
+
"summary": "System-generated notification",
|
|
109
|
+
"description": "A notification sent by the system to inform users about events",
|
|
110
|
+
"contentType": "application/json",
|
|
111
|
+
"payload": {
|
|
112
|
+
"$ref": "#/components/schemas/NotificationPayload"
|
|
113
|
+
},
|
|
114
|
+
"headers": {
|
|
115
|
+
"$ref": "#/components/schemas/MessageHeaders"
|
|
116
|
+
},
|
|
117
|
+
"examples": [
|
|
118
|
+
{
|
|
119
|
+
"id": "notif_789",
|
|
120
|
+
"type": "notification",
|
|
121
|
+
"title": "New Message",
|
|
122
|
+
"message": "You have a new message from Alice",
|
|
123
|
+
"level": "info",
|
|
124
|
+
"timestamp": "2024-01-15T10:35:00Z",
|
|
125
|
+
"userId": "user_456"
|
|
126
|
+
}
|
|
127
|
+
]
|
|
128
|
+
},
|
|
129
|
+
"PresenceUpdate": {
|
|
130
|
+
"name": "PresenceUpdate",
|
|
131
|
+
"title": "Presence Update",
|
|
132
|
+
"summary": "User presence status update",
|
|
133
|
+
"description": "Update about a user's presence status (online, offline, away)",
|
|
134
|
+
"contentType": "application/json",
|
|
135
|
+
"payload": {
|
|
136
|
+
"$ref": "#/components/schemas/PresenceUpdatePayload"
|
|
137
|
+
},
|
|
138
|
+
"headers": {
|
|
139
|
+
"$ref": "#/components/schemas/MessageHeaders"
|
|
140
|
+
},
|
|
141
|
+
"examples": [
|
|
142
|
+
{
|
|
143
|
+
"id": "presence_101",
|
|
144
|
+
"type": "presence",
|
|
145
|
+
"userId": "user_456",
|
|
146
|
+
"username": "john_doe",
|
|
147
|
+
"status": "online",
|
|
148
|
+
"lastSeen": "2024-01-15T10:40:00Z",
|
|
149
|
+
"timestamp": "2024-01-15T10:40:00Z"
|
|
150
|
+
}
|
|
151
|
+
]
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
"schemas": {
|
|
155
|
+
"ChatMessagePayload": {
|
|
156
|
+
"type": "object",
|
|
157
|
+
"required": ["id", "type", "content", "userId", "username", "timestamp"],
|
|
158
|
+
"properties": {
|
|
159
|
+
"id": {
|
|
160
|
+
"type": "string",
|
|
161
|
+
"description": "Unique identifier for the message",
|
|
162
|
+
"example": "msg_123"
|
|
163
|
+
},
|
|
164
|
+
"type": {
|
|
165
|
+
"type": "string",
|
|
166
|
+
"enum": ["message"],
|
|
167
|
+
"description": "Message type identifier",
|
|
168
|
+
"example": "message"
|
|
169
|
+
},
|
|
170
|
+
"content": {
|
|
171
|
+
"type": "string",
|
|
172
|
+
"description": "The message content",
|
|
173
|
+
"example": "Hello, how are you?"
|
|
174
|
+
},
|
|
175
|
+
"userId": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"description": "ID of the user who sent the message",
|
|
178
|
+
"example": "user_456"
|
|
179
|
+
},
|
|
180
|
+
"username": {
|
|
181
|
+
"type": "string",
|
|
182
|
+
"description": "Username of the sender",
|
|
183
|
+
"example": "john_doe"
|
|
184
|
+
},
|
|
185
|
+
"timestamp": {
|
|
186
|
+
"type": "string",
|
|
187
|
+
"format": "date-time",
|
|
188
|
+
"description": "When the message was sent",
|
|
189
|
+
"example": "2024-01-15T10:30:00Z"
|
|
190
|
+
},
|
|
191
|
+
"channel": {
|
|
192
|
+
"type": "string",
|
|
193
|
+
"description": "Channel where the message was sent",
|
|
194
|
+
"example": "general"
|
|
195
|
+
},
|
|
196
|
+
"replyTo": {
|
|
197
|
+
"type": "string",
|
|
198
|
+
"description": "ID of the message this is replying to",
|
|
199
|
+
"example": "msg_122"
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
"NotificationPayload": {
|
|
204
|
+
"type": "object",
|
|
205
|
+
"required": ["id", "type", "title", "message", "timestamp"],
|
|
206
|
+
"properties": {
|
|
207
|
+
"id": {
|
|
208
|
+
"type": "string",
|
|
209
|
+
"description": "Unique identifier for the notification",
|
|
210
|
+
"example": "notif_789"
|
|
211
|
+
},
|
|
212
|
+
"type": {
|
|
213
|
+
"type": "string",
|
|
214
|
+
"enum": ["notification"],
|
|
215
|
+
"description": "Message type identifier",
|
|
216
|
+
"example": "notification"
|
|
217
|
+
},
|
|
218
|
+
"title": {
|
|
219
|
+
"type": "string",
|
|
220
|
+
"description": "Notification title",
|
|
221
|
+
"example": "New Message"
|
|
222
|
+
},
|
|
223
|
+
"message": {
|
|
224
|
+
"type": "string",
|
|
225
|
+
"description": "Notification message content",
|
|
226
|
+
"example": "You have a new message from Alice"
|
|
227
|
+
},
|
|
228
|
+
"level": {
|
|
229
|
+
"type": "string",
|
|
230
|
+
"enum": ["info", "warning", "error", "success"],
|
|
231
|
+
"description": "Notification level",
|
|
232
|
+
"example": "info"
|
|
233
|
+
},
|
|
234
|
+
"timestamp": {
|
|
235
|
+
"type": "string",
|
|
236
|
+
"format": "date-time",
|
|
237
|
+
"description": "When the notification was created",
|
|
238
|
+
"example": "2024-01-15T10:35:00Z"
|
|
239
|
+
},
|
|
240
|
+
"userId": {
|
|
241
|
+
"type": "string",
|
|
242
|
+
"description": "ID of the user receiving the notification",
|
|
243
|
+
"example": "user_456"
|
|
244
|
+
},
|
|
245
|
+
"actionUrl": {
|
|
246
|
+
"type": "string",
|
|
247
|
+
"description": "URL to navigate to when notification is clicked",
|
|
248
|
+
"example": "/chat/general"
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
"PresenceUpdatePayload": {
|
|
253
|
+
"type": "object",
|
|
254
|
+
"required": ["id", "type", "userId", "username", "status", "timestamp"],
|
|
255
|
+
"properties": {
|
|
256
|
+
"id": {
|
|
257
|
+
"type": "string",
|
|
258
|
+
"description": "Unique identifier for the presence update",
|
|
259
|
+
"example": "presence_101"
|
|
260
|
+
},
|
|
261
|
+
"type": {
|
|
262
|
+
"type": "string",
|
|
263
|
+
"enum": ["presence"],
|
|
264
|
+
"description": "Message type identifier",
|
|
265
|
+
"example": "presence"
|
|
266
|
+
},
|
|
267
|
+
"userId": {
|
|
268
|
+
"type": "string",
|
|
269
|
+
"description": "ID of the user whose presence is being updated",
|
|
270
|
+
"example": "user_456"
|
|
271
|
+
},
|
|
272
|
+
"username": {
|
|
273
|
+
"type": "string",
|
|
274
|
+
"description": "Username of the user",
|
|
275
|
+
"example": "john_doe"
|
|
276
|
+
},
|
|
277
|
+
"status": {
|
|
278
|
+
"type": "string",
|
|
279
|
+
"enum": ["online", "offline", "away", "busy"],
|
|
280
|
+
"description": "User's presence status",
|
|
281
|
+
"example": "online"
|
|
282
|
+
},
|
|
283
|
+
"lastSeen": {
|
|
284
|
+
"type": "string",
|
|
285
|
+
"format": "date-time",
|
|
286
|
+
"description": "When the user was last seen",
|
|
287
|
+
"example": "2024-01-15T10:40:00Z"
|
|
288
|
+
},
|
|
289
|
+
"timestamp": {
|
|
290
|
+
"type": "string",
|
|
291
|
+
"format": "date-time",
|
|
292
|
+
"description": "When the presence update was sent",
|
|
293
|
+
"example": "2024-01-15T10:40:00Z"
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
"MessageHeaders": {
|
|
298
|
+
"type": "object",
|
|
299
|
+
"properties": {
|
|
300
|
+
"correlation-id": {
|
|
301
|
+
"type": "string",
|
|
302
|
+
"description": "Correlation ID for request tracking",
|
|
303
|
+
"example": "corr_123"
|
|
304
|
+
},
|
|
305
|
+
"user-id": {
|
|
306
|
+
"type": "string",
|
|
307
|
+
"description": "ID of the user sending the message",
|
|
308
|
+
"example": "user_456"
|
|
309
|
+
},
|
|
310
|
+
"session-id": {
|
|
311
|
+
"type": "string",
|
|
312
|
+
"description": "Session ID for the connection",
|
|
313
|
+
"example": "sess_789"
|
|
314
|
+
},
|
|
315
|
+
"client-version": {
|
|
316
|
+
"type": "string",
|
|
317
|
+
"description": "Version of the client application",
|
|
318
|
+
"example": "1.0.0"
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
package/docs/dory.json
CHANGED
|
@@ -23,6 +23,12 @@
|
|
|
23
23
|
"features"
|
|
24
24
|
]
|
|
25
25
|
},
|
|
26
|
+
{
|
|
27
|
+
"group": "Playground",
|
|
28
|
+
"pages": [
|
|
29
|
+
"websocket-playground-demo"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
26
32
|
{
|
|
27
33
|
"group": "API Reference",
|
|
28
34
|
"pages": [
|
|
@@ -31,6 +37,16 @@
|
|
|
31
37
|
"api-reference/operations/update",
|
|
32
38
|
"api-reference/operations/delete"
|
|
33
39
|
]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"group": "WebSocket API Reference",
|
|
43
|
+
"pages": [
|
|
44
|
+
"api-reference/websocket-operations/send-chat-message",
|
|
45
|
+
"api-reference/websocket-operations/receive-chat-message",
|
|
46
|
+
"api-reference/websocket-operations/receive-notifications",
|
|
47
|
+
"api-reference/websocket-operations/send-presence-update",
|
|
48
|
+
"api-reference/websocket-operations/receive-presence-update"
|
|
49
|
+
]
|
|
34
50
|
}
|
|
35
51
|
]
|
|
36
52
|
}
|