feat: fix leaked source to be locally runnable

- Restore full Ink TUI startup chain (cli.tsx entry point)
- Create stub .md files for verify skill (Bun text loader hang fix)
- Create stub types for filePersistence and SDK modules
- Fix Enter key not working (modifiers-napi missing, added try-catch)
- Remove overly conservative LOCAL_RECOVERY early return
- Add README with setup instructions
- Add .env.example template
- Add bin/claude-haha entry script and preload.ts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
程序员阿江(Relakkes)
2026-04-01 01:30:48 +08:00
parent 5a774a2b62
commit 124912c71d
33 changed files with 5572 additions and 280 deletions
+24
View File
@@ -0,0 +1,24 @@
export type PermissionMode =
| 'ask'
| 'skip_all_permission_checks'
| 'follow_a_plan';
export type Logger = {
silly?: (...args: unknown[]) => void;
debug?: (...args: unknown[]) => void;
info?: (...args: unknown[]) => void;
warn?: (...args: unknown[]) => void;
error?: (...args: unknown[]) => void;
};
export type ClaudeForChromeContext = Record<string, unknown>;
export const BROWSER_TOOLS: Array<{ name: string }> = [];
export function createClaudeForChromeMcpServer(
_context: ClaudeForChromeContext,
) {
return {
async connect(_transport: unknown): Promise<void> {},
};
}
+19
View File
@@ -0,0 +1,19 @@
export type SyntaxTheme = {
name: string;
};
export class ColorDiff {
format(input: string): string {
return input;
}
}
export class ColorFile {
format(input: string): string {
return input;
}
}
export function getSyntaxTheme(themeName: string): SyntaxTheme {
return { name: themeName };
}