openclaw/docs/nodes
Peter Steinberger 1e9d918037
feat(sdk): always persist media facts and ship facts-first replacements for legacy Media* surfaces (#113355)
* 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
2026-07-24 10:42:17 -07:00
..
audio.md feat(sdk): always persist media facts and ship facts-first replacements for legacy Media* surfaces (#113355) 2026-07-24 10:42:17 -07:00
camera.md refactor(config): config-surface reduction tranche 3 — product consolidations (review request) (#111527) 2026-07-21 20:28:43 -07:00
computer-use.md docs(computer-use): add cua-computer troubleshooting/error-code reference and fix stale Codex macOS claim (#112502) 2026-07-21 21:07:01 -07:00
images.md feat(sdk): always persist media facts and ship facts-first replacements for legacy Media* surfaces (#113355) 2026-07-24 10:42:17 -07:00
index.md refactor(state): move device auth tokens to SQLite (#112663) 2026-07-22 06:13:03 -07:00
location-command.md feat(linux): headless node device capabilities (camera, location, notifications) (#107193) 2026-07-14 02:30:36 -07:00
media-understanding.md feat(sdk): always persist media facts and ship facts-first replacements for legacy Media* surfaces (#113355) 2026-07-24 10:42:17 -07:00
presence.md fix(macos): require explicit consent for privacy-sensitive access (#112321) 2026-07-21 15:28:13 -07:00
talk.md fix(macos): require explicit consent for privacy-sensitive access (#112321) 2026-07-21 15:28:13 -07:00
troubleshooting.md refactor(config): config-surface reduction tranche 3 — product consolidations (review request) (#111527) 2026-07-21 20:28:43 -07:00
voicewake.md feat(android): add foreground Voice Wake (#107081) 2026-07-13 21:48:29 -07:00