Skip to content

Separate profile credential scope from agent execution #464

Description

@neubig

Problem or Use Case

Selecting an agent profile currently also selects conversation-backed execution. Those are separate concerns: a deterministic automation script may need only the profile's selected credentials, while an agent run needs the profile's model, tools, secrets, conversation, and runtime.

This coupling forces a scheduled scanner that only queries an external API to create an agent conversation and, in Docker mode, a container. The scanner should run as ordinary automation code. Only agent work selected by the scanner should acquire a conversation runtime.

Desired Behavior

Store an explicit execution mode on automation definitions and snapshot it on queued runs, independently from the selected agent profile.

  • Script mode executes the bundle without creating a conversation and passes the selected profile only to the Agent Server's profile-scoped command API.
  • Agent mode retains profile-backed conversation execution for prompt and plugin presets.
  • Existing profile-backed definitions keep their previous agent behavior after migration.
  • Raw automation definitions default to script mode.

The Automation service continues to use software-agent-sdk for every Agent Server operation. No extension should inspect the local/Docker workspace kind.

Acceptance Criteria

  • Profile selection and execution mode are independent fields in create, update, response, run history, and Git sync schemas.
  • A profile-backed script runs without creating a conversation or Docker runtime.
  • A profile-backed agent run creates a conversation using the existing conversation backend.
  • Prompt and plugin presets select agent mode; raw definitions default to script mode.
  • Existing profile-backed definitions migrate to agent mode without changing behavior.
  • Webhook and scheduled runs snapshot both fields when queued.
  • Script command dispatch uses the typed software-agent-sdk profile-scoped command parameter.
  • Local tests cover backend selection, persistence, migration, and command dispatch.

Additional Context

This depends on software-agent-sdk #5046 for profile-scoped script commands. It is a prerequisite for #463, where a script scanner submits selected work to separate agent runs.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestready-for-devScoped for contribution; managed by repository readiness checks.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions