dsh-interconnect 0.11.24 → 0.15.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/README.md +177 -31
- package/assets/dsh-interconnect.md +60 -24
- package/dsh.plugin.json +1 -1
- package/lib/index.js +85 -28
- package/lib/interconnect/index.js +85 -28
- package/lib/interconnect/index.js.map +3 -3
- package/lib/tool-interconnect/index.js +163 -42
- package/lib/tool-interconnect/index.js.map +3 -3
- package/lib/types/interconnect/index.d.ts +29 -7
- package/lib/types/interconnect/index.d.ts.map +1 -1
- package/lib/types/interconnect/types.d.ts +54 -14
- package/lib/types/interconnect/types.d.ts.map +1 -1
- package/lib/types/tool-interconnect/index.d.ts +1 -1
- package/lib/types/tool-interconnect/index.d.ts.map +1 -1
- package/package.json +1 -7
- package/lib/interconnect/invariant.js +0 -25
- package/lib/interconnect/invariant.js.map +0 -7
- package/lib/skill-interconnect/invariant.js +0 -13
- package/lib/skill-interconnect/invariant.js.map +0 -7
- package/lib/tool-interconnect/invariant.js +0 -13
- package/lib/tool-interconnect/invariant.js.map +0 -7
- package/lib/types/interconnect/invariant.d.ts +0 -16
- package/lib/types/interconnect/invariant.d.ts.map +0 -1
- package/lib/types/skill-interconnect/invariant.d.ts +0 -16
- package/lib/types/skill-interconnect/invariant.d.ts.map +0 -1
- package/lib/types/tool-interconnect/invariant.d.ts +0 -16
- package/lib/types/tool-interconnect/invariant.d.ts.map +0 -1
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
import { Context, Service } from '@deepseek-ai/cordis';
|
|
15
15
|
import type { ContextFormed } from '@deepseek-ai/dsh-llm';
|
|
16
16
|
import z from '@deepseek-ai/schemastery';
|
|
17
|
-
import { type Config, type EventNotification, type ListResult, type PingResult, type ReplyRequest, type SendResult, type SendRequest, type SenderIdentity } from './types.ts';
|
|
17
|
+
import { type Config, type EventNotification, type ListResult, type PeerStatus, type PingResult, type ReplyRequest, type SendResult, type SendRequest, type SenderIdentity } from './types.ts';
|
|
18
18
|
export type * from './types.ts';
|
|
19
19
|
/**
|
|
20
20
|
* Credential reference holding the shared auth token. Both halves of a link
|
|
@@ -126,7 +126,7 @@ export declare class InterconnectService extends Service {
|
|
|
126
126
|
* Returns the peer identity when reachable, or undefined when the link is
|
|
127
127
|
* not up or no answer arrives.
|
|
128
128
|
* @param instanceId - the peer's `instanceId` as configured under {@link Config.peers}.
|
|
129
|
-
* @returns the peer's identity, or undefined when
|
|
129
|
+
* @returns the peer's identity, or undefined when there is no usable answer.
|
|
130
130
|
*/
|
|
131
131
|
ping(instanceId: string): Promise<PingResult | undefined>;
|
|
132
132
|
/**
|
|
@@ -136,12 +136,22 @@ export declare class InterconnectService extends Service {
|
|
|
136
136
|
* @returns the peer's live session rows, or undefined on transport failure.
|
|
137
137
|
*/
|
|
138
138
|
list(instanceId: string): Promise<ListResult | undefined>;
|
|
139
|
+
/**
|
|
140
|
+
* The peers this instance configures, each with the current state of the link
|
|
141
|
+
* it dials, in configuration order. This is how a caller tells an id this
|
|
142
|
+
* instance cannot reach at all (`peer-not-configured`) from one whose link is
|
|
143
|
+
* merely down (`unreachable`), which the bare `undefined` of `ping`/`list`
|
|
144
|
+
* cannot express. A configured peer whose link is `down` is still a valid
|
|
145
|
+
* target: its reconnect runs on its own backoff, so it may answer later.
|
|
146
|
+
* @returns one row per configured peer.
|
|
147
|
+
*/
|
|
148
|
+
peers(): readonly PeerStatus[];
|
|
139
149
|
/**
|
|
140
150
|
* Send a `msg` frame over the live link to a peer and resolve with its
|
|
141
|
-
* correlated `msg-result`.
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
*
|
|
151
|
+
* correlated `msg-result`. A `peer-not-configured` result when this instance
|
|
152
|
+
* configures no route for that id, undefined when the route exists but its
|
|
153
|
+
* link is down, and a `message-too-large` result when the encoded frame would
|
|
154
|
+
* not fit the link.
|
|
145
155
|
*/
|
|
146
156
|
private msgRequest;
|
|
147
157
|
/** Send a `query` frame over the live link to a peer and resolve its result. */
|
|
@@ -153,9 +163,21 @@ export declare class InterconnectService extends Service {
|
|
|
153
163
|
* `Config.peers` entry; the resulting state owns reconnection for the life of
|
|
154
164
|
* the service fiber.
|
|
155
165
|
* @param instanceId - the peer's `instanceId`.
|
|
156
|
-
* @param origin - receiver origin this instance dials
|
|
166
|
+
* @param origin - receiver origin this instance dials (e.g.
|
|
167
|
+
* `http://127.0.0.1:13080`), or a resolver for a `self` route.
|
|
157
168
|
*/
|
|
158
169
|
private link;
|
|
170
|
+
/**
|
|
171
|
+
* The origin of this instance's own host webserver, or undefined while no
|
|
172
|
+
* listening port exists. Read on every dial rather than cached: the
|
|
173
|
+
* webserver may activate after this service, its port is assigned only in
|
|
174
|
+
* its listen callback (`--port 0` picks a fresh one per start), and a
|
|
175
|
+
* replacement webserver would move it again. Loopback is used regardless of
|
|
176
|
+
* the bind host: a server bound to `0.0.0.0` also accepts `127.0.0.1`, while
|
|
177
|
+
* `0.0.0.0` itself is a bind address, not a dialable origin.
|
|
178
|
+
* @returns `http://127.0.0.1:<port>`, or undefined without a listening server.
|
|
179
|
+
*/
|
|
180
|
+
private selfOrigin;
|
|
159
181
|
/** Push one serialized lifecycle fact out to every linked peer over WS. */
|
|
160
182
|
private fanout;
|
|
161
183
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interconnect/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAiB,MAAM,qBAAqB,CAAA;AAUrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAQzD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAGxC,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,iBAAiB,EAItB,KAAK,UAAU,EACf,KAAK,UAAU,EAEf,KAAK,YAAY,EAEjB,KAAK,UAAU,EACf,KAAK,WAAW,EAEhB,KAAK,cAAc,EAEpB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interconnect/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,19 +86,27 @@ export interface SendPayload {
|
|
|
86
86
|
* - `message-too-large` — over a writable link, the encoded frame for this
|
|
87
87
|
* message exceeds the link's frame cap (1 MiB), so nothing was written and the
|
|
88
88
|
* peer link stayed up. Retrying the same text cannot succeed; it has to be
|
|
89
|
-
* shortened. A message
|
|
90
|
-
*
|
|
89
|
+
* shortened. A message that fails the earlier route checks reports
|
|
90
|
+
* `peer-not-configured` or `unreachable` instead, because those precede this
|
|
91
|
+
* one.
|
|
92
|
+
* - `peer-not-configured` — this instance configures no route for that
|
|
93
|
+
* `instanceId`, so no link to it exists and none can be dialed. Retrying can
|
|
94
|
+
* never succeed; the peer has to be added to {@link Config.peers}, which
|
|
95
|
+
* applies when the service is re-activated (the `dsh` launcher's HMR row does
|
|
96
|
+
* that on its own). {@link PeerStatus} rows show which ids this instance does
|
|
97
|
+
* configure.
|
|
91
98
|
* - `no-sender-known` — a `reply` was addressed to a local session that never
|
|
92
99
|
* recorded a sender, either because that session did not receive a message
|
|
93
100
|
* through this service or the incoming message carried no `sender` identity
|
|
94
101
|
* (an older peer omitted it). A caller with no executing session reports it
|
|
95
102
|
* too: there is no local session whose sender could be recalled.
|
|
96
103
|
*
|
|
97
|
-
* `message-too-large` and `no-sender-known` are produced
|
|
98
|
-
* the wire: `msgResultSchema` admits only the reasons a
|
|
99
|
-
* so a caller sees them only from this instance's own
|
|
104
|
+
* `message-too-large`, `peer-not-configured`, and `no-sender-known` are produced
|
|
105
|
+
* locally and never cross the wire: `msgResultSchema` admits only the reasons a
|
|
106
|
+
* receiver can answer with, so a caller sees them only from this instance's own
|
|
107
|
+
* service.
|
|
100
108
|
*/
|
|
101
|
-
export type SendFailure = 'session-not-live' | 'unreachable' | 'resume-refused' | 'resume-failed' | 'session-owned-by-subagent' | 'message-too-large' | 'no-sender-known';
|
|
109
|
+
export type SendFailure = 'session-not-live' | 'unreachable' | 'resume-refused' | 'resume-failed' | 'session-owned-by-subagent' | 'message-too-large' | 'peer-not-configured' | 'no-sender-known';
|
|
102
110
|
/**
|
|
103
111
|
* Business result of a `send` endpoint call: either the target session was
|
|
104
112
|
* reached, with the mode actually used, or it was not, with the reason. The
|
|
@@ -292,6 +300,27 @@ export type LinkMessage = {
|
|
|
292
300
|
readonly delivery?: DeliveryMode;
|
|
293
301
|
readonly resume?: boolean;
|
|
294
302
|
};
|
|
303
|
+
/** Whether a configured peer's dialed link currently carries frames. */
|
|
304
|
+
export type PeerLinkState = 'up' | 'down';
|
|
305
|
+
/**
|
|
306
|
+
* One configured peer route and its current link state. This is a local
|
|
307
|
+
* diagnostic shape: it never crosses the wire and exists so a caller can tell
|
|
308
|
+
* "this instance does not configure that peer" (`peer-not-configured`) apart
|
|
309
|
+
* from "the peer is configured but answered nothing" (`unreachable`), which a
|
|
310
|
+
* bare `undefined` from `ping`/`list` cannot express.
|
|
311
|
+
*/
|
|
312
|
+
export interface PeerStatus {
|
|
313
|
+
/** The peer's `instanceId` as configured under {@link Config.peers}: a valid target for send/ping/list. */
|
|
314
|
+
readonly instanceId: string;
|
|
315
|
+
/**
|
|
316
|
+
* The origin this instance dials for that peer. A `self` peer reports the
|
|
317
|
+
* resolved `http://127.0.0.1:<port>` once the host webserver listens, and
|
|
318
|
+
* the literal `self` while it does not.
|
|
319
|
+
*/
|
|
320
|
+
readonly origin: string;
|
|
321
|
+
/** Whether that dialed link is open right now; a closed one re-dials on its own backoff. */
|
|
322
|
+
readonly link: PeerLinkState;
|
|
323
|
+
}
|
|
295
324
|
/** Service config bound by the Composition loader. */
|
|
296
325
|
export interface Config {
|
|
297
326
|
/**
|
|
@@ -310,11 +339,18 @@ export interface Config {
|
|
|
310
339
|
/**
|
|
311
340
|
* Peer instance routes, keyed by the peer's `instanceId`, valued by the
|
|
312
341
|
* origin this instance dials to reach that peer (e.g. a tunnel endpoint
|
|
313
|
-
* `http://127.0.0.1:13080`)
|
|
314
|
-
*
|
|
315
|
-
* `
|
|
316
|
-
*
|
|
317
|
-
*
|
|
342
|
+
* `http://127.0.0.1:13080`), or by the literal `self` for this instance's
|
|
343
|
+
* own host webserver. A `self` route is resolved on every dial to
|
|
344
|
+
* `http://127.0.0.1:<webServer.port>`, so a host that assigns its port at
|
|
345
|
+
* listen time (`--port 0`, as DSH Desktop does) needs no config change after
|
|
346
|
+
* a restart; the route keys must equal `instanceId`, because the self dial
|
|
347
|
+
* reaches this instance's own inbound socket and reply routing plus event
|
|
348
|
+
* de-duplication match on the announced id. A `self` route with no listening
|
|
349
|
+
* webserver (a headless profile) stays `down` and logs why. At activation
|
|
350
|
+
* each peer is linked over a persistent WebSocket (heartbeat + reconnect),
|
|
351
|
+
* and every outbound `send`/`reply`/`ping`/`list` is addressed by
|
|
352
|
+
* `instanceId` through that instance's own link. An origin is the ONLY
|
|
353
|
+
* routing authority — `instanceId` is never used to derive an address.
|
|
318
354
|
*
|
|
319
355
|
* Fan-out of local lifecycle events goes to every live peer, including an
|
|
320
356
|
* inbound peer that is not in this map; an event travels over the link this
|
|
@@ -322,9 +358,13 @@ export interface Config {
|
|
|
322
358
|
* open dialed link for the id that socket announced. A peer listed under a
|
|
323
359
|
* key other than the id it announces is therefore not recognised as the same
|
|
324
360
|
* peer and receives each event twice; the service warns about that once per
|
|
325
|
-
* link. This map is the whole route surface: only the constructor reads it,
|
|
326
|
-
*
|
|
327
|
-
*
|
|
361
|
+
* link. This map is the whole route surface: only the constructor reads it, so
|
|
362
|
+
* a changed map takes effect when the service is re-activated. Under the
|
|
363
|
+
* `dsh` launcher that happens on its own — the profile HMR row reconciles this
|
|
364
|
+
* row's config and rebuilds its fiber, which re-links the map (measured live:
|
|
365
|
+
* adding a peer starts the dial, removing it stops the dial, and a changed
|
|
366
|
+
* `instanceId` is announced by the next link). Without that row, changing the
|
|
367
|
+
* map means restarting the instance.
|
|
328
368
|
*/
|
|
329
369
|
readonly peers?: Record<string, string>;
|
|
330
370
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/interconnect/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE1D;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;IAChC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;IAChC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/interconnect/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export declare const name = "tool-interconnect";
|
|
|
16
16
|
/** Services required before the tools can register. */
|
|
17
17
|
export declare const inject: string[];
|
|
18
18
|
/**
|
|
19
|
-
* Register the
|
|
19
|
+
* Register the five tool surfaces. Registration is idempotent per fiber; the
|
|
20
20
|
* tools unregister with the owning fiber.
|
|
21
21
|
* @param ctx - connection context carrying the interconnect service and the tool registry.
|
|
22
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tool-interconnect/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tool-interconnect/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAO7C,0BAA0B;AAC1B,eAAO,MAAM,IAAI,sBAAsB,CAAA;AAEvC,uDAAuD;AACvD,eAAO,MAAM,MAAM,UAA4B,CAAA;AAiE/C;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAyXxC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-interconnect",
|
|
3
3
|
"description": "Cross-instance message/event handoff plugins for DeepSeek Harness (DSH): interconnect service + model-facing tools + companion skill",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.15.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "lib/index.js",
|
|
@@ -22,10 +22,6 @@
|
|
|
22
22
|
"types": "./lib/types/skill-interconnect/index.d.ts",
|
|
23
23
|
"default": "./lib/skill-interconnect/index.js"
|
|
24
24
|
},
|
|
25
|
-
"./skill-interconnect/invariant": {
|
|
26
|
-
"types": "./lib/types/skill-interconnect/invariant.d.ts",
|
|
27
|
-
"default": "./lib/skill-interconnect/invariant.js"
|
|
28
|
-
},
|
|
29
25
|
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
30
26
|
"./package.json": "./package.json"
|
|
31
27
|
},
|
|
@@ -60,7 +56,6 @@
|
|
|
60
56
|
"@deepseek-ai/dsh-host-webserver": "*",
|
|
61
57
|
"@deepseek-ai/dsh-tools": "*",
|
|
62
58
|
"@deepseek-ai/dsh-skill": "*",
|
|
63
|
-
"@deepseek-ai/dsh-invariants": "*",
|
|
64
59
|
"@deepseek-ai/schemastery": "*",
|
|
65
60
|
"ws": "*"
|
|
66
61
|
},
|
|
@@ -83,7 +78,6 @@
|
|
|
83
78
|
"@deepseek-ai/dsh-host-webserver": "link:../dsh/packages/host/webserver",
|
|
84
79
|
"@deepseek-ai/dsh-tools": "link:../dsh/packages/core/tools",
|
|
85
80
|
"@deepseek-ai/dsh-skill": "link:../dsh/packages/skill/skill",
|
|
86
|
-
"@deepseek-ai/dsh-invariants": "link:../dsh/packages/runtime-diagnostics/invariants",
|
|
87
81
|
"@deepseek-ai/dsh-system-prompt": "link:../dsh/packages/core/system-prompt",
|
|
88
82
|
"@types/node": "^24.0.0",
|
|
89
83
|
"@types/ws": "^8.18.1",
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// src/interconnect/invariant.ts
|
|
2
|
-
var PACKAGE_NAME = "@deepseek-ai/dsh-interconnect";
|
|
3
|
-
var name = "interconnect-invariant";
|
|
4
|
-
var inject = ["invariants"];
|
|
5
|
-
var install = (ctx, fail) => {
|
|
6
|
-
ctx.on("internal/plugin", () => {
|
|
7
|
-
const server = ctx.get("webServer");
|
|
8
|
-
if (server === void 0) return;
|
|
9
|
-
const probe = { kind: "exact", path: "/__dsh_interconnect_invariant_probe__", handler: () => {
|
|
10
|
-
} };
|
|
11
|
-
try {
|
|
12
|
-
server.register(probe)();
|
|
13
|
-
server.register(probe)();
|
|
14
|
-
} catch {
|
|
15
|
-
fail("interconnect route disposer left a route registered \u2014 route table and fiber lifecycle diverged");
|
|
16
|
-
}
|
|
17
|
-
}, { global: true });
|
|
18
|
-
};
|
|
19
|
-
var apply = (ctx) => Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install));
|
|
20
|
-
export {
|
|
21
|
-
apply,
|
|
22
|
-
inject,
|
|
23
|
-
name
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=invariant.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/interconnect/invariant.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Package-owned invariant companion for `@deepseek-ai/dsh-interconnect`.\n * @module @deepseek-ai/dsh-interconnect/invariant\n */\n\n/* jscpd:ignore-start */\nimport type { Context } from '@deepseek-ai/cordis'\nimport type { InvariantInstaller } from '@deepseek-ai/dsh-invariants'\n\nconst PACKAGE_NAME = '@deepseek-ai/dsh-interconnect'\n\n/** Cordis companion plugin name. */\nexport const name = 'interconnect-invariant'\n/** Service required before the companion can register. */\nexport const inject = ['invariants']\n\n/**\n * Owned relation: the interconnect HTTP route must vanish when its owning\n * fiber unloads, or a stale route keeps serving disposed-plugin handlers.\n * Mirrors the webserver invariant: register/dispose a probe route and assert\n * the disposer really removed it.\n */\nconst install: InvariantInstaller = (ctx, fail) => {\n ctx.on('internal/plugin', () => {\n const server = ctx.get('webServer') as\n | { register(route: { kind: 'exact'; path: string; handler: () => void }): () => void }\n | undefined\n if (server === undefined) return\n const probe = { kind: 'exact' as const, path: '/__dsh_interconnect_invariant_probe__', handler: () => {} }\n try {\n server.register(probe)()\n server.register(probe)()\n } catch {\n fail('interconnect route disposer left a route registered \u2014 route table and fiber lifecycle diverged')\n }\n }, { global: true })\n}\n\n/**\n * Register this package's invariant companion.\n * @param ctx - Cordis context carrying the invariant service.\n * @returns the installed registration's disposer after setup succeeds.\n */\nexport const apply = (ctx: Context): Promise<() => void> =>\n Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install))\n/* jscpd:ignore-end */\n"],
|
|
5
|
-
"mappings": ";AASA,IAAM,eAAe;AAGd,IAAM,OAAO;AAEb,IAAM,SAAS,CAAC,YAAY;AAQnC,IAAM,UAA8B,CAAC,KAAK,SAAS;AACjD,MAAI,GAAG,mBAAmB,MAAM;AAC9B,UAAM,SAAS,IAAI,IAAI,WAAW;AAGlC,QAAI,WAAW,OAAW;AAC1B,UAAM,QAAQ,EAAE,MAAM,SAAkB,MAAM,yCAAyC,SAAS,MAAM;AAAA,IAAC,EAAE;AACzG,QAAI;AACF,aAAO,SAAS,KAAK,EAAE;AACvB,aAAO,SAAS,KAAK,EAAE;AAAA,IACzB,QAAQ;AACN,WAAK,qGAAgG;AAAA,IACvG;AAAA,EACF,GAAG,EAAE,QAAQ,KAAK,CAAC;AACrB;AAOO,IAAM,QAAQ,CAAC,QACpB,QAAQ,QAAQ,IAAI,WAAW,SAAS,cAAc,OAAO,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// src/skill-interconnect/invariant.ts
|
|
2
|
-
var PACKAGE_NAME = "@deepseek-ai/dsh-skill-interconnect";
|
|
3
|
-
var name = "skill-interconnect-invariant";
|
|
4
|
-
var inject = ["invariants"];
|
|
5
|
-
var install = () => {
|
|
6
|
-
};
|
|
7
|
-
var apply = (ctx) => Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install));
|
|
8
|
-
export {
|
|
9
|
-
apply,
|
|
10
|
-
inject,
|
|
11
|
-
name
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=invariant.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/skill-interconnect/invariant.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Package-owned invariant companion for `@deepseek-ai/dsh-skill-interconnect`.\n * @module @deepseek-ai/dsh-skill-interconnect/invariant\n */\n\n/* jscpd:ignore-start */\nimport type { Context } from '@deepseek-ai/cordis'\nimport type { InvariantInstaller } from '@deepseek-ai/dsh-invariants'\n\nconst PACKAGE_NAME = '@deepseek-ai/dsh-skill-interconnect'\n\n/** Cordis companion plugin name. */\nexport const name = 'skill-interconnect-invariant'\n/** Service required before the companion can reserve package ownership. */\nexport const inject = ['invariants']\n\n/**\n * No runtime invariant: the package owns one immutable provider registration,\n * while the skill registry owns registration uniqueness and lifecycle checks.\n */\nconst install: InvariantInstaller = () => {}\n\n/**\n * Register this package's invariant companion.\n * @param ctx - Cordis context carrying the invariant service.\n * @returns the installed registration's disposer after setup succeeds.\n */\nexport const apply = (ctx: Context): Promise<() => void> =>\n Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install))\n/* jscpd:ignore-end */\n"],
|
|
5
|
-
"mappings": ";AASA,IAAM,eAAe;AAGd,IAAM,OAAO;AAEb,IAAM,SAAS,CAAC,YAAY;AAMnC,IAAM,UAA8B,MAAM;AAAC;AAOpC,IAAM,QAAQ,CAAC,QACpB,QAAQ,QAAQ,IAAI,WAAW,SAAS,cAAc,OAAO,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// src/tool-interconnect/invariant.ts
|
|
2
|
-
var PACKAGE_NAME = "@deepseek-ai/dsh-tool-interconnect";
|
|
3
|
-
var name = "tool-interconnect-invariant";
|
|
4
|
-
var inject = ["invariants"];
|
|
5
|
-
var install = (_ctx, _fail) => {
|
|
6
|
-
};
|
|
7
|
-
var apply = (ctx) => Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install));
|
|
8
|
-
export {
|
|
9
|
-
apply,
|
|
10
|
-
inject,
|
|
11
|
-
name
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=invariant.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/tool-interconnect/invariant.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Package-owned invariant companion for `@deepseek-ai/dsh-tool-interconnect`.\n * @module @deepseek-ai/dsh-tool-interconnect/invariant\n */\n\n/* jscpd:ignore-start */\nimport type { Context } from '@deepseek-ai/cordis'\nimport type { InvariantInstaller } from '@deepseek-ai/dsh-invariants'\n\nconst PACKAGE_NAME = '@deepseek-ai/dsh-tool-interconnect'\n\n/** Cordis companion plugin name. */\nexport const name = 'tool-interconnect-invariant'\n/** Service required before the companion can register. */\nexport const inject = ['invariants']\n\n/**\n * Owned relation: the model-facing tools this package registers must vanish\n * when the owning fiber unloads \u2014 a stale tool would keep dispatching to a\n * disposed interconnect service. Registered at load; the registry's own\n * disposer contract is exercised by the shared tools invariant, so this\n * companion only brackets the relation for this package.\n */\nconst install: InvariantInstaller = (_ctx, _fail) => {}\n\n/**\n * Register this package's invariant companion.\n * @param ctx - Cordis context carrying the invariant service.\n * @returns the installed registration's disposer after setup succeeds.\n */\nexport const apply = (ctx: Context): Promise<() => void> =>\n Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install))\n/* jscpd:ignore-end */\n"],
|
|
5
|
-
"mappings": ";AASA,IAAM,eAAe;AAGd,IAAM,OAAO;AAEb,IAAM,SAAS,CAAC,YAAY;AASnC,IAAM,UAA8B,CAAC,MAAM,UAAU;AAAC;AAO/C,IAAM,QAAQ,CAAC,QACpB,QAAQ,QAAQ,IAAI,WAAW,SAAS,cAAc,OAAO,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Package-owned invariant companion for `@deepseek-ai/dsh-interconnect`.
|
|
3
|
-
* @module @deepseek-ai/dsh-interconnect/invariant
|
|
4
|
-
*/
|
|
5
|
-
import type { Context } from '@deepseek-ai/cordis';
|
|
6
|
-
/** Cordis companion plugin name. */
|
|
7
|
-
export declare const name = "interconnect-invariant";
|
|
8
|
-
/** Service required before the companion can register. */
|
|
9
|
-
export declare const inject: string[];
|
|
10
|
-
/**
|
|
11
|
-
* Register this package's invariant companion.
|
|
12
|
-
* @param ctx - Cordis context carrying the invariant service.
|
|
13
|
-
* @returns the installed registration's disposer after setup succeeds.
|
|
14
|
-
*/
|
|
15
|
-
export declare const apply: (ctx: Context) => Promise<() => void>;
|
|
16
|
-
//# sourceMappingURL=invariant.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"invariant.d.ts","sourceRoot":"","sources":["../../../src/interconnect/invariant.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,oCAAoC;AACpC,eAAO,MAAM,IAAI,2BAA2B,CAAA;AAC5C,0DAA0D;AAC1D,eAAO,MAAM,MAAM,UAAiB,CAAA;AAwBpC;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,KAAK,OAAO,KAAG,OAAO,CAAC,MAAM,IAAI,CACU,CAAA"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Package-owned invariant companion for `@deepseek-ai/dsh-skill-interconnect`.
|
|
3
|
-
* @module @deepseek-ai/dsh-skill-interconnect/invariant
|
|
4
|
-
*/
|
|
5
|
-
import type { Context } from '@deepseek-ai/cordis';
|
|
6
|
-
/** Cordis companion plugin name. */
|
|
7
|
-
export declare const name = "skill-interconnect-invariant";
|
|
8
|
-
/** Service required before the companion can reserve package ownership. */
|
|
9
|
-
export declare const inject: string[];
|
|
10
|
-
/**
|
|
11
|
-
* Register this package's invariant companion.
|
|
12
|
-
* @param ctx - Cordis context carrying the invariant service.
|
|
13
|
-
* @returns the installed registration's disposer after setup succeeds.
|
|
14
|
-
*/
|
|
15
|
-
export declare const apply: (ctx: Context) => Promise<() => void>;
|
|
16
|
-
//# sourceMappingURL=invariant.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"invariant.d.ts","sourceRoot":"","sources":["../../../src/skill-interconnect/invariant.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,oCAAoC;AACpC,eAAO,MAAM,IAAI,iCAAiC,CAAA;AAClD,2EAA2E;AAC3E,eAAO,MAAM,MAAM,UAAiB,CAAA;AAQpC;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,KAAK,OAAO,KAAG,OAAO,CAAC,MAAM,IAAI,CACU,CAAA"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Package-owned invariant companion for `@deepseek-ai/dsh-tool-interconnect`.
|
|
3
|
-
* @module @deepseek-ai/dsh-tool-interconnect/invariant
|
|
4
|
-
*/
|
|
5
|
-
import type { Context } from '@deepseek-ai/cordis';
|
|
6
|
-
/** Cordis companion plugin name. */
|
|
7
|
-
export declare const name = "tool-interconnect-invariant";
|
|
8
|
-
/** Service required before the companion can register. */
|
|
9
|
-
export declare const inject: string[];
|
|
10
|
-
/**
|
|
11
|
-
* Register this package's invariant companion.
|
|
12
|
-
* @param ctx - Cordis context carrying the invariant service.
|
|
13
|
-
* @returns the installed registration's disposer after setup succeeds.
|
|
14
|
-
*/
|
|
15
|
-
export declare const apply: (ctx: Context) => Promise<() => void>;
|
|
16
|
-
//# sourceMappingURL=invariant.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"invariant.d.ts","sourceRoot":"","sources":["../../../src/tool-interconnect/invariant.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,oCAAoC;AACpC,eAAO,MAAM,IAAI,gCAAgC,CAAA;AACjD,0DAA0D;AAC1D,eAAO,MAAM,MAAM,UAAiB,CAAA;AAWpC;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,KAAK,OAAO,KAAG,OAAO,CAAC,MAAM,IAAI,CACU,CAAA"}
|