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.
Files changed (101) hide show
  1. package/README.md +66 -95
  2. package/bin/robopark.js +9 -2
  3. package/conversation/elevenlabs_agent.py +1617 -1617
  4. package/conversation/supervisor_store.py +189 -189
  5. package/dist/{kernel/config-schema.js → config-schema.js} +1 -0
  6. package/dist/config-schema.js.map +1 -0
  7. package/dist/robopark/add-robot.js +1 -0
  8. package/dist/robopark/add-robot.js.map +1 -0
  9. package/dist/robopark/agent-ctl.js +1 -0
  10. package/dist/robopark/agent-ctl.js.map +1 -0
  11. package/dist/robopark/auto-start.js +51 -73
  12. package/dist/robopark/auto-start.js.map +1 -0
  13. package/dist/robopark/conversation.js +1 -0
  14. package/dist/robopark/conversation.js.map +1 -0
  15. package/dist/robopark/discovery.js +1 -0
  16. package/dist/robopark/discovery.js.map +1 -0
  17. package/dist/robopark/doctor.js +1 -0
  18. package/dist/robopark/doctor.js.map +1 -0
  19. package/dist/robopark/enroll.js +1 -0
  20. package/dist/robopark/enroll.js.map +1 -0
  21. package/dist/robopark/llm-set.js +1 -0
  22. package/dist/robopark/llm-set.js.map +1 -0
  23. package/dist/robopark/motor-control.js +1 -0
  24. package/dist/robopark/motor-control.js.map +1 -0
  25. package/dist/robopark/preview-agent-launcher.js +1 -0
  26. package/dist/robopark/preview-agent-launcher.js.map +1 -0
  27. package/dist/robopark/probe.js +16 -15
  28. package/dist/robopark/probe.js.map +1 -0
  29. package/dist/robopark/profile.js +1 -0
  30. package/dist/robopark/profile.js.map +1 -0
  31. package/dist/robopark/python-env.js +1 -7
  32. package/dist/robopark/python-env.js.map +1 -0
  33. package/dist/robopark/robot-runtime.js +1 -0
  34. package/dist/robopark/robot-runtime.js.map +1 -0
  35. package/dist/robopark/scan.js +1 -0
  36. package/dist/robopark/scan.js.map +1 -0
  37. package/dist/robopark/screen-control.js +1 -0
  38. package/dist/robopark/screen-control.js.map +1 -0
  39. package/dist/robopark/secrets.js +1 -0
  40. package/dist/robopark/secrets.js.map +1 -0
  41. package/dist/robopark/serve.js +4 -6
  42. package/dist/robopark/serve.js.map +1 -0
  43. package/dist/robopark/server-add.js +1 -0
  44. package/dist/robopark/server-add.js.map +1 -0
  45. package/dist/robopark/setup-livekit.js +53 -52
  46. package/dist/robopark/setup-livekit.js.map +1 -0
  47. package/dist/robopark/setup.js +1 -0
  48. package/dist/robopark/setup.js.map +1 -0
  49. package/dist/robopark/stop-all.js +1 -0
  50. package/dist/robopark/stop-all.js.map +1 -0
  51. package/dist/robopark/verify.js +1 -0
  52. package/dist/robopark/verify.js.map +1 -0
  53. package/dist/robopark/vision-agent-launcher.js +1 -0
  54. package/dist/robopark/vision-agent-launcher.js.map +1 -0
  55. package/dist/robopark/vision-control.js +1 -0
  56. package/dist/robopark/vision-control.js.map +1 -0
  57. package/dist/robopark-cli.js +7 -125
  58. package/dist/robopark-cli.js.map +1 -0
  59. package/package.json +16 -25
  60. package/pi-client/_install_steps.sh +29 -29
  61. package/pi-client/client.py +76 -76
  62. package/pi-client/install.sh +40 -40
  63. package/pi-client/join_convo.sh +54 -54
  64. package/pi-client/livekit_bridge.py +24 -24
  65. package/pi-client/motor_bridge.py +10 -10
  66. package/scheduler/__pycache__/main.cpython-312.pyc +0 -0
  67. package/scheduler/main.py +196 -17
  68. package/scheduler/media_lock.py +57 -57
  69. package/scheduler/preview_agent.py +1122 -1122
  70. package/scheduler/production_config.json +73 -113
  71. package/scheduler/scripts/install-robot-supervisor-linux.sh +33 -33
  72. package/{static → scheduler/static}/vendor/elevenlabs-client.iife.js +24199 -24199
  73. package/scheduler/static/voice-join.html +177 -0
  74. package/screen/screen_runtime.py +75 -75
  75. package/vision/app_pi_clean.py +297 -297
  76. package/vision/audio_server_pi.py +24 -24
  77. package/vision/install.sh +34 -34
  78. package/vision/motor_server.py +275 -275
  79. package/vision/requirements_camera.txt +6 -6
  80. package/vision/requirements_motor.txt +4 -4
  81. package/vision/requirements_pi_unified.txt +2 -2
  82. package/vision/requirements_vision_agent.txt +19 -19
  83. package/vision/run.sh +244 -244
  84. package/vision/services/services.sh +12 -12
  85. package/dist/kernel/types.js +0 -7
  86. package/dist/robopark/access.js +0 -99
  87. package/dist/robopark/control-center-html.js +0 -9191
  88. package/dist/robopark/control-server.js +0 -148
  89. package/dist/robopark/deployment-commands.js +0 -47
  90. package/dist/robopark/standalone.js +0 -562
  91. package/dist/robopark/voice-join-html.js +0 -57
  92. package/scripts/windows-shim-fix.cjs +0 -58
  93. package/static/robopark/barracuda.png +0 -0
  94. package/static/robopark/bmw.png +0 -0
  95. package/static/robopark/jaguar.png +0 -0
  96. package/static/robopark/magnus.jpg +0 -0
  97. package/static/robopark/panda.png +0 -0
  98. package/static/robopark/tesla.png +0 -0
  99. package/static/robopark/titan.jpg +0 -0
  100. package/static/robopark/volt.png +0 -0
  101. package/static/vendor/elevenlabs-client.LICENSE +0 -21
