-
Notifications
You must be signed in to change notification settings - Fork 341
Description
🧭 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.