robopark 3.3.9 → 3.3.10

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "robopark",
3
- "version": "3.3.9",
3
+ "version": "3.3.10",
4
4
  "description": "RoboPark fleet control CLI \u2014 scheduler, control UI, and character voice calls. Standalone: no infinicode runtime.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schema_version": 1,
3
- "revision": 1,
3
+ "revision": 2,
4
4
  "global": {
5
5
  "voice_engine_default": "elevenlabs",
6
6
  "robovoice_enabled": true,
@@ -94,6 +94,20 @@
94
94
  "nx": 0.58,
95
95
  "ny": 0.66,
96
96
  "img": "/static/robopark/bmw.png"
97
+ },
98
+ {
99
+ "id": "kongor",
100
+ "name": "KONGOR",
101
+ "description": "The Star Guardians heavy bruiser.",
102
+ "voice_stack_id": "english-default",
103
+ "default_engine": "elevenlabs",
104
+ "elevenlabs_agent_id": "agent_2901kyp83sr7ext9sq1ezrxrqqpd",
105
+ "elevenlabs_branch_id": "agtbrch_5301kyp83srsfgxr4p0cahqvsnyp",
106
+ "robovoice_profile_id": "kongor",
107
+ "system_prompt_revision": 1,
108
+ "nx": 0.82,
109
+ "ny": 0.3,
110
+ "img": "/static/robopark/volt.png"
97
111
  }
98
112
  ]
99
113
  }
@@ -1 +1 @@
1
- H5av7rSb0E_elgbludulF
1
+ tDI_bBJ7vZjqqxcXg1GZn
@@ -28,26 +28,26 @@
28
28
  "static/chunks/main-app-f2b2a716b0f3924b.js",
29
29
  "static/chunks/app/api/prewarm/route-0952b44bda5bfb6d.js"
30
30
  ],
