@eminent337/aery 0.1.97 → 0.1.99
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/CHANGELOG.md +2 -0
- package/dist/cli/doctor.d.ts +1 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +5 -1
- package/dist/cli/doctor.js.map +1 -1
- package/dist/core/provider-setup-check.d.ts +14 -0
- package/dist/core/provider-setup-check.d.ts.map +1 -0
- package/dist/core/provider-setup-check.js +22 -0
- package/dist/core/provider-setup-check.js.map +1 -0
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +1 -0
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +27 -1
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/package.json +3 -3
|
@@ -9,6 +9,7 @@ import * as path from "node:path";
|
|
|
9
9
|
import { getProviders } from "@eminent337/aery-ai";
|
|
10
10
|
import { CombinedAutocompleteProvider, Container, fuzzyFilter, Loader, Markdown, matchesKey, ProcessTerminal, Spacer, setKeybindings, Text, TruncatedText, TUI, visibleWidth, } from "@eminent337/aery-tui";
|
|
11
11
|
import { spawn, spawnSync } from "child_process";
|
|
12
|
+
import { formatCoreExtensionsReport } from "../../cli/doctor.js";
|
|
12
13
|
import { APP_NAME, getAgentDir, getAuthPath, getDebugLogPath, getShareViewerUrl, getUpdateInstruction, VERSION, } from "../../config.js";
|
|
13
14
|
import { parseSkillBlock } from "../../core/agent-session.js";
|
|
14
15
|
import { SessionImportFileNotFoundError } from "../../core/agent-session-runtime.js";
|
|
@@ -17,11 +18,12 @@ import { KeybindingsManager } from "../../core/keybindings.js";
|
|
|
17
18
|
import { createCompactionSummaryMessage } from "../../core/messages.js";
|
|
18
19
|
import { defaultModelPerProvider, findExactModelReferenceMatch, resolveModelScope } from "../../core/model-resolver.js";
|
|
19
20
|
import { DefaultPackageManager } from "../../core/package-manager.js";
|
|
21
|
+
import { checkProviderSetup } from "../../core/provider-setup-check.js";
|
|
20
22
|
import { formatMissingSessionCwdPrompt, MissingSessionCwdError } from "../../core/session-cwd.js";
|
|
21
23
|
import { SessionManager } from "../../core/session-manager.js";
|
|
22
24
|
import { BUILTIN_SLASH_COMMANDS } from "../../core/slash-commands.js";
|
|
23
25
|
import { isInstallTelemetryEnabled } from "../../core/telemetry.js";
|
|
24
|
-
import { wireCoreExtensions } from "../../migrations.js";
|
|
26
|
+
import { diagnoseCoreExtensions, wireCoreExtensions } from "../../migrations.js";
|
|
25
27
|
import { getChangelogPath, getNewEntries, parseChangelog } from "../../utils/changelog.js";
|
|
26
28
|
import { copyToClipboard } from "../../utils/clipboard.js";
|
|
27
29
|
import { extensionForImageMimeType, readClipboardImage } from "../../utils/clipboard-image.js";
|
|
@@ -2059,6 +2061,11 @@ export class InteractiveMode {
|
|
|
2059
2061
|
this.editor.setText("");
|
|
2060
2062
|
return;
|
|
2061
2063
|
}
|
|
2064
|
+
if (text === "/extensions doctor" || text === "/extensions") {
|
|
2065
|
+
this.handleExtensionsDoctorCommand();
|
|
2066
|
+
this.editor.setText("");
|
|
2067
|
+
return;
|
|
2068
|
+
}
|
|
2062
2069
|
if (text === "/login") {
|
|
2063
2070
|
this.showOAuthSelector("login");
|
|
2064
2071
|
this.editor.setText("");
|
|
@@ -3822,6 +3829,16 @@ export class InteractiveMode {
|
|
|
3822
3829
|
void this.maybeWarnAboutAnthropicSubscriptionAuth();
|
|
3823
3830
|
}
|
|
3824
3831
|
}
|
|
3832
|
+
const providerCheck = checkProviderSetup(providerId, providerName, this.session.modelRegistry);
|
|
3833
|
+
if (providerCheck.level === "ok") {
|
|
3834
|
+
this.showStatus(providerCheck.message);
|
|
3835
|
+
}
|
|
3836
|
+
else if (providerCheck.level === "warning") {
|
|
3837
|
+
this.showWarning(providerCheck.message);
|
|
3838
|
+
}
|
|
3839
|
+
else {
|
|
3840
|
+
this.showError(providerCheck.message);
|
|
3841
|
+
}
|
|
3825
3842
|
}
|
|
3826
3843
|
async showApiKeyLoginDialog(providerId, providerName) {
|
|
3827
3844
|
const previousModel = this.session.model;
|
|
@@ -4279,6 +4296,15 @@ export class InteractiveMode {
|
|
|
4279
4296
|
this.chatContainer.addChild(new DynamicBorder());
|
|
4280
4297
|
this.ui.requestRender();
|
|
4281
4298
|
}
|
|
4299
|
+
handleExtensionsDoctorCommand() {
|
|
4300
|
+
const agentDir = getAgentDir();
|
|
4301
|
+
const repoPath = path.join(agentDir, "git", "github.com", "eminent337", "aery-extensions");
|
|
4302
|
+
const settingsPath = path.join(agentDir, "settings.json");
|
|
4303
|
+
const diagnostic = diagnoseCoreExtensions(repoPath, settingsPath);
|
|
4304
|
+
this.chatContainer.addChild(new Spacer(1));
|
|
4305
|
+
this.chatContainer.addChild(new Text(formatCoreExtensionsReport(diagnostic), 1, 0));
|
|
4306
|
+
this.ui.requestRender();
|
|
4307
|
+
}
|
|
4282
4308
|
/**
|
|
4283
4309
|
* Capitalize keybinding for display (e.g., "ctrl+c" -> "Ctrl+C").
|
|
4284
4310
|
*/
|