-
Notifications
You must be signed in to change notification settings - Fork 68
Add Aurora Actions — user-defined background automations #366
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
Merged
Merged
Changes from all commits
Commits
Show all changes
45 commits
Select commit
Hold shift + click to select a range
0b832c7
feat: add Actions system for user-defined background agent tasks
damianloch 74d1527
feat: add action editing and scheduled trigger type
damianloch c10a9c4
fix: clean up stale action runs in background chat cleanup task
damianloch ef2deaa
fix: set RLS context in action executor and cleanup for Celery paths
damianloch 56984e2
fix: resolve PUT 500 error and deprecation warnings in actions
damianloch 864c4ae
prompt changes
damianloch 51079ac
move actions to settings
damianloch 442e5a8
feat: add /action slash command to chat with autocomplete
damianloch dc7d9d9
fix: slash command UX - arrow nav, action chip, post-select typing
damianloch 1e9a172
progress
damianloch 867d869
fix: action trigger UX polish and timestamp handling
damianloch de9b7f3
fix: resolve SonarQube security hotspots and reliability bug
damianloch ff47db8
fix: eliminate all regex backtracking patterns for SonarQube S5852
damianloch 36a0a19
fix: resolve SonarQube vulnerabilities and code smells
damianloch 47ffdb5
fix: address remaining CodeQL and SonarCloud findings
damianloch 11a4c2c
fix: remove redundant conditional check in chat input
damianloch ee01c09
refactor: reduce sendMessage cognitive complexity
damianloch 5bb6113
fix: address SonarCloud code smells across frontend and backend
damianloch 827d84f
refactor: reduce cognitive complexity across actions code
damianloch 6b399cb
fix: RLS context for incident loading, safe query params, generic err…
damianloch 6710cd5
fix: validate action_id as UUID, whitelist SQL columns
damianloch 9414391
fix: break CodeQL taint chains in actions routes
damianloch 961322d
fix: use constant dict lookup for SQL SET clause (CodeQL)
damianloch 0faa6e6
fix: remove unused _UPDATABLE_COLUMNS, use _COL_FRAGMENTS at module l…
damianloch b3ea324
refactor: reduce cognitive complexity in composer and actions routes
damianloch c040cc2
refactor: extract field validators to reduce _parse_update_fields com…
damianloch 935a639
refactor: loop-based _parse_update_fields to eliminate branching comp…
damianloch 18f5753
fix: compute duration before string conversion, eliminate regex backt…
damianloch 2aed8cc
fix: extract nested ternary and remove negated condition in handleSelect
damianloch 3358d76
fix: add error handling to handleToggle, confirmation to handleDelete
damianloch 79ff113
fix: memoize clearSelectedAction to avoid unnecessary re-renders
damianloch d88af82
fix: remove redundant trim() call on already-trimmed string
damianloch 6262521
fix: add click-outside handler and error toast to RunActionDropdown
damianloch 8feacf8
fix: guard against undefined action in menu Enter/Tab handler
damianloch 798e018
fix: use parameterized logging in build_action_mode_segment
damianloch 90c40ea
fix: prevent negative duration_ms by explicitly setting started_at on…
damianloch aeefd60
feat: dispatch on_incident actions automatically when incidents are c…
damianloch 6ca2580
fix: update on_incident trigger label to reflect immediate dispatch
damianloch 561e847
feat: support both immediate and after_rca timing for on_incident act…
damianloch 998d4af
fix: address PR #366 review feedback (20 fixes)
damianloch 2535045
fix: use intervalTooLow variable in submit button disabled check
damianloch feec737
fix: handle both cache shapes for /api/actions in chat slash menu
damianloch bf60f5c
fix: persist visible message in chat when action is guardrail-blocked
damianloch 3c2e333
fix: resolve 5 SonarCloud code smells
damianloch a0b8029
fix: address CodeRabbit input validation feedback
damianloch File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| import { NextRequest } from 'next/server'; | ||
| import { forwardRequest } from '@/lib/backend-proxy'; | ||
|
|
||
| export async function GET(request: NextRequest, { params }: { params: Promise<{ id: string }> }) { | ||
| const { id } = await params; | ||
| return forwardRequest(request, 'GET', `/api/actions/${id}`, 'action-detail'); | ||
| } | ||
|
|
||
| export async function PUT(request: NextRequest, { params }: { params: Promise<{ id: string }> }) { | ||
| const { id } = await params; | ||
| return forwardRequest(request, 'PUT', `/api/actions/${id}`, 'action-update'); | ||
| } | ||
|
|
||
| export async function DELETE(request: NextRequest, { params }: { params: Promise<{ id: string }> }) { | ||
| const { id } = await params; | ||
| return forwardRequest(request, 'DELETE', `/api/actions/${id}`, 'action-delete'); | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| import { NextRequest } from 'next/server'; | ||
| import { forwardRequest } from '@/lib/backend-proxy'; | ||
|
|
||
| export async function POST(request: NextRequest, { params }: { params: Promise<{ id: string }> }) { | ||
| const { id } = await params; | ||
| return forwardRequest(request, 'POST', `/api/actions/${id}/trigger`, 'action-trigger'); | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| import { NextRequest } from 'next/server'; | ||
| import { forwardRequest } from '@/lib/backend-proxy'; | ||
|
|
||
| export async function GET(request: NextRequest, { params }: { params: Promise<{ id: string }> }) { | ||
| const { id } = await params; | ||
| return forwardRequest(request, 'GET', `/api/actions/${id}/runs`, 'action-runs'); | ||
|
damianloch marked this conversation as resolved.
|
||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| import { NextRequest } from 'next/server'; | ||
| import { forwardRequest } from '@/lib/backend-proxy'; | ||
|
|
||
| export async function GET(request: NextRequest) { | ||
| return forwardRequest(request, 'GET', '/api/actions', 'actions-list'); | ||
| } | ||
|
|
||
| export async function POST(request: NextRequest) { | ||
| return forwardRequest(request, 'POST', '/api/actions', 'actions-create'); | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.