31
- "/api/prompt/route": [
31
+ "/api/models/route": [
32
32
  "static/chunks/webpack-5252e5254da079b5.js",
33
33
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
34
34
  "static/chunks/1255-404bb8de49c90395.js",
35
35
  "static/chunks/main-app-f2b2a716b0f3924b.js",
36
- "static/chunks/app/api/prompt/route-0952b44bda5bfb6d.js"
36
+ "static/chunks/app/api/models/route-0952b44bda5bfb6d.js"
37
37
  ],
38
- "/api/reload-tools/route": [
38
+ "/api/prompt/route": [
39
39
  "static/chunks/webpack-5252e5254da079b5.js",
40
40
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
41
41
  "static/chunks/1255-404bb8de49c90395.js",
42
42
  "static/chunks/main-app-f2b2a716b0f3924b.js",
43
- "static/chunks/app/api/reload-tools/route-0952b44bda5bfb6d.js"
43
+ "static/chunks/app/api/prompt/route-0952b44bda5bfb6d.js"
44
44
  ],
45
- "/api/models/route": [
45
+ "/api/reload-tools/route": [
46
46
  "static/chunks/webpack-5252e5254da079b5.js",
47
47
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
48
48
  "static/chunks/1255-404bb8de49c90395.js",
49
49
  "static/chunks/main-app-f2b2a716b0f3924b.js",
50
- "static/chunks/app/api/models/route-0952b44bda5bfb6d.js"
50
+ "static/chunks/app/api/reload-tools/route-0952b44bda5bfb6d.js"
51
51
  ],
52
52
  "/api/robopark/devices/[deviceId]/control/route": [
53
53
  "static/chunks/webpack-5252e5254da079b5.js",
@@ -77,13 +77,6 @@
77
77
  "static/chunks/main-app-f2b2a716b0f3924b.js",
78
78
  "static/chunks/app/api/robopark/transcripts/[sessionId]/route-0952b44bda5bfb6d.js"
79
79
  ],
80
- "/api/setup/complete/route": [
81
- "static/chunks/webpack-5252e5254da079b5.js",
82
- "static/chunks/4bd1b696-f785427dddbba9fb.js",
83
- "static/chunks/1255-404bb8de49c90395.js",
84
- "static/chunks/main-app-f2b2a716b0f3924b.js",
85
- "static/chunks/app/api/setup/complete/route-0952b44bda5bfb6d.js"
86
- ],
87
80
  "/api/setup/status/route": [
88
81
  "static/chunks/webpack-5252e5254da079b5.js",
89
82
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
@@ -105,6 +98,13 @@
105
98
  "static/chunks/main-app-f2b2a716b0f3924b.js",
106
99
  "static/chunks/app/api/setup/test-hass/route-0952b44bda5bfb6d.js"
107
100
  ],
101
+ "/api/setup/complete/route": [
102
+ "static/chunks/webpack-5252e5254da079b5.js",
103
+ "static/chunks/4bd1b696-f785427dddbba9fb.js",
104
+ "static/chunks/1255-404bb8de49c90395.js",
105
+ "static/chunks/main-app-f2b2a716b0f3924b.js",
106
+ "static/chunks/app/api/setup/complete/route-0952b44bda5bfb6d.js"
107
+ ],
108
108
  "/api/setup/test-n8n/route": [
109
109
  "static/chunks/webpack-5252e5254da079b5.js",
110
110
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
@@ -126,13 +126,6 @@
126
126
  "static/chunks/main-app-f2b2a716b0f3924b.js",
127
127
  "static/chunks/app/api/test-tts/route-0952b44bda5bfb6d.js"
128
128
  ],
129
- "/api/voices/route": [
130
- "static/chunks/webpack-5252e5254da079b5.js",
131
- "static/chunks/4bd1b696-f785427dddbba9fb.js",
132
- "static/chunks/1255-404bb8de49c90395.js",
133
- "static/chunks/main-app-f2b2a716b0f3924b.js",
134
- "static/chunks/app/api/voices/route-0952b44bda5bfb6d.js"
135
- ],
136
129
  "/api/wake-word/models/route": [
137
130
  "static/chunks/webpack-5252e5254da079b5.js",
138
131
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
@@ -140,12 +133,12 @@
140
133
  "static/chunks/main-app-f2b2a716b0f3924b.js",
141
134
  "static/chunks/app/api/wake-word/models/route-0952b44bda5bfb6d.js"
142
135
  ],
143
- "/api/wake-word/status/route": [
136
+ "/api/voices/route": [
144
137
  "static/chunks/webpack-5252e5254da079b5.js",
145
138
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
146
139
  "static/chunks/1255-404bb8de49c90395.js",
147
140
  "static/chunks/main-app-f2b2a716b0f3924b.js",
148
- "static/chunks/app/api/wake-word/status/route-0952b44bda5bfb6d.js"
141
+ "static/chunks/app/api/voices/route-0952b44bda5bfb6d.js"
149
142
  ],
150
143
  "/api/wake-word/upload/route": [
151
144
  "static/chunks/webpack-5252e5254da079b5.js",
@@ -165,6 +158,13 @@
165
158
  "static/chunks/9880-53262785284464cc.js",
166
159
  "static/chunks/app/layout-4829e027e68fded4.js"
167
160
  ],
161
+ "/api/wake-word/status/route": [
162
+ "static/chunks/webpack-5252e5254da079b5.js",
163
+ "static/chunks/4bd1b696-f785427dddbba9fb.js",
164
+ "static/chunks/1255-404bb8de49c90395.js",
165
+ "static/chunks/main-app-f2b2a716b0f3924b.js",
166
+ "static/chunks/app/api/wake-word/status/route-0952b44bda5bfb6d.js"
167
+ ],
168
168
  "/api/connection-details/route": [
169
169
  "static/chunks/webpack-5252e5254da079b5.js",
170
170
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
@@ -186,6 +186,13 @@
186
186
  "static/chunks/main-app-f2b2a716b0f3924b.js",
187
187
  "static/chunks/app/api/model-status/route-0952b44bda5bfb6d.js"
188
188
  ],
189
+ "/api/robopark/device-access/route": [
190
+ "static/chunks/webpack-5252e5254da079b5.js",
191
+ "static/chunks/4bd1b696-f785427dddbba9fb.js",
192
+ "static/chunks/1255-404bb8de49c90395.js",
193
+ "static/chunks/main-app-f2b2a716b0f3924b.js",
194
+ "static/chunks/app/api/robopark/device-access/route-0952b44bda5bfb6d.js"
195
+ ],
189
196
  "/api/robopark/character-ai/route": [
190
197
  "static/chunks/webpack-5252e5254da079b5.js",
191
198
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
@@ -200,12 +207,12 @@
200
207
  "static/chunks/main-app-f2b2a716b0f3924b.js",
201
208
  "static/chunks/app/api/robopark/camera-token/route-0952b44bda5bfb6d.js"
202
209
  ],
203
- "/api/robopark/device-access/route": [
210
+ "/api/robopark/monitor-token/route": [
204
211
  "static/chunks/webpack-5252e5254da079b5.js",
205
212
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
206
213
  "static/chunks/1255-404bb8de49c90395.js",
207
214
  "static/chunks/main-app-f2b2a716b0f3924b.js",
208
- "static/chunks/app/api/robopark/device-access/route-0952b44bda5bfb6d.js"
215
+ "static/chunks/app/api/robopark/monitor-token/route-0952b44bda5bfb6d.js"
209
216
  ],
210
217
  "/api/robopark/live-rooms/route": [
211
218
  "static/chunks/webpack-5252e5254da079b5.js",
@@ -214,12 +221,12 @@
214
221
  "static/chunks/main-app-f2b2a716b0f3924b.js",
215
222
  "static/chunks/app/api/robopark/live-rooms/route-0952b44bda5bfb6d.js"
216
223
  ],
217
- "/api/robopark/monitor-token/route": [
224
+ "/api/robopark/robots/route": [
218
225
  "static/chunks/webpack-5252e5254da079b5.js",
219
226
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
220
227
  "static/chunks/1255-404bb8de49c90395.js",
221
228
  "static/chunks/main-app-f2b2a716b0f3924b.js",
222
- "static/chunks/app/api/robopark/monitor-token/route-0952b44bda5bfb6d.js"
229
+ "static/chunks/app/api/robopark/robots/route-0952b44bda5bfb6d.js"
223
230
  ],
224
231
  "/api/robopark/servers/[serverId]/metrics/route": [
225
232
  "static/chunks/webpack-5252e5254da079b5.js",
@@ -228,12 +235,12 @@
228
235
  "static/chunks/main-app-f2b2a716b0f3924b.js",
229
236
  "static/chunks/app/api/robopark/servers/[serverId]/metrics/route-0952b44bda5bfb6d.js"
230
237
  ],
231
- "/api/robopark/robots/route": [
238
+ "/api/robopark/servers/route": [
232
239
  "static/chunks/webpack-5252e5254da079b5.js",
233
240
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
234
241
  "static/chunks/1255-404bb8de49c90395.js",
235
242
  "static/chunks/main-app-f2b2a716b0f3924b.js",
236
- "static/chunks/app/api/robopark/robots/route-0952b44bda5bfb6d.js"
243
+ "static/chunks/app/api/robopark/servers/route-0952b44bda5bfb6d.js"
237
244
  ],
238
245
  "/api/robopark/servers/[serverId]/route": [
239
246
  "static/chunks/webpack-5252e5254da079b5.js",
@@ -242,13 +249,6 @@
242
249
  "static/chunks/main-app-f2b2a716b0f3924b.js",
243
250
  "static/chunks/app/api/robopark/servers/[serverId]/route-0952b44bda5bfb6d.js"
244
251
  ],
245
- "/api/robopark/servers/route": [
246
- "static/chunks/webpack-5252e5254da079b5.js",
247
- "static/chunks/4bd1b696-f785427dddbba9fb.js",
248
- "static/chunks/1255-404bb8de49c90395.js",
249
- "static/chunks/main-app-f2b2a716b0f3924b.js",
250
- "static/chunks/app/api/robopark/servers/route-0952b44bda5bfb6d.js"
251
- ],
252
252
  "/api/robopark/sessions/route": [
253
253
  "static/chunks/webpack-5252e5254da079b5.js",
254
254
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
@@ -256,19 +256,19 @@
256
256
  "static/chunks/main-app-f2b2a716b0f3924b.js",
257
257
  "static/chunks/app/api/robopark/sessions/route-0952b44bda5bfb6d.js"
258
258
  ],
259
- "/api/robopark/robots/[robotId]/voice-engine/route": [
259
+ "/api/robovoice/robots/[robotId]/media-health/route": [
260
260
  "static/chunks/webpack-5252e5254da079b5.js",
261
261
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
262
262
  "static/chunks/1255-404bb8de49c90395.js",
263
263
  "static/chunks/main-app-f2b2a716b0f3924b.js",
264
- "static/chunks/app/api/robopark/robots/[robotId]/voice-engine/route-0952b44bda5bfb6d.js"
264
+ "static/chunks/app/api/robovoice/robots/[robotId]/media-health/route-0952b44bda5bfb6d.js"
265
265
  ],
266
- "/api/robovoice/robots/[robotId]/media-health/route": [
266
+ "/api/robopark/robots/[robotId]/voice-engine/route": [
267
267
  "static/chunks/webpack-5252e5254da079b5.js",
268
268
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
269
269
  "static/chunks/1255-404bb8de49c90395.js",
270
270
  "static/chunks/main-app-f2b2a716b0f3924b.js",
271
- "static/chunks/app/api/robovoice/robots/[robotId]/media-health/route-0952b44bda5bfb6d.js"
271
+ "static/chunks/app/api/robopark/robots/[robotId]/voice-engine/route-0952b44bda5bfb6d.js"
272
272
  ],
273
273
  "/api/robopark/vision-caption/route": [
274
274
  "static/chunks/webpack-5252e5254da079b5.js",
@@ -284,13 +284,6 @@
284
284
  "static/chunks/main-app-f2b2a716b0f3924b.js",
285
285
  "static/chunks/app/api/settings/route-0952b44bda5bfb6d.js"
286
286
  ],
287
- "/api/robopark/transcripts/route": [
288
- "static/chunks/webpack-5252e5254da079b5.js",
289
- "static/chunks/4bd1b696-f785427dddbba9fb.js",
290
- "static/chunks/1255-404bb8de49c90395.js",
291
- "static/chunks/main-app-f2b2a716b0f3924b.js",
292
- "static/chunks/app/api/robopark/transcripts/route-0952b44bda5bfb6d.js"
293
- ],
294
287
  "/api/turn-credentials/route": [
295
288
  "static/chunks/webpack-5252e5254da079b5.js",
296
289
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
@@ -298,12 +291,12 @@
298
291
  "static/chunks/main-app-f2b2a716b0f3924b.js",
299
292
  "static/chunks/app/api/turn-credentials/route-0952b44bda5bfb6d.js"
300
293
  ],
301
- "/camera-grid/route": [
294
+ "/api/robopark/transcripts/route": [
302
295
  "static/chunks/webpack-5252e5254da079b5.js",
303
296
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
304
297
  "static/chunks/1255-404bb8de49c90395.js",
305
298
  "static/chunks/main-app-f2b2a716b0f3924b.js",
306
- "static/chunks/app/camera-grid/route-0952b44bda5bfb6d.js"
299
+ "static/chunks/app/api/robopark/transcripts/route-0952b44bda5bfb6d.js"
307
300
  ],
308
301
  "/api/wake/route": [
309
302
  "static/chunks/webpack-5252e5254da079b5.js",
@@ -319,6 +312,13 @@
319
312
  "static/chunks/main-app-f2b2a716b0f3924b.js",
320
313
  "static/chunks/app/robopark/[...path]/route-0952b44bda5bfb6d.js"
321
314
  ],
315
+ "/camera-grid/route": [
316
+ "static/chunks/webpack-5252e5254da079b5.js",
317
+ "static/chunks/4bd1b696-f785427dddbba9fb.js",
318
+ "static/chunks/1255-404bb8de49c90395.js",
319
+ "static/chunks/main-app-f2b2a716b0f3924b.js",
320
+ "static/chunks/app/camera-grid/route-0952b44bda5bfb6d.js"
321
+ ],
322
322
  "/fed/media/robots/[robotId]/video_feed/route": [
323
323
  "static/chunks/webpack-5252e5254da079b5.js",
324
324
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
@@ -340,19 +340,19 @@
340
340
  "static/chunks/main-app-f2b2a716b0f3924b.js",
341
341
  "static/chunks/app/robopark/api/robots/[robotId]/stream/route-0952b44bda5bfb6d.js"
342
342
  ],
343
- "/tailnet/route": [
343
+ "/vendor/livekit-client.umd.js/route": [
344
344
  "static/chunks/webpack-5252e5254da079b5.js",
345
345
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
346
346
  "static/chunks/1255-404bb8de49c90395.js",
347
347
  "static/chunks/main-app-f2b2a716b0f3924b.js",
348
- "static/chunks/app/tailnet/route-0952b44bda5bfb6d.js"
348
+ "static/chunks/app/vendor/livekit-client.umd.js/route-0952b44bda5bfb6d.js"
349
349
  ],
350
- "/vendor/livekit-client.umd.js/route": [
350
+ "/tailnet/route": [
351
351
  "static/chunks/webpack-5252e5254da079b5.js",
352
352
  "static/chunks/4bd1b696-f785427dddbba9fb.js",
353
353
  "static/chunks/1255-404bb8de49c90395.js",
354
354
  "static/chunks/main-app-f2b2a716b0f3924b.js",
355
- "static/chunks/app/vendor/livekit-client.umd.js/route-0952b44bda5bfb6d.js"
355
+ "static/chunks/app/tailnet/route-0952b44bda5bfb6d.js"
356
356
  ],
357
357
  "/(app)/opengraph-image-xg4ifa/route": [
358
358
  "static/chunks/webpack-5252e5254da079b5.js",
@@ -2,53 +2,53 @@
2
2
  "/api/device-character/route": "/api/device-character",
3
3
  "/api/download-piper-model/route": "/api/download-piper-model",
4
4
  "/api/prewarm/route": "/api/prewarm",
5
+ "/api/models/route": "/api/models",
5
6
  "/api/prompt/route": "/api/prompt",
6
7
  "/api/reload-tools/route": "/api/reload-tools",
7
- "/api/models/route": "/api/models",
8
8
  "/api/robopark/devices/[deviceId]/control/route": "/api/robopark/devices/[deviceId]/control",
9
9
  "/api/robopark/robots/[robotId]/operations/route": "/api/robopark/robots/[robotId]/operations",
10
10
  "/api/robopark/sessions/[sessionId]/end/route": "/api/robopark/sessions/[sessionId]/end",
11
11
  "/api/robopark/transcripts/[sessionId]/route": "/api/robopark/transcripts/[sessionId]",
12
- "/api/setup/complete/route": "/api/setup/complete",
13
12
  "/api/setup/status/route": "/api/setup/status",
14
13
  "/api/setup/test-groq/route": "/api/setup/test-groq",
15
14
  "/api/setup/test-hass/route": "/api/setup/test-hass",
15
+ "/api/setup/complete/route": "/api/setup/complete",
16
16
  "/api/setup/test-n8n/route": "/api/setup/test-n8n",
17
17
  "/api/setup/test-ollama/route": "/api/setup/test-ollama",
18
18
  "/api/test-tts/route": "/api/test-tts",
19
- "/api/voices/route": "/api/voices",
20
19
  "/api/wake-word/models/route": "/api/wake-word/models",
21
- "/api/wake-word/status/route": "/api/wake-word/status",
20
+ "/api/voices/route": "/api/voices",
22
21
  "/api/wake-word/upload/route": "/api/wake-word/upload",
23
- "/favicon.ico/route": "/favicon.ico",
24
22
  "/_not-found/page": "/_not-found",
23
+ "/api/wake-word/status/route": "/api/wake-word/status",
24
+ "/favicon.ico/route": "/favicon.ico",
25
25
  "/api/connection-details/route": "/api/connection-details",
26
26
  "/api/kiosk-hardware/route": "/api/kiosk-hardware",
27
27
  "/api/model-status/route": "/api/model-status",
28
+ "/api/robopark/device-access/route": "/api/robopark/device-access",
28
29
  "/api/robopark/character-ai/route": "/api/robopark/character-ai",
29
30
  "/api/robopark/camera-token/route": "/api/robopark/camera-token",
30
- "/api/robopark/device-access/route": "/api/robopark/device-access",
31
- "/api/robopark/live-rooms/route": "/api/robopark/live-rooms",
32
31
  "/api/robopark/monitor-token/route": "/api/robopark/monitor-token",
33
- "/api/robopark/servers/[serverId]/metrics/route": "/api/robopark/servers/[serverId]/metrics",
32
+ "/api/robopark/live-rooms/route": "/api/robopark/live-rooms",
34
33
  "/api/robopark/robots/route": "/api/robopark/robots",
35
- "/api/robopark/servers/[serverId]/route": "/api/robopark/servers/[serverId]",
34
+ "/api/robopark/servers/[serverId]/metrics/route": "/api/robopark/servers/[serverId]/metrics",
36
35
  "/api/robopark/servers/route": "/api/robopark/servers",
36
+ "/api/robopark/servers/[serverId]/route": "/api/robopark/servers/[serverId]",
37
37
  "/api/robopark/sessions/route": "/api/robopark/sessions",
38
- "/api/robopark/robots/[robotId]/voice-engine/route": "/api/robopark/robots/[robotId]/voice-engine",
39
38
  "/api/robovoice/robots/[robotId]/media-health/route": "/api/robovoice/robots/[robotId]/media-health",
39
+ "/api/robopark/robots/[robotId]/voice-engine/route": "/api/robopark/robots/[robotId]/voice-engine",
40
40
  "/api/robopark/vision-caption/route": "/api/robopark/vision-caption",
41
41
  "/api/settings/route": "/api/settings",
42
- "/api/robopark/transcripts/route": "/api/robopark/transcripts",
43
42
  "/api/turn-credentials/route": "/api/turn-credentials",
44
- "/camera-grid/route": "/camera-grid",
43
+ "/api/robopark/transcripts/route": "/api/robopark/transcripts",
45
44
  "/api/wake/route": "/api/wake",
46
45
  "/robopark/[...path]/route": "/robopark/[...path]",
46
+ "/camera-grid/route": "/camera-grid",
47
47
  "/fed/media/robots/[robotId]/video_feed/route": "/fed/media/robots/[robotId]/video_feed",
48
48
  "/fed/[...path]/route": "/fed/[...path]",
49
49
  "/robopark/api/robots/[robotId]/stream/route": "/robopark/api/robots/[robotId]/stream",
50
- "/tailnet/route": "/tailnet",
51
50
  "/vendor/livekit-client.umd.js/route": "/vendor/livekit-client.umd.js",
51
+ "/tailnet/route": "/tailnet",
52
52
  "/(app)/opengraph-image-xg4ifa/route": "/opengraph-image-xg4ifa",
53
53
  "/robopark/api/[...path]/route": "/robopark/api/[...path]",
54
54
  "/robopark/page": "/robopark",
@@ -5,8 +5,8 @@
5
5
  "devFiles": [],
6
6
  "ampDevFiles": [],
7
7
  "lowPriorityFiles": [
8
- "static/H5av7rSb0E_elgbludulF/_buildManifest.js",
9
- "static/H5av7rSb0E_elgbludulF/_ssgManifest.js"
8
+ "static/tDI_bBJ7vZjqqxcXg1GZn/_buildManifest.js",
9
+ "static/tDI_bBJ7vZjqqxcXg1GZn/_ssgManifest.js"
10
10
  ],
11
11
  "rootMainFiles": [
12
12
  "static/chunks/webpack-5252e5254da079b5.js",
@@ -1,4 +1,4 @@
1
- (()=>{var a={};a.id=7204,a.ids=[7204],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},36228:(a,b,c)=>{"use strict";c.d(b,{w:()=>i});var d=c(73024);let e=process.env.ROBOPARK_CONTROL_URL||"http://host.docker.internal:47913",f=process.env.ROBOPARK_SCHEDULER_URL||"http://host.docker.internal:8080",g=function(){if(process.env.ROBOPARK_CONTROL_TOKEN)return process.env.ROBOPARK_CONTROL_TOKEN.trim();let a=process.env.ROBOPARK_CONTROL_TOKEN_FILE;if(!a)return"";try{return(0,d.readFileSync)(a,"utf8").trim()}catch{return""}}(),h=new Set(["connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailers","transfer-encoding","upgrade","content-length"]);async function i(a,b){let c,d=new URL(a.url),i=d.searchParams.get("token");d.searchParams.delete("token");let j=b.startsWith("/robopark/"),k=new URL((j?b.slice(9):b)+d.search,j?f:e);!g&&i&&k.searchParams.set("token",i);let l=new Headers;for(let b of["accept","content-type","if-match","if-none-match"]){let c=a.headers.get(b);c&&l.set(b,c)}let m=a.headers.get("authorization");m&&l.set("authorization",m),g&&l.set("authorization","Bearer "+g);let n=a.method.toUpperCase(),o="GET"===n||"HEAD"===n?void 0:await a.arrayBuffer(),p=new AbortController,q=setTimeout(()=>p.abort(),7e3);try{c=await fetch(k,{method:n,headers:l,body:o&&o.byteLength?o:void 0,cache:"no-store",redirect:"manual",signal:p.signal})}catch(b){clearTimeout(q);let a=b instanceof Error?b.message:String(b);return Response.json({ok:!1,error:"RoboPark control upstream unavailable",detail:a,upstream:k.origin},{status:502,headers:{"cache-control":"no-store"}})}clearTimeout(q);let r=new Headers;return c.headers.forEach((a,b)=>{h.has(b.toLowerCase())||r.set(b,a)}),r.set("cache-control","no-store"),r.set("x-robopark-control-source",k.origin),new Response(c.body,{status:c.status,statusText:c.statusText,headers:r})}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},93133:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>K,patchFetch:()=>J,routeModule:()=>F,serverHooks:()=>I,workAsyncStorage:()=>G,workUnitAsyncStorage:()=>H});var d={};c.r(d),c.d(d,{GET:()=>D,POST:()=>E,dynamic:()=>z});var e=c(95736),f=c(9117),g=c(4044),h=c(39326),i=c(32324),j=c(261),k=c(54290),l=c(85328),m=c(38928),n=c(46595),o=c(3421),p=c(17679),q=c(41681),r=c(63446),s=c(86439),t=c(51356),u=c(51455),v=c(76760),w=c(10641),x=c(99435),y=c(36228);let z="force-dynamic",A=(process.env.INFINICODE_MESH_URL||process.env.ROBOPARK_HUB_URL||process.env.FEDERATION_URL||"").replace(/\/+$/,"");async function B(a,b){let c=function(a,b){if(!A)return null;let c=new URL(`/fed/${b}${a.nextUrl.search}`,`${A}/`);return c.origin===a.nextUrl.origin?null:c}(a,b);if(!c)return null;try{let b,d=new Headers,e=a.headers.get("authorization");e&&d.set("authorization",e);let f=a.headers.get("content-type");f&&d.set("content-type",f);let g=new AbortController,h=setTimeout(()=>g.abort(),12e3);try{b=await fetch(c,{method:a.method,headers:d,body:"GET"===a.method||"HEAD"===a.method?void 0:await a.arrayBuffer(),cache:"no-store",signal:g.signal})}finally{clearTimeout(h)}let i=new Headers;return i.set("Content-Type",b.headers.get("content-type")||"application/json"),i.set("Cache-Control","no-store"),new Response(b.body,{status:b.status,headers:i})}catch{return null}}async function C(){try{let a=await (0,u.readFile)((0,v.join)(process.cwd(),"public","robopark-control.html"),"utf8");return a.match(/<meta name="robopark-ui-build" content="([^"]+)">/)?.[1]||"robovoice-control"}catch{return"robovoice-control"}}async function D(a,b){let c=(await b.params).path.join("/");if("ui-build"===c)return w.NextResponse.json({build:await C(),source:"robovoice-control"});if("network-info"===c){let b=a.headers.get("x-forwarded-proto")?.split(",")[0].trim(),c=a.headers.get("x-forwarded-host")?.split(",")[0].trim(),d=b||a.nextUrl.protocol.replace(":","")||"https",e=c?`${d}://${c}`:a.nextUrl.origin,f=process.env.ROBOPARK_LAN_URL||"",g=!f||/:\/\/0\.0\.0\.0(?::|\/|$)/.test(f)?e:f,h=c?.endsWith(".ts.net")?e:process.env.ROBOPARK_TAILSCALE_URL||"";return w.NextResponse.json({lan:g,tail:h,tail_dns:h||process.env.ROBOPARK_TAILSCALE_DNS||"",control_url:e,source:"robovoice-control"})}let d=await B(a,c);if(d)return d;let e=await (0,y.w)(a,`/fed/${c}`);if(502!==e.status)return e;if("stream"===c){let a,b=new TextEncoder;return new Response(new ReadableStream({start(c){c.enqueue(b.encode(": robovoice standalone stream ready\n\n")),a=setInterval(()=>{try{c.enqueue(b.encode(`event: heartbeat
1
+ (()=>{var a={};a.id=7204,a.ids=[7204],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},36228:(a,b,c)=>{"use strict";c.d(b,{w:()=>i});var d=c(73024);let e=process.env.ROBOPARK_CONTROL_URL||"http://host.docker.internal:47913",f=process.env.ROBOPARK_SCHEDULER_URL||"http://host.docker.internal:8080",g=function(){if(process.env.ROBOPARK_CONTROL_TOKEN)return process.env.ROBOPARK_CONTROL_TOKEN.trim();let a=process.env.ROBOPARK_CONTROL_TOKEN_FILE;if(!a)return"";try{return(0,d.readFileSync)(a,"utf8").trim()}catch{return""}}(),h=new Set(["connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailers","transfer-encoding","upgrade","content-length"]);async function i(a,b){let c,d=new URL(a.url),i=d.searchParams.get("token");d.searchParams.delete("token");let j=b.startsWith("/robopark/"),k=new URL((j?b.slice(9):b)+d.search,j?f:e);!g&&i&&k.searchParams.set("token",i);let l=new Headers;for(let b of["accept","content-type","if-match","if-none-match"]){let c=a.headers.get(b);c&&l.set(b,c)}let m=a.headers.get("authorization");m&&l.set("authorization",m),g&&l.set("authorization","Bearer "+g);let n=a.method.toUpperCase(),o="GET"===n||"HEAD"===n?void 0:await a.arrayBuffer(),p=new AbortController,q=setTimeout(()=>p.abort(),7e3);try{c=await fetch(k,{method:n,headers:l,body:o&&o.byteLength?o:void 0,cache:"no-store",redirect:"manual",signal:p.signal})}catch(b){clearTimeout(q);let a=b instanceof Error?b.message:String(b);return Response.json({ok:!1,error:"RoboPark control upstream unavailable",detail:a,upstream:k.origin},{status:502,headers:{"cache-control":"no-store"}})}clearTimeout(q);let r=new Headers;return c.headers.forEach((a,b)=>{h.has(b.toLowerCase())||r.set(b,a)}),r.set("cache-control","no-store"),r.set("x-robopark-control-source",k.origin),new Response(c.body,{status:c.status,statusText:c.statusText,headers:r})}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},93133:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>M,patchFetch:()=>L,routeModule:()=>H,serverHooks:()=>K,workAsyncStorage:()=>I,workUnitAsyncStorage:()=>J});var d={};c.r(d),c.d(d,{GET:()=>F,POST:()=>G,dynamic:()=>z});var e=c(95736),f=c(9117),g=c(4044),h=c(39326),i=c(32324),j=c(261),k=c(54290),l=c(85328),m=c(38928),n=c(46595),o=c(3421),p=c(17679),q=c(41681),r=c(63446),s=c(86439),t=c(51356),u=c(51455),v=c(76760),w=c(10641),x=c(99435),y=c(36228);let z="force-dynamic",A=(process.env.INFINICODE_MESH_URL||process.env.ROBOPARK_HUB_URL||process.env.FEDERATION_URL||"").replace(/\/+$/,""),B=(process.env.ROBOPARK_SCHEDULER_URL||"http://host.docker.internal:8080").replace(/\/+$/,"");async function C(){try{return(await fetch(`${B}/api/settings`,{cache:"no-store",signal:AbortSignal.timeout(4e3)})).ok}catch{return!1}}async function D(a,b){let c=function(a,b){if(!A)return null;let c=new URL(`/fed/${b}${a.nextUrl.search}`,`${A}/`);return c.origin===a.nextUrl.origin?null:c}(a,b);if(!c)return null;try{let b,d=new Headers,e=a.headers.get("authorization");e&&d.set("authorization",e);let f=a.headers.get("content-type");f&&d.set("content-type",f);let g=new AbortController,h=setTimeout(()=>g.abort(),12e3);try{b=await fetch(c,{method:a.method,headers:d,body:"GET"===a.method||"HEAD"===a.method?void 0:await a.arrayBuffer(),cache:"no-store",signal:g.signal})}finally{clearTimeout(h)}let i=new Headers;return i.set("Content-Type",b.headers.get("content-type")||"application/json"),i.set("Cache-Control","no-store"),new Response(b.body,{status:b.status,headers:i})}catch{return null}}async function E(){try{let a=await (0,u.readFile)((0,v.join)(process.cwd(),"public","robopark-control.html"),"utf8");return a.match(/<meta name="robopark-ui-build" content="([^"]+)">/)?.[1]||"robovoice-control"}catch{return"robovoice-control"}}async function F(a,b){let c=(await b.params).path.join("/");if("ui-build"===c)return w.NextResponse.json({build:await E(),source:"robovoice-control"});if("network-info"===c){let b=a.headers.get("x-forwarded-proto")?.split(",")[0].trim(),c=a.headers.get("x-forwarded-host")?.split(",")[0].trim(),d=b||a.nextUrl.protocol.replace(":","")||"https",e=c?`${d}://${c}`:a.nextUrl.origin,f=process.env.ROBOPARK_LAN_URL||"",g=!f||/:\/\/0\.0\.0\.0(?::|\/|$)/.test(f)?e:f,h=c?.endsWith(".ts.net")?e:process.env.ROBOPARK_TAILSCALE_URL||"";return w.NextResponse.json({lan:g,tail:h,tail_dns:h||process.env.ROBOPARK_TAILSCALE_DNS||"",control_url:e,source:"robovoice-control"})}let d=await D(a,c);if(d)return d;let e=await (0,y.w)(a,`/fed/${c}`);if(502!==e.status)return e;if("stream"===c){let a,b=new TextEncoder;return new Response(new ReadableStream({start(c){c.enqueue(b.encode(": robovoice standalone stream ready\n\n")),a=setInterval(()=>{try{c.enqueue(b.encode(`event: heartbeat
2
2
  data: ${JSON.stringify({t:"heartbeat",n:"robovoice-control",ts:Date.now(),d:{standalone:!0}})}
3
3
 
4
- `))}catch{a&&clearInterval(a)}},15e3)},cancel(){a&&clearInterval(a)}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"}})}if("status"===c){let a=await (0,x.U)(),b=Date.now();return w.NextResponse.json({self:{nodeId:"robovoice-control",displayName:"RoboVoice Control Center",role:"hub",version:process.env.npm_package_version||"development",platform:process.platform,arch:process.arch,capabilities:["voice","dashboard"],workers:[],commands:[],providers:["robovoice","elevenlabs"],startedAt:b},role:{role:"hub",site:process.env.ROBOPARK_SITE||"Local control"},nodes:[],hardware:null,runs:[],agents:[],activity:[],control:{readonly:!0,schedulerLinked:!1,registrySource:a.registry_source},ts:b})}return w.NextResponse.json({ok:!1,disabled:!0,error:`Mesh endpoint /fed/${c} requires INFINICODE_MESH_URL`},{status:503})}async function E(a,b){let c=(await b.params).path.join("/"),d=await B(a,c);if(d)return d;let e=await (0,y.w)(a,`/fed/${c}`);return 502!==e.status?e:w.NextResponse.json({ok:!1,readonly:!0,error:"No Infinicode mesh upstream is configured"},{status:503})}let F=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/fed/[...path]/route",pathname:"/fed/[...path]",filename:"route",bundlePath:"app/fed/[...path]/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"C:\\Users\\yunge\\AppData\\Local\\Temp\\rp-uibuild\\frontend\\app\\fed\\[...path]\\route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:G,workUnitAsyncStorage:H,serverHooks:I}=F;function J(){return(0,g.patchFetch)({workAsyncStorage:G,workUnitAsyncStorage:H})}async function K(a,b,c){var d;let e="/fed/[...path]/route";"/index"===e&&(e="/");let g=await F.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:y,routerServerContext:z,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,resolvedPathname:C}=g,D=(0,j.normalizeAppPath)(e),E=!!(y.dynamicRoutes[D]||y.routes[C]);if(E&&!x){let a=!!y.routes[C],b=y.dynamicRoutes[D];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!E||F.isDev||x||(G="/index"===(G=C)?"/":G);let H=!0===F.isDev||!E,I=E&&!H,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:v,prerenderManifest:y,renderOpts:{experimental:{cacheComponents:!!w.experimental.cacheComponents,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:H,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>F.onRequestError(a,b,d,z)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>F.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&A&&B&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!E)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await F.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})},z),b}},l=await F.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,responseGenerator:k,waitUntil:c.waitUntil});if(!E)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&E||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await F.onRequestError(a,b,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})}),E)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},96487:()=>{},99435:(a,b,c)=>{"use strict";c.d(b,{U:()=>l});var d=c(51455),e=c(76760);let f=(process.env.WEBHOOK_URL||"http://agent:8889").replace(/\/+$/,""),g=null,h=0,i=null;function j(a,b){return{...a,characters:Array.isArray(a.characters)?a.characters:[],device_registry:a.device_registry&&"object"==typeof a.device_registry?a.device_registry:{},registry_source:b}}async function k(){for(let a of[process.env.CAAL_SETTINGS_PATH,process.env.ROBOVOICE_SETTINGS_PATH,(0,e.resolve)(process.cwd(),"..","settings.json"),(0,e.resolve)(process.cwd(),"settings.json")].filter(a=>!!a))try{let b=JSON.parse(await (0,d.readFile)(a,"utf8"));return j(b,"persisted-snapshot")}catch{}return j({},"empty")}async function l(){if(g&&Date.now()<h)return g;if(i)return i;i=(async()=>{try{let a=await fetch(`${f}/settings`,{cache:"no-store",signal:AbortSignal.timeout(1500)});if(!a.ok)throw Error(`Settings registry returned ${a.status}`);let b=await a.json();return g=null,h=0,j(b.settings||b,"live-agent")}catch{return g=await k(),h=Date.now()+15e3,g}})();try{return await i}finally{i=null}}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873,1428,1692],()=>b(b.s=93133));module.exports=c})();
4
+ `))}catch{a&&clearInterval(a)}},15e3)},cancel(){a&&clearInterval(a)}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"}})}if("status"===c){let a=await (0,x.U)(),b=Date.now(),c=await C();return w.NextResponse.json({self:{nodeId:"robovoice-control",displayName:"RoboVoice Control Center",role:"hub",version:process.env.npm_package_version||"development",platform:process.platform,arch:process.arch,capabilities:["voice","dashboard"],workers:[],commands:[],providers:["robovoice","elevenlabs"],startedAt:b},role:{role:"hub",site:process.env.ROBOPARK_SITE||"Local control"},nodes:[],hardware:null,runs:[],agents:[],activity:[],control:{readonly:!c,schedulerLinked:c,registrySource:a.registry_source},ts:b})}return w.NextResponse.json({ok:!1,disabled:!0,error:`Mesh endpoint /fed/${c} requires INFINICODE_MESH_URL`},{status:503})}async function G(a,b){let c=(await b.params).path.join("/"),d=await D(a,c);if(d)return d;let e=await (0,y.w)(a,`/fed/${c}`);return 502!==e.status?e:w.NextResponse.json({ok:!1,readonly:!0,error:"No Infinicode mesh upstream is configured"},{status:503})}let H=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/fed/[...path]/route",pathname:"/fed/[...path]",filename:"route",bundlePath:"app/fed/[...path]/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"C:\\Users\\yunge\\AppData\\Local\\Temp\\rp-uibuild\\frontend\\app\\fed\\[...path]\\route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:I,workUnitAsyncStorage:J,serverHooks:K}=H;function L(){return(0,g.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:J})}async function M(a,b,c){var d;let e="/fed/[...path]/route";"/index"===e&&(e="/");let g=await H.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:y,routerServerContext:z,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,resolvedPathname:C}=g,D=(0,j.normalizeAppPath)(e),E=!!(y.dynamicRoutes[D]||y.routes[C]);if(E&&!x){let a=!!y.routes[C],b=y.dynamicRoutes[D];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let F=null;!E||H.isDev||x||(F="/index"===(F=C)?"/":F);let G=!0===H.isDev||!E,I=E&&!G,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:v,prerenderManifest:y,renderOpts:{experimental:{cacheComponents:!!w.experimental.cacheComponents,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:G,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>H.onRequestError(a,b,d,z)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>H.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&A&&B&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!E)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await H.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})},z),b}},l=await H.handleResponse({req:a,nextConfig:w,cacheKey:F,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,responseGenerator:k,waitUntil:c.waitUntil});if(!E)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&E||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await H.onRequestError(a,b,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})}),E)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},96487:()=>{},99435:(a,b,c)=>{"use strict";c.d(b,{U:()=>l});var d=c(51455),e=c(76760);let f=(process.env.WEBHOOK_URL||"http://agent:8889").replace(/\/+$/,""),g=null,h=0,i=null;function j(a,b){return{...a,characters:Array.isArray(a.characters)?a.characters:[],device_registry:a.device_registry&&"object"==typeof a.device_registry?a.device_registry:{},registry_source:b}}async function k(){for(let a of[process.env.CAAL_SETTINGS_PATH,process.env.ROBOVOICE_SETTINGS_PATH,(0,e.resolve)(process.cwd(),"..","settings.json"),(0,e.resolve)(process.cwd(),"settings.json")].filter(a=>!!a))try{let b=JSON.parse(await (0,d.readFile)(a,"utf8"));return j(b,"persisted-snapshot")}catch{}return j({},"empty")}async function l(){if(g&&Date.now()<h)return g;if(i)return i;i=(async()=>{try{let a=await fetch(`${f}/settings`,{cache:"no-store",signal:AbortSignal.timeout(1500)});if(!a.ok)throw Error(`Settings registry returned ${a.status}`);let b=await a.json();return g=null,h=0,j(b.settings||b,"live-agent")}catch{return g=await k(),h=Date.now()+15e3,g}})();try{return await i}finally{i=null}}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873,1428,1692],()=>b(b.s=93133));module.exports=c})();
@@ -2,53 +2,53 @@
2
2
  "/api/device-character/route": "app/api/device-character/route.js",
