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,59 @@
import { Adapter, AdapterInstance, Peer, AdapterOptions } from '../index.js';
import { W as WebSocket } from '../shared/crossws.BQXMA5bH.js';
import uws from 'uWebSockets.js';
type UserData = {
peer?: UWSPeer;
req: uws.HttpRequest;
res: uws.HttpResponse;
protocol: string;
extensions: string;
context: Peer["context"];
};
type WebSocketHandler = uws.WebSocketBehavior<UserData>;
interface UWSAdapter extends AdapterInstance {
websocket: WebSocketHandler;
}
interface UWSOptions extends AdapterOptions {
uws?: Exclude<uws.WebSocketBehavior<any>, "close" | "drain" | "message" | "open" | "ping" | "pong" | "subscription" | "upgrade">;
}
declare const uwsAdapter: Adapter<UWSAdapter, UWSOptions>;
declare class UWSPeer extends Peer<{
peers: Set<UWSPeer>;
request: UWSReqProxy;
uws: uws.WebSocket<UserData>;
ws: UwsWebSocketProxy;
uwsData: UserData;
}> {
get remoteAddress(): string | undefined;
get context(): Record<string, unknown>;
send(data: unknown, options?: {
compress?: boolean;
}): number;
subscribe(topic: string): void;
unsubscribe(topic: string): void;
publish(topic: string, message: string, options?: {
compress?: boolean;
}): number;
close(code?: number, reason?: uws.RecognizedString): void;
terminate(): void;
}
declare class UWSReqProxy {
private _headers?;
private _rawHeaders;
url: string;
constructor(_req: uws.HttpRequest);
get headers(): Headers;
}
declare class UwsWebSocketProxy implements Partial<WebSocket> {
private _uws;
readyState?: number;
constructor(_uws: uws.WebSocket<UserData>);
get bufferedAmount(): number;
get protocol(): string;
get extensions(): string;
}
export { uwsAdapter as default };
export type { UWSAdapter, UWSOptions };