mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-05 20:21:38 +00:00
* feat: separate external conversations from sessions * test: cover conversation tool authorization * chore: refresh session schema baseline * fix: persist effective conversation delivery text * fix: bind conversation identity to delivery target * fix: preserve pending conversation deliveries * fix: make conversation delivery outcomes synchronous * refactor: make conversation delivery durable * fix: harden durable conversation retries * fix: close durable conversation pre-send gaps * fix: terminally reject invalid conversation deliveries * refactor: route external conversations through gateway * fix: namespace conversation delivery queue intents * refactor: remove obsolete transcript replacement path * test: prove conversation delivery v10 migration * test: keep conversation action mock typed * fix: clear conversation refactor CI gates * test: align Reef delivery coverage * chore: refresh Android conversation strings * fix: harden external conversation state * fix: close conversation race edges * fix: preserve conversation delivery identity * fix: replay durable conversation operations * fix: unify agent schema at version 11 * chore: move release note context to PR * fix: make required queue persistence force core delivery * chore: refresh plugin SDK baseline
21 lines
763 B
TypeScript
21 lines
763 B
TypeScript
// Gateway shared request-state types.
|
|
// Defines cached dedupe entries for idempotent Gateway method calls.
|
|
import type { ErrorShape } from "../../packages/gateway-protocol/src/schema/frames.js";
|
|
|
|
export const PENDING_CHAT_SEND_DEDUPE_PREFIX = "pending-chat:";
|
|
|
|
export function pendingChatSendDedupeKey(runId: string): string {
|
|
return `${PENDING_CHAT_SEND_DEDUPE_PREFIX}${runId}`;
|
|
}
|
|
|
|
// Dedupe entries cache recent request results so repeated gateway calls can
|
|
// replay the same success/error payload without re-running the method.
|
|
export type DedupeEntry = {
|
|
ts: number;
|
|
ok: boolean;
|
|
/** Optional effectful-request fingerprint for methods with caller-supplied operation ids. */
|
|
requestIdentity?: string;
|
|
payload?: unknown;
|
|
error?: ErrorShape;
|
|
};
|