feat: add reusable core store and OpenClaw state-file adapter skeleton / 新增可重用 state store 與 OpenClaw state-file adapter 骨架

This commit is contained in:
Alice (OpenClaw)
2026-05-13 11:35:15 +08:00
parent d5a7e98fb3
commit ca55445bcb
12 changed files with 244 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
import { buildReplyEndState } from "../core/state.js"
import { normalizeTelegramCallback } from "../core/callback-contract.js"
import type { ReplyEndState } from "../types.js"
export function handleTelegramReplyEndCallback(params: {
callbackData: string
conversationId: string
sessionKey: string | null
sourceMessageId: string
sourceCallbackId: string
timestamp: string
}): ReplyEndState | null {
const normalized = normalizeTelegramCallback(params)
if (!normalized) return null
return buildReplyEndState(normalized)
}

View File

@@ -0,0 +1,12 @@
import type { TelegramInlineKeyboardMarkup } from "../types.js"
export function buildReplyEndKeyboard(): TelegramInlineKeyboardMarkup {
return {
inline_keyboard: [
[
{ text: "A. 繼續", callback_data: "rec:continue" },
{ text: "B. 就這樣吧,不需要額外處理", callback_data: "rec:stop" },
],
],
}
}