Skip to content

[Feature Request]: Feature Request: Add depends_on key in plugin configurations #1136

@monshri

Description

@monshri

🧭 Type of Feature

Please select the most appropriate category:

  • Enhancement to existing functionality

🧭 Epic

Summary
Introduce a depends_on key in plugin configurations to define explicit dependency relationships between plugins. This ensures that when multiple plugins are used together, execution order and context flow are managed correctly.

Motivation
In scenarios where Plugin2 requires specific information generated by Plugin1, we need a mechanism to enforce that Plugin1 runs first and provides the required context.

Without explicit dependencies, Plugin2 may attempt to execute prematurely, leading to missing or incomplete context.

Example:

plugin1 extracts or generates contextual data. plugin2 depends on that data to perform its functionality.
By setting "depends_on": ["plugin1"] in plugin2’s configuration, the framework ensures proper sequencing.

Use Case: Vault Context
When passing context about a vault into the global context:

  • Multiple plugins may consume this vault information.
  • We need to distinguish source plugins (that provide vault context) from sink plugins (that consume vault context).
  • The depends_on key makes this relationship explicit, ensuring correct flow of vault usage across plugins.

Proposed Configuration
Example of a plugin config with depends_on:

plugins:
  plugin1:
    ...

  plugin2:
    depends_on:
      - plugin1
    key: vault_context

Benefits

  • Clear orchestration of plugins through dependency declaration.
  • Prevents runtime errors due to missing context.
  • Makes plugin relationships explicit and easier to debug.
  • Supports more complex workflows where context must flow between multiple plugins.

Next Steps
Extend plugin configuration schema to support depends_on.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestsecurityImproves securitytriageIssues / Features awaiting triage

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions