@vinkius-core/mcp-fusion 3.1.3 → 3.1.5
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/args.d.ts +26 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +100 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/commands/create.d.ts +11 -0
- package/dist/cli/commands/create.d.ts.map +1 -0
- package/dist/cli/commands/create.js +121 -0
- package/dist/cli/commands/create.js.map +1 -0
- package/dist/cli/commands/deploy.d.ts +3 -0
- package/dist/cli/commands/deploy.d.ts.map +1 -0
- package/dist/cli/commands/deploy.js +234 -0
- package/dist/cli/commands/deploy.js.map +1 -0
- package/dist/cli/commands/dev.d.ts +9 -0
- package/dist/cli/commands/dev.d.ts.map +1 -0
- package/dist/cli/commands/dev.js +54 -0
- package/dist/cli/commands/dev.js.map +1 -0
- package/dist/cli/commands/lock.d.ts +5 -0
- package/dist/cli/commands/lock.d.ts.map +1 -0
- package/dist/cli/commands/lock.js +94 -0
- package/dist/cli/commands/lock.js.map +1 -0
- package/dist/cli/commands/remote.d.ts +3 -0
- package/dist/cli/commands/remote.d.ts.map +1 -0
- package/dist/cli/commands/remote.js +37 -0
- package/dist/cli/commands/remote.js.map +1 -0
- package/dist/cli/constants.d.ts +19 -0
- package/dist/cli/constants.d.ts.map +1 -0
- package/dist/cli/constants.js +86 -0
- package/dist/cli/constants.js.map +1 -0
- package/dist/cli/fusion.d.ts +13 -131
- package/dist/cli/fusion.d.ts.map +1 -1
- package/dist/cli/fusion.js +27 -642
- package/dist/cli/fusion.js.map +1 -1
- package/dist/cli/progress.d.ts +34 -0
- package/dist/cli/progress.d.ts.map +1 -0
- package/dist/cli/progress.js +102 -0
- package/dist/cli/progress.js.map +1 -0
- package/dist/cli/rc.d.ts +11 -0
- package/dist/cli/rc.d.ts.map +1 -0
- package/dist/cli/rc.js +66 -0
- package/dist/cli/rc.js.map +1 -0
- package/dist/cli/registry.d.ts +25 -0
- package/dist/cli/registry.d.ts.map +1 -0
- package/dist/cli/registry.js +86 -0
- package/dist/cli/registry.js.map +1 -0
- package/dist/cli/types.d.ts +7 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/utils.d.ts +26 -0
- package/dist/cli/utils.d.ts.map +1 -0
- package/dist/cli/utils.js +63 -0
- package/dist/cli/utils.js.map +1 -0
- package/dist/core/builder/ToolDefinitionCompiler.js +1 -1
- package/dist/core/builder/ToolDefinitionCompiler.js.map +1 -1
- package/dist/core/schema/DescriptionGenerator.d.ts +1 -1
- package/dist/core/schema/DescriptionGenerator.d.ts.map +1 -1
- package/dist/core/schema/DescriptionGenerator.js +4 -2
- package/dist/core/schema/DescriptionGenerator.js.map +1 -1
- package/dist/core/schema/ToonDescriptionGenerator.d.ts +1 -1
- package/dist/core/schema/ToonDescriptionGenerator.d.ts.map +1 -1
- package/dist/core/schema/ToonDescriptionGenerator.js +3 -3
- package/dist/core/schema/ToonDescriptionGenerator.js.map +1 -1
- package/dist/edge-stub.d.ts +73 -0
- package/dist/edge-stub.d.ts.map +1 -0
- package/dist/edge-stub.js +81 -0
- package/dist/edge-stub.js.map +1 -0
- package/dist/fsm/StateMachineGate.d.ts +5 -0
- package/dist/fsm/StateMachineGate.d.ts.map +1 -1
- package/dist/fsm/StateMachineGate.js +19 -1
- package/dist/fsm/StateMachineGate.js.map +1 -1
- package/dist/server/DevServer.d.ts.map +1 -1
- package/dist/server/DevServer.js +8 -2
- package/dist/server/DevServer.js.map +1 -1
- package/dist/server/startServer.d.ts +3 -0
- package/dist/server/startServer.d.ts.map +1 -1
- package/dist/server/startServer.js +47 -0
- package/dist/server/startServer.js.map +1 -1
- package/package.json +6 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type InternalAction } from '../types.js';
|
|
2
|
-
export declare function generateToonDescription<TContext>(actions: readonly InternalAction<TContext>[], name: string, description: string | undefined, hasGroup: boolean): string;
|
|
2
|
+
export declare function generateToonDescription<TContext>(actions: readonly InternalAction<TContext>[], name: string, description: string | undefined, hasGroup: boolean, discriminator?: string): string;
|
|
3
3
|
//# sourceMappingURL=ToonDescriptionGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToonDescriptionGenerator.d.ts","sourceRoot":"","sources":["../../../src/core/schema/ToonDescriptionGenerator.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,wBAAgB,uBAAuB,CAAC,QAAQ,EAC5C,OAAO,EAAE,SAAS,cAAc,CAAC,QAAQ,CAAC,EAAE,EAC5C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"ToonDescriptionGenerator.d.ts","sourceRoot":"","sources":["../../../src/core/schema/ToonDescriptionGenerator.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,wBAAgB,uBAAuB,CAAC,QAAQ,EAC5C,OAAO,EAAE,SAAS,cAAc,CAAC,QAAQ,CAAC,EAAE,EAC5C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,OAAO,EACjB,aAAa,SAAW,GACzB,MAAM,CAeR"}
|
|
@@ -13,10 +13,10 @@ import { encode } from '@toon-format/toon';
|
|
|
13
13
|
import {} from '../types.js';
|
|
14
14
|
import { getActionRequiredFields } from './SchemaUtils.js';
|
|
15
15
|
// ── Public API ───────────────────────────────────────────
|
|
16
|
-
export function generateToonDescription(actions, name, description, hasGroup) {
|
|
16
|
+
export function generateToonDescription(actions, name, description, hasGroup, discriminator = 'action') {
|
|
17
17
|
const lines = [];
|
|
18
|
-
// Layer 1: Tool summary (always human-readable)
|
|
19
|
-
lines.push(description || name);
|
|
18
|
+
// Layer 1: Tool summary + dispatch instruction (always human-readable)
|
|
19
|
+
lines.push(`${description || name}. Select operation via the \`${discriminator}\` parameter.`);
|
|
20
20
|
lines.push('');
|
|
21
21
|
// Layer 2: Action metadata in TOON tabular format
|
|
22
22
|
if (hasGroup) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToonDescriptionGenerator.js","sourceRoot":"","sources":["../../../src/core/schema/ToonDescriptionGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAuB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,4DAA4D;AAE5D,MAAM,UAAU,uBAAuB,CACnC,OAA4C,EAC5C,IAAY,EACZ,WAA+B,EAC/B,QAAiB;
|
|
1
|
+
{"version":3,"file":"ToonDescriptionGenerator.js","sourceRoot":"","sources":["../../../src/core/schema/ToonDescriptionGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAuB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,4DAA4D;AAE5D,MAAM,UAAU,uBAAuB,CACnC,OAA4C,EAC5C,IAAY,EACZ,WAA+B,EAC/B,QAAiB,EACjB,aAAa,GAAG,QAAQ;IAExB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,uEAAuE;IACvE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,IAAI,gCAAgC,aAAa,eAAe,CAAC,CAAC;IAC/F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,kDAAkD;IAClD,IAAI,QAAQ,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAWD,SAAS,iBAAiB,CACtB,OAA4C;IAE5C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,oBAAoB,CACzB,OAA4C;IAE5C,mCAAmC;IACnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsC,CAAC;IAC7D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,YAAY,CAAC;QAC7C,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,IAAI,GAAG,EAAE,CAAC;YACV,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,qDAAqD;IACrD,MAAM,SAAS,GAAgC,EAAE,CAAC;IAClD,KAAK,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,MAAM,EAAE,CAAC;QAC7C,SAAS,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACxC,cAAc,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAClC,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,cAAc,CACnB,GAAW,EACX,MAAgC;IAEhC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,GAAG,GAAc;QACnB,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;QAC9B,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;KAC/B,CAAC;IAEF,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACrB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Edge Stub — Dead Code Satisfier for V8 Isolate Bundles
|
|
3
|
+
*
|
|
4
|
+
* INTERNAL: Lives in dist/ but NOT in package.json exports.
|
|
5
|
+
* Only used by CLI deploy esbuild aliases.
|
|
6
|
+
*
|
|
7
|
+
* Provides class shells that satisfy the AST so esbuild
|
|
8
|
+
* can compile @modelcontextprotocol/sdk without errors.
|
|
9
|
+
* These classes are NEVER instantiated at runtime because
|
|
10
|
+
* startServer() intercepts before any transport is created.
|
|
11
|
+
*
|
|
12
|
+
* Two tiers:
|
|
13
|
+
* Tier 1 — Structural stubs (safe for AST, never called at runtime)
|
|
14
|
+
* Tier 2 — Executable stubs (CRASH immediately if invoked at runtime)
|
|
15
|
+
*
|
|
16
|
+
* @internal
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
export declare class EventEmitter {
|
|
20
|
+
on(): this;
|
|
21
|
+
once(): this;
|
|
22
|
+
emit(): boolean;
|
|
23
|
+
addListener(): this;
|
|
24
|
+
removeListener(): this;
|
|
25
|
+
removeAllListeners(): this;
|
|
26
|
+
listeners(): never[];
|
|
27
|
+
listenerCount(): number;
|
|
28
|
+
setMaxListeners(): this;
|
|
29
|
+
}
|
|
30
|
+
export declare class Readable extends EventEmitter {
|
|
31
|
+
}
|
|
32
|
+
export declare class Writable extends EventEmitter {
|
|
33
|
+
}
|
|
34
|
+
export declare class Duplex extends EventEmitter {
|
|
35
|
+
}
|
|
36
|
+
export declare class Transform extends EventEmitter {
|
|
37
|
+
}
|
|
38
|
+
export declare class PassThrough extends EventEmitter {
|
|
39
|
+
}
|
|
40
|
+
export declare class Server extends EventEmitter {
|
|
41
|
+
listen(): void;
|
|
42
|
+
close(): void;
|
|
43
|
+
}
|
|
44
|
+
export declare class Socket extends EventEmitter {
|
|
45
|
+
}
|
|
46
|
+
export declare class IncomingMessage extends Readable {
|
|
47
|
+
}
|
|
48
|
+
export declare class ServerResponse extends Writable {
|
|
49
|
+
}
|
|
50
|
+
export declare const createHash: () => never;
|
|
51
|
+
export declare const createHmac: () => never;
|
|
52
|
+
export declare const randomUUID: () => never;
|
|
53
|
+
export declare const randomBytes: () => never;
|
|
54
|
+
export declare const createReadStream: () => never;
|
|
55
|
+
export declare const readFileSync: () => never;
|
|
56
|
+
export declare const writeFileSync: () => never;
|
|
57
|
+
export declare const exec: () => never;
|
|
58
|
+
export declare const execSync: () => never;
|
|
59
|
+
export declare const spawn: () => never;
|
|
60
|
+
export declare const Buffer: {
|
|
61
|
+
isBuffer: () => boolean;
|
|
62
|
+
isEncoding: () => boolean;
|
|
63
|
+
from: () => never;
|
|
64
|
+
alloc: () => never;
|
|
65
|
+
allocUnsafe: () => never;
|
|
66
|
+
};
|
|
67
|
+
export declare function resolve(): string;
|
|
68
|
+
export declare function join(): string;
|
|
69
|
+
export declare function dirname(): string;
|
|
70
|
+
export declare function basename(): string;
|
|
71
|
+
declare const _default: {};
|
|
72
|
+
export default _default;
|
|
73
|
+
//# sourceMappingURL=edge-stub.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-stub.d.ts","sourceRoot":"","sources":["../src/edge-stub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,qBAAa,YAAY;IACrB,EAAE;IACF,IAAI;IACJ,IAAI;IACJ,WAAW;IACX,cAAc;IACd,kBAAkB;IAClB,SAAS;IACT,aAAa;IACb,eAAe;CAClB;AAED,qBAAa,QAAS,SAAQ,YAAY;CAAG;AAC7C,qBAAa,QAAS,SAAQ,YAAY;CAAG;AAC7C,qBAAa,MAAO,SAAQ,YAAY;CAAG;AAC3C,qBAAa,SAAU,SAAQ,YAAY;CAAG;AAC9C,qBAAa,WAAY,SAAQ,YAAY;CAAG;AAChD,qBAAa,MAAO,SAAQ,YAAY;IAAG,MAAM;IAAM,KAAK;CAAO;AACnE,qBAAa,MAAO,SAAQ,YAAY;CAAG;AAC3C,qBAAa,eAAgB,SAAQ,QAAQ;CAAG;AAChD,qBAAa,cAAe,SAAQ,QAAQ;CAAG;AAY/C,eAAO,MAAM,UAAU,aAAwC,CAAC;AAChE,eAAO,MAAM,UAAU,aAAwC,CAAC;AAChE,eAAO,MAAM,UAAU,aAAwC,CAAC;AAChE,eAAO,MAAM,WAAW,aAAyC,CAAC;AAClE,eAAO,MAAM,gBAAgB,aAA0C,CAAC;AACxE,eAAO,MAAM,YAAY,aAAsC,CAAC;AAChE,eAAO,MAAM,aAAa,aAAuC,CAAC;AAClE,eAAO,MAAM,IAAI,aAAyC,CAAC;AAC3D,eAAO,MAAM,QAAQ,aAA6C,CAAC;AACnE,eAAO,MAAM,KAAK,aAA0C,CAAC;AAG7D,eAAO,MAAM,MAAM;;;;;;CAMlB,CAAC;AAGF,wBAAgB,OAAO,WAAiB;AACxC,wBAAgB,IAAI,WAAiB;AACrC,wBAAgB,OAAO,WAAiB;AACxC,wBAAgB,QAAQ,WAAiB;;AAEzC,wBAAkB"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Edge Stub — Dead Code Satisfier for V8 Isolate Bundles
|
|
3
|
+
*
|
|
4
|
+
* INTERNAL: Lives in dist/ but NOT in package.json exports.
|
|
5
|
+
* Only used by CLI deploy esbuild aliases.
|
|
6
|
+
*
|
|
7
|
+
* Provides class shells that satisfy the AST so esbuild
|
|
8
|
+
* can compile @modelcontextprotocol/sdk without errors.
|
|
9
|
+
* These classes are NEVER instantiated at runtime because
|
|
10
|
+
* startServer() intercepts before any transport is created.
|
|
11
|
+
*
|
|
12
|
+
* Two tiers:
|
|
13
|
+
* Tier 1 — Structural stubs (safe for AST, never called at runtime)
|
|
14
|
+
* Tier 2 — Executable stubs (CRASH immediately if invoked at runtime)
|
|
15
|
+
*
|
|
16
|
+
* @internal
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
// ── Tier 1: Structural (satisfy AST — dead code, never called) ──────────────
|
|
20
|
+
export class EventEmitter {
|
|
21
|
+
on() { return this; }
|
|
22
|
+
once() { return this; }
|
|
23
|
+
emit() { return false; }
|
|
24
|
+
addListener() { return this; }
|
|
25
|
+
removeListener() { return this; }
|
|
26
|
+
removeAllListeners() { return this; }
|
|
27
|
+
listeners() { return []; }
|
|
28
|
+
listenerCount() { return 0; }
|
|
29
|
+
setMaxListeners() { return this; }
|
|
30
|
+
}
|
|
31
|
+
export class Readable extends EventEmitter {
|
|
32
|
+
}
|
|
33
|
+
export class Writable extends EventEmitter {
|
|
34
|
+
}
|
|
35
|
+
export class Duplex extends EventEmitter {
|
|
36
|
+
}
|
|
37
|
+
export class Transform extends EventEmitter {
|
|
38
|
+
}
|
|
39
|
+
export class PassThrough extends EventEmitter {
|
|
40
|
+
}
|
|
41
|
+
export class Server extends EventEmitter {
|
|
42
|
+
listen() { }
|
|
43
|
+
close() { }
|
|
44
|
+
}
|
|
45
|
+
export class Socket extends EventEmitter {
|
|
46
|
+
}
|
|
47
|
+
export class IncomingMessage extends Readable {
|
|
48
|
+
}
|
|
49
|
+
export class ServerResponse extends Writable {
|
|
50
|
+
}
|
|
51
|
+
// ── Tier 2: Executable (fail-fast CRASH at runtime) ─────────────────────────
|
|
52
|
+
const CRASH = (api) => {
|
|
53
|
+
throw new Error(`[Vinkius Edge] "${api}" is blocked in the Serverless Sandbox. ` +
|
|
54
|
+
`Edge functions cannot use Node.js built-in modules. ` +
|
|
55
|
+
`Use Web APIs (fetch, crypto.subtle, TextEncoder) instead.`);
|
|
56
|
+
};
|
|
57
|
+
export const createHash = () => CRASH('node:crypto.createHash');
|
|
58
|
+
export const createHmac = () => CRASH('node:crypto.createHmac');
|
|
59
|
+
export const randomUUID = () => CRASH('node:crypto.randomUUID');
|
|
60
|
+
export const randomBytes = () => CRASH('node:crypto.randomBytes');
|
|
61
|
+
export const createReadStream = () => CRASH('node:fs.createReadStream');
|
|
62
|
+
export const readFileSync = () => CRASH('node:fs.readFileSync');
|
|
63
|
+
export const writeFileSync = () => CRASH('node:fs.writeFileSync');
|
|
64
|
+
export const exec = () => CRASH('node:child_process.exec');
|
|
65
|
+
export const execSync = () => CRASH('node:child_process.execSync');
|
|
66
|
+
export const spawn = () => CRASH('node:child_process.spawn');
|
|
67
|
+
// Diplomatic Buffer — defensive checks pass, allocation crashes
|
|
68
|
+
export const Buffer = {
|
|
69
|
+
isBuffer: () => false,
|
|
70
|
+
isEncoding: () => false,
|
|
71
|
+
from: () => CRASH('Buffer.from (use Uint8Array)'),
|
|
72
|
+
alloc: () => CRASH('Buffer.alloc (use Uint8Array)'),
|
|
73
|
+
allocUnsafe: () => CRASH('Buffer.allocUnsafe (use Uint8Array)'),
|
|
74
|
+
};
|
|
75
|
+
// Path stubs (structural, satisfy imports)
|
|
76
|
+
export function resolve() { return ''; }
|
|
77
|
+
export function join() { return ''; }
|
|
78
|
+
export function dirname() { return ''; }
|
|
79
|
+
export function basename() { return ''; }
|
|
80
|
+
export default {};
|
|
81
|
+
//# sourceMappingURL=edge-stub.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-stub.js","sourceRoot":"","sources":["../src/edge-stub.ts"],"names":[],"mappings":"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"}
|
|
@@ -253,6 +253,11 @@ export declare class StateMachineGate {
|
|
|
253
253
|
/**
|
|
254
254
|
* Restore FSM state from a persisted snapshot.
|
|
255
255
|
*
|
|
256
|
+
* Resets the XState actor (if running) so the next `transition()`
|
|
257
|
+
* re-initializes the machine starting from the restored state.
|
|
258
|
+
* This ensures restore → transition works correctly in
|
|
259
|
+
* serverless/edge deployments (Vercel, Cloudflare Workers).
|
|
260
|
+
*
|
|
256
261
|
* @param snap - Previously saved snapshot
|
|
257
262
|
*/
|
|
258
263
|
restore(snap: FsmSnapshot): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateMachineGate.d.ts","sourceRoot":"","sources":["../../src/fsm/StateMachineGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAIH;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACtB,+CAA+C;IAC/C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QACnB,wEAAwE;QACxE,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,gDAAgD;QAChD,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;CACN;AAcD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,aAAa;IAC1B,oFAAoF;IACpF,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAC1D,yCAAyC;IACzC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,6CAA6C;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;CACxB;AA6BD;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAEtD;AAID;;;;;;;;;;;GAWG;AACH,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAyB;IAC9D,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAE7B;;OAEG;gBACS,MAAM,EAAE,SAAS;IAO7B;;;;;;;OAOG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"StateMachineGate.d.ts","sourceRoot":"","sources":["../../src/fsm/StateMachineGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAIH;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACtB,+CAA+C;IAC/C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QACnB,wEAAwE;QACxE,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,gDAAgD;QAChD,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;CACN;AAcD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,aAAa;IAC1B,oFAAoF;IACpF,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAC1D,yCAAyC;IACzC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,6CAA6C;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;CACxB;AA6BD;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAEtD;AAID;;;;;;;;;;;GAWG;AACH,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAyB;IAC9D,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAE7B;;OAEG;gBACS,MAAM,EAAE,SAAS;IAO7B;;;;;;;OAOG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAwC9B;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAW/F;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;;;OAQG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAMxC;;;;;OAKG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAIlD;;;;;OAKG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIxD;;;;OAIG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAID;;;;;OAKG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuB9D;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;;;;;;OAQG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAU9C;;;;;;;OAOG;IACH,QAAQ,IAAI,WAAW;IAOvB;;;;;;;;;OASG;IACH,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAiBhC;;OAEG;IACH,OAAO,IAAI,IAAI;CAOlB"}
|
|
@@ -137,7 +137,12 @@ export class StateMachineGate {
|
|
|
137
137
|
return false;
|
|
138
138
|
}
|
|
139
139
|
try {
|
|
140
|
-
|
|
140
|
+
// Use _currentState as initial — it may have been set by restore()
|
|
141
|
+
// before init() was called (serverless/edge: restore → transition → init)
|
|
142
|
+
const machineConfig = this._currentState !== this._config.initial
|
|
143
|
+
? { ...this._config, initial: this._currentState }
|
|
144
|
+
: this._config;
|
|
145
|
+
const machine = xstate.createMachine(machineConfig);
|
|
141
146
|
this._actor = xstate.createActor(machine);
|
|
142
147
|
this._actor.subscribe((snapshot) => {
|
|
143
148
|
const newState = typeof snapshot.value === 'string'
|
|
@@ -321,11 +326,24 @@ export class StateMachineGate {
|
|
|
321
326
|
/**
|
|
322
327
|
* Restore FSM state from a persisted snapshot.
|
|
323
328
|
*
|
|
329
|
+
* Resets the XState actor (if running) so the next `transition()`
|
|
330
|
+
* re-initializes the machine starting from the restored state.
|
|
331
|
+
* This ensures restore → transition works correctly in
|
|
332
|
+
* serverless/edge deployments (Vercel, Cloudflare Workers).
|
|
333
|
+
*
|
|
324
334
|
* @param snap - Previously saved snapshot
|
|
325
335
|
*/
|
|
326
336
|
restore(snap) {
|
|
327
337
|
if (this._config.states[snap.state]) {
|
|
328
338
|
this._currentState = snap.state;
|
|
339
|
+
// If the actor is already running, stop it and mark as
|
|
340
|
+
// uninitialized so the next transition() call will re-create
|
|
341
|
+
// the machine starting from the restored state.
|
|
342
|
+
if (this._actor) {
|
|
343
|
+
this._actor.stop();
|
|
344
|
+
this._actor = null;
|
|
345
|
+
this._initialized = false;
|
|
346
|
+
}
|
|
329
347
|
}
|
|
330
348
|
}
|
|
331
349
|
// ── Cleanup ──────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateMachineGate.js","sourceRoot":"","sources":["../../src/fsm/StateMachineGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAqFH,4DAA4D;AAE5D,qCAAqC;AACrC,IAAI,YAAY,GAAmC,IAAI,CAAC;AACxD,kDAAkD;AAClD,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAEhC;;;;;;;GAOG;AACH,KAAK,UAAU,UAAU;IACrB,IAAI,mBAAmB;QAAE,OAAO,YAAY,CAAC;IAC7C,mBAAmB,GAAG,IAAI,CAAC;IAE3B,IAAI,CAAC;QACD,YAAY,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,YAAY,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IAC/B,OAAO,CAAC,MAAM,UAAU,EAAE,CAAC,KAAK,IAAI,CAAC;AACzC,CAAC;AAED,4DAA4D;AAE5D;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,gBAAgB;IACR,OAAO,CAAY;IACnB,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9C,oBAAoB,GAAsB,EAAE,CAAC;IACtD,MAAM,GAAkC,IAAI,CAAC;IAC7C,aAAa,CAAS;IACtB,YAAY,GAAG,KAAK,CAAC;IAE7B;;OAEG;IACH,YAAY,MAAiB;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;IACxC,CAAC;IAED,wDAAwD;IAExD;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI;QACN,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;QAEnD,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"StateMachineGate.js","sourceRoot":"","sources":["../../src/fsm/StateMachineGate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevServer.d.ts","sourceRoot":"","sources":["../../src/server/DevServer.ts"],"names":[],"mappings":"AAkDA,wDAAwD;AACxD,UAAU,aAAa;IACnB,YAAY,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,gBAAgB,CAAC,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED,8BAA8B;AAC9B,UAAU,gBAAgB;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAEjC,WAAW,CAAC,IAAI,OAAO,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErE;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAElD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,8CAA8C;IAC9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,oCAAoC;IACpC,IAAI,IAAI,IAAI,CAAC;IACb,8CAA8C;IAC9C,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"DevServer.d.ts","sourceRoot":"","sources":["../../src/server/DevServer.ts"],"names":[],"mappings":"AAkDA,wDAAwD;AACxD,UAAU,aAAa;IACnB,YAAY,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,gBAAgB,CAAC,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED,8BAA8B;AAC9B,UAAU,gBAAgB;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAEjC,WAAW,CAAC,IAAI,OAAO,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErE;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAElD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,8CAA8C;IAC9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,oCAAoC;IACpC,IAAI,IAAI,IAAI,CAAC;IACb,8CAA8C;IAC9C,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAqGlE"}
|
package/dist/server/DevServer.js
CHANGED
|
@@ -116,9 +116,15 @@ export function createDevServer(config) {
|
|
|
116
116
|
// Invalidate CJS cache for all watched files
|
|
117
117
|
invalidateModule(changedFile);
|
|
118
118
|
// Re-run the user's setup callback
|
|
119
|
-
//
|
|
119
|
+
// Provide a duck-typed registry that satisfies the interface.
|
|
120
|
+
// The user's setup may use this or close over their own registry.
|
|
121
|
+
const builders = [];
|
|
122
|
+
const reloadRegistry = {
|
|
123
|
+
register(builder) { builders.push(builder); },
|
|
124
|
+
getBuilders() { return builders; },
|
|
125
|
+
};
|
|
120
126
|
try {
|
|
121
|
-
await setup(
|
|
127
|
+
await setup(reloadRegistry);
|
|
122
128
|
}
|
|
123
129
|
catch (err) {
|
|
124
130
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"DevServer.js","sourceRoot":"","sources":["../../src/server/DevServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
|
14
14
|
import { type AttachOptions } from './ServerAttachment.js';
|
|
15
15
|
import { type TelemetryBusInstance } from '../observability/TelemetryBus.js';
|
|
16
16
|
import type { PromptRegistry } from '../prompt/PromptRegistry.js';
|
|
17
|
+
import type { ProgressSink } from '../core/execution/ProgressHelper.js';
|
|
17
18
|
/** Options for `startServer`. */
|
|
18
19
|
export interface StartServerOptions<TContext> {
|
|
19
20
|
/** Server display name (shown in MCP clients and Inspector). */
|
|
@@ -38,11 +39,13 @@ export interface StartServerOptions<TContext> {
|
|
|
38
39
|
interface ServerRegistry<TContext> {
|
|
39
40
|
getBuilders(): Iterable<ToolBuilderLike>;
|
|
40
41
|
attachToServer(server: unknown, options: AttachOptions<TContext>): Promise<unknown>;
|
|
42
|
+
routeCall(ctx: TContext, name: string, args: Record<string, unknown>, progressSink?: ProgressSink, signal?: AbortSignal): Promise<unknown>;
|
|
41
43
|
}
|
|
42
44
|
/** Minimal builder shape for topology extraction. */
|
|
43
45
|
interface ToolBuilderLike {
|
|
44
46
|
getName(): string;
|
|
45
47
|
getActionNames(): string[];
|
|
48
|
+
buildToolDefinition(): unknown;
|
|
46
49
|
}
|
|
47
50
|
/** Result returned by `startServer`. */
|
|
48
51
|
export interface StartServerResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startServer.d.ts","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAsB,KAAK,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"startServer.d.ts","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAsB,KAAK,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAMxE,iCAAiC;AACjC,MAAM,WAAW,kBAAkB,CAAC,QAAQ;IACxC,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE5C,gCAAgC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE5C,6CAA6C;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3E,sDAAsD;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAE7B,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,SAAS,GAAG,WAAW,CAAC,CAAC;CAC/F;AAED;;;GAGG;AACH,UAAU,cAAc,CAAC,QAAQ;IAC7B,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC;IACzC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9I;AAED,qDAAqD;AACrD,UAAU,eAAe;IACrB,OAAO,IAAI,MAAM,CAAC;IAClB,cAAc,IAAI,MAAM,EAAE,CAAC;IAC3B,mBAAmB,IAAI,OAAO,CAAC;CAClC;AAED,wCAAwC;AACxC,MAAM,WAAW,iBAAiB;IAC9B,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,MAAM,CAAC,CAAC;IAC7C,sCAAsC;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,oBAAoB,CAAC;IACpC,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EACtC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GACtC,OAAO,CAAC,iBAAiB,CAAC,CAgI5B"}
|
|
@@ -39,6 +39,53 @@ import { createTelemetryBus } from '../observability/TelemetryBus.js';
|
|
|
39
39
|
*/
|
|
40
40
|
export async function startServer(options) {
|
|
41
41
|
const { name, version = '1.0.0', registry, prompts, contextFactory, telemetry = true, attach = {}, } = options;
|
|
42
|
+
// ── Vinkius Cloud Edge Detection ─────────────────────────────────────
|
|
43
|
+
// When running inside a V8 Isolate, the host injects
|
|
44
|
+
// __vinkius_edge_interceptor into globalThis. If present:
|
|
45
|
+
// 1. Serialize tool definitions to host via IPC
|
|
46
|
+
// 2. Expose __vinkius_edge_dispatch for tool invocations
|
|
47
|
+
// 3. Abort normal server startup (no stdio transport)
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
49
|
+
const g = globalThis;
|
|
50
|
+
if (typeof g.__vinkius_edge_interceptor !== 'undefined') {
|
|
51
|
+
const tools = [];
|
|
52
|
+
for (const b of registry.getBuilders()) {
|
|
53
|
+
tools.push({
|
|
54
|
+
definition: b.buildToolDefinition(),
|
|
55
|
+
name: b.getName(),
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
// Send definitions to host via C++ IPC
|
|
59
|
+
g.__vinkius_edge_interceptor.applySync(undefined, [
|
|
60
|
+
JSON.stringify({ serverName: name, version, tools }),
|
|
61
|
+
]);
|
|
62
|
+
// Expose async dispatcher — PLAIN OBJECT return, never Error class.
|
|
63
|
+
// Host extracts via { result: { copy: true } } (C++ structured clone).
|
|
64
|
+
g.__vinkius_edge_dispatch = async (toolName, args) => {
|
|
65
|
+
try {
|
|
66
|
+
const ctx = contextFactory
|
|
67
|
+
? await contextFactory(undefined)
|
|
68
|
+
: undefined;
|
|
69
|
+
return await registry.routeCall(ctx, toolName, args);
|
|
70
|
+
}
|
|
71
|
+
catch (e) {
|
|
72
|
+
// Error class cannot survive C++ structured clone.
|
|
73
|
+
// Return MCP-protocol plain object instead.
|
|
74
|
+
const err = e;
|
|
75
|
+
return {
|
|
76
|
+
isError: true,
|
|
77
|
+
content: [{
|
|
78
|
+
type: 'text',
|
|
79
|
+
text: String(err?.stack || err?.message || e),
|
|
80
|
+
}],
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
// Abort normal startup — no Server, no Transport
|
|
85
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
86
|
+
return { server: null, close: async () => { } };
|
|
87
|
+
}
|
|
88
|
+
// ── Normal Server Startup ────────────────────────────────────────────
|
|
42
89
|
// 1. Telemetry Bus (optional, default on)
|
|
43
90
|
// Gracefully degrades on serverless platforms (Vercel, Cloudflare)
|
|
44
91
|
// where IPC sockets / Named Pipes are not available.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startServer.js","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAsB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAA6B,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"startServer.js","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vinkius-core/mcp-fusion",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.5",
|
|
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",
|
|
@@ -118,6 +118,7 @@
|
|
|
118
118
|
},
|
|
119
119
|
"peerDependencies": {
|
|
120
120
|
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
121
|
+
"esbuild": "^0.24.0",
|
|
121
122
|
"fast-json-stringify": "^6.0.0",
|
|
122
123
|
"fast-redact": "^3.0.0",
|
|
123
124
|
"isolated-vm": "^5.0.4",
|
|
@@ -131,6 +132,9 @@
|
|
|
131
132
|
"isolated-vm": {
|
|
132
133
|
"optional": true
|
|
133
134
|
},
|
|
135
|
+
"esbuild": {
|
|
136
|
+
"optional": true
|
|
137
|
+
},
|
|
134
138
|
"fast-json-stringify": {
|
|
135
139
|
"optional": true
|
|
136
140
|
},
|
|
@@ -146,4 +150,4 @@
|
|
|
146
150
|
"fast-redact": "^3.5.0",
|
|
147
151
|
"rimraf": "^6.0.0"
|
|
148
152
|
}
|
|
149
|
-
}
|
|
153
|
+
}
|