pyre-cli 3.2.0 → 3.4.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/index.js CHANGED
@@ -2568,6 +2568,7 @@ async function startLive(opts2, splashPromise) {
2568
2568
  state.running = true;
2569
2569
  state.paused = false;
2570
2570
  state.detailed = !!opts2.detailed;
2571
+ if (opts2.theme) state.currentTheme = opts2.theme;
2571
2572
  state.interval = opts2.interval;
2572
2573
  if (opts2.exportDir) state.exportDir = opts2.exportDir;
2573
2574
  state.termWidth = process.stdout.columns || 80;
@@ -2975,8 +2976,9 @@ async function showSplash() {
2975
2976
  }
2976
2977
 
2977
2978
  // src/index.ts
2979
+ var pkg = JSON.parse(fs4.readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
2978
2980
  var program = new Command();
2979
- program.name("pyre").version("2.0.0").description("Mac system monitoring CLI: interactive live dashboard, stats, graphs, export, packet monitor, battery predictor").option("-j, --json", "Output as JSON").option("-c, --csv", "Output as CSV").option("-t, --tsv", "Output as TSV").option("--detailed", "Include detailed system info and sensor readings").option("--interval <seconds>", "Refresh interval for live mode", "2").option("--once", "Show a single static snapshot instead of live feed").option("--out <file>", "Also write the snapshot output to a file (--once/--json/--csv/--tsv modes)").option("--export-dir <dir>", "Directory used for live-mode snapshot exports and logs", "./pyre-exports").option("--log", "Start continuous CSV logging immediately when live mode starts").option("--tree", "Show process tree view instead of flat list").option("--sort <key>", "Sort processes by: cpu, mem, pid, user, command, state, threads, runtime", "cpu").option("--packets", "Include packet monitor panel in output").option("--limit <n>", "Max number of processes to include in --once/--json/--csv/--tsv snapshots (0 = all)", "10").option("--p2p-host <host>", "P2P host address (server: bind address, client: server address)", "0.0.0.0").option("--p2p-port <port>", "P2P port number", "9876").option("--p2p-password <password>", "Password for P2P authentication").option("--p2p-tls", "Enable TLS encryption for P2P connections").option("--p2p-cert <file>", "TLS certificate file (PEM) for P2P server").option("--p2p-key <file>", "TLS private key file (PEM) for P2P server").option("--p2p-ca <file>", "TLS CA certificate file (PEM) for P2P client").option("--p2p-insecure", "Skip TLS certificate verification (client only)").option("--p2p-rate-limit <n>", "Max auth attempts per IP per minute (default: 5)", "5").option("--p2p-allow <ips>", "Comma-separated list of allowed IPs (empty = all)").option("--p2p-deny <ips>", "Comma-separated list of denied IPs").option("--p2p-audit-log <dir>", "Directory for P2P audit logs").option("--p2p-hmac-key <key>", "HMAC key for message signing (default: derived from password)");
2981
+ program.name("pyre").version(pkg.version).description("Mac system monitoring CLI: interactive live dashboard, stats, graphs, export, packet monitor, battery predictor").option("-j, --json", "Output as JSON").option("-c, --csv", "Output as CSV").option("-t, --tsv", "Output as TSV").option("--detailed", "Include detailed system info and sensor readings").option("--theme <name>", "Default theme for live mode (default, dracula, cyberpunk, monochrome, nord, gruvbox)", "default").option("--interval <seconds>", "Refresh interval for live mode", "2").option("--once", "Show a single static snapshot instead of live feed").option("--out <file>", "Also write the snapshot output to a file (--once/--json/--csv/--tsv modes)").option("--export-dir <dir>", "Directory used for live-mode snapshot exports and logs", "./pyre-exports").option("--log", "Start continuous CSV logging immediately when live mode starts").option("--tree", "Show process tree view instead of flat list").option("--sort <key>", "Sort processes by: cpu, mem, pid, user, command, state, threads, runtime", "cpu").option("--packets", "Include packet monitor panel in output").option("--limit <n>", "Max number of processes to include in --once/--json/--csv/--tsv snapshots (0 = all)", "10").option("--p2p-host <host>", "P2P host address (server: bind address, client: server address)", "0.0.0.0").option("--p2p-port <port>", "P2P port number", "9876").option("--p2p-password <password>", "Password for P2P authentication").option("--p2p-tls", "Enable TLS encryption for P2P connections").option("--p2p-cert <file>", "TLS certificate file (PEM) for P2P server").option("--p2p-key <file>", "TLS private key file (PEM) for P2P server").option("--p2p-ca <file>", "TLS CA certificate file (PEM) for P2P client").option("--p2p-insecure", "Skip TLS certificate verification (client only)").option("--p2p-rate-limit <n>", "Max auth attempts per IP per minute (default: 5)", "5").option("--p2p-allow <ips>", "Comma-separated list of allowed IPs (empty = all)").option("--p2p-deny <ips>", "Comma-separated list of denied IPs").option("--p2p-audit-log <dir>", "Directory for P2P audit logs").option("--p2p-hmac-key <key>", "HMAC key for message signing (default: derived from password)");
2980
2982
  program.parse(process.argv);
2981
2983
  var opts = program.opts();
2982
2984
  function isExportMode() {
@@ -2996,6 +2998,7 @@ async function main() {
2996
2998
  await startLive({
2997
2999
  interval,
2998
3000
  detailed: opts.detailed,
3001
+ theme: opts.theme,
2999
3002
  exportDir: opts.exportDir,
3000
3003
  autoLog: opts.log
3001
3004
  }, splashPromise);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pyre-cli",
3
- "version": "3.2.0",
3
+ "version": "3.4.0",
4
4
  "description": "CLI Mac monitoring tool: temps, system stats, live dashboard, packet monitor, battery predictor, export",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
package/src/index.ts CHANGED
@@ -16,16 +16,19 @@ import { startLive, stopLive } from './live/index.js';
16
16
  import { showSplash } from './splash.js';
17
17
  import { P2PServer, P2PClient } from './p2p/index.js';
18
18
 
19
+ const pkg = JSON.parse(fs.readFileSync(new URL('../package.json', import.meta.url), 'utf-8'));
20
+
19
21
  const program = new Command();
20
22
 
21
23
  program
22
24
  .name('pyre')
23
- .version('2.0.0')
25
+ .version(pkg.version)
24
26
  .description('Mac system monitoring CLI: interactive live dashboard, stats, graphs, export, packet monitor, battery predictor')
25
27
  .option('-j, --json', 'Output as JSON')
26
28
  .option('-c, --csv', 'Output as CSV')
27
29
  .option('-t, --tsv', 'Output as TSV')
28
30
  .option('--detailed', 'Include detailed system info and sensor readings')
31
+ .option('--theme <name>', 'Default theme for live mode (default, dracula, cyberpunk, monochrome, nord, gruvbox)', 'default')
29
32
  .option('--interval <seconds>', 'Refresh interval for live mode', '2')
30
33
  .option('--once', 'Show a single static snapshot instead of live feed')
31
34
  .option('--out <file>', 'Also write the snapshot output to a file (--once/--json/--csv/--tsv modes)')
@@ -74,6 +77,7 @@ async function main() {
74
77
  await startLive({
75
78
  interval,
76
79
  detailed: opts.detailed,
80
+ theme: opts.theme,
77
81
  exportDir: opts.exportDir,
78
82
  autoLog: opts.log,
79
83
  }, splashPromise);
package/src/live/input.ts CHANGED
@@ -267,6 +267,7 @@ function killProcess(pidStr: string, signal: string = 'SIGTERM') {
267
267
  state.running = true;
268
268
  state.paused = false;
269
269
  state.detailed = !!opts.detailed;
270
+ if (opts.theme) state.currentTheme = opts.theme;
270
271
  state.interval = opts.interval;
271
272
  if (opts.exportDir) state.exportDir = opts.exportDir;
272
273
  state.termWidth = process.stdout.columns || 80;
package/src/live/types.ts CHANGED
@@ -10,6 +10,7 @@ export interface LiveOptions {
10
10
  detailed?: boolean;
11
11
  exportDir?: string;
12
12
  autoLog?: boolean;
13
+ theme?: ThemeName;
13
14
  }
14
15
 
15
16
  export type ExportFormat = 'json' | 'csv' | 'tsv';