Skip to content

Commit 796d4df

Browse files
committed
fix(reply): split dispatcher shared types
1 parent bbc3849 commit 796d4df

12 files changed

Lines changed: 29 additions & 20 deletions

src/auto-reply/dispatch-dispatcher.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { ReplyDispatcher } from "./reply/reply-dispatcher.js";
1+
import type { ReplyDispatcher } from "./reply/reply-dispatcher.types.js";
22

33
export async function withReplyDispatcher<T>(params: {
44
dispatcher: ReplyDispatcher;

src/auto-reply/dispatch.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import { finalizeInboundContext } from "./reply/inbound-context.js";
77
import {
88
createReplyDispatcher,
99
createReplyDispatcherWithTyping,
10-
type ReplyDispatcher,
1110
type ReplyDispatcherOptions,
1211
type ReplyDispatcherWithTypingOptions,
1312
} from "./reply/reply-dispatcher.js";
13+
import type { ReplyDispatcher } from "./reply/reply-dispatcher.types.js";
1414
import type { FinalizedMsgContext, MsgContext } from "./templating.js";
1515
import type { GetReplyOptions } from "./types.js";
1616

src/auto-reply/reply/acp-projector.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import {
1515
resolveAcpStreamingConfig,
1616
} from "./acp-stream-settings.js";
1717
import { createBlockReplyPipeline } from "./block-reply-pipeline.js";
18-
import type { ReplyDispatchKind } from "./reply-dispatcher.js";
18+
import type { ReplyDispatchKind } from "./reply-dispatcher.types.js";
1919

2020
const ACP_BLOCK_REPLY_TIMEOUT_MS = 15_000;
2121
const ACP_LIVE_IDLE_FLUSH_FLOOR_MS = 750;

src/auto-reply/reply/dispatch-acp-delivery.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { resolveStatusTtsSnapshot } from "../../tts/status-config.js";
1111
import { resolveConfiguredTtsMode } from "../../tts/tts-config.js";
1212
import type { FinalizedMsgContext } from "../templating.js";
1313
import type { ReplyPayload } from "../types.js";
14-
import type { ReplyDispatcher, ReplyDispatchKind } from "./reply-dispatcher.js";
14+
import type { ReplyDispatchKind, ReplyDispatcher } from "./reply-dispatcher.types.js";
1515

1616
let routeReplyRuntimePromise: Promise<typeof import("./route-reply.runtime.js")> | null = null;
1717
let dispatchAcpTtsRuntimePromise: Promise<typeof import("./dispatch-acp-tts.runtime.js")> | null =

src/auto-reply/reply/dispatch-acp.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import {
2828
createAcpDispatchDeliveryCoordinator,
2929
type AcpDispatchDeliveryCoordinator,
3030
} from "./dispatch-acp-delivery.js";
31-
import type { ReplyDispatcher, ReplyDispatchKind } from "./reply-dispatcher.js";
31+
import type { ReplyDispatchKind, ReplyDispatcher } from "./reply-dispatcher.types.js";
3232

3333
let dispatchAcpManagerRuntimePromise: Promise<
3434
typeof import("./dispatch-acp-manager.runtime.js")

src/auto-reply/reply/dispatch-from-config.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { OpenClawConfig } from "../../config/types.openclaw.js";
22
import type { FinalizedMsgContext } from "../templating.js";
33
import type { GetReplyOptions } from "../types.js";
4-
import type { ReplyDispatcher, ReplyDispatchKind } from "./reply-dispatcher.js";
4+
import type { ReplyDispatchKind, ReplyDispatcher } from "./reply-dispatcher.types.js";
55

66
export type DispatchFromConfigResult = {
77
queuedFinal: boolean;

src/auto-reply/reply/normalize-reply.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { sanitizeUserFacingText } from "../../agents/pi-embedded-helpers.js";
1+
import { sanitizeUserFacingText } from "../../agents/pi-embedded-helpers/errors.js";
22
import { hasReplyPayloadContent } from "../../interactive/payload.js";
33
import { normalizeOptionalString } from "../../shared/string-coerce.js";
44
import { stripHeartbeatToken } from "../heartbeat.js";

src/auto-reply/reply/reply-dispatcher.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ import { sleep } from "../../utils.js";
55
import type { GetReplyOptions, ReplyPayload } from "../types.js";
66
import { registerDispatcher } from "./dispatcher-registry.js";
77
import { normalizeReplyPayload, type NormalizeReplySkipReason } from "./normalize-reply.js";
8+
import type { ReplyDispatchKind, ReplyDispatcher } from "./reply-dispatcher.types.js";
89
import type { ResponsePrefixContext } from "./response-prefix-template.js";
910
import type { TypingController } from "./typing.js";
1011

11-
export type ReplyDispatchKind = "tool" | "block" | "final";
12+
export type { ReplyDispatchKind, ReplyDispatcher } from "./reply-dispatcher.types.js";
1213

1314
type ReplyDispatchErrorHandler = (err: unknown, info: { kind: ReplyDispatchKind }) => void;
1415

@@ -75,16 +76,6 @@ type ReplyDispatcherWithTypingResult = {
7576
markRunComplete: () => void;
7677
};
7778

78-
export type ReplyDispatcher = {
79-
sendToolResult: (payload: ReplyPayload) => boolean;
80-
sendBlockReply: (payload: ReplyPayload) => boolean;
81-
sendFinalReply: (payload: ReplyPayload) => boolean;
82-
waitForIdle: () => Promise<void>;
83-
getQueuedCounts: () => Record<ReplyDispatchKind, number>;
84-
getFailedCounts: () => Record<ReplyDispatchKind, number>;
85-
markComplete: () => void;
86-
};
87-
8879
type NormalizeReplyPayloadInternalOptions = Pick<
8980
ReplyDispatcherOptions,
9081
| "responsePrefix"
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import type { ReplyPayload } from "../types.js";
2+
3+
export type ReplyDispatchKind = "tool" | "block" | "final";
4+
5+
export type ReplyDispatcher = {
6+
sendToolResult: (payload: ReplyPayload) => boolean;
7+
sendBlockReply: (payload: ReplyPayload) => boolean;
8+
sendFinalReply: (payload: ReplyPayload) => boolean;
9+
waitForIdle: () => Promise<void>;
10+
getQueuedCounts: () => Record<ReplyDispatchKind, number>;
11+
getFailedCounts: () => Record<ReplyDispatchKind, number>;
12+
markComplete: () => void;
13+
};

src/plugin-sdk/inbound-reply-dispatch.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {
33
dispatchReplyFromConfig,
44
type DispatchFromConfigResult,
55
} from "../auto-reply/reply/dispatch-from-config.js";
6-
import type { ReplyDispatcher } from "../auto-reply/reply/reply-dispatcher.js";
6+
import type { ReplyDispatcher } from "../auto-reply/reply/reply-dispatcher.types.js";
77
import type { FinalizedMsgContext } from "../auto-reply/templating.js";
88
import type { GetReplyOptions } from "../auto-reply/types.js";
99
import type { OpenClawConfig } from "../config/types.openclaw.js";

0 commit comments

Comments
 (0)