@agent-beam/beam 0.2.28 → 0.2.30
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/README.md +81 -13
- package/Skills/agentbeam-app-monitoring/SKILL.md +15 -3
- package/dist/cli.js +46 -4
- package/dist/cli.js.map +1 -1
- package/dist/client.js +103 -81
- package/dist/client.js.map +1 -1
- package/dist/monitor-config.d.ts +73 -0
- package/dist/monitor-config.js +263 -0
- package/dist/monitor-config.js.map +1 -0
- package/dist/monitor-llm.d.ts +52 -7
- package/dist/monitor-llm.js +228 -32
- package/dist/monitor-llm.js.map +1 -1
- package/dist/monitor-pipeline.d.ts +65 -2
- package/dist/monitor-pipeline.js +145 -21
- package/dist/monitor-pipeline.js.map +1 -1
- package/dist/monitor-rules.d.ts +12 -4
- package/dist/monitor-rules.js +131 -12
- package/dist/monitor-rules.js.map +1 -1
- package/dist/monitor.d.ts +35 -3
- package/dist/monitor.js +257 -30
- package/dist/monitor.js.map +1 -1
- package/dist/prompt-attacks.d.ts +29 -0
- package/dist/prompt-attacks.js +237 -0
- package/dist/prompt-attacks.js.map +1 -0
- package/dist/rule-catalog.js +36 -6
- package/dist/rule-catalog.js.map +1 -1
- package/dist/sdk.d.ts +62 -1
- package/dist/sdk.js +212 -58
- package/dist/sdk.js.map +1 -1
- package/package.json +7 -4
- package/stress-report.json +140 -0
package/dist/sdk.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import { MonitorPipeline } from "./monitor-pipeline.js";
|
|
1
|
+
import { CpuBudget, MonitorPipeline } from "./monitor-pipeline.js";
|
|
2
|
+
import { matchLine } from "./monitor-rules.js";
|
|
3
|
+
import { containsCanary } from "./prompt-attacks.js";
|
|
4
|
+
import { judgeWithOwnLlm, ownLlmConfig } from "./monitor-llm.js";
|
|
2
5
|
const TOKEN = /^beam_app_[\w-]{40,}$/;
|
|
3
6
|
const CONFIG_EVERY_MS = 5 * 60 * 1000;
|
|
4
7
|
const CONFIG_RETRY_MS = 60 * 1000;
|
|
@@ -9,18 +12,103 @@ function env(name) {
|
|
|
9
12
|
function withTimeout(ms) {
|
|
10
13
|
const controller = new AbortController();
|
|
11
14
|
const timer = setTimeout(() => controller.abort(), ms);
|
|
15
|
+
// Never keep the app's process alive for a report (Node returns a Timeout with unref; edge runtimes a number).
|
|
16
|
+
timer.unref?.();
|
|
12
17
|
return { signal: controller.signal, done: () => clearTimeout(timer) };
|
|
13
18
|
}
|
|
14
|
-
const
|
|
19
|
+
const REQUEST_TIMEOUT_MS = 5_000;
|
|
20
|
+
const MAX_BACKOFF_MS = 5 * 60_000;
|
|
21
|
+
const REVOKED_RECHECK_MS = 15 * 60_000;
|
|
22
|
+
const MAX_PAUSE_MS = 24 * 60 * 60_000;
|
|
23
|
+
/** Doubling delays with jitter, so many app instances don't retry an outage in lockstep. */
|
|
24
|
+
const backoff = (base, failures) => Math.min(MAX_BACKOFF_MS, base * 2 ** Math.min(failures, 10)) * (0.5 + Math.random() / 2);
|
|
25
|
+
/** A server-provided resume time, sanity-checked: never in the past, never more than a day away. */
|
|
26
|
+
function pauseUntil(resetAt) {
|
|
27
|
+
const at = typeof resetAt === "string" ? Date.parse(resetAt) : Number.NaN;
|
|
28
|
+
const now = Date.now();
|
|
29
|
+
return Number.isFinite(at) && at > now ? Math.min(at, now + MAX_PAUSE_MS) : now + 60_000;
|
|
30
|
+
}
|
|
31
|
+
const SEVERITY_RANK = { critical: 3, high: 2, medium: 1, low: 0 };
|
|
32
|
+
const clean = () => ({ flagged: false, severity: null, matches: [] });
|
|
33
|
+
function canaryRule(canaries) {
|
|
34
|
+
const usable = canaries.filter(c => typeof c === "string" && c.replace(/[^a-z0-9]/gi, "").length >= 8);
|
|
35
|
+
return usable.length
|
|
36
|
+
? [{ id: "llm.system_prompt_leak", title: "System prompt leaked in model output", severity: "critical", category: "llm", sources: ["output"],
|
|
37
|
+
match: (_s, raw) => containsCanary(raw, usable) }]
|
|
38
|
+
: [];
|
|
39
|
+
}
|
|
40
|
+
// Rules read 16 KB at a time; a long retrieved document is read in overlapping windows, up to 256 KB.
|
|
41
|
+
const WINDOW = 16_384;
|
|
42
|
+
const OVERLAP = 512;
|
|
43
|
+
const MAX_TEXT = 262_144;
|
|
44
|
+
/** The check, and the window that matched (what gets reported). */
|
|
45
|
+
function scan(text, source, extra = []) {
|
|
46
|
+
try {
|
|
47
|
+
if (typeof text !== "string" || !text.trim())
|
|
48
|
+
return { result: clean(), window: "" };
|
|
49
|
+
const all = text.slice(0, MAX_TEXT);
|
|
50
|
+
let window = all.slice(0, WINDOW);
|
|
51
|
+
let rules = [];
|
|
52
|
+
for (let at = 0; at < all.length && !rules.length; at += WINDOW - OVERLAP) {
|
|
53
|
+
window = all.slice(at, at + WINDOW);
|
|
54
|
+
rules = matchLine(window, source, extra);
|
|
55
|
+
}
|
|
56
|
+
if (!rules.length)
|
|
57
|
+
return { result: clean(), window: all.slice(0, WINDOW) };
|
|
58
|
+
const matches = rules.map(r => ({ ruleId: r.id, title: r.title, severity: r.severity }))
|
|
59
|
+
.filter((m, i, list) => list.findIndex(o => o.ruleId === m.ruleId) === i);
|
|
60
|
+
const severity = matches.reduce((worst, m) => (SEVERITY_RANK[m.severity] > SEVERITY_RANK[worst] ? m.severity : worst), matches[0].severity);
|
|
61
|
+
return { result: { flagged: true, severity, matches }, window };
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
return { result: clean(), window: "" };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const check = (text, source, extra) => scan(text, source, extra).result;
|
|
68
|
+
/** Checks text bound for an LLM, locally, without reporting it anywhere. Never throws. */
|
|
69
|
+
export function checkPrompt(text) {
|
|
70
|
+
return check(text, "prompt");
|
|
71
|
+
}
|
|
72
|
+
/** Checks model output, locally, without reporting it anywhere. Pass your system prompt's canaries to catch leaks. */
|
|
73
|
+
export function checkOutput(text, options = {}) {
|
|
74
|
+
return check(text, "output", canaryRule(options.canaries ?? []));
|
|
75
|
+
}
|
|
76
|
+
// Without a token the checks still work locally; nothing is reported.
|
|
77
|
+
const noop = {
|
|
78
|
+
request() { }, log() { }, flush: async () => { }, enabled: false,
|
|
79
|
+
prompt: text => checkPrompt(text),
|
|
80
|
+
output: text => checkOutput(text),
|
|
81
|
+
};
|
|
15
82
|
export function createAppMonitor(options = {}) {
|
|
83
|
+
try {
|
|
84
|
+
return start(options ?? {});
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// A bad option or an unusual runtime: monitoring is off, and the app carries on.
|
|
88
|
+
return noop;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function start(options) {
|
|
16
92
|
const report = (message) => { try {
|
|
17
93
|
options.onError?.(message);
|
|
18
94
|
}
|
|
19
95
|
catch { /* never throw */ } };
|
|
20
|
-
const token = options.token
|
|
96
|
+
const token = (typeof options.token === "string" ? options.token.trim() : "") || env("BEAM_APP_TOKEN");
|
|
97
|
+
const canaries = canaryRule(Array.isArray(options.canaries) ? options.canaries : []);
|
|
98
|
+
const percent = Math.min(50, Math.max(0.1, Number(options.maxCpuPercent) || 2));
|
|
99
|
+
// 1% of a core = 600 ms per minute. Traffic and logs get one budget; prompt() and output() get
|
|
100
|
+
// their own, so a flood of requests can't switch off the checks an app may block on.
|
|
101
|
+
const budget = new CpuBudget(600 * percent);
|
|
102
|
+
const localBudget = new CpuBudget(600 * percent);
|
|
103
|
+
const budgeted = (text, source, extra = []) => localBudget.run(() => scan(text, source, extra)) ?? { result: { ...clean(), skipped: true }, window: "" };
|
|
104
|
+
const local = { ...noop, prompt: text => budgeted(text, "prompt").result, output: text => budgeted(text, "output", canaries).result };
|
|
21
105
|
if (!token || !TOKEN.test(token)) {
|
|
22
106
|
report("AgentBeam App monitoring is off: set BEAM_APP_TOKEN to the app's token (beam_app_…) from the dashboard.");
|
|
23
|
-
return
|
|
107
|
+
return local;
|
|
108
|
+
}
|
|
109
|
+
if (typeof fetch !== "function" || typeof AbortController !== "function") {
|
|
110
|
+
report("AgentBeam App monitoring is off: this runtime has no fetch.");
|
|
111
|
+
return local;
|
|
24
112
|
}
|
|
25
113
|
const base = (options.dashboardUrl || env("BEAM_DASHBOARD_URL") || "https://app.agentbeam.com").replace(/\/+$/, "");
|
|
26
114
|
let url;
|
|
@@ -29,43 +117,64 @@ export function createAppMonitor(options = {}) {
|
|
|
29
117
|
}
|
|
30
118
|
catch {
|
|
31
119
|
report(`AgentBeam App monitoring is off: ${base} isn't a valid URL.`);
|
|
32
|
-
return
|
|
120
|
+
return local;
|
|
33
121
|
}
|
|
34
122
|
if (url.protocol !== "https:" && !["localhost", "127.0.0.1", "[::1]"].includes(url.hostname)) {
|
|
35
123
|
report("AgentBeam App monitoring is off: refusing to send the app token over plain HTTP.");
|
|
36
|
-
return
|
|
124
|
+
return local;
|
|
125
|
+
}
|
|
126
|
+
const flushEvery = Math.max(1000, Number(options.flushIntervalMs) || 5000);
|
|
127
|
+
let ownLlm = null;
|
|
128
|
+
try {
|
|
129
|
+
const processEnv = globalThis.process?.env ?? {};
|
|
130
|
+
const llm = ownLlmConfig(processEnv, typeof options.llm === "string" ? options.llm : undefined, null);
|
|
131
|
+
// Short timeouts: this runs inside the app's background work (event.waitUntil on serverless).
|
|
132
|
+
ownLlm = llm ? { ...llm, timeoutMs: 8_000 } : null;
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
report(`AgentBeam App monitoring: your own LLM check is off: ${error.message}`);
|
|
37
136
|
}
|
|
38
|
-
const flushEvery = Math.max(1000, options.flushIntervalMs ?? 5000);
|
|
39
137
|
const headers = { Authorization: `Bearer ${token}`, "Content-Type": "application/json" };
|
|
40
138
|
let level = null;
|
|
41
|
-
|
|
139
|
+
// A 401 pauses reporting and is checked again later: during an AgentBeam incident a working token
|
|
140
|
+
// can be rejected for a while, and the app shouldn't need a restart to resume.
|
|
141
|
+
let revokedUntil = 0;
|
|
42
142
|
let pausedUntil = 0;
|
|
43
143
|
let configAt = 0;
|
|
144
|
+
let configFailures = 0;
|
|
44
145
|
let configInFlight = false;
|
|
45
146
|
let lastFlush = 0;
|
|
147
|
+
let sendFailures = 0;
|
|
148
|
+
let nextSendAt = 0;
|
|
46
149
|
let flushing = null;
|
|
47
|
-
|
|
150
|
+
let budgetReportedAt = 0;
|
|
151
|
+
const revoked = () => Date.now() < revokedUntil;
|
|
152
|
+
const pipeline = new MonitorPipeline({ level: () => (!revoked() && Date.now() >= pausedUntil ? level : null), budget });
|
|
48
153
|
const refreshConfig = async () => {
|
|
49
154
|
configInFlight = true;
|
|
50
|
-
const t = withTimeout(
|
|
155
|
+
const t = withTimeout(REQUEST_TIMEOUT_MS);
|
|
51
156
|
try {
|
|
52
157
|
const response = await fetch(`${base}/v1/monitor/config`, { headers, signal: t.signal });
|
|
53
158
|
const body = (await response.json().catch(() => ({})));
|
|
54
|
-
|
|
159
|
+
configFailures = response.status >= 500 ? configFailures + 1 : 0;
|
|
160
|
+
if (response.ok) {
|
|
55
161
|
level = body.level ?? "standard";
|
|
162
|
+
revokedUntil = 0;
|
|
163
|
+
}
|
|
56
164
|
else if (response.status === 401) {
|
|
57
|
-
revoked
|
|
58
|
-
|
|
165
|
+
if (!revoked())
|
|
166
|
+
report("AgentBeam App monitoring paused: this app token was rejected (rotated or removed). Checking again in 15 minutes.");
|
|
167
|
+
revokedUntil = Date.now() + REVOKED_RECHECK_MS;
|
|
59
168
|
}
|
|
60
169
|
else if (response.status === 403) {
|
|
61
170
|
level = null;
|
|
62
|
-
report(body.error
|
|
171
|
+
report(typeof body.error === "string" ? body.error : "AgentBeam App monitoring is turned off for this workspace.");
|
|
63
172
|
}
|
|
64
173
|
else if (response.status === 429)
|
|
65
|
-
pausedUntil =
|
|
174
|
+
pausedUntil = pauseUntil(body.resetAt);
|
|
66
175
|
}
|
|
67
176
|
catch {
|
|
68
|
-
|
|
177
|
+
configFailures++; // unreachable or slow: keep the last known level and back off
|
|
69
178
|
}
|
|
70
179
|
finally {
|
|
71
180
|
t.done();
|
|
@@ -74,58 +183,79 @@ export function createAppMonitor(options = {}) {
|
|
|
74
183
|
}
|
|
75
184
|
};
|
|
76
185
|
const ensureConfig = () => {
|
|
77
|
-
if (
|
|
186
|
+
if (configInFlight || revoked())
|
|
78
187
|
return;
|
|
79
|
-
const every = level ? CONFIG_EVERY_MS : CONFIG_RETRY_MS;
|
|
188
|
+
const every = level && !configFailures ? CONFIG_EVERY_MS : backoff(CONFIG_RETRY_MS, configFailures);
|
|
80
189
|
if (!configAt || Date.now() - configAt >= every)
|
|
81
190
|
void refreshConfig();
|
|
82
191
|
};
|
|
83
192
|
const send = async (batch) => {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
193
|
+
// The app's own model, with the app's own key: only the verdict travels with the finding.
|
|
194
|
+
if (ownLlm && level)
|
|
195
|
+
await judgeWithOwnLlm(batch, level, ownLlm).catch(() => 0);
|
|
196
|
+
const t = withTimeout(REQUEST_TIMEOUT_MS);
|
|
197
|
+
const outcome = await (async () => {
|
|
198
|
+
try {
|
|
199
|
+
const response = await fetch(`${base}/v1/monitor/findings`, { method: "POST", headers, body: JSON.stringify({ findings: batch }), signal: t.signal });
|
|
200
|
+
if (response.ok)
|
|
201
|
+
return "sent";
|
|
202
|
+
const body = (await response.json().catch(() => ({})));
|
|
203
|
+
if (response.status === 401) {
|
|
204
|
+
if (!revoked())
|
|
205
|
+
report("AgentBeam App monitoring paused: this app token was rejected (rotated or removed). Checking again in 15 minutes.");
|
|
206
|
+
revokedUntil = Date.now() + REVOKED_RECHECK_MS;
|
|
207
|
+
return "drop";
|
|
208
|
+
}
|
|
209
|
+
if (response.status === 403) {
|
|
210
|
+
level = null;
|
|
211
|
+
return "drop";
|
|
212
|
+
}
|
|
213
|
+
if (response.status === 429) {
|
|
214
|
+
pausedUntil = pauseUntil(body.resetAt);
|
|
215
|
+
return "drop";
|
|
216
|
+
}
|
|
217
|
+
return response.status >= 500 ? "retry" : "drop";
|
|
94
218
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
return "drop";
|
|
219
|
+
catch {
|
|
220
|
+
return "retry";
|
|
98
221
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
return "drop";
|
|
222
|
+
finally {
|
|
223
|
+
t.done();
|
|
102
224
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
t.done();
|
|
110
|
-
}
|
|
225
|
+
})();
|
|
226
|
+
if (outcome === "retry")
|
|
227
|
+
nextSendAt = Date.now() + backoff(flushEvery, ++sendFailures);
|
|
228
|
+
else
|
|
229
|
+
sendFailures = 0;
|
|
230
|
+
return outcome;
|
|
111
231
|
};
|
|
112
232
|
const flush = (force = false) => {
|
|
113
233
|
if (flushing)
|
|
114
234
|
return flushing;
|
|
115
235
|
if (!pipeline.pending.length)
|
|
116
236
|
return Promise.resolve();
|
|
117
|
-
|
|
237
|
+
const now = Date.now();
|
|
238
|
+
if (!force && (now - lastFlush < flushEvery || now < nextSendAt))
|
|
118
239
|
return Promise.resolve();
|
|
119
|
-
lastFlush =
|
|
240
|
+
lastFlush = now;
|
|
120
241
|
flushing = pipeline.flush(send).catch(() => { }).finally(() => { flushing = null; });
|
|
121
242
|
return flushing;
|
|
122
243
|
};
|
|
123
|
-
const
|
|
244
|
+
const noteBudget = () => {
|
|
245
|
+
if (Date.now() - budgetReportedAt < 60_000)
|
|
246
|
+
return;
|
|
247
|
+
const skipped = budget.takeSkipped() + localBudget.takeSkipped();
|
|
248
|
+
budgetReportedAt = Date.now();
|
|
249
|
+
if (skipped)
|
|
250
|
+
report(`AgentBeam App monitoring skipped ${skipped} checks in the last minute to stay under ${percent}% of a CPU (maxCpuPercent).`);
|
|
251
|
+
};
|
|
252
|
+
const ingest = (line, file, ingestOptions) => {
|
|
124
253
|
try {
|
|
125
254
|
ensureConfig();
|
|
126
|
-
|
|
255
|
+
noteBudget();
|
|
256
|
+
if (!level || revoked())
|
|
127
257
|
return;
|
|
128
|
-
pipeline.ingestLine(line, file);
|
|
258
|
+
pipeline.ingestLine(line, file, ingestOptions);
|
|
129
259
|
if (Date.now() - lastFlush >= flushEvery)
|
|
130
260
|
void flush();
|
|
131
261
|
}
|
|
@@ -133,26 +263,50 @@ export function createAppMonitor(options = {}) {
|
|
|
133
263
|
/* never let monitoring affect the app */
|
|
134
264
|
}
|
|
135
265
|
};
|
|
266
|
+
const llmText = (text, source, info) => {
|
|
267
|
+
const { result, window } = budgeted(text, source, source === "output" ? canaries : []);
|
|
268
|
+
try {
|
|
269
|
+
if (!window.trim())
|
|
270
|
+
return result;
|
|
271
|
+
const client = String(info?.ip ?? info?.user ?? "").trim().slice(0, 80) || undefined;
|
|
272
|
+
const label = typeof info?.label === "string" && info.label.trim() ? info.label.trim().slice(0, 60) : source === "prompt" ? "prompts" : "model output";
|
|
273
|
+
// Clean prompts are still counted per sender, to spot floods.
|
|
274
|
+
if (result.flagged || (source === "prompt" && client))
|
|
275
|
+
ingest(window, label, { source, client, rules: source === "output" ? canaries : undefined, excerpt: options.excerpts !== false });
|
|
276
|
+
}
|
|
277
|
+
catch {
|
|
278
|
+
/* never let monitoring affect the app */
|
|
279
|
+
}
|
|
280
|
+
return result;
|
|
281
|
+
};
|
|
136
282
|
void refreshConfig();
|
|
137
283
|
return {
|
|
138
284
|
enabled: true,
|
|
139
285
|
request(info) {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
286
|
+
try {
|
|
287
|
+
if (!info || typeof info.url !== "string")
|
|
288
|
+
return;
|
|
289
|
+
const text = (v, max) => (v === null || v === undefined ? undefined : String(v).slice(0, max));
|
|
290
|
+
// Same JSON shape as an access-log line, so the rules see method, path+query, client and agent.
|
|
291
|
+
ingest(JSON.stringify({
|
|
292
|
+
method: String(info.method || "GET").toUpperCase().slice(0, 16),
|
|
293
|
+
path: info.url.slice(0, 8192),
|
|
294
|
+
httpStatus: typeof info.status === "number" ? info.status : undefined,
|
|
295
|
+
srcIp: text(info.ip, 64),
|
|
296
|
+
clientUa: text(info.userAgent, 512),
|
|
297
|
+
}), "requests");
|
|
298
|
+
}
|
|
299
|
+
catch {
|
|
300
|
+
/* never let monitoring affect the app */
|
|
301
|
+
}
|
|
150
302
|
},
|
|
151
303
|
log(line) {
|
|
152
304
|
if (typeof line === "string" && line.trim())
|
|
153
305
|
ingest(line.slice(0, 16_384), "app log");
|
|
154
306
|
},
|
|
155
|
-
|
|
307
|
+
prompt: (text, info) => llmText(text, "prompt", info),
|
|
308
|
+
output: (text, info) => llmText(text, "output", info),
|
|
309
|
+
flush: (opts) => flush(Boolean(opts?.force)).catch(() => { }),
|
|
156
310
|
};
|
|
157
311
|
}
|
|
158
312
|
//# sourceMappingURL=sdk.js.map
|
package/dist/sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-beam/beam",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.30",
|
|
4
4
|
"description": "Local-first observation and heuristic risk scanning for AI coding agents (Claude Code, Codex, Cursor, Copilot CLI, Gemini). Redacts secrets, flags risky tool calls, scans skills and MCP configs offline.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai agent security",
|
|
@@ -44,7 +44,8 @@
|
|
|
44
44
|
},
|
|
45
45
|
"files": [
|
|
46
46
|
"dist",
|
|
47
|
-
"Skills"
|
|
47
|
+
"Skills",
|
|
48
|
+
"stress-report.json"
|
|
48
49
|
],
|
|
49
50
|
"pkg": {
|
|
50
51
|
"assets": [
|
|
@@ -59,10 +60,11 @@
|
|
|
59
60
|
"test": "node --no-warnings --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand",
|
|
60
61
|
"test:watch": "node --no-warnings --experimental-vm-modules node_modules/jest/bin/jest.js --watch",
|
|
61
62
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
62
|
-
"prepublishOnly": "npm run validate:skills && npm run typecheck && npm test && npm run build",
|
|
63
|
+
"prepublishOnly": "npm run validate:skills && npm run typecheck && npm test && npm run build && node --expose-gc scripts/stress-report.mjs --out stress-report.json",
|
|
63
64
|
"setup": "npm run build && node dist/cli.js setup",
|
|
64
65
|
"setup:global": "bash scripts/setup-global.sh",
|
|
65
|
-
"validate:skills": "node Skills/scripts/validate-skills.mjs"
|
|
66
|
+
"validate:skills": "node Skills/scripts/validate-skills.mjs",
|
|
67
|
+
"stress": "npm run build && node --expose-gc scripts/stress-report.mjs"
|
|
66
68
|
},
|
|
67
69
|
"publishConfig": {
|
|
68
70
|
"access": "public"
|
|
@@ -71,6 +73,7 @@
|
|
|
71
73
|
"node": ">=20.17.0"
|
|
72
74
|
},
|
|
73
75
|
"dependencies": {
|
|
76
|
+
"@anthropic-ai/sdk": "^1.2.0",
|
|
74
77
|
"commander": "^13.0.0"
|
|
75
78
|
},
|
|
76
79
|
"devDependencies": {
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": 1,
|
|
3
|
+
"package": "@agent-beam/beam",
|
|
4
|
+
"version": "0.2.30",
|
|
5
|
+
"generatedAt": "2026-10-23T15:36:41.507Z",
|
|
6
|
+
"passed": true,
|
|
7
|
+
"environment": {
|
|
8
|
+
"node": "v24.5.0",
|
|
9
|
+
"platform": "darwin arm64",
|
|
10
|
+
"cpu": "Apple M3 Pro",
|
|
11
|
+
"cores": 11,
|
|
12
|
+
"ci": false
|
|
13
|
+
},
|
|
14
|
+
"checks": [
|
|
15
|
+
{
|
|
16
|
+
"id": "hostile-input",
|
|
17
|
+
"title": "Hostile input",
|
|
18
|
+
"passed": true,
|
|
19
|
+
"summary": "41 attack shapes at 16 KB; the slowest took 13.9 ms (unicode tags)",
|
|
20
|
+
"measured": {
|
|
21
|
+
"worstMs": 13.9,
|
|
22
|
+
"cases": 41,
|
|
23
|
+
"slowest": [
|
|
24
|
+
{
|
|
25
|
+
"input": "unicode tags",
|
|
26
|
+
"ms": 13.9
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"input": "curl|",
|
|
30
|
+
"ms": 10.79
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"input": " 16.1 µs, prompt() 11 µs on a short message",
|
|
64
|
+
"measured": {
|
|
65
|
+
"requestMicros": 16.1,
|
|
66
|
+
"promptMicros": 11
|
|
67
|
+
},
|
|
68
|
+
"limit": "request() under 100 µs and prompt() under 200 µs"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "memory-cli",
|
|
72
|
+
"title": "Memory under load (beam monitor)",
|
|
73
|
+
"passed": true,
|
|
74
|
+
"summary": "8.5 MB at start; 9.9, 10.1, 10, 10, 10, 10 MB after each 500,000 lines; -0.1 MB from 1M to 3M lines",
|
|
75
|
+
"measured": {
|
|
76
|
+
"heapMb": [
|
|
77
|
+
9.9,
|
|
78
|
+
10.1,
|
|
79
|
+
10,
|
|
80
|
+
10,
|
|
81
|
+
10,
|
|
82
|
+
10
|
|
83
|
+
],
|
|
84
|
+
"startMb": 8.5,
|
|
85
|
+
"growthMb": -0.1,
|
|
86
|
+
"footprint": {
|
|
87
|
+
"seen": 200,
|
|
88
|
+
"queue": 1000,
|
|
89
|
+
"queued": 0,
|
|
90
|
+
"authFailures": 0,
|
|
91
|
+
"llmCalls": 2550
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"limit": "under 20 MB growth from 1M to 3M lines"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"id": "memory-sdk",
|
|
98
|
+
"title": "Memory in your app while AgentBeam is down",
|
|
99
|
+
"passed": true,
|
|
100
|
+
"summary": "8.4, 8.4, 8.4, 8.4 MB after each 250,000 requests and prompts",
|
|
101
|
+
"measured": {
|
|
102
|
+
"heapMb": [
|
|
103
|
+
8.4,
|
|
104
|
+
8.4,
|
|
105
|
+
8.4,
|
|
106
|
+
8.4
|
|
107
|
+
],
|
|
108
|
+
"growthMb": 0
|
|
109
|
+
},
|
|
110
|
+
"limit": "under 10 MB growth over 1M requests"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"id": "outage",
|
|
114
|
+
"title": "AgentBeam down or slow",
|
|
115
|
+
"passed": true,
|
|
116
|
+
"summary": "request() stayed at 13.4 µs; 1 send attempt, then none while backing off; a hung connection was dropped after 5.0 s, off the request path",
|
|
117
|
+
"measured": {
|
|
118
|
+
"requestMicros": 13.4,
|
|
119
|
+
"attemptsBeforeBackoff": 1,
|
|
120
|
+
"attemptsDuringBackoff": 0,
|
|
121
|
+
"hungFlushMs": 5001
|
|
122
|
+
},
|
|
123
|
+
"limit": "no slowdown, no retries during backoff, hung sends dropped within 7 s"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"id": "cpu-budget",
|
|
127
|
+
"title": "CPU cap",
|
|
128
|
+
"passed": true,
|
|
129
|
+
"summary": "with a 1% cap (600 ms a minute), a flood of 200 KB documents got 642 ms of checking (59 documents); the rest were skipped, flagged as skipped, at 0.13 µs each",
|
|
130
|
+
"measured": {
|
|
131
|
+
"capMs": 600,
|
|
132
|
+
"spentMs": 642,
|
|
133
|
+
"checked": 59,
|
|
134
|
+
"skipped": 100000,
|
|
135
|
+
"skippedCallMicros": 0.13
|
|
136
|
+
},
|
|
137
|
+
"limit": "under twice the cap (one check can finish after the cap is reached)"
|
|
138
|
+
}
|
|
139
|
+
]
|
|
140
|
+
}
|