3
3
  "/api/download-piper-model/route": "app/api/download-piper-model/route.js",
4
4
  "/api/prewarm/route": "app/api/prewarm/route.js",
5
+ "/api/models/route": "app/api/models/route.js",
5
6
  "/api/prompt/route": "app/api/prompt/route.js",
6
7
  "/api/reload-tools/route": "app/api/reload-tools/route.js",
7
- "/api/models/route": "app/api/models/route.js",
8
8
  "/api/robopark/devices/[deviceId]/control/route": "app/api/robopark/devices/[deviceId]/control/route.js",
9
9
  "/api/robopark/robots/[robotId]/operations/route": "app/api/robopark/robots/[robotId]/operations/route.js",
10
10
  "/api/robopark/sessions/[sessionId]/end/route": "app/api/robopark/sessions/[sessionId]/end/route.js",
11
11
  "/api/robopark/transcripts/[sessionId]/route": "app/api/robopark/transcripts/[sessionId]/route.js",
12
- "/api/setup/complete/route": "app/api/setup/complete/route.js",
13
12
  "/api/setup/status/route": "app/api/setup/status/route.js",
14
13
  "/api/setup/test-groq/route": "app/api/setup/test-groq/route.js",
15
14
  "/api/setup/test-hass/route": "app/api/setup/test-hass/route.js",
