robopark 3.1.2 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +66 -95
- package/bin/robopark.js +9 -2
- package/conversation/elevenlabs_agent.py +1617 -1617
- package/conversation/supervisor_store.py +189 -189
- package/dist/{kernel/config-schema.js → config-schema.js} +1 -0
- package/dist/config-schema.js.map +1 -0
- package/dist/robopark/add-robot.js +1 -0
- package/dist/robopark/add-robot.js.map +1 -0
- package/dist/robopark/agent-ctl.js +1 -0
- package/dist/robopark/agent-ctl.js.map +1 -0
- package/dist/robopark/auto-start.js +51 -73
- package/dist/robopark/auto-start.js.map +1 -0
- package/dist/robopark/conversation.js +1 -0
- package/dist/robopark/conversation.js.map +1 -0
- package/dist/robopark/discovery.js +1 -0
- package/dist/robopark/discovery.js.map +1 -0
- package/dist/robopark/doctor.js +1 -0
- package/dist/robopark/doctor.js.map +1 -0
- package/dist/robopark/enroll.js +1 -0
- package/dist/robopark/enroll.js.map +1 -0
- package/dist/robopark/llm-set.js +1 -0
- package/dist/robopark/llm-set.js.map +1 -0
- package/dist/robopark/motor-control.js +1 -0
- package/dist/robopark/motor-control.js.map +1 -0
- package/dist/robopark/preview-agent-launcher.js +1 -0
- package/dist/robopark/preview-agent-launcher.js.map +1 -0
- package/dist/robopark/probe.js +16 -15
- package/dist/robopark/probe.js.map +1 -0
- package/dist/robopark/profile.js +1 -0
- package/dist/robopark/profile.js.map +1 -0
- package/dist/robopark/python-env.js +1 -7
- package/dist/robopark/python-env.js.map +1 -0
- package/dist/robopark/robot-runtime.js +1 -0
- package/dist/robopark/robot-runtime.js.map +1 -0
- package/dist/robopark/scan.js +1 -0
- package/dist/robopark/scan.js.map +1 -0
- package/dist/robopark/screen-control.js +1 -0
- package/dist/robopark/screen-control.js.map +1 -0
- package/dist/robopark/secrets.js +1 -0
- package/dist/robopark/secrets.js.map +1 -0
- package/dist/robopark/serve.js +4 -6
- package/dist/robopark/serve.js.map +1 -0
- package/dist/robopark/server-add.js +1 -0
- package/dist/robopark/server-add.js.map +1 -0
- package/dist/robopark/setup-livekit.js +53 -52
- package/dist/robopark/setup-livekit.js.map +1 -0
- package/dist/robopark/setup.js +1 -0
- package/dist/robopark/setup.js.map +1 -0
- package/dist/robopark/stop-all.js +1 -0
- package/dist/robopark/stop-all.js.map +1 -0
- package/dist/robopark/verify.js +1 -0
- package/dist/robopark/verify.js.map +1 -0
- package/dist/robopark/vision-agent-launcher.js +1 -0
- package/dist/robopark/vision-agent-launcher.js.map +1 -0
- package/dist/robopark/vision-control.js +1 -0
- package/dist/robopark/vision-control.js.map +1 -0
- package/dist/robopark-cli.js +7 -125
- package/dist/robopark-cli.js.map +1 -0
- package/package.json +16 -25
- package/pi-client/_install_steps.sh +29 -29
- package/pi-client/client.py +76 -76
- package/pi-client/install.sh +40 -40
- package/pi-client/join_convo.sh +54 -54
- package/pi-client/livekit_bridge.py +24 -24
- package/pi-client/motor_bridge.py +10 -10
- package/scheduler/__pycache__/main.cpython-312.pyc +0 -0
- package/scheduler/main.py +196 -17
- package/scheduler/media_lock.py +57 -57
- package/scheduler/preview_agent.py +1122 -1122
- package/scheduler/production_config.json +73 -113
- package/scheduler/scripts/install-robot-supervisor-linux.sh +33 -33
- package/{static → scheduler/static}/vendor/elevenlabs-client.iife.js +24199 -24199
- package/scheduler/static/voice-join.html +177 -0
- package/screen/screen_runtime.py +75 -75
- package/vision/app_pi_clean.py +297 -297
- package/vision/audio_server_pi.py +24 -24
- package/vision/install.sh +34 -34
- package/vision/motor_server.py +275 -275
- package/vision/requirements_camera.txt +6 -6
- package/vision/requirements_motor.txt +4 -4
- package/vision/requirements_pi_unified.txt +2 -2
- package/vision/requirements_vision_agent.txt +19 -19
- package/vision/run.sh +244 -244
- package/vision/services/services.sh +12 -12
- package/dist/kernel/types.js +0 -7
- package/dist/robopark/access.js +0 -99
- package/dist/robopark/control-center-html.js +0 -9191
- package/dist/robopark/control-server.js +0 -148
- package/dist/robopark/deployment-commands.js +0 -47
- package/dist/robopark/standalone.js +0 -562
- package/dist/robopark/voice-join-html.js +0 -57
- package/scripts/windows-shim-fix.cjs +0 -58
- package/static/robopark/barracuda.png +0 -0
- package/static/robopark/bmw.png +0 -0
- package/static/robopark/jaguar.png +0 -0
- package/static/robopark/magnus.jpg +0 -0
- package/static/robopark/panda.png +0 -0
- package/static/robopark/tesla.png +0 -0
- package/static/robopark/titan.jpg +0 -0
- package/static/robopark/volt.png +0 -0
- package/static/vendor/elevenlabs-client.LICENSE +0 -21
|
@@ -1,139 +1,99 @@
|
|
|
1
|
-
{
|
|
2
|
-
"schema_version": 1,
|
|
3
|
-
"revision":
|
|
4
|
-
"global": {
|
|
5
|
-
"voice_engine_default": "elevenlabs",
|
|
6
|
-
"robovoice_enabled": true,
|
|
7
|
-
"allow_session_override": true,
|
|
8
|
-
"apply_changes_when_idle": true
|
|
9
|
-
},
|
|
10
|
-
"aliases": {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"name": "BARRACUDA",
|
|
15
|
-
"description": "The Star Guardians speed navigator and tactical pilot.",
|
|
16
|
-
"voice_stack_id": "english-default",
|
|
17
|
-
"default_engine": "elevenlabs",
|
|
18
|
-
"elevenlabs_agent_id": "agent_3001ky0z8wq0fht8xyb0tnkdksdz",
|
|
19
|
-
"elevenlabs_branch_id": null,
|
|
20
|
-
"robovoice_profile_id": "barracuda",
|
|
21
|
-
"system_prompt_revision": 1,
|
|
22
|
-
"nx": 0.18,
|
|
23
|
-
"ny": 0.28,
|
|
24
|
-
"img": "/static/robopark/barracuda.png"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"id": "jaguar",
|
|
28
|
-
"name": "JAGUAR",
|
|
29
|
-
"description": "A confident and agile Star Guardians scout.",
|
|
30
|
-
"voice_stack_id": "english-default",
|
|
31
|
-
"default_engine": "elevenlabs",
|
|
32
|
-
"elevenlabs_agent_id": "agent_4201ky0zhwn4fz7bwy9767wt6g3t",
|
|
33
|
-
"elevenlabs_branch_id": null,
|
|
34
|
-
"robovoice_profile_id": "jaguar",
|
|
35
|
-
"system_prompt_revision": 1,
|
|
36
|
-
"nx": 0.34,
|
|
37
|
-
"ny": 0.34,
|
|
38
|
-
"img": "/static/robopark/jaguar.png"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"id": "magnus",
|
|
42
|
-
"name": "MAGNUS",
|
|
43
|
-
"description": "The calm leader of the Star Guardians.",
|
|
44
|
-
"voice_stack_id": "english-default",
|
|
45
|
-
"default_engine": "elevenlabs",
|
|
46
|
-
"elevenlabs_agent_id": "agent_5601ky0ymahreyft2xz9xht0dj4v",
|
|
47
|
-
"elevenlabs_branch_id": null,
|
|
48
|
-
"robovoice_profile_id": "magnus",
|
|
49
|
-
"system_prompt_revision": 1,
|
|
50
|
-
"nx": 0.5,
|
|
51
|
-
"ny": 0.24,
|
|
52
|
-
"img": "/static/robopark/magnus.jpg"
|
|
53
|
-
},
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"revision": 1,
|
|
4
|
+
"global": {
|
|
5
|
+
"voice_engine_default": "elevenlabs",
|
|
6
|
+
"robovoice_enabled": true,
|
|
7
|
+
"allow_session_override": true,
|
|
8
|
+
"apply_changes_when_idle": true
|
|
9
|
+
},
|
|
10
|
+
"aliases": {
|
|
11
|
+
"panda": "ronin"
|
|
12
|
+
},
|
|
13
|
+
"characters": [
|
|
54
14
|
{
|
|
55
|
-
"id": "
|
|
56
|
-
"name": "
|
|
57
|
-
"description": "The Star Guardians
|
|
15
|
+
"id": "barracuda",
|
|
16
|
+
"name": "BARRACUDA",
|
|
17
|
+
"description": "The Star Guardians speed navigator and tactical pilot.",
|
|
58
18
|
"voice_stack_id": "english-default",
|
|
59
19
|
"default_engine": "elevenlabs",
|
|
60
|
-
"elevenlabs_agent_id": "
|
|
20
|
+
"elevenlabs_agent_id": "agent_3001ky0z8wq0fht8xyb0tnkdksdz",
|
|
61
21
|
"elevenlabs_branch_id": null,
|
|
62
|
-
"robovoice_profile_id": "
|
|
22
|
+
"robovoice_profile_id": "barracuda",
|
|
63
23
|
"system_prompt_revision": 1,
|
|
64
|
-
"nx": 0.
|
|
24
|
+
"nx": 0.18,
|
|
25
|
+
"ny": 0.28,
|
|
26
|
+
"img": "/static/robopark/barracuda.png"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": "jaguar",
|
|
30
|
+
"name": "JAGUAR",
|
|
31
|
+
"description": "A confident and agile Star Guardians scout.",
|
|
32
|
+
"voice_stack_id": "english-default",
|
|
33
|
+
"default_engine": "elevenlabs",
|
|
34
|
+
"elevenlabs_agent_id": "agent_4201ky0zhwn4fz7bwy9767wt6g3t",
|
|
35
|
+
"elevenlabs_branch_id": null,
|
|
36
|
+
"robovoice_profile_id": "jaguar",
|
|
37
|
+
"system_prompt_revision": 1,
|
|
38
|
+
"nx": 0.34,
|
|
39
|
+
"ny": 0.34,
|
|
40
|
+
"img": "/static/robopark/jaguar.png"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "magnus",
|
|
44
|
+
"name": "MAGNUS",
|
|
45
|
+
"description": "The calm leader of the Star Guardians.",
|
|
46
|
+
"voice_stack_id": "english-default",
|
|
47
|
+
"default_engine": "elevenlabs",
|
|
48
|
+
"elevenlabs_agent_id": "agent_5601ky0ymahreyft2xz9xht0dj4v",
|
|
49
|
+
"elevenlabs_branch_id": null,
|
|
50
|
+
"robovoice_profile_id": "magnus",
|
|
51
|
+
"system_prompt_revision": 1,
|
|
52
|
+
"nx": 0.5,
|
|
65
53
|
"ny": 0.24,
|
|
66
|
-
"img":
|
|
54
|
+
"img": "/static/robopark/magnus.jpg"
|
|
67
55
|
},
|
|
68
56
|
{
|
|
69
|
-
"id": "
|
|
70
|
-
"name": "
|
|
57
|
+
"id": "ronin",
|
|
58
|
+
"name": "RONIN",
|
|
71
59
|
"description": "The Star Guardians story keeper and patient guide.",
|
|
72
60
|
"voice_stack_id": "english-default",
|
|
73
61
|
"default_engine": "elevenlabs",
|
|
74
62
|
"elevenlabs_agent_id": "agent_4701ky0xkz89f8t993tmg5t8t23r",
|
|
75
63
|
"elevenlabs_branch_id": null,
|
|
76
|
-
"robovoice_profile_id": "
|
|
64
|
+
"robovoice_profile_id": "ronin",
|
|
77
65
|
"system_prompt_revision": 1,
|
|
78
|
-
"nx": 0.
|
|
79
|
-
"ny": 0.
|
|
66
|
+
"nx": 0.66,
|
|
67
|
+
"ny": 0.34,
|
|
80
68
|
"img": "/static/robopark/panda.png"
|
|
81
69
|
},
|
|
82
70
|
{
|
|
83
|
-
"id": "
|
|
84
|
-
"name": "
|
|
85
|
-
"description": "The Star Guardians
|
|
86
|
-
"voice_stack_id": "english-default",
|
|
87
|
-
"default_engine": "elevenlabs",
|
|
88
|
-
"elevenlabs_agent_id": "
|
|
89
|
-
"elevenlabs_branch_id": null,
|
|
90
|
-
"robovoice_profile_id": "
|
|
91
|
-
"system_prompt_revision": 1,
|
|
92
|
-
"nx": 0.
|
|
93
|
-
"ny": 0.
|
|
94
|
-
"img": "/static/robopark/
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
"id": "titan",
|
|
98
|
-
"name": "TITAN",
|
|
99
|
-
"description": "The Star Guardians iron guardian and stability anchor.",
|
|
100
|
-
"voice_stack_id": "english-default",
|
|
101
|
-
"default_engine": "elevenlabs",
|
|
102
|
-
"elevenlabs_agent_id": "agent_2501ky0x8t39fh5ske8tz3148b26",
|
|
103
|
-
"elevenlabs_branch_id": null,
|
|
104
|
-
"robovoice_profile_id": "titan",
|
|
105
|
-
"system_prompt_revision": 1,
|
|
106
|
-
"nx": 0.42,
|
|
107
|
-
"ny": 0.68,
|
|
108
|
-
"img": "/static/robopark/titan.jpg"
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
"id": "vixen",
|
|
112
|
-
"name": "VIXEN",
|
|
113
|
-
"description": "The Star Guardians strategist and precision planner.",
|
|
114
|
-
"voice_stack_id": "english-default",
|
|
115
|
-
"default_engine": "elevenlabs",
|
|
116
|
-
"elevenlabs_agent_id": "agent_6701ky0nfavke0ysrpj5v38m1cry",
|
|
117
|
-
"elevenlabs_branch_id": null,
|
|
118
|
-
"robovoice_profile_id": "vixen",
|
|
119
|
-
"system_prompt_revision": 1,
|
|
120
|
-
"nx": 0.58,
|
|
121
|
-
"ny": 0.66,
|
|
122
|
-
"img": "/static/robopark/bmw.png"
|
|
71
|
+
"id": "titan",
|
|
72
|
+
"name": "TITAN",
|
|
73
|
+
"description": "The Star Guardians iron guardian and stability anchor.",
|
|
74
|
+
"voice_stack_id": "english-default",
|
|
75
|
+
"default_engine": "elevenlabs",
|
|
76
|
+
"elevenlabs_agent_id": "agent_2501ky0x8t39fh5ske8tz3148b26",
|
|
77
|
+
"elevenlabs_branch_id": null,
|
|
78
|
+
"robovoice_profile_id": "titan",
|
|
79
|
+
"system_prompt_revision": 1,
|
|
80
|
+
"nx": 0.42,
|
|
81
|
+
"ny": 0.68,
|
|
82
|
+
"img": "/static/robopark/titan.jpg"
|
|
123
83
|
},
|
|
124
84
|
{
|
|
125
|
-
"id": "
|
|
126
|
-
"name": "
|
|
127
|
-
"description": "The Star Guardians
|
|
85
|
+
"id": "vixen",
|
|
86
|
+
"name": "VIXEN",
|
|
87
|
+
"description": "The Star Guardians strategist and precision planner.",
|
|
128
88
|
"voice_stack_id": "english-default",
|
|
129
89
|
"default_engine": "elevenlabs",
|
|
130
|
-
"elevenlabs_agent_id": "
|
|
90
|
+
"elevenlabs_agent_id": "agent_6701ky0nfavke0ysrpj5v38m1cry",
|
|
131
91
|
"elevenlabs_branch_id": null,
|
|
132
|
-
"robovoice_profile_id": "
|
|
92
|
+
"robovoice_profile_id": "vixen",
|
|
133
93
|
"system_prompt_revision": 1,
|
|
134
|
-
"nx": 0.
|
|
135
|
-
"ny": 0.
|
|
136
|
-
"img": "/static/robopark/
|
|
94
|
+
"nx": 0.58,
|
|
95
|
+
"ny": 0.66,
|
|
96
|
+
"img": "/static/robopark/bmw.png"
|
|
137
97
|
}
|
|
138
98
|
]
|
|
139
99
|
}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Installs the RoboPark robot supervisor as a systemd service on a real
|
|
3
|
-
# robot (Raspberry Pi or similar). Auto-starts on boot, restarts on crash.
|
|
4
|
-
set -euo pipefail
|
|
5
|
-
|
|
6
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
7
|
-
SUPERVISOR_DIR="$(dirname "$SCRIPT_DIR")"
|
|
8
|
-
UNIT_SRC="$SCRIPT_DIR/robopark-supervisor.service"
|
|
9
|
-
UNIT_DST="/etc/systemd/system/robopark-supervisor.service"
|
|
10
|
-
|
|
11
|
-
if [ ! -f "$SUPERVISOR_DIR/robot_supervisor.py" ]; then
|
|
12
|
-
echo "robot_supervisor.py not found in $SUPERVISOR_DIR" >&2
|
|
13
|
-
exit 1
|
|
14
|
-
fi
|
|
15
|
-
|
|
16
|
-
if [ ! -f "$HOME/.robopark/supervisor.json" ]; then
|
|
17
|
-
echo "No ~/.robopark/supervisor.json yet — copy supervisor.example.json there and edit it first:" >&2
|
|
18
|
-
echo " cp $SUPERVISOR_DIR/supervisor.example.json ~/.robopark/supervisor.json" >&2
|
|
19
|
-
exit 1
|
|
20
|
-
fi
|
|
21
|
-
|
|
22
|
-
echo "Installing systemd unit -> $UNIT_DST (requires sudo)"
|
|
23
|
-
sudo sed \
|
|
24
|
-
-e "s#WorkingDirectory=.*#WorkingDirectory=$SUPERVISOR_DIR#" \
|
|
25
|
-
-e "s#User=.*#User=$(whoami)#" \
|
|
26
|
-
"$UNIT_SRC" | sudo tee "$UNIT_DST" > /dev/null
|
|
27
|
-
|
|
28
|
-
sudo systemctl daemon-reload
|
|
29
|
-
sudo systemctl enable robopark-supervisor.service
|
|
30
|
-
sudo systemctl restart robopark-supervisor.service
|
|
31
|
-
|
|
32
|
-
echo "Installed and started. Check status: sudo systemctl status robopark-supervisor.service"
|
|
33
|
-
echo "Logs: journalctl -u robopark-supervisor.service -f (or ~/.robopark/logs/*.log per-service)"
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Installs the RoboPark robot supervisor as a systemd service on a real
|
|
3
|
+
# robot (Raspberry Pi or similar). Auto-starts on boot, restarts on crash.
|
|
4
|
+
set -euo pipefail
|
|
5
|
+
|
|
6
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
7
|
+
SUPERVISOR_DIR="$(dirname "$SCRIPT_DIR")"
|
|
8
|
+
UNIT_SRC="$SCRIPT_DIR/robopark-supervisor.service"
|
|
9
|
+
UNIT_DST="/etc/systemd/system/robopark-supervisor.service"
|
|
10
|
+
|
|
11
|
+
if [ ! -f "$SUPERVISOR_DIR/robot_supervisor.py" ]; then
|
|
12
|
+
echo "robot_supervisor.py not found in $SUPERVISOR_DIR" >&2
|
|
13
|
+
exit 1
|
|
14
|
+
fi
|
|
15
|
+
|
|
16
|
+
if [ ! -f "$HOME/.robopark/supervisor.json" ]; then
|
|
17
|
+
echo "No ~/.robopark/supervisor.json yet — copy supervisor.example.json there and edit it first:" >&2
|
|
18
|
+
echo " cp $SUPERVISOR_DIR/supervisor.example.json ~/.robopark/supervisor.json" >&2
|
|
19
|
+
exit 1
|
|
20
|
+
fi
|
|
21
|
+
|
|
22
|
+
echo "Installing systemd unit -> $UNIT_DST (requires sudo)"
|
|
23
|
+
sudo sed \
|
|
24
|
+
-e "s#WorkingDirectory=.*#WorkingDirectory=$SUPERVISOR_DIR#" \
|
|
25
|
+
-e "s#User=.*#User=$(whoami)#" \
|
|
26
|
+
"$UNIT_SRC" | sudo tee "$UNIT_DST" > /dev/null
|
|
27
|
+
|
|
28
|
+
sudo systemctl daemon-reload
|
|
29
|
+
sudo systemctl enable robopark-supervisor.service
|
|
30
|
+
sudo systemctl restart robopark-supervisor.service
|
|
31
|
+
|
|
32
|
+
echo "Installed and started. Check status: sudo systemctl status robopark-supervisor.service"
|
|
33
|
+
echo "Logs: journalctl -u robopark-supervisor.service -f (or ~/.robopark/logs/*.log per-service)"
|