mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 06:14:59 +00:00
Multi-language workflow plugin system following Python's structure: - Each plugin in its own directory with implementation + package.json - Category-level package.json manifests listing all plugins - Consistent interface: run(runtime, inputs) -> outputs Languages added: - Go: math, string, logic, list, dict, var, convert (25+ plugins) - Rust: math, string, logic, list, convert, var (50+ functions) - C++: header-only math, string, logic, var, convert (30+ plugins) - Mojo: math, string, list with systems programming features Python structure fixed: - Reorganized flat files into plugin subdirectories - Added package.json metadata to all 120+ plugins - Added missing backend category (15 plugins) - Category manifests with plugin lists Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
27 lines
667 B
C++
27 lines
667 B
C++
#pragma once
|
|
/**
|
|
* Workflow plugin: divide numbers
|
|
*/
|
|
|
|
#include "../../plugin.hpp"
|
|
|
|
namespace metabuilder::workflow::math {
|
|
|
|
inline PluginResult divide(Runtime&, const json& inputs) {
|
|
auto numbers = inputs.value("numbers", std::vector<double>{});
|
|
if (numbers.size() < 2) {
|
|
return {{"result", 0}, {"error", "need at least 2 numbers"}};
|
|
}
|
|
|
|
double result = numbers[0];
|
|
for (size_t i = 1; i < numbers.size(); ++i) {
|
|
if (numbers[i] == 0.0) {
|
|
return {{"result", 0}, {"error", "division by zero"}};
|
|
}
|
|
result /= numbers[i];
|
|
}
|
|
return {{"result", result}};
|
|
}
|
|
|
|
} // namespace metabuilder::workflow::math
|