@danainnovations/cortex-mcp 1.0.93 → 1.0.95

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -586,6 +586,15 @@ function getWizardHtml() {
586
586
  .conn-status { font-size: 12px; color: #8f999f; flex: 1; text-align: right; font-weight: 400; }
587
587
  .conn-status.connected { color: #4CAF50; }
588
588
  .conn-item.company-default { cursor: default; }
589
+ .conn-item.needs-connect {
590
+ border: 1px solid rgba(0, 163, 225, 0.4);
591
+ background: rgba(0, 163, 225, 0.06);
592
+ animation: pulse-border 2s ease-in-out infinite;
593
+ }
594
+ @keyframes pulse-border {
595
+ 0%, 100% { border-color: rgba(0, 163, 225, 0.4); }
596
+ 50% { border-color: rgba(0, 163, 225, 0.7); }
597
+ }
589
598
 
590
599
  /* \u2500\u2500 Done / Success \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
591
600
  .success-circle {
@@ -821,7 +830,7 @@ function getWizardHtml() {
821
830
  <div id="conn-list" class="conn-list"></div>
822
831
  <div class="btn-row">
823
832
  <button class="btn btn-secondary" onclick="goToStep('clients')">Back</button>
824
- <button class="btn btn-primary" onclick="finishSetup()">Finish Setup</button>
833
+ <button class="btn btn-primary" onclick="confirmFinish()">Finish Setup</button>
825
834
  </div>
826
835
  </div>
827
836
  </div>
@@ -904,9 +913,10 @@ function getWizardHtml() {
904
913
  state.credentials = data.credentials;
905
914
  state.availableMcps = data.availableMcps || [];
906
915
  state.enabledMcps = data.enabledMcps || ['m365'];
907
- if (state.enabledMcps.indexOf('sonance_brand') === -1) {
908
- state.enabledMcps.push('sonance_brand');
909
- }
916
+ // Ensure all company MCPs are always enabled (API fallback may miss them)
917
+ ['github', 'vercel', 'supabase', 'databricks', 'bestbuy', 'feedback', 'sonance_brand'].forEach(function(name) {
918
+ if (state.enabledMcps.indexOf(name) === -1) state.enabledMcps.push(name);
919
+ });
910
920
  state.selectedMcps = state.enabledMcps.slice();
911
921
  state.detectedClients = data.detectedClients || [];
912
922
  state.configuredClients = (data.config && data.config.configuredClients) || [];
@@ -1081,10 +1091,10 @@ function getWizardHtml() {
1081
1091
  function renderMcpList(container) {
1082
1092
  var enabledList = (state.enabledMcps && state.enabledMcps.length > 0)
1083
1093
  ? state.enabledMcps : ['m365'];
1084
- // Sonance Brand is always enabled for all users
1085
- if (enabledList.indexOf('sonance_brand') === -1) {
1086
- enabledList.push('sonance_brand');
1087
- }
1094
+ // Ensure all company MCPs are always enabled
1095
+ ['github', 'vercel', 'supabase', 'databricks', 'bestbuy', 'feedback', 'sonance_brand'].forEach(function(name) {
1096
+ if (enabledList.indexOf(name) === -1) enabledList.push(name);
1097
+ });
1088
1098
  var enabledMcps = state.availableMcps.filter(function(m) { return enabledList.indexOf(m.name) !== -1; });
1089
1099
  var disabledMcps = state.availableMcps.filter(function(m) { return enabledList.indexOf(m.name) === -1; });
1090
1100
 
@@ -1150,9 +1160,9 @@ function getWizardHtml() {
1150
1160
 
1151
1161
  if (userData.mcps && userData.mcps.length > 0) {
1152
1162
  state.enabledMcps = userData.mcps.map(function(m) { return m.name; });
1153
- if (state.enabledMcps.indexOf('sonance_brand') === -1) {
1154
- state.enabledMcps.push('sonance_brand');
1155
- }
1163
+ ['github', 'vercel', 'supabase', 'databricks', 'bestbuy', 'feedback', 'sonance_brand'].forEach(function(name) {
1164
+ if (state.enabledMcps.indexOf(name) === -1) state.enabledMcps.push(name);
1165
+ });
1156
1166
  state.selectedMcps = state.enabledMcps.slice();
1157
1167
  }
1158
1168
  state.connections = connData.connections || [];
@@ -1411,7 +1421,7 @@ function getWizardHtml() {
1411
1421
  }
1412
1422
 
1413
1423
  return (
1414
- '<div class="conn-item' + (isConnected ? ' connected' : '') + '" id="conn-' + mcp.name + '">' +
1424
+ '<div class="conn-item' + (isConnected ? ' connected' : ' needs-connect') + '" id="conn-' + mcp.name + '" data-personal="true">' +
1415
1425
  '<span class="conn-name">' + escapeHtml(mcp.displayName) + '</span>' +
1416
1426
  (isConnected
1417
1427
  ? '<span class="conn-status connected">&#10003; ' + escapeHtml(conn.account_email) + '</span>'
@@ -1508,6 +1518,31 @@ function getWizardHtml() {
1508
1518
  el.innerHTML = html;
1509
1519
  }
1510
1520
 
1521
+ function confirmFinish() {
1522
+ // Check for unconnected personal MCPs
1523
+ var unconnected = [];
1524
+ document.querySelectorAll('.conn-item.needs-connect').forEach(function(item) {
1525
+ var name = item.querySelector('.conn-name');
1526
+ if (name) unconnected.push(name.textContent);
1527
+ });
1528
+
1529
+ if (unconnected.length > 0) {
1530
+ var msg = 'You haven't connected:
1531
+
1532
+ ' +
1533
+ unconnected.map(function(n) { return ' \u2022 ' + n; }).join('
1534
+ ') +
1535
+ '
1536
+
1537
+ You can connect these later from the Cortex Control Center.
1538
+
1539
+ Finish setup without connecting?';
1540
+ if (!confirm(msg)) return;
1541
+ }
1542
+
1543
+ finishSetup();
1544
+ }
1545
+
1511
1546
  async function finishSetup() {
1512
1547
  try {
1513
1548
  await fetch('/api/complete', {