zidane 5.5.4 → 5.6.0
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/README.md +7 -1
- package/dist/{agent-CMAklak7.d.ts → agent-B26FuGew.d.ts} +90 -2
- package/dist/agent-B26FuGew.d.ts.map +1 -0
- package/dist/chat.d.ts +133 -22
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +3 -3
- package/dist/{errors-C5VSakmT.js → errors-DdZXnyXE.js} +38 -2
- package/dist/errors-DdZXnyXE.js.map +1 -0
- package/dist/{index-CF5QwBiz.d.ts → index-CE7z_11T.d.ts} +2 -2
- package/dist/{index-CF5QwBiz.d.ts.map → index-CE7z_11T.d.ts.map} +1 -1
- package/dist/{index-kroGomhj.d.ts → index-CROWxXo9.d.ts} +23 -2
- package/dist/index-CROWxXo9.d.ts.map +1 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.js +10 -10
- package/dist/{interpolate-Cvjy8gpk.js → interpolate-j5V-wcAQ.js} +2 -2
- package/dist/{interpolate-Cvjy8gpk.js.map → interpolate-j5V-wcAQ.js.map} +1 -1
- package/dist/{login-B_kfoGMP.js → login-D5lQWoFx.js} +3 -3
- package/dist/{login-B_kfoGMP.js.map → login-D5lQWoFx.js.map} +1 -1
- package/dist/{mcp-BE43Viwi.js → mcp-ngMS0S6N.js} +2 -2
- package/dist/{mcp-BE43Viwi.js.map → mcp-ngMS0S6N.js.map} +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.js +1 -1
- package/dist/{messages-BBWakTN6.js → messages-B5k4DAXy.js} +2 -2
- package/dist/{messages-BBWakTN6.js.map → messages-B5k4DAXy.js.map} +1 -1
- package/dist/{presets-BDvBZuYI.js → presets-BDCthpyD.js} +2 -2
- package/dist/{presets-BDvBZuYI.js.map → presets-BDCthpyD.js.map} +1 -1
- package/dist/presets.d.ts +2 -2
- package/dist/presets.js +1 -1
- package/dist/{providers-CsUyN_FJ.js → providers-CaJE2ToS.js} +3 -3
- package/dist/{providers-CsUyN_FJ.js.map → providers-CaJE2ToS.js.map} +1 -1
- package/dist/providers.d.ts +1 -1
- package/dist/providers.js +2 -2
- package/dist/restate.d.ts +1 -1
- package/dist/session/sqlite.d.ts +1 -1
- package/dist/session/sqlite.d.ts.map +1 -1
- package/dist/session/sqlite.js +226 -51
- package/dist/session/sqlite.js.map +1 -1
- package/dist/{session-DzfRacU_.js → session-BoEW_wCR.js} +2 -2
- package/dist/{session-DzfRacU_.js.map → session-BoEW_wCR.js.map} +1 -1
- package/dist/session.d.ts +1 -1
- package/dist/session.js +2 -2
- package/dist/skills.d.ts +2 -2
- package/dist/skills.js +1 -1
- package/dist/{tools-Bbd0Ivwn.js → tools-Co3VYhgM.js} +154 -15
- package/dist/tools-Co3VYhgM.js.map +1 -0
- package/dist/tools.d.ts +2 -2
- package/dist/tools.js +1 -1
- package/dist/{transcript-anchors-C79AszkC.d.ts → transcript-anchors-CTTeQJzy.d.ts} +12 -4
- package/dist/{transcript-anchors-C79AszkC.d.ts.map → transcript-anchors-CTTeQJzy.d.ts.map} +1 -1
- package/dist/tui.d.ts +2 -2
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +432 -83
- package/dist/tui.js.map +1 -1
- package/dist/{turn-operations-CGf7wWF0.js → turn-operations-fhinWY4m.js} +134 -18
- package/dist/turn-operations-fhinWY4m.js.map +1 -0
- package/dist/types-oKPBdCmL.js.map +1 -1
- package/dist/types.d.ts +3 -3
- package/dist/types.js +2 -2
- package/docs/ARCHITECTURE.md +5 -2
- package/docs/CHAT.md +10 -3
- package/docs/RESTATE.md +190 -0
- package/docs/SKILL.md +27 -2
- package/docs/TUI.md +3 -3
- package/package.json +1 -1
- package/dist/agent-CMAklak7.d.ts.map +0 -1
- package/dist/errors-C5VSakmT.js.map +0 -1
- package/dist/index-kroGomhj.d.ts.map +0 -1
- package/dist/tools-Bbd0Ivwn.js.map +0 -1
- package/dist/turn-operations-CGf7wWF0.js.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { H as previewLine, R as fmtTokens, U as shortId, a as multiEdit, c as grep, d as resolveOldString, f as styleReplacementForVia, i as readFile$1, l as glob, n as createSpawnTool, o as listFiles, t as writeFile$1, u as edit, y as shell } from "./tools-
|
|
2
|
-
import {
|
|
1
|
+
import { H as previewLine, R as fmtTokens, U as shortId, a as multiEdit, c as grep, d as resolveOldString, f as styleReplacementForVia, i as readFile$1, l as glob, n as createSpawnTool, o as listFiles, t as writeFile$1, u as edit, y as shell } from "./tools-Co3VYhgM.js";
|
|
2
|
+
import { c as errorMessage } from "./errors-DdZXnyXE.js";
|
|
3
3
|
import { r as toolResultToText } from "./types-oKPBdCmL.js";
|
|
4
|
-
import { r as normalizeMcpServers } from "./mcp-
|
|
5
|
-
import { a as discoverSkills } from "./interpolate-
|
|
4
|
+
import { r as normalizeMcpServers } from "./mcp-ngMS0S6N.js";
|
|
5
|
+
import { a as discoverSkills } from "./interpolate-j5V-wcAQ.js";
|
|
6
6
|
import { n as formatTokenUsage } from "./stats-Lc3zL3RM.js";
|
|
7
|
-
import { n as definePreset, t as composePresets } from "./presets-
|
|
8
|
-
import { a as writeFileAtomic, i as anthropic, n as openai, r as cerebras, t as openrouter } from "./providers-
|
|
7
|
+
import { n as definePreset, t as composePresets } from "./presets-BDCthpyD.js";
|
|
8
|
+
import { a as writeFileAtomic, i as anthropic, n as openai, r as cerebras, t as openrouter } from "./providers-CaJE2ToS.js";
|
|
9
9
|
import { createRequire } from "node:module";
|
|
10
10
|
import { dirname, isAbsolute, join, posix, relative, resolve, sep } from "node:path";
|
|
11
11
|
import { homedir, tmpdir } from "node:os";
|
|
@@ -1416,6 +1416,19 @@ function detectAuth(dataDir, registry, env = process.env) {
|
|
|
1416
1416
|
* No state. Same inputs → same answer.
|
|
1417
1417
|
*/
|
|
1418
1418
|
/**
|
|
1419
|
+
* Default hysteresis floor for {@link shouldAutoCompact}. After a successful
|
|
1420
|
+
* compaction lands, the next compaction is suppressed until input usage
|
|
1421
|
+
* grows by at least this fraction of the effective context window beyond
|
|
1422
|
+
* the post-compact baseline.
|
|
1423
|
+
*
|
|
1424
|
+
* `0.1` = 10% of the window. Picked so the immediate post-compact bounce
|
|
1425
|
+
* (summary turn + restored attachments + re-emitted system prefix) never
|
|
1426
|
+
* re-fires the trigger by itself, but a meaningful chunk of new work
|
|
1427
|
+
* (one or two large tool reads) does. Tune via the predicate's
|
|
1428
|
+
* `minGrowthFraction` input if a host needs different ergonomics.
|
|
1429
|
+
*/
|
|
1430
|
+
const AUTO_COMPACT_MIN_GROWTH_FRACTION = .1;
|
|
1431
|
+
/**
|
|
1419
1432
|
* Decide whether auto-compaction should fire for the latest turn.
|
|
1420
1433
|
*
|
|
1421
1434
|
* Order of checks is deliberate: cheapest / most common skips first
|
|
@@ -1448,6 +1461,12 @@ function shouldAutoCompact(input) {
|
|
|
1448
1461
|
kind: "skip",
|
|
1449
1462
|
reason: "under-threshold"
|
|
1450
1463
|
};
|
|
1464
|
+
if (typeof input.lastCompactedInputTokens === "number" && Number.isFinite(input.lastCompactedInputTokens) && input.lastCompactedInputTokens >= 0 && typeof input.minGrowthFraction === "number" && Number.isFinite(input.minGrowthFraction) && input.minGrowthFraction > 0) {
|
|
1465
|
+
if ((input.inputTokens - input.lastCompactedInputTokens) / effectiveWindow < input.minGrowthFraction) return {
|
|
1466
|
+
kind: "skip",
|
|
1467
|
+
reason: "cooldown"
|
|
1468
|
+
};
|
|
1469
|
+
}
|
|
1451
1470
|
if (input.alreadyCompacting) return {
|
|
1452
1471
|
kind: "skip",
|
|
1453
1472
|
reason: "already-compacting"
|
|
@@ -1577,7 +1596,7 @@ async function checkForUpdate(options) {
|
|
|
1577
1596
|
if (!options.force && isOptedOut()) return skipped(options.currentVersion, channel);
|
|
1578
1597
|
const cachePath = options.cacheDir ? cacheFilePath(options.cacheDir, options.packageName, channel) : null;
|
|
1579
1598
|
const cached = cachePath ? readCache(cachePath) : null;
|
|
1580
|
-
if (cached && cached.packageName === options.packageName && cached.channel === channel) {
|
|
1599
|
+
if (!options.force && cached && cached.packageName === options.packageName && cached.channel === channel) {
|
|
1581
1600
|
if (ttl > 0 && now() - cached.checkedAt < ttl) {
|
|
1582
1601
|
const hasUpdate = compareSemver(cached.latest, options.currentVersion) > 0;
|
|
1583
1602
|
return {
|
|
@@ -2199,10 +2218,15 @@ function detectLibc() {
|
|
|
2199
2218
|
//#endregion
|
|
2200
2219
|
//#region src/chat/auto-update-hook.ts
|
|
2201
2220
|
/**
|
|
2202
|
-
* Returns the current update status
|
|
2203
|
-
*
|
|
2204
|
-
* `
|
|
2205
|
-
*
|
|
2221
|
+
* Returns the current update status. The check fires:
|
|
2222
|
+
* - Once per mount (every TUI launch).
|
|
2223
|
+
* - Every time `enabled` flips from `false` → `true` (user re-enabling
|
|
2224
|
+
* the setting expects an immediate refresh).
|
|
2225
|
+
*
|
|
2226
|
+
* The check is async and deferred by `delayMs` so it never competes with
|
|
2227
|
+
* first paint. Result is `null` until the first check resolves; flipping
|
|
2228
|
+
* `enabled` to `false` resets to `null` so any chip rendered against
|
|
2229
|
+
* `hasUpdate` disappears immediately.
|
|
2206
2230
|
*
|
|
2207
2231
|
* The hook owns its own AbortController so an unmount cancels any in-flight
|
|
2208
2232
|
* registry request cleanly.
|
|
@@ -2212,7 +2236,10 @@ function useUpdateCheck(options) {
|
|
|
2212
2236
|
const optsRef = useRef(options);
|
|
2213
2237
|
optsRef.current = options;
|
|
2214
2238
|
useEffect(() => {
|
|
2215
|
-
if (!options.enabled || !options.currentVersion)
|
|
2239
|
+
if (!options.enabled || !options.currentVersion) {
|
|
2240
|
+
setStatus(null);
|
|
2241
|
+
return;
|
|
2242
|
+
}
|
|
2216
2243
|
const controller = new AbortController();
|
|
2217
2244
|
const timer = setTimeout(() => {
|
|
2218
2245
|
checkForUpdate({
|
|
@@ -2221,7 +2248,7 @@ function useUpdateCheck(options) {
|
|
|
2221
2248
|
cacheDir: optsRef.current.cacheDir,
|
|
2222
2249
|
registry: optsRef.current.registry,
|
|
2223
2250
|
channel: optsRef.current.channel,
|
|
2224
|
-
cacheTtlMs: optsRef.current.cacheTtlMs,
|
|
2251
|
+
cacheTtlMs: optsRef.current.cacheTtlMs ?? 0,
|
|
2225
2252
|
signal: controller.signal,
|
|
2226
2253
|
now: optsRef.current.now,
|
|
2227
2254
|
fetcher: optsRef.current.fetcher
|
|
@@ -7558,6 +7585,10 @@ function buildSearchCorpus(provider, model) {
|
|
|
7558
7585
|
function supportsOAuth(descriptor) {
|
|
7559
7586
|
return descriptor.oauthProvider !== void 0;
|
|
7560
7587
|
}
|
|
7588
|
+
/** True when the provider's OAuth flow needs the user to paste a code back into the TUI (no loopback callback). */
|
|
7589
|
+
function oauthUsesManualCodePaste(descriptor) {
|
|
7590
|
+
return descriptor.oauthProvider?.usesCallbackServer === false;
|
|
7591
|
+
}
|
|
7561
7592
|
/**
|
|
7562
7593
|
* Run the OAuth login flow for a provider.
|
|
7563
7594
|
*
|
|
@@ -7572,9 +7603,9 @@ async function runOAuthLogin(descriptor, options) {
|
|
|
7572
7603
|
options.onUrl(info.url, info.instructions);
|
|
7573
7604
|
tryOpenBrowser(info.url);
|
|
7574
7605
|
},
|
|
7575
|
-
onPrompt: async () => {
|
|
7576
|
-
if (!options.
|
|
7577
|
-
return options.
|
|
7606
|
+
onPrompt: async (prompt) => {
|
|
7607
|
+
if (!options.onPrompt) throw new Error(`OAuth provider "${descriptor.label}" requested user input ("${prompt.message}") but no onPrompt handler is wired.`);
|
|
7608
|
+
return options.onPrompt(prompt);
|
|
7578
7609
|
},
|
|
7579
7610
|
onProgress: options.onProgress,
|
|
7580
7611
|
signal: options.signal
|
|
@@ -7582,6 +7613,91 @@ async function runOAuthLogin(descriptor, options) {
|
|
|
7582
7613
|
return descriptor.oauthProvider.login(callbacks);
|
|
7583
7614
|
}
|
|
7584
7615
|
//#endregion
|
|
7616
|
+
//#region src/chat/oauth-redirect.ts
|
|
7617
|
+
/**
|
|
7618
|
+
* Manual OAuth redirect-URL handoff.
|
|
7619
|
+
*
|
|
7620
|
+
* Users who run zidane over SSH (or behind a proxy / firewall that blocks
|
|
7621
|
+
* loopback) can't have the local browser hit the in-process callback server.
|
|
7622
|
+
* They CAN, however, copy the URL their browser was redirected to —
|
|
7623
|
+
* `http://127.0.0.1:<port>/callback?code=...&state=...` — and paste it back
|
|
7624
|
+
* into the TUI.
|
|
7625
|
+
*
|
|
7626
|
+
* The trick: that URL IS the callback our local server is listening on. We
|
|
7627
|
+
* just `fetch()` it ourselves. The server runs in the same process; the
|
|
7628
|
+
* request hits its handler exactly as if a real browser had arrived, the
|
|
7629
|
+
* OAuth promise (`waitForCode` for pi-ai providers, `startOAuthCallback` for
|
|
7630
|
+
* MCP) resolves through the normal happy path, and the upstream flow
|
|
7631
|
+
* continues uninterrupted. No new code path inside the OAuth state machine.
|
|
7632
|
+
*
|
|
7633
|
+
* Defense in depth: we reject anything that isn't a loopback URL — fetching
|
|
7634
|
+
* an arbitrary user-pasted URL from inside the agent process would be a
|
|
7635
|
+
* trivial SSRF.
|
|
7636
|
+
*/
|
|
7637
|
+
const LOOPBACK_HOSTS = new Set([
|
|
7638
|
+
"127.0.0.1",
|
|
7639
|
+
"localhost",
|
|
7640
|
+
"::1",
|
|
7641
|
+
"[::1]"
|
|
7642
|
+
]);
|
|
7643
|
+
/**
|
|
7644
|
+
* Treat `pasted` as a callback-URL paste. Validates it's a loopback URL,
|
|
7645
|
+
* fires a GET, returns the status.
|
|
7646
|
+
*
|
|
7647
|
+
* Throws when:
|
|
7648
|
+
* - `pasted` doesn't parse as a URL.
|
|
7649
|
+
* - The URL host isn't loopback (rejects SSRF).
|
|
7650
|
+
* - The fetch errors out (network, timeout).
|
|
7651
|
+
*
|
|
7652
|
+
* Returns success/failure for non-2xx responses; the caller decides whether
|
|
7653
|
+
* a 4xx is fatal (state mismatch is a 400 the user can retry from).
|
|
7654
|
+
*/
|
|
7655
|
+
async function fetchOAuthRedirect(pasted, options = {}) {
|
|
7656
|
+
const trimmed = pasted.trim();
|
|
7657
|
+
if (!trimmed) throw new Error("Paste the redirect URL from your browser.");
|
|
7658
|
+
let url;
|
|
7659
|
+
try {
|
|
7660
|
+
url = new URL(trimmed);
|
|
7661
|
+
} catch {
|
|
7662
|
+
throw new Error("That doesn't look like a URL. Paste the full address from your browser.");
|
|
7663
|
+
}
|
|
7664
|
+
const host = url.hostname.replace(/^\[|\]$/g, "");
|
|
7665
|
+
if (!LOOPBACK_HOSTS.has(host)) throw new Error(`Expected a loopback URL (127.0.0.1 / localhost), got "${url.hostname}". The browser should have redirected to a localhost address.`);
|
|
7666
|
+
const timeoutMs = options.timeoutMs ?? 5e3;
|
|
7667
|
+
const ac = new AbortController();
|
|
7668
|
+
const timer = setTimeout(() => ac.abort(), timeoutMs);
|
|
7669
|
+
options.signal?.addEventListener("abort", () => ac.abort(), { once: true });
|
|
7670
|
+
let response;
|
|
7671
|
+
try {
|
|
7672
|
+
response = await fetch(url.toString(), { signal: ac.signal });
|
|
7673
|
+
} catch (err) {
|
|
7674
|
+
if (err.name === "AbortError") throw new Error("No response from the local callback server — was the login already cancelled?");
|
|
7675
|
+
throw new Error(`Could not reach the local callback server: ${err.message}`);
|
|
7676
|
+
} finally {
|
|
7677
|
+
clearTimeout(timer);
|
|
7678
|
+
}
|
|
7679
|
+
const bodyText = await response.text().catch(() => "");
|
|
7680
|
+
return {
|
|
7681
|
+
status: response.status,
|
|
7682
|
+
message: extractMessage(bodyText)
|
|
7683
|
+
};
|
|
7684
|
+
}
|
|
7685
|
+
/**
|
|
7686
|
+
* Pick the most useful one-line message out of the callback server's HTML
|
|
7687
|
+
* response. pi-ai uses `<h1>` for the heading; the MCP callback uses
|
|
7688
|
+
* a leading `<p>`. We try both, then fall back to a stripped snippet.
|
|
7689
|
+
*/
|
|
7690
|
+
function extractMessage(html) {
|
|
7691
|
+
if (!html) return void 0;
|
|
7692
|
+
const h1 = /<h1[^>]*>([\s\S]*?)<\/h1>/i.exec(html)?.[1];
|
|
7693
|
+
if (h1) return stripTags(h1).trim() || void 0;
|
|
7694
|
+
const p = /<p[^>]*>([\s\S]*?)<\/p>/i.exec(html)?.[1];
|
|
7695
|
+
if (p) return stripTags(p).trim() || void 0;
|
|
7696
|
+
}
|
|
7697
|
+
function stripTags(s) {
|
|
7698
|
+
return s.replace(/<[^>]*>/g, "").replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, "\"").replace(/'/g, "'");
|
|
7699
|
+
}
|
|
7700
|
+
//#endregion
|
|
7585
7701
|
//#region src/chat/path-display.ts
|
|
7586
7702
|
/**
|
|
7587
7703
|
* @-completion path display formatter.
|
|
@@ -9180,6 +9296,6 @@ function countNeighbors(turnIds, turnId) {
|
|
|
9180
9296
|
};
|
|
9181
9297
|
}
|
|
9182
9298
|
//#endregion
|
|
9183
|
-
export {
|
|
9299
|
+
export { patchMcpCredential as $, blendHsl as $n, getTodosForRun as $r, lastContextSizeFromTurns as $t, getSafelist as A, summarizeOutcomes as An, getContextWindow as Ar, BUILTIN_THEMES as At, oauthUsesManualCodePaste as B, readKeybindings as Bn, DEFAULT_BUDGET_EXCLUDE_TOOLS as Br, DiscoveryProvider as Bt, resolveSessionExportTarget as C, buildEditOutcomesAnnotation as Cn, writeCredentials as Cr, useEnabledToggleSet as Ct, useSafeModeQueue as D, resolveApprovalForPayload as Dn, cerebrasDescriptor as Dr, SettingsProvider as Dt, useSafeModeActions as E, parseEditOutcomesFromResult as En, anthropicDescriptor as Er, SETTINGS_TOGGLES as Et, suggestSafelistEntry as F, ensureKeybindingsFile as Fn, openrouterDescriptor as Fr, CATPPUCCIN_FRAPPE as Ft, indexOfEntry as G, FILES_TRIGGER as Gn, singleAgentRegistry as Gr, resolveConfig as Gt, supportsOAuth as H, SKILLS_TRIGGER as Hn, PLAN_AGENT as Hr, useDiscoveryOptional as Ht, writeProjects as I, keybindingsPath as In, piIdOf as Ir, CATPPUCCIN_LATTE as It, discoverProjectMcps as J, applyInsert as Jn, TODOWRITE_TOOL as Jr, deriveSessionTitle as Jt, buildMcpServers as K, createFilesCompletionProvider as Kn, TODOREAD_TOOL as Kr, EDIT_TOOL_NAMES as Kt, splitPromptSegments as L, matchesBinding as Ln, BUILD_AGENT as Lr, CATPPUCCIN_MACCHIATO as Lt, matchesSafelistEntry as M, DEFAULT_KEYBINDINGS as Mn, modelSupportsReasoning as Mr, resolveChipColor as Mt, projectsFilePath as N, KEYBINDING_DEFS as Nn, modelsForDescriptor as Nr, resolveTheme as Nt, IMPLICITLY_SAFE_TOOLS as O, rewriteMultiEditHeader as On, credKeyOf as Or, clampFps as Ot, readProjects as P, KEYBINDING_DEF_BY_ACTION as Pn, openaiDescriptor as Pr, VAPORWAVE_THEME as Pt, mcpCredentialsPath as Q, useCompletion as Qn, getArchivedTodosForRun as Qr, isVisible as Qt, formatPathForCwd as R, mergeKeybindings as Rn, BUILTIN_AGENTS as Rr, CATPPUCCIN_MOCHA as Rt, renderSession as S, tokenize as Sn, setProviderCredential as Sr, listProjectFiles as St, SafeModeProvider as T, mergeApprovalAndBodyOutcomes as Tn, OUTPUT_RESERVE_TOKENS as Tr, SETTINGS_CHOICES as Tt, buildModelCatalog as U, createSkillsCompletionProvider as Un, accentColor as Ur, ConfigProvider as Ut, runOAuthLogin as V, stripJsonComments as Vn, DEFAULT_PERSIST_EXCLUDE_TOOLS as Vr, useDiscovery as Vt, filterModelCatalog as W, uniqueSkillNamesFromReferences as Wn, resolveAgentId as Wr, useConfig as Wt, projectUserPaths as X, findActiveTrigger as Xn, TODO_WRITE_COUNTS_METADATA_KEY as Xr, isEditErrorResult as Xt, parseMcpsFile as Y, collectReferences as Yn, TODO_STATUS_GLYPHS as Yr, eventsFromTurns as Yt, createFileMcpCredentialStore as Z, mergeReferences as Zn, createTodoTools as Zr, isTurnHighlighted as Zt, turnContextSize as _, buildPlanSystem as _i, extractEditPayload as _n, applyApiKeyEnv as _r, clipHintsToWidth as _t, computeTurnAnchors as a, useActiveTodos as ai, stripSpawnTokensLine as an, useUpdateCheck as ar, splitMarkdownCodeBlocks as at, defaultSkillScanPaths as b, splitLines as bn, readProviderCredential as br, cleanTitle as bt, formatToolCall as c, DOING_TASKS_DOCTRINE as ci, toolCallPreview as cn, detectLibc as cr, PRESENT_PLAN_TOOL as ct, useSelectStyle as d, INTERACTION_GUIDANCE_NO_PROMPTS as di, updateToolEventOutcomes as dn, performInPlaceSelfUpdate as dr, isInteractionTool as dt, isTodoTool as ei, listSessionMeta as en, buildLinearRamp as er, McpAuthProvider as et, useSurfaces as f, PLAN_MODE_DOCTRINE as fi, applyEditPayload as fn, performSelfUpdate as fr, makeRequestInteraction as ft, finalizeStreamingMarkdownForOwner as g, buildBuildSystem as gi, computeLineDiff as gn, detectAuth as gr, useInteractionsQueue as gt, finalizeStreamingMarkdown as h, TOKEN_DISCIPLINE_DOCTRINE as hi, computeInlineDiff as hn, shouldAutoCompact as hr, useInteractionsActions as ht, turnAsText as i, setTodosForRun as ii, selectableTurnIds as in, buildUpdateHint as ir, reduceMcpAuth as it, isOnSafelist as j, findGitRoot$1 as jn, getModelInfo as jr, DEFAULT_THEME as jt, addToSafelist as k, stripEditOutcomesAnnotation as kn, effectiveContextWindow as kr, useSettings as kt, ThemeProvider as l, IDENTITY_PREFIX as li, toolResultText as ln, detectPackageManager as lr, buildResumedToolResultsTurn as lt, useTheme as m, SUBAGENT_GUIDANCE as mi, buildUnifiedDiff as mn, AUTO_COMPACT_MIN_GROWTH_FRACTION as mr, serializeInteractionResponse as mt, deleteTurnSafely as n, pruneTodosByRun as ni, marginTopFor as nn, bootProfileEnabled as nr, useMcpAuthState as nt, TOOL_DISPLAY as o, ACTIONS_WITH_CARE_DOCTRINE as oi, sumRunCosts as on, checkForUpdate as or, ASK_USER_TOOL as ot, useSyntaxStyles as p, PLAN_MODE_DOCTRINE_NO_PROMPTS as pi, buildContextualDiff as pn, resolvePlatformPackage as pr, pendingInteractionsFromTurns as pt, defaultMcpsConfigPaths as q, uniqueFilesFromReferences as qn, TODOS_METADATA_KEY as qr, createStateStore as qt, truncateTurnsAt as r, selectActiveTodos as ri, saveState as rn, bootTick as rr, getMcpAuthStatus as rt, displayNameFor as s, COMMUNICATION_DOCTRINE as si, titleFromTurns as sn, compareSemver as sr, InteractionsProvider as st, countNeighbors as t, pickActiveRunId as ti, loadState as tn, tryOpenBrowser as tr, useMcpAuthDispatch as tt, useColors as u, INTERACTION_GUIDANCE as ui, turnSelectionOwnership as un, parseSemver as ur, createInteractionTools as ut, useStreamBuffer as v, envSection as vi, filetypeFromPath as vn, credentialsPath as vr, hintsLength as vt, writeSessionExport as w, maskToOutcomeKinds as wn, BUILTIN_PROVIDERS as wr, DEFAULT_SETTINGS as wt, discoverProjectSkills as x, summarizeEditPayload as xn, removeProviderCredential as xr, generateSessionTitle as xt, buildSkillsConfig as y, previewEditPayload as yn, readCredentials as yr, truncateTrailing as yt, fetchOAuthRedirect as z, parseBindingSpec as zn, DEFAULT_AGENT_ID as zr, createDiscoverySlot as zt };
|
|
9184
9300
|
|
|
9185
|
-
//# sourceMappingURL=turn-operations-
|
|
9301
|
+
//# sourceMappingURL=turn-operations-fhinWY4m.js.map
|