feat(coding-agent): add daxnuts easter egg

This commit is contained in:
Mario Zechner 2026-01-30 03:24:51 +01:00
parent 355bc5adc3
commit 0e2f90b734
3 changed files with 180 additions and 0 deletions

File diff suppressed because one or more lines are too long

View file

@ -7,6 +7,7 @@ export { BranchSummaryMessageComponent } from "./branch-summary-message.js";
export { CompactionSummaryMessageComponent } from "./compaction-summary-message.js"; export { CompactionSummaryMessageComponent } from "./compaction-summary-message.js";
export { CustomEditor } from "./custom-editor.js"; export { CustomEditor } from "./custom-editor.js";
export { CustomMessageComponent } from "./custom-message.js"; export { CustomMessageComponent } from "./custom-message.js";
export { DaxnutsComponent } from "./daxnuts.js";
export { type RenderDiffOptions, renderDiff } from "./diff.js"; export { type RenderDiffOptions, renderDiff } from "./diff.js";
export { DynamicBorder } from "./dynamic-border.js"; export { DynamicBorder } from "./dynamic-border.js";
export { ExtensionEditorComponent } from "./extension-editor.js"; export { ExtensionEditorComponent } from "./extension-editor.js";

View file

@ -80,6 +80,7 @@ import { BranchSummaryMessageComponent } from "./components/branch-summary-messa
import { CompactionSummaryMessageComponent } from "./components/compaction-summary-message.js"; import { CompactionSummaryMessageComponent } from "./components/compaction-summary-message.js";
import { CustomEditor } from "./components/custom-editor.js"; import { CustomEditor } from "./components/custom-editor.js";
import { CustomMessageComponent } from "./components/custom-message.js"; import { CustomMessageComponent } from "./components/custom-message.js";
import { DaxnutsComponent } from "./components/daxnuts.js";
import { DynamicBorder } from "./components/dynamic-border.js"; import { DynamicBorder } from "./components/dynamic-border.js";
import { ExtensionEditorComponent } from "./components/extension-editor.js"; import { ExtensionEditorComponent } from "./components/extension-editor.js";
import { ExtensionInputComponent } from "./components/extension-input.js"; import { ExtensionInputComponent } from "./components/extension-input.js";
@ -3098,6 +3099,7 @@ export class InteractiveMode {
this.footer.invalidate(); this.footer.invalidate();
this.updateEditorBorderColor(); this.updateEditorBorderColor();
this.showStatus(`Model: ${model.id}`); this.showStatus(`Model: ${model.id}`);
this.checkDaxnutsEasterEgg(model);
} catch (error) { } catch (error) {
this.showError(error instanceof Error ? error.message : String(error)); this.showError(error instanceof Error ? error.message : String(error));
} }
@ -3169,6 +3171,7 @@ export class InteractiveMode {
this.updateEditorBorderColor(); this.updateEditorBorderColor();
done(); done();
this.showStatus(`Model: ${model.id}`); this.showStatus(`Model: ${model.id}`);
this.checkDaxnutsEasterEgg(model);
} catch (error) { } catch (error) {
done(); done();
this.showError(error instanceof Error ? error.message : String(error)); this.showError(error instanceof Error ? error.message : String(error));
@ -4119,6 +4122,18 @@ export class InteractiveMode {
this.ui.requestRender(); this.ui.requestRender();
} }
private handleDaxnuts(): void {
this.chatContainer.addChild(new Spacer(1));
this.chatContainer.addChild(new DaxnutsComponent(this.ui));
this.ui.requestRender();
}
private checkDaxnutsEasterEgg(model: { provider: string; id: string }): void {
if (model.provider === "opencode" && model.id.toLowerCase().includes("kimi-k2.5")) {
this.handleDaxnuts();
}
}
private async handleBashCommand(command: string, excludeFromContext = false): Promise<void> { private async handleBashCommand(command: string, excludeFromContext = false): Promise<void> {
const extensionRunner = this.session.extensionRunner; const extensionRunner = this.session.extensionRunner;