@agenticmail/enterprise 0.5.483 → 0.5.484

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.
@@ -6,7 +6,7 @@ import { HelpButton } from '../components/help-button.js';
6
6
  import { Modal } from '../components/modal.js';
7
7
  import { useOrgContext } from '../components/org-switcher.js';
8
8
 
9
- var CHART_COLORS = ['#6366f1', '#10b981', '#f59e0b', '#ef4444', '#8b5cf6', '#06b6d4', '#ec4899', '#14b8a6', '#f97316', '#84cc16'];
9
+ var CHART_COLORS = ['#6366f1', '#10b981', '#b45309', '#ef4444', '#8b5cf6', '#06b6d4', '#ec4899', '#14b8a6', '#f97316', '#84cc16'];
10
10
 
11
11
  export function PolymarketPage() {
12
12
  var orgCtx = useOrgContext();
@@ -446,7 +446,7 @@ export function PolymarketPage() {
446
446
  var scoreColor = function(score) {
447
447
  if (score >= 70) return '#10b981';
448
448
  if (score >= 50) return '#3b82f6';
449
- if (score >= 30) return '#f59e0b';
449
+ if (score >= 30) return '#b45309';
450
450
  return '#6b7280';
451
451
  };
452
452
  var liquidityGrade = function(m) {
@@ -454,12 +454,12 @@ export function PolymarketPage() {
454
454
  var liq = s.liquidity || 0;
455
455
  if (liq >= 20 && s.spread >= 10) return { grade: 'A', color: '#10b981', label: 'Excellent' };
456
456
  if (liq >= 15) return { grade: 'B', color: '#3b82f6', label: 'Good' };
457
- if (liq >= 8) return { grade: 'C', color: '#f59e0b', label: 'Fair' };
457
+ if (liq >= 8) return { grade: 'C', color: '#b45309', label: 'Fair' };
458
458
  return { grade: 'D', color: '#ef4444', label: 'Thin' };
459
459
  };
460
460
  var scoreBar = function(label, value, max) {
461
461
  var pct = Math.min(100, (value / (max || 25)) * 100);
462
- var clr = value >= max * 0.7 ? '#10b981' : value >= max * 0.4 ? '#3b82f6' : value >= max * 0.2 ? '#f59e0b' : '#6b7280';
462
+ var clr = value >= max * 0.7 ? '#10b981' : value >= max * 0.4 ? '#3b82f6' : value >= max * 0.2 ? '#b45309' : '#6b7280';
463
463
  return h('div', { style: { display: 'flex', alignItems: 'center', gap: 6, fontSize: 11, marginBottom: 4 } },
464
464
  h('span', { style: { width: 60, color: 'var(--text-muted)', fontWeight: 500 } }, label),
465
465
  h('div', { style: { flex: 1, height: 6, background: 'var(--bg-secondary)', borderRadius: 3, overflow: 'hidden' } },
@@ -571,7 +571,7 @@ export function PolymarketPage() {
571
571
  onMouseEnter: function(e) { showTip(e, ['Liquidity: ' + liq.grade + ' \u2014 ' + liq.label, '$' + fmtCompact(m.liquidity) + ' available liquidity']); }, onMouseLeave: hideTip
572
572
  }, liq.grade),
573
573
  pl.regime && h('span', { style: { fontSize: 8, color: 'var(--text-muted)' } }, pl.regime),
574
- pl.manipulation_risk && pl.manipulation_risk !== 'LOW' && h('span', { style: { fontSize: 8, color: pl.manipulation_risk === 'HIGH' ? '#ef4444' : '#f59e0b' } }, '\u26a0 ' + pl.manipulation_risk),
574
+ pl.manipulation_risk && pl.manipulation_risk !== 'LOW' && h('span', { style: { fontSize: 8, color: pl.manipulation_risk === 'HIGH' ? '#ef4444' : '#b45309' } }, '\u26a0 ' + pl.manipulation_risk),
575
575
  m.volume24hr > 0 && h('span', { style: { fontSize: 9, color: 'var(--text-muted)' } }, 'Vol $' + fmtCompact(m.volume24hr)),
576
576
  m.liquidity > 0 && h('span', { style: { fontSize: 9, color: 'var(--text-muted)' } }, 'Liq $' + fmtCompact(m.liquidity)),
577
577
  pl.confidence ? h('span', { style: { fontSize: 9, color: 'var(--text-muted)' } }, pl.confidence.toFixed(0) + '% conf') : rec.confidence && h('span', { style: { fontSize: 9, color: 'var(--text-muted)' } }, rec.confidence.toFixed(0) + '% conf')
@@ -1364,7 +1364,7 @@ export function PolymarketPage() {
1364
1364
  h('div', { className: 'card-header' }, h('h3', { style: { fontSize: 14, fontWeight: 600, display: 'flex', alignItems: 'center', gap: 8 } },
1365
1365
  'Live Position Prices',
1366
1366
  h('div', { style: { display: 'flex', alignItems: 'center', gap: 4 } },
1367
- h('div', { style: { width: 6, height: 6, borderRadius: '50%', background: hasPositions ? '#f59e0b' : 'var(--text-muted)' } }),
1367
+ h('div', { style: { width: 6, height: 6, borderRadius: '50%', background: hasPositions ? '#b45309' : 'var(--text-muted)' } }),
1368
1368
  h('span', { style: { fontSize: 11, color: 'var(--text-muted)' } }, hasPositions ? 'Waiting for data...' : 'No positions')
1369
1369
  )
1370
1370
  )),
@@ -1570,7 +1570,7 @@ export function PolymarketPage() {
1570
1570
  h('span', { style: { color: 'var(--text-muted)' } }, 'Available'),
1571
1571
  h('span', { style: { fontWeight: 600, color: insufficientFunds ? '#ef4444' : '#10b981' } }, '$' + availableCash.toFixed(2))
1572
1572
  ),
1573
- size < 5 && h('div', { style: { color: '#f59e0b', marginTop: 4 } }, '\u26a0 Min 5 shares'),
1573
+ size < 5 && h('div', { style: { color: '#b45309', marginTop: 4 } }, '\u26a0 Min 5 shares'),
1574
1574
  insufficientFunds && h('div', { style: { color: '#ef4444', fontWeight: 600, marginTop: 4 } }, '\u26d4 Need $' + (cost - availableCash).toFixed(2) + ' more')
1575
1575
  ),
1576
1576
  // Pipeline analysis (compact)
@@ -1588,7 +1588,7 @@ export function PolymarketPage() {
1588
1588
  var sigColor = bsPl.action?.includes('BUY') ? '#10b981' : bsPl.action?.includes('SELL') ? '#ef4444' : '#6b7280';
1589
1589
  return h('div', { style: { padding: '8px 12px', background: sigColor + '08', borderRadius: 8, marginBottom: 14, border: '1px solid ' + sigColor + '20', fontSize: 11, lineHeight: 1.6 } },
1590
1590
  h('div', { style: { fontSize: 9, fontWeight: 700, textTransform: 'uppercase', letterSpacing: 0.5, color: sigColor, marginBottom: 4 } }, 'Analysis Pipeline'),
1591
- insights.map(function(line, li) { return h('div', { key: li, style: { color: line.startsWith('\u26a0') ? '#f59e0b' : 'var(--text-muted)' } }, line); })
1591
+ insights.map(function(line, li) { return h('div', { key: li, style: { color: line.startsWith('\u26a0') ? '#b45309' : 'var(--text-muted)' } }, line); })
1592
1592
  );
1593
1593
  })(),
1594
1594
  // Actions
@@ -1858,7 +1858,7 @@ export function PolymarketPage() {
1858
1858
  h('span', null, '\u23F3'),
1859
1859
  h('span', null, h('strong', null, autoPlaced.length), ' order(s) placed and awaiting exchange execution'),
1860
1860
  ),
1861
- needsApproval.length > 0 && h('div', { style: { padding: '8px 12px', background: 'rgba(245,158,11,0.08)', borderRadius: 8, border: '1px solid rgba(245,158,11,0.2)', marginBottom: 12, fontSize: 12, display: 'flex', alignItems: 'center', gap: 8 } },
1861
+ needsApproval.length > 0 && h('div', { style: { padding: '8px 12px', background: 'rgba(180,83,9,0.08)', borderRadius: 8, border: '1px solid rgba(180,83,9,0.2)', marginBottom: 12, fontSize: 12, display: 'flex', alignItems: 'center', gap: 8 } },
1862
1862
  h('span', null, '\u26A0\uFE0F'),
1863
1863
  h('span', null, h('strong', null, needsApproval.length), ' order(s) awaiting your approval'),
1864
1864
  )
@@ -1987,7 +1987,7 @@ export function PolymarketPage() {
1987
1987
  h('div', { style: { display: 'flex', justifyContent: 'flex-end', gap: 8, marginBottom: 8 } },
1988
1988
  livePrices.positions.some(function(p) { return p.redeemable && !p.isLost; })
1989
1989
  ? h('button', { className: 'btn btn-sm', disabled: redeemExecuting === 'all',
1990
- style: { background: 'rgba(245,158,11,0.15)', border: '1px solid rgba(245,158,11,0.3)', color: '#f59e0b', fontWeight: 600, cursor: redeemExecuting === 'all' ? 'not-allowed' : 'pointer' },
1990
+ style: { background: 'rgba(180,83,9,0.15)', border: '1px solid rgba(180,83,9,0.3)', color: '#b45309', fontWeight: 600, cursor: redeemExecuting === 'all' ? 'not-allowed' : 'pointer' },
1991
1991
  onClick: executeRedeemAll
1992
1992
  }, redeemExecuting === 'all' ? 'Claiming All...' : I('award'), ' Redeem All Winnings')
1993
1993
  : null,
@@ -2003,7 +2003,7 @@ export function PolymarketPage() {
2003
2003
  var cost = (p.entry || 0) * (p.size || 0);
2004
2004
  var winAmount = (p.size || 0); // each winning share pays $1, so total payout = number of shares
2005
2005
  var statusBadge = p.redeemable
2006
- ? h('span', { className: 'badge', style: { background: 'rgba(245,158,11,0.15)', color: '#f59e0b', fontSize: 9, marginLeft: 6 } }, 'REDEEM')
2006
+ ? h('span', { className: 'badge', style: { background: 'rgba(180,83,9,0.15)', color: '#b45309', fontSize: 9, marginLeft: 6 } }, 'REDEEM')
2007
2007
  : isWon
2008
2008
  ? h('span', { className: 'badge', style: { background: 'rgba(16,185,129,0.15)', color: '#10b981', fontSize: 9, marginLeft: 6 } }, 'WON')
2009
2009
  : isLost
@@ -2046,15 +2046,15 @@ export function PolymarketPage() {
2046
2046
  var days = Math.floor(diff / 86400000);
2047
2047
  var label = d.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });
2048
2048
  if (diff < 0) return h('span', { style: { color: '#ef4444' } }, 'Ended');
2049
- if (days === 0) return h('span', { style: { color: '#f59e0b', fontWeight: 600 } }, 'Today');
2050
- if (days <= 3) return h('span', { style: { color: '#f59e0b' } }, days + 'd · ' + label);
2049
+ if (days === 0) return h('span', { style: { color: '#b45309', fontWeight: 600 } }, 'Today');
2050
+ if (days <= 3) return h('span', { style: { color: '#b45309' } }, days + 'd · ' + label);
2051
2051
  return label;
2052
2052
  })() : '--'
2053
2053
  ),
2054
2054
  h('td', { key: 'act' },
2055
2055
  p.redeemable && !isLost
2056
2056
  ? h('button', { className: 'btn btn-sm', disabled: redeemExecuting === p.conditionId || redeemExecuting === 'all',
2057
- style: { minWidth: 50, fontSize: 11, background: 'rgba(245,158,11,0.15)', border: '1px solid rgba(245,158,11,0.3)', color: '#f59e0b', fontWeight: 600, cursor: (redeemExecuting === p.conditionId || redeemExecuting === 'all') ? 'not-allowed' : 'pointer' },
2057
+ style: { minWidth: 50, fontSize: 11, background: 'rgba(180,83,9,0.15)', border: '1px solid rgba(180,83,9,0.3)', color: '#b45309', fontWeight: 600, cursor: (redeemExecuting === p.conditionId || redeemExecuting === 'all') ? 'not-allowed' : 'pointer' },
2058
2058
  onClick: function(e) { e.stopPropagation(); executeRedeem(p); }
2059
2059
  }, redeemExecuting === p.conditionId ? 'Claiming...' : 'Redeem')
2060
2060
  : isLost
@@ -2094,7 +2094,7 @@ export function PolymarketPage() {
2094
2094
  )
2095
2095
  ),
2096
2096
  h('div', { style: { display: 'flex', alignItems: 'center', gap: 6 } },
2097
- walletLoading && h('div', { style: { width: 8, height: 8, borderRadius: '50%', background: '#f59e0b', animation: 'pulse 1s infinite' } }),
2097
+ walletLoading && h('div', { style: { width: 8, height: 8, borderRadius: '50%', background: '#b45309', animation: 'pulse 1s infinite' } }),
2098
2098
  h('span', { style: { fontSize: 11, color: 'var(--text-muted)' } }, walletLoading ? 'Refreshing...' : 'Auto-refreshes every 15s')
2099
2099
  )
2100
2100
  ),
@@ -2120,14 +2120,14 @@ export function PolymarketPage() {
2120
2120
  );
2121
2121
  })(),
2122
2122
  // Native USDC (not directly usable on Polymarket)
2123
- (walletBalance.balances.usdcNative != null && walletBalance.balances.usdcNative > 0) && h('div', { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'baseline', padding: '12px 16px', background: 'rgba(251,191,36,0.06)', borderRadius: 8, border: '1px solid rgba(251,191,36,0.2)' } },
2123
+ (walletBalance.balances.usdcNative != null && walletBalance.balances.usdcNative > 0) && h('div', { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'baseline', padding: '12px 16px', background: 'rgba(180,83,9,0.06)', borderRadius: 8, border: '1px solid rgba(180,83,9,0.2)' } },
2124
2124
  h('div', null,
2125
2125
  h('div', { style: { fontSize: 11, color: 'var(--text-muted)', marginBottom: 2, display: 'flex', alignItems: 'center', gap: 6 } }, 'USDC (Native)',
2126
- h('span', { style: { fontSize: 9, padding: '1px 5px', background: 'rgba(251,191,36,0.15)', borderRadius: 4, color: '#f59e0b', fontWeight: 600 } }, 'NEEDS SWAP')
2126
+ h('span', { style: { fontSize: 9, padding: '1px 5px', background: 'rgba(180,83,9,0.15)', borderRadius: 4, color: '#b45309', fontWeight: 600 } }, 'NEEDS SWAP')
2127
2127
  ),
2128
2128
  h('div', { style: { fontSize: 18, fontWeight: 600 } }, '$' + (walletBalance.balances.usdcNative || 0).toFixed(2))
2129
2129
  ),
2130
- h('div', { style: { fontSize: 11, color: '#f59e0b', textAlign: 'right' } },
2130
+ h('div', { style: { fontSize: 11, color: '#b45309', textAlign: 'right' } },
2131
2131
  h('div', null, 'Not usable on Polymarket'),
2132
2132
  h('div', null, 'Swap to USDC.e to trade')
2133
2133
  )
@@ -2160,7 +2160,7 @@ export function PolymarketPage() {
2160
2160
  }
2161
2161
  }, 'Swap USDC.e \u2192 Native USDC')
