Skip to content

Feat/audit#21

Merged
AperturePlus merged 15 commits into
mainfrom
feat/audit
May 25, 2026
Merged

Feat/audit#21
AperturePlus merged 15 commits into
mainfrom
feat/audit

Conversation

@AperturePlus
Copy link
Copy Markdown
Owner

Basic agentic functions

- PlanRunner: orchestrates LLM planning with skill selection, context metadata collection, action normalization, plan hashing, and DB upsert
- ExecuteRunner: executes planned actions via ToolRouter with policy guard, step reference resolution, action logging, and cancellation support
- PolicyGuard: evaluate tool calls with risk classification, block unconfirmed high-risk actions
- ToolRouter: dispatch drive.* tools (listFolder, createFolder, move/rename/delete file/folder) against real services
- Add classify_tool_side_effect, classify_tool_risk, normalize_action_risk helpers
- AnthropicPlannerClient: calls Anthropic API (compatible) for plan generation with system/user prompts
- worker.py: background consumer that polls agent.plan/agent.execute jobs and delegates to runners
- PlanService: enqueue plan jobs with rate-limit enforcement, validate token/steps budgets
- ExecuteService: enqueue execute jobs with plan-hash verification and high-risk confirmation check
- BackgroundJobService: add agent_phase column support to job enqueue
- Add agent_llm_base_url, remove agent_llm_provider from settings and env
- Wire settings into PlanService and ExecuteService via deps
- Add anthropic SDK dependency (>=0.104.1)
- Replace unsafe :user_id IS NOT NULL AND owner_user_id = :user_id with owner_user_id = CAST(:user_id AS BIGINT) across all skill/mcp repository queries
- Fixes NullPointer when user_id is passed as None and ensures consistent type handling
- Add --no-agent-worker and --agent-worker-count CLI flags
- Spawn agent worker subprocesses when AGENT_ENABLED=true
- V13 migration seeds builtin:organizeByType skill with tool whitelist and plan template
- test_agent_repositories: add acceptance tests for null user_id with BIGINT casts
- test_agent_plan_execute_runtime: add runtime integration tests
- test_agent_routes: add route-level plan/execute/cancel tests
…s frontend

- Add AgentReasoningEffort, AgentActionRiskLevel types
- Add reasoning effort selector to TaskInputDock with i18n labels
- Wire reasoningEffort state through useAgentSession into plan/execute payloads
- Add high-risk confirmation dialog in runExecute flow
- Update mock handlers with riskLevel/requiresConfirmation fields and 409 on unconfirmed high-risk
- Update Library dev page with new props
- Add downloadFile, getPreviewUrl, previewFile mock stubs to LeftSidebar.spec.ts, MyFiles.spec.ts, upload.spec.ts
- Fixes test failures from unresolved imports
…runners

- Add reference_rules module with is_symbolic_id_placeholder and
  parse_step_reference utilities
- Add _validate_action_inputs to plan_runner to reject symbolic
  placeholders and out-of-range step references at plan time
- Update _resolve_references in execute_runner to detect unresolved
  symbolic placeholders at execution time
- Update system prompt to instruct LLM to use only .field syntax
…ter and services

- Add mode='json' to all model_dump calls in tool router to ensure
  datetime fields are serialized as ISO strings
- Use jsonable_encoder for action_log inputs_json and outputs_json
- Use jsonable_encoder for background_jobs payload before DB storage
- Use mode='json' in execute_service payload model_dump
…ization

- Add tests for symbolic placeholder rejection at plan and execute time
- Add tests for  reference acceptance and future-step rejection
- Add tests for jsonable_encoder normalization in action_log and
  background_jobs
- Add tests for plan_runner commit/rollback behavior
…el failures

- Add extractErrorMessage helper to pull response.data.message,
  Error.message, or fallback in that order
- Apply extractErrorMessage to plan, execute, and cancel catch blocks
  instead of hardcoded fallback strings
@AperturePlus AperturePlus merged commit 383ccce into main May 25, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant