@namzu/sdk 48.3.1 → 49.0.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/CHANGELOG.md +35 -0
- package/dist/config/registry.d.ts +2 -0
- package/dist/config/registry.d.ts.map +1 -1
- package/dist/config/registry.js +23 -3
- package/dist/config/registry.js.map +1 -1
- package/dist/connector/mcp/discovery.d.ts +9 -5
- package/dist/connector/mcp/discovery.d.ts.map +1 -1
- package/dist/connector/mcp/discovery.js +16 -8
- package/dist/connector/mcp/discovery.js.map +1 -1
- package/dist/connector/mcp/mcp-toolset.d.ts +3 -0
- package/dist/connector/mcp/mcp-toolset.d.ts.map +1 -1
- package/dist/connector/mcp/mcp-toolset.js +20 -2
- package/dist/connector/mcp/mcp-toolset.js.map +1 -1
- package/dist/connector/mcp/reconnect.d.ts +2 -0
- package/dist/connector/mcp/reconnect.d.ts.map +1 -1
- package/dist/connector/mcp/reconnect.js +36 -5
- package/dist/connector/mcp/reconnect.js.map +1 -1
- package/dist/plugin/lifecycle.d.ts +14 -10
- package/dist/plugin/lifecycle.d.ts.map +1 -1
- package/dist/plugin/lifecycle.js +178 -41
- package/dist/plugin/lifecycle.js.map +1 -1
- package/dist/prompt/resident-learning.js +2 -2
- package/dist/prompt/resident-learning.js.map +1 -1
- package/dist/prompt/resident-step.d.ts +2 -2
- package/dist/prompt/resident-step.js +4 -4
- package/dist/prompt/resident-step.js.map +1 -1
- package/dist/public-runtime.d.ts +2 -2
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +2 -2
- package/dist/public-runtime.js.map +1 -1
- package/dist/registry/tool/screen.d.ts.map +1 -1
- package/dist/registry/tool/screen.js +33 -2
- package/dist/registry/tool/screen.js.map +1 -1
- package/dist/runtime/jobs/registry.d.ts.map +1 -1
- package/dist/runtime/jobs/registry.js +26 -5
- package/dist/runtime/jobs/registry.js.map +1 -1
- package/dist/runtime/query/index.d.ts +6 -0
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +20 -1
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +32 -8
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/outstanding-work.d.ts.map +1 -1
- package/dist/runtime/query/iteration/outstanding-work.js +2 -0
- package/dist/runtime/query/iteration/outstanding-work.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +4 -0
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +7 -1
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/iteration/step-shaping.d.ts +2 -0
- package/dist/runtime/query/iteration/step-shaping.d.ts.map +1 -1
- package/dist/runtime/query/iteration/step-shaping.js +5 -1
- package/dist/runtime/query/iteration/step-shaping.js.map +1 -1
- package/dist/store/index.d.ts +1 -0
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +1 -0
- package/dist/store/index.js.map +1 -1
- package/dist/store/memory/disk.d.ts +7 -2
- package/dist/store/memory/disk.d.ts.map +1 -1
- package/dist/store/memory/disk.js +58 -5
- package/dist/store/memory/disk.js.map +1 -1
- package/dist/store/memory/index.d.ts +9 -0
- package/dist/store/memory/index.d.ts.map +1 -1
- package/dist/store/memory/index.js +43 -5
- package/dist/store/memory/index.js.map +1 -1
- package/dist/store/memory/markdown.d.ts +7 -2
- package/dist/store/memory/markdown.d.ts.map +1 -1
- package/dist/store/memory/markdown.js +33 -0
- package/dist/store/memory/markdown.js.map +1 -1
- package/dist/store/memory/memory.d.ts +7 -2
- package/dist/store/memory/memory.d.ts.map +1 -1
- package/dist/store/memory/memory.js +34 -0
- package/dist/store/memory/memory.js.map +1 -1
- package/dist/store/memory/revision.d.ts +16 -0
- package/dist/store/memory/revision.d.ts.map +1 -0
- package/dist/store/memory/revision.js +144 -0
- package/dist/store/memory/revision.js.map +1 -0
- package/dist/tools/builtins/wait-for-job-bounds.d.ts +6 -4
- package/dist/tools/builtins/wait-for-job-bounds.d.ts.map +1 -1
- package/dist/tools/builtins/wait-for-job-bounds.js +42 -8
- package/dist/tools/builtins/wait-for-job-bounds.js.map +1 -1
- package/dist/tools/builtins/wait-for-job.d.ts +1 -0
- package/dist/tools/builtins/wait-for-job.d.ts.map +1 -1
- package/dist/tools/builtins/wait-for-job.js +24 -10
- package/dist/tools/builtins/wait-for-job.js.map +1 -1
- package/dist/tools/memory/delete.d.ts.map +1 -1
- package/dist/tools/memory/delete.js +38 -3
- package/dist/tools/memory/delete.js.map +1 -1
- package/dist/tools/memory/read.d.ts.map +1 -1
- package/dist/tools/memory/read.js +38 -2
- package/dist/tools/memory/read.js.map +1 -1
- package/dist/tools/memory/search.d.ts.map +1 -1
- package/dist/tools/memory/search.js +38 -7
- package/dist/tools/memory/search.js.map +1 -1
- package/dist/tools/memory/update.d.ts.map +1 -1
- package/dist/tools/memory/update.js +30 -3
- package/dist/tools/memory/update.js.map +1 -1
- package/dist/toolsets/manager.d.ts +13 -0
- package/dist/toolsets/manager.d.ts.map +1 -1
- package/dist/toolsets/manager.js +60 -1
- package/dist/toolsets/manager.js.map +1 -1
- package/dist/turn/memory-recall.d.ts +2 -0
- package/dist/turn/memory-recall.d.ts.map +1 -1
- package/dist/turn/memory-recall.js +3 -1
- package/dist/turn/memory-recall.js.map +1 -1
- package/dist/types/memory/index.d.ts +29 -0
- package/dist/types/memory/index.d.ts.map +1 -1
- package/dist/types/memory/index.js +6 -0
- package/dist/types/memory/index.js.map +1 -1
- package/dist/types/plugin/index.d.ts +12 -2
- package/dist/types/plugin/index.d.ts.map +1 -1
- package/dist/types/plugin/index.js +5 -2
- package/dist/types/plugin/index.js.map +1 -1
- package/package.json +1 -1
- package/src/config/registry.ts +24 -3
- package/src/connector/mcp/discovery.ts +29 -8
- package/src/connector/mcp/mcp-toolset.ts +25 -4
- package/src/connector/mcp/reconnect.ts +34 -4
- package/src/plugin/lifecycle.ts +217 -46
- package/src/prompt/resident-learning.ts +2 -2
- package/src/prompt/resident-step.ts +4 -4
- package/src/public-runtime.ts +2 -0
- package/src/registry/tool/screen.ts +34 -2
- package/src/runtime/jobs/registry.ts +25 -8
- package/src/runtime/query/index.ts +24 -1
- package/src/runtime/query/iteration/index.ts +35 -10
- package/src/runtime/query/iteration/outstanding-work.ts +2 -0
- package/src/runtime/query/iteration/phases/context.ts +4 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +6 -1
- package/src/runtime/query/iteration/step-shaping.ts +9 -1
- package/src/store/index.ts +1 -0
- package/src/store/memory/disk.ts +82 -7
- package/src/store/memory/index.ts +66 -7
- package/src/store/memory/markdown.ts +54 -2
- package/src/store/memory/memory.ts +52 -2
- package/src/store/memory/revision.ts +158 -0
- package/src/tools/builtins/wait-for-job-bounds.ts +42 -7
- package/src/tools/builtins/wait-for-job.ts +25 -11
- package/src/tools/memory/delete.ts +33 -3
- package/src/tools/memory/read.ts +35 -2
- package/src/tools/memory/search.ts +38 -7
- package/src/tools/memory/update.ts +28 -3
- package/src/toolsets/manager.ts +74 -1
- package/src/turn/memory-recall.ts +5 -1
- package/src/types/memory/index.ts +43 -0
- package/src/types/plugin/index.ts +11 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 49.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- b7d83ec: `ToolManager.toPromptSection()` no longer includes server-authored description hints for deferred MCP tools. It still lists their names. If a host calls this method directly and relied on those hints in its system prompt, call `toUntrustedDeferredContext()` separately and put its labelled output in a request-only context message after history. The SDK query path does this automatically, bounds the hint list to 4,000 characters plus its provenance frame, prices the largest permitted rendering before step preparation and filters it to permitted tools. Hosts preparing their own steps can call `snapshotUntrustedDeferredContext()` for the same bounded snapshot. MCP tools remain searchable by their full descriptions through `search_tools`.
|
|
8
|
+
- b7d83ec: Plugin `user_prompt_submit` annotations now reach the model as user-role request context instead of system instructions. The CLI gives operator shell output and idle background-job exits the same request-context role. Hosts that used these observation channels to issue policy must move that policy to an explicit trusted instruction; the observations remain visible to the model on the current request.
|
|
9
|
+
|
|
10
|
+
The `namzu mcp test` HTTP 401 hint now uses a literal `<name>` placeholder instead of embedding the configured server name in a runnable shell command.
|
|
11
|
+
|
|
12
|
+
- b7d83ec: Memory and saved resident state now reach the model as request-only user-role context rather than system guidance. In the SDK, `createMemoryRecallStep` returns `PrepareStepResult.context` instead of `system`; hosts that read or compose the hook result must use `context` and pass it through the normal preparation chain. Resident continuation, wake evidence, skill catalogues and learned text also move from system `dynamic` or `turn` contributions to `context`; hosts that inspect placements must migrate. `context` contributions now render once before `prepareStep` so their estimated cost reduces preparation headroom; hosts relying on a contribution to observe preparation side effects in the same model step must move that logic to a later stage. The CLI moves file-backed `USER.md` and `MEMORY.md`, its stored-memory index, and automatic recall out of system prompts on new sends, resident turns and resumes. Interactive resident turns now place admitted data in the new `SendOptions.extraContext` request-only field; their fixed doctrine remains in `extraSystem`. Hosts that relied on memory files or resident data as system instructions must pass trusted guidance explicitly. This changes default provider-visible roles and may change model behavior and prompt-cache accounting; request-only context still uses input tokens on each request and the CLI bounds memory against estimated remaining request room.
|
|
13
|
+
- b7d83ec: Plugin MCP server declarations now reject fields they do not implement, including `url`, `headers`, `inheritEnv` and `requireApproval`. Those fields were previously accepted and silently removed while the declared stdio command still started. Remove unsupported fields from `plugin.json` or an in-code plugin; configure a remote server through the host's MCP settings and express approval in host source permissions. Plugin MCP startup now has a ten-second deadline across connection and discovery, configurable with `connectTimeoutMs` up to one hour, and cleans up a failed connection before rolling back the plugin.
|
|
14
|
+
|
|
15
|
+
Hosts supplying `ConfigRegistry` must move plugin reconnect-policy overrides from `mcp.<server-name>` to `mcp.plugin.<plugin-name>.<server-name>`; the old key was shared by unrelated plugins and is no longer read. A `ConfigScope` now has `dispose()` to release its live namespace and watchers while retaining saved overrides. Plugin disable and failed enable release their scopes, and overlapping enable, disable and uninstall calls for one plugin id now settle in call order.
|
|
16
|
+
|
|
17
|
+
Plugin MCP drift is now tracked by full plugin source id rather than bare server name: hosts that relied on a drift event between two unrelated plugins using the same local server label should compare those sources explicitly. The baseline now follows the one admitted listing actually mounted as tools, including reconnect and list-change refreshes; a second startup listing is gone.
|
|
18
|
+
|
|
19
|
+
- b7d83ec: `wait_for_job` now returns `success: true` when its idle or total wait bound is reached. Previously that outcome returned `success: false` and was treated as a failed tool call. Callers that used `success === false` to detect a wait timeout must check `data.timedOut` (`idle` or `wall`) instead. The job keeps running in either case.
|
|
20
|
+
|
|
21
|
+
The tool now includes a bounded partial output preview and absolute `nextOffset` on timeout, and accepts `from_offset` on the next call so callers can continue without receiving the same bytes again. It reports output omitted by the wait's 32 KiB cap separately from bytes lost by the job registry's retention cap.
|
|
22
|
+
|
|
23
|
+
### Minor Changes
|
|
24
|
+
|
|
25
|
+
- 2b1cbb5: Hosts can use `QueryParams.onJobNoticeDelivered(jobIds)` to distinguish background job exits recorded for the model from exits that still need delivery on a later turn. The CLI now keeps a late exit pending for the next turn, retains it after a failed or aborted send, and shows its transcript row once.
|
|
26
|
+
- b7d83ec: Built-in memory stores now offer opt-in revision-checked updates and deletion. Read an opaque token with `getVersionedRecord` or `read_memory`, then pass it to `updateIfRevision`, `deleteIfRevision`, `update_memory`, or `delete_memory`. A stale token reports a conflict without applying the change. Existing calls without a revision keep their last-writer-wins behavior; custom stores need to implement the full conditional interface to accept revisions.
|
|
27
|
+
|
|
28
|
+
In-memory revisions cover cloneable BigInt, Map, Set, Date, cyclic metadata and the full backing buffers visible through typed-array views. Direct resizable `ArrayBuffer` values include their resize attributes. When metadata cannot be fingerprinted synchronously, including views backed by `SharedArrayBuffer` or resizable `ArrayBuffer`, `read_memory` still reads it but offers no revision; conditional writes fail closed.
|
|
29
|
+
|
|
30
|
+
When a tool-result guardrail rewrites text, it also replaces separate model-visible content blocks and the original failure error, so neither channel can bypass redaction.
|
|
31
|
+
|
|
32
|
+
- b7d83ec: Memory searches can now bound candidate scans with `maxScanned` and continue using `scanOffset`. Results report `truncated`, `scannedCount` and `nextScanOffset`, with `totalCount` counting only matches in an incomplete page. `search_memory` uses a 256-candidate page and accepts `scan_offset`; repeat with the returned offset when an older memory may match. Automatic recall also searches at most 256 recent candidates by default, configurable through `MemoryRecallOptions.maxScanned`. Disk stores select the page before reading its bodies. A direct `list` call without `maxScanned` retains its full-search behavior.
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- b7d83ec: The SDK unit test runner now uses at most four workers on machines with many CPU cores. This prevents valid asynchronous tests from hitting their wall-clock timeout under test-worker contention; package runtime behavior and APIs are unchanged.
|
|
37
|
+
|
|
3
38
|
## 48.3.1
|
|
4
39
|
|
|
5
40
|
### Patch Changes
|
|
@@ -45,6 +45,8 @@ export interface ConfigScope<T> {
|
|
|
45
45
|
update(patch: Partial<T> | Record<string, unknown>): T;
|
|
46
46
|
/** Called after a successful update. Returns an unsubscribe. */
|
|
47
47
|
watch(listener: (next: T, previous: T) => void): () => void;
|
|
48
|
+
/** Release this registration, including its watchers, while retaining saved overrides. */
|
|
49
|
+
dispose(): void;
|
|
48
50
|
}
|
|
49
51
|
export declare class ConfigNamespaceCollisionError extends RegistryCollisionError {
|
|
50
52
|
readonly namespace: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/config/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,KAAK,mBAAmB,EAA+B,MAAM,0BAA0B,CAAA;AAChG,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,oBAAoB,CAAA;AAE/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC7B;;;;;;OAMG;IACH,GAAG,IAAI,CAAC,CAAA;IACR;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACtD,gEAAgE;IAChE,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/config/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,KAAK,mBAAmB,EAA+B,MAAM,0BAA0B,CAAA;AAChG,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,oBAAoB,CAAA;AAE/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC7B;;;;;;OAMG;IACH,GAAG,IAAI,CAAC,CAAA;IACR;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACtD,gEAAgE;IAChE,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IAC3D,0FAA0F;IAC1F,OAAO,IAAI,IAAI,CAAA;CACf;AAED,qBAAa,6BAA8B,SAAQ,sBAAsB;IAC5D,QAAQ,CAAC,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM;CAQtC;AAED,MAAM,WAAW,qBAAqB;IACrC;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAA;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;;;;GAUG;AACH,KAAK,YAAY,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;AAUtD,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAEhC,OAAO,GAAE,qBAA0B;IAO/C;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc;IAQtC,QAAQ,CAAC,CAAC,EACT,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,GAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAO,GACvD,WAAW,CAAC,CAAC,CAAC;IA6CjB,2CAA2C;IAC3C,UAAU,IAAI,SAAS,MAAM,EAAE;IAI/B,OAAO,CAAC,WAAW;IAoCnB,OAAO,CAAC,QAAQ;CAGhB"}
|
package/dist/config/registry.js
CHANGED
|
@@ -53,13 +53,31 @@ export class ConfigRegistry {
|
|
|
53
53
|
watchers: new Set(),
|
|
54
54
|
};
|
|
55
55
|
this.entries.set(namespace, entry);
|
|
56
|
+
const assertOwned = () => {
|
|
57
|
+
if (this.entries.get(namespace) !== entry) {
|
|
58
|
+
throw new Error(`Configuration namespace "${namespace}" is no longer registered.`);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
56
61
|
return {
|
|
57
|
-
get: () =>
|
|
58
|
-
|
|
62
|
+
get: () => {
|
|
63
|
+
assertOwned();
|
|
64
|
+
return entry.resolved;
|
|
65
|
+
},
|
|
66
|
+
update: (patch) => {
|
|
67
|
+
assertOwned();
|
|
68
|
+
return this.applyUpdate(namespace, entry, patch);
|
|
69
|
+
},
|
|
59
70
|
watch: (listener) => {
|
|
71
|
+
assertOwned();
|
|
60
72
|
entry.watchers.add(listener);
|
|
61
73
|
return () => entry.watchers.delete(listener);
|
|
62
74
|
},
|
|
75
|
+
dispose: () => {
|
|
76
|
+
if (this.entries.get(namespace) !== entry)
|
|
77
|
+
return;
|
|
78
|
+
this.entries.delete(namespace);
|
|
79
|
+
entry.watchers.clear();
|
|
80
|
+
},
|
|
63
81
|
};
|
|
64
82
|
}
|
|
65
83
|
/** Namespaces registered on THIS scope. */
|
|
@@ -74,9 +92,11 @@ export class ConfigRegistry {
|
|
|
74
92
|
// every watcher about it.
|
|
75
93
|
const next = entry.schema.parse({ ...entry.base, ...candidateOverride });
|
|
76
94
|
const previous = entry.resolved;
|
|
95
|
+
const storeKey = this.storeKey(namespace);
|
|
96
|
+
this.store.save(storeKey, candidateOverride);
|
|
97
|
+
this.persisted[storeKey] = candidateOverride;
|
|
77
98
|
entry.override = candidateOverride;
|
|
78
99
|
entry.resolved = next;
|
|
79
|
-
this.store.save(this.storeKey(namespace), candidateOverride);
|
|
80
100
|
for (const watcher of entry.watchers) {
|
|
81
101
|
try {
|
|
82
102
|
watcher(next, previous);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/config/registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAA4B,2BAA2B,EAAE,MAAM,0BAA0B,CAAA;AAChG,OAAO,EAAe,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/config/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MCPDiscoveredTool, MCPPromptDefinition, MCPRequestOptions, MCPResource } from '../../types/connector/index.js';
|
|
1
|
+
import type { MCPDiscoveredTool, MCPPromptDefinition, MCPRequestOptions, MCPResource, MCPToolDefinition } from '../../types/connector/index.js';
|
|
2
2
|
import type { ToolDefinition } from '../../types/tool/index.js';
|
|
3
3
|
import { type Logger } from '../../utils/logger.js';
|
|
4
4
|
import type { MCPClient } from './client.js';
|
|
@@ -43,10 +43,10 @@ export declare class MCPToolDiscovery {
|
|
|
43
43
|
private log;
|
|
44
44
|
private options;
|
|
45
45
|
/**
|
|
46
|
-
* Last admitted tool set per
|
|
46
|
+
* Last admitted tool set per owner identity, for drift detection.
|
|
47
47
|
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
48
|
+
* Plain discovery uses the server name; plugin discovery supplies its
|
|
49
|
+
* qualified source id. A client id is minted per connection, so on the path a
|
|
50
50
|
* real MCP server actually takes — a plugin enabling, connecting, and
|
|
51
51
|
* being disabled again — every discovery was the first one that id had
|
|
52
52
|
* ever seen, and drift could not fire however many times the server
|
|
@@ -59,7 +59,11 @@ export declare class MCPToolDiscovery {
|
|
|
59
59
|
addClient(client: MCPClient): void;
|
|
60
60
|
removeClient(clientId: string): void;
|
|
61
61
|
discoverAll(): Promise<MCPDiscoveredTool[]>;
|
|
62
|
-
discoverFrom(client: MCPClient
|
|
62
|
+
discoverFrom(client: MCPClient, options?: {
|
|
63
|
+
readonly isCurrent?: () => boolean;
|
|
64
|
+
}): Promise<MCPDiscoveredTool[]>;
|
|
65
|
+
/** Record the exact already-admitted snapshot another owner mounted. */
|
|
66
|
+
recordAdmittedTools(identity: string, clientId: string, serverName: string, admitted: readonly MCPToolDefinition[]): void;
|
|
63
67
|
/**
|
|
64
68
|
* The prompts a server publishes, through the same admission gate its
|
|
65
69
|
* tools go through.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/connector/mcp/discovery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/connector/mcp/discovery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG/D,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,uBAAuB,CAAA;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,aAAa,EAKlB,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,uBAAuB;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;IAC3D;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAA;IACjG,+FAA+F;IAC/F,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QAC5B,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;QACvC,OAAO,EAAE,SAAS;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAA;SAAE,EAAE,CAAA;KACtE,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,GAAG,CAAQ;IACnB,OAAO,CAAC,OAAO,CAAyB;IACxC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,QAAQ,CAAyC;gBAE7C,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,GAAE,uBAA4B;IAWvE,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAIlC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAS9B,WAAW,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA2B3C,YAAY,CACjB,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAA;KAAE,GAC9C,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAqC/B,wEAAwE;IACxE,mBAAmB,CAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GACpC,IAAI;IAIP;;;;;;;;;;;;OAYG;IACG,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAmC5E;;;;;;;;;;;OAWG;IACG,qBAAqB,CAC1B,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,WAAW,EAAE,CAAC;IAwBnB,iBAAiB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAWpD,OAAO,CAAC,WAAW;CAsBnB"}
|
|
@@ -9,10 +9,10 @@ export class MCPToolDiscovery {
|
|
|
9
9
|
log;
|
|
10
10
|
options;
|
|
11
11
|
/**
|
|
12
|
-
* Last admitted tool set per
|
|
12
|
+
* Last admitted tool set per owner identity, for drift detection.
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
14
|
+
* Plain discovery uses the server name; plugin discovery supplies its
|
|
15
|
+
* qualified source id. A client id is minted per connection, so on the path a
|
|
16
16
|
* real MCP server actually takes — a plugin enabling, connecting, and
|
|
17
17
|
* being disabled again — every discovery was the first one that id had
|
|
18
18
|
* ever seen, and drift could not fire however many times the server
|
|
@@ -66,9 +66,13 @@ export class MCPToolDiscovery {
|
|
|
66
66
|
});
|
|
67
67
|
return results;
|
|
68
68
|
}
|
|
69
|
-
async discoverFrom(client) {
|
|
69
|
+
async discoverFrom(client, options) {
|
|
70
70
|
const state = client.getState();
|
|
71
71
|
const advertised = await client.listTools();
|
|
72
|
+
// A newer listing can finish before this one. Do not let the older
|
|
73
|
+
// generation replace the baseline or emit a drift event after that.
|
|
74
|
+
if (options?.isCurrent?.() === false)
|
|
75
|
+
return [];
|
|
72
76
|
// The boundary. Without it the REMOTE side decides what enters the
|
|
73
77
|
// agent's registry, which inverts least privilege: a server could
|
|
74
78
|
// add a tool between two turns and it became callable with nobody
|
|
@@ -88,13 +92,17 @@ export class MCPToolDiscovery {
|
|
|
88
92
|
'namzu.connector.refused': refused.map((r) => `${r.name} (${r.reason})`),
|
|
89
93
|
});
|
|
90
94
|
}
|
|
91
|
-
this.detectDrift(client.id, state.serverName, admitted);
|
|
95
|
+
this.detectDrift(state.serverName, client.id, state.serverName, admitted);
|
|
92
96
|
return admitted.map((tool) => ({
|
|
93
97
|
tool,
|
|
94
98
|
clientId: client.id,
|
|
95
99
|
serverName: state.serverName,
|
|
96
100
|
}));
|
|
97
101
|
}
|
|
102
|
+
/** Record the exact already-admitted snapshot another owner mounted. */
|
|
103
|
+
recordAdmittedTools(identity, clientId, serverName, admitted) {
|
|
104
|
+
this.detectDrift(identity, clientId, serverName, [...admitted]);
|
|
105
|
+
}
|
|
98
106
|
/**
|
|
99
107
|
* The prompts a server publishes, through the same admission gate its
|
|
100
108
|
* tools go through.
|
|
@@ -181,9 +189,9 @@ export class MCPToolDiscovery {
|
|
|
181
189
|
return mcpToolToToolDefinition(d.tool, client, d.serverName);
|
|
182
190
|
});
|
|
183
191
|
}
|
|
184
|
-
detectDrift(clientId, serverName, admitted) {
|
|
185
|
-
const previous = this.lastSeen.get(
|
|
186
|
-
this.lastSeen.set(
|
|
192
|
+
detectDrift(identity, clientId, serverName, admitted) {
|
|
193
|
+
const previous = this.lastSeen.get(identity);
|
|
194
|
+
this.lastSeen.set(identity, admitted);
|
|
187
195
|
if (!previous)
|
|
188
196
|
return;
|
|
189
197
|
const drift = diffTools(previous, admitted);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/connector/mcp/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAA;AAS1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAe,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAEtD,OAAO,EAGN,eAAe,EACf,eAAe,EACf,SAAS,EACT,QAAQ,GACR,MAAM,aAAa,CAAA;AA+BpB,MAAM,OAAO,gBAAgB;IACpB,OAAO,CAAa;IACpB,GAAG,CAAQ;IACX,OAAO,CAAyB;IACxC;;;;;;;;;;;OAWG;IACK,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAA;IAEzD,YAAY,OAAoB,EAAE,UAAmC,EAAE;QACtE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,wEAAwE;QACxE,kEAAkE;QAClE,qEAAqE;QACrE,uEAAuE;QACvE,oEAAoE;QACpE,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,yBAAyB,EAAE,CAAC,CAAA;IACjG,CAAC;IAED,SAAS,CAAC,MAAiB;QAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC1B,CAAC;IAED,YAAY,CAAC,QAAgB;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;QAC5D,wEAAwE;QACxE,oEAAoE;QACpE,sEAAsE;QACtE,mEAAmE;QACnE,8CAA8C;IAC/C,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,MAAM,OAAO,GAAwB,EAAE,CAAA;QAEvC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;gBACvF,SAAQ;YACT,CAAC;YAED,IAAI,CAAC;gBACJ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;gBAC7C,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;YACvB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6CAA6C,EAAE;oBAC7D,qBAAqB,EAAE,MAAM,CAAC,EAAE;oBAChC,mBAAmB,EAAE,cAAc,CAAC,GAAG,CAAC;iBACxC,CAAC,CAAA;YACH,CAAC;QACF,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACrC,sBAAsB,EAAE,OAAO,CAAC,MAAM;YACtC,wBAAwB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;SAC7C,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IACf,CAAC;IAED,KAAK,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/connector/mcp/discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Toolset, ToolsetAvailability } from '../../toolsets/types.js';
|
|
2
|
+
import type { MCPToolDefinition } from '../../types/connector/index.js';
|
|
2
3
|
import { type Logger } from '../../utils/logger.js';
|
|
3
4
|
import type { MCPClient } from './client.js';
|
|
4
5
|
import type { MCPToolDrift } from './policy.js';
|
|
@@ -66,6 +67,8 @@ export interface MCPToolsetOptions {
|
|
|
66
67
|
clientId: string;
|
|
67
68
|
drift: MCPToolDrift;
|
|
68
69
|
}) => void;
|
|
70
|
+
/** The exact admitted server listing processed at construction and each committed refresh. */
|
|
71
|
+
readonly onToolsAdmitted?: (tools: readonly MCPToolDefinition[]) => void;
|
|
69
72
|
/** Current tool, prompt and resource names refused by this server's policy. */
|
|
70
73
|
readonly onRefused?: (event: {
|
|
71
74
|
serverName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-toolset.d.ts","sourceRoot":"","sources":["../../../src/connector/mcp/mcp-toolset.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"mcp-toolset.d.ts","sourceRoot":"","sources":["../../../src/connector/mcp/mcp-toolset.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE3E,OAAO,KAAK,EAGX,iBAAiB,EACjB,MAAM,gCAAgC,CAAA;AAKvC,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,uBAAuB,CAAA;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EACN,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAE7B,MAAM,gBAAgB,CAAA;AAiBvB;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAMzF;AAED,MAAM,WAAW,iBAAiB;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAC3C;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,CAAA;IACjG,8FAA8F;IAC9F,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,KAAK,IAAI,CAAA;IACxE,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QAC5B,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;QACvC,OAAO,EAAE,SAAS;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAA;SAAE,EAAE,CAAA;KACtE,KAAK,IAAI,CAAA;IACV;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG,wBAAwB,CAAA;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,sGAAsG;AACtG,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AAiHtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,UAAU,CAC/B,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,iBAAsB,GAC7B,OAAO,CAAC,WAAW,CAAC,CAwPtB"}
|
|
@@ -215,12 +215,19 @@ export async function mcpToolset(client, options = {}) {
|
|
|
215
215
|
let promptDefs = [];
|
|
216
216
|
let mainTools = [];
|
|
217
217
|
let closed = false;
|
|
218
|
+
let toolRefreshGeneration = 0;
|
|
219
|
+
let admittedToolSnapshot = [];
|
|
218
220
|
const listeners = new Set();
|
|
219
221
|
function rebuildMain() {
|
|
220
222
|
mainTools = [...toolDefs, ...promptDefs];
|
|
221
223
|
}
|
|
222
224
|
async function refreshTools() {
|
|
223
|
-
const
|
|
225
|
+
const generation = ++toolRefreshGeneration;
|
|
226
|
+
const discovered = await discovery.discoverFrom(client, {
|
|
227
|
+
isCurrent: () => !closed && generation === toolRefreshGeneration,
|
|
228
|
+
});
|
|
229
|
+
if (closed || generation !== toolRefreshGeneration)
|
|
230
|
+
return false;
|
|
224
231
|
const previous = new Map(toolDefs.map((definition) => [definition.name, definition]));
|
|
225
232
|
toolDefs = discovered.map((d) => {
|
|
226
233
|
const name = mcpToolsetName(serverName, d.tool.name);
|
|
@@ -235,6 +242,8 @@ export async function mcpToolset(client, options = {}) {
|
|
|
235
242
|
heldToolNames.delete(name);
|
|
236
243
|
}
|
|
237
244
|
rebuildMain();
|
|
245
|
+
admittedToolSnapshot = discovered.map((entry) => entry.tool);
|
|
246
|
+
return true;
|
|
238
247
|
}
|
|
239
248
|
async function refreshPrompts() {
|
|
240
249
|
if (!client.getState().serverCapabilities?.prompts) {
|
|
@@ -298,8 +307,12 @@ export async function mcpToolset(client, options = {}) {
|
|
|
298
307
|
}
|
|
299
308
|
};
|
|
300
309
|
assertUnique();
|
|
310
|
+
options.onToolsAdmitted?.(admittedToolSnapshot);
|
|
301
311
|
const notify = () => {
|
|
312
|
+
if (closed)
|
|
313
|
+
return;
|
|
302
314
|
assertUnique();
|
|
315
|
+
options.onToolsAdmitted?.(admittedToolSnapshot);
|
|
303
316
|
for (const listener of listeners)
|
|
304
317
|
listener();
|
|
305
318
|
};
|
|
@@ -331,7 +344,12 @@ export async function mcpToolset(client, options = {}) {
|
|
|
331
344
|
if (method === 'notifications/tools/list_changed') {
|
|
332
345
|
if (!currentCapabilities()?.tools?.listChanged)
|
|
333
346
|
return;
|
|
334
|
-
void refreshTools()
|
|
347
|
+
void refreshTools()
|
|
348
|
+
.then((updated) => {
|
|
349
|
+
if (updated)
|
|
350
|
+
notify();
|
|
351
|
+
})
|
|
352
|
+
.catch(onRefreshFailure('tools'));
|
|
335
353
|
}
|
|
336
354
|
else if (method === 'notifications/prompts/list_changed') {
|
|
337
355
|
if (!currentCapabilities()?.prompts?.listChanged)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-toolset.js","sourceRoot":"","sources":["../../../src/connector/mcp/mcp-toolset.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-toolset.js","sourceRoot":"","sources":["../../../src/connector/mcp/mcp-toolset.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,6 +72,7 @@ export declare class MCPReconnectSupervisor {
|
|
|
72
72
|
private stopped;
|
|
73
73
|
private inFlight;
|
|
74
74
|
private timer?;
|
|
75
|
+
private finishWait?;
|
|
75
76
|
constructor(client: MCPClient, options?: MCPReconnectOptions | MCPReconnectPolicySource);
|
|
76
77
|
/**
|
|
77
78
|
* The policy as of right now.
|
|
@@ -93,6 +94,7 @@ export declare class MCPReconnectSupervisor {
|
|
|
93
94
|
*/
|
|
94
95
|
stop(): void;
|
|
95
96
|
private recover;
|
|
97
|
+
private closeLateConnection;
|
|
96
98
|
private wait;
|
|
97
99
|
}
|
|
98
100
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconnect.d.ts","sourceRoot":"","sources":["../../../src/connector/mcp/reconnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C;;;;;;;;;;;;;;;GAeG;AAEH,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IACnC,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,mEAAmE;IACnE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,gDAAgD;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C;AASD;;;;;;;;;;;;;;;GAeG;AACH;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,mBAAmB,CAAA;AAEhE,qBAAa,sBAAsB;
|
|
1
|
+
{"version":3,"file":"reconnect.d.ts","sourceRoot":"","sources":["../../../src/connector/mcp/reconnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C;;;;;;;;;;;;;;;GAeG;AAEH,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IACnC,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,mEAAmE;IACnE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,gDAAgD;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C;AASD;;;;;;;;;;;;;;;GAeG;AACH;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,mBAAmB,CAAA;AAEhE,qBAAa,sBAAsB;IASjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IARxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IACrD,OAAO,CAAC,WAAW,CAAC,CAAY;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,KAAK,CAAC,CAA+B;IAC7C,OAAO,CAAC,UAAU,CAAC,CAAY;gBAGb,MAAM,EAAE,SAAS,EAClC,OAAO,GAAE,mBAAmB,GAAG,wBAA6B;IAK7D;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM;IAKd,kCAAkC;IAClC,KAAK,IAAI,IAAI;IAQb;;;;;;OAMG;IACH,IAAI,IAAI,IAAI;YASE,OAAO;IAwDrB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,IAAI;CAYZ;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAKpC,CAAA"}
|
|
@@ -12,6 +12,7 @@ export class MCPReconnectSupervisor {
|
|
|
12
12
|
stopped = false;
|
|
13
13
|
inFlight = false;
|
|
14
14
|
timer;
|
|
15
|
+
finishWait;
|
|
15
16
|
constructor(client, options = {}) {
|
|
16
17
|
this.client = client;
|
|
17
18
|
this.readPolicy = typeof options === 'function' ? options : () => options;
|
|
@@ -29,7 +30,7 @@ export class MCPReconnectSupervisor {
|
|
|
29
30
|
}
|
|
30
31
|
/** Begin watching. Idempotent. */
|
|
31
32
|
start() {
|
|
32
|
-
if (
|
|
33
|
+
if (this.stopped || this.unsubscribe || !this.policy().enabled)
|
|
33
34
|
return;
|
|
34
35
|
this.unsubscribe = this.client.onLifecycle((event) => {
|
|
35
36
|
if (event.type !== 'mcp_client_disconnected' && event.type !== 'mcp_client_error')
|
|
@@ -48,9 +49,9 @@ export class MCPReconnectSupervisor {
|
|
|
48
49
|
this.stopped = true;
|
|
49
50
|
this.unsubscribe?.();
|
|
50
51
|
this.unsubscribe = undefined;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
this.
|
|
52
|
+
// Clearing the timer alone strands recover() inside an unresolved
|
|
53
|
+
// promise. Settle it so the stopped check can retire the loop.
|
|
54
|
+
this.finishWait?.();
|
|
54
55
|
}
|
|
55
56
|
async recover() {
|
|
56
57
|
// One recovery at a time. A transport can emit `error` and then
|
|
@@ -80,10 +81,23 @@ export class MCPReconnectSupervisor {
|
|
|
80
81
|
return;
|
|
81
82
|
try {
|
|
82
83
|
await this.client.connect();
|
|
84
|
+
// A host may stop the supervisor and dispose its live policy
|
|
85
|
+
// while connect() is still settling. Do not read that policy or
|
|
86
|
+
// publish a reconnect callback after teardown. A successful
|
|
87
|
+
// late connect also needs a second close: the host may have
|
|
88
|
+
// finished its own disconnect before this connect settled.
|
|
89
|
+
if (this.stopped) {
|
|
90
|
+
this.closeLateConnection();
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
83
93
|
await this.policy().onReconnected?.();
|
|
84
94
|
return;
|
|
85
95
|
}
|
|
86
96
|
catch {
|
|
97
|
+
if (this.stopped) {
|
|
98
|
+
this.closeLateConnection();
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
87
101
|
// Deliberately swallowed: a failed attempt is the normal
|
|
88
102
|
// case here and the client has already logged and emitted
|
|
89
103
|
// its own error. Re-raising would surface a routine retry
|
|
@@ -91,15 +105,32 @@ export class MCPReconnectSupervisor {
|
|
|
91
105
|
delay = Math.min(delay * 2, this.policy().maxDelayMs);
|
|
92
106
|
}
|
|
93
107
|
}
|
|
108
|
+
if (this.stopped)
|
|
109
|
+
return;
|
|
94
110
|
this.policy().onGaveUp?.(this.policy().maxAttempts);
|
|
95
111
|
}
|
|
96
112
|
finally {
|
|
97
113
|
this.inFlight = false;
|
|
98
114
|
}
|
|
99
115
|
}
|
|
116
|
+
closeLateConnection() {
|
|
117
|
+
// A failed handshake can leave an opened transport, too. Stop is
|
|
118
|
+
// synchronous and the host's disable path has its own bounded close;
|
|
119
|
+
// keep this late cleanup best-effort without delaying recovery exit.
|
|
120
|
+
void this.client.disconnect().catch(() => { });
|
|
121
|
+
}
|
|
100
122
|
wait(ms) {
|
|
101
123
|
return new Promise((resolve) => {
|
|
102
|
-
|
|
124
|
+
const finish = () => {
|
|
125
|
+
if (this.timer)
|
|
126
|
+
clearTimeout(this.timer);
|
|
127
|
+
this.timer = undefined;
|
|
128
|
+
if (this.finishWait === finish)
|
|
129
|
+
this.finishWait = undefined;
|
|
130
|
+
resolve();
|
|
131
|
+
};
|
|
132
|
+
this.finishWait = finish;
|
|
133
|
+
this.timer = setTimeout(finish, ms);
|
|
103
134
|
});
|
|
104
135
|
}
|
|
105
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconnect.js","sourceRoot":"","sources":["../../../src/connector/mcp/reconnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA6CvB,MAAM,QAAQ,GAAG;IAChB,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,GAAG;IACnB,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,CAAC;CACL,CAAA;AA6BV,MAAM,OAAO,sBAAsB;
|
|
1
|
+
{"version":3,"file":"reconnect.js","sourceRoot":"","sources":["../../../src/connector/mcp/reconnect.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,6 +81,8 @@ export declare class PluginLifecycleManager {
|
|
|
81
81
|
private listeners;
|
|
82
82
|
private hookHandlers;
|
|
83
83
|
private pluginContributions;
|
|
84
|
+
/** Reserve each id before async admission so lifecycle calls cannot overlap. */
|
|
85
|
+
private readonly lifecycleTails;
|
|
84
86
|
/** Immutable executable admissions owned by this manager, never by the mutable registry. */
|
|
85
87
|
private pluginAdmissions;
|
|
86
88
|
private hookTimeoutMs;
|
|
@@ -88,18 +90,16 @@ export declare class PluginLifecycleManager {
|
|
|
88
90
|
private readonly scopeRoots;
|
|
89
91
|
private log;
|
|
90
92
|
/**
|
|
91
|
-
* The
|
|
93
|
+
* The cross-enable drift history for each plugin-owned MCP source.
|
|
92
94
|
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
* the window a rug pull uses.
|
|
95
|
+
* The toolset applies policy and performs the only listing. It passes the
|
|
96
|
+
* admitted snapshot here after it commits, keyed by its full plugin source.
|
|
97
|
+
* Keeping this recorder for the manager lifetime detects a server that
|
|
98
|
+
* changes between disable and the next enable without conflating unrelated
|
|
99
|
+
* plugins that use the same local server label.
|
|
99
100
|
*
|
|
100
|
-
* Its client list
|
|
101
|
-
*
|
|
102
|
-
* reads.
|
|
101
|
+
* Its client list stays empty because this instance records snapshots;
|
|
102
|
+
* it never makes a second request to the server.
|
|
103
103
|
*/
|
|
104
104
|
private mcpDiscovery;
|
|
105
105
|
private readonly mcpToolPolicies?;
|
|
@@ -138,13 +138,17 @@ export declare class PluginLifecycleManager {
|
|
|
138
138
|
/** Register a host-authored plugin without reading a manifest or importing modules. */
|
|
139
139
|
installDefined(plugin: DefinedPlugin, scope?: PluginScope): PluginDefinition;
|
|
140
140
|
private definitionFrom;
|
|
141
|
+
private serializeLifecycle;
|
|
141
142
|
private readLegacyAdmission;
|
|
142
143
|
enable(pluginId: PluginId): Promise<void>;
|
|
144
|
+
private enableOwned;
|
|
143
145
|
private attachMCPServer;
|
|
144
146
|
private rollbackContributions;
|
|
145
147
|
private stopMcpContributions;
|
|
146
148
|
disable(pluginId: PluginId): Promise<void>;
|
|
149
|
+
private disableOwned;
|
|
147
150
|
uninstall(pluginId: PluginId): Promise<void>;
|
|
151
|
+
private uninstallOwned;
|
|
148
152
|
executeHooks(event: PluginHookEvent, context: Omit<PluginHookContext, 'pluginId' | 'event'>, emitSessionEvent?: (event: SessionEvent) => Promise<void>): Promise<PluginHookResult[]>;
|
|
149
153
|
private emit;
|
|
150
154
|
}
|