ds-harness-remote 0.3.36 → 0.4.1

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.
Files changed (49) hide show
  1. package/README.md +26 -24
  2. package/dist/client-runtime.d.ts +9 -4
  3. package/dist/client-runtime.d.ts.map +1 -1
  4. package/dist/client-runtime.js +140 -23
  5. package/dist/client-runtime.js.map +1 -1
  6. package/dist/harness-api-bridge.d.ts +2 -9
  7. package/dist/harness-api-bridge.d.ts.map +1 -1
  8. package/dist/harness-api-bridge.js.map +1 -1
  9. package/dist/harness-remote-bridge.d.ts +46 -0
  10. package/dist/harness-remote-bridge.d.ts.map +1 -0
  11. package/dist/harness-remote-bridge.js +321 -0
  12. package/dist/harness-remote-bridge.js.map +1 -0
  13. package/dist/index.d.ts +4 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1066 -83
  16. package/dist/index.js.map +4 -4
  17. package/dist/native-rtc-helper.d.ts +10 -0
  18. package/dist/native-rtc-helper.d.ts.map +1 -1
  19. package/dist/native-rtc-helper.js +21 -3
  20. package/dist/native-rtc-helper.js.map +1 -1
  21. package/dist/remote-typert-gateway.d.ts +13 -0
  22. package/dist/remote-typert-gateway.d.ts.map +1 -0
  23. package/dist/remote-typert-gateway.js +242 -0
  24. package/dist/remote-typert-gateway.js.map +1 -0
  25. package/dist/rpc-router.d.ts +7 -2
  26. package/dist/rpc-router.d.ts.map +1 -1
  27. package/dist/rpc-router.js +61 -12
  28. package/dist/rpc-router.js.map +1 -1
  29. package/dist/server-connection.d.ts +5 -0
  30. package/dist/server-connection.d.ts.map +1 -1
  31. package/dist/server-connection.js +120 -5
  32. package/dist/server-connection.js.map +1 -1
  33. package/dist/service.d.ts +5 -3
  34. package/dist/service.d.ts.map +1 -1
  35. package/dist/service.js +26 -8
  36. package/dist/service.js.map +1 -1
  37. package/dist/typert-gateway-contract.d.ts +48 -0
  38. package/dist/typert-gateway-contract.d.ts.map +1 -0
  39. package/dist/typert-gateway-contract.js +2 -0
  40. package/dist/typert-gateway-contract.js.map +1 -0
  41. package/dist/typert-gateway-switch.d.ts +28 -7
  42. package/dist/typert-gateway-switch.d.ts.map +1 -1
  43. package/dist/typert-gateway-switch.js +121 -23
  44. package/dist/typert-gateway-switch.js.map +1 -1
  45. package/dist/version.d.ts +1 -1
  46. package/dist/version.d.ts.map +1 -1
  47. package/dist/version.js +1 -1
  48. package/dist/version.js.map +1 -1
  49. package/package.json +13 -8
@@ -1,5 +1,5 @@
1
1
  import { NoiseIkSession, createNoisePrologue, fromBase64Url, toBase64Url, } from '@dsh-remote/crypto';
2
- import { PROTOCOL_VERSION, SecureMessageCodec, createControlFrame, decodeMessage, encodeMessage, parseControlFrame, } from '@dsh-remote/protocol';
2
+ import { PROTOCOL_VERSION, SecureMessageCodec, acceptNegotiatedCapabilities, createControlFrame, decodeMessage, encodeMessage, parseControlFrame, } from '@dsh-remote/protocol';
3
3
  import { RtcDataChannelTransport, stunOnlyIceServers, } from '@dsh-remote/webrtc';
4
4
  import { ServerApiError } from './server-api.js';
5
5
  import { PLUGIN_VERSION } from './version.js';
