@agent-beam/beam 0.2.37 → 0.2.39
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 +7 -13
- package/dist/access-risk.d.ts +10 -0
- package/dist/access-risk.js +43 -0
- package/dist/access-risk.js.map +1 -0
- package/dist/action-context.d.ts +30 -0
- package/dist/action-context.js +203 -0
- package/dist/action-context.js.map +1 -0
- package/dist/activity.d.ts +22 -0
- package/dist/activity.js +132 -0
- package/dist/activity.js.map +1 -0
- package/dist/agent-hook-install.d.ts +8 -0
- package/dist/agent-hook-install.js +278 -0
- package/dist/agent-hook-install.js.map +1 -0
- package/dist/agent-installers.js +16 -3
- package/dist/agent-installers.js.map +1 -1
- package/dist/agent-plugins.d.ts +3 -0
- package/dist/agent-plugins.js +66 -0
- package/dist/agent-plugins.js.map +1 -0
- package/dist/agents.d.ts +1 -0
- package/dist/agents.js +30 -184
- package/dist/agents.js.map +1 -1
- package/dist/behavioral-anomaly.d.ts +16 -0
- package/dist/behavioral-anomaly.js +66 -0
- package/dist/behavioral-anomaly.js.map +1 -0
- package/dist/cli.js +28 -10
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.js +203 -100
- package/dist/client.js.map +1 -1
- package/dist/connect.d.ts +7 -0
- package/dist/connect.js +12 -0
- package/dist/connect.js.map +1 -1
- package/dist/core.d.ts +50 -2
- package/dist/core.js +73 -24
- package/dist/core.js.map +1 -1
- package/dist/credential-egress.d.ts +17 -0
- package/dist/credential-egress.js +325 -0
- package/dist/credential-egress.js.map +1 -0
- package/dist/custom-rules.js +2 -1
- package/dist/custom-rules.js.map +1 -1
- package/dist/data-detectors.js +60 -4
- package/dist/data-detectors.js.map +1 -1
- package/dist/destructive-risk.d.ts +1 -0
- package/dist/destructive-risk.js +70 -0
- package/dist/destructive-risk.js.map +1 -0
- package/dist/edit-stats.js +5 -5
- package/dist/edit-stats.js.map +1 -1
- package/dist/entity-redaction.d.ts +11 -0
- package/dist/entity-redaction.js +88 -0
- package/dist/entity-redaction.js.map +1 -0
- package/dist/file-lock.d.ts +1 -0
- package/dist/file-lock.js +54 -0
- package/dist/file-lock.js.map +1 -0
- package/dist/forward.d.ts +13 -6
- package/dist/forward.js +120 -42
- package/dist/forward.js.map +1 -1
- package/dist/hook-adapters.d.ts +2 -2
- package/dist/hook-adapters.js +59 -60
- package/dist/hook-adapters.js.map +1 -1
- package/dist/hook-catalog.d.ts +12 -0
- package/dist/hook-catalog.js +469 -0
- package/dist/hook-catalog.js.map +1 -0
- package/dist/hook-config.d.ts +8 -0
- package/dist/hook-config.js +80 -0
- package/dist/hook-config.js.map +1 -0
- package/dist/hook-spool.d.ts +3 -0
- package/dist/hook-spool.js +56 -0
- package/dist/hook-spool.js.map +1 -0
- package/dist/install.d.ts +5 -5
- package/dist/install.js +48 -199
- package/dist/install.js.map +1 -1
- package/dist/inventory.js +1 -1
- package/dist/inventory.js.map +1 -1
- package/dist/jev.js +2 -1
- package/dist/jev.js.map +1 -1
- package/dist/judge.js +2 -1
- package/dist/judge.js.map +1 -1
- package/dist/mitigation-pattern.d.ts +1 -0
- package/dist/mitigation-pattern.js +140 -0
- package/dist/mitigation-pattern.js.map +1 -0
- package/dist/package-risk-rules.js +2 -2
- package/dist/package-risk-rules.js.map +1 -1
- package/dist/policy-paths.d.ts +20 -0
- package/dist/policy-paths.js +145 -0
- package/dist/policy-paths.js.map +1 -0
- package/dist/policy.d.ts +5 -0
- package/dist/policy.js +78 -10
- package/dist/policy.js.map +1 -1
- package/dist/rule-catalog.d.ts +3 -1
- package/dist/rule-catalog.js +124 -24
- package/dist/rule-catalog.js.map +1 -1
- package/dist/rule-matches.d.ts +13 -0
- package/dist/rule-matches.js +42 -0
- package/dist/rule-matches.js.map +1 -0
- package/dist/serve.js +55 -5
- package/dist/serve.js.map +1 -1
- package/dist/server.js +7 -6
- package/dist/server.js.map +1 -1
- package/dist/setup.js +26 -13
- package/dist/setup.js.map +1 -1
- package/dist/skill-risk-rules.js +2 -2
- package/dist/skill-risk-rules.js.map +1 -1
- package/dist/skill-setup.js +4 -5
- package/dist/skill-setup.js.map +1 -1
- package/dist/skill-sync.d.ts +5 -1
- package/dist/skill-sync.js +115 -14
- package/dist/skill-sync.js.map +1 -1
- package/dist/store.js +6 -9
- package/dist/store.js.map +1 -1
- package/dist/studio.js +2 -2
- package/package.json +6 -3
- package/stress-report.json +48 -48
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { mkdir, writeFile, readdir, readFile, rename, rm } from 'node:fs/promises';
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { getDataDirectory } from './config.js';
|
|
5
|
+
// Only bounded, redacted capture projections enter this queue. One file per event
|
|
6
|
+
// avoids interleaved appends from concurrent agent processes.
|
|
7
|
+
export async function spoolHookEvent(event, directory = getDataDirectory()) {
|
|
8
|
+
const dir = join(directory, 'hook-spool');
|
|
9
|
+
await mkdir(dir, { recursive: true, mode: 0o700 });
|
|
10
|
+
const body = JSON.stringify(event);
|
|
11
|
+
if (Buffer.byteLength(body) > 150000)
|
|
12
|
+
throw new Error('Projected hook event exceeds queue limit.');
|
|
13
|
+
const name = `${Date.now()}-${randomUUID()}`;
|
|
14
|
+
const temp = join(dir, `${name}.tmp`);
|
|
15
|
+
try {
|
|
16
|
+
await writeFile(temp, body, { mode: 0o600, flag: 'wx' });
|
|
17
|
+
await rename(temp, join(dir, `${name}.json`));
|
|
18
|
+
}
|
|
19
|
+
finally {
|
|
20
|
+
await rm(temp, { force: true });
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export async function drainHookSpool(directory, ingest) {
|
|
24
|
+
const dir = join(directory, 'hook-spool');
|
|
25
|
+
let files;
|
|
26
|
+
try {
|
|
27
|
+
files = await readdir(dir);
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
if (e.code === 'ENOENT')
|
|
31
|
+
return 0;
|
|
32
|
+
throw e;
|
|
33
|
+
}
|
|
34
|
+
let drained = 0;
|
|
35
|
+
for (const name of files.filter(n => /^\d+-[\da-f-]+\.json$/.test(n)).sort().slice(0, 200)) {
|
|
36
|
+
const path = join(dir, name);
|
|
37
|
+
let event;
|
|
38
|
+
try {
|
|
39
|
+
event = JSON.parse(await readFile(path, 'utf8'));
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
await rename(path, path + '.invalid').catch(() => { });
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
try {
|
|
46
|
+
await ingest([event]);
|
|
47
|
+
await rm(path);
|
|
48
|
+
drained++;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
break;
|
|
52
|
+
} // leave the event for the next poll on storage failure
|
|
53
|
+
}
|
|
54
|
+
return drained;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=hook-spool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-spool.js","sourceRoot":"","sources":["../src/hook-spool.ts"],"names":[],"mappings":"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"}
|
package/dist/install.d.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { type AgentDefinition } from
|
|
1
|
+
import { type AgentDefinition } from './agents.js';
|
|
2
2
|
export interface InstallResult {
|
|
3
3
|
agent: string;
|
|
4
4
|
path: string;
|
|
5
5
|
alreadyInstalled: boolean;
|
|
6
6
|
note?: string;
|
|
7
7
|
}
|
|
8
|
-
export declare function installHook(agentId: string, home?: string): Promise<InstallResult>;
|
|
9
8
|
export interface UninstallResult {
|
|
10
9
|
agent: string;
|
|
11
10
|
path: string;
|
|
12
11
|
removed: boolean;
|
|
13
12
|
note?: string;
|
|
14
13
|
}
|
|
15
|
-
export declare function
|
|
14
|
+
export declare function installHook(agentId: string, home?: string, settings?: string): Promise<InstallResult>;
|
|
15
|
+
export declare function uninstallHook(agentId: string, home?: string, settings?: string): Promise<UninstallResult>;
|
|
16
|
+
export declare function isHookInstalled(agentId: string, home?: string, settings?: string): Promise<boolean>;
|
|
16
17
|
export declare function uninstallAllHooks(home?: string): Promise<UninstallResult[]>;
|
|
17
|
-
export declare function isHookInstalled(agentId: string, home?: string): Promise<boolean>;
|
|
18
18
|
export declare function installedHookAgentIds(home?: string): Promise<string[]>;
|
|
19
19
|
export declare function detectAgents(home?: string): Promise<AgentDefinition[]>;
|
|
20
|
-
export type InstallAllStatus =
|
|
20
|
+
export type InstallAllStatus = 'installed' | 'already-installed' | 'not-detected' | 'not-supported' | 'error';
|
|
21
21
|
export interface InstallAllResult {
|
|
22
22
|
agent: string;
|
|
23
23
|
name: string;
|
package/dist/install.js
CHANGED
|
@@ -1,245 +1,94 @@
|
|
|
1
|
-
import { access
|
|
2
|
-
import { homedir } from
|
|
3
|
-
import {
|
|
4
|
-
import { fileURLToPath } from
|
|
5
|
-
import { CUSTOM_INSTALLERS } from
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"tool.execute.before": async (input: any, output: any) => {
|
|
11
|
-
const payload = { tool_name: input?.tool, tool_input: output?.args ?? {}, session_id: input?.sessionID, cwd: input?.directory ?? input?.worktree, source_agent: "opencode", source_type: "hook" };
|
|
12
|
-
const result = spawnSync("beam", ["hook", "opencode"], { input: JSON.stringify(payload), encoding: "utf8", timeout: 5000 });
|
|
13
|
-
let response: any = {};
|
|
14
|
-
try { response = JSON.parse(result.stdout || "{}"); } catch { /* fail closed below */ }
|
|
15
|
-
if (result.error || result.status !== 0 || response.decision === "deny") throw new Error(response.reason || "Beam denied this tool execution.");
|
|
16
|
-
},
|
|
17
|
-
});
|
|
18
|
-
`;
|
|
19
|
-
// True when beam can wire this agent: a JSON hook file, the OpenCode plugin, or a custom installer.
|
|
20
|
-
function canInstall(agent) {
|
|
21
|
-
return agent.id === "opencode" || Boolean(agent.customInstall) || Boolean(agent.hookConfigPath && agent.mergeHookConfig);
|
|
22
|
-
}
|
|
23
|
-
function hookTarget(agentId) {
|
|
24
|
-
return { nodePath: process.execPath, cliPath: fileURLToPath(new URL("./cli.js", import.meta.url)), agentId };
|
|
25
|
-
}
|
|
26
|
-
// A bare "beam" command relies on beam's global bin symlink being resolvable on PATH -- but the
|
|
27
|
-
// shell that runs an agent's hooks (e.g. Claude Code's own PreToolUse child process) doesn't
|
|
28
|
-
// always source the same profile a user's interactive shell does, so "beam" can 404 silently
|
|
29
|
-
// there even though it works fine when the user types it themselves. Embedding the absolute path
|
|
30
|
-
// to this running install (both the node binary and dist/cli.js, resolved via import.meta.url
|
|
31
|
-
// rather than argv[1] so it's correct however beam itself was invoked) sidesteps PATH entirely.
|
|
32
|
-
function resolveHookCommand(agentId) {
|
|
33
|
-
const cliPath = fileURLToPath(new URL("./cli.js", import.meta.url));
|
|
34
|
-
return `${quoteForShell(process.execPath)} ${quoteForShell(cliPath)} hook ${agentId}`;
|
|
35
|
-
}
|
|
36
|
-
function quoteForShell(value) {
|
|
37
|
-
return `"${value.replace(/(["\\$`])/g, "\\$1")}"`;
|
|
38
|
-
}
|
|
39
|
-
// Pre-fix installs wrote a bare "beam hook <agent>" command that depends on PATH; recognizing it
|
|
40
|
-
// here lets installHook migrate an existing entry to the absolute-path form instead of leaving a
|
|
41
|
-
// dead duplicate behind, and lets uninstallHook still find and remove it.
|
|
42
|
-
function legacyHookCommand(agentId) {
|
|
43
|
-
return `beam hook ${agentId}`;
|
|
44
|
-
}
|
|
45
|
-
// Recognizes any hook command beam itself could have written for this agent, regardless
|
|
46
|
-
// of which install wrote it -- the current absolute-path form (resolveHookCommand embeds the
|
|
47
|
-
// running process's own node/cli.js paths, which differ between a global npm install, a local
|
|
48
|
-
// dev checkout, or the same install after 'beam update' relocates it) or the pre-fix bare legacy
|
|
49
|
-
// form. Without this, uninstalling from a *different* beam install than the one that originally
|
|
50
|
-
// wrote the entry compares an exact string that can never match -- 'beam uninstall' reports
|
|
51
|
-
// success but silently leaves the hook installed and beam still fully monitoring/enforcing.
|
|
52
|
-
// Matching the install-independent ` hook <agentId>` suffix (plus a `cli.js` sanity check, so an
|
|
53
|
-
// unrelated hook that merely happens to end similarly isn't swept up) fixes that.
|
|
54
|
-
function isOwnHookCommand(agentId) {
|
|
55
|
-
const suffix = ` hook ${agentId}`;
|
|
56
|
-
return (command) => command === legacyHookCommand(agentId) || (command.includes("cli.js") && command.endsWith(suffix));
|
|
57
|
-
}
|
|
58
|
-
export async function installHook(agentId, home = homedir()) {
|
|
1
|
+
import { access } from 'node:fs/promises';
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import { CUSTOM_INSTALLERS } from './agent-installers.js';
|
|
6
|
+
import { catalogInstaller, agentDetectionPaths } from './agent-hook-install.js';
|
|
7
|
+
import { hookSpec } from './hook-catalog.js';
|
|
8
|
+
import { AGENTS, findAgent } from './agents.js';
|
|
9
|
+
function installer(agentId, settings) {
|
|
59
10
|
const agent = findAgent(agentId);
|
|
60
11
|
if (!agent)
|
|
61
12
|
throw new Error(`Unknown agent '${agentId}'. Run 'beam agent list' to see supported agents.`);
|
|
62
|
-
if (agent.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
await writeFile(path, OPEN_CODE_PLUGIN, { mode: 0o600 });
|
|
68
|
-
}
|
|
69
|
-
return { agent: agent.id, path, alreadyInstalled: Boolean(existing) };
|
|
70
|
-
}
|
|
71
|
-
if (agent.customInstall) {
|
|
72
|
-
const result = await CUSTOM_INSTALLERS[agent.id].install(home, hookTarget(agent.id));
|
|
73
|
-
return { agent: agent.id, ...result };
|
|
74
|
-
}
|
|
75
|
-
if (!agent.hookConfigPath || !agent.mergeHookConfig || !agent.unmergeHookConfig)
|
|
76
|
-
throw new Error(`${agent.name} has no supported hook install path yet; see 'beam agent list' for its status.`);
|
|
77
|
-
const path = hookConfigFullPath(agent, home);
|
|
78
|
-
const command = resolveHookCommand(agent.id);
|
|
79
|
-
let existing = {};
|
|
80
|
-
let raw = "";
|
|
81
|
-
try {
|
|
82
|
-
raw = await readFile(path, "utf8");
|
|
83
|
-
existing = raw.trim() ? JSON.parse(raw) : {};
|
|
84
|
-
}
|
|
85
|
-
catch (e) {
|
|
86
|
-
if (e.code !== "ENOENT") {
|
|
87
|
-
if (e instanceof SyntaxError)
|
|
88
|
-
throw new Error(`${path} contains invalid JSON; fix or remove it before installing.`);
|
|
89
|
-
throw e;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
// Strip any existing beam entry first -- legacy bare form, or an absolute-path form written by
|
|
93
|
-
// a different beam install -- so re-installing migrates/replaces it rather than duplicating.
|
|
94
|
-
const base = agent.unmergeHookConfig(existing, isOwnHookCommand(agent.id));
|
|
95
|
-
const merged = agent.mergeHookConfig(base, command);
|
|
96
|
-
const alreadyInstalled = JSON.stringify(merged) === JSON.stringify(existing) && raw.trim() !== "";
|
|
97
|
-
if (!alreadyInstalled) {
|
|
98
|
-
await mkdir(dirname(path), { recursive: true });
|
|
99
|
-
await writeFile(path, `${JSON.stringify(merged, null, 2)}\n`);
|
|
100
|
-
}
|
|
101
|
-
return { agent: agent.id, path, alreadyInstalled };
|
|
13
|
+
if (!agent.customInstall)
|
|
14
|
+
throw new Error(`${agent.name} has no supported hook install path yet.`);
|
|
15
|
+
if (settings && agentId === 'openclaw')
|
|
16
|
+
throw new Error('OpenClaw uses plugin registration; --settings is not supported.');
|
|
17
|
+
return settings ? catalogInstaller(hookSpec(agentId), settings) : CUSTOM_INSTALLERS[agentId];
|
|
102
18
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
// was never wired up.
|
|
107
|
-
export async function uninstallHook(agentId, home = homedir()) {
|
|
108
|
-
const agent = findAgent(agentId);
|
|
109
|
-
if (!agent)
|
|
110
|
-
throw new Error(`Unknown agent '${agentId}'. Run 'beam agent list' to see supported agents.`);
|
|
111
|
-
if (agent.id === "opencode" && agent.pluginPath) {
|
|
112
|
-
const path = join(home, agent.pluginPath);
|
|
113
|
-
const existing = await readFile(path, "utf8").catch(() => "");
|
|
114
|
-
if (existing === OPEN_CODE_PLUGIN) {
|
|
115
|
-
const { rm } = await import("node:fs/promises");
|
|
116
|
-
await rm(path, { force: true });
|
|
117
|
-
return { agent: agent.id, path, removed: true };
|
|
118
|
-
}
|
|
119
|
-
return { agent: agent.id, path, removed: false };
|
|
120
|
-
}
|
|
121
|
-
if (agent.customInstall) {
|
|
122
|
-
const result = await CUSTOM_INSTALLERS[agent.id].uninstall(home);
|
|
123
|
-
return { agent: agent.id, ...result };
|
|
124
|
-
}
|
|
125
|
-
if (!agent.hookConfigPath || !agent.unmergeHookConfig)
|
|
126
|
-
throw new Error(`${agent.name} has no supported hook path yet; see 'beam agent list' for its status.`);
|
|
127
|
-
const path = hookConfigFullPath(agent, home);
|
|
128
|
-
let existing = {};
|
|
129
|
-
let raw = "";
|
|
130
|
-
try {
|
|
131
|
-
raw = await readFile(path, "utf8");
|
|
132
|
-
existing = raw.trim() ? JSON.parse(raw) : {};
|
|
133
|
-
}
|
|
134
|
-
catch (e) {
|
|
135
|
-
if (e.code === "ENOENT")
|
|
136
|
-
return { agent: agent.id, path, removed: false };
|
|
137
|
-
if (e instanceof SyntaxError)
|
|
138
|
-
throw new Error(`${path} contains invalid JSON; fix or remove it manually.`);
|
|
139
|
-
throw e;
|
|
140
|
-
}
|
|
141
|
-
// Removes beam's entry regardless of which install (this one, a different one, or the pre-fix
|
|
142
|
-
// legacy bare form) originally wrote it -- see isOwnHookCommand.
|
|
143
|
-
const updated = agent.unmergeHookConfig(existing, isOwnHookCommand(agent.id));
|
|
144
|
-
const removed = JSON.stringify(updated) !== JSON.stringify(existing);
|
|
145
|
-
if (removed)
|
|
146
|
-
await writeFile(path, `${JSON.stringify(updated, null, 2)}\n`);
|
|
147
|
-
return { agent: agent.id, path, removed };
|
|
19
|
+
export async function installHook(agentId, home = homedir(), settings) {
|
|
20
|
+
const result = await installer(agentId, settings).install(home, { nodePath: process.execPath, cliPath: fileURLToPath(new URL('./cli.js', import.meta.url)), agentId: agentId === "vscode" ? "copilot-cli" : agentId });
|
|
21
|
+
return { agent: agentId, ...result };
|
|
148
22
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
// trying rather than skipping, since a stale hook entry left behind after 'beam uninstall' is
|
|
152
|
-
// worse than one harmless extra file read.
|
|
153
|
-
export async function uninstallAllHooks(home = homedir()) {
|
|
154
|
-
const results = [];
|
|
155
|
-
for (const agent of AGENTS) {
|
|
156
|
-
if (!canInstall(agent))
|
|
157
|
-
continue;
|
|
158
|
-
results.push(await uninstallHook(agent.id, home));
|
|
159
|
-
}
|
|
160
|
-
return results;
|
|
23
|
+
export async function uninstallHook(agentId, home = homedir(), settings) {
|
|
24
|
+
return { agent: agentId, ...await installer(agentId, settings).uninstall(home) };
|
|
161
25
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
// -- so it goes false the moment a hand edit, a wiped config file, or anything else outside
|
|
165
|
-
// installHook/uninstallHook removes it. tamper.ts polls this to notice that kind of removal.
|
|
166
|
-
export async function isHookInstalled(agentId, home = homedir()) {
|
|
167
|
-
const agent = findAgent(agentId);
|
|
168
|
-
if (!agent)
|
|
169
|
-
return false;
|
|
170
|
-
if (agent.id === "opencode" && agent.pluginPath) {
|
|
171
|
-
const existing = await readFile(join(home, agent.pluginPath), "utf8").catch(() => "");
|
|
172
|
-
return existing === OPEN_CODE_PLUGIN;
|
|
173
|
-
}
|
|
174
|
-
if (agent.customInstall)
|
|
175
|
-
return CUSTOM_INSTALLERS[agent.id].isInstalled(home);
|
|
176
|
-
if (!agent.hookConfigPath || !agent.unmergeHookConfig)
|
|
26
|
+
export async function isHookInstalled(agentId, home = homedir(), settings) {
|
|
27
|
+
if (!findAgent(agentId)?.customInstall)
|
|
177
28
|
return false;
|
|
178
|
-
let existing = {};
|
|
179
29
|
try {
|
|
180
|
-
|
|
181
|
-
existing = raw.trim() ? JSON.parse(raw) : {};
|
|
30
|
+
return await installer(agentId, settings).isInstalled(home);
|
|
182
31
|
}
|
|
183
32
|
catch {
|
|
184
33
|
return false;
|
|
185
34
|
}
|
|
186
|
-
// Same diff trick uninstallHook uses to report `removed`: if stripping beam's entry out would
|
|
187
|
-
// actually change the config, beam's entry must be in there right now.
|
|
188
|
-
const withoutBeam = agent.unmergeHookConfig(existing, isOwnHookCommand(agent.id));
|
|
189
|
-
return JSON.stringify(withoutBeam) !== JSON.stringify(existing);
|
|
190
35
|
}
|
|
191
|
-
|
|
192
|
-
|
|
36
|
+
export async function uninstallAllHooks(home = homedir()) {
|
|
37
|
+
const results = [];
|
|
38
|
+
for (const agent of AGENTS)
|
|
39
|
+
if (agent.customInstall && agent.id !== 'openhands')
|
|
40
|
+
results.push(await uninstallHook(agent.id, home));
|
|
41
|
+
return results;
|
|
42
|
+
}
|
|
193
43
|
export async function installedHookAgentIds(home = homedir()) {
|
|
194
44
|
const ids = [];
|
|
195
|
-
for (const agent of AGENTS)
|
|
196
|
-
if (
|
|
197
|
-
continue;
|
|
198
|
-
if (await isHookInstalled(agent.id, home))
|
|
45
|
+
for (const agent of AGENTS)
|
|
46
|
+
if (agent.id !== 'openhands' && await isHookInstalled(agent.id, home))
|
|
199
47
|
ids.push(agent.id);
|
|
200
|
-
}
|
|
201
48
|
return ids;
|
|
202
49
|
}
|
|
203
50
|
async function isDetected(agent, home) {
|
|
204
|
-
|
|
51
|
+
if (agent.id === 'openhands')
|
|
52
|
+
return false; // only install with an explicit project path
|
|
53
|
+
const spec = hookSpec(agent.id);
|
|
54
|
+
for (const path of spec ? agentDetectionPaths(spec, home) : agent.configs.map(p => join(home, p))) {
|
|
205
55
|
try {
|
|
206
|
-
await access(
|
|
56
|
+
await access(path);
|
|
207
57
|
return true;
|
|
208
58
|
}
|
|
209
|
-
catch { /*
|
|
59
|
+
catch { /* next presence signal */ }
|
|
210
60
|
}
|
|
211
61
|
return false;
|
|
212
62
|
}
|
|
213
|
-
// Detection only, no writes — lets a caller (e.g. `beam setup`) show what's on the machine
|
|
214
|
-
// and let the user choose before `installHook` touches anything.
|
|
215
63
|
export async function detectAgents(home = homedir()) {
|
|
216
64
|
const found = [];
|
|
217
|
-
for (const agent of AGENTS)
|
|
65
|
+
for (const agent of AGENTS)
|
|
218
66
|
if (await isDetected(agent, home))
|
|
219
67
|
found.push(agent);
|
|
220
|
-
}
|
|
221
68
|
return found;
|
|
222
69
|
}
|
|
223
|
-
// Detects which agents are actually present on this machine (via agents.ts's real, non-circular
|
|
224
|
-
// config-presence signals — never the hook file beam itself would write) and installs beam's
|
|
225
|
-
// hook into every one that's both detected and supported, skipping the rest without erroring.
|
|
226
70
|
export async function installAllDetectedHooks(home = homedir()) {
|
|
227
71
|
const results = [];
|
|
228
72
|
for (const agent of AGENTS) {
|
|
229
73
|
if (!(await isDetected(agent, home))) {
|
|
230
|
-
results.push({ agent: agent.id, name: agent.name, status:
|
|
74
|
+
results.push({ agent: agent.id, name: agent.name, status: 'not-detected' });
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
if (!agent.customInstall) {
|
|
78
|
+
results.push({ agent: agent.id, name: agent.name, status: 'not-supported' });
|
|
231
79
|
continue;
|
|
232
80
|
}
|
|
233
|
-
|
|
234
|
-
|
|
81
|
+
// Copilot and VS Code load the same file. The runtime resolves the actual host.
|
|
82
|
+
if (agent.id === 'vscode' && results.some(r => r.agent === 'copilot-cli' && ['installed', 'already-installed'].includes(r.status))) {
|
|
83
|
+
results.push({ agent: agent.id, name: agent.name, status: 'already-installed', note: 'Uses the shared Copilot hook file.' });
|
|
235
84
|
continue;
|
|
236
85
|
}
|
|
237
86
|
try {
|
|
238
87
|
const result = await installHook(agent.id, home);
|
|
239
|
-
results.push({ agent: agent.id, name: agent.name, status: result.alreadyInstalled ?
|
|
88
|
+
results.push({ agent: agent.id, name: agent.name, status: result.alreadyInstalled ? 'already-installed' : 'installed', path: result.path, note: result.note });
|
|
240
89
|
}
|
|
241
90
|
catch (e) {
|
|
242
|
-
results.push({ agent: agent.id, name: agent.name, status:
|
|
91
|
+
results.push({ agent: agent.id, name: agent.name, status: 'error', error: e instanceof Error ? e.message : String(e) });
|
|
243
92
|
}
|
|
244
93
|
}
|
|
245
94
|
return results;
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
package/dist/inventory.js
CHANGED
|
@@ -16,7 +16,7 @@ export async function inventory(events, home = homedir()) {
|
|
|
16
16
|
return {
|
|
17
17
|
agent: d.id, name: d.name, configPresent: await exists(d.configs), artifactsPresent: await exists(d.artifacts),
|
|
18
18
|
captureStatus: last ? "records received" : "not verified", lastReceived: last,
|
|
19
|
-
hookInstallable: Boolean(d.hookConfigPath), payloadVerified: d.verifiedPayload, integration: d.notes,
|
|
19
|
+
hookInstallable: Boolean(d.customInstall || d.hookConfigPath), payloadVerified: d.verifiedPayload, integration: d.notes,
|
|
20
20
|
};
|
|
21
21
|
}));
|
|
22
22
|
}
|
package/dist/inventory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inventory.js","sourceRoot":"","sources":["../src/inventory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAe,EAAE,IAAI,GAAG,OAAO,EAAE;IAC/D,MAAM,MAAM,GAAG,KAAK,EAAE,KAAe,EAAE,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE,GAAG,IAAI,CAAC;QAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjL,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAClH,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtH,OAAO;YACL,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9G,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,EAAE,YAAY,EAAE,IAAI;YAC7E,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"inventory.js","sourceRoot":"","sources":["../src/inventory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAe,EAAE,IAAI,GAAG,OAAO,EAAE;IAC/D,MAAM,MAAM,GAAG,KAAK,EAAE,KAAe,EAAE,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE,GAAG,IAAI,CAAC;QAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjL,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAClH,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtH,OAAO;YACL,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9G,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,EAAE,YAAY,EAAE,IAAI;YAC7E,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK;SACxH,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;AACN,CAAC"}
|
package/dist/jev.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { hookKind } from "./hook-catalog.js";
|
|
1
2
|
import { constants } from "node:fs";
|
|
2
3
|
import { mkdir, open, rename, rm } from "node:fs/promises";
|
|
3
4
|
import { join } from "node:path";
|
|
@@ -213,7 +214,7 @@ export async function judgeWithJev(input, config, custom = []) {
|
|
|
213
214
|
}
|
|
214
215
|
export async function applyJevHook(decision, data) {
|
|
215
216
|
const event = String(data.hook_event_name ?? "PreToolUse").toLowerCase();
|
|
216
|
-
if (
|
|
217
|
+
if (hookKind(event) !== "pre"
|
|
217
218
|
|| !["allow", "warn"].includes(decision.action))
|
|
218
219
|
return { decision };
|
|
219
220
|
let config;
|
package/dist/jev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jev.js","sourceRoot":"","sources":["../src/jev.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jev.js","sourceRoot":"","sources":["../src/jev.ts"],"names":[],"mappings":"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"}
|
package/dist/judge.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { hookKind } from "./hook-catalog.js";
|
|
1
2
|
// Optional second opinion on agent actions from any model you choose, alongside (or instead of)
|
|
2
3
|
// TypeSafe Jev: a general LLM behind an OpenAI-compatible chat completions endpoint ("llm"), or
|
|
3
4
|
// any decision service that speaks the small JSON contract below ("http"). Same guarantees as
|
|
@@ -166,7 +167,7 @@ export async function judgeAction(input, config, custom = []) {
|
|
|
166
167
|
/** Same gate as Jev: pre-tool events only, and only when local policy would let the action run. */
|
|
167
168
|
export async function applyJudgeHook(decision, data) {
|
|
168
169
|
const event = String(data.hook_event_name ?? "PreToolUse").toLowerCase();
|
|
169
|
-
if (
|
|
170
|
+
if (hookKind(event) !== "pre"
|
|
170
171
|
|| !["allow", "warn"].includes(decision.action))
|
|
171
172
|
return { decision };
|
|
172
173
|
let config;
|
package/dist/judge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"judge.js","sourceRoot":"","sources":["../src/judge.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,gGAAgG;AAChG,8FAA8F;AAC9F,6FAA6F;AAC7F,oFAAoF;AACpF,EAAE;AACF,2GAA2G;AAC3G,2FAA2F;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAiB,MAAM,UAAU,CAAC;AAmBnD,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI;CACvI,CAAC;AACF,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,YAAY,CAAC,CAAC;AACvE,MAAM,MAAM,GAAG,CAAC,CAAU,EAAgC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/G,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;AAEpH,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS;WAC1E,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;WACpD,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;WACjD,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;WAC7B,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;WAC3G,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,GAAG,GAAG,IAAI,KAAK,CAAC,SAAS,GAAG,MAAM;WAC9H,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,MAAM,OAAO,EAAE,CAAC;IAC5I,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QAAC,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,OAAO,EAAE,CAAC;IAAC,CAAC;IAC5D,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO;QAAE,MAAM,OAAO,EAAE,CAAC;IAC3E,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,MAAM,OAAO,EAAE,CAAC;IAC9D,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAA2B,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAyB;QACtH,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAA2B,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAA4B;KACrJ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAC7G,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI;gBAAE,MAAM,OAAO,EAAE,CAAC;YAC1D,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;gBAAS,CAAC;YAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;QAC3F,MAAM,OAAO,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAmB;IACxD,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,GAAG,eAAe,EAAE,IAAI,UAAU,EAAE,MAAM,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC;YAAC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;gBAAS,CAAC;YAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QACnG,MAAM,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,CAAC,CAAC;IACvC,CAAC;YAAS,CAAC;QAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;AAC/C,CAAC;AAED,MAAM,MAAM,GAAG;IACb,qGAAqG;IACrG,iFAAiF;IACjF,2JAA2J;IAC3J,mFAAmF;IACnF,mEAAmE;IACnE,iHAAiH;CAClH,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,iGAAiG;AACjG,MAAM,UAAU,YAAY,CAAC,KAAe,EAAE,MAAmB;IAC/D,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM;QAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;IAC3F,OAAO;QACL,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,mBAAmB;QACrC,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;YAC9F,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;SAClG;KACF,CAAC;AACJ,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AACtD,MAAM,UAAU,kBAAkB,CAAC,KAAc,EAAE,MAAmB;IACpE,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7F,IAAI,MAAM,GAAY,KAAK,CAAC;IAC5B,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACjI,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO;YAC3E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,6DAA6D,EAAE,GAAG,IAAI,EAAE,CAAC;QAC/G,IAAI,CAAC;YAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,MAAM,GAAG,SAAS,CAAC;QAAC,CAAC;IAC3I,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAoC,CAAC;QAC7E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,wEAAwE,EAAE,GAAG,IAAI,EAAE,CAAC;IACzH,OAAO,EAAE,OAAO,EAAE,OAAiC,EAAE,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;AAC/I,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAe,EAAE,MAAmB,EAAE,SAA2B,EAAE;IACnG,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,8DAA8D,EAAE,CAAC;IACzH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC;IACpE,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YACnG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO;SACjE,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,8BAA8B,QAAQ,CAAC,MAAM,0BAA0B,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QAAC,CAAC;QAC7L,qEAAqE;QACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAiB,EAAE,CAAC;QAAC,IAAI,KAAK,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,SAAS,CAAC;gBACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAChB,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC;gBAC1B,IAAI,KAAK,GAAG,wBAAwB;oBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBAC5E,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;gBAAS,CAAC;YAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QAAC,CAAC;QACpC,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,qFAAqF,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;IACxJ,CAAC;AACH,CAAC;AAED,mGAAmG;AACnG,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAkB,EAAE,IAA6B;IACpF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IACzE,IAAI,
|
|
1
|
+
{"version":3,"file":"judge.js","sourceRoot":"","sources":["../src/judge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function commandBehaviorRegex(command: string): string | null;
|