dsh-interconnect 0.11.23 → 0.13.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.
@@ -12,8 +12,9 @@
12
12
  * @module dsh-interconnect
13
13
  */
14
14
  import { Context, Service } from '@deepseek-ai/cordis';
15
+ import type { ContextFormed } from '@deepseek-ai/dsh-llm';
15
16
  import z from '@deepseek-ai/schemastery';
16
- 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';
17
18
  export type * from './types.ts';
18
19
  /**
19
20
  * Credential reference holding the shared auth token. Both halves of a link
@@ -39,6 +40,21 @@ declare module '@deepseek-ai/cordis' {
39
40
  'interconnect/event'(notification: EventNotification, peer: string): void;
40
41
  }
41
42
  }
43
+ declare module '@deepseek-ai/dsh-llm' {
44
+ interface MessageSourceMap {
45
+ /**
46
+ * Attribution of a handoff this plugin delivered. Session format V4 refuses
47
+ * the retired `{ kind: 'plugin', plugin }` wrapper, so the producer kind
48
+ * stands alone: the name is exactly what the harness's V3-to-V4 migration
49
+ * writes for this plugin's already-persisted handoffs (`plugin:` plus the
50
+ * original plugin name), keeping migrated rows and rows written from now on
51
+ * under one producer identity.
52
+ */
53
+ 'plugin:dsh-interconnect': {
54
+ readonly kind: 'plugin:dsh-interconnect';
55
+ } & ContextFormed;
56
+ }
57
+ }
42
58
  /**
43
59
  * Maximum session rows one `list` answer carries, so a very large live set
44
60
  * still answers with a bounded number of targets. A consumer that renders the
@@ -110,7 +126,7 @@ export declare class InterconnectService extends Service {
110
126
  * Returns the peer identity when reachable, or undefined when the link is
111
127
  * not up or no answer arrives.
112
128
  * @param instanceId - the peer's `instanceId` as configured under {@link Config.peers}.
113
- * @returns the peer's identity, or undefined when the link is not up or no answer arrives.
129
+ * @returns the peer's identity, or undefined when there is no usable answer.
114
130
  */
115
131
  ping(instanceId: string): Promise<PingResult | undefined>;
116
132
  /**
@@ -120,12 +136,22 @@ export declare class InterconnectService extends Service {
120
136
  * @returns the peer's live session rows, or undefined on transport failure.
121
137
  */
122
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[];
123
149
  /**
124
150
  * Send a `msg` frame over the live link to a peer and resolve with its
125
- * correlated `msg-result`. Undefined when the peer has no live link here
126
- * (not configured, or the link is down) — sends can only address configured+
127
- * connected peers by design — and a `message-too-large` result when the
128
- * encoded frame would not fit the link.
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.
129
155
  */
130
156
  private msgRequest;
131
157
  /** Send a `query` frame over the live link to a peer and resolve its result. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interconnect/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interconnect/index.ts"],"names":[],"mappings":"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"}
@@ -83,20 +83,30 @@ export interface SendPayload {
83
83
  * - `session-owned-by-subagent` — the session is reserved to subagent routing,
84
84
  * so its parent agent owns delivery. Injecting here would race that parent;
85
85
  * the sender must reach the child through its parent instead.
86
- * - `message-too-large` — the encoded frame for this message exceeds the link's
87
- * frame cap (1 MiB), so nothing was written and the peer link stayed up.
88
- * Retrying the same text cannot succeed; it has to be shortened.
86
+ * - `message-too-large` — over a writable link, the encoded frame for this
87
+ * message exceeds the link's frame cap (1 MiB), so nothing was written and the
88
+ * peer link stayed up. Retrying the same text cannot succeed; it has to be
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.
89
98
  * - `no-sender-known` — a `reply` was addressed to a local session that never
90
99
  * recorded a sender, either because that session did not receive a message
91
100
  * through this service or the incoming message carried no `sender` identity
92
101
  * (an older peer omitted it). A caller with no executing session reports it
93
102
  * too: there is no local session whose sender could be recalled.
94
103
  *
95
- * `message-too-large` and `no-sender-known` are produced locally and never cross
96
- * the wire: `msgResultSchema` admits only the reasons a receiver can answer with,
97
- * so a caller sees them only from this instance's own service.
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.
98
108
  */
99
- 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';
100
110
  /**
101
111
  * Business result of a `send` endpoint call: either the target session was
102
112
  * reached, with the mode actually used, or it was not, with the reason. The
@@ -140,9 +150,10 @@ export interface InterconnectSessionSummary {
140
150
  /** The session id to pass back as `SendPayload.sessionId`. */
141
151
  readonly sessionId: string;
142
152
  /**
143
- * The session's title when a title projection is available. Absent rather
144
- * than empty when the projection is missing or the session has no title yet,
145
- * so a caller can tell "untitled" from "titles unavailable on this receiver".
153
+ * The session's title when the receiver could supply one. Absent when the
154
+ * projection is missing, the session has no title yet, or the title did not
155
+ * fit the answer's size bound, so an absent title says nothing about whether
156
+ * that session is titled.
146
157
  */
147
158
  readonly title?: string;
148
159
  /** The agent's current status, so a sender can prefer an idle target. */
@@ -151,8 +162,10 @@ export interface InterconnectSessionSummary {
151
162
  /** Business result of a `list` call. */
152
163
  export interface ListResult {
153
164
  /**
154
- * Live sessions in registration order, capped at the 100-row limit one
155
- * answer may carry so the frame stays inside the link's size bound.
165
+ * Live sessions in registration order. The answer is truncated at 100 rows or
166
+ * when its serialized rows reach the link's frame bound, whichever comes
167
+ * first, so a truncated answer is a prefix of this order rather than a
168
+ * complete set.
156
169
  */
157
170
  readonly sessions: readonly InterconnectSessionSummary[];
158
171
  /** Echoed receiver instance id (diagnostic; never trusted for routing). */
@@ -257,9 +270,12 @@ export type LinkFrame = {
257
270
  readonly result: unknown;
258
271
  };
259
272
  /**
260
- * A request/response query carried by `query`/`query-result` frames, used for
261
- * the discovery endpoints (`ping`, `list`) over the persistent link. `ping`
262
- * answers the peer's identity; `list` answers the peer's live session rows.
273
+ * A request/response query carried by `query`/`query-result` frames over the
274
+ * persistent link. `ping` answers the peer's identity, `list` answers the
275
+ * peer's live session rows, and `event` pushes one lifecycle notification from
276
+ * a peer that delivers events as queries; this instance pushes its own events
277
+ * as `event` frames, so the `event` query is accepted only for peers that use
278
+ * it.
263
279
  */
264
280
  export type QueryMessage = {
265
281
  readonly kind: 'ping';
@@ -284,10 +300,29 @@ export type LinkMessage = {
284
300
  readonly delivery?: DeliveryMode;
285
301
  readonly resume?: boolean;
286
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
+ /** The origin this instance dials for that peer, as configured. */
316
+ readonly origin: string;
317
+ /** Whether that dialed link is open right now; a closed one re-dials on its own backoff. */
318
+ readonly link: PeerLinkState;
319
+ }
287
320
  /** Service config bound by the Composition loader. */
288
321
  export interface Config {
289
322
  /**
290
323
  * Self-reported id of this instance, echoed in ping/send results for diagnostics.
324
+ * At most 256 characters: every frame this instance writes carries it, so a
325
+ * longer id could not fit the link's frame cap.
291
326
  * It must be unique across the mesh: an inbound socket announcing an id that an
292
327
  * open dialed link already covers is skipped, so two instances sharing one id
293
328
  * receive events only over the link this instance dials; with no dialed link
@@ -312,9 +347,13 @@ export interface Config {
312
347
  * open dialed link for the id that socket announced. A peer listed under a
313
348
  * key other than the id it announces is therefore not recognised as the same
314
349
  * peer and receives each event twice; the service warns about that once per
315
- * link. This map is the whole route surface: only the constructor reads it,
316
- * so a peer link is added, removed, or re-pointed by restarting with
317
- * different values.
350
+ * link. This map is the whole route surface: only the constructor reads it, so
351
+ * a changed map takes effect when the service is re-activated. Under the
352
+ * `dsh` launcher that happens on its own — the profile HMR row reconciles this
353
+ * row's config and rebuilds its fiber, which re-links the map (measured live:
354
+ * adding a peer starts the dial, removing it stops the dial, and a changed
355
+ * `instanceId` is announced by the next link). Without that row, changing the
356
+ * map means restarting the instance.
318
357
  */
319
358
  readonly peers?: Record<string, string>;
320
359
  /**
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG,aAAa,GAAG,gBAAgB,GAAG,eAAe,GAAG,2BAA2B,GAAG,mBAAmB,GAAG,iBAAiB,CAAA;AAEzK;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAClB;IACA,oGAAoG;IACpG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;CACjC,GACC;IACA,qDAAqD;IACrD,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAA;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAC7B,CAAA;AAEH,iDAAiD;AACjD,MAAM,WAAW,UAAU;IACzB,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,0BAA0B,EAAE,CAAA;IACxD,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED,qFAAqF;AACrF,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;IAChC,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;IAChC,oFAAoF;IACpF,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAGD,8EAA8E;AAC9E,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;IAChC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAClG;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GACnG;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAA;AAE9H;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,qCAAqC;IACrC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAA;CACzC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAC/E;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACpF;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GAChF;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAA;AAEvF;;;;GAIG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAA;CAAE,CAAA;AAExE;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,sDAAsD;AACtD,MAAM,WAAW,MAAM;IACrB;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAC/B"}
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 four tool surfaces. Registration is idempotent per fiber; 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;AAM7C,0BAA0B;AAC1B,eAAO,MAAM,IAAI,sBAAsB,CAAA;AAEvC,uDAAuD;AACvD,eAAO,MAAM,MAAM,UAA4B,CAAA;AA6C/C;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAqSxC"}
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.11.23",
4
+ "version": "0.13.0",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "main": "lib/index.js",