Extending VectorStep
VectorStep does not accept external contributions — but it is Apache-2.0, so extending your own copy is expected and supported (see Licence & contributions). These are the three extension points designed to need no other changes: source parsers, executors, and library steps. This page is the complete reference for all three — condensed pointers to it also appear on Webhooks, Executors, and Steps.
Adding a new source parser
Section titled “Adding a new source parser”- Create
src/normaliser/<source>.py - Implement
BaseParser— produce aNormalisedContext - Register in
src/normaliser/__init__.pysource map
Adding a new executor
Section titled “Adding a new executor”- Create
src/executors/<name>.py - Implement
BaseExecutor— acceptStepConfig+ context dict, returnLLMOutput - Register in
src/executors/__init__.pyexecutor map - Reference by name in pipeline YAML step
executor:field
No other changes required in either case.
Adding a library step
Section titled “Adding a library step”- Create
steps/<your-step-name>.yamlwith at minimumname,executor, andexecutor_config.agent - Run
POST /reload(or send SIGHUP) — the step will appear in/ui/stepsimmediately - Reference it in any pipeline with
- use: <your-step-name>
The steps/ directory is gitignored — steps are personal to your
deployment. Copy starter definitions from samples/steps/ and adapt them,
or write your own. See
samples/pipelines/alert-triage-investigation-using-steps.yaml for a worked
example of a pipeline that uses library steps.