mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-25 11:55:47 -06:00
1e9d918037
* feat(sdk): always persist media facts and ship facts-first replacements for legacy Media* surfaces
PR 1 of the media legacy retirement program (audit-frozen, 4 PRs).
- Every media-bearing user turn now persists normalized __openclaw.media
facts unconditionally while continuing to emit the legacy top-level
Media* projection byte-identically (dual-write bridge; the conditional
shouldPersistStructuredMediaEntries gate now always includes media).
- New replacement APIs, shipped before any removal: typed hook media
facts (media[], originalMedia[], mediaStagingPending) on message
events; {{AttachmentPath}}/{{AttachmentUrl}}/{{AttachmentContentType}}/
{{AttachmentDir}}/{{AttachmentIndex}} template variables; focused
openclaw/plugin-sdk/media-local-roots subpath split out of the
deprecated agent-media-payload facade.
- Every legacy surface carries @deprecated naming its replacement, under
one named compatibility record media-legacy-projection with the
operator-approved removeAfter 2026-10-01 (two release trains; deletion
additionally gates on a clean published-plugin artifact sweep).
- Generic transcript append invariant documented; SDK migration, hooks,
and configuration docs updated to the facts-first path.
Writer golden matrix proves legacy bytes and model prompt bytes are
unchanged while nested facts become unconditional. 2,189 broad media
tests green; SDK api-baseline regenerated on fresh-env Testbox.
* feat(sdk): register media-local-roots subpath exports and deprecation metadata
Completes PR 1: package export map for openclaw/plugin-sdk/media-local-roots
plus the deprecated-subpath inventory and doc metadata entries for the
media-legacy-projection record.
* chore(sdk): track media-local-roots entrypoint and deprecated-export budgets
* fix(sdk): keep deprecated MSTeams buildMediaPayload re-export through the compat window
Deleting shipped runtime-api re-exports belongs to retirement PR 4 after
the media-legacy-projection window; PR 1 only deprecates. Also formats
the migration-guide schedule table.
* docs: regenerate docs map for media migration additions
66 lines
1.8 KiB
TypeScript
66 lines
1.8 KiB
TypeScript
// Legacy map-helper exports in this facade stay for older plugin consumers.
|
|
// New message-turn code should use createChannelHistoryWindow.
|
|
export {
|
|
applyAccountNameToChannelSection,
|
|
applySetupAccountConfigPatch,
|
|
type BaseProbeResult,
|
|
type BlockStreamingCoalesceConfig,
|
|
buildChannelConfigSchema,
|
|
buildComputedAccountStatusSnapshot,
|
|
buildModelsProviderData,
|
|
buildPendingHistoryContextFromMap,
|
|
type ChannelAccountSnapshot,
|
|
type ChannelDirectoryEntry,
|
|
type ChannelGroupContext,
|
|
type ChannelMessageActionName,
|
|
type ChannelPlugin,
|
|
type ChatType,
|
|
chunkTextForOutbound,
|
|
clearHistoryEntriesIfEnabled,
|
|
createChannelHistoryWindow,
|
|
createAccountStatusSink,
|
|
createChannelPairingController,
|
|
createChannelMessageReplyPipeline,
|
|
createDedupeCache,
|
|
DEFAULT_ACCOUNT_ID,
|
|
DEFAULT_GROUP_HISTORY_LIMIT,
|
|
type DmPolicy,
|
|
formatInboundFromLabel,
|
|
getAgentScopedMediaLocalRoots,
|
|
GROUP_POLICY_BLOCKED_LABEL,
|
|
type GroupPolicy,
|
|
type HistoryEntry,
|
|
isDangerousNameMatchingEnabled,
|
|
isRequestBodyLimitError,
|
|
isTrustedProxyAddress,
|
|
listSkillCommandsForAgents,
|
|
loadOutboundMediaFromUrl,
|
|
logInboundDrop,
|
|
logTypingFailure,
|
|
migrateBaseNameToDefaultAccount,
|
|
type ModelsProviderData,
|
|
normalizeAccountId,
|
|
normalizeProviderId,
|
|
type OpenClawConfig,
|
|
type OpenClawPluginApi,
|
|
parseStrictPositiveInteger,
|
|
type PluginRuntime,
|
|
rawDataToString,
|
|
readRequestBodyWithLimit,
|
|
recordPendingHistoryEntryIfEnabled,
|
|
registerPluginHttpRoute,
|
|
type ReplyPayload,
|
|
resolveAllowlistMatchSimple,
|
|
resolveAllowlistProviderRuntimeGroupPolicy,
|
|
resolveChannelMediaMaxBytes,
|
|
resolveClientIp,
|
|
resolveControlCommandGate,
|
|
resolveDefaultGroupPolicy,
|
|
resolveStoredModelOverride,
|
|
resolveStorePath,
|
|
resolveThreadSessionKeys,
|
|
type RuntimeEnv,
|
|
setMattermostRuntime,
|
|
warnMissingProviderGroupPolicyFallbackOnce,
|
|
} from "../runtime-api.js";
|