15
+ "/api/setup/complete/route": "app/api/setup/complete/route.js",
16
16
  "/api/setup/test-n8n/route": "app/api/setup/test-n8n/route.js",
17
17
  "/api/setup/test-ollama/route": "app/api/setup/test-ollama/route.js",
18
18
  "/api/test-tts/route": "app/api/test-tts/route.js",
19
- "/api/voices/route": "app/api/voices/route.js",
20
19
  "/api/wake-word/models/route": "app/api/wake-word/models/route.js",
21
- "/api/wake-word/status/route": "app/api/wake-word/status/route.js",
20
+ "/api/voices/route": "app/api/voices/route.js",
22
21
  "/api/wake-word/upload/route": "app/api/wake-word/upload/route.js",
23
- "/favicon.ico/route": "app/favicon.ico/route.js",
24
22
  "/_not-found/page": "app/_not-found/page.js",
23
+ "/api/wake-word/status/route": "app/api/wake-word/status/route.js",
24
+ "/favicon.ico/route": "app/favicon.ico/route.js",
25
25
  "/api/connection-details/route": "app/api/connection-details/route.js",
26
26
  "/api/kiosk-hardware/route": "app/api/kiosk-hardware/route.js",
27
27
  "/api/model-status/route": "app/api/model-status/route.js",
