New:Socket for Asana Is Now Available.Learn more
Get Started

effectfence

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

effectfence - npm Package Compare versions

Comparing version
0.1.6
to
0.1.7
+2
-2
package.json
{
"name": "effectfence",
"version": "0.1.6",
"description": "MCP server that stops agents double-firing side effects. 1,000 racing duplicates, exactly one execution. No Rust toolchain required.",
"version": "0.1.7",
"description": "MCP server that stops agents double-firing side effects within one process. 1,000 racing duplicates, exactly one execution. In-memory and single-process by design \u2014 see Scope. No Rust toolchain required.",
"keywords": [

@@ -6,0 +6,0 @@ "mcp",

@@ -40,2 +40,28 @@ # effectfence

## Scope — read this before you rely on it
**This is an in-memory, single-process fence. Its state lives in this server
process and is lost when the process restarts.**
That is enough to close races and duplicates between concurrent threads, tasks
and agents that share **one** running server. It is not enough for:
- **Two instances of this server.** Each has its own state, so the same intent
can execute once per instance. A horizontally scaled or load-balanced
deployment does not get exactly-once from this package.
- **A restart mid-flight.** State is not persisted. An intent admitted before a
restart is unknown to the process that comes back.
- **An agent that bypasses the fence.** It protects effects routed *through* it;
it cannot stop a caller that holds the credential and calls the provider
directly. Deploy it at the one choke point your agents actually share.
If you need the guarantee to survive a restart or span processes, you need a
shared store behind it — see [`once-kernel`](https://www.npmjs.com/package/once-kernel)
(Python, Postgres-backed, heartbeat leases and fence tokens) or
[`seal`](https://github.com/aurumflux20/seal), which does cross-process
admission and confirms the result against the payment provider's own records.
We state this here rather than only in the source repo because the limit is the
part you need *before* you deploy, not after.
## Platforms

@@ -42,0 +68,0 @@

MIT License
Copyright (c) 2026 aurumflux20
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Sorry, the diff of this file is not supported yet