@kolisachint/hoocode-agent 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -4169
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +1 -0
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +6 -0
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts +11 -1
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +18 -0
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/extensions/core/hoo-core.d.ts.map +1 -1
- package/dist/extensions/core/hoo-core.js +4 -0
- package/dist/extensions/core/hoo-core.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +40 -2
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +0 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +10 -15
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +3 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/docs/development.md +1 -1
- package/docs/usage.md +0 -1
- package/package.json +4 -4
- package/dist/modes/interactive/assets/clankolas.png +0 -0
- package/dist/modes/interactive/components/earendil-announcement.d.ts +0 -5
- package/dist/modes/interactive/components/earendil-announcement.d.ts.map +0 -1
- package/dist/modes/interactive/components/earendil-announcement.js +0 -40
- package/dist/modes/interactive/components/earendil-announcement.js.map +0 -1
|
@@ -40,7 +40,6 @@ import { CustomEditor } from "./components/custom-editor.js";
|
|
|
40
40
|
import { CustomMessageComponent } from "./components/custom-message.js";
|
|
41
41
|
import { DaxnutsComponent } from "./components/daxnuts.js";
|
|
42
42
|
import { DynamicBorder } from "./components/dynamic-border.js";
|
|
43
|
-
import { EarendilAnnouncementComponent } from "./components/earendil-announcement.js";
|
|
44
43
|
import { ExtensionEditorComponent } from "./components/extension-editor.js";
|
|
45
44
|
import { ExtensionInputComponent } from "./components/extension-input.js";
|
|
46
45
|
import { ExtensionSelectorComponent } from "./components/extension-selector.js";
|
|
@@ -423,7 +422,7 @@ export class InteractiveMode {
|
|
|
423
422
|
hint("app.tools.expand", "more"),
|
|
424
423
|
].join(theme.fg("muted", " · "));
|
|
425
424
|
const compactOnboarding = theme.fg("dim", `Press ${keyText("app.tools.expand")} to show full startup help and loaded resources.`);
|
|
426
|
-
const onboarding = theme.fg("dim",
|
|
425
|
+
const onboarding = theme.fg("dim", `${APP_NAME} can explain its own features and look up its docs. Ask it how to use or extend ${APP_NAME}.`);
|
|
427
426
|
this.builtInHeader = new ExpandableText(() => `${logo}\n${compactInstructions}\n${compactOnboarding}\n\n${onboarding}`, () => `${logo}\n${expandedInstructions}\n\n${onboarding}`, this.getStartupExpansionState(), 1, 0);
|
|
428
427
|
// Setup UI layout
|
|
429
428
|
this.headerContainer.addChild(new Spacer(1));
|
|
@@ -603,7 +602,7 @@ export class InteractiveMode {
|
|
|
603
602
|
return "tmux extended-keys is off. Modified Enter keys may not work. Add `set -g extended-keys on` to ~/.tmux.conf and restart tmux.";
|
|
604
603
|
}
|
|
605
604
|
if (extendedKeysFormat === "xterm") {
|
|
606
|
-
return
|
|
605
|
+
return `tmux extended-keys-format is xterm. ${APP_NAME} works best with csi-u. Add \`set -g extended-keys-format csi-u\` to ~/.tmux.conf and restart tmux.`;
|
|
607
606
|
}
|
|
608
607
|
return undefined;
|
|
609
608
|
}
|
|
@@ -1503,6 +1502,12 @@ export class InteractiveMode {
|
|
|
1503
1502
|
notify: (message, type) => this.showExtensionNotify(message, type),
|
|
1504
1503
|
onTerminalInput: (handler) => this.addExtensionTerminalInputListener(handler),
|
|
1505
1504
|
setStatus: (key, text) => this.setExtensionStatus(key, text),
|
|
1505
|
+
setModeProfile: (mode, profile) => {
|
|
1506
|
+
this.footerDataProvider.setActiveMode(mode);
|
|
1507
|
+
this.footerDataProvider.setActiveProfile(profile);
|
|
1508
|
+
this.footer.invalidate();
|
|
1509
|
+
this.ui.requestRender();
|
|
1510
|
+
},
|
|
1506
1511
|
setWorkingMessage: (message) => {
|
|
1507
1512
|
this.workingMessage = message;
|
|
1508
1513
|
if (this.loadingAnimation) {
|
|
@@ -1911,7 +1916,7 @@ export class InteractiveMode {
|
|
|
1911
1916
|
// Write to temp file
|
|
1912
1917
|
const tmpDir = os.tmpdir();
|
|
1913
1918
|
const ext = extensionForImageMimeType(image.mimeType) ?? "png";
|
|
1914
|
-
const fileName =
|
|
1919
|
+
const fileName = `${APP_NAME}-clipboard-${crypto.randomUUID()}.${ext}`;
|
|
1915
1920
|
const filePath = path.join(tmpDir, fileName);
|
|
1916
1921
|
fs.writeFileSync(filePath, Buffer.from(image.bytes));
|
|
1917
1922
|
// Insert file path directly
|
|
@@ -2035,11 +2040,6 @@ export class InteractiveMode {
|
|
|
2035
2040
|
this.editor.setText("");
|
|
2036
2041
|
return;
|
|
2037
2042
|
}
|
|
2038
|
-
if (text === "/dementedelves") {
|
|
2039
|
-
this.handleDementedDelves();
|
|
2040
|
-
this.editor.setText("");
|
|
2041
|
-
return;
|
|
2042
|
-
}
|
|
2043
2043
|
if (text === "/resume") {
|
|
2044
2044
|
this.showSessionSelector();
|
|
2045
2045
|
this.editor.setText("");
|
|
@@ -2820,7 +2820,7 @@ export class InteractiveMode {
|
|
|
2820
2820
|
return;
|
|
2821
2821
|
}
|
|
2822
2822
|
const currentText = this.editor.getExpandedText?.() ?? this.editor.getText();
|
|
2823
|
-
const tmpFile = path.join(os.tmpdir(),
|
|
2823
|
+
const tmpFile = path.join(os.tmpdir(), `${APP_NAME}-editor-${Date.now()}.${APP_NAME}.md`);
|
|
2824
2824
|
try {
|
|
2825
2825
|
// Write current content to temp file
|
|
2826
2826
|
fs.writeFileSync(tmpFile, currentText, "utf-8");
|
|
@@ -4435,11 +4435,6 @@ export class InteractiveMode {
|
|
|
4435
4435
|
this.chatContainer.addChild(new ArminComponent(this.ui));
|
|
4436
4436
|
this.ui.requestRender();
|
|
4437
4437
|
}
|
|
4438
|
-
handleDementedDelves() {
|
|
4439
|
-
this.chatContainer.addChild(new Spacer(1));
|
|
4440
|
-
this.chatContainer.addChild(new EarendilAnnouncementComponent());
|
|
4441
|
-
this.ui.requestRender();
|
|
4442
|
-
}
|
|
4443
4438
|
handleDaxnuts() {
|
|
4444
4439
|
this.chatContainer.addChild(new Spacer(1));
|
|
4445
4440
|
this.chatContainer.addChild(new DaxnutsComponent(this.ui));
|