Function resolveContentRef

Resolve a content reference your app found in content it ALREADY holds (FILE_SHARING §7 / UI_AS_APPS §8.7; "plan 12 §E"). This is a RELAY, not a fabrication: the host honors it ONLY when your app already holds a grant to ref.mountId (else forbidden) — apps follow writer-authored links inside granted content; they cannot name a space from nothing (T27). The host runs a per-VIEWER consent prompt (named via the owning app's project sidecar), and existence is never leaked — a decline and a non-existent path are indistinguishable.

On allow, the host APPENDS a read scope for the referenced path to your grant (durable; same §8.15 lifecycle) and returns the STABLE absolute path the file is mounted at — identical for every viewer, so a path the author stored resolves the same for you. Read it through the fs module at that path. Rejects with a SpaceError: forbidden (you don't hold the referenced mount) or cancelled (the viewer declined / the path doesn't exist — no oracle).

const { path } = await resolveContentRef(ref); const text = await fs.promises.readFile(path, 'utf8');