Frontend uudelleenrakennettu: Astro-komponentit, Wasm pääsäikeessä, ei Workeria

Vanha frontend siirretty temp/. Uusi rakenne:
- StatusBar.astro, Terminal.astro, Editor.astro, Guide.astro
- global.css erillinen
- Wasm pääsäikeessä (ei Worker — yksinkertainen, debugattava)
- Tab-completion, dropdown, projektikortti, Monaco, GUIDE.md
- Ei tokenisointia eikä koodilaboratoriota

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jaakko Vanhala
2026-04-09 20:17:39 +03:00
parent e3fdb91ac5
commit a8c4af0975
9617 changed files with 996171 additions and 5349 deletions

View File

@@ -0,0 +1,38 @@
import type { StdioOptions } from 'node:child_process';
import type { AnyCommand } from './domain/command.js';
import type { HelpPayload } from './domain/help-payload.js';
export interface HelpDisplay {
shouldFire: () => boolean;
show: (payload: HelpPayload) => void;
}
export interface TextStyler {
bgWhite: (msg: string) => string;
black: (msg: string) => string;
dim: (msg: string) => string;
green: (msg: string) => string;
bold: (msg: string) => string;
bgGreen: (msg: string) => string;
cyan: (msg: string) => string;
}
export interface AstroVersionProvider {
readonly version: string;
}
export interface CommandRunner {
run: <T extends AnyCommand>(command: T, ...args: Parameters<T['run']>) => ReturnType<T['run']> | undefined;
}
export interface CommandExecutorOptions {
cwd?: string;
env?: Record<string, string | undefined>;
shell?: boolean;
input?: string;
stdio?: StdioOptions;
}
export interface CommandExecutor {
execute: (command: string, args?: Array<string>, options?: CommandExecutorOptions) => Promise<{
stdout: string;
}>;
}
export interface OperatingSystemProvider {
readonly name: NodeJS.Platform;
readonly displayName: string;
}