@@ -1,139 +1,99 @@
1
- {
2
- "schema_version": 1,
3
- "revision": 2,
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
- "characters": [
12
- {
13
- "id": "barracuda",
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": "palladin",
56
- "name": "PALLADIN",
57
- "description": "The Star Guardians steadfast protector and ceremonial guardian.",
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": "agent_0001ky7mxx2ce4pseeyn6wrtnrz8",
20
+ "elevenlabs_agent_id": "agent_3001ky0z8wq0fht8xyb0tnkdksdz",
61
21
  "elevenlabs_branch_id": null,
62
- "robovoice_profile_id": "palladin",
22
+ "robovoice_profile_id": "barracuda",
63
23
  "system_prompt_revision": 1,
64
- "nx": 0.66,
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": null
54
+ "img": "/static/robopark/magnus.jpg"
67
55
  },
68
56
  {
69
- "id": "panda",
70
- "name": "PANDA",
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": "panda",
64
+ "robovoice_profile_id": "ronin",
77
65
  "system_prompt_revision": 1,
78
- "nx": 0.74,
79
- "ny": 0.44,
66
+ "nx": 0.66,
67
+ "ny": 0.34,
80
68
  "img": "/static/robopark/panda.png"
81
69
  },
82
70
  {
83
- "id": "ronin",
84
- "name": "RONIN",
85
- "description": "The Star Guardians story keeper and patient guide.",
86
- "voice_stack_id": "english-default",
87
- "default_engine": "elevenlabs",
88
- "elevenlabs_agent_id": "agent_4701ky0xkz89f8t993tmg5t8t23r",
89
- "elevenlabs_branch_id": null,
90
- "robovoice_profile_id": "ronin",
91
- "system_prompt_revision": 1,
92
- "nx": 0.78,
93
- "ny": 0.58,
94
- "img": "/static/robopark/panda.png"
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": "volt",
126
- "name": "VOLT",
127
- "description": "The Star Guardians electric systems specialist and rapid responder.",
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": "agent_4101ky97n2pze4p8ax3dgb3hbc3c",
90
+ "elevenlabs_agent_id": "agent_6701ky0nfavke0ysrpj5v38m1cry",
131
91
  "elevenlabs_branch_id": null,
132
- "robovoice_profile_id": "volt",
92
+ "robovoice_profile_id": "vixen",
133
93
  "system_prompt_revision": 1,
134
- "nx": 0.24,
135
- "ny": 0.62,
136
- "img": "/static/robopark/volt.png"
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)"