mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-02 21:11:40 +00:00
* 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
69 lines
2.9 KiB
TypeScript
69 lines
2.9 KiB
TypeScript
// Private runtime barrel for the bundled Microsoft Teams extension.
|
|
// Keep this barrel thin and aligned with the local extension surface.
|
|
|
|
export { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
|
|
export type { AllowlistMatch } from "openclaw/plugin-sdk/allow-from";
|
|
export {
|
|
mergeAllowlist,
|
|
resolveAllowlistMatchSimple,
|
|
summarizeMapping,
|
|
} from "openclaw/plugin-sdk/allow-from";
|
|
export type {
|
|
BaseProbeResult,
|
|
ChannelDirectoryEntry,
|
|
ChannelGroupContext,
|
|
ChannelMessageActionName,
|
|
ChannelOutboundAdapter,
|
|
} from "openclaw/plugin-sdk/channel-contract";
|
|
export type { ChannelPlugin } from "openclaw/plugin-sdk/channel-core";
|
|
export { logTypingFailure } from "openclaw/plugin-sdk/channel-outbound";
|
|
export { createChannelPairingController } from "openclaw/plugin-sdk/channel-pairing";
|
|
export { resolveToolsBySender } from "openclaw/plugin-sdk/channel-policy";
|
|
export { createChannelMessageReplyPipeline } from "openclaw/plugin-sdk/channel-outbound";
|
|
export {
|
|
PAIRING_APPROVED_MESSAGE,
|
|
buildProbeChannelStatusSummary,
|
|
createDefaultChannelRuntimeState,
|
|
} from "openclaw/plugin-sdk/channel-status";
|
|
export {
|
|
buildChannelKeyCandidates,
|
|
normalizeChannelSlug,
|
|
resolveChannelEntryMatchWithFallback,
|
|
resolveNestedAllowlistDecision,
|
|
} from "openclaw/plugin-sdk/channel-targets";
|
|
export type {
|
|
GroupPolicy,
|
|
GroupToolPolicyConfig,
|
|
MSTeamsChannelConfig,
|
|
MSTeamsCloudName,
|
|
MSTeamsConfig,
|
|
MSTeamsReplyStyle,
|
|
MSTeamsTeamConfig,
|
|
MarkdownTableMode,
|
|
OpenClawConfig,
|
|
} from "openclaw/plugin-sdk/config-contracts";
|
|
export { isDangerousNameMatchingEnabled } from "openclaw/plugin-sdk/dangerous-name-runtime";
|
|
export { resolveDefaultGroupPolicy } from "openclaw/plugin-sdk/runtime-group-policy";
|
|
export { withFileLock } from "openclaw/plugin-sdk/file-lock";
|
|
export { keepHttpServerTaskAlive } from "openclaw/plugin-sdk/channel-outbound";
|
|
export {
|
|
detectMime,
|
|
extensionForMime,
|
|
extractOriginalFilename,
|
|
getFileExtension,
|
|
resolveChannelMediaMaxBytes,
|
|
} from "openclaw/plugin-sdk/media-runtime";
|
|
export { loadOutboundMediaFromUrl } from "openclaw/plugin-sdk/outbound-media";
|
|
// Deprecated media-legacy-projection surface; the re-export stays until the
|
|
// compat record's removeAfter window expires (deleted in retirement PR 4).
|
|
export { buildMediaPayload } from "openclaw/plugin-sdk/reply-payload";
|
|
export type { ReplyPayload } from "openclaw/plugin-sdk/reply-payload";
|
|
export type { PluginRuntime } from "openclaw/plugin-sdk/runtime-store";
|
|
export type { RuntimeEnv } from "openclaw/plugin-sdk/runtime";
|
|
export type { SsrFPolicy } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
export { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
export { normalizeStringEntries } from "openclaw/plugin-sdk/string-normalization-runtime";
|
|
export { chunkTextForOutbound } from "openclaw/plugin-sdk/text-chunking";
|
|
export { DEFAULT_WEBHOOK_MAX_BODY_BYTES } from "openclaw/plugin-sdk/webhook-ingress";
|
|
export { setMSTeamsRuntime } from "./src/runtime.js";
|