@tutti-os/browser-node 0.0.1
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/LICENSE +202 -0
- package/README.md +21 -0
- package/dist/assets/workspace-dock-website.d.ts +3 -0
- package/dist/assets/workspace-dock-website.png +0 -0
- package/dist/bridge/index.d.ts +15 -0
- package/dist/bridge/index.js +9 -0
- package/dist/bridge/index.js.map +1 -0
- package/dist/chunk-2GEY55PS.js +1179 -0
- package/dist/chunk-2GEY55PS.js.map +1 -0
- package/dist/chunk-IO5AJ2R5.js +111 -0
- package/dist/chunk-IO5AJ2R5.js.map +1 -0
- package/dist/chunk-IS2USG4D.js +93 -0
- package/dist/chunk-IS2USG4D.js.map +1 -0
- package/dist/chunk-LVVPDNEF.js +93 -0
- package/dist/chunk-LVVPDNEF.js.map +1 -0
- package/dist/chunk-UTXZLRPE.js +34 -0
- package/dist/chunk-UTXZLRPE.js.map +1 -0
- package/dist/electron-main/index.d.ts +158 -0
- package/dist/electron-main/index.js +1492 -0
- package/dist/electron-main/index.js.map +1 -0
- package/dist/electron-preload/index.d.ts +33 -0
- package/dist/electron-preload/index.js +140 -0
- package/dist/electron-preload/index.js.map +1 -0
- package/dist/i18n/index.d.ts +18 -0
- package/dist/i18n/index.js +13 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.d.ts +187 -0
- package/dist/index.js +165 -0
- package/dist/index.js.map +1 -0
- package/dist/react/index.d.ts +41 -0
- package/dist/react/index.js +11 -0
- package/dist/react/index.js.map +1 -0
- package/dist/types-Bmzz1Q84.d.ts +32 -0
- package/dist/workbench/index.d.ts +55 -0
- package/dist/workbench/index.js +194 -0
- package/dist/workbench/index.js.map +1 -0
- package/package.json +89 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { BrowserWindow, WebContents, WebPreferences } from 'electron';
|
|
2
|
+
|
|
3
|
+
interface BrowserNodeLoopbackPreviewTarget {
|
|
4
|
+
readonly targetUrl: string;
|
|
5
|
+
readonly workspaceId?: string;
|
|
6
|
+
}
|
|
7
|
+
interface BrowserNodeLoopbackPreviewResolver {
|
|
8
|
+
resolveTarget(input: {
|
|
9
|
+
port: number;
|
|
10
|
+
url: string;
|
|
11
|
+
}): BrowserNodeLoopbackPreviewTarget | Promise<BrowserNodeLoopbackPreviewTarget | null> | null;
|
|
12
|
+
}
|
|
13
|
+
interface BrowserNodeLoopbackPreviewRoutingOptions {
|
|
14
|
+
readonly resolver: BrowserNodeLoopbackPreviewResolver;
|
|
15
|
+
readonly fallback?: "deny" | "direct";
|
|
16
|
+
readonly cacheTtlMs?: number;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
type BrowserPreferredColorScheme = "dark" | "light";
|
|
20
|
+
interface BrowserNodeElectronLogger {
|
|
21
|
+
debug?(message: string, metadata?: Record<string, unknown>): void;
|
|
22
|
+
info?(message: string, metadata?: Record<string, unknown>): void;
|
|
23
|
+
warn?(message: string, metadata?: Record<string, unknown>): void;
|
|
24
|
+
}
|
|
25
|
+
interface BrowserGuestWindowOpenHandlerResponse {
|
|
26
|
+
action: "allow" | "deny";
|
|
27
|
+
outlivesOpener?: boolean;
|
|
28
|
+
overrideBrowserWindowOptions?: Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
interface BrowserGuestWebContents {
|
|
31
|
+
readonly id?: number;
|
|
32
|
+
readonly navigationHistory?: {
|
|
33
|
+
canGoBack(): boolean;
|
|
34
|
+
canGoForward(): boolean;
|
|
35
|
+
goBack(): void;
|
|
36
|
+
goForward(): void;
|
|
37
|
+
};
|
|
38
|
+
canGoBack(): boolean;
|
|
39
|
+
canGoForward(): boolean;
|
|
40
|
+
capturePage?(): Promise<BrowserGuestNativeImage>;
|
|
41
|
+
getTitle(): string;
|
|
42
|
+
getURL(): string;
|
|
43
|
+
getUserAgent?(): string;
|
|
44
|
+
goBack(): void;
|
|
45
|
+
goForward(): void;
|
|
46
|
+
isDestroyed(): boolean;
|
|
47
|
+
isLoading(): boolean;
|
|
48
|
+
loadURL(url: string): Promise<void>;
|
|
49
|
+
off(event: string, listener: (...args: unknown[]) => void): this;
|
|
50
|
+
on(event: string, listener: (...args: unknown[]) => void): this;
|
|
51
|
+
openDevTools?(options?: BrowserGuestOpenDevToolsOptions): void;
|
|
52
|
+
reload(): void;
|
|
53
|
+
setUserAgent?(userAgent: string): void;
|
|
54
|
+
setWindowOpenHandler?(handler: (details: {
|
|
55
|
+
url: string;
|
|
56
|
+
}) => BrowserGuestWindowOpenHandlerResponse): void;
|
|
57
|
+
}
|
|
58
|
+
interface BrowserGuestOpenDevToolsOptions {
|
|
59
|
+
activate?: boolean;
|
|
60
|
+
mode: "left" | "right" | "bottom" | "undocked" | "detach";
|
|
61
|
+
}
|
|
62
|
+
interface BrowserGuestNativeImage {
|
|
63
|
+
getSize?(): {
|
|
64
|
+
height: number;
|
|
65
|
+
width: number;
|
|
66
|
+
};
|
|
67
|
+
isEmpty?(): boolean;
|
|
68
|
+
resize?(options: {
|
|
69
|
+
height?: number;
|
|
70
|
+
quality?: "best" | "good" | "better" | "nearest";
|
|
71
|
+
width?: number;
|
|
72
|
+
}): BrowserGuestNativeImage;
|
|
73
|
+
toDataURL(): string;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
interface BrowserNodeElectronMainChannels {
|
|
77
|
+
readonly activate: string;
|
|
78
|
+
readonly capturePreview?: string;
|
|
79
|
+
readonly close: string;
|
|
80
|
+
readonly debugDump?: string;
|
|
81
|
+
readonly event: string;
|
|
82
|
+
readonly goBack: string;
|
|
83
|
+
readonly goForward: string;
|
|
84
|
+
readonly guestOpenUrl?: string;
|
|
85
|
+
readonly navigate: string;
|
|
86
|
+
readonly openDevTools?: string;
|
|
87
|
+
readonly openExternal?: string;
|
|
88
|
+
readonly prepareSession: string;
|
|
89
|
+
readonly registerGuest: string;
|
|
90
|
+
readonly reload: string;
|
|
91
|
+
readonly showDevToolsContextMenu?: string;
|
|
92
|
+
readonly unregisterGuest: string;
|
|
93
|
+
}
|
|
94
|
+
interface BrowserNodeElectronDevToolsContextMenuInput {
|
|
95
|
+
readonly label: string;
|
|
96
|
+
readonly openDevTools: () => Promise<void> | void;
|
|
97
|
+
readonly ownerWindow: BrowserWindow;
|
|
98
|
+
readonly point: {
|
|
99
|
+
x: number;
|
|
100
|
+
y: number;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
interface RegisterBrowserNodeElectronMainInput {
|
|
104
|
+
readonly channels: BrowserNodeElectronMainChannels;
|
|
105
|
+
readonly getOwnerWindow: (event: unknown) => BrowserWindow | null;
|
|
106
|
+
readonly getPreferredColorScheme?: () => BrowserPreferredColorScheme;
|
|
107
|
+
readonly logger?: BrowserNodeElectronLogger;
|
|
108
|
+
readonly loopbackPreviewRouting?: BrowserNodeLoopbackPreviewRoutingOptions;
|
|
109
|
+
readonly openExternal: (url: string) => Promise<void> | void;
|
|
110
|
+
readonly registerHandler: <TPayload, TResult>(channel: string, handler: (event: unknown, payload: TPayload) => Promise<TResult> | TResult) => void;
|
|
111
|
+
readonly registerListener?: <TPayload>(channel: string, handler: (event: unknown, payload: TPayload) => void) => void;
|
|
112
|
+
readonly resolveWebContents: (input: {
|
|
113
|
+
event: unknown;
|
|
114
|
+
ownerWindow: BrowserWindow;
|
|
115
|
+
webContentsId: number;
|
|
116
|
+
}) => BrowserGuestWebContents | null;
|
|
117
|
+
readonly showDevToolsContextMenu?: (input: BrowserNodeElectronDevToolsContextMenuInput) => Promise<void> | void;
|
|
118
|
+
readonly syncPreferredColorScheme?: (contents: BrowserGuestWebContents, scheme: BrowserPreferredColorScheme) => Promise<void> | void;
|
|
119
|
+
readonly subscribePreferredColorScheme?: (listener: (scheme: BrowserPreferredColorScheme) => void) => () => void;
|
|
120
|
+
}
|
|
121
|
+
declare function registerBrowserNodeElectronMain(input: RegisterBrowserNodeElectronMainInput): void;
|
|
122
|
+
|
|
123
|
+
declare function sanitizeBrowserGuestUserAgent(userAgent: string): string;
|
|
124
|
+
declare function applyBrowserGuestUserAgent(contents: WebContents, logger?: BrowserNodeElectronLogger): void;
|
|
125
|
+
|
|
126
|
+
interface BrowserSessionPartitionAllowedOptions {
|
|
127
|
+
additionalAllowedPrefixes?: readonly string[];
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
interface BrowserWebviewSecurityInput {
|
|
131
|
+
allowedSessionPartitions?: BrowserSessionPartitionAllowedOptions;
|
|
132
|
+
params: Record<string, string>;
|
|
133
|
+
resolvePreload?: BrowserWebviewPreloadResolver;
|
|
134
|
+
webPreferences: WebPreferences;
|
|
135
|
+
}
|
|
136
|
+
interface BrowserWebviewSecurityResult {
|
|
137
|
+
allowed: boolean;
|
|
138
|
+
reason: string | null;
|
|
139
|
+
}
|
|
140
|
+
type BrowserNodeWebviewMatcher = (params: Record<string, string>) => boolean;
|
|
141
|
+
interface BrowserWebviewPreloadResolverInput {
|
|
142
|
+
params: Readonly<Record<string, string>>;
|
|
143
|
+
}
|
|
144
|
+
type BrowserWebviewPreloadResolver = (input: BrowserWebviewPreloadResolverInput) => string | null | undefined;
|
|
145
|
+
declare function isBrowserNodeWebviewAttach(params: Record<string, string>, allowedSessionPartitions?: BrowserSessionPartitionAllowedOptions): boolean;
|
|
146
|
+
declare function enforceBrowserWebviewSecurity({ allowedSessionPartitions, params, resolvePreload, webPreferences }: BrowserWebviewSecurityInput): BrowserWebviewSecurityResult;
|
|
147
|
+
interface InstallBrowserWebviewSecurityInput {
|
|
148
|
+
allowedSessionPartitions?: BrowserSessionPartitionAllowedOptions;
|
|
149
|
+
contents: WebContents;
|
|
150
|
+
logger?: BrowserNodeElectronLogger;
|
|
151
|
+
onGuestAttached?: (guestContents: WebContents) => void;
|
|
152
|
+
openExternal: (url: string) => Promise<void> | void;
|
|
153
|
+
resolvePreload?: BrowserWebviewPreloadResolver;
|
|
154
|
+
shouldHandleWebview?: BrowserNodeWebviewMatcher;
|
|
155
|
+
}
|
|
156
|
+
declare function installBrowserWebviewSecurity({ allowedSessionPartitions, contents, logger, onGuestAttached, openExternal, resolvePreload, shouldHandleWebview }: InstallBrowserWebviewSecurityInput): () => void;
|
|
157
|
+
|
|
158
|
+
export { type BrowserNodeElectronDevToolsContextMenuInput, type BrowserNodeElectronLogger, type BrowserNodeElectronMainChannels, type BrowserNodeLoopbackPreviewResolver, type BrowserNodeLoopbackPreviewRoutingOptions, type BrowserNodeLoopbackPreviewTarget, type BrowserNodeWebviewMatcher, type BrowserWebviewPreloadResolver, type BrowserWebviewPreloadResolverInput, type BrowserWebviewSecurityInput, type BrowserWebviewSecurityResult, type InstallBrowserWebviewSecurityInput, type RegisterBrowserNodeElectronMainInput, applyBrowserGuestUserAgent, enforceBrowserWebviewSecurity, installBrowserWebviewSecurity, isBrowserNodeWebviewAttach, registerBrowserNodeElectronMain, sanitizeBrowserGuestUserAgent };
|