4runr-os 2.9.99 → 2.9.101
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/apps/gateway/package-lock.json +110 -110
- package/mk3-tui/src/app.rs +14 -9
- package/mk3-tui/src/main.rs +41 -13
- package/mk3-tui/src/ui/connection_portal.rs +4 -0
- package/package.json +2 -2
|
@@ -1316,9 +1316,9 @@
|
|
|
1316
1316
|
"license": "MIT"
|
|
1317
1317
|
},
|
|
1318
1318
|
"node_modules/@esbuild/aix-ppc64": {
|
|
1319
|
-
"version": "0.27.
|
|
1320
|
-
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.
|
|
1321
|
-
"integrity": "sha512-
|
|
1319
|
+
"version": "0.27.5",
|
|
1320
|
+
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.5.tgz",
|
|
1321
|
+
"integrity": "sha512-nGsF/4C7uzUj+Nj/4J+Zt0bYQ6bz33Phz8Lb2N80Mti1HjGclTJdXZ+9APC4kLvONbjxN1zfvYNd8FEcbBK/MQ==",
|
|
1322
1322
|
"cpu": [
|
|
1323
1323
|
"ppc64"
|
|
1324
1324
|
],
|
|
@@ -1333,9 +1333,9 @@
|
|
|
1333
1333
|
}
|
|
1334
1334
|
},
|
|
1335
1335
|
"node_modules/@esbuild/android-arm": {
|
|
1336
|
-
"version": "0.27.
|
|
1337
|
-
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.
|
|
1338
|
-
"integrity": "sha512-
|
|
1336
|
+
"version": "0.27.5",
|
|
1337
|
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.5.tgz",
|
|
1338
|
+
"integrity": "sha512-Cv781jd0Rfj/paoNrul1/r4G0HLvuFKYh7C9uHZ2Pl8YXstzvCyyeWENTFR9qFnRzNMCjXmsulZuvosDg10Mog==",
|
|
1339
1339
|
"cpu": [
|
|
1340
1340
|
"arm"
|
|
1341
1341
|
],
|
|
@@ -1350,9 +1350,9 @@
|
|
|
1350
1350
|
}
|
|
1351
1351
|
},
|
|
1352
1352
|
"node_modules/@esbuild/android-arm64": {
|
|
1353
|
-
"version": "0.27.
|
|
1354
|
-
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.
|
|
1355
|
-
"integrity": "sha512-
|
|
1353
|
+
"version": "0.27.5",
|
|
1354
|
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.5.tgz",
|
|
1355
|
+
"integrity": "sha512-Oeghq+XFgh1pUGd1YKs4DDoxzxkoUkvko+T/IVKwlghKLvvjbGFB3ek8VEDBmNvqhwuL0CQS3cExdzpmUyIrgA==",
|
|
1356
1356
|
"cpu": [
|
|
1357
1357
|
"arm64"
|
|
1358
1358
|
],
|
|
@@ -1367,9 +1367,9 @@
|
|
|
1367
1367
|
}
|
|
1368
1368
|
},
|
|
1369
1369
|
"node_modules/@esbuild/android-x64": {
|
|
1370
|
-
"version": "0.27.
|
|
1371
|
-
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.
|
|
1372
|
-
"integrity": "sha512-
|
|
1370
|
+
"version": "0.27.5",
|
|
1371
|
+
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.5.tgz",
|
|
1372
|
+
"integrity": "sha512-nQD7lspbzerlmtNOxYMFAGmhxgzn8Z7m9jgFkh6kpkjsAhZee1w8tJW3ZlW+N9iRePz0oPUDrYrXidCPSImD0Q==",
|
|
1373
1373
|
"cpu": [
|
|
1374
1374
|
"x64"
|
|
1375
1375
|
],
|
|
@@ -1384,9 +1384,9 @@
|
|
|
1384
1384
|
}
|
|
1385
1385
|
},
|
|
1386
1386
|
"node_modules/@esbuild/darwin-arm64": {
|
|
1387
|
-
"version": "0.27.
|
|
1388
|
-
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.
|
|
1389
|
-
"integrity": "sha512-
|
|
1387
|
+
"version": "0.27.5",
|
|
1388
|
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.5.tgz",
|
|
1389
|
+
"integrity": "sha512-I+Ya/MgC6rr8oRWGRDF3BXDfP8K1BVUggHqN6VI2lUZLdDi1IM1v2cy0e3lCPbP+pVcK3Tv8cgUhHse1kaNZZw==",
|
|
1390
1390
|
"cpu": [
|
|
1391
1391
|
"arm64"
|
|
1392
1392
|
],
|
|
@@ -1401,9 +1401,9 @@
|
|
|
1401
1401
|
}
|
|
1402
1402
|
},
|
|
1403
1403
|
"node_modules/@esbuild/darwin-x64": {
|
|
1404
|
-
"version": "0.27.
|
|
1405
|
-
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.
|
|
1406
|
-
"integrity": "sha512-
|
|
1404
|
+
"version": "0.27.5",
|
|
1405
|
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.5.tgz",
|
|
1406
|
+
"integrity": "sha512-MCjQUtC8wWJn/pIPM7vQaO69BFgwPD1jriEdqwTCKzWjGgkMbcg+M5HzrOhPhuYe1AJjXlHmD142KQf+jnYj8A==",
|
|
1407
1407
|
"cpu": [
|
|
1408
1408
|
"x64"
|
|
1409
1409
|
],
|
|
@@ -1418,9 +1418,9 @@
|
|
|
1418
1418
|
}
|
|
1419
1419
|
},
|
|
1420
1420
|
"node_modules/@esbuild/freebsd-arm64": {
|
|
1421
|
-
"version": "0.27.
|
|
1422
|
-
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.
|
|
1423
|
-
"integrity": "sha512-
|
|
1421
|
+
"version": "0.27.5",
|
|
1422
|
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.5.tgz",
|
|
1423
|
+
"integrity": "sha512-X6xVS+goSH0UelYXnuf4GHLwpOdc8rgK/zai+dKzBMnncw7BTQIwquOodE7EKvY2UVUetSqyAfyZC1D+oqLQtg==",
|
|
1424
1424
|
"cpu": [
|
|
1425
1425
|
"arm64"
|
|
1426
1426
|
],
|
|
@@ -1435,9 +1435,9 @@
|
|
|
1435
1435
|
}
|
|
1436
1436
|
},
|
|
1437
1437
|
"node_modules/@esbuild/freebsd-x64": {
|
|
1438
|
-
"version": "0.27.
|
|
1439
|
-
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.
|
|
1440
|
-
"integrity": "sha512-
|
|
1438
|
+
"version": "0.27.5",
|
|
1439
|
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.5.tgz",
|
|
1440
|
+
"integrity": "sha512-233X1FGo3a8x1ekLB6XT69LfZ83vqz+9z3TSEQCTYfMNY880A97nr81KbPcAMl9rmOFp11wO0dP+eB18KU/Ucg==",
|
|
1441
1441
|
"cpu": [
|
|
1442
1442
|
"x64"
|
|
1443
1443
|
],
|
|
@@ -1452,9 +1452,9 @@
|
|
|
1452
1452
|
}
|
|
1453
1453
|
},
|
|
1454
1454
|
"node_modules/@esbuild/linux-arm": {
|
|
1455
|
-
"version": "0.27.
|
|
1456
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.
|
|
1457
|
-
"integrity": "sha512-
|
|
1455
|
+
"version": "0.27.5",
|
|
1456
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.5.tgz",
|
|
1457
|
+
"integrity": "sha512-0wkVrYHG4sdCCN/bcwQ7yYMXACkaHc3UFeaEOwSVW6e5RycMageYAFv+JS2bKLwHyeKVUvtoVH+5/RHq0fgeFw==",
|
|
1458
1458
|
"cpu": [
|
|
1459
1459
|
"arm"
|
|
1460
1460
|
],
|
|
@@ -1469,9 +1469,9 @@
|
|
|
1469
1469
|
}
|
|
1470
1470
|
},
|
|
1471
1471
|
"node_modules/@esbuild/linux-arm64": {
|
|
1472
|
-
"version": "0.27.
|
|
1473
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.
|
|
1474
|
-
"integrity": "sha512-
|
|
1472
|
+
"version": "0.27.5",
|
|
1473
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.5.tgz",
|
|
1474
|
+
"integrity": "sha512-euKkilsNOv7x/M1NKsx5znyprbpsRFIzTV6lWziqJch7yWYayfLtZzDxDTl+LSQDJYAjd9TVb/Kt5UKIrj2e4A==",
|
|
1475
1475
|
"cpu": [
|
|
1476
1476
|
"arm64"
|
|
1477
1477
|
],
|
|
@@ -1486,9 +1486,9 @@
|
|
|
1486
1486
|
}
|
|
1487
1487
|
},
|
|
1488
1488
|
"node_modules/@esbuild/linux-ia32": {
|
|
1489
|
-
"version": "0.27.
|
|
1490
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.
|
|
1491
|
-
"integrity": "sha512-
|
|
1489
|
+
"version": "0.27.5",
|
|
1490
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.5.tgz",
|
|
1491
|
+
"integrity": "sha512-hVRQX4+P3MS36NxOy24v/Cdsimy/5HYePw+tmPqnNN1fxV0bPrFWR6TMqwXPwoTM2VzbkA+4lbHWUKDd5ZDA/w==",
|
|
1492
1492
|
"cpu": [
|
|
1493
1493
|
"ia32"
|
|
1494
1494
|
],
|
|
@@ -1503,9 +1503,9 @@
|
|
|
1503
1503
|
}
|
|
1504
1504
|
},
|
|
1505
1505
|
"node_modules/@esbuild/linux-loong64": {
|
|
1506
|
-
"version": "0.27.
|
|
1507
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.
|
|
1508
|
-
"integrity": "sha512-
|
|
1506
|
+
"version": "0.27.5",
|
|
1507
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.5.tgz",
|
|
1508
|
+
"integrity": "sha512-mKqqRuOPALI8nDzhOBmIS0INvZOOFGGg5n1osGIXAx8oersceEbKd4t1ACNTHM3sJBXGFAlEgqM+svzjPot+ZQ==",
|
|
1509
1509
|
"cpu": [
|
|
1510
1510
|
"loong64"
|
|
1511
1511
|
],
|
|
@@ -1520,9 +1520,9 @@
|
|
|
1520
1520
|
}
|
|
1521
1521
|
},
|
|
1522
1522
|
"node_modules/@esbuild/linux-mips64el": {
|
|
1523
|
-
"version": "0.27.
|
|
1524
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.
|
|
1525
|
-
"integrity": "sha512-
|
|
1523
|
+
"version": "0.27.5",
|
|
1524
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.5.tgz",
|
|
1525
|
+
"integrity": "sha512-EE/QXH9IyaAj1qeuIV5+/GZkBTipgGO782Ff7Um3vPS9cvLhJJeATy4Ggxikz2inZ46KByamMn6GqtqyVjhenA==",
|
|
1526
1526
|
"cpu": [
|
|
1527
1527
|
"mips64el"
|
|
1528
1528
|
],
|
|
@@ -1537,9 +1537,9 @@
|
|
|
1537
1537
|
}
|
|
1538
1538
|
},
|
|
1539
1539
|
"node_modules/@esbuild/linux-ppc64": {
|
|
1540
|
-
"version": "0.27.
|
|
1541
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.
|
|
1542
|
-
"integrity": "sha512-
|
|
1540
|
+
"version": "0.27.5",
|
|
1541
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.5.tgz",
|
|
1542
|
+
"integrity": "sha512-0V2iF1RGxBf1b7/BjurA5jfkl7PtySjom1r6xOK2q9KWw/XCpAdtB6KNMO+9xx69yYfSCRR9FE0TyKfHA2eQMw==",
|
|
1543
1543
|
"cpu": [
|
|
1544
1544
|
"ppc64"
|
|
1545
1545
|
],
|
|
@@ -1554,9 +1554,9 @@
|
|
|
1554
1554
|
}
|
|
1555
1555
|
},
|
|
1556
1556
|
"node_modules/@esbuild/linux-riscv64": {
|
|
1557
|
-
"version": "0.27.
|
|
1558
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.
|
|
1559
|
-
"integrity": "sha512-
|
|
1557
|
+
"version": "0.27.5",
|
|
1558
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.5.tgz",
|
|
1559
|
+
"integrity": "sha512-rYxThBx6G9HN6tFNuvB/vykeLi4VDsm5hE5pVwzqbAjZEARQrWu3noZSfbEnPZ/CRXP3271GyFk/49up2W190g==",
|
|
1560
1560
|
"cpu": [
|
|
1561
1561
|
"riscv64"
|
|
1562
1562
|
],
|
|
@@ -1571,9 +1571,9 @@
|
|
|
1571
1571
|
}
|
|
1572
1572
|
},
|
|
1573
1573
|
"node_modules/@esbuild/linux-s390x": {
|
|
1574
|
-
"version": "0.27.
|
|
1575
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.
|
|
1576
|
-
"integrity": "sha512
|
|
1574
|
+
"version": "0.27.5",
|
|
1575
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.5.tgz",
|
|
1576
|
+
"integrity": "sha512-uEP2q/4qgd8goEUc4QIdU/1P2NmEtZ/zX5u3OpLlCGhJIuBIv0s0wr7TB2nBrd3/A5XIdEkkS5ZLF0ULuvaaYQ==",
|
|
1577
1577
|
"cpu": [
|
|
1578
1578
|
"s390x"
|
|
1579
1579
|
],
|
|
@@ -1588,9 +1588,9 @@
|
|
|
1588
1588
|
}
|
|
1589
1589
|
},
|
|
1590
1590
|
"node_modules/@esbuild/linux-x64": {
|
|
1591
|
-
"version": "0.27.
|
|
1592
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.
|
|
1593
|
-
"integrity": "sha512
|
|
1591
|
+
"version": "0.27.5",
|
|
1592
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.5.tgz",
|
|
1593
|
+
"integrity": "sha512-+Gq47Wqq6PLOOZuBzVSII2//9yyHNKZLuwfzCemqexqOQCSz0zy0O26kIzyp9EMNMK+nZ0tFHBZrCeVUuMs/ew==",
|
|
1594
1594
|
"cpu": [
|
|
1595
1595
|
"x64"
|
|
1596
1596
|
],
|
|
@@ -1605,9 +1605,9 @@
|
|
|
1605
1605
|
}
|
|
1606
1606
|
},
|
|
1607
1607
|
"node_modules/@esbuild/netbsd-arm64": {
|
|
1608
|
-
"version": "0.27.
|
|
1609
|
-
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.
|
|
1610
|
-
"integrity": "sha512-
|
|
1608
|
+
"version": "0.27.5",
|
|
1609
|
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.5.tgz",
|
|
1610
|
+
"integrity": "sha512-3F/5EG8VHfN/I+W5cO1/SV2H9Q/5r7vcHabMnBqhHK2lTWOh3F8vixNzo8lqxrlmBtZVFpW8pmITHnq54+Tq4g==",
|
|
1611
1611
|
"cpu": [
|
|
1612
1612
|
"arm64"
|
|
1613
1613
|
],
|
|
@@ -1622,9 +1622,9 @@
|
|
|
1622
1622
|
}
|
|
1623
1623
|
},
|
|
1624
1624
|
"node_modules/@esbuild/netbsd-x64": {
|
|
1625
|
-
"version": "0.27.
|
|
1626
|
-
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.
|
|
1627
|
-
"integrity": "sha512-
|
|
1625
|
+
"version": "0.27.5",
|
|
1626
|
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.5.tgz",
|
|
1627
|
+
"integrity": "sha512-28t+Sj3CPN8vkMOlZotOmDgilQwVvxWZl7b8rxpn73Tt/gCnvrHxQUMng4uu3itdFvrtba/1nHejvxqz8xgEMA==",
|
|
1628
1628
|
"cpu": [
|
|
1629
1629
|
"x64"
|
|
1630
1630
|
],
|
|
@@ -1639,9 +1639,9 @@
|
|
|
1639
1639
|
}
|
|
1640
1640
|
},
|
|
1641
1641
|
"node_modules/@esbuild/openbsd-arm64": {
|
|
1642
|
-
"version": "0.27.
|
|
1643
|
-
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.
|
|
1644
|
-
"integrity": "sha512-
|
|
1642
|
+
"version": "0.27.5",
|
|
1643
|
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.5.tgz",
|
|
1644
|
+
"integrity": "sha512-Doz/hKtiuVAi9hMsBMpwBANhIZc8l238U2Onko3t2xUp8xtM0ZKdDYHMnm/qPFVthY8KtxkXaocwmMh6VolzMA==",
|
|
1645
1645
|
"cpu": [
|
|
1646
1646
|
"arm64"
|
|
1647
1647
|
],
|
|
@@ -1656,9 +1656,9 @@
|
|
|
1656
1656
|
}
|
|
1657
1657
|
},
|
|
1658
1658
|
"node_modules/@esbuild/openbsd-x64": {
|
|
1659
|
-
"version": "0.27.
|
|
1660
|
-
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.
|
|
1661
|
-
"integrity": "sha512-
|
|
1659
|
+
"version": "0.27.5",
|
|
1660
|
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.5.tgz",
|
|
1661
|
+
"integrity": "sha512-WfGVaa1oz5A7+ZFPkERIbIhKT4olvGl1tyzTRaB5yoZRLqC0KwaO95FeZtOdQj/oKkjW57KcVF944m62/0GYtA==",
|
|
1662
1662
|
"cpu": [
|
|
1663
1663
|
"x64"
|
|
1664
1664
|
],
|
|
@@ -1673,9 +1673,9 @@
|
|
|
1673
1673
|
}
|
|
1674
1674
|
},
|
|
1675
1675
|
"node_modules/@esbuild/openharmony-arm64": {
|
|
1676
|
-
"version": "0.27.
|
|
1677
|
-
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.
|
|
1678
|
-
"integrity": "sha512-
|
|
1676
|
+
"version": "0.27.5",
|
|
1677
|
+
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.5.tgz",
|
|
1678
|
+
"integrity": "sha512-Xh+VRuh6OMh3uJ0JkCjI57l+DVe7VRGBYymen8rFPnTVgATBwA6nmToxM2OwTlSvrnWpPKkrQUj93+K9huYC6A==",
|
|
1679
1679
|
"cpu": [
|
|
1680
1680
|
"arm64"
|
|
1681
1681
|
],
|
|
@@ -1690,9 +1690,9 @@
|
|
|
1690
1690
|
}
|
|
1691
1691
|
},
|
|
1692
1692
|
"node_modules/@esbuild/sunos-x64": {
|
|
1693
|
-
"version": "0.27.
|
|
1694
|
-
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.
|
|
1695
|
-
"integrity": "sha512
|
|
1693
|
+
"version": "0.27.5",
|
|
1694
|
+
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.5.tgz",
|
|
1695
|
+
"integrity": "sha512-aC1gpJkkaUADHuAdQfuVTnqVUTLqqUNhAvEwHwVWcnVVZvNlDPGA0UveZsfXJJ9T6k9Po4eHi3c02gbdwO3g6w==",
|
|
1696
1696
|
"cpu": [
|
|
1697
1697
|
"x64"
|
|
1698
1698
|
],
|
|
@@ -1707,9 +1707,9 @@
|
|
|
1707
1707
|
}
|
|
1708
1708
|
},
|
|
1709
1709
|
"node_modules/@esbuild/win32-arm64": {
|
|
1710
|
-
"version": "0.27.
|
|
1711
|
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.
|
|
1712
|
-
"integrity": "sha512-
|
|
1710
|
+
"version": "0.27.5",
|
|
1711
|
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.5.tgz",
|
|
1712
|
+
"integrity": "sha512-0UNx2aavV0fk6UpZcwXFLztA2r/k9jTUa7OW7SAea1VYUhkug99MW1uZeXEnPn5+cHOd0n8myQay6TlFnBR07w==",
|
|
1713
1713
|
"cpu": [
|
|
1714
1714
|
"arm64"
|
|
1715
1715
|
],
|
|
@@ -1724,9 +1724,9 @@
|
|
|
1724
1724
|
}
|
|
1725
1725
|
},
|
|
1726
1726
|
"node_modules/@esbuild/win32-ia32": {
|
|
1727
|
-
"version": "0.27.
|
|
1728
|
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.
|
|
1729
|
-
"integrity": "sha512-
|
|
1727
|
+
"version": "0.27.5",
|
|
1728
|
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.5.tgz",
|
|
1729
|
+
"integrity": "sha512-5nlJ3AeJWCTSzR7AEqVjT/faWyqKU86kCi1lLmxVqmNR+j4HrYdns+eTGjS/vmrzCIe8inGQckUadvS0+JkKdQ==",
|
|
1730
1730
|
"cpu": [
|
|
1731
1731
|
"ia32"
|
|
1732
1732
|
],
|
|
@@ -1741,9 +1741,9 @@
|
|
|
1741
1741
|
}
|
|
1742
1742
|
},
|
|
1743
1743
|
"node_modules/@esbuild/win32-x64": {
|
|
1744
|
-
"version": "0.27.
|
|
1745
|
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.
|
|
1746
|
-
"integrity": "sha512
|
|
1744
|
+
"version": "0.27.5",
|
|
1745
|
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.5.tgz",
|
|
1746
|
+
"integrity": "sha512-PWypQR+d4FLfkhBIV+/kHsUELAnMpx1bRvvsn3p+/sAERbnCzFrtDRG2Xw5n+2zPxBK2+iaP+vetsRl4Ti7WgA==",
|
|
1747
1747
|
"cpu": [
|
|
1748
1748
|
"x64"
|
|
1749
1749
|
],
|
|
@@ -4922,9 +4922,9 @@
|
|
|
4922
4922
|
}
|
|
4923
4923
|
},
|
|
4924
4924
|
"node_modules/esbuild": {
|
|
4925
|
-
"version": "0.27.
|
|
4926
|
-
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.
|
|
4927
|
-
"integrity": "sha512-
|
|
4925
|
+
"version": "0.27.5",
|
|
4926
|
+
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.5.tgz",
|
|
4927
|
+
"integrity": "sha512-zdQoHBjuDqKsvV5OPaWansOwfSQ0Js+Uj9J85TBvj3bFW1JjWTSULMRwdQAc8qMeIScbClxeMK0jlrtB9linhA==",
|
|
4928
4928
|
"dev": true,
|
|
4929
4929
|
"hasInstallScript": true,
|
|
4930
4930
|
"license": "MIT",
|
|
@@ -4935,32 +4935,32 @@
|
|
|
4935
4935
|
"node": ">=18"
|
|
4936
4936
|
},
|
|
4937
4937
|
"optionalDependencies": {
|
|
4938
|
-
"@esbuild/aix-ppc64": "0.27.
|
|
4939
|
-
"@esbuild/android-arm": "0.27.
|
|
4940
|
-
"@esbuild/android-arm64": "0.27.
|
|
4941
|
-
"@esbuild/android-x64": "0.27.
|
|
4942
|
-
"@esbuild/darwin-arm64": "0.27.
|
|
4943
|
-
"@esbuild/darwin-x64": "0.27.
|
|
4944
|
-
"@esbuild/freebsd-arm64": "0.27.
|
|
4945
|
-
"@esbuild/freebsd-x64": "0.27.
|
|
4946
|
-
"@esbuild/linux-arm": "0.27.
|
|
4947
|
-
"@esbuild/linux-arm64": "0.27.
|
|
4948
|
-
"@esbuild/linux-ia32": "0.27.
|
|
4949
|
-
"@esbuild/linux-loong64": "0.27.
|
|
4950
|
-
"@esbuild/linux-mips64el": "0.27.
|
|
4951
|
-
"@esbuild/linux-ppc64": "0.27.
|
|
4952
|
-
"@esbuild/linux-riscv64": "0.27.
|
|
4953
|
-
"@esbuild/linux-s390x": "0.27.
|
|
4954
|
-
"@esbuild/linux-x64": "0.27.
|
|
4955
|
-
"@esbuild/netbsd-arm64": "0.27.
|
|
4956
|
-
"@esbuild/netbsd-x64": "0.27.
|
|
4957
|
-
"@esbuild/openbsd-arm64": "0.27.
|
|
4958
|
-
"@esbuild/openbsd-x64": "0.27.
|
|
4959
|
-
"@esbuild/openharmony-arm64": "0.27.
|
|
4960
|
-
"@esbuild/sunos-x64": "0.27.
|
|
4961
|
-
"@esbuild/win32-arm64": "0.27.
|
|
4962
|
-
"@esbuild/win32-ia32": "0.27.
|
|
4963
|
-
"@esbuild/win32-x64": "0.27.
|
|
4938
|
+
"@esbuild/aix-ppc64": "0.27.5",
|
|
4939
|
+
"@esbuild/android-arm": "0.27.5",
|
|
4940
|
+
"@esbuild/android-arm64": "0.27.5",
|
|
4941
|
+
"@esbuild/android-x64": "0.27.5",
|
|
4942
|
+
"@esbuild/darwin-arm64": "0.27.5",
|
|
4943
|
+
"@esbuild/darwin-x64": "0.27.5",
|
|
4944
|
+
"@esbuild/freebsd-arm64": "0.27.5",
|
|
4945
|
+
"@esbuild/freebsd-x64": "0.27.5",
|
|
4946
|
+
"@esbuild/linux-arm": "0.27.5",
|
|
4947
|
+
"@esbuild/linux-arm64": "0.27.5",
|
|
4948
|
+
"@esbuild/linux-ia32": "0.27.5",
|
|
4949
|
+
"@esbuild/linux-loong64": "0.27.5",
|
|
4950
|
+
"@esbuild/linux-mips64el": "0.27.5",
|
|
4951
|
+
"@esbuild/linux-ppc64": "0.27.5",
|
|
4952
|
+
"@esbuild/linux-riscv64": "0.27.5",
|
|
4953
|
+
"@esbuild/linux-s390x": "0.27.5",
|
|
4954
|
+
"@esbuild/linux-x64": "0.27.5",
|
|
4955
|
+
"@esbuild/netbsd-arm64": "0.27.5",
|
|
4956
|
+
"@esbuild/netbsd-x64": "0.27.5",
|
|
4957
|
+
"@esbuild/openbsd-arm64": "0.27.5",
|
|
4958
|
+
"@esbuild/openbsd-x64": "0.27.5",
|
|
4959
|
+
"@esbuild/openharmony-arm64": "0.27.5",
|
|
4960
|
+
"@esbuild/sunos-x64": "0.27.5",
|
|
4961
|
+
"@esbuild/win32-arm64": "0.27.5",
|
|
4962
|
+
"@esbuild/win32-ia32": "0.27.5",
|
|
4963
|
+
"@esbuild/win32-x64": "0.27.5"
|
|
4964
4964
|
}
|
|
4965
4965
|
},
|
|
4966
4966
|
"node_modules/escalade": {
|
|
@@ -7593,9 +7593,9 @@
|
|
|
7593
7593
|
"license": "MIT"
|
|
7594
7594
|
},
|
|
7595
7595
|
"node_modules/node-releases": {
|
|
7596
|
-
"version": "2.0.
|
|
7597
|
-
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.
|
|
7598
|
-
"integrity": "sha512-
|
|
7596
|
+
"version": "2.0.37",
|
|
7597
|
+
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.37.tgz",
|
|
7598
|
+
"integrity": "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==",
|
|
7599
7599
|
"dev": true,
|
|
7600
7600
|
"license": "MIT"
|
|
7601
7601
|
},
|
package/mk3-tui/src/app.rs
CHANGED
|
@@ -5,7 +5,7 @@ use crate::ui::agent_builder::AgentBuilderState;
|
|
|
5
5
|
use crate::ui::run_manager::RunManagerState;
|
|
6
6
|
use crate::ui::settings::SettingsState;
|
|
7
7
|
use crate::websocket::WebSocketClient;
|
|
8
|
-
use crossterm::event::{KeyEvent,
|
|
8
|
+
use crossterm::event::{KeyCode, KeyEvent, KeyEventKind};
|
|
9
9
|
use ratatui::prelude::*;
|
|
10
10
|
use serde::{Deserialize, Serialize};
|
|
11
11
|
use std::collections::VecDeque;
|
|
@@ -667,7 +667,7 @@ impl App {
|
|
|
667
667
|
}
|
|
668
668
|
}
|
|
669
669
|
self.state.logs.push_back("[NAV] Opening Setup Portal (F2)...".into());
|
|
670
|
-
self.
|
|
670
|
+
self.request_immediate_render("open_setup_portal");
|
|
671
671
|
}
|
|
672
672
|
// Typing - ALL characters go to command input (immediate render for responsiveness)
|
|
673
673
|
KeyCode::Char(c) => {
|
|
@@ -808,7 +808,7 @@ impl App {
|
|
|
808
808
|
self.state.navigation.navigate_to_base(Screen::ConnectionPortal);
|
|
809
809
|
self.state.connection_portal.reset();
|
|
810
810
|
self.state.logs.push_back("[NAV] Opening Connection Portal...".into());
|
|
811
|
-
self.
|
|
811
|
+
self.request_immediate_render("open_connection_portal");
|
|
812
812
|
}
|
|
813
813
|
"setup" | "setup gateway" | "setup portal" => {
|
|
814
814
|
// Navigate to portal as base screen (standalone, not overlay)
|
|
@@ -830,7 +830,7 @@ impl App {
|
|
|
830
830
|
}
|
|
831
831
|
|
|
832
832
|
self.state.logs.push_back("[NAV] Opening Setup Portal...".into());
|
|
833
|
-
self.
|
|
833
|
+
self.request_immediate_render("open_setup_portal");
|
|
834
834
|
}
|
|
835
835
|
"disconnect" => {
|
|
836
836
|
// Disconnect from Gateway
|
|
@@ -1814,7 +1814,7 @@ impl App {
|
|
|
1814
1814
|
// Navigate back to Main (portals are now base screens, not overlays)
|
|
1815
1815
|
self.state.navigation.navigate_to_base(Screen::Main);
|
|
1816
1816
|
self.add_log("[NAV] Connection Portal closed".to_string());
|
|
1817
|
-
self.
|
|
1817
|
+
self.request_immediate_render("portal_close");
|
|
1818
1818
|
}
|
|
1819
1819
|
|
|
1820
1820
|
// L - Continue in local-only mode (no Gateway connection)
|
|
@@ -1836,13 +1836,13 @@ impl App {
|
|
|
1836
1836
|
// Tab - Switch between URL and Username fields
|
|
1837
1837
|
KeyCode::Tab | KeyCode::BackTab => {
|
|
1838
1838
|
self.state.connection_portal.toggle_field();
|
|
1839
|
-
self.
|
|
1839
|
+
self.request_immediate_render("portal_field_toggle");
|
|
1840
1840
|
}
|
|
1841
1841
|
|
|
1842
1842
|
// Up/Down - Navigate between fields
|
|
1843
1843
|
KeyCode::Up | KeyCode::Down => {
|
|
1844
1844
|
self.state.connection_portal.toggle_field();
|
|
1845
|
-
self.
|
|
1845
|
+
self.request_immediate_render("portal_navigate");
|
|
1846
1846
|
}
|
|
1847
1847
|
|
|
1848
1848
|
// Enter - Connect to Gateway
|
|
@@ -1852,13 +1852,13 @@ impl App {
|
|
|
1852
1852
|
// Validate URL
|
|
1853
1853
|
if url.is_empty() {
|
|
1854
1854
|
self.state.connection_portal.error = Some("Gateway URL is required".to_string());
|
|
1855
|
-
self.
|
|
1855
|
+
self.request_immediate_render("portal_error");
|
|
1856
1856
|
return Ok(false);
|
|
1857
1857
|
}
|
|
1858
1858
|
|
|
1859
1859
|
if !url.starts_with("http://") && !url.starts_with("https://") {
|
|
1860
1860
|
self.state.connection_portal.error = Some("URL must start with http:// or https://".to_string());
|
|
1861
|
-
self.
|
|
1861
|
+
self.request_immediate_render("portal_error");
|
|
1862
1862
|
return Ok(false);
|
|
1863
1863
|
}
|
|
1864
1864
|
|
|
@@ -1948,6 +1948,11 @@ impl App {
|
|
|
1948
1948
|
return Ok(false);
|
|
1949
1949
|
}
|
|
1950
1950
|
|
|
1951
|
+
// Belt-and-suspenders: only Press for navigation (ESC Release handled in main loop + above).
|
|
1952
|
+
if key.kind != KeyEventKind::Press {
|
|
1953
|
+
return Ok(false);
|
|
1954
|
+
}
|
|
1955
|
+
|
|
1951
1956
|
// Don't process other keys while detecting
|
|
1952
1957
|
if self.state.setup_portal.detecting {
|
|
1953
1958
|
return Ok(false);
|
package/mk3-tui/src/main.rs
CHANGED
|
@@ -76,6 +76,8 @@ fn main() -> Result<()> {
|
|
|
76
76
|
|
|
77
77
|
// Track previous screen to detect portal navigation
|
|
78
78
|
let mut previous_screen: Option<crate::screens::Screen> = None;
|
|
79
|
+
/// Last terminal size while Connection or Setup portal is visible (windowed hosts: sync buffer + clear on dimension drift).
|
|
80
|
+
let mut standalone_portal_last_terminal_dims: Option<(u16, u16)> = None;
|
|
79
81
|
|
|
80
82
|
// Force initial render
|
|
81
83
|
app.request_render("initial");
|
|
@@ -694,6 +696,12 @@ fn main() -> Result<()> {
|
|
|
694
696
|
if app.should_render() {
|
|
695
697
|
// Clone current screen before mutable borrow
|
|
696
698
|
let current_screen = app.state.navigation.current_screen().clone();
|
|
699
|
+
if !matches!(
|
|
700
|
+
current_screen,
|
|
701
|
+
crate::screens::Screen::ConnectionPortal | crate::screens::Screen::SetupPortal
|
|
702
|
+
) {
|
|
703
|
+
standalone_portal_last_terminal_dims = None;
|
|
704
|
+
}
|
|
697
705
|
let _is_portal_active = matches!(current_screen, crate::screens::Screen::ConnectionPortal | crate::screens::Screen::SetupPortal);
|
|
698
706
|
|
|
699
707
|
// Clear only on screen switch (but not when switching TO Setup Portal; we'll clear after autoresize)
|
|
@@ -713,14 +721,21 @@ fn main() -> Result<()> {
|
|
|
713
721
|
terminal.clear()?;
|
|
714
722
|
}
|
|
715
723
|
|
|
716
|
-
// Setup
|
|
717
|
-
//
|
|
718
|
-
// portal is open
|
|
719
|
-
let
|
|
720
|
-
|
|
724
|
+
// Connection + Setup portals: autoresize every frame (windowed CMD/conhost buffer vs viewport drift).
|
|
725
|
+
// Clear on Setup entry (generic switch clear is skipped for Setup); clear when terminal dimensions
|
|
726
|
+
// change while either portal is open. See docs/SETUP-PORTAL-WINDOWED-FIX-PLAN.md.
|
|
727
|
+
let on_standalone_portal = matches!(
|
|
728
|
+
current_screen,
|
|
729
|
+
crate::screens::Screen::ConnectionPortal | crate::screens::Screen::SetupPortal
|
|
730
|
+
);
|
|
731
|
+
if on_standalone_portal {
|
|
721
732
|
terminal.autoresize()?;
|
|
733
|
+
let dims = match terminal.size() {
|
|
734
|
+
Ok(s) => (s.width, s.height),
|
|
735
|
+
Err(_) => (0, 0),
|
|
736
|
+
};
|
|
722
737
|
if switching_to_setup_portal {
|
|
723
|
-
debug_log::log_flicker_debug("CLEAR_BEFORE", "
|
|
738
|
+
debug_log::log_flicker_debug("CLEAR_BEFORE", "enter_setup");
|
|
724
739
|
terminal.clear()?;
|
|
725
740
|
#[cfg(debug_assertions)]
|
|
726
741
|
eprintln!("[MAIN] ENTERED Setup Portal (autoresize + clear)");
|
|
@@ -728,6 +743,15 @@ fn main() -> Result<()> {
|
|
|
728
743
|
&format!("{:?}", previous_screen.as_ref().unwrap_or(¤t_screen)),
|
|
729
744
|
&format!("{:?}", current_screen),
|
|
730
745
|
);
|
|
746
|
+
standalone_portal_last_terminal_dims = Some(dims);
|
|
747
|
+
} else if let Some(last) = standalone_portal_last_terminal_dims {
|
|
748
|
+
if last != dims {
|
|
749
|
+
debug_log::log_flicker_debug("CLEAR_BEFORE", "size_change");
|
|
750
|
+
terminal.clear()?;
|
|
751
|
+
}
|
|
752
|
+
standalone_portal_last_terminal_dims = Some(dims);
|
|
753
|
+
} else {
|
|
754
|
+
standalone_portal_last_terminal_dims = Some(dims);
|
|
731
755
|
}
|
|
732
756
|
}
|
|
733
757
|
|
|
@@ -735,7 +759,7 @@ fn main() -> Result<()> {
|
|
|
735
759
|
terminal.draw(|f| app.render(f))?;
|
|
736
760
|
let render_duration = render_start.elapsed().as_millis() as u64;
|
|
737
761
|
app.record_render(render_duration);
|
|
738
|
-
if
|
|
762
|
+
if on_standalone_portal {
|
|
739
763
|
debug_log::log_flicker_debug("DRAW_DONE", &format!("ms={}", render_duration));
|
|
740
764
|
}
|
|
741
765
|
|
|
@@ -753,7 +777,7 @@ fn main() -> Result<()> {
|
|
|
753
777
|
app.state.setup_portal.detecting_since = None;
|
|
754
778
|
app.state.setup_portal.error = Some("Detection timed out. Press ESC to close or try again.".to_string());
|
|
755
779
|
app.add_log("[SETUP] Detection timed out".to_string());
|
|
756
|
-
app.
|
|
780
|
+
app.request_immediate_render("setup_detect_timeout");
|
|
757
781
|
}
|
|
758
782
|
}
|
|
759
783
|
}
|
|
@@ -766,9 +790,13 @@ fn main() -> Result<()> {
|
|
|
766
790
|
// Handle ESC on both Press and Release so we never miss it (e.g. when stuck on "Detecting...")
|
|
767
791
|
if crossterm::event::poll(Duration::from_millis(1))? {
|
|
768
792
|
let on_setup = app.state.navigation.current_screen() == &screens::Screen::SetupPortal;
|
|
793
|
+
let on_standalone_input = matches!(
|
|
794
|
+
app.state.navigation.current_screen(),
|
|
795
|
+
&screens::Screen::ConnectionPortal | &screens::Screen::SetupPortal
|
|
796
|
+
);
|
|
769
797
|
match event::read()? {
|
|
770
798
|
Event::Key(key) => {
|
|
771
|
-
if
|
|
799
|
+
if on_standalone_input {
|
|
772
800
|
debug_log::log_input("Key", &format!("{:?}", key));
|
|
773
801
|
}
|
|
774
802
|
let should_handle = key.kind == KeyEventKind::Press
|
|
@@ -780,7 +808,7 @@ fn main() -> Result<()> {
|
|
|
780
808
|
}
|
|
781
809
|
}
|
|
782
810
|
Event::Mouse(mouse) => {
|
|
783
|
-
if
|
|
811
|
+
if on_standalone_input {
|
|
784
812
|
debug_log::log_input("Mouse", &format!("{:?}", mouse));
|
|
785
813
|
}
|
|
786
814
|
// Handle mouse scroll events for Setup Portal
|
|
@@ -789,11 +817,11 @@ fn main() -> Result<()> {
|
|
|
789
817
|
match mouse.kind {
|
|
790
818
|
MouseEventKind::ScrollUp => {
|
|
791
819
|
app.state.setup_portal.cycle_option(-1);
|
|
792
|
-
app.
|
|
820
|
+
app.request_immediate_render("setup_portal_scroll_up");
|
|
793
821
|
}
|
|
794
822
|
MouseEventKind::ScrollDown => {
|
|
795
823
|
app.state.setup_portal.cycle_option(1);
|
|
796
|
-
app.
|
|
824
|
+
app.request_immediate_render("setup_portal_scroll_down");
|
|
797
825
|
}
|
|
798
826
|
_ => {}
|
|
799
827
|
}
|
|
@@ -801,7 +829,7 @@ fn main() -> Result<()> {
|
|
|
801
829
|
}
|
|
802
830
|
}
|
|
803
831
|
Event::Resize(w, h) => {
|
|
804
|
-
if
|
|
832
|
+
if on_standalone_input {
|
|
805
833
|
debug_log::log_input("Resize", &format!("{}x{}", w, h));
|
|
806
834
|
}
|
|
807
835
|
// Terminal was resized - force immediate re-render with correct dimensions
|
|
@@ -188,6 +188,8 @@ fn render_input_fields(f: &mut Frame, area: Rect, state: &AppState) {
|
|
|
188
188
|
let block = Block::default().title(" Gateway URL ").borders(Borders::ALL).border_style(Style::default().fg(NEON_GREEN)).style(Style::default().bg(BG_PANEL));
|
|
189
189
|
let inner = block.inner(area);
|
|
190
190
|
f.render_widget(block, area);
|
|
191
|
+
// Solid fill inside border (windowed conhost: avoids ghost text when style/focus changes)
|
|
192
|
+
f.render_widget(Block::default().style(Style::default().bg(BG_PANEL)), inner);
|
|
191
193
|
f.render_widget(Paragraph::new(format!("Connected to {}", short)).style(Style::default().fg(NEON_GREEN)).alignment(Alignment::Center), inner);
|
|
192
194
|
return;
|
|
193
195
|
}
|
|
@@ -218,6 +220,8 @@ fn render_input_fields(f: &mut Frame, area: Rect, state: &AppState) {
|
|
|
218
220
|
|
|
219
221
|
let inner = block.inner(area);
|
|
220
222
|
f.render_widget(block, area);
|
|
223
|
+
// Solid fill inside border (windowed terminals: repaint every cell before URL text)
|
|
224
|
+
f.render_widget(Block::default().style(Style::default().bg(BG_PANEL)), inner);
|
|
221
225
|
|
|
222
226
|
// Render the URL text inside the block
|
|
223
227
|
let text = Paragraph::new(url_display)
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "4runr-os",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.101",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.9.
|
|
5
|
+
"description": "4Runr AI Agent OS - Secure terminal interface for AI agents. v2.9.101: Connection Portal windowed ghost fix (autoresize + size-drift clear, URL inner fill), immediate render on portal open. ⚠️ Pre-MVP / Development Phase",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": {
|
|
8
8
|
"4runr": "dist/index.js",
|