@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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=api-runtime-apply-idempotency.spec.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dependency-apply-idempotency.spec.d.ts.map
@@ -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 + producer idioms (compile-only)", () => {
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;AAED,gFAAgF;AAChF,SAAS,wBAAwB;IAC/B,MAAM,MAAM,GAAG,EAA0C,CAAC;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAE9D,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE;QACxB,OAAO,EAAE,KAAK,EAAE,IAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACnE,SAAS,EAAE;YACT,OAAO,EAAE,KAAK,EAAE,IAAyB,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;YACrE,IAAI,EAAE,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,WAAW;SACzB;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,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,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"}
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: `agent.addService("prefix", { ... })` publishes each entry
14
- * (name-sorted) as an ordinary tool with capability `prefix.<method>`.
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, producer addService, and serviceView-in-route.
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("publishes N tools name-sorted with capability prefix.method", () => {
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("svc", { a: View })).toThrow(/is a mesh.serviceView/);
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("svc", { a: { tags: ["x"] } })).toThrow(/must be an execute function/);
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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"}