28
+ "/api/robopark/device-access/route": "app/api/robopark/device-access/route.js",
28
29
  "/api/robopark/character-ai/route": "app/api/robopark/character-ai/route.js",
29
30
  "/api/robopark/camera-token/route": "app/api/robopark/camera-token/route.js",
30
- "/api/robopark/device-access/route": "app/api/robopark/device-access/route.js",
31
- "/api/robopark/live-rooms/route": "app/api/robopark/live-rooms/route.js",
32
31
  "/api/robopark/monitor-token/route": "app/api/robopark/monitor-token/route.js",
33
- "/api/robopark/servers/[serverId]/metrics/route": "app/api/robopark/servers/[serverId]/metrics/route.js",
32
+ "/api/robopark/live-rooms/route": "app/api/robopark/live-rooms/route.js",
34
33
  "/api/robopark/robots/route": "app/api/robopark/robots/route.js",
35
- "/api/robopark/servers/[serverId]/route": "app/api/robopark/servers/[serverId]/route.js",
34
+ "/api/robopark/servers/[serverId]/metrics/route": "app/api/robopark/servers/[serverId]/metrics/route.js",
36
35
  "/api/robopark/servers/route": "app/api/robopark/servers/route.js",
36
+ "/api/robopark/servers/[serverId]/route": "app/api/robopark/servers/[serverId]/route.js",
37
37
  "/api/robopark/sessions/route": "app/api/robopark/sessions/route.js",
