Repository navigation
Expand file tree
/
Copy pathworkflow.json
More file actions
46 lines (46 loc) · 1.63 KB
/
Copy pathworkflow.json
File metadata and controls
46 lines (46 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
{
"package_format": "tin-workflow-package-v1",
"definition": {
"key": "example.order_report",
"title": "Summarize fixture orders",
"description": "Filter fixture orders by minimum value and write a small Markdown report using ordinary Python.",
"version": "1.0.0",
"executor": "workflow.code",
"schedule_modes": ["on_demand"],
"input_schema": {
"type": "object",
"additionalProperties": false,
"properties": {
"project_id": {"type": "string", "format": "uuid"},
"minimum_cents": {"type": "integer", "minimum": 0, "maximum": 100000, "default": 1000}
},
"required": ["project_id", "minimum_cents"]
},
"code": {
"runtime": "python3.12.8-stdlib-v1",
"entrypoint": "main.py",
"files": ["main.py", "fixtures/orders.json"],
"timeout_seconds": 10,
"output": {
"kind": "project.artifact",
"path": "reports/custom/ORDER_REPORT.md",
"media_type": "text/markdown",
"max_bytes": 8000
}
},
"presentation": {
"flow": {
"direction": "TD",
"nodes": [
{"id": "orders", "kind": "store", "label": "Fixture orders", "fact": "fixtures/orders.json in the package"},
{"id": "filter", "kind": "step", "label": "Keep the larger orders", "fact": "at or above your minimum, in Python"},
{"id": "report", "kind": "receipt", "label": "Order report in Files", "fact": "reports/custom/ORDER_REPORT.md"}
],
"edges": [
{"from": "orders", "to": "filter", "kind": "call"},
{"from": "filter", "to": "report", "kind": "call"}
]
}
}
}
}