Matrix: narrow thread binding runtime seam

This commit is contained in:
Gustavo Madeira Santana 2026-03-31 08:03:23 -04:00
parent 305977571d
commit 28bb8c600e
No known key found for this signature in database
3 changed files with 16 additions and 4 deletions

View File

@ -1,11 +1,11 @@
import { readJsonFileWithFallback, writeJsonFileAtomically } from "openclaw/plugin-sdk/json-store";
import { resolveAgentIdFromSessionKey } from "openclaw/plugin-sdk/routing";
import {
registerSessionBindingAdapter,
resolveThreadBindingFarewellText,
type SessionBindingAdapter,
unregisterSessionBindingAdapter,
} from "openclaw/plugin-sdk/conversation-runtime";
import { readJsonFileWithFallback, writeJsonFileAtomically } from "openclaw/plugin-sdk/json-store";
import { resolveAgentIdFromSessionKey } from "openclaw/plugin-sdk/routing";
} from "openclaw/plugin-sdk/thread-bindings-runtime";
import { resolveMatrixStateFilePath } from "./client/storage.js";
import type { MatrixAuth } from "./client/types.js";
import type { MatrixClient } from "./sdk.js";

View File

@ -575,7 +575,13 @@ describe("plugin-sdk subpath exports", () => {
"createTopLevelChannelReplyToModeResolver",
]);
expectSourceMentions("thread-bindings-runtime", ["resolveThreadBindingLifecycle"]);
expectSourceMentions("thread-bindings-runtime", [
"resolveThreadBindingFarewellText",
"resolveThreadBindingLifecycle",
"registerSessionBindingAdapter",
"unregisterSessionBindingAdapter",
"SessionBindingAdapter",
]);
expectSourceMentions("matrix-runtime-shared", ["formatZonedTimestamp"]);
expectSourceMentions("ssrf-runtime", [
"closeDispatcher",

View File

@ -2,8 +2,14 @@
// expiry and session-binding record types without loading the full
// conversation-runtime surface.
export { resolveThreadBindingFarewellText } from "../channels/thread-bindings-messages.js";
export { resolveThreadBindingLifecycle } from "../channels/thread-bindings-policy.js";
export type {
BindingTargetKind,
SessionBindingAdapter,
SessionBindingRecord,
} from "../infra/outbound/session-binding-service.js";
export {
registerSessionBindingAdapter,
unregisterSessionBindingAdapter,
} from "../infra/outbound/session-binding-service.js";