Skip to content

Commit 3f70878

Browse files
committed
refactor: trim replay progress cleanup
1 parent f8c1319 commit 3f70878

3 files changed

Lines changed: 15 additions & 39 deletions

File tree

src/daemon-client-progress.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { consumeTextLines } from './utils/line-stream.ts';
66
import {
77
formatRequestProgressEvent,
88
isDaemonProgressEnvelope,
9-
isDaemonRpcResponseEnvelope,
9+
isDaemonResponseEnvelope,
1010
shouldStreamRequestProgress,
1111
} from './daemon/request-progress-protocol.ts';
1212

@@ -62,7 +62,7 @@ export function readDaemonHttpProgressResponse(
6262
writeRequestProgressEvent(message.event);
6363
return false;
6464
}
65-
if (isDaemonRpcResponseEnvelope(message)) {
65+
if (isDaemonResponseEnvelope<unknown>(message)) {
6666
settled = true;
6767
clearTimeout();
6868
handleResponseBody(JSON.stringify(message.response));

src/daemon-client.ts

Lines changed: 7 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -284,49 +284,32 @@ async function prepareRemoteRequest(
284284
});
285285

286286
if (req.command !== 'install' && req.command !== 'reinstall') return baseResult();
287-
const installPackageResult = await prepareRemoteInstallPackage(
288-
req,
289-
info,
290-
positionals,
291-
flags,
292-
clientArtifactPaths,
293-
);
294-
if (installPackageResult?.prepared) return installPackageResult.prepared;
295-
uploadedArtifactId = installPackageResult?.uploadedArtifactId ?? uploadedArtifactId;
287+
const installPackageResult = await prepareRemoteInstallPackage(req, info, positionals);
288+
uploadedArtifactId = installPackageResult ?? uploadedArtifactId;
296289
return baseResult();
297290
}
298291

299-
type RemoteInstallPackageResult = {
300-
prepared?: PreparedRemoteRequest;
301-
uploadedArtifactId?: string;
302-
};
303-
304292
async function prepareRemoteInstallPackage(
305293
req: Omit<DaemonRequest, 'token'>,
306294
info: DaemonInfo,
307295
positionals: string[],
308-
flags: DaemonRequest['flags'] | undefined,
309-
clientArtifactPaths: Record<string, string>,
310-
): Promise<RemoteInstallPackageResult | null> {
296+
): Promise<string | undefined> {
311297
const rawPath = positionals[1];
312-
if (rawPath === undefined) return null;
298+
if (rawPath === undefined) return undefined;
313299
if (rawPath.startsWith('remote:')) {
314300
positionals[1] = rawPath.slice('remote:'.length);
315-
return { prepared: createPreparedRemoteRequest({ positionals, flags, clientArtifactPaths }) };
301+
return undefined;
316302
}
317303

318304
const localPath = resolveLocalInstallPath(rawPath, req.meta?.cwd);
319-
if (!localPath) {
320-
return { prepared: createPreparedRemoteRequest({ positionals, flags, clientArtifactPaths }) };
321-
}
305+
if (!localPath) return undefined;
322306

323-
const uploadedArtifactId = await uploadArtifact({
307+
return await uploadArtifact({
324308
localPath,
325309
baseUrl: info.baseUrl!,
326310
token: info.token,
327311
platform: req.flags?.platform,
328312
});
329-
return { uploadedArtifactId };
330313
}
331314

332315
function applyRemoteArtifactCommand(

src/daemon/request-progress-protocol.ts

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,9 @@ export type DaemonProgressEnvelope = {
66
event: RequestProgressEvent;
77
};
88

9-
export type DaemonResponseEnvelope = {
9+
export type DaemonResponseEnvelope<TResponse = DaemonResponse> = {
1010
type: 'response';
11-
response: DaemonResponse;
12-
};
13-
14-
export type DaemonRpcResponseEnvelope = {
15-
type: 'response';
16-
response: unknown;
11+
response: TResponse;
1712
};
1813

1914
export function shouldStreamRequestProgress(req: Pick<DaemonRequest, 'meta'>): boolean {
@@ -29,7 +24,9 @@ export function isDaemonProgressEnvelope(value: unknown): value is DaemonProgres
2924
);
3025
}
3126

32-
export function isDaemonResponseEnvelope(value: unknown): value is DaemonResponseEnvelope {
27+
export function isDaemonResponseEnvelope<TResponse = DaemonResponse>(
28+
value: unknown,
29+
): value is DaemonResponseEnvelope<TResponse> {
3330
return (
3431
Boolean(value) &&
3532
typeof value === 'object' &&
@@ -38,10 +35,6 @@ export function isDaemonResponseEnvelope(value: unknown): value is DaemonRespons
3835
);
3936
}
4037

41-
export function isDaemonRpcResponseEnvelope(value: unknown): value is DaemonRpcResponseEnvelope {
42-
return isDaemonResponseEnvelope(value);
43-
}
44-
4538
export function serializeDaemonProgressEnvelope(event: RequestProgressEvent): string {
4639
return `${JSON.stringify({ type: 'progress', event } satisfies DaemonProgressEnvelope)}\n`;
4740
}
@@ -51,7 +44,7 @@ export function serializeDaemonResponseEnvelope(response: DaemonResponse): strin
5144
}
5245

5346
export function serializeDaemonRpcResponseEnvelope(response: unknown): string {
54-
return `${JSON.stringify({ type: 'response', response } satisfies DaemonRpcResponseEnvelope)}\n`;
47+
return `${JSON.stringify({ type: 'response', response } satisfies DaemonResponseEnvelope<unknown>)}\n`;
5548
}
5649

5750
export function formatRequestProgressEvent(event: RequestProgressEvent): string | undefined {

0 commit comments

Comments
 (0)