@lloyal-labs/dev-tools 0.4.3 → 0.5.0-alpha.10

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/node.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import type { HostResourcesEvent } from './index.js';
2
- export type { HostResourcesEvent } from './index.js';
3
- /** Start sampling; returns the stop function. The timer is unref'd so it
4
- * never holds the process open. */
5
- export declare function startHostResources(send: (ev: HostResourcesEvent) => void, intervalMs?: number): () => void;
6
- //# sourceMappingURL=node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;oCACoC;AACpC,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,CAAC,EAAE,EAAE,kBAAkB,KAAK,IAAI,EACtC,UAAU,SAAO,GAChB,MAAM,IAAI,CA2BZ"}
package/dist/node.js DELETED
@@ -1,78 +0,0 @@
1
- /**
2
- * The pane's host-resources sampler — the ONLY node-bound entry in
3
- * dev-tools. A dev-gated boot starts it beside the trace writer and sends
4
- * each sample onto the harness event channel; the pane overlays the series
5
- * on the pressure strip, so machine pressure and model pressure read on
6
- * one axis.
7
- *
8
- * GPU is deliberately absent: neither Metal nor CUDA exposes a
9
- * utilization number to an unprivileged process portably — honest
10
- * omission over a fake gauge.
11
- */
12
- import os from 'node:os';
13
- import { execFile } from 'node:child_process';
14
- import { readFile } from 'node:fs';
15
- /** Start sampling; returns the stop function. The timer is unref'd so it
16
- * never holds the process open. */
17
- export function startHostResources(send, intervalMs = 2000) {
18
- let lastCpu = process.cpuUsage();
19
- let lastAt = Date.now();
20
- const cores = Math.max(1, os.cpus().length);
21
- const timer = setInterval(() => {
22
- const cpu = process.cpuUsage();
23
- const at = Date.now();
24
- const busyUs = cpu.user - lastCpu.user + (cpu.system - lastCpu.system);
25
- const wallUs = Math.max(1, (at - lastAt) * 1000);
26
- lastCpu = cpu;
27
- lastAt = at;
28
- const ev = {
29
- type: 'host:resources',
30
- cpuPct: Math.min(100, Math.round((busyUs / (wallUs * cores)) * 100)),
31
- rssMb: Math.round(process.memoryUsage.rss() / 1_048_576),
32
- };
33
- if (lastMemUsedMb !== null) {
34
- ev.sysMemUsedMb = lastMemUsedMb;
35
- ev.sysMemTotalMb = Math.round(os.totalmem() / 1_048_576);
36
- }
37
- send(ev);
38
- readMemUsed((mb) => { lastMemUsedMb = mb; });
39
- }, intervalMs);
40
- timer.unref();
41
- let lastMemUsedMb = null;
42
- readMemUsed((mb) => { lastMemUsedMb = mb; });
43
- return () => clearInterval(timer);
44
- }
45
- /** Honest system-memory accounting, per platform. `os.freemem()` counts
46
- * file cache as used on macOS AND Linux, pinning a naive gauge at ~99% —
47
- * the exact misreporting this pane exists to kill. darwin: vm_stat's
48
- * active+wired+compressed over total; linux: 1 − MemAvailable/total;
49
- * anywhere else (or on any failure): null, and the strip omits the line —
50
- * absence over a fake number. */
51
- function readMemUsed(cb) {
52
- if (process.platform === 'darwin') {
53
- execFile('vm_stat', (err, out) => {
54
- if (err)
55
- return cb(null);
56
- const page = Number((out.match(/page size of (\d+)/) ?? [])[1]) || 16384;
57
- const pages = (re) => Number((out.match(re) ?? [])[1]) || 0;
58
- const used = (pages(/Pages active:\s+(\d+)/) +
59
- pages(/Pages wired down:\s+(\d+)/) +
60
- pages(/Pages occupied by compressor:\s+(\d+)/)) * page;
61
- cb(used > 0 ? Math.round(used / 1_048_576) : null);
62
- });
63
- }
64
- else if (process.platform === 'linux') {
65
- readFile('/proc/meminfo', 'utf8', (err, txt) => {
66
- if (err)
67
- return cb(null);
68
- const kb = Number((txt.match(/MemAvailable:\s+(\d+) kB/) ?? [])[1]);
69
- cb(Number.isFinite(kb) && kb > 0
70
- ? Math.round((os.totalmem() - kb * 1024) / 1_048_576)
71
- : null);
72
- });
73
- }
74
- else {
75
- cb(null);
76
- }
77
- }
78
- //# sourceMappingURL=node.js.map
package/dist/node.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}