@blue-soda/dsh-remote 0.4.30 → 0.4.31
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/dist/client.github.js +4 -4
- package/dist/client.js +4 -4
- package/dist/codex/virtual-harness.d.ts.map +1 -1
- package/dist/codex/virtual-harness.js +35 -1
- package/dist/codex/virtual-harness.js.map +1 -1
- package/dist/harness-api-bridge.d.ts +2 -0
- package/dist/harness-api-bridge.d.ts.map +1 -1
- package/dist/harness-api-bridge.js +10 -0
- package/dist/harness-api-bridge.js.map +1 -1
- package/dist/harness-remote-bridge.d.ts +8 -0
- package/dist/harness-remote-bridge.d.ts.map +1 -1
- package/dist/harness-remote-bridge.js +12 -1
- package/dist/harness-remote-bridge.js.map +1 -1
- package/dist/index.js +194 -83
- package/dist/index.js.map +4 -4
- package/dist/remote-api-proxy.d.ts.map +1 -1
- package/dist/remote-api-proxy.js +52 -1
- package/dist/remote-api-proxy.js.map +1 -1
- package/dist/rpc-binary-attachments.d.ts +16 -0
- package/dist/rpc-binary-attachments.d.ts.map +1 -1
- package/dist/rpc-binary-attachments.js +53 -0
- package/dist/rpc-binary-attachments.js.map +1 -1
- package/dist/typert-gateway-switch.d.ts.map +1 -1
- package/dist/typert-gateway-switch.js +92 -11
- package/dist/typert-gateway-switch.js.map +1 -1
- package/dsh-plugin.json +1 -1
- package/package.json +1 -1
package/dist/client.github.js
CHANGED
|
@@ -4164,20 +4164,20 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
4164
4164
|
}
|
|
4165
4165
|
});
|
|
4166
4166
|
ctx.effect(() => () => statusFeed.close(), "ds-harness-remote: status stream");
|
|
4167
|
-
let firstSnapshot = !0, wasRemoteView = !1, wasFallenBack = !1, wasReconnecting = !1, lastFallbackReloadAt = 0, lastRecoveryReloadAt = 0, unsubscribeReconnectRefresh = statusFeed.subscribe(() => {
|
|
4167
|
+
let firstSnapshot = !0, wasRemoteView = !1, wasFallenBack = !1, sawFallback = !1, wasReconnecting = !1, lastFallbackReloadAt = 0, lastRecoveryReloadAt = 0, unsubscribeReconnectRefresh = statusFeed.subscribe(() => {
|
|
4168
4168
|
let current = statusFeed.getSnapshot();
|
|
4169
4169
|
if (current === void 0) return;
|
|
4170
4170
|
if (firstSnapshot) {
|
|
4171
|
-
firstSnapshot = !1, wasRemoteView = current.mode === "remote", wasFallenBack = current.fellBackToLocal === !0, wasReconnecting = current.reconnecting !== void 0;
|
|
4171
|
+
firstSnapshot = !1, wasRemoteView = current.mode === "remote", wasFallenBack = current.fellBackToLocal === !0, sawFallback = wasFallenBack, wasReconnecting = current.reconnecting !== void 0;
|
|
4172
4172
|
return;
|
|
4173
4173
|
}
|
|
4174
4174
|
let sawRemoteViewBefore = wasRemoteView;
|
|
4175
|
-
if (current.mode === "remote" && (wasRemoteView = !0), current.fellBackToLocal === !0 ? wasFallenBack || (wasFallenBack = !0, wasRemoteView && Date.now() - lastFallbackReloadAt > 2e4 && (lastFallbackReloadAt = Date.now(), window.location.reload())) : wasFallenBack = !1, current.reconnecting !== void 0) {
|
|
4175
|
+
if (current.mode === "remote" && (wasRemoteView = !0), current.fellBackToLocal === !0 && (sawFallback = !0), current.fellBackToLocal === !0 ? wasFallenBack || (wasFallenBack = !0, wasRemoteView && Date.now() - lastFallbackReloadAt > 2e4 && (lastFallbackReloadAt = Date.now(), window.location.reload())) : wasFallenBack = !1, current.reconnecting !== void 0) {
|
|
4176
4176
|
wasReconnecting = !0;
|
|
4177
4177
|
return;
|
|
4178
4178
|
}
|
|
4179
4179
|
wasReconnecting && (wasReconnecting = !1, current.connected === !0 && (ctx.sessions.refresh().catch(() => {
|
|
4180
|
-
}), !sawRemoteViewBefore && Date.now() - lastRecoveryReloadAt > 5e3 && (lastRecoveryReloadAt = Date.now(), window.location.reload())));
|
|
4180
|
+
}), (!sawRemoteViewBefore || sawFallback) && Date.now() - lastRecoveryReloadAt > 5e3 && (lastRecoveryReloadAt = Date.now(), window.location.reload())));
|
|
4181
4181
|
});
|
|
4182
4182
|
ctx.effect(
|
|
4183
4183
|
() => () => unsubscribeReconnectRefresh(),
|
package/dist/client.js
CHANGED
|
@@ -4164,20 +4164,20 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
4164
4164
|
}
|
|
4165
4165
|
});
|
|
4166
4166
|
ctx.effect(() => () => statusFeed.close(), "ds-harness-remote: status stream");
|
|
4167
|
-
let firstSnapshot = !0, wasRemoteView = !1, wasFallenBack = !1, wasReconnecting = !1, lastFallbackReloadAt = 0, lastRecoveryReloadAt = 0, unsubscribeReconnectRefresh = statusFeed.subscribe(() => {
|
|
4167
|
+
let firstSnapshot = !0, wasRemoteView = !1, wasFallenBack = !1, sawFallback = !1, wasReconnecting = !1, lastFallbackReloadAt = 0, lastRecoveryReloadAt = 0, unsubscribeReconnectRefresh = statusFeed.subscribe(() => {
|
|
4168
4168
|
let current = statusFeed.getSnapshot();
|
|
4169
4169
|
if (current === void 0) return;
|
|
4170
4170
|
if (firstSnapshot) {
|
|
4171
|
-
firstSnapshot = !1, wasRemoteView = current.mode === "remote", wasFallenBack = current.fellBackToLocal === !0, wasReconnecting = current.reconnecting !== void 0;
|
|
4171
|
+
firstSnapshot = !1, wasRemoteView = current.mode === "remote", wasFallenBack = current.fellBackToLocal === !0, sawFallback = wasFallenBack, wasReconnecting = current.reconnecting !== void 0;
|
|
4172
4172
|
return;
|
|
4173
4173
|
}
|
|
4174
4174
|
let sawRemoteViewBefore = wasRemoteView;
|
|
4175
|
-
if (current.mode === "remote" && (wasRemoteView = !0), current.fellBackToLocal === !0 ? wasFallenBack || (wasFallenBack = !0, wasRemoteView && Date.now() - lastFallbackReloadAt > 2e4 && (lastFallbackReloadAt = Date.now(), window.location.reload())) : wasFallenBack = !1, current.reconnecting !== void 0) {
|
|
4175
|
+
if (current.mode === "remote" && (wasRemoteView = !0), current.fellBackToLocal === !0 && (sawFallback = !0), current.fellBackToLocal === !0 ? wasFallenBack || (wasFallenBack = !0, wasRemoteView && Date.now() - lastFallbackReloadAt > 2e4 && (lastFallbackReloadAt = Date.now(), window.location.reload())) : wasFallenBack = !1, current.reconnecting !== void 0) {
|
|
4176
4176
|
wasReconnecting = !0;
|
|
4177
4177
|
return;
|
|
4178
4178
|
}
|
|
4179
4179
|
wasReconnecting && (wasReconnecting = !1, current.connected === !0 && (ctx.sessions.refresh().catch(() => {
|
|
4180
|
-
}), !sawRemoteViewBefore && Date.now() - lastRecoveryReloadAt > 5e3 && (lastRecoveryReloadAt = Date.now(), window.location.reload())));
|
|
4180
|
+
}), (!sawRemoteViewBefore || sawFallback) && Date.now() - lastRecoveryReloadAt > 5e3 && (lastRecoveryReloadAt = Date.now(), window.location.reload())));
|
|
4181
4181
|
});
|
|
4182
4182
|
ctx.effect(
|
|
4183
4183
|
() => () => unsubscribeReconnectRefresh(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-harness.d.ts","sourceRoot":"","sources":["../../src/codex/virtual-harness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA2B,MAAM,oCAAoC,CAAA;AAC3F,OAAO,EACL,iBAAiB,EAIlB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EACV,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,EAChB,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"virtual-harness.d.ts","sourceRoot":"","sources":["../../src/codex/virtual-harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CodexRemoteClient, deriveCodexCwdWorkspaces, projectCodexThread, } from '@dsh-remote/client-core';
|
|
2
2
|
import { codexPermissionPresetFromResponse } from './permissions.js';
|
|
3
|
+
import { decodeByteValue } from '../rpc-binary-attachments.js';
|
|
3
4
|
import { CODEX_HISTORY_MAX_MESSAGES } from './method-policy.js';
|
|
4
5
|
import { collectImageBlocks, contentBlocks, isCanonicalBase64, toolOutputImageBlocks, } from './codex-image-codec.js';
|
|
5
6
|
const CODEX_SESSION_PREFIX = 'codex:';
|
|
@@ -141,7 +142,7 @@ export class CodexVirtualHarness {
|
|
|
141
142
|
if (isHostWorkspaceEndpoint(endpoint)) {
|
|
142
143
|
if (this.hostCarrier === undefined)
|
|
143
144
|
return fail('method-not-found', `CodeX virtual Harness does not implement ${endpoint}.`);
|
|
144
|
-
return await this.hostCarrier.dispatch(endpoint, payload, signal);
|
|
145
|
+
return normalizeByteResult(endpoint, await this.hostCarrier.dispatch(endpoint, payload, signal));
|
|
145
146
|
}
|
|
146
147
|
const args = carrierArgs(payload);
|
|
147
148
|
switch (endpoint) {
|
|
@@ -2613,4 +2614,37 @@ class AsyncValueQueue {
|
|
|
2613
2614
|
}
|
|
2614
2615
|
}
|
|
2615
2616
|
}
|
|
2617
|
+
/**
|
|
2618
|
+
* Restore bytes the codeX-facing carriers answer as base64.
|
|
2619
|
+
*
|
|
2620
|
+
* The remote bridge prefers the CodeX workspace projection for a CodeX session, and that projection
|
|
2621
|
+
* answers \`workspaceFiles/readBytes\` with base64 for its own consumers. The native UI validates the
|
|
2622
|
+
* same result against a generated schema that requires a real \`Uint8Array\`, so the base64 string fails
|
|
2623
|
+
* there with \`expected "Uint8Array", path: ["data"]\` and the image never renders. Normalising here -
|
|
2624
|
+
* the seam that faces the native UI - leaves every other consumer on its own contract.
|
|
2625
|
+
*
|
|
2626
|
+
* @param endpoint - endpoint the result belongs to.
|
|
2627
|
+
* @param result - the carrier's result.
|
|
2628
|
+
* @returns the result with byte-valued fields restored, and a shape warning when they cannot be.
|
|
2629
|
+
*/
|
|
2630
|
+
function normalizeByteResult(endpoint, result) {
|
|
2631
|
+
if (endpoint !== 'workspaceFiles/readBytes' || !result.ok)
|
|
2632
|
+
return result;
|
|
2633
|
+
const value = result.value;
|
|
2634
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
2635
|
+
return result;
|
|
2636
|
+
const data = value.data;
|
|
2637
|
+
if (data instanceof Uint8Array)
|
|
2638
|
+
return result;
|
|
2639
|
+
const bytes = decodeByteValue(data);
|
|
2640
|
+
if (bytes !== undefined) {
|
|
2641
|
+
return { ...result, value: { ...value, data: bytes } };
|
|
2642
|
+
}
|
|
2643
|
+
// Shapes only; never the content itself.
|
|
2644
|
+
console.warn('[dsh-remote] workspaceFiles/readBytes arrived without usable bytes', {
|
|
2645
|
+
dataType: typeof data,
|
|
2646
|
+
dataKeys: typeof data === 'object' && data !== null && !Array.isArray(data) ? Object.keys(data).length : 0,
|
|
2647
|
+
});
|
|
2648
|
+
return result;
|
|
2649
|
+
}
|
|
2616
2650
|
//# sourceMappingURL=virtual-harness.js.map
|