Files
openclaw/src/plugin-sdk/question-gateway-runtime.ts
Peter Steinberger d7de67ae02 feat: ask_user follow-ups — harness convergence, channel finalization + reactions, native cards, docked web panel (#110372)
* feat(ask-user): follow-up harness slice

* feat(ask-user): follow-up channels slice

* feat(ask-user): follow-up native slice

* feat(ui): dock question panel above composer with stepper and compact stream summaries

* docs: refresh follow-up integration maps

* test(ui): align terminal summary proof

* fix(infra): echo declared option answers in terminal status when free-text is allowed

* fix(infra): keep reaction answering when display labels are formatter-adjusted

* fix(agents): settle plain-text claims only after question registration commits

* fix(agents,apps): commit-ordered claim persistence, claim-aware prompt delivery, non-blocking question refresh

* fix(harness,infra): reaction-appropriate question copy, caller presentations honored

* fix(native,infra,agents): local-expiry eviction, value-addressed reactions, reserve-before-request

* fix(infra,android): dual-mode question resolver for compact callbacks; reset terminal retention on replayed pending

* fix(harness,discord): claim-aware prompt delivery in run helper; escape finalization labels

* fix(macos): merge transient-content visibility with question cards after main sync

* fix: repair ask user follow-up CI

* test: update limited bootstrap scope expectation

* fix: retain shared question card API

* chore: refresh native i18n inventory
2026-07-18 03:32:39 -04:00

25 lines
1.1 KiB
TypeScript

/** Runtime SDK subpath for Gateway-backed ask_user question controls. */
import { registerQuestionChannelDelivery } from "../infra/question-channel-runtime.js";
// The pre-release named resolver exports were replaced wholesale by this
// runtime object before any tagged release shipped them; no compat aliases.
import { resolveQuestionOverGateway } from "../infra/question-gateway-resolver.js";
import {
QUESTION_REACTION_EMOJIS,
prepareQuestionReactionPayloadForDelivery,
readAskUserQuestionId,
readQuestionReactionBinding,
resolveQuestionReactionIndex,
resolveQuestionReactionOverGateway,
} from "../infra/question-reaction-runtime.js";
export const questionGatewayRuntime = {
resolveOption: resolveQuestionOverGateway,
reactionEmojis: QUESTION_REACTION_EMOJIS,
prepareReactionPayloadForDelivery: prepareQuestionReactionPayloadForDelivery,
readAskUserQuestionId,
readReactionBinding: readQuestionReactionBinding,
resolveReactionIndex: resolveQuestionReactionIndex,
resolveReaction: resolveQuestionReactionOverGateway,
registerChannelDelivery: registerQuestionChannelDelivery,
};