mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-31 19:45:15 +02:00
chore(automation): trim docstrings to intent only
Cut the docstrings and Field(description=...) text across the entire automations/ tree down to single-line intent statements, matching the multi_agent_chat conciseness style: - Module docstrings: one line stating what the file is. - Class docstrings: deleted when the class name + module docstring already cover intent; kept only where they add a constraint or rationale not visible in the signature. - Pydantic Field descriptions: short noun phrases / clauses, not full sentences. Reasoning that belonged in the design plan moved out of the code. - Enum values: per-value docstrings replaced with terse inline comments where the meaning isn't obvious from the name. Behaviour is unchanged. The same 33 files, same public surface, same imports — verified by re-running the 10-point registry smoke test and the 8-point schema round-trip / constraint suite from commits 9 and 10. LOC: 1180 → 691 (-42%).
This commit is contained in:
parent
7a96c0e29c
commit
f0e00bd3ee
33 changed files with 80 additions and 568 deletions
|
|
@ -1,4 +1,4 @@
|
|||
"""Per-action config schemas: one file per action type registered in v1."""
|
||||
"""Per-action config schemas, one per action type."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
|
|
|
|||
|
|
@ -8,59 +8,20 @@ from pydantic import BaseModel, ConfigDict, Field
|
|||
|
||||
|
||||
class AgentTaskActionConfig(BaseModel):
|
||||
"""Config for an ``agent_task`` plan step.
|
||||
|
||||
Validated against ``PlanStep.config`` whenever the step's
|
||||
``action`` is ``agent_task``. The step instructs the LangGraph
|
||||
Deep Agent runtime to:
|
||||
|
||||
1. Receive ``prompt`` (with all preceding-step outputs and inputs
|
||||
already rendered by the template engine).
|
||||
2. Run the agent with access to *exactly* the capabilities named
|
||||
in ``tools`` — nothing else from the registry is visible to
|
||||
this agent invocation.
|
||||
3. Return a JSON object matching ``output_schema`` (recommended;
|
||||
the executor validates and re-prompts on mismatch).
|
||||
|
||||
``output_schema`` is the design's "dynamic output contract" —
|
||||
instead of locking the output shape on the ActionDefinition (as
|
||||
tight actions do), the user declares the shape they want for this
|
||||
specific step, and the agent has to match it.
|
||||
"""
|
||||
"""Run a LangGraph Deep Agent restricted to a scoped capability list."""
|
||||
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
|
||||
prompt: str = Field(
|
||||
...,
|
||||
description=(
|
||||
"The task prompt rendered through the Jinja sandbox. May "
|
||||
"reference automation inputs and prior-step outputs."
|
||||
),
|
||||
min_length=1,
|
||||
)
|
||||
prompt: str = Field(..., min_length=1, description="Task prompt; Jinja-rendered.")
|
||||
tools: list[str] = Field(
|
||||
default_factory=list,
|
||||
description=(
|
||||
"Allowlist of capability IDs the agent may call (e.g., "
|
||||
"'search_space.query'). Empty list = no tool access; the "
|
||||
"agent must answer from the prompt alone."
|
||||
),
|
||||
description="Capability IDs the agent may call. Empty = no tool access.",
|
||||
)
|
||||
model: str | None = Field(
|
||||
default=None,
|
||||
description=(
|
||||
"Optional LiteLLM model identifier (e.g., "
|
||||
"'anthropic/claude-sonnet-4-7'). Omitted means the "
|
||||
"automation falls back to the search space's default "
|
||||
"agent_llm_id."
|
||||
),
|
||||
description="LiteLLM model id. Defaults to the search space's agent_llm_id.",
|
||||
)
|
||||
output_schema: dict[str, Any] | None = Field(
|
||||
default=None,
|
||||
description=(
|
||||
"Optional JSON Schema declaring the shape the agent must "
|
||||
"return. Strongly recommended; the editor warns when "
|
||||
"missing. Validated by the executor before binding to "
|
||||
"``output_as``."
|
||||
),
|
||||
description="JSON Schema the agent must return. Recommended.",
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue