π File detail
components/MCPServerApprovalDialog.tsx
π― Use case
This file lives under βcomponents/β, which covers shared React UI pieces. On the API surface it exposes MCPServerApprovalDialog β mainly types, interfaces, or factory objects. Dependencies touch React UI and src. It composes internal code from utils, CustomSelect, design-system, and MCPServerDialogCopy (relative imports).
Generated from folder role, exports, dependency roots, and inline comments β not hand-reviewed for every path.
π§ Inline summary
import { c as _c } from "react/compiler-runtime"; import React from 'react'; import { type AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, logEvent } from 'src/services/analytics/index.js'; import { getSettings_DEPRECATED, updateSettingsForSource } from '../utils/settings/settings.js'; import { Select } from './CustomSelect/index.js';
π€ Exports (heuristic)
MCPServerApprovalDialog
π External import roots
Package roots from from "β¦" (relative paths omitted).
reactsrc
π₯οΈ Source preview
import { c as _c } from "react/compiler-runtime";
import React from 'react';
import { type AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, logEvent } from 'src/services/analytics/index.js';
import { getSettings_DEPRECATED, updateSettingsForSource } from '../utils/settings/settings.js';
import { Select } from './CustomSelect/index.js';
import { Dialog } from './design-system/Dialog.js';
import { MCPServerDialogCopy } from './MCPServerDialogCopy.js';
type Props = {
serverName: string;
onDone(): void;
};
export function MCPServerApprovalDialog(t0) {
const $ = _c(13);
const {
serverName,
onDone
} = t0;
let t1;
if ($[0] !== onDone || $[1] !== serverName) {
t1 = function onChange(value) {
logEvent("tengu_mcp_dialog_choice", {
choice: value as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS
});
bb2: switch (value) {
case "yes":
case "yes_all":
{
const currentSettings_0 = getSettings_DEPRECATED() || {};
const enabledServers = currentSettings_0.enabledMcpjsonServers || [];
if (!enabledServers.includes(serverName)) {
updateSettingsForSource("localSettings", {
enabledMcpjsonServers: [...enabledServers, serverName]
});
}
if (value === "yes_all") {
updateSettingsForSource("localSettings", {
enableAllProjectMcpServers: true
});
}
onDone();
break bb2;
}
case "no":
{
const currentSettings = getSettings_DEPRECATED() || {};
const disabledServers = currentSettings.disabledMcpjsonServers || [];
if (!disabledServers.includes(serverName)) {
updateSettingsForSource("localSettings", {
disabledMcpjsonServers: [...disabledServers, serverName]
});
}
onDone();
}
}
};
$[0] = onDone;
$[1] = serverName;
$[2] = t1;
} else {
t1 = $[2];
}
const onChange = t1;
const t2 = `New MCP server found in .mcp.json: ${serverName}`;
let t3;
if ($[3] !== onChange) {
t3 = () => onChange("no");
$[3] = onChange;
$[4] = t3;
} else {
t3 = $[4];
}
let t4;
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
t4 = <MCPServerDialogCopy />;
$[5] = t4;
} else {
t4 = $[5];
}
let t5;
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
t5 = [{
label: "Use this and all future MCP servers in this project",
value: "yes_all"
}, {
label: "Use this MCP server",
value: "yes"
}, {
label: "Continue without using this MCP server",
value: "no"
}];
$[6] = t5;
} else {
t5 = $[6];
}
let t6;
if ($[7] !== onChange) {
t6 = <Select options={t5} onChange={value_0 => onChange(value_0 as 'yes_all' | 'yes' | 'no')} onCancel={() => onChange("no")} />;
$[7] = onChange;
$[8] = t6;
} else {
t6 = $[8];
}
let t7;
if ($[9] !== t2 || $[10] !== t3 || $[11] !== t6) {
t7 = <Dialog title={t2} color="warning" onCancel={t3}>{t4}{t6}</Dialog>;
$[9] = t2;
$[10] = t3;
$[11] = t6;
$[12] = t7;
} else {
t7 = $[12];
}
return t7;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkFuYWx5dGljc01ldGFkYXRhX0lfVkVSSUZJRURfVEhJU19JU19OT1RfQ09ERV9PUl9GSUxFUEFUSFMiLCJsb2dFdmVudCIsImdldFNldHRpbmdzX0RFUFJFQ0FURUQiLCJ1cGRhdGVTZXR0aW5nc0ZvclNvdXJjZSIsIlNlbGVjdCIsIkRpYWxvZyIsIk1DUFNlcnZlckRpYWxvZ0NvcHkiLCJQcm9wcyIsInNlcnZlck5hbWUiLCJvbkRvbmUiLCJNQ1BTZXJ2ZXJBcHByb3ZhbERpYWxvZyIsInQwIiwiJCIsIl9jIiwidDEiLCJvbkNoYW5nZSIsInZhbHVlIiwiY2hvaWNlIiwiYmIyIiwiY3VycmVudFNldHRpbmdzXzAiLCJlbmFibGVkU2VydmVycyIsImN1cnJlbnRTZXR0aW5ncyIsImVuYWJsZWRNY3Bqc29uU2VydmVycyIsImluY2x1ZGVzIiwiZW5hYmxlQWxsUHJvamVjdE1jcFNlcnZlcnMiLCJkaXNhYmxlZFNlcnZlcnMiLCJkaXNhYmxlZE1jcGpzb25TZXJ2ZXJzIiwidDIiLCJ0MyIsInQ0IiwiU3ltYm9sIiwiZm9yIiwidDUiLCJsYWJlbCIsInQ2IiwidmFsdWVfMCIsInQ3Il0sInNvdXJjZXMiOlsiTUNQU2VydmVyQXBwcm92YWxEaWFsb2cudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIHR5cGUgQW5hbHl0aWNzTWV0YWRhdGFfSV9WRVJJRklFRF9USElTX0lTX05PVF9DT0RFX09SX0ZJTEVQQVRIUyxcbiAgbG9nRXZlbnQsXG59IGZyb20gJ3NyYy9zZXJ2aWNlcy9hbmFseXRpY3MvaW5kZXguanMnXG5pbXBvcnQge1xuICBnZXRTZXR0aW5nc19ERVBSRUNBVEVELFxuICB1cGRhdGVTZXR0aW5nc0ZvclNvdXJjZSxcbn0gZnJvbSAnLi4vdXRpbHMvc2V0dGluZ3Mvc2V0dGluZ3MuanMnXG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuL0N1c3RvbVNlbGVjdC9pbmRleC5qcydcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gJy4vZGVzaWduLXN5c3RlbS9EaWFsb2cuanMnXG5pbXBvcnQgeyBNQ1BTZXJ2ZXJEaWFsb2dDb3B5IH0gZnJvbSAnLi9NQ1BTZXJ2ZXJEaWFsb2dDb3B5LmpzJ1xuXG50eXBlIFByb3BzID0ge1xuICBzZXJ2ZXJOYW1lOiBzdHJpbmdcbiAgb25Eb25lKCk6IHZvaWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1DUFNlcnZlckFwcHJvdmFsRGlhbG9nKHtcbiAgc2VydmVyTmFtZSxcbiAgb25Eb25lLFxufTogUHJvcHMpOiBSZWFjdC5SZWFjdE5vZGUge1xuICBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZTogJ3llcycgfCAneWVzX2FsbCcgfCAnbm8nKSB7XG4gICAgbG9nRXZlbnQoJ3Rlbmd1X21jcF9kaWFsb2dfY2hvaWNlJywge1xuICAgICAgY2hvaWNlOlxuICAgICAgICB2YWx1ZSBhcyBBbmFseXRpY3NNZXRhZGF0YV9JX1ZFUklGSUVEX1RISVNfSVNfTk9UX0NPREVfT1JfRklMRVBBVEhTLFxuICAgIH0pXG5cbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICBjYXNlICd5ZXMnOlxuICAgICAgY2FzZSAneWVzX2FsbCc6IHtcbiAgICAgICAgLy8gR2V0IGN1cnJlbnQgZW5hYmxlZCBzZXJ2ZXJzIGZyb20gc2V0dGluZ3NcbiAgICAgICAgY29uc3QgY3VycmVudFNldHRpbmdzID0gZ2V0U2V0dGluZ3NfREVQUkVDQVRFRCgpIHx8IHt9XG4gICAgICAgIGNvbnN0IGVuYWJsZWRTZXJ2ZXJzID0gY3VycmVudFNldHRpbmdzLmVuYWJsZWRNY3Bqc29uU2VydmVycyB8fCBbXVxuXG4gICAgICAgIC8vIEFkZCBzZXJ2ZXIgaWYgbm90IGFscmVhZHkgZW5hYmxlZFxuICAgICAgICBpZiAoIWVuYWJsZWRTZXJ2ZXJzLmluY2x1ZGVzKHNlcnZlck5hbWUpKSB7XG4gICAgICAgICAgdXBkYXRlU2V0dGluZ3NGb3JTb3VyY2UoJ2xvY2FsU2V0dGluZ3MnLCB7XG4gICAgICAgICAgICBlbmFibGVkTWNwanNvblNlcnZlcnM6IFsuLi5lbmFibGVkU2VydmVycywgc2VydmVyTmFtZV0sXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJ3llc19hbGwnKSB7XG4gICAgICAgICAgdXBkYXRlU2V0dGluZ3NGb3JTb3VyY2UoJ2xvY2FsU2V0dGluZ3MnLCB7XG4gICAgICAgICAgICBlbmFibGVBbGxQcm9qZWN0TWNwU2VydmVyczogdHJ1ZSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIG9uRG9uZSgpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBjYXNlICdubyc6IHtcbiAgICAgICAgLy8gR2V0IGN1cnJlbnQgZGlzYWJsZWQgc2VydmVycyBmcm9tIHNldHRpbmdzXG4gICAgICAgIGNvbnN0IGN1cnJlbnRTZXR0aW5ncyA9IGdldFNldHRpbmdzX0RFUFJFQ0FURUQoKSB8fCB7fVxuICAgICAgICBjb25zdCBkaXNhYmxlZFNlcnZlcnMgPSBjdXJyZW50U2V0dGluZ3MuZGlzYWJsZWRNY3Bqc29uU2VydmVycyB8fCBbXVxuXG4gICAgICAgIC8vIEFkZCBzZXJ2ZXIgaWYgbm90IGFscmVhZHkgZGlzYWJsZWRcbiAgICAgICAgaWYgKCFkaXNhYmxlZFNlcnZlcnMuaW5jbHVkZXMoc2VydmVyTmFtZSkpIHtcbiAgICAgICAgICB1cGRhdGVTZXR0aW5nc0ZvclNvdXJjZSgnbG9jYWxTZXR0aW5ncycsIHtcbiAgICAgICAgICAgIGRpc2FibGVkTWNwanNvblNlcnZlcnM6IFsuLi5kaXNhYmxlZFNlcnZlcnMsIHNlcnZlck5hbWVdLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgb25Eb25lKClcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxEaWFsb2dcbiAgICAgIHRpdGxlPXtgTmV3IE1DUCBzZXJ2ZXIgZm91bmQgaW4gLm1jcC5qc29uOiAke3NlcnZlck5hbWV9YH1cbiAgICAgIGNvbG9yPVwid2FybmluZ1wiXG4gICAgICBvbkNhbmNlbD17KCkgPT4gb25DaGFuZ2UoJ25vJyl9XG4gICAgPlxuICAgICAgPE1DUFNlcnZlckRpYWxvZ0NvcHkgLz5cblxuICAgICAgPFNlbGVjdFxuICAgICAgICBvcHRpb25zPXtbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IGBVc2UgdGhpcyBhbmQgYWxsIGZ1dHVyZSBNQ1Agc2VydmVycyBpbiB0aGlzIHByb2plY3RgLFxuICAgICAgICAgICAgdmFsdWU6ICd5ZXNfYWxsJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgbGFiZWw6IGBVc2UgdGhpcyBNQ1Agc2VydmVyYCwgdmFsdWU6ICd5ZXMnIH0sXG4gICAgICAgICAgeyBsYWJlbDogYENvbnRpbnVlIHdpdGhvdXQgdXNpbmcgdGhpcyBNQ1Agc2VydmVyYCwgdmFsdWU6ICdubycgfSxcbiAgICAgICAgXX1cbiAgICAgICAgb25DaGFuZ2U9e3ZhbHVlID0+IG9uQ2hhbmdlKHZhbHVlIGFzICd5ZXNfYWxsJyB8ICd5ZXMnIHwgJ25vJyl9XG4gICAgICAgIG9uQ2FuY2VsPXsoKSA9PiBvbkNoYW5nZSgnbm8nKX1cbiAgICAgIC8+XG4gICAgPC9EaWFsb2c+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLEtBQUssTUFBTSxPQUFPO0FBQ3pCLFNBQ0UsS0FBS0MsMERBQTBELEVBQy9EQyxRQUFRLFFBQ0gsaUNBQWlDO0FBQ3hDLFNBQ0VDLHNCQUFzQixFQUN0QkMsdUJBQXVCLFFBQ2xCLCtCQUErQjtBQUN0QyxTQUFTQyxNQUFNLFFBQVEseUJBQXlCO0FBQ2hELFNBQVNDLE1BQU0sUUFBUSwyQkFBMkI7QUFDbEQsU0FBU0MsbUJBQW1CLFFBQVEsMEJBQTBCO0FBRTlELEtBQUtDLEtBQUssR0FBRztFQUNYQyxVQUFVLEVBQUUsTUFBTTtFQUNsQkMsTUFBTSxFQUFFLEVBQUUsSUFBSTtBQUNoQixDQUFDO0FBRUQsT0FBTyxT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