@blue-soda/dsh-remote 0.5.6 → 0.5.7
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 +2 -2
- package/cordis.patch.yml +30 -30
- package/dist/client.github.js +1 -1
- package/dist/client.js +1 -1
- package/dist/index.js +321 -57
- package/dist/index.js.map +3 -3
- package/dsh-plugin.json +41 -41
- package/package.json +165 -165
- package/dist/acp.d.ts +0 -75
- package/dist/acp.d.ts.map +0 -1
- package/dist/acp.js +0 -61
- package/dist/acp.js.map +0 -1
- package/dist/api-proxy-switch.d.ts +0 -33
- package/dist/api-proxy-switch.d.ts.map +0 -1
- package/dist/api-proxy-switch.js +0 -109
- package/dist/api-proxy-switch.js.map +0 -1
- package/dist/atomic-file.d.ts +0 -16
- package/dist/atomic-file.d.ts.map +0 -1
- package/dist/atomic-file.js +0 -81
- package/dist/atomic-file.js.map +0 -1
- package/dist/bin/doctor.d.ts +0 -3
- package/dist/bin/doctor.d.ts.map +0 -1
- package/dist/bin/doctor.js +0 -13
- package/dist/bin/doctor.js.map +0 -1
- package/dist/cli.d.ts +0 -32
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -289
- package/dist/cli.js.map +0 -1
- package/dist/client-runtime.d.ts +0 -375
- package/dist/client-runtime.d.ts.map +0 -1
- package/dist/client-runtime.js +0 -1768
- package/dist/client-runtime.js.map +0 -1
- package/dist/client-secure-transport.d.ts +0 -23
- package/dist/client-secure-transport.d.ts.map +0 -1
- package/dist/client-secure-transport.js +0 -144
- package/dist/client-secure-transport.js.map +0 -1
- package/dist/client-target-store.d.ts +0 -40
- package/dist/client-target-store.d.ts.map +0 -1
- package/dist/client-target-store.js +0 -79
- package/dist/client-target-store.js.map +0 -1
- package/dist/client.d.ts +0 -13
- package/dist/client.d.ts.map +0 -1
- package/dist/codex/app-server.d.ts +0 -71
- package/dist/codex/app-server.d.ts.map +0 -1
- package/dist/codex/app-server.js +0 -268
- package/dist/codex/app-server.js.map +0 -1
- package/dist/codex/codex-image-codec.d.ts +0 -7
- package/dist/codex/codex-image-codec.d.ts.map +0 -1
- package/dist/codex/codex-image-codec.js +0 -288
- package/dist/codex/codex-image-codec.js.map +0 -1
- package/dist/codex/domain.d.ts +0 -102
- package/dist/codex/domain.d.ts.map +0 -1
- package/dist/codex/domain.js +0 -1323
- package/dist/codex/domain.js.map +0 -1
- package/dist/codex/method-policy.d.ts +0 -338
- package/dist/codex/method-policy.d.ts.map +0 -1
- package/dist/codex/method-policy.js +0 -141
- package/dist/codex/method-policy.js.map +0 -1
- package/dist/codex/peer-bridge.d.ts +0 -57
- package/dist/codex/peer-bridge.d.ts.map +0 -1
- package/dist/codex/peer-bridge.js +0 -299
- package/dist/codex/peer-bridge.js.map +0 -1
- package/dist/codex/permissions.d.ts +0 -4
- package/dist/codex/permissions.d.ts.map +0 -1
- package/dist/codex/permissions.js +0 -21
- package/dist/codex/permissions.js.map +0 -1
- package/dist/codex/session-id.d.ts +0 -10
- package/dist/codex/session-id.d.ts.map +0 -1
- package/dist/codex/session-id.js +0 -15
- package/dist/codex/session-id.js.map +0 -1
- package/dist/codex/virtual-harness.d.ts +0 -209
- package/dist/codex/virtual-harness.d.ts.map +0 -1
- package/dist/codex/virtual-harness.js +0 -2650
- package/dist/codex/virtual-harness.js.map +0 -1
- package/dist/codex-workspace-bridge.d.ts +0 -108
- package/dist/codex-workspace-bridge.d.ts.map +0 -1
- package/dist/codex-workspace-bridge.js +0 -502
- package/dist/codex-workspace-bridge.js.map +0 -1
- package/dist/config.d.ts +0 -99
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -127
- package/dist/config.js.map +0 -1
- package/dist/connection-controller.d.ts +0 -44
- package/dist/connection-controller.d.ts.map +0 -1
- package/dist/connection-controller.js +0 -185
- package/dist/connection-controller.js.map +0 -1
- package/dist/control-route.d.ts +0 -34
- package/dist/control-route.d.ts.map +0 -1
- package/dist/control-route.js +0 -136
- package/dist/control-route.js.map +0 -1
- package/dist/control-runtime.d.ts +0 -138
- package/dist/control-runtime.d.ts.map +0 -1
- package/dist/control-runtime.js +0 -543
- package/dist/control-runtime.js.map +0 -1
- package/dist/control-stream.d.ts +0 -67
- package/dist/control-stream.d.ts.map +0 -1
- package/dist/control-stream.js +0 -179
- package/dist/control-stream.js.map +0 -1
- package/dist/defaults.d.ts +0 -9
- package/dist/defaults.d.ts.map +0 -1
- package/dist/defaults.js +0 -9
- package/dist/defaults.js.map +0 -1
- package/dist/file-viewer-bridge.d.ts +0 -30
- package/dist/file-viewer-bridge.d.ts.map +0 -1
- package/dist/file-viewer-bridge.js +0 -128
- package/dist/file-viewer-bridge.js.map +0 -1
- package/dist/file-viewer-contract.d.ts +0 -5
- package/dist/file-viewer-contract.d.ts.map +0 -1
- package/dist/file-viewer-contract.js +0 -4
- package/dist/file-viewer-contract.js.map +0 -1
- package/dist/harness-api-bridge.d.ts +0 -81
- package/dist/harness-api-bridge.d.ts.map +0 -1
- package/dist/harness-api-bridge.js +0 -862
- package/dist/harness-api-bridge.js.map +0 -1
- package/dist/harness-api-history.d.ts +0 -3
- package/dist/harness-api-history.d.ts.map +0 -1
- package/dist/harness-api-history.js +0 -59
- package/dist/harness-api-history.js.map +0 -1
- package/dist/harness-remote-bridge.d.ts +0 -60
- package/dist/harness-remote-bridge.d.ts.map +0 -1
- package/dist/harness-remote-bridge.js +0 -540
- package/dist/harness-remote-bridge.js.map +0 -1
- package/dist/harness-version.d.ts +0 -23
- package/dist/harness-version.d.ts.map +0 -1
- package/dist/harness-version.js +0 -95
- package/dist/harness-version.js.map +0 -1
- package/dist/identity-store.d.ts +0 -45
- package/dist/identity-store.d.ts.map +0 -1
- package/dist/identity-store.js +0 -186
- package/dist/identity-store.js.map +0 -1
- package/dist/ids.d.ts +0 -2
- package/dist/ids.d.ts.map +0 -1
- package/dist/ids.js +0 -17
- package/dist/ids.js.map +0 -1
- package/dist/index.d.ts +0 -78
- package/dist/index.d.ts.map +0 -1
- package/dist/logging.d.ts +0 -18
- package/dist/logging.d.ts.map +0 -1
- package/dist/logging.js +0 -30
- package/dist/logging.js.map +0 -1
- package/dist/loopback-host.d.ts +0 -20
- package/dist/loopback-host.d.ts.map +0 -1
- package/dist/loopback-host.js +0 -245
- package/dist/loopback-host.js.map +0 -1
- package/dist/loopback-preview.d.ts +0 -19
- package/dist/loopback-preview.d.ts.map +0 -1
- package/dist/loopback-preview.js +0 -232
- package/dist/loopback-preview.js.map +0 -1
- package/dist/native-rtc-helper.d.ts +0 -14
- package/dist/native-rtc-helper.d.ts.map +0 -1
- package/dist/native-rtc-helper.js +0 -575
- package/dist/native-rtc-helper.js.map +0 -1
- package/dist/remote-api-proxy.d.ts +0 -17
- package/dist/remote-api-proxy.d.ts.map +0 -1
- package/dist/remote-api-proxy.js +0 -451
- package/dist/remote-api-proxy.js.map +0 -1
- package/dist/remote-directory-browser.d.ts +0 -16
- package/dist/remote-directory-browser.d.ts.map +0 -1
- package/dist/remote-directory-browser.js +0 -48
- package/dist/remote-directory-browser.js.map +0 -1
- package/dist/remote-file-content-provider.d.ts +0 -48
- package/dist/remote-file-content-provider.d.ts.map +0 -1
- package/dist/remote-file-content-provider.js +0 -93
- package/dist/remote-file-content-provider.js.map +0 -1
- package/dist/remote-typert-gateway.d.ts +0 -20
- package/dist/remote-typert-gateway.d.ts.map +0 -1
- package/dist/remote-typert-gateway.js +0 -334
- package/dist/remote-typert-gateway.js.map +0 -1
- package/dist/rpc-binary-attachments.d.ts +0 -33
- package/dist/rpc-binary-attachments.d.ts.map +0 -1
- package/dist/rpc-binary-attachments.js +0 -142
- package/dist/rpc-binary-attachments.js.map +0 -1
- package/dist/rpc-router.d.ts +0 -31
- package/dist/rpc-router.d.ts.map +0 -1
- package/dist/rpc-router.js +0 -201
- package/dist/rpc-router.js.map +0 -1
- package/dist/safe-error.d.ts +0 -8
- package/dist/safe-error.d.ts.map +0 -1
- package/dist/safe-error.js +0 -20
- package/dist/safe-error.js.map +0 -1
- package/dist/server-api.d.ts +0 -109
- package/dist/server-api.d.ts.map +0 -1
- package/dist/server-api.js +0 -520
- package/dist/server-api.js.map +0 -1
- package/dist/server-connection.d.ts +0 -79
- package/dist/server-connection.d.ts.map +0 -1
- package/dist/server-connection.js +0 -1023
- package/dist/server-connection.js.map +0 -1
- package/dist/server-credentials.d.ts +0 -55
- package/dist/server-credentials.d.ts.map +0 -1
- package/dist/server-credentials.js +0 -108
- package/dist/server-credentials.js.map +0 -1
- package/dist/service.d.ts +0 -151
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js +0 -448
- package/dist/service.js.map +0 -1
- package/dist/session-format-compat.d.ts +0 -3
- package/dist/session-format-compat.d.ts.map +0 -1
- package/dist/session-format-compat.js +0 -183
- package/dist/session-format-compat.js.map +0 -1
- package/dist/status-stream.d.ts +0 -48
- package/dist/status-stream.d.ts.map +0 -1
- package/dist/status-stream.js +0 -133
- package/dist/status-stream.js.map +0 -1
- package/dist/terminal-policy.d.ts +0 -21
- package/dist/terminal-policy.d.ts.map +0 -1
- package/dist/terminal-policy.js +0 -68
- package/dist/terminal-policy.js.map +0 -1
- package/dist/tui-command.d.ts +0 -13
- package/dist/tui-command.d.ts.map +0 -1
- package/dist/tui-command.js +0 -392
- package/dist/tui-command.js.map +0 -1
- package/dist/typert-gateway-contract.d.ts +0 -59
- package/dist/typert-gateway-contract.d.ts.map +0 -1
- package/dist/typert-gateway-contract.js +0 -2
- package/dist/typert-gateway-contract.js.map +0 -1
- package/dist/typert-gateway-switch.d.ts +0 -85
- package/dist/typert-gateway-switch.d.ts.map +0 -1
- package/dist/typert-gateway-switch.js +0 -448
- package/dist/typert-gateway-switch.js.map +0 -1
- package/dist/types.d.ts +0 -20
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/version.d.ts +0 -12
- package/dist/version.d.ts.map +0 -1
- package/dist/version.js +0 -12
- package/dist/version.js.map +0 -1
- package/dist/werift-rtc.d.ts +0 -121
- package/dist/werift-rtc.d.ts.map +0 -1
- package/dist/werift-rtc.js +0 -490
- package/dist/werift-rtc.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-format-compat.js","sourceRoot":"","sources":["../src/session-format-compat.ts"],"names":[],"mappings":"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"}
|
package/dist/status-stream.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Browser-side status feed. One EventSource subscription replaces the fixed
|
|
3
|
-
* interval of unary `status` control calls, and degrades to that interval when
|
|
4
|
-
* the Host exposes no event stream — an older Host, or a carrier whose control
|
|
5
|
-
* channel serves POST only.
|
|
6
|
-
*/
|
|
7
|
-
/** The EventSource members the feed drives. */
|
|
8
|
-
export interface StatusStreamSource {
|
|
9
|
-
close(): void;
|
|
10
|
-
onmessage: ((event: MessageEvent) => void) | null;
|
|
11
|
-
onerror: ((event: Event) => void) | null;
|
|
12
|
-
readonly readyState: number;
|
|
13
|
-
}
|
|
14
|
-
/** Why a status stream stopped pushing and fell back to unary status reads. */
|
|
15
|
-
export type StatusStreamFallback = 'unsupported' | 'unavailable' | 'silent';
|
|
16
|
-
/** Construction options for {@link createStatusFeed}. */
|
|
17
|
-
export interface StatusStreamOptions<T> {
|
|
18
|
-
/** Document-relative or absolute URL of the Host status event stream. */
|
|
19
|
-
url: string;
|
|
20
|
-
/** Unary status read used by the fallback path, and by no other path. */
|
|
21
|
-
readStatus: () => Promise<T>;
|
|
22
|
-
/** EventSource factory; tests supply a scripted source. */
|
|
23
|
-
createSource?: (url: string) => StatusStreamSource;
|
|
24
|
-
pollIntervalMs?: number;
|
|
25
|
-
openTimeoutMs?: number;
|
|
26
|
-
/** Reports the one reason the stream yielded to the fallback. */
|
|
27
|
-
onFallback?: (reason: StatusStreamFallback) => void;
|
|
28
|
-
}
|
|
29
|
-
/** One shared status source for every component that renders Host status. */
|
|
30
|
-
export interface StatusFeed<T> {
|
|
31
|
-
/** Latest pushed status; the same reference until the next frame arrives. */
|
|
32
|
-
getSnapshot(): T | undefined;
|
|
33
|
-
/** Listen to status frames; the first subscriber opens the stream, the last closes it. */
|
|
34
|
-
subscribe(listener: (status: T) => void): () => void;
|
|
35
|
-
/** Stop streaming and forget every listener, keeping the latest snapshot. */
|
|
36
|
-
close(): void;
|
|
37
|
-
}
|
|
38
|
-
/** Fallback poll period: the interval the unary status polling used. */
|
|
39
|
-
export declare const STATUS_STREAM_POLL_INTERVAL_MS = 1500;
|
|
40
|
-
/** How long a stream may deliver nothing before the fallback replaces it. */
|
|
41
|
-
export declare const STATUS_STREAM_OPEN_TIMEOUT_MS = 4000;
|
|
42
|
-
/**
|
|
43
|
-
* Create the status feed.
|
|
44
|
-
* @param options - stream URL, fallback reader, and timing overrides.
|
|
45
|
-
* @returns feed with a stable snapshot accessor and a ref-counted subscription.
|
|
46
|
-
*/
|
|
47
|
-
export declare function createStatusFeed<T>(options: StatusStreamOptions<T>): StatusFeed<T>;
|
|
48
|
-
//# sourceMappingURL=status-stream.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status-stream.d.ts","sourceRoot":"","sources":["../src/status-stream.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IACjC,KAAK,IAAI,IAAI,CAAA;IACb,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC,GAAG,IAAI,CAAA;IACjD,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAA;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,+EAA+E;AAC/E,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,aAAa,GAAG,QAAQ,CAAA;AAE3E,yDAAyD;AACzD,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAA;IACX,yEAAyE;IACzE,UAAU,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,kBAAkB,CAAA;IAClD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iEAAiE;IACjE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAA;CACpD;AAED,6EAA6E;AAC7E,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,6EAA6E;IAC7E,WAAW,IAAI,CAAC,GAAG,SAAS,CAAA;IAC5B,0FAA0F;IAC1F,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IACpD,6EAA6E;IAC7E,KAAK,IAAI,IAAI,CAAA;CACd;AAED,wEAAwE;AACxE,eAAO,MAAM,8BAA8B,OAAQ,CAAA;AAEnD,6EAA6E;AAC7E,eAAO,MAAM,6BAA6B,OAAQ,CAAA;AAgBlD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAkGlF"}
|
package/dist/status-stream.js
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Browser-side status feed. One EventSource subscription replaces the fixed
|
|
3
|
-
* interval of unary `status` control calls, and degrades to that interval when
|
|
4
|
-
* the Host exposes no event stream — an older Host, or a carrier whose control
|
|
5
|
-
* channel serves POST only.
|
|
6
|
-
*/
|
|
7
|
-
/** Fallback poll period: the interval the unary status polling used. */
|
|
8
|
-
export const STATUS_STREAM_POLL_INTERVAL_MS = 1_500;
|
|
9
|
-
/** How long a stream may deliver nothing before the fallback replaces it. */
|
|
10
|
-
export const STATUS_STREAM_OPEN_TIMEOUT_MS = 4_000;
|
|
11
|
-
/** EventSource readyState after a permanent failure, where the browser never retries. */
|
|
12
|
-
const SOURCE_CLOSED = 2;
|
|
13
|
-
/** Parse one SSE payload; a missing or non-object frame keeps the last status. */
|
|
14
|
-
function parseStatus(data) {
|
|
15
|
-
if (typeof data !== 'string')
|
|
16
|
-
return undefined;
|
|
17
|
-
try {
|
|
18
|
-
const parsed = JSON.parse(data);
|
|
19
|
-
return parsed === null || typeof parsed !== 'object' ? undefined : parsed;
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
return undefined;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Create the status feed.
|
|
27
|
-
* @param options - stream URL, fallback reader, and timing overrides.
|
|
28
|
-
* @returns feed with a stable snapshot accessor and a ref-counted subscription.
|
|
29
|
-
*/
|
|
30
|
-
export function createStatusFeed(options) {
|
|
31
|
-
const listeners = new Set();
|
|
32
|
-
const pollIntervalMs = options.pollIntervalMs ?? STATUS_STREAM_POLL_INTERVAL_MS;
|
|
33
|
-
const openTimeoutMs = options.openTimeoutMs ?? STATUS_STREAM_OPEN_TIMEOUT_MS;
|
|
34
|
-
const createSource = options.createSource
|
|
35
|
-
?? ((url) => new EventSource(url));
|
|
36
|
-
let status;
|
|
37
|
-
let source;
|
|
38
|
-
let openTimer;
|
|
39
|
-
let pollTimer;
|
|
40
|
-
const publish = (next) => {
|
|
41
|
-
status = next;
|
|
42
|
-
for (const listener of [...listeners])
|
|
43
|
-
listener(next);
|
|
44
|
-
};
|
|
45
|
-
const teardown = () => {
|
|
46
|
-
if (openTimer !== undefined) {
|
|
47
|
-
clearTimeout(openTimer);
|
|
48
|
-
openTimer = undefined;
|
|
49
|
-
}
|
|
50
|
-
if (pollTimer !== undefined) {
|
|
51
|
-
clearInterval(pollTimer);
|
|
52
|
-
pollTimer = undefined;
|
|
53
|
-
}
|
|
54
|
-
source?.close();
|
|
55
|
-
source = undefined;
|
|
56
|
-
};
|
|
57
|
-
const poll = () => {
|
|
58
|
-
void options.readStatus().then(next => {
|
|
59
|
-
// A read that lands after teardown must not resurrect the subscription.
|
|
60
|
-
if (pollTimer !== undefined)
|
|
61
|
-
publish(next);
|
|
62
|
-
}).catch(() => undefined);
|
|
63
|
-
};
|
|
64
|
-
const fallbackToPolling = (reason) => {
|
|
65
|
-
if (pollTimer !== undefined || listeners.size === 0)
|
|
66
|
-
return;
|
|
67
|
-
if (openTimer !== undefined) {
|
|
68
|
-
clearTimeout(openTimer);
|
|
69
|
-
openTimer = undefined;
|
|
70
|
-
}
|
|
71
|
-
source?.close();
|
|
72
|
-
source = undefined;
|
|
73
|
-
options.onFallback?.(reason);
|
|
74
|
-
poll();
|
|
75
|
-
pollTimer = setInterval(poll, pollIntervalMs);
|
|
76
|
-
};
|
|
77
|
-
const openStream = () => {
|
|
78
|
-
let opened;
|
|
79
|
-
try {
|
|
80
|
-
opened = createSource(options.url);
|
|
81
|
-
}
|
|
82
|
-
catch {
|
|
83
|
-
// A carrier without EventSource support reports the same degradation as a
|
|
84
|
-
// Host without the stream route.
|
|
85
|
-
fallbackToPolling('unsupported');
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
source = opened;
|
|
89
|
-
let received = false;
|
|
90
|
-
openTimer = setTimeout(() => {
|
|
91
|
-
if (!received)
|
|
92
|
-
fallbackToPolling('silent');
|
|
93
|
-
}, openTimeoutMs);
|
|
94
|
-
opened.onmessage = event => {
|
|
95
|
-
received = true;
|
|
96
|
-
if (openTimer !== undefined) {
|
|
97
|
-
clearTimeout(openTimer);
|
|
98
|
-
openTimer = undefined;
|
|
99
|
-
}
|
|
100
|
-
const next = parseStatus(event.data);
|
|
101
|
-
if (next !== undefined)
|
|
102
|
-
publish(next);
|
|
103
|
-
};
|
|
104
|
-
opened.onerror = () => {
|
|
105
|
-
// A permanent failure (a non-2xx response or a non-event-stream content
|
|
106
|
-
// type) closes the source and never retries; a transient one stays
|
|
107
|
-
// CONNECTING, and the browser's own reconnect delivers the current status
|
|
108
|
-
// as the next first frame.
|
|
109
|
-
if (opened.readyState === SOURCE_CLOSED)
|
|
110
|
-
fallbackToPolling('unavailable');
|
|
111
|
-
};
|
|
112
|
-
};
|
|
113
|
-
return {
|
|
114
|
-
getSnapshot: () => status,
|
|
115
|
-
subscribe: listener => {
|
|
116
|
-
listeners.add(listener);
|
|
117
|
-
if (status !== undefined)
|
|
118
|
-
listener(status);
|
|
119
|
-
if (listeners.size === 1)
|
|
120
|
-
openStream();
|
|
121
|
-
return () => {
|
|
122
|
-
listeners.delete(listener);
|
|
123
|
-
if (listeners.size === 0)
|
|
124
|
-
teardown();
|
|
125
|
-
};
|
|
126
|
-
},
|
|
127
|
-
close: () => {
|
|
128
|
-
listeners.clear();
|
|
129
|
-
teardown();
|
|
130
|
-
},
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
//# sourceMappingURL=status-stream.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status-stream.js","sourceRoot":"","sources":["../src/status-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { TypertRpcResult } from './typert-gateway-contract.js';
|
|
2
|
-
export declare const TERMINAL_CALLS: Set<string>;
|
|
3
|
-
export declare const TERMINAL_STREAMS: Set<string>;
|
|
4
|
-
/** Host-lifetime device ownership survives transport reconnects; never supplied by the client. */
|
|
5
|
-
export declare class TerminalPolicy {
|
|
6
|
-
private readonly enabled;
|
|
7
|
-
private readonly deviceId;
|
|
8
|
-
private readonly owners;
|
|
9
|
-
private readonly attachments;
|
|
10
|
-
constructor(enabled: boolean | (() => boolean), deviceId: string, owners: Map<string, string>);
|
|
11
|
-
check(endpoint: string, payload: unknown): {
|
|
12
|
-
key?: string;
|
|
13
|
-
created?: boolean;
|
|
14
|
-
};
|
|
15
|
-
result(endpoint: string, payload: unknown, result: TypertRpcResult, reservation: {
|
|
16
|
-
key?: string;
|
|
17
|
-
created?: boolean;
|
|
18
|
-
}): TypertRpcResult;
|
|
19
|
-
private deny;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=terminal-policy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-policy.d.ts","sourceRoot":"","sources":["../src/terminal-policy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAGnE,eAAO,MAAM,cAAc,aACoE,CAAA;AAC/F,eAAO,MAAM,gBAAgB,aAAkD,CAAA;AAG/E,kGAAkG;AAClG,qBAAa,cAAc;IAEb,OAAO,CAAC,QAAQ,CAAC,OAAO;IAA6B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACxF,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;gBAC3B,OAAO,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,EAAmB,QAAQ,EAAE,MAAM,EAC/E,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAE9C,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE;IA6B9E,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,eAAe;IActI,OAAO,CAAC,IAAI;CACb"}
|
package/dist/terminal-policy.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { RpcError } from './safe-error.js';
|
|
3
|
-
import { parseCodexSessionId } from './codex/session-id.js';
|
|
4
|
-
export const TERMINAL_CALLS = new Set(['terminal/environment', 'terminal/shells', 'terminal/list',
|
|
5
|
-
'terminal/create', 'terminal/write', 'terminal/resize', 'terminal/rename', 'terminal/close']);
|
|
6
|
-
export const TERMINAL_STREAMS = new Set(['terminal/follow', 'terminal/retain']);
|
|
7
|
-
const id = z.string().regex(/^[A-Za-z0-9_:-]{1,256}$/);
|
|
8
|
-
/** Host-lifetime device ownership survives transport reconnects; never supplied by the client. */
|
|
9
|
-
export class TerminalPolicy {
|
|
10
|
-
enabled;
|
|
11
|
-
deviceId;
|
|
12
|
-
owners;
|
|
13
|
-
attachments = new Map();
|
|
14
|
-
constructor(enabled, deviceId, owners) {
|
|
15
|
-
this.enabled = enabled;
|
|
16
|
-
this.deviceId = deviceId;
|
|
17
|
-
this.owners = owners;
|
|
18
|
-
}
|
|
19
|
-
check(endpoint, payload) {
|
|
20
|
-
if (!(typeof this.enabled === 'function' ? this.enabled() : this.enabled))
|
|
21
|
-
throw new RpcError('TERMINAL_DISABLED', 'Remote terminal is disabled on this Host. Enable Remote terminal in the Host Remote settings; the switch saves and applies immediately. / 远程终端未开启,请在 Host 的 Remote 设置中开启「远程终端」,开关切换后立即保存并生效。');
|
|
22
|
-
const args = z.object({ args: z.record(z.unknown()) }).strict().parse(payload).args;
|
|
23
|
-
const rawSessionId = args.agentId ?? args.sessionId;
|
|
24
|
-
const sessionId = id.parse(rawSessionId);
|
|
25
|
-
// CodeX sessions are deliberately opaque keys here. Their thread/cwd
|
|
26
|
-
// authority is resolved by the CodeX Host domain, never by Harness lookup.
|
|
27
|
-
const codexSession = parseCodexSessionId(sessionId);
|
|
28
|
-
void codexSession;
|
|
29
|
-
if (endpoint === 'terminal/environment' || endpoint === 'terminal/shells' || endpoint === 'terminal/list')
|
|
30
|
-
return {};
|
|
31
|
-
const request = endpoint === 'terminal/create' ? z.object({ id }).passthrough().parse(args.request) : undefined;
|
|
32
|
-
const terminalId = id.parse(request?.id ?? args.id);
|
|
33
|
-
const key = `${sessionId}/${terminalId}`;
|
|
34
|
-
if (endpoint === 'terminal/create') {
|
|
35
|
-
if (this.owners.has(key) && this.owners.get(key) !== this.deviceId)
|
|
36
|
-
this.deny();
|
|
37
|
-
if (!this.owners.has(key) && this.owners.size >= 256)
|
|
38
|
-
throw new RpcError('RATE_LIMITED', 'Too many retained remote terminals.');
|
|
39
|
-
const created = !this.owners.has(key);
|
|
40
|
-
this.owners.set(key, this.deviceId);
|
|
41
|
-
return { key, created };
|
|
42
|
-
}
|
|
43
|
-
if (this.owners.get(key) !== this.deviceId)
|
|
44
|
-
this.deny();
|
|
45
|
-
if (endpoint === 'terminal/follow')
|
|
46
|
-
this.attachments.set(key, id.parse(args.attachmentId));
|
|
47
|
-
if (endpoint === 'terminal/write' || endpoint === 'terminal/resize') {
|
|
48
|
-
if (this.attachments.get(key) !== id.parse(args.attachmentId))
|
|
49
|
-
this.deny();
|
|
50
|
-
}
|
|
51
|
-
return { key };
|
|
52
|
-
}
|
|
53
|
-
result(endpoint, payload, result, reservation) {
|
|
54
|
-
if (reservation.key !== undefined && ((!result.ok && reservation.created) || (result.ok && endpoint === 'terminal/close'))) {
|
|
55
|
-
this.owners.delete(reservation.key);
|
|
56
|
-
this.attachments.delete(reservation.key);
|
|
57
|
-
}
|
|
58
|
-
if (endpoint === 'terminal/list' && result.ok && Array.isArray(result.value)) {
|
|
59
|
-
const args = payload.args;
|
|
60
|
-
const session = args.sessionId ?? args.agentId;
|
|
61
|
-
return { ok: true, value: result.value.filter(value => typeof value?.id === 'string'
|
|
62
|
-
&& this.owners.get(`${session}/${value.id}`) === this.deviceId) };
|
|
63
|
-
}
|
|
64
|
-
return result;
|
|
65
|
-
}
|
|
66
|
-
deny() { throw new RpcError('PERMISSION_DENIED', 'This terminal or input attachment belongs to another connection or device.'); }
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=terminal-policy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-policy.js","sourceRoot":"","sources":["../src/terminal-policy.ts"],"names":[],"mappings":"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"}
|
package/dist/tui-command.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
-
import type { ResolvedConfig } from './config.js';
|
|
3
|
-
import type { HostPluginRuntime } from './service.js';
|
|
4
|
-
export interface TuiRemoteTarget {
|
|
5
|
-
runtime: HostPluginRuntime;
|
|
6
|
-
config: ResolvedConfig;
|
|
7
|
-
}
|
|
8
|
-
export interface TuiRemoteBinding {
|
|
9
|
-
target?: TuiRemoteTarget;
|
|
10
|
-
}
|
|
11
|
-
/** Soft TUI integration: Desktop profiles never wait for terminal-only services. */
|
|
12
|
-
export declare function installTuiRemoteCommand(ctx: Context, resolveTarget: () => TuiRemoteTarget | undefined): void;
|
|
13
|
-
//# sourceMappingURL=tui-command.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tui-command.d.ts","sourceRoot":"","sources":["../src/tui-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AA8ErD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,iBAAiB,CAAA;IAC1B,MAAM,EAAE,cAAc,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,eAAe,CAAA;CACzB;AAED,oFAAoF;AACpF,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,EACZ,aAAa,EAAE,MAAM,eAAe,GAAG,SAAS,GAC/C,IAAI,CAgGN"}
|