@vforsh/argus-watcher 0.1.12 → 0.1.13
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/.tsbuildinfo +1 -1
- package/dist/cdp/mouse.d.ts +19 -3
- package/dist/cdp/mouse.d.ts.map +1 -1
- package/dist/cdp/mouse.js +57 -9
- package/dist/cdp/mouse.js.map +1 -1
- package/dist/cdp/pageIndicator.d.ts +5 -0
- package/dist/cdp/pageIndicator.d.ts.map +1 -1
- package/dist/cdp/pageIndicator.js +21 -5
- package/dist/cdp/pageIndicator.js.map +1 -1
- package/dist/cdp/pageIndicatorScript.d.ts +4 -3
- package/dist/cdp/pageIndicatorScript.d.ts.map +1 -1
- package/dist/cdp/pageIndicatorScript.js +61 -7
- package/dist/cdp/pageIndicatorScript.js.map +1 -1
- package/dist/cdp/recording.d.ts +15 -0
- package/dist/cdp/recording.d.ts.map +1 -0
- package/dist/cdp/recording.js +389 -0
- package/dist/cdp/recording.js.map +1 -0
- package/dist/cdp/screenshot.d.ts.map +1 -1
- package/dist/cdp/screenshot.js +2 -133
- package/dist/cdp/screenshot.js.map +1 -1
- package/dist/cdp/visualCapture.d.ts +38 -0
- package/dist/cdp/visualCapture.d.ts.map +1 -0
- package/dist/cdp/visualCapture.js +156 -0
- package/dist/cdp/visualCapture.js.map +1 -0
- package/dist/events.d.ts +1 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/http/routes/getExtensionDiagnostics.d.ts +2 -0
- package/dist/http/routes/getExtensionDiagnostics.d.ts.map +1 -0
- package/dist/http/routes/getExtensionDiagnostics.js +16 -0
- package/dist/http/routes/getExtensionDiagnostics.js.map +1 -0
- package/dist/http/routes/index.d.ts.map +1 -1
- package/dist/http/routes/index.js +6 -0
- package/dist/http/routes/index.js.map +1 -1
- package/dist/http/routes/postAttach.d.ts.map +1 -1
- package/dist/http/routes/postAttach.js +6 -3
- package/dist/http/routes/postAttach.js.map +1 -1
- package/dist/http/routes/postDetach.d.ts.map +1 -1
- package/dist/http/routes/postDetach.js +6 -3
- package/dist/http/routes/postDetach.js.map +1 -1
- package/dist/http/routes/postDomClick.d.ts.map +1 -1
- package/dist/http/routes/postDomClick.js +12 -20
- package/dist/http/routes/postDomClick.js.map +1 -1
- package/dist/http/routes/postDomDrag.d.ts +2 -0
- package/dist/http/routes/postDomDrag.d.ts.map +1 -0
- package/dist/http/routes/postDomDrag.js +54 -0
- package/dist/http/routes/postDomDrag.js.map +1 -0
- package/dist/http/routes/postRecord.d.ts +3 -0
- package/dist/http/routes/postRecord.d.ts.map +1 -0
- package/dist/http/routes/postRecord.js +88 -0
- package/dist/http/routes/postRecord.js.map +1 -0
- package/dist/http/server.d.ts +3 -1
- package/dist/http/server.d.ts.map +1 -1
- package/dist/http/server.js.map +1 -1
- package/dist/native-messaging/control-session-manager.d.ts +24 -4
- package/dist/native-messaging/control-session-manager.d.ts.map +1 -1
- package/dist/native-messaging/control-session-manager.js +69 -23
- package/dist/native-messaging/control-session-manager.js.map +1 -1
- package/dist/native-messaging/types.d.ts +62 -3
- package/dist/native-messaging/types.d.ts.map +1 -1
- package/dist/runtime/watcherServices.d.ts +3 -0
- package/dist/runtime/watcherServices.d.ts.map +1 -1
- package/dist/runtime/watcherServices.js +12 -0
- package/dist/runtime/watcherServices.js.map +1 -1
- package/dist/sources/extension-control-source.d.ts.map +1 -1
- package/dist/sources/extension-control-source.js +25 -4
- package/dist/sources/extension-control-source.js.map +1 -1
- package/dist/sources/extension-source.d.ts.map +1 -1
- package/dist/sources/extension-source.js +16 -3
- package/dist/sources/extension-source.js.map +1 -1
- package/dist/sources/types.d.ts +7 -3
- package/dist/sources/types.d.ts.map +1 -1
- package/dist/startWatcherRuntime.d.ts.map +1 -1
- package/dist/startWatcherRuntime.js +7 -1
- package/dist/startWatcherRuntime.js.map +1 -1
- package/package.json +1 -1
package/dist/cdp/mouse.d.ts
CHANGED
|
@@ -8,11 +8,26 @@ type Point = {
|
|
|
8
8
|
x: number;
|
|
9
9
|
y: number;
|
|
10
10
|
};
|
|
11
|
+
export type MouseButton = 'left' | 'middle' | 'right';
|
|
12
|
+
export type DragDestination = {
|
|
13
|
+
to: Point;
|
|
14
|
+
} | {
|
|
15
|
+
delta: Point;
|
|
16
|
+
};
|
|
17
|
+
export type DragGestureOptions = {
|
|
18
|
+
button?: MouseButton;
|
|
19
|
+
durationMs?: number;
|
|
20
|
+
steps?: number;
|
|
21
|
+
};
|
|
11
22
|
export declare const resolveDomSelectorMatches: (session: CdpSessionHandle, selector: string, all: boolean, text?: string) => Promise<SelectorMatchResult>;
|
|
12
23
|
export declare const hoverDomNodes: (session: CdpSessionHandle, handles: DomNodeHandle[]) => Promise<void>;
|
|
13
|
-
export declare const clickAtPoint: (session: CdpSessionHandle, x: number, y: number, button?:
|
|
14
|
-
export declare const
|
|
15
|
-
export declare const
|
|
24
|
+
export declare const clickAtPoint: (session: CdpSessionHandle, x: number, y: number, button?: MouseButton) => Promise<void>;
|
|
25
|
+
export declare const dragAtPoints: (session: CdpSessionHandle, start: Point, end: Point, options?: DragGestureOptions) => Promise<void>;
|
|
26
|
+
export declare const dragDomNodes: (session: CdpSessionHandle, handles: DomNodeHandle[], destination: DragDestination, options?: DragGestureOptions & {
|
|
27
|
+
offset?: Point;
|
|
28
|
+
}) => Promise<void>;
|
|
29
|
+
export declare const resolveDragEndPoint: (start: Point, destination: DragDestination) => Point;
|
|
30
|
+
export declare const clickDomNodes: (session: CdpSessionHandle, handles: DomNodeHandle[], button?: MouseButton) => Promise<void>;
|
|
16
31
|
export declare const focusDomNodes: (session: CdpSessionHandle, handles: DomNodeHandle[]) => Promise<void>;
|
|
17
32
|
export declare const scrollIntoView: (session: CdpSessionHandle, handle: DomNodeHandle) => Promise<void>;
|
|
18
33
|
type ScrollPosition = {
|
|
@@ -36,6 +51,7 @@ type ScrollMode = {
|
|
|
36
51
|
export declare const scrollDomNodes: (session: CdpSessionHandle, handles: DomNodeHandle[], mode: ScrollMode) => Promise<ScrollPosition>;
|
|
37
52
|
/** Scroll the page viewport to an absolute or relative position. */
|
|
38
53
|
export declare const scrollViewport: (session: CdpSessionHandle, mode: ScrollMode) => Promise<ScrollPosition>;
|
|
54
|
+
export declare const resolveNodePoint: (session: CdpSessionHandle, handle: DomNodeHandle, offset?: Point) => Promise<Point>;
|
|
39
55
|
/** Dispatch a mouseWheel event at the given viewport coordinates. */
|
|
40
56
|
export declare const emulateScroll: (session: CdpSessionHandle, x: number, y: number, delta: {
|
|
41
57
|
x: number;
|
package/dist/cdp/mouse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mouse.d.ts","sourceRoot":"","sources":["../../src/cdp/mouse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAA+C,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEnG,KAAK,mBAAmB,GAAG;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAED,KAAK,KAAK,GAAG;IACZ,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACT,CAAA;AAED,eAAO,MAAM,yBAAyB,GACrC,SAAS,gBAAgB,EACzB,UAAU,MAAM,EAChB,KAAK,OAAO,EACZ,OAAO,MAAM,KACX,OAAO,CAAC,mBAAmB,CAE7B,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,SAAS,gBAAgB,EAAE,SAAS,aAAa,EAAE,KAAG,OAAO,CAAC,IAAI,CAUrG,CAAA;AAKD,eAAO,MAAM,YAAY,GAAU,SAAS,gBAAgB,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,SAAQ,
|
|
1
|
+
{"version":3,"file":"mouse.d.ts","sourceRoot":"","sources":["../../src/cdp/mouse.ts"],"names":[],"mappings":"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"}
|
package/dist/cdp/mouse.js
CHANGED
|
@@ -8,7 +8,7 @@ export const hoverDomNodes = async (session, handles) => {
|
|
|
8
8
|
}
|
|
9
9
|
for (const handle of handles) {
|
|
10
10
|
await scrollIntoView(session, handle);
|
|
11
|
-
const point = await
|
|
11
|
+
const point = await resolveNodePoint(session, handle);
|
|
12
12
|
await dispatchMouseEvent(session, { type: 'mouseMoved', x: point.x, y: point.y });
|
|
13
13
|
}
|
|
14
14
|
};
|
|
@@ -20,12 +20,52 @@ export const clickAtPoint = async (session, x, y, button = 'left') => {
|
|
|
20
20
|
await dispatchMouseEvent(session, { type: 'mousePressed', x, y, button, buttons: mask, clickCount: 1 });
|
|
21
21
|
await dispatchMouseEvent(session, { type: 'mouseReleased', x, y, button, buttons: 0, clickCount: 1 });
|
|
22
22
|
};
|
|
23
|
-
export const
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
export const dragAtPoints = async (session, start, end, options = {}) => {
|
|
24
|
+
const button = options.button ?? 'left';
|
|
25
|
+
const mask = BUTTON_MASK[button] ?? 1;
|
|
26
|
+
const steps = Math.max(1, Math.floor(options.steps ?? 12));
|
|
27
|
+
const durationMs = Math.max(0, options.durationMs ?? 250);
|
|
28
|
+
const stepDelayMs = durationMs / steps;
|
|
29
|
+
let latest = start;
|
|
30
|
+
let pressed = false;
|
|
31
|
+
await dispatchMouseEvent(session, { type: 'mouseMoved', x: start.x, y: start.y });
|
|
32
|
+
try {
|
|
33
|
+
await dispatchMouseEvent(session, { type: 'mousePressed', x: start.x, y: start.y, button, buttons: mask, clickCount: 1 });
|
|
34
|
+
pressed = true;
|
|
35
|
+
for (let i = 1; i <= steps; i++) {
|
|
36
|
+
if (stepDelayMs > 0) {
|
|
37
|
+
await sleep(stepDelayMs);
|
|
38
|
+
}
|
|
39
|
+
latest = interpolatePoint(start, end, i / steps);
|
|
40
|
+
await dispatchMouseEvent(session, { type: 'mouseMoved', x: latest.x, y: latest.y, button, buttons: mask, clickCount: 1 });
|
|
41
|
+
}
|
|
42
|
+
await dispatchMouseEvent(session, { type: 'mouseReleased', x: end.x, y: end.y, button, buttons: 0, clickCount: 1 });
|
|
43
|
+
pressed = false;
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
if (pressed) {
|
|
47
|
+
await dispatchMouseEvent(session, { type: 'mouseReleased', x: latest.x, y: latest.y, button, buttons: 0, clickCount: 1 }).catch(() => undefined);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
export const dragDomNodes = async (session, handles, destination, options = {}) => {
|
|
52
|
+
if (handles.length === 0) {
|
|
53
|
+
return;
|
|
27
54
|
}
|
|
28
|
-
|
|
55
|
+
for (const handle of handles) {
|
|
56
|
+
await scrollIntoView(session, handle);
|
|
57
|
+
const start = await resolveNodePoint(session, handle, options.offset);
|
|
58
|
+
await dragAtPoints(session, start, resolveDragEndPoint(start, destination), options);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
export const resolveDragEndPoint = (start, destination) => {
|
|
62
|
+
if ('to' in destination) {
|
|
63
|
+
return destination.to;
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
x: start.x + destination.delta.x,
|
|
67
|
+
y: start.y + destination.delta.y,
|
|
68
|
+
};
|
|
29
69
|
};
|
|
30
70
|
export const clickDomNodes = async (session, handles, button = 'left') => {
|
|
31
71
|
if (handles.length === 0) {
|
|
@@ -34,7 +74,7 @@ export const clickDomNodes = async (session, handles, button = 'left') => {
|
|
|
34
74
|
const mask = BUTTON_MASK[button] ?? 1;
|
|
35
75
|
for (const handle of handles) {
|
|
36
76
|
await scrollIntoView(session, handle);
|
|
37
|
-
const point = await
|
|
77
|
+
const point = await resolveNodePoint(session, handle);
|
|
38
78
|
await dispatchMouseEvent(session, { type: 'mouseMoved', x: point.x, y: point.y });
|
|
39
79
|
await dispatchMouseEvent(session, { type: 'mousePressed', x: point.x, y: point.y, button, buttons: mask, clickCount: 1 });
|
|
40
80
|
await dispatchMouseEvent(session, { type: 'mouseReleased', x: point.x, y: point.y, button, buttons: 0, clickCount: 1 });
|
|
@@ -120,11 +160,14 @@ const getViewportScroll = async (session) => {
|
|
|
120
160
|
const parsed = result.result?.value ? JSON.parse(result.result.value) : { scrollX: 0, scrollY: 0 };
|
|
121
161
|
return { scrollX: parsed.scrollX, scrollY: parsed.scrollY };
|
|
122
162
|
};
|
|
123
|
-
const
|
|
163
|
+
export const resolveNodePoint = async (session, handle, offset) => {
|
|
124
164
|
const { x, y, w, h } = await resolveNodeRect(session, handle);
|
|
125
165
|
if (w <= 0 || h <= 0) {
|
|
126
166
|
throw createNotInteractableError('Element has zero area');
|
|
127
167
|
}
|
|
168
|
+
if (offset) {
|
|
169
|
+
return { x: x + offset.x, y: y + offset.y };
|
|
170
|
+
}
|
|
128
171
|
return { x: x + w / 2, y: y + h / 2 };
|
|
129
172
|
};
|
|
130
173
|
/** Uses getBoundingClientRect() to get viewport-relative coordinates (no scroll-offset ambiguity). */
|
|
@@ -174,7 +217,7 @@ export const emulateScrollOnNodes = async (session, handles, delta) => {
|
|
|
174
217
|
}
|
|
175
218
|
for (const handle of handles) {
|
|
176
219
|
await scrollIntoView(session, handle);
|
|
177
|
-
const point = await
|
|
220
|
+
const point = await resolveNodePoint(session, handle);
|
|
178
221
|
await emulateScroll(session, point.x, point.y, delta);
|
|
179
222
|
}
|
|
180
223
|
};
|
|
@@ -188,6 +231,11 @@ const dispatchMouseEvent = async (session, options) => {
|
|
|
188
231
|
clickCount: options.clickCount,
|
|
189
232
|
});
|
|
190
233
|
};
|
|
234
|
+
const interpolatePoint = (start, end, progress) => ({
|
|
235
|
+
x: start.x + (end.x - start.x) * progress,
|
|
236
|
+
y: start.y + (end.y - start.y) * progress,
|
|
237
|
+
});
|
|
238
|
+
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
191
239
|
const createNotInteractableError = (message) => {
|
|
192
240
|
const error = new Error(message);
|
|
193
241
|
error.code = 'not_interactable';
|
package/dist/cdp/mouse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mouse.js","sourceRoot":"","sources":["../../src/cdp/mouse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mouse.js","sourceRoot":"","sources":["../../src/cdp/mouse.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,9 +28,14 @@ export type PageIndicatorInfo = {
|
|
|
28
28
|
targetUrl: string | null;
|
|
29
29
|
attachedAt: number;
|
|
30
30
|
};
|
|
31
|
+
export type PageIndicatorState = {
|
|
32
|
+
recording: boolean;
|
|
33
|
+
};
|
|
31
34
|
export type PageIndicatorController = {
|
|
32
35
|
onAttach: (session: CdpSessionHandle, target: CdpTarget, info: PageIndicatorInfo) => void;
|
|
33
36
|
onNavigation: (session: CdpSessionHandle, info: PageIndicatorInfo) => void;
|
|
37
|
+
/** Update transient indicator state without reinstalling the DOM. */
|
|
38
|
+
setRecording: (recording: boolean) => void;
|
|
34
39
|
/** Re-inject the indicator using the last known info. Use after DOM is rebuilt (e.g. domContentEventFired). */
|
|
35
40
|
reinstall: () => void;
|
|
36
41
|
onDetach: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageIndicator.d.ts","sourceRoot":"","sources":["../../src/cdp/pageIndicator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,MAAM,qBAAqB,GAC9B,UAAU,GACV,YAAY,GACZ,WAAW,GACX,aAAa,GACb,eAAe,GACf,cAAc,GACd,aAAa,GACb,cAAc,CAAA;AAEjB,MAAM,MAAM,oBAAoB,GAAG;IAClC,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAChC,uGAAuG;IACvG,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gJAAgJ;IAChJ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACrC,QAAQ,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACzF,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAC1E,+GAA+G;IAC/G,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,IAAI,CAAA;CAChB,CAAA;AAKD,eAAO,MAAM,4BAA4B,GAAI,SAAS,oBAAoB,GAAG,SAAS,KAAG,IAgBxF,CAAA;AAOD,eAAO,MAAM,6BAA6B,GAAI,SAAS,oBAAoB,KAAG,
|
|
1
|
+
{"version":3,"file":"pageIndicator.d.ts","sourceRoot":"","sources":["../../src/cdp/pageIndicator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,MAAM,qBAAqB,GAC9B,UAAU,GACV,YAAY,GACZ,WAAW,GACX,aAAa,GACb,eAAe,GACf,cAAc,GACd,aAAa,GACb,cAAc,CAAA;AAEjB,MAAM,MAAM,oBAAoB,GAAG;IAClC,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAChC,uGAAuG;IACvG,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gJAAgJ;IAChJ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAChC,SAAS,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACrC,QAAQ,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACzF,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAC1E,qEAAqE;IACrE,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;IAC1C,+GAA+G;IAC/G,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,IAAI,CAAA;CAChB,CAAA;AAKD,eAAO,MAAM,4BAA4B,GAAI,SAAS,oBAAoB,GAAG,SAAS,KAAG,IAgBxF,CAAA;AAOD,eAAO,MAAM,6BAA6B,GAAI,SAAS,oBAAoB,KAAG,uBAsG7E,CAAA"}
|
|
@@ -33,6 +33,7 @@ export const createPageIndicatorController = (options) => {
|
|
|
33
33
|
let heartbeatTimer = null;
|
|
34
34
|
let currentSession = null;
|
|
35
35
|
let currentInfo = null;
|
|
36
|
+
let currentState = { recording: false };
|
|
36
37
|
const onAttach = (session, _target, info) => {
|
|
37
38
|
stop();
|
|
38
39
|
currentSession = session;
|
|
@@ -46,12 +47,13 @@ export const createPageIndicatorController = (options) => {
|
|
|
46
47
|
iconColor,
|
|
47
48
|
margin,
|
|
48
49
|
size,
|
|
50
|
+
state: currentState,
|
|
49
51
|
});
|
|
50
52
|
heartbeatTimer = setInterval(() => {
|
|
51
53
|
if (!currentSession || !currentInfo) {
|
|
52
54
|
return;
|
|
53
55
|
}
|
|
54
|
-
void sendHeartbeat(currentSession, currentInfo);
|
|
56
|
+
void sendHeartbeat(currentSession, currentInfo, currentState);
|
|
55
57
|
}, heartbeatMs);
|
|
56
58
|
};
|
|
57
59
|
const onNavigation = (session, info) => {
|
|
@@ -65,8 +67,19 @@ export const createPageIndicatorController = (options) => {
|
|
|
65
67
|
iconColor,
|
|
66
68
|
margin,
|
|
67
69
|
size,
|
|
70
|
+
state: currentState,
|
|
68
71
|
});
|
|
69
72
|
};
|
|
73
|
+
const setRecording = (recording) => {
|
|
74
|
+
if (currentState.recording === recording) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
currentState = { ...currentState, recording };
|
|
78
|
+
if (!currentSession || !currentInfo) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
void sendHeartbeat(currentSession, currentInfo, currentState);
|
|
82
|
+
};
|
|
70
83
|
const reinstall = () => {
|
|
71
84
|
if (!currentSession || !currentInfo) {
|
|
72
85
|
return;
|
|
@@ -80,6 +93,7 @@ export const createPageIndicatorController = (options) => {
|
|
|
80
93
|
iconColor,
|
|
81
94
|
margin,
|
|
82
95
|
size,
|
|
96
|
+
state: currentState,
|
|
83
97
|
});
|
|
84
98
|
};
|
|
85
99
|
const onDetach = () => {
|
|
@@ -92,14 +106,15 @@ export const createPageIndicatorController = (options) => {
|
|
|
92
106
|
}
|
|
93
107
|
currentSession = null;
|
|
94
108
|
currentInfo = null;
|
|
109
|
+
currentState = { recording: false };
|
|
95
110
|
};
|
|
96
111
|
const stop = () => {
|
|
97
112
|
onDetach();
|
|
98
113
|
};
|
|
99
|
-
return { onAttach, onNavigation, reinstall, onDetach, stop };
|
|
114
|
+
return { onAttach, onNavigation, setRecording, reinstall, onDetach, stop };
|
|
100
115
|
};
|
|
101
116
|
const installIndicator = async (session, params) => {
|
|
102
|
-
const { info, position, ttlMs, bgColor, hoverBgColor, iconColor, margin, size } = params;
|
|
117
|
+
const { info, position, ttlMs, bgColor, hoverBgColor, iconColor, margin, size, state } = params;
|
|
103
118
|
const expression = buildInstallExpression({
|
|
104
119
|
info,
|
|
105
120
|
position,
|
|
@@ -109,6 +124,7 @@ const installIndicator = async (session, params) => {
|
|
|
109
124
|
iconColor,
|
|
110
125
|
margin,
|
|
111
126
|
size,
|
|
127
|
+
state,
|
|
112
128
|
});
|
|
113
129
|
try {
|
|
114
130
|
await session.sendAndWait('Runtime.evaluate', {
|
|
@@ -120,8 +136,8 @@ const installIndicator = async (session, params) => {
|
|
|
120
136
|
// Best-effort; page may not be ready
|
|
121
137
|
}
|
|
122
138
|
};
|
|
123
|
-
const sendHeartbeat = async (session, info) => {
|
|
124
|
-
const expression = buildHeartbeatExpression(info);
|
|
139
|
+
const sendHeartbeat = async (session, info, state) => {
|
|
140
|
+
const expression = buildHeartbeatExpression(info, state);
|
|
125
141
|
try {
|
|
126
142
|
await session.sendAndWait('Runtime.evaluate', {
|
|
127
143
|
expression,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageIndicator.js","sourceRoot":"","sources":["../../src/cdp/pageIndicator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"pageIndicator.js","sourceRoot":"","sources":["../../src/cdp/pageIndicator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PageIndicatorInfo, PageIndicatorPosition } from './pageIndicator.js';
|
|
1
|
+
import type { PageIndicatorInfo, PageIndicatorPosition, PageIndicatorState } from './pageIndicator.js';
|
|
2
2
|
type InstallExpressionParams = {
|
|
3
3
|
info: PageIndicatorInfo;
|
|
4
4
|
position: PageIndicatorPosition;
|
|
@@ -8,11 +8,12 @@ type InstallExpressionParams = {
|
|
|
8
8
|
iconColor: string;
|
|
9
9
|
margin: number;
|
|
10
10
|
size: number;
|
|
11
|
+
state: PageIndicatorState;
|
|
11
12
|
};
|
|
12
13
|
/** Build the page-side installer script that owns all indicator DOM, events, and clipboard feedback. */
|
|
13
14
|
export declare const buildInstallExpression: (params: InstallExpressionParams) => string;
|
|
14
|
-
/** Build a cheap page-side heartbeat update; the installed script keeps the DOM and TTL timer. */
|
|
15
|
-
export declare const buildHeartbeatExpression: (info: PageIndicatorInfo) => string;
|
|
15
|
+
/** Build a cheap page-side heartbeat/state update; the installed script keeps the DOM and TTL timer. */
|
|
16
|
+
export declare const buildHeartbeatExpression: (info: PageIndicatorInfo, state: PageIndicatorState) => string;
|
|
16
17
|
/** Build the cleanup script used on watcher detach/stop. */
|
|
17
18
|
export declare const buildRemoveExpression: () => string;
|
|
18
19
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageIndicatorScript.d.ts","sourceRoot":"","sources":["../../src/cdp/pageIndicatorScript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"pageIndicatorScript.d.ts","sourceRoot":"","sources":["../../src/cdp/pageIndicatorScript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEtG,KAAK,uBAAuB,GAAG;IAC9B,IAAI,EAAE,iBAAiB,CAAA;IACvB,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,kBAAkB,CAAA;CACzB,CAAA;AAmBD,wGAAwG;AACxG,eAAO,MAAM,sBAAsB,GAAI,QAAQ,uBAAuB,KAAG,MAgUxE,CAAA;AAED,wGAAwG;AACxG,eAAO,MAAM,wBAAwB,GAAI,MAAM,iBAAiB,EAAE,OAAO,kBAAkB,KAAG,MA+B7F,CAAA;AAED,4DAA4D;AAC5D,eAAO,MAAM,qBAAqB,QAAO,MAoBxC,CAAA"}
|
|
@@ -15,9 +15,10 @@ const INFO_VISIBLE_CLASS = 'argus-indicator-info-visible';
|
|
|
15
15
|
const INDICATOR_BUTTON_TRANSITION_PROPS = ['background', 'border-color', 'filter', 'opacity', 'transform'];
|
|
16
16
|
/** Build the page-side installer script that owns all indicator DOM, events, and clipboard feedback. */
|
|
17
17
|
export const buildInstallExpression = (params) => {
|
|
18
|
-
const { info, position, ttlMs, bgColor, hoverBgColor, iconColor, margin, size } = params;
|
|
18
|
+
const { info, position, ttlMs, bgColor, hoverBgColor, iconColor, margin, size, state } = params;
|
|
19
19
|
const iconJson = JSON.stringify(ICONS);
|
|
20
20
|
const infoJson = JSON.stringify(info);
|
|
21
|
+
const stateJson = JSON.stringify(state);
|
|
21
22
|
const positionStyle = resolvePositionStyle(position, margin);
|
|
22
23
|
const tooltipText = JSON.stringify(`Argus Watcher: ${info.watcherId}`);
|
|
23
24
|
const buttonSize = size + 12;
|
|
@@ -31,6 +32,7 @@ export const buildInstallExpression = (params) => {
|
|
|
31
32
|
var INFO_VISIBLE_CLASS = '${INFO_VISIBLE_CLASS}';
|
|
32
33
|
var ICONS = ${iconJson};
|
|
33
34
|
var info = ${infoJson};
|
|
35
|
+
var indicatorState = ${stateJson};
|
|
34
36
|
var ttlMs = ${ttlMs};
|
|
35
37
|
var isHovering = false;
|
|
36
38
|
var infoVisible = false;
|
|
@@ -45,6 +47,10 @@ export const buildInstallExpression = (params) => {
|
|
|
45
47
|
wrapper.setAttribute('data-testid', INDICATOR_ID);
|
|
46
48
|
|
|
47
49
|
var mainButton = createIconButton('argus-indicator-main', 'Argus watcher: copy info', ${tooltipText}, 'bot');
|
|
50
|
+
var recordingDot = document.createElement('span');
|
|
51
|
+
recordingDot.className = 'argus-indicator-recording-dot';
|
|
52
|
+
recordingDot.setAttribute('aria-hidden', 'true');
|
|
53
|
+
mainButton.appendChild(recordingDot);
|
|
48
54
|
var infoButton = createIconButton('argus-indicator-info', 'Argus watcher details', 'Watcher details', 'info');
|
|
49
55
|
wrapper.appendChild(mainButton);
|
|
50
56
|
wrapper.appendChild(infoButton);
|
|
@@ -95,8 +101,10 @@ export const buildInstallExpression = (params) => {
|
|
|
95
101
|
lastSeenMs: Date.now(),
|
|
96
102
|
ttlMs: ttlMs,
|
|
97
103
|
timerId: timerId,
|
|
98
|
-
info: info
|
|
104
|
+
info: info,
|
|
105
|
+
recording: indicatorState.recording === true
|
|
99
106
|
};
|
|
107
|
+
applyIndicatorState(indicatorState);
|
|
100
108
|
|
|
101
109
|
function installStyle() {
|
|
102
110
|
var existingStyle = document.getElementById(STYLE_ID);
|
|
@@ -114,12 +122,24 @@ export const buildInstallExpression = (params) => {
|
|
|
114
122
|
'border-radius: 7px; padding: 6px; display: flex; align-items: center; justify-content: center; color: ${iconColor}; ' +
|
|
115
123
|
'background: ${bgColor}; box-shadow: 0 4px 18px rgba(0, 0, 0, 0.22); cursor: pointer; transition: ${buttonTransition};' +
|
|
116
124
|
'}' +
|
|
125
|
+
'#' + INDICATOR_ID + ' .argus-indicator-main { position: relative; }' +
|
|
117
126
|
'#' + INDICATOR_ID + ' .argus-indicator-button:hover {' +
|
|
118
127
|
'background: ${hoverBgColor}; border-color: rgba(255, 255, 255, 0.22); filter: brightness(1.15);' +
|
|
119
128
|
'}' +
|
|
129
|
+
'#' + INDICATOR_ID + ' .argus-indicator-icon { display: flex; align-items: center; justify-content: center; }' +
|
|
120
130
|
'#' + INDICATOR_ID + ' .argus-indicator-button svg {' +
|
|
121
131
|
'max-width: ${size}px; max-height: ${size}px; flex: 0 0 auto; display: block;' +
|
|
122
132
|
'}' +
|
|
133
|
+
'#' + INDICATOR_ID + ' .argus-indicator-recording-dot {' +
|
|
134
|
+
'position: absolute; top: 4px; right: 4px; width: 8px; height: 8px; border-radius: 999px; pointer-events: none; opacity: 0; ' +
|
|
135
|
+
'background: #ef4444; box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.72), 0 0 12px rgba(239, 68, 68, 0.95); ' +
|
|
136
|
+
'opacity: var(--argus-recording-dot-opacity, 0); transform: scale(var(--argus-recording-dot-scale, 0.72)); ' +
|
|
137
|
+
'animation: var(--argus-recording-dot-animation, none); transition: opacity 120ms ease, transform 120ms ease;' +
|
|
138
|
+
'}' +
|
|
139
|
+
'@keyframes argus-indicator-recording-pulse {' +
|
|
140
|
+
'0%, 100% { box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.72), 0 0 10px rgba(239, 68, 68, 0.75); }' +
|
|
141
|
+
'50% { box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.72), 0 0 18px rgba(239, 68, 68, 1); }' +
|
|
142
|
+
'}' +
|
|
123
143
|
'#' + INDICATOR_ID + ' .argus-indicator-info {' +
|
|
124
144
|
'position: absolute; right: 0; bottom: calc(100% + ${INFO_BUTTON_GAP_PX}px); opacity: 0; pointer-events: none; transform: translateY(2px);' +
|
|
125
145
|
'}' +
|
|
@@ -148,12 +168,26 @@ export const buildInstallExpression = (params) => {
|
|
|
148
168
|
button.className = 'argus-indicator-button ' + className;
|
|
149
169
|
button.setAttribute('aria-label', ariaLabel);
|
|
150
170
|
button.setAttribute('title', title);
|
|
151
|
-
button.innerHTML = renderIcon(iconName);
|
|
171
|
+
button.innerHTML = '<span class="argus-indicator-icon">' + renderIcon(iconName) + '</span>';
|
|
152
172
|
return button;
|
|
153
173
|
}
|
|
154
174
|
|
|
155
175
|
function setMainIcon(iconName) {
|
|
156
|
-
|
|
176
|
+
var iconEl = mainButton.querySelector('.argus-indicator-icon');
|
|
177
|
+
if (iconEl) iconEl.innerHTML = renderIcon(iconName);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
function applyIndicatorState(nextState) {
|
|
181
|
+
var isRecording = nextState && nextState.recording === true;
|
|
182
|
+
wrapper.classList.toggle('argus-indicator-recording', isRecording);
|
|
183
|
+
wrapper.setAttribute('data-recording', isRecording ? 'true' : 'false');
|
|
184
|
+
wrapper.style.setProperty('--argus-recording-dot-opacity', isRecording ? '1' : '0');
|
|
185
|
+
wrapper.style.setProperty('--argus-recording-dot-scale', isRecording ? '1' : '0.72');
|
|
186
|
+
wrapper.style.setProperty('--argus-recording-dot-animation', isRecording ? 'argus-indicator-recording-pulse 1.15s ease-in-out infinite' : 'none');
|
|
187
|
+
mainButton.setAttribute('title', isRecording ? 'Argus watcher: recording - copy info' : ${tooltipText});
|
|
188
|
+
mainButton.setAttribute('aria-label', isRecording ? 'Argus watcher recording: copy info' : 'Argus watcher: copy info');
|
|
189
|
+
var state = window[STATE_KEY];
|
|
190
|
+
if (state) state.recording = isRecording;
|
|
157
191
|
}
|
|
158
192
|
|
|
159
193
|
function scheduleInfoReveal() {
|
|
@@ -269,13 +303,15 @@ export const buildInstallExpression = (params) => {
|
|
|
269
303
|
function getWatcherFields() {
|
|
270
304
|
var state = window[STATE_KEY];
|
|
271
305
|
var i = state ? state.info : info;
|
|
306
|
+
var isRecording = state ? state.recording === true : indicatorState.recording === true;
|
|
272
307
|
return [
|
|
273
308
|
['ID', i.watcherId],
|
|
274
309
|
['Host', i.watcherHost + ':' + i.watcherPort],
|
|
275
310
|
['PID', String(i.watcherPid)],
|
|
276
311
|
['Target', i.targetTitle || '(no title)'],
|
|
277
312
|
['URL', i.targetUrl || '(no url)'],
|
|
278
|
-
['Attached', new Date(i.attachedAt).toISOString()]
|
|
313
|
+
['Attached', new Date(i.attachedAt).toISOString()],
|
|
314
|
+
['Recording', isRecording ? 'active' : 'inactive']
|
|
279
315
|
];
|
|
280
316
|
}
|
|
281
317
|
|
|
@@ -298,16 +334,34 @@ export const buildInstallExpression = (params) => {
|
|
|
298
334
|
})();
|
|
299
335
|
`;
|
|
300
336
|
};
|
|
301
|
-
/** Build a cheap page-side heartbeat update; the installed script keeps the DOM and TTL timer. */
|
|
302
|
-
export const buildHeartbeatExpression = (info) => {
|
|
337
|
+
/** Build a cheap page-side heartbeat/state update; the installed script keeps the DOM and TTL timer. */
|
|
338
|
+
export const buildHeartbeatExpression = (info, state) => {
|
|
303
339
|
const infoJson = JSON.stringify(info);
|
|
340
|
+
const stateJson = JSON.stringify(state);
|
|
341
|
+
const tooltipText = JSON.stringify(`Argus Watcher: ${info.watcherId}`);
|
|
304
342
|
return `
|
|
305
343
|
(function() {
|
|
344
|
+
var INDICATOR_ID = 'argus-watcher-indicator';
|
|
306
345
|
var STATE_KEY = '__ARGUS_WATCHER_INDICATOR__';
|
|
346
|
+
var nextState = ${stateJson};
|
|
307
347
|
var state = window[STATE_KEY];
|
|
308
348
|
if (state) {
|
|
309
349
|
state.lastSeenMs = Date.now();
|
|
310
350
|
state.info = ${infoJson};
|
|
351
|
+
state.recording = nextState.recording === true;
|
|
352
|
+
var indicator = document.getElementById(INDICATOR_ID);
|
|
353
|
+
if (indicator) {
|
|
354
|
+
indicator.classList.toggle('argus-indicator-recording', state.recording);
|
|
355
|
+
indicator.setAttribute('data-recording', state.recording ? 'true' : 'false');
|
|
356
|
+
indicator.style.setProperty('--argus-recording-dot-opacity', state.recording ? '1' : '0');
|
|
357
|
+
indicator.style.setProperty('--argus-recording-dot-scale', state.recording ? '1' : '0.72');
|
|
358
|
+
indicator.style.setProperty('--argus-recording-dot-animation', state.recording ? 'argus-indicator-recording-pulse 1.15s ease-in-out infinite' : 'none');
|
|
359
|
+
var mainButton = indicator.querySelector('.argus-indicator-main');
|
|
360
|
+
if (mainButton) {
|
|
361
|
+
mainButton.setAttribute('title', state.recording ? 'Argus watcher: recording - copy info' : ${tooltipText});
|
|
362
|
+
mainButton.setAttribute('aria-label', state.recording ? 'Argus watcher recording: copy info' : 'Argus watcher: copy info');
|
|
363
|
+
}
|
|
364
|
+
}
|
|
311
365
|
}
|
|
312
366
|
})();
|
|
313
367
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageIndicatorScript.js","sourceRoot":"","sources":["../../src/cdp/pageIndicatorScript.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pageIndicatorScript.js","sourceRoot":"","sources":["../../src/cdp/pageIndicatorScript.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { RecordRequest, RecordStartRequest, RecordStartResponse, RecordStopRequest, RecordStopResponse } from '@vforsh/argus-core';
|
|
2
|
+
import type { CdpSessionHandle } from './connection.js';
|
|
3
|
+
export type Recorder = {
|
|
4
|
+
capture: (request: RecordRequest) => Promise<RecordStopResponse>;
|
|
5
|
+
start: (request: RecordStartRequest) => Promise<RecordStartResponse>;
|
|
6
|
+
stop: (request: RecordStopRequest) => Promise<RecordStopResponse>;
|
|
7
|
+
onDetached: (reason?: string) => void;
|
|
8
|
+
};
|
|
9
|
+
export declare const createRecorder: (options: {
|
|
10
|
+
session: CdpSessionHandle;
|
|
11
|
+
pageSession?: CdpSessionHandle;
|
|
12
|
+
artifactsDir: string;
|
|
13
|
+
onRecordingStateChange?: (recording: boolean) => void;
|
|
14
|
+
}) => Recorder;
|
|
15
|
+
//# sourceMappingURL=recording.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recording.d.ts","sourceRoot":"","sources":["../../src/cdp/recording.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAgB,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACrJ,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAwCvD,MAAM,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAChE,KAAK,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACpE,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACjE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,SAAS;IACvC,OAAO,EAAE,gBAAgB,CAAA;IACzB,WAAW,CAAC,EAAE,gBAAgB,CAAA;IAC9B,YAAY,EAAE,MAAM,CAAA;IACpB,sBAAsB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CACrD,KAAG,QA0KH,CAAA"}
|