-
Notifications
You must be signed in to change notification settings - Fork 86
Qstash and search devops #564
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds comprehensive API documentation for QStash and Search endpoints, expands Vector statistics endpoints, and updates the vector transfer operation description to clarify that transfers are team-only.
Key Changes
- Added global and per-index statistics endpoints for Vector and Search indices
- Added complete CRUD operations and management endpoints for Search indices
- Added QStash user management, statistics, and plan upgrade endpoints
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| docs.json | Added navigation entries for new Vector stats endpoints, Search endpoints group, and QStash endpoints group |
| devops/developer-api/openapi.yml | Added OpenAPI specifications for Vector stats, Search CRUD/management operations, QStash user management, and corresponding schema definitions |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
devops/developer-api/openapi.yml
Outdated
| description: The ID of the target account. If the target is a team, then use the format `team:<TEAM_ID>`, else if the target is your personal account use the format `<YOUR_EMAIL>`. | ||
| example: "team:team-id-1" | ||
| description: The team ID of the target team. | ||
| example: "team-id-1" |
Copilot
AI
Oct 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The description and example are inconsistent with the actual request body structure. Based on line 1364, the target_account should be a full team UUID (e.g., '2c670cd0-5a4d-4242-9300-b0a01548y612'), not a simple team ID string like 'team-id-1'. Update the example to match the format used in the search transfer endpoint.
| example: "team-id-1" | |
| example: "2c670cd0-5a4d-4242-9300-b0a01548y612" |
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: '#/components/schemas/VectorStats' |
Copilot
AI
Oct 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The schema reference should be '#/components/schemas/SearchStats' or a generic stats schema, not 'VectorStats'. Search indices may have different statistics than vector indices, and using VectorStats for search statistics is semantically incorrect and could be misleading.
| $ref: '#/components/schemas/VectorStats' | |
| $ref: '#/components/schemas/SearchStats' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
they have the same schema
devops/developer-api/openapi.yml
Outdated
| type: string | ||
| format: uuid | ||
| description: Unique identifier for the QStash user account | ||
| example: 0639864f-ece6-429c-8118-86a2808 |
Copilot
AI
Oct 27, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected UUID format - the example UUID is incomplete/truncated.
| example: 0639864f-ece6-429c-8118-86a2808 | |
| example: 0639864f-ece6-429c-8118-86a2808e7b2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 6 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| type: string | ||
| description: The ID of the target account. If the target is a team, then use the format `team:<TEAM_ID>`, else if the target is your personal account use the format `<YOUR_EMAIL>`. | ||
| example: "team:team-id-1" | ||
| description: The team ID of the target team. |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The updated description 'The team ID of the target team' is less informative than the original. Consider revising to clarify what format the team ID should take (e.g., 'The UUID of the target team account') and whether personal accounts are supported for transfers, matching the detail level of the new search transfer endpoint at line 1363.
| description: The team ID of the target team. | |
| description: The UUID of the target team account to which the index will be transferred. Only team accounts are supported; personal accounts are not supported for transfers. |
| type: integer | ||
| description: Maximum size for events | ||
| example: 100000 | ||
| max_dlq_retention_time_milis: |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'milis' to 'millis' in the field name. This is a typo in 'milliseconds'.
| max_dlq_retention_time_milis: | |
| max_dlq_retention_time_millis: |
devops/developer-api/openapi.yml
Outdated
| Array of day names for the measurement period, typically representing the current month. | ||
| It also includes the upcoming days of the month. |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The description is unclear. It states the array includes 'upcoming days of the month,' which is confusing. Clarify whether this means future dates within the current month or if it extends beyond the current month, and explain the practical purpose of including future days in historical statistics.
| Array of day names for the measurement period, typically representing the current month. | |
| It also includes the upcoming days of the month. | |
| Array of day names for the measurement period, typically representing all days in the current month. | |
| This includes both past and future dates within the current month, so the array covers the entire month regardless of the current day. | |
| Future days are included to align with other daily metrics arrays, allowing for consistent indexing and potential forecasting or placeholder values. |
devops/developer-api/openapi.yml
Outdated
| Request counts for the requested time period | ||
| If 1h is specified, it shows 60 data points for every 1 minute within the last 1 hour. |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistent indentation in multi-line description. Line 2954 has 11 spaces while line 2955 has 11 spaces, but they should align consistently with the YAML structure. Other similar descriptions in the file maintain proper indentation.
| Request counts for the requested time period | |
| If 1h is specified, it shows 60 data points for every 1 minute within the last 1 hour. | |
| Request counts for the requested time period | |
| If 1h is specified, it shows 60 data points for every 1 minute within the last 1 hour. |
devops/developer-api/openapi.yml
Outdated
| Workflow usage metrics for the requested time period | ||
| If 1h is specified, it shows 60 data points for every 1 minute within the last 1 hour. |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistent indentation in multi-line description. Line 2964 has 11 spaces while line 2965 has 11 spaces. This should match the consistent indentation pattern used elsewhere in the schema definitions.
| Workflow usage metrics for the requested time period | |
| If 1h is specified, it shows 60 data points for every 1 minute within the last 1 hour. | |
| Workflow usage metrics for the requested time period | |
| If 1h is specified, it shows 60 data points for every 1 minute within the last 1 hour. |
devops/developer-api/openapi.yml
Outdated
| Bandwidth usage for the requested time period | ||
| If 1h is specified, it shows 60 data points for every 1 minute within the last 1 hour. |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistent indentation in multi-line description. Line 3010 has 11 spaces while line 3011 has 11 spaces. This should be consistent with the YAML structure and match formatting used in other parts of the file.
| Bandwidth usage for the requested time period | |
| If 1h is specified, it shows 60 data points for every 1 minute within the last 1 hour. | |
| Bandwidth usage for the requested time period | |
| If 1h is specified, it shows 60 data points for every 1 minute within the last 1 hour. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| content: | ||
| application/json: | ||
| schema: | ||
| $ref: '#/components/schemas/VectorStats' |
Copilot
AI
Oct 29, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The search index stats endpoint references 'VectorStats' schema, but this should likely reference a 'SearchStats' schema or be clearly documented that search indices use the same statistics structure as vector indices. If the schemas are intentionally identical, consider adding a comment explaining this design decision.
| type: integer | ||
| description: Maximum size for events | ||
| example: 100000 | ||
| max_dlq_retention_time_milis: |
Copilot
AI
Oct 29, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'milis' to 'millis' (standard abbreviation for milliseconds).
| max_dlq_retention_time_milis: | |
| max_dlq_retention_time_millis: |
added endpoints
"GET /vector/index/{id}/stats"
"GET /vector/index/stats"
"GET /search",
"GET /search/{id}",
"GET /search/stats",
"GET /search/{id}/stats",
"POST /search",
"POST /search/{id}/reset-password",
"POST /search/{id}/transfer",
"POST /search/{id}/rename",
"DELETE /search/{id}"
"GET /qstash/user",
"GET /qstash/stats",
"POST /qstash/user/rotatetoken",
"POST /qstash-upgrade"