2162
2162
  ),
2163
- walletBalance.needsSwap && h('div', { style: { marginTop: 8, fontSize: 11, color: '#f59e0b' } },
2163
+ walletBalance.needsSwap && h('div', { style: { marginTop: 8, fontSize: 11, color: '#b45309' } },
2164
2164
  '\u26A0\uFE0F Polymarket requires USDC.e. Swap your native USDC above to start trading.'
2165
2165
  )
2166
2166
  ),
@@ -2230,7 +2230,7 @@ export function PolymarketPage() {
2230
2230
  h('li', null, 'You can also deposit via ', h('a', { href: 'https://polymarket.com', target: '_blank', style: { color: 'var(--brand)' } }, 'polymarket.com'), ' bridge from Ethereum, Arbitrum, Base, or Optimism')
2231
2231
  )
2232
2232
  ),
2233
- h('div', { style: { marginTop: 12, padding: 10, background: 'rgba(245,158,11,0.1)', border: '1px solid rgba(245,158,11,0.2)', borderRadius: 6, fontSize: 12, color: '#f59e0b' } },
2233
+ h('div', { style: { marginTop: 12, padding: 10, background: 'rgba(180,83,9,0.1)', border: '1px solid rgba(180,83,9,0.2)', borderRadius: 6, fontSize: 12, color: '#b45309' } },
2234
2234
  h('strong', null, '\u26A0 '), 'Only send USDC on Polygon. Sending other tokens or on other networks will result in loss of funds.'
2235
2235
  )
2236
2236
  )
