[New Integration] Cursor Audit logs#18854
Conversation
|
Pinging @elastic/integration-experience (Team:Integration-Experience) |
Vale Linting ResultsSummary: 17 warnings, 15 suggestions found
|
| File | Line | Rule | Message |
|---|---|---|---|
| packages/cursor/docs/README.md | 118 | Elastic.Latinisms | Latin terms and abbreviations are a common source of confusion. Use 'for example' instead of 'e.g'. |
| packages/cursor/docs/README.md | 134 | Elastic.Latinisms | Latin terms and abbreviations are a common source of confusion. Use 'for example' instead of 'e.g'. |
| packages/cursor/docs/README.md | 157 | Elastic.Latinisms | Latin terms and abbreviations are a common source of confusion. Use 'for example' instead of 'e.g'. |
| packages/cursor/docs/README.md | 164 | Elastic.Latinisms | Latin terms and abbreviations are a common source of confusion. Use 'for example' instead of 'e.g'. |
| packages/cursor/docs/README.md | 177 | Elastic.Latinisms | Latin terms and abbreviations are a common source of confusion. Use 'for example' instead of 'e.g'. |
| packages/cursor/docs/README.md | 186 | Elastic.Latinisms | Latin terms and abbreviations are a common source of confusion. Use 'for example' instead of 'e.g'. |
| packages/cursor/docs/README.md | 190 | Elastic.Latinisms | Latin terms and abbreviations are a common source of confusion. Use 'and so on' instead of 'etc'. |
| packages/cursor/docs/README.md | 206 | Elastic.Latinisms | Latin terms and abbreviations are a common source of confusion. Use 'for example' instead of 'e.g'. |
| packages/cursor/docs/README.md | 206 | Elastic.DontUse | Don't use 'please'. |
| packages/cursor/docs/README.md | 208 | Elastic.Latinisms | Latin terms and abbreviations are a common source of confusion. Use 'for example' instead of 'e.g'. |
| packages/cursor/docs/README.md | 227 | Elastic.QuotesPunctuation | Place punctuation inside closing quotation marks. |
| packages/cursor/docs/README.md | 227 | Elastic.DontUse | Don't use 'and/or'. |
| packages/cursor/docs/README.md | 229 | Elastic.QuotesPunctuation | Place punctuation inside closing quotation marks. |
| packages/cursor/docs/README.md | 230 | Elastic.DontUse | Don't use 'just'. |
| packages/cursor/docs/README.md | 233 | Elastic.QuotesPunctuation | Place punctuation inside closing quotation marks. |
| packages/cursor/docs/README.md | 235 | Elastic.QuotesPunctuation | Place punctuation inside closing quotation marks. |
| packages/cursor/docs/README.md | 236 | Elastic.QuotesPunctuation | Place punctuation inside closing quotation marks. |
💡 Suggestions (15)
| File | Line | Rule | Message |
|---|---|---|---|
| packages/cursor/docs/README.md | 122 | Elastic.WordChoice | Consider using 'deactivated, deselected, hidden, turned off, unavailable' instead of 'disabled', unless the term is in the UI. |
| packages/cursor/docs/README.md | 157 | Elastic.WordChoice | Consider using 'deactivate, deselect, hide, turn off' instead of 'disable', unless the term is in the UI. |
| packages/cursor/docs/README.md | 198 | Elastic.WordChoice | Consider using 'can, might' instead of 'may', unless the term is in the UI. |
| packages/cursor/docs/README.md | 204 | Elastic.Wordiness | Consider using 'tell' instead of 'inform'. |
| packages/cursor/docs/README.md | 204 | Elastic.WordChoice | Consider using 'can, might' instead of 'may', unless the term is in the UI. |
| packages/cursor/docs/README.md | 204 | Elastic.WordChoice | Consider using 'can, might' instead of 'may', unless the term is in the UI. |
| packages/cursor/docs/README.md | 206 | Elastic.WordChoice | Consider using 'can, might' instead of 'may', unless the term is in the UI. |
| packages/cursor/docs/README.md | 206 | Elastic.WordChoice | Consider using 'deactivated, deselected, hidden, turned off, unavailable' instead of 'disabled', unless the term is in the UI. |
| packages/cursor/docs/README.md | 207 | Elastic.WordChoice | Consider using 'efficiently' instead of 'simply', unless the term is in the UI. |
| packages/cursor/docs/README.md | 207 | Elastic.WordChoice | Consider using 'can, might' instead of 'may', unless the term is in the UI. |
| packages/cursor/docs/README.md | 212 | Elastic.Wordiness | Consider using 'all' instead of 'All of '. |
| packages/cursor/docs/README.md | 227 | Elastic.Wordiness | Consider using 'sometimes' instead of 'In some cases'. |
| packages/cursor/docs/README.md | 227 | Elastic.WordChoice | Consider using 'can, might' instead of 'may', unless the term is in the UI. |
| packages/cursor/docs/README.md | 230 | Elastic.WordChoice | Consider using 'can, might' instead of 'may', unless the term is in the UI. |
| packages/cursor/docs/README.md | 397 | Elastic.WordChoice | Consider using 'can, might' instead of 'may', unless the term is in the UI. |
The Vale linter checks documentation changes against the Elastic Docs style guide.
To use Vale locally or report issues, refer to Elastic style guide for Vale.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
TL;DRThe Buildkite failure is caused by a README drift, not a pipeline/runtime issue: commit Remediation
Investigation detailsRoot Cause
Those fields are not reflected in the generated field table currently present in Evidence
Verification
Follow-upAfter regenerating docs, verify no other field-table drift exists by re-running the same package check job. Note 🔒 Integrity filter blocked 2 itemsThe following items were blocked because they don't meet the GitHub integrity level.
To allow these resources, lower tools:
github:
min-integrity: approved # merged | approved | unapproved | noneWhat is this? | From workflow: PR Buildkite Detective Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |
🚀 Benchmarks reportTo see the full report comment with |
💚 Build Succeeded
History
|
Proposed commit message
This PR defines the new Cursor integration with an "audit" datastream. The datastream has support for both S3 (and SQS) + its Admin API with CEL.
All events received through S3 is also available in the API, however they have a slightly different schema, so there is a separate S3 pipeline that converts that schema to mimic what is in the API responses, then the rest of the pipeline applies the same parsing logic for both.
System tests covers both pagination and cursor checks (2 intervals).
Pipeline tests have split all available event types (from official docs + resources from cursor) between the S3 and the API based inputs to test both.
The
cursor.audit.event_datais left as flattened as if new field types are provided in the future we are able to support them without a mapping explosion, any known fields are moved out of it.Outside of pipeline/system tests it has also been tested against live environments both for S3 and API with a double check that no
error.messagewas produced or similar.Rate limits for CEL has been defined to fit closely to their 20/min rate limits but made configurable.
Checklist
changelog.ymlfile.Additional Information
API + schemas: https://cursor.com/docs/account/teams/admin-api#get-audit-logs
Related issues
Screenshots