38
- "/api/robopark/robots/[robotId]/voice-engine/route": "app/api/robopark/robots/[robotId]/voice-engine/route.js",
39
38
  "/api/robovoice/robots/[robotId]/media-health/route": "app/api/robovoice/robots/[robotId]/media-health/route.js",
39
+ "/api/robopark/robots/[robotId]/voice-engine/route": "app/api/robopark/robots/[robotId]/voice-engine/route.js",
40
40
  "/api/robopark/vision-caption/route": "app/api/robopark/vision-caption/route.js",
41
41
  "/api/settings/route": "app/api/settings/route.js",
42
- "/api/robopark/transcripts/route": "app/api/robopark/transcripts/route.js",
43
42
  "/api/turn-credentials/route": "app/api/turn-credentials/route.js",
44
- "/camera-grid/route": "app/camera-grid/route.js",
43
+ "/api/robopark/transcripts/route": "app/api/robopark/transcripts/route.js",
45
44
  "/api/wake/route": "app/api/wake/route.js",
46
45
  "/robopark/[...path]/route": "app/robopark/[...path]/route.js",
46
+ "/camera-grid/route": "app/camera-grid/route.js",
47
47
  "/fed/media/robots/[robotId]/video_feed/route": "app/fed/media/robots/[robotId]/video_feed/route.js",
