@redseat/api 0.0.11 → 0.0.12

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/agents.md CHANGED
@@ -1,275 +1,275 @@
1
- # AI Agent Instructions
2
-
3
- This document provides guidelines for AI agents working with the `@redseat/api` package. Follow these instructions to maintain code quality and keep documentation up to date.
4
-
5
- ## Getting Started
6
-
7
- ### Always Read First
8
-
9
- 1. **Start with [README.md](README.md)**
10
- - Understand the package structure
11
- - Identify which API classes are relevant to your task
12
- - Find links to specialized documentation
13
-
14
- 2. **Read Relevant Documentation**
15
- - [client.md](client.md) - For HTTP client changes
16
- - [server.md](server.md) - For server API changes
17
- - [libraries.md](libraries.md) - For library API changes
18
- - [encryption.md](encryption.md) - For encryption module changes
19
- - [test.md](test.md) - For testing changes
20
-
21
- 3. **Examine Source Code**
22
- - Read the actual implementation files in `src/`
23
- - Understand the current architecture
24
- - Check existing patterns and conventions
25
-
26
- ## Documentation Maintenance
27
-
28
- ### When Modifying Existing Functionality
29
-
30
- **Required Actions:**
31
-
32
- 1. **Update the Relevant Documentation File**
33
- - If changing `RedseatClient`: Update [client.md](client.md)
34
- - If changing `ServerApi`: Update [server.md](server.md)
35
- - If changing `LibraryApi`: Update [libraries.md](libraries.md)
36
- - If changing encryption: Update [encryption.md](encryption.md)
37
-
38
- 2. **Update Method Signatures**
39
- - Document new parameters
40
- - Document changed return types
41
- - Document new error cases
42
- - Update examples if behavior changed
43
-
44
- 3. **Update README.md if Needed**
45
- - If API signatures changed significantly
46
- - If new major features were added
47
- - If package exports changed
48
-
49
- 4. **Keep Examples Current**
50
- - Update code examples to reflect new behavior
51
- - Ensure examples are runnable
52
- - Fix broken examples
53
-
54
- **Example Workflow:**
55
- ```
56
- 1. User requests: "Add timeout parameter to getMedia()"
57
- 2. Read libraries.md to see current getMedia() documentation
58
- 3. Modify src/library.ts to add timeout parameter
59
- 4. Update libraries.md with new parameter documentation
60
- 5. Update example code in libraries.md
61
- 6. Check if README.md needs updates (probably not for this change)
62
- ```
63
-
64
- ### When Adding New Functionality
65
-
66
- **Required Actions:**
67
-
68
- 1. **Document in Appropriate File**
69
- - Add new methods to the relevant documentation file
70
- - Follow existing formatting and structure
71
- - Include parameters, return types, and examples
72
-
73
- 2. **Update README.md**
74
- - Add to package exports list if it's a new public export
75
- - Update overview if it's a major feature
76
- - Add to quick start if it's commonly used
77
-
78
- 3. **Include Usage Examples**
79
- - Provide at least one example per new method
80
- - Show common use cases
81
- - Include error handling examples
82
-
83
- 4. **Update Related Documentation**
84
- - If adding new encryption function: Update [encryption.md](encryption.md)
85
- - If adding new test: Update [test.md](test.md)
86
- - Cross-reference related functionality
87
-
88
- **Example Workflow:**
89
- ```
90
- 1. User requests: "Add getMediaStats() method to LibraryApi"
91
- 2. Implement method in src/library.ts
92
- 3. Add documentation to libraries.md in "Media" section
93
- 4. Add example showing usage
94
- 5. Update README.md exports if needed
95
- 6. Add test and update test.md if applicable
96
- ```
97
-
98
- ## Code Change Workflow
99
-
100
- ### Before Making Changes
101
-
102
- 1. **Understand the Request**
103
- - What functionality is being added/modified?
104
- - Which files are affected?
105
- - Are there breaking changes?
106
-
107
- 2. **Plan the Changes**
108
- - Identify all files that need modification
109
- - Identify all documentation that needs updates
110
- - Consider backward compatibility
111
-
112
- 3. **Check Dependencies**
113
- - Will this change affect other parts of the codebase?
114
- - Are there tests that need updating?
115
- - Are there examples that need updating?
116
-
117
- ### During Implementation
118
-
119
- 1. **Follow Existing Patterns**
120
- - Match code style and conventions
121
- - Use similar error handling
122
- - Follow naming conventions
123
-
124
- 2. **Write Tests**
125
- - Add tests for new functionality
126
- - Update tests for modified functionality
127
- - Ensure tests pass
128
-
129
- 3. **Update Documentation As You Go**
130
- - Don't wait until the end
131
- - Update docs as you implement
132
- - This helps catch documentation issues early
133
-
134
- ### After Implementation
135
-
136
- 1. **Verify Documentation**
137
- - Read through your documentation changes
138
- - Ensure examples are correct
139
- - Check for typos and formatting
140
-
141
- 2. **Check Cross-References**
142
- - Update links if files moved
143
- - Update related documentation
144
- - Ensure consistency across files
145
-
146
- 3. **Test Examples**
147
- - Verify code examples are syntactically correct
148
- - Ensure examples demonstrate the feature correctly
149
- - Check that examples use current API
150
-
151
- ## Documentation Standards
152
-
153
- ### Formatting
154
-
155
- - Use consistent markdown formatting
156
- - Use code blocks with language tags for code examples
157
- - Use proper heading hierarchy (## for sections, ### for subsections)
158
- - Include parameter tables for complex methods
159
-
160
- ### Code Examples
161
-
162
- - Always include TypeScript type annotations
163
- - Show both success and error cases when relevant
164
- - Include imports when showing complete examples
165
- - Use realistic variable names
166
-
167
- ### Method Documentation Template
168
-
169
- ```markdown
170
- ### `methodName(param1: Type1, param2: Type2): Promise<ReturnType>`
171
-
172
- Brief description of what the method does.
173
-
174
- **Parameters:**
175
- - `param1`: Description of parameter
176
- - `param2`: Description of parameter
177
-
178
- **Returns:** Promise resolving to description
179
-
180
- **Example:**
181
- \`\`\`typescript
182
- const result = await libraryApi.methodName('value1', 'value2');
183
- \`\`\`
184
- ```
185
-
186
- ## Common Scenarios
187
-
188
- ### Scenario 1: Adding a New Method to LibraryApi
189
-
190
- 1. Implement method in `src/library.ts`
191
- 2. Add documentation to [libraries.md](libraries.md) in appropriate section
192
- 3. Add example code
193
- 4. Add test to appropriate test file
194
- 5. Update [test.md](test.md) if new test file created
195
- 6. Check if [README.md](README.md) needs updates
196
-
197
- ### Scenario 2: Modifying Encryption Function
198
-
199
- 1. Modify function in `src/encryption.ts`
200
- 2. Update [encryption.md](encryption.md) with changes
201
- 3. Update examples if behavior changed
202
- 4. Update tests in `src/encryption.test.ts`
203
- 5. Check if [libraries.md](libraries.md) needs updates (if LibraryApi uses it)
204
-
205
- ### Scenario 3: Adding New Export
206
-
207
- 1. Add export to `src/index.ts`
208
- 2. Update [README.md](README.md) package exports section
209
- 3. Add documentation to appropriate file
210
- 4. Add example in README or relevant doc file
211
-
212
- ### Scenario 4: Breaking Change
213
-
214
- 1. Document breaking change clearly
215
- 2. Update all affected documentation
216
- 3. Update examples to show new usage
217
- 4. Consider migration guide if significant
218
-
219
- ## Quality Checklist
220
-
221
- Before completing a task, verify:
222
-
223
- - [ ] All code changes are implemented
224
- - [ ] All relevant documentation is updated
225
- - [ ] Examples are current and correct
226
- - [ ] Tests are added/updated
227
- - [ ] README.md is updated if needed
228
- - [ ] Cross-references are correct
229
- - [ ] No broken links
230
- - [ ] Code follows existing patterns
231
- - [ ] Documentation is clear and complete
232
-
233
- ## Error Prevention
234
-
235
- ### Common Mistakes to Avoid
236
-
237
- 1. **Forgetting to Update Documentation**
238
- - Always update docs when code changes
239
- - Don't assume someone else will do it
240
-
241
- 2. **Outdated Examples**
242
- - Verify examples still work
243
- - Update examples when API changes
244
-
245
- 3. **Inconsistent Formatting**
246
- - Follow existing documentation style
247
- - Use consistent code formatting
248
-
249
- 4. **Missing Error Cases**
250
- - Document when methods throw errors
251
- - Show error handling in examples
252
-
253
- 5. **Incomplete Documentation**
254
- - Document all parameters
255
- - Document return types
256
- - Include usage examples
257
-
258
- ## Questions?
259
-
260
- If you're unsure about:
261
- - Which documentation file to update
262
- - How to format documentation
263
- - Whether a change needs documentation
264
-
265
- **Default Action:** Update the documentation. It's better to have slightly redundant documentation than missing documentation.
266
-
267
- ## Related Documentation
268
-
269
- - [README.md](README.md) - Start here for package overview
270
- - [client.md](client.md) - RedseatClient documentation
271
- - [server.md](server.md) - ServerApi documentation
272
- - [libraries.md](libraries.md) - LibraryApi documentation
273
- - [encryption.md](encryption.md) - Encryption module documentation
274
- - [test.md](test.md) - Testing guide
275
-
1
+ # AI Agent Instructions
2
+
3
+ This document provides guidelines for AI agents working with the `@redseat/api` package. Follow these instructions to maintain code quality and keep documentation up to date.
4
+
5
+ ## Getting Started
6
+
7
+ ### Always Read First
8
+
9
+ 1. **Start with [README.md](README.md)**
10
+ - Understand the package structure
11
+ - Identify which API classes are relevant to your task
12
+ - Find links to specialized documentation
13
+
14
+ 2. **Read Relevant Documentation**
15
+ - [client.md](client.md) - For HTTP client changes
16
+ - [server.md](server.md) - For server API changes
17
+ - [libraries.md](libraries.md) - For library API changes
18
+ - [encryption.md](encryption.md) - For encryption module changes
19
+ - [test.md](test.md) - For testing changes
20
+
21
+ 3. **Examine Source Code**
22
+ - Read the actual implementation files in `src/`
23
+ - Understand the current architecture
24
+ - Check existing patterns and conventions
25
+
26
+ ## Documentation Maintenance
27
+
28
+ ### When Modifying Existing Functionality
29
+
30
+ **Required Actions:**
31
+
32
+ 1. **Update the Relevant Documentation File**
33
+ - If changing `RedseatClient`: Update [client.md](client.md)
34
+ - If changing `ServerApi`: Update [server.md](server.md)
35
+ - If changing `LibraryApi`: Update [libraries.md](libraries.md)
36
+ - If changing encryption: Update [encryption.md](encryption.md)
37
+
38
+ 2. **Update Method Signatures**
39
+ - Document new parameters
40
+ - Document changed return types
41
+ - Document new error cases
42
+ - Update examples if behavior changed
43
+
44
+ 3. **Update README.md if Needed**
45
+ - If API signatures changed significantly
46
+ - If new major features were added
47
+ - If package exports changed
48
+
49
+ 4. **Keep Examples Current**
50
+ - Update code examples to reflect new behavior
51
+ - Ensure examples are runnable
52
+ - Fix broken examples
53
+
54
+ **Example Workflow:**
55
+ ```
56
+ 1. User requests: "Add timeout parameter to getMedia()"
57
+ 2. Read libraries.md to see current getMedia() documentation
58
+ 3. Modify src/library.ts to add timeout parameter
59
+ 4. Update libraries.md with new parameter documentation
60
+ 5. Update example code in libraries.md
61
+ 6. Check if README.md needs updates (probably not for this change)
62
+ ```
63
+
64
+ ### When Adding New Functionality
65
+
66
+ **Required Actions:**
67
+
68
+ 1. **Document in Appropriate File**
69
+ - Add new methods to the relevant documentation file
70
+ - Follow existing formatting and structure
71
+ - Include parameters, return types, and examples
72
+
73
+ 2. **Update README.md**
74
+ - Add to package exports list if it's a new public export
75
+ - Update overview if it's a major feature
76
+ - Add to quick start if it's commonly used
77
+
78
+ 3. **Include Usage Examples**
79
+ - Provide at least one example per new method
80
+ - Show common use cases
81
+ - Include error handling examples
82
+
83
+ 4. **Update Related Documentation**
84
+ - If adding new encryption function: Update [encryption.md](encryption.md)
85
+ - If adding new test: Update [test.md](test.md)
86
+ - Cross-reference related functionality
87
+
88
+ **Example Workflow:**
89
+ ```
90
+ 1. User requests: "Add getMediaStats() method to LibraryApi"
91
+ 2. Implement method in src/library.ts
92
+ 3. Add documentation to libraries.md in "Media" section
93
+ 4. Add example showing usage
94
+ 5. Update README.md exports if needed
95
+ 6. Add test and update test.md if applicable
96
+ ```
97
+
98
+ ## Code Change Workflow
99
+
100
+ ### Before Making Changes
101
+
102
+ 1. **Understand the Request**
103
+ - What functionality is being added/modified?
104
+ - Which files are affected?
105
+ - Are there breaking changes?
106
+
107
+ 2. **Plan the Changes**
108
+ - Identify all files that need modification
109
+ - Identify all documentation that needs updates
110
+ - Consider backward compatibility
111
+
112
+ 3. **Check Dependencies**
113
+ - Will this change affect other parts of the codebase?
114
+ - Are there tests that need updating?
115
+ - Are there examples that need updating?
116
+
117
+ ### During Implementation
118
+
119
+ 1. **Follow Existing Patterns**
120
+ - Match code style and conventions
121
+ - Use similar error handling
122
+ - Follow naming conventions
123
+
124
+ 2. **Write Tests**
125
+ - Add tests for new functionality
126
+ - Update tests for modified functionality
127
+ - Ensure tests pass
128
+
129
+ 3. **Update Documentation As You Go**
130
+ - Don't wait until the end
131
+ - Update docs as you implement
132
+ - This helps catch documentation issues early
133
+
134
+ ### After Implementation
135
+
136
+ 1. **Verify Documentation**
137
+ - Read through your documentation changes
138
+ - Ensure examples are correct
139
+ - Check for typos and formatting
140
+
141
+ 2. **Check Cross-References**
142
+ - Update links if files moved
143
+ - Update related documentation
144
+ - Ensure consistency across files
145
+
146
+ 3. **Test Examples**
147
+ - Verify code examples are syntactically correct
148
+ - Ensure examples demonstrate the feature correctly
149
+ - Check that examples use current API
150
+
151
+ ## Documentation Standards
152
+
153
+ ### Formatting
154
+
155
+ - Use consistent markdown formatting
156
+ - Use code blocks with language tags for code examples
157
+ - Use proper heading hierarchy (## for sections, ### for subsections)
158
+ - Include parameter tables for complex methods
159
+
160
+ ### Code Examples
161
+
162
+ - Always include TypeScript type annotations
163
+ - Show both success and error cases when relevant
164
+ - Include imports when showing complete examples
165
+ - Use realistic variable names
166
+
167
+ ### Method Documentation Template
168
+
169
+ ```markdown
170
+ ### `methodName(param1: Type1, param2: Type2): Promise<ReturnType>`
171
+
172
+ Brief description of what the method does.
173
+
174
+ **Parameters:**
175
+ - `param1`: Description of parameter
176
+ - `param2`: Description of parameter
177
+
178
+ **Returns:** Promise resolving to description
179
+
180
+ **Example:**
181
+ \`\`\`typescript
182
+ const result = await libraryApi.methodName('value1', 'value2');
183
+ \`\`\`
184
+ ```
185
+
186
+ ## Common Scenarios
187
+
188
+ ### Scenario 1: Adding a New Method to LibraryApi
189
+
190
+ 1. Implement method in `src/library.ts`
191
+ 2. Add documentation to [libraries.md](libraries.md) in appropriate section
192
+ 3. Add example code
193
+ 4. Add test to appropriate test file
194
+ 5. Update [test.md](test.md) if new test file created
195
+ 6. Check if [README.md](README.md) needs updates
196
+
197
+ ### Scenario 2: Modifying Encryption Function
198
+
199
+ 1. Modify function in `src/encryption.ts`
200
+ 2. Update [encryption.md](encryption.md) with changes
201
+ 3. Update examples if behavior changed
202
+ 4. Update tests in `src/encryption.test.ts`
203
+ 5. Check if [libraries.md](libraries.md) needs updates (if LibraryApi uses it)
204
+
205
+ ### Scenario 3: Adding New Export
206
+
207
+ 1. Add export to `src/index.ts`
208
+ 2. Update [README.md](README.md) package exports section
209
+ 3. Add documentation to appropriate file
210
+ 4. Add example in README or relevant doc file
211
+
212
+ ### Scenario 4: Breaking Change
213
+
214
+ 1. Document breaking change clearly
215
+ 2. Update all affected documentation
216
+ 3. Update examples to show new usage
217
+ 4. Consider migration guide if significant
218
+
219
+ ## Quality Checklist
220
+
221
+ Before completing a task, verify:
222
+
223
+ - [ ] All code changes are implemented
224
+ - [ ] All relevant documentation is updated
225
+ - [ ] Examples are current and correct
226
+ - [ ] Tests are added/updated
227
+ - [ ] README.md is updated if needed
228
+ - [ ] Cross-references are correct
229
+ - [ ] No broken links
230
+ - [ ] Code follows existing patterns
231
+ - [ ] Documentation is clear and complete
232
+
233
+ ## Error Prevention
234
+
235
+ ### Common Mistakes to Avoid
236
+
237
+ 1. **Forgetting to Update Documentation**
238
+ - Always update docs when code changes
239
+ - Don't assume someone else will do it
240
+
241
+ 2. **Outdated Examples**
242
+ - Verify examples still work
243
+ - Update examples when API changes
244
+
245
+ 3. **Inconsistent Formatting**
246
+ - Follow existing documentation style
247
+ - Use consistent code formatting
248
+
249
+ 4. **Missing Error Cases**
250
+ - Document when methods throw errors
251
+ - Show error handling in examples
252
+
253
+ 5. **Incomplete Documentation**
254
+ - Document all parameters
255
+ - Document return types
256
+ - Include usage examples
257
+
258
+ ## Questions?
259
+
260
+ If you're unsure about:
261
+ - Which documentation file to update
262
+ - How to format documentation
263
+ - Whether a change needs documentation
264
+
265
+ **Default Action:** Update the documentation. It's better to have slightly redundant documentation than missing documentation.
266
+
267
+ ## Related Documentation
268
+
269
+ - [README.md](README.md) - Start here for package overview
270
+ - [client.md](client.md) - RedseatClient documentation
271
+ - [server.md](server.md) - ServerApi documentation
272
+ - [libraries.md](libraries.md) - LibraryApi documentation
273
+ - [encryption.md](encryption.md) - Encryption module documentation
274
+ - [test.md](test.md) - Testing guide
275
+