@dyyz1993/agent-browser 0.27.4 → 0.29.0
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/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +160 -296
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/interaction.d.ts.map +1 -1
- package/dist/actions/interaction.js +3 -2
- package/dist/actions/interaction.js.map +1 -1
- package/dist/actions/search.d.ts.map +1 -1
- package/dist/actions/search.js +15 -5
- package/dist/actions/search.js.map +1 -1
- package/dist/actions/utils.js +1 -1
- package/dist/actions/utils.js.map +1 -1
- package/dist/browser/browser-manager.d.ts.map +1 -1
- package/dist/browser/browser-manager.js +1 -0
- package/dist/browser/browser-manager.js.map +1 -1
- package/dist/cli/commands/index.d.ts +5 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +217 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/interact.d.ts +7 -0
- package/dist/cli/commands/interact.d.ts.map +1 -0
- package/dist/cli/commands/interact.js +371 -0
- package/dist/cli/commands/interact.js.map +1 -0
- package/dist/cli/commands/navigate.d.ts +4 -0
- package/dist/cli/commands/navigate.d.ts.map +1 -0
- package/dist/cli/commands/navigate.js +46 -0
- package/dist/cli/commands/navigate.js.map +1 -0
- package/dist/cli/commands/network.d.ts +3 -0
- package/dist/cli/commands/network.d.ts.map +1 -0
- package/dist/cli/commands/network.js +292 -0
- package/dist/cli/commands/network.js.map +1 -0
- package/dist/cli/commands/plugin.d.ts +3 -0
- package/dist/cli/commands/plugin.d.ts.map +1 -0
- package/dist/cli/commands/plugin.js +84 -0
- package/dist/cli/commands/plugin.js.map +1 -0
- package/dist/cli/commands/query.d.ts +7 -0
- package/dist/cli/commands/query.d.ts.map +1 -0
- package/dist/cli/commands/query.js +333 -0
- package/dist/cli/commands/query.js.map +1 -0
- package/dist/cli/commands/session.d.ts +3 -0
- package/dist/cli/commands/session.d.ts.map +1 -0
- package/dist/cli/commands/session.js +369 -0
- package/dist/cli/commands/session.js.map +1 -0
- package/dist/cli/commands/shared.d.ts +24 -0
- package/dist/cli/commands/shared.d.ts.map +1 -0
- package/dist/cli/commands/shared.js +113 -0
- package/dist/cli/commands/shared.js.map +1 -0
- package/dist/cli/commands.d.ts +1 -7
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +1 -1684
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +1 -24
- package/dist/cli/help.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +31 -1
- package/dist/daemon.js.map +1 -1
- package/dist/openapi.d.ts.map +1 -1
- package/dist/openapi.js +2 -1
- package/dist/openapi.js.map +1 -1
- package/dist/plugins/context.d.ts.map +1 -1
- package/dist/plugins/context.js +23 -6
- package/dist/plugins/context.js.map +1 -1
- package/dist/plugins/registry.d.ts.map +1 -1
- package/dist/plugins/registry.js +4 -1
- package/dist/plugins/registry.js.map +1 -1
- package/dist/plugins/types.d.ts +35 -4
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/snapshot/constants.d.ts +6 -0
- package/dist/snapshot/constants.d.ts.map +1 -0
- package/dist/snapshot/constants.js +77 -0
- package/dist/snapshot/constants.js.map +1 -0
- package/dist/snapshot/dom-scripts.d.ts +12 -0
- package/dist/snapshot/dom-scripts.d.ts.map +1 -0
- package/dist/snapshot/dom-scripts.js +438 -0
- package/dist/snapshot/dom-scripts.js.map +1 -0
- package/dist/snapshot/format.d.ts +13 -0
- package/dist/snapshot/format.d.ts.map +1 -0
- package/dist/snapshot/format.js +175 -0
- package/dist/snapshot/format.js.map +1 -0
- package/dist/snapshot/index.d.ts +6 -0
- package/dist/snapshot/index.d.ts.map +1 -0
- package/dist/snapshot/index.js +5 -0
- package/dist/snapshot/index.js.map +1 -0
- package/dist/snapshot/refs.d.ts +3 -0
- package/dist/snapshot/refs.d.ts.map +1 -0
- package/dist/snapshot/refs.js +8 -0
- package/dist/snapshot/refs.js.map +1 -0
- package/dist/snapshot/selectors.d.ts +17 -0
- package/dist/snapshot/selectors.d.ts.map +1 -0
- package/dist/snapshot/selectors.js +619 -0
- package/dist/snapshot/selectors.js.map +1 -0
- package/dist/snapshot/snapshot.d.ts +12 -0
- package/dist/snapshot/snapshot.d.ts.map +1 -0
- package/dist/snapshot/snapshot.js +104 -0
- package/dist/snapshot/snapshot.js.map +1 -0
- package/dist/snapshot/types.d.ts +27 -0
- package/dist/snapshot/types.d.ts.map +1 -0
- package/dist/snapshot/types.js +2 -0
- package/dist/snapshot/types.js.map +1 -0
- package/dist/snapshot.d.ts +1 -79
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +1 -1800
- package/dist/snapshot.js.map +1 -1
- package/dist/ssr-detection.d.ts +9 -0
- package/dist/ssr-detection.d.ts.map +1 -0
- package/dist/ssr-detection.js +119 -0
- package/dist/ssr-detection.js.map +1 -0
- package/dist/stream/client-state.d.ts +13 -0
- package/dist/stream/client-state.d.ts.map +1 -0
- package/dist/stream/client-state.js +2 -0
- package/dist/stream/client-state.js.map +1 -0
- package/dist/stream/element-utils.d.ts +8 -0
- package/dist/stream/element-utils.d.ts.map +1 -0
- package/dist/stream/element-utils.js +25 -0
- package/dist/stream/element-utils.js.map +1 -0
- package/dist/stream/frame-processor.d.ts +63 -0
- package/dist/stream/frame-processor.d.ts.map +1 -0
- package/dist/stream/frame-processor.js +178 -0
- package/dist/stream/frame-processor.js.map +1 -0
- package/dist/stream/index.d.ts +10 -0
- package/dist/stream/index.d.ts.map +1 -0
- package/dist/stream/index.js +5 -0
- package/dist/stream/index.js.map +1 -0
- package/dist/stream/input-handler.d.ts +10 -0
- package/dist/stream/input-handler.d.ts.map +1 -0
- package/dist/stream/input-handler.js +81 -0
- package/dist/stream/input-handler.js.map +1 -0
- package/dist/stream/messages.d.ts +144 -0
- package/dist/stream/messages.d.ts.map +1 -0
- package/dist/stream/messages.js +46 -0
- package/dist/stream/messages.js.map +1 -0
- package/dist/stream-server-standalone.d.ts +0 -3
- package/dist/stream-server-standalone.d.ts.map +1 -1
- package/dist/stream-server-standalone.js +223 -101
- package/dist/stream-server-standalone.js.map +1 -1
- package/dist/stream-server.d.ts +8 -212
- package/dist/stream-server.d.ts.map +1 -1
- package/dist/stream-server.js +35 -389
- package/dist/stream-server.js.map +1 -1
- package/dist/types/base.d.ts +11 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/base.js +2 -0
- package/dist/types/base.js.map +1 -0
- package/dist/types/browser.d.ts +26 -0
- package/dist/types/browser.d.ts.map +1 -0
- package/dist/types/browser.js +2 -0
- package/dist/types/browser.js.map +1 -0
- package/dist/types/commands.d.ts +763 -0
- package/dist/types/commands.d.ts.map +1 -0
- package/dist/types/commands.js +2 -0
- package/dist/types/commands.js.map +1 -0
- package/dist/types/crawl.d.ts +89 -0
- package/dist/types/crawl.d.ts.map +1 -0
- package/dist/types/crawl.js +2 -0
- package/dist/types/crawl.js.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +9 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/interact.d.ts +61 -0
- package/dist/types/interact.d.ts.map +1 -0
- package/dist/types/interact.js +2 -0
- package/dist/types/interact.js.map +1 -0
- package/dist/types/plugins.d.ts +39 -0
- package/dist/types/plugins.d.ts.map +1 -0
- package/dist/types/plugins.js +2 -0
- package/dist/types/plugins.js.map +1 -0
- package/dist/types/responses.d.ts +140 -0
- package/dist/types/responses.d.ts.map +1 -0
- package/dist/types/responses.js +4 -0
- package/dist/types/responses.js.map +1 -0
- package/dist/types/utils.d.ts +12 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/utils.js +2 -0
- package/dist/types/utils.js.map +1 -0
- package/dist/types.d.ts +1 -1121
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -3
- package/dist/types.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +31 -0
- package/dist/version.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
export async function handleInputEvent(message, browser, stateManager, inputFillDebounceMap, inputFillDebounceMs) {
|
|
2
|
+
switch (message.type) {
|
|
3
|
+
case 'input_mouse':
|
|
4
|
+
stateManager.onUserInteraction();
|
|
5
|
+
await browser.injectMouseEvent({
|
|
6
|
+
type: message.eventType,
|
|
7
|
+
x: message.x,
|
|
8
|
+
y: message.y,
|
|
9
|
+
button: message.button,
|
|
10
|
+
clickCount: message.clickCount,
|
|
11
|
+
deltaX: message.deltaX,
|
|
12
|
+
deltaY: message.deltaY,
|
|
13
|
+
modifiers: message.modifiers,
|
|
14
|
+
});
|
|
15
|
+
break;
|
|
16
|
+
case 'input_keyboard':
|
|
17
|
+
stateManager.onUserInteraction();
|
|
18
|
+
await browser.injectKeyboardEvent({
|
|
19
|
+
type: message.eventType,
|
|
20
|
+
key: message.key,
|
|
21
|
+
code: message.code,
|
|
22
|
+
text: message.text,
|
|
23
|
+
modifiers: message.modifiers,
|
|
24
|
+
});
|
|
25
|
+
break;
|
|
26
|
+
case 'input_touch':
|
|
27
|
+
stateManager.onUserInteraction();
|
|
28
|
+
await browser.injectTouchEvent({
|
|
29
|
+
type: message.eventType,
|
|
30
|
+
touchPoints: message.touchPoints,
|
|
31
|
+
modifiers: message.modifiers,
|
|
32
|
+
});
|
|
33
|
+
break;
|
|
34
|
+
case 'input_text':
|
|
35
|
+
stateManager.onUserInteraction();
|
|
36
|
+
await browser.insertText(message.text);
|
|
37
|
+
break;
|
|
38
|
+
case 'keyboard_down':
|
|
39
|
+
stateManager.onUserInteraction();
|
|
40
|
+
await browser.getPage().keyboard.down(message.key);
|
|
41
|
+
break;
|
|
42
|
+
case 'keyboard_up':
|
|
43
|
+
await browser.getPage().keyboard.up(message.key);
|
|
44
|
+
break;
|
|
45
|
+
case 'keyboard_insert_text':
|
|
46
|
+
stateManager.onUserInteraction();
|
|
47
|
+
await browser.getPage().keyboard.insertText(message.text);
|
|
48
|
+
break;
|
|
49
|
+
case 'input_fill': {
|
|
50
|
+
const sel = message.selector || '';
|
|
51
|
+
const txt = message.text || '';
|
|
52
|
+
if (inputFillDebounceMap && inputFillDebounceMs) {
|
|
53
|
+
const key = sel || '__global__';
|
|
54
|
+
const prev = inputFillDebounceMap.get(key);
|
|
55
|
+
if (prev)
|
|
56
|
+
clearTimeout(prev.timer);
|
|
57
|
+
const timer = setTimeout(async () => {
|
|
58
|
+
inputFillDebounceMap.delete(key);
|
|
59
|
+
try {
|
|
60
|
+
await browser.fillValue(sel, txt);
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
console.error('[StreamServer] input_fill debounce error:', e.message);
|
|
64
|
+
}
|
|
65
|
+
}, inputFillDebounceMs);
|
|
66
|
+
inputFillDebounceMap.set(key, { timer, text: txt, selector: sel });
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
await browser.fillValue(sel, txt);
|
|
70
|
+
}
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
case 'input_blur_element':
|
|
74
|
+
await browser.blurElement(message.selector || '');
|
|
75
|
+
break;
|
|
76
|
+
case 'user_activity':
|
|
77
|
+
stateManager.onUserInteraction();
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=input-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-handler.js","sourceRoot":"","sources":["../../src/stream/input-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import type { StreamState } from './frame-processor.js';
|
|
2
|
+
import type { Command } from '../types.js';
|
|
3
|
+
export declare function isAllowedOrigin(origin: string | undefined): boolean;
|
|
4
|
+
export interface FrameMessage {
|
|
5
|
+
type: 'frame';
|
|
6
|
+
metadata: {
|
|
7
|
+
offsetTop: number;
|
|
8
|
+
pageScaleFactor: number;
|
|
9
|
+
deviceWidth: number;
|
|
10
|
+
deviceHeight: number;
|
|
11
|
+
scrollOffsetX: number;
|
|
12
|
+
scrollOffsetY: number;
|
|
13
|
+
timestamp?: number;
|
|
14
|
+
};
|
|
15
|
+
format: 'jpeg' | 'webp';
|
|
16
|
+
fps: number;
|
|
17
|
+
state: StreamState;
|
|
18
|
+
}
|
|
19
|
+
export interface InputMouseMessage {
|
|
20
|
+
type: 'input_mouse';
|
|
21
|
+
eventType: 'mousePressed' | 'mouseReleased' | 'mouseMoved' | 'mouseWheel';
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
button?: 'left' | 'right' | 'middle' | 'none';
|
|
25
|
+
clickCount?: number;
|
|
26
|
+
deltaX?: number;
|
|
27
|
+
deltaY?: number;
|
|
28
|
+
modifiers?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface InputKeyboardMessage {
|
|
31
|
+
type: 'input_keyboard';
|
|
32
|
+
eventType: 'keyDown' | 'keyUp' | 'rawKeyDown' | 'char';
|
|
33
|
+
key?: string;
|
|
34
|
+
code?: string;
|
|
35
|
+
text?: string;
|
|
36
|
+
modifiers?: number;
|
|
37
|
+
}
|
|
38
|
+
export interface InputTouchMessage {
|
|
39
|
+
type: 'input_touch';
|
|
40
|
+
eventType: 'touchStart' | 'touchEnd' | 'touchMove' | 'touchCancel';
|
|
41
|
+
touchPoints: Array<{
|
|
42
|
+
x: number;
|
|
43
|
+
y: number;
|
|
44
|
+
id?: number;
|
|
45
|
+
}>;
|
|
46
|
+
modifiers?: number;
|
|
47
|
+
}
|
|
48
|
+
export interface InputTextMessage {
|
|
49
|
+
type: 'input_text';
|
|
50
|
+
text: string;
|
|
51
|
+
}
|
|
52
|
+
export interface KeyboardDownMessage {
|
|
53
|
+
type: 'keyboard_down';
|
|
54
|
+
key: string;
|
|
55
|
+
}
|
|
56
|
+
export interface KeyboardUpMessage {
|
|
57
|
+
type: 'keyboard_up';
|
|
58
|
+
key: string;
|
|
59
|
+
}
|
|
60
|
+
export interface KeyboardInsertTextMessage {
|
|
61
|
+
type: 'keyboard_insert_text';
|
|
62
|
+
text: string;
|
|
63
|
+
}
|
|
64
|
+
export interface InputFillMessage {
|
|
65
|
+
type: 'input_fill';
|
|
66
|
+
selector?: string;
|
|
67
|
+
text?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface InputBlurElementMessage {
|
|
70
|
+
type: 'input_blur_element';
|
|
71
|
+
selector?: string;
|
|
72
|
+
}
|
|
73
|
+
export interface StatusMessage {
|
|
74
|
+
type: 'status';
|
|
75
|
+
connected: boolean;
|
|
76
|
+
screencasting: boolean;
|
|
77
|
+
viewportWidth?: number;
|
|
78
|
+
viewportHeight?: number;
|
|
79
|
+
fps?: number;
|
|
80
|
+
state?: StreamState;
|
|
81
|
+
element?: {
|
|
82
|
+
selector: string;
|
|
83
|
+
x: number;
|
|
84
|
+
y: number;
|
|
85
|
+
width: number;
|
|
86
|
+
height: number;
|
|
87
|
+
};
|
|
88
|
+
degraded?: boolean;
|
|
89
|
+
version?: string;
|
|
90
|
+
}
|
|
91
|
+
export interface ErrorMessage {
|
|
92
|
+
type: 'error';
|
|
93
|
+
message: string;
|
|
94
|
+
}
|
|
95
|
+
export interface TabCreatedMessage {
|
|
96
|
+
type: 'tab_created';
|
|
97
|
+
data: {
|
|
98
|
+
index: number;
|
|
99
|
+
url: string;
|
|
100
|
+
title: string;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
export interface TabClosedMessage {
|
|
104
|
+
type: 'tab_closed';
|
|
105
|
+
data: {
|
|
106
|
+
index: number;
|
|
107
|
+
remainingTabs: number;
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
export interface TabSwitchedMessage {
|
|
111
|
+
type: 'tab_switched';
|
|
112
|
+
data: {
|
|
113
|
+
fromIndex: number;
|
|
114
|
+
toIndex: number;
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
export interface NavigationMessage {
|
|
118
|
+
type: 'navigation';
|
|
119
|
+
data: {
|
|
120
|
+
url: string;
|
|
121
|
+
title: string;
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
export interface UserActivityMessage {
|
|
125
|
+
type: 'user_activity';
|
|
126
|
+
}
|
|
127
|
+
export interface InputFocusedMessage {
|
|
128
|
+
type: 'input_focused';
|
|
129
|
+
tag: string;
|
|
130
|
+
inputType: string;
|
|
131
|
+
value: string;
|
|
132
|
+
placeholder: string;
|
|
133
|
+
id: string;
|
|
134
|
+
}
|
|
135
|
+
export interface InputValueMessage {
|
|
136
|
+
type: 'input_value';
|
|
137
|
+
text: string;
|
|
138
|
+
}
|
|
139
|
+
export interface InputBlurMessage {
|
|
140
|
+
type: 'input_blur';
|
|
141
|
+
}
|
|
142
|
+
export type StreamMessage = FrameMessage | InputMouseMessage | InputKeyboardMessage | InputTouchMessage | InputTextMessage | KeyboardDownMessage | KeyboardUpMessage | KeyboardInsertTextMessage | InputFocusedMessage | InputValueMessage | InputBlurMessage | InputFillMessage | InputBlurElementMessage | StatusMessage | ErrorMessage | TabCreatedMessage | TabClosedMessage | TabSwitchedMessage | NavigationMessage | UserActivityMessage | Command;
|
|
143
|
+
export declare function isCommandMessage(msg: StreamMessage): msg is Command;
|
|
144
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/stream/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
function isPrivateIP(hostname) {
|
|
2
|
+
const parts = hostname.split('.').map(Number);
|
|
3
|
+
if (parts.length === 4 && parts.every((p) => !isNaN(p))) {
|
|
4
|
+
const [a, b] = parts;
|
|
5
|
+
if (a === 10)
|
|
6
|
+
return true;
|
|
7
|
+
if (a === 172 && b >= 16 && b <= 31)
|
|
8
|
+
return true;
|
|
9
|
+
if (a === 192 && b === 168)
|
|
10
|
+
return true;
|
|
11
|
+
if (a === 127)
|
|
12
|
+
return true;
|
|
13
|
+
if (a === 0)
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
const lower = hostname.toLowerCase();
|
|
17
|
+
if (lower === '::1' || lower === '[::1]' || lower === '::' || lower === 'localhost')
|
|
18
|
+
return true;
|
|
19
|
+
if (lower.startsWith('fc') || lower.startsWith('fd') || lower.startsWith('fe80'))
|
|
20
|
+
return true;
|
|
21
|
+
if (hostname === 'localhost')
|
|
22
|
+
return true;
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
export function isAllowedOrigin(origin) {
|
|
26
|
+
if (!origin) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
if (origin.startsWith('file://')) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const url = new URL(origin);
|
|
34
|
+
if (isPrivateIP(url.hostname)) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// Invalid origin URL - reject
|
|
40
|
+
}
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
export function isCommandMessage(msg) {
|
|
44
|
+
return 'id' in msg && 'action' in msg && !('type' in msg);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/stream/messages.ts"],"names":[],"mappings":"AAGA,SAAS,WAAW,CAAC,QAAgB;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IAC3B,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACjG,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9F,IAAI,QAAQ,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAE1C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAA0B;IACxD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAsKD,MAAM,UAAU,gBAAgB,CAAC,GAAkB;IACjD,OAAO,IAAI,IAAI,GAAG,IAAI,QAAQ,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -30,9 +30,6 @@ declare class StreamServerStandalone {
|
|
|
30
30
|
private broadcastStatus;
|
|
31
31
|
private sendStatus;
|
|
32
32
|
private getTotalClientCount;
|
|
33
|
-
/**
|
|
34
|
-
* Send a command to the daemon via Unix socket and return the response
|
|
35
|
-
*/
|
|
36
33
|
private sendCommandToDaemon;
|
|
37
34
|
private getPidFile;
|
|
38
35
|
private getIpcPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-server-standalone.d.ts","sourceRoot":"","sources":["../src/stream-server-standalone.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stream-server-standalone.d.ts","sourceRoot":"","sources":["../src/stream-server-standalone.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMpD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAmCD,cAAM,sBAAsB;IAC1B,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,YAAY,CAA8D;IAClF,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,YAAY,CAA4D;IAChF,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,EAAE,cAAc,CAAC;gBAEb,IAAI,GAAE,MAA4B;YAIhC,kBAAkB;IA6B1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAsBd,WAAW;IAoTzB,OAAO,CAAC,yBAAyB;IAkHjC,OAAO,CAAC,mBAAmB;IAkD3B,OAAO,CAAC,iBAAiB;YAkBX,gBAAgB;YAiDhB,cAAc;IAyB5B,OAAO,CAAC,mBAAmB;YAsCb,gBAAgB;IAmG9B,OAAO,CAAC,eAAe;YA6GT,cAAc;IAgG5B,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,mBAAmB;YAQb,mBAAmB;IA6FjC,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,qBAAqB;IAuCvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA+B5B;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|