@shomra/agent 0.2.8 → 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/package.json +1 -1
- package/shomra.mjs +7 -0
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
|
}
|