zidane 6.3.6 → 6.3.7
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/{acp-Xkhrpx8r.js → acp-CAX3tOEY.js} +2 -2
- package/dist/{acp-Xkhrpx8r.js.map → acp-CAX3tOEY.js.map} +1 -1
- package/dist/acp-cli.js +2 -2
- package/dist/acp.js +1 -1
- package/dist/{agent-xjMzFclr.js → agent-Emjeo5Ad.js} +2 -2
- package/dist/{agent-xjMzFclr.js.map → agent-Emjeo5Ad.js.map} +1 -1
- package/dist/agent.js +1 -1
- package/dist/chat.d.ts +46 -2
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +3 -3
- package/dist/{context-transport-O-oQHwhP.js → context-transport-3b0qpM2m.js} +3 -3
- package/dist/{context-transport-O-oQHwhP.js.map → context-transport-3b0qpM2m.js.map} +1 -1
- package/dist/extensions.js +1 -1
- package/dist/headless.js +1 -1
- package/dist/index.js +3 -3
- package/dist/{login-DZHMF7Gl.js → login-C41DcRK-.js} +2 -2
- package/dist/{login-DZHMF7Gl.js.map → login-C41DcRK-.js.map} +1 -1
- package/dist/{mcp-B5iXOceC.js → mcp-8bEHU4WB.js} +3 -3
- package/dist/{mcp-B5iXOceC.js.map → mcp-8bEHU4WB.js.map} +1 -1
- package/dist/mcp.js +1 -1
- package/dist/presets.js +1 -1
- package/dist/{stdio-BsB0QEE9.js → stdio-BKFpPNvX.js} +2 -2
- package/dist/{stdio-BsB0QEE9.js.map → stdio-BKFpPNvX.js.map} +1 -1
- package/dist/{stdio-loader-p7qCIzPS.js → stdio-loader-DFDpBwwI.js} +2 -2
- package/dist/{stdio-loader-p7qCIzPS.js.map → stdio-loader-DFDpBwwI.js.map} +1 -1
- package/dist/tools.js +1 -1
- package/dist/{transcript-anchors-Bsmm4435.js → transcript-anchors-DhBTqTyc.js} +81 -7
- package/dist/{transcript-anchors-Bsmm4435.js.map → transcript-anchors-DhBTqTyc.js.map} +1 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +257 -101
- package/dist/tui.js.map +1 -1
- package/docs/CHAT.md +3 -1
- package/docs/TUI.md +2 -2
- package/package.json +1 -1
package/dist/tui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.d.ts","names":[],"sources":["../src/tui/agent-picker.tsx","../src/tui/app.tsx","../src/tui/completion-popup.tsx","../src/tui/components.tsx","../src/tui/effort-picker.tsx","../src/tui/extension-renderers.tsx","../src/tui/extensions-settings.tsx","../src/tui/interaction-block.tsx","../src/tui/mcps-settings.tsx","../src/tui/modal.tsx","../src/tui/model-options-picker.tsx","../src/tui/model-picker.tsx","../src/tui/screens.tsx","../src/tui/session-details-modal.tsx","../src/tui/settings-modal.tsx","../src/tui/skills-settings.tsx","../src/tui/theme.ts","../src/tui/toggle-list-modal.tsx","../src/tui/turn-details-modal.tsx","../src/tui/index.tsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tui.d.ts","names":[],"sources":["../src/tui/agent-picker.tsx","../src/tui/app.tsx","../src/tui/completion-popup.tsx","../src/tui/components.tsx","../src/tui/effort-picker.tsx","../src/tui/extension-renderers.tsx","../src/tui/extensions-settings.tsx","../src/tui/interaction-block.tsx","../src/tui/mcps-settings.tsx","../src/tui/modal.tsx","../src/tui/model-options-picker.tsx","../src/tui/model-picker.tsx","../src/tui/screens.tsx","../src/tui/session-details-modal.tsx","../src/tui/settings-modal.tsx","../src/tui/skills-settings.tsx","../src/tui/theme.ts","../src/tui/toggle-list-modal.tsx","../src/tui/turn-details-modal.tsx","../src/tui/index.tsx"],"mappings":"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"}
|
package/dist/tui.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $
|
|
2
|
-
import { $ as removeInstalledExtension, At as looksBinary, C as resolveTasksDir, E as selectFilesFromSession, Gt as KEYBINDING_KEY_COL_WIDTH, Jt as groupBindings, K as createExtensionPromptBridge, Kt as ensureKeybindingsFile, Mt as createModelSearchTool, O as compactConversation, Ot as tailTruncate, S as resolveSessionDir, Sn as effectiveContextWindow, V as summaryToTurn, Xt as matchesBinding, Y as installExtensionFromSpec, Yt as keybindingsPath, _ as rehomePersistedStubs, _n as resolveExtensionConfigValue, at as composeExtensionPreset, b as resolveMcpWarningsDir, c as applyCompactSummaryCutoff, et as updateInstalledExtension, ht as basic_default, ln as parseExtensionScanPathEnv, lt as partitionExtensionCatalog, m as cleanupPersistedSession, nt as discoverAndBuildExtensionRegistry, ot as disposeExtensionRegistry, pn as coerceExtensionConfigInput, q as ExtensionInstallError, qt as formatBindingForDisplay, rn as registerExtensionHostModules, sn as inlineLoadedExtension, st as filterExtensionRegistry, t as createAgent, tn as resolveExtensionKeybindings, tt as createExtensionHud, un as scanExtensionDirectories, ut as createExtensionHostRuntimeBridge, v as resolveLegacyPersistDir, vn as sanitizeExtensionConfigActionPatch, w as buildPostCompactAttachments, x as resolvePersistDir, xn as OUTPUT_RESERVE_TOKENS, xt as isSpawnTool, y as resolveLegacySessionDir } from "./agent-
|
|
1
|
+
import { $t as toggleChainEntry, A as redirectUriFromAuthUrl, At as resolveTheme, Bt as useDiscovery, Cr as sumRunCosts, Ct as SETTINGS_TOGGLES, D as formatPathForCwd, Dr as updateToolEventOutcomes, Er as toolResultText, Et as useSettings, F as loadMcpToolsCache, G as parentServerName, Gt as resolveStoragePaths, Ht as ConfigProvider, I as mcpToolsCachePath, Jt as chainsEqual, K as createFileMcpCredentialStore, Kn as pruneTodosByRun, Kt as buildRunModel, L as refreshMcpToolsCatalog, M as runOAuthLogin, N as supportsOAuth, Nn as accentColor, O as fetchOAuthRedirect, Or as usageByModel, Q as getMcpAuthStatus, Rt as createDiscoverySlot, Sr as stripSpawnTokensLine, St as SETTINGS_INPUTS, T as suggestSafelistEntries, Tn as discoverAgentsMd, Tr as toolCallPreview, Tt as clampFps, U as buildVisibleMcpRows, Ut as useConfig, V as useMcpToolToggleMap, Vt as useDiscoveryOptional, W as indexOfServerRow, Wt as resolveConfig, X as useMcpAuthDispatch, Xt as providerKeySetChanged, Y as McpAuthProvider, Yn as useActiveTodos, Yt as filterChainFallbacks, Z as useMcpAuthState, Zt as restoreChainFallbacks, _ as useSafeModeQueue, _r as listSessionMeta, _t as listProjectFiles, a as useSurfaces, an as removeMcpServer, b as getSafelist, bt as SETTINGS_CATEGORIES, c as useStreamBuffer, cr as envSection, d as discoverProjectSkills, dn as tryOpenBrowser, dt as EMPTY_HINTS, en as useCompletion, et as ASK_USER_TOOL, fr as compactSummaryEvent, ft as clipHintsToWidth, g as useSafeModeActions, gr as lastContextSizeFromTurns, h as SafeModeProvider, hn as useUpdateCheck, hr as eventsFromTurns, ht as buildHints, i as useSelectStyle, in as mcpsWritePath, it as createInteractionTools, j as oauthUsesManualCodePaste, kt as resolveChipColor, l as buildSkillsConfig, ln as discoverProjectMcps, lr as chatReferenceTokensForPrompt, lt as useInteractionsActions, m as writeSessionExport, mn as buildUpdateHint, mr as deriveSessionTitle, mt as truncateTrailing, n as ThemeProvider, nn as hasClaudeCodeSetup, nt as PRESENT_PLAN_TOOL, on as upsertMcpServer, or as buildBuildSystem, ot as makeRequestInteraction, pn as bootTick, pt as hintsLength, qt as chainPositionOf, r as useColors, rn as importFromClaudeCode, rt as buildResumedToolResultsTurn, s as useTheme, sn as buildMcpServers, sr as buildPlanSystem, st as pendingInteractionsFromTurns, t as computeTurnAnchors, tn as countClaudeSessionFiles, tt as InteractionsProvider, u as defaultSkillScanPaths, ur as createChatTurnsReadTool, ut as useInteractionsQueue, vr as loadState, vt as useEnabledToggleSet, wn as chatAutoCompactBehavior, wt as SettingsProvider, x as isOnSafelist, xr as serverToolResultSummary, xt as SETTINGS_CHOICES, y as addToSafelist, yr as marginTopFor, yt as DEFAULT_SETTINGS, z as subscribeMcpToolsCache, zn as TODO_STATUS_GLYPHS, zt as DiscoveryProvider } from "./transcript-anchors-DhBTqTyc.js";
|
|
2
|
+
import { $ as removeInstalledExtension, At as looksBinary, C as resolveTasksDir, E as selectFilesFromSession, Gt as KEYBINDING_KEY_COL_WIDTH, Jt as groupBindings, K as createExtensionPromptBridge, Kt as ensureKeybindingsFile, Mt as createModelSearchTool, O as compactConversation, Ot as tailTruncate, S as resolveSessionDir, Sn as effectiveContextWindow, V as summaryToTurn, Xt as matchesBinding, Y as installExtensionFromSpec, Yt as keybindingsPath, _ as rehomePersistedStubs, _n as resolveExtensionConfigValue, at as composeExtensionPreset, b as resolveMcpWarningsDir, c as applyCompactSummaryCutoff, et as updateInstalledExtension, ht as basic_default, ln as parseExtensionScanPathEnv, lt as partitionExtensionCatalog, m as cleanupPersistedSession, nt as discoverAndBuildExtensionRegistry, ot as disposeExtensionRegistry, pn as coerceExtensionConfigInput, q as ExtensionInstallError, qt as formatBindingForDisplay, rn as registerExtensionHostModules, sn as inlineLoadedExtension, st as filterExtensionRegistry, t as createAgent, tn as resolveExtensionKeybindings, tt as createExtensionHud, un as scanExtensionDirectories, ut as createExtensionHostRuntimeBridge, v as resolveLegacyPersistDir, vn as sanitizeExtensionConfigActionPatch, w as buildPostCompactAttachments, x as resolvePersistDir, xn as OUTPUT_RESERVE_TOKENS, xt as isSpawnTool, y as resolveLegacySessionDir } from "./agent-Emjeo5Ad.js";
|
|
3
3
|
import { a as formatDuration, c as previewLine, i as fmtTokens, l as shortId, n as compactPath, o as formatTaskStatus, r as fmtCost, s as formatTaskSummary, t as ageString } from "./format-BF745pLL.js";
|
|
4
4
|
import { n as appendCapped } from "./output-cap-C9zukcCj.js";
|
|
5
5
|
import { i as killProcessGroup, n as SUPPORTS_PROCESS_GROUPS, r as createProcessContext } from "./contexts-DWVt7MvF.js";
|
|
@@ -7,7 +7,7 @@ import { l as errorMessage } from "./errors-DJUxZg9b.js";
|
|
|
7
7
|
import { M as findGitRoot } from "./resolve-BPTA1RpX.js";
|
|
8
8
|
import { a as createRingBufferSink, i as createLoggingHooks, l as logFileTimestamp, n as createFileSink, o as fanoutSink, r as createLogger, s as formatLogLine, t as consoleSink } from "./logger-DBX9uYOw.js";
|
|
9
9
|
import { i as sniffImageMediaType } from "./media-sniff-UKijEaiQ.js";
|
|
10
|
-
import { g as hasAuthorizationHeader, m as McpOAuthProvider, n as connectMcpServers, s as nonOwningMcpView } from "./mcp-
|
|
10
|
+
import { g as hasAuthorizationHeader, m as McpOAuthProvider, n as connectMcpServers, s as nonOwningMcpView } from "./mcp-8bEHU4WB.js";
|
|
11
11
|
import { C as estimateRebilledCostUsd } from "./openai-compat-Bf9uMTMa.js";
|
|
12
12
|
import { replaceDynamicSection } from "./prompt.js";
|
|
13
13
|
import { a as getExtensionSessionState, c as setExtensionSessionState, i as demoteStaleRunningStatus, o as loadSession, t as createSession } from "./session-Bdk31kA5.js";
|
|
@@ -17,7 +17,7 @@ import { i as installCacheBreakLogger } from "./cache-telemetry-ehVdWsg2.js";
|
|
|
17
17
|
import { a as generateStructuredData, c as shouldAutoGenerateTitle, f as commandBlockToEvent, g as parseCommandInvocation, h as executeCommand, n as patchInlineGhost, p as commandBlocksToContent, r as resolveInlineSuggestion, s as generateSessionTitle, t as createPathAutocompleteProvider } from "./inline-autocomplete-DC2cxprN.js";
|
|
18
18
|
import { s as resolveCompletionSubmit } from "./completion-core-BRo86R_L.js";
|
|
19
19
|
import { i as installSkillFromSpec, r as SkillInstallError } from "./skills-C7eIjWYm.js";
|
|
20
|
-
import { a as ZIDANE_EXTENSION_SKILL_NAME, d as extensionScaffold, f as readSkillEditMarker, h as withZidaneSkillEditSkill, i as SKILL_EDIT_METADATA_KEY, l as editSessionMetadata, m as withZidaneExtensionSkill, o as ZIDANE_SKILL_EDIT_SKILL_NAME, t as loginMcpServer, u as extensionDirForCwd } from "./login-
|
|
20
|
+
import { a as ZIDANE_EXTENSION_SKILL_NAME, d as extensionScaffold, f as readSkillEditMarker, h as withZidaneSkillEditSkill, i as SKILL_EDIT_METADATA_KEY, l as editSessionMetadata, m as withZidaneExtensionSkill, o as ZIDANE_SKILL_EDIT_SKILL_NAME, t as loginMcpServer, u as extensionDirForCwd } from "./login-C41DcRK-.js";
|
|
21
21
|
import { C as restoreModelOptions, S as piIdOf, _ as modelOptionsFor, m as getContextWindow, p as enabledModelOptions, s as setProviderCredential, t as detectAuth, v as modelSupportsReasoning, w as renderDefaultCallbackPage } from "./auth-Dptb8U5J.js";
|
|
22
22
|
import { createDockerContext } from "./contexts/docker.js";
|
|
23
23
|
import { createTuiStore } from "./session/sqlite.js";
|
|
@@ -3475,7 +3475,7 @@ function UserPromptBlock({ text, refs, attachments, searchQuery }) {
|
|
|
3475
3475
|
});
|
|
3476
3476
|
}
|
|
3477
3477
|
/** Click-feedback delay before `[copied]` reverts to `[copy]`, in ms. */
|
|
3478
|
-
const COPY_FEEDBACK_MS = 1200;
|
|
3478
|
+
const COPY_FEEDBACK_MS$1 = 1200;
|
|
3479
3479
|
/**
|
|
3480
3480
|
* BoxRenderable subclass that hosts a `[lang] … [copy]` header above
|
|
3481
3481
|
* an inner {@link CodeRenderable} body. Returned from
|
|
@@ -3583,7 +3583,7 @@ var CodeBlockWrapper = class extends BoxRenderable {
|
|
|
3583
3583
|
if (this.button.isDestroyed) return;
|
|
3584
3584
|
this.button.content = "[copy]";
|
|
3585
3585
|
this.button.fg = this.bag.colors.warn;
|
|
3586
|
-
}, COPY_FEEDBACK_MS);
|
|
3586
|
+
}, COPY_FEEDBACK_MS$1);
|
|
3587
3587
|
};
|
|
3588
3588
|
this.header.add(this.langLabel);
|
|
3589
3589
|
this.header.add(this.spacer);
|
|
@@ -9419,11 +9419,12 @@ function OptionList({ items, initialCursor, onPick }) {
|
|
|
9419
9419
|
* budget — default 14 fits a typical modal; pass a smaller value for
|
|
9420
9420
|
* less-padded containers (e.g. 6 for the auth wizard panel).
|
|
9421
9421
|
*/
|
|
9422
|
-
function OAuthUrlBlock({ url, fg, maxLineWidth, chromeWidth = 14 }) {
|
|
9422
|
+
function OAuthUrlBlock({ url, fg, bg, maxLineWidth, chromeWidth = 14 }) {
|
|
9423
9423
|
const { width: termWidth } = useTerminalDimensions();
|
|
9424
9424
|
return /* @__PURE__ */ jsx$1(Fragment, { children: chunkString(url, Math.max(20, Math.min(maxLineWidth, termWidth - chromeWidth))).map((line, i) => /* @__PURE__ */ jsx$1("text", {
|
|
9425
9425
|
wrapMode: "none",
|
|
9426
9426
|
fg,
|
|
9427
|
+
...bg ? { bg } : {},
|
|
9427
9428
|
children: /* @__PURE__ */ jsx$1("a", {
|
|
9428
9429
|
href: url,
|
|
9429
9430
|
children: line
|
|
@@ -9441,6 +9442,45 @@ function chunkString(s, n) {
|
|
|
9441
9442
|
/** Keystroke shown next to the open-browser button. */
|
|
9442
9443
|
const OPEN_BROWSER_KEY = "ctrl+b";
|
|
9443
9444
|
/**
|
|
9445
|
+
* Keystroke shown next to the copy-URL button. `ctrl+y` is the global
|
|
9446
|
+
* `openKeybindings` chord, but it can't collide here: every surface that
|
|
9447
|
+
* mounts this block is either a modal (`app.tsx` bails on `modal.isOpen`
|
|
9448
|
+
* before dispatching global bindings) or the auth screen (excluded by
|
|
9449
|
+
* `screen !== 'auth'`). It's also absent from OpenTUI's input key table,
|
|
9450
|
+
* so the focused paste field ignores it.
|
|
9451
|
+
*/
|
|
9452
|
+
const COPY_URL_KEY = "ctrl+y";
|
|
9453
|
+
/** How long a `copied` confirmation stays on screen. */
|
|
9454
|
+
const COPY_FEEDBACK_MS = 4e3;
|
|
9455
|
+
/**
|
|
9456
|
+
* Paste-input capacity. OpenTUI's `InputRenderable` defaults to 1000 chars
|
|
9457
|
+
* and silently drops the overflow — long enough to truncate a callback URL
|
|
9458
|
+
* carrying a fat `code` + `state` and make a correct paste look corrupt.
|
|
9459
|
+
*/
|
|
9460
|
+
const PASTE_MAX_LENGTH = 4096;
|
|
9461
|
+
/**
|
|
9462
|
+
* Copy-to-clipboard with a self-clearing "copied" flag. Every copy
|
|
9463
|
+
* affordance in this module shares it so the timers are cleaned up on
|
|
9464
|
+
* unmount in exactly one place.
|
|
9465
|
+
*/
|
|
9466
|
+
function useCopyFlash() {
|
|
9467
|
+
const [copied, setCopied] = useState(false);
|
|
9468
|
+
const timer = useRef(null);
|
|
9469
|
+
const copy = useCallback((text) => {
|
|
9470
|
+
if (!writeToClipboard(text)) return;
|
|
9471
|
+
setCopied(true);
|
|
9472
|
+
if (timer.current) clearTimeout(timer.current);
|
|
9473
|
+
timer.current = setTimeout(setCopied, COPY_FEEDBACK_MS, false);
|
|
9474
|
+
}, []);
|
|
9475
|
+
useEffect(() => () => {
|
|
9476
|
+
if (timer.current) clearTimeout(timer.current);
|
|
9477
|
+
}, []);
|
|
9478
|
+
return {
|
|
9479
|
+
copied,
|
|
9480
|
+
copy
|
|
9481
|
+
};
|
|
9482
|
+
}
|
|
9483
|
+
/**
|
|
9444
9484
|
* Device-authorization affordance (RFC 8628): the user code the user must see
|
|
9445
9485
|
* on the consent screen, plus the verification URI they type it into.
|
|
9446
9486
|
*
|
|
@@ -9452,19 +9492,13 @@ const OPEN_BROWSER_KEY = "ctrl+b";
|
|
|
9452
9492
|
*/
|
|
9453
9493
|
function OAuthDeviceCodeBlock({ userCode, verificationUri, expiresInSeconds }) {
|
|
9454
9494
|
const COLOR = useColors();
|
|
9455
|
-
const
|
|
9456
|
-
const copyTimer = useRef(null);
|
|
9495
|
+
const { copied, copy } = useCopyFlash();
|
|
9457
9496
|
useKeyboard((key) => {
|
|
9458
9497
|
if (key.name === "u" && key.ctrl) {
|
|
9459
9498
|
key.preventDefault();
|
|
9460
|
-
|
|
9461
|
-
if (copyTimer.current) clearTimeout(copyTimer.current);
|
|
9462
|
-
copyTimer.current = setTimeout(setCopied, 4e3, false);
|
|
9499
|
+
copy(userCode);
|
|
9463
9500
|
}
|
|
9464
9501
|
});
|
|
9465
|
-
useEffect(() => () => {
|
|
9466
|
-
if (copyTimer.current) clearTimeout(copyTimer.current);
|
|
9467
|
-
}, []);
|
|
9468
9502
|
return /* @__PURE__ */ jsxs("box", {
|
|
9469
9503
|
style: { flexDirection: "column" },
|
|
9470
9504
|
children: [
|
|
@@ -9489,23 +9523,29 @@ function OAuthDeviceCodeBlock({ userCode, verificationUri, expiresInSeconds }) {
|
|
|
9489
9523
|
});
|
|
9490
9524
|
}
|
|
9491
9525
|
/**
|
|
9492
|
-
* Unified affordance for surfacing an OAuth authorization URL in the TUI
|
|
9526
|
+
* Unified affordance for surfacing an OAuth authorization URL in the TUI,
|
|
9527
|
+
* laid out as two numbered steps so the remote-session path reads as a
|
|
9528
|
+
* first-class option instead of a footnote:
|
|
9493
9529
|
*
|
|
9494
|
-
* 1
|
|
9495
|
-
*
|
|
9496
|
-
*
|
|
9497
|
-
*
|
|
9498
|
-
*
|
|
9499
|
-
*
|
|
9500
|
-
*
|
|
9501
|
-
*
|
|
9502
|
-
*
|
|
9503
|
-
*
|
|
9504
|
-
*
|
|
9505
|
-
*
|
|
9506
|
-
*
|
|
9507
|
-
*
|
|
9508
|
-
*
|
|
9530
|
+
* **1 — get to the consent screen.** Two real buttons (mouse-clickable
|
|
9531
|
+
* AND keyed): {@link OPEN_BROWSER_KEY} opens the URL via the OS handler,
|
|
9532
|
+
* {@link COPY_URL_KEY} copies it to the clipboard (OSC 52 → lands on the
|
|
9533
|
+
* user's LOCAL clipboard over SSH). Below them the URL itself sits in a
|
|
9534
|
+
* framed panel with its own `[copy]` button, chunked into per-row OSC 8
|
|
9535
|
+
* hyperlinks by {@link OAuthUrlBlock} — the backup channel for terminals
|
|
9536
|
+
* without clickable links and for drag-select copying.
|
|
9537
|
+
*
|
|
9538
|
+
* **2 — hand the redirect back.** When `paste` is provided, an `<input>`
|
|
9539
|
+
* accepts whatever the browser (or consent page) produced. This is THE
|
|
9540
|
+
* path for `zidane` running over SSH: the browser sits on the user's
|
|
9541
|
+
* laptop and cannot reach the remote box's loopback callback server, so
|
|
9542
|
+
* they copy the failed `http://127.0.0.1:<port>/callback?code=…` out of
|
|
9543
|
+
* the URL bar and paste it here. Servers that render the code on the
|
|
9544
|
+
* page instead of redirecting have no failed URL to copy — paste the
|
|
9545
|
+
* code itself; `normalizeRedirectPaste` completes it against the
|
|
9546
|
+
* authorization URL's `redirect_uri` + `state`. We name that exact
|
|
9547
|
+
* address (parsed out of the authorization URL) so there's no guessing
|
|
9548
|
+
* about which string to copy.
|
|
9509
9549
|
*
|
|
9510
9550
|
* The component owns presentation only — keyboard focus, input ref, and
|
|
9511
9551
|
* the submit handler stay with the caller so the affordance composes
|
|
@@ -9513,31 +9553,40 @@ function OAuthDeviceCodeBlock({ userCode, verificationUri, expiresInSeconds }) {
|
|
|
9513
9553
|
*/
|
|
9514
9554
|
function OAuthAuthBlock({ authUrl, maxLineWidth, chromeWidth = 14, paste }) {
|
|
9515
9555
|
const COLOR = useColors();
|
|
9556
|
+
const callbackUri = redirectUriFromAuthUrl(authUrl);
|
|
9557
|
+
const pasteRef = paste?.inputRef;
|
|
9558
|
+
const pasteFocused = paste?.focused ?? false;
|
|
9559
|
+
useEffect(() => {
|
|
9560
|
+
if (pasteFocused) pasteRef?.current?.focus();
|
|
9561
|
+
}, [pasteFocused, pasteRef]);
|
|
9516
9562
|
return /* @__PURE__ */ jsxs("box", {
|
|
9517
9563
|
style: {
|
|
9518
9564
|
flexDirection: "column",
|
|
9519
9565
|
gap: 1
|
|
9520
9566
|
},
|
|
9521
9567
|
children: [
|
|
9522
|
-
/* @__PURE__ */ jsx$1(OpenBrowserButton, { authUrl }),
|
|
9523
9568
|
/* @__PURE__ */ jsxs("box", {
|
|
9524
9569
|
style: { flexDirection: "column" },
|
|
9525
|
-
children: [/* @__PURE__ */ jsx$1(
|
|
9526
|
-
|
|
9527
|
-
|
|
9528
|
-
}), /* @__PURE__ */ jsx$1(
|
|
9529
|
-
|
|
9530
|
-
|
|
9531
|
-
|
|
9532
|
-
|
|
9533
|
-
|
|
9570
|
+
children: [/* @__PURE__ */ jsx$1(StepHeading, {
|
|
9571
|
+
step: paste ? "1" : void 0,
|
|
9572
|
+
text: "open this URL in your browser to authorize"
|
|
9573
|
+
}), /* @__PURE__ */ jsx$1(ActionButtons, { authUrl })]
|
|
9574
|
+
}),
|
|
9575
|
+
/* @__PURE__ */ jsx$1(AuthUrlPanel, {
|
|
9576
|
+
url: authUrl,
|
|
9577
|
+
maxLineWidth,
|
|
9578
|
+
chromeWidth
|
|
9534
9579
|
}),
|
|
9535
9580
|
paste && /* @__PURE__ */ jsxs("box", {
|
|
9536
9581
|
style: { flexDirection: "column" },
|
|
9537
9582
|
children: [
|
|
9583
|
+
/* @__PURE__ */ jsx$1(StepHeading, {
|
|
9584
|
+
step: "2",
|
|
9585
|
+
text: "no browser on this machine? (SSH, headless, firewalled)"
|
|
9586
|
+
}),
|
|
9538
9587
|
/* @__PURE__ */ jsx$1("text", {
|
|
9539
|
-
fg: COLOR.
|
|
9540
|
-
children:
|
|
9588
|
+
fg: COLOR.dim,
|
|
9589
|
+
children: callbackUri ? `after you authorize, the browser lands on ${callbackUri} and fails — copy that whole address from its URL bar and paste it below.` : "after you authorize, copy the address the browser failed to reach (it starts with http://127.0.0.1) and paste it below."
|
|
9541
9590
|
}),
|
|
9542
9591
|
paste.hint && /* @__PURE__ */ jsx$1("text", {
|
|
9543
9592
|
fg: toneColor(paste.hint.tone, COLOR),
|
|
@@ -9554,7 +9603,8 @@ function OAuthAuthBlock({ authUrl, maxLineWidth, chromeWidth = 14, paste }) {
|
|
|
9554
9603
|
children: /* @__PURE__ */ jsx$1("input", {
|
|
9555
9604
|
ref: paste.inputRef,
|
|
9556
9605
|
focused: paste.focused,
|
|
9557
|
-
|
|
9606
|
+
maxLength: PASTE_MAX_LENGTH,
|
|
9607
|
+
placeholder: paste.placeholder ?? "paste redirect URL (or just the code) and press enter…",
|
|
9558
9608
|
onSubmit: paste.onSubmit,
|
|
9559
9609
|
style: { flexGrow: 1 }
|
|
9560
9610
|
})
|
|
@@ -9565,76 +9615,181 @@ function OAuthAuthBlock({ authUrl, maxLineWidth, chromeWidth = 14, paste }) {
|
|
|
9565
9615
|
});
|
|
9566
9616
|
}
|
|
9567
9617
|
/**
|
|
9568
|
-
*
|
|
9569
|
-
*
|
|
9570
|
-
|
|
9571
|
-
|
|
9572
|
-
|
|
9573
|
-
|
|
9574
|
-
|
|
9575
|
-
|
|
9618
|
+
* Numbered step label. The numeral is dropped when the block has only one
|
|
9619
|
+
* step (no paste input) — "1" with no "2" reads like a truncated list.
|
|
9620
|
+
*/
|
|
9621
|
+
function StepHeading({ step, text }) {
|
|
9622
|
+
const COLOR = useColors();
|
|
9623
|
+
return /* @__PURE__ */ jsxs("text", { children: [step !== void 0 && /* @__PURE__ */ jsx$1("span", {
|
|
9624
|
+
fg: COLOR.brand,
|
|
9625
|
+
attributes: 1,
|
|
9626
|
+
children: `${step} `
|
|
9627
|
+
}), /* @__PURE__ */ jsx$1("span", {
|
|
9628
|
+
fg: COLOR.mute,
|
|
9629
|
+
children: text
|
|
9630
|
+
})] });
|
|
9631
|
+
}
|
|
9632
|
+
/**
|
|
9633
|
+
* The two primary buttons, side by side: open-in-browser and copy-URL.
|
|
9634
|
+
*
|
|
9635
|
+
* Both are bordered boxes with a labeled keystroke, both are clickable
|
|
9636
|
+
* (`onMouseDown`), and both keys work regardless of which input owns focus
|
|
9637
|
+
* (`preventDefault` keeps the focused field from double-handling). Splitting
|
|
9638
|
+
* copy out of open matters over SSH: `open`/`xdg-open` on a headless remote
|
|
9639
|
+
* box does nothing, and the user's real intent is "give me the URL".
|
|
9576
9640
|
*
|
|
9577
|
-
* The
|
|
9578
|
-
* click in a
|
|
9579
|
-
*
|
|
9580
|
-
* depend on terminal capability — and the hyperlink is the bonus.
|
|
9641
|
+
* The open button's label is additionally wrapped in an OSC 8 hyperlink so
|
|
9642
|
+
* a click in a terminal that supports links (iTerm2, Kitty, WezTerm, …)
|
|
9643
|
+
* reaches the browser on the user's LOCAL machine even over SSH.
|
|
9581
9644
|
*/
|
|
9582
|
-
function
|
|
9645
|
+
function ActionButtons({ authUrl }) {
|
|
9583
9646
|
const COLOR = useColors();
|
|
9584
|
-
const [
|
|
9585
|
-
const
|
|
9586
|
-
const
|
|
9647
|
+
const [opened, setOpened] = useState(false);
|
|
9648
|
+
const openedTimer = useRef(null);
|
|
9649
|
+
const { copied, copy } = useCopyFlash();
|
|
9650
|
+
const open = useCallback(() => {
|
|
9587
9651
|
tryOpenBrowser(authUrl);
|
|
9588
|
-
|
|
9589
|
-
|
|
9590
|
-
|
|
9591
|
-
feedbackTimer.current = setTimeout(setFeedback, 4e3, null);
|
|
9652
|
+
setOpened(true);
|
|
9653
|
+
if (openedTimer.current) clearTimeout(openedTimer.current);
|
|
9654
|
+
openedTimer.current = setTimeout(setOpened, COPY_FEEDBACK_MS, false);
|
|
9592
9655
|
}, [authUrl]);
|
|
9656
|
+
useEffect(() => () => {
|
|
9657
|
+
if (openedTimer.current) clearTimeout(openedTimer.current);
|
|
9658
|
+
}, []);
|
|
9593
9659
|
useKeyboard((key) => {
|
|
9594
|
-
if (key.ctrl
|
|
9660
|
+
if (!key.ctrl) return;
|
|
9661
|
+
if (key.name === "b") {
|
|
9595
9662
|
key.preventDefault();
|
|
9596
|
-
|
|
9663
|
+
open();
|
|
9664
|
+
return;
|
|
9665
|
+
}
|
|
9666
|
+
if (key.name === "y") {
|
|
9667
|
+
key.preventDefault();
|
|
9668
|
+
copy(authUrl);
|
|
9597
9669
|
}
|
|
9598
9670
|
});
|
|
9599
|
-
useEffect(() => () => {
|
|
9600
|
-
if (feedbackTimer.current) clearTimeout(feedbackTimer.current);
|
|
9601
|
-
}, []);
|
|
9602
9671
|
return /* @__PURE__ */ jsxs("box", {
|
|
9603
9672
|
style: { flexDirection: "column" },
|
|
9604
|
-
children: [/* @__PURE__ */
|
|
9673
|
+
children: [/* @__PURE__ */ jsxs("box", {
|
|
9605
9674
|
style: {
|
|
9675
|
+
flexDirection: "row",
|
|
9676
|
+
gap: 2,
|
|
9677
|
+
flexWrap: "wrap"
|
|
9678
|
+
},
|
|
9679
|
+
children: [/* @__PURE__ */ jsx$1(Button, {
|
|
9680
|
+
color: COLOR.brand,
|
|
9681
|
+
chord: OPEN_BROWSER_KEY,
|
|
9682
|
+
onPress: open,
|
|
9683
|
+
children: /* @__PURE__ */ jsx$1("a", {
|
|
9684
|
+
href: authUrl,
|
|
9685
|
+
fg: COLOR.brand,
|
|
9686
|
+
children: "↗ Open in browser"
|
|
9687
|
+
})
|
|
9688
|
+
}), /* @__PURE__ */ jsx$1(Button, {
|
|
9689
|
+
color: COLOR.warn,
|
|
9690
|
+
chord: COPY_URL_KEY,
|
|
9691
|
+
onPress: () => copy(authUrl),
|
|
9692
|
+
children: /* @__PURE__ */ jsx$1("span", {
|
|
9693
|
+
fg: COLOR.warn,
|
|
9694
|
+
children: "⧉ Copy URL"
|
|
9695
|
+
})
|
|
9696
|
+
})]
|
|
9697
|
+
}), (opened || copied) && /* @__PURE__ */ jsx$1("text", {
|
|
9698
|
+
fg: COLOR.accent,
|
|
9699
|
+
children: `✓ ${[opened ? "opened in browser" : null, copied ? "URL copied to clipboard" : null].filter(Boolean).join(" · ")}`
|
|
9700
|
+
})]
|
|
9701
|
+
});
|
|
9702
|
+
}
|
|
9703
|
+
/**
|
|
9704
|
+
* Bordered, clickable button hosting a label plus its keystroke hint.
|
|
9705
|
+
* The handler lives on the outer box: mouse events bubble from whatever
|
|
9706
|
+
* renderable was hit (label, padding, border) up through ancestors, so
|
|
9707
|
+
* the whole framed area is the target — not just the label text. Same
|
|
9708
|
+
* pattern as the settings-modal rows (`settings-modal.tsx:4006`).
|
|
9709
|
+
*/
|
|
9710
|
+
function Button({ color, chord, onPress, children }) {
|
|
9711
|
+
const COLOR = useColors();
|
|
9712
|
+
return /* @__PURE__ */ jsx$1("box", {
|
|
9713
|
+
style: {
|
|
9714
|
+
border: true,
|
|
9715
|
+
borderColor: color,
|
|
9716
|
+
paddingLeft: 1,
|
|
9717
|
+
paddingRight: 1,
|
|
9718
|
+
alignSelf: "flex-start"
|
|
9719
|
+
},
|
|
9720
|
+
onMouseDown: (event) => {
|
|
9721
|
+
event.stopPropagation();
|
|
9722
|
+
event.preventDefault();
|
|
9723
|
+
onPress();
|
|
9724
|
+
},
|
|
9725
|
+
children: /* @__PURE__ */ jsxs("text", {
|
|
9726
|
+
wrapMode: "none",
|
|
9727
|
+
selectable: false,
|
|
9728
|
+
children: [
|
|
9729
|
+
children,
|
|
9730
|
+
/* @__PURE__ */ jsx$1("span", {
|
|
9731
|
+
fg: COLOR.mute,
|
|
9732
|
+
children: " "
|
|
9733
|
+
}),
|
|
9734
|
+
/* @__PURE__ */ jsx$1("span", {
|
|
9735
|
+
fg: COLOR.warn,
|
|
9736
|
+
children: chord
|
|
9737
|
+
})
|
|
9738
|
+
]
|
|
9739
|
+
})
|
|
9740
|
+
});
|
|
9741
|
+
}
|
|
9742
|
+
/**
|
|
9743
|
+
* The authorization URL as a framed, copy-able panel — same idea as a
|
|
9744
|
+
* fenced code block in the transcript (`auth url` label left, clickable
|
|
9745
|
+
* `[copy]` right), so "here is a literal string you need to move
|
|
9746
|
+
* somewhere else" reads the same everywhere in the app.
|
|
9747
|
+
*
|
|
9748
|
+
* Framed rather than background-tinted because this block renders inside
|
|
9749
|
+
* containers that are already painted with the elevated modal surface; a
|
|
9750
|
+
* border is the only contrast that survives every host.
|
|
9751
|
+
*/
|
|
9752
|
+
function AuthUrlPanel({ url, maxLineWidth, chromeWidth }) {
|
|
9753
|
+
const COLOR = useColors();
|
|
9754
|
+
const { copied, copy } = useCopyFlash();
|
|
9755
|
+
return /* @__PURE__ */ jsx$1("box", {
|
|
9756
|
+
style: { flexDirection: "column" },
|
|
9757
|
+
children: /* @__PURE__ */ jsxs("box", {
|
|
9758
|
+
style: {
|
|
9759
|
+
flexDirection: "column",
|
|
9606
9760
|
border: true,
|
|
9607
|
-
borderColor: COLOR.
|
|
9761
|
+
borderColor: COLOR.border,
|
|
9608
9762
|
paddingLeft: 1,
|
|
9609
|
-
paddingRight: 1
|
|
9610
|
-
alignSelf: "flex-start"
|
|
9763
|
+
paddingRight: 1
|
|
9611
9764
|
},
|
|
9612
|
-
children: /* @__PURE__ */ jsxs("
|
|
9613
|
-
|
|
9765
|
+
children: [/* @__PURE__ */ jsxs("box", {
|
|
9766
|
+
style: { flexDirection: "row" },
|
|
9614
9767
|
children: [
|
|
9615
|
-
/* @__PURE__ */ jsx$1("
|
|
9616
|
-
href: authUrl,
|
|
9617
|
-
fg: COLOR.brand,
|
|
9618
|
-
children: "↗ Open auth URL in browser"
|
|
9619
|
-
}),
|
|
9620
|
-
/* @__PURE__ */ jsx$1("span", {
|
|
9768
|
+
/* @__PURE__ */ jsx$1("text", {
|
|
9621
9769
|
fg: COLOR.mute,
|
|
9622
|
-
children: "
|
|
9623
|
-
}),
|
|
9624
|
-
/* @__PURE__ */ jsx$1("span", {
|
|
9625
|
-
fg: COLOR.warn,
|
|
9626
|
-
children: OPEN_BROWSER_KEY
|
|
9770
|
+
children: "auth url"
|
|
9627
9771
|
}),
|
|
9628
|
-
/* @__PURE__ */ jsx$1("
|
|
9629
|
-
|
|
9630
|
-
|
|
9772
|
+
/* @__PURE__ */ jsx$1("box", { style: { flexGrow: 1 } }),
|
|
9773
|
+
/* @__PURE__ */ jsx$1("box", {
|
|
9774
|
+
onMouseDown: (event) => {
|
|
9775
|
+
event.stopPropagation();
|
|
9776
|
+
event.preventDefault();
|
|
9777
|
+
copy(url);
|
|
9778
|
+
},
|
|
9779
|
+
children: /* @__PURE__ */ jsx$1("text", {
|
|
9780
|
+
selectable: false,
|
|
9781
|
+
fg: copied ? COLOR.accent : COLOR.warn,
|
|
9782
|
+
children: copied ? "[copied]" : "[copy]"
|
|
9783
|
+
})
|
|
9631
9784
|
})
|
|
9632
9785
|
]
|
|
9633
|
-
})
|
|
9634
|
-
|
|
9635
|
-
|
|
9636
|
-
|
|
9637
|
-
|
|
9786
|
+
}), /* @__PURE__ */ jsx$1(OAuthUrlBlock, {
|
|
9787
|
+
url,
|
|
9788
|
+
fg: COLOR.dim,
|
|
9789
|
+
maxLineWidth: maxLineWidth - 4,
|
|
9790
|
+
chromeWidth: chromeWidth + 4
|
|
9791
|
+
})]
|
|
9792
|
+
})
|
|
9638
9793
|
});
|
|
9639
9794
|
}
|
|
9640
9795
|
function toneColor(tone, COLOR) {
|
|
@@ -9653,7 +9808,9 @@ function toneColor(tone, COLOR) {
|
|
|
9653
9808
|
* MCP SDK's loopback callback server resolves the OAuth promise
|
|
9654
9809
|
* through the same code path a real browser-redirect would have
|
|
9655
9810
|
* taken — works over SSH where the browser can't reach the remote
|
|
9656
|
-
* callback server directly.
|
|
9811
|
+
* callback server directly. `authUrl` rides along so a partial paste
|
|
9812
|
+
* (bare code, query string) is completed against the callback URI
|
|
9813
|
+
* the authorization request was minted with.
|
|
9657
9814
|
*
|
|
9658
9815
|
* `inputFocused` is forwarded as the input's `focused` prop AND read by
|
|
9659
9816
|
* the parent picker's `useKeyboard` (via a ref) to suppress single-key
|
|
@@ -9673,7 +9830,7 @@ function McpAuthorizingPanel({ serverName, authUrl, maxLineWidth, chromeWidth, i
|
|
|
9673
9830
|
});
|
|
9674
9831
|
(async () => {
|
|
9675
9832
|
try {
|
|
9676
|
-
const result = await fetchOAuthRedirect(value);
|
|
9833
|
+
const result = await fetchOAuthRedirect(value, { ...authUrl ? { authUrl } : {} });
|
|
9677
9834
|
if (result.status >= 200 && result.status < 300) setHint({
|
|
9678
9835
|
text: "redirect accepted — finalizing…",
|
|
9679
9836
|
tone: "accent"
|
|
@@ -9689,7 +9846,7 @@ function McpAuthorizingPanel({ serverName, authUrl, maxLineWidth, chromeWidth, i
|
|
|
9689
9846
|
});
|
|
9690
9847
|
}
|
|
9691
9848
|
})();
|
|
9692
|
-
}, []);
|
|
9849
|
+
}, [authUrl]);
|
|
9693
9850
|
return /* @__PURE__ */ jsxs("box", {
|
|
9694
9851
|
style: {
|
|
9695
9852
|
flexDirection: "column",
|
|
@@ -9708,13 +9865,12 @@ function McpAuthorizingPanel({ serverName, authUrl, maxLineWidth, chromeWidth, i
|
|
|
9708
9865
|
/* @__PURE__ */ jsx$1(Spinner, { label: status }),
|
|
9709
9866
|
authUrl !== null && /* @__PURE__ */ jsx$1(OAuthAuthBlock, {
|
|
9710
9867
|
authUrl,
|
|
9711
|
-
maxLineWidth,
|
|
9868
|
+
maxLineWidth: maxLineWidth - 4,
|
|
9712
9869
|
chromeWidth: (chromeWidth ?? 14) + 4,
|
|
9713
9870
|
paste: {
|
|
9714
9871
|
inputRef,
|
|
9715
9872
|
focused: inputFocused,
|
|
9716
9873
|
onSubmit,
|
|
9717
|
-
placeholder: "paste redirect URL and press enter…",
|
|
9718
9874
|
hint: hint?.tone === "error" ? hint : void 0
|
|
9719
9875
|
}
|
|
9720
9876
|
}),
|
|
@@ -10527,7 +10683,7 @@ function OAuthRunningStep({ descriptor, dataDir, onSuccess, onError }) {
|
|
|
10527
10683
|
});
|
|
10528
10684
|
(async () => {
|
|
10529
10685
|
try {
|
|
10530
|
-
const result = await fetchOAuthRedirect(value);
|
|
10686
|
+
const result = await fetchOAuthRedirect(value, { ...url ? { authUrl: url } : {} });
|
|
10531
10687
|
if (result.status >= 200 && result.status < 300) {
|
|
10532
10688
|
setPasteHint({
|
|
10533
10689
|
text: "redirect accepted — exchanging code…",
|
|
@@ -10545,7 +10701,7 @@ function OAuthRunningStep({ descriptor, dataDir, onSuccess, onError }) {
|
|
|
10545
10701
|
});
|
|
10546
10702
|
}
|
|
10547
10703
|
})();
|
|
10548
|
-
}, []);
|
|
10704
|
+
}, [url]);
|
|
10549
10705
|
return /* @__PURE__ */ jsxs(WizardPanel, {
|
|
10550
10706
|
title: `configure ${descriptor.label} — OAuth`,
|
|
10551
10707
|
children: [
|