speechflow 2.4.1 → 2.4.3
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/.ase/service.log +450 -0
- package/.ase/service.yaml +1 -1
- package/.ase/task/TASK-flush.md +44 -0
- package/CHANGELOG.md +22 -0
- package/README.md +10 -9
- package/etc/speechflow.yaml +1 -1
- package/etc/stx.conf +21 -21
- package/package.json +12 -8
- package/speechflow-cli/dst/speechflow-main-cli.js +2 -2
- package/speechflow-cli/dst/speechflow-main-cli.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-a2a-ffmpeg.js +2 -0
- package/speechflow-cli/dst/speechflow-node-a2a-ffmpeg.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-a2a-gender.js +2 -1
- package/speechflow-cli/dst/speechflow-node-a2a-gender.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-a2a-meter.js +28 -12
- package/speechflow-cli/dst/speechflow-node-a2a-meter.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-a2a-pitch.js +9 -15
- package/speechflow-cli/dst/speechflow-node-a2a-pitch.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-a2t-deepgram.d.ts +3 -0
- package/speechflow-cli/dst/speechflow-node-a2t-deepgram.js +149 -101
- package/speechflow-cli/dst/speechflow-node-a2t-deepgram.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-t2t-opus.js.map +1 -1
- package/speechflow-cli/dst/speechflow-node-xio-exec.js +6 -4
- package/speechflow-cli/dst/speechflow-node-xio-exec.js.map +1 -1
- package/speechflow-cli/dst/speechflow-util-llm.js +8 -1
- package/speechflow-cli/dst/speechflow-util-llm.js.map +1 -1
- package/speechflow-cli/etc/oxlint.jsonc +4 -0
- package/speechflow-cli/etc/stx.conf +4 -4
- package/speechflow-cli/package.d/@shiguredo+rnnoise-wasm+2025.1.5.patch +1 -14
- package/speechflow-cli/package.d/@typescript-eslint+typescript-estree+8.65.0.patch +16 -0
- package/speechflow-cli/package.json +54 -48
- package/speechflow-cli/src/speechflow-main-cli.ts +1 -1
- package/speechflow-cli/src/speechflow-node-a2a-ffmpeg.ts +3 -1
- package/speechflow-cli/src/speechflow-node-a2a-gender.ts +3 -2
- package/speechflow-cli/src/speechflow-node-a2a-meter.ts +30 -13
- package/speechflow-cli/src/speechflow-node-a2a-pitch.ts +12 -20
- package/speechflow-cli/src/speechflow-node-a2t-deepgram.ts +162 -108
- package/speechflow-cli/src/speechflow-node-t2t-opus.ts +1 -1
- package/speechflow-cli/src/speechflow-node-xio-exec.ts +7 -5
- package/speechflow-cli/src/speechflow-util-llm.ts +10 -2
- package/speechflow-ui-db/dst/app-font-fa-brands-400.woff2 +0 -0
- package/speechflow-ui-db/dst/app-font-fa-regular-400.woff2 +0 -0
- package/speechflow-ui-db/dst/app-font-fa-solid-900.woff2 +0 -0
- package/speechflow-ui-db/dst/app-font-fa-v4compatibility.woff2 +0 -0
- package/speechflow-ui-db/dst/index.css +1 -1
- package/speechflow-ui-db/dst/index.js +579 -57
- package/speechflow-ui-db/etc/stx.conf +3 -2
- package/speechflow-ui-db/etc/vite-client.mts +1 -1
- package/speechflow-ui-db/package.d/@typescript-eslint+typescript-estree+8.65.0.patch +16 -0
- package/speechflow-ui-db/package.json +26 -21
- package/speechflow-ui-st/dst/app-font-fa-brands-400.woff2 +0 -0
- package/speechflow-ui-st/dst/app-font-fa-regular-400.woff2 +0 -0
- package/speechflow-ui-st/dst/app-font-fa-solid-900.woff2 +0 -0
- package/speechflow-ui-st/dst/app-font-fa-v4compatibility.woff2 +0 -0
- package/speechflow-ui-st/dst/index.css +1 -1
- package/speechflow-ui-st/dst/index.js +593 -71
- package/speechflow-ui-st/etc/stx.conf +3 -2
- package/speechflow-ui-st/etc/vite-client.mts +6 -0
- package/speechflow-ui-st/package.d/@typescript-eslint+typescript-estree+8.65.0.patch +16 -0
- package/speechflow-ui-st/package.json +26 -21
- package/speechflow-ui-st/src/app.vue +3 -3
- package/speechflow-cli/package.d/@typescript-eslint+typescript-estree+8.60.0.patch +0 -12
- package/speechflow-cli/package.d/sherpa-onnx+1.12.25.patch +0 -12
- package/speechflow-ui-db/package.d/@typescript-eslint+typescript-estree+8.60.0.patch +0 -12
- package/speechflow-ui-st/package.d/@typescript-eslint+typescript-estree+8.60.0.patch +0 -12
package/.ase/service.log
CHANGED
|
@@ -10355,3 +10355,453 @@ ase: [2026-05-31 21:09:50.677]: [INFO]: mcp: GET /mcp
|
|
|
10355
10355
|
ase: [2026-05-31 21:14:52.618]: [INFO]: mcp: GET /mcp
|
|
10356
10356
|
ase: [2026-05-31 21:19:54.578]: [INFO]: mcp: GET /mcp
|
|
10357
10357
|
ase: [2026-05-31 21:24:56.537]: [INFO]: mcp: GET /mcp
|
|
10358
|
+
ase: [2026-07-18 12:55:41.884]: [INFO]: service: listening on port 42085
|
|
10359
|
+
ase: [2026-07-18 12:55:42.020]: [INFO]: mcp: POST /mcp [initialize]
|
|
10360
|
+
ase: [2026-07-18 12:55:42.035]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10361
|
+
ase: [2026-07-18 12:55:42.041]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10362
|
+
ase: [2026-07-18 12:55:42.046]: [INFO]: mcp: GET /mcp
|
|
10363
|
+
ase: [2026-07-18 12:58:41.126]: [INFO]: mcp: POST /mcp [initialize]
|
|
10364
|
+
ase: [2026-07-18 12:58:41.135]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10365
|
+
ase: [2026-07-18 12:58:41.139]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10366
|
+
ase: [2026-07-18 12:58:41.146]: [INFO]: mcp: GET /mcp
|
|
10367
|
+
ase: [2026-07-18 13:00:59.830]: [INFO]: mcp: POST /mcp [initialize]
|
|
10368
|
+
ase: [2026-07-18 13:00:59.839]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10369
|
+
ase: [2026-07-18 13:00:59.844]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10370
|
+
ase: [2026-07-18 13:00:59.848]: [INFO]: mcp: GET /mcp
|
|
10371
|
+
ase: [2026-07-18 13:32:41.867]: [INFO]: service: idle timeout reached, stopping
|
|
10372
|
+
ase: [2026-07-18 14:47:16.297]: [INFO]: service: listening on port 43535
|
|
10373
|
+
ase: [2026-07-18 14:47:16.420]: [INFO]: mcp: POST /mcp [initialize]
|
|
10374
|
+
ase: [2026-07-18 14:47:16.437]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10375
|
+
ase: [2026-07-18 14:47:16.443]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10376
|
+
ase: [2026-07-18 14:47:16.449]: [INFO]: mcp: GET /mcp
|
|
10377
|
+
ase: [2026-07-18 15:22:16.321]: [INFO]: service: idle timeout reached, stopping
|
|
10378
|
+
ase: [2026-07-18 15:25:46.962]: [INFO]: service: listening on port 42639
|
|
10379
|
+
ase: [2026-07-18 15:25:47.023]: [INFO]: mcp: POST /mcp [initialize]
|
|
10380
|
+
ase: [2026-07-18 15:25:47.039]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10381
|
+
ase: [2026-07-18 15:25:47.045]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10382
|
+
ase: [2026-07-18 15:25:47.052]: [INFO]: mcp: GET /mcp
|
|
10383
|
+
ase: [2026-07-18 15:30:49.016]: [INFO]: mcp: GET /mcp
|
|
10384
|
+
ase: [2026-07-18 15:35:51.025]: [INFO]: mcp: GET /mcp
|
|
10385
|
+
ase: [2026-07-18 15:40:52.968]: [INFO]: mcp: GET /mcp
|
|
10386
|
+
ase: [2026-07-18 15:45:55.029]: [INFO]: mcp: GET /mcp
|
|
10387
|
+
ase: [2026-07-18 15:50:57.352]: [INFO]: mcp: GET /mcp
|
|
10388
|
+
ase: [2026-07-18 15:55:59.671]: [INFO]: mcp: GET /mcp
|
|
10389
|
+
ase: [2026-07-18 16:01:01.995]: [INFO]: mcp: GET /mcp
|
|
10390
|
+
ase: [2026-07-18 16:06:04.237]: [INFO]: mcp: GET /mcp
|
|
10391
|
+
ase: [2026-07-18 16:11:06.209]: [INFO]: mcp: GET /mcp
|
|
10392
|
+
ase: [2026-07-18 16:16:08.187]: [INFO]: mcp: GET /mcp
|
|
10393
|
+
ase: [2026-07-18 16:21:10.166]: [INFO]: mcp: GET /mcp
|
|
10394
|
+
ase: [2026-07-18 16:26:12.147]: [INFO]: mcp: GET /mcp
|
|
10395
|
+
ase: [2026-07-18 16:31:14.131]: [INFO]: mcp: GET /mcp
|
|
10396
|
+
ase: [2026-07-18 16:36:16.111]: [INFO]: mcp: GET /mcp
|
|
10397
|
+
ase: [2026-07-18 16:41:18.095]: [INFO]: mcp: GET /mcp
|
|
10398
|
+
ase: [2026-07-18 16:51:06.553]: [INFO]: mcp: POST /mcp [initialize]
|
|
10399
|
+
ase: [2026-07-18 16:51:06.562]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10400
|
+
ase: [2026-07-18 16:51:06.564]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10401
|
+
ase: [2026-07-18 16:51:06.568]: [INFO]: mcp: GET /mcp
|
|
10402
|
+
ase: [2026-07-18 16:59:27.768]: [INFO]: mcp: POST /mcp [initialize]
|
|
10403
|
+
ase: [2026-07-18 16:59:27.778]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10404
|
+
ase: [2026-07-18 16:59:27.782]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10405
|
+
ase: [2026-07-18 16:59:27.788]: [INFO]: mcp: GET /mcp
|
|
10406
|
+
ase: [2026-07-18 17:04:14.770]: [INFO]: mcp: POST /mcp [initialize]
|
|
10407
|
+
ase: [2026-07-18 17:04:14.779]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10408
|
+
ase: [2026-07-18 17:04:14.782]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10409
|
+
ase: [2026-07-18 17:04:14.785]: [INFO]: mcp: GET /mcp
|
|
10410
|
+
ase: [2026-07-18 17:34:47.034]: [INFO]: service: idle timeout reached, stopping
|
|
10411
|
+
ase: [2026-07-18 18:21:25.221]: [INFO]: service: listening on port 42096
|
|
10412
|
+
ase: [2026-07-18 18:21:25.353]: [INFO]: mcp: POST /mcp [initialize]
|
|
10413
|
+
ase: [2026-07-18 18:21:25.368]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10414
|
+
ase: [2026-07-18 18:21:25.371]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10415
|
+
ase: [2026-07-18 18:21:25.378]: [INFO]: mcp: GET /mcp
|
|
10416
|
+
ase: [2026-07-18 18:24:21.578]: [INFO]: mcp: POST /mcp [initialize]
|
|
10417
|
+
ase: [2026-07-18 18:24:21.590]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10418
|
+
ase: [2026-07-18 18:24:21.594]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10419
|
+
ase: [2026-07-18 18:24:21.598]: [INFO]: mcp: GET /mcp
|
|
10420
|
+
ase: [2026-07-18 18:58:25.261]: [INFO]: service: idle timeout reached, stopping
|
|
10421
|
+
ase: [2026-07-18 19:13:07.950]: [INFO]: service: listening on port 42663
|
|
10422
|
+
ase: [2026-07-18 19:13:08.012]: [INFO]: mcp: POST /mcp [initialize]
|
|
10423
|
+
ase: [2026-07-18 19:13:08.028]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10424
|
+
ase: [2026-07-18 19:13:08.034]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10425
|
+
ase: [2026-07-18 19:13:08.040]: [INFO]: mcp: GET /mcp
|
|
10426
|
+
ase: [2026-07-18 19:17:52.826]: [INFO]: mcp: POST /mcp [initialize]
|
|
10427
|
+
ase: [2026-07-18 19:17:52.837]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10428
|
+
ase: [2026-07-18 19:17:52.842]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10429
|
+
ase: [2026-07-18 19:17:52.847]: [INFO]: mcp: GET /mcp
|
|
10430
|
+
ase: [2026-07-18 19:21:52.488]: [INFO]: mcp: POST /mcp [initialize]
|
|
10431
|
+
ase: [2026-07-18 19:21:52.497]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10432
|
+
ase: [2026-07-18 19:21:52.501]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10433
|
+
ase: [2026-07-18 19:21:52.507]: [INFO]: mcp: GET /mcp
|
|
10434
|
+
ase: [2026-07-18 19:27:02.773]: [INFO]: mcp: POST /mcp [initialize]
|
|
10435
|
+
ase: [2026-07-18 19:27:02.783]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10436
|
+
ase: [2026-07-18 19:27:02.786]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10437
|
+
ase: [2026-07-18 19:27:02.789]: [INFO]: mcp: GET /mcp
|
|
10438
|
+
ase: [2026-07-18 19:32:16.666]: [INFO]: mcp: POST /mcp [initialize]
|
|
10439
|
+
ase: [2026-07-18 19:32:16.682]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10440
|
+
ase: [2026-07-18 19:32:16.685]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10441
|
+
ase: [2026-07-18 19:32:16.688]: [INFO]: mcp: GET /mcp
|
|
10442
|
+
ase: [2026-07-18 19:37:18.662]: [INFO]: mcp: GET /mcp
|
|
10443
|
+
ase: [2026-07-18 19:39:00.159]: [INFO]: mcp: POST /mcp [initialize]
|
|
10444
|
+
ase: [2026-07-18 19:39:00.168]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10445
|
+
ase: [2026-07-18 19:39:00.171]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10446
|
+
ase: [2026-07-18 19:39:00.181]: [INFO]: mcp: GET /mcp
|
|
10447
|
+
ase: [2026-07-18 19:41:08.057]: [INFO]: mcp: POST /mcp [initialize]
|
|
10448
|
+
ase: [2026-07-18 19:41:08.065]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10449
|
+
ase: [2026-07-18 19:41:08.068]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10450
|
+
ase: [2026-07-18 19:41:08.073]: [INFO]: mcp: GET /mcp
|
|
10451
|
+
ase: [2026-07-18 19:45:47.456]: [INFO]: mcp: POST /mcp [initialize]
|
|
10452
|
+
ase: [2026-07-18 19:45:47.465]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10453
|
+
ase: [2026-07-18 19:45:47.467]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10454
|
+
ase: [2026-07-18 19:45:47.471]: [INFO]: mcp: GET /mcp
|
|
10455
|
+
ase: [2026-07-18 19:48:24.820]: [INFO]: mcp: POST /mcp [initialize]
|
|
10456
|
+
ase: [2026-07-18 19:48:24.828]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10457
|
+
ase: [2026-07-18 19:48:24.831]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10458
|
+
ase: [2026-07-18 19:48:24.835]: [INFO]: mcp: GET /mcp
|
|
10459
|
+
ase: [2026-07-18 19:53:26.793]: [INFO]: mcp: GET /mcp
|
|
10460
|
+
ase: [2026-07-18 19:58:28.676]: [INFO]: mcp: GET /mcp
|
|
10461
|
+
ase: [2026-07-18 20:03:30.630]: [INFO]: mcp: GET /mcp
|
|
10462
|
+
ase: [2026-07-18 20:08:32.595]: [INFO]: mcp: GET /mcp
|
|
10463
|
+
ase: [2026-07-18 20:09:31.838]: [INFO]: mcp: POST /mcp [initialize]
|
|
10464
|
+
ase: [2026-07-18 20:09:31.845]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10465
|
+
ase: [2026-07-18 20:09:31.848]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10466
|
+
ase: [2026-07-18 20:09:31.853]: [INFO]: mcp: GET /mcp
|
|
10467
|
+
ase: [2026-07-18 20:12:54.295]: [INFO]: mcp: POST /mcp [initialize]
|
|
10468
|
+
ase: [2026-07-18 20:12:54.303]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10469
|
+
ase: [2026-07-18 20:12:54.306]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10470
|
+
ase: [2026-07-18 20:12:54.313]: [INFO]: mcp: GET /mcp
|
|
10471
|
+
ase: [2026-07-18 20:17:56.255]: [INFO]: mcp: GET /mcp
|
|
10472
|
+
ase: [2026-07-18 20:22:58.235]: [INFO]: mcp: GET /mcp
|
|
10473
|
+
ase: [2026-07-18 20:28:00.333]: [INFO]: mcp: GET /mcp
|
|
10474
|
+
ase: [2026-07-18 20:33:02.702]: [INFO]: mcp: GET /mcp
|
|
10475
|
+
ase: [2026-07-18 20:38:05.082]: [INFO]: mcp: GET /mcp
|
|
10476
|
+
ase: [2026-07-18 20:43:07.438]: [INFO]: mcp: GET /mcp
|
|
10477
|
+
ase: [2026-07-18 20:48:09.789]: [INFO]: mcp: GET /mcp
|
|
10478
|
+
ase: [2026-07-18 20:53:12.127]: [INFO]: mcp: GET /mcp
|
|
10479
|
+
ase: [2026-07-18 20:58:14.445]: [INFO]: mcp: GET /mcp
|
|
10480
|
+
ase: [2026-07-18 21:03:16.774]: [INFO]: mcp: GET /mcp
|
|
10481
|
+
ase: [2026-07-18 21:08:19.022]: [INFO]: mcp: GET /mcp
|
|
10482
|
+
ase: [2026-07-18 21:13:21.377]: [INFO]: mcp: GET /mcp
|
|
10483
|
+
ase: [2026-07-18 21:18:23.697]: [INFO]: mcp: GET /mcp
|
|
10484
|
+
ase: [2026-07-18 21:23:26.004]: [INFO]: mcp: GET /mcp
|
|
10485
|
+
ase: [2026-07-18 21:28:28.343]: [INFO]: mcp: GET /mcp
|
|
10486
|
+
ase: [2026-07-18 21:33:30.651]: [INFO]: mcp: GET /mcp
|
|
10487
|
+
ase: [2026-07-18 21:38:32.985]: [INFO]: mcp: GET /mcp
|
|
10488
|
+
ase: [2026-07-18 21:43:35.361]: [INFO]: mcp: GET /mcp
|
|
10489
|
+
ase: [2026-07-18 21:48:37.667]: [INFO]: mcp: GET /mcp
|
|
10490
|
+
ase: [2026-07-18 21:53:39.989]: [INFO]: mcp: GET /mcp
|
|
10491
|
+
ase: [2026-07-18 21:58:42.366]: [INFO]: mcp: GET /mcp
|
|
10492
|
+
ase: [2026-07-18 22:03:44.669]: [INFO]: mcp: GET /mcp
|
|
10493
|
+
ase: [2026-07-18 22:08:47.012]: [INFO]: mcp: GET /mcp
|
|
10494
|
+
ase: [2026-07-18 22:13:49.343]: [INFO]: mcp: GET /mcp
|
|
10495
|
+
ase: [2026-07-18 22:18:51.645]: [INFO]: mcp: GET /mcp
|
|
10496
|
+
ase: [2026-07-18 22:23:53.941]: [INFO]: mcp: GET /mcp
|
|
10497
|
+
ase: [2026-07-18 22:28:56.270]: [INFO]: mcp: GET /mcp
|
|
10498
|
+
ase: [2026-07-18 22:33:58.568]: [INFO]: mcp: GET /mcp
|
|
10499
|
+
ase: [2026-07-18 22:39:00.913]: [INFO]: mcp: GET /mcp
|
|
10500
|
+
ase: [2026-07-18 22:44:03.237]: [INFO]: mcp: GET /mcp
|
|
10501
|
+
ase: [2026-07-18 22:49:05.561]: [INFO]: mcp: GET /mcp
|
|
10502
|
+
ase: [2026-07-18 22:54:07.846]: [INFO]: mcp: GET /mcp
|
|
10503
|
+
ase: [2026-07-18 23:03:36.527]: [INFO]: mcp: POST /mcp [initialize]
|
|
10504
|
+
ase: [2026-07-18 23:03:36.534]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10505
|
+
ase: [2026-07-18 23:03:36.537]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10506
|
+
ase: [2026-07-18 23:03:36.540]: [INFO]: mcp: GET /mcp
|
|
10507
|
+
ase: [2026-07-18 23:05:25.695]: [INFO]: mcp: POST /mcp [tools/call] ase_config_set {"key":"agent.skill","val":"ase-code-lint","scope":"session:ac2d5a7e-6a01-43ec-98cc-21f01d5a25ff"}
|
|
10508
|
+
ase: [2026-07-18 23:08:38.482]: [INFO]: mcp: GET /mcp
|
|
10509
|
+
ase: [2026-07-18 23:13:40.449]: [INFO]: mcp: GET /mcp
|
|
10510
|
+
ase: [2026-07-18 23:18:42.437]: [INFO]: mcp: GET /mcp
|
|
10511
|
+
ase: [2026-07-18 23:23:44.419]: [INFO]: mcp: GET /mcp
|
|
10512
|
+
ase: [2026-07-18 23:28:46.388]: [INFO]: mcp: GET /mcp
|
|
10513
|
+
ase: [2026-07-18 23:33:48.345]: [INFO]: mcp: GET /mcp
|
|
10514
|
+
ase: [2026-07-18 23:38:50.308]: [INFO]: mcp: GET /mcp
|
|
10515
|
+
ase: [2026-07-18 23:43:52.293]: [INFO]: mcp: GET /mcp
|
|
10516
|
+
ase: [2026-07-18 23:48:54.258]: [INFO]: mcp: GET /mcp
|
|
10517
|
+
ase: [2026-07-18 23:53:56.206]: [INFO]: mcp: GET /mcp
|
|
10518
|
+
ase: [2026-07-18 23:58:58.167]: [INFO]: mcp: GET /mcp
|
|
10519
|
+
ase: [2026-07-19 00:04:00.139]: [INFO]: mcp: GET /mcp
|
|
10520
|
+
ase: [2026-07-19 00:09:02.109]: [INFO]: mcp: GET /mcp
|
|
10521
|
+
ase: [2026-07-19 00:14:04.060]: [INFO]: mcp: GET /mcp
|
|
10522
|
+
ase: [2026-07-19 00:19:06.038]: [INFO]: mcp: GET /mcp
|
|
10523
|
+
ase: [2026-07-19 00:24:07.977]: [INFO]: mcp: GET /mcp
|
|
10524
|
+
ase: [2026-07-19 00:29:09.950]: [INFO]: mcp: GET /mcp
|
|
10525
|
+
ase: [2026-07-19 00:34:11.936]: [INFO]: mcp: GET /mcp
|
|
10526
|
+
ase: [2026-07-19 00:39:13.917]: [INFO]: mcp: GET /mcp
|
|
10527
|
+
ase: [2026-07-19 00:44:15.876]: [INFO]: mcp: GET /mcp
|
|
10528
|
+
ase: [2026-07-19 00:49:17.838]: [INFO]: mcp: GET /mcp
|
|
10529
|
+
ase: [2026-07-19 00:54:19.799]: [INFO]: mcp: GET /mcp
|
|
10530
|
+
ase: [2026-07-19 00:59:21.760]: [INFO]: mcp: GET /mcp
|
|
10531
|
+
ase: [2026-07-19 01:04:23.732]: [INFO]: mcp: GET /mcp
|
|
10532
|
+
ase: [2026-07-19 01:09:25.700]: [INFO]: mcp: GET /mcp
|
|
10533
|
+
ase: [2026-07-19 01:14:27.687]: [INFO]: mcp: GET /mcp
|
|
10534
|
+
ase: [2026-07-19 01:19:29.656]: [INFO]: mcp: GET /mcp
|
|
10535
|
+
ase: [2026-07-19 01:24:31.640]: [INFO]: mcp: GET /mcp
|
|
10536
|
+
ase: [2026-07-19 01:29:33.606]: [INFO]: mcp: GET /mcp
|
|
10537
|
+
ase: [2026-07-19 01:34:35.573]: [INFO]: mcp: GET /mcp
|
|
10538
|
+
ase: [2026-07-19 01:39:37.539]: [INFO]: mcp: GET /mcp
|
|
10539
|
+
ase: [2026-07-19 01:44:39.649]: [INFO]: mcp: GET /mcp
|
|
10540
|
+
ase: [2026-07-19 01:49:41.953]: [INFO]: mcp: GET /mcp
|
|
10541
|
+
ase: [2026-07-19 01:54:44.251]: [INFO]: mcp: GET /mcp
|
|
10542
|
+
ase: [2026-07-19 01:59:46.575]: [INFO]: mcp: GET /mcp
|
|
10543
|
+
ase: [2026-07-19 02:04:48.830]: [INFO]: mcp: GET /mcp
|
|
10544
|
+
ase: [2026-07-19 02:09:51.115]: [INFO]: mcp: GET /mcp
|
|
10545
|
+
ase: [2026-07-19 02:14:53.427]: [INFO]: mcp: GET /mcp
|
|
10546
|
+
ase: [2026-07-19 02:19:55.801]: [INFO]: mcp: GET /mcp
|
|
10547
|
+
ase: [2026-07-19 02:24:58.129]: [INFO]: mcp: GET /mcp
|
|
10548
|
+
ase: [2026-07-19 02:30:00.469]: [INFO]: mcp: GET /mcp
|
|
10549
|
+
ase: [2026-07-19 02:35:02.774]: [INFO]: mcp: GET /mcp
|
|
10550
|
+
ase: [2026-07-19 02:40:05.111]: [INFO]: mcp: GET /mcp
|
|
10551
|
+
ase: [2026-07-19 02:45:07.407]: [INFO]: mcp: GET /mcp
|
|
10552
|
+
ase: [2026-07-19 02:50:09.182]: [INFO]: mcp: GET /mcp
|
|
10553
|
+
ase: [2026-07-19 02:55:11.455]: [INFO]: mcp: GET /mcp
|
|
10554
|
+
ase: [2026-07-19 03:00:13.772]: [INFO]: mcp: GET /mcp
|
|
10555
|
+
ase: [2026-07-19 03:05:16.062]: [INFO]: mcp: GET /mcp
|
|
10556
|
+
ase: [2026-07-19 03:10:18.373]: [INFO]: mcp: GET /mcp
|
|
10557
|
+
ase: [2026-07-19 03:15:20.679]: [INFO]: mcp: GET /mcp
|
|
10558
|
+
ase: [2026-07-19 03:20:22.984]: [INFO]: mcp: GET /mcp
|
|
10559
|
+
ase: [2026-07-19 03:25:25.272]: [INFO]: mcp: GET /mcp
|
|
10560
|
+
ase: [2026-07-19 03:30:27.599]: [INFO]: mcp: GET /mcp
|
|
10561
|
+
ase: [2026-07-19 03:35:29.939]: [INFO]: mcp: GET /mcp
|
|
10562
|
+
ase: [2026-07-19 03:40:32.263]: [INFO]: mcp: GET /mcp
|
|
10563
|
+
ase: [2026-07-19 03:45:34.566]: [INFO]: mcp: GET /mcp
|
|
10564
|
+
ase: [2026-07-19 03:50:36.898]: [INFO]: mcp: GET /mcp
|
|
10565
|
+
ase: [2026-07-19 03:55:39.211]: [INFO]: mcp: GET /mcp
|
|
10566
|
+
ase: [2026-07-19 04:00:41.521]: [INFO]: mcp: GET /mcp
|
|
10567
|
+
ase: [2026-07-19 04:05:43.812]: [INFO]: mcp: GET /mcp
|
|
10568
|
+
ase: [2026-07-19 04:10:46.114]: [INFO]: mcp: GET /mcp
|
|
10569
|
+
ase: [2026-07-19 04:15:48.443]: [INFO]: mcp: GET /mcp
|
|
10570
|
+
ase: [2026-07-19 04:20:50.767]: [INFO]: mcp: GET /mcp
|
|
10571
|
+
ase: [2026-07-19 04:25:53.061]: [INFO]: mcp: GET /mcp
|
|
10572
|
+
ase: [2026-07-19 04:30:55.394]: [INFO]: mcp: GET /mcp
|
|
10573
|
+
ase: [2026-07-19 04:35:57.709]: [INFO]: mcp: GET /mcp
|
|
10574
|
+
ase: [2026-07-19 04:41:00.044]: [INFO]: mcp: GET /mcp
|
|
10575
|
+
ase: [2026-07-19 04:46:02.345]: [INFO]: mcp: GET /mcp
|
|
10576
|
+
ase: [2026-07-19 04:51:04.672]: [INFO]: mcp: GET /mcp
|
|
10577
|
+
ase: [2026-07-19 04:56:06.953]: [INFO]: mcp: GET /mcp
|
|
10578
|
+
ase: [2026-07-19 05:01:09.268]: [INFO]: mcp: GET /mcp
|
|
10579
|
+
ase: [2026-07-19 05:06:11.576]: [INFO]: mcp: GET /mcp
|
|
10580
|
+
ase: [2026-07-19 05:11:13.924]: [INFO]: mcp: GET /mcp
|
|
10581
|
+
ase: [2026-07-19 05:16:16.216]: [INFO]: mcp: GET /mcp
|
|
10582
|
+
ase: [2026-07-19 05:21:18.559]: [INFO]: mcp: GET /mcp
|
|
10583
|
+
ase: [2026-07-19 05:26:20.891]: [INFO]: mcp: GET /mcp
|
|
10584
|
+
ase: [2026-07-19 05:31:23.212]: [INFO]: mcp: GET /mcp
|
|
10585
|
+
ase: [2026-07-19 05:36:25.512]: [INFO]: mcp: GET /mcp
|
|
10586
|
+
ase: [2026-07-19 05:41:27.844]: [INFO]: mcp: GET /mcp
|
|
10587
|
+
ase: [2026-07-19 05:46:30.146]: [INFO]: mcp: GET /mcp
|
|
10588
|
+
ase: [2026-07-19 05:51:32.483]: [INFO]: mcp: GET /mcp
|
|
10589
|
+
ase: [2026-07-19 05:56:34.783]: [INFO]: mcp: GET /mcp
|
|
10590
|
+
ase: [2026-07-19 06:01:37.078]: [INFO]: mcp: GET /mcp
|
|
10591
|
+
ase: [2026-07-19 06:06:39.381]: [INFO]: mcp: GET /mcp
|
|
10592
|
+
ase: [2026-07-19 06:11:41.653]: [INFO]: mcp: GET /mcp
|
|
10593
|
+
ase: [2026-07-19 06:16:43.962]: [INFO]: mcp: GET /mcp
|
|
10594
|
+
ase: [2026-07-19 06:21:46.289]: [INFO]: mcp: GET /mcp
|
|
10595
|
+
ase: [2026-07-19 06:26:48.599]: [INFO]: mcp: GET /mcp
|
|
10596
|
+
ase: [2026-07-19 06:31:50.916]: [INFO]: mcp: GET /mcp
|
|
10597
|
+
ase: [2026-07-19 06:36:53.248]: [INFO]: mcp: GET /mcp
|
|
10598
|
+
ase: [2026-07-19 06:41:55.532]: [INFO]: mcp: GET /mcp
|
|
10599
|
+
ase: [2026-07-19 06:46:57.871]: [INFO]: mcp: GET /mcp
|
|
10600
|
+
ase: [2026-07-19 06:52:00.191]: [INFO]: mcp: GET /mcp
|
|
10601
|
+
ase: [2026-07-19 06:57:02.486]: [INFO]: mcp: GET /mcp
|
|
10602
|
+
ase: [2026-07-19 07:02:04.819]: [INFO]: mcp: GET /mcp
|
|
10603
|
+
ase: [2026-07-19 07:07:07.129]: [INFO]: mcp: GET /mcp
|
|
10604
|
+
ase: [2026-07-19 07:12:09.456]: [INFO]: mcp: GET /mcp
|
|
10605
|
+
ase: [2026-07-19 07:17:11.782]: [INFO]: mcp: GET /mcp
|
|
10606
|
+
ase: [2026-07-19 07:22:14.083]: [INFO]: mcp: GET /mcp
|
|
10607
|
+
ase: [2026-07-19 07:27:16.418]: [INFO]: mcp: GET /mcp
|
|
10608
|
+
ase: [2026-07-19 07:32:18.721]: [INFO]: mcp: GET /mcp
|
|
10609
|
+
ase: [2026-07-19 07:37:21.080]: [INFO]: mcp: GET /mcp
|
|
10610
|
+
ase: [2026-07-19 07:42:23.396]: [INFO]: mcp: GET /mcp
|
|
10611
|
+
ase: [2026-07-19 07:47:25.695]: [INFO]: mcp: GET /mcp
|
|
10612
|
+
ase: [2026-07-19 07:52:28.032]: [INFO]: mcp: GET /mcp
|
|
10613
|
+
ase: [2026-07-19 07:57:30.379]: [INFO]: mcp: GET /mcp
|
|
10614
|
+
ase: [2026-07-19 08:02:32.665]: [INFO]: mcp: GET /mcp
|
|
10615
|
+
ase: [2026-07-19 08:07:35.007]: [INFO]: mcp: GET /mcp
|
|
10616
|
+
ase: [2026-07-19 08:12:37.342]: [INFO]: mcp: GET /mcp
|
|
10617
|
+
ase: [2026-07-19 08:17:39.664]: [INFO]: mcp: GET /mcp
|
|
10618
|
+
ase: [2026-07-19 08:22:41.985]: [INFO]: mcp: GET /mcp
|
|
10619
|
+
ase: [2026-07-19 08:27:44.289]: [INFO]: mcp: GET /mcp
|
|
10620
|
+
ase: [2026-07-19 08:32:46.599]: [INFO]: mcp: GET /mcp
|
|
10621
|
+
ase: [2026-07-19 08:37:48.934]: [INFO]: mcp: GET /mcp
|
|
10622
|
+
ase: [2026-07-19 08:42:51.263]: [INFO]: mcp: GET /mcp
|
|
10623
|
+
ase: [2026-07-19 08:47:53.614]: [INFO]: mcp: GET /mcp
|
|
10624
|
+
ase: [2026-07-19 08:52:55.931]: [INFO]: mcp: GET /mcp
|
|
10625
|
+
ase: [2026-07-19 08:57:58.220]: [INFO]: mcp: GET /mcp
|
|
10626
|
+
ase: [2026-07-19 09:03:00.524]: [INFO]: mcp: GET /mcp
|
|
10627
|
+
ase: [2026-07-19 09:08:02.805]: [INFO]: mcp: GET /mcp
|
|
10628
|
+
ase: [2026-07-19 09:13:05.125]: [INFO]: mcp: GET /mcp
|
|
10629
|
+
ase: [2026-07-19 09:18:07.461]: [INFO]: mcp: GET /mcp
|
|
10630
|
+
ase: [2026-07-19 09:23:09.789]: [INFO]: mcp: GET /mcp
|
|
10631
|
+
ase: [2026-07-19 09:28:12.108]: [INFO]: mcp: GET /mcp
|
|
10632
|
+
ase: [2026-07-19 09:33:14.441]: [INFO]: mcp: GET /mcp
|
|
10633
|
+
ase: [2026-07-19 09:38:16.728]: [INFO]: mcp: GET /mcp
|
|
10634
|
+
ase: [2026-07-19 09:43:18.928]: [INFO]: mcp: GET /mcp
|
|
10635
|
+
ase: [2026-07-19 09:48:20.918]: [INFO]: mcp: GET /mcp
|
|
10636
|
+
ase: [2026-07-19 09:53:22.886]: [INFO]: mcp: GET /mcp
|
|
10637
|
+
ase: [2026-07-19 09:58:24.871]: [INFO]: mcp: GET /mcp
|
|
10638
|
+
ase: [2026-07-19 10:03:26.841]: [INFO]: mcp: GET /mcp
|
|
10639
|
+
ase: [2026-07-19 10:08:28.827]: [INFO]: mcp: GET /mcp
|
|
10640
|
+
ase: [2026-07-19 10:13:30.808]: [INFO]: mcp: GET /mcp
|
|
10641
|
+
ase: [2026-07-19 10:18:32.776]: [INFO]: mcp: GET /mcp
|
|
10642
|
+
ase: [2026-07-19 10:23:34.759]: [INFO]: mcp: GET /mcp
|
|
10643
|
+
ase: [2026-07-19 10:28:36.759]: [INFO]: mcp: GET /mcp
|
|
10644
|
+
ase: [2026-07-19 10:33:38.735]: [INFO]: mcp: GET /mcp
|
|
10645
|
+
ase: [2026-07-19 10:38:40.725]: [INFO]: mcp: GET /mcp
|
|
10646
|
+
ase: [2026-07-19 10:43:42.710]: [INFO]: mcp: GET /mcp
|
|
10647
|
+
ase: [2026-07-19 10:48:44.695]: [INFO]: mcp: GET /mcp
|
|
10648
|
+
ase: [2026-07-19 10:53:46.666]: [INFO]: mcp: GET /mcp
|
|
10649
|
+
ase: [2026-07-19 10:58:48.653]: [INFO]: mcp: GET /mcp
|
|
10650
|
+
ase: [2026-07-19 11:03:50.629]: [INFO]: mcp: GET /mcp
|
|
10651
|
+
ase: [2026-07-19 11:08:52.634]: [INFO]: mcp: GET /mcp
|
|
10652
|
+
ase: [2026-07-19 11:13:54.631]: [INFO]: mcp: GET /mcp
|
|
10653
|
+
ase: [2026-07-19 11:18:56.599]: [INFO]: mcp: GET /mcp
|
|
10654
|
+
ase: [2026-07-19 11:23:58.572]: [INFO]: mcp: GET /mcp
|
|
10655
|
+
ase: [2026-07-19 11:29:00.553]: [INFO]: mcp: GET /mcp
|
|
10656
|
+
ase: [2026-07-19 11:34:02.534]: [INFO]: mcp: GET /mcp
|
|
10657
|
+
ase: [2026-07-19 11:39:04.506]: [INFO]: mcp: GET /mcp
|
|
10658
|
+
ase: [2026-07-19 11:44:06.470]: [INFO]: mcp: GET /mcp
|
|
10659
|
+
ase: [2026-07-19 11:49:08.443]: [INFO]: mcp: GET /mcp
|
|
10660
|
+
ase: [2026-07-19 11:54:10.490]: [INFO]: mcp: GET /mcp
|
|
10661
|
+
ase: [2026-07-19 11:59:12.870]: [INFO]: mcp: GET /mcp
|
|
10662
|
+
ase: [2026-07-19 12:04:15.216]: [INFO]: mcp: GET /mcp
|
|
10663
|
+
ase: [2026-07-19 12:09:17.537]: [INFO]: mcp: GET /mcp
|
|
10664
|
+
ase: [2026-07-19 12:14:19.863]: [INFO]: mcp: GET /mcp
|
|
10665
|
+
ase: [2026-07-19 12:19:22.189]: [INFO]: mcp: GET /mcp
|
|
10666
|
+
ase: [2026-07-19 12:24:24.501]: [INFO]: mcp: GET /mcp
|
|
10667
|
+
ase: [2026-07-19 12:29:26.848]: [INFO]: mcp: GET /mcp
|
|
10668
|
+
ase: [2026-07-19 12:34:29.176]: [INFO]: mcp: GET /mcp
|
|
10669
|
+
ase: [2026-07-19 12:39:31.506]: [INFO]: mcp: GET /mcp
|
|
10670
|
+
ase: [2026-07-19 12:44:33.811]: [INFO]: mcp: GET /mcp
|
|
10671
|
+
ase: [2026-07-19 12:49:35.796]: [INFO]: mcp: GET /mcp
|
|
10672
|
+
ase: [2026-07-19 12:54:37.780]: [INFO]: mcp: GET /mcp
|
|
10673
|
+
ase: [2026-07-19 12:59:39.766]: [INFO]: mcp: GET /mcp
|
|
10674
|
+
ase: [2026-07-19 13:04:41.722]: [INFO]: mcp: GET /mcp
|
|
10675
|
+
ase: [2026-07-19 13:09:43.736]: [INFO]: mcp: GET /mcp
|
|
10676
|
+
ase: [2026-07-19 13:14:45.782]: [INFO]: mcp: GET /mcp
|
|
10677
|
+
ase: [2026-07-19 13:19:48.099]: [INFO]: mcp: GET /mcp
|
|
10678
|
+
ase: [2026-07-19 13:24:50.094]: [INFO]: mcp: GET /mcp
|
|
10679
|
+
ase: [2026-07-19 13:29:52.060]: [INFO]: mcp: GET /mcp
|
|
10680
|
+
ase: [2026-07-19 13:34:54.029]: [INFO]: mcp: GET /mcp
|
|
10681
|
+
ase: [2026-07-19 13:39:55.984]: [INFO]: mcp: GET /mcp
|
|
10682
|
+
ase: [2026-07-19 13:44:57.961]: [INFO]: mcp: GET /mcp
|
|
10683
|
+
ase: [2026-07-19 13:49:59.925]: [INFO]: mcp: GET /mcp
|
|
10684
|
+
ase: [2026-07-19 13:55:01.899]: [INFO]: mcp: GET /mcp
|
|
10685
|
+
ase: [2026-07-19 14:00:03.865]: [INFO]: mcp: GET /mcp
|
|
10686
|
+
ase: [2026-07-19 14:05:05.819]: [INFO]: mcp: GET /mcp
|
|
10687
|
+
ase: [2026-07-19 14:10:07.768]: [INFO]: mcp: GET /mcp
|
|
10688
|
+
ase: [2026-07-19 14:15:09.756]: [INFO]: mcp: GET /mcp
|
|
10689
|
+
ase: [2026-07-19 14:20:11.704]: [INFO]: mcp: GET /mcp
|
|
10690
|
+
ase: [2026-07-19 14:25:13.704]: [INFO]: mcp: GET /mcp
|
|
10691
|
+
ase: [2026-07-19 14:30:15.695]: [INFO]: mcp: GET /mcp
|
|
10692
|
+
ase: [2026-07-19 14:35:17.672]: [INFO]: mcp: GET /mcp
|
|
10693
|
+
ase: [2026-07-19 14:40:19.639]: [INFO]: mcp: GET /mcp
|
|
10694
|
+
ase: [2026-07-19 14:45:21.611]: [INFO]: mcp: GET /mcp
|
|
10695
|
+
ase: [2026-07-19 14:50:23.575]: [INFO]: mcp: GET /mcp
|
|
10696
|
+
ase: [2026-07-19 14:55:25.537]: [INFO]: mcp: GET /mcp
|
|
10697
|
+
ase: [2026-07-19 15:00:27.524]: [INFO]: mcp: GET /mcp
|
|
10698
|
+
ase: [2026-07-19 15:05:29.527]: [INFO]: mcp: GET /mcp
|
|
10699
|
+
ase: [2026-07-19 15:10:31.512]: [INFO]: mcp: GET /mcp
|
|
10700
|
+
ase: [2026-07-19 15:15:33.495]: [INFO]: mcp: GET /mcp
|
|
10701
|
+
ase: [2026-07-19 15:20:35.462]: [INFO]: mcp: GET /mcp
|
|
10702
|
+
ase: [2026-07-19 15:25:37.445]: [INFO]: mcp: GET /mcp
|
|
10703
|
+
ase: [2026-07-19 15:30:39.423]: [INFO]: mcp: GET /mcp
|
|
10704
|
+
ase: [2026-07-19 15:35:41.373]: [INFO]: mcp: GET /mcp
|
|
10705
|
+
ase: [2026-07-19 15:40:43.309]: [INFO]: mcp: GET /mcp
|
|
10706
|
+
ase: [2026-07-19 15:45:45.265]: [INFO]: mcp: GET /mcp
|
|
10707
|
+
ase: [2026-07-19 15:50:47.251]: [INFO]: mcp: GET /mcp
|
|
10708
|
+
ase: [2026-07-19 15:55:49.242]: [INFO]: mcp: GET /mcp
|
|
10709
|
+
ase: [2026-07-19 16:00:51.232]: [INFO]: mcp: GET /mcp
|
|
10710
|
+
ase: [2026-07-19 16:05:53.202]: [INFO]: mcp: GET /mcp
|
|
10711
|
+
ase: [2026-07-19 16:10:55.330]: [INFO]: mcp: GET /mcp
|
|
10712
|
+
ase: [2026-07-19 16:15:57.620]: [INFO]: mcp: GET /mcp
|
|
10713
|
+
ase: [2026-07-19 16:20:59.968]: [INFO]: mcp: GET /mcp
|
|
10714
|
+
ase: [2026-07-19 16:26:02.315]: [INFO]: mcp: GET /mcp
|
|
10715
|
+
ase: [2026-07-19 16:31:04.644]: [INFO]: mcp: GET /mcp
|
|
10716
|
+
ase: [2026-07-19 16:36:06.935]: [INFO]: mcp: GET /mcp
|
|
10717
|
+
ase: [2026-07-19 16:41:09.287]: [INFO]: mcp: GET /mcp
|
|
10718
|
+
ase: [2026-07-19 16:46:10.988]: [INFO]: mcp: GET /mcp
|
|
10719
|
+
ase: [2026-07-19 16:51:12.962]: [INFO]: mcp: GET /mcp
|
|
10720
|
+
ase: [2026-07-19 16:56:14.964]: [INFO]: mcp: GET /mcp
|
|
10721
|
+
ase: [2026-07-19 17:01:16.936]: [INFO]: mcp: GET /mcp
|
|
10722
|
+
ase: [2026-07-19 17:06:18.968]: [INFO]: mcp: GET /mcp
|
|
10723
|
+
ase: [2026-07-19 17:11:21.257]: [INFO]: mcp: GET /mcp
|
|
10724
|
+
ase: [2026-07-19 17:16:23.556]: [INFO]: mcp: GET /mcp
|
|
10725
|
+
ase: [2026-07-19 17:21:25.872]: [INFO]: mcp: GET /mcp
|
|
10726
|
+
ase: [2026-07-19 17:26:28.206]: [INFO]: mcp: GET /mcp
|
|
10727
|
+
ase: [2026-07-19 17:31:30.505]: [INFO]: mcp: GET /mcp
|
|
10728
|
+
ase: [2026-07-19 17:36:32.812]: [INFO]: mcp: GET /mcp
|
|
10729
|
+
ase: [2026-07-19 17:41:35.111]: [INFO]: mcp: GET /mcp
|
|
10730
|
+
ase: [2026-07-19 17:46:37.394]: [INFO]: mcp: GET /mcp
|
|
10731
|
+
ase: [2026-07-19 17:51:39.523]: [INFO]: mcp: GET /mcp
|
|
10732
|
+
ase: [2026-07-19 17:56:41.521]: [INFO]: mcp: GET /mcp
|
|
10733
|
+
ase: [2026-07-19 18:01:43.464]: [INFO]: mcp: GET /mcp
|
|
10734
|
+
ase: [2026-07-19 18:06:45.412]: [INFO]: mcp: GET /mcp
|
|
10735
|
+
ase: [2026-07-19 18:11:47.354]: [INFO]: mcp: GET /mcp
|
|
10736
|
+
ase: [2026-07-19 18:16:49.304]: [INFO]: mcp: GET /mcp
|
|
10737
|
+
ase: [2026-07-19 18:21:51.238]: [INFO]: mcp: GET /mcp
|
|
10738
|
+
ase: [2026-07-19 18:26:53.197]: [INFO]: mcp: GET /mcp
|
|
10739
|
+
ase: [2026-07-19 18:31:55.242]: [INFO]: mcp: GET /mcp
|
|
10740
|
+
ase: [2026-07-19 18:36:57.571]: [INFO]: mcp: GET /mcp
|
|
10741
|
+
ase: [2026-07-19 18:41:59.956]: [INFO]: mcp: GET /mcp
|
|
10742
|
+
ase: [2026-07-19 18:47:02.285]: [INFO]: mcp: GET /mcp
|
|
10743
|
+
ase: [2026-07-19 18:52:04.364]: [INFO]: mcp: GET /mcp
|
|
10744
|
+
ase: [2026-07-19 18:57:06.348]: [INFO]: mcp: GET /mcp
|
|
10745
|
+
ase: [2026-07-19 19:02:08.323]: [INFO]: mcp: GET /mcp
|
|
10746
|
+
ase: [2026-07-19 19:07:10.305]: [INFO]: mcp: GET /mcp
|
|
10747
|
+
ase: [2026-07-19 19:12:12.284]: [INFO]: mcp: GET /mcp
|
|
10748
|
+
ase: [2026-07-19 19:17:14.265]: [INFO]: mcp: GET /mcp
|
|
10749
|
+
ase: [2026-07-19 19:22:16.184]: [INFO]: mcp: GET /mcp
|
|
10750
|
+
ase: [2026-07-19 19:27:18.153]: [INFO]: mcp: GET /mcp
|
|
10751
|
+
ase: [2026-07-19 19:32:20.131]: [INFO]: mcp: GET /mcp
|
|
10752
|
+
ase: [2026-07-19 19:37:22.097]: [INFO]: mcp: GET /mcp
|
|
10753
|
+
ase: [2026-07-19 19:42:24.066]: [INFO]: mcp: GET /mcp
|
|
10754
|
+
ase: [2026-07-19 19:47:26.034]: [INFO]: mcp: GET /mcp
|
|
10755
|
+
ase: [2026-07-19 19:52:28.006]: [INFO]: mcp: GET /mcp
|
|
10756
|
+
ase: [2026-07-19 19:57:30.014]: [INFO]: mcp: GET /mcp
|
|
10757
|
+
ase: [2026-07-19 20:02:31.981]: [INFO]: mcp: GET /mcp
|
|
10758
|
+
ase: [2026-07-19 20:07:33.927]: [INFO]: mcp: GET /mcp
|
|
10759
|
+
ase: [2026-07-19 20:12:35.902]: [INFO]: mcp: GET /mcp
|
|
10760
|
+
ase: [2026-07-19 20:13:55.644]: [INFO]: mcp: POST /mcp [tools/call] ase_config_delete {"key":"agent.skill","scope":"session:ac2d5a7e-6a01-43ec-98cc-21f01d5a25ff"}
|
|
10761
|
+
ase: [2026-07-19 20:46:09.548]: [INFO]: service: idle timeout reached, stopping
|
|
10762
|
+
ase: [2026-07-23 18:20:15.867]: [INFO]: service: listening on port 43501
|
|
10763
|
+
ase: [2026-07-23 18:20:15.930]: [INFO]: mcp: POST /mcp [initialize]
|
|
10764
|
+
ase: [2026-07-23 18:20:15.944]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10765
|
+
ase: [2026-07-23 18:20:15.949]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10766
|
+
ase: [2026-07-23 18:20:15.954]: [INFO]: mcp: GET /mcp
|
|
10767
|
+
ase: [2026-07-23 18:25:17.888]: [INFO]: mcp: GET /mcp
|
|
10768
|
+
ase: [2026-07-23 18:30:19.824]: [INFO]: mcp: GET /mcp
|
|
10769
|
+
ase: [2026-07-23 18:35:21.757]: [INFO]: mcp: GET /mcp
|
|
10770
|
+
ase: [2026-07-23 18:40:23.700]: [INFO]: mcp: GET /mcp
|
|
10771
|
+
ase: [2026-07-23 18:45:25.649]: [INFO]: mcp: GET /mcp
|
|
10772
|
+
ase: [2026-07-23 18:47:24.476]: [INFO]: mcp: POST /mcp [tools/call] ase_task_id {"id":"flush","session":"86a1d3af-95c3-4416-a4cd-10554f3bb643"}
|
|
10773
|
+
ase: [2026-07-23 18:50:27.560]: [INFO]: mcp: GET /mcp
|
|
10774
|
+
ase: [2026-07-23 18:55:29.766]: [INFO]: mcp: GET /mcp
|
|
10775
|
+
ase: [2026-07-23 19:00:31.730]: [INFO]: mcp: GET /mcp
|
|
10776
|
+
ase: [2026-07-23 19:05:34.039]: [INFO]: mcp: GET /mcp
|
|
10777
|
+
ase: [2026-07-23 19:10:36.352]: [INFO]: mcp: GET /mcp
|
|
10778
|
+
ase: [2026-07-23 19:15:38.619]: [INFO]: mcp: GET /mcp
|
|
10779
|
+
ase: [2026-07-23 19:20:40.925]: [INFO]: mcp: GET /mcp
|
|
10780
|
+
ase: [2026-07-23 19:25:43.228]: [INFO]: mcp: GET /mcp
|
|
10781
|
+
ase: [2026-07-23 19:30:45.537]: [INFO]: mcp: GET /mcp
|
|
10782
|
+
ase: [2026-07-23 19:35:47.851]: [INFO]: mcp: GET /mcp
|
|
10783
|
+
ase: [2026-07-23 19:40:50.210]: [INFO]: mcp: GET /mcp
|
|
10784
|
+
ase: [2026-07-23 19:45:52.536]: [INFO]: mcp: GET /mcp
|
|
10785
|
+
ase: [2026-07-23 19:50:54.851]: [INFO]: mcp: GET /mcp
|
|
10786
|
+
ase: [2026-07-23 19:53:16.100]: [INFO]: mcp: POST /mcp [tools/call] ase_timestamp {"format":"yyyy-LL-dd HH:mm"}
|
|
10787
|
+
ase: [2026-07-23 19:53:26.247]: [INFO]: mcp: POST /mcp [tools/call] ase_task_save {"id":"flush","text":"\n# TASK flush: Re-emit last interim chunk as final on suspend\n\n⎈ Created: 2026-07-23 19:53\n⚙ Modified: 2026-07-23 19:53\n\n## CONTEXT\n\n- **WHAT**: The `a2t-deepgram` node tracks its *last emitted text chunk* and, upon *suspension*,\n re-emits it as a `final` chunk in case it was still an `intermediate` (non-final) one.\n\n- **WHY**: When the node is suspended mid-utterance, the Deepgram connection is torn down and no\n `final` result will ever arrive, so the dashboard keeps showing the last text as *non-final*\n forever. Re-emitting it as `final` lets the downstream `t2t-sentence` node flush it via its\n existing merge/timeout logic, so the last message ends up *final* everywhere downstream.\n\n## CHANGES\n\n- **Track last chunk**: In `speechflow-node-a2t-deepgram.ts` add private state\n `lastChunk: SpeechFlowChunk | null = null`, set in the Deepgram `Results` handler whenever a\n text chunk is written to `this.queue`, and reset to `null` in `open()`.\n\n- **Flush on suspend**: In `setSuspended()`, after `closeConnection()` in the suspend branch,\n if `this.lastChunk` is an `intermediate` chunk and `this.queue` exists, write a `clone()` with\n `kind = \"final\"` into `this.queue` and update `this.lastChunk` to that clone, preventing a\n double re-emission on repeated suspend/unsuspend cycles.\n\n- **ChangeLog entry**: Add a new entry to `CHANGELOG.md`, aligned with its existing style:\n `- IMPROVEMENT: re-emit last intermediate chunk as final when suspending \"a2t-deepgram\" node`.\n\n## VERIFICATION\n\n- **Lint**: `npm start lint` in `speechflow-cli/` passes without new findings.\n\n- **Build**: `npm start build` in `speechflow-cli/` compiles the TypeScript sources cleanly.\n\n- **Runtime**: Run the `npm start test` pipeline, suspend the DeepGram node mid-utterance via the\n dashboard, and observe that the last non-final message is repeated as a *final* one (after the\n `t2t-sentence` timeout of 3s).\n"}
|
|
10788
|
+
ase: [2026-07-23 19:54:09.031]: [INFO]: mcp: POST /mcp [tools/call] ase_getopt {"name":"ase-task-edit","spec":"--help|-h --plan|-p=(none|OVERWRITE|REFINE|PRESERVE) --dry|-d --next|-n=(none|DONE|GRILL|PREFLIGHT|IMPLEMENT)... --int-reuse-task","args":"--int-reuse-task"}
|
|
10789
|
+
ase: [2026-07-23 19:55:31.261]: [INFO]: mcp: POST /mcp [tools/call] ase_task_load {"id":"flush"}
|
|
10790
|
+
ase: [2026-07-23 19:55:56.922]: [INFO]: mcp: GET /mcp
|
|
10791
|
+
ase: [2026-07-23 20:00:58.847]: [INFO]: mcp: GET /mcp
|
|
10792
|
+
ase: [2026-07-23 20:06:00.755]: [INFO]: mcp: GET /mcp
|
|
10793
|
+
ase: [2026-07-23 20:11:02.689]: [INFO]: mcp: GET /mcp
|
|
10794
|
+
ase: [2026-07-23 20:16:04.607]: [INFO]: mcp: GET /mcp
|
|
10795
|
+
ase: [2026-07-23 20:17:18.959]: [INFO]: mcp: POST /mcp [tools/call] ase_timestamp {"format":"yyyy-LL-dd HH:mm"}
|
|
10796
|
+
ase: [2026-07-23 20:17:29.392]: [INFO]: mcp: POST /mcp [tools/call] ase_task_save {"id":"flush","text":"\n# TASK flush: Re-emit last interim chunk as final on suspend\n\n⎈ Created: 2026-07-23 19:53\n⚙ Modified: 2026-07-23 20:17\n\n## CONTEXT\n\n- **WHAT**: The `a2t-deepgram` node tracks its *last emitted text chunk* and, upon *suspension*,\n re-emits it as a `final` chunk with an appended `…` truncation marker in case it was still an\n `intermediate` (non-final) one.\n\n- **WHY**: When the node is suspended mid-utterance, the Deepgram connection is torn down and no\n `final` result will ever arrive, so the dashboard keeps showing the last text as *non-final*\n forever. Re-emitting it as `final` with a trailing `…` lets the downstream `t2t-sentence` node\n treat it as a completed sentence and flush it immediately, so the last message ends up *final*\n everywhere downstream.\n\n## CHANGES\n\n- **Track last chunk**: In `speechflow-node-a2t-deepgram.ts` add private state\n `lastChunk: SpeechFlowChunk | null = null`, set in the Deepgram `Results` handler whenever a\n text chunk is written to `this.queue`, and reset to `null` in `open()`.\n\n- **Flush on suspend**: In `setSuspended()`, after `closeConnection()` in the suspend branch,\n if `this.lastChunk` is an `intermediate` chunk and `this.queue` exists, write a `clone()` with\n `kind = \"final\"` and the payload appended with a `…` ellipsis (truncation marker and sentence\n boundary for `t2t-sentence`, causing an immediate flush) into `this.queue`, and update\n `this.lastChunk` to that clone, preventing a double re-emission on repeated suspend/unsuspend\n cycles.\n\n- **ChangeLog entry**: Append a new entry to the existing `2.4.2 (2026-07-18)` section of\n `CHANGELOG.md`, aligned with its existing style:\n `- IMPROVEMENT: re-emit last intermediate chunk as final when suspending \"a2t-deepgram\" node`.\n\n## VERIFICATION\n\n- **Lint**: `npm start lint` in `speechflow-cli/` passes without new findings.\n\n- **Build**: `npm start build` in `speechflow-cli/` compiles the TypeScript sources cleanly.\n\n- **Runtime**: Run the `npm start test` pipeline, suspend the DeepGram node mid-utterance via the\n dashboard, and observe that the last non-final message is immediately repeated as a *final*\n one with a trailing `…`.\n"}
|
|
10797
|
+
ase: [2026-07-23 20:21:06.510]: [INFO]: mcp: GET /mcp
|
|
10798
|
+
ase: [2026-07-23 20:22:32.009]: [INFO]: mcp: POST /mcp [tools/call] ase_getopt {"name":"ase-task-implement","spec":"--help|-h --next|-n=(none|DONE|DELETE)... --int-reuse-task","args":"--int-reuse-task"}
|
|
10799
|
+
ase: [2026-07-23 20:26:08.426]: [INFO]: mcp: GET /mcp
|
|
10800
|
+
ase: [2026-07-23 20:31:10.346]: [INFO]: mcp: GET /mcp
|
|
10801
|
+
ase: [2026-07-23 20:36:12.316]: [INFO]: mcp: GET /mcp
|
|
10802
|
+
ase: [2026-07-23 20:41:14.254]: [INFO]: mcp: GET /mcp
|
|
10803
|
+
ase: [2026-07-23 20:41:23.339]: [INFO]: mcp: POST /mcp [tools/call] ase_artifact_list {"kind":["spec","arch","code","docs","infr","othr"]}
|
|
10804
|
+
ase: [2026-07-23 20:48:34.276]: [INFO]: mcp: POST /mcp [initialize]
|
|
10805
|
+
ase: [2026-07-23 20:48:34.284]: [INFO]: mcp: POST /mcp [tools/list]
|
|
10806
|
+
ase: [2026-07-23 20:48:34.288]: [INFO]: mcp: POST /mcp [notifications/initialized]
|
|
10807
|
+
ase: [2026-07-23 20:48:34.292]: [INFO]: mcp: GET /mcp
|
package/.ase/service.yaml
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
port:
|
|
1
|
+
port: 43501
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
|
|
2
|
+
# TASK flush: Re-emit last interim chunk as final on suspend
|
|
3
|
+
|
|
4
|
+
⎈ Created: 2026-07-23 19:53
|
|
5
|
+
⚙ Modified: 2026-07-23 20:17
|
|
6
|
+
|
|
7
|
+
## CONTEXT
|
|
8
|
+
|
|
9
|
+
- **WHAT**: The `a2t-deepgram` node tracks its *last emitted text chunk* and, upon *suspension*,
|
|
10
|
+
re-emits it as a `final` chunk with an appended `…` truncation marker in case it was still an
|
|
11
|
+
`intermediate` (non-final) one.
|
|
12
|
+
|
|
13
|
+
- **WHY**: When the node is suspended mid-utterance, the Deepgram connection is torn down and no
|
|
14
|
+
`final` result will ever arrive, so the dashboard keeps showing the last text as *non-final*
|
|
15
|
+
forever. Re-emitting it as `final` with a trailing `…` lets the downstream `t2t-sentence` node
|
|
16
|
+
treat it as a completed sentence and flush it immediately, so the last message ends up *final*
|
|
17
|
+
everywhere downstream.
|
|
18
|
+
|
|
19
|
+
## CHANGES
|
|
20
|
+
|
|
21
|
+
- **Track last chunk**: In `speechflow-node-a2t-deepgram.ts` add private state
|
|
22
|
+
`lastChunk: SpeechFlowChunk | null = null`, set in the Deepgram `Results` handler whenever a
|
|
23
|
+
text chunk is written to `this.queue`, and reset to `null` in `open()`.
|
|
24
|
+
|
|
25
|
+
- **Flush on suspend**: In `setSuspended()`, after `closeConnection()` in the suspend branch,
|
|
26
|
+
if `this.lastChunk` is an `intermediate` chunk and `this.queue` exists, write a `clone()` with
|
|
27
|
+
`kind = "final"` and the payload appended with a `…` ellipsis (truncation marker and sentence
|
|
28
|
+
boundary for `t2t-sentence`, causing an immediate flush) into `this.queue`, and update
|
|
29
|
+
`this.lastChunk` to that clone, preventing a double re-emission on repeated suspend/unsuspend
|
|
30
|
+
cycles.
|
|
31
|
+
|
|
32
|
+
- **ChangeLog entry**: Append a new entry to the existing `2.4.2 (2026-07-18)` section of
|
|
33
|
+
`CHANGELOG.md`, aligned with its existing style:
|
|
34
|
+
`- IMPROVEMENT: re-emit last intermediate chunk as final when suspending "a2t-deepgram" node`.
|
|
35
|
+
|
|
36
|
+
## VERIFICATION
|
|
37
|
+
|
|
38
|
+
- **Lint**: `npm start lint` in `speechflow-cli/` passes without new findings.
|
|
39
|
+
|
|
40
|
+
- **Build**: `npm start build` in `speechflow-cli/` compiles the TypeScript sources cleanly.
|
|
41
|
+
|
|
42
|
+
- **Runtime**: Run the `npm start test` pipeline, suspend the DeepGram node mid-utterance via the
|
|
43
|
+
dashboard, and observe that the last non-final message is immediately repeated as a *final*
|
|
44
|
+
one with a trailing `…`.
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
ChangeLog
|
|
3
3
|
=========
|
|
4
4
|
|
|
5
|
+
2.4.3 (2026-07-23)
|
|
6
|
+
------------------
|
|
7
|
+
|
|
8
|
+
- UPDATE: upgrade NPM dependencies and patches
|
|
9
|
+
|
|
10
|
+
2.4.2 (2026-07-23)
|
|
11
|
+
------------------
|
|
12
|
+
|
|
13
|
+
- IMPROVEMENT: re-emit last intermediate chunk as final when suspending "a2t-deepgram" node
|
|
14
|
+
- IMPROVEMENT: skip balance fetch in "a2t-deepgram" status if no admin API key is configured
|
|
15
|
+
- BUGFIX: in "a2t-deepgram", mark node as no longer suspended only once the connection was re-opened
|
|
16
|
+
- BUGFIX: discard half-established connection on open failure in "a2t-deepgram" node
|
|
17
|
+
- BUGFIX: correctly destroy internal queue and avoid stale callback state in "a2t-deepgram" node
|
|
18
|
+
- UPDATE: upgrade to Deepgram SDK v5
|
|
19
|
+
- UPDATE: upgrade to Google SDK v2.1
|
|
20
|
+
- UPDATE: upgrade to HuggingFace Transformer v4
|
|
21
|
+
- UPDATE: upgrade SoundTouch audio worklet in "a2a-pitch" node
|
|
22
|
+
- UPDATE: switch sample configuration "etc/speechflow.yaml" to the msg Filmstudio variant
|
|
23
|
+
- UPDATE: explicitly allow NPM dependency install scripts via "allowScripts"
|
|
24
|
+
- UPDATE: upgrade NPM dependencies and patches
|
|
25
|
+
- CLEANUP: cleanup "a2t-deepgram" node (redundancies, naming, connection close reuse)
|
|
26
|
+
|
|
5
27
|
2.4.1 (2026-05-31)
|
|
6
28
|
------------------
|
|
7
29
|
|
package/README.md
CHANGED
|
@@ -34,7 +34,7 @@ speech-to-speech).
|
|
|
34
34
|
- local audio Speex, RNNoise, and GTCRN noise suppression,
|
|
35
35
|
- local audio compressor and expander dynamics processing,
|
|
36
36
|
- local audio gain adjustment,
|
|
37
|
-
- local audio pitch shifting
|
|
37
|
+
- local audio pitch shifting,
|
|
38
38
|
- local audio gap filler processing,
|
|
39
39
|
- remote-controlable audio muting,
|
|
40
40
|
- cloud-based speech-to-text conversion with
|
|
@@ -803,13 +803,15 @@ The following nodes process audio chunks only.
|
|
|
803
803
|
| **db** | 0 | 0 | `n >= -60 && n <= 60` |
|
|
804
804
|
|
|
805
805
|
- Node: **a2a-pitch**<br/>
|
|
806
|
-
Purpose: **audio pitch shifting
|
|
806
|
+
Purpose: **audio pitch shifting**<br/>
|
|
807
807
|
Example: `a2a-pitch(pitch: 1.2, semitones: 3)`
|
|
808
808
|
|
|
809
|
-
> This node performs real-time pitch shifting
|
|
810
|
-
>
|
|
811
|
-
>
|
|
812
|
-
>
|
|
809
|
+
> This node performs real-time pitch shifting on audio streams using
|
|
810
|
+
> the SoundTouch algorithm. It adjusts the pitch while preserving the
|
|
811
|
+
> duration of the audio, i.e. the output always has the same length as
|
|
812
|
+
> the input. The effective pitch factor is `pitch * 2^(semitones/12) /
|
|
813
|
+
> rate`, so **pitch** and **semitones** combine, while **rate** merely
|
|
814
|
+
> compensates for an upstream playback rate change.
|
|
813
815
|
|
|
814
816
|
| Port | Payload |
|
|
815
817
|
| ------- | ----------- |
|
|
@@ -818,9 +820,8 @@ The following nodes process audio chunks only.
|
|
|
818
820
|
|
|
819
821
|
| Parameter | Position | Default | Requirement |
|
|
820
822
|
| -------------- | --------- | -------- | ------------------------ |
|
|
821
|
-
| **rate** | *none* | 1.0 | `0.
|
|
822
|
-
| **
|
|
823
|
-
| **pitch** | *none* | 1.0 | `0.25 <= n <= 4.0` |
|
|
823
|
+
| **rate** | *none* | 1.0 | `0.1 <= n <= 8.0` |
|
|
824
|
+
| **pitch** | *none* | 1.0 | `0.1 <= n <= 8.0` |
|
|
824
825
|
| **semitones** | *none* | 0.0 | `-24 <= n <= 24` |
|
|
825
826
|
|
|
826
827
|
- Node: **a2a-filler**<br/>
|
package/etc/speechflow.yaml
CHANGED
|
@@ -103,7 +103,7 @@ studio-translation: |
|
|
|
103
103
|
xio-file(path: `${env.SPEECHFLOW_DATADIR}/program-de.srt`, mode: "w", type: "text"),
|
|
104
104
|
x2x-trace(type: "text", dashboard: "text-de-final", mode: "sink") /* DE-Final */
|
|
105
105
|
},
|
|
106
|
-
t2t-
|
|
106
|
+
t2t-google(src: "de", dst: "en") | {
|
|
107
107
|
x2x-trace(type: "text", dashboard: "text-en-interim", mode: "sink"),
|
|
108
108
|
t2t-subtitle(mode: "render", addr: env.SPEECHFLOW_IPADDR, port: 8686),
|
|
109
109
|
x2x-filter(name: "final", type: "text", var: "kind", op: "==", val: "final") | {
|