fix(e7): CI-Gate-Vorbereitung — ruff über app/ von 105 auf 0 Findings bereinigt; 8 echte F821-NameError-Produktionsbugs behoben (external_api stream_chat-Call-Signatur an stream_chat_comm angepasst, agent_runner uuid vor lokalem Import, automation/plugin UserTenant-Import, tasks delete-audit user_id, workflows/engine timedelta, unified_search/contracts Any); py311-kompatibles StepHandler-Alias statt type-Statement; E402/F841 bereinigt; Verifikation 85/89 grün (4 Failures = bekannter Vorbestand BUG-099)
Check Cross-Plugin Imports / check (push) Has been cancelled

This commit is contained in:
Agent Zero
2026-08-24 13:36:17 +02:00
parent 3934aea6ef
commit 197b0d3bab
54 changed files with 151 additions and 110 deletions
+1 -1
View File
@@ -4,9 +4,9 @@ from app.routes import (
addresses, # noqa: F401
attachments, # noqa: F401
audit, # noqa: F401
compliance, # noqa: F401
auth, # noqa: F401
bank_accounts, # noqa: F401
compliance, # noqa: F401
currencies, # noqa: F401
dashboard, # noqa: F401
entity_history, # noqa: F401
+1 -2
View File
@@ -7,7 +7,7 @@ from __future__ import annotations
import logging
import uuid
from datetime import UTC, datetime
from datetime import datetime
from typing import Any
from fastapi import APIRouter, Depends, HTTPException, Query
@@ -16,7 +16,6 @@ from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
from app.core.approval import (
APPROVAL_STATUSES,
ApprovalRequest,
create_approval_request,
expire_approval_request,
+1 -1
View File
@@ -10,7 +10,7 @@ from datetime import UTC, datetime, timedelta
from fastapi import APIRouter, Depends, HTTPException, Query
from fastapi.responses import StreamingResponse
from sqlalchemy import func, select, delete
from sqlalchemy import delete, func, select
from sqlalchemy.ext.asyncio import AsyncSession
from app.core.db import get_db
+1 -1
View File
@@ -11,7 +11,7 @@ from typing import Any
from fastapi import APIRouter, Depends, HTTPException, Query
from pydantic import BaseModel, Field
from sqlalchemy import select, func
from sqlalchemy import func, select
from sqlalchemy.ext.asyncio import AsyncSession
from app.ai.ai_use_case import AIUseCaseMetadata, validate_ai_use_case
+1 -2
View File
@@ -10,8 +10,7 @@ from pydantic import BaseModel
from sqlalchemy.ext.asyncio import AsyncSession
from app.core.db import get_db
from app.deps import require_admin, require_permission
from app.deps import get_current_user
from app.deps import get_current_user, require_admin, require_permission
from app.plugins.migration_runner import MigrationValidationError
from app.services.plugin_service import get_plugin_service
+11 -7
View File
@@ -173,7 +173,6 @@ async def create_instance(
"""Create a new workflow instance."""
tenant_id = uuid.UUID(current_user["tenant_id"])
user_id = uuid.UUID(current_user["user_id"])
is_admin = current_user.get("is_system_admin", False)
try:
result = await workflow_service.create_instance(
@@ -304,10 +303,11 @@ async def resume_instance(
"""Resume a waiting workflow instance (e.g. after wait timer expired)."""
tenant_id = uuid.UUID(current_user["tenant_id"])
from app.workflows.engine import WorkflowEngine
from app.models.workflow import WorkflowInstance
from sqlalchemy import select
from app.models.workflow import WorkflowInstance
from app.workflows.engine import WorkflowEngine
result = await db.execute(
select(WorkflowInstance).where(
WorkflowInstance.id == uuid.UUID(instance_id),
@@ -375,9 +375,10 @@ async def webhook_trigger(
db: AsyncSession = Depends(get_db),
):
"""Incoming webhook trigger — starts a workflow via secure token."""
from app.models.webhook import Webhook
from sqlalchemy import select
from app.models.webhook import Webhook
result = await db.execute(
select(Webhook).where(
Webhook.token == token,
@@ -423,9 +424,10 @@ async def get_instance_history(
"""Get step history for a workflow instance (execution log)."""
tenant_id = uuid.UUID(current_user["tenant_id"])
from app.models.workflow import WorkflowStepHistory
from sqlalchemy import select
from app.models.workflow import WorkflowStepHistory
result = await db.execute(
select(WorkflowStepHistory)
.where(
@@ -472,9 +474,10 @@ async def approve_workflow_step(
body = {}
comment = body.get("comment", "")
from sqlalchemy import select
from app.core.approval import create_approval_request, resolve_approval_request
from app.models.workflow import WorkflowInstance
from sqlalchemy import select
result = await db.execute(
select(WorkflowInstance).where(
@@ -535,9 +538,10 @@ async def reject_workflow_step(
body = {}
comment = body.get("comment", "")
from sqlalchemy import select
from app.core.approval import create_approval_request, resolve_approval_request
from app.models.workflow import WorkflowInstance
from sqlalchemy import select
result = await db.execute(
select(WorkflowInstance).where(