@atlasharness/atlascode 0.1.17 → 0.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +461 -265
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -130295,7 +130295,7 @@ var init_modelAllowlist = __esm(() => {
|
|
|
130295
130295
|
init_aliases();
|
|
130296
130296
|
init_model();
|
|
130297
130297
|
init_modelprovider2();
|
|
130298
|
-
AUTO_MODE_ROLES = ["premium", "small"];
|
|
130298
|
+
AUTO_MODE_ROLES = ["premium", "fast", "small"];
|
|
130299
130299
|
});
|
|
130300
130300
|
|
|
130301
130301
|
// src/tui/utils/model/model.ts
|
|
@@ -269513,6 +269513,67 @@ var init_UserToolRejectMessage = __esm(() => {
|
|
|
269513
269513
|
jsx_dev_runtime102 = __toESM(require_jsx_dev_runtime(), 1);
|
|
269514
269514
|
});
|
|
269515
269515
|
|
|
269516
|
+
// src/tui/components/permissions/permissionVerdict.ts
|
|
269517
|
+
function verdictLine(reason, mode) {
|
|
269518
|
+
const modeLabel = permissionModeTitle2(mode);
|
|
269519
|
+
switch (reason?.type) {
|
|
269520
|
+
case "rule": {
|
|
269521
|
+
const behavior = reason.rule.ruleBehavior;
|
|
269522
|
+
return `${VERDICT_PREFIX}: hit ${behavior} rule "${permissionRuleValueToString2(reason.rule.ruleValue)}" from ${getSettingSourceDisplayNameLowercase(reason.rule.source)}`;
|
|
269523
|
+
}
|
|
269524
|
+
case "classifier":
|
|
269525
|
+
return `${VERDICT_PREFIX}: ${reason.classifier} classifier says: ${reason.reason}`;
|
|
269526
|
+
case "mode":
|
|
269527
|
+
return `${VERDICT_PREFIX}: no rule matched — ${modeLabel} mode asks you`;
|
|
269528
|
+
case "other":
|
|
269529
|
+
return `${VERDICT_PREFIX}: no rule matched — ${modeLabel} mode asks you`;
|
|
269530
|
+
case "hook":
|
|
269531
|
+
return `${VERDICT_PREFIX}: hook "${reason.hookName}"${reason.hookSource ? ` (${reason.hookSource})` : ""}${reason.reason ? ` says: ${reason.reason}` : ""}`;
|
|
269532
|
+
case "safetyCheck":
|
|
269533
|
+
return `${VERDICT_PREFIX}: safety check — ${reason.reason}`;
|
|
269534
|
+
case "workingDir":
|
|
269535
|
+
return `${VERDICT_PREFIX}: ${reason.reason}`;
|
|
269536
|
+
case "subcommandResults": {
|
|
269537
|
+
const n = reason.reasons.size;
|
|
269538
|
+
return `${VERDICT_PREFIX}: ${n} sub-command${n === 1 ? "" : "s"} checked, ${modeLabel} mode asks you`;
|
|
269539
|
+
}
|
|
269540
|
+
case "permissionPromptTool":
|
|
269541
|
+
return `${VERDICT_PREFIX}: ${reason.permissionPromptToolName} handled this request`;
|
|
269542
|
+
case "asyncAgent":
|
|
269543
|
+
return `${VERDICT_PREFIX}: ${reason.reason}`;
|
|
269544
|
+
case "sandboxOverride":
|
|
269545
|
+
return `${VERDICT_PREFIX}: sandbox override (${reason.reason})`;
|
|
269546
|
+
default:
|
|
269547
|
+
return null;
|
|
269548
|
+
}
|
|
269549
|
+
}
|
|
269550
|
+
function successCardRenderMode(renderedMessage, userApproved) {
|
|
269551
|
+
if (renderedMessage !== null)
|
|
269552
|
+
return "full";
|
|
269553
|
+
return userApproved ? "marker" : "skip";
|
|
269554
|
+
}
|
|
269555
|
+
var VERDICT_PREFIX = "Verdict";
|
|
269556
|
+
var init_permissionVerdict = __esm(() => {
|
|
269557
|
+
init_constants5();
|
|
269558
|
+
init_permissionRuleParser2();
|
|
269559
|
+
init_PermissionMode();
|
|
269560
|
+
});
|
|
269561
|
+
|
|
269562
|
+
// src/tui/utils/userApprovals.ts
|
|
269563
|
+
function setUserApproval(toolUseID) {
|
|
269564
|
+
USER_APPROVALS.set(toolUseID, true);
|
|
269565
|
+
}
|
|
269566
|
+
function getUserApproval(toolUseID) {
|
|
269567
|
+
return USER_APPROVALS.has(toolUseID);
|
|
269568
|
+
}
|
|
269569
|
+
function deleteUserApproval(toolUseID) {
|
|
269570
|
+
USER_APPROVALS.delete(toolUseID);
|
|
269571
|
+
}
|
|
269572
|
+
var USER_APPROVALS;
|
|
269573
|
+
var init_userApprovals = __esm(() => {
|
|
269574
|
+
USER_APPROVALS = new Map;
|
|
269575
|
+
});
|
|
269576
|
+
|
|
269516
269577
|
// src/tui/components/messages/UserToolResultMessage/UserToolSuccessMessage.tsx
|
|
269517
269578
|
function UserToolSuccessMessage({
|
|
269518
269579
|
message,
|
|
@@ -269529,8 +269590,10 @@ function UserToolSuccessMessage({
|
|
|
269529
269590
|
const [theme] = useTheme();
|
|
269530
269591
|
const [classifierRule] = React32.useState(() => getClassifierApproval2(toolUseID));
|
|
269531
269592
|
const [yoloReason] = React32.useState(() => getYoloClassifierApproval2(toolUseID));
|
|
269593
|
+
const [userApproved] = React32.useState(() => getUserApproval(toolUseID));
|
|
269532
269594
|
React32.useEffect(() => {
|
|
269533
269595
|
deleteClassifierApproval2(toolUseID);
|
|
269596
|
+
deleteUserApproval(toolUseID);
|
|
269534
269597
|
}, [toolUseID]);
|
|
269535
269598
|
if (!message.toolUseResult || !tool) {
|
|
269536
269599
|
return null;
|
|
@@ -269548,7 +269611,8 @@ function UserToolSuccessMessage({
|
|
|
269548
269611
|
isTranscriptMode,
|
|
269549
269612
|
input: lookups.toolUseByToolUseID.get(toolUseID)?.input
|
|
269550
269613
|
}) ?? null;
|
|
269551
|
-
|
|
269614
|
+
const renderMode = successCardRenderMode(renderedMessage, userApproved);
|
|
269615
|
+
if (renderMode === "skip") {
|
|
269552
269616
|
return null;
|
|
269553
269617
|
}
|
|
269554
269618
|
const rendersAsAssistantText = tool.userFacingName(undefined) === "";
|
|
@@ -269578,12 +269642,28 @@ function UserToolSuccessMessage({
|
|
|
269578
269642
|
height: 1,
|
|
269579
269643
|
children: /* @__PURE__ */ jsx_dev_runtime103.jsxDEV(ThemedText, {
|
|
269580
269644
|
dimColor: true,
|
|
269581
|
-
children:
|
|
269582
|
-
|
|
269583
|
-
|
|
269645
|
+
children: [
|
|
269646
|
+
"Allowed by auto mode classifier: ",
|
|
269647
|
+
yoloReason
|
|
269648
|
+
]
|
|
269649
|
+
}, undefined, true, undefined, this)
|
|
269650
|
+
}, undefined, false, undefined, this) : null,
|
|
269651
|
+
userApproved && /* @__PURE__ */ jsx_dev_runtime103.jsxDEV(MessageResponse, {
|
|
269652
|
+
height: 1,
|
|
269653
|
+
children: /* @__PURE__ */ jsx_dev_runtime103.jsxDEV(ThemedText, {
|
|
269654
|
+
dimColor: true,
|
|
269655
|
+
children: [
|
|
269656
|
+
/* @__PURE__ */ jsx_dev_runtime103.jsxDEV(ThemedText, {
|
|
269657
|
+
color: "success",
|
|
269658
|
+
children: figures_default.tick
|
|
269659
|
+
}, undefined, false, undefined, this),
|
|
269660
|
+
" Allowed · your decision"
|
|
269661
|
+
]
|
|
269662
|
+
}, undefined, true, undefined, this)
|
|
269663
|
+
}, undefined, false, undefined, this)
|
|
269584
269664
|
]
|
|
269585
269665
|
}, undefined, true, undefined, this),
|
|
269586
|
-
/* @__PURE__ */ jsx_dev_runtime103.jsxDEV(SentryErrorBoundary, {
|
|
269666
|
+
renderMode === "full" ? /* @__PURE__ */ jsx_dev_runtime103.jsxDEV(SentryErrorBoundary, {
|
|
269587
269667
|
children: /* @__PURE__ */ jsx_dev_runtime103.jsxDEV(HookProgressMessage, {
|
|
269588
269668
|
hookEvent: "PostToolUse",
|
|
269589
269669
|
lookups,
|
|
@@ -269591,7 +269671,7 @@ function UserToolSuccessMessage({
|
|
|
269591
269671
|
verbose,
|
|
269592
269672
|
isTranscriptMode
|
|
269593
269673
|
}, undefined, false, undefined, this)
|
|
269594
|
-
}, undefined, false, undefined, this)
|
|
269674
|
+
}, undefined, false, undefined, this) : null
|
|
269595
269675
|
]
|
|
269596
269676
|
}, undefined, true, undefined, this);
|
|
269597
269677
|
}
|
|
@@ -269603,6 +269683,8 @@ var init_UserToolSuccessMessage = __esm(() => {
|
|
|
269603
269683
|
init_ink2();
|
|
269604
269684
|
init_Tool();
|
|
269605
269685
|
init_classifierApprovals();
|
|
269686
|
+
init_permissionVerdict();
|
|
269687
|
+
init_userApprovals();
|
|
269606
269688
|
init_MessageResponse();
|
|
269607
269689
|
init_HookProgressMessage();
|
|
269608
269690
|
React32 = __toESM(require_react(), 1);
|
|
@@ -331161,7 +331243,7 @@ async function installPluginFromMarketplace({
|
|
|
331161
331243
|
}
|
|
331162
331244
|
return {
|
|
331163
331245
|
success: true,
|
|
331164
|
-
message: `✓ Installed ${entry.name}${result.depNote}
|
|
331246
|
+
message: `✓ Installed ${entry.name}${result.depNote}.`
|
|
331165
331247
|
};
|
|
331166
331248
|
} catch (err) {
|
|
331167
331249
|
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
@@ -399314,6 +399396,139 @@ var init_agents3 = __esm(() => {
|
|
|
399314
399396
|
agents_default = agents;
|
|
399315
399397
|
});
|
|
399316
399398
|
|
|
399399
|
+
// src/tui/utils/plugins/refresh.ts
|
|
399400
|
+
async function refreshActivePlugins(setAppState) {
|
|
399401
|
+
logForDebugging3("refreshActivePlugins: clearing all plugin caches");
|
|
399402
|
+
clearAllCaches();
|
|
399403
|
+
clearPluginCacheExclusions();
|
|
399404
|
+
const pluginResult = await loadAllPlugins();
|
|
399405
|
+
const [pluginCommands, agentDefinitions] = await Promise.all([
|
|
399406
|
+
getPluginCommands(),
|
|
399407
|
+
getAgentDefinitionsWithOverrides(getOriginalCwd())
|
|
399408
|
+
]);
|
|
399409
|
+
const { enabled, disabled, errors } = pluginResult;
|
|
399410
|
+
const [mcpCounts, lspCounts] = await Promise.all([
|
|
399411
|
+
Promise.all(enabled.map(async (p) => {
|
|
399412
|
+
if (p.mcpServers)
|
|
399413
|
+
return Object.keys(p.mcpServers).length;
|
|
399414
|
+
const servers = await loadPluginMcpServers(p, errors);
|
|
399415
|
+
if (servers)
|
|
399416
|
+
p.mcpServers = servers;
|
|
399417
|
+
return servers ? Object.keys(servers).length : 0;
|
|
399418
|
+
})),
|
|
399419
|
+
Promise.all(enabled.map(async (p) => {
|
|
399420
|
+
if (p.lspServers)
|
|
399421
|
+
return Object.keys(p.lspServers).length;
|
|
399422
|
+
const servers = await loadPluginLspServers(p, errors);
|
|
399423
|
+
if (servers)
|
|
399424
|
+
p.lspServers = servers;
|
|
399425
|
+
return servers ? Object.keys(servers).length : 0;
|
|
399426
|
+
}))
|
|
399427
|
+
]);
|
|
399428
|
+
const mcp_count = mcpCounts.reduce((sum, n) => sum + n, 0);
|
|
399429
|
+
const lsp_count = lspCounts.reduce((sum, n) => sum + n, 0);
|
|
399430
|
+
setAppState((prev) => ({
|
|
399431
|
+
...prev,
|
|
399432
|
+
plugins: {
|
|
399433
|
+
...prev.plugins,
|
|
399434
|
+
enabled,
|
|
399435
|
+
disabled,
|
|
399436
|
+
commands: pluginCommands,
|
|
399437
|
+
errors: mergePluginErrors(prev.plugins.errors, errors),
|
|
399438
|
+
needsRefresh: false
|
|
399439
|
+
},
|
|
399440
|
+
agentDefinitions,
|
|
399441
|
+
mcp: {
|
|
399442
|
+
...prev.mcp,
|
|
399443
|
+
pluginReconnectKey: prev.mcp.pluginReconnectKey + 1
|
|
399444
|
+
}
|
|
399445
|
+
}));
|
|
399446
|
+
reinitializeLspServerManager2();
|
|
399447
|
+
let hook_load_failed = false;
|
|
399448
|
+
try {
|
|
399449
|
+
await loadPluginHooks();
|
|
399450
|
+
} catch (e) {
|
|
399451
|
+
hook_load_failed = true;
|
|
399452
|
+
logError3(e);
|
|
399453
|
+
logForDebugging3(`refreshActivePlugins: loadPluginHooks failed: ${errorMessage2(e)}`);
|
|
399454
|
+
}
|
|
399455
|
+
const hook_count = enabled.reduce((sum, p) => {
|
|
399456
|
+
if (!p.hooksConfig)
|
|
399457
|
+
return sum;
|
|
399458
|
+
return sum + Object.values(p.hooksConfig).reduce((s, matchers) => s + (matchers?.reduce((h, m) => h + m.hooks.length, 0) ?? 0), 0);
|
|
399459
|
+
}, 0);
|
|
399460
|
+
logForDebugging3(`refreshActivePlugins: ${enabled.length} enabled, ${pluginCommands.length} commands, ${agentDefinitions.allAgents.length} agents, ${hook_count} hooks, ${mcp_count} MCP, ${lsp_count} LSP`);
|
|
399461
|
+
return {
|
|
399462
|
+
enabled_count: enabled.length,
|
|
399463
|
+
disabled_count: disabled.length,
|
|
399464
|
+
command_count: pluginCommands.length,
|
|
399465
|
+
agent_count: agentDefinitions.allAgents.length,
|
|
399466
|
+
hook_count,
|
|
399467
|
+
mcp_count,
|
|
399468
|
+
lsp_count,
|
|
399469
|
+
error_count: errors.length + (hook_load_failed ? 1 : 0),
|
|
399470
|
+
agentDefinitions,
|
|
399471
|
+
pluginCommands
|
|
399472
|
+
};
|
|
399473
|
+
}
|
|
399474
|
+
async function refreshActivePluginsLightweight(setAppState) {
|
|
399475
|
+
logForDebugging3("refreshActivePluginsLightweight: clearing all plugin caches");
|
|
399476
|
+
clearAllCaches();
|
|
399477
|
+
clearPluginCacheExclusions();
|
|
399478
|
+
const pluginResult = await loadAllPlugins();
|
|
399479
|
+
const [pluginCommands, agentDefinitions] = await Promise.all([
|
|
399480
|
+
getPluginCommands(),
|
|
399481
|
+
getAgentDefinitionsWithOverrides(getOriginalCwd())
|
|
399482
|
+
]);
|
|
399483
|
+
const { enabled, disabled, errors } = pluginResult;
|
|
399484
|
+
setAppState((prev) => ({
|
|
399485
|
+
...prev,
|
|
399486
|
+
plugins: {
|
|
399487
|
+
...prev.plugins,
|
|
399488
|
+
enabled,
|
|
399489
|
+
disabled,
|
|
399490
|
+
commands: pluginCommands,
|
|
399491
|
+
errors: mergePluginErrors(prev.plugins.errors, errors),
|
|
399492
|
+
needsRefresh: false
|
|
399493
|
+
},
|
|
399494
|
+
agentDefinitions
|
|
399495
|
+
}));
|
|
399496
|
+
logForDebugging3(`refreshActivePluginsLightweight: ${enabled.length} enabled, ${pluginCommands.length} commands, ${agentDefinitions.allAgents.length} agents`);
|
|
399497
|
+
return {
|
|
399498
|
+
enabled_count: enabled.length,
|
|
399499
|
+
disabled_count: disabled.length,
|
|
399500
|
+
command_count: pluginCommands.length,
|
|
399501
|
+
agent_count: agentDefinitions.allAgents.length,
|
|
399502
|
+
error_count: errors.length,
|
|
399503
|
+
agentDefinitions,
|
|
399504
|
+
pluginCommands
|
|
399505
|
+
};
|
|
399506
|
+
}
|
|
399507
|
+
function mergePluginErrors(existing, fresh) {
|
|
399508
|
+
const preserved = existing.filter((e) => e.source === "lsp-manager" || e.source.startsWith("plugin:"));
|
|
399509
|
+
const freshKeys = new Set(fresh.map(errorKey));
|
|
399510
|
+
const deduped = preserved.filter((e) => !freshKeys.has(errorKey(e)));
|
|
399511
|
+
return [...deduped, ...fresh];
|
|
399512
|
+
}
|
|
399513
|
+
function errorKey(e) {
|
|
399514
|
+
return e.type === "generic-error" ? `generic-error:${e.source}:${e.error}` : `${e.type}:${e.source}`;
|
|
399515
|
+
}
|
|
399516
|
+
var init_refresh = __esm(() => {
|
|
399517
|
+
init_bootstrap();
|
|
399518
|
+
init_manager();
|
|
399519
|
+
init_loadAgentsDir2();
|
|
399520
|
+
init_debug();
|
|
399521
|
+
init_errors4();
|
|
399522
|
+
init_log5();
|
|
399523
|
+
init_cacheUtils();
|
|
399524
|
+
init_loadPluginCommands();
|
|
399525
|
+
init_loadPluginHooks();
|
|
399526
|
+
init_lspPluginIntegration();
|
|
399527
|
+
init_mcpPluginIntegration();
|
|
399528
|
+
init_orphanedPluginFilter();
|
|
399529
|
+
init_pluginLoader();
|
|
399530
|
+
});
|
|
399531
|
+
|
|
399317
399532
|
// src/tui/utils/plugins/parseMarketplaceInput.ts
|
|
399318
399533
|
import { homedir as homedir37 } from "os";
|
|
399319
399534
|
import { resolve as resolve48 } from "path";
|
|
@@ -400832,12 +401047,12 @@ function BrowseMarketplace({
|
|
|
400832
401047
|
setSelectedForInstall(new Set);
|
|
400833
401048
|
clearAllCaches();
|
|
400834
401049
|
if (failureCount === 0) {
|
|
400835
|
-
const message = `✓ Installed ${successCount_0} ${plural2(successCount_0, "plugin")}
|
|
401050
|
+
const message = `✓ Installed ${successCount_0} ${plural2(successCount_0, "plugin")}.`;
|
|
400836
401051
|
setResult(message);
|
|
400837
401052
|
} else if (successCount_0 === 0) {
|
|
400838
401053
|
setError(`Failed to install: ${formatFailureDetails(newFailedPlugins, true)}`);
|
|
400839
401054
|
} else {
|
|
400840
|
-
const message_0 = `✓ Installed ${successCount_0} of ${successCount_0 + failureCount} plugins. ` + `Failed: ${formatFailureDetails(newFailedPlugins, false)}
|
|
401055
|
+
const message_0 = `✓ Installed ${successCount_0} of ${successCount_0 + failureCount} plugins. ` + `Failed: ${formatFailureDetails(newFailedPlugins, false)}.`;
|
|
400841
401056
|
setResult(message_0);
|
|
400842
401057
|
}
|
|
400843
401058
|
if (successCount_0 > 0) {
|
|
@@ -401031,10 +401246,10 @@ function BrowseMarketplace({
|
|
|
401031
401246
|
onDone: (outcome, detail) => {
|
|
401032
401247
|
switch (outcome) {
|
|
401033
401248
|
case "configured":
|
|
401034
|
-
finish(`✓ Installed and configured ${plugin_5.name}
|
|
401249
|
+
finish(`✓ Installed and configured ${plugin_5.name}.`);
|
|
401035
401250
|
break;
|
|
401036
401251
|
case "skipped":
|
|
401037
|
-
finish(`✓ Installed ${plugin_5.name}
|
|
401252
|
+
finish(`✓ Installed ${plugin_5.name}.`);
|
|
401038
401253
|
break;
|
|
401039
401254
|
case "error":
|
|
401040
401255
|
finish(`Installed but failed to save config: ${detail}`);
|
|
@@ -401704,12 +401919,12 @@ function DiscoverPlugins({
|
|
|
401704
401919
|
setSelectedForInstall(new Set);
|
|
401705
401920
|
clearAllCaches();
|
|
401706
401921
|
if (failureCount === 0) {
|
|
401707
|
-
const message = `✓ Installed ${successCount_0} ${plural2(successCount_0, "plugin")}
|
|
401922
|
+
const message = `✓ Installed ${successCount_0} ${plural2(successCount_0, "plugin")}.`;
|
|
401708
401923
|
setResult(message);
|
|
401709
401924
|
} else if (successCount_0 === 0) {
|
|
401710
401925
|
setError(`Failed to install: ${formatFailureDetails(newFailedPlugins, true)}`);
|
|
401711
401926
|
} else {
|
|
401712
|
-
const message_0 = `✓ Installed ${successCount_0} of ${successCount_0 + failureCount} plugins. ` + `Failed: ${formatFailureDetails(newFailedPlugins, false)}
|
|
401927
|
+
const message_0 = `✓ Installed ${successCount_0} of ${successCount_0 + failureCount} plugins. ` + `Failed: ${formatFailureDetails(newFailedPlugins, false)}.`;
|
|
401713
401928
|
setResult(message_0);
|
|
401714
401929
|
}
|
|
401715
401930
|
if (successCount_0 > 0) {
|
|
@@ -401916,10 +402131,10 @@ function DiscoverPlugins({
|
|
|
401916
402131
|
onDone: (outcome, detail) => {
|
|
401917
402132
|
switch (outcome) {
|
|
401918
402133
|
case "configured":
|
|
401919
|
-
finish(`✓ Installed and configured ${plugin_4.name}
|
|
402134
|
+
finish(`✓ Installed and configured ${plugin_4.name}.`);
|
|
401920
402135
|
break;
|
|
401921
402136
|
case "skipped":
|
|
401922
|
-
finish(`✓ Installed ${plugin_4.name}
|
|
402137
|
+
finish(`✓ Installed ${plugin_4.name}.`);
|
|
401923
402138
|
break;
|
|
401924
402139
|
case "error":
|
|
401925
402140
|
finish(`Installed but failed to save config: ${detail}`);
|
|
@@ -405321,7 +405536,7 @@ function ManagePlugins({
|
|
|
405321
405536
|
} else if (typeof viewState === "object" && (viewState.type === "plugin-options" || viewState.type === "configuring-options")) {
|
|
405322
405537
|
setViewState("plugin-list");
|
|
405323
405538
|
setSelectedPlugin(null);
|
|
405324
|
-
setResult("Plugin enabled. Configuration skipped
|
|
405539
|
+
setResult("Plugin enabled. Configuration skipped.");
|
|
405325
405540
|
if (onManageComplete) {
|
|
405326
405541
|
onManageComplete();
|
|
405327
405542
|
}
|
|
@@ -405831,7 +406046,7 @@ function ManagePlugins({
|
|
|
405831
406046
|
}
|
|
405832
406047
|
const operationName = operation === "enable" ? "Enabled" : operation === "disable" ? "Disabled" : operation === "update" ? "Updated" : "Uninstalled";
|
|
405833
406048
|
const depWarn = reverseDependents && reverseDependents.length > 0 ? ` · required by ${reverseDependents.join(", ")}` : "";
|
|
405834
|
-
const message = `✓ ${operationName} ${selectedPlugin.plugin.name}${depWarn}
|
|
406049
|
+
const message = `✓ ${operationName} ${selectedPlugin.plugin.name}${depWarn}.`;
|
|
405835
406050
|
setResult(message);
|
|
405836
406051
|
if (onManageComplete) {
|
|
405837
406052
|
await onManageComplete();
|
|
@@ -406190,7 +406405,7 @@ function ManagePlugins({
|
|
|
406190
406405
|
return;
|
|
406191
406406
|
}
|
|
406192
406407
|
clearAllCaches();
|
|
406193
|
-
setResult(`✓ Disabled ${selectedPlugin.plugin.name} in .atlas/settings.local.json
|
|
406408
|
+
setResult(`✓ Disabled ${selectedPlugin.plugin.name} in .atlas/settings.local.json.`);
|
|
406194
406409
|
if (onManageComplete)
|
|
406195
406410
|
onManageComplete();
|
|
406196
406411
|
setParentViewState({
|
|
@@ -406309,10 +406524,10 @@ function ManagePlugins({
|
|
|
406309
406524
|
onDone: (outcome, detail) => {
|
|
406310
406525
|
switch (outcome) {
|
|
406311
406526
|
case "configured":
|
|
406312
|
-
finish(`✓ Enabled and configured ${selectedPlugin.plugin.name}
|
|
406527
|
+
finish(`✓ Enabled and configured ${selectedPlugin.plugin.name}.`);
|
|
406313
406528
|
break;
|
|
406314
406529
|
case "skipped":
|
|
406315
|
-
finish(`✓ Enabled ${selectedPlugin.plugin.name}
|
|
406530
|
+
finish(`✓ Enabled ${selectedPlugin.plugin.name}.`);
|
|
406316
406531
|
break;
|
|
406317
406532
|
case "error":
|
|
406318
406533
|
finish(`Failed to save configuration: ${detail}`);
|
|
@@ -408885,7 +409100,7 @@ function PluginSettings(t0) {
|
|
|
408885
409100
|
let t3;
|
|
408886
409101
|
if ($[5] !== setAppState) {
|
|
408887
409102
|
t3 = () => {
|
|
408888
|
-
setAppState
|
|
409103
|
+
refreshActivePluginsLightweight(setAppState);
|
|
408889
409104
|
};
|
|
408890
409105
|
$[5] = setAppState;
|
|
408891
409106
|
$[6] = t3;
|
|
@@ -409397,15 +409612,6 @@ function PluginSettings(t0) {
|
|
|
409397
409612
|
}
|
|
409398
409613
|
return t27;
|
|
409399
409614
|
}
|
|
409400
|
-
function _temp134(prev) {
|
|
409401
|
-
return prev.plugins.needsRefresh ? prev : {
|
|
409402
|
-
...prev,
|
|
409403
|
-
plugins: {
|
|
409404
|
-
...prev.plugins,
|
|
409405
|
-
needsRefresh: true
|
|
409406
|
-
}
|
|
409407
|
-
};
|
|
409408
|
-
}
|
|
409409
409615
|
function _temp05(s) {
|
|
409410
409616
|
let count = s.plugins.errors.length;
|
|
409411
409617
|
for (const m of s.plugins.installationStatus.marketplaces) {
|
|
@@ -409430,6 +409636,7 @@ var init_PluginSettings = __esm(() => {
|
|
|
409430
409636
|
init_marketplaceHelpers();
|
|
409431
409637
|
init_marketplaceManager();
|
|
409432
409638
|
init_pluginStartupCheck();
|
|
409639
|
+
init_refresh();
|
|
409433
409640
|
init_settings3();
|
|
409434
409641
|
init_AddMarketplace();
|
|
409435
409642
|
init_MarketplaceAdopt();
|
|
@@ -409478,106 +409685,6 @@ var init_plugin3 = __esm(() => {
|
|
|
409478
409685
|
plugin_default = plugin;
|
|
409479
409686
|
});
|
|
409480
409687
|
|
|
409481
|
-
// src/tui/utils/plugins/refresh.ts
|
|
409482
|
-
async function refreshActivePlugins(setAppState) {
|
|
409483
|
-
logForDebugging3("refreshActivePlugins: clearing all plugin caches");
|
|
409484
|
-
clearAllCaches();
|
|
409485
|
-
clearPluginCacheExclusions();
|
|
409486
|
-
const pluginResult = await loadAllPlugins();
|
|
409487
|
-
const [pluginCommands, agentDefinitions] = await Promise.all([
|
|
409488
|
-
getPluginCommands(),
|
|
409489
|
-
getAgentDefinitionsWithOverrides(getOriginalCwd())
|
|
409490
|
-
]);
|
|
409491
|
-
const { enabled, disabled, errors } = pluginResult;
|
|
409492
|
-
const [mcpCounts, lspCounts] = await Promise.all([
|
|
409493
|
-
Promise.all(enabled.map(async (p) => {
|
|
409494
|
-
if (p.mcpServers)
|
|
409495
|
-
return Object.keys(p.mcpServers).length;
|
|
409496
|
-
const servers = await loadPluginMcpServers(p, errors);
|
|
409497
|
-
if (servers)
|
|
409498
|
-
p.mcpServers = servers;
|
|
409499
|
-
return servers ? Object.keys(servers).length : 0;
|
|
409500
|
-
})),
|
|
409501
|
-
Promise.all(enabled.map(async (p) => {
|
|
409502
|
-
if (p.lspServers)
|
|
409503
|
-
return Object.keys(p.lspServers).length;
|
|
409504
|
-
const servers = await loadPluginLspServers(p, errors);
|
|
409505
|
-
if (servers)
|
|
409506
|
-
p.lspServers = servers;
|
|
409507
|
-
return servers ? Object.keys(servers).length : 0;
|
|
409508
|
-
}))
|
|
409509
|
-
]);
|
|
409510
|
-
const mcp_count = mcpCounts.reduce((sum, n) => sum + n, 0);
|
|
409511
|
-
const lsp_count = lspCounts.reduce((sum, n) => sum + n, 0);
|
|
409512
|
-
setAppState((prev) => ({
|
|
409513
|
-
...prev,
|
|
409514
|
-
plugins: {
|
|
409515
|
-
...prev.plugins,
|
|
409516
|
-
enabled,
|
|
409517
|
-
disabled,
|
|
409518
|
-
commands: pluginCommands,
|
|
409519
|
-
errors: mergePluginErrors(prev.plugins.errors, errors),
|
|
409520
|
-
needsRefresh: false
|
|
409521
|
-
},
|
|
409522
|
-
agentDefinitions,
|
|
409523
|
-
mcp: {
|
|
409524
|
-
...prev.mcp,
|
|
409525
|
-
pluginReconnectKey: prev.mcp.pluginReconnectKey + 1
|
|
409526
|
-
}
|
|
409527
|
-
}));
|
|
409528
|
-
reinitializeLspServerManager2();
|
|
409529
|
-
let hook_load_failed = false;
|
|
409530
|
-
try {
|
|
409531
|
-
await loadPluginHooks();
|
|
409532
|
-
} catch (e) {
|
|
409533
|
-
hook_load_failed = true;
|
|
409534
|
-
logError3(e);
|
|
409535
|
-
logForDebugging3(`refreshActivePlugins: loadPluginHooks failed: ${errorMessage2(e)}`);
|
|
409536
|
-
}
|
|
409537
|
-
const hook_count = enabled.reduce((sum, p) => {
|
|
409538
|
-
if (!p.hooksConfig)
|
|
409539
|
-
return sum;
|
|
409540
|
-
return sum + Object.values(p.hooksConfig).reduce((s, matchers) => s + (matchers?.reduce((h, m) => h + m.hooks.length, 0) ?? 0), 0);
|
|
409541
|
-
}, 0);
|
|
409542
|
-
logForDebugging3(`refreshActivePlugins: ${enabled.length} enabled, ${pluginCommands.length} commands, ${agentDefinitions.allAgents.length} agents, ${hook_count} hooks, ${mcp_count} MCP, ${lsp_count} LSP`);
|
|
409543
|
-
return {
|
|
409544
|
-
enabled_count: enabled.length,
|
|
409545
|
-
disabled_count: disabled.length,
|
|
409546
|
-
command_count: pluginCommands.length,
|
|
409547
|
-
agent_count: agentDefinitions.allAgents.length,
|
|
409548
|
-
hook_count,
|
|
409549
|
-
mcp_count,
|
|
409550
|
-
lsp_count,
|
|
409551
|
-
error_count: errors.length + (hook_load_failed ? 1 : 0),
|
|
409552
|
-
agentDefinitions,
|
|
409553
|
-
pluginCommands
|
|
409554
|
-
};
|
|
409555
|
-
}
|
|
409556
|
-
function mergePluginErrors(existing, fresh) {
|
|
409557
|
-
const preserved = existing.filter((e) => e.source === "lsp-manager" || e.source.startsWith("plugin:"));
|
|
409558
|
-
const freshKeys = new Set(fresh.map(errorKey));
|
|
409559
|
-
const deduped = preserved.filter((e) => !freshKeys.has(errorKey(e)));
|
|
409560
|
-
return [...deduped, ...fresh];
|
|
409561
|
-
}
|
|
409562
|
-
function errorKey(e) {
|
|
409563
|
-
return e.type === "generic-error" ? `generic-error:${e.source}:${e.error}` : `${e.type}:${e.source}`;
|
|
409564
|
-
}
|
|
409565
|
-
var init_refresh = __esm(() => {
|
|
409566
|
-
init_bootstrap();
|
|
409567
|
-
init_manager();
|
|
409568
|
-
init_loadAgentsDir2();
|
|
409569
|
-
init_debug();
|
|
409570
|
-
init_errors4();
|
|
409571
|
-
init_log5();
|
|
409572
|
-
init_cacheUtils();
|
|
409573
|
-
init_loadPluginCommands();
|
|
409574
|
-
init_loadPluginHooks();
|
|
409575
|
-
init_lspPluginIntegration();
|
|
409576
|
-
init_mcpPluginIntegration();
|
|
409577
|
-
init_orphanedPluginFilter();
|
|
409578
|
-
init_pluginLoader();
|
|
409579
|
-
});
|
|
409580
|
-
|
|
409581
409688
|
// src/tui/commands/reload-plugins/reload-plugins.ts
|
|
409582
409689
|
var exports_reload_plugins = {};
|
|
409583
409690
|
__export(exports_reload_plugins, {
|
|
@@ -409874,7 +409981,7 @@ function SandboxConfigTab() {
|
|
|
409874
409981
|
t0 = depCheck.warnings.length > 0 ? /* @__PURE__ */ jsx_dev_runtime296.jsxDEV(ThemedBox_default, {
|
|
409875
409982
|
marginTop: 1,
|
|
409876
409983
|
flexDirection: "column",
|
|
409877
|
-
children: depCheck.warnings.map(
|
|
409984
|
+
children: depCheck.warnings.map(_temp134)
|
|
409878
409985
|
}, undefined, false, undefined, this) : null;
|
|
409879
409986
|
$[0] = t0;
|
|
409880
409987
|
} else {
|
|
@@ -410050,7 +410157,7 @@ function SandboxConfigTab() {
|
|
|
410050
410157
|
}
|
|
410051
410158
|
return t1;
|
|
410052
410159
|
}
|
|
410053
|
-
function
|
|
410160
|
+
function _temp134(w, i) {
|
|
410054
410161
|
return /* @__PURE__ */ jsx_dev_runtime296.jsxDEV(ThemedText, {
|
|
410055
410162
|
dimColor: true,
|
|
410056
410163
|
children: w
|
|
@@ -410081,7 +410188,7 @@ function SandboxDependenciesTab(t0) {
|
|
|
410081
410188
|
const isMac = platform === "macos";
|
|
410082
410189
|
let t2;
|
|
410083
410190
|
if ($[1] !== depCheck.errors) {
|
|
410084
|
-
t2 = depCheck.errors.some(
|
|
410191
|
+
t2 = depCheck.errors.some(_temp135);
|
|
410085
410192
|
$[1] = depCheck.errors;
|
|
410086
410193
|
$[2] = t2;
|
|
410087
410194
|
} else {
|
|
@@ -410295,7 +410402,7 @@ function _temp341(e_1) {
|
|
|
410295
410402
|
function _temp262(e_0) {
|
|
410296
410403
|
return e_0.includes("bwrap");
|
|
410297
410404
|
}
|
|
410298
|
-
function
|
|
410405
|
+
function _temp135(e) {
|
|
410299
410406
|
return e.includes("ripgrep");
|
|
410300
410407
|
}
|
|
410301
410408
|
var import_compiler_runtime236, jsx_dev_runtime297;
|
|
@@ -412024,11 +412131,8 @@ var init_export2 = __esm(() => {
|
|
|
412024
412131
|
|
|
412025
412132
|
// src/tui/utils/immediateCommand.ts
|
|
412026
412133
|
function shouldInferenceConfigCommandBeImmediate() {
|
|
412027
|
-
return
|
|
412134
|
+
return true;
|
|
412028
412135
|
}
|
|
412029
|
-
var init_immediateCommand = __esm(() => {
|
|
412030
|
-
init_growthbook();
|
|
412031
|
-
});
|
|
412032
412136
|
|
|
412033
412137
|
// src/tui/commands/model/model.tsx
|
|
412034
412138
|
var exports_model = {};
|
|
@@ -412040,7 +412144,7 @@ function ModelPickerWrapper(t0) {
|
|
|
412040
412144
|
const {
|
|
412041
412145
|
onDone
|
|
412042
412146
|
} = t0;
|
|
412043
|
-
const mainLoopModel = useAppState(
|
|
412147
|
+
const mainLoopModel = useAppState(_temp136);
|
|
412044
412148
|
const mainLoopModelForSession = useAppState(_temp263);
|
|
412045
412149
|
const setAppState = useSetAppState();
|
|
412046
412150
|
let t1;
|
|
@@ -412116,7 +412220,7 @@ function ModelPickerWrapper(t0) {
|
|
|
412116
412220
|
function _temp263(s_0) {
|
|
412117
412221
|
return s_0.mainLoopModelForSession;
|
|
412118
412222
|
}
|
|
412119
|
-
function
|
|
412223
|
+
function _temp136(s) {
|
|
412120
412224
|
return s.mainLoopModel;
|
|
412121
412225
|
}
|
|
412122
412226
|
function SetModelAndClose({
|
|
@@ -412250,7 +412354,6 @@ var init_model2 = __esm(() => {
|
|
|
412250
412354
|
// src/tui/commands/model/index.ts
|
|
412251
412355
|
var model_default;
|
|
412252
412356
|
var init_model3 = __esm(() => {
|
|
412253
|
-
init_immediateCommand();
|
|
412254
412357
|
init_model();
|
|
412255
412358
|
model_default = {
|
|
412256
412359
|
type: "local-jsx",
|
|
@@ -412708,7 +412811,7 @@ function ShowCurrentEffort(t0) {
|
|
|
412708
412811
|
const {
|
|
412709
412812
|
onDone
|
|
412710
412813
|
} = t0;
|
|
412711
|
-
const effortValue = useAppState(
|
|
412814
|
+
const effortValue = useAppState(_temp137);
|
|
412712
412815
|
const model = useMainLoopModel();
|
|
412713
412816
|
const {
|
|
412714
412817
|
message
|
|
@@ -412716,7 +412819,7 @@ function ShowCurrentEffort(t0) {
|
|
|
412716
412819
|
onDone(message);
|
|
412717
412820
|
return null;
|
|
412718
412821
|
}
|
|
412719
|
-
function
|
|
412822
|
+
function _temp137(s) {
|
|
412720
412823
|
return s.effortValue;
|
|
412721
412824
|
}
|
|
412722
412825
|
function ApplyEffortAndClose(t0) {
|
|
@@ -412797,7 +412900,6 @@ var init_effort3 = __esm(() => {
|
|
|
412797
412900
|
// src/tui/commands/effort/index.ts
|
|
412798
412901
|
var effort_default;
|
|
412799
412902
|
var init_effort4 = __esm(() => {
|
|
412800
|
-
init_immediateCommand();
|
|
412801
412903
|
effort_default = {
|
|
412802
412904
|
type: "local-jsx",
|
|
412803
412905
|
name: "effort",
|
|
@@ -414470,7 +414572,7 @@ function StatsContent(t0) {
|
|
|
414470
414572
|
});
|
|
414471
414573
|
}
|
|
414472
414574
|
if (key.tab) {
|
|
414473
|
-
setActiveTab(
|
|
414575
|
+
setActiveTab(_temp138);
|
|
414474
414576
|
}
|
|
414475
414577
|
if (input === "r" && !key.ctrl && !key.meta) {
|
|
414476
414578
|
setDateRange(getNextDateRange(dateRange));
|
|
@@ -414635,7 +414737,7 @@ function StatsContent(t0) {
|
|
|
414635
414737
|
}
|
|
414636
414738
|
return t12;
|
|
414637
414739
|
}
|
|
414638
|
-
function
|
|
414740
|
+
function _temp138(prev_0) {
|
|
414639
414741
|
return prev_0 === "Overview" ? "Models" : "Overview";
|
|
414640
414742
|
}
|
|
414641
414743
|
function DateRangeSelector(t0) {
|
|
@@ -415253,7 +415355,7 @@ function ModelsTab(t0) {
|
|
|
415253
415355
|
children: chartOutput.xAxisLabels
|
|
415254
415356
|
}, undefined, false, undefined, this),
|
|
415255
415357
|
/* @__PURE__ */ jsx_dev_runtime310.jsxDEV(ThemedBox_default, {
|
|
415256
|
-
children: chartOutput.legend.map(
|
|
415358
|
+
children: chartOutput.legend.map(_temp139)
|
|
415257
415359
|
}, undefined, false, undefined, this)
|
|
415258
415360
|
]
|
|
415259
415361
|
}, undefined, true, undefined, this),
|
|
@@ -415281,7 +415383,7 @@ function ModelsTab(t0) {
|
|
|
415281
415383
|
]
|
|
415282
415384
|
}, undefined, true, undefined, this);
|
|
415283
415385
|
}
|
|
415284
|
-
function
|
|
415386
|
+
function _temp139(item, i) {
|
|
415285
415387
|
return /* @__PURE__ */ jsx_dev_runtime310.jsxDEV(ThemedText, {
|
|
415286
415388
|
children: [
|
|
415287
415389
|
i > 0 ? " · " : "",
|
|
@@ -432059,7 +432161,7 @@ function useKeybindingWarnings(warnings, isReload) {
|
|
|
432059
432161
|
removeNotification("keybinding-config-warning");
|
|
432060
432162
|
return;
|
|
432061
432163
|
}
|
|
432062
|
-
const errorCount = count7(warnings,
|
|
432164
|
+
const errorCount = count7(warnings, _temp140);
|
|
432063
432165
|
const warnCount = count7(warnings, _temp264);
|
|
432064
432166
|
let message;
|
|
432065
432167
|
if (errorCount > 0 && warnCount > 0) {
|
|
@@ -432103,7 +432205,7 @@ function useKeybindingWarnings(warnings, isReload) {
|
|
|
432103
432205
|
function _temp264(w_0) {
|
|
432104
432206
|
return w_0.severity === "warning";
|
|
432105
432207
|
}
|
|
432106
|
-
function
|
|
432208
|
+
function _temp140(w) {
|
|
432107
432209
|
return w.severity === "error";
|
|
432108
432210
|
}
|
|
432109
432211
|
function KeybindingSetup({
|
|
@@ -434951,7 +435053,7 @@ function PreviewBoxBody(t0) {
|
|
|
434951
435053
|
const effectiveMinHeight = Math.min(minHeight ?? 0, effectiveMaxLines);
|
|
434952
435054
|
const paddingNeeded = Math.max(0, effectiveMinHeight - truncatedLines.length - (isTruncated ? 1 : 0));
|
|
434953
435055
|
const lines = paddingNeeded > 0 ? [...truncatedLines, ...Array(paddingNeeded).fill("")] : truncatedLines;
|
|
434954
|
-
const contentWidth = Math.max(minWidth, ...lines.map(
|
|
435056
|
+
const contentWidth = Math.max(minWidth, ...lines.map(_temp141));
|
|
434955
435057
|
const boxWidth = Math.min(contentWidth + 4, effectiveMaxWidth);
|
|
434956
435058
|
const innerWidth = boxWidth - 4;
|
|
434957
435059
|
let t6;
|
|
@@ -435091,7 +435193,7 @@ function PreviewBoxBody(t0) {
|
|
|
435091
435193
|
}
|
|
435092
435194
|
return t8;
|
|
435093
435195
|
}
|
|
435094
|
-
function
|
|
435196
|
+
function _temp141(line) {
|
|
435095
435197
|
return stringWidth2(line);
|
|
435096
435198
|
}
|
|
435097
435199
|
var import_compiler_runtime254, import_react179, jsx_dev_runtime322, BOX_CHARS;
|
|
@@ -435161,7 +435263,7 @@ function QuestionNavigationBar(t0) {
|
|
|
435161
435263
|
t2 = t3;
|
|
435162
435264
|
break bb0;
|
|
435163
435265
|
}
|
|
435164
|
-
const tabHeaders = questions.map(
|
|
435266
|
+
const tabHeaders = questions.map(_temp143);
|
|
435165
435267
|
const idealWidths = tabHeaders.map(_temp265);
|
|
435166
435268
|
const totalIdealWidth = idealWidths.reduce(_temp342, 0);
|
|
435167
435269
|
if (totalIdealWidth <= availableForTabs) {
|
|
@@ -435337,7 +435439,7 @@ function _temp342(sum, w) {
|
|
|
435337
435439
|
function _temp265(header_0) {
|
|
435338
435440
|
return 4 + stringWidth2(header_0);
|
|
435339
435441
|
}
|
|
435340
|
-
function
|
|
435442
|
+
function _temp143(q_0, index_0) {
|
|
435341
435443
|
return q_0?.header || `Q${index_0 + 1}`;
|
|
435342
435444
|
}
|
|
435343
435445
|
var import_compiler_runtime255, jsx_dev_runtime323;
|
|
@@ -435768,7 +435870,7 @@ function QuestionView(t0) {
|
|
|
435768
435870
|
onRemoveImage
|
|
435769
435871
|
} = t0;
|
|
435770
435872
|
const hideSubmitTab = t1 === undefined ? false : t1;
|
|
435771
|
-
const isInPlanMode = useAppState(
|
|
435873
|
+
const isInPlanMode = useAppState(_temp144) === "plan";
|
|
435772
435874
|
const [isFooterFocused, setIsFooterFocused] = import_react181.useState(false);
|
|
435773
435875
|
const [footerIndex, setFooterIndex] = import_react181.useState(0);
|
|
435774
435876
|
const [isOtherFocused, setIsOtherFocused] = import_react181.useState(false);
|
|
@@ -436336,7 +436438,7 @@ function _temp266(opt) {
|
|
|
436336
436438
|
description: opt.description
|
|
436337
436439
|
};
|
|
436338
436440
|
}
|
|
436339
|
-
function
|
|
436441
|
+
function _temp144(s) {
|
|
436340
436442
|
return s.toolPermissionContext.mode;
|
|
436341
436443
|
}
|
|
436342
436444
|
var import_compiler_runtime256, import_react181, jsx_dev_runtime325;
|
|
@@ -436414,7 +436516,7 @@ function PermissionRuleExplanation(t0) {
|
|
|
436414
436516
|
permissionResult,
|
|
436415
436517
|
toolType
|
|
436416
436518
|
} = t0;
|
|
436417
|
-
const permissionMode = useAppState(
|
|
436519
|
+
const permissionMode = useAppState(_temp145);
|
|
436418
436520
|
const t1 = permissionResult?.decisionReason;
|
|
436419
436521
|
let t2;
|
|
436420
436522
|
if ($[0] !== t1 || $[1] !== toolType) {
|
|
@@ -436475,7 +436577,7 @@ function PermissionRuleExplanation(t0) {
|
|
|
436475
436577
|
}
|
|
436476
436578
|
return t5;
|
|
436477
436579
|
}
|
|
436478
|
-
function
|
|
436580
|
+
function _temp145(s) {
|
|
436479
436581
|
return s.toolPermissionContext.mode;
|
|
436480
436582
|
}
|
|
436481
436583
|
var import_compiler_runtime257, jsx_dev_runtime326;
|
|
@@ -436912,7 +437014,7 @@ function AskUserQuestionPermissionRequestBody(t0) {
|
|
|
436912
437014
|
const maxAllowedHeight = Math.max(MIN_CONTENT_HEIGHT, terminalRows - CONTENT_CHROME_OVERHEAD);
|
|
436913
437015
|
if ($[5] !== highlight || $[6] !== maxAllowedHeight || $[7] !== maxHeight || $[8] !== maxWidth || $[9] !== questions || $[10] !== theme) {
|
|
436914
437016
|
for (const q of questions) {
|
|
436915
|
-
const hasPreview = q.options.some(
|
|
437017
|
+
const hasPreview = q.options.some(_temp146);
|
|
436916
437018
|
if (hasPreview) {
|
|
436917
437019
|
const maxPreviewContentLines = Math.max(1, maxAllowedHeight - 11);
|
|
436918
437020
|
let maxPreviewBoxHeight = 0;
|
|
@@ -437442,7 +437544,7 @@ function _temp344(c) {
|
|
|
437442
437544
|
function _temp267(contents) {
|
|
437443
437545
|
return Object.values(contents);
|
|
437444
437546
|
}
|
|
437445
|
-
function
|
|
437547
|
+
function _temp146(opt) {
|
|
437446
437548
|
return opt.preview;
|
|
437447
437549
|
}
|
|
437448
437550
|
async function convertImagesToBlocks(images) {
|
|
@@ -437484,6 +437586,28 @@ var init_AskUserQuestionPermissionRequest = __esm(() => {
|
|
|
437484
437586
|
jsx_dev_runtime328 = __toESM(require_jsx_dev_runtime(), 1);
|
|
437485
437587
|
});
|
|
437486
437588
|
|
|
437589
|
+
// src/tui/utils/permissions/autoModePermissionOption.ts
|
|
437590
|
+
function isAutoModeOptionVisible(context) {
|
|
437591
|
+
return isAutoModeGateEnabled() && context.mode !== "auto";
|
|
437592
|
+
}
|
|
437593
|
+
function applyAutoModePermissionOption(context, setAppState, recheckPermission) {
|
|
437594
|
+
let next;
|
|
437595
|
+
try {
|
|
437596
|
+
next = {
|
|
437597
|
+
...transitionPermissionMode(context.mode, "auto", context),
|
|
437598
|
+
mode: "auto"
|
|
437599
|
+
};
|
|
437600
|
+
} catch {
|
|
437601
|
+
recheckPermission();
|
|
437602
|
+
return;
|
|
437603
|
+
}
|
|
437604
|
+
setAppState((prev) => ({ ...prev, toolPermissionContext: next }));
|
|
437605
|
+
recheckPermission();
|
|
437606
|
+
}
|
|
437607
|
+
var init_autoModePermissionOption = __esm(() => {
|
|
437608
|
+
init_permissionSetup2();
|
|
437609
|
+
});
|
|
437610
|
+
|
|
437487
437611
|
// src/tui/tools/BashTool/destructiveCommandWarning.ts
|
|
437488
437612
|
function getDestructiveCommandWarning2(command) {
|
|
437489
437613
|
for (const { pattern, warning } of DESTRUCTIVE_PATTERNS) {
|
|
@@ -438303,7 +438427,7 @@ function SuggestedRules(t0) {
|
|
|
438303
438427
|
t3 = "Suggested rules:";
|
|
438304
438428
|
t4 = " ";
|
|
438305
438429
|
T0 = Ansi;
|
|
438306
|
-
t1 = rules.map(
|
|
438430
|
+
t1 = rules.map(_temp147).join(", ");
|
|
438307
438431
|
}
|
|
438308
438432
|
$[0] = suggestions;
|
|
438309
438433
|
$[1] = T0;
|
|
@@ -438357,7 +438481,7 @@ function SuggestedRules(t0) {
|
|
|
438357
438481
|
}
|
|
438358
438482
|
return t7;
|
|
438359
438483
|
}
|
|
438360
|
-
function
|
|
438484
|
+
function _temp147(rule) {
|
|
438361
438485
|
return source_default.bold(permissionRuleValueToString2(rule));
|
|
438362
438486
|
}
|
|
438363
438487
|
function extractDirectories(updates) {
|
|
@@ -439181,7 +439305,7 @@ function usePermissionExplainerUI(props) {
|
|
|
439181
439305
|
setPromise(createExplanationPromise(props));
|
|
439182
439306
|
}
|
|
439183
439307
|
}
|
|
439184
|
-
setVisible(
|
|
439308
|
+
setVisible(_temp148);
|
|
439185
439309
|
};
|
|
439186
439310
|
$[1] = promise;
|
|
439187
439311
|
$[2] = props;
|
|
@@ -439216,7 +439340,7 @@ function usePermissionExplainerUI(props) {
|
|
|
439216
439340
|
}
|
|
439217
439341
|
return t3;
|
|
439218
439342
|
}
|
|
439219
|
-
function
|
|
439343
|
+
function _temp148(v) {
|
|
439220
439344
|
return !v;
|
|
439221
439345
|
}
|
|
439222
439346
|
function ExplanationResult(t0) {
|
|
@@ -440148,6 +440272,16 @@ function getFilePermissionOptions({
|
|
|
440148
440272
|
}
|
|
440149
440273
|
});
|
|
440150
440274
|
}
|
|
440275
|
+
if (isAutoModeOptionVisible(toolPermissionContext)) {
|
|
440276
|
+
options.push({
|
|
440277
|
+
label: "Auto mode",
|
|
440278
|
+
description: "Switch this session to auto mode; this request is re-checked by the auto gate",
|
|
440279
|
+
value: "auto-mode",
|
|
440280
|
+
option: {
|
|
440281
|
+
type: "accept-auto-mode"
|
|
440282
|
+
}
|
|
440283
|
+
});
|
|
440284
|
+
}
|
|
440151
440285
|
return options;
|
|
440152
440286
|
}
|
|
440153
440287
|
var jsx_dev_runtime334;
|
|
@@ -440158,6 +440292,7 @@ var init_permissionOptions = __esm(() => {
|
|
|
440158
440292
|
init_shortcutFormat();
|
|
440159
440293
|
init_path3();
|
|
440160
440294
|
init_filesystem2();
|
|
440295
|
+
init_autoModePermissionOption();
|
|
440161
440296
|
jsx_dev_runtime334 = __toESM(require_jsx_dev_runtime(), 1);
|
|
440162
440297
|
});
|
|
440163
440298
|
|
|
@@ -440229,15 +440364,20 @@ function handleReject(params, options) {
|
|
|
440229
440364
|
onReject();
|
|
440230
440365
|
toolUseConfirm.onReject(options?.feedback);
|
|
440231
440366
|
}
|
|
440367
|
+
function handleAcceptAutoMode(params, _options) {
|
|
440368
|
+
applyAutoModePermissionOption(params.toolPermissionContext, params.setAppState, () => params.toolUseConfirm.recheckPermission());
|
|
440369
|
+
}
|
|
440232
440370
|
var PERMISSION_HANDLERS;
|
|
440233
440371
|
var init_usePermissionHandler = __esm(() => {
|
|
440372
|
+
init_autoModePermissionOption();
|
|
440234
440373
|
init_constants8();
|
|
440235
440374
|
init_env2();
|
|
440236
440375
|
init_filesystem2();
|
|
440237
440376
|
PERMISSION_HANDLERS = {
|
|
440238
440377
|
"accept-once": handleAcceptOnce,
|
|
440239
440378
|
"accept-session": handleAcceptSession,
|
|
440240
|
-
reject: handleReject
|
|
440379
|
+
reject: handleReject,
|
|
440380
|
+
"accept-auto-mode": handleAcceptAutoMode
|
|
440241
440381
|
};
|
|
440242
440382
|
});
|
|
440243
440383
|
|
|
@@ -440253,6 +440393,7 @@ function useFilePermissionDialog({
|
|
|
440253
440393
|
operationType = "write"
|
|
440254
440394
|
}) {
|
|
440255
440395
|
const toolPermissionContext = useAppState((s) => s.toolPermissionContext);
|
|
440396
|
+
const setAppState = useSetAppState();
|
|
440256
440397
|
const [acceptFeedback, setAcceptFeedback] = import_react188.useState("");
|
|
440257
440398
|
const [rejectFeedback, setRejectFeedback] = import_react188.useState("");
|
|
440258
440399
|
const [focusedOption, setFocusedOption] = import_react188.useState("yes");
|
|
@@ -440279,7 +440420,8 @@ function useFilePermissionDialog({
|
|
|
440279
440420
|
onReject,
|
|
440280
440421
|
completionType,
|
|
440281
440422
|
languageName,
|
|
440282
|
-
operationType
|
|
440423
|
+
operationType,
|
|
440424
|
+
setAppState
|
|
440283
440425
|
};
|
|
440284
440426
|
const originalOnAllow = toolUseConfirm.onAllow;
|
|
440285
440427
|
toolUseConfirm.onAllow = (_input, permissionUpdates, feedback) => {
|
|
@@ -440302,7 +440444,8 @@ function useFilePermissionDialog({
|
|
|
440302
440444
|
onReject,
|
|
440303
440445
|
operationType,
|
|
440304
440446
|
yesFeedbackModeEntered,
|
|
440305
|
-
noFeedbackModeEntered
|
|
440447
|
+
noFeedbackModeEntered,
|
|
440448
|
+
setAppState
|
|
440306
440449
|
]);
|
|
440307
440450
|
const handleCycleMode = import_react188.useCallback(() => {
|
|
440308
440451
|
const sessionOption = options.find((o) => o.option.type === "accept-session");
|
|
@@ -440587,7 +440730,7 @@ function SedEditPermissionRequest(t0) {
|
|
|
440587
440730
|
`),
|
|
440588
440731
|
fileExists: true
|
|
440589
440732
|
};
|
|
440590
|
-
})().catch(
|
|
440733
|
+
})().catch(_temp149);
|
|
440591
440734
|
$[3] = filePath;
|
|
440592
440735
|
$[4] = t1;
|
|
440593
440736
|
} else {
|
|
@@ -440613,7 +440756,7 @@ function SedEditPermissionRequest(t0) {
|
|
|
440613
440756
|
}
|
|
440614
440757
|
return t2;
|
|
440615
440758
|
}
|
|
440616
|
-
function
|
|
440759
|
+
function _temp149(e) {
|
|
440617
440760
|
if (!isENOENT2(e)) {
|
|
440618
440761
|
throw e;
|
|
440619
440762
|
}
|
|
@@ -441171,7 +441314,8 @@ function bashToolUseOptions({
|
|
|
441171
441314
|
yesInputMode = false,
|
|
441172
441315
|
noInputMode = false,
|
|
441173
441316
|
editablePrefix,
|
|
441174
|
-
onEditablePrefixChange
|
|
441317
|
+
onEditablePrefixChange,
|
|
441318
|
+
showAutoModeOption = false
|
|
441175
441319
|
}) {
|
|
441176
441320
|
const options = [];
|
|
441177
441321
|
if (yesInputMode) {
|
|
@@ -441214,6 +441358,13 @@ function bashToolUseOptions({
|
|
|
441214
441358
|
}
|
|
441215
441359
|
}
|
|
441216
441360
|
}
|
|
441361
|
+
if (showAutoModeOption) {
|
|
441362
|
+
options.push({
|
|
441363
|
+
label: "Auto mode",
|
|
441364
|
+
description: "Switch this session to auto mode; this request is re-checked by the auto gate",
|
|
441365
|
+
value: "yes-auto-mode"
|
|
441366
|
+
});
|
|
441367
|
+
}
|
|
441217
441368
|
if (noInputMode) {
|
|
441218
441369
|
options.push({
|
|
441219
441370
|
type: "input",
|
|
@@ -441371,6 +441522,7 @@ function BashPermissionRequestInner({
|
|
|
441371
441522
|
}) {
|
|
441372
441523
|
const [theme] = useTheme();
|
|
441373
441524
|
const toolPermissionContext = useAppState((s) => s.toolPermissionContext);
|
|
441525
|
+
const setAppState = useSetAppState();
|
|
441374
441526
|
const explainerState = usePermissionExplainerUI({
|
|
441375
441527
|
toolName: toolUseConfirm.tool.name,
|
|
441376
441528
|
toolInput: toolUseConfirm.input,
|
|
@@ -441480,8 +441632,9 @@ function BashPermissionRequestInner({
|
|
|
441480
441632
|
yesInputMode,
|
|
441481
441633
|
noInputMode,
|
|
441482
441634
|
editablePrefix,
|
|
441483
|
-
onEditablePrefixChange
|
|
441484
|
-
|
|
441635
|
+
onEditablePrefixChange,
|
|
441636
|
+
showAutoModeOption: isAutoModeOptionVisible(toolPermissionContext)
|
|
441637
|
+
}), [toolUseConfirm, classifierDescription, initialClassifierDescriptionEmpty, existingAllowDescriptions, yesInputMode, noInputMode, editablePrefix, onEditablePrefixChange, toolPermissionContext]);
|
|
441485
441638
|
const handleToggleDebug = import_react192.useCallback(() => {
|
|
441486
441639
|
setShowPermissionDebug((prev) => !prev);
|
|
441487
441640
|
}, []);
|
|
@@ -441499,6 +441652,7 @@ function BashPermissionRequestInner({
|
|
|
441499
441652
|
if (value_0 === "yes-prefix-edited") {
|
|
441500
441653
|
const trimmedPrefix = (editablePrefix ?? "").trim();
|
|
441501
441654
|
logUnaryPermissionEvent("tool_use_single", toolUseConfirm, "accept");
|
|
441655
|
+
setUserApproval(toolUseConfirm.toolUseID);
|
|
441502
441656
|
if (!trimmedPrefix) {
|
|
441503
441657
|
toolUseConfirm.onAllow(toolUseConfirm.input, []);
|
|
441504
441658
|
} else {
|
|
@@ -441519,6 +441673,7 @@ function BashPermissionRequestInner({
|
|
|
441519
441673
|
if (feature("BASH_CLASSIFIER") && value_0 === "yes-classifier-reviewed") {
|
|
441520
441674
|
const trimmedDescription = classifierDescription.trim();
|
|
441521
441675
|
logUnaryPermissionEvent("tool_use_single", toolUseConfirm, "accept");
|
|
441676
|
+
setUserApproval(toolUseConfirm.toolUseID);
|
|
441522
441677
|
if (!trimmedDescription) {
|
|
441523
441678
|
toolUseConfirm.onAllow(toolUseConfirm.input, []);
|
|
441524
441679
|
} else {
|
|
@@ -441536,16 +441691,22 @@ function BashPermissionRequestInner({
|
|
|
441536
441691
|
onDone();
|
|
441537
441692
|
return;
|
|
441538
441693
|
}
|
|
441694
|
+
if (value_0 === "yes-auto-mode") {
|
|
441695
|
+
applyAutoModePermissionOption(toolPermissionContext, setAppState, () => toolUseConfirm.recheckPermission());
|
|
441696
|
+
return;
|
|
441697
|
+
}
|
|
441539
441698
|
switch (value_0) {
|
|
441540
441699
|
case "yes": {
|
|
441541
441700
|
const trimmedFeedback_0 = acceptFeedback.trim();
|
|
441542
441701
|
logUnaryPermissionEvent("tool_use_single", toolUseConfirm, "accept");
|
|
441702
|
+
setUserApproval(toolUseConfirm.toolUseID);
|
|
441543
441703
|
toolUseConfirm.onAllow(toolUseConfirm.input, [], trimmedFeedback_0 || undefined);
|
|
441544
441704
|
onDone();
|
|
441545
441705
|
break;
|
|
441546
441706
|
}
|
|
441547
441707
|
case "yes-apply-suggestions": {
|
|
441548
441708
|
logUnaryPermissionEvent("tool_use_single", toolUseConfirm, "accept");
|
|
441709
|
+
setUserApproval(toolUseConfirm.toolUseID);
|
|
441549
441710
|
const permissionUpdates_0 = "suggestions" in toolUseConfirm.permissionResult ? toolUseConfirm.permissionResult.suggestions || [] : [];
|
|
441550
441711
|
toolUseConfirm.onAllow(toolUseConfirm.input, permissionUpdates_0);
|
|
441551
441712
|
onDone();
|
|
@@ -441558,6 +441719,7 @@ function BashPermissionRequestInner({
|
|
|
441558
441719
|
}
|
|
441559
441720
|
}
|
|
441560
441721
|
}
|
|
441722
|
+
const verdictLineText = verdictLine(toolUseConfirm.permissionResult.decisionReason, toolPermissionContext.mode);
|
|
441561
441723
|
const classifierSubtitle = feature("BASH_CLASSIFIER") ? toolUseConfirm.classifierAutoApproved ? /* @__PURE__ */ jsx_dev_runtime338.jsxDEV(ThemedText, {
|
|
441562
441724
|
children: [
|
|
441563
441725
|
/* @__PURE__ */ jsx_dev_runtime338.jsxDEV(ThemedText, {
|
|
@@ -441630,6 +441792,10 @@ function BashPermissionRequestInner({
|
|
|
441630
441792
|
/* @__PURE__ */ jsx_dev_runtime338.jsxDEV(ThemedBox_default, {
|
|
441631
441793
|
flexDirection: "column",
|
|
441632
441794
|
children: [
|
|
441795
|
+
verdictLineText !== null && /* @__PURE__ */ jsx_dev_runtime338.jsxDEV(ThemedText, {
|
|
441796
|
+
dimColor: true,
|
|
441797
|
+
children: verdictLineText
|
|
441798
|
+
}, undefined, false, undefined, this),
|
|
441633
441799
|
/* @__PURE__ */ jsx_dev_runtime338.jsxDEV(PermissionRuleExplanation, {
|
|
441634
441800
|
permissionResult: toolUseConfirm.permissionResult,
|
|
441635
441801
|
toolType: "command"
|
|
@@ -441691,6 +441857,7 @@ var init_BashPermissionRequest = __esm(() => {
|
|
|
441691
441857
|
init_useKeybinding();
|
|
441692
441858
|
init_growthbook();
|
|
441693
441859
|
init_AppState();
|
|
441860
|
+
init_autoModePermissionOption();
|
|
441694
441861
|
init_BashTool();
|
|
441695
441862
|
init_bashPermissions2();
|
|
441696
441863
|
init_destructiveCommandWarning2();
|
|
@@ -441707,6 +441874,8 @@ var init_BashPermissionRequest = __esm(() => {
|
|
|
441707
441874
|
init_PermissionDialog();
|
|
441708
441875
|
init_PermissionExplanation();
|
|
441709
441876
|
init_PermissionRuleExplanation();
|
|
441877
|
+
init_permissionVerdict();
|
|
441878
|
+
init_userApprovals();
|
|
441710
441879
|
init_SedEditPermissionRequest();
|
|
441711
441880
|
init_useShellPermissionFeedback();
|
|
441712
441881
|
init_utils13();
|
|
@@ -441725,7 +441894,7 @@ function EnterPlanModePermissionRequest(t0) {
|
|
|
441725
441894
|
onReject,
|
|
441726
441895
|
workerBadge
|
|
441727
441896
|
} = t0;
|
|
441728
|
-
const toolPermissionContextMode = useAppState(
|
|
441897
|
+
const toolPermissionContextMode = useAppState(_temp150);
|
|
441729
441898
|
let t1;
|
|
441730
441899
|
if ($[0] !== onDone || $[1] !== onReject || $[2] !== toolPermissionContextMode || $[3] !== toolUseConfirm) {
|
|
441731
441900
|
t1 = function handleResponse(value) {
|
|
@@ -441876,7 +442045,7 @@ function EnterPlanModePermissionRequest(t0) {
|
|
|
441876
442045
|
}
|
|
441877
442046
|
return t9;
|
|
441878
442047
|
}
|
|
441879
|
-
function
|
|
442048
|
+
function _temp150(s) {
|
|
441880
442049
|
return s.toolPermissionContext.mode;
|
|
441881
442050
|
}
|
|
441882
442051
|
var import_compiler_runtime267, jsx_dev_runtime339;
|
|
@@ -442807,7 +442976,7 @@ function PermissionPrompt(t0) {
|
|
|
442807
442976
|
let t7;
|
|
442808
442977
|
if ($[31] !== onCancel || $[32] !== setAppState) {
|
|
442809
442978
|
t7 = () => {
|
|
442810
|
-
setAppState(
|
|
442979
|
+
setAppState(_temp151);
|
|
442811
442980
|
onCancel?.();
|
|
442812
442981
|
};
|
|
442813
442982
|
$[31] = onCancel;
|
|
@@ -442904,7 +443073,7 @@ function PermissionPrompt(t0) {
|
|
|
442904
443073
|
}
|
|
442905
443074
|
return t13;
|
|
442906
443075
|
}
|
|
442907
|
-
function
|
|
443076
|
+
function _temp151(prev) {
|
|
442908
443077
|
return {
|
|
442909
443078
|
...prev,
|
|
442910
443079
|
attribution: {
|
|
@@ -443336,7 +443505,7 @@ function createSingleEditDiffConfig(filePath, oldString, newString, replaceAll)
|
|
|
443336
443505
|
import { basename as basename57, relative as relative33 } from "path";
|
|
443337
443506
|
function FileEditPermissionRequest(props) {
|
|
443338
443507
|
const $ = import_compiler_runtime270.c(51);
|
|
443339
|
-
const parseInput =
|
|
443508
|
+
const parseInput = _temp153;
|
|
443340
443509
|
let T0;
|
|
443341
443510
|
let T1;
|
|
443342
443511
|
let T2;
|
|
@@ -443512,7 +443681,7 @@ function FileEditPermissionRequest(props) {
|
|
|
443512
443681
|
}
|
|
443513
443682
|
return t16;
|
|
443514
443683
|
}
|
|
443515
|
-
function
|
|
443684
|
+
function _temp153(input) {
|
|
443516
443685
|
return FileEditTool.inputSchema.parse(input);
|
|
443517
443686
|
}
|
|
443518
443687
|
var import_compiler_runtime270, jsx_dev_runtime343, ideDiffSupport;
|
|
@@ -443586,7 +443755,7 @@ function FilesystemPermissionRequest(t0) {
|
|
|
443586
443755
|
const isReadOnly = toolUseConfirm.tool.isReadOnly(toolUseConfirm.input);
|
|
443587
443756
|
const userFacingReadOrEdit = isReadOnly ? "Read" : "Edit";
|
|
443588
443757
|
const title = `${userFacingReadOrEdit} file`;
|
|
443589
|
-
const parseInput =
|
|
443758
|
+
const parseInput = _temp154;
|
|
443590
443759
|
if (!path) {
|
|
443591
443760
|
let t3;
|
|
443592
443761
|
if ($[5] !== onDone || $[6] !== onReject || $[7] !== toolUseConfirm || $[8] !== toolUseContext || $[9] !== verbose || $[10] !== workerBadge) {
|
|
@@ -443677,7 +443846,7 @@ function FilesystemPermissionRequest(t0) {
|
|
|
443677
443846
|
}
|
|
443678
443847
|
return t6;
|
|
443679
443848
|
}
|
|
443680
|
-
function
|
|
443849
|
+
function _temp154(input) {
|
|
443681
443850
|
return input;
|
|
443682
443851
|
}
|
|
443683
443852
|
var import_compiler_runtime271, jsx_dev_runtime344;
|
|
@@ -443747,7 +443916,7 @@ function FileWriteToolDiff(t0) {
|
|
|
443747
443916
|
firstLine,
|
|
443748
443917
|
fileContent: oldContent,
|
|
443749
443918
|
width: columns - 2
|
|
443750
|
-
}, _.newStart, false, undefined, this)),
|
|
443919
|
+
}, _.newStart, false, undefined, this)), _temp155) : /* @__PURE__ */ jsx_dev_runtime345.jsxDEV(HighlightedCode, {
|
|
443751
443920
|
code: content || "(No content)",
|
|
443752
443921
|
filePath: file_path
|
|
443753
443922
|
}, undefined, false, undefined, this);
|
|
@@ -443782,7 +443951,7 @@ function FileWriteToolDiff(t0) {
|
|
|
443782
443951
|
}
|
|
443783
443952
|
return t4;
|
|
443784
443953
|
}
|
|
443785
|
-
function
|
|
443954
|
+
function _temp155(i) {
|
|
443786
443955
|
return /* @__PURE__ */ jsx_dev_runtime345.jsxDEV(NoSelect, {
|
|
443787
443956
|
fromLeftEdge: true,
|
|
443788
443957
|
children: /* @__PURE__ */ jsx_dev_runtime345.jsxDEV(ThemedText, {
|
|
@@ -443806,7 +443975,7 @@ var init_FileWriteToolDiff = __esm(() => {
|
|
|
443806
443975
|
import { basename as basename58, relative as relative34 } from "path";
|
|
443807
443976
|
function FileWritePermissionRequest(props) {
|
|
443808
443977
|
const $ = import_compiler_runtime273.c(30);
|
|
443809
|
-
const parseInput =
|
|
443978
|
+
const parseInput = _temp156;
|
|
443810
443979
|
let t0;
|
|
443811
443980
|
if ($[0] !== props.toolUseConfirm.input) {
|
|
443812
443981
|
t0 = parseInput(props.toolUseConfirm.input);
|
|
@@ -443953,7 +444122,7 @@ function FileWritePermissionRequest(props) {
|
|
|
443953
444122
|
}
|
|
443954
444123
|
return t13;
|
|
443955
444124
|
}
|
|
443956
|
-
function
|
|
444125
|
+
function _temp156(input) {
|
|
443957
444126
|
return FileWriteTool.inputSchema.parse(input);
|
|
443958
444127
|
}
|
|
443959
444128
|
var import_compiler_runtime273, jsx_dev_runtime346, ideDiffSupport2;
|
|
@@ -444000,7 +444169,7 @@ function NotebookEditToolDiff(props) {
|
|
|
444000
444169
|
if ($[0] !== props.notebook_path) {
|
|
444001
444170
|
t0 = getFsImplementation2().readFile(props.notebook_path, {
|
|
444002
444171
|
encoding: "utf-8"
|
|
444003
|
-
}).then(
|
|
444172
|
+
}).then(_temp157).catch(_temp269);
|
|
444004
444173
|
$[0] = props.notebook_path;
|
|
444005
444174
|
$[1] = t0;
|
|
444006
444175
|
} else {
|
|
@@ -444027,7 +444196,7 @@ function NotebookEditToolDiff(props) {
|
|
|
444027
444196
|
function _temp269() {
|
|
444028
444197
|
return null;
|
|
444029
444198
|
}
|
|
444030
|
-
function
|
|
444199
|
+
function _temp157(content) {
|
|
444031
444200
|
return safeParseJSON3(content);
|
|
444032
444201
|
}
|
|
444033
444202
|
function NotebookEditToolDiffInner(t0) {
|
|
@@ -444278,7 +444447,7 @@ var init_NotebookEditToolDiff = __esm(() => {
|
|
|
444278
444447
|
import { basename as basename59 } from "path";
|
|
444279
444448
|
function NotebookEditPermissionRequest(props) {
|
|
444280
444449
|
const $ = import_compiler_runtime275.c(52);
|
|
444281
|
-
const parseInput =
|
|
444450
|
+
const parseInput = _temp158;
|
|
444282
444451
|
let T0;
|
|
444283
444452
|
let T1;
|
|
444284
444453
|
let T2;
|
|
@@ -444450,7 +444619,7 @@ function NotebookEditPermissionRequest(props) {
|
|
|
444450
444619
|
}
|
|
444451
444620
|
return t15;
|
|
444452
444621
|
}
|
|
444453
|
-
function
|
|
444622
|
+
function _temp158(input) {
|
|
444454
444623
|
const result = NotebookEditTool2.inputSchema.safeParse(input);
|
|
444455
444624
|
if (!result.success) {
|
|
444456
444625
|
logError3(new Error(`Failed to parse notebook edit input: ${result.error.message}`));
|
|
@@ -444688,7 +444857,8 @@ function powershellToolUseOptions({
|
|
|
444688
444857
|
yesInputMode = false,
|
|
444689
444858
|
noInputMode = false,
|
|
444690
444859
|
editablePrefix,
|
|
444691
|
-
onEditablePrefixChange
|
|
444860
|
+
onEditablePrefixChange,
|
|
444861
|
+
showAutoModeOption = false
|
|
444692
444862
|
}) {
|
|
444693
444863
|
const options = [];
|
|
444694
444864
|
if (yesInputMode) {
|
|
@@ -444731,6 +444901,13 @@ function powershellToolUseOptions({
|
|
|
444731
444901
|
}
|
|
444732
444902
|
}
|
|
444733
444903
|
}
|
|
444904
|
+
if (showAutoModeOption) {
|
|
444905
|
+
options.push({
|
|
444906
|
+
label: "Auto mode",
|
|
444907
|
+
description: "Switch this session to auto mode; this request is re-checked by the auto gate",
|
|
444908
|
+
value: "yes-auto-mode"
|
|
444909
|
+
});
|
|
444910
|
+
}
|
|
444734
444911
|
if (noInputMode) {
|
|
444735
444912
|
options.push({
|
|
444736
444913
|
type: "input",
|
|
@@ -444767,6 +444944,8 @@ function PowerShellPermissionRequest(props) {
|
|
|
444767
444944
|
description
|
|
444768
444945
|
} = PowerShellTool.inputSchema.parse(toolUseConfirm.input);
|
|
444769
444946
|
const [theme] = useTheme();
|
|
444947
|
+
const toolPermissionContext = useAppState((s) => s.toolPermissionContext);
|
|
444948
|
+
const setAppState = useSetAppState();
|
|
444770
444949
|
const explainerState = usePermissionExplainerUI({
|
|
444771
444950
|
toolName: toolUseConfirm.tool.name,
|
|
444772
444951
|
toolInput: toolUseConfirm.input,
|
|
@@ -444826,8 +445005,9 @@ function PowerShellPermissionRequest(props) {
|
|
|
444826
445005
|
yesInputMode,
|
|
444827
445006
|
noInputMode,
|
|
444828
445007
|
editablePrefix,
|
|
444829
|
-
onEditablePrefixChange
|
|
444830
|
-
|
|
445008
|
+
onEditablePrefixChange,
|
|
445009
|
+
showAutoModeOption: isAutoModeOptionVisible(toolPermissionContext)
|
|
445010
|
+
}), [toolUseConfirm, yesInputMode, noInputMode, editablePrefix, onEditablePrefixChange, toolPermissionContext]);
|
|
444831
445011
|
const handleToggleDebug = import_react196.useCallback(() => {
|
|
444832
445012
|
setShowPermissionDebug((prev) => !prev);
|
|
444833
445013
|
}, []);
|
|
@@ -444838,6 +445018,7 @@ function PowerShellPermissionRequest(props) {
|
|
|
444838
445018
|
if (value === "yes-prefix-edited") {
|
|
444839
445019
|
const trimmedPrefix = (editablePrefix ?? "").trim();
|
|
444840
445020
|
logUnaryPermissionEvent("tool_use_single", toolUseConfirm, "accept");
|
|
445021
|
+
setUserApproval(toolUseConfirm.toolUseID);
|
|
444841
445022
|
if (!trimmedPrefix) {
|
|
444842
445023
|
toolUseConfirm.onAllow(toolUseConfirm.input, []);
|
|
444843
445024
|
} else {
|
|
@@ -444855,16 +445036,22 @@ function PowerShellPermissionRequest(props) {
|
|
|
444855
445036
|
onDone();
|
|
444856
445037
|
return;
|
|
444857
445038
|
}
|
|
445039
|
+
if (value === "yes-auto-mode") {
|
|
445040
|
+
applyAutoModePermissionOption(toolPermissionContext, setAppState, () => toolUseConfirm.recheckPermission());
|
|
445041
|
+
return;
|
|
445042
|
+
}
|
|
444858
445043
|
switch (value) {
|
|
444859
445044
|
case "yes": {
|
|
444860
445045
|
const trimmedFeedback = acceptFeedback.trim();
|
|
444861
445046
|
logUnaryPermissionEvent("tool_use_single", toolUseConfirm, "accept");
|
|
445047
|
+
setUserApproval(toolUseConfirm.toolUseID);
|
|
444862
445048
|
toolUseConfirm.onAllow(toolUseConfirm.input, [], trimmedFeedback || undefined);
|
|
444863
445049
|
onDone();
|
|
444864
445050
|
break;
|
|
444865
445051
|
}
|
|
444866
445052
|
case "yes-apply-suggestions": {
|
|
444867
445053
|
logUnaryPermissionEvent("tool_use_single", toolUseConfirm, "accept");
|
|
445054
|
+
setUserApproval(toolUseConfirm.toolUseID);
|
|
444868
445055
|
const permissionUpdates = "suggestions" in toolUseConfirm.permissionResult ? toolUseConfirm.permissionResult.suggestions || [] : [];
|
|
444869
445056
|
toolUseConfirm.onAllow(toolUseConfirm.input, permissionUpdates);
|
|
444870
445057
|
onDone();
|
|
@@ -444877,6 +445064,7 @@ function PowerShellPermissionRequest(props) {
|
|
|
444877
445064
|
}
|
|
444878
445065
|
}
|
|
444879
445066
|
}
|
|
445067
|
+
const verdictLineText = verdictLine(toolUseConfirm.permissionResult.decisionReason, toolPermissionContext.mode);
|
|
444880
445068
|
return /* @__PURE__ */ jsx_dev_runtime349.jsxDEV(PermissionDialog, {
|
|
444881
445069
|
workerBadge,
|
|
444882
445070
|
title: "PowerShell command",
|
|
@@ -444926,6 +445114,10 @@ function PowerShellPermissionRequest(props) {
|
|
|
444926
445114
|
/* @__PURE__ */ jsx_dev_runtime349.jsxDEV(ThemedBox_default, {
|
|
444927
445115
|
flexDirection: "column",
|
|
444928
445116
|
children: [
|
|
445117
|
+
verdictLineText !== null && /* @__PURE__ */ jsx_dev_runtime349.jsxDEV(ThemedText, {
|
|
445118
|
+
dimColor: true,
|
|
445119
|
+
children: verdictLineText
|
|
445120
|
+
}, undefined, false, undefined, this),
|
|
444929
445121
|
/* @__PURE__ */ jsx_dev_runtime349.jsxDEV(PermissionRuleExplanation, {
|
|
444930
445122
|
permissionResult: toolUseConfirm.permissionResult,
|
|
444931
445123
|
toolType: "command"
|
|
@@ -444977,10 +445169,12 @@ var import_react196, jsx_dev_runtime349;
|
|
|
444977
445169
|
var init_PowerShellPermissionRequest = __esm(() => {
|
|
444978
445170
|
init_ink2();
|
|
444979
445171
|
init_useKeybinding();
|
|
445172
|
+
init_AppState();
|
|
444980
445173
|
init_growthbook();
|
|
444981
445174
|
init_destructiveCommandWarning3();
|
|
444982
445175
|
init_PowerShellTool();
|
|
444983
445176
|
init_readOnlyValidation2();
|
|
445177
|
+
init_autoModePermissionOption();
|
|
444984
445178
|
init_staticPrefix();
|
|
444985
445179
|
init_select();
|
|
444986
445180
|
init_hooks8();
|
|
@@ -444988,6 +445182,8 @@ var init_PowerShellPermissionRequest = __esm(() => {
|
|
|
444988
445182
|
init_PermissionDialog();
|
|
444989
445183
|
init_PermissionExplanation();
|
|
444990
445184
|
init_PermissionRuleExplanation();
|
|
445185
|
+
init_permissionVerdict();
|
|
445186
|
+
init_userApprovals();
|
|
444991
445187
|
init_useShellPermissionFeedback();
|
|
444992
445188
|
init_utils13();
|
|
444993
445189
|
init_powershellToolUseOptions();
|
|
@@ -445004,7 +445200,7 @@ function SkillPermissionRequest(props) {
|
|
|
445004
445200
|
onReject,
|
|
445005
445201
|
workerBadge
|
|
445006
445202
|
} = props;
|
|
445007
|
-
const parseInput =
|
|
445203
|
+
const parseInput = _temp159;
|
|
445008
445204
|
let t0;
|
|
445009
445205
|
if ($[0] !== toolUseConfirm.input) {
|
|
445010
445206
|
t0 = parseInput(toolUseConfirm.input);
|
|
@@ -445397,7 +445593,7 @@ function SkillPermissionRequest(props) {
|
|
|
445397
445593
|
}
|
|
445398
445594
|
return t19;
|
|
445399
445595
|
}
|
|
445400
|
-
function
|
|
445596
|
+
function _temp159(input) {
|
|
445401
445597
|
const result = SkillTool2.inputSchema.safeParse(input);
|
|
445402
445598
|
if (!result.success) {
|
|
445403
445599
|
logError3(new Error(`Failed to parse skill tool input: ${result.error.message}`));
|
|
@@ -447503,7 +447699,7 @@ function PromptDialog(t0) {
|
|
|
447503
447699
|
useKeybinding("app:interrupt", onAbort, t1);
|
|
447504
447700
|
let t2;
|
|
447505
447701
|
if ($[1] !== request.options) {
|
|
447506
|
-
t2 = request.options.map(
|
|
447702
|
+
t2 = request.options.map(_temp160);
|
|
447507
447703
|
$[1] = request.options;
|
|
447508
447704
|
$[2] = t2;
|
|
447509
447705
|
} else {
|
|
@@ -447565,7 +447761,7 @@ function PromptDialog(t0) {
|
|
|
447565
447761
|
}
|
|
447566
447762
|
return t6;
|
|
447567
447763
|
}
|
|
447568
|
-
function
|
|
447764
|
+
function _temp160(opt) {
|
|
447569
447765
|
return {
|
|
447570
447766
|
label: opt.label,
|
|
447571
447767
|
value: opt.key,
|
|
@@ -448865,7 +449061,7 @@ function Notifications(t0) {
|
|
|
448865
449061
|
const {
|
|
448866
449062
|
status: ideStatus
|
|
448867
449063
|
} = useIdeConnectionStatus(mcpClients);
|
|
448868
|
-
const notifications = useAppState(
|
|
449064
|
+
const notifications = useAppState(_temp161);
|
|
448869
449065
|
const {
|
|
448870
449066
|
addNotification,
|
|
448871
449067
|
removeNotification
|
|
@@ -449012,7 +449208,7 @@ function Notifications(t0) {
|
|
|
449012
449208
|
function _temp270() {
|
|
449013
449209
|
return setEnvHookNotifier2(null);
|
|
449014
449210
|
}
|
|
449015
|
-
function
|
|
449211
|
+
function _temp161(s) {
|
|
449016
449212
|
return s.notifications;
|
|
449017
449213
|
}
|
|
449018
449214
|
function NotificationContent({
|
|
@@ -453368,7 +453564,7 @@ function AutoModeOptInDialog(t0) {
|
|
|
453368
453564
|
} else {
|
|
453369
453565
|
t1 = $[0];
|
|
453370
453566
|
}
|
|
453371
|
-
import_react215.default.useEffect(
|
|
453567
|
+
import_react215.default.useEffect(_temp163, t1);
|
|
453372
453568
|
let t2;
|
|
453373
453569
|
if ($[1] !== onAccept || $[2] !== onDecline) {
|
|
453374
453570
|
t2 = function onChange(value) {
|
|
@@ -453501,7 +453697,7 @@ function AutoModeOptInDialog(t0) {
|
|
|
453501
453697
|
}
|
|
453502
453698
|
return t10;
|
|
453503
453699
|
}
|
|
453504
|
-
function
|
|
453700
|
+
function _temp163() {}
|
|
453505
453701
|
var import_compiler_runtime288, import_react215, jsx_dev_runtime367, AUTO_MODE_DESCRIPTION = "Auto mode lets Atlas handle permission prompts automatically — Atlas checks each tool call for risky actions and prompt injection before executing. Actions Atlas identifies as safe are executed, while actions Atlas identifies as risky are blocked and Atlas may try a different approach. Ideal for long-running tasks. Sessions are slightly more expensive. Atlas can make mistakes that allow harmful commands to run, it's recommended to only use in isolated environments. Shift+Tab to change mode.";
|
|
453506
453702
|
var init_AutoModeOptInDialog = __esm(() => {
|
|
453507
453703
|
init_ink2();
|
|
@@ -453519,12 +453715,12 @@ function getVisibleAgentTasks(tasks) {
|
|
|
453519
453715
|
return Object.values(tasks).filter((t) => isPanelAgentTask2(t) && t.evictAfter !== 0).sort((a, b) => a.startTime - b.startTime);
|
|
453520
453716
|
}
|
|
453521
453717
|
function useCoordinatorTaskCount() {
|
|
453522
|
-
const tasks = useAppState(
|
|
453718
|
+
const tasks = useAppState(_temp164);
|
|
453523
453719
|
let t0;
|
|
453524
453720
|
t0 = 0;
|
|
453525
453721
|
return t0;
|
|
453526
453722
|
}
|
|
453527
|
-
function
|
|
453723
|
+
function _temp164(s) {
|
|
453528
453724
|
return s.tasks;
|
|
453529
453725
|
}
|
|
453530
453726
|
var import_compiler_runtime289, React115;
|
|
@@ -453991,7 +454187,7 @@ function GlobalSearchDialog(t0) {
|
|
|
453991
454187
|
}
|
|
453992
454188
|
abortRef.current?.abort();
|
|
453993
454189
|
if (!q.trim()) {
|
|
453994
|
-
setMatches(
|
|
454190
|
+
setMatches(_temp165);
|
|
453995
454191
|
setIsSearching(false);
|
|
453996
454192
|
setTruncated(false);
|
|
453997
454193
|
return;
|
|
@@ -454217,7 +454413,7 @@ function _temp347(m_2) {
|
|
|
454217
454413
|
return m_2.length ? [] : m_2;
|
|
454218
454414
|
}
|
|
454219
454415
|
function _temp271() {}
|
|
454220
|
-
function
|
|
454416
|
+
function _temp165(m) {
|
|
454221
454417
|
return m.length ? [] : m;
|
|
454222
454418
|
}
|
|
454223
454419
|
function matchKey(m) {
|
|
@@ -454454,7 +454650,7 @@ function QuickOpenDialog(t0) {
|
|
|
454454
454650
|
if (gen !== queryGenRef.current) {
|
|
454455
454651
|
return;
|
|
454456
454652
|
}
|
|
454457
|
-
const paths = items.filter(
|
|
454653
|
+
const paths = items.filter(_temp166).map(_temp272).filter(_temp348).map(_temp434);
|
|
454458
454654
|
setResults(paths);
|
|
454459
454655
|
});
|
|
454460
454656
|
};
|
|
@@ -454643,7 +454839,7 @@ function _temp348(p) {
|
|
|
454643
454839
|
function _temp272(i_0) {
|
|
454644
454840
|
return i_0.displayText;
|
|
454645
454841
|
}
|
|
454646
|
-
function
|
|
454842
|
+
function _temp166(i) {
|
|
454647
454843
|
return i.id.startsWith("file-");
|
|
454648
454844
|
}
|
|
454649
454845
|
var import_compiler_runtime292, import_react219, jsx_dev_runtime372, VISIBLE_RESULTS2 = 8, PREVIEW_LINES = 20;
|
|
@@ -454809,7 +455005,7 @@ function ThinkingToggle(t0) {
|
|
|
454809
455005
|
defaultFocusValue: currentValue ? "true" : "false",
|
|
454810
455006
|
options,
|
|
454811
455007
|
onChange: handleSelectChange,
|
|
454812
|
-
onCancel: onCancel ??
|
|
455008
|
+
onCancel: onCancel ?? _temp167,
|
|
454813
455009
|
visibleOptionCount: 2
|
|
454814
455010
|
}, undefined, false, undefined, this)
|
|
454815
455011
|
}, undefined, false, undefined, this)
|
|
@@ -454886,7 +455082,7 @@ function ThinkingToggle(t0) {
|
|
|
454886
455082
|
}
|
|
454887
455083
|
return t11;
|
|
454888
455084
|
}
|
|
454889
|
-
function
|
|
455085
|
+
function _temp167() {}
|
|
454890
455086
|
var import_compiler_runtime293, import_react220, jsx_dev_runtime373;
|
|
454891
455087
|
var init_ThinkingToggle = __esm(() => {
|
|
454892
455088
|
init_useExitOnCtrlCDWithKeybindings();
|
|
@@ -455335,7 +455531,7 @@ function TeammateDetailView(t0) {
|
|
|
455335
455531
|
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
455336
455532
|
t4 = (input) => {
|
|
455337
455533
|
if (input === "p") {
|
|
455338
|
-
setPromptExpanded(
|
|
455534
|
+
setPromptExpanded(_temp168);
|
|
455339
455535
|
}
|
|
455340
455536
|
};
|
|
455341
455537
|
$[6] = t4;
|
|
@@ -455529,7 +455725,7 @@ function _temp273(task_0) {
|
|
|
455529
455725
|
]
|
|
455530
455726
|
}, task_0.id, true, undefined, this);
|
|
455531
455727
|
}
|
|
455532
|
-
function
|
|
455728
|
+
function _temp168(prev) {
|
|
455533
455729
|
return !prev;
|
|
455534
455730
|
}
|
|
455535
455731
|
async function killTeammate(paneId, backendType, teamName, teammateId, teammateName, setAppState) {
|
|
@@ -456789,7 +456985,7 @@ function VimTextInput(props) {
|
|
|
456789
456985
|
const t11 = props.multiline;
|
|
456790
456986
|
const t12 = props.showCursor ? " " : "";
|
|
456791
456987
|
const t13 = props.highlightPastedText;
|
|
456792
|
-
const t14 = isTerminalFocused ? source_default.inverse :
|
|
456988
|
+
const t14 = isTerminalFocused ? source_default.inverse : _temp169;
|
|
456793
456989
|
let t15;
|
|
456794
456990
|
if ($[0] !== theme) {
|
|
456795
456991
|
t15 = color("text", theme);
|
|
@@ -456902,7 +457098,7 @@ function VimTextInput(props) {
|
|
|
456902
457098
|
}
|
|
456903
457099
|
return t19;
|
|
456904
457100
|
}
|
|
456905
|
-
function
|
|
457101
|
+
function _temp169(text) {
|
|
456906
457102
|
return text;
|
|
456907
457103
|
}
|
|
456908
457104
|
var import_compiler_runtime295, import_react223, jsx_dev_runtime375;
|
|
@@ -458183,7 +458379,7 @@ function BackgroundTaskStatus(t0) {
|
|
|
458183
458379
|
const {
|
|
458184
458380
|
columns
|
|
458185
458381
|
} = useTerminalSize();
|
|
458186
|
-
const tasks = useAppState(
|
|
458382
|
+
const tasks = useAppState(_temp171);
|
|
458187
458383
|
const viewingAgentTaskId = useAppState(_temp274);
|
|
458188
458384
|
let t3;
|
|
458189
458385
|
if ($[0] !== tasks) {
|
|
@@ -458238,7 +458434,7 @@ function BackgroundTaskStatus(t0) {
|
|
|
458238
458434
|
const allPills = t6;
|
|
458239
458435
|
let t7;
|
|
458240
458436
|
if ($[10] !== allPills) {
|
|
458241
|
-
t7 = allPills.map(
|
|
458437
|
+
t7 = allPills.map(_temp170);
|
|
458242
458438
|
$[10] = allPills;
|
|
458243
458439
|
$[11] = t7;
|
|
458244
458440
|
} else {
|
|
@@ -458436,7 +458632,7 @@ function BackgroundTaskStatus(t0) {
|
|
|
458436
458632
|
}
|
|
458437
458633
|
return t11;
|
|
458438
458634
|
}
|
|
458439
|
-
function
|
|
458635
|
+
function _temp170(pill_0, i_0) {
|
|
458440
458636
|
const pillText = `@${pill_0.name}`;
|
|
458441
458637
|
return stringWidth2(pillText) + (i_0 > 0 ? 1 : 0);
|
|
458442
458638
|
}
|
|
@@ -458478,7 +458674,7 @@ function _temp349(t) {
|
|
|
458478
458674
|
function _temp274(s_0) {
|
|
458479
458675
|
return s_0.viewingAgentTaskId;
|
|
458480
458676
|
}
|
|
458481
|
-
function
|
|
458677
|
+
function _temp171(s) {
|
|
458482
458678
|
return s.tasks;
|
|
458483
458679
|
}
|
|
458484
458680
|
function AgentPill(t0) {
|
|
@@ -458701,7 +458897,7 @@ function TeamStatus(t0) {
|
|
|
458701
458897
|
teamsSelected,
|
|
458702
458898
|
showHint
|
|
458703
458899
|
} = t0;
|
|
458704
|
-
const teamContext = useAppState(
|
|
458900
|
+
const teamContext = useAppState(_temp173);
|
|
458705
458901
|
let t1;
|
|
458706
458902
|
if ($[0] !== teamContext) {
|
|
458707
458903
|
t1 = teamContext ? Object.values(teamContext.teammates).filter(_temp275).length : 0;
|
|
@@ -458783,7 +458979,7 @@ function TeamStatus(t0) {
|
|
|
458783
458979
|
function _temp275(t) {
|
|
458784
458980
|
return t.name !== "team-lead";
|
|
458785
458981
|
}
|
|
458786
|
-
function
|
|
458982
|
+
function _temp173(s) {
|
|
458787
458983
|
return s.teamContext;
|
|
458788
458984
|
}
|
|
458789
458985
|
var import_compiler_runtime297, jsx_dev_runtime395;
|
|
@@ -458821,7 +459017,7 @@ function HistorySearchInput(t0) {
|
|
|
458821
459017
|
value,
|
|
458822
459018
|
onChange,
|
|
458823
459019
|
cursorOffset: value.length,
|
|
458824
|
-
onChangeCursorOffset:
|
|
459020
|
+
onChangeCursorOffset: _temp174,
|
|
458825
459021
|
columns: t3,
|
|
458826
459022
|
focus: true,
|
|
458827
459023
|
showCursor: true,
|
|
@@ -458852,7 +459048,7 @@ function HistorySearchInput(t0) {
|
|
|
458852
459048
|
}
|
|
458853
459049
|
return t5;
|
|
458854
459050
|
}
|
|
458855
|
-
function
|
|
459051
|
+
function _temp174() {}
|
|
458856
459052
|
var import_compiler_runtime298, jsx_dev_runtime396, HistorySearchInput_default;
|
|
458857
459053
|
var init_HistorySearchInput = __esm(() => {
|
|
458858
459054
|
init_stringWidth();
|
|
@@ -465354,7 +465550,7 @@ function useCanUseTool(setToolUseConfirmQueue, setToolPermissionContext) {
|
|
|
465354
465550
|
if (feature("BASH_CLASSIFIER") && result.pendingClassifierCheck && tool.name === BASH_TOOL_NAME2 && !appState.toolPermissionContext.awaitAutomatedChecksBeforeDialog) {
|
|
465355
465551
|
const speculativePromise = peekSpeculativeClassifierCheck2(input.command);
|
|
465356
465552
|
if (speculativePromise) {
|
|
465357
|
-
const raceResult = await Promise.race([speculativePromise.then(
|
|
465553
|
+
const raceResult = await Promise.race([speculativePromise.then(_temp175), new Promise(_temp276)]);
|
|
465358
465554
|
if (ctx.resolveIfAborted(resolve)) {
|
|
465359
465555
|
return;
|
|
465360
465556
|
}
|
|
@@ -465417,7 +465613,7 @@ function _temp276(res) {
|
|
|
465417
465613
|
type: "timeout"
|
|
465418
465614
|
});
|
|
465419
465615
|
}
|
|
465420
|
-
function
|
|
465616
|
+
function _temp175(r) {
|
|
465421
465617
|
return {
|
|
465422
465618
|
type: "result",
|
|
465423
465619
|
result: r
|
|
@@ -466202,7 +466398,7 @@ async function handlePromptSubmit(params) {
|
|
|
466202
466398
|
const spaceIndex = trimmedInput.indexOf(" ");
|
|
466203
466399
|
const commandName = spaceIndex === -1 ? trimmedInput.slice(1) : trimmedInput.slice(1, spaceIndex);
|
|
466204
466400
|
const commandArgs = spaceIndex === -1 ? "" : trimmedInput.slice(spaceIndex + 1).trim();
|
|
466205
|
-
const immediateCommand = commands.find((cmd) => cmd.immediate && isCommandEnabled2(cmd) && (cmd.name === commandName || cmd.aliases?.includes(commandName) || getCommandName2(cmd) === commandName));
|
|
466401
|
+
const immediateCommand = commands.find((cmd) => (cmd.immediate ?? true) && isCommandEnabled2(cmd) && (cmd.name === commandName || cmd.aliases?.includes(commandName) || getCommandName2(cmd) === commandName));
|
|
466206
466402
|
if (immediateCommand && immediateCommand.type === "local-jsx" && (queryGuard.isActive || isExternalLoading)) {
|
|
466207
466403
|
onInputChange("");
|
|
466208
466404
|
setCursorOffset(0);
|
|
@@ -467038,7 +467234,7 @@ var init_useManagePlugins = __esm(() => {
|
|
|
467038
467234
|
// src/tui/components/TeammateViewHeader.tsx
|
|
467039
467235
|
function TeammateViewHeader() {
|
|
467040
467236
|
const $ = import_compiler_runtime305.c(14);
|
|
467041
|
-
const viewedTeammate = useAppState(
|
|
467237
|
+
const viewedTeammate = useAppState(_temp176);
|
|
467042
467238
|
if (!viewedTeammate) {
|
|
467043
467239
|
return null;
|
|
467044
467240
|
}
|
|
@@ -467137,7 +467333,7 @@ function TeammateViewHeader() {
|
|
|
467137
467333
|
}
|
|
467138
467334
|
return t6;
|
|
467139
467335
|
}
|
|
467140
|
-
function
|
|
467336
|
+
function _temp176(s) {
|
|
467141
467337
|
return getViewedTeammateTask(s);
|
|
467142
467338
|
}
|
|
467143
467339
|
var import_compiler_runtime305, jsx_dev_runtime406;
|
|
@@ -468487,7 +468683,7 @@ function SessionBackgroundHint(t0) {
|
|
|
468487
468683
|
const setAppState = useSetAppState();
|
|
468488
468684
|
const appStateStore = useAppStateStore();
|
|
468489
468685
|
const [showSessionHint, setShowSessionHint] = import_react256.useState(false);
|
|
468490
|
-
const handleDoublePress = useDoublePress(setShowSessionHint, onBackgroundSession,
|
|
468686
|
+
const handleDoublePress = useDoublePress(setShowSessionHint, onBackgroundSession, _temp177);
|
|
468491
468687
|
let t1;
|
|
468492
468688
|
if ($[0] !== appStateStore || $[1] !== handleDoublePress || $[2] !== isLoading || $[3] !== setAppState) {
|
|
468493
468689
|
t1 = () => {
|
|
@@ -468567,7 +468763,7 @@ function _temp277(c) {
|
|
|
468567
468763
|
hasUsedBackgroundTask: true
|
|
468568
468764
|
};
|
|
468569
468765
|
}
|
|
468570
|
-
function
|
|
468766
|
+
function _temp177() {}
|
|
468571
468767
|
var import_compiler_runtime307, import_react256, jsx_dev_runtime407;
|
|
468572
468768
|
var init_SessionBackgroundHint = __esm(() => {
|
|
468573
468769
|
init_useDoublePress();
|
|
@@ -468743,9 +468939,9 @@ function useInstallMessages() {
|
|
|
468743
468939
|
}
|
|
468744
468940
|
async function _temp278() {
|
|
468745
468941
|
const messages = await checkInstall();
|
|
468746
|
-
return messages.map(
|
|
468942
|
+
return messages.map(_temp178);
|
|
468747
468943
|
}
|
|
468748
|
-
function
|
|
468944
|
+
function _temp178(message, index) {
|
|
468749
468945
|
let priority = "low";
|
|
468750
468946
|
if (message.type === "error" || message.userActionRequired) {
|
|
468751
468947
|
priority = "high";
|
|
@@ -469134,9 +469330,9 @@ var init_officialMarketplaceStartupCheck = __esm(() => {
|
|
|
469134
469330
|
|
|
469135
469331
|
// src/tui/hooks/useOfficialMarketplaceNotification.tsx
|
|
469136
469332
|
function useOfficialMarketplaceNotification() {
|
|
469137
|
-
useStartupNotification(
|
|
469333
|
+
useStartupNotification(_temp179);
|
|
469138
469334
|
}
|
|
469139
|
-
async function
|
|
469335
|
+
async function _temp179() {
|
|
469140
469336
|
const result = await checkAndInstallOfficialMarketplace();
|
|
469141
469337
|
const notifs = [];
|
|
469142
469338
|
if (result.configSaveFailed) {
|
|
@@ -469696,7 +469892,7 @@ function SandboxViolationExpandedView() {
|
|
|
469696
469892
|
}
|
|
469697
469893
|
let t5;
|
|
469698
469894
|
if ($[6] !== violations) {
|
|
469699
|
-
t5 = violations.map(
|
|
469895
|
+
t5 = violations.map(_temp180);
|
|
469700
469896
|
$[6] = violations;
|
|
469701
469897
|
$[7] = t5;
|
|
469702
469898
|
} else {
|
|
@@ -469743,7 +469939,7 @@ function SandboxViolationExpandedView() {
|
|
|
469743
469939
|
}
|
|
469744
469940
|
return t8;
|
|
469745
469941
|
}
|
|
469746
|
-
function
|
|
469942
|
+
function _temp180(v, i) {
|
|
469747
469943
|
return /* @__PURE__ */ jsx_dev_runtime412.jsxDEV(ThemedBox_default, {
|
|
469748
469944
|
paddingLeft: 2,
|
|
469749
469945
|
children: /* @__PURE__ */ jsx_dev_runtime412.jsxDEV(ThemedText, {
|
|
@@ -469784,7 +469980,7 @@ function useMcpConnectivityStatus(t0) {
|
|
|
469784
469980
|
if (getIsRemoteMode()) {
|
|
469785
469981
|
return;
|
|
469786
469982
|
}
|
|
469787
|
-
const failedLocalClients = mcpClients.filter(
|
|
469983
|
+
const failedLocalClients = mcpClients.filter(_temp181);
|
|
469788
469984
|
const failedClaudeAiClients = mcpClients.filter(_temp279);
|
|
469789
469985
|
const needsAuthLocalServers = mcpClients.filter(_temp350);
|
|
469790
469986
|
const needsAuthClaudeAiServers = mcpClients.filter(_temp436);
|
|
@@ -469911,7 +470107,7 @@ function _temp350(client_1) {
|
|
|
469911
470107
|
function _temp279(client_0) {
|
|
469912
470108
|
return false;
|
|
469913
470109
|
}
|
|
469914
|
-
function
|
|
470110
|
+
function _temp181(client) {
|
|
469915
470111
|
return client.type === "failed" && client.config.type !== "sse-ide" && client.config.type !== "ws-ide" && client.config.type !== "claudeai-proxy";
|
|
469916
470112
|
}
|
|
469917
470113
|
var import_compiler_runtime310, import_react262, jsx_dev_runtime413, EMPTY_MCP_CLIENTS;
|
|
@@ -469974,7 +470170,7 @@ function useLspInitializationNotification() {
|
|
|
469974
470170
|
addNotification
|
|
469975
470171
|
} = useNotifications();
|
|
469976
470172
|
const setAppState = useSetAppState();
|
|
469977
|
-
const [shouldPoll, setShouldPoll] = React126.useState(
|
|
470173
|
+
const [shouldPoll, setShouldPoll] = React126.useState(_temp183);
|
|
469978
470174
|
let t0;
|
|
469979
470175
|
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
469980
470176
|
t0 = new Set;
|
|
@@ -470101,7 +470297,7 @@ function _temp280(e) {
|
|
|
470101
470297
|
}
|
|
470102
470298
|
return `${e.type}:${e.source}`;
|
|
470103
470299
|
}
|
|
470104
|
-
function
|
|
470300
|
+
function _temp183() {
|
|
470105
470301
|
return isEnvTruthy2("true");
|
|
470106
470302
|
}
|
|
470107
470303
|
var import_compiler_runtime311, React126, jsx_dev_runtime414, LSP_POLL_INTERVAL_MS = 5000;
|
|
@@ -470433,7 +470629,7 @@ var init_usePluginRecommendationBase = __esm(() => {
|
|
|
470433
470629
|
import { extname as extname19, join as join173 } from "path";
|
|
470434
470630
|
function useLspPluginRecommendation() {
|
|
470435
470631
|
const $ = import_compiler_runtime313.c(12);
|
|
470436
|
-
const trackedFiles = useAppState(
|
|
470632
|
+
const trackedFiles = useAppState(_temp184);
|
|
470437
470633
|
const {
|
|
470438
470634
|
addNotification
|
|
470439
470635
|
} = useNotifications();
|
|
@@ -470577,7 +470773,7 @@ function _temp281(current) {
|
|
|
470577
470773
|
lspRecommendationDisabled: true
|
|
470578
470774
|
};
|
|
470579
470775
|
}
|
|
470580
|
-
function
|
|
470776
|
+
function _temp184(s) {
|
|
470581
470777
|
return s.fileHistory.trackedFiles;
|
|
470582
470778
|
}
|
|
470583
470779
|
var import_compiler_runtime313, React128, TIMEOUT_THRESHOLD_MS = 28000;
|
|
@@ -470972,7 +471168,7 @@ function usePluginInstallationStatus() {
|
|
|
470972
471168
|
const {
|
|
470973
471169
|
addNotification
|
|
470974
471170
|
} = useNotifications();
|
|
470975
|
-
const installationStatus = useAppState(
|
|
471171
|
+
const installationStatus = useAppState(_temp185);
|
|
470976
471172
|
let t0;
|
|
470977
471173
|
bb0: {
|
|
470978
471174
|
if (!installationStatus) {
|
|
@@ -471098,7 +471294,7 @@ function _temp351(p) {
|
|
|
471098
471294
|
function _temp282(m) {
|
|
471099
471295
|
return m.status === "failed";
|
|
471100
471296
|
}
|
|
471101
|
-
function
|
|
471297
|
+
function _temp185(s) {
|
|
471102
471298
|
return s.plugins.installationStatus;
|
|
471103
471299
|
}
|
|
471104
471300
|
var import_compiler_runtime315, import_react264, jsx_dev_runtime418;
|
|
@@ -471159,7 +471355,7 @@ function usePluginAutoupdateNotification() {
|
|
|
471159
471355
|
if (updatedPlugins.length === 0) {
|
|
471160
471356
|
return;
|
|
471161
471357
|
}
|
|
471162
|
-
const pluginNames = updatedPlugins.map(
|
|
471358
|
+
const pluginNames = updatedPlugins.map(_temp186);
|
|
471163
471359
|
const displayNames = pluginNames.length <= 2 ? pluginNames.join(" and ") : `${pluginNames.length} plugins`;
|
|
471164
471360
|
addNotification({
|
|
471165
471361
|
key: "plugin-autoupdate-restart",
|
|
@@ -471196,7 +471392,7 @@ function usePluginAutoupdateNotification() {
|
|
|
471196
471392
|
}
|
|
471197
471393
|
import_react265.useEffect(t3, t4);
|
|
471198
471394
|
}
|
|
471199
|
-
function
|
|
471395
|
+
function _temp186(id) {
|
|
471200
471396
|
const atIndex = id.indexOf("@");
|
|
471201
471397
|
return atIndex > 0 ? id.substring(0, atIndex) : id;
|
|
471202
471398
|
}
|
|
@@ -471591,7 +471787,7 @@ function AwsAuthStatusBox() {
|
|
|
471591
471787
|
t4 = status.output.length > 0 && /* @__PURE__ */ jsx_dev_runtime420.jsxDEV(ThemedBox_default, {
|
|
471592
471788
|
flexDirection: "column",
|
|
471593
471789
|
marginTop: 1,
|
|
471594
|
-
children: status.output.slice(-5).map(
|
|
471790
|
+
children: status.output.slice(-5).map(_temp187)
|
|
471595
471791
|
}, undefined, false, undefined, this);
|
|
471596
471792
|
$[4] = status.output;
|
|
471597
471793
|
$[5] = t4;
|
|
@@ -471634,7 +471830,7 @@ function AwsAuthStatusBox() {
|
|
|
471634
471830
|
}
|
|
471635
471831
|
return t6;
|
|
471636
471832
|
}
|
|
471637
|
-
function
|
|
471833
|
+
function _temp187(line, index) {
|
|
471638
471834
|
const m = line.match(URL_RE);
|
|
471639
471835
|
if (!m) {
|
|
471640
471836
|
return /* @__PURE__ */ jsx_dev_runtime420.jsxDEV(ThemedText, {
|
|
@@ -471717,9 +471913,9 @@ var init_useDeprecationWarningNotification = __esm(() => {
|
|
|
471717
471913
|
|
|
471718
471914
|
// src/tui/hooks/notifs/useNpmDeprecationNotification.tsx
|
|
471719
471915
|
function useNpmDeprecationNotification() {
|
|
471720
|
-
useStartupNotification(
|
|
471916
|
+
useStartupNotification(_temp188);
|
|
471721
471917
|
}
|
|
471722
|
-
async function
|
|
471918
|
+
async function _temp188() {
|
|
471723
471919
|
if (isInBundledMode2() || isEnvTruthy2(process.env.DISABLE_INSTALLATION_CHECKS)) {
|
|
471724
471920
|
return null;
|
|
471725
471921
|
}
|
|
@@ -471897,7 +472093,7 @@ function _temp283(hasShownHintRef_0, addNotification_0) {
|
|
|
471897
472093
|
const ideName_0 = infos[0]?.name;
|
|
471898
472094
|
if (ideName_0 && !hasShownHintRef_0.current) {
|
|
471899
472095
|
hasShownHintRef_0.current = true;
|
|
471900
|
-
saveGlobalConfig(
|
|
472096
|
+
saveGlobalConfig(_temp189);
|
|
471901
472097
|
addNotification_0({
|
|
471902
472098
|
key: "ide-status-hint",
|
|
471903
472099
|
jsx: /* @__PURE__ */ jsx_dev_runtime421.jsxDEV(ThemedText, {
|
|
@@ -471915,7 +472111,7 @@ function _temp283(hasShownHintRef_0, addNotification_0) {
|
|
|
471915
472111
|
}
|
|
471916
472112
|
});
|
|
471917
472113
|
}
|
|
471918
|
-
function
|
|
472114
|
+
function _temp189(current) {
|
|
471919
472115
|
return {
|
|
471920
472116
|
...current,
|
|
471921
472117
|
ideHintShownCount: (current.ideHintShownCount ?? 0) + 1
|
|
@@ -472244,7 +472440,7 @@ function DevBar() {
|
|
|
472244
472440
|
}
|
|
472245
472441
|
let t1;
|
|
472246
472442
|
if ($[1] !== slowOps) {
|
|
472247
|
-
t1 = slowOps.slice(-3).map(
|
|
472443
|
+
t1 = slowOps.slice(-3).map(_temp190).join(" · ");
|
|
472248
472444
|
$[1] = slowOps;
|
|
472249
472445
|
$[2] = t1;
|
|
472250
472446
|
} else {
|
|
@@ -472268,7 +472464,7 @@ function DevBar() {
|
|
|
472268
472464
|
}
|
|
472269
472465
|
return t2;
|
|
472270
472466
|
}
|
|
472271
|
-
function
|
|
472467
|
+
function _temp190(op) {
|
|
472272
472468
|
return `${op.operation} (${Math.round(op.durationMs)}ms)`;
|
|
472273
472469
|
}
|
|
472274
472470
|
var import_compiler_runtime321, import_react272, jsx_dev_runtime423;
|
|
@@ -474720,9 +474916,9 @@ function AnimatedTerminalTitle(t0) {
|
|
|
474720
474916
|
return null;
|
|
474721
474917
|
}
|
|
474722
474918
|
function _temp284(setFrame_0) {
|
|
474723
|
-
return setFrame_0(
|
|
474919
|
+
return setFrame_0(_temp191);
|
|
474724
474920
|
}
|
|
474725
|
-
function
|
|
474921
|
+
function _temp191(f) {
|
|
474726
474922
|
return (f + 1) % TITLE_ANIMATION_FRAMES.length;
|
|
474727
474923
|
}
|
|
474728
474924
|
function REPL({
|
|
@@ -478254,7 +478450,7 @@ function MCPServerMultiselectDialog(t0) {
|
|
|
478254
478450
|
}
|
|
478255
478451
|
let t5;
|
|
478256
478452
|
if ($[7] !== serverNames) {
|
|
478257
|
-
t5 = serverNames.map(
|
|
478453
|
+
t5 = serverNames.map(_temp192);
|
|
478258
478454
|
$[7] = serverNames;
|
|
478259
478455
|
$[8] = t5;
|
|
478260
478456
|
} else {
|
|
@@ -478343,7 +478539,7 @@ function MCPServerMultiselectDialog(t0) {
|
|
|
478343
478539
|
}
|
|
478344
478540
|
return t9;
|
|
478345
478541
|
}
|
|
478346
|
-
function
|
|
478542
|
+
function _temp192(server_0) {
|
|
478347
478543
|
return {
|
|
478348
478544
|
label: server_0,
|
|
478349
478545
|
value: server_0
|
|
@@ -478622,7 +478818,7 @@ function PreflightStep(t0) {
|
|
|
478622
478818
|
onSuccess();
|
|
478623
478819
|
} else {
|
|
478624
478820
|
if (result && !result.success) {
|
|
478625
|
-
const timer = setTimeout(
|
|
478821
|
+
const timer = setTimeout(_temp193, 100);
|
|
478626
478822
|
return () => clearTimeout(timer);
|
|
478627
478823
|
}
|
|
478628
478824
|
}
|
|
@@ -478715,7 +478911,7 @@ function PreflightStep(t0) {
|
|
|
478715
478911
|
}
|
|
478716
478912
|
return t6;
|
|
478717
478913
|
}
|
|
478718
|
-
function
|
|
478914
|
+
function _temp193() {
|
|
478719
478915
|
return process.exit(1);
|
|
478720
478916
|
}
|
|
478721
478917
|
var import_compiler_runtime327, import_react282, jsx_dev_runtime433;
|
|
@@ -481014,9 +481210,9 @@ function _temp352(tool_0) {
|
|
|
481014
481210
|
return tool_0 === BASH_TOOL_NAME2 || tool_0.startsWith(BASH_TOOL_NAME2 + "(");
|
|
481015
481211
|
}
|
|
481016
481212
|
function _temp285(command) {
|
|
481017
|
-
return command.type === "prompt" && command.loadedFrom === "commands_DEPRECATED" && (command.source === "projectSettings" || command.source === "localSettings") && command.allowedTools?.some(
|
|
481213
|
+
return command.type === "prompt" && command.loadedFrom === "commands_DEPRECATED" && (command.source === "projectSettings" || command.source === "localSettings") && command.allowedTools?.some(_temp194);
|
|
481018
481214
|
}
|
|
481019
|
-
function
|
|
481215
|
+
function _temp194(tool) {
|
|
481020
481216
|
return tool === BASH_TOOL_NAME2 || tool.startsWith(BASH_TOOL_NAME2 + "(");
|
|
481021
481217
|
}
|
|
481022
481218
|
var import_compiler_runtime333, import_react287, jsx_dev_runtime440;
|
|
@@ -481052,7 +481248,7 @@ function BypassPermissionsModeDialog(t0) {
|
|
|
481052
481248
|
} else {
|
|
481053
481249
|
t1 = $[0];
|
|
481054
481250
|
}
|
|
481055
|
-
import_react288.default.useEffect(
|
|
481251
|
+
import_react288.default.useEffect(_temp195, t1);
|
|
481056
481252
|
let t2;
|
|
481057
481253
|
if ($[1] !== onAccept) {
|
|
481058
481254
|
t2 = function onChange(value) {
|
|
@@ -481139,7 +481335,7 @@ function BypassPermissionsModeDialog(t0) {
|
|
|
481139
481335
|
function _temp286() {
|
|
481140
481336
|
gracefulShutdownSync(0);
|
|
481141
481337
|
}
|
|
481142
|
-
function
|
|
481338
|
+
function _temp195() {}
|
|
481143
481339
|
var import_compiler_runtime334, import_react288, jsx_dev_runtime441;
|
|
481144
481340
|
var init_BypassPermissionsModeDialog = __esm(() => {
|
|
481145
481341
|
init_ink2();
|
|
@@ -481753,7 +481949,7 @@ function NoConversationsMessage() {
|
|
|
481753
481949
|
} else {
|
|
481754
481950
|
t0 = $[0];
|
|
481755
481951
|
}
|
|
481756
|
-
useKeybinding("app:interrupt",
|
|
481952
|
+
useKeybinding("app:interrupt", _temp196, t0);
|
|
481757
481953
|
let t1;
|
|
481758
481954
|
if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
481759
481955
|
t1 = /* @__PURE__ */ jsx_dev_runtime444.jsxDEV(ThemedBox_default, {
|
|
@@ -481774,7 +481970,7 @@ function NoConversationsMessage() {
|
|
|
481774
481970
|
}
|
|
481775
481971
|
return t1;
|
|
481776
481972
|
}
|
|
481777
|
-
function
|
|
481973
|
+
function _temp196() {
|
|
481778
481974
|
process.exit(1);
|
|
481779
481975
|
}
|
|
481780
481976
|
function CrossProjectMessage(t0) {
|
|
@@ -487469,7 +487665,7 @@ function SetupNotes(t0) {
|
|
|
487469
487665
|
}
|
|
487470
487666
|
let t2;
|
|
487471
487667
|
if ($[1] !== messages) {
|
|
487472
|
-
t2 = messages.map(
|
|
487668
|
+
t2 = messages.map(_temp197);
|
|
487473
487669
|
$[1] = messages;
|
|
487474
487670
|
$[2] = t2;
|
|
487475
487671
|
} else {
|
|
@@ -487493,7 +487689,7 @@ function SetupNotes(t0) {
|
|
|
487493
487689
|
}
|
|
487494
487690
|
return t3;
|
|
487495
487691
|
}
|
|
487496
|
-
function
|
|
487692
|
+
function _temp197(message, index) {
|
|
487497
487693
|
return /* @__PURE__ */ jsx_dev_runtime448.jsxDEV(ThemedBox_default, {
|
|
487498
487694
|
marginLeft: 2,
|
|
487499
487695
|
children: /* @__PURE__ */ jsx_dev_runtime448.jsxDEV(ThemedText, {
|