@monoes/monomindcli 1.10.34 → 1.10.35
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/src/browser/find.d.ts +1 -0
- package/dist/src/browser/find.d.ts.map +1 -1
- package/dist/src/browser/find.js +12 -0
- package/dist/src/browser/find.js.map +1 -1
- package/dist/src/browser/har.d.ts +26 -0
- package/dist/src/browser/har.d.ts.map +1 -0
- package/dist/src/browser/har.js +130 -0
- package/dist/src/browser/har.js.map +1 -0
- package/dist/src/browser/index.d.ts +5 -0
- package/dist/src/browser/index.d.ts.map +1 -1
- package/dist/src/browser/index.js +5 -0
- package/dist/src/browser/index.js.map +1 -1
- package/dist/src/browser/network.d.ts +15 -0
- package/dist/src/browser/network.d.ts.map +1 -1
- package/dist/src/browser/network.js +54 -0
- package/dist/src/browser/network.js.map +1 -1
- package/dist/src/browser/profiler.d.ts +10 -0
- package/dist/src/browser/profiler.d.ts.map +1 -0
- package/dist/src/browser/profiler.js +55 -0
- package/dist/src/browser/profiler.js.map +1 -0
- package/dist/src/browser/record.d.ts +21 -0
- package/dist/src/browser/record.d.ts.map +1 -0
- package/dist/src/browser/record.js +48 -0
- package/dist/src/browser/record.js.map +1 -0
- package/dist/src/browser/snapshot.d.ts.map +1 -1
- package/dist/src/browser/snapshot.js +23 -2
- package/dist/src/browser/snapshot.js.map +1 -1
- package/dist/src/browser/trace.d.ts +10 -0
- package/dist/src/browser/trace.d.ts.map +1 -0
- package/dist/src/browser/trace.js +72 -0
- package/dist/src/browser/trace.js.map +1 -0
- package/dist/src/browser/types.d.ts +1 -0
- package/dist/src/browser/types.d.ts.map +1 -1
- package/dist/src/browser/types.js.map +1 -1
- package/dist/src/browser/vitals.d.ts +15 -0
- package/dist/src/browser/vitals.d.ts.map +1 -0
- package/dist/src/browser/vitals.js +116 -0
- package/dist/src/browser/vitals.js.map +1 -0
- package/dist/src/commands/browse.d.ts.map +1 -1
- package/dist/src/commands/browse.js +415 -13
- package/dist/src/commands/browse.js.map +1 -1
- package/dist/src/ui/dashboard-v2.html +8 -8
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/browser/snapshot.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAgB9D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAiB,EACjB,SAAiB,EACjB,UAA2B,EAAE;IAE7B,MAAM,EAAE,eAAe,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/browser/snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CdpClient } from './cdp.js';
|
|
2
|
+
export interface TraceOptions {
|
|
3
|
+
path?: string;
|
|
4
|
+
categories?: string[];
|
|
5
|
+
screenshots?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function startTrace(client: CdpClient, sessionId: string, options?: TraceOptions): Promise<void>;
|
|
8
|
+
export declare function stopTrace(client: CdpClient, sessionId: string, outputPath?: string): Promise<string>;
|
|
9
|
+
export declare function getTraceStatus(sessionId: string): boolean;
|
|
10
|
+
//# sourceMappingURL=trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/browser/trace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK1C,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAiBD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzD"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { writeFile } from 'fs/promises';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
import { tmpdir } from 'os';
|
|
4
|
+
const DEFAULT_CATEGORIES = [
|
|
5
|
+
'-*',
|
|
6
|
+
'devtools.timeline',
|
|
7
|
+
'v8.execute',
|
|
8
|
+
'disabled-by-default-devtools.timeline',
|
|
9
|
+
'disabled-by-default-devtools.timeline.frame',
|
|
10
|
+
'toplevel',
|
|
11
|
+
'blink.console',
|
|
12
|
+
'blink.user_timing',
|
|
13
|
+
'latencyInfo',
|
|
14
|
+
'disabled-by-default-devtools.timeline.stack',
|
|
15
|
+
];
|
|
16
|
+
const _sessions = new Map();
|
|
17
|
+
export async function startTrace(client, sessionId, options = {}) {
|
|
18
|
+
if (_sessions.has(sessionId)) {
|
|
19
|
+
throw new Error('Trace already in progress for this session');
|
|
20
|
+
}
|
|
21
|
+
const events = [];
|
|
22
|
+
const offData = client.on('Tracing.dataCollected', (params, sid) => {
|
|
23
|
+
if (sid !== sessionId)
|
|
24
|
+
return;
|
|
25
|
+
const value = params.value;
|
|
26
|
+
if (Array.isArray(value))
|
|
27
|
+
events.push(...value);
|
|
28
|
+
});
|
|
29
|
+
const offComplete = client.on('Tracing.tracingComplete', (_params, sid) => {
|
|
30
|
+
if (sid !== sessionId)
|
|
31
|
+
return;
|
|
32
|
+
// Will be resolved by stopTrace
|
|
33
|
+
});
|
|
34
|
+
_sessions.set(sessionId, { events, offData, offComplete });
|
|
35
|
+
const cats = options.categories ?? DEFAULT_CATEGORIES;
|
|
36
|
+
if (options.screenshots)
|
|
37
|
+
cats.push('disabled-by-default-devtools.screenshot');
|
|
38
|
+
await client.send('Tracing.start', {
|
|
39
|
+
traceConfig: {
|
|
40
|
+
includedCategories: cats.filter((c) => !c.startsWith('-')),
|
|
41
|
+
excludedCategories: cats.filter((c) => c.startsWith('-')).map((c) => c.slice(1)),
|
|
42
|
+
},
|
|
43
|
+
}, sessionId);
|
|
44
|
+
}
|
|
45
|
+
export async function stopTrace(client, sessionId, outputPath) {
|
|
46
|
+
const state = _sessions.get(sessionId);
|
|
47
|
+
if (!state)
|
|
48
|
+
throw new Error('No active trace for this session');
|
|
49
|
+
await new Promise((resolve) => {
|
|
50
|
+
const off = client.on('Tracing.tracingComplete', (_params, sid) => {
|
|
51
|
+
if (sid !== sessionId)
|
|
52
|
+
return;
|
|
53
|
+
off();
|
|
54
|
+
resolve();
|
|
55
|
+
});
|
|
56
|
+
client.send('Tracing.end', {}, sessionId).catch(() => { });
|
|
57
|
+
});
|
|
58
|
+
state.offData();
|
|
59
|
+
state.offComplete();
|
|
60
|
+
_sessions.delete(sessionId);
|
|
61
|
+
const trace = {
|
|
62
|
+
traceEvents: state.events,
|
|
63
|
+
metadata: { 'clock-offset-since-epoch': Date.now() },
|
|
64
|
+
};
|
|
65
|
+
const path = outputPath ?? join(tmpdir(), `monomind-trace-${Date.now()}.json`);
|
|
66
|
+
await writeFile(path, JSON.stringify(trace));
|
|
67
|
+
return path;
|
|
68
|
+
}
|
|
69
|
+
export function getTraceStatus(sessionId) {
|
|
70
|
+
return _sessions.has(sessionId);
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=trace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../src/browser/trace.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/browser/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/browser/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/browser/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/browser/types.ts"],"names":[],"mappings":"AAsHA,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IACvC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO;IACvE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ;IAC1E,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM;IAC1E,cAAc,EAAE,WAAW,EAAE,WAAW;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,8DAA8D;IAC9D,oDAAoD;IACpD,wBAAwB;IACxB,2BAA2B;IAC3B,mBAAmB;IACnB,4DAA4D;IAC5D,kEAAkE;CACnE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CdpClient } from './cdp.js';
|
|
2
|
+
export interface WebVitals {
|
|
3
|
+
lcp?: number;
|
|
4
|
+
fcp?: number;
|
|
5
|
+
cls?: number;
|
|
6
|
+
ttfb?: number;
|
|
7
|
+
inp?: number;
|
|
8
|
+
domInteractive?: number;
|
|
9
|
+
domContentLoaded?: number;
|
|
10
|
+
loadTime?: number;
|
|
11
|
+
resources?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare function collectVitals(client: CdpClient, sessionId: string, waitMs?: number): Promise<WebVitals>;
|
|
14
|
+
export declare function formatVitals(vitals: WebVitals): string;
|
|
15
|
+
//# sourceMappingURL=vitals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitals.d.ts","sourceRoot":"","sources":["../../../src/browser/vitals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,SAAO,GACZ,OAAO,CAAC,SAAS,CAAC,CA4EpB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAwBtD"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { evaluateJs } from './actions.js';
|
|
2
|
+
export async function collectVitals(client, sessionId, waitMs = 2000) {
|
|
3
|
+
// Inject PerformanceObserver collectors and wait for data
|
|
4
|
+
const script = `
|
|
5
|
+
new Promise((resolve) => {
|
|
6
|
+
const vitals = {};
|
|
7
|
+
|
|
8
|
+
// Navigation timing
|
|
9
|
+
const nav = performance.getEntriesByType('navigation')[0];
|
|
10
|
+
if (nav) {
|
|
11
|
+
vitals.ttfb = nav.responseStart - nav.requestStart;
|
|
12
|
+
vitals.domInteractive = nav.domInteractive;
|
|
13
|
+
vitals.domContentLoaded = nav.domContentLoadedEventEnd;
|
|
14
|
+
vitals.loadTime = nav.loadEventEnd;
|
|
15
|
+
vitals.resources = performance.getEntriesByType('resource').length;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// FCP via paint entries
|
|
19
|
+
const paintEntries = performance.getEntriesByType('paint');
|
|
20
|
+
const fcp = paintEntries.find(e => e.name === 'first-contentful-paint');
|
|
21
|
+
if (fcp) vitals.fcp = fcp.startTime;
|
|
22
|
+
|
|
23
|
+
// LCP
|
|
24
|
+
let lcpValue = 0;
|
|
25
|
+
let lcpObs;
|
|
26
|
+
try {
|
|
27
|
+
lcpObs = new PerformanceObserver((list) => {
|
|
28
|
+
const entries = list.getEntries();
|
|
29
|
+
if (entries.length > 0) {
|
|
30
|
+
lcpValue = entries[entries.length - 1].startTime;
|
|
31
|
+
vitals.lcp = lcpValue;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
lcpObs.observe({ type: 'largest-contentful-paint', buffered: true });
|
|
35
|
+
} catch(e) {}
|
|
36
|
+
|
|
37
|
+
// CLS
|
|
38
|
+
let clsValue = 0;
|
|
39
|
+
let clsObs;
|
|
40
|
+
try {
|
|
41
|
+
clsObs = new PerformanceObserver((list) => {
|
|
42
|
+
for (const entry of list.getEntries()) {
|
|
43
|
+
if (!(entry as any).hadRecentInput) {
|
|
44
|
+
clsValue += (entry as any).value;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
vitals.cls = clsValue;
|
|
48
|
+
});
|
|
49
|
+
clsObs.observe({ type: 'layout-shift', buffered: true });
|
|
50
|
+
} catch(e) {}
|
|
51
|
+
|
|
52
|
+
// INP
|
|
53
|
+
let inpValue = 0;
|
|
54
|
+
let inpObs;
|
|
55
|
+
try {
|
|
56
|
+
inpObs = new PerformanceObserver((list) => {
|
|
57
|
+
for (const entry of list.getEntries()) {
|
|
58
|
+
if ((entry as any).duration > inpValue) {
|
|
59
|
+
inpValue = (entry as any).duration;
|
|
60
|
+
vitals.inp = inpValue;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
inpObs.observe({ type: 'event', buffered: true, durationThreshold: 40 });
|
|
65
|
+
} catch(e) {}
|
|
66
|
+
|
|
67
|
+
setTimeout(() => {
|
|
68
|
+
try { lcpObs?.disconnect(); } catch(e) {}
|
|
69
|
+
try { clsObs?.disconnect(); } catch(e) {}
|
|
70
|
+
try { inpObs?.disconnect(); } catch(e) {}
|
|
71
|
+
resolve(vitals);
|
|
72
|
+
}, ${waitMs});
|
|
73
|
+
})
|
|
74
|
+
`;
|
|
75
|
+
const result = await evaluateJs(client, sessionId, script);
|
|
76
|
+
return (result ?? {});
|
|
77
|
+
}
|
|
78
|
+
export function formatVitals(vitals) {
|
|
79
|
+
const lines = [];
|
|
80
|
+
const ms = (v) => v !== undefined ? `${Math.round(v)}ms` : 'n/a';
|
|
81
|
+
const score = (metric, v) => {
|
|
82
|
+
if (v === undefined)
|
|
83
|
+
return '';
|
|
84
|
+
if (metric === 'lcp')
|
|
85
|
+
return v < 2500 ? ' ✓ good' : v < 4000 ? ' ~ needs improvement' : ' ✗ poor';
|
|
86
|
+
if (metric === 'fcp')
|
|
87
|
+
return v < 1800 ? ' ✓ good' : v < 3000 ? ' ~ needs improvement' : ' ✗ poor';
|
|
88
|
+
if (metric === 'cls')
|
|
89
|
+
return v < 0.1 ? ' ✓ good' : v < 0.25 ? ' ~ needs improvement' : ' ✗ poor';
|
|
90
|
+
if (metric === 'inp')
|
|
91
|
+
return v < 200 ? ' ✓ good' : v < 500 ? ' ~ needs improvement' : ' ✗ poor';
|
|
92
|
+
if (metric === 'ttfb')
|
|
93
|
+
return v < 800 ? ' ✓ good' : v < 1800 ? ' ~ needs improvement' : ' ✗ poor';
|
|
94
|
+
return '';
|
|
95
|
+
};
|
|
96
|
+
if (vitals.lcp !== undefined)
|
|
97
|
+
lines.push(` LCP (Largest Contentful Paint): ${ms(vitals.lcp)}${score('lcp', vitals.lcp)}`);
|
|
98
|
+
if (vitals.fcp !== undefined)
|
|
99
|
+
lines.push(` FCP (First Contentful Paint): ${ms(vitals.fcp)}${score('fcp', vitals.fcp)}`);
|
|
100
|
+
if (vitals.cls !== undefined)
|
|
101
|
+
lines.push(` CLS (Cumulative Layout Shift): ${vitals.cls?.toFixed(4)}${score('cls', vitals.cls)}`);
|
|
102
|
+
if (vitals.inp !== undefined)
|
|
103
|
+
lines.push(` INP (Interaction to Next Paint): ${ms(vitals.inp)}${score('inp', vitals.inp)}`);
|
|
104
|
+
if (vitals.ttfb !== undefined)
|
|
105
|
+
lines.push(` TTFB (Time to First Byte): ${ms(vitals.ttfb)}${score('ttfb', vitals.ttfb)}`);
|
|
106
|
+
if (vitals.domInteractive !== undefined)
|
|
107
|
+
lines.push(` DOM Interactive: ${ms(vitals.domInteractive)}`);
|
|
108
|
+
if (vitals.domContentLoaded !== undefined)
|
|
109
|
+
lines.push(` DOMContentLoaded: ${ms(vitals.domContentLoaded)}`);
|
|
110
|
+
if (vitals.loadTime !== undefined)
|
|
111
|
+
lines.push(` Load: ${ms(vitals.loadTime)}`);
|
|
112
|
+
if (vitals.resources !== undefined)
|
|
113
|
+
lines.push(` Resources loaded: ${vitals.resources}`);
|
|
114
|
+
return lines.join('\n');
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=vitals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitals.js","sourceRoot":"","sources":["../../../src/browser/vitals.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../../src/commands/browse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../../src/commands/browse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;AA6sD1E,QAAA,MAAM,aAAa,EAAE,OAqIpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|