zidane 5.4.3 → 5.5.2
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 +30 -1
- package/dist/{agent-Yu8uhpy-.d.ts → agent-CvImMxMQ.d.ts} +183 -3
- package/dist/agent-CvImMxMQ.d.ts.map +1 -0
- package/dist/chat.d.ts +371 -15
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +203 -2
- package/dist/chat.js.map +1 -0
- package/dist/contexts/docker.d.ts +1 -1
- package/dist/contexts-BOtMvzli.js +472 -0
- package/dist/contexts-BOtMvzli.js.map +1 -0
- package/dist/contexts.d.ts +3 -3
- package/dist/contexts.js +1 -1
- package/dist/{errors-CDwtPIMX.js → errors-C5VSakmT.js} +1 -1
- package/dist/{errors-CDwtPIMX.js.map → errors-C5VSakmT.js.map} +1 -1
- package/dist/{index-DklfxeYy.d.ts → index-B0uc2C5x.d.ts} +3 -3
- package/dist/{index-DklfxeYy.d.ts.map → index-B0uc2C5x.d.ts.map} +1 -1
- package/dist/{index-BiO_5Hm4.d.ts → index-CbS75MD3.d.ts} +2 -2
- package/dist/index-CbS75MD3.d.ts.map +1 -0
- package/dist/{index-j9tY28ah.d.ts → index-CtXksgqb.d.ts} +60 -4
- package/dist/index-CtXksgqb.d.ts.map +1 -0
- package/dist/index.d.ts +6 -6
- package/dist/index.js +13 -13
- package/dist/{interpolate-CmtjEyRJ.js → interpolate-Cvjy8gpk.js} +3 -3
- package/dist/{interpolate-CmtjEyRJ.js.map → interpolate-Cvjy8gpk.js.map} +1 -1
- package/dist/{login-DxyAERe1.js → login-DthdFNzR.js} +4 -4
- package/dist/{login-DxyAERe1.js.map → login-DthdFNzR.js.map} +1 -1
- package/dist/{mcp-CNUbvbsy.js → mcp-C8XUNC_R.js} +3 -3
- package/dist/{mcp-CNUbvbsy.js.map → mcp-C8XUNC_R.js.map} +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.js +1 -1
- package/dist/{messages-fTR19Ga6.js → messages-BBWakTN6.js} +2 -2
- package/dist/{messages-fTR19Ga6.js.map → messages-BBWakTN6.js.map} +1 -1
- package/dist/{presets-D9IbaI40.js → presets-C5E9hokO.js} +3 -2
- package/dist/presets-C5E9hokO.js.map +1 -0
- package/dist/presets.d.ts +2 -2
- package/dist/presets.js +1 -1
- package/dist/{providers-CEzRFYtS.js → providers-CsUyN_FJ.js} +4 -4
- package/dist/{providers-CEzRFYtS.js.map → providers-CsUyN_FJ.js.map} +1 -1
- package/dist/providers.d.ts +1 -1
- package/dist/providers.js +2 -2
- package/dist/session/sqlite.d.ts +1 -1
- package/dist/session/sqlite.d.ts.map +1 -1
- package/dist/session/sqlite.js +2 -1
- package/dist/session/sqlite.js.map +1 -1
- package/dist/{session-kwsNnOmt.js → session-DzfRacU_.js} +3 -2
- package/dist/session-DzfRacU_.js.map +1 -0
- 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/{stats-DgOvY7wd.js → stats-Lc3zL3RM.js} +1 -1
- package/dist/{stats-DgOvY7wd.js.map → stats-Lc3zL3RM.js.map} +1 -1
- package/dist/{tools-BK2vG9UX.js → tools-BavL6n7q.js} +673 -261
- package/dist/tools-BavL6n7q.js.map +1 -0
- package/dist/tools.d.ts +3 -3
- package/dist/tools.js +2 -2
- package/dist/{transcript-anchors-DnaBcJej.d.ts → transcript-anchors-BMZRmrYk.d.ts} +182 -73
- package/dist/transcript-anchors-BMZRmrYk.d.ts.map +1 -0
- package/dist/tui.d.ts +27 -5
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +260 -47
- package/dist/tui.js.map +1 -1
- package/dist/{turn-operations-OzKEOXul.js → turn-operations-DtMApNGT.js} +992 -85
- package/dist/turn-operations-DtMApNGT.js.map +1 -0
- package/dist/{types-IcokUOyC.js → types-C-9h2drI.js} +1 -1
- package/dist/{types-IcokUOyC.js.map → types-C-9h2drI.js.map} +1 -1
- package/dist/types-KukEp-mi.d.ts +253 -0
- package/dist/types-KukEp-mi.d.ts.map +1 -0
- package/dist/types.d.ts +4 -4
- package/dist/types.js +3 -3
- package/docs/ARCHITECTURE.md +21 -0
- package/docs/CHAT.md +3 -1
- package/docs/RUN_IN_BACKGROUND.md +612 -0
- package/docs/SKILL.md +59 -0
- package/docs/TUI.md +88 -3
- package/package.json +2 -2
- package/dist/agent-Yu8uhpy-.d.ts.map +0 -1
- package/dist/contexts-BwiHIr2w.js +0 -129
- package/dist/contexts-BwiHIr2w.js.map +0 -1
- package/dist/index-BiO_5Hm4.d.ts.map +0 -1
- package/dist/index-j9tY28ah.d.ts.map +0 -1
- package/dist/presets-D9IbaI40.js.map +0 -1
- package/dist/session-kwsNnOmt.js.map +0 -1
- package/dist/tools-BK2vG9UX.js.map +0 -1
- package/dist/transcript-anchors-DnaBcJej.d.ts.map +0 -1
- package/dist/turn-operations-OzKEOXul.js.map +0 -1
- package/dist/types-Ce78ds4h.d.ts +0 -88
- package/dist/types-Ce78ds4h.d.ts.map +0 -1
package/dist/chat.js
CHANGED
|
@@ -1,2 +1,203 @@
|
|
|
1
|
-
import { $ as useMcpAuthDispatch, $n as
|
|
2
|
-
|
|
1
|
+
import { $ as useMcpAuthDispatch, $n as tryOpenBrowser, $r as selectActiveTodos, $t as loadState, A as getSafelist, An as DEFAULT_KEYBINDINGS, Ar as modelsForDescriptor, At as resolveChipColor, B as supportsOAuth, Bn as SKILLS_TRIGGER, Br as resolveAgentId, Bt as useDiscoveryOptional, C as resolveSessionExportTarget, Cn as mergeApprovalAndBodyOutcomes, Cr as anthropicDescriptor, Ct as SETTINGS_CHOICES, D as useSafeModeQueue, Dn as stripEditOutcomesAnnotation, Dr as getContextWindow, Dt as useSettings, E as useSafeModeActions, En as rewriteMultiEditHeader, Er as effectiveContextWindow, F as suggestSafelistEntry, Fn as matchesBinding, Fr as BUILTIN_AGENTS, Ft as CATPPUCCIN_MACCHIATO, G as defaultMcpsConfigPaths, Gn as uniqueFilesFromReferences, Gr as TODO_STATUS_GLYPHS, Gt as createStateStore, H as filterModelCatalog, Hn as uniqueSkillNamesFromReferences, Hr as TODOREAD_TOOL, Ht as useConfig, I as writeProjects, In as mergeKeybindings, Ir as DEFAULT_AGENT_ID, It as CATPPUCCIN_MOCHA, J as projectUserPaths, Jn as findActiveTrigger, Jr as getArchivedTodosForRun, Jt as isEditErrorResult, K as discoverProjectMcps, Kn as applyInsert, Kr as TODO_WRITE_COUNTS_METADATA_KEY, Kt as deriveSessionTitle, L as splitPromptSegments, Ln as parseBindingSpec, Lr as DEFAULT_PERSIST_EXCLUDE_TOOLS, Lt as createDiscoverySlot, M as matchesSafelistEntry, Mn as KEYBINDING_DEF_BY_ACTION, Mr as openrouterDescriptor, Mt as VAPORWAVE_THEME, N as projectsFilePath, Nn as ensureKeybindingsFile, Nr as piIdOf, Nt as CATPPUCCIN_FRAPPE, O as IMPLICITLY_SAFE_TOOLS, On as summarizeOutcomes, Or as getModelInfo, Ot as BUILTIN_THEMES, P as readProjects, Pn as keybindingsPath, Pr as BUILD_AGENT, Pt as CATPPUCCIN_LATTE, Q as McpAuthProvider, Qn as buildLinearRamp, Qr as pruneTodosByRun, Qt as listSessionMeta, R as formatPathForCwd, Rn as readKeybindings, Rr as PLAN_AGENT, Rt as DiscoveryProvider, S as renderSession, Sn as maskToOutcomeKinds, Sr as OUTPUT_RESERVE_TOKENS, St as DEFAULT_SETTINGS, T as SafeModeProvider, Tn as resolveApprovalForPayload, Tr as credKeyOf, Tt as SettingsProvider, U as indexOfEntry, Un as FILES_TRIGGER, Ur as TODOS_METADATA_KEY, Ut as resolveConfig, V as buildModelCatalog, Vn as createSkillsCompletionProvider, Vr as singleAgentRegistry, Vt as ConfigProvider, W as buildMcpServers, Wn as createFilesCompletionProvider, Wr as TODOWRITE_TOOL, X as mcpCredentialsPath, Xn as useCompletion, Xr as isTodoTool, Xt as isVisible, Y as createFileMcpCredentialStore, Yn as mergeReferences, Yr as getTodosForRun, Yt as isTurnHighlighted, Z as patchMcpCredential, Zn as blendHsl, Zr as pickActiveRunId, Zt as lastContextSizeFromTurns, _ as turnContextSize, _n as previewEditPayload, _r as readProviderCredential, _t as truncateTrailing, a as computeTurnAnchors, ai as IDENTITY_PREFIX, an as titleFromTurns, ar as compareSemver, at as InteractionsProvider, b as defaultSkillScanPaths, bn as tokenize, br as writeCredentials, bt as listProjectFiles, c as formatToolCall, ci as PLAN_MODE_DOCTRINE, cn as turnSelectionOwnership, cr as parseSemver, ct as createInteractionTools, d as useSelectStyle, di as TOKEN_DISCIPLINE_DOCTRINE, dn as buildContextualDiff, dr as resolvePlatformPackage, dt as pendingInteractionsFromTurns, ei as setTodosForRun, en as marginTopFor, er as bootProfileEnabled, et as useMcpAuthState, f as useSurfaces, fi as buildBuildSystem, fn as buildUnifiedDiff, fr as shouldAutoCompact, ft as serializeInteractionResponse, g as finalizeStreamingMarkdownForOwner, gn as filetypeFromPath, gr as readCredentials, gt as hintsLength, h as finalizeStreamingMarkdown, hn as extractEditPayload, hr as credentialsPath, ht as clipHintsToWidth, i as turnAsText, ii as DOING_TASKS_DOCTRINE, in as sumRunCosts, ir as checkForUpdate, it as ASK_USER_TOOL, j as isOnSafelist, jn as KEYBINDING_DEFS, jr as openaiDescriptor, jt as resolveTheme, k as addToSafelist, kn as findGitRoot, kr as modelSupportsReasoning, kt as DEFAULT_THEME, l as ThemeProvider, li as PLAN_MODE_DOCTRINE_NO_PROMPTS, ln as updateToolEventOutcomes, lr as performInPlaceSelfUpdate, lt as isInteractionTool, m as useTheme, mi as envSection, mn as computeLineDiff, mr as applyApiKeyEnv, mt as useInteractionsQueue, n as deleteTurnSafely, ni as ACTIONS_WITH_CARE_DOCTRINE, nn as selectableTurnIds, nr as buildUpdateHint, nt as reduceMcpAuth, o as TOOL_DISPLAY, oi as INTERACTION_GUIDANCE, on as toolCallPreview, or as detectLibc, ot as PRESENT_PLAN_TOOL, p as useSyntaxStyles, pi as buildPlanSystem, pn as computeInlineDiff, pr as detectAuth, pt as useInteractionsActions, q as parseMcpsFile, qn as collectReferences, qr as createTodoTools, qt as eventsFromTurns, r as truncateTurnsAt, ri as COMMUNICATION_DOCTRINE, rn as stripSpawnTokensLine, rr as useUpdateCheck, rt as splitMarkdownCodeBlocks, s as displayNameFor, si as INTERACTION_GUIDANCE_NO_PROMPTS, sn as toolResultText, sr as detectPackageManager, st as buildResumedToolResultsTurn, t as countNeighbors, ti as useActiveTodos, tn as saveState, tr as bootTick, tt as getMcpAuthStatus, u as useColors, ui as SUBAGENT_GUIDANCE, un as applyEditPayload, ur as performSelfUpdate, ut as makeRequestInteraction, v as useStreamBuffer, vn as splitLines, vr as removeProviderCredential, vt as cleanTitle, w as writeSessionExport, wn as parseEditOutcomesFromResult, wr as cerebrasDescriptor, wt as SETTINGS_TOGGLES, x as discoverProjectSkills, xn as buildEditOutcomesAnnotation, xr as BUILTIN_PROVIDERS, xt as useEnabledToggleSet, y as buildSkillsConfig, yn as summarizeEditPayload, yr as setProviderCredential, yt as generateSessionTitle, z as runOAuthLogin, zn as stripJsonComments, zr as accentColor, zt as useDiscovery } from "./turn-operations-DtMApNGT.js";
|
|
2
|
+
import { B as formatTaskStatus, H as previewLine, I as ageString, L as compactPath, R as fmtTokens, U as shortId, V as formatTaskSummary, z as formatDuration } from "./tools-BavL6n7q.js";
|
|
3
|
+
//#region src/chat/auto-update-cli.ts
|
|
4
|
+
const UPGRADE_HELP = `Usage: zidane upgrade [options]
|
|
5
|
+
|
|
6
|
+
Update the zidane CLI to the latest release.
|
|
7
|
+
|
|
8
|
+
Options:
|
|
9
|
+
--check Print the latest version and exit (no install).
|
|
10
|
+
--in-place Download the platform binary directly from npm
|
|
11
|
+
and atomic-rename over the running binary.
|
|
12
|
+
Skips the package manager. Refused on Volta.
|
|
13
|
+
--dry-run Resolve everything but don't actually install.
|
|
14
|
+
--channel <tag> dist-tag to query (default: latest).
|
|
15
|
+
--registry <url> Override the npm registry.
|
|
16
|
+
--package-manager <pm> Force npm | pnpm | yarn | bun | volta.
|
|
17
|
+
--force Run the install even if we're already on latest,
|
|
18
|
+
or the registry check failed.
|
|
19
|
+
-h, --help Print this help.
|
|
20
|
+
|
|
21
|
+
Environment:
|
|
22
|
+
NO_UPDATE_NOTIFIER Silence the background check (set to "1").
|
|
23
|
+
ZIDANE_NO_UPDATE Same, project-specific.
|
|
24
|
+
`;
|
|
25
|
+
/**
|
|
26
|
+
* Run the `upgrade` subcommand. Exit code contract:
|
|
27
|
+
* - `0` — update succeeded, `--check` reported no update, or `--check`
|
|
28
|
+
* reported an update (informational only).
|
|
29
|
+
* - `1` — update failed (PM exit non-zero, in-place download failed,
|
|
30
|
+
* registry returned non-2xx).
|
|
31
|
+
* - `2` — argv parse error (unknown flag).
|
|
32
|
+
*/
|
|
33
|
+
async function runUpdateCommand(options) {
|
|
34
|
+
const out = options.stdout ?? process.stdout;
|
|
35
|
+
const err = options.stderr ?? process.stderr;
|
|
36
|
+
const parsed = parseArgs(options.argv);
|
|
37
|
+
if (parsed.kind === "error") {
|
|
38
|
+
err.write(`zidane upgrade: ${parsed.message}\n`);
|
|
39
|
+
err.write(UPGRADE_HELP);
|
|
40
|
+
return { exitCode: 2 };
|
|
41
|
+
}
|
|
42
|
+
if (parsed.help) {
|
|
43
|
+
out.write(UPGRADE_HELP);
|
|
44
|
+
return { exitCode: 0 };
|
|
45
|
+
}
|
|
46
|
+
const channel = parsed.channel ?? options.defaultChannel ?? "latest";
|
|
47
|
+
const registry = parsed.registry ?? options.registry;
|
|
48
|
+
const status = await checkForUpdate({
|
|
49
|
+
packageName: options.packageName,
|
|
50
|
+
currentVersion: options.currentVersion,
|
|
51
|
+
channel,
|
|
52
|
+
registry,
|
|
53
|
+
cacheDir: options.cacheDir,
|
|
54
|
+
force: true,
|
|
55
|
+
timeoutMs: 8e3
|
|
56
|
+
});
|
|
57
|
+
if (parsed.check) {
|
|
58
|
+
if (status.source === "error") {
|
|
59
|
+
err.write(`Could not check \`${channel}\` (${status.error ?? "unknown error"}). Current: v${options.currentVersion}.\n`);
|
|
60
|
+
return { exitCode: 0 };
|
|
61
|
+
}
|
|
62
|
+
if (!status.latest) {
|
|
63
|
+
err.write(`Could not determine latest version on \`${channel}\`. Current: v${options.currentVersion}.\n`);
|
|
64
|
+
return { exitCode: 0 };
|
|
65
|
+
}
|
|
66
|
+
if (compareSemver(status.latest, options.currentVersion) > 0) out.write(`v${status.latest} is available on \`${channel}\` (current: v${options.currentVersion}).\n`);
|
|
67
|
+
else out.write(`Already on v${options.currentVersion} (latest on \`${channel}\` is v${status.latest}).\n`);
|
|
68
|
+
return { exitCode: 0 };
|
|
69
|
+
}
|
|
70
|
+
if (status.source === "error") {
|
|
71
|
+
err.write(`zidane upgrade: registry check failed (${status.error ?? "unknown error"})\n`);
|
|
72
|
+
if (!parsed.force) {
|
|
73
|
+
err.write("Pass --force to attempt the install anyway.\n");
|
|
74
|
+
return { exitCode: 1 };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (status.latest && !parsed.force) {
|
|
78
|
+
if (compareSemver(status.latest, options.currentVersion) <= 0) {
|
|
79
|
+
out.write(`Already on v${options.currentVersion} (latest on \`${channel}\` is v${status.latest}).\n`);
|
|
80
|
+
return { exitCode: 0 };
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (parsed.inPlace) {
|
|
84
|
+
const platformPkg = resolvePlatformPackage({ prefix: options.platformPackagePrefix ?? `${options.packageName}-` });
|
|
85
|
+
if (!platformPkg) {
|
|
86
|
+
err.write(`No prebuilt binary for ${process.platform}/${process.arch}. Run \`${options.packageName}-upgrade\` via your package manager instead.\n`);
|
|
87
|
+
return { exitCode: 1 };
|
|
88
|
+
}
|
|
89
|
+
out.write(`Downloading ${platformPkg}@${channel}…\n`);
|
|
90
|
+
const result = await performInPlaceSelfUpdate({
|
|
91
|
+
packageName: platformPkg,
|
|
92
|
+
channel,
|
|
93
|
+
registry,
|
|
94
|
+
dryRun: parsed.dryRun
|
|
95
|
+
});
|
|
96
|
+
if (result.status === "success") {
|
|
97
|
+
const verb = parsed.dryRun ? "Would install" : "Installed";
|
|
98
|
+
out.write(`${verb} v${result.installedVersion} at ${result.binaryPath}.\n`);
|
|
99
|
+
return { exitCode: 0 };
|
|
100
|
+
}
|
|
101
|
+
err.write(`In-place update failed: ${result.reason ?? "unknown error"}\n`);
|
|
102
|
+
if (result.status === "refused") err.write("Falling back to package-manager path (drop --in-place to retry).\n");
|
|
103
|
+
return { exitCode: 1 };
|
|
104
|
+
}
|
|
105
|
+
const detected = detectPackageManager({
|
|
106
|
+
packageName: options.packageName,
|
|
107
|
+
channel
|
|
108
|
+
});
|
|
109
|
+
if (detected.note) out.write(`${detected.note}\n`);
|
|
110
|
+
out.write(`Running: ${detected.argv.join(" ")}\n`);
|
|
111
|
+
if (parsed.dryRun) return { exitCode: 0 };
|
|
112
|
+
const result = await performSelfUpdate({
|
|
113
|
+
packageName: options.packageName,
|
|
114
|
+
channel,
|
|
115
|
+
packageManager: parsed.packageManager ?? "auto"
|
|
116
|
+
});
|
|
117
|
+
if (result.spawnError) {
|
|
118
|
+
err.write(`Failed to launch \`${result.command.argv[0]}\`: ${result.spawnError}\n`);
|
|
119
|
+
err.write("Is the package manager installed and on $PATH?\n");
|
|
120
|
+
return { exitCode: 1 };
|
|
121
|
+
}
|
|
122
|
+
return { exitCode: result.exitCode ?? 1 };
|
|
123
|
+
}
|
|
124
|
+
function parseArgs(argv) {
|
|
125
|
+
let check = false;
|
|
126
|
+
let inPlace = false;
|
|
127
|
+
let dryRun = false;
|
|
128
|
+
let force = false;
|
|
129
|
+
let help = false;
|
|
130
|
+
let channel;
|
|
131
|
+
let registry;
|
|
132
|
+
let packageManager;
|
|
133
|
+
for (let i = 0; i < argv.length; i++) {
|
|
134
|
+
const a = argv[i];
|
|
135
|
+
switch (a) {
|
|
136
|
+
case "--check":
|
|
137
|
+
check = true;
|
|
138
|
+
break;
|
|
139
|
+
case "--in-place":
|
|
140
|
+
case "--inplace":
|
|
141
|
+
inPlace = true;
|
|
142
|
+
break;
|
|
143
|
+
case "--dry-run":
|
|
144
|
+
case "--dryrun":
|
|
145
|
+
dryRun = true;
|
|
146
|
+
break;
|
|
147
|
+
case "--force":
|
|
148
|
+
force = true;
|
|
149
|
+
break;
|
|
150
|
+
case "-h":
|
|
151
|
+
case "--help":
|
|
152
|
+
help = true;
|
|
153
|
+
break;
|
|
154
|
+
case "--channel":
|
|
155
|
+
channel = argv[++i];
|
|
156
|
+
if (!channel) return {
|
|
157
|
+
kind: "error",
|
|
158
|
+
message: "--channel requires a value"
|
|
159
|
+
};
|
|
160
|
+
break;
|
|
161
|
+
case "--registry":
|
|
162
|
+
registry = argv[++i];
|
|
163
|
+
if (!registry) return {
|
|
164
|
+
kind: "error",
|
|
165
|
+
message: "--registry requires a value"
|
|
166
|
+
};
|
|
167
|
+
break;
|
|
168
|
+
case "--package-manager":
|
|
169
|
+
case "--pm": {
|
|
170
|
+
const v = argv[++i];
|
|
171
|
+
if (!v) return {
|
|
172
|
+
kind: "error",
|
|
173
|
+
message: "--package-manager requires a value"
|
|
174
|
+
};
|
|
175
|
+
if (v !== "npm" && v !== "pnpm" && v !== "yarn" && v !== "bun" && v !== "volta") return {
|
|
176
|
+
kind: "error",
|
|
177
|
+
message: `unknown package manager: ${v}`
|
|
178
|
+
};
|
|
179
|
+
packageManager = v;
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
182
|
+
default: return {
|
|
183
|
+
kind: "error",
|
|
184
|
+
message: `unknown argument: ${a}`
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return {
|
|
189
|
+
kind: "ok",
|
|
190
|
+
check,
|
|
191
|
+
inPlace,
|
|
192
|
+
dryRun,
|
|
193
|
+
force,
|
|
194
|
+
help,
|
|
195
|
+
channel,
|
|
196
|
+
registry,
|
|
197
|
+
packageManager
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
//#endregion
|
|
201
|
+
export { ACTIONS_WITH_CARE_DOCTRINE, ASK_USER_TOOL, BUILD_AGENT, BUILTIN_AGENTS, BUILTIN_PROVIDERS, BUILTIN_THEMES, CATPPUCCIN_FRAPPE, CATPPUCCIN_LATTE, CATPPUCCIN_MACCHIATO, CATPPUCCIN_MOCHA, COMMUNICATION_DOCTRINE, ConfigProvider, DEFAULT_AGENT_ID, DEFAULT_KEYBINDINGS, DEFAULT_PERSIST_EXCLUDE_TOOLS, DEFAULT_SETTINGS, DEFAULT_THEME, DOING_TASKS_DOCTRINE, DiscoveryProvider, FILES_TRIGGER, IDENTITY_PREFIX, IMPLICITLY_SAFE_TOOLS, INTERACTION_GUIDANCE, INTERACTION_GUIDANCE_NO_PROMPTS, InteractionsProvider, KEYBINDING_DEFS, KEYBINDING_DEF_BY_ACTION, McpAuthProvider, OUTPUT_RESERVE_TOKENS, PLAN_AGENT, PLAN_MODE_DOCTRINE, PLAN_MODE_DOCTRINE_NO_PROMPTS, PRESENT_PLAN_TOOL, SETTINGS_CHOICES, SETTINGS_TOGGLES, SKILLS_TRIGGER, SUBAGENT_GUIDANCE, SafeModeProvider, SettingsProvider, TODOREAD_TOOL, TODOS_METADATA_KEY, TODOWRITE_TOOL, TODO_STATUS_GLYPHS, TODO_WRITE_COUNTS_METADATA_KEY, TOKEN_DISCIPLINE_DOCTRINE, TOOL_DISPLAY, ThemeProvider, VAPORWAVE_THEME, accentColor, addToSafelist, ageString, anthropicDescriptor, applyApiKeyEnv, applyEditPayload, applyInsert, blendHsl, bootProfileEnabled, bootTick, buildBuildSystem, buildContextualDiff, buildEditOutcomesAnnotation, buildLinearRamp, buildMcpServers, buildModelCatalog, buildPlanSystem, buildResumedToolResultsTurn, buildSkillsConfig, buildUnifiedDiff, buildUpdateHint, cerebrasDescriptor, checkForUpdate, cleanTitle, clipHintsToWidth, collectReferences, compactPath, compareSemver, computeInlineDiff, computeLineDiff, computeTurnAnchors, countNeighbors, createDiscoverySlot, createFileMcpCredentialStore, createFilesCompletionProvider, createInteractionTools, createSkillsCompletionProvider, createStateStore, createTodoTools, credKeyOf, credentialsPath, defaultMcpsConfigPaths, defaultSkillScanPaths, deleteTurnSafely, deriveSessionTitle, detectAuth, detectLibc, detectPackageManager, discoverProjectMcps, discoverProjectSkills, displayNameFor, effectiveContextWindow, ensureKeybindingsFile, envSection, eventsFromTurns, extractEditPayload, filetypeFromPath, filterModelCatalog, finalizeStreamingMarkdown, finalizeStreamingMarkdownForOwner, findActiveTrigger, findGitRoot, fmtTokens, formatDuration, formatPathForCwd, formatTaskStatus, formatTaskSummary, formatToolCall, generateSessionTitle, getArchivedTodosForRun, getContextWindow, getMcpAuthStatus, getModelInfo, getSafelist, getTodosForRun, hintsLength, indexOfEntry, isEditErrorResult, isInteractionTool, isOnSafelist, isTodoTool, isTurnHighlighted, isVisible, keybindingsPath, lastContextSizeFromTurns, listProjectFiles, listSessionMeta, loadState, makeRequestInteraction, marginTopFor, maskToOutcomeKinds, matchesBinding, matchesSafelistEntry, mcpCredentialsPath, mergeApprovalAndBodyOutcomes, mergeKeybindings, mergeReferences, modelSupportsReasoning, modelsForDescriptor, openaiDescriptor, openrouterDescriptor, parseBindingSpec, parseEditOutcomesFromResult, parseMcpsFile, parseSemver, patchMcpCredential, pendingInteractionsFromTurns, performInPlaceSelfUpdate, performSelfUpdate, piIdOf, pickActiveRunId, previewEditPayload, previewLine, projectUserPaths, projectsFilePath, pruneTodosByRun, readCredentials, readKeybindings, readProjects, readProviderCredential, reduceMcpAuth, removeProviderCredential, renderSession, resolveAgentId, resolveApprovalForPayload, resolveChipColor, resolveConfig, resolvePlatformPackage, resolveSessionExportTarget, resolveTheme, rewriteMultiEditHeader, runOAuthLogin, runUpdateCommand, saveState, selectActiveTodos, selectableTurnIds, serializeInteractionResponse, setProviderCredential, setTodosForRun, shortId, shouldAutoCompact, singleAgentRegistry, splitLines, splitMarkdownCodeBlocks, splitPromptSegments, stripEditOutcomesAnnotation, stripJsonComments, stripSpawnTokensLine, suggestSafelistEntry, sumRunCosts, summarizeEditPayload, summarizeOutcomes, supportsOAuth, titleFromTurns, tokenize, toolCallPreview, toolResultText, truncateTrailing, truncateTurnsAt, tryOpenBrowser, turnAsText, turnContextSize, turnSelectionOwnership, uniqueFilesFromReferences, uniqueSkillNamesFromReferences, updateToolEventOutcomes, useActiveTodos, useColors, useCompletion, useConfig, useDiscovery, useDiscoveryOptional, useEnabledToggleSet, useInteractionsActions, useInteractionsQueue, useMcpAuthDispatch, useMcpAuthState, useSafeModeActions, useSafeModeQueue, useSelectStyle, useSettings, useStreamBuffer, useSurfaces, useSyntaxStyles, useTheme, useUpdateCheck, writeCredentials, writeProjects, writeSessionExport };
|
|
202
|
+
|
|
203
|
+
//# sourceMappingURL=chat.js.map
|
package/dist/chat.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.js","names":[],"sources":["../src/chat/auto-update-cli.ts"],"sourcesContent":["// ---------------------------------------------------------------------------\n// `zidane upgrade` subcommand — drop-in handler for consumer CLIs.\n//\n// Wraps `checkForUpdate` + `performSelfUpdate` + `performInPlaceSelfUpdate`\n// into a single function the host's `cli.ts` can call. The behavior layers:\n//\n// - no flags → check + run the package manager\n// - `--check` → check only, print the latest version + bail\n// - `--in-place` → skip the PM, download + atomic-rename the binary\n// - `--dry-run` → resolve everything but don't actually swap\n// - `--channel <tag>` → override dist-tag (defaults to `'latest'`)\n// - `--registry <url>`→ override the npm registry URL\n//\n// Pure I/O — writes to stdout/stderr, returns the exit code the caller\n// should pass to `process.exit`. No React, no OpenTUI; safe to call\n// before / instead of `runTui`.\n// ---------------------------------------------------------------------------\n\nimport {\n checkForUpdate,\n compareSemver,\n detectPackageManager,\n performInPlaceSelfUpdate,\n performSelfUpdate,\n resolvePlatformPackage,\n} from './auto-update'\n\nexport interface RunUpdateCommandOptions {\n /** Top-level package the user installs (e.g. `'zidane-tui'`). */\n packageName: string\n /** Inlined at build time. */\n currentVersion: string\n /** Args passed after `upgrade` (typically `process.argv.slice(3)`). */\n argv: readonly string[]\n /** Where to persist the TTL cache. Usually `paths.userDir`. */\n cacheDir?: string\n /** Default channel when `--channel` isn't passed. Defaults to `'latest'`. */\n defaultChannel?: string\n /**\n * Override the platform-package-name prefix used by `--in-place`.\n * Defaults to `'<packageName>-'`, matching the `zidane-tui-<key>` layout.\n */\n platformPackagePrefix?: string\n /** Override registry. Defaults to npmjs. */\n registry?: string\n /** stdout. Defaults to `process.stdout`. */\n stdout?: NodeJS.WritableStream\n /** stderr. Defaults to `process.stderr`. */\n stderr?: NodeJS.WritableStream\n}\n\nexport interface RunUpdateCommandResult {\n exitCode: number\n}\n\nconst UPGRADE_HELP = `Usage: zidane upgrade [options]\n\nUpdate the zidane CLI to the latest release.\n\nOptions:\n --check Print the latest version and exit (no install).\n --in-place Download the platform binary directly from npm\n and atomic-rename over the running binary.\n Skips the package manager. Refused on Volta.\n --dry-run Resolve everything but don't actually install.\n --channel <tag> dist-tag to query (default: latest).\n --registry <url> Override the npm registry.\n --package-manager <pm> Force npm | pnpm | yarn | bun | volta.\n --force Run the install even if we're already on latest,\n or the registry check failed.\n -h, --help Print this help.\n\nEnvironment:\n NO_UPDATE_NOTIFIER Silence the background check (set to \"1\").\n ZIDANE_NO_UPDATE Same, project-specific.\n`\n\n/**\n * Run the `upgrade` subcommand. Exit code contract:\n * - `0` — update succeeded, `--check` reported no update, or `--check`\n * reported an update (informational only).\n * - `1` — update failed (PM exit non-zero, in-place download failed,\n * registry returned non-2xx).\n * - `2` — argv parse error (unknown flag).\n */\nexport async function runUpdateCommand(options: RunUpdateCommandOptions): Promise<RunUpdateCommandResult> {\n const out = options.stdout ?? process.stdout\n const err = options.stderr ?? process.stderr\n const parsed = parseArgs(options.argv)\n if (parsed.kind === 'error') {\n err.write(`zidane upgrade: ${parsed.message}\\n`)\n err.write(UPGRADE_HELP)\n return { exitCode: 2 }\n }\n if (parsed.help) {\n out.write(UPGRADE_HELP)\n return { exitCode: 0 }\n }\n\n const channel = parsed.channel ?? options.defaultChannel ?? 'latest'\n const registry = parsed.registry ?? options.registry\n\n // Always force the check — user typed `upgrade`, env opt-outs shouldn't\n // get in the way.\n const status = await checkForUpdate({\n packageName: options.packageName,\n currentVersion: options.currentVersion,\n channel,\n registry,\n cacheDir: options.cacheDir,\n force: true,\n timeoutMs: 8000,\n })\n\n // `--check` is informational — degrade gracefully on registry errors\n // (offline laptop, restricted proxy) and exit 0 so the user can script\n // around it without quoting tricks.\n if (parsed.check) {\n if (status.source === 'error') {\n err.write(`Could not check \\`${channel}\\` (${status.error ?? 'unknown error'}). Current: v${options.currentVersion}.\\n`)\n return { exitCode: 0 }\n }\n if (!status.latest) {\n err.write(`Could not determine latest version on \\`${channel}\\`. Current: v${options.currentVersion}.\\n`)\n return { exitCode: 0 }\n }\n const cmp = compareSemver(status.latest, options.currentVersion)\n if (cmp > 0)\n out.write(`v${status.latest} is available on \\`${channel}\\` (current: v${options.currentVersion}).\\n`)\n else\n out.write(`Already on v${options.currentVersion} (latest on \\`${channel}\\` is v${status.latest}).\\n`)\n return { exitCode: 0 }\n }\n\n // Install path — a registry error means we don't KNOW if we need an\n // update. Refuse to spawn the PM blindly unless the user explicitly\n // asks via `--force`.\n if (status.source === 'error') {\n err.write(`zidane upgrade: registry check failed (${status.error ?? 'unknown error'})\\n`)\n if (!parsed.force) {\n err.write('Pass --force to attempt the install anyway.\\n')\n return { exitCode: 1 }\n }\n }\n\n if (status.latest && !parsed.force) {\n const cmp = compareSemver(status.latest, options.currentVersion)\n if (cmp <= 0) {\n out.write(`Already on v${options.currentVersion} (latest on \\`${channel}\\` is v${status.latest}).\\n`)\n return { exitCode: 0 }\n }\n }\n\n // ---------------------------------------------------------------------\n // In-place path\n // ---------------------------------------------------------------------\n\n if (parsed.inPlace) {\n const platformPkg = resolvePlatformPackage({\n prefix: options.platformPackagePrefix ?? `${options.packageName}-`,\n })\n if (!platformPkg) {\n err.write(`No prebuilt binary for ${process.platform}/${process.arch}. Run \\`${options.packageName}-upgrade\\` via your package manager instead.\\n`)\n return { exitCode: 1 }\n }\n out.write(`Downloading ${platformPkg}@${channel}…\\n`)\n const result = await performInPlaceSelfUpdate({\n packageName: platformPkg,\n channel,\n registry,\n dryRun: parsed.dryRun,\n })\n if (result.status === 'success') {\n const verb = parsed.dryRun ? 'Would install' : 'Installed'\n out.write(`${verb} v${result.installedVersion} at ${result.binaryPath}.\\n`)\n return { exitCode: 0 }\n }\n err.write(`In-place update failed: ${result.reason ?? 'unknown error'}\\n`)\n if (result.status === 'refused')\n err.write('Falling back to package-manager path (drop --in-place to retry).\\n')\n return { exitCode: 1 }\n }\n\n // ---------------------------------------------------------------------\n // Package-manager path\n // ---------------------------------------------------------------------\n\n const detected = detectPackageManager({ packageName: options.packageName, channel })\n if (detected.note)\n out.write(`${detected.note}\\n`)\n out.write(`Running: ${detected.argv.join(' ')}\\n`)\n if (parsed.dryRun)\n return { exitCode: 0 }\n\n const result = await performSelfUpdate({\n packageName: options.packageName,\n channel,\n packageManager: parsed.packageManager ?? 'auto',\n })\n if (result.spawnError) {\n err.write(`Failed to launch \\`${result.command.argv[0]}\\`: ${result.spawnError}\\n`)\n err.write('Is the package manager installed and on $PATH?\\n')\n return { exitCode: 1 }\n }\n return { exitCode: result.exitCode ?? 1 }\n}\n\n// ---------------------------------------------------------------------------\n// Argv parser — minimal, just enough to drop into the consumer's `cli.ts`.\n// We deliberately don't pull in commander/yargs for a 5-flag surface.\n// ---------------------------------------------------------------------------\n\ntype ParseResult\n = | {\n kind: 'ok'\n check: boolean\n inPlace: boolean\n dryRun: boolean\n force: boolean\n help: boolean\n channel?: string\n registry?: string\n packageManager?: 'npm' | 'pnpm' | 'yarn' | 'bun' | 'volta'\n }\n | { kind: 'error', message: string }\n\nfunction parseArgs(argv: readonly string[]): ParseResult {\n let check = false\n let inPlace = false\n let dryRun = false\n let force = false\n let help = false\n let channel: string | undefined\n let registry: string | undefined\n let packageManager: 'npm' | 'pnpm' | 'yarn' | 'bun' | 'volta' | undefined\n\n for (let i = 0; i < argv.length; i++) {\n const a = argv[i]!\n switch (a) {\n case '--check': check = true; break\n case '--in-place':\n case '--inplace': inPlace = true; break\n case '--dry-run':\n case '--dryrun': dryRun = true; break\n case '--force': force = true; break\n case '-h':\n case '--help': help = true; break\n case '--channel':\n channel = argv[++i]\n if (!channel)\n return { kind: 'error', message: '--channel requires a value' }\n break\n case '--registry':\n registry = argv[++i]\n if (!registry)\n return { kind: 'error', message: '--registry requires a value' }\n break\n case '--package-manager':\n case '--pm': {\n const v = argv[++i]\n if (!v)\n return { kind: 'error', message: '--package-manager requires a value' }\n if (v !== 'npm' && v !== 'pnpm' && v !== 'yarn' && v !== 'bun' && v !== 'volta')\n return { kind: 'error', message: `unknown package manager: ${v}` }\n packageManager = v\n break\n }\n default:\n return { kind: 'error', message: `unknown argument: ${a}` }\n }\n }\n\n return { kind: 'ok', check, inPlace, dryRun, force, help, channel, registry, packageManager }\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a as ExecutionContext, s as SpawnConfig } from "../types-KukEp-mi.js";
|
|
2
2
|
|
|
3
3
|
//#region src/contexts/docker.d.ts
|
|
4
4
|
declare function createDockerContext(config?: SpawnConfig): ExecutionContext;
|