48
48
  "/fed/[...path]/route": "app/fed/[...path]/route.js",
49
49
  "/robopark/api/robots/[robotId]/stream/route": "app/robopark/api/robots/[robotId]/stream/route.js",
50
- "/tailnet/route": "app/tailnet/route.js",
51
50
  "/vendor/livekit-client.umd.js/route": "app/vendor/livekit-client.umd.js/route.js",
51
+ "/tailnet/route": "app/tailnet/route.js",
52
52
  "/(app)/opengraph-image-xg4ifa/route": "app/(app)/opengraph-image-xg4ifa/route.js",
53
53
  "/robopark/api/[...path]/route": "app/robopark/api/[...path]/route.js",
54
54
  "/robopark/page": "app/robopark/page.js",
@@ -3,8 +3,8 @@
3
3
  "functions": {
4
4
  "/api/kiosk-hardware": {},
5
5
  "/api/robovoice/robots/[robotId]/media-health": {},
6
- "/robopark/[...path]": {},
7
6
  "/fed/media/robots/[robotId]/video_feed": {},
7
+ "/robopark/[...path]": {},
8
8
  "/robopark/api/robots/[robotId]/stream": {}
9
9
  }
10
10
  }
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-5252e5254da079b5.js" defer=""></script><script src="/_next/static/chunks/framework-e60c938074ff7136.js" defer=""></script><script src="/_next/static/chunks/main-9e24e8708ff075fc.js" defer=""></script><script src="/_next/static/chunks/pages/_app-131c90850aef965b.js" defer=""></script><script src="/_next/static/chunks/pages/_error-e4ba546eb376bdf4.js" defer=""></script><script src="/_next/static/H5av7rSb0E_elgbludulF/_buildManifest.js" defer=""></script><script src="/_next/static/H5av7rSb0E_elgbludulF/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"H5av7rSb0E_elgbludulF","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-5252e5254da079b5.js" defer=""></script><script src="/_next/static/chunks/framework-e60c938074ff7136.js" defer=""></script><script src="/_next/static/chunks/main-9e24e8708ff075fc.js" defer=""></script><script src="/_next/static/chunks/pages/_app-131c90850aef965b.js" defer=""></script><script src="/_next/static/chunks/pages/_error-e4ba546eb376bdf4.js" defer=""></script><script src="/_next/static/tDI_bBJ7vZjqqxcXg1GZn/_buildManifest.js" defer=""></script><script src="/_next/static/tDI_bBJ7vZjqqxcXg1GZn/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"tDI_bBJ7vZjqqxcXg1GZn","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1,5 +1,5 @@
1
1
  {
2
- "/_error": "pages/_error.js",
3
2
  "/_app": "pages/_app.js",
3
+ "/_error": "pages/_error.js",
4
4
  "/_document": "pages/_document.js"
5
5
  }