@@ -2312,7 +2312,7 @@ export function PolymarketPage() {
2312
2312
  )
2313
2313
  },
2314
2314
  h('div', { style: { display: 'flex', flexDirection: 'column', gap: 16 } },
2315
- h('div', { style: { padding: 12, background: swapModal.direction === 'native_to_bridged' ? 'rgba(251,191,36,0.08)' : 'rgba(99,102,241,0.08)', borderRadius: 8, fontSize: 13, lineHeight: 1.6 } },
2315
+ h('div', { style: { padding: 12, background: swapModal.direction === 'native_to_bridged' ? 'rgba(180,83,9,0.08)' : 'rgba(99,102,241,0.08)', borderRadius: 8, fontSize: 13, lineHeight: 1.6 } },
2316
2316
  swapModal.direction === 'native_to_bridged'
2317
2317
  ? 'Convert your native USDC to USDC.e (bridged), which is required for trading on Polymarket.'
2318
2318
  : 'Convert your USDC.e (bridged) back to native USDC. Note: Native USDC cannot be used for trading on Polymarket.'
@@ -2376,8 +2376,8 @@ export function PolymarketPage() {
2376
2376
  walletSecurity && walletSecurity.hasPin && h('button', { className: 'btn btn-secondary', style: { marginBottom: 8, width: '100%' }, onClick: function() { setTransferVerifyStep('pin'); setTransferCode(''); } },
2377
2377
  I('key'), ' Verify with Wallet PIN'
2378
2378
  ),
2379
- (!walletSecurity || (!walletSecurity.has2fa && !walletSecurity.hasPin)) && h('div', { style: { padding: 16, background: 'rgba(245,158,11,0.08)', borderRadius: 8, border: '1px solid rgba(245,158,11,0.2)', marginTop: 12 } },
2380
- h('p', { style: { fontWeight: 600, marginBottom: 8, color: '#f59e0b', display: 'flex', alignItems: 'center', gap: 6 } }, I('warning'), ' No Security Method Set Up'),
2379
+ (!walletSecurity || (!walletSecurity.has2fa && !walletSecurity.hasPin)) && h('div', { style: { padding: 16, background: 'rgba(180,83,9,0.08)', borderRadius: 8, border: '1px solid rgba(180,83,9,0.2)', marginTop: 12 } },
2380
+ h('p', { style: { fontWeight: 600, marginBottom: 8, color: '#b45309', display: 'flex', alignItems: 'center', gap: 6 } }, I('warning'), ' No Security Method Set Up'),
2381
2381
  h('p', { style: { fontSize: 12, color: 'var(--text-muted)', marginBottom: 12 } }, 'You need to set up either 2FA (from Settings page) or a 6-digit Wallet PIN to enable transfers.'),
2382
2382
  h('button', { className: 'btn btn-warning', style: { width: '100%' }, onClick: function() { setTransferVerifyStep('setup_pin'); setTransferPinSetup({ pin: '', confirm: '' }); } },
2383
2383
  I('plus'), ' Set Up Wallet PIN'
@@ -2501,7 +2501,7 @@ export function PolymarketPage() {
2501
2501
  h('option', { value: '' }, 'Select whitelisted address...'),
2502
2502
  whitelist.map(function(a) { return h('option', { key: a.address, value: a.address }, a.label + ' (' + a.address.slice(0,6) + '...' + a.address.slice(-4) + ')'); })
2503
2503
  )
2504
- : h('div', { style: { fontSize: 12, color: '#f59e0b', padding: '8px 12px', background: 'rgba(245,158,11,0.08)', borderRadius: 6, display: 'flex', alignItems: 'center', gap: 6 } }, I('warning'), ' No whitelisted addresses. Add one in the Withdrawal Addresses section first.')
2504
+ : h('div', { style: { fontSize: 12, color: '#b45309', padding: '8px 12px', background: 'rgba(180,83,9,0.08)', borderRadius: 6, display: 'flex', alignItems: 'center', gap: 6 } }, I('warning'), ' No whitelisted addresses. Add one in the Withdrawal Addresses section first.')
2505
2505
  ),
2506
2506
  h('div', { style: { display: 'flex', gap: 8, marginBottom: 12 } },
2507
2507
  h('div', { style: { flex: 1 } },
@@ -2620,7 +2620,7 @@ export function PolymarketPage() {
2620
2620
  createdWallet.address, ' ', h('span', { style: { color: 'var(--text-muted)', fontSize: 11 } }, '(click to copy)')
2621
2621
  ),
2622
2622
  h('label', { style: Object.assign({}, _labelStyle, { marginTop: 12 }) }, 'Private Key'),
2623
- h('div', { style: Object.assign({}, _inputStyle, { fontFamily: 'monospace', fontSize: 12, cursor: 'pointer', background: 'rgba(245,158,11,0.06)', border: '1px solid rgba(245,158,11,0.2)', wordBreak: 'break-all' }), onClick: function() { navigator.clipboard.writeText(createdWallet.privateKey); toast('Private key copied', 'success'); } },
2623
+ h('div', { style: Object.assign({}, _inputStyle, { fontFamily: 'monospace', fontSize: 12, cursor: 'pointer', background: 'rgba(180,83,9,0.06)', border: '1px solid rgba(180,83,9,0.2)', wordBreak: 'break-all' }), onClick: function() { navigator.clipboard.writeText(createdWallet.privateKey); toast('Private key copied', 'success'); } },
2624
2624
  createdWallet.privateKey, ' ', h('span', { style: { color: 'var(--text-muted)', fontSize: 11 } }, '(click to copy)')
2625
2625
  ),
2626
2626
  h('div', { style: { marginTop: 12, padding: '10px 14px', background: 'rgba(239,68,68,0.08)', borderRadius: 6, border: '1px solid rgba(239,68,68,0.2)', fontSize: 12, color: '#ef4444', lineHeight: 1.5 } },
@@ -2664,7 +2664,7 @@ export function PolymarketPage() {
2664
2664
  placeholder: '0x...', value: importKey,
2665
2665
  onChange: function(e) { setImportKey(e.target.value); },
2666
2666
  }),
2667
- h('div', { style: { display: 'flex', alignItems: 'center', gap: 8, marginTop: 8, padding: '8px 12px', background: 'rgba(245,158,11,0.08)', borderRadius: 6, border: '1px solid rgba(245,158,11,0.2)' } },
2667
+ h('div', { style: { display: 'flex', alignItems: 'center', gap: 8, marginTop: 8, padding: '8px 12px', background: 'rgba(180,83,9,0.08)', borderRadius: 6, border: '1px solid rgba(180,83,9,0.2)' } },
2668
2668
  I('shield'),
2669
2669
  h('span', { style: { fontSize: 12, color: 'var(--text-muted)' } }, 'Encrypted with AES-256-GCM. Never leaves the server.')
2670
2670
  ),
@@ -2701,7 +2701,7 @@ export function PolymarketPage() {
2701
2701
  h('input', { type: 'password', style: Object.assign({}, _inputStyle, { fontFamily: 'monospace', fontSize: 13 }), placeholder: 'Hex passphrase', value: apiCredsForm.api_passphrase, onChange: function(e) { setApiCredsForm(Object.assign({}, apiCredsForm, { api_passphrase: e.target.value })); } }),
2702
2702
  h('label', { style: Object.assign({}, _labelStyle, { marginTop: 10 }) }, 'Wallet Address (optional)'),
2703
2703
  h('input', { type: 'text', style: Object.assign({}, _inputStyle, { fontFamily: 'monospace', fontSize: 13 }), placeholder: '0x... (shown in your Polymarket profile)', value: apiCredsForm.wallet_address, onChange: function(e) { setApiCredsForm(Object.assign({}, apiCredsForm, { wallet_address: e.target.value })); } }),
2704
- h('div', { style: { display: 'flex', alignItems: 'center', gap: 8, marginTop: 8, padding: '8px 12px', background: 'rgba(245,158,11,0.08)', borderRadius: 6, border: '1px solid rgba(245,158,11,0.2)' } },
2704
+ h('div', { style: { display: 'flex', alignItems: 'center', gap: 8, marginTop: 8, padding: '8px 12px', background: 'rgba(180,83,9,0.08)', borderRadius: 6, border: '1px solid rgba(180,83,9,0.2)' } },
2705
2705
  I('shield'),
2706
2706
  h('span', { style: { fontSize: 12, color: 'var(--text-muted)' } }, 'All credentials are encrypted with AES-256-GCM before storage.')
2707
2707
  )
@@ -2935,7 +2935,7 @@ export function PolymarketPage() {
2935
2935
  ),
2936
2936
 
2937
2937
  // ── Pending Transfers (approval required) ──
2938
- transfers.filter(function(t) { return t.status === 'pending'; }).length > 0 && h('div', { className: 'card', style: { padding: 20, marginTop: 16, border: '1px solid rgba(245,158,11,0.3)', background: 'rgba(245,158,11,0.04)' } },
2938
+ transfers.filter(function(t) { return t.status === 'pending'; }).length > 0 && h('div', { className: 'card', style: { padding: 20, marginTop: 16, border: '1px solid rgba(180,83,9,0.3)', background: 'rgba(180,83,9,0.04)' } },
2939
2939
  h('div', { style: { fontSize: 14, fontWeight: 700, marginBottom: 12, display: 'flex', alignItems: 'center', gap: 8 } },
2940
2940
  I('zap'), 'Pending Transfers ',
2941
2941
  h(HelpButton, { label: 'Pending Transfers' },
@@ -3037,7 +3037,7 @@ export function PolymarketPage() {
3037
3037
  h('button', { className: 'btn btn-ghost btn-icon', onClick: function() { setShowAddAddr(false); } }, '\u00d7')
3038
3038
  ),
3039
3039
  h('div', { className: 'modal-body', style: { padding: 20 } },
3040
- h('div', { style: { padding: 12, background: 'rgba(245,158,11,0.08)', border: '1px solid rgba(245,158,11,0.25)', borderRadius: 8, marginBottom: 16, fontSize: 12, color: '#f59e0b', lineHeight: 1.6 } },
3040
+ h('div', { style: { padding: 12, background: 'rgba(180,83,9,0.08)', border: '1px solid rgba(180,83,9,0.25)', borderRadius: 8, marginBottom: 16, fontSize: 12, color: '#b45309', lineHeight: 1.6 } },
3041
3041
  h('strong', null, '\u26A0 Cooling Period'), h('br'),
3042
3042
  'New addresses cannot receive transfers for the configured cooling period after being added. This protects against unauthorized address additions. Set to 0 to disable (not recommended).'
3043
3043
  ),
@@ -3743,7 +3743,7 @@ export function PolymarketPage() {
3743
3743
  function(s) { return [
3744
3744
  h('td', null, '$' + (s.total_value || 0).toFixed(2)),
3745
3745
  h('td', null, '$' + (s.peak_value || 0).toFixed(2)),
3746
- h('td', null, h('span', { style: { color: s.drawdown_pct > 15 ? '#ef4444' : s.drawdown_pct > 10 ? '#f59e0b' : '#10b981' } }, s.drawdown_pct?.toFixed(1) + '%')),
3746
+ h('td', null, h('span', { style: { color: s.drawdown_pct > 15 ? '#ef4444' : s.drawdown_pct > 10 ? '#b45309' : '#10b981' } }, s.drawdown_pct?.toFixed(1) + '%')),
3747
3747
  h('td', null, pnlCell(s.unrealized_pnl)),
3748
3748
  h('td', null, fmtDate(s.timestamp)),
3749
3749
  ]; },
@@ -3836,7 +3836,7 @@ export function PolymarketPage() {
3836
3836
  h('div', { style: { fontSize: 11, color: 'var(--text-muted)', marginTop: 4 } }, 'Goals Met')
3837
3837
  ),
3838
3838
  h('div', { className: 'card', style: { padding: 16, textAlign: 'center' } },
3839
- h('div', { style: { fontSize: 24, fontWeight: 700, color: overallProgress >= 75 ? '#10b981' : overallProgress >= 50 ? '#f59e0b' : '#ef4444' } }, overallProgress.toFixed(0) + '%'),
3839
+ h('div', { style: { fontSize: 24, fontWeight: 700, color: overallProgress >= 75 ? '#10b981' : overallProgress >= 50 ? '#b45309' : '#ef4444' } }, overallProgress.toFixed(0) + '%'),
3840
3840
  h('div', { style: { fontSize: 11, color: 'var(--text-muted)', marginTop: 4 } }, 'Overall Progress')
3841
3841
  ),
3842
3842
  h('div', { className: 'card', style: { padding: 16, textAlign: 'center' } },
@@ -3923,14 +3923,14 @@ export function PolymarketPage() {
3923
3923
  goal.type.includes('pct') || goal.type === 'win_rate' || goal.type === 'max_drawdown' ? '%' : goal.type.includes('usd') || goal.type === 'portfolio_value' || goal.type === 'balance_target' ? '$' : ''
3924
3924
  )
3925
3925
  ),
3926
- !met && remaining > 0 && h('div', { style: { fontSize: 11, color: '#f59e0b' } }, remaining.toFixed(2) + ' remaining')
3926
+ !met && remaining > 0 && h('div', { style: { fontSize: 11, color: '#b45309' } }, remaining.toFixed(2) + ' remaining')
3927
3927
  )
3928
3928
  ),
3929
3929
  // Progress bar
3930
3930
  h('div', { style: { height: 6, background: 'var(--bg-secondary)', borderRadius: 3, overflow: 'hidden' } },
3931
3931
  h('div', { style: { height: '100%', borderRadius: 3, transition: 'width 0.3s',
3932
3932
  width: progress + '%',
3933
- background: met ? '#10b981' : progress >= 75 ? '#f59e0b' : progress >= 50 ? '#3b82f6' : '#ef4444'
3933
+ background: met ? '#10b981' : progress >= 75 ? '#b45309' : progress >= 50 ? '#3b82f6' : '#ef4444'
3934
3934
  } })
3935
3935
  ),
3936
3936
  // Stats row
@@ -4361,9 +4361,9 @@ export function PolymarketPage() {
4361
4361
  ),
4362
4362
 
4363
4363
  // Explainer banner
4364
- h('div', { className: 'card', style: { padding: 16, marginBottom: 20, background: 'rgba(245,158,11,0.1)', border: '1px solid rgba(245,158,11,0.3)', borderRadius: 8 } },
4364
+ h('div', { className: 'card', style: { padding: 16, marginBottom: 20, background: 'rgba(180,83,9,0.1)', border: '1px solid rgba(180,83,9,0.3)', borderRadius: 8 } },
4365
4365
  h('div', { style: { display: 'flex', gap: 10, alignItems: 'flex-start' } },
4366
- I('alert-triangle', { style: { color: '#f59e0b', flexShrink: 0 } }),
4366
+ I('alert-triangle', { style: { color: '#b45309', flexShrink: 0 } }),
4367
4367
  h('div', null,
4368
4368
  h('div', { style: { fontWeight: 700, marginBottom: 4 } }, 'Why do I need this?'),
4369
4369
  h('p', { style: { margin: '0 0 8px 0', fontSize: 13, color: 'var(--text-muted)', lineHeight: 1.5 } },
@@ -4513,7 +4513,7 @@ export function PolymarketPage() {
4513
4513
  var r = await apiCall('/polymarket/proxy/setup', { method: 'POST', body: JSON.stringify(body) });
4514
4514
  if (logEl && r.logs) {
4515
4515
  logEl.innerHTML = r.logs.map(function(l) {
4516
- var color = l.includes('Warning') ? '#d29922' : l.includes('failed') || l.includes('Failed') ? '#f85149' : '#8b949e';
4516
+ var color = l.includes('Warning') ? '#b45309' : l.includes('failed') || l.includes('Failed') ? '#f85149' : '#8b949e';
4517
4517
  return '<div style="color:' + color + '">&#9654; ' + l + '</div>';
4518
4518
  }).join('');
4519
4519
  }
@@ -4526,11 +4526,11 @@ export function PolymarketPage() {
4526
4526
  if (logEl) logEl.innerHTML += '<div style="color:#3fb950;font-weight:bold">Connected! Orders will now route through your proxy.</div>';
4527
4527
  toast('All set! Proxy is active.', 'success');
4528
4528
  } else {
4529
- if (logEl) logEl.innerHTML += '<div style="color:#d29922">Setup done but auto-connect failed. Click the Connect button above.</div>';
4529
+ if (logEl) logEl.innerHTML += '<div style="color:#b45309">Setup done but auto-connect failed. Click the Connect button above.</div>';
4530
4530
  toast('Setup done! Click Connect above to activate.', 'success');
4531
4531
  }
4532
4532
  } catch(ce) {
4533
- if (logEl) logEl.innerHTML += '<div style="color:#d29922">Setup done! Click the Connect button above to activate.</div>';
4533
+ if (logEl) logEl.innerHTML += '<div style="color:#b45309">Setup done! Click the Connect button above to activate.</div>';
4534
4534
  }
4535
4535
  loadProxyStatus();
4536
4536
  } else {
@@ -4566,7 +4566,7 @@ export function PolymarketPage() {
4566
4566
  // Recommended provider
4567
4567
  h('div', { style: { padding: 16, background: 'rgba(16,185,129,0.08)', border: '1px solid rgba(16,185,129,0.25)', borderRadius: 10, marginBottom: 16 } },
4568
4568
  h('div', { style: { display: 'flex', alignItems: 'center', gap: 8, marginBottom: 8 } },
4569
- I('star', { style: { color: '#f59e0b' } }),
4569
+ I('star', { style: { color: '#b45309' } }),
4570
4570
  h('span', { style: { fontWeight: 700, fontSize: 14 } }, 'Recommended: Vultr (Mumbai, India) \u2014 $5/mo')
4571
4571
  ),
4572
4572
  h('a', { href: 'https://www.vultr.com/', target: '_blank', style: { display: 'inline-block', padding: '8px 16px', background: '#6366f1', color: '#fff', borderRadius: 6, textDecoration: 'none', fontWeight: 600, fontSize: 13, marginBottom: 12 } }, 'Sign Up at Vultr \u2192'),
@@ -206,3 +206,35 @@
206
206
  2026-03-14 03:05:25: 2026-03-14T02:05:25Z ERR Request failed error="stream 52037 canceled by remote with error code 0" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/67ba24f1-c8af-40b4-9df5-c05b81fc1e7a/price-stream event=0 ip=198.41.192.167 type=http
207
207
  2026-03-14 03:05:31: 2026-03-14T02:05:31Z ERR error="stream 52033 canceled by remote with error code 0" connIndex=2 event=1 ingressRule=0 originService=http://localhost:3100
208
208
  2026-03-14 03:05:31: 2026-03-14T02:05:31Z ERR Request failed error="stream 52033 canceled by remote with error code 0" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/stream?agentId=67ba24f1-c8af-40b4-9df5-c05b81fc1e7a event=0 ip=198.41.192.167 type=http
209
+ 2026-03-14 03:11:10: 2026-03-14T02:11:10Z ERR error="stream 53261 canceled by remote with error code 0" connIndex=2 event=1 ingressRule=0 originService=http://localhost:3100
210
+ 2026-03-14 03:11:10: 2026-03-14T02:11:10Z ERR Request failed error="stream 53261 canceled by remote with error code 0" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/67ba24f1-c8af-40b4-9df5-c05b81fc1e7a/price-stream event=0 ip=198.41.192.167 type=http
211
+ 2026-03-14 03:11:18: 2026-03-14T02:11:18Z ERR error="stream 53265 canceled by remote with error code 0" connIndex=2 event=1 ingressRule=0 originService=http://localhost:3100
212
+ 2026-03-14 03:11:18: 2026-03-14T02:11:18Z ERR Request failed error="stream 53265 canceled by remote with error code 0" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/stream?agentId=67ba24f1-c8af-40b4-9df5-c05b81fc1e7a event=0 ip=198.41.192.167 type=http
213
+ 2026-03-14 03:13:59: 2026-03-14T02:13:59Z ERR error="stream 56065 canceled by remote with error code 0" connIndex=2 event=1 ingressRule=0 originService=http://localhost:3100
214
+ 2026-03-14 03:13:59: 2026-03-14T02:13:59Z ERR Request failed error="stream 56065 canceled by remote with error code 0" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/67ba24f1-c8af-40b4-9df5-c05b81fc1e7a/price-stream event=0 ip=198.41.192.167 type=http
215
+ 2026-03-14 03:14:06: 2026-03-14T02:14:06Z ERR error="stream 56057 canceled by remote with error code 0" connIndex=2 event=1 ingressRule=0 originService=http://localhost:3100
216
+ 2026-03-14 03:14:06: 2026-03-14T02:14:06Z ERR Request failed error="stream 56057 canceled by remote with error code 0" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/stream?agentId=67ba24f1-c8af-40b4-9df5-c05b81fc1e7a event=0 ip=198.41.192.167 type=http
217
+ 2026-03-14 03:22:33: 2026-03-14T02:22:33Z ERR error="stream 52633 canceled by remote with error code 0" connIndex=2 event=1 ingressRule=0 originService=http://localhost:3100
218
+ 2026-03-14 03:22:33: 2026-03-14T02:22:33Z ERR Request failed error="stream 52633 canceled by remote with error code 0" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/67ba24f1-c8af-40b4-9df5-c05b81fc1e7a/price-stream event=0 ip=198.41.192.167 type=http
219
+ 2026-03-14 03:22:38: 2026-03-14T02:22:38Z ERR error="stream 52629 canceled by remote with error code 0" connIndex=2 event=1 ingressRule=0 originService=http://localhost:3100
220
+ 2026-03-14 03:22:38: 2026-03-14T02:22:38Z ERR Request failed error="stream 52629 canceled by remote with error code 0" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/stream?agentId=67ba24f1-c8af-40b4-9df5-c05b81fc1e7a event=0 ip=198.41.192.167 type=http
221
+ 2026-03-14 03:27:23: 2026-03-14T02:27:23Z ERR error="Unable to reach the origin service. The service may be down or it may not be responding to traffic from cloudflared: read tcp [::1]:49629->[::1]:3100: read: connection reset by peer" connIndex=2 event=1 ingressRule=0 originService=http://localhost:3100
222
+ 2026-03-14 03:27:23: 2026-03-14T02:27:23Z ERR Request failed error="Unable to reach the origin service. The service may be down or it may not be responding to traffic from cloudflared: read tcp [::1]:49629->[::1]:3100: read: connection reset by peer" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/67ba24f1-c8af-40b4-9df5-c05b81fc1e7a/wallet/balance event=0 ip=198.41.192.167 type=http
223
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR error="unexpected EOF" connIndex=2 event=1 ingressRule=0 originService=http://localhost:3100
224
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR Request failed error="unexpected EOF" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/stream?agentId=67ba24f1-c8af-40b4-9df5-c05b81fc1e7a event=0 ip=198.41.192.167 type=http
225
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR error="unexpected EOF" connIndex=2 event=1 ingressRule=0 originService=http://localhost:3100
226
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR error="unexpected EOF" connIndex=2 event=1 ingressRule=0 originService=http://localhost:3100
227
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR Request failed error="unexpected EOF" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/67ba24f1-c8af-40b4-9df5-c05b81fc1e7a/price-stream event=0 ip=198.41.192.167 type=http
228
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR Request failed error="unexpected EOF" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/stream?agentId=67ba24f1-c8af-40b4-9df5-c05b81fc1e7a event=0 ip=198.41.192.167 type=http
229
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR error="unexpected EOF" connIndex=2 event=1 ingressRule=0 originService=http://localhost:3100
230
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR Request failed error="unexpected EOF" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/67ba24f1-c8af-40b4-9df5-c05b81fc1e7a/price-stream event=0 ip=198.41.192.167 type=http
231
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR error="unexpected EOF" connIndex=2 event=1 ingressRule=0 originService=http://localhost:3100
232
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR Request failed error="unexpected EOF" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/stream?agentId=67ba24f1-c8af-40b4-9df5-c05b81fc1e7a event=0 ip=198.41.192.167 type=http
233
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR error="unexpected EOF" connIndex=2 event=1 ingressRule=0 originService=http://localhost:3100
234
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR Request failed error="unexpected EOF" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/67ba24f1-c8af-40b4-9df5-c05b81fc1e7a/price-stream event=0 ip=198.41.192.167 type=http
235
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR error="Unable to reach the origin service. The service may be down or it may not be responding to traffic from cloudflared: dial tcp [::1]:3100: connect: connection refused" connIndex=2 event=1 ingressRule=0 originService=http://localhost:3100
236
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR Request failed error="Unable to reach the origin service. The service may be down or it may not be responding to traffic from cloudflared: dial tcp [::1]:3100: connect: connection refused" connIndex=2 dest=https://enterprise.agenticmail.io/api/polymarket/67ba24f1-c8af-40b4-9df5-c05b81fc1e7a/wallet/balance event=0 ip=198.41.192.167 type=http
237
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR error="Unable to reach the origin service. The service may be down or it may not be responding to traffic from cloudflared: dial tcp [::1]:3100: connect: connection refused" connIndex=1 event=1 ingressRule=0 originService=http://localhost:3100
238
+ 2026-03-14 03:27:24: 2026-03-14T02:27:24Z ERR Request failed error="Unable to reach the origin service. The service may be down or it may not be responding to traffic from cloudflared: dial tcp [::1]:3100: connect: connection refused" connIndex=1 dest=https://enterprise.agenticmail.io/api/polymarket/67ba24f1-c8af-40b4-9df5-c05b81fc1e7a/wallet/balance event=0 ip=198.41.200.33 type=http
239
+ 2026-03-14 03:27:26: 2026-03-14T02:27:26Z ERR error="Unable to reach the origin service. The service may be down or it may not be responding to traffic from cloudflared: dial tcp [::1]:3100: connect: connection refused" connIndex=0 event=1 ingressRule=0 originService=http://localhost:3100
240
+ 2026-03-14 03:27:26: 2026-03-14T02:27:26Z ERR Request failed error="Unable to reach the origin service. The service may be down or it may not be responding to traffic from cloudflared: dial tcp [::1]:3100: connect: connection refused" connIndex=0 dest=https://enterprise.agenticmail.io/api/polymarket/67ba24f1-c8af-40b4-9df5-c05b81fc1e7a/wallet/balance event=0 ip=198.41.192.67 type=http
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agenticmail/enterprise",
3
- "version": "0.5.483",
3
+ "version": "0.5.484",
4
4
  "description": "AgenticMail Enterprise — cloud-hosted AI agent identity, email, auth & compliance for organizations",
5
5
  "type": "module",
6
6
  "bin": {