@kbve/droid 0.0.6 → 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/droid.mjs +2312 -74
- package/index.d.ts +32 -0
- package/lib/agents/api-types.d.ts +121 -0
- package/lib/agents/api-types.d.ts.map +1 -0
- package/lib/agents/auth/init.d.ts +8 -0
- package/lib/agents/auth/init.d.ts.map +1 -0
- package/lib/agents/cache.d.ts +9 -0
- package/lib/agents/cache.d.ts.map +1 -0
- package/lib/agents/client/callGuildVault.d.ts +3 -0
- package/lib/agents/client/callGuildVault.d.ts.map +1 -0
- package/lib/agents/client/callJson.d.ts +3 -0
- package/lib/agents/client/callJson.d.ts.map +1 -0
- package/lib/agents/config.d.ts +36 -0
- package/lib/agents/config.d.ts.map +1 -0
- package/lib/agents/constants.d.ts +11 -0
- package/lib/agents/constants.d.ts.map +1 -0
- package/lib/agents/createAgents.d.ts +4 -0
- package/lib/agents/createAgents.d.ts.map +1 -0
- package/lib/agents/ctx.d.ts +46 -0
- package/lib/agents/ctx.d.ts.map +1 -0
- package/lib/agents/discord/bot.d.ts +21 -0
- package/lib/agents/discord/bot.d.ts.map +1 -0
- package/lib/agents/discord/guilds.d.ts +8 -0
- package/lib/agents/discord/guilds.d.ts.map +1 -0
- package/lib/agents/formDrafts.d.ts +5 -0
- package/lib/agents/formDrafts.d.ts.map +1 -0
- package/lib/agents/generated/agents-schema.d.ts +73 -0
- package/lib/agents/generated/agents-schema.d.ts.map +1 -0
- package/lib/agents/generated/discordsh-agents-schema.d.ts +71 -0
- package/lib/agents/generated/discordsh-agents-schema.d.ts.map +1 -0
- package/lib/agents/github/backfill.d.ts +23 -0
- package/lib/agents/github/backfill.d.ts.map +1 -0
- package/lib/agents/github/events.d.ts +10 -0
- package/lib/agents/github/events.d.ts.map +1 -0
- package/lib/agents/github/pat.d.ts +13 -0
- package/lib/agents/github/pat.d.ts.map +1 -0
- package/lib/agents/github/repoConfig.d.ts +25 -0
- package/lib/agents/github/repoConfig.d.ts.map +1 -0
- package/lib/agents/github/tokens.d.ts +22 -0
- package/lib/agents/github/tokens.d.ts.map +1 -0
- package/lib/agents/github/webhook.d.ts +37 -0
- package/lib/agents/github/webhook.d.ts.map +1 -0
- package/lib/agents/index.d.ts +8 -0
- package/lib/agents/index.d.ts.map +1 -0
- package/lib/agents/state/atoms.d.ts +122 -0
- package/lib/agents/state/atoms.d.ts.map +1 -0
- package/lib/agents/types.d.ts +65 -0
- package/lib/agents/types.d.ts.map +1 -0
- package/lib/gateway/SupabaseGateway.d.ts +38 -0
- package/lib/gateway/SupabaseGateway.d.ts.map +1 -0
- package/lib/gateway/WorkerCommunication.d.ts +39 -0
- package/lib/gateway/WorkerCommunication.d.ts.map +1 -0
- package/lib/gateway/WorkerPool.d.ts +55 -0
- package/lib/gateway/WorkerPool.d.ts.map +1 -0
- package/lib/gateway/capabilities.d.ts +23 -0
- package/lib/gateway/capabilities.d.ts.map +1 -0
- package/lib/gateway/index.d.ts +9 -0
- package/lib/gateway/index.d.ts.map +1 -0
- package/lib/gateway/strategies/DirectStrategy.d.ts +52 -0
- package/lib/gateway/strategies/DirectStrategy.d.ts.map +1 -0
- package/lib/gateway/strategies/SharedWorkerStrategy.d.ts +46 -0
- package/lib/gateway/strategies/SharedWorkerStrategy.d.ts.map +1 -0
- package/lib/gateway/strategies/WebWorkerStrategy.d.ts +45 -0
- package/lib/gateway/strategies/WebWorkerStrategy.d.ts.map +1 -0
- package/lib/gateway/types.d.ts +81 -0
- package/lib/gateway/types.d.ts.map +1 -0
- package/lib/workers/canvas-ui-renderer.d.ts +25 -0
- package/lib/workers/canvas-ui-renderer.d.ts.map +1 -0
- package/lib/workers/canvas-worker.d.ts +14 -0
- package/lib/workers/canvas-worker.d.ts.map +1 -0
- package/lib/workers/canvas-worker.js +5 -302
- package/lib/workers/data.d.ts +40 -0
- package/lib/workers/data.d.ts.map +1 -0
- package/lib/workers/db-worker.d.ts +69 -0
- package/lib/workers/db-worker.d.ts.map +1 -0
- package/lib/workers/db-worker.js +13 -3636
- package/lib/workers/events.d.ts +11 -0
- package/lib/workers/events.d.ts.map +1 -0
- package/lib/workers/flexbuilder.d.ts +4 -0
- package/lib/workers/flexbuilder.d.ts.map +1 -0
- package/lib/workers/init.d.ts +11 -0
- package/lib/workers/init.d.ts.map +1 -0
- package/lib/workers/main.d.ts +105 -0
- package/lib/workers/main.d.ts.map +1 -0
- package/lib/workers/supabase-db-worker.d.ts +2 -0
- package/lib/workers/supabase-db-worker.d.ts.map +1 -0
- package/lib/workers/supabase-db-worker.js +23 -0
- package/lib/workers/supabase-shared-worker.d.ts +2 -0
- package/lib/workers/supabase-shared-worker.d.ts.map +1 -0
- package/lib/workers/supabase-shared-worker.js +25 -0
- package/lib/workers/tools.d.ts +4 -0
- package/lib/workers/tools.d.ts.map +1 -0
- package/lib/workers/validate.d.ts +15 -0
- package/lib/workers/validate.d.ts.map +1 -0
- package/lib/workers/ws-worker.d.ts +10 -0
- package/lib/workers/ws-worker.d.ts.map +1 -0
- package/lib/workers/ws-worker.js +5 -273
- package/main.js +5711 -0
- package/package.json +18 -6
- package/src/index.ts +41 -13
- package/src/lib/agents/api-types.ts +170 -0
- package/src/lib/agents/auth/init.ts +200 -0
- package/src/lib/agents/cache.ts +127 -0
- package/src/lib/agents/client/callGuildVault.ts +71 -0
- package/src/lib/agents/client/callJson.ts +64 -0
- package/src/lib/agents/config.ts +83 -0
- package/src/lib/agents/constants.ts +11 -0
- package/src/lib/agents/createAgents.ts +62 -0
- package/src/lib/agents/ctx.ts +63 -0
- package/src/lib/agents/discord/bot.ts +169 -0
- package/src/lib/agents/discord/guilds.ts +106 -0
- package/src/lib/agents/formDrafts.ts +55 -0
- package/src/lib/agents/generated/agents-schema.ts +155 -0
- package/src/lib/agents/generated/discordsh-agents-schema.ts +96 -0
- package/src/lib/agents/github/backfill.ts +126 -0
- package/src/lib/agents/github/events.ts +131 -0
- package/src/lib/agents/github/pat.ts +150 -0
- package/src/lib/agents/github/repoConfig.ts +240 -0
- package/src/lib/agents/github/tokens.ts +222 -0
- package/src/lib/agents/github/webhook.ts +349 -0
- package/src/lib/agents/index.ts +35 -0
- package/src/lib/agents/state/atoms.ts +122 -0
- package/src/lib/agents/types.ts +83 -0
- package/src/lib/api.ts +71 -0
- package/src/lib/droid.spec.ts +14 -19
- package/src/lib/droid.ts +48 -4
- package/src/lib/gateway/SupabaseGateway.ts +236 -0
- package/src/lib/gateway/WorkerCommunication.ts +132 -0
- package/src/lib/gateway/WorkerPool.ts +304 -0
- package/src/lib/gateway/capabilities.spec.ts +144 -0
- package/src/lib/gateway/capabilities.ts +80 -0
- package/src/lib/gateway/index.ts +15 -0
- package/src/lib/gateway/strategies/DirectStrategy.ts +443 -0
- package/src/lib/gateway/strategies/SharedWorkerStrategy.ts +278 -0
- package/src/lib/gateway/strategies/WebWorkerStrategy.ts +278 -0
- package/src/lib/gateway/types.ts +139 -0
- package/src/lib/mod/mod-manager.ts +13 -8
- package/src/lib/mod/module/bento/mod-bento.worker.ts +1 -1
- package/src/lib/mod/module/supabase/mod-supabase.spec.ts +21 -25
- package/src/lib/mod/module/supabase/mod-supabase.ts +73 -0
- package/src/lib/mod/module/supabase/mod-supabase.worker.ts +1 -56
- package/src/lib/state/auth.spec.ts +58 -0
- package/src/lib/state/auth.ts +148 -0
- package/src/lib/state/bento.spec.ts +76 -0
- package/src/lib/state/bento.ts +51 -0
- package/src/lib/state/index.ts +98 -0
- package/src/lib/state/overlay-manager.ts +125 -0
- package/src/lib/state/profile-sync.ts +214 -0
- package/src/lib/state/profile.ts +155 -0
- package/src/lib/state/router.ts +24 -0
- package/src/lib/state/staff.ts +128 -0
- package/src/lib/state/sync-bus.ts +109 -0
- package/src/lib/state/theme-sync.ts +75 -0
- package/src/lib/state/toasts.spec.ts +106 -0
- package/src/lib/state/toasts.ts +34 -0
- package/src/lib/state/ui.spec.ts +148 -0
- package/src/lib/state/ui.ts +45 -0
- package/src/lib/state/welcome-toast.spec.ts +101 -0
- package/src/lib/state/welcome-toast.ts +76 -0
- package/src/lib/sw-recovery.spec.ts +165 -0
- package/src/lib/sw-recovery.ts +141 -0
- package/src/lib/types/bento.spec.ts +116 -0
- package/src/lib/types/bento.ts +94 -55
- package/src/lib/types/event-schemas.spec.ts +120 -0
- package/src/lib/types/event-types.spec.ts +96 -0
- package/src/lib/types/event-types.ts +113 -3
- package/src/lib/types/modules.ts +12 -5
- package/src/lib/types/ui-event-types.ts +66 -0
- package/src/lib/workers/canvas-ui-renderer.ts +266 -0
- package/src/lib/workers/canvas-worker.ts +94 -9
- package/src/lib/workers/data.ts +64 -37
- package/src/lib/workers/db-worker.ts +105 -32
- package/src/lib/workers/events.spec.ts +208 -0
- package/src/lib/workers/events.ts +27 -14
- package/src/lib/workers/flexbuilder.ts +2 -2
- package/src/lib/workers/init.ts +25 -17
- package/src/lib/workers/main.ts +506 -327
- package/src/lib/workers/supabase-db-worker.ts +243 -0
- package/src/lib/workers/supabase-shared-worker.ts +607 -0
- package/src/lib/workers/validate.ts +64 -0
- package/src/lib/workers/ws-worker.spec.ts +41 -0
- package/src/lib/workers/ws-worker.ts +255 -31
- package/src/setup-vitest.ts +4 -2
- package/src/types.ts +30 -0
- package/src/vite-env.d.ts +1 -0
- package/workers/main.js +2 -1125
- package/comlink.js +0 -253
- package/index.js +0 -2972
- package/reference.js +0 -259
- package/src/types.d.ts +0 -31
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ISupabaseStrategy, SelectOptions, SessionResponse, WebSocketStatus } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* WebWorkerStrategy: Uses dedicated WebSocket worker + DB Worker Pool
|
|
4
|
+
*
|
|
5
|
+
* Architecture:
|
|
6
|
+
* - Dedicated WebSocket worker handles WebSocket, auth, and realtime (no cross-tab)
|
|
7
|
+
* - Worker pool (3 workers) handles database operations (parallel execution)
|
|
8
|
+
* - BroadcastChannel connects WebSocket worker to worker pool
|
|
9
|
+
*
|
|
10
|
+
* Best for: Android, Safari, browsers without SharedWorker
|
|
11
|
+
*/
|
|
12
|
+
export declare class WebWorkerStrategy implements ISupabaseStrategy {
|
|
13
|
+
private wsWorker?;
|
|
14
|
+
private workerPool?;
|
|
15
|
+
private pending;
|
|
16
|
+
private listeners;
|
|
17
|
+
private comm;
|
|
18
|
+
private wsWorkerUrl;
|
|
19
|
+
private dbWorkerUrl;
|
|
20
|
+
private poolSize;
|
|
21
|
+
constructor(wsWorkerUrl: string | URL, dbWorkerUrl: string | URL, poolSize?: number);
|
|
22
|
+
init(url: string, anonKey: string, options?: Record<string, unknown>): Promise<SessionResponse>;
|
|
23
|
+
private onMessage;
|
|
24
|
+
private send;
|
|
25
|
+
on(event: string, callback: (payload: unknown) => void): () => void;
|
|
26
|
+
private emit;
|
|
27
|
+
getSession(): Promise<SessionResponse>;
|
|
28
|
+
signInWithPassword(email: string, password: string): Promise<SessionResponse>;
|
|
29
|
+
signOut(): Promise<void>;
|
|
30
|
+
select(table: string, opts?: SelectOptions): Promise<unknown[]>;
|
|
31
|
+
insert(table: string, data: Record<string, unknown> | Record<string, unknown>[]): Promise<unknown[]>;
|
|
32
|
+
update(table: string, data: Record<string, unknown>, match: Record<string, unknown>): Promise<unknown[]>;
|
|
33
|
+
upsert(table: string, data: Record<string, unknown> | Record<string, unknown>[]): Promise<unknown[]>;
|
|
34
|
+
delete(table: string, match: Record<string, unknown>): Promise<unknown[]>;
|
|
35
|
+
rpc(fn: string, args?: Record<string, unknown>): Promise<unknown>;
|
|
36
|
+
subscribePostgres(key: string, params: Record<string, unknown>, callback: (payload: unknown) => void): () => void;
|
|
37
|
+
connectWebSocket(wsUrl?: string): Promise<WebSocketStatus>;
|
|
38
|
+
disconnectWebSocket(): Promise<void>;
|
|
39
|
+
sendWebSocketMessage(data: unknown): Promise<void>;
|
|
40
|
+
getWebSocketStatus(): Promise<WebSocketStatus>;
|
|
41
|
+
onWebSocketMessage(callback: (message: unknown) => void): () => void;
|
|
42
|
+
onWebSocketStatus(callback: (status: WebSocketStatus) => void): () => void;
|
|
43
|
+
terminate(): void;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=WebWorkerStrategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebWorkerStrategy.d.ts","sourceRoot":"","sources":["../../../../../../../packages/npm/droid/src/lib/gateway/strategies/WebWorkerStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
export interface SupabaseConfig {
|
|
2
|
+
url: string;
|
|
3
|
+
anonKey: string;
|
|
4
|
+
options?: Record<string, unknown>;
|
|
5
|
+
}
|
|
6
|
+
export interface Session {
|
|
7
|
+
access_token: string;
|
|
8
|
+
refresh_token: string;
|
|
9
|
+
user: Record<string, unknown>;
|
|
10
|
+
expires_at?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface SessionResponse {
|
|
13
|
+
session: Session | null;
|
|
14
|
+
user?: Record<string, unknown>;
|
|
15
|
+
}
|
|
16
|
+
export interface WebSocketStatus {
|
|
17
|
+
status: 'connected' | 'disconnected' | 'connecting' | 'error';
|
|
18
|
+
readyState: number | null;
|
|
19
|
+
error?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface ISupabaseStrategy {
|
|
22
|
+
init(url: string, anonKey: string, options?: Record<string, unknown>): Promise<SessionResponse>;
|
|
23
|
+
on(event: string, callback: (payload: unknown) => void): () => void;
|
|
24
|
+
getSession(): Promise<SessionResponse>;
|
|
25
|
+
signInWithPassword(email: string, password: string): Promise<SessionResponse>;
|
|
26
|
+
signOut(): Promise<void>;
|
|
27
|
+
select(table: string, opts?: SelectOptions): Promise<unknown[]>;
|
|
28
|
+
insert(table: string, data: Record<string, unknown> | Record<string, unknown>[]): Promise<unknown[]>;
|
|
29
|
+
update(table: string, data: Record<string, unknown>, match: Record<string, unknown>): Promise<unknown[]>;
|
|
30
|
+
upsert(table: string, data: Record<string, unknown> | Record<string, unknown>[]): Promise<unknown[]>;
|
|
31
|
+
delete(table: string, match: Record<string, unknown>): Promise<unknown[]>;
|
|
32
|
+
rpc(fn: string, args?: Record<string, unknown>): Promise<unknown>;
|
|
33
|
+
subscribePostgres(key: string, params: Record<string, unknown>, callback: (payload: unknown) => void): () => void;
|
|
34
|
+
connectWebSocket(wsUrl?: string): Promise<WebSocketStatus>;
|
|
35
|
+
disconnectWebSocket(): Promise<void>;
|
|
36
|
+
sendWebSocketMessage(data: unknown): Promise<void>;
|
|
37
|
+
getWebSocketStatus(): Promise<WebSocketStatus>;
|
|
38
|
+
onWebSocketMessage(callback: (message: unknown) => void): () => void;
|
|
39
|
+
onWebSocketStatus(callback: (status: WebSocketStatus) => void): () => void;
|
|
40
|
+
terminate(): void;
|
|
41
|
+
}
|
|
42
|
+
export interface SelectOptions {
|
|
43
|
+
columns?: string;
|
|
44
|
+
match?: Record<string, unknown>;
|
|
45
|
+
limit?: number;
|
|
46
|
+
}
|
|
47
|
+
export interface WorkerMessage {
|
|
48
|
+
id: string;
|
|
49
|
+
type: string;
|
|
50
|
+
payload?: unknown;
|
|
51
|
+
}
|
|
52
|
+
export interface WorkerResponse {
|
|
53
|
+
id: string;
|
|
54
|
+
ok: boolean;
|
|
55
|
+
data?: unknown;
|
|
56
|
+
error?: string;
|
|
57
|
+
}
|
|
58
|
+
export interface BroadcastEvent {
|
|
59
|
+
type: 'auth' | 'ws.message' | 'ws.status' | 'realtime' | 'ready' | 'worker-error';
|
|
60
|
+
data?: unknown;
|
|
61
|
+
key?: string;
|
|
62
|
+
payload?: unknown;
|
|
63
|
+
}
|
|
64
|
+
export type StrategyType = 'shared-worker' | 'web-worker' | 'direct';
|
|
65
|
+
export interface BrowserCapabilities {
|
|
66
|
+
hasSharedWorker: boolean;
|
|
67
|
+
hasWorker: boolean;
|
|
68
|
+
hasBroadcastChannel: boolean;
|
|
69
|
+
isAndroid: boolean;
|
|
70
|
+
isSafari: boolean;
|
|
71
|
+
}
|
|
72
|
+
export interface GatewayConfig {
|
|
73
|
+
workerUrls?: {
|
|
74
|
+
sharedWorker?: string | URL;
|
|
75
|
+
dbWorker?: string | URL;
|
|
76
|
+
webSocketWorker?: string | URL;
|
|
77
|
+
};
|
|
78
|
+
forceStrategy?: StrategyType;
|
|
79
|
+
poolSize?: number;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../packages/npm/droid/src/lib/gateway/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,OAAO;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,YAAY,GAAG,OAAO,CAAC;IAC9D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,iBAAiB;IAEjC,IAAI,CACH,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,eAAe,CAAC,CAAC;IAG5B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAGpE,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IACvC,kBAAkB,CACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAGzB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAChE,MAAM,CACL,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACvD,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACtB,MAAM,CACL,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACtB,MAAM,CACL,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACvD,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACtB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1E,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGlE,iBAAiB,CAChB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAClC,MAAM,IAAI,CAAC;IAGd,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3D,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/C,kBAAkB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACrE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAG3E,SAAS,IAAI,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,aAAa;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,cAAc;IAC9B,IAAI,EACD,MAAM,GACN,YAAY,GACZ,WAAW,GACX,UAAU,GACV,OAAO,GACP,cAAc,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAGD,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,YAAY,GAAG,QAAQ,CAAC;AAGrE,MAAM,WAAW,mBAAmB;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CAClB;AAGD,MAAM,WAAW,aAAa;IAC7B,UAAU,CAAC,EAAE;QACZ,YAAY,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;KAC/B,CAAC;IACF,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ToastPayload, TooltipPayload, ModalPayload } from '../types/ui-event-types';
|
|
2
|
+
export declare class CanvasUIRenderer {
|
|
3
|
+
private ctx;
|
|
4
|
+
private canvas;
|
|
5
|
+
private toasts;
|
|
6
|
+
private tooltip;
|
|
7
|
+
private modal;
|
|
8
|
+
private theme;
|
|
9
|
+
private animFrame;
|
|
10
|
+
private dbGet;
|
|
11
|
+
bind(canvas: OffscreenCanvas, dbGet: (key: string) => Promise<string | null>): Promise<void>;
|
|
12
|
+
refreshTheme(): Promise<void>;
|
|
13
|
+
addToast(payload: ToastPayload): void;
|
|
14
|
+
removeToast(id: string): void;
|
|
15
|
+
showTooltip(payload: TooltipPayload | null): void;
|
|
16
|
+
showModal(payload: ModalPayload | null): void;
|
|
17
|
+
private recalcPositions;
|
|
18
|
+
private startLoop;
|
|
19
|
+
private render;
|
|
20
|
+
private drawToast;
|
|
21
|
+
private drawModal;
|
|
22
|
+
private roundRect;
|
|
23
|
+
unbind(): void;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=canvas-ui-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canvas-ui-renderer.d.ts","sourceRoot":"","sources":["../../../../../../packages/npm/droid/src/lib/workers/canvas-ui-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,MAAM,yBAAyB,CAAC;AAiCjC,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,GAAG,CAAkD;IAC7D,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,KAAK,CAYX;IACF,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,KAAK,CAA0D;IAEjE,IAAI,CACT,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC;IAQV,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBnC,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAWrC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAM7B,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI;IAIjD,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;IAI7C,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,MAAM;IAiCd,OAAO,CAAC,SAAS;IAoCjB,OAAO,CAAC,SAAS;IAoCjB,OAAO,CAAC,SAAS;IAqBjB,MAAM,IAAI,IAAI;CAWd"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ToastPayload, TooltipPayload, ModalPayload } from '../types/ui-event-types';
|
|
2
|
+
export interface CanvasWorkerAPI {
|
|
3
|
+
bindCanvas(panelId: string, canvas: OffscreenCanvas, mode?: CanvasDrawMode): Promise<void>;
|
|
4
|
+
unbindCanvas(panelId: string): Promise<void>;
|
|
5
|
+
bindUICanvas(canvas: OffscreenCanvas, dbGet: (key: string) => Promise<string | null>): Promise<void>;
|
|
6
|
+
unbindUICanvas(): void;
|
|
7
|
+
addCanvasToast(payload: ToastPayload): void;
|
|
8
|
+
removeCanvasToast(id: string): void;
|
|
9
|
+
showCanvasTooltip(payload: TooltipPayload | null): void;
|
|
10
|
+
showCanvasModal(payload: ModalPayload | null): void;
|
|
11
|
+
refreshUITheme(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export type CanvasDrawMode = 'static' | 'animated' | 'dynamic';
|
|
14
|
+
//# sourceMappingURL=canvas-worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canvas-worker.d.ts","sourceRoot":"","sources":["../../../../../../packages/npm/droid/src/lib/workers/canvas-worker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,eAAe;IAC/B,UAAU,CACT,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EACvB,IAAI,CAAC,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,YAAY,CACX,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,cAAc,IAAI,IAAI,CAAC;IACvB,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5C,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;IACxD,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;IACpD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAUD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC"}
|
|
@@ -1,303 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
canHandle: (t) => C(t) && t[A],
|
|
8
|
-
serialize(t) {
|
|
9
|
-
const { port1: e, port2: r } = new MessageChannel();
|
|
10
|
-
return S(t, e), [r, [r]];
|
|
11
|
-
},
|
|
12
|
-
deserialize(t) {
|
|
13
|
-
return t.start(), H(t);
|
|
14
|
-
}
|
|
15
|
-
}, N = {
|
|
16
|
-
canHandle: (t) => C(t) && d in t,
|
|
17
|
-
serialize({ value: t }) {
|
|
18
|
-
let e;
|
|
19
|
-
return t instanceof Error ? e = {
|
|
20
|
-
isError: !0,
|
|
21
|
-
value: {
|
|
22
|
-
message: t.message,
|
|
23
|
-
name: t.name,
|
|
24
|
-
stack: t.stack
|
|
25
|
-
}
|
|
26
|
-
} : e = { isError: !1, value: t }, [e, []];
|
|
27
|
-
},
|
|
28
|
-
deserialize(t) {
|
|
29
|
-
throw t.isError ? Object.assign(new Error(t.value.message), t.value) : t.value;
|
|
30
|
-
}
|
|
31
|
-
}, P = /* @__PURE__ */ new Map([
|
|
32
|
-
["proxy", z],
|
|
33
|
-
["throw", N]
|
|
34
|
-
]);
|
|
35
|
-
function W(t, e) {
|
|
36
|
-
for (const r of t)
|
|
37
|
-
if (e === r || r === "*" || r instanceof RegExp && r.test(e))
|
|
38
|
-
return !0;
|
|
39
|
-
return !1;
|
|
40
|
-
}
|
|
41
|
-
function S(t, e = globalThis, r = ["*"]) {
|
|
42
|
-
e.addEventListener("message", function l(n) {
|
|
43
|
-
if (!n || !n.data)
|
|
44
|
-
return;
|
|
45
|
-
if (!W(r, n.origin)) {
|
|
46
|
-
console.warn(`Invalid origin '${n.origin}' for comlink proxy`);
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
const { id: s, type: m, path: c } = Object.assign({ path: [] }, n.data), u = (n.data.argumentList || []).map(h);
|
|
50
|
-
let a;
|
|
51
|
-
try {
|
|
52
|
-
const o = c.slice(0, -1).reduce((i, y) => i[y], t), f = c.reduce((i, y) => i[y], t);
|
|
53
|
-
switch (m) {
|
|
54
|
-
case "GET":
|
|
55
|
-
a = f;
|
|
56
|
-
break;
|
|
57
|
-
case "SET":
|
|
58
|
-
o[c.slice(-1)[0]] = h(n.data.value), a = !0;
|
|
59
|
-
break;
|
|
60
|
-
case "APPLY":
|
|
61
|
-
a = f.apply(o, u);
|
|
62
|
-
break;
|
|
63
|
-
case "CONSTRUCT":
|
|
64
|
-
{
|
|
65
|
-
const i = new f(...u);
|
|
66
|
-
a = $(i);
|
|
67
|
-
}
|
|
68
|
-
break;
|
|
69
|
-
case "ENDPOINT":
|
|
70
|
-
{
|
|
71
|
-
const { port1: i, port2: y } = new MessageChannel();
|
|
72
|
-
S(t, y), a = _(i, [i]);
|
|
73
|
-
}
|
|
74
|
-
break;
|
|
75
|
-
case "RELEASE":
|
|
76
|
-
a = void 0;
|
|
77
|
-
break;
|
|
78
|
-
default:
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
} catch (o) {
|
|
82
|
-
a = { value: o, [d]: 0 };
|
|
83
|
-
}
|
|
84
|
-
Promise.resolve(a).catch((o) => ({ value: o, [d]: 0 })).then((o) => {
|
|
85
|
-
const [f, i] = b(o);
|
|
86
|
-
e.postMessage(Object.assign(Object.assign({}, f), { id: s }), i), m === "RELEASE" && (e.removeEventListener("message", l), R(e), k in t && typeof t[k] == "function" && t[k]());
|
|
87
|
-
}).catch((o) => {
|
|
88
|
-
const [f, i] = b({
|
|
89
|
-
value: new TypeError("Unserializable return value"),
|
|
90
|
-
[d]: 0
|
|
91
|
-
});
|
|
92
|
-
e.postMessage(Object.assign(Object.assign({}, f), { id: s }), i);
|
|
93
|
-
});
|
|
94
|
-
}), e.start && e.start();
|
|
95
|
-
}
|
|
96
|
-
function D(t) {
|
|
97
|
-
return t.constructor.name === "MessagePort";
|
|
98
|
-
}
|
|
99
|
-
function R(t) {
|
|
100
|
-
D(t) && t.close();
|
|
101
|
-
}
|
|
102
|
-
function H(t, e) {
|
|
103
|
-
const r = /* @__PURE__ */ new Map();
|
|
104
|
-
return t.addEventListener("message", function(n) {
|
|
105
|
-
const { data: s } = n;
|
|
106
|
-
if (!s || !s.id)
|
|
107
|
-
return;
|
|
108
|
-
const m = r.get(s.id);
|
|
109
|
-
if (m)
|
|
110
|
-
try {
|
|
111
|
-
m(s);
|
|
112
|
-
} finally {
|
|
113
|
-
r.delete(s.id);
|
|
114
|
-
}
|
|
115
|
-
}), M(t, r, [], e);
|
|
116
|
-
}
|
|
117
|
-
function w(t) {
|
|
118
|
-
if (t)
|
|
119
|
-
throw new Error("Proxy has been released and is not useable");
|
|
120
|
-
}
|
|
121
|
-
function v(t) {
|
|
122
|
-
return g(t, /* @__PURE__ */ new Map(), {
|
|
123
|
-
type: "RELEASE"
|
|
124
|
-
}).then(() => {
|
|
125
|
-
R(t);
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
const E = /* @__PURE__ */ new WeakMap(), x = "FinalizationRegistry" in globalThis && new FinalizationRegistry((t) => {
|
|
129
|
-
const e = (E.get(t) || 0) - 1;
|
|
130
|
-
E.set(t, e), e === 0 && v(t);
|
|
131
|
-
});
|
|
132
|
-
function L(t, e) {
|
|
133
|
-
const r = (E.get(e) || 0) + 1;
|
|
134
|
-
E.set(e, r), x && x.register(t, e, t);
|
|
135
|
-
}
|
|
136
|
-
function U(t) {
|
|
137
|
-
x && x.unregister(t);
|
|
138
|
-
}
|
|
139
|
-
function M(t, e, r = [], l = function() {
|
|
140
|
-
}) {
|
|
141
|
-
let n = !1;
|
|
142
|
-
const s = new Proxy(l, {
|
|
143
|
-
get(m, c) {
|
|
144
|
-
if (w(n), c === O)
|
|
145
|
-
return () => {
|
|
146
|
-
U(s), v(t), e.clear(), n = !0;
|
|
147
|
-
};
|
|
148
|
-
if (c === "then") {
|
|
149
|
-
if (r.length === 0)
|
|
150
|
-
return { then: () => s };
|
|
151
|
-
const u = g(t, e, {
|
|
152
|
-
type: "GET",
|
|
153
|
-
path: r.map((a) => a.toString())
|
|
154
|
-
}).then(h);
|
|
155
|
-
return u.then.bind(u);
|
|
156
|
-
}
|
|
157
|
-
return M(t, e, [...r, c]);
|
|
158
|
-
},
|
|
159
|
-
set(m, c, u) {
|
|
160
|
-
w(n);
|
|
161
|
-
const [a, o] = b(u);
|
|
162
|
-
return g(t, e, {
|
|
163
|
-
type: "SET",
|
|
164
|
-
path: [...r, c].map((f) => f.toString()),
|
|
165
|
-
value: a
|
|
166
|
-
}, o).then(h);
|
|
167
|
-
},
|
|
168
|
-
apply(m, c, u) {
|
|
169
|
-
w(n);
|
|
170
|
-
const a = r[r.length - 1];
|
|
171
|
-
if (a === F)
|
|
172
|
-
return g(t, e, {
|
|
173
|
-
type: "ENDPOINT"
|
|
174
|
-
}).then(h);
|
|
175
|
-
if (a === "bind")
|
|
176
|
-
return M(t, e, r.slice(0, -1));
|
|
177
|
-
const [o, f] = p(u);
|
|
178
|
-
return g(t, e, {
|
|
179
|
-
type: "APPLY",
|
|
180
|
-
path: r.map((i) => i.toString()),
|
|
181
|
-
argumentList: o
|
|
182
|
-
}, f).then(h);
|
|
183
|
-
},
|
|
184
|
-
construct(m, c) {
|
|
185
|
-
w(n);
|
|
186
|
-
const [u, a] = p(c);
|
|
187
|
-
return g(t, e, {
|
|
188
|
-
type: "CONSTRUCT",
|
|
189
|
-
path: r.map((o) => o.toString()),
|
|
190
|
-
argumentList: u
|
|
191
|
-
}, a).then(h);
|
|
192
|
-
}
|
|
193
|
-
});
|
|
194
|
-
return L(s, t), s;
|
|
195
|
-
}
|
|
196
|
-
function V(t) {
|
|
197
|
-
return Array.prototype.concat.apply([], t);
|
|
198
|
-
}
|
|
199
|
-
function p(t) {
|
|
200
|
-
const e = t.map(b);
|
|
201
|
-
return [e.map((r) => r[0]), V(e.map((r) => r[1]))];
|
|
202
|
-
}
|
|
203
|
-
const T = /* @__PURE__ */ new WeakMap();
|
|
204
|
-
function _(t, e) {
|
|
205
|
-
return T.set(t, e), t;
|
|
206
|
-
}
|
|
207
|
-
function $(t) {
|
|
208
|
-
return Object.assign(t, { [A]: !0 });
|
|
209
|
-
}
|
|
210
|
-
function b(t) {
|
|
211
|
-
for (const [e, r] of P)
|
|
212
|
-
if (r.canHandle(t)) {
|
|
213
|
-
const [l, n] = r.serialize(t);
|
|
214
|
-
return [
|
|
215
|
-
{
|
|
216
|
-
type: "HANDLER",
|
|
217
|
-
name: e,
|
|
218
|
-
value: l
|
|
219
|
-
},
|
|
220
|
-
n
|
|
221
|
-
];
|
|
222
|
-
}
|
|
223
|
-
return [
|
|
224
|
-
{
|
|
225
|
-
type: "RAW",
|
|
226
|
-
value: t
|
|
227
|
-
},
|
|
228
|
-
T.get(t) || []
|
|
229
|
-
];
|
|
230
|
-
}
|
|
231
|
-
function h(t) {
|
|
232
|
-
switch (t.type) {
|
|
233
|
-
case "HANDLER":
|
|
234
|
-
return P.get(t.name).deserialize(t.value);
|
|
235
|
-
case "RAW":
|
|
236
|
-
return t.value;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
function g(t, e, r, l) {
|
|
240
|
-
return new Promise((n) => {
|
|
241
|
-
const s = j();
|
|
242
|
-
e.set(s, n), t.start && t.start(), t.postMessage(Object.assign({ id: s }, r), l);
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
function j() {
|
|
246
|
-
return new Array(4).fill(0).map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16)).join("-");
|
|
247
|
-
}
|
|
248
|
-
const q = {
|
|
249
|
-
bindings: /* @__PURE__ */ new Map(),
|
|
250
|
-
async bindCanvas(t, e, r = "animated") {
|
|
251
|
-
const l = e.getContext("2d");
|
|
252
|
-
if (!l) {
|
|
253
|
-
console.error(`[CanvasWorker] Failed to get 2D context for panel ${t}`);
|
|
254
|
-
return;
|
|
255
|
-
}
|
|
256
|
-
console.log(`[CanvasWorker] Successfully bound canvas for panel ${t} with mode ${r}`), this.bindings.set(t, { ctx: l, canvas: e, panelId: t, mode: r }), this.startAnimation(t);
|
|
257
|
-
},
|
|
258
|
-
startAnimation(t) {
|
|
259
|
-
const e = this.bindings.get(t);
|
|
260
|
-
if (e)
|
|
261
|
-
switch (e.mode) {
|
|
262
|
-
case "static":
|
|
263
|
-
this.drawStatic(e);
|
|
264
|
-
break;
|
|
265
|
-
case "animated":
|
|
266
|
-
this.drawAnimated(e);
|
|
267
|
-
break;
|
|
268
|
-
case "dynamic":
|
|
269
|
-
this.drawDynamic(e);
|
|
270
|
-
break;
|
|
271
|
-
default:
|
|
272
|
-
console.warn(`[CanvasWorker] Unknown draw mode for panel ${t}`);
|
|
273
|
-
}
|
|
274
|
-
},
|
|
275
|
-
drawStatic(t) {
|
|
276
|
-
t.ctx.fillStyle = "gray", t.ctx.fillRect(0, 0, t.canvas.width, t.canvas.height);
|
|
277
|
-
},
|
|
278
|
-
drawAnimated(t) {
|
|
279
|
-
let e = 0;
|
|
280
|
-
const r = () => {
|
|
281
|
-
e = (e + 1) % 360, t.ctx.fillStyle = `hsl(${e}, 100%, 50%)`, t.ctx.fillRect(0, 0, t.canvas.width, t.canvas.height), t.animationFrame = requestAnimationFrame(r);
|
|
282
|
-
};
|
|
283
|
-
r();
|
|
284
|
-
},
|
|
285
|
-
drawDynamic(t) {
|
|
286
|
-
let e = 0;
|
|
287
|
-
const r = () => {
|
|
288
|
-
e += 0.05, t.ctx.clearRect(0, 0, t.canvas.width, t.canvas.height), t.ctx.beginPath(), t.ctx.arc(
|
|
289
|
-
t.canvas.width / 2 + Math.sin(e) * 50,
|
|
290
|
-
t.canvas.height / 2 + Math.cos(e) * 50,
|
|
291
|
-
30,
|
|
292
|
-
0,
|
|
293
|
-
Math.PI * 2
|
|
294
|
-
), t.ctx.fillStyle = "orange", t.ctx.fill(), t.animationFrame = requestAnimationFrame(r);
|
|
295
|
-
};
|
|
296
|
-
r();
|
|
297
|
-
},
|
|
298
|
-
async unbindCanvas(t) {
|
|
299
|
-
const e = this.bindings.get(t);
|
|
300
|
-
e?.animationFrame && cancelAnimationFrame(e.animationFrame), this.bindings.delete(t), console.log(`[CanvasWorker] Unbound canvas for panel ${t}`);
|
|
301
|
-
}
|
|
302
|
-
};
|
|
303
|
-
S(q);
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
const e=Symbol(`Comlink.proxy`),t=Symbol(`Comlink.endpoint`),n=Symbol(`Comlink.releaseProxy`),r=Symbol(`Comlink.finalizer`),i=Symbol(`Comlink.thrown`),a=e=>typeof e==`object`&&!!e||typeof e==`function`,o=new Map([[`proxy`,{canHandle:t=>a(t)&&t[e],serialize(e){let{port1:t,port2:n}=new MessageChannel;return c(e,t),[n,[n]]},deserialize(e){return e.start(),d(e)}}],[`throw`,{canHandle:e=>a(e)&&i in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){throw e.isError?Object.assign(Error(e.value.message),e.value):e.value}}]]);function s(e,t){for(let n of e)if(t===n||n===`*`||n instanceof RegExp&&n.test(t))return!0;return!1}function c(e,t=globalThis,n=[`*`]){t.addEventListener(`message`,function a(o){if(!o||!o.data)return;if(!s(n,o.origin)){console.warn(`Invalid origin '${o.origin}' for comlink proxy`);return}let{id:l,type:d,path:f}=Object.assign({path:[]},o.data),p=(o.data.argumentList||[]).map(T),m;try{let t=f.slice(0,-1).reduce((e,t)=>e[t],e),n=f.reduce((e,t)=>e[t],e);switch(d){case`GET`:m=n;break;case`SET`:t[f.slice(-1)[0]]=T(o.data.value),m=!0;break;case`APPLY`:m=n.apply(t,p);break;case`CONSTRUCT`:m=C(new n(...p));break;case`ENDPOINT`:{let{port1:t,port2:n}=new MessageChannel;c(e,n),m=S(t,[t])}break;case`RELEASE`:m=void 0;break;default:return}}catch(e){m={value:e,[i]:0}}Promise.resolve(m).catch(e=>({value:e,[i]:0})).then(n=>{let[i,o]=w(n);t.postMessage(Object.assign(Object.assign({},i),{id:l}),o),d===`RELEASE`&&(t.removeEventListener(`message`,a),u(t),r in e&&typeof e[r]==`function`&&e[r]())}).catch(e=>{let[n,r]=w({value:TypeError(`Unserializable return value`),[i]:0});t.postMessage(Object.assign(Object.assign({},n),{id:l}),r)})}),t.start&&t.start()}function l(e){return e.constructor.name===`MessagePort`}function u(e){l(e)&&e.close()}function d(e,t){let n=new Map;return e.addEventListener(`message`,function(e){let{data:t}=e;if(!t||!t.id)return;let r=n.get(t.id);if(r)try{r(t)}finally{n.delete(t.id)}}),v(e,n,[],t)}function f(e){if(e)throw Error(`Proxy has been released and is not useable`)}function p(e){return E(e,new Map,{type:`RELEASE`}).then(()=>{u(e)})}const m=new WeakMap,h=`FinalizationRegistry`in globalThis&&new FinalizationRegistry(e=>{let t=(m.get(e)||0)-1;m.set(e,t),t===0&&p(e)});function g(e,t){let n=(m.get(t)||0)+1;m.set(t,n),h&&h.register(e,t,e)}function _(e){h&&h.unregister(e)}function v(e,r,i=[],a=function(){}){let o=!1,s=new Proxy(a,{get(t,a){if(f(o),a===n)return()=>{_(s),p(e),r.clear(),o=!0};if(a===`then`){if(i.length===0)return{then:()=>s};let t=E(e,r,{type:`GET`,path:i.map(e=>e.toString())}).then(T);return t.then.bind(t)}return v(e,r,[...i,a])},set(t,n,a){f(o);let[s,c]=w(a);return E(e,r,{type:`SET`,path:[...i,n].map(e=>e.toString()),value:s},c).then(T)},apply(n,a,s){f(o);let c=i[i.length-1];if(c===t)return E(e,r,{type:`ENDPOINT`}).then(T);if(c===`bind`)return v(e,r,i.slice(0,-1));let[l,u]=b(s);return E(e,r,{type:`APPLY`,path:i.map(e=>e.toString()),argumentList:l},u).then(T)},construct(t,n){f(o);let[a,s]=b(n);return E(e,r,{type:`CONSTRUCT`,path:i.map(e=>e.toString()),argumentList:a},s).then(T)}});return g(s,e),s}function y(e){return Array.prototype.concat.apply([],e)}function b(e){let t=e.map(w);return[t.map(e=>e[0]),y(t.map(e=>e[1]))]}const x=new WeakMap;function S(e,t){return x.set(e,t),e}function C(t){return Object.assign(t,{[e]:!0})}function w(e){for(let[t,n]of o)if(n.canHandle(e)){let[r,i]=n.serialize(e);return[{type:`HANDLER`,name:t,value:r},i]}return[{type:`RAW`,value:e},x.get(e)||[]]}function T(e){switch(e.type){case`HANDLER`:return o.get(e.name).deserialize(e.value);case`RAW`:return e.value}}function E(e,t,n,r){return new Promise(i=>{let a=D();t.set(a,i),e.start&&e.start(),e.postMessage(Object.assign({id:a},n),r)})}function D(){return[,,,,].fill(0).map(()=>Math.floor(Math.random()*(2**53-1)).toString(16)).join(`-`)}const O={success:{bg:`#065f46`,border:`#10b981`,text:`#d1fae5`},warning:{bg:`#78350f`,border:`#f59e0b`,text:`#fef3c7`},error:{bg:`#7f1d1d`,border:`#ef4444`,text:`#fee2e2`},info:{bg:`#1e3a5f`,border:`#3b82f6`,text:`#dbeafe`}},k=new class{ctx=null;canvas=null;toasts=[];tooltip=null;modal=null;theme={accent:`#8b5cf6`,accentLow:`#1e1033`,accentHigh:`#c4b5fd`,bg:`#0a0a0a`,bgAccent:`#3b1f6e`,text:`#e0e0e0`,textAccent:`#a78bfa`,border:`#4c1d95`,white:`#ffffff`,black:`#000000`,mode:`dark`};animFrame=null;dbGet=null;async bind(e,t){this.canvas=e,this.ctx=e.getContext(`2d`),this.dbGet=t,await this.refreshTheme(),this.startLoop()}async refreshTheme(){this.dbGet&&(this.theme={accent:await this.dbGet(`theme:accent`)??`#8b5cf6`,accentLow:await this.dbGet(`theme:accent-low`)??`#1e1033`,accentHigh:await this.dbGet(`theme:accent-high`)??`#c4b5fd`,bg:await this.dbGet(`theme:bg`)??`#0a0a0a`,bgAccent:await this.dbGet(`theme:bg-accent`)??`#3b1f6e`,text:await this.dbGet(`theme:text`)??`#e0e0e0`,textAccent:await this.dbGet(`theme:text-accent`)??`#a78bfa`,border:await this.dbGet(`theme:border`)??`#4c1d95`,white:await this.dbGet(`theme:white`)??`#ffffff`,black:await this.dbGet(`theme:black`)??`#000000`,mode:await this.dbGet(`theme:mode`)??`dark`})}addToast(e){let t=20+this.toasts.length*80;this.toasts.push({...e,createdAt:Date.now(),opacity:0,y:t-20,targetY:t})}removeToast(e){let t=this.toasts.findIndex(t=>t.id===e);t!==-1&&this.toasts.splice(t,1),this.recalcPositions()}showTooltip(e){this.tooltip=e}showModal(e){this.modal=e}recalcPositions(){this.toasts.forEach((e,t)=>{e.targetY=20+t*80})}startLoop(){let e=()=>{this.render(),this.animFrame=requestAnimationFrame(e)};e()}render(){if(!this.ctx||!this.canvas)return;let{width:e,height:t}=this.canvas;this.ctx.clearRect(0,0,e,t);let n=Date.now();this.toasts=this.toasts.filter(e=>!(e.duration&&e.duration>0&&n-e.createdAt>e.duration)),this.recalcPositions();for(let t of this.toasts)t.opacity<1&&(t.opacity=Math.min(1,t.opacity+.05)),t.y+=(t.targetY-t.y)*.15,this.drawToast(t,e);this.modal&&this.drawModal(e,t)}drawToast(e,t){if(!this.ctx)return;let n=this.ctx,r=t-320-20,i=e.y,a=O[e.severity]??O.info;n.globalAlpha=e.opacity,n.fillStyle=a.bg,this.roundRect(n,r,i,320,64,8),n.fill(),n.strokeStyle=a.border,n.lineWidth=1.5,this.roundRect(n,r,i,320,64,8),n.stroke(),n.fillStyle=a.text,n.font=`14px system-ui, -apple-system, sans-serif`,n.fillText(e.message,r+12,i+24,296),n.font=`bold 10px system-ui, sans-serif`,n.fillStyle=a.border,n.fillText(e.severity.toUpperCase(),r+12,i+48),n.globalAlpha=1}drawModal(e,t){if(!this.ctx||!this.modal)return;let n=this.ctx;n.fillStyle=`rgba(0, 0, 0, 0.5)`,n.fillRect(0,0,e,t);let r=Math.min(500,e-40),i=(e-r)/2,a=(t-300)/2;n.fillStyle=this.theme.bg,this.roundRect(n,i,a,r,300,12),n.fill(),n.strokeStyle=this.theme.border,n.lineWidth=1,this.roundRect(n,i,a,r,300,12),n.stroke(),this.modal.title&&(n.fillStyle=this.theme.text,n.font=`bold 18px system-ui, sans-serif`,n.fillText(this.modal.title,i+20,a+36,r-40)),n.fillStyle=this.theme.textAccent,n.font=`12px system-ui, sans-serif`,n.fillText(this.modal.id,i+20,a+60,r-40)}roundRect(e,t,n,r,i,a){e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath()}unbind(){this.animFrame!==null&&(cancelAnimationFrame(this.animFrame),this.animFrame=null),this.ctx=null,this.canvas=null,this.toasts=[],this.tooltip=null,this.modal=null}};try{let e=new BroadcastChannel(`kbve_theme`);e.onmessage=()=>{k.refreshTheme()}}catch{}c({bindings:new Map,async bindCanvas(e,t,n=`animated`){let r=t.getContext(`2d`);if(!r){console.error(`[CanvasWorker] Failed to get 2D context for panel ${e}`);return}console.log(`[CanvasWorker] Successfully bound canvas for panel ${e} with mode ${n}`),this.bindings.set(e,{ctx:r,canvas:t,panelId:e,mode:n}),this.startAnimation(e)},startAnimation(e){let t=this.bindings.get(e);if(t)switch(t.mode){case`static`:this.drawStatic(t);break;case`animated`:this.drawAnimated(t);break;case`dynamic`:this.drawDynamic(t);break;default:console.warn(`[CanvasWorker] Unknown draw mode for panel ${e}`)}},drawStatic(e){e.ctx.fillStyle=`gray`,e.ctx.fillRect(0,0,e.canvas.width,e.canvas.height)},drawAnimated(e){let t=0,n=()=>{t=(t+1)%360,e.ctx.fillStyle=`hsl(${t}, 100%, 50%)`,e.ctx.fillRect(0,0,e.canvas.width,e.canvas.height),e.animationFrame=requestAnimationFrame(n)};n()},drawDynamic(e){let t=0,n=()=>{t+=.05,e.ctx.clearRect(0,0,e.canvas.width,e.canvas.height),e.ctx.beginPath(),e.ctx.arc(e.canvas.width/2+Math.sin(t)*50,e.canvas.height/2+Math.cos(t)*50,30,0,Math.PI*2),e.ctx.fillStyle=`orange`,e.ctx.fill(),e.animationFrame=requestAnimationFrame(n)};n()},async unbindCanvas(e){let t=this.bindings.get(e);t?.animationFrame&&cancelAnimationFrame(t.animationFrame),this.bindings.delete(e),console.log(`[CanvasWorker] Unbound canvas for panel ${e}`)},async bindUICanvas(e,t){await k.bind(e,t)},unbindUICanvas(){k.unbind()},addCanvasToast(e){k.addToast(e)},removeCanvasToast(e){k.removeToast(e)},showCanvasTooltip(e){k.showTooltip(e)},showCanvasModal(e){k.showModal(e)},refreshUITheme(){return k.refreshTheme()}});
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { PayloadFormat, JediEnvelopeFlex, MessageKind } from '../types/jedi';
|
|
2
|
+
export declare function wrapEnvelope<T extends Record<string, unknown>>(payload: T, kind: number, format: PayloadFormat, metadata?: Uint8Array, version?: number): Uint8Array;
|
|
3
|
+
export declare function unwrapEnvelope<T = unknown>(buffer: Uint8Array | ArrayBuffer): {
|
|
4
|
+
envelope: JediEnvelopeFlex;
|
|
5
|
+
payload: T;
|
|
6
|
+
};
|
|
7
|
+
export declare function unwrapFlexToJson(buffer: Uint8Array): unknown;
|
|
8
|
+
export declare function inspectFlex(buffer: Uint8Array | ArrayBuffer): void;
|
|
9
|
+
export declare function hasKind(kind: number, flag: number): boolean;
|
|
10
|
+
export declare function wrapRedisSet(key: string, value: string): Uint8Array;
|
|
11
|
+
export declare function wrapRedisGet(key: string): Uint8Array;
|
|
12
|
+
export declare function wrapRedisDel(key: string): Uint8Array;
|
|
13
|
+
export declare function parseRedisPayload<T = unknown>(envelopeBytes: Uint8Array): {
|
|
14
|
+
envelope: JediEnvelopeFlex;
|
|
15
|
+
payload: T;
|
|
16
|
+
};
|
|
17
|
+
export declare function wrapRedisXAdd(stream: string, fields: Record<string, string>, id?: string): Uint8Array;
|
|
18
|
+
export declare function wrapRedisXRead(streams: {
|
|
19
|
+
stream: string;
|
|
20
|
+
id: string;
|
|
21
|
+
}[], count?: number, block?: number): Uint8Array;
|
|
22
|
+
export declare const scopeData: {
|
|
23
|
+
wrapEnvelope: typeof wrapEnvelope;
|
|
24
|
+
unwrapEnvelope: typeof unwrapEnvelope;
|
|
25
|
+
MessageKind: typeof MessageKind;
|
|
26
|
+
PayloadFormat: typeof PayloadFormat;
|
|
27
|
+
unwrapFlexToJson: typeof unwrapFlexToJson;
|
|
28
|
+
inspectFlex: typeof inspectFlex;
|
|
29
|
+
hasKind: typeof hasKind;
|
|
30
|
+
redis: {
|
|
31
|
+
wrapRedisSet: typeof wrapRedisSet;
|
|
32
|
+
wrapRedisGet: typeof wrapRedisGet;
|
|
33
|
+
wrapRedisDel: typeof wrapRedisDel;
|
|
34
|
+
wrapRedisXAdd: typeof wrapRedisXAdd;
|
|
35
|
+
wrapRedisXRead: typeof wrapRedisXRead;
|
|
36
|
+
parseRedisPayload: typeof parseRedisPayload;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
export type FlexDataAPI = typeof scopeData;
|
|
40
|
+
//# sourceMappingURL=data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../../../packages/npm/droid/src/lib/workers/data.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,KAAK,gBAAgB,EACrB,WAAW,EACX,MAAM,eAAe,CAAC;AAkBvB,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,OAAO,EAAE,CAAC,EACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,UAAU,EACrB,OAAO,SAAI,GACT,UAAU,CA0BZ;AAED,wBAAgB,cAAc,CAAC,CAAC,GAAG,OAAO,EACzC,MAAM,EAAE,UAAU,GAAG,WAAW,GAC9B;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE,CA4C5C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,WAElD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CASlE;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAID,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAMnE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAMpD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAMpD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAC5C,aAAa,EAAE,UAAU,GACvB;IACF,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC;CACX,CAMA;AAED,wBAAgB,aAAa,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,EAAE,SAAM,GACN,UAAU,CAMZ;AAED,wBAAgB,cAAc,CAC7B,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,EACzC,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACZ,UAAU,CA2CZ;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;CAgBrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { DiscordServer, DiscordTag, Profile } from '../types/discord';
|
|
2
|
+
declare const storageAPI: {
|
|
3
|
+
storeWsMessage(key: string, buffer: ArrayBuffer): Promise<void>;
|
|
4
|
+
getWsMessage(key: string): Promise<Record<string, unknown> | Uint8Array<ArrayBufferLike> | null>;
|
|
5
|
+
getAllWsMessages(): Promise<{
|
|
6
|
+
key: string;
|
|
7
|
+
message: Uint8Array | Record<string, unknown>;
|
|
8
|
+
}[]>;
|
|
9
|
+
clearWsMessages(): Promise<void>;
|
|
10
|
+
getTranslation(key: string): Promise<string | null>;
|
|
11
|
+
getTranslations(keys: string[]): Promise<Record<string, string>>;
|
|
12
|
+
putI18nBatch(data: Record<string, string>): Promise<void>;
|
|
13
|
+
loadI18nFromJSON(path: string): Promise<void>;
|
|
14
|
+
getAllI18nKeys(): Promise<string[]>;
|
|
15
|
+
loadServersFromJSON(path: string): Promise<void>;
|
|
16
|
+
syncHtmlFromServers(): Promise<void>;
|
|
17
|
+
dbSet(id: string, value: unknown): Promise<void>;
|
|
18
|
+
dbGet(id: string): Promise<{} | null>;
|
|
19
|
+
dbClear(): Promise<void>;
|
|
20
|
+
setVersion(version: string): Promise<void>;
|
|
21
|
+
getVersion(): Promise<{} | null>;
|
|
22
|
+
markSeeded(): Promise<void>;
|
|
23
|
+
checkSeeded(): Promise<boolean>;
|
|
24
|
+
putServers(servers: DiscordServer[]): Promise<void>;
|
|
25
|
+
getAllServers(): Promise<{
|
|
26
|
+
server_id: string;
|
|
27
|
+
owner_id: string;
|
|
28
|
+
lang: number;
|
|
29
|
+
status: number;
|
|
30
|
+
invite: string;
|
|
31
|
+
name: string;
|
|
32
|
+
summary: string;
|
|
33
|
+
categories: number;
|
|
34
|
+
updated_at: string;
|
|
35
|
+
description?: string | null | undefined;
|
|
36
|
+
website?: string | null | undefined;
|
|
37
|
+
logo?: string | null | undefined;
|
|
38
|
+
banner?: string | null | undefined;
|
|
39
|
+
video?: string | null | undefined;
|
|
40
|
+
}[]>;
|
|
41
|
+
putHtmlCards(data: {
|
|
42
|
+
key: string;
|
|
43
|
+
value: string;
|
|
44
|
+
}[]): Promise<void>;
|
|
45
|
+
getHtmlCard(key: string): Promise<string | null>;
|
|
46
|
+
putTags(tags: DiscordTag[]): Promise<void>;
|
|
47
|
+
getAllTags(): Promise<{
|
|
48
|
+
tag_id: string;
|
|
49
|
+
name: string;
|
|
50
|
+
status: number;
|
|
51
|
+
}[]>;
|
|
52
|
+
putProfiles(profiles: Profile[]): Promise<void>;
|
|
53
|
+
getAllProfiles(): Promise<{
|
|
54
|
+
profile_id: string;
|
|
55
|
+
user_id: string;
|
|
56
|
+
username: string;
|
|
57
|
+
joined_at: string;
|
|
58
|
+
status: number;
|
|
59
|
+
avatar?: string | undefined;
|
|
60
|
+
bio?: string | undefined;
|
|
61
|
+
}[]>;
|
|
62
|
+
setAuthToken(key: string, value: string, expiresAt?: number): Promise<void>;
|
|
63
|
+
getAuthToken(key: string): Promise<string | null>;
|
|
64
|
+
removeAuthToken(key: string): Promise<void>;
|
|
65
|
+
clearAuthTokens(): Promise<void>;
|
|
66
|
+
};
|
|
67
|
+
export type LocalStorageAPI = typeof storageAPI;
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=db-worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-worker.d.ts","sourceRoot":"","sources":["../../../../../../packages/npm/droid/src/lib/workers/db-worker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAyE3E,QAAA,MAAM,UAAU;wBAGW,MAAM,UAAU,WAAW;sBAS7B,MAAM;wBAIJ,OAAO,CAChC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE,CAChE;;wBAcyB,MAAM;0BAGJ,MAAM,EAAE;uBAQX,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;2BAOlB,MAAM;sBAWX,OAAO,CAAC,MAAM,EAAE,CAAC;8BAIT,MAAM;;cA4CtB,MAAM,SAAS,OAAO;cAGtB,MAAM;;wBAQI,MAAM;;;;wBAcN,aAAa,EAAE;;;;;;;;;;;;;;;;;uBAQhB;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE;qBAGlC,MAAM;kBAKT,UAAU,EAAE;;;;;;0BAQJ,OAAO,EAAE;;;;;;;;;;sBAQb,MAAM,SAAS,MAAM,cAAc,MAAM;sBAGzC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;yBAS5B,MAAM;;CAMjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,UAAU,CAAC"}
|