Feat/audit#22
Merged
Merged
Conversation
…ey check Add idempotency_key-based guard in ExecuteService.enqueue_execute to reject 409 when a execute BackgroundJob already exists for the same planJobId. Update test to mock the second scalar return and add test_execute_rejects_repeat_when_existing_execute_job_exists.
compute whether to render menu above or below trigger based on available space. Recalculate on resize/scroll. Add specs for both up and down placements.
…gned Add guard to canExecute computed so the Execute button disappears after the turn already has an executeJobId, preventing duplicate action trigger.
Guard against calling executeAgentPlan when executeJobId is already set or the turn status is not 'succeeded'. Add corresponding specs.
…ion answer - Add drive.countFiles tool for counting files by folder and category (video/audio/image/document/archive) - Build natural-language execution answer (e.g. '你上传了 3 部电影') - Retry LLM plan without reasoning on empty/invalid output with safe read-only fallback - Simplify cancel route to mark any running job as canceled immediately - Skip job result/error persistence when worker detects cancellation - Add answer field to AgentExecutionResult schema
…el, and execution answer - Test drive.countFiles dispatches recursive video counting with mime-type sampling - Test ExecuteRunner returns natural-language answer for countFiles actions - Test AnthropicPlannerClient retries without reasoning on empty output - Test PlanRunner falls back to safe read-only plan when LLM returns invalid output - Test PlanRunner fallback detects movie-count questions and uses drive.countFiles - Test cancel route marks running jobs as canceled
…afety - Replace setInterval-based polling with generation-gated async loop to prevent race conditions - Add canceledTurns set for immediate local cancellation before API response arrives - Guard all async boundaries (poll tick, execute dispatch) against stale generations and canceled turns - Auto-execute read-only low-risk plans even under confirm policy via isReadOnlyAutoExecutable - Replace window.confirm with ui.confirm dialog for high-risk action confirmation - Clean up polling timers and cancel state on session delete/reset
… and answer rendering - Test cancel before planJobId arrives keeps turn canceled and does not start polling - Test in-flight poll response after cancel cannot overwrite canceled status - Test auto-execute of read-only low-risk plans in confirm policy - Test write plans are not auto-executed in confirm policy - Test read-only plans are not auto-executed in planOnly policy - Test TurnEntry renders execution answer before plan summary - Test StorageStatus normalizes ratio-like storagePercentage in (0,1]
…ountFiles mock - Add optional answer field to AgentExecutionResult type - Add i18n keys for high-risk confirm and delete-session confirm (zh/en) - Update mock handler to return countFiles actions and execution answer - Render execution answer as primary result text in TurnEntry, hiding plan summary - Add ui.confirm-based delete session dialog in AgentWorkspace
…raphy tokens - Normalize storagePercentage in (0,1] range by multiplying by 100; fall back to used/limit ratio when percentage is missing - Add border-radius inheritance to progress-bar-fill; move margin to wrapper - Update typography scale: body 13.5px→14px, small 12px→12.5px, label 10px→10.5px, data 12px→12.5px - Add fallback CJK font to mono stack for better Chinese character rendering - Replace hardcoded font-size values (9px, 11px, 10px) with CSS custom property references across agent components - Guard planHash display behind isAdmin check in PlanInspector
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.