@shomra/agent 0.2.7 → 0.2.9
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 +4 -2
- package/package.json +1 -1
- package/shomra.mjs +8 -1
package/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# @shomra/agent
|
|
2
2
|
|
|
3
|
-
The
|
|
3
|
+
**The firewall for AI agents**, as a local-first CLI. It sits inside your coding
|
|
4
|
+
agent and CI and blocks dangerous tool-calls, shell commands and data
|
|
5
|
+
exfiltration *before they run* — on your machine, even offline. It also vets AI
|
|
4
6
|
artifacts (MCP configs, Skills, slash commands, hooks, rules files) before they
|
|
5
|
-
install
|
|
7
|
+
install. Start with a free on-machine scan — no signup.
|
|
6
8
|
|
|
7
9
|
Zero dependencies — Node ≥ 18 built-ins only.
|
|
8
10
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shomra/agent",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.9",
|
|
4
4
|
"description": "Shomra — a local-first security scanner and runtime firewall for AI agents, MCP servers, prompts, and models. Gates AI artifacts in your editor and CI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
package/shomra.mjs
CHANGED
|
@@ -3052,6 +3052,13 @@ async function cmdToolGuard(flags) {
|
|
|
3052
3052
|
process.exit(0); // fail-open (Tier 0 already screened the dangerous patterns)
|
|
3053
3053
|
}
|
|
3054
3054
|
|
|
3055
|
+
if (res && res.hold) {
|
|
3056
|
+
// Human-in-the-loop: the call was BLOCKed but diverted to approval. Don't
|
|
3057
|
+
// hard-deny — ask, so the developer can wait for a reviewer to approve in
|
|
3058
|
+
// Slack/Teams and then retry (an approval opens a short grant window that
|
|
3059
|
+
// lets the identical call through).
|
|
3060
|
+
emitGuardAsk(agent, res.reason || 'Held for approval by Shomra — waiting on a reviewer. Retry once it’s approved.');
|
|
3061
|
+
}
|
|
3055
3062
|
if (res && res.decision === 'BLOCK') {
|
|
3056
3063
|
emitGuardDeny(agent, res.reason || 'Blocked by Shomra security policy.');
|
|
3057
3064
|
}
|
|
@@ -3919,7 +3926,7 @@ async function cmdModels(flags, positional) {
|
|
|
3919
3926
|
|
|
3920
3927
|
function cmdHelp() {
|
|
3921
3928
|
console.log(`
|
|
3922
|
-
${bold(cyan('Shomra'))} ${dim('— AI
|
|
3929
|
+
${bold(cyan('Shomra'))} ${dim('— the firewall for AI agents · v' + VERSION)}
|
|
3923
3930
|
|
|
3924
3931
|
${bold('USAGE')}
|
|
3925
3932
|
shomra <command> [options]
|