@agent-beam/beam 0.2.27 → 0.2.29

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/client.js CHANGED
@@ -1,4 +1,4 @@
1
- import { mkdir, readdir, readFile, rename, stat, writeFile } from "node:fs/promises";
1
+ import { mkdir, open, readdir, readFile, rename, stat, writeFile } from "node:fs/promises";
2
2
  import { homedir } from "node:os";
3
3
  import { isAbsolute, join, relative, resolve, sep } from "node:path";
4
4
  import { getBeamHome, getCollectorUrl, getDataDirectory } from "./config.js";
@@ -211,22 +211,84 @@ async function findClaudeCodeUsage(home, sessionId, toolUseId, cursor) {
211
211
  }
212
212
  return {};
213
213
  }
214
- async function walkJsonlFiles(dir, out) {
215
- let entries;
214
+ // Codex rollouts live in ~/.codex/sessions/YYYY/MM/DD/rollout-<start time>-<id>.jsonl, and heavy
215
+ // users have gigabytes of them. Hooks run on every tool call, so lookups never walk the whole
216
+ // tree or read whole files: only the newest date directories are listed, and only a file's head
217
+ // (where session_meta is) and tail (the latest turn_context and token_count) are read.
218
+ const CODEX_CANDIDATES = 50;
219
+ const HEAD_BYTES = 64 * 1024;
220
+ const TAIL_BYTES = 512 * 1024;
221
+ async function newestRollouts(home) {
222
+ const out = [];
223
+ const descend = async (dir, depth) => {
224
+ let entries;
225
+ try {
226
+ entries = await readdir(dir, { withFileTypes: true });
227
+ }
228
+ catch {
229
+ return;
230
+ }
231
+ entries.sort((a, b) => b.name.localeCompare(a.name)); // dates and start times: newest first
232
+ for (const entry of entries) {
233
+ if (out.length >= CODEX_CANDIDATES)
234
+ return;
235
+ const full = join(dir, entry.name);
236
+ if (entry.isDirectory() && depth < 3)
237
+ await descend(full, depth + 1);
238
+ else if (entry.isFile() && entry.name.endsWith(".jsonl"))
239
+ out.push(full);
240
+ }
241
+ };
242
+ await descend(join(home, ".codex", "sessions"), 0);
243
+ await descend(join(home, ".codex", "archived_sessions"), 3);
244
+ // A long session started days ago is still the most recently written: order by write time.
245
+ const stamped = await Promise.all(out.map(async (path) => ({ path, mtimeMs: await stat(path).then(s => s.mtimeMs, () => 0) })));
246
+ return stamped.sort((a, b) => b.mtimeMs - a.mtimeMs).slice(0, CODEX_MODEL_LOOKUP_MAX_FILES).map(f => f.path);
247
+ }
248
+ /** The start and end of a file, without reading the middle of a large transcript. */
249
+ async function headAndTail(path) {
250
+ const file = await open(path, "r");
216
251
  try {
217
- entries = await readdir(dir, { withFileTypes: true });
252
+ const { size } = await file.stat();
253
+ const read = async (position, length) => {
254
+ const buffer = Buffer.alloc(Math.max(0, length));
255
+ const { bytesRead } = await file.read(buffer, 0, buffer.length, position);
256
+ return buffer.subarray(0, bytesRead).toString("utf8");
257
+ };
258
+ if (size <= HEAD_BYTES + TAIL_BYTES) {
259
+ const all = await read(0, size);
260
+ return { head: all, tail: all };
261
+ }
262
+ // Drop the first, partial line of the tail.
263
+ const tail = await read(size - TAIL_BYTES, TAIL_BYTES);
264
+ return { head: await read(0, HEAD_BYTES), tail: tail.slice(tail.indexOf("\n") + 1) };
265
+ }
266
+ finally {
267
+ await file.close();
218
268
  }
219
- catch {
220
- return;
269
+ }
270
+ /** transcript_path from the hook payload, accepted only inside ~/.codex since it's untrusted input. */
271
+ function codexTranscript(home, transcriptPath) {
272
+ if (!transcriptPath)
273
+ return undefined;
274
+ const root = resolve(join(home, ".codex"));
275
+ const resolved = resolve(transcriptPath);
276
+ return resolved !== root && resolved.startsWith(`${root}${sep}`) ? resolved : undefined;
277
+ }
278
+ const codexRows = (text) => text.split("\n").flatMap(line => {
279
+ const trimmed = line.trim();
280
+ if (!trimmed)
281
+ return [];
282
+ try {
283
+ const row = JSON.parse(trimmed);
284
+ return [{ type: row.type, payload: row.payload && typeof row.payload === "object" ? row.payload : {} }];
221
285
  }
222
- for (const entry of entries) {
223
- const full = join(dir, entry.name);
224
- if (entry.isDirectory())
225
- await walkJsonlFiles(full, out);
226
- else if (entry.isFile() && entry.name.endsWith(".jsonl"))
227
- out.push(full);
286
+ catch {
287
+ return [];
228
288
  }
229
- }
289
+ });
290
+ const isSession = (text, sessionId) => codexRows(text).some(r => r.type === "session_meta" && (r.payload.session_id === sessionId || r.payload.id === sessionId));
291
+ const latestModel = (text) => codexRows(text).reduce((model, r) => (r.type === "turn_context" && typeof r.payload.model === "string" && r.payload.model ? r.payload.model : model), "");
230
292
  // Codex's PreToolUse payload has no model field (same verified shape as Claude Code's), and
231
293
  // unlike Claude Code's session file, a rollout file isn't named after the session id -- it's
232
294
  // keyed by a "session_meta" record inside it. Best-effort only: the "turn_context" record's
@@ -234,50 +296,29 @@ async function walkJsonlFiles(dir, out) {
234
296
  // session_meta/response_item) -- if that assumption is wrong this silently yields "" rather than
235
297
  // forwarding a bogus value.
236
298
  const CODEX_MODEL_LOOKUP_MAX_FILES = 10;
237
- async function findCodexModel(home, sessionId) {
299
+ async function findCodexModel(home, sessionId, transcriptPath) {
238
300
  if (!sessionId)
239
301
  return "";
240
- const files = [];
241
- for (const root of [join(home, ".codex", "sessions"), join(home, ".codex", "archived_sessions")]) {
242
- const found = [];
243
- await walkJsonlFiles(root, found);
244
- for (const path of found) {
245
- try {
246
- files.push({ path, mtimeMs: (await stat(path)).mtimeMs });
247
- }
248
- catch { /* skip */ }
302
+ const own = codexTranscript(home, transcriptPath);
303
+ if (own) {
304
+ try {
305
+ const model = latestModel((await headAndTail(own)).tail);
306
+ if (model)
307
+ return model;
249
308
  }
309
+ catch { /* fall back to the scan */ }
250
310
  }
251
- files.sort((a, b) => b.mtimeMs - a.mtimeMs);
252
- for (const { path } of files.slice(0, CODEX_MODEL_LOOKUP_MAX_FILES)) {
253
- let content;
311
+ for (const path of await newestRollouts(home)) {
312
+ let parts;
254
313
  try {
255
- content = await readFile(path, "utf8");
314
+ parts = await headAndTail(path);
256
315
  }
257
316
  catch {
258
317
  continue;
259
318
  }
260
- let matchesSession = false;
261
- let model = "";
262
- for (const line of content.split("\n")) {
263
- const trimmed = line.trim();
264
- if (!trimmed)
265
- continue;
266
- let row;
267
- try {
268
- row = JSON.parse(trimmed);
269
- }
270
- catch {
271
- continue;
272
- }
273
- const payload = row.payload && typeof row.payload === "object" ? row.payload : {};
274
- if (row.type === "session_meta" && (payload.session_id === sessionId || payload.id === sessionId))
275
- matchesSession = true;
276
- if (row.type === "turn_context" && typeof payload.model === "string" && payload.model)
277
- model = payload.model;
278
- }
279
- if (matchesSession && model)
280
- return model;
319
+ if (!isSession(parts.head, sessionId))
320
+ continue;
321
+ return latestModel(parts.tail);
281
322
  }
282
323
  return "";
283
324
  }
@@ -318,45 +359,26 @@ async function findCodexUsage(home, sessionId, transcriptPath, cursor) {
318
359
  // hook input. Falls back to the mtime-scan below when a payload doesn't carry it (older Codex
319
360
  // builds, or tests).
320
361
  let total;
321
- if (transcriptPath) {
322
- const root = resolve(join(home, ".codex"));
323
- const resolved = resolve(transcriptPath);
324
- if (resolved === root || resolved.startsWith(`${root}${sep}`)) {
325
- let content;
326
- try {
327
- content = await readFile(resolved, "utf8");
328
- }
329
- catch { /* fall through to scan */ }
330
- if (content !== undefined)
331
- total = totalTokenUsageFromTokenCountLines(content).total;
362
+ const own = codexTranscript(home, transcriptPath);
363
+ if (own) {
364
+ try {
365
+ total = totalTokenUsageFromTokenCountLines((await headAndTail(own)).tail).total;
332
366
  }
367
+ catch { /* fall through to scan */ }
333
368
  }
334
369
  if (!total && sessionId) {
335
- const files = [];
336
- for (const root of [join(home, ".codex", "sessions"), join(home, ".codex", "archived_sessions")]) {
337
- const found = [];
338
- await walkJsonlFiles(root, found);
339
- for (const path of found) {
340
- try {
341
- files.push({ path, mtimeMs: (await stat(path)).mtimeMs });
342
- }
343
- catch { /* skip */ }
344
- }
345
- }
346
- files.sort((a, b) => b.mtimeMs - a.mtimeMs);
347
- for (const { path } of files.slice(0, CODEX_MODEL_LOOKUP_MAX_FILES)) {
348
- let content;
370
+ for (const path of await newestRollouts(home)) {
371
+ let parts;
349
372
  try {
350
- content = await readFile(path, "utf8");
373
+ parts = await headAndTail(path);
351
374
  }
352
375
  catch {
353
376
  continue;
354
377
  }
355
- const { matchesSession, total: found } = totalTokenUsageFromTokenCountLines(content, sessionId);
356
- if (matchesSession && found) {
357
- total = found;
358
- break;
359
- }
378
+ if (!isSession(parts.head, sessionId))
379
+ continue;
380
+ total = totalTokenUsageFromTokenCountLines(parts.tail).total;
381
+ break;
360
382
  }
361
383
  }
362
384
  if (!total || !sessionId)
@@ -418,10 +440,10 @@ export async function captureHook(sourceAgent = "claude-code", home = homedir())
418
440
  }
419
441
  }
420
442
  else if (sourceAgent === "codex") {
443
+ const transcriptPath = typeof data.transcript_path === "string" ? data.transcript_path : undefined;
421
444
  if (!data.model)
422
- data.model = await findCodexModel(home, sessionId);
445
+ data.model = await findCodexModel(home, sessionId, transcriptPath);
423
446
  if (cursor) {
424
- const transcriptPath = typeof data.transcript_path === "string" ? data.transcript_path : undefined;
425
447
  const usage = await findCodexUsage(home, sessionId, transcriptPath, cursor);
426
448
  if (usage.input_tokens !== undefined)
427
449
  data.input_tokens = usage.input_tokens;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/core.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { type LineChanges } from "./edit-stats.js";
2
- export type Severity = "critical" | "high" | "medium" | "info";
2
+ import { type Rule, type Severity } from "./rule-catalog.js";
3
+ export { builtinRulesById, type Rule, type RuleCategory, type Severity } from "./rule-catalog.js";
3
4
  export type Finding = {
4
5
  id: string;
5
6
  title: string;
@@ -60,22 +61,10 @@ export type Scan = {
60
61
  export declare const severityRank: Record<Severity, number>;
61
62
  export declare function risk(findings: Finding[]): Severity;
62
63
  export declare function redact(text: string): string;
63
- export type RuleCategory = "exec" | "exfil" | "impact" | "integrity" | "persistence" | "privilege" | "recon" | "secrets" | "source_control" | "custom";
64
- export type Rule = {
65
- id: string;
66
- title: string;
67
- severity: Severity;
68
- category: RuleCategory;
69
- explanation: string;
70
- match: (s: string) => boolean;
71
- };
72
64
  export declare function setCustomRules(rules: Rule[]): void;
73
- /** Built-in rules by id, for callers (like `beam monitor`) that reuse a subset of the catalog. */
74
- export declare function builtinRulesById(ids: string[]): Rule[];
75
65
  export declare function ruleCatalog(): Omit<Rule, "match">[];
76
66
  export declare function detect(text: string): Finding[];
77
67
  export declare function scanText(name: string, content: string, kind: "skill" | "mcp"): Scan;
78
68
  type Obj = Record<string, unknown>;
79
69
  export declare function parseInput(input: string, otlp?: boolean): Obj[];
80
70
  export declare function normalize(raw: Obj): Event;
81
- export {};
package/dist/core.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { createHash, randomUUID } from "node:crypto";
2
2
  import { changedLines } from "./edit-stats.js";
3
+ import { builtinRules } from "./rule-catalog.js";
4
+ export { builtinRulesById } from "./rule-catalog.js";
3
5
  export const severityRank = { critical: 3, high: 2, medium: 1, info: 0 };
4
6
  export function risk(findings) {
5
7
  return findings.reduce((s, f) => severityRank[f.severity] > severityRank[s] ? f.severity : s, "info");
@@ -13,35 +15,10 @@ export function redact(text) {
13
15
  .replace(/(https?:\/\/)[^\s/@]+:[^\s/@]+@/gi, "$1[REDACTED]@")
14
16
  .replace(/(https?:\/\/[^\s?#"']+)\?[^\s"']*/gi, "$1?[REDACTED QUERY]");
15
17
  }
16
- const secret = /(?:\.env(?:\b|[./])|\.ssh[\\/]|id_rsa|id_ed25519|\.aws[\\/]credentials|(?:api[_-]?key|access[_-]?token|password|secret)\b)/i;
17
- const egress = /(?:https?:\/\/|\bcurl\b|\bwget\b|\bupload\b|\bwebhook\b|\bsend\b|\bexfiltrat\w*)/i;
18
- const builtinRules = [
19
- { id: "destructive.delete", title: "Destructive operation", severity: "high", category: "impact", explanation: "Review the target and backups before allowing a recursive delete or destructive data operation.", match: s => /\brm\s+[^\n]*(?:-[a-z]*r[a-z]*f|-[a-z]*f[a-z]*r|--recursive)|\b(?:drop\s+(?:table|database)|truncate\s+(?:table\s+)?\w+)|\bRemove-Item\b[^\n]*(?:-Recurse|-Force)|\bgit\s+(?:reset\s+--hard|clean\s+-[^\n]*f)/i.test(s) },
20
- { id: "destructive.production", title: "Production change", severity: "high", category: "impact", explanation: "This action targets a production environment. Confirm the scope and rollback plan before proceeding.", match: s => /\b(?:production|prod)\b/i.test(s) && /\b(?:deploy|delete|drop|truncate|migrate|apply|destroy|restart|rollback|scale)\b/i.test(s) },
21
- { id: "credentials.environment", title: "Environment variable access", severity: "high", category: "secrets", explanation: "The action reads exported environment variables that may contain credentials or private configuration.", match: s => /\b(?:printenv|env|export\s+-p|process\.env|os\.environ|System\.getenv)\b|\$\{?[A-Z][A-Z0-9_]*\}?/i.test(s) },
22
- { id: "credentials.access", title: "Sensitive credential reference", severity: "medium", category: "secrets", explanation: "This action or instruction references a credential location. Confirm the agent needs access.", match: s => secret.test(s) },
23
- { id: "source.private_files", title: "Private source or configuration access", severity: "high", category: "secrets", explanation: "This action accesses a private credential or configuration file. Confirm that the agent needs the contents.", match: s => /(?:\.env(?:\.[\w.-]+)?|\.ssh[\\/]|\.aws[\\/]credentials|id_(?:rsa|ed25519)|\.npmrc|\.netrc|kubeconfig|private.?key)/i.test(s) },
24
- { id: "mcp.write", title: "MCP write operation", severity: "high", category: "impact", explanation: "The MCP tool appears to modify data or send an external side effect. Require approval before allowing it.", match: s => /\bmcp(?:__|:)[^\s]*(?:create|update|delete|write|send|post|put|patch|execute|run|publish|deploy|remove)\b/i.test(s) },
25
- { id: "credentials.egress", title: "Possible credential exposure", severity: "critical", category: "exfil", explanation: "Credential references and outbound delivery appear together. Inspect the destination and data before running this.", match: s => secret.test(s) && egress.test(s) },
26
- { id: "execution.remote", title: "Remote code execution pattern", severity: "high", category: "exec", explanation: "Downloaded content is piped directly into a shell without review.", match: s => /\b(?:curl|wget)\b[^\n]*\|\s*(?:sudo\s+)?(?:ba|z|fi)?sh\b/i.test(s) },
27
- { id: "execution.obfuscated", title: "Encoded execution", severity: "high", category: "exec", explanation: "Encoded content is decoded for execution. Review the decoded payload separately; Beam never executes it.", match: s => /\bbase64\b[^\n]*(?:-d|--decode)[^\n]*\|\s*(?:ba)?sh|\b(?:powershell|pwsh)\b[^\n]*-(?:enc|encodedcommand)\b/i.test(s) },
28
- { id: "recon.network_sweep", title: "Network sweep", severity: "medium", category: "recon", explanation: "A scanner targets a network range. Verify scope and authorization before the agent probes other systems (ATT&CK T1046).", match: s => /\b(?:nmap|masscan|rustscan)\b/i.test(s) && /(?:\d{1,3}\.){3}\d{1,3}\/\d{1,2}|(?:\d{1,3}\.){3}\d{1,3}-\d{1,3}/.test(s) },
29
- { id: "privilege.elevation", title: "Elevated privileges", severity: "medium", category: "privilege", explanation: "The action requests elevated privileges or broad write permissions.", match: s => /\bsudo\s|\bchmod\s+(?:-R\s+)?777\b/i.test(s) },
30
- { id: "network.metadata", title: "Cloud metadata access", severity: "high", category: "secrets", explanation: "Cloud metadata endpoints can expose temporary instance credentials.", match: s => /169\.254\.169\.254|metadata\.google\.internal/i.test(s) },
31
- { id: "persistence.config", title: "Security-sensitive configuration", severity: "high", category: "persistence", explanation: "A persistence or agent configuration target is referenced. Check the intended change and trust boundary.", match: s => /authorized_keys|\bcrontab\b|LaunchAgents[\\/]|ANTHROPIC_BASE_URL/i.test(s) },
32
- { id: "network.reverse-shell", title: "Reverse shell pattern", severity: "critical", category: "exec", explanation: "This pattern can connect a command shell to another machine.", match: s => /\/dev\/tcp\/|\bnc\b[^\n]*\s-e\s|socket[\s\S]{0,200}subprocess/i.test(s) },
33
- { id: "instructions.override", title: "Instruction override attempt", severity: "high", category: "integrity", explanation: "Instructions attempt to override existing safeguards or conceal activity from the user.", match: s => /ignore\s+(?:all\s+)?(?:previous|prior|system|safety)\s+(?:instructions|rules|prompts)|(?:do not|don't|never)\s+(?:tell|inform|notify)\s+(?:the\s+)?user|disable\s+(?:security|safety|logging|audit)/i.test(s) },
34
- { id: "source_control.history_rewrite", title: "Git history rewrite", severity: "medium", category: "source_control", explanation: "Force-pushing or rewriting shared history can silently discard other people's commits. Confirm the branch isn't shared before proceeding.", match: s => /\bgit\s+push\s+[^\n]*(?:--force(?:-with-lease)?|-f\b)|\bgit\s+filter-(?:branch|repo)\b/i.test(s) },
35
- { id: "integrity.tls_bypass", title: "Certificate or signature verification disabled", severity: "medium", category: "integrity", explanation: "Disabling TLS/certificate verification removes protection against a tampered or impersonated destination.", match: s => /\bcurl\b[^\n]*(?:-k\b|--insecure)|\bwget\b[^\n]*--no-check-certificate|NODE_TLS_REJECT_UNAUTHORIZED\s*=\s*['"]?0|\bgit\b[^\n]*-c\s+http\.sslVerify=false/i.test(s) },
36
- ];
37
18
  // Loaded from disk at startup (see custom-rules.ts); empty until loadCustomRules() runs.
38
19
  let customRules = [];
39
20
  export function setCustomRules(rules) { customRules = rules; }
40
21
  function activeRules() { return [...builtinRules, ...customRules]; }
41
- /** Built-in rules by id, for callers (like `beam monitor`) that reuse a subset of the catalog. */
42
- export function builtinRulesById(ids) {
43
- return ids.map(id => builtinRules.find(r => r.id === id)).filter((r) => Boolean(r));
44
- }
45
22
  export function ruleCatalog() {
46
23
  return activeRules().map(({ match: _, ...rule }) => rule);
47
24
  }
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ export interface MonitorLlmSettings {
2
+ /** beam (Beam's model, set in the dashboard), or a provider: openai, anthropic, gemini, ... */
3
+ provider: string;
4
+ model: string | null;
5
+ baseUrl: string | null;
6
+ /** The variable that holds the key where beam monitor runs. Default: the provider's usual one. */
7
+ apiKeyEnv: string | null;
8
+ /** A key stored with --key-stdin. Prefer apiKeyEnv: keys belong in a secret store. */
9
+ apiKey?: string;
10
+ }
11
+ export interface MonitorFileConfig {
12
+ version: 1;
13
+ /** Log files `beam monitor` follows when started without --file, --stdin or --app. */
14
+ files: string[];
15
+ /** App directory whose lockfiles are checked at start and daily. */
16
+ app: string | null;
17
+ /** The most of one CPU core detection may use, in percent; past it, lines are skipped until the next minute. */
18
+ maxCpuPercent: number;
19
+ llm: MonitorLlmSettings;
20
+ }
21
+ export declare const monitorConfigPath: () => string;
22
+ export declare const DEFAULT_MONITOR_CONFIG: MonitorFileConfig;
23
+ export declare function validateMonitorConfig(value: unknown): MonitorFileConfig;
24
+ /** The file's settings, or null when there's no file yet. Throws when it exists but is invalid. */
25
+ export declare function readMonitorConfig(): Promise<MonitorFileConfig | null>;
26
+ export declare function writeMonitorConfig(config: MonitorFileConfig): Promise<void>;
27
+ /** What an upgrade carries over from older BEAM_LLM_* settings: names and endpoints, never a key. */
28
+ export declare function migratedFromEnv(env: NodeJS.ProcessEnv): MonitorFileConfig;
29
+ /**
30
+ * The file's settings, creating the file first if this is the first monitor command since an
31
+ * upgrade. A home directory that can't be written (a locked-down service user) isn't an error:
32
+ * the defaults apply and nothing is created.
33
+ */
34
+ export declare function ensureMonitorConfig(env?: NodeJS.ProcessEnv): Promise<{
35
+ config: MonitorFileConfig;
36
+ created: boolean;
37
+ }>;
38
+ /** The settings for display: a stored key is shown as present, never printed. */
39
+ export declare function describeMonitorConfig(config: MonitorFileConfig): Record<string, unknown>;