@mcpmesh/sdk 2.4.0 → 2.5.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__/agent-single-instance.spec.d.ts +2 -0
- package/dist/__tests__/agent-single-instance.spec.d.ts.map +1 -0
- package/dist/__tests__/agent-single-instance.spec.js +80 -0
- package/dist/__tests__/agent-single-instance.spec.js.map +1 -0
- package/dist/__tests__/event-loop-resilience.spec.d.ts +2 -0
- package/dist/__tests__/event-loop-resilience.spec.d.ts.map +1 -0
- package/dist/__tests__/event-loop-resilience.spec.js +321 -0
- package/dist/__tests__/event-loop-resilience.spec.js.map +1 -0
- package/dist/__tests__/llm-max-iterations.test.js +10 -8
- package/dist/__tests__/llm-max-iterations.test.js.map +1 -1
- package/dist/__tests__/llm-provider-multistep.test.d.ts +20 -0
- package/dist/__tests__/llm-provider-multistep.test.d.ts.map +1 -0
- package/dist/__tests__/llm-provider-multistep.test.js +138 -0
- package/dist/__tests__/llm-provider-multistep.test.js.map +1 -0
- package/dist/__tests__/llm-provider-output-mode.test.js +1 -0
- package/dist/__tests__/llm-provider-output-mode.test.js.map +1 -1
- package/dist/__tests__/llm-provider-stopwhen.test.d.ts +22 -0
- package/dist/__tests__/llm-provider-stopwhen.test.d.ts.map +1 -0
- package/dist/__tests__/llm-provider-stopwhen.test.js +127 -0
- package/dist/__tests__/llm-provider-stopwhen.test.js.map +1 -0
- package/dist/__tests__/llm-provider-system-synthesis.test.js +1 -0
- package/dist/__tests__/llm-provider-system-synthesis.test.js.map +1 -1
- package/dist/__tests__/llm-provider-vertex-settings.test.d.ts +18 -0
- package/dist/__tests__/llm-provider-vertex-settings.test.d.ts.map +1 -0
- package/dist/__tests__/llm-provider-vertex-settings.test.js +128 -0
- package/dist/__tests__/llm-provider-vertex-settings.test.js.map +1 -0
- package/dist/__tests__/port-conflict-fallback.spec.d.ts +2 -0
- package/dist/__tests__/port-conflict-fallback.spec.d.ts.map +1 -0
- package/dist/__tests__/port-conflict-fallback.spec.js +123 -0
- package/dist/__tests__/port-conflict-fallback.spec.js.map +1 -0
- package/dist/__tests__/port-probe-errors.spec.d.ts +2 -0
- package/dist/__tests__/port-probe-errors.spec.d.ts.map +1 -0
- package/dist/__tests__/port-probe-errors.spec.js +100 -0
- package/dist/__tests__/port-probe-errors.spec.js.map +1 -0
- package/dist/__tests__/provider-handler-registry.test.d.ts +0 -1
- package/dist/__tests__/provider-handler-registry.test.d.ts.map +1 -1
- package/dist/__tests__/provider-handler-registry.test.js +23 -1
- package/dist/__tests__/provider-handler-registry.test.js.map +1 -1
- package/dist/__tests__/proxy-sse-no-data.test.d.ts +13 -0
- package/dist/__tests__/proxy-sse-no-data.test.d.ts.map +1 -0
- package/dist/__tests__/proxy-sse-no-data.test.js +147 -0
- package/dist/__tests__/proxy-sse-no-data.test.js.map +1 -0
- package/dist/__tests__/proxy-stream.test.js +26 -0
- package/dist/__tests__/proxy-stream.test.js.map +1 -1
- package/dist/__tests__/proxy-timer-leak.test.d.ts +16 -0
- package/dist/__tests__/proxy-timer-leak.test.d.ts.map +1 -0
- package/dist/__tests__/proxy-timer-leak.test.js +97 -0
- package/dist/__tests__/proxy-timer-leak.test.js.map +1 -0
- package/dist/__tests__/proxy-tool-error.test.d.ts +13 -0
- package/dist/__tests__/proxy-tool-error.test.d.ts.map +1 -0
- package/dist/__tests__/proxy-tool-error.test.js +313 -0
- package/dist/__tests__/proxy-tool-error.test.js.map +1 -0
- package/dist/__tests__/route.test.js +21 -1
- package/dist/__tests__/route.test.js.map +1 -1
- package/dist/__tests__/settle-window.spec.d.ts +2 -0
- package/dist/__tests__/settle-window.spec.d.ts.map +1 -0
- package/dist/__tests__/settle-window.spec.js +324 -0
- package/dist/__tests__/settle-window.spec.js.map +1 -0
- package/dist/__tests__/sse.test.js +12 -0
- package/dist/__tests__/sse.test.js.map +1 -1
- package/dist/__tests__/stop-dispatchers.spec.d.ts +2 -0
- package/dist/__tests__/stop-dispatchers.spec.d.ts.map +1 -0
- package/dist/__tests__/stop-dispatchers.spec.js +227 -0
- package/dist/__tests__/stop-dispatchers.spec.js.map +1 -0
- package/dist/agent.d.ts +65 -5
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +313 -78
- package/dist/agent.js.map +1 -1
- package/dist/api-runtime.d.ts +33 -3
- package/dist/api-runtime.d.ts.map +1 -1
- package/dist/api-runtime.js +125 -32
- package/dist/api-runtime.js.map +1 -1
- package/dist/claim-dispatcher.d.ts +25 -0
- package/dist/claim-dispatcher.d.ts.map +1 -1
- package/dist/claim-dispatcher.js +59 -1
- package/dist/claim-dispatcher.js.map +1 -1
- package/dist/config.d.ts +73 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +108 -2
- package/dist/config.js.map +1 -1
- package/dist/debug.d.ts +1 -1
- package/dist/debug.d.ts.map +1 -1
- package/dist/express.d.ts +33 -0
- package/dist/express.d.ts.map +1 -1
- package/dist/express.js +149 -31
- package/dist/express.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 +18 -0
- package/dist/llm-provider.d.ts.map +1 -1
- package/dist/llm-provider.js +86 -34
- package/dist/llm-provider.js.map +1 -1
- package/dist/provider-handlers/gemini-handler.js +6 -0
- package/dist/provider-handlers/gemini-handler.js.map +1 -1
- package/dist/provider-handlers/provider-handler-registry.d.ts +10 -1
- package/dist/provider-handlers/provider-handler-registry.d.ts.map +1 -1
- package/dist/provider-handlers/provider-handler-registry.js +4 -1
- package/dist/provider-handlers/provider-handler-registry.js.map +1 -1
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +178 -40
- package/dist/proxy.js.map +1 -1
- package/dist/route.d.ts.map +1 -1
- package/dist/route.js +38 -0
- package/dist/route.js.map +1 -1
- package/dist/settle.d.ts +129 -0
- package/dist/settle.d.ts.map +1 -0
- package/dist/settle.js +284 -0
- package/dist/settle.js.map +1 -0
- package/dist/sse.d.ts.map +1 -1
- package/dist/sse.js +5 -2
- package/dist/sse.js.map +1 -1
- package/dist/tracing.d.ts +1 -0
- package/dist/tracing.d.ts.map +1 -1
- package/dist/tracing.js +3 -0
- package/dist/tracing.js.map +1 -1
- package/package.json +2 -2
package/dist/settle.d.ts
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Settling-window dependency grace (issue #1193).
|
|
3
|
+
*
|
|
4
|
+
* Dependency injection resolves asynchronously: declared dependencies become
|
|
5
|
+
* available when the first full heartbeat cycle completes and
|
|
6
|
+
* `dependency_available` events land. A call that fires during that settling
|
|
7
|
+
* window would otherwise see a declared-but-unresolved dependency as `null`
|
|
8
|
+
* even though resolution typically lands moments later.
|
|
9
|
+
*
|
|
10
|
+
* Process-wide settle state:
|
|
11
|
+
*
|
|
12
|
+
* - The settle window is ANCHORED at the first dependency declaration (the
|
|
13
|
+
* first `registerDeclared()` call during startup wiring) — not at module
|
|
14
|
+
* import — so slow imports or pre-registration work never eat into the
|
|
15
|
+
* grace budget. The agent is **unsettled** from that anchor until EITHER
|
|
16
|
+
* every declared dependency has resolved at least once OR the settle
|
|
17
|
+
* window (`MCP_MESH_SETTLE_TIMEOUT` seconds, default 20) expires.
|
|
18
|
+
* - While unsettled, invocation paths await — bounded by the REMAINING settle
|
|
19
|
+
* budget — a per-dependency promise that the existing
|
|
20
|
+
* `handleDependencyAvailable` handling resolves the moment the dependency
|
|
21
|
+
* lands. Resolution at 800ms unblocks at 800ms; the budget is a ceiling
|
|
22
|
+
* only, never a sleep.
|
|
23
|
+
* - Once settled — either way — the latch is permanent: calls never touch the
|
|
24
|
+
* wait primitives again and fail-fast behavior is byte-identical to the
|
|
25
|
+
* pre-grace behavior (unresolved deps inject `null` exactly as before).
|
|
26
|
+
*
|
|
27
|
+
* Scope (deliberate): the grace covers the dependency-injection invocation
|
|
28
|
+
* paths only — the MCP tool execute wrapper, the claim-dispatch handler, and
|
|
29
|
+
* the `mesh.route` middleware. Module-scope captured deps and `mesh.llm`
|
|
30
|
+
* provider/filter assembly (registration-time, with its own update mechanism)
|
|
31
|
+
* are NOT covered.
|
|
32
|
+
*
|
|
33
|
+
* This is environmental, not a declaration mistake: strict-DI style
|
|
34
|
+
* diagnostics never interact with the settle window in any way.
|
|
35
|
+
*/
|
|
36
|
+
export declare const SETTLE_TIMEOUT_DEFAULT_SECONDS = 20;
|
|
37
|
+
/**
|
|
38
|
+
* Settle window in seconds. `0` disables the grace entirely.
|
|
39
|
+
*
|
|
40
|
+
* Configurable via `MCP_MESH_SETTLE_TIMEOUT` (float seconds, default 20).
|
|
41
|
+
* Read once per process and cached. Negative or unparseable values fall
|
|
42
|
+
* back to the default with a warning.
|
|
43
|
+
*/
|
|
44
|
+
export declare function getSettleTimeoutSeconds(): number;
|
|
45
|
+
/** A declared-but-unresolved dependency an invocation is about to inject. */
|
|
46
|
+
export interface PendingSettleDep {
|
|
47
|
+
depKey: string;
|
|
48
|
+
capability: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Process-wide settle latch + per-dependency resolution promises.
|
|
52
|
+
*
|
|
53
|
+
* Dependencies are tracked at the AGENT level as the union of declared
|
|
54
|
+
* dependency keys across all tools/routes (the same composite
|
|
55
|
+
* `"<owner>:dep_<N>"` keys the resolution paths already use). The latch
|
|
56
|
+
* flips eagerly when the last declared key resolves, or lazily when
|
|
57
|
+
* `isSettled()` observes window expiry.
|
|
58
|
+
*/
|
|
59
|
+
export declare class SettleState {
|
|
60
|
+
/**
|
|
61
|
+
* Window anchor — set by the FIRST registerDeclared() call. Monotonic
|
|
62
|
+
* (`performance.now()`) so wall-clock jumps (NTP steps, manual clock
|
|
63
|
+
* changes) never stretch or collapse the settle window; matches
|
|
64
|
+
* `time.monotonic()` in Python and `System.nanoTime()` in Java.
|
|
65
|
+
*/
|
|
66
|
+
private startMs;
|
|
67
|
+
private readonly declared;
|
|
68
|
+
private readonly resolved;
|
|
69
|
+
private readonly waiters;
|
|
70
|
+
/** Capabilities whose first wait was already logged (INFO once). */
|
|
71
|
+
private readonly loggedWaits;
|
|
72
|
+
private settled;
|
|
73
|
+
/**
|
|
74
|
+
* Diagnostic counter: number of actual bounded waits performed. Used by
|
|
75
|
+
* tests to prove the settled steady-state path never touches the wait
|
|
76
|
+
* primitives.
|
|
77
|
+
*/
|
|
78
|
+
waitCount: number;
|
|
79
|
+
/**
|
|
80
|
+
* Record a declared dependency key (registration time).
|
|
81
|
+
*
|
|
82
|
+
* The FIRST declaration anchors the settle window — the window measures
|
|
83
|
+
* topology convergence from the moment the agent starts declaring
|
|
84
|
+
* dependencies, not from module import.
|
|
85
|
+
*/
|
|
86
|
+
registerDeclared(depKey: string): void;
|
|
87
|
+
/**
|
|
88
|
+
* Record a resolution and wake any waiter on this key.
|
|
89
|
+
*
|
|
90
|
+
* "Resolved at least once" semantics: a later unavailability does NOT
|
|
91
|
+
* un-resolve the key — the settle window only measures initial topology
|
|
92
|
+
* convergence.
|
|
93
|
+
*/
|
|
94
|
+
markResolved(depKey: string): void;
|
|
95
|
+
/**
|
|
96
|
+
* Migrate a declared/resolved/waiting key to a new name. Needed by the
|
|
97
|
+
* Express route registry whose placeholder route IDs are remapped to
|
|
98
|
+
* `METHOD:path` after introspection.
|
|
99
|
+
*
|
|
100
|
+
* A pending waiter on the old key is never dropped unresolved: when the
|
|
101
|
+
* new key already resolved it is released immediately; on a key
|
|
102
|
+
* collision (the new key already has its own waiter) the displaced
|
|
103
|
+
* waiter is chained to the survivor so both resolve together.
|
|
104
|
+
*/
|
|
105
|
+
renameDeclared(oldKey: string, newKey: string): void;
|
|
106
|
+
/** Permanent latch check; flips on window expiry or timeout=0. */
|
|
107
|
+
isSettled(): boolean;
|
|
108
|
+
/** Remaining settle budget in milliseconds (>= 0). */
|
|
109
|
+
remainingMs(): number;
|
|
110
|
+
isResolved(depKey: string): boolean;
|
|
111
|
+
private waiterFor;
|
|
112
|
+
/**
|
|
113
|
+
* Wait until `depKey` resolves or the remaining settle budget elapses.
|
|
114
|
+
* Event-driven: the dependency's resolution promise is raced against a
|
|
115
|
+
* timer bounded by the remaining window — never a fixed sleep.
|
|
116
|
+
*/
|
|
117
|
+
waitFor(depKey: string, capability: string): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Await every pending dependency in turn. The per-wait budget is the
|
|
120
|
+
* REMAINING window, so the total wait is bounded by the settle window
|
|
121
|
+
* regardless of how many deps are pending.
|
|
122
|
+
*/
|
|
123
|
+
awaitPending(pending: PendingSettleDep[]): Promise<void>;
|
|
124
|
+
}
|
|
125
|
+
/** Get the process-wide settle state. */
|
|
126
|
+
export declare function getSettleState(): SettleState;
|
|
127
|
+
/** Replace the settle state and drop the cached timeout (test support). */
|
|
128
|
+
export declare function resetSettleStateForTests(): void;
|
|
129
|
+
//# sourceMappingURL=settle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settle.d.ts","sourceRoot":"","sources":["../src/settle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAIH,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAQjD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAmBhD;AAOD,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,qBAAa,WAAW;IACtB;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,OAAO,CAAS;IACxB;;;;OAIG;IACH,SAAS,SAAK;IAEd;;;;;;OAMG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOtC;;;;;;OAMG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAqBlC;;;;;;;;;OASG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IA0BpD,kEAAkE;IAClE,SAAS,IAAI,OAAO;IAsBpB,sDAAsD;IACtD,WAAW,IAAI,MAAM;IAUrB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAInC,OAAO,CAAC,SAAS;IAajB;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqChE;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAK/D;AAID,yCAAyC;AACzC,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED,2EAA2E;AAC3E,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C"}
|
package/dist/settle.js
ADDED
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Settling-window dependency grace (issue #1193).
|
|
3
|
+
*
|
|
4
|
+
* Dependency injection resolves asynchronously: declared dependencies become
|
|
5
|
+
* available when the first full heartbeat cycle completes and
|
|
6
|
+
* `dependency_available` events land. A call that fires during that settling
|
|
7
|
+
* window would otherwise see a declared-but-unresolved dependency as `null`
|
|
8
|
+
* even though resolution typically lands moments later.
|
|
9
|
+
*
|
|
10
|
+
* Process-wide settle state:
|
|
11
|
+
*
|
|
12
|
+
* - The settle window is ANCHORED at the first dependency declaration (the
|
|
13
|
+
* first `registerDeclared()` call during startup wiring) — not at module
|
|
14
|
+
* import — so slow imports or pre-registration work never eat into the
|
|
15
|
+
* grace budget. The agent is **unsettled** from that anchor until EITHER
|
|
16
|
+
* every declared dependency has resolved at least once OR the settle
|
|
17
|
+
* window (`MCP_MESH_SETTLE_TIMEOUT` seconds, default 20) expires.
|
|
18
|
+
* - While unsettled, invocation paths await — bounded by the REMAINING settle
|
|
19
|
+
* budget — a per-dependency promise that the existing
|
|
20
|
+
* `handleDependencyAvailable` handling resolves the moment the dependency
|
|
21
|
+
* lands. Resolution at 800ms unblocks at 800ms; the budget is a ceiling
|
|
22
|
+
* only, never a sleep.
|
|
23
|
+
* - Once settled — either way — the latch is permanent: calls never touch the
|
|
24
|
+
* wait primitives again and fail-fast behavior is byte-identical to the
|
|
25
|
+
* pre-grace behavior (unresolved deps inject `null` exactly as before).
|
|
26
|
+
*
|
|
27
|
+
* Scope (deliberate): the grace covers the dependency-injection invocation
|
|
28
|
+
* paths only — the MCP tool execute wrapper, the claim-dispatch handler, and
|
|
29
|
+
* the `mesh.route` middleware. Module-scope captured deps and `mesh.llm`
|
|
30
|
+
* provider/filter assembly (registration-time, with its own update mechanism)
|
|
31
|
+
* are NOT covered.
|
|
32
|
+
*
|
|
33
|
+
* This is environmental, not a declaration mistake: strict-DI style
|
|
34
|
+
* diagnostics never interact with the settle window in any way.
|
|
35
|
+
*/
|
|
36
|
+
import { performance } from "node:perf_hooks";
|
|
37
|
+
export const SETTLE_TIMEOUT_DEFAULT_SECONDS = 20;
|
|
38
|
+
/**
|
|
39
|
+
* Cached per-process resolution of MCP_MESH_SETTLE_TIMEOUT — the settle
|
|
40
|
+
* window is a process-level posture, not a per-call toggle.
|
|
41
|
+
*/
|
|
42
|
+
let cachedTimeoutSecs = null;
|
|
43
|
+
/**
|
|
44
|
+
* Settle window in seconds. `0` disables the grace entirely.
|
|
45
|
+
*
|
|
46
|
+
* Configurable via `MCP_MESH_SETTLE_TIMEOUT` (float seconds, default 20).
|
|
47
|
+
* Read once per process and cached. Negative or unparseable values fall
|
|
48
|
+
* back to the default with a warning.
|
|
49
|
+
*/
|
|
50
|
+
export function getSettleTimeoutSeconds() {
|
|
51
|
+
if (cachedTimeoutSecs === null) {
|
|
52
|
+
const raw = process.env.MCP_MESH_SETTLE_TIMEOUT;
|
|
53
|
+
if (raw === undefined || raw.trim() === "") {
|
|
54
|
+
cachedTimeoutSecs = SETTLE_TIMEOUT_DEFAULT_SECONDS;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
const parsed = Number.parseFloat(raw);
|
|
58
|
+
if (!Number.isFinite(parsed) || parsed < 0) {
|
|
59
|
+
console.warn(`MCP_MESH_SETTLE_TIMEOUT must be >= 0 (got '${raw}'); ` +
|
|
60
|
+
`using default ${SETTLE_TIMEOUT_DEFAULT_SECONDS}s`);
|
|
61
|
+
cachedTimeoutSecs = SETTLE_TIMEOUT_DEFAULT_SECONDS;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
cachedTimeoutSecs = parsed;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return cachedTimeoutSecs;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Process-wide settle latch + per-dependency resolution promises.
|
|
72
|
+
*
|
|
73
|
+
* Dependencies are tracked at the AGENT level as the union of declared
|
|
74
|
+
* dependency keys across all tools/routes (the same composite
|
|
75
|
+
* `"<owner>:dep_<N>"` keys the resolution paths already use). The latch
|
|
76
|
+
* flips eagerly when the last declared key resolves, or lazily when
|
|
77
|
+
* `isSettled()` observes window expiry.
|
|
78
|
+
*/
|
|
79
|
+
export class SettleState {
|
|
80
|
+
/**
|
|
81
|
+
* Window anchor — set by the FIRST registerDeclared() call. Monotonic
|
|
82
|
+
* (`performance.now()`) so wall-clock jumps (NTP steps, manual clock
|
|
83
|
+
* changes) never stretch or collapse the settle window; matches
|
|
84
|
+
* `time.monotonic()` in Python and `System.nanoTime()` in Java.
|
|
85
|
+
*/
|
|
86
|
+
startMs = null;
|
|
87
|
+
declared = new Set();
|
|
88
|
+
resolved = new Set();
|
|
89
|
+
waiters = new Map();
|
|
90
|
+
/** Capabilities whose first wait was already logged (INFO once). */
|
|
91
|
+
loggedWaits = new Set();
|
|
92
|
+
settled = false;
|
|
93
|
+
/**
|
|
94
|
+
* Diagnostic counter: number of actual bounded waits performed. Used by
|
|
95
|
+
* tests to prove the settled steady-state path never touches the wait
|
|
96
|
+
* primitives.
|
|
97
|
+
*/
|
|
98
|
+
waitCount = 0;
|
|
99
|
+
/**
|
|
100
|
+
* Record a declared dependency key (registration time).
|
|
101
|
+
*
|
|
102
|
+
* The FIRST declaration anchors the settle window — the window measures
|
|
103
|
+
* topology convergence from the moment the agent starts declaring
|
|
104
|
+
* dependencies, not from module import.
|
|
105
|
+
*/
|
|
106
|
+
registerDeclared(depKey) {
|
|
107
|
+
if (this.startMs === null) {
|
|
108
|
+
this.startMs = performance.now();
|
|
109
|
+
}
|
|
110
|
+
this.declared.add(depKey);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Record a resolution and wake any waiter on this key.
|
|
114
|
+
*
|
|
115
|
+
* "Resolved at least once" semantics: a later unavailability does NOT
|
|
116
|
+
* un-resolve the key — the settle window only measures initial topology
|
|
117
|
+
* convergence.
|
|
118
|
+
*/
|
|
119
|
+
markResolved(depKey) {
|
|
120
|
+
this.resolved.add(depKey);
|
|
121
|
+
const waiter = this.waiters.get(depKey);
|
|
122
|
+
if (waiter) {
|
|
123
|
+
waiter.resolve();
|
|
124
|
+
}
|
|
125
|
+
if (!this.settled && this.declared.size > 0) {
|
|
126
|
+
let all = true;
|
|
127
|
+
for (const key of this.declared) {
|
|
128
|
+
if (!this.resolved.has(key)) {
|
|
129
|
+
all = false;
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
if (all) {
|
|
134
|
+
// Eager latch: the LAST declared dependency just resolved.
|
|
135
|
+
this.settled = true;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Migrate a declared/resolved/waiting key to a new name. Needed by the
|
|
141
|
+
* Express route registry whose placeholder route IDs are remapped to
|
|
142
|
+
* `METHOD:path` after introspection.
|
|
143
|
+
*
|
|
144
|
+
* A pending waiter on the old key is never dropped unresolved: when the
|
|
145
|
+
* new key already resolved it is released immediately; on a key
|
|
146
|
+
* collision (the new key already has its own waiter) the displaced
|
|
147
|
+
* waiter is chained to the survivor so both resolve together.
|
|
148
|
+
*/
|
|
149
|
+
renameDeclared(oldKey, newKey) {
|
|
150
|
+
if (this.declared.delete(oldKey)) {
|
|
151
|
+
this.declared.add(newKey);
|
|
152
|
+
}
|
|
153
|
+
if (this.resolved.delete(oldKey)) {
|
|
154
|
+
this.resolved.add(newKey);
|
|
155
|
+
}
|
|
156
|
+
const waiter = this.waiters.get(oldKey);
|
|
157
|
+
if (waiter) {
|
|
158
|
+
this.waiters.delete(oldKey);
|
|
159
|
+
if (this.resolved.has(newKey)) {
|
|
160
|
+
// The surviving key already resolved — release the migrated waiter.
|
|
161
|
+
waiter.resolve();
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
const survivor = this.waiters.get(newKey);
|
|
165
|
+
if (survivor) {
|
|
166
|
+
// Chain to the survivor: when the surviving key's resolution
|
|
167
|
+
// lands, the displaced waiter wakes too.
|
|
168
|
+
void survivor.promise.then(() => waiter.resolve());
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
this.waiters.set(newKey, waiter);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/** Permanent latch check; flips on window expiry or timeout=0. */
|
|
177
|
+
isSettled() {
|
|
178
|
+
if (this.settled) {
|
|
179
|
+
return true;
|
|
180
|
+
}
|
|
181
|
+
const timeoutSecs = getSettleTimeoutSeconds();
|
|
182
|
+
if (timeoutSecs <= 0) {
|
|
183
|
+
this.settled = true;
|
|
184
|
+
return true;
|
|
185
|
+
}
|
|
186
|
+
if (this.startMs === null) {
|
|
187
|
+
// Window not yet anchored — no dependency has been declared, so
|
|
188
|
+
// nothing can be pending. Report settled WITHOUT latching: the
|
|
189
|
+
// window must still open when the first declaration lands.
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
if (performance.now() - this.startMs >= timeoutSecs * 1000) {
|
|
193
|
+
this.settled = true;
|
|
194
|
+
return true;
|
|
195
|
+
}
|
|
196
|
+
return false;
|
|
197
|
+
}
|
|
198
|
+
/** Remaining settle budget in milliseconds (>= 0). */
|
|
199
|
+
remainingMs() {
|
|
200
|
+
if (this.startMs === null) {
|
|
201
|
+
return 0;
|
|
202
|
+
}
|
|
203
|
+
return Math.max(0, getSettleTimeoutSeconds() * 1000 - (performance.now() - this.startMs));
|
|
204
|
+
}
|
|
205
|
+
isResolved(depKey) {
|
|
206
|
+
return this.resolved.has(depKey);
|
|
207
|
+
}
|
|
208
|
+
waiterFor(depKey) {
|
|
209
|
+
let waiter = this.waiters.get(depKey);
|
|
210
|
+
if (!waiter) {
|
|
211
|
+
let resolveFn = () => { };
|
|
212
|
+
const promise = new Promise((resolve) => {
|
|
213
|
+
resolveFn = resolve;
|
|
214
|
+
});
|
|
215
|
+
waiter = { promise, resolve: resolveFn };
|
|
216
|
+
this.waiters.set(depKey, waiter);
|
|
217
|
+
}
|
|
218
|
+
return waiter;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Wait until `depKey` resolves or the remaining settle budget elapses.
|
|
222
|
+
* Event-driven: the dependency's resolution promise is raced against a
|
|
223
|
+
* timer bounded by the remaining window — never a fixed sleep.
|
|
224
|
+
*/
|
|
225
|
+
async waitFor(depKey, capability) {
|
|
226
|
+
const remaining = this.remainingMs();
|
|
227
|
+
if (remaining <= 0 || this.resolved.has(depKey)) {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
const waiter = this.waiterFor(depKey);
|
|
231
|
+
const remainingSecs = (remaining / 1000).toFixed(1);
|
|
232
|
+
const message = `waiting up to ${remainingSecs}s for dependency '${capability}' to settle`;
|
|
233
|
+
if (!this.loggedWaits.has(capability)) {
|
|
234
|
+
// One INFO line per capability per process; later waits at DEBUG
|
|
235
|
+
// (matches the Python/Java log cadence).
|
|
236
|
+
this.loggedWaits.add(capability);
|
|
237
|
+
console.log(message);
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
console.debug(message);
|
|
241
|
+
}
|
|
242
|
+
this.waitCount++;
|
|
243
|
+
let timer;
|
|
244
|
+
try {
|
|
245
|
+
await Promise.race([
|
|
246
|
+
waiter.promise,
|
|
247
|
+
new Promise((resolve) => {
|
|
248
|
+
timer = setTimeout(resolve, remaining);
|
|
249
|
+
// Never keep the process alive just for a settle timer.
|
|
250
|
+
timer.unref?.();
|
|
251
|
+
}),
|
|
252
|
+
]);
|
|
253
|
+
}
|
|
254
|
+
finally {
|
|
255
|
+
if (timer !== undefined) {
|
|
256
|
+
clearTimeout(timer);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
// On timeout we simply proceed — the unresolved dep injects null
|
|
260
|
+
// exactly as today; the existing unresolved-dep handling covers the
|
|
261
|
+
// diagnostic (no double-logging here).
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Await every pending dependency in turn. The per-wait budget is the
|
|
265
|
+
* REMAINING window, so the total wait is bounded by the settle window
|
|
266
|
+
* regardless of how many deps are pending.
|
|
267
|
+
*/
|
|
268
|
+
async awaitPending(pending) {
|
|
269
|
+
for (const { depKey, capability } of pending) {
|
|
270
|
+
await this.waitFor(depKey, capability);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
let settleState = new SettleState();
|
|
275
|
+
/** Get the process-wide settle state. */
|
|
276
|
+
export function getSettleState() {
|
|
277
|
+
return settleState;
|
|
278
|
+
}
|
|
279
|
+
/** Replace the settle state and drop the cached timeout (test support). */
|
|
280
|
+
export function resetSettleStateForTests() {
|
|
281
|
+
settleState = new SettleState();
|
|
282
|
+
cachedTimeoutSecs = null;
|
|
283
|
+
}
|
|
284
|
+
//# sourceMappingURL=settle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settle.js","sourceRoot":"","sources":["../src/settle.ts"],"names":[],"mappings":"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"}
|
package/dist/sse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC,CAOrE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC,CAOrE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC,EAAE,CAgBrE"}
|
package/dist/sse.js
CHANGED
|
@@ -59,8 +59,11 @@ export function parseSSEStream(responseText) {
|
|
|
59
59
|
const results = [];
|
|
60
60
|
const lines = responseText.split("\n");
|
|
61
61
|
for (const line of lines) {
|
|
62
|
-
if (line.startsWith("data:
|
|
63
|
-
|
|
62
|
+
if (line.startsWith("data:")) {
|
|
63
|
+
// Per the SSE spec the colon may be followed by zero or one space.
|
|
64
|
+
let jsonData = line.slice(5);
|
|
65
|
+
if (jsonData.startsWith(" "))
|
|
66
|
+
jsonData = jsonData.slice(1);
|
|
64
67
|
if (jsonData.trim()) {
|
|
65
68
|
results.push(JSON.parse(jsonData));
|
|
66
69
|
}
|
package/dist/sse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,gBAAgB,IAAI,oBAAoB,EACxC,wBAAwB,IAAI,4BAA4B,GACzD,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,gBAAgB,CAAc,YAAoB;IAChE,IAAI,4BAA4B,EAAE,CAAC;QACjC,OAAO,4BAA4B,CAAC,YAAY,CAAM,CAAC;IACzD,CAAC;IACD,oEAAoE;IACpE,MAAM,OAAO,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,YAAoB;IAChD,OAAO,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAc,YAAoB;IAC9D,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,gBAAgB,IAAI,oBAAoB,EACxC,wBAAwB,IAAI,4BAA4B,GACzD,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,gBAAgB,CAAc,YAAoB;IAChE,IAAI,4BAA4B,EAAE,CAAC;QACjC,OAAO,4BAA4B,CAAC,YAAY,CAAM,CAAC;IACzD,CAAC;IACD,oEAAoE;IACpE,MAAM,OAAO,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,YAAoB;IAChD,OAAO,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAc,YAAoB;IAC9D,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,mEAAmE;YACnE,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAM,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/tracing.d.ts
CHANGED
package/dist/tracing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA8BH,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAA4B,CAAC;AAEnE;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG5D;AAGD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAGD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAOD;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CA0BhF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG3D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,GACpC,MAAM,CAER;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,EAAE,YAAY,GAAG,IAAI,EAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwBzB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC1C,YAAY,GAAG,IAAI,CAWrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKxB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,EAAE,CAAC;IAGxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"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"}
|
package/dist/tracing.js
CHANGED
|
@@ -217,6 +217,9 @@ export async function publishTraceSpan(span) {
|
|
|
217
217
|
if (span.responseBytes !== undefined) {
|
|
218
218
|
spanMap.response_bytes = String(span.responseBytes);
|
|
219
219
|
}
|
|
220
|
+
if (span.callAttempts !== undefined) {
|
|
221
|
+
spanMap.call_attempts = String(span.callAttempts);
|
|
222
|
+
}
|
|
220
223
|
if (span.llmInputTokens !== undefined) {
|
|
221
224
|
spanMap.llm_input_tokens = String(span.llmInputTokens);
|
|
222
225
|
}
|
package/dist/tracing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcpmesh/sdk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"description": "TypeScript SDK for MCP Mesh — build distributed AI agents with auto-discovery, dependency injection, and LLM integration",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"@ai-sdk/google": "^3.0.0",
|
|
36
36
|
"@ai-sdk/google-vertex": "^3.0.0",
|
|
37
37
|
"@ai-sdk/openai": "^3.0.0",
|
|
38
|
-
"@mcpmesh/core": "2.
|
|
38
|
+
"@mcpmesh/core": "2.5.0",
|
|
39
39
|
"ai": "^6.0.0",
|
|
40
40
|
"fastmcp": "^3.34.0",
|
|
41
41
|
"handlebars": "^4.7.8",
|