@@ -26,6 +26,7 @@ export class HostServerConnection {
26
26
  reconnectRequested = false;
27
27
  resumeQueued = false;
28
28
  rtcFactory;
29
+ negotiatedCapabilities = ['transport.relay'];
29
30
  constructor(config, identity, identities, api, connections, logger, createWebSocket = url => new WebSocket(url), rtcFactoryProvider, hostCapabilities = () => ['harness.api.v1'], harnessVersion) {
30
31
  this.config = config;
31
32
  this.identity = identity;
@@ -126,6 +127,9 @@ export class HostServerConnection {
126
127
  const credentials = await this.api.authenticate(this.identity);
127
128
  if (this.stopped)
128
129
  return;
130
+ const offeredCapabilities = this.rtcFactoryProvider === undefined || this.config.forceRelay
131
+ ? ['transport.relay', ...this.hostCapabilities()]
132
+ : ['transport.p2p', 'transport.turn', 'transport.relay', ...this.hostCapabilities()];
129
133
  const socket = this.createWebSocket(websocketUrl(this.api.baseUrl));
130
134
  this.socket = socket;
131
135
  let acknowledged = false;
@@ -151,9 +155,7 @@ export class HostServerConnection {
151
155
  protocols: [PROTOCOL_VERSION],
152
156
  clientVersion: PLUGIN_VERSION,
153
157
  ...(this.harnessVersion === undefined ? {} : { harnessVersion: this.harnessVersion }),
154
- capabilities: this.rtcFactoryProvider === undefined || this.config.forceRelay
155
- ? ['transport.relay', ...this.hostCapabilities()]
156
- : ['transport.p2p', 'transport.turn', 'transport.relay', ...this.hostCapabilities()],
158
+ capabilities: offeredCapabilities,
157
159
  });
158
160
  };
159
161
  socket.onmessage = event => {
@@ -162,6 +164,12 @@ export class HostServerConnection {
162
164
  this.lastActiveAt = Date.now();
163
165
  if (frame.type === 'hello.ack') {
164
166
  const payload = requireHelloAck(frame.payload);
167
+ this.negotiatedCapabilities = acceptNegotiatedCapabilities(offeredCapabilities, payload.capabilities);
168
+ if (!this.negotiatedCapabilities.some(capability => capability === 'transport.relay'
169
+ || capability === 'transport.p2p'
170
+ || capability === 'transport.turn')) {
171
+ throw new ControlConnectionError('INVALID_MESSAGE', 'Server did not negotiate a transport capability.');
172
+ }
165
173
  acknowledged = true;
166
174
  clearTimeout(helloTimer);
167
175
  this.online = true;
@@ -243,8 +251,10 @@ export class HostServerConnection {
243
251
  this.handleSignalIce(requireSignalIce(frame.payload));
244
252
  return;
245
253
  }
246
- if (frame.type === 'transport.selected')
254
+ if (frame.type === 'transport.selected') {
255
+ await this.handleTransportSelected(requireTransportSelected(frame.payload));
247
256
  return;
257
+ }
248
258
  if (frame.type === 'signal.answer')
249
259
  return;
250
260
  if (frame.type === 'error') {
@@ -348,6 +358,23 @@ export class HostServerConnection {
348
358
  if (tunnel === undefined || payload.targetDeviceId !== this.identity.deviceId || payload.step !== 1) {
349
359
  throw new ControlConnectionError('SECURE_CHANNEL_FAILED', 'Noise IK handshake is not valid for this connection.');
350
360
  }
361
+ if (tunnel.transport === 'negotiating' && tunnel.rtc !== undefined) {
362
+ // transport.selected and secure.handshake traverse the Server control
363
+ // plane separately. Do not guess Relay if forwarding or the responder's
364
+ // RTC-ready callback delivers the handshake first; resume as soon as
365
+ // either side confirms the selected data plane.
366
+ if (tunnel.pendingHandshake === undefined)
367
+ tunnel.pendingHandshake = payload;
368
+ else
369
+ this.logger.warn('duplicate pending secure handshake ignored', {
370
+ connectionId: shortId(tunnel.connectionId),
371
+ peerDeviceId: shortId(tunnel.peer.deviceId),
372
+ });
373
+ return;
374
+ }
375
+ await this.completeHandshake(tunnel, payload);
376
+ }
377
+ async completeHandshake(tunnel, payload) {
351
378
  tunnel.noise.readHandshake(fromBase64Url(payload.data));
352
379
  const reply = tunnel.noise.writeHandshake();
353
380
  if (!tunnel.noise.complete)
@@ -381,7 +408,17 @@ export class HostServerConnection {
381
408
  transport: mode,
382
409
  });
383
410
  }
411
+ async resumePendingHandshake(tunnel) {
412
+ const payload = tunnel.pendingHandshake;
413
+ if (payload === undefined || tunnel.channel !== undefined || tunnel.transport === 'negotiating')
414
+ return;
415
+ tunnel.pendingHandshake = undefined;
416
+ await this.completeHandshake(tunnel, payload);
417
+ }
384
418
  async handleRelay(payload) {
419
+ if (!this.negotiatedCapabilities.includes('transport.relay')) {
420
+ throw new ControlConnectionError('INVALID_MESSAGE', 'Server forwarded Relay without negotiating it.');
421
+ }
385
422
  if (payload.targetDeviceId !== this.identity.deviceId) {
386
423
  throw new ControlConnectionError('INVALID_MESSAGE', 'Relay frame target does not match this Host.');
387
424
  }
@@ -401,6 +438,9 @@ export class HostServerConnection {
401
438
  }
402
439
  }
403
440
  async handleSignalOffer(payload) {
441
+ if (!this.canUseWebRtc()) {
442
+ throw new ControlConnectionError('INVALID_MESSAGE', 'Server forwarded WebRTC signaling without negotiating it.');
443
+ }
404
444
  const tunnel = this.tunnels.get(payload.connectionId);
405
445
  if (tunnel === undefined || payload.targetDeviceId !== this.identity.deviceId) {
406
446
  this.logger.warn('stale webrtc offer ignored', { connectionId: shortId(payload.connectionId) });
@@ -469,11 +509,60 @@ export class HostServerConnection {
469
509
  rtc.handleSignal({ type: 'offer', sdp: payload.sdp });
470
510
  }
471
511
  handleSignalIce(payload) {
512
+ if (!this.canUseWebRtc()) {
513
+ throw new ControlConnectionError('INVALID_MESSAGE', 'Server forwarded WebRTC signaling without negotiating it.');
514
+ }
472
515
  const tunnel = this.tunnels.get(payload.connectionId);
473
516
  if (tunnel === undefined || payload.targetDeviceId !== this.identity.deviceId)
474
517
  return;
475
518
  tunnel.rtc?.handleSignal({ type: 'ice', candidate: payload.candidate });
476
519
  }
520
+ async handleTransportSelected(payload) {
521
+ const tunnel = this.tunnels.get(payload.connectionId);
522
+ if (tunnel === undefined || payload.targetDeviceId !== this.identity.deviceId) {
523
+ this.logger.warn('stale transport selection ignored', { connectionId: shortId(payload.connectionId) });
524
+ return;
525
+ }
526
+ if (tunnel.channel !== undefined) {
527
+ // Selection is immutable once Noise has bound the business channel to a
528
+ // data plane. Late duplicate control frames must not switch it beneath
529
+ // an authenticated connection.
530
+ if (tunnel.transport !== payload.transport) {
531
+ this.logger.warn('late transport selection ignored', {
532
+ connectionId: shortId(tunnel.connectionId),
533
+ selected: payload.transport,
534
+ });
535
+ }
536
+ return;
537
+ }
538
+ const requiredCapability = `transport.${payload.transport}`;
539
+ if (!this.negotiatedCapabilities.includes(requiredCapability)) {
540
+ throw new ControlConnectionError('INVALID_MESSAGE', `Client selected unnegotiated transport: ${payload.transport}`);
541
+ }
542
+ if (payload.transport === 'relay') {
543
+ const rtc = tunnel.rtc;
544
+ tunnel.rtc = undefined;
545
+ tunnel.transport = 'relay';
546
+ tunnel.transportMode = undefined;
547
+ await rtc?.close();
548
+ await this.resumePendingHandshake(tunnel);
549
+ return;
550
+ }
551
+ if (tunnel.rtc === undefined) {
552
+ throw new ControlConnectionError('INVALID_MESSAGE', 'Client selected WebRTC before creating a data channel.');
553
+ }
554
+ // The initiator emits transport.selected only after its DataChannel is
555
+ // open, then immediately starts Noise. Apply that ordered control frame
556
+ // before the handshake so a slower responder-side RTC ready callback
557
+ // cannot bind replies to Relay while requests arrive over WebRTC.
558
+ tunnel.transport = payload.transport;
559
+ tunnel.transportMode = tunnel.rtc.selectedPathMode();
560
+ await this.resumePendingHandshake(tunnel);
561
+ }
562
+ canUseWebRtc() {
563
+ return this.negotiatedCapabilities.includes('transport.p2p')
564
+ || this.negotiatedCapabilities.includes('transport.turn');
565
+ }
477
566
  sendRtcSignal(tunnel, signal) {
478
567
  if (signal.type === 'answer') {
479
568
  this.sendControl('signal.answer', {
@@ -493,6 +582,16 @@ export class HostServerConnection {
493
582
  handleRtcOpened(tunnel, selected) {
494
583
  if (this.tunnels.get(tunnel.connectionId) !== tunnel || tunnel.rtc === undefined)
495
584
  return;
585
+ const requiredCapability = selected === 'turn' ? 'transport.turn' : 'transport.p2p';
586
+ if (!this.negotiatedCapabilities.includes(requiredCapability)) {
587
+ const error = new Error(`WebRTC selected unnegotiated transport: ${selected}`);
588
+ if (!this.negotiatedCapabilities.includes('transport.relay')) {
589
+ void this.dropTunnel(tunnel.connectionId, 'CONNECTION_FAILED');
590
+ return;
591
+ }
592
+ void this.handleRtcFailed(tunnel, tunnel.rtc, error);
593
+ return;
594
+ }
496
595
  tunnel.transport = selected;
497
596
  tunnel.transportMode = tunnel.rtc.selectedPathMode();
498
597
  this.sendTransportSelected(tunnel, selected);
@@ -502,6 +601,13 @@ export class HostServerConnection {
502
601
  transport: tunnel.transportMode ?? selected,
503
602
  ...webrtcDiagnosticsLogFields(rtcDiagnostics(tunnel.rtc)),
504
603
  });
604
+ void this.resumePendingHandshake(tunnel).catch(error => {
605
+ this.logger.warn('pending secure handshake failed', {
606
+ connectionId: shortId(tunnel.connectionId),
607
+ reason: diagnosticReason(error),
608
+ });
609
+ void this.dropTunnel(tunnel.connectionId, 'SECURE_CHANNEL_FAILED');
610
+ });
505
611
  }
506
612
  async handleRtcFailed(tunnel, rtc, error) {
507
613
  if (this.tunnels.get(tunnel.connectionId) !== tunnel || tunnel.rtc !== rtc)
@@ -523,6 +629,7 @@ export class HostServerConnection {
523
629
  reason: diagnosticReason(error),
524
630
  ...webrtcDiagnosticsLogFields(rtcDiagnostics(rtc)),
525
631
  });
632
+ await this.resumePendingHandshake(tunnel);
526
633
  }
527
634
  sendTransportSelected(tunnel, transport) {
528
635
  this.sendControl('transport.selected', {
@@ -745,6 +852,14 @@ function requireSignalIce(value) {
745
852
  }
746
853
  return payload;
747
854
  }
855
+ function requireTransportSelected(value) {
856
+ const payload = requireObject(value);
857
+ if (typeof payload.connectionId !== 'string' || typeof payload.targetDeviceId !== 'string'
858
+ || (payload.transport !== 'p2p' && payload.transport !== 'turn' && payload.transport !== 'relay')) {
859
+ throw new ControlConnectionError('INVALID_MESSAGE', 'transport.selected payload is invalid.');
860
+ }
861
+ return payload;
862
+ }
748
863
  function requireControlError(value) {
749
864
  const payload = requireObject(value);
750
865
  if (typeof payload.code !== 'string' || typeof payload.message !== 'string'
@@ -1 +1 @@
1
- {"version":3,"file":"server-connection.js","sourceRoot":"","sources":["../src/server-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-connection.js","sourceRoot":"","sources":["../src/server-connection.ts"],"names":[],"mappings":"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"}
package/dist/service.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { type ApiProxy } from '@deepseek-ai/dsh-host-apiproxy/api';
1
+ import type { ApiProxy } from '@deepseek-ai/dsh-host-apiproxy/api';
2
2
  import { ConnectionController } from './connection-controller.js';
3
3
  import type { ResolvedConfig } from './config.js';
4
4
  import type { HostIdentity, IdentityStore } from './identity-store.js';
5
5
  import type { SafeLogger } from './logging.js';
6
6
  import { type FileViewerHostServiceLike } from './file-viewer-bridge.js';
7
7
  import { type DeviceAuthorization } from './server-api.js';
8
- import { type TypertGatewayLike } from './harness-api-bridge.js';
8
+ import type { LocalTypertGateway } from './typert-gateway-contract.js';
9
9
  import type { AuthenticatedPeerChannel } from './types.js';
10
10
  export interface HostRemoteStatus {
11
11
  deviceId?: string;
@@ -23,6 +23,7 @@ export declare class HostPluginRuntime {
23
23
  private readonly identities;
24
24
  private readonly apiProxy;
25
25
  private readonly logger;
26
+ private readonly localGateway?;
26
27
  private readonly fileViewerHost?;
27
28
  readonly connections: ConnectionController;
28
29
  private identity?;
@@ -30,7 +31,7 @@ export declare class HostPluginRuntime {
30
31
  private serverConnection?;
31
32
  private harnessVersion?;
32
33
  private closed;
33
- constructor(config: ResolvedConfig, identities: IdentityStore, apiProxy: ApiProxy, logger: SafeLogger, typertGateway?: () => TypertGatewayLike | undefined, fileViewerHost?: (() => FileViewerHostServiceLike | undefined) | undefined);
34
+ constructor(config: ResolvedConfig, identities: IdentityStore, apiProxy: ApiProxy | undefined, logger: SafeLogger, localGateway?: LocalTypertGateway | undefined, fileViewerHost?: (() => FileViewerHostServiceLike | undefined) | undefined);
34
35
  start(): Promise<void>;
35
36
  currentIdentity(): HostIdentity;
36
37
  acceptAuthenticatedPeer(channel: AuthenticatedPeerChannel): Promise<void>;
@@ -57,5 +58,6 @@ export declare class HostPluginRuntime {
57
58
  };
58
59
  private createServerConnection;
59
60
  private readHarnessVersion;
61
+ private hostCapabilities;
60
62
  }
61
63
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAEzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAMtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,EAA0B,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAChG,OAAO,EAAiC,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAGzF,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAElF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,qBAAa,iBAAiB;IAS1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAblC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAA;IAC1C,OAAO,CAAC,QAAQ,CAAC,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAe;IAC1C,OAAO,CAAC,gBAAgB,CAAC,CAAsB;IAC/C,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,OAAO,CAAC,MAAM,CAAQ;gBAGH,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,UAAU,EACnC,aAAa,CAAC,EAAE,MAAM,iBAAiB,GAAG,SAAS,EAClC,cAAc,CAAC,GAAE,MAAM,yBAAyB,GAAG,SAAS,aAAA;IAsBzE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB5B,eAAe,IAAI,YAAY;IAK/B,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzE,UAAU,IAAI,gBAAgB;IAkB9B,aAAa,IAAI,IAAI;IAQf,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IASvC,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAqBzF,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAUvF,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAUjE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,WAAW;;;;;;;;;;;;;IAgBX,OAAO,CAAC,sBAAsB;YAmBhB,kBAAkB;CAqBjC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAMtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,EAA0B,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAChG,OAAO,EAAiC,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAKzF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,qBAAa,iBAAiB;IAS1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAblC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAA;IAC1C,OAAO,CAAC,QAAQ,CAAC,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAe;IAC1C,OAAO,CAAC,gBAAgB,CAAC,CAAsB;IAC/C,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,OAAO,CAAC,MAAM,CAAQ;gBAGH,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,MAAM,EAAE,UAAU,EAClB,YAAY,CAAC,EAAE,kBAAkB,YAAA,EACjC,cAAc,CAAC,GAAE,MAAM,yBAAyB,GAAG,SAAS,aAAA;IA+BzE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB5B,eAAe,IAAI,YAAY;IAK/B,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzE,UAAU,IAAI,gBAAgB;IAkB9B,aAAa,IAAI,IAAI;IAQf,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IASvC,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAqBzF,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAUvF,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAUjE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,WAAW;;;;;;;;;;;;;IAgBX,OAAO,CAAC,sBAAsB;YAiBhB,kBAAkB;IAuBhC,OAAO,CAAC,gBAAgB;CASzB"}
package/dist/service.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import { randomUUID } from 'node:crypto';
2
- import { RpcId } from '@deepseek-ai/dsh-host-apiproxy/api';
3
2
  import { createEvent } from '@dsh-remote/protocol';
4
3
  import { ConnectionController } from './connection-controller.js';
5
4
  import { normalizeHarnessVersion, readHarnessDistributionVersion, selectHarnessVersion, } from './harness-version.js';
@@ -9,12 +8,14 @@ import { HostServerApi, ServerApiError } from './server-api.js';
9
8
  import { HostServerConnection } from './server-connection.js';
10
9
  import { ServerCredentialStore } from './server-credentials.js';
11
10
  import { HarnessApiBridge } from './harness-api-bridge.js';
11
+ import { HarnessRemoteBridge } from './harness-remote-bridge.js';
12
12
  import { loadNodeRtcFactory } from './werift-rtc.js';
13
13
  export class HostPluginRuntime {
14
14
  config;
15
15
  identities;
16
16
  apiProxy;
17
17
  logger;
18
+ localGateway;
18
19
  fileViewerHost;
19
20
  connections;
20
21
  identity;
@@ -22,16 +23,22 @@ export class HostPluginRuntime {
22
23
  serverConnection;
23
24
  harnessVersion;
24
25
  closed = false;
25
- constructor(config, identities, apiProxy, logger, typertGateway, fileViewerHost) {
26
+ constructor(config, identities, apiProxy, logger, localGateway, fileViewerHost) {
26
27
  this.config = config;
27
28
  this.identities = identities;
28
29
  this.apiProxy = apiProxy;
29
30
  this.logger = logger;
31
+ this.localGateway = localGateway;
30
32
  this.fileViewerHost = fileViewerHost;
31
33
  this.connections = new ConnectionController(this.identities, (_context, send) => {
32
- const harnessApi = new HarnessApiBridge(this.apiProxy, (event, data) => send(createEvent(event, data)), undefined, this.logger, typertGateway?.(), this.harnessVersion);
34
+ const harnessApi = this.apiProxy === undefined
35
+ ? undefined
36
+ : new HarnessApiBridge(this.apiProxy, (event, data) => send(createEvent(event, data)), undefined, this.logger, this.localGateway, this.harnessVersion);
37
+ const harnessRemote = this.localGateway?.supportsCarrier === true
38
+ ? new HarnessRemoteBridge(this.localGateway, (event, data) => send(createEvent(event, data)), this.logger)
39
+ : undefined;
33
40
  const fileViewer = new RemoteFileViewerBridge(() => this.fileViewerHost?.(), this.logger);
34
- return new RpcRouter(harnessApi, undefined, this.logger, fileViewer);
41
+ return new RpcRouter(harnessApi, undefined, this.logger, fileViewer, harnessRemote, () => this.hostCapabilities());
35
42
  }, this.logger);
36
43
  if (config.serverUrl !== undefined) {
37
44
  this.serverApi = new HostServerApi(config.serverUrl, new ServerCredentialStore(identities.directory));
@@ -169,15 +176,15 @@ export class HostPluginRuntime {
169
176
  createServerConnection(identity) {
170
177
  return new HostServerConnection(this.config, identity, this.identities, this.serverApi, this.connections, this.logger, undefined, this.config.forceRelay
171
178
  ? undefined
172
- : () => loadNodeRtcFactory({ routeTargets: this.config.serverUrl === undefined ? [] : [this.config.serverUrl] }), () => this.fileViewerHost?.() === undefined
173
- ? ['harness.api.v1']
174
- : ['harness.api.v1', 'fileviewer.read.v1'], this.harnessVersion);
179
+ : () => loadNodeRtcFactory({ routeTargets: this.config.serverUrl === undefined ? [] : [this.config.serverUrl] }), () => this.hostCapabilities(), this.harnessVersion);
175
180
  }
176
181
  async readHarnessVersion() {
177
182
  let reportedVersion;
178
183
  let errorCode;
179
184
  try {
180
- const response = await this.apiProxy.host.describe({ rpcId: RpcId(randomUUID()), payload: {} });
185
+ const response = await this.apiProxy?.host.describe({ rpcId: randomUUID(), payload: {} });
186
+ if (response === undefined)
187
+ throw new Error('ApiProxy is unavailable');
181
188
  if (!response.result.ok) {
182
189
  errorCode = response.result.error.code;
183
190
  }
@@ -197,6 +204,17 @@ export class HostPluginRuntime {
197
204
  this.logger.warn('Harness version is unavailable', errorCode === undefined ? undefined : { code: errorCode });
198
205
  return undefined;
199
206
  }
207
+ hostCapabilities() {
208
+ const capabilities = [];
209
+ if (this.apiProxy !== undefined)
210
+ capabilities.push('harness.api.v1', 'harness.api.transfer.v1');
211
+ if (this.localGateway?.supportsCarrier === true) {
212
+ capabilities.push('harness.remote.v1', 'harness.remote.transfer.v1');
213
+ }
214
+ if (this.fileViewerHost?.() !== undefined)
215
+ capabilities.push('fileviewer.read.v1');
216
+ return capabilities;
217
+ }
200
218
  }
201
219
  function shortId(value) { return value.length <= 12 ? value : `${value.slice(0, 8)}…${value.slice(-4)}`; }
202
220
  //# sourceMappingURL=service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAGjE,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAkC,MAAM,yBAAyB,CAAA;AAChG,OAAO,EAAE,aAAa,EAAE,cAAc,EAA4B,MAAM,iBAAiB,CAAA;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAA0B,MAAM,yBAAyB,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAepD,MAAM,OAAO,iBAAiB;IAST;IACA;IACA;IACA;IACA;IACA;IAbV,WAAW,CAAsB;IAClC,QAAQ,CAAe;IACd,SAAS,CAAgB;IAClC,gBAAgB,CAAuB;IACvC,cAAc,CAAS;IACvB,MAAM,GAAG,KAAK,CAAA;IAEtB,YACmB,MAAsB,EACtB,UAAyB,EACzB,QAA8B,EAC9B,MAAkB,EAClB,YAAiC,EACjC,cAA4D;QAL5D,WAAM,GAAN,MAAM,CAAgB;QACtB,eAAU,GAAV,UAAU,CAAe;QACzB,aAAQ,GAAR,QAAQ,CAAsB;QAC9B,WAAM,GAAN,MAAM,CAAY;QAClB,iBAAY,GAAZ,YAAY,CAAqB;QACjC,mBAAc,GAAd,cAAc,CAA8C;QAE7E,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;YAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAC5C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,gBAAgB,CAClB,IAAI,CAAC,QAAQ,EACb,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAC/C,SAAS,EACT,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAA6C,EAClD,IAAI,CAAC,cAAc,CACpB,CAAA;YACL,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,eAAe,KAAK,IAAI;gBAC/D,CAAC,CAAC,IAAI,mBAAmB,CACrB,IAAI,CAAC,YAAY,EACjB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAC/C,IAAI,CAAC,MAAM,CACZ;gBACH,CAAC,CAAC,SAAS,CAAA;YACb,MAAM,UAAU,GAAG,IAAI,sBAAsB,CAC3C,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,EAC7B,IAAI,CAAC,MAAM,CACZ,CAAA;YACD,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAA;QACpH,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACf,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,qBAAqB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;QACvG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC5D,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACtC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACzC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;YACtC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,gBAAgB;SAClD,CAAC,CAAA;QACF,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;YACrD,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YACrD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAClE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAClF,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,uBAAuB,CAAC,OAAiC;QACvD,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC;IAED,UAAU;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,CAAA;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,EAAE,CAAA;QAC5D,OAAO;YACL,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC5E,UAAU,EAAE,IAAI,CAAC,SAAS,KAAK,SAAS;YACxC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE,IAAI,KAAK;YAClD,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE,cAAc,EAAE,IAAI,KAAK;YAC9D,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,KAAK,SAAS;gBACrD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAC;YAC3D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YACzC,GAAG,CAAC,aAAa,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC;YACnF,UAAU,EAAE,aAAa,KAAK,SAAS;YACvC,eAAe,EAAE,KAAK,KAAK,uBAAuB,IAAI,KAAK,KAAK,cAAc,IAAI,KAAK,KAAK,eAAe;SAC5G,CAAA;IACH,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC5D,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,cAAc,CAAC,uBAAuB,EAAE,0CAA0C,EAAE,KAAK,CAAC,CAAA;QACtG,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAA;QACnC,MAAM,IAAI,CAAC,SAAS,EAAE,mBAAmB,EAAE,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACnE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3C,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,WAAmB,EAAE,OAAgB;QAC9D,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,cAAc,CAAC,uBAAuB,EAAE,kDAAkD,EAAE,KAAK,CAAC,CAAA;QAC9G,CAAC;QACD,IAAI,MAAM,CAAA;QACV,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;QAChG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;gBAAE,MAAM,KAAK,CAAA;YACtF,MAAM,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAA;YACnC,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YACnE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAClE,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;YACrF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;QACrF,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;QACtD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,KAAa,EAAE,QAAgB;QAC5D,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,cAAc,CAAC,uBAAuB,EAAE,wCAAwC,EAAE,KAAK,CAAC,CAAA;QACpG,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QACjG,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QAC3C,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,IAAY;QACtC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,cAAc,CAAC,uBAAuB,EAAE,+DAA+D,EAAE,KAAK,CAAC,CAAA;QAC3H,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,CAAA;QACvF,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;QACrD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAC1D,IAAI,OAAO;YAAE,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM;YAAE,OAAM;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,MAAM,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAA;QACnC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IAC1C,CAAC;IAED,WAAW;QACT,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnF,aAAa,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC1C,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;YACrD,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE,IAAI,KAAK;YACxD,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE;YAC/C,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YACnC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;YACrD,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAG,CAAC;YACnH,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;YAC5D,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,MAAM;SACxD,CAAA;IACH,CAAC;IAEO,sBAAsB,CAAC,QAAsB;QACnD,OAAO,IAAI,oBAAoB,CAC7B,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAU,EACf,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,MAAM,EACX,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,UAAU;YACpB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAClH,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAC7B,IAAI,CAAC,cAAc,CACpB,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,IAAI,eAAmC,CAAA;QACvC,IAAI,SAA6B,CAAA;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,UAAU,EAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;YAClG,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;YACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACxB,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAA;YACxC,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC1E,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;QACvD,CAAC;QACD,MAAM,mBAAmB,GAAG,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,OAAO;YACtF,CAAC,CAAC,MAAM,8BAA8B,EAAE;YACxC,CAAC,CAAC,SAAS,CAAA;QACb,MAAM,OAAO,GAAG,oBAAoB,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAA;QAC1E,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,CAAA;QACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QAC7G,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,gBAAgB;QACtB,MAAM,YAAY,GAAa,EAAE,CAAA;QACjC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAA;QAC/F,IAAI,IAAI,CAAC,YAAY,EAAE,eAAe,KAAK,IAAI,EAAE,CAAC;YAChD,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,CAAA;QACtE,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,SAAS;YAAE,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAClF,OAAO,YAAY,CAAA;IACrB,CAAC;CACF;AAED,SAAS,OAAO,CAAC,KAAa,IAAY,OAAO,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA,CAAC,CAAC"}
@@ -0,0 +1,48 @@
1
+ export interface TypertGatewayRequest {
2
+ namespace: string;
3
+ method: string;
4
+ args: Readonly<Record<string, unknown>>;
5
+ signal?: AbortSignal;
6
+ }
7
+ export type TypertRpcResult = {
8
+ ok: true;
9
+ value?: unknown;
10
+ } | {
11
+ ok: false;
12
+ error: {
13
+ code: string;
14
+ message: string;
15
+ details: Record<string, unknown>;
16
+ };
17
+ };
18
+ export interface TypertGatewayWireStreamLike {
19
+ open(endpoint: string, payload: unknown, signal: AbortSignal): Promise<AsyncIterable<unknown>>;
20
+ failure(error: unknown): {
21
+ code: string;
22
+ message: string;
23
+ details: Record<string, unknown>;
24
+ };
25
+ }
26
+ /** Public Gateway face shared by Harness rc.2 and alpha.1. */
27
+ export interface TypertGatewayLike {
28
+ invoke(request: TypertGatewayRequest): Promise<unknown>;
29
+ stream?(request: TypertGatewayRequest): Promise<AsyncIterable<unknown>>;
30
+ wireStream?: TypertGatewayWireStreamLike;
31
+ }
32
+ /** Carrier-level face captured from the alpha.1 Gateway before target switching. */
33
+ export interface LocalTypertGateway extends TypertGatewayLike {
34
+ dispatch(endpoint: string, payload: unknown, signal: AbortSignal): Promise<TypertRpcResult>;
35
+ open(endpoint: string, payload: unknown, signal: AbortSignal): Promise<AsyncIterable<unknown>>;
36
+ failure(error: unknown): {
37
+ code: string;
38
+ message: string;
39
+ details: Record<string, unknown>;
40
+ };
41
+ supportsCarrier: boolean;
42
+ }
43
+ export interface RemoteTypertGatewayTarget {
44
+ invoke(request: TypertGatewayRequest): Promise<unknown>;
45
+ dispatch(endpoint: string, payload: unknown, signal: AbortSignal): Promise<TypertRpcResult>;
46
+ open(endpoint: string, payload: unknown, signal: AbortSignal): Promise<AsyncIterable<unknown>>;
47
+ }
48
+ //# sourceMappingURL=typert-gateway-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typert-gateway-contract.d.ts","sourceRoot":"","sources":["../src/typert-gateway-contract.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACvC,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE,CAAA;AAE7F,MAAM,WAAW,2BAA2B;IAC1C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;IAC9F,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAC7F;AAED,8DAA8D;AAC9D,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACvD,MAAM,CAAC,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;IACvE,UAAU,CAAC,EAAE,2BAA2B,CAAA;CACzC;AAED,oFAAoF;AACpF,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAC3F,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;IAC9F,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;IAC5F,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAC3F,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;CAC/F"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=typert-gateway-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typert-gateway-contract.js","sourceRoot":"","sources":["../src/typert-gateway-contract.ts"],"names":[],"mappings":""}