farming-code 2.2.18 → 2.2.20

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.
@@ -977,22 +977,15 @@
977
977
  margin-bottom: 20px;
978
978
  }
979
979
 
980
- .empty-state p {
981
- margin-bottom: 16px;
982
- }
983
-
984
- .empty-start-agent {
985
- padding: 8px 20px;
986
- border: 1px solid #00ff00;
987
- background: #1a1a1a;
988
- color: #00ff00;
989
- cursor: pointer;
990
- font: inherit;
980
+ .empty-state-shortcuts {
981
+ display: flex;
982
+ flex-direction: column;
983
+ align-items: flex-start;
984
+ gap: 10px;
991
985
  }
992
986
 
993
- .empty-start-agent:hover,
994
- .empty-start-agent:focus-visible {
995
- background: #3a3a3a;
987
+ .empty-state-shortcuts p {
988
+ margin: 0;
996
989
  }
997
990
 
998
991
  .modal.active {
@@ -1482,7 +1475,7 @@
1482
1475
  <div class="top-bar">
1483
1476
  <div class="top-bar-item">AGENTS: <span id="active-agents">0</span>/<span id="total-agents">0</span></div>
1484
1477
  <div class="top-bar-item" id="agent-page-item" hidden>PAGE: <span id="agent-page-status">1/1</span></div>
1485
- <div class="top-bar-item" title="Estimated terminal output tokens per minute over the last 5 minutes">TOK/MIN: <span id="tokens-per-minute">--</span></div>
1478
+ <div class="top-bar-item" title="Provider-reported tokens per minute over the last 5 minutes">TOK/MIN: <span id="tokens-per-minute">--</span></div>
1486
1479
  <div class="top-bar-item">CPU: <span id="cpu-usage">--</span>%</div>
1487
1480
  <div class="top-bar-item">MEM: <span id="mem-percentage">--</span>%</div>
1488
1481
  <div class="top-bar-item" id="focus-region" style="display: none;">Focus: <span id="focus-region-name">--</span></div>
@@ -1495,15 +1488,10 @@
1495
1488
  <div class="map-area" id="map-area">
1496
1489
  <div class="empty-state" id="empty-state">
1497
1490
  <h2>No Agents Running</h2>
1498
- <p>Press <strong>N</strong> to start a new agent</p>
1499
- <button
1500
- type="button"
1501
- class="empty-start-agent"
1502
- data-crt-nav-key="empty:new-agent"
1503
- data-crt-nav-default="true"
1504
- tabindex="-1"
1505
- onclick="showInputDialog()"
1506
- >[N] New Agent</button>
1491
+ <div class="empty-state-shortcuts">
1492
+ <p>Press <strong>[N]</strong> to start a new agent</p>
1493
+ <p>Press <strong>[H]</strong> to continue from history</p>
1494
+ </div>
1507
1495
  </div>
1508
1496
  </div>
1509
1497
 
@@ -1557,8 +1545,8 @@
1557
1545
  <h2>Billing</h2>
1558
1546
  <div class="billing-header-actions">
1559
1547
  <div class="billing-view-switch" role="tablist" aria-label="Billing view">
1560
- <button type="button" id="billing-days-tab" class="active" role="tab" aria-selected="true" data-crt-nav-key="billing:days" tabindex="-1" onclick="setCrtBillingMode('days')">[D] DAYS</button>
1561
- <button type="button" id="billing-live-tab" role="tab" aria-selected="false" data-crt-nav-key="billing:live" tabindex="-1" onclick="setCrtBillingMode('live')">[L] LIVE</button>
1548
+ <button type="button" id="billing-days-tab" class="active" role="tab" aria-selected="true" data-crt-nav-key="billing:days" tabindex="-1" onclick="selectCrtBillingMode('days')">[D] DAYS</button>
1549
+ <button type="button" id="billing-live-tab" role="tab" aria-selected="false" data-crt-nav-key="billing:live" tabindex="-1" onclick="selectCrtBillingMode('live')">[L] LIVE</button>
1562
1550
  </div>
1563
1551
  <span class="billing-status" id="billing-status">STANDBY</span>
1564
1552
  </div>
@@ -1678,12 +1666,12 @@
1678
1666
  <div class="billing-meter">
1679
1667
  <span>INTEGRAL</span>
1680
1668
  <strong id="billing-window-total">--</strong>
1681
- <small>TOKENS · 60M</small>
1669
+ <small id="billing-window-label">TOKENS · WINDOW</small>
1682
1670
  </div>
1683
1671
  <div class="billing-meter">
1684
1672
  <span>PEAK</span>
1685
1673
  <strong id="billing-peak-rate">--</strong>
1686
- <small>TOK/MIN · 60M</small>
1674
+ <small id="billing-peak-label">TOK/MIN · WINDOW</small>
1687
1675
  </div>
1688
1676
  <div class="billing-meter">
1689
1677
  <span>DUTY</span>
@@ -1694,16 +1682,16 @@
1694
1682
 
1695
1683
  <section class="billing-scope-panel" aria-label="Token burn oscilloscope">
1696
1684
  <div class="billing-panel-heading">
1697
- <h3>TOKEN BURN // 60 MINUTES</h3>
1685
+ <h3 id="billing-scope-title">TOKEN BURN // WINDOW</h3>
1698
1686
  <span id="billing-scope-scale">-- TOK/MIN PEAK</span>
1699
1687
  </div>
1700
1688
  <div class="billing-scope-screen">
1701
- <canvas id="billing-scope" role="img" aria-label="Token burn rate over the last 60 minutes"></canvas>
1689
+ <canvas id="billing-scope" role="img" aria-label="Token burn rate for the reported window"></canvas>
1702
1690
  <div class="billing-scope-sweep" aria-hidden="true"></div>
1703
1691
  <div class="billing-scope-empty" id="billing-scope-empty">AWAITING SIGNAL</div>
1704
1692
  </div>
1705
1693
  <div class="billing-scope-axis" aria-hidden="true">
1706
- <span>-60M</span><span>-30M</span><span>NOW</span>
1694
+ <span id="billing-scope-start">-WINDOW</span><span id="billing-scope-midpoint">-MID</span><span>NOW</span>
1707
1695
  </div>
1708
1696
  </section>
1709
1697
  </div>
@@ -1972,13 +1960,8 @@
1972
1960
  </div>
1973
1961
  </div>
1974
1962
 
1975
- <h3 style="margin: 30px 0 15px; color: #00ff00;">Session Engine</h3>
1976
- <div id="session-engine-settings">
1977
- <div class="settings-panel">
1978
- <label style="display: block; color: #00ff00; margin-bottom: 10px;">Coding Agent Engine</label>
1979
- <div class="settings-static-value">built-in</div>
1980
- <div style="color: #888; font-size: 12px; margin-top: 8px;">Uses Farming's built-in local session runtime.</div>
1981
- </div>
1963
+ <h3 style="margin: 30px 0 15px; color: #00ff00;">Agent Permissions</h3>
1964
+ <div id="agent-permission-settings">
1982
1965
  <div class="settings-panel">
1983
1966
  <label class="crt-checkbox-label" tabindex="-1" data-crt-nav-key="settings:skip-permissions">
1984
1967
  <input type="checkbox" id="skip-permission-check-by-default" class="crt-checkbox danger">
@@ -50,7 +50,12 @@
50
50
 
51
51
  #farming-crt .billing-view-switch button:hover,
52
52
  #farming-crt .billing-view-switch button:focus-visible,
53
- #farming-crt .billing-view-switch button.crt-nav-selected,
53
+ #farming-crt .billing-view-switch button.crt-nav-selected {
54
+ color: var(--crt-phosphor-bright);
55
+ border-color: rgba(85, 245, 155, 0.72);
56
+ outline: none;
57
+ }
58
+
54
59
  #farming-crt .billing-view-switch button.active {
55
60
  color: var(--crt-background);
56
61
  background: var(--crt-phosphor-bright);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "farming-code",
3
- "version": "2.2.18",
3
+ "version": "2.2.20",
4
4
  "description": "Remote browser workspace for supervising AI coding agents",
5
5
  "main": "backend/server.js",
6
6
  "bin": {