Create Your Own Transformer
Build custom transformers for validation, enrichment, or redaction.
The transformer interface
Transformers are functions that receive a context object and return a transformer instance:
Loading...
The context contains:
Loading...
The returned instance must implement:
Loading...
Return values
| Return | Behavior |
|---|---|
event | Continue chain with modified event |
void | Continue chain, event unchanged |
false | Stop chain, event dropped |
Minimal example
Loading...
Push context
The push function receives an event and a push context:
config: Transformer configurationenv: Environment dependencieslogger: Scoped logger for outputid: Transformer identifiercollector: Access to collector instanceingest: Request metadata from source (optional)
Loading...
Examples
Enrich: add server-side data
Loading...
Validate: custom check
Loading...
Using your transformer
Loading...
Testing
Loading...
Package convention
Every walkerOS package includes machine-readable metadata for tooling and discovery.
walkerOS field in package.json
Loading...
| Field | Required | Description |
|---|---|---|
walkerOS | Yes | Object with type metadata (and platform for sources/destinations) |
Build-time generation
Use buildDev() from the shared tsup config to auto-generate walkerOS.json:
Loading...
This file contains your package's JSON Schemas and examples, enabling MCP tools and the CLI to validate configurations without installing your package.
Publishing checklist
-
walkerOSfield in package.json - Keywords include
walkerosandwalkeros-transformer -
buildDev()in tsup.config.ts -
dist/walkerOS.jsongenerated on build -
npm run testpasses -
npm run lintpasses
Next steps
- Review Validator source as reference
- Learn about creating sources
- Learn about creating destinations
💡 Need Professional Support?
Need professional support with your walkerOS implementation? Check out our services.