Delete flowforge_cli.py
Browse files- flowforge_cli.py +0 -53
flowforge_cli.py
DELETED
|
@@ -1,53 +0,0 @@
|
|
| 1 |
-
#!/usr/bin/env python3
|
| 2 |
-
import argparse
|
| 3 |
-
import json
|
| 4 |
-
from pathlib import Path
|
| 5 |
-
|
| 6 |
-
from app.models.workflow import WorkflowPackageRequest
|
| 7 |
-
from app.services.adapters import adapters
|
| 8 |
-
from app.services.intelligence import documentation, package_workflow, quality
|
| 9 |
-
from app.services.validation import validator
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
def load_workflow(path: Path):
|
| 13 |
-
return adapters.importers["json"].load(path.read_text(encoding="utf-8"))
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
def main() -> int:
|
| 17 |
-
parser = argparse.ArgumentParser(prog="flowforge", description="Validate and package n8n workflows")
|
| 18 |
-
subparsers = parser.add_subparsers(dest="command", required=True)
|
| 19 |
-
for command in ("validate", "quality", "docs", "package"):
|
| 20 |
-
subparser = subparsers.add_parser(command)
|
| 21 |
-
subparser.add_argument("workflow", type=Path)
|
| 22 |
-
if command in {"docs", "package"}:
|
| 23 |
-
subparser.add_argument("--output", type=Path)
|
| 24 |
-
args = parser.parse_args()
|
| 25 |
-
workflow = load_workflow(args.workflow)
|
| 26 |
-
|
| 27 |
-
if args.command == "validate":
|
| 28 |
-
result = validator.validate(workflow)
|
| 29 |
-
print(result.model_dump_json(indent=2))
|
| 30 |
-
return 0 if result.valid else 1
|
| 31 |
-
if args.command == "quality":
|
| 32 |
-
result = quality(workflow)
|
| 33 |
-
print(result.model_dump_json(indent=2))
|
| 34 |
-
return 0 if result.overall >= 70 else 1
|
| 35 |
-
if args.command == "docs":
|
| 36 |
-
content = documentation(workflow).markdown
|
| 37 |
-
if args.output:
|
| 38 |
-
args.output.write_text(content, encoding="utf-8")
|
| 39 |
-
else:
|
| 40 |
-
print(content)
|
| 41 |
-
return 0
|
| 42 |
-
|
| 43 |
-
content = package_workflow(WorkflowPackageRequest(workflow=workflow)).model_dump(mode="json")
|
| 44 |
-
serialized = json.dumps(content, indent=2)
|
| 45 |
-
if args.output:
|
| 46 |
-
args.output.write_text(serialized, encoding="utf-8")
|
| 47 |
-
else:
|
| 48 |
-
print(serialized)
|
| 49 |
-
return 0
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
if __name__ == "__main__":
|
| 53 |
-
raise SystemExit(main())
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|