@danainnovations/cortex-mcp 1.0.121 → 1.0.123

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
@@ -923,19 +923,17 @@ function getWizardHtml() {
923
923
  </div>
924
924
  </div>
925
925
 
926
- <!-- Step 6: Done -->
926
+ <!-- Step 7: Done -->
927
927
  <div id="step-done" class="step">
928
- <div class="card text-center">
929
- <div class="success-circle"><span class="success-check">&#10003;</span></div>
930
- <h2>Setup Complete</h2>
931
- <p class="subtitle">Your AI clients are now connected to Cortex</p>
932
- <div id="summary" style="text-align: left; margin: 24px 0;"></div>
933
- <div class="next-steps">
934
- <h3>What's Next</h3>
935
- <div class="next-step-item">1. Restart your AI clients to load the new tools</div>
936
- <div class="next-step-item">2. Try: &ldquo;List my GitHub repos&rdquo; or &ldquo;Show my Asana tasks&rdquo;</div>
937
- <div class="next-step-item">3. Run <code>cortex-mcp connect &lt;provider&gt;</code> to add more accounts later</div>
928
+ <div class="card">
929
+ <div class="text-center" style="margin-bottom: 24px;">
930
+ <div class="success-circle"><span class="success-check">&#10003;</span></div>
931
+ <h2>You're All Set!</h2>
932
+ <p class="subtitle">Cortex is ready to use. Here's how to get started.</p>
938
933
  </div>
934
+
935
+ <div id="getting-started" style="text-align: left;"></div>
936
+
939
937
  <div style="margin-top: 24px;">
940
938
  <button class="btn btn-accent btn-block" onclick="finishSetup()">Close</button>
941
939
  </div>
@@ -1647,34 +1645,50 @@ function getWizardHtml() {
1647
1645
 
1648
1646
  // \u2500\u2500 Step 6: Done \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
1649
1647
  function renderDone() {
1650
- var el = document.getElementById('summary');
1651
- var html = '';
1648
+ var el = document.getElementById('getting-started');
1652
1649
 
1653
- html += '<div class="summary-section">';
1654
- html += '<h3>Integrations (' + state.selectedMcps.length + ')</h3>';
1655
- state.selectedMcps.forEach(function(name) {
1656
- var mcp = state.availableMcps.find(function(m) { return m.name === name; });
1657
- html += '<div class="summary-item"><span class="check-icon">&#10003;</span>' + escapeHtml(mcp ? mcp.displayName : name) + '</div>';
1650
+ var steps = [
1651
+ {
1652
+ num: '1',
1653
+ title: 'Restart your AI apps',
1654
+ desc: 'Quit Claude Desktop completely (right-click the icon in the menu bar \\u2192 Quit), then reopen it. Do the same for Cursor or VS Code if you use them.'
1655
+ },
1656
+ {
1657
+ num: '2',
1658
+ title: 'Start a conversation and ask for something',
1659
+ desc: 'Open a new chat and try one of these:',
1660
+ examples: [
1661
+ '\\u201CShow me my recent emails\\u201D',
1662
+ '\\u201CList my open Asana tasks\\u201D',
1663
+ '\\u201CWhat repos do I have on GitHub?\\u201D',
1664
+ '\\u201CSummarize my calendar for this week\\u201D'
1665
+ ]
1666
+ },
1667
+ {
1668
+ num: '3',
1669
+ title: 'Approve the tools when prompted',
1670
+ desc: 'The first time Claude uses a Cortex tool, it will ask for permission. Click \\u201CAllow\\u201D (or set to \\u201CAlways allow\\u201D in Settings \\u2192 Connectors \\u2192 Cortex).'
1671
+ }
1672
+ ];
1673
+
1674
+ var html = '<div style="display: flex; flex-direction: column; gap: 16px;">';
1675
+ steps.forEach(function(step) {
1676
+ html += '<div style="display: flex; gap: 14px; align-items: flex-start;">' +
1677
+ '<div style="width: 32px; height: 32px; border-radius: 50%; background: rgba(0,163,225,0.12); color: #00A3E1; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 14px; flex-shrink: 0;">' + step.num + '</div>' +
1678
+ '<div style="flex: 1;">' +
1679
+ '<div style="font-size: 14px; font-weight: 600; color: #fff; margin-bottom: 4px;">' + step.title + '</div>' +
1680
+ '<div style="font-size: 13px; color: #8f999f; line-height: 1.5;">' + step.desc + '</div>';
1681
+ if (step.examples) {
1682
+ html += '<div style="margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px;">';
1683
+ step.examples.forEach(function(ex) {
1684
+ html += '<span style="font-size: 12px; background: rgba(0,163,225,0.08); border: 1px solid rgba(0,163,225,0.15); color: #b0b8c0; padding: 4px 10px; border-radius: 6px;">' + ex + '</span>';
1685
+ });
1686
+ html += '</div>';
1687
+ }
1688
+ html += '</div></div>';
1658
1689
  });
1659
1690
  html += '</div>';
1660
1691
 
1661
- if (state.configuredClients.length > 0) {
1662
- html += '<div class="summary-section">';
1663
- html += '<h3>Configured Clients</h3>';
1664
- state.configuredClients.forEach(function(c) {
1665
- var client = state.detectedClients.find(function(d) { return d.type === c; });
1666
- html += '<div class="summary-item"><span class="check-icon">&#10003;</span>' + escapeHtml(client ? client.name : c) + '</div>';
1667
- });
1668
- html += '</div>';
1669
- }
1670
-
1671
- if (state.credentials) {
1672
- html += '<div class="summary-section">';
1673
- html += '<h3>Signed In</h3>';
1674
- html += '<div class="summary-item"><span class="check-icon">&#10003;</span>' + escapeHtml(state.credentials.name || state.credentials.email) + '</div>';
1675
- html += '</div>';
1676
- }
1677
-
1678
1692
  el.innerHTML = html;
1679
1693
  }
1680
1694
 
@@ -1810,6 +1824,12 @@ function detectClients() {
1810
1824
  execSync(whichCmd, { stdio: "pipe" });
1811
1825
  claudeCodeDetected = true;
1812
1826
  } catch {
1827
+ const commonPaths = [
1828
+ join(homedir(), ".local", "bin", "claude"),
1829
+ "/usr/local/bin/claude",
1830
+ "/opt/homebrew/bin/claude"
1831
+ ];
1832
+ claudeCodeDetected = commonPaths.some((p) => existsSync(p));
1813
1833
  }
1814
1834
  clients.push({
1815
1835
  type: "claude-code",