@mcpmesh/sdk 3.0.0 → 3.1.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/__tests__/api-runtime-apply-idempotency.spec.d.ts +2 -0
- package/dist/__tests__/api-runtime-apply-idempotency.spec.d.ts.map +1 -0
- package/dist/__tests__/api-runtime-apply-idempotency.spec.js +89 -0
- package/dist/__tests__/api-runtime-apply-idempotency.spec.js.map +1 -0
- package/dist/__tests__/dependency-apply-idempotency.spec.d.ts +2 -0
- package/dist/__tests__/dependency-apply-idempotency.spec.d.ts.map +1 -0
- package/dist/__tests__/dependency-apply-idempotency.spec.js +114 -0
- package/dist/__tests__/dependency-apply-idempotency.spec.js.map +1 -0
- package/dist/__tests__/service-view-types.spec.js +1 -15
- package/dist/__tests__/service-view-types.spec.js.map +1 -1
- package/dist/__tests__/service-view.spec.js +9 -96
- package/dist/__tests__/service-view.spec.js.map +1 -1
- package/dist/agent.d.ts +11 -26
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +67 -100
- package/dist/agent.js.map +1 -1
- package/dist/api-runtime.d.ts +9 -0
- package/dist/api-runtime.d.ts.map +1 -1
- package/dist/api-runtime.js +29 -0
- package/dist/api-runtime.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/llm-provider.d.ts +6 -6
- package/dist/service-view.d.ts +17 -36
- package/dist/service-view.d.ts.map +1 -1
- package/dist/service-view.js +20 -30
- package/dist/service-view.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-runtime-apply-idempotency.spec.d.ts","sourceRoot":"","sources":["../../src/__tests__/api-runtime-apply-idempotency.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #1314 — idempotency guard on the ApiRuntime (@mesh.route / Express gateway)
|
|
3
|
+
* dependency-apply path.
|
|
4
|
+
*
|
|
5
|
+
* ApiRuntime consumes the SAME reconciling napi core as MeshAgent
|
|
6
|
+
* (`this.handle.nextEvent()`), which re-emits `dependency_available` for every
|
|
7
|
+
* believed-delivered edge on an independent ~10s tick. Without a guard each
|
|
8
|
+
* gateway agent would call `createProxy` and rewire the RouteRegistry on every
|
|
9
|
+
* tick. The guard records the last-applied signature
|
|
10
|
+
* `(endpoint, functionName, kwargs, agentId)` per depKey and skips the rebuild
|
|
11
|
+
* when an incoming apply carries the same signature; a genuine change still
|
|
12
|
+
* rebuilds, and removal clears the signature so a re-add rebuilds.
|
|
13
|
+
*
|
|
14
|
+
* These drive the REAL private `handleDependencyAvailable` /
|
|
15
|
+
* `handleDependencyUnavailable` against a stub `this` (only
|
|
16
|
+
* `appliedDepSignatures` is read/written) with a real RouteRegistry passed as
|
|
17
|
+
* the explicit `registry` argument — no napi runtime needed.
|
|
18
|
+
*/
|
|
19
|
+
import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
|
|
20
|
+
import { ApiRuntime } from "../api-runtime.js";
|
|
21
|
+
import { RouteRegistry } from "../route.js";
|
|
22
|
+
import { resetSettleStateForTests } from "../settle.js";
|
|
23
|
+
import * as proxyModule from "../proxy.js";
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
25
|
+
const handleAvailable = ApiRuntime.prototype.handleDependencyAvailable;
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
27
|
+
const handleUnavailable = ApiRuntime.prototype
|
|
28
|
+
.handleDependencyUnavailable;
|
|
29
|
+
describe("ApiRuntime dependency-apply idempotency (#1314)", () => {
|
|
30
|
+
let createProxySpy;
|
|
31
|
+
let registry;
|
|
32
|
+
let routeId;
|
|
33
|
+
let stub;
|
|
34
|
+
beforeEach(() => {
|
|
35
|
+
RouteRegistry.reset();
|
|
36
|
+
resetSettleStateForTests();
|
|
37
|
+
registry = RouteRegistry.getInstance();
|
|
38
|
+
routeId = registry.registerRoute("GET", "/report", ["calculator"], [
|
|
39
|
+
{ timeout: 30 },
|
|
40
|
+
]);
|
|
41
|
+
stub = { appliedDepSignatures: new Map() };
|
|
42
|
+
createProxySpy = vi
|
|
43
|
+
.spyOn(proxyModule, "createProxy")
|
|
44
|
+
.mockImplementation(() => (() => Promise.resolve("ok")));
|
|
45
|
+
vi.spyOn(console, "log").mockImplementation(() => { });
|
|
46
|
+
});
|
|
47
|
+
afterEach(() => {
|
|
48
|
+
vi.restoreAllMocks();
|
|
49
|
+
});
|
|
50
|
+
function apply(endpoint, agentId) {
|
|
51
|
+
handleAvailable.call(stub, registry, "calculator", endpoint, "fn", agentId, routeId, 0);
|
|
52
|
+
}
|
|
53
|
+
it("skips rebuild when the re-emit carries an identical signature", () => {
|
|
54
|
+
apply("http://p:8080", "agent-1");
|
|
55
|
+
expect(createProxySpy).toHaveBeenCalledTimes(1);
|
|
56
|
+
const firstProxy = registry.getDependency(routeId, 0);
|
|
57
|
+
expect(firstProxy).not.toBeNull();
|
|
58
|
+
// Identical re-emit → no createProxy, proxy identity unchanged.
|
|
59
|
+
apply("http://p:8080", "agent-1");
|
|
60
|
+
expect(createProxySpy).toHaveBeenCalledTimes(1);
|
|
61
|
+
expect(registry.getDependency(routeId, 0)).toBe(firstProxy);
|
|
62
|
+
});
|
|
63
|
+
it("rebuilds when the endpoint changes", () => {
|
|
64
|
+
apply("http://p:8080", "agent-1");
|
|
65
|
+
const firstProxy = registry.getDependency(routeId, 0);
|
|
66
|
+
apply("http://p:9090", "agent-1");
|
|
67
|
+
expect(createProxySpy).toHaveBeenCalledTimes(2);
|
|
68
|
+
expect(registry.getDependency(routeId, 0)).not.toBe(firstProxy);
|
|
69
|
+
});
|
|
70
|
+
it("rebuilds when only the agentId changes (composes with #1315)", () => {
|
|
71
|
+
apply("http://p:8080", "agent-1");
|
|
72
|
+
const firstProxy = registry.getDependency(routeId, 0);
|
|
73
|
+
apply("http://p:8080", "agent-2");
|
|
74
|
+
expect(createProxySpy).toHaveBeenCalledTimes(2);
|
|
75
|
+
expect(registry.getDependency(routeId, 0)).not.toBe(firstProxy);
|
|
76
|
+
});
|
|
77
|
+
it("rebuilds after removal even when the same signature returns", () => {
|
|
78
|
+
apply("http://p:8080", "agent-1");
|
|
79
|
+
const firstProxy = registry.getDependency(routeId, 0);
|
|
80
|
+
expect(createProxySpy).toHaveBeenCalledTimes(1);
|
|
81
|
+
handleUnavailable.call(stub, registry, "calculator", routeId, 0);
|
|
82
|
+
expect(registry.getDependency(routeId, 0)).toBeNull();
|
|
83
|
+
expect(stub.appliedDepSignatures.has(`${routeId}:dep_0`)).toBe(false);
|
|
84
|
+
apply("http://p:8080", "agent-1");
|
|
85
|
+
expect(createProxySpy).toHaveBeenCalledTimes(2);
|
|
86
|
+
expect(registry.getDependency(routeId, 0)).not.toBe(firstProxy);
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=api-runtime-apply-idempotency.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-runtime-apply-idempotency.spec.js","sourceRoot":"","sources":["../../src/__tests__/api-runtime-apply-idempotency.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-apply-idempotency.spec.d.ts","sourceRoot":"","sources":["../../src/__tests__/dependency-apply-idempotency.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #1314 — idempotency guard on the TS dependency-apply path.
|
|
3
|
+
*
|
|
4
|
+
* The Rust core re-emits `dependency_available` for every believed-delivered
|
|
5
|
+
* edge on an independent ~10s wall-clock tick (self-heals dropped applies).
|
|
6
|
+
* Without a guard the SDK would call `createProxy` and rewire `resolvedDeps`
|
|
7
|
+
* on every tick — needless churn. The guard records the last-applied
|
|
8
|
+
* resolution signature `(endpoint, functionName, kwargs, agentId)` per depKey
|
|
9
|
+
* and skips the rebuild when an incoming apply carries the same signature.
|
|
10
|
+
*
|
|
11
|
+
* A genuine change (different endpoint / function / kwargs / agentId) must
|
|
12
|
+
* still rebuild, and a removal must clear the signature so a later re-add
|
|
13
|
+
* rebuilds.
|
|
14
|
+
*
|
|
15
|
+
* These drive the REAL private `handleDependencyAvailable` /
|
|
16
|
+
* `handleDependencyUnavailable` against a stub `this` — the methods only touch
|
|
17
|
+
* `this.tools`, `this.resolvedDeps` and `this.appliedDepSignatures` plus the
|
|
18
|
+
* settle singleton, so no napi runtime is needed.
|
|
19
|
+
*/
|
|
20
|
+
import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
|
|
21
|
+
import { MeshAgent } from "../agent.js";
|
|
22
|
+
import { resetSettleStateForTests } from "../settle.js";
|
|
23
|
+
import * as proxyModule from "../proxy.js";
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
25
|
+
const handleAvailable = MeshAgent.prototype.handleDependencyAvailable;
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
27
|
+
const handleUnavailable = MeshAgent.prototype
|
|
28
|
+
.handleDependencyUnavailable;
|
|
29
|
+
/** Minimal stub `this` mirroring the fields the two handlers read/write. */
|
|
30
|
+
function makeStub(kwargs) {
|
|
31
|
+
return {
|
|
32
|
+
tools: new Map([
|
|
33
|
+
[
|
|
34
|
+
"myTool",
|
|
35
|
+
{
|
|
36
|
+
dependencyKwargs: [kwargs],
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
]),
|
|
40
|
+
resolvedDeps: new Map(),
|
|
41
|
+
appliedDepSignatures: new Map(),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
const DEP_KEY = "myTool:dep_0";
|
|
45
|
+
describe("dependency-apply idempotency (#1314)", () => {
|
|
46
|
+
let createProxySpy;
|
|
47
|
+
beforeEach(() => {
|
|
48
|
+
resetSettleStateForTests();
|
|
49
|
+
// Each call returns a fresh, identity-distinct proxy so we can assert both
|
|
50
|
+
// call-count AND that the stored proxy reference did not change.
|
|
51
|
+
createProxySpy = vi
|
|
52
|
+
.spyOn(proxyModule, "createProxy")
|
|
53
|
+
.mockImplementation(() => (() => Promise.resolve("ok")));
|
|
54
|
+
vi.spyOn(console, "log").mockImplementation(() => { });
|
|
55
|
+
});
|
|
56
|
+
afterEach(() => {
|
|
57
|
+
vi.restoreAllMocks();
|
|
58
|
+
});
|
|
59
|
+
it("skips rebuild when the re-emit carries an identical signature", () => {
|
|
60
|
+
const stub = makeStub({ tags: ["a"] });
|
|
61
|
+
handleAvailable.call(stub, "cap", "http://p:8080", "fn", "agent-1", "myTool", 0);
|
|
62
|
+
expect(createProxySpy).toHaveBeenCalledTimes(1);
|
|
63
|
+
const firstProxy = stub.resolvedDeps.get(DEP_KEY);
|
|
64
|
+
expect(firstProxy).toBeDefined();
|
|
65
|
+
// Identical re-emit → no createProxy, proxy identity unchanged.
|
|
66
|
+
handleAvailable.call(stub, "cap", "http://p:8080", "fn", "agent-1", "myTool", 0);
|
|
67
|
+
expect(createProxySpy).toHaveBeenCalledTimes(1);
|
|
68
|
+
expect(stub.resolvedDeps.get(DEP_KEY)).toBe(firstProxy);
|
|
69
|
+
});
|
|
70
|
+
it("treats value-equal-but-distinct kwargs objects as the same signature", () => {
|
|
71
|
+
// Two calls whose kwargs are structurally equal but reference-distinct
|
|
72
|
+
// (as happens when the core re-parses the payload each tick).
|
|
73
|
+
const stubA = makeStub({ tags: ["x"], timeout: 5 });
|
|
74
|
+
handleAvailable.call(stubA, "cap", "http://p:8080", "fn", "agent-1", "myTool", 0);
|
|
75
|
+
// Rewrite the stub's kwargs to a fresh, deep-equal object and re-fire.
|
|
76
|
+
stubA.tools.set("myTool", {
|
|
77
|
+
dependencyKwargs: [{ timeout: 5, tags: ["x"] }],
|
|
78
|
+
});
|
|
79
|
+
handleAvailable.call(stubA, "cap", "http://p:8080", "fn", "agent-1", "myTool", 0);
|
|
80
|
+
expect(createProxySpy).toHaveBeenCalledTimes(1);
|
|
81
|
+
});
|
|
82
|
+
it("rebuilds when the endpoint changes", () => {
|
|
83
|
+
const stub = makeStub({ tags: ["a"] });
|
|
84
|
+
handleAvailable.call(stub, "cap", "http://p:8080", "fn", "agent-1", "myTool", 0);
|
|
85
|
+
const firstProxy = stub.resolvedDeps.get(DEP_KEY);
|
|
86
|
+
handleAvailable.call(stub, "cap", "http://p:9090", "fn", "agent-1", "myTool", 0);
|
|
87
|
+
expect(createProxySpy).toHaveBeenCalledTimes(2);
|
|
88
|
+
expect(stub.resolvedDeps.get(DEP_KEY)).not.toBe(firstProxy);
|
|
89
|
+
});
|
|
90
|
+
it("rebuilds when only the agentId changes (composes with #1315)", () => {
|
|
91
|
+
const stub = makeStub({ tags: ["a"] });
|
|
92
|
+
handleAvailable.call(stub, "cap", "http://p:8080", "fn", "agent-1", "myTool", 0);
|
|
93
|
+
const firstProxy = stub.resolvedDeps.get(DEP_KEY);
|
|
94
|
+
// Same endpoint/function/kwargs, different provider identity → rebuild.
|
|
95
|
+
handleAvailable.call(stub, "cap", "http://p:8080", "fn", "agent-2", "myTool", 0);
|
|
96
|
+
expect(createProxySpy).toHaveBeenCalledTimes(2);
|
|
97
|
+
expect(stub.resolvedDeps.get(DEP_KEY)).not.toBe(firstProxy);
|
|
98
|
+
});
|
|
99
|
+
it("rebuilds after removal even when the same signature returns", () => {
|
|
100
|
+
const stub = makeStub({ tags: ["a"] });
|
|
101
|
+
handleAvailable.call(stub, "cap", "http://p:8080", "fn", "agent-1", "myTool", 0);
|
|
102
|
+
const firstProxy = stub.resolvedDeps.get(DEP_KEY);
|
|
103
|
+
expect(createProxySpy).toHaveBeenCalledTimes(1);
|
|
104
|
+
// Removal clears both the proxy and the stored signature.
|
|
105
|
+
handleUnavailable.call(stub, "cap", "myTool", 0);
|
|
106
|
+
expect(stub.resolvedDeps.has(DEP_KEY)).toBe(false);
|
|
107
|
+
expect(stub.appliedDepSignatures.has(DEP_KEY)).toBe(false);
|
|
108
|
+
// Same signature re-add must rebuild (the guard was cleared on removal).
|
|
109
|
+
handleAvailable.call(stub, "cap", "http://p:8080", "fn", "agent-1", "myTool", 0);
|
|
110
|
+
expect(createProxySpy).toHaveBeenCalledTimes(2);
|
|
111
|
+
expect(stub.resolvedDeps.get(DEP_KEY)).not.toBe(firstProxy);
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
//# sourceMappingURL=dependency-apply-idempotency.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-apply-idempotency.spec.js","sourceRoot":"","sources":["../../src/__tests__/dependency-apply-idempotency.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,24 +42,10 @@ function _documentedConsumerIdiom() {
|
|
|
42
42
|
},
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
-
// ── Producer sugar idiom, verbatim. ──────────────────────────────────────────
|
|
46
|
-
function _documentedProducerIdiom() {
|
|
47
|
-
const server = {};
|
|
48
|
-
const agent = mesh(server, { name: "producer", httpPort: 0 });
|
|
49
|
-
agent.addService("media", {
|
|
50
|
-
caption: async (args) => ({ caption: args.text }),
|
|
51
|
-
thumbnail: {
|
|
52
|
-
execute: async (args) => ({ url: args.assetId }),
|
|
53
|
-
tags: ["fast"],
|
|
54
|
-
description: "thumbnail",
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
45
|
const _facadeMethodIsCallable = async () => undefined;
|
|
59
46
|
describe("service-view documented idiom compiles under strict", () => {
|
|
60
|
-
it("type-checks the consumer
|
|
47
|
+
it("type-checks the consumer idiom (compile-only)", () => {
|
|
61
48
|
expect(typeof _documentedConsumerIdiom).toBe("function");
|
|
62
|
-
expect(typeof _documentedProducerIdiom).toBe("function");
|
|
63
49
|
expect(typeof _facadeMethodIsCallable).toBe("function");
|
|
64
50
|
});
|
|
65
51
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-view-types.spec.js","sourceRoot":"","sources":["../../src/__tests__/service-view-types.spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAA4C,MAAM,aAAa,CAAC;AAE7E,+EAA+E;AAC/E,gFAAgF;AAChF,SAAS,wBAAwB;IAC/B,MAAM,MAAM,GAAG,EAA0C,CAAC;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,OAAO,EAAE;YACP,OAAO,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;YACzE,SAAS,EAAE,iBAAiB;SAC7B;QACD,YAAY,EAAE,CAAC;KAChB,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO,CAAC;QACZ,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,YAAY,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC;QAClC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;YACvC,MAAM,GAAG,GAAG,KAAwC,CAAC;YACrD,mEAAmE;YACnE,+DAA+D;YAC/D,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC;YACtB,mEAAmE;YACnE,MAAM,KAAK,GAAG,QAA8B,CAAC;YAC7C,IAAI,KAAK;gBAAE,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YAC/C,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC,CAAC;AACL,CAAC;
|
|
1
|
+
{"version":3,"file":"service-view-types.spec.js","sourceRoot":"","sources":["../../src/__tests__/service-view-types.spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAA4C,MAAM,aAAa,CAAC;AAE7E,+EAA+E;AAC/E,gFAAgF;AAChF,SAAS,wBAAwB;IAC/B,MAAM,MAAM,GAAG,EAA0C,CAAC;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,OAAO,EAAE;YACP,OAAO,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;YACzE,SAAS,EAAE,iBAAiB;SAC7B;QACD,YAAY,EAAE,CAAC;KAChB,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO,CAAC;QACZ,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,YAAY,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC;QAClC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;YACvC,MAAM,GAAG,GAAG,KAAwC,CAAC;YACrD,mEAAmE;YACnE,+DAA+D;YAC/D,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC;YACtB,mEAAmE;YACnE,MAAM,KAAK,GAAG,QAA8B,CAAC;YAC7C,IAAI,KAAK;gBAAE,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YAC/C,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,uBAAuB,GAA4B,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;AAE/E,QAAQ,CAAC,qDAAqD,EAAE,GAAG,EAAE;IACnE,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -10,14 +10,15 @@
|
|
|
10
10
|
* rebinds independently. The flat edge array is what ships / settles /
|
|
11
11
|
* resolves — zero wire change; a view-free tool is byte-identical.
|
|
12
12
|
*
|
|
13
|
-
* - PRODUCER SUGAR
|
|
14
|
-
*
|
|
13
|
+
* - PRODUCER SUGAR (`agent.addService`) was REMOVED in v3.1.0 (issue #1320);
|
|
14
|
+
* the method survives only as a throwing stub asserted below.
|
|
15
15
|
*
|
|
16
16
|
* Covers: expansion order (explicit + view + explicit; multi-view; name-sort),
|
|
17
17
|
* settle keys per edge, payload carries N edges with required flags, facade
|
|
18
18
|
* delegation + rebinding, required refusal (direct + job flavors), the
|
|
19
19
|
* minAvailable floor (below/at, settle-aware wait), unresolved optional method
|
|
20
|
-
* error, all validation throws,
|
|
20
|
+
* error, all validation throws, the addService removal stub, and
|
|
21
|
+
* serviceView-in-route.
|
|
21
22
|
*/
|
|
22
23
|
import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
|
|
23
24
|
import { z } from "zod";
|
|
@@ -797,106 +798,18 @@ describe("view method schema matching (#547 parity)", () => {
|
|
|
797
798
|
expect(r.hash).toBeTruthy();
|
|
798
799
|
});
|
|
799
800
|
});
|
|
800
|
-
describe("addService producer sugar", () => {
|
|
801
|
-
it("
|
|
801
|
+
describe("addService producer sugar removed (#1320)", () => {
|
|
802
|
+
it("throws a fast-fail, actionable error pointing to addTool", () => {
|
|
802
803
|
const fastmcp = makeFastMCPStub();
|
|
803
804
|
const agent = newAgent(fastmcp);
|
|
804
|
-
agent.addService("media", {
|
|
805
|
-
// Out of order to prove name-sorting.
|
|
806
|
-
thumbnail: async () => ({ url: "u" }),
|
|
807
|
-
caption: async (args) => ({ caption: args.text }),
|
|
808
|
-
});
|
|
809
|
-
// Registered in NAME-SORTED order: caption, then thumbnail.
|
|
810
|
-
const names = fastmcp.addTool.mock.calls.map(
|
|
811
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
812
|
-
(c) => c[0].name);
|
|
813
|
-
expect(names).toEqual(["media.caption", "media.thumbnail"]);
|
|
814
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
815
|
-
expect(agent.tools.get("media.caption").capability).toBe("media.caption");
|
|
816
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
817
|
-
expect(agent.tools.get("media.thumbnail").capability).toBe("media.thumbnail");
|
|
818
|
-
});
|
|
819
|
-
it("object form carries addTool passthrough (tags/version/description)", () => {
|
|
820
|
-
const fastmcp = makeFastMCPStub();
|
|
821
|
-
const agent = newAgent(fastmcp);
|
|
822
|
-
agent.addService("svc", {
|
|
823
|
-
m: {
|
|
824
|
-
execute: async () => "ok",
|
|
825
|
-
tags: ["fast"],
|
|
826
|
-
version: "2.1.0",
|
|
827
|
-
description: "does m",
|
|
828
|
-
parameters: z.object({ x: z.number() }),
|
|
829
|
-
},
|
|
830
|
-
});
|
|
831
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
832
|
-
const meta = agent.tools.get("svc.m");
|
|
833
|
-
expect(meta.tags).toEqual(["fast"]);
|
|
834
|
-
expect(meta.version).toBe("2.1.0");
|
|
835
|
-
expect(meta.description).toBe("does m");
|
|
836
|
-
});
|
|
837
|
-
it("function shorthand works and runs through the wrapped execute", async () => {
|
|
838
|
-
const fastmcp = makeFastMCPStub();
|
|
839
|
-
const agent = newAgent(fastmcp);
|
|
840
|
-
agent.addService("svc", {
|
|
841
|
-
echo: async (args) => ({ echoed: args.v }),
|
|
842
|
-
});
|
|
843
|
-
const execute = captureExecute(fastmcp);
|
|
844
|
-
expect(await execute({ v: "hi" })).toBe(JSON.stringify({ echoed: "hi" }));
|
|
845
|
-
});
|
|
846
|
-
it("rejects an invalid prefix", () => {
|
|
847
|
-
const fastmcp = makeFastMCPStub();
|
|
848
|
-
const agent = newAgent(fastmcp);
|
|
849
|
-
expect(() => agent.addService("1bad", { m: async () => "x" })).toThrow(/not a valid capability name/);
|
|
850
|
-
expect(() => agent.addService("", { m: async () => "x" })).toThrow(/non-empty capability prefix/);
|
|
851
|
-
});
|
|
852
|
-
it("rejects a method whose derived capability is invalid", () => {
|
|
853
|
-
const fastmcp = makeFastMCPStub();
|
|
854
|
-
const agent = newAgent(fastmcp);
|
|
855
|
-
expect(() => agent.addService("svc", { "bad name": async () => "x" })).toThrow(/is not a valid capability name/);
|
|
856
|
-
});
|
|
857
|
-
it("rejects a serviceView passed as a producer method", () => {
|
|
858
|
-
const fastmcp = makeFastMCPStub();
|
|
859
|
-
const agent = newAgent(fastmcp);
|
|
860
|
-
const View = serviceView({ methods: { a: "svc.a" } });
|
|
861
805
|
expect(() =>
|
|
862
806
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
863
|
-
agent.addService("
|
|
864
|
-
});
|
|
865
|
-
it("rejects a method that is neither a function nor an execute object", () => {
|
|
866
|
-
const fastmcp = makeFastMCPStub();
|
|
867
|
-
const agent = newAgent(fastmcp);
|
|
807
|
+
agent.addService("media", { caption: async () => "c" })).toThrow(/removed in v3\.1\.0/);
|
|
868
808
|
expect(() =>
|
|
869
809
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
870
|
-
agent.addService("
|
|
871
|
-
|
|
872
|
-
it("accepts dotted prefixes (segment-wise grammar)", () => {
|
|
873
|
-
const fastmcp = makeFastMCPStub();
|
|
874
|
-
const agent = newAgent(fastmcp);
|
|
875
|
-
agent.addService("acme.media", { caption: async () => "c" });
|
|
876
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
877
|
-
expect(agent.tools.get("acme.media.caption").capability).toBe("acme.media.caption");
|
|
878
|
-
});
|
|
879
|
-
it("is atomic: an invalid method mid-map registers NOTHING (item 7)", () => {
|
|
880
|
-
const fastmcp = makeFastMCPStub();
|
|
881
|
-
const agent = newAgent(fastmcp);
|
|
882
|
-
expect(() => agent.addService("svc", {
|
|
883
|
-
good: async () => "ok",
|
|
884
|
-
"bad name": async () => "x", // invalid derived capability
|
|
885
|
-
})).toThrow(/is not a valid capability name/);
|
|
886
|
-
// 'svc.good' must NOT have been registered — validation runs before any addTool.
|
|
810
|
+
agent.addService("media", { caption: async () => "c" })).toThrow(/addTool/);
|
|
811
|
+
// Nothing gets registered — the stub throws before any addTool call.
|
|
887
812
|
expect(fastmcp.addTool).not.toHaveBeenCalled();
|
|
888
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
889
|
-
expect(agent.tools.has("svc.good")).toBe(false);
|
|
890
|
-
});
|
|
891
|
-
it("throws when a derived capability collides with an existing tool (item 9)", () => {
|
|
892
|
-
const fastmcp = makeFastMCPStub();
|
|
893
|
-
const agent = newAgent(fastmcp);
|
|
894
|
-
agent.addTool({
|
|
895
|
-
name: "svc.caption",
|
|
896
|
-
parameters: z.object({}),
|
|
897
|
-
execute: async () => "existing",
|
|
898
|
-
});
|
|
899
|
-
expect(() => agent.addService("svc", { caption: async () => "new" })).toThrow(/already registered/);
|
|
900
813
|
});
|
|
901
814
|
});
|
|
902
815
|
//# sourceMappingURL=service-view.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-view.spec.js","sourceRoot":"","sources":["../../src/__tests__/service-view.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service-view.spec.js","sourceRoot":"","sources":["../../src/__tests__/service-view.spec.ts"],"names":[],"mappings":"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"}
|