ds-harness-remote 0.3.36 → 0.4.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.
Files changed (41) 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 +130 -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 +847 -68
  16. package/dist/index.js.map +4 -4
  17. package/dist/remote-typert-gateway.d.ts +13 -0
  18. package/dist/remote-typert-gateway.d.ts.map +1 -0
  19. package/dist/remote-typert-gateway.js +242 -0
  20. package/dist/remote-typert-gateway.js.map +1 -0
  21. package/dist/rpc-router.d.ts +7 -2
  22. package/dist/rpc-router.d.ts.map +1 -1
  23. package/dist/rpc-router.js +61 -12
  24. package/dist/rpc-router.js.map +1 -1
  25. package/dist/service.d.ts +5 -3
  26. package/dist/service.d.ts.map +1 -1
  27. package/dist/service.js +26 -8
  28. package/dist/service.js.map +1 -1
  29. package/dist/typert-gateway-contract.d.ts +48 -0
  30. package/dist/typert-gateway-contract.d.ts.map +1 -0
  31. package/dist/typert-gateway-contract.js +2 -0
  32. package/dist/typert-gateway-contract.js.map +1 -0
  33. package/dist/typert-gateway-switch.d.ts +28 -7
  34. package/dist/typert-gateway-switch.d.ts.map +1 -1
  35. package/dist/typert-gateway-switch.js +114 -23
  36. package/dist/typert-gateway-switch.js.map +1 -1
  37. package/dist/version.d.ts +1 -1
  38. package/dist/version.d.ts.map +1 -1
  39. package/dist/version.js +1 -1
  40. package/dist/version.js.map +1 -1
  41. package/package.json +13 -8
@@ -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":""}
@@ -1,24 +1,45 @@
1
- import type { TypertGatewayLike } from './harness-api-bridge.js';
2
- type RemoteInvoke = (request: Parameters<TypertGatewayLike['invoke']>[0]) => Promise<unknown>;
1
+ import type { LocalTypertGateway, RemoteTypertGatewayTarget, TypertGatewayLike, TypertGatewayRequest } from './typert-gateway-contract.js';
2
+ type RemoteInvoke = (request: TypertGatewayRequest) => Promise<unknown>;
3
3
  export interface RemoteCommandSupport {
4
4
  execute: boolean;
5
5
  list: boolean;
6
6
  }
7
- /** Keeps the native gateway identity stable while command catalog and execution follow the selected Host. */
7
+ /** Keeps the official Gateway object stable while its selected Host changes. */
8
8
  export declare class TypertGatewaySwitch {
9
- private readonly gateway;
9
+ private readonly runtime;
10
10
  private readonly originalInvoke;
11
11
  private readonly localInvoke;
12
+ private readonly originalStream?;
13
+ private readonly localStream?;
14
+ private readonly originalDispatch?;
15
+ private readonly localDispatch?;
16
+ private readonly originalOpen?;
17
+ private readonly localOpen?;
12
18
  private remoteInvoke?;
19
+ private remoteTarget?;
13
20
  private remoteSupport;
21
+ private target?;
14
22
  private installed;
15
23
  constructor(gateway: TypertGatewayLike);
16
- /** A facade that always invokes the original local gateway. */
17
- local(): TypertGatewayLike;
24
+ /** Original local dispatcher, used by the Host bridge without switch recursion. */
25
+ local(): LocalTypertGateway;
26
+ supportsCarrier(): boolean;
27
+ status(): {
28
+ mode: 'local' | 'remote';
29
+ target?: {
30
+ deviceId: string;
31
+ name: string;
32
+ };
33
+ };
18
34
  install(): void;
19
- selectRemote(invoke: RemoteInvoke, support?: RemoteCommandSupport): void;
35
+ selectRemote(remote: RemoteInvoke | RemoteTypertGatewayTarget, support?: RemoteCommandSupport, target?: {
36
+ deviceId: string;
37
+ name: string;
38
+ }): void;
20
39
  selectLocal(): void;
21
40
  restore(): void;
41
+ private selectInvoke;
42
+ private failure;
22
43
  }
23
44
  export {};
24
45
  //# sourceMappingURL=typert-gateway-switch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typert-gateway-switch.d.ts","sourceRoot":"","sources":["../src/typert-gateway-switch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,KAAK,YAAY,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAK7F,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;CACd;AAID,6GAA6G;AAC7G,qBAAa,mBAAmB;IAOlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IANpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,aAAa,CAAwD;IAC7E,OAAO,CAAC,SAAS,CAAQ;gBAEI,OAAO,EAAE,iBAAiB;IAKvD,+DAA+D;IAC/D,KAAK,IAAI,iBAAiB;IAI1B,OAAO,IAAI,IAAI;IAiBf,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,oBAA0C,GAAG,IAAI;IAM7F,WAAW,IAAI,IAAI;IAKnB,OAAO,IAAI,IAAI;CAMhB"}
1
+ {"version":3,"file":"typert-gateway-switch.d.ts","sourceRoot":"","sources":["../src/typert-gateway-switch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EAErB,MAAM,8BAA8B,CAAA;AAErC,KAAK,YAAY,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAYvE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;CACd;AAID,gFAAgF;AAChF,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA0C;IAC1E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAA0C;IACvE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAiB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAa;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAa;IACxC,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,YAAY,CAAC,CAA2B;IAChD,OAAO,CAAC,aAAa,CAAwD;IAC7E,OAAO,CAAC,MAAM,CAAC,CAAoC;IACnD,OAAO,CAAC,SAAS,CAAQ;gBAEb,OAAO,EAAE,iBAAiB;IAYtC,mFAAmF;IACnF,KAAK,IAAI,kBAAkB;IAuB3B,eAAe,IAAI,OAAO;IAI1B,MAAM,IAAI;QAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;IAMnF,OAAO,IAAI,IAAI;IAqBf,YAAY,CACV,MAAM,EAAE,YAAY,GAAG,yBAAyB,EAChD,OAAO,GAAE,oBAA0C,EACnD,MAAM,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAC1C,IAAI;IAQP,WAAW,IAAI,IAAI;IAOnB,OAAO,IAAI,IAAI;IAUf,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,OAAO;CAQhB"}
@@ -1,61 +1,152 @@
1
- /** Typert `commands` methods that follow the selected Host (catalog + execution). */
2
1
  const REMOTE_COMMAND_METHODS = ['execute', 'list'];
3
2
  const ALL_REMOTE_COMMANDS = { execute: true, list: true };
4
- /** Keeps the native gateway identity stable while command catalog and execution follow the selected Host. */
3
+ /** Keeps the official Gateway object stable while its selected Host changes. */
5
4
  export class TypertGatewaySwitch {
6
- gateway;
5
+ runtime;
7
6
  originalInvoke;
8
7
  localInvoke;
8
+ originalStream;
9
+ localStream;
10
+ originalDispatch;
11
+ localDispatch;
12
+ originalOpen;
13
+ localOpen;
9
14
  remoteInvoke;
15
+ remoteTarget;
10
16
  remoteSupport = { execute: false, list: false };
17
+ target;
11
18
  installed = false;
12
19
  constructor(gateway) {
13
- this.gateway = gateway;
20
+ this.runtime = gateway;
14
21
  this.originalInvoke = gateway.invoke;
15
22
  this.localInvoke = this.originalInvoke.bind(gateway);
23
+ this.originalStream = gateway.stream;
24
+ this.localStream = gateway.stream?.bind(gateway);
25
+ this.originalDispatch = this.runtime.dispatchRpc;
26
+ this.localDispatch = this.runtime.dispatchRpc?.bind(gateway);
27
+ this.originalOpen = this.runtime.openWireStream;
28
+ this.localOpen = this.runtime.openWireStream?.bind(gateway) ?? gateway.wireStream?.open.bind(gateway.wireStream);
16
29
  }
17
- /** A facade that always invokes the original local gateway. */
30
+ /** Original local dispatcher, used by the Host bridge without switch recursion. */
18
31
  local() {
19
- return { invoke: this.localInvoke };
32
+ const dispatch = this.localDispatch ?? (async (endpoint, payload, signal) => {
33
+ try {
34
+ const request = requestFromCarrier(endpoint, payload, signal);
35
+ return { ok: true, value: await this.localInvoke(request) };
36
+ }
37
+ catch (error) {
38
+ return { ok: false, error: this.failure(error) };
39
+ }
40
+ });
41
+ const open = this.localOpen ?? (async (endpoint, payload, signal) => {
42
+ if (this.localStream === undefined)
43
+ throw new Error('The local Harness Gateway does not support Remote streams.');
44
+ return this.localStream(requestFromCarrier(endpoint, payload, signal));
45
+ });
46
+ return {
47
+ invoke: this.localInvoke,
48
+ ...(this.localStream === undefined ? {} : { stream: this.localStream }),
49
+ dispatch,
50
+ open,
51
+ failure: error => this.failure(error),
52
+ supportsCarrier: this.localDispatch !== undefined && this.localOpen !== undefined,
53
+ };
54
+ }
55
+ supportsCarrier() {
56
+ return this.localDispatch !== undefined && this.localOpen !== undefined;
57
+ }
58
+ status() {
59
+ return this.remoteInvoke === undefined
60
+ ? { mode: 'local' }
61
+ : { mode: 'remote', ...(this.target === undefined ? {} : { target: { ...this.target } }) };
20
62
  }
21
63
  install() {
22
64
  if (this.installed)
23
65
  return;
24
- this.gateway.invoke = request => {
25
- if (request.namespace !== 'commands' || !isRemoteCommandMethod(request.method) || this.remoteInvoke === undefined) {
26
- return this.localInvoke(request);
27
- }
28
- if (this.remoteSupport[request.method])
29
- return this.remoteInvoke(request);
30
- // A legacy Host cannot resolve commands.list, while the local registry
31
- // cannot resolve the selected remote session id. An empty compatibility
32
- // catalog keeps the workspace UI usable without misrepresenting local
33
- // commands as remotely executable.
34
- if (request.method === 'list')
35
- return Promise.resolve([]);
36
- return this.localInvoke(request);
37
- };
66
+ this.runtime.invoke = request => this.selectInvoke(request);
67
+ if (this.originalStream !== undefined) {
68
+ this.runtime.stream = request => this.remoteTarget === undefined
69
+ ? this.localStream(request)
70
+ : this.remoteTarget.open(endpointOf(request), { args: request.args }, request.signal ?? new AbortController().signal);
71
+ }
72
+ if (this.originalDispatch !== undefined) {
73
+ this.runtime.dispatchRpc = (endpoint, payload, signal) => this.remoteTarget === undefined
74
+ ? this.localDispatch(endpoint, payload, signal)
75
+ : this.remoteTarget.dispatch(endpoint, payload, signal);
76
+ }
77
+ if (this.originalOpen !== undefined) {
78
+ this.runtime.openWireStream = (endpoint, payload, signal) => this.remoteTarget === undefined
79
+ ? this.localOpen(endpoint, payload, signal)
80
+ : this.remoteTarget.open(endpoint, payload, signal);
81
+ }
38
82
  this.installed = true;
39
83
  }
40
- selectRemote(invoke, support = ALL_REMOTE_COMMANDS) {
84
+ selectRemote(remote, support = ALL_REMOTE_COMMANDS, target) {
41
85
  if (!this.installed)
42
86
  throw new Error('The Typert gateway switch is not installed.');
43
- this.remoteInvoke = invoke;
87
+ this.remoteInvoke = typeof remote === 'function' ? remote : request => remote.invoke(request);
88
+ this.remoteTarget = typeof remote === 'function' ? undefined : remote;
44
89
  this.remoteSupport = { ...support };
90
+ this.target = target === undefined ? undefined : { ...target };
45
91
  }
46
92
  selectLocal() {
47
93
  this.remoteInvoke = undefined;
94
+ this.remoteTarget = undefined;
48
95
  this.remoteSupport = { execute: false, list: false };
96
+ this.target = undefined;
49
97
  }
50
98
  restore() {
51
99
  if (!this.installed)
52
100
  return;
53
101
  this.selectLocal();
54
- this.gateway.invoke = this.originalInvoke;
102
+ this.runtime.invoke = this.originalInvoke;
103
+ if (this.originalStream !== undefined)
104
+ this.runtime.stream = this.originalStream;
105
+ if (this.originalDispatch !== undefined)
106
+ this.runtime.dispatchRpc = this.originalDispatch;
107
+ if (this.originalOpen !== undefined)
108
+ this.runtime.openWireStream = this.originalOpen;
55
109
  this.installed = false;
56
110
  }
111
+ selectInvoke(request) {
112
+ if (this.remoteTarget !== undefined)
113
+ return this.remoteTarget.invoke(request);
114
+ if (request.namespace !== 'commands' || !isRemoteCommandMethod(request.method) || this.remoteInvoke === undefined) {
115
+ return this.localInvoke(request);
116
+ }
117
+ if (this.remoteSupport[request.method])
118
+ return this.remoteInvoke(request);
119
+ if (request.method === 'list')
120
+ return Promise.resolve([]);
121
+ return this.localInvoke(request);
122
+ }
123
+ failure(error) {
124
+ const normalized = this.runtime.wireStream?.failure(error);
125
+ if (normalized !== undefined)
126
+ return normalized;
127
+ const source = error instanceof Error ? error : new Error('The Harness Gateway rejected the request.');
128
+ const code = 'code' in source && typeof source.code === 'string' ? source.code : 'internal';
129
+ const details = 'details' in source && isRecord(source.details) ? source.details : {};
130
+ return { code, message: source.message, details };
131
+ }
132
+ }
133
+ function requestFromCarrier(endpoint, payload, signal) {
134
+ const segments = endpoint.split('/');
135
+ if (segments.length !== 2 || segments.some(segment => segment.length === 0)) {
136
+ throw new Error('The Harness Gateway endpoint is invalid.');
137
+ }
138
+ if (!isRecord(payload) || !isRecord(payload.args)) {
139
+ throw new Error('The Harness Gateway payload is invalid.');
140
+ }
141
+ return { namespace: segments[0], method: segments[1], args: payload.args, signal };
142
+ }
143
+ function endpointOf(request) {
144
+ return `${request.namespace}/${request.method}`;
57
145
  }
58
146
  function isRemoteCommandMethod(method) {
59
147
  return REMOTE_COMMAND_METHODS.includes(method);
60
148
  }
149
+ function isRecord(value) {
150
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
151
+ }
61
152
  //# sourceMappingURL=typert-gateway-switch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typert-gateway-switch.js","sourceRoot":"","sources":["../src/typert-gateway-switch.ts"],"names":[],"mappings":"AAIA,qFAAqF;AACrF,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,MAAM,CAAU,CAAA;AAO3D,MAAM,mBAAmB,GAAyB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AAE/E,6GAA6G;AAC7G,MAAM,OAAO,mBAAmB;IAOD;IANZ,cAAc,CAA6B;IAC3C,WAAW,CAA6B;IACjD,YAAY,CAAe;IAC3B,aAAa,GAAyB,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IACrE,SAAS,GAAG,KAAK,CAAA;IAEzB,YAA6B,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;QACrD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAA;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC;IAED,+DAA+D;IAC/D,KAAK;QACH,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAA;IACrC,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,SAAS;YAAE,OAAM;QAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE;YAC9B,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBAClH,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YAClC,CAAC;YACD,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YACzE,uEAAuE;YACvE,wEAAwE;YACxE,sEAAsE;YACtE,mCAAmC;YACnC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACzD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAClC,CAAC,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAED,YAAY,CAAC,MAAoB,EAAE,UAAgC,mBAAmB;QACpF,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QACnF,IAAI,CAAC,YAAY,GAAG,MAAM,CAAA;QAC1B,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,OAAO,EAAE,CAAA;IACrC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;QAC7B,IAAI,CAAC,aAAa,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IACtD,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAM;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAA;QACzC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IACxB,CAAC;CACF;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,OAAQ,sBAA4C,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AACvE,CAAC"}
1
+ {"version":3,"file":"typert-gateway-switch.js","sourceRoot":"","sources":["../src/typert-gateway-switch.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -8,5 +8,5 @@
8
8
  * If they diverge, `npm scripts` checks in `scripts/verify-version-sync.mjs`
9
9
  * will fail fast during build/check/test.
10
10
  */
11
- export declare const PLUGIN_VERSION = "0.3.36";
11
+ export declare const PLUGIN_VERSION = "0.4.0";
12
12
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,UAAU,CAAA"}
package/dist/version.js CHANGED
@@ -8,5 +8,5 @@
8
8
  * If they diverge, `npm scripts` checks in `scripts/verify-version-sync.mjs`
9
9
  * will fail fast during build/check/test.
10
10
  */
11
- export const PLUGIN_VERSION = '0.3.36';
11
+ export const PLUGIN_VERSION = '0.4.0';
12
12
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ds-harness-remote",
3
- "version": "0.3.36",
3
+ "version": "0.4.0",
4
4
  "description": "DeepSeek 远程连接",
5
5
  "repository": {
6
6
  "type": "git",
@@ -61,17 +61,21 @@
61
61
  },
62
62
  "peerDependencies": {
63
63
  "@deepseek-ai/cordis": ">=4.0.1 <5",
64
- "@deepseek-ai/dsh-client-connection": ">=0.1.0-rc.6 <0.2.0",
65
- "@deepseek-ai/dsh-client-locale": ">=0.1.0-rc.6 <0.2.0",
66
- "@deepseek-ai/dsh-client-ui-settings": ">=0.1.0-rc.6 <0.2.0",
67
- "@deepseek-ai/dsh-client-ui-settings-plugins": ">=0.1.0-rc.6 <0.2.0",
68
- "@deepseek-ai/dsh-client-ui-sidebar": ">=0.1.0-rc.6 <0.2.0",
69
- "@deepseek-ai/dsh-client-ui-slots": ">=0.1.0-rc.6 <0.2.0",
64
+ "@deepseek-ai/dsh-api-gateway": ">=0.1.1-rc.2 <0.1.2 || >=0.1.2-alpha.1 <0.2.0",
65
+ "@deepseek-ai/dsh-client-connection": ">=0.1.0-rc.6 <0.1.2 || >=0.1.2-alpha.1 <0.2.0",
66
+ "@deepseek-ai/dsh-client-locale": ">=0.1.0-rc.6 <0.1.2 || >=0.1.2-alpha.1 <0.2.0",
67
+ "@deepseek-ai/dsh-client-ui-settings": ">=0.1.0-rc.6 <0.1.2 || >=0.1.2-alpha.1 <0.2.0",
68
+ "@deepseek-ai/dsh-client-ui-settings-plugins": ">=0.1.0-rc.6 <0.1.2 || >=0.1.2-alpha.1 <0.2.0",
69
+ "@deepseek-ai/dsh-client-ui-sidebar": ">=0.1.0-rc.6 <0.1.2 || >=0.1.2-alpha.1 <0.2.0",
70
+ "@deepseek-ai/dsh-client-ui-slots": ">=0.1.0-rc.6 <0.1.2 || >=0.1.2-alpha.1 <0.2.0",
70
71
  "@deepseek-ai/dsh-host-apiproxy": ">=0.1.0-rc.6 <0.2.0",
71
- "@deepseek-ai/dsh-settings": ">=0.1.0-rc.6 <0.2.0",
72
+ "@deepseek-ai/dsh-settings": ">=0.1.0-rc.6 <0.1.2 || >=0.1.2-alpha.1 <0.2.0",
72
73
  "react": ">=18.2.0 <19"
73
74
  },
74
75
  "peerDependenciesMeta": {
76
+ "@deepseek-ai/dsh-host-apiproxy": {
77
+ "optional": true
78
+ },
75
79
  "@deepseek-ai/dsh-client-connection": {
76
80
  "optional": true
77
81
  },
@@ -93,6 +97,7 @@
93
97
  },
94
98
  "devDependencies": {
95
99
  "@deepseek-ai/cordis": "4.0.1",
100
+ "@deepseek-ai/dsh-api-gateway": "0.1.1-rc.2",
96
101
  "@deepseek-ai/dsh-client-connection": "0.1.1-rc.2",
97
102
  "@deepseek-ai/dsh-client-locale": "0.1.1-rc.2",
98
103
  "@deepseek-ai/dsh-client-ui-settings": "0.1.1-rc.2",