robopark 3.3.35 → 3.3.37
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/dist/robopark/add-robot.js +2 -2
- package/dist/robopark/add-robot.js.map +1 -1
- package/dist/robopark/kiosk-browser.js +145 -0
- package/dist/robopark/kiosk-browser.js.map +1 -0
- package/dist/robopark/start.js +295 -0
- package/dist/robopark/start.js.map +1 -0
- package/dist/robopark/voice-list.js +23 -12
- package/dist/robopark/voice-list.js.map +1 -1
- package/dist/robopark-cli.js +21 -0
- package/dist/robopark-cli.js.map +1 -1
- package/package.json +7 -3
- package/scheduler/main.py +150 -30
- package/scheduler/static/voice-join.html +1 -1
- package/ui/standalone/.next/BUILD_ID +1 -1
- package/ui/standalone/.next/app-build-manifest.json +63 -63
- package/ui/standalone/.next/app-path-routes-manifest.json +18 -18
- package/ui/standalone/.next/build-manifest.json +2 -2
- package/ui/standalone/.next/server/app/api/robovoice/robots/[robotId]/media-health/route.js +1 -1
- package/ui/standalone/.next/server/app/fed/[...path]/route.js +2 -2
- package/ui/standalone/.next/server/app/fed/media/robots/[robotId]/video_feed/route.js +1 -1
- package/ui/standalone/.next/server/app/robopark/[...path]/route.js +1 -1
- package/ui/standalone/.next/server/app/robopark/api/[...path]/route.js +1 -1
- package/ui/standalone/.next/server/app/robopark/api/robots/[robotId]/stream/route.js +1 -1
- package/ui/standalone/.next/server/app-paths-manifest.json +18 -18
- package/ui/standalone/.next/server/functions-config-manifest.json +1 -1
- package/ui/standalone/.next/server/pages/500.html +1 -1
- package/ui/standalone/.next/server/pages-manifest.json +1 -1
- package/ui/standalone/public/tailnet/index.html +31 -1
- package/scheduler/__pycache__/main.cpython-312.pyc +0 -0
- package/ui/standalone/.next/server/chunks/5123.js +0 -11
- package/ui/standalone/.next/server/chunks/7661.js +0 -11
- package/ui/standalone/.next/static/Xg-e8h70WpdFcsZ2vcfOG/_buildManifest.js +0 -1
- package/ui/standalone/.next/static/Xg-e8h70WpdFcsZ2vcfOG/_ssgManifest.js +0 -1
- package/ui/standalone/.next/static/chunks/app/(app)/voice/page-d98593eea4888404.js +0 -1
- package/ui/standalone/.next/static/chunks/app/_not-found/page-9f0acae7481c60bb.js +0 -1
- package/ui/standalone/.next/static/chunks/app/layout-4829e027e68fded4.js +0 -1
- package/ui/standalone/.next/static/chunks/app/voice-tester/page-f5ad3acef9248b78.js +0 -1
- package/ui/standalone/.next/static/chunks/main-app-f2b2a716b0f3924b.js +0 -1
- package/ui/standalone/.next/static/gGysrZrp8HXGK_0MbZa9v/_buildManifest.js +0 -1
- package/ui/standalone/.next/static/gGysrZrp8HXGK_0MbZa9v/_ssgManifest.js +0 -1
- package/ui/standalone/.next/static/tDI_bBJ7vZjqqxcXg1GZn/_buildManifest.js +0 -1
- package/ui/standalone/.next/static/tDI_bBJ7vZjqqxcXg1GZn/_ssgManifest.js +0 -1
- package/ui/standalone/.next/static/zAWQgn-m46BFpT3z33lh-/_buildManifest.js +0 -1
- package/ui/standalone/.next/static/zAWQgn-m46BFpT3z33lh-/_ssgManifest.js +0 -1
- /package/ui/standalone/.next/static/{KwY1YC79lI9nQqOVYXOmY → 8E9-VDckMmTbkbuwnaatU}/_buildManifest.js +0 -0
- /package/ui/standalone/.next/static/{KwY1YC79lI9nQqOVYXOmY → 8E9-VDckMmTbkbuwnaatU}/_ssgManifest.js +0 -0
|
@@ -39,19 +39,19 @@
|
|
|
39
39
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
40
40
|
"static/chunks/app/api/models/route-0952b44bda5bfb6d.js"
|
|
41
41
|
],
|
|
42
|
-
"/api/
|
|
42
|
+
"/api/prompt/route": [
|
|
43
43
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
44
44
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
45
45
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
46
46
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
47
|
-
"static/chunks/app/api/
|
|
47
|
+
"static/chunks/app/api/prompt/route-0952b44bda5bfb6d.js"
|
|
48
48
|
],
|
|
49
|
-
"/api/
|
|
49
|
+
"/api/prewarm/route": [
|
|
50
50
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
51
51
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
52
52
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
53
53
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
54
|
-
"static/chunks/app/api/
|
|
54
|
+
"static/chunks/app/api/prewarm/route-0952b44bda5bfb6d.js"
|
|
55
55
|
],
|
|
56
56
|
"/api/reload-tools/route": [
|
|
57
57
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
@@ -116,13 +116,6 @@
|
|
|
116
116
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
117
117
|
"static/chunks/app/api/setup/test-hass/route-0952b44bda5bfb6d.js"
|
|
118
118
|
],
|
|
119
|
-
"/api/setup/test-ollama/route": [
|
|
120
|
-
"static/chunks/webpack-5252e5254da079b5.js",
|
|
121
|
-
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
122
|
-
"static/chunks/1255-404bb8de49c90395.js",
|
|
123
|
-
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
124
|
-
"static/chunks/app/api/setup/test-ollama/route-0952b44bda5bfb6d.js"
|
|
125
|
-
],
|
|
126
119
|
"/api/setup/test-n8n/route": [
|
|
127
120
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
128
121
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
@@ -137,40 +130,40 @@
|
|
|
137
130
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
138
131
|
"static/chunks/app/api/test-tts/route-0952b44bda5bfb6d.js"
|
|
139
132
|
],
|
|
140
|
-
"/api/
|
|
133
|
+
"/api/voices/route": [
|
|
141
134
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
142
135
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
143
136
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
144
137
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
145
|
-
"static/chunks/app/api/
|
|
138
|
+
"static/chunks/app/api/voices/route-0952b44bda5bfb6d.js"
|
|
146
139
|
],
|
|
147
|
-
"/api/
|
|
140
|
+
"/api/setup/test-ollama/route": [
|
|
148
141
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
149
142
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
150
143
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
151
144
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
152
|
-
"static/chunks/app/api/
|
|
145
|
+
"static/chunks/app/api/setup/test-ollama/route-0952b44bda5bfb6d.js"
|
|
153
146
|
],
|
|
154
|
-
"/api/
|
|
147
|
+
"/api/wake-word/models/route": [
|
|
155
148
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
156
149
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
157
150
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
158
151
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
159
|
-
"static/chunks/app/api/
|
|
152
|
+
"static/chunks/app/api/wake-word/models/route-0952b44bda5bfb6d.js"
|
|
160
153
|
],
|
|
161
|
-
"/api/wake-word/
|
|
154
|
+
"/api/wake-word/status/route": [
|
|
162
155
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
163
156
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
164
157
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
165
158
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
166
|
-
"static/chunks/app/api/wake-word/
|
|
159
|
+
"static/chunks/app/api/wake-word/status/route-0952b44bda5bfb6d.js"
|
|
167
160
|
],
|
|
168
|
-
"/api/
|
|
161
|
+
"/api/wake-word/upload/route": [
|
|
169
162
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
170
163
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
171
164
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
172
165
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
173
|
-
"static/chunks/app/api/
|
|
166
|
+
"static/chunks/app/api/wake-word/upload/route-0952b44bda5bfb6d.js"
|
|
174
167
|
],
|
|
175
168
|
"/api/kiosk-hardware/route": [
|
|
176
169
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
@@ -179,33 +172,33 @@
|
|
|
179
172
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
180
173
|
"static/chunks/app/api/kiosk-hardware/route-0952b44bda5bfb6d.js"
|
|
181
174
|
],
|
|
182
|
-
"/api/
|
|
175
|
+
"/api/model-status/route": [
|
|
183
176
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
184
177
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
185
178
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
186
179
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
187
|
-
"static/chunks/app/api/
|
|
180
|
+
"static/chunks/app/api/model-status/route-0952b44bda5bfb6d.js"
|
|
188
181
|
],
|
|
189
|
-
"/api/
|
|
182
|
+
"/api/connection-details/route": [
|
|
190
183
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
191
184
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
192
185
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
193
186
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
194
|
-
"static/chunks/app/api/
|
|
187
|
+
"static/chunks/app/api/connection-details/route-0952b44bda5bfb6d.js"
|
|
195
188
|
],
|
|
196
|
-
"/api/robopark/
|
|
189
|
+
"/api/robopark/character-ai/route": [
|
|
197
190
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
198
191
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
199
192
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
200
193
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
201
|
-
"static/chunks/app/api/robopark/
|
|
194
|
+
"static/chunks/app/api/robopark/character-ai/route-0952b44bda5bfb6d.js"
|
|
202
195
|
],
|
|
203
|
-
"/api/robopark/
|
|
196
|
+
"/api/robopark/device-access/route": [
|
|
204
197
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
205
198
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
206
199
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
207
200
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
208
|
-
"static/chunks/app/api/robopark/
|
|
201
|
+
"static/chunks/app/api/robopark/device-access/route-0952b44bda5bfb6d.js"
|
|
209
202
|
],
|
|
210
203
|
"/api/robopark/camera-token/route": [
|
|
211
204
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
@@ -214,19 +207,19 @@
|
|
|
214
207
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
215
208
|
"static/chunks/app/api/robopark/camera-token/route-0952b44bda5bfb6d.js"
|
|
216
209
|
],
|
|
217
|
-
"/api/robopark/
|
|
210
|
+
"/api/robopark/live-rooms/route": [
|
|
218
211
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
219
212
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
220
213
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
221
214
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
222
|
-
"static/chunks/app/api/robopark/
|
|
215
|
+
"static/chunks/app/api/robopark/live-rooms/route-0952b44bda5bfb6d.js"
|
|
223
216
|
],
|
|
224
|
-
"/api/robopark/
|
|
217
|
+
"/api/robopark/monitor-token/route": [
|
|
225
218
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
226
219
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
227
220
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
228
221
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
229
|
-
"static/chunks/app/api/robopark/
|
|
222
|
+
"static/chunks/app/api/robopark/monitor-token/route-0952b44bda5bfb6d.js"
|
|
230
223
|
],
|
|
231
224
|
"/api/robopark/servers/[serverId]/metrics/route": [
|
|
232
225
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
@@ -235,12 +228,12 @@
|
|
|
235
228
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
236
229
|
"static/chunks/app/api/robopark/servers/[serverId]/metrics/route-0952b44bda5bfb6d.js"
|
|
237
230
|
],
|
|
238
|
-
"/api/robopark/
|
|
231
|
+
"/api/robopark/robots/route": [
|
|
239
232
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
240
233
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
241
234
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
242
235
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
243
|
-
"static/chunks/app/api/robopark/
|
|
236
|
+
"static/chunks/app/api/robopark/robots/route-0952b44bda5bfb6d.js"
|
|
244
237
|
],
|
|
245
238
|
"/api/robopark/servers/route": [
|
|
246
239
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
@@ -249,6 +242,13 @@
|
|
|
249
242
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
250
243
|
"static/chunks/app/api/robopark/servers/route-0952b44bda5bfb6d.js"
|
|
251
244
|
],
|
|
245
|
+
"/api/robopark/servers/[serverId]/route": [
|
|
246
|
+
"static/chunks/webpack-5252e5254da079b5.js",
|
|
247
|
+
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
248
|
+
"static/chunks/1255-404bb8de49c90395.js",
|
|
249
|
+
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
250
|
+
"static/chunks/app/api/robopark/servers/[serverId]/route-0952b44bda5bfb6d.js"
|
|
251
|
+
],
|
|
252
252
|
"/api/robopark/sessions/route": [
|
|
253
253
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
254
254
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
@@ -263,6 +263,13 @@
|
|
|
263
263
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
264
264
|
"static/chunks/app/api/robovoice/robots/[robotId]/media-health/route-0952b44bda5bfb6d.js"
|
|
265
265
|
],
|
|
266
|
+
"/api/settings/route": [
|
|
267
|
+
"static/chunks/webpack-5252e5254da079b5.js",
|
|
268
|
+
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
269
|
+
"static/chunks/1255-404bb8de49c90395.js",
|
|
270
|
+
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
271
|
+
"static/chunks/app/api/settings/route-0952b44bda5bfb6d.js"
|
|
272
|
+
],
|
|
266
273
|
"/api/robopark/vision-caption/route": [
|
|
267
274
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
268
275
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
@@ -277,12 +284,12 @@
|
|
|
277
284
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
278
285
|
"static/chunks/app/api/robopark/robots/[robotId]/voice-engine/route-0952b44bda5bfb6d.js"
|
|
279
286
|
],
|
|
280
|
-
"/api/
|
|
287
|
+
"/api/turn-credentials/route": [
|
|
281
288
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
282
289
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
283
290
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
284
291
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
285
|
-
"static/chunks/app/api/
|
|
292
|
+
"static/chunks/app/api/turn-credentials/route-0952b44bda5bfb6d.js"
|
|
286
293
|
],
|
|
287
294
|
"/api/robopark/transcripts/route": [
|
|
288
295
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
@@ -291,40 +298,40 @@
|
|
|
291
298
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
292
299
|
"static/chunks/app/api/robopark/transcripts/route-0952b44bda5bfb6d.js"
|
|
293
300
|
],
|
|
294
|
-
"/
|
|
301
|
+
"/camera-grid/route": [
|
|
295
302
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
296
303
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
297
304
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
298
305
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
299
|
-
"static/chunks/app/
|
|
306
|
+
"static/chunks/app/camera-grid/route-0952b44bda5bfb6d.js"
|
|
300
307
|
],
|
|
301
|
-
"/
|
|
308
|
+
"/robopark/[...path]/route": [
|
|
302
309
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
303
310
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
304
311
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
305
312
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
306
|
-
"static/chunks/app/
|
|
313
|
+
"static/chunks/app/robopark/[...path]/route-0952b44bda5bfb6d.js"
|
|
307
314
|
],
|
|
308
|
-
"/
|
|
315
|
+
"/api/wake/route": [
|
|
309
316
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
310
317
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
311
318
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
312
319
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
313
|
-
"static/chunks/app/
|
|
320
|
+
"static/chunks/app/api/wake/route-0952b44bda5bfb6d.js"
|
|
314
321
|
],
|
|
315
|
-
"/
|
|
322
|
+
"/fed/media/robots/[robotId]/video_feed/route": [
|
|
316
323
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
317
324
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
318
325
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
319
326
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
320
|
-
"static/chunks/app/
|
|
327
|
+
"static/chunks/app/fed/media/robots/[robotId]/video_feed/route-0952b44bda5bfb6d.js"
|
|
321
328
|
],
|
|
322
|
-
"/
|
|
329
|
+
"/robopark/api/robots/[robotId]/stream/route": [
|
|
323
330
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
324
331
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
325
332
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
326
333
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
327
|
-
"static/chunks/app/
|
|
334
|
+
"static/chunks/app/robopark/api/robots/[robotId]/stream/route-0952b44bda5bfb6d.js"
|
|
328
335
|
],
|
|
329
336
|
"/tailnet/route": [
|
|
330
337
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
@@ -333,12 +340,12 @@
|
|
|
333
340
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
334
341
|
"static/chunks/app/tailnet/route-0952b44bda5bfb6d.js"
|
|
335
342
|
],
|
|
336
|
-
"/
|
|
343
|
+
"/fed/[...path]/route": [
|
|
337
344
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
338
345
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
339
346
|
"static/chunks/1255-404bb8de49c90395.js",
|
|
340
347
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
341
|
-
"static/chunks/app/
|
|
348
|
+
"static/chunks/app/fed/[...path]/route-0952b44bda5bfb6d.js"
|
|
342
349
|
],
|
|
343
350
|
"/vendor/livekit-client.umd.js/route": [
|
|
344
351
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
@@ -347,13 +354,6 @@
|
|
|
347
354
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
348
355
|
"static/chunks/app/vendor/livekit-client.umd.js/route-0952b44bda5bfb6d.js"
|
|
349
356
|
],
|
|
350
|
-
"/robopark/api/robots/[robotId]/stream/route": [
|
|
351
|
-
"static/chunks/webpack-5252e5254da079b5.js",
|
|
352
|
-
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
353
|
-
"static/chunks/1255-404bb8de49c90395.js",
|
|
354
|
-
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
355
|
-
"static/chunks/app/robopark/api/robots/[robotId]/stream/route-0952b44bda5bfb6d.js"
|
|
356
|
-
],
|
|
357
357
|
"/(app)/opengraph-image-xg4ifa/route": [
|
|
358
358
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
359
359
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
@@ -389,6 +389,13 @@
|
|
|
389
389
|
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
390
390
|
"static/chunks/app/(app)/layout-0952b44bda5bfb6d.js"
|
|
391
391
|
],
|
|
392
|
+
"/(app)/page": [
|
|
393
|
+
"static/chunks/webpack-5252e5254da079b5.js",
|
|
394
|
+
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
395
|
+
"static/chunks/1255-404bb8de49c90395.js",
|
|
396
|
+
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
397
|
+
"static/chunks/app/(app)/page-0952b44bda5bfb6d.js"
|
|
398
|
+
],
|
|
392
399
|
"/(app)/voice/page": [
|
|
393
400
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
394
401
|
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
@@ -400,13 +407,6 @@
|
|
|
400
407
|
"static/chunks/9880-53262785284464cc.js",
|
|
401
408
|
"static/chunks/2333-43c39acb531f7d4e.js",
|
|
402
409
|
"static/chunks/app/(app)/voice/page-72d72d9a70d9c1d4.js"
|
|
403
|
-
],
|
|
404
|
-
"/(app)/page": [
|
|
405
|
-
"static/chunks/webpack-5252e5254da079b5.js",
|
|
406
|
-
"static/chunks/4bd1b696-f785427dddbba9fb.js",
|
|
407
|
-
"static/chunks/1255-404bb8de49c90395.js",
|
|
408
|
-
"static/chunks/main-app-a1f59168303c7f84.js",
|
|
409
|
-
"static/chunks/app/(app)/page-0952b44bda5bfb6d.js"
|
|
410
410
|
]
|
|
411
411
|
}
|
|
412
412
|
}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"/api/device-character/route": "/api/device-character",
|
|
4
4
|
"/api/download-piper-model/route": "/api/download-piper-model",
|
|
5
5
|
"/api/models/route": "/api/models",
|
|
6
|
-
"/api/prewarm/route": "/api/prewarm",
|
|
7
6
|
"/api/prompt/route": "/api/prompt",
|
|
7
|
+
"/api/prewarm/route": "/api/prewarm",
|
|
8
8
|
"/api/reload-tools/route": "/api/reload-tools",
|
|
9
9
|
"/api/robopark/devices/[deviceId]/control/route": "/api/robopark/devices/[deviceId]/control",
|
|
10
10
|
"/api/robopark/robots/[robotId]/operations/route": "/api/robopark/robots/[robotId]/operations",
|
|
@@ -14,45 +14,45 @@
|
|
|
14
14
|
"/api/setup/status/route": "/api/setup/status",
|
|
15
15
|
"/api/setup/test-groq/route": "/api/setup/test-groq",
|
|
16
16
|
"/api/setup/test-hass/route": "/api/setup/test-hass",
|
|
17
|
-
"/api/setup/test-ollama/route": "/api/setup/test-ollama",
|
|
18
17
|
"/api/setup/test-n8n/route": "/api/setup/test-n8n",
|
|
19
18
|
"/api/test-tts/route": "/api/test-tts",
|
|
20
|
-
"/api/wake-word/status/route": "/api/wake-word/status",
|
|
21
|
-
"/api/wake-word/models/route": "/api/wake-word/models",
|
|
22
19
|
"/api/voices/route": "/api/voices",
|
|
20
|
+
"/api/setup/test-ollama/route": "/api/setup/test-ollama",
|
|
21
|
+
"/api/wake-word/models/route": "/api/wake-word/models",
|
|
22
|
+
"/api/wake-word/status/route": "/api/wake-word/status",
|
|
23
23
|
"/api/wake-word/upload/route": "/api/wake-word/upload",
|
|
24
24
|
"/favicon.ico/route": "/favicon.ico",
|
|
25
|
-
"/api/model-status/route": "/api/model-status",
|
|
26
25
|
"/api/kiosk-hardware/route": "/api/kiosk-hardware",
|
|
26
|
+
"/api/model-status/route": "/api/model-status",
|
|
27
27
|
"/api/connection-details/route": "/api/connection-details",
|
|
28
|
-
"/api/robopark/live-rooms/route": "/api/robopark/live-rooms",
|
|
29
|
-
"/api/robopark/monitor-token/route": "/api/robopark/monitor-token",
|
|
30
28
|
"/api/robopark/character-ai/route": "/api/robopark/character-ai",
|
|
31
|
-
"/api/robopark/camera-token/route": "/api/robopark/camera-token",
|
|
32
29
|
"/api/robopark/device-access/route": "/api/robopark/device-access",
|
|
33
|
-
"/api/robopark/
|
|
30
|
+
"/api/robopark/camera-token/route": "/api/robopark/camera-token",
|
|
31
|
+
"/api/robopark/live-rooms/route": "/api/robopark/live-rooms",
|
|
32
|
+
"/api/robopark/monitor-token/route": "/api/robopark/monitor-token",
|
|
34
33
|
"/api/robopark/servers/[serverId]/metrics/route": "/api/robopark/servers/[serverId]/metrics",
|
|
35
|
-
"/api/robopark/
|
|
34
|
+
"/api/robopark/robots/route": "/api/robopark/robots",
|
|
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
38
|
"/api/robovoice/robots/[robotId]/media-health/route": "/api/robovoice/robots/[robotId]/media-health",
|
|
39
|
+
"/api/settings/route": "/api/settings",
|
|
39
40
|
"/api/robopark/vision-caption/route": "/api/robopark/vision-caption",
|
|
40
41
|
"/api/robopark/robots/[robotId]/voice-engine/route": "/api/robopark/robots/[robotId]/voice-engine",
|
|
41
|
-
"/api/settings/route": "/api/settings",
|
|
42
|
-
"/api/robopark/transcripts/route": "/api/robopark/transcripts",
|
|
43
42
|
"/api/turn-credentials/route": "/api/turn-credentials",
|
|
43
|
+
"/api/robopark/transcripts/route": "/api/robopark/transcripts",
|
|
44
|
+
"/camera-grid/route": "/camera-grid",
|
|
45
|
+
"/robopark/[...path]/route": "/robopark/[...path]",
|
|
44
46
|
"/api/wake/route": "/api/wake",
|
|
45
47
|
"/fed/media/robots/[robotId]/video_feed/route": "/fed/media/robots/[robotId]/video_feed",
|
|
46
|
-
"/robopark/[
|
|
47
|
-
"/fed/[...path]/route": "/fed/[...path]",
|
|
48
|
+
"/robopark/api/robots/[robotId]/stream/route": "/robopark/api/robots/[robotId]/stream",
|
|
48
49
|
"/tailnet/route": "/tailnet",
|
|
49
|
-
"/
|
|
50
|
+
"/fed/[...path]/route": "/fed/[...path]",
|
|
50
51
|
"/vendor/livekit-client.umd.js/route": "/vendor/livekit-client.umd.js",
|
|
51
|
-
"/robopark/api/robots/[robotId]/stream/route": "/robopark/api/robots/[robotId]/stream",
|
|
52
52
|
"/(app)/opengraph-image-xg4ifa/route": "/opengraph-image-xg4ifa",
|
|
53
53
|
"/robopark/api/[...path]/route": "/robopark/api/[...path]",
|
|
54
54
|
"/voice-tester/page": "/voice-tester",
|
|
55
55
|
"/robopark/page": "/robopark",
|
|
56
|
-
"/(app)/
|
|
57
|
-
"/(app)/page": "/"
|
|
56
|
+
"/(app)/page": "/",
|
|
57
|
+
"/(app)/voice/page": "/voice"
|
|
58
58
|
}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"ampDevFiles": [],
|
|
7
7
|
"lowPriorityFiles": [
|
|
8
|
-
"static/
|
|
9
|
-
"static/
|
|
8
|
+
"static/8E9-VDckMmTbkbuwnaatU/_buildManifest.js",
|
|
9
|
+
"static/8E9-VDckMmTbkbuwnaatU/_ssgManifest.js"
|
|
10
10
|
],
|
|
11
11
|
"rootMainFiles": [
|
|
12
12
|
"static/chunks/webpack-5252e5254da079b5.js",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=7142,a.ids=[7142],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3421:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(71237),e=c(55088),f=c(17679);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},25011:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>E,patchFetch:()=>D,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var d={};c.r(d),c.d(d,{GET:()=>y,dynamic:()=>v,runtime:()=>w});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(82680);let v="force-dynamic",w="nodejs";async function x(a){let b=Date.now();try{let c=await fetch(a,{cache:"no-store",signal:AbortSignal.timeout(2500)});return{ok:c.ok,status:c.status,latency_ms:Date.now()-b}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a),latency_ms:Date.now()-b}}}async function y(a,b){let{robotId:c}=await b.params,d=(0,u.b)(c);if(!d)return Response.json({ok:!1,error:"robot not registered"},{status:404});let[e,f]=await Promise.all([x("http://"+d.host+":"+d.visionPort+"/api/media/inventory"),x("http://"+d.host+":"+d.audioPort+"/devices")]);return Response.json({ok:e.ok&&f.ok,robot:d,vision:e,audio:f,room:"robopark-"+d.deviceId},{status:e.ok&&f.ok?200:503})}let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/robovoice/robots/[robotId]/media-health/route",pathname:"/api/robovoice/robots/[robotId]/media-health",filename:"route",bundlePath:"app/api/robovoice/robots/[robotId]/media-health/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"C:\\Users\\yunge\\OneDrive\\Desktop\\ROBOVOICE-main\\frontend\\app\\api\\robovoice\\robots\\[robotId]\\media-health\\route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function D(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function E(a,b,c){var d;let e="/api/robovoice/robots/[robotId]/media-health/route";"/index"===e&&(e="/");let g=await z.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:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D}=g,E=(0,j.normalizeAppPath)(e),F=!!(y.dynamicRoutes[E]||y.routes[D]);if(F&&!x){let a=!!y.routes[D],b=y.dynamicRoutes[E];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||z.isDev||x||(G="/index"===(G=D)?"/":G);let H=!0===z.isDev||!F,I=F&&!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)=>z.onRequestError(a,b,d,A)},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=>z.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")&&B&&C&&!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(!F)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 z.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})},A),b}},l=await z.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil});if(!F)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",B?"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")&&F||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 z.onRequestError(a,b,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},82680:(a,b,c)=>{"use strict";c.d(b,{b:()=>e});let d=[{id:"bmw",name:"BMW",deviceId:"dev_0422e545",host:process.env.ROBOVOICE_BMW_HOST||"192.168.0.178",visionPort:5e3,audioPort:8e3,aliases:["bmw","dev_0422e545"]}];function e(a){let b=decodeURIComponent(a).trim().toLowerCase();return(function(){let a=process.env.ROBOVOICE_ROBOTS_JSON;if(!a)return d;try{let b=JSON.parse(a);if(!Array.isArray(b))throw Error("expected a JSON array");return b.map(a=>({id:String(a.id||a.name).toLowerCase(),name:String(a.name||a.id),deviceId:String(a.deviceId||a.device_id||a.id),host:String(a.host||a.ip),visionPort:Number(a.visionPort||a.vision_port||5e3),audioPort:Number(a.audioPort||a.audio_port||8e3),aliases:Array.from(new Set([a.id,a.name,a.deviceId,a.device_id,...a.aliases||[]].filter(Boolean).map(String)))}))}catch(a){return console.error("Invalid ROBOVOICE_ROBOTS_JSON:",a),d}})().find(a=>[a.id,a.name,a.deviceId,...a.aliases].some(a=>String(a).toLowerCase()===b))}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},95736:(a,b,c)=>{"use strict";a.exports=c(44870)},96487:()=>{}};var b=require("../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873],()=>b(b.s=25011));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=7142,a.ids=[7142],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3421:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(71237),e=c(55088),f=c(17679);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},25011:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>E,patchFetch:()=>D,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var d={};c.r(d),c.d(d,{GET:()=>y,dynamic:()=>v,runtime:()=>w});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(82680);let v="force-dynamic",w="nodejs";async function x(a){let b=Date.now();try{let c=await fetch(a,{cache:"no-store",signal:AbortSignal.timeout(2500)});return{ok:c.ok,status:c.status,latency_ms:Date.now()-b}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a),latency_ms:Date.now()-b}}}async function y(a,b){let{robotId:c}=await b.params,d=(0,u.bR)(c);if(!d)return Response.json({ok:!1,error:"robot not registered"},{status:404});let[e,f]=await Promise.all([x("http://"+d.host+":"+d.visionPort+"/api/media/inventory"),x("http://"+d.host+":"+d.audioPort+"/devices")]);return Response.json({ok:e.ok&&f.ok,robot:d,vision:e,audio:f,room:"robopark-"+d.deviceId},{status:e.ok&&f.ok?200:503})}let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/robovoice/robots/[robotId]/media-health/route",pathname:"/api/robovoice/robots/[robotId]/media-health",filename:"route",bundlePath:"app/api/robovoice/robots/[robotId]/media-health/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"C:\\Users\\yunge\\OneDrive\\Desktop\\ROBOVOICE-main\\frontend\\app\\api\\robovoice\\robots\\[robotId]\\media-health\\route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function D(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function E(a,b,c){var d;let e="/api/robovoice/robots/[robotId]/media-health/route";"/index"===e&&(e="/");let g=await z.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:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D}=g,E=(0,j.normalizeAppPath)(e),F=!!(y.dynamicRoutes[E]||y.routes[D]);if(F&&!x){let a=!!y.routes[D],b=y.dynamicRoutes[E];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||z.isDev||x||(G="/index"===(G=D)?"/":G);let H=!0===z.isDev||!F,I=F&&!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)=>z.onRequestError(a,b,d,A)},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=>z.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")&&B&&C&&!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(!F)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 z.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})},A),b}},l=await z.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil});if(!F)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",B?"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")&&F||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 z.onRequestError(a,b,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},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,{n_:()=>i,wn:()=>k,z4:()=>h});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""}}();function h(){return f.replace(/\/+$/,"")}function i(){return g}let j=new Set(["connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailers","transfer-encoding","upgrade","content-length"]);async function k(a,b){let c,d=new URL(a.url),h=d.searchParams.get("token");d.searchParams.delete("token");let i=b.startsWith("/robopark/"),k=new URL((i?b.slice(9):b)+d.search,i?f:e);!g&&h&&k.searchParams.set("token",h);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)=>{j.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")},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")},78335:()=>{},82680:(a,b,c)=>{"use strict";c.d(b,{QX:()=>i,bR:()=>f});var d=c(36228);let e=[{id:"bmw",name:"BMW",deviceId:"dev_0422e545",host:process.env.ROBOVOICE_BMW_HOST||"192.168.0.178",visionPort:5e3,audioPort:8e3,aliases:["bmw","dev_0422e545"]}];function f(a){let b=decodeURIComponent(a).trim().toLowerCase();return(function(){let a=process.env.ROBOVOICE_ROBOTS_JSON;if(!a)return e;try{let b=JSON.parse(a);if(!Array.isArray(b))throw Error("expected a JSON array");return b.map(a=>({id:String(a.id||a.name).toLowerCase(),name:String(a.name||a.id),deviceId:String(a.deviceId||a.device_id||a.id),host:String(a.host||a.ip),visionPort:Number(a.visionPort||a.vision_port||5e3),audioPort:Number(a.audioPort||a.audio_port||8e3),aliases:Array.from(new Set([a.id,a.name,a.deviceId,a.device_id,...a.aliases||[]].filter(Boolean).map(String)))}))}catch(a){return console.error("Invalid ROBOVOICE_ROBOTS_JSON:",a),e}})().find(a=>[a.id,a.name,a.deviceId,...a.aliases].some(a=>String(a).toLowerCase()===b))}async function g(a){let b=(0,d.n_)();try{let c=await fetch((0,d.z4)()+a,{cache:"no-store",headers:b?{authorization:"Bearer "+b}:{},signal:AbortSignal.timeout(2500)});if(!c.ok)return null;return await c.json()}catch{return null}}function h(a){let b=String(a.lan_ip||a.tailscale_ip||a.last_seen_ip||"").trim();return b?{id:String(a.id),name:String(a.name||a.id),deviceId:String(a.id),host:b,visionPort:5e3,audioPort:8e3,aliases:[String(a.id),String(a.name||a.id)]}:null}async function i(a){let b=decodeURIComponent(a).trim();if(!b)return null;let c=await g("/api/devices/"+encodeURIComponent(b));if(c?.id)return h(c);let d=await g("/api/devices");if(!Array.isArray(d))return null;let e=b.toLowerCase(),f=d.find(a=>String(a.id)===b||String(a.name||"").toLowerCase()===e);return f?h(f):null}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},95736:(a,b,c)=>{"use strict";a.exports=c(44870)},96487:()=>{}};var b=require("../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873],()=>b(b.s=25011));module.exports=c})();
|
|
@@ -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,{
|
|
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,{n_:()=>i,wn:()=>k,z4:()=>h});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""}}();function h(){return f.replace(/\/+$/,"")}function i(){return g}let j=new Set(["connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailers","transfer-encoding","upgrade","content-length"]);async function k(a,b){let c,d=new URL(a.url),h=d.searchParams.get("token");d.searchParams.delete("token");let i=b.startsWith("/robopark/"),k=new URL((i?b.slice(9):b)+d.search,i?f:e);!g&&h&&k.searchParams.set("token",h);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)=>{j.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:()=>{},81510:(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.wn)(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(),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.
|
|
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.wn)(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\\OneDrive\\Desktop\\ROBOVOICE-main\\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}}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},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=81510));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=7982,a.ids=[7982],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3421:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(71237),e=c(55088),f=c(17679);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.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")},49212:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>E,patchFetch:()=>D,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var d={};c.r(d),c.d(d,{GET:()=>y,dynamic:()=>w,runtime:()=>x});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(36228),v=c(82680);let w="force-dynamic",x="nodejs";async function y(a,b){let{robotId:c}=await b.params,d=(0,v.b)(c);if(!d)return(0,u.w)(a,"/fed/media/robots/"+encodeURIComponent(c)+"/video_feed");let e=new AbortController,f=setTimeout(()=>e.abort(),3500);try{let a="http://"+d.host+":"+d.visionPort+"/video_feed",b=await fetch(a,{cache:"no-store",signal:e.signal});if(clearTimeout(f),!b.ok||!b.body)throw Error("RoboVision returned "+b.status);let c=new Headers;return c.set("content-type",b.headers.get("content-type")||"multipart/x-mixed-replace; boundary=frame"),c.set("cache-control","no-store, no-cache, must-revalidate"),c.set("x-robovoice-media-source","direct-robovision"),c.set("x-robovoice-robot",d.id),new Response(b.body,{status:200,headers:c})}catch(b){return clearTimeout(f),console.warn("Direct RoboVision relay failed for "+d.id+", using control fallback:",b),(0,u.w)(a,"/fed/media/robots/"+encodeURIComponent(c)+"/video_feed")}}let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/fed/media/robots/[robotId]/video_feed/route",pathname:"/fed/media/robots/[robotId]/video_feed",filename:"route",bundlePath:"app/fed/media/robots/[robotId]/video_feed/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"C:\\Users\\yunge\\OneDrive\\Desktop\\ROBOVOICE-main\\frontend\\app\\fed\\media\\robots\\[robotId]\\video_feed\\route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function D(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function E(a,b,c){var d;let e="/fed/media/robots/[robotId]/video_feed/route";"/index"===e&&(e="/");let g=await z.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:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D}=g,E=(0,j.normalizeAppPath)(e),F=!!(y.dynamicRoutes[E]||y.routes[D]);if(F&&!x){let a=!!y.routes[D],b=y.dynamicRoutes[E];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||z.isDev||x||(G="/index"===(G=D)?"/":G);let H=!0===z.isDev||!F,I=F&&!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)=>z.onRequestError(a,b,d,A)},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=>z.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")&&B&&C&&!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(!F)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 z.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})},A),b}},l=await z.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil});if(!F)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",B?"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")&&F||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 z.onRequestError(a,b,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},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")},78335:()=>{},82680:(a,b,c)=>{"use strict";c.d(b,{b:()=>e});let d=[{id:"bmw",name:"BMW",deviceId:"dev_0422e545",host:process.env.ROBOVOICE_BMW_HOST||"192.168.0.178",visionPort:5e3,audioPort:8e3,aliases:["bmw","dev_0422e545"]}];function e(a){let b=decodeURIComponent(a).trim().toLowerCase();return(function(){let a=process.env.ROBOVOICE_ROBOTS_JSON;if(!a)return d;try{let b=JSON.parse(a);if(!Array.isArray(b))throw Error("expected a JSON array");return b.map(a=>({id:String(a.id||a.name).toLowerCase(),name:String(a.name||a.id),deviceId:String(a.deviceId||a.device_id||a.id),host:String(a.host||a.ip),visionPort:Number(a.visionPort||a.vision_port||5e3),audioPort:Number(a.audioPort||a.audio_port||8e3),aliases:Array.from(new Set([a.id,a.name,a.deviceId,a.device_id,...a.aliases||[]].filter(Boolean).map(String)))}))}catch(a){return console.error("Invalid ROBOVOICE_ROBOTS_JSON:",a),d}})().find(a=>[a.id,a.name,a.deviceId,...a.aliases].some(a=>String(a).toLowerCase()===b))}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},95736:(a,b,c)=>{"use strict";a.exports=c(44870)},96487:()=>{}};var b=require("../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873],()=>b(b.s=49212));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=7982,a.ids=[7982],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3421:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(71237),e=c(55088),f=c(17679);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.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,{n_:()=>i,wn:()=>k,z4:()=>h});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""}}();function h(){return f.replace(/\/+$/,"")}function i(){return g}let j=new Set(["connection","keep-alive","proxy-authenticate","proxy-authorization","te","trailers","transfer-encoding","upgrade","content-length"]);async function k(a,b){let c,d=new URL(a.url),h=d.searchParams.get("token");d.searchParams.delete("token");let i=b.startsWith("/robopark/"),k=new URL((i?b.slice(9):b)+d.search,i?f:e);!g&&h&&k.searchParams.set("token",h);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)=>{j.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")},49212:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>F,patchFetch:()=>E,routeModule:()=>A,serverHooks:()=>D,workAsyncStorage:()=>B,workUnitAsyncStorage:()=>C});var d={};c.r(d),c.d(d,{GET:()=>z,dynamic:()=>w,runtime:()=>x});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(36228),v=c(82680);let w="force-dynamic",x="nodejs";async function y(a){let b=new AbortController,c=setTimeout(()=>b.abort(),3500);try{let d="http://"+a.host+":"+a.visionPort+"/video_feed",e=await fetch(d,{cache:"no-store",signal:b.signal});if(clearTimeout(c),!e.ok||!e.body)throw Error("RoboVision returned "+e.status);let f=new Headers;return f.set("content-type",e.headers.get("content-type")||"multipart/x-mixed-replace; boundary=frame"),f.set("cache-control","no-store, no-cache, must-revalidate"),f.set("x-robovoice-media-source","direct-robovision"),f.set("x-robovoice-robot",a.id),new Response(e.body,{status:200,headers:f})}catch(b){return clearTimeout(c),console.warn("Direct RoboVision relay failed for "+a.id+":",b),null}}async function z(a,b){let{robotId:c}=await b.params;for(let a of[()=>(0,v.bR)(c),()=>(0,v.QX)(c)]){let b=await a();if(!b)continue;let c=await y(b);if(c)return c}return(0,u.wn)(a,"/fed/media/robots/"+encodeURIComponent(c)+"/video_feed")}let A=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/fed/media/robots/[robotId]/video_feed/route",pathname:"/fed/media/robots/[robotId]/video_feed",filename:"route",bundlePath:"app/fed/media/robots/[robotId]/video_feed/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"C:\\Users\\yunge\\OneDrive\\Desktop\\ROBOVOICE-main\\frontend\\app\\fed\\media\\robots\\[robotId]\\video_feed\\route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:B,workUnitAsyncStorage:C,serverHooks:D}=A;function E(){return(0,g.patchFetch)({workAsyncStorage:B,workUnitAsyncStorage:C})}async function F(a,b,c){var d;let e="/fed/media/robots/[robotId]/video_feed/route";"/index"===e&&(e="/");let g=await A.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:B,revalidateOnlyGenerated:C,resolvedPathname:D}=g,E=(0,j.normalizeAppPath)(e),F=!!(y.dynamicRoutes[E]||y.routes[D]);if(F&&!x){let a=!!y.routes[D],b=y.dynamicRoutes[E];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||A.isDev||x||(G="/index"===(G=D)?"/":G);let H=!0===A.isDev||!F,I=F&&!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)=>A.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=>A.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")&&B&&C&&!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(!F)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 A.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})},z),b}},l=await A.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil});if(!F)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",B?"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")&&F||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 A.onRequestError(a,b,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},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")},78335:()=>{},82680:(a,b,c)=>{"use strict";c.d(b,{QX:()=>i,bR:()=>f});var d=c(36228);let e=[{id:"bmw",name:"BMW",deviceId:"dev_0422e545",host:process.env.ROBOVOICE_BMW_HOST||"192.168.0.178",visionPort:5e3,audioPort:8e3,aliases:["bmw","dev_0422e545"]}];function f(a){let b=decodeURIComponent(a).trim().toLowerCase();return(function(){let a=process.env.ROBOVOICE_ROBOTS_JSON;if(!a)return e;try{let b=JSON.parse(a);if(!Array.isArray(b))throw Error("expected a JSON array");return b.map(a=>({id:String(a.id||a.name).toLowerCase(),name:String(a.name||a.id),deviceId:String(a.deviceId||a.device_id||a.id),host:String(a.host||a.ip),visionPort:Number(a.visionPort||a.vision_port||5e3),audioPort:Number(a.audioPort||a.audio_port||8e3),aliases:Array.from(new Set([a.id,a.name,a.deviceId,a.device_id,...a.aliases||[]].filter(Boolean).map(String)))}))}catch(a){return console.error("Invalid ROBOVOICE_ROBOTS_JSON:",a),e}})().find(a=>[a.id,a.name,a.deviceId,...a.aliases].some(a=>String(a).toLowerCase()===b))}async function g(a){let b=(0,d.n_)();try{let c=await fetch((0,d.z4)()+a,{cache:"no-store",headers:b?{authorization:"Bearer "+b}:{},signal:AbortSignal.timeout(2500)});if(!c.ok)return null;return await c.json()}catch{return null}}function h(a){let b=String(a.lan_ip||a.tailscale_ip||a.last_seen_ip||"").trim();return b?{id:String(a.id),name:String(a.name||a.id),deviceId:String(a.id),host:b,visionPort:5e3,audioPort:8e3,aliases:[String(a.id),String(a.name||a.id)]}:null}async function i(a){let b=decodeURIComponent(a).trim();if(!b)return null;let c=await g("/api/devices/"+encodeURIComponent(b));if(c?.id)return h(c);let d=await g("/api/devices");if(!Array.isArray(d))return null;let e=b.toLowerCase(),f=d.find(a=>String(a.id)===b||String(a.name||"").toLowerCase()===e);return f?h(f):null}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},95736:(a,b,c)=>{"use strict";a.exports=c(44870)},96487:()=>{}};var b=require("../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[5873],()=>b(b.s=49212));module.exports=c})();
|