@vinkius-core/mcp-fusion 2.9.0 → 2.12.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/dist/cli/fusion.d.ts +3 -0
- package/dist/cli/fusion.d.ts.map +1 -1
- package/dist/cli/fusion.js +125 -3
- package/dist/cli/fusion.js.map +1 -1
- package/dist/cli/templates/config.js +3 -3
- package/dist/cli/templates/config.js.map +1 -1
- package/dist/cli/templates/constants.d.ts +1 -1
- package/dist/cli/templates/constants.d.ts.map +1 -1
- package/dist/cli/templates/constants.js +1 -1
- package/dist/cli/templates/constants.js.map +1 -1
- package/dist/cli/templates/core.js +5 -5
- package/dist/cli/templates/middleware.d.ts +1 -1
- package/dist/cli/templates/middleware.d.ts.map +1 -1
- package/dist/cli/templates/middleware.js +16 -13
- package/dist/cli/templates/middleware.js.map +1 -1
- package/dist/cli/templates/readme.d.ts.map +1 -1
- package/dist/cli/templates/readme.js +14 -18
- package/dist/cli/templates/readme.js.map +1 -1
- package/dist/cli/templates/tools.d.ts +4 -0
- package/dist/cli/templates/tools.d.ts.map +1 -1
- package/dist/cli/templates/tools.js +26 -29
- package/dist/cli/templates/tools.js.map +1 -1
- package/dist/cli/templates/vectors/database.d.ts.map +1 -1
- package/dist/cli/templates/vectors/database.js +14 -19
- package/dist/cli/templates/vectors/database.js.map +1 -1
- package/dist/cli/templates/vectors/oauth.d.ts.map +1 -1
- package/dist/cli/templates/vectors/oauth.js +4 -5
- package/dist/cli/templates/vectors/oauth.js.map +1 -1
- package/dist/cli/templates/vectors/openapi.js +2 -2
- package/dist/cli/templates/vectors/workflow.js +1 -1
- package/dist/cli/templates/vectors/workflow.js.map +1 -1
- package/dist/client/FusionClient.d.ts +55 -0
- package/dist/client/FusionClient.d.ts.map +1 -1
- package/dist/client/FusionClient.js +30 -0
- package/dist/client/FusionClient.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/core/builder/ActionGroupBuilder.d.ts +86 -46
- package/dist/core/builder/ActionGroupBuilder.d.ts.map +1 -1
- package/dist/core/builder/ActionGroupBuilder.js +68 -26
- package/dist/core/builder/ActionGroupBuilder.js.map +1 -1
- package/dist/core/builder/ErrorBuilder.d.ts +59 -0
- package/dist/core/builder/ErrorBuilder.d.ts.map +1 -0
- package/dist/core/builder/ErrorBuilder.js +99 -0
- package/dist/core/builder/ErrorBuilder.js.map +1 -0
- package/dist/core/builder/FluentRouter.d.ts +91 -0
- package/dist/core/builder/FluentRouter.d.ts.map +1 -0
- package/dist/core/builder/FluentRouter.js +121 -0
- package/dist/core/builder/FluentRouter.js.map +1 -0
- package/dist/core/builder/FluentSchemaHelpers.d.ts +237 -0
- package/dist/core/builder/FluentSchemaHelpers.d.ts.map +1 -0
- package/dist/core/builder/FluentSchemaHelpers.js +227 -0
- package/dist/core/builder/FluentSchemaHelpers.js.map +1 -0
- package/dist/core/builder/FluentToolBuilder.d.ts +347 -0
- package/dist/core/builder/FluentToolBuilder.d.ts.map +1 -0
- package/dist/core/builder/FluentToolBuilder.js +525 -0
- package/dist/core/builder/FluentToolBuilder.js.map +1 -0
- package/dist/core/builder/GroupedToolBuilder.d.ts +91 -1
- package/dist/core/builder/GroupedToolBuilder.d.ts.map +1 -1
- package/dist/core/builder/GroupedToolBuilder.js +122 -4
- package/dist/core/builder/GroupedToolBuilder.js.map +1 -1
- package/dist/core/builder/ToolDefinitionCompiler.d.ts +1 -0
- package/dist/core/builder/ToolDefinitionCompiler.d.ts.map +1 -1
- package/dist/core/builder/ToolDefinitionCompiler.js +1 -1
- package/dist/core/builder/ToolDefinitionCompiler.js.map +1 -1
- package/dist/core/builder/index.d.ts +4 -0
- package/dist/core/builder/index.d.ts.map +1 -1
- package/dist/core/builder/index.js +7 -0
- package/dist/core/builder/index.js.map +1 -1
- package/dist/core/execution/EgressGuard.js +1 -1
- package/dist/core/execution/EgressGuard.js.map +1 -1
- package/dist/core/execution/ExecutionPipeline.d.ts +8 -2
- package/dist/core/execution/ExecutionPipeline.d.ts.map +1 -1
- package/dist/core/execution/ExecutionPipeline.js +18 -9
- package/dist/core/execution/ExecutionPipeline.js.map +1 -1
- package/dist/core/execution/PipelineHooks.d.ts +0 -6
- package/dist/core/execution/PipelineHooks.d.ts.map +1 -1
- package/dist/core/execution/PipelineHooks.js +7 -3
- package/dist/core/execution/PipelineHooks.js.map +1 -1
- package/dist/core/index.d.ts +5 -7
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -4
- package/dist/core/index.js.map +1 -1
- package/dist/core/initFusion.d.ts +119 -87
- package/dist/core/initFusion.d.ts.map +1 -1
- package/dist/core/initFusion.js +56 -66
- package/dist/core/initFusion.js.map +1 -1
- package/dist/core/registry/ToolRegistry.d.ts +1 -1
- package/dist/core/registry/ToolRegistry.d.ts.map +1 -1
- package/dist/core/registry/ToolRegistry.js +1 -1
- package/dist/core/registry/ToolRegistry.js.map +1 -1
- package/dist/core/schema/SchemaGenerator.d.ts +1 -1
- package/dist/core/schema/SchemaGenerator.d.ts.map +1 -1
- package/dist/core/schema/SchemaGenerator.js +38 -1
- package/dist/core/schema/SchemaGenerator.js.map +1 -1
- package/dist/core/types.d.ts +19 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/exposition/ExpositionCompiler.d.ts.map +1 -1
- package/dist/exposition/ExpositionCompiler.js +25 -2
- package/dist/exposition/ExpositionCompiler.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/introspection/BehaviorDigest.d.ts +2 -2
- package/dist/introspection/BehaviorDigest.d.ts.map +1 -1
- package/dist/introspection/BehaviorDigest.js +38 -36
- package/dist/introspection/BehaviorDigest.js.map +1 -1
- package/dist/introspection/CapabilityLockfile.d.ts +2 -2
- package/dist/introspection/CapabilityLockfile.d.ts.map +1 -1
- package/dist/introspection/CapabilityLockfile.js +9 -9
- package/dist/introspection/CapabilityLockfile.js.map +1 -1
- package/dist/introspection/CryptoAttestation.d.ts.map +1 -1
- package/dist/introspection/CryptoAttestation.js +27 -36
- package/dist/introspection/CryptoAttestation.js.map +1 -1
- package/dist/introspection/ToolContract.d.ts +2 -2
- package/dist/introspection/ToolContract.d.ts.map +1 -1
- package/dist/introspection/ToolContract.js +9 -9
- package/dist/introspection/ToolContract.js.map +1 -1
- package/dist/introspection/canonicalize.d.ts +16 -1
- package/dist/introspection/canonicalize.d.ts.map +1 -1
- package/dist/introspection/canonicalize.js +24 -3
- package/dist/introspection/canonicalize.js.map +1 -1
- package/dist/presenter/PostProcessor.d.ts +4 -2
- package/dist/presenter/PostProcessor.d.ts.map +1 -1
- package/dist/presenter/PostProcessor.js +10 -10
- package/dist/presenter/PostProcessor.js.map +1 -1
- package/dist/presenter/Presenter.d.ts +112 -6
- package/dist/presenter/Presenter.d.ts.map +1 -1
- package/dist/presenter/Presenter.js +134 -40
- package/dist/presenter/Presenter.js.map +1 -1
- package/dist/presenter/SelectUtils.d.ts +78 -0
- package/dist/presenter/SelectUtils.d.ts.map +1 -0
- package/dist/presenter/SelectUtils.js +141 -0
- package/dist/presenter/SelectUtils.js.map +1 -0
- package/dist/presenter/index.d.ts +3 -0
- package/dist/presenter/index.d.ts.map +1 -1
- package/dist/presenter/index.js +6 -0
- package/dist/presenter/index.js.map +1 -1
- package/dist/presenter/suggest.d.ts +39 -0
- package/dist/presenter/suggest.d.ts.map +1 -0
- package/dist/presenter/suggest.js +41 -0
- package/dist/presenter/suggest.js.map +1 -0
- package/dist/presenter/typeHelpers.d.ts +147 -0
- package/dist/presenter/typeHelpers.d.ts.map +1 -0
- package/dist/presenter/typeHelpers.js +152 -0
- package/dist/presenter/typeHelpers.js.map +1 -0
- package/dist/prompt/FluentPromptBuilder.d.ts +155 -0
- package/dist/prompt/FluentPromptBuilder.d.ts.map +1 -0
- package/dist/prompt/FluentPromptBuilder.js +193 -0
- package/dist/prompt/FluentPromptBuilder.js.map +1 -0
- package/dist/prompt/index.d.ts +1 -0
- package/dist/prompt/index.d.ts.map +1 -1
- package/dist/prompt/index.js +1 -0
- package/dist/prompt/index.js.map +1 -1
- package/dist/server/DevServer.js +8 -8
- package/dist/server/DevServer.js.map +1 -1
- package/dist/server/ServerAttachment.d.ts +1 -1
- package/dist/server/ServerAttachment.d.ts.map +1 -1
- package/dist/server/ServerAttachment.js +57 -4
- package/dist/server/ServerAttachment.js.map +1 -1
- package/dist/state-sync/ResponseDecorator.d.ts +1 -1
- package/dist/state-sync/StateSyncBuilder.d.ts +75 -0
- package/dist/state-sync/StateSyncBuilder.d.ts.map +1 -0
- package/dist/state-sync/StateSyncBuilder.js +123 -0
- package/dist/state-sync/StateSyncBuilder.js.map +1 -0
- package/dist/state-sync/index.d.ts +1 -0
- package/dist/state-sync/index.d.ts.map +1 -1
- package/dist/state-sync/index.js +1 -0
- package/dist/state-sync/index.js.map +1 -1
- package/package.json +1 -1
package/dist/prompt/index.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
// ── Factories ────────────────────────────────────────────
|
|
8
8
|
export { PromptMessage } from './PromptMessage.js';
|
|
9
9
|
export { definePrompt } from './definePrompt.js';
|
|
10
|
+
export { FluentPromptBuilder } from './FluentPromptBuilder.js';
|
|
10
11
|
// ── Pipeline (advanced / testing) ────────────────────────
|
|
11
12
|
export { assertFlatSchema, coercePromptArgs, } from './PromptExecutionPipeline.js';
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
package/dist/prompt/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompt/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,4DAA4D;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompt/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,4DAA4D;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,4DAA4D;AAC5D,OAAO,EACH,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,8BAA8B,CAAC"}
|
package/dist/server/DevServer.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* DevServer — HMR-enabled MCP Development Server
|
|
3
3
|
*
|
|
4
|
-
* The "killer feature" for MCP DX: `
|
|
4
|
+
* The "killer feature" for MCP DX: `fusion dev` starts a
|
|
5
5
|
* development server that watches for file changes and performs
|
|
6
6
|
* automatic Hot Module Replacement without requiring the LLM client
|
|
7
7
|
* (Claude Desktop, Cursor, etc.) to be restarted.
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
* ## Usage
|
|
18
18
|
*
|
|
19
19
|
* ```bash
|
|
20
|
-
* #
|
|
21
|
-
*
|
|
20
|
+
* # Auto-detects src/server.ts
|
|
21
|
+
* fusion dev
|
|
22
22
|
*
|
|
23
|
-
* #
|
|
24
|
-
*
|
|
23
|
+
* # Explicit entrypoint + custom watch dir
|
|
24
|
+
* fusion dev --server ./src/server.ts --dir ./src/tools
|
|
25
25
|
* ```
|
|
26
26
|
*
|
|
27
27
|
* @example
|
|
@@ -123,7 +123,7 @@ export function createDevServer(config) {
|
|
|
123
123
|
catch (err) {
|
|
124
124
|
const message = err instanceof Error ? err.message : String(err);
|
|
125
125
|
// eslint-disable-next-line no-console
|
|
126
|
-
console.error(`[
|
|
126
|
+
console.error(`[fusion dev] Reload failed: ${message}`);
|
|
127
127
|
return;
|
|
128
128
|
}
|
|
129
129
|
// Notify MCP client about tool list changes
|
|
@@ -169,7 +169,7 @@ export function createDevServer(config) {
|
|
|
169
169
|
}, debounce);
|
|
170
170
|
});
|
|
171
171
|
// eslint-disable-next-line no-console
|
|
172
|
-
console.log(`[
|
|
172
|
+
console.log(`[fusion dev] Watching ${relative(process.cwd(), absoluteDir)} for changes...`);
|
|
173
173
|
},
|
|
174
174
|
stop() {
|
|
175
175
|
if (debounceTimer)
|
|
@@ -177,7 +177,7 @@ export function createDevServer(config) {
|
|
|
177
177
|
watcher?.close();
|
|
178
178
|
watcher = undefined;
|
|
179
179
|
// eslint-disable-next-line no-console
|
|
180
|
-
console.log(`[
|
|
180
|
+
console.log(`[fusion dev] Stopped. ${reloadCount} reload(s) performed.`);
|
|
181
181
|
},
|
|
182
182
|
async reload(reason) {
|
|
183
183
|
await performReload(reason ?? '(manual)');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevServer.js","sourceRoot":"","sources":["../../src/server/DevServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,EAAE,KAAK,EAAkB,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AA6EzC,4DAA4D;AAE5D;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,QAAgB;IACtC,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvC,oDAAoD;IACpD,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,2DAA2D;IAC3D,kDAAkD;AACtD,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,QAAgB;IAClC,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO,GAAG,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,4DAA4D;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,eAAe,CAAC,MAAuB;IACnD,MAAM,EACF,GAAG,EACH,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAC3C,QAAQ,GAAG,GAAG,EACd,KAAK,EACL,QAAQ,EACR,MAAM,GACT,GAAG,MAAM,CAAC;IAEX,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,OAA8B,CAAC;IACnC,IAAI,aAAwD,CAAC;IAC7D,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB;;OAEG;IACH,KAAK,UAAU,aAAa,CAAC,WAAmB;QAC5C,WAAW,EAAE,CAAC;QAEd,6CAA6C;QAC7C,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE9B,mCAAmC;QACnC,uEAAuE;QACvE,IAAI,CAAC;YACD,MAAM,KAAK,CAAC,EAAsB,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"DevServer.js","sourceRoot":"","sources":["../../src/server/DevServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -262,5 +262,5 @@ export interface RegistryDelegate<TContext> {
|
|
|
262
262
|
* @param options - Filter and context factory options
|
|
263
263
|
* @returns A detach function to remove the handlers
|
|
264
264
|
*/
|
|
265
|
-
export declare function attachToServer<TContext>(server: unknown, registry: RegistryDelegate<TContext>, options?: AttachOptions<TContext>): DetachFn
|
|
265
|
+
export declare function attachToServer<TContext>(server: unknown, registry: RegistryDelegate<TContext>, options?: AttachOptions<TContext>): Promise<DetachFn>;
|
|
266
266
|
//# sourceMappingURL=ServerAttachment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerAttachment.d.ts","sourceRoot":"","sources":["../../src/server/ServerAttachment.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,qCAAqC,CAAC;AAE5F,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"ServerAttachment.d.ts","sourceRoot":"","sources":["../../src/server/ServerAttachment.ts"],"names":[],"mappings":"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"}
|
|
@@ -181,13 +181,15 @@ function createDetachFn(resolved, hasPrompts) {
|
|
|
181
181
|
* @param options - Filter and context factory options
|
|
182
182
|
* @returns A detach function to remove the handlers
|
|
183
183
|
*/
|
|
184
|
-
export function attachToServer(server, registry, options = {}) {
|
|
184
|
+
export async function attachToServer(server, registry, options = {}) {
|
|
185
185
|
const resolved = resolveServer(server);
|
|
186
186
|
const { filter, contextFactory, debug, tracing, stateSync, introspection, serverName, toolExposition = 'flat', actionSeparator = '_', prompts, zeroTrust, } = options;
|
|
187
187
|
// 1. Propagate observability to all registered builders
|
|
188
188
|
propagateObservability(registry, debug, tracing);
|
|
189
189
|
// 2. Create State Sync layer (zero overhead when not configured)
|
|
190
|
-
|
|
190
|
+
// Merge manual policies with fluent hints from builders (.invalidates(), .cached())
|
|
191
|
+
const mergedSyncConfig = mergeStateSyncConfig(stateSync, registry.getBuilders());
|
|
192
|
+
const syncLayer = mergedSyncConfig ? new StateSyncLayer(mergedSyncConfig) : undefined;
|
|
191
193
|
// 3. Register introspection resource (zero overhead when disabled)
|
|
192
194
|
if (introspection?.enabled) {
|
|
193
195
|
registerIntrospectionResource(resolved, introspection, serverName ?? 'mcp-fusion-server', { values: () => registry.getBuilders() }, contextFactory);
|
|
@@ -195,8 +197,8 @@ export function attachToServer(server, registry, options = {}) {
|
|
|
195
197
|
// 3b. Zero-Trust: compile contracts, compute digest, verify attestation
|
|
196
198
|
// Zero overhead when not configured — no crypto operations run.
|
|
197
199
|
if (zeroTrust) {
|
|
198
|
-
const contracts = compileContracts(registry.getBuilders());
|
|
199
|
-
const serverDigest = computeServerDigest(contracts);
|
|
200
|
+
const contracts = await compileContracts(registry.getBuilders());
|
|
201
|
+
const serverDigest = await computeServerDigest(contracts);
|
|
200
202
|
// Synchronous digest comparison (no signer needed for pinning)
|
|
201
203
|
if (zeroTrust.expectedDigest && serverDigest.digest !== zeroTrust.expectedDigest) {
|
|
202
204
|
if (zeroTrust.failOnMismatch ?? true) {
|
|
@@ -327,4 +329,55 @@ function extractSignal(extra) {
|
|
|
327
329
|
return undefined;
|
|
328
330
|
return extra.signal;
|
|
329
331
|
}
|
|
332
|
+
// ── State Sync Hint Collection ──────────────────────────────
|
|
333
|
+
/**
|
|
334
|
+
* Collect per-builder state sync hints and merge with manual config.
|
|
335
|
+
*
|
|
336
|
+
* Three scenarios:
|
|
337
|
+
* 1. Manual `stateSync` only — returns it unchanged
|
|
338
|
+
* 2. Fluent hints only — generates policies automatically
|
|
339
|
+
* 3. Both — fluent-generated policies are appended AFTER manual ones
|
|
340
|
+
* (first-match-wins, so manual policies take precedence)
|
|
341
|
+
*
|
|
342
|
+
* Zero overhead when neither is configured.
|
|
343
|
+
*/
|
|
344
|
+
function mergeStateSyncConfig(manual, builders) {
|
|
345
|
+
const hintPolicies = collectHintPolicies(builders);
|
|
346
|
+
if (hintPolicies.length === 0)
|
|
347
|
+
return manual;
|
|
348
|
+
if (!manual)
|
|
349
|
+
return { policies: hintPolicies };
|
|
350
|
+
// Merge: manual first (higher precedence), then auto-generated
|
|
351
|
+
return {
|
|
352
|
+
...manual,
|
|
353
|
+
policies: [...manual.policies, ...hintPolicies],
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Walk all builders and convert their StateSyncHints into SyncPolicy[].
|
|
358
|
+
*
|
|
359
|
+
* For each builder with hints:
|
|
360
|
+
* - `'*'` key → tool-level policy matching `{toolName}.*`
|
|
361
|
+
* - Named action keys → action-level policy matching `{toolName}.{actionKey}`
|
|
362
|
+
*/
|
|
363
|
+
function collectHintPolicies(builders) {
|
|
364
|
+
const policies = [];
|
|
365
|
+
for (const builder of builders) {
|
|
366
|
+
if (!builder.getStateSyncHints)
|
|
367
|
+
continue;
|
|
368
|
+
const hints = builder.getStateSyncHints();
|
|
369
|
+
if (hints.size === 0)
|
|
370
|
+
continue;
|
|
371
|
+
const toolName = builder.getName();
|
|
372
|
+
for (const [key, hint] of hints) {
|
|
373
|
+
const match = key === '*' ? `${toolName}.*` : `${toolName}.${key}`;
|
|
374
|
+
policies.push({
|
|
375
|
+
match,
|
|
376
|
+
...(hint.cacheControl ? { cacheControl: hint.cacheControl } : {}),
|
|
377
|
+
...(hint.invalidates?.length ? { invalidates: [...hint.invalidates] } : {}),
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
return policies;
|
|
382
|
+
}
|
|
330
383
|
//# sourceMappingURL=ServerAttachment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerAttachment.js","sourceRoot":"","sources":["../../src/server/ServerAttachment.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ServerAttachment.js","sourceRoot":"","sources":["../../src/server/ServerAttachment.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* ```
|
|
14
14
|
* Before: [{ type: 'text', text: '{"ok": true}' }]
|
|
15
15
|
* After: [
|
|
16
|
-
* { type: 'text', text: '
|
|
16
|
+
* { type: 'text', text: '<cache_invalidation cause="sprints.update" domains="sprints.*" />' },
|
|
17
17
|
* { type: 'text', text: '{"ok": true}' },
|
|
18
18
|
* ]
|
|
19
19
|
* ```
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { type CacheDirective, type InvalidationEvent, type ResourceNotification } from './types.js';
|
|
2
|
+
import { StateSyncLayer } from './StateSyncLayer.js';
|
|
3
|
+
/**
|
|
4
|
+
* Nested builder for configuring a single State Sync policy.
|
|
5
|
+
*/
|
|
6
|
+
export declare class PolicyBuilder {
|
|
7
|
+
private _cacheControl?;
|
|
8
|
+
private _invalidates;
|
|
9
|
+
/**
|
|
10
|
+
* Mark matching tools as immutable (safe to cache forever).
|
|
11
|
+
* Use for reference data: countries, currencies, ICD-10 codes.
|
|
12
|
+
*/
|
|
13
|
+
cached(): this;
|
|
14
|
+
/**
|
|
15
|
+
* Mark matching tools as volatile (never cache).
|
|
16
|
+
* Use for dynamic data that changes on every call.
|
|
17
|
+
*/
|
|
18
|
+
stale(): this;
|
|
19
|
+
/**
|
|
20
|
+
* Declare which glob patterns are invalidated when these tools succeed.
|
|
21
|
+
*/
|
|
22
|
+
invalidates(...patterns: string[]): this;
|
|
23
|
+
/** @internal */
|
|
24
|
+
build(): {
|
|
25
|
+
cacheControl?: CacheDirective;
|
|
26
|
+
invalidates?: string[];
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Fluent builder for centralized State Sync configuration.
|
|
31
|
+
*
|
|
32
|
+
* Typically accessed via `f.stateSync()` in the `initFusion` instance.
|
|
33
|
+
*/
|
|
34
|
+
export declare class StateSyncBuilder {
|
|
35
|
+
private _policies;
|
|
36
|
+
private _defaults;
|
|
37
|
+
private _onInvalidation?;
|
|
38
|
+
private _notificationSink?;
|
|
39
|
+
/**
|
|
40
|
+
* Set global default cache-control directives.
|
|
41
|
+
*
|
|
42
|
+
* Only cache-control directives are valid for defaults.
|
|
43
|
+
* Invalidation patterns are NOT allowed here — use `.policy()` instead.
|
|
44
|
+
*/
|
|
45
|
+
defaults(fn: (p: Omit<PolicyBuilder, 'invalidates'>) => void): this;
|
|
46
|
+
/**
|
|
47
|
+
* Add a scoped policy for matching tools using a fluent nested builder.
|
|
48
|
+
*
|
|
49
|
+
* @param match - Tool name or glob pattern (e.g. 'users.*', 'billing.create')
|
|
50
|
+
* @param fn - Callback to configure the policy
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* .policy('billing.*', p => p.noStore().invalidates('billing.*'))
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
policy(match: string, fn: (p: PolicyBuilder) => void): this;
|
|
58
|
+
/**
|
|
59
|
+
* Set a hook for observability when invalidations occur.
|
|
60
|
+
*/
|
|
61
|
+
onInvalidation(fn: (event: InvalidationEvent) => void): this;
|
|
62
|
+
/**
|
|
63
|
+
* Set the notification sink for protocol-level resource updates.
|
|
64
|
+
*/
|
|
65
|
+
notificationSink(fn: (notification: ResourceNotification) => void | Promise<void>): this;
|
|
66
|
+
/**
|
|
67
|
+
* Build the StateSyncLayer instance.
|
|
68
|
+
*/
|
|
69
|
+
build(): StateSyncLayer;
|
|
70
|
+
/**
|
|
71
|
+
* Shortcut for build() to align with other builders.
|
|
72
|
+
*/
|
|
73
|
+
get layer(): StateSyncLayer;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=StateSyncBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StateSyncBuilder.d.ts","sourceRoot":"","sources":["../../src/state-sync/StateSyncBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACrH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;GAEG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,aAAa,CAAC,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAgB;IAEpC;;;OAGG;IACH,MAAM,IAAI,IAAI;IAKd;;;OAGG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,WAAW,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAKxC,gBAAgB;IAChB,KAAK;uBAC8B,cAAc;sBAAgB,MAAM,EAAE;;CAK5E;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IACzB,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,eAAe,CAAC,CAAqC;IAC7D,OAAO,CAAC,iBAAiB,CAAC,CAA+D;IAEzF;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,IAAI,GAAG,IAAI;IAoBnE;;;;;;;;;;OAUG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAO3D;;OAEG;IACH,cAAc,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,IAAI;IAK5D;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,CAAC,YAAY,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAKxF;;OAEG;IACH,KAAK,IAAI,cAAc;IAevB;;OAEG;IACH,IAAI,KAAK,mBAA2B;CACvC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import {} from './types.js';
|
|
2
|
+
import { StateSyncLayer } from './StateSyncLayer.js';
|
|
3
|
+
/**
|
|
4
|
+
* Nested builder for configuring a single State Sync policy.
|
|
5
|
+
*/
|
|
6
|
+
export class PolicyBuilder {
|
|
7
|
+
_cacheControl;
|
|
8
|
+
_invalidates = [];
|
|
9
|
+
/**
|
|
10
|
+
* Mark matching tools as immutable (safe to cache forever).
|
|
11
|
+
* Use for reference data: countries, currencies, ICD-10 codes.
|
|
12
|
+
*/
|
|
13
|
+
cached() {
|
|
14
|
+
this._cacheControl = 'immutable';
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Mark matching tools as volatile (never cache).
|
|
19
|
+
* Use for dynamic data that changes on every call.
|
|
20
|
+
*/
|
|
21
|
+
stale() {
|
|
22
|
+
this._cacheControl = 'no-store';
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Declare which glob patterns are invalidated when these tools succeed.
|
|
27
|
+
*/
|
|
28
|
+
invalidates(...patterns) {
|
|
29
|
+
this._invalidates = [...this._invalidates, ...patterns];
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
/** @internal */
|
|
33
|
+
build() {
|
|
34
|
+
const result = {};
|
|
35
|
+
if (this._cacheControl)
|
|
36
|
+
result.cacheControl = this._cacheControl;
|
|
37
|
+
if (this._invalidates.length > 0)
|
|
38
|
+
result.invalidates = this._invalidates;
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Fluent builder for centralized State Sync configuration.
|
|
44
|
+
*
|
|
45
|
+
* Typically accessed via `f.stateSync()` in the `initFusion` instance.
|
|
46
|
+
*/
|
|
47
|
+
export class StateSyncBuilder {
|
|
48
|
+
_policies = [];
|
|
49
|
+
_defaults = {};
|
|
50
|
+
_onInvalidation;
|
|
51
|
+
_notificationSink;
|
|
52
|
+
/**
|
|
53
|
+
* Set global default cache-control directives.
|
|
54
|
+
*
|
|
55
|
+
* Only cache-control directives are valid for defaults.
|
|
56
|
+
* Invalidation patterns are NOT allowed here — use `.policy()` instead.
|
|
57
|
+
*/
|
|
58
|
+
defaults(fn) {
|
|
59
|
+
const builder = new PolicyBuilder();
|
|
60
|
+
fn(builder);
|
|
61
|
+
const built = builder.build();
|
|
62
|
+
// Runtime guard: invalidates() is hidden by Omit<> at compile time
|
|
63
|
+
// but still callable at runtime — catch this mistake early.
|
|
64
|
+
if (built.invalidates && built.invalidates.length > 0) {
|
|
65
|
+
throw new Error('StateSyncBuilder.defaults(): invalidates() is not allowed in defaults. ' +
|
|
66
|
+
'Use .policy(match, p => p.invalidates(...)) for scoped invalidation.');
|
|
67
|
+
}
|
|
68
|
+
if (built.cacheControl) {
|
|
69
|
+
this._defaults.cacheControl = built.cacheControl;
|
|
70
|
+
}
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Add a scoped policy for matching tools using a fluent nested builder.
|
|
75
|
+
*
|
|
76
|
+
* @param match - Tool name or glob pattern (e.g. 'users.*', 'billing.create')
|
|
77
|
+
* @param fn - Callback to configure the policy
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* .policy('billing.*', p => p.noStore().invalidates('billing.*'))
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
policy(match, fn) {
|
|
85
|
+
const builder = new PolicyBuilder();
|
|
86
|
+
fn(builder);
|
|
87
|
+
this._policies.push({ match, ...builder.build() });
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Set a hook for observability when invalidations occur.
|
|
92
|
+
*/
|
|
93
|
+
onInvalidation(fn) {
|
|
94
|
+
this._onInvalidation = fn;
|
|
95
|
+
return this;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Set the notification sink for protocol-level resource updates.
|
|
99
|
+
*/
|
|
100
|
+
notificationSink(fn) {
|
|
101
|
+
this._notificationSink = fn;
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Build the StateSyncLayer instance.
|
|
106
|
+
*/
|
|
107
|
+
build() {
|
|
108
|
+
const config = {
|
|
109
|
+
policies: this._policies,
|
|
110
|
+
defaults: this._defaults,
|
|
111
|
+
};
|
|
112
|
+
if (this._onInvalidation)
|
|
113
|
+
config.onInvalidation = this._onInvalidation;
|
|
114
|
+
if (this._notificationSink)
|
|
115
|
+
config.notificationSink = this._notificationSink;
|
|
116
|
+
return new StateSyncLayer(config);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Shortcut for build() to align with other builders.
|
|
120
|
+
*/
|
|
121
|
+
get layer() { return this.build(); }
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=StateSyncBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StateSyncBuilder.js","sourceRoot":"","sources":["../../src/state-sync/StateSyncBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
* @module
|
|
19
19
|
*/
|
|
20
20
|
export { StateSyncLayer } from './StateSyncLayer.js';
|
|
21
|
+
export { StateSyncBuilder, PolicyBuilder } from './StateSyncBuilder.js';
|
|
21
22
|
export type { CacheDirective, SyncPolicy, StateSyncConfig, ResolvedPolicy, InvalidationEvent, ResourceNotification, } from './types.js';
|
|
22
23
|
export { PolicyEngine } from './PolicyEngine.js';
|
|
23
24
|
export { matchGlob } from './GlobMatcher.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state-sync/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state-sync/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGxE,YAAY,EACR,cAAc,EACd,UAAU,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/state-sync/index.js
CHANGED
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
// ── Orchestrator (primary export) ────────────────────────
|
|
21
21
|
export { StateSyncLayer } from './StateSyncLayer.js';
|
|
22
|
+
export { StateSyncBuilder, PolicyBuilder } from './StateSyncBuilder.js';
|
|
22
23
|
// ── Infrastructure (advanced usage) ──────────────────────
|
|
23
24
|
export { PolicyEngine } from './PolicyEngine.js';
|
|
24
25
|
export { matchGlob } from './GlobMatcher.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/state-sync/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,4DAA4D;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/state-sync/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,4DAA4D;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAYxE,4DAA4D;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vinkius-core/mcp-fusion",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.12.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",
|