@vinkius-core/mcp-fusion 1.8.0 → 1.9.0
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/CHANGELOG.md +16 -0
- package/dist/core/builder/GroupedToolBuilder.d.ts +1 -0
- package/dist/core/builder/GroupedToolBuilder.d.ts.map +1 -1
- package/dist/core/builder/GroupedToolBuilder.js +23 -2
- package/dist/core/builder/GroupedToolBuilder.js.map +1 -1
- package/dist/core/execution/MutationSerializer.d.ts +78 -0
- package/dist/core/execution/MutationSerializer.d.ts.map +1 -0
- package/dist/core/execution/MutationSerializer.js +106 -0
- package/dist/core/execution/MutationSerializer.js.map +1 -0
- package/dist/core/execution/index.d.ts +1 -0
- package/dist/core/execution/index.d.ts.map +1 -1
- package/dist/core/execution/index.js +1 -0
- package/dist/core/execution/index.js.map +1 -1
- package/llms.txt +10 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.9.0] - 2026-02-23
|
|
9
|
+
|
|
10
|
+
### Intent Mutex (Anti-Race Condition)
|
|
11
|
+
|
|
12
|
+
**MCP Fusion** now provides automatic transactional isolation for AI agents via the **Intent Mutex**. When an LLM hallucinates and fires identical destructive calls in the exact same millisecond (e.g., double-deleting a user), the framework serializes them to guarantee isolation.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- **`MutationSerializer` class:** Implements an idiomatic JS async mutex using per-key promise-chaining. Strict FIFO queue order without external locks, Redis, or OS primitives.
|
|
17
|
+
- **Zero-Configuration Setup:** Automatically enabled strictly for actions marked with `destructive: true`. Fast-path bypass for all other actions (zero overhead).
|
|
18
|
+
- **Per-Action Serialization:** `billing.refund` and `billing.delete` run independently, but concurrent `billing.refund` requests are strictly serialized.
|
|
19
|
+
- **Cooperative Cancellation:** Waiters queued in the mutex instantly abort if the request `AbortSignal` fires before they acquire the lock.
|
|
20
|
+
- **Automatic Garbage Collection:** Completed promise chains are aggressively pruned to prevent memory leaks.
|
|
21
|
+
- **Builder Integration:** Handled inside `_executePipeline` seamlessly; `GroupedToolBuilder` manages the mutex internally.
|
|
22
|
+
- **14 New Tests:** Unit tests covering chain GC, error recovery, signal abortion, parallel execution, and builder integration with other guards.
|
|
23
|
+
|
|
8
24
|
## [1.8.0] - 2026-02-23
|
|
9
25
|
|
|
10
26
|
### Runtime Guards — Concurrency Bulkhead & Egress Limiter
|
|
@@ -134,6 +134,7 @@ export declare class GroupedToolBuilder<TContext = void, TCommon extends Record<
|
|
|
134
134
|
private _tracer?;
|
|
135
135
|
private _concurrencyGuard?;
|
|
136
136
|
private _egressMaxBytes?;
|
|
137
|
+
private _mutationSerializer?;
|
|
137
138
|
private _cachedTool?;
|
|
138
139
|
private _executionContext?;
|
|
139
140
|
constructor(name: string);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupedToolBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/builder/GroupedToolBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AACvD,OAAO,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAE1E,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,gCAAgC,CAAC;AAMnF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"GroupedToolBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/builder/GroupedToolBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,7 @@ import { parseDiscriminator, resolveAction, validateArgs, runChain, } from '../e
|
|
|
54
54
|
import {} from '../execution/ProgressHelper.js';
|
|
55
55
|
import { ConcurrencyGuard } from '../execution/ConcurrencyGuard.js';
|
|
56
56
|
import { applyEgressGuard } from '../execution/EgressGuard.js';
|
|
57
|
+
import { MutationSerializer } from '../execution/MutationSerializer.js';
|
|
57
58
|
import { computeResponseSize } from '../execution/PipelineHooks.js';
|
|
58
59
|
import { compileToolDefinition } from './ToolDefinitionCompiler.js';
|
|
59
60
|
import { ActionGroupBuilder, mapConfigToActionFields, } from './ActionGroupBuilder.js';
|
|
@@ -146,6 +147,7 @@ export class GroupedToolBuilder {
|
|
|
146
147
|
_tracer;
|
|
147
148
|
_concurrencyGuard;
|
|
148
149
|
_egressMaxBytes;
|
|
150
|
+
_mutationSerializer;
|
|
149
151
|
// Cached build result
|
|
150
152
|
_cachedTool;
|
|
151
153
|
_executionContext;
|
|
@@ -480,6 +482,13 @@ export class GroupedToolBuilder {
|
|
|
480
482
|
this._executionContext = result.executionContext;
|
|
481
483
|
this._frozen = true;
|
|
482
484
|
Object.freeze(this._actions);
|
|
485
|
+
// Auto-create MutationSerializer if any action is destructive.
|
|
486
|
+
// Converts `destructive: true` from a manifest hint into a
|
|
487
|
+
// transactional isolation guarantee — concurrent mutations to
|
|
488
|
+
// the same action key are serialized in FIFO order.
|
|
489
|
+
if (this._actions.some(a => a.destructive === true)) {
|
|
490
|
+
this._mutationSerializer = new MutationSerializer();
|
|
491
|
+
}
|
|
483
492
|
return result.tool;
|
|
484
493
|
}
|
|
485
494
|
// ── Debug (opt-in observability) ──────────────────────
|
|
@@ -689,14 +698,26 @@ export class GroupedToolBuilder {
|
|
|
689
698
|
hooks?.onMiddleware?.(actionName, chainLength);
|
|
690
699
|
}
|
|
691
700
|
// Step 5: Execute
|
|
701
|
+
// If the action is destructive and a MutationSerializer exists,
|
|
702
|
+
// wrap the execution in a per-key mutex to prevent concurrent
|
|
703
|
+
// mutations (LLM hallucination anti-race-condition guard).
|
|
704
|
+
const executeChain = () => runChain(execCtx, resolved.value, ctx, validated.value, progressSink, hooks?.rethrow, signal);
|
|
692
705
|
try {
|
|
693
|
-
const
|
|
706
|
+
const isDestructive = resolved.value.action.destructive === true;
|
|
707
|
+
const response = (isDestructive && this._mutationSerializer)
|
|
708
|
+
? await this._mutationSerializer.serialize(actionName, executeChain, signal)
|
|
709
|
+
: await executeChain();
|
|
694
710
|
hooks?.onExecuteOk?.(actionName, response);
|
|
695
711
|
return hooks?.wrapResponse?.(response) ?? response;
|
|
696
712
|
}
|
|
697
713
|
catch (err) {
|
|
698
714
|
hooks?.onExecuteError?.(actionName, err);
|
|
699
|
-
|
|
715
|
+
if (hooks?.rethrow)
|
|
716
|
+
throw err;
|
|
717
|
+
// Convert MutationSerializer abort (or unexpected throws) to error response
|
|
718
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
719
|
+
const response = error(`[${execCtx.toolName}/${actionName}] ${message}`);
|
|
720
|
+
return hooks?.wrapResponse?.(response) ?? response;
|
|
700
721
|
}
|
|
701
722
|
}
|
|
702
723
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupedToolBuilder.js","sourceRoot":"","sources":["../../../src/core/builder/GroupedToolBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GroupedToolBuilder.js","sourceRoot":"","sources":["../../../src/core/builder/GroupedToolBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MutationSerializer — Per-Action Intent Mutex for Destructive Operations
|
|
3
|
+
*
|
|
4
|
+
* When an LLM hallucinates and fires two `delete_user` calls for the same ID
|
|
5
|
+
* in the same millisecond, this serializer ensures they execute sequentially —
|
|
6
|
+
* not concurrently. Transactional isolation at the framework level.
|
|
7
|
+
*
|
|
8
|
+
* Architecture:
|
|
9
|
+
* ┌────────────────────────────────────────────────────┐
|
|
10
|
+
* │ delete_user(id: "42") ──► serialize("delete") │
|
|
11
|
+
* │ delete_user(id: "42") ──► queue behind first │
|
|
12
|
+
* │ list_users() ──► pass-through (readOnly)│
|
|
13
|
+
* │ create_user(...) ──► pass-through (not destr)│
|
|
14
|
+
* └────────────────────────────────────────────────────┘
|
|
15
|
+
*
|
|
16
|
+
* Mechanism:
|
|
17
|
+
* Uses promise-chaining per action key. Each destructive call
|
|
18
|
+
* awaits the previous call's completion before starting.
|
|
19
|
+
* This is the idiomatic async mutex pattern in JavaScript:
|
|
20
|
+
* no external locks, no shared memory, no OS primitives.
|
|
21
|
+
*
|
|
22
|
+
* Properties:
|
|
23
|
+
* - Zero overhead for non-destructive actions (never called)
|
|
24
|
+
* - O(1) setup per serialized call (promise chain append)
|
|
25
|
+
* - Automatic GC: completed chains are pruned from the map
|
|
26
|
+
* - Cooperative with AbortSignal: cancelled while waiting
|
|
27
|
+
* - Per action-key isolation: `billing.delete` ≠ `users.delete`
|
|
28
|
+
*
|
|
29
|
+
* @module
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* An async mutex that serializes destructive operations by action key.
|
|
34
|
+
*
|
|
35
|
+
* Created once per builder during `buildToolDefinition()` — only when
|
|
36
|
+
* at least one action is marked `destructive: true`. Otherwise the
|
|
37
|
+
* field stays `undefined` (zero overhead).
|
|
38
|
+
*
|
|
39
|
+
* Used by `_executePipeline()` to wrap `runChain()` for destructive actions.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```
|
|
43
|
+
* // Concurrent calls to `billing.delete`:
|
|
44
|
+
* // Call A → executes immediately
|
|
45
|
+
* // Call B → waits for A to complete → then executes
|
|
46
|
+
* // Call C → waits for B to complete → then executes
|
|
47
|
+
* //
|
|
48
|
+
* // Concurrent calls to `billing.list` (readOnly):
|
|
49
|
+
* // All execute in parallel (serializer not invoked)
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare class MutationSerializer {
|
|
53
|
+
/**
|
|
54
|
+
* Active promise chains keyed by action key.
|
|
55
|
+
* Each entry represents the "tail" of the serialization queue.
|
|
56
|
+
* When the tail resolves, the next waiter starts.
|
|
57
|
+
*/
|
|
58
|
+
private readonly _chains;
|
|
59
|
+
/**
|
|
60
|
+
* Serialize execution of `fn` for the given action key.
|
|
61
|
+
*
|
|
62
|
+
* Concurrent calls with the **same key** are queued and executed
|
|
63
|
+
* strictly in FIFO order. Different keys are fully independent.
|
|
64
|
+
*
|
|
65
|
+
* @param key - Action key (e.g., `"delete"` or `"billing.refund"`)
|
|
66
|
+
* @param fn - The async function to serialize (typically `runChain()`)
|
|
67
|
+
* @param signal - Optional AbortSignal for cooperative cancellation while waiting
|
|
68
|
+
* @returns The result of `fn()`
|
|
69
|
+
* @throws Error if the AbortSignal fires while waiting in queue
|
|
70
|
+
*/
|
|
71
|
+
serialize<T>(key: string, fn: () => Promise<T>, signal?: AbortSignal): Promise<T>;
|
|
72
|
+
/**
|
|
73
|
+
* Number of action keys with active serialization chains.
|
|
74
|
+
* Used for testing and debugging — should be 0 when idle.
|
|
75
|
+
*/
|
|
76
|
+
get activeChains(): number;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=MutationSerializer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MutationSerializer.d.ts","sourceRoot":"","sources":["../../../src/core/execution/MutationSerializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,kBAAkB;IAC3B;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAI5D;;;;;;;;;;;OAWG;IACG,SAAS,CAAC,CAAC,EACb,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,CAAC,CAAC;IA+Bb;;;OAGG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;CACJ"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MutationSerializer — Per-Action Intent Mutex for Destructive Operations
|
|
3
|
+
*
|
|
4
|
+
* When an LLM hallucinates and fires two `delete_user` calls for the same ID
|
|
5
|
+
* in the same millisecond, this serializer ensures they execute sequentially —
|
|
6
|
+
* not concurrently. Transactional isolation at the framework level.
|
|
7
|
+
*
|
|
8
|
+
* Architecture:
|
|
9
|
+
* ┌────────────────────────────────────────────────────┐
|
|
10
|
+
* │ delete_user(id: "42") ──► serialize("delete") │
|
|
11
|
+
* │ delete_user(id: "42") ──► queue behind first │
|
|
12
|
+
* │ list_users() ──► pass-through (readOnly)│
|
|
13
|
+
* │ create_user(...) ──► pass-through (not destr)│
|
|
14
|
+
* └────────────────────────────────────────────────────┘
|
|
15
|
+
*
|
|
16
|
+
* Mechanism:
|
|
17
|
+
* Uses promise-chaining per action key. Each destructive call
|
|
18
|
+
* awaits the previous call's completion before starting.
|
|
19
|
+
* This is the idiomatic async mutex pattern in JavaScript:
|
|
20
|
+
* no external locks, no shared memory, no OS primitives.
|
|
21
|
+
*
|
|
22
|
+
* Properties:
|
|
23
|
+
* - Zero overhead for non-destructive actions (never called)
|
|
24
|
+
* - O(1) setup per serialized call (promise chain append)
|
|
25
|
+
* - Automatic GC: completed chains are pruned from the map
|
|
26
|
+
* - Cooperative with AbortSignal: cancelled while waiting
|
|
27
|
+
* - Per action-key isolation: `billing.delete` ≠ `users.delete`
|
|
28
|
+
*
|
|
29
|
+
* @module
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
// ── Serializer Implementation ────────────────────────────
|
|
33
|
+
/**
|
|
34
|
+
* An async mutex that serializes destructive operations by action key.
|
|
35
|
+
*
|
|
36
|
+
* Created once per builder during `buildToolDefinition()` — only when
|
|
37
|
+
* at least one action is marked `destructive: true`. Otherwise the
|
|
38
|
+
* field stays `undefined` (zero overhead).
|
|
39
|
+
*
|
|
40
|
+
* Used by `_executePipeline()` to wrap `runChain()` for destructive actions.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```
|
|
44
|
+
* // Concurrent calls to `billing.delete`:
|
|
45
|
+
* // Call A → executes immediately
|
|
46
|
+
* // Call B → waits for A to complete → then executes
|
|
47
|
+
* // Call C → waits for B to complete → then executes
|
|
48
|
+
* //
|
|
49
|
+
* // Concurrent calls to `billing.list` (readOnly):
|
|
50
|
+
* // All execute in parallel (serializer not invoked)
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export class MutationSerializer {
|
|
54
|
+
/**
|
|
55
|
+
* Active promise chains keyed by action key.
|
|
56
|
+
* Each entry represents the "tail" of the serialization queue.
|
|
57
|
+
* When the tail resolves, the next waiter starts.
|
|
58
|
+
*/
|
|
59
|
+
_chains = new Map();
|
|
60
|
+
// ── Public API ───────────────────────────────────────
|
|
61
|
+
/**
|
|
62
|
+
* Serialize execution of `fn` for the given action key.
|
|
63
|
+
*
|
|
64
|
+
* Concurrent calls with the **same key** are queued and executed
|
|
65
|
+
* strictly in FIFO order. Different keys are fully independent.
|
|
66
|
+
*
|
|
67
|
+
* @param key - Action key (e.g., `"delete"` or `"billing.refund"`)
|
|
68
|
+
* @param fn - The async function to serialize (typically `runChain()`)
|
|
69
|
+
* @param signal - Optional AbortSignal for cooperative cancellation while waiting
|
|
70
|
+
* @returns The result of `fn()`
|
|
71
|
+
* @throws Error if the AbortSignal fires while waiting in queue
|
|
72
|
+
*/
|
|
73
|
+
async serialize(key, fn, signal) {
|
|
74
|
+
// Append to the chain for this key
|
|
75
|
+
const prev = this._chains.get(key) ?? Promise.resolve();
|
|
76
|
+
let releaseLock;
|
|
77
|
+
const lock = new Promise(resolve => { releaseLock = resolve; });
|
|
78
|
+
this._chains.set(key, lock);
|
|
79
|
+
try {
|
|
80
|
+
// Wait for previous operation on this key to complete
|
|
81
|
+
await prev;
|
|
82
|
+
// Check if cancelled while waiting in the serialization queue
|
|
83
|
+
if (signal?.aborted) {
|
|
84
|
+
throw new Error('Request cancelled while waiting for mutation lock.');
|
|
85
|
+
}
|
|
86
|
+
return await fn();
|
|
87
|
+
}
|
|
88
|
+
finally {
|
|
89
|
+
releaseLock();
|
|
90
|
+
// GC: if this was the last link in the chain, prune the entry
|
|
91
|
+
// so the map doesn't grow unboundedly with resolved promises.
|
|
92
|
+
if (this._chains.get(key) === lock) {
|
|
93
|
+
this._chains.delete(key);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// ── Diagnostics ──────────────────────────────────────
|
|
98
|
+
/**
|
|
99
|
+
* Number of action keys with active serialization chains.
|
|
100
|
+
* Used for testing and debugging — should be 0 when idle.
|
|
101
|
+
*/
|
|
102
|
+
get activeChains() {
|
|
103
|
+
return this._chains.size;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=MutationSerializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MutationSerializer.js","sourceRoot":"","sources":["../../../src/core/execution/MutationSerializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,4DAA4D;AAE5D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,kBAAkB;IAC3B;;;;OAIG;IACc,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE5D,wDAAwD;IAExD;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,SAAS,CACX,GAAW,EACX,EAAoB,EACpB,MAAoB;QAEpB,mCAAmC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAExD,IAAI,WAAwB,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE5B,IAAI,CAAC;YACD,sDAAsD;YACtD,MAAM,IAAI,CAAC;YAEX,8DAA8D;YAC9D,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YAC1E,CAAC;YAED,OAAO,MAAM,EAAE,EAAE,CAAC;QACtB,CAAC;gBAAS,CAAC;YACP,WAAW,EAAE,CAAC;YAEd,8DAA8D;YAC9D,8DAA8D;YAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;IACL,CAAC;IAED,wDAAwD;IAExD;;;OAGG;IACH,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7B,CAAC;CACJ"}
|
|
@@ -5,4 +5,5 @@ export { progress, isProgressEvent, type ProgressEvent, type ProgressSink } from
|
|
|
5
5
|
export { computeResponseSize, type PipelineHooks } from './PipelineHooks.js';
|
|
6
6
|
export { ConcurrencyGuard, type ConcurrencyConfig, createConcurrencyGuard } from './ConcurrencyGuard.js';
|
|
7
7
|
export { applyEgressGuard, type EgressConfig } from './EgressGuard.js';
|
|
8
|
+
export { MutationSerializer } from './MutationSerializer.js';
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/execution/index.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EACH,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EACzD,KAAK,gBAAgB,EAAE,KAAK,uBAAuB,GACtD,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/execution/index.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EACH,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EACzD,KAAK,gBAAgB,EAAE,KAAK,uBAAuB,GACtD,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -5,4 +5,5 @@ export { progress, isProgressEvent } from './ProgressHelper.js';
|
|
|
5
5
|
export { computeResponseSize } from './PipelineHooks.js';
|
|
6
6
|
export { ConcurrencyGuard, createConcurrencyGuard } from './ConcurrencyGuard.js';
|
|
7
7
|
export { applyEgressGuard } from './EgressGuard.js';
|
|
8
|
+
export { MutationSerializer } from './MutationSerializer.js';
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/execution/index.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EACH,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,GAE5D,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAsB,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAyC,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAsB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAA0B,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAqB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/execution/index.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EACH,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,GAE5D,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAsB,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAyC,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAsB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAA0B,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAqB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/llms.txt
CHANGED
|
@@ -292,9 +292,18 @@ const analytics = createTool<AppContext>('analytics')
|
|
|
292
292
|
name: 'query',
|
|
293
293
|
handler: async (ctx, args) => success(await ctx.db.$queryRaw(args.sql)),
|
|
294
294
|
});
|
|
295
|
+
|
|
296
|
+
// Intent Mutex — anti-race condition guard
|
|
297
|
+
const users = createTool<AppContext>('users')
|
|
298
|
+
.action({
|
|
299
|
+
name: 'delete',
|
|
300
|
+
destructive: true, // Automatically serializes concurrent calls to this action key
|
|
301
|
+
handler: async (ctx, args) => success(await ctx.db.users.delete(args.id)),
|
|
302
|
+
});
|
|
295
303
|
```
|
|
296
304
|
|
|
297
|
-
Load shedding returns `toolError('SERVER_BUSY')` — a self-healing error that causes the LLM to reduce its cadence. Egress truncation injects `[SYSTEM INTERVENTION: Payload truncated. You MUST use pagination.]`. Zero overhead when not configured.
|
|
305
|
+
Load shedding returns `toolError('SERVER_BUSY')` — a self-healing error that causes the LLM to reduce its cadence. Egress truncation injects `[SYSTEM INTERVENTION: Payload truncated. You MUST use pagination.]`. Intent Mutex prevents LLM double-firing hallucinations. Zero overhead when not configured.
|
|
306
|
+
|
|
298
307
|
|
|
299
308
|
## Dynamic Manifest
|
|
300
309
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vinkius-core/mcp-fusion",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "MVA (Model-View-Agent) framework for the Model Context Protocol. Structured perception packages with Presenters, cognitive guardrails, self-healing errors, action consolidation, and tRPC-style type safety — so AI agents perceive and act on your data deterministically.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|