A-SW Hub / Repositories
Local Gitea · READ ONLY
← 저장소 Repositories
REPOSITORY

via/fruit-multi-robot-control Private

[참조 MVP] 과채류 다중로봇 관제 — 작업 주문, 로봇 가용성, OTA 상태를 연결하는 SaaS 관제 참조 MVP입니다.

https://git.agrithing.ai/via/fruit-multi-robot-control.git
4 commits
COMMIT DETAIL

feat: add executable institution reference MVP

A-SW Reference Factory <[email protected]> · 2026. 8. 3. 오후 2:18:34
8af54e09c609f3c373ce9409dcc628b2f528892e
5 changed files +37 −0 parent 8c9cb0d
added asw_component/__init__.py +3−0 View file
@@ -0,0 +1,3 @@
1 + from .component import execute
2 +
3 + __all__ = ["execute"]
added asw_component/component.py +7−0 View file
@@ -0,0 +1,7 @@
1 + from __future__ import annotations
2 +
3 +
4 + def execute(payload: dict) -> dict:
5 + if not isinstance(payload, dict) or not payload:
6 + raise ValueError("a non-empty object is required")
7 + return {"component": "via/fruit-multi-robot-control", "accepted": True, "status": "READY", "target": "service", "input_fields": sorted(payload.keys())}
added examples/input.json +13−0 View file
@@ -0,0 +1,13 @@
1 + {
2 + "workOrder": "WO-FRUIT-081",
3 + "robots": [
4 + {
5 + "id": "fruit-bot-01",
6 + "state": "AVAILABLE"
7 + },
8 + {
9 + "id": "fruit-bot-02",
10 + "state": "CHARGING"
11 + }
12 + ]
13 + }
added pyproject.toml +5−0 View file
@@ -0,0 +1,5 @@
1 + [project]
2 + name = "fruit-multi-robot-control"
3 + version = "0.1.0"
4 + description = "작업 주문, 로봇 가용성, OTA 상태를 연결하는 SaaS 관제 참조 MVP입니다."
5 + requires-python = ">=3.11"
added run.py +9−0 View file
@@ -0,0 +1,9 @@
1 + from __future__ import annotations
2 + import json
3 + import sys
4 + from asw_component import execute
5 +
6 + path = sys.argv[1] if len(sys.argv) > 1 else None
7 + with open(path, encoding="utf-8") if path else sys.stdin as source:
8 + payload = json.load(source)
9 + print(json.dumps(execute(payload), ensure_ascii=False, indent=2))