Optionaloptions: MsGraphProviderOptionsDownloads a file's bytes. Fetches the item's pre-signed
@microsoft.graph.downloadUrl and retrieves that URL — never
GET .../content directly.
Per Microsoft Graph's own docs ("Download driveItem content",
learn.microsoft.com/graph/api/driveitem-get-content, section
"Downloading files in JavaScript apps", checked 2026-08-15): /content
returns a 302 Found redirect to the same pre-signed URL, and "you can't
use the /content API [in a JavaScript app], because this responds with
a 302 redirect. A 302 redirect is explicitly prohibited when a
[CORS] preflight is required, such as when providing the Authorization
header." The docs' own fix is exactly this: "select the
@microsoft.graph.downloadUrl property... requested directly using
XMLHttpRequest. Because these URLs are preauthenticated, they can be
retrieved without a CORS preflight" — i.e. with no Authorization header
at all, which is why this goes through ctx.fetchPublic (strips every
header except Accept/Range) rather than ctx.fetch.
Optionaloptions: DownloadOptionsList containers within a project. parentId omitted means top level.
The shape of the result is governed by capabilities.containerListing:
direct-children returns only immediate children, flat-subtree returns
the whole descendant set flattened with parentId links intact.
OptionalparentId: stringOptionaloptions: ListOptionsList files in a container. Whether descendants are included is governed by
capabilities.listFilesIsRecursive.
Optionalfilter: FileFilterOptionaloptions: ListOptionsList projects visible to the authenticated identity.
Providers reporting projectsAreDiscoverableOnly may return a partial or
empty page when query is absent; the host then prompts the user to
search or paste a URL rather than presenting the result as complete.
Optional_options: ListProjectsOptionsOptional: revision history for one file, newest first.
Optionaloptions: ListOptionsOptional: server-side file search within a project.
Optionalfilter: FileFilterOptionaloptions: ListOptionsOptional: test the connection and return a diagnostic message.
Watches for changes via Graph's /delta change feed
(GET /me/drive/root/delta) rather than polling the given refs — per
the contract, "Providers with a delta or change-feed endpoint should use
cursor and ignore refs, returning a fresh cursor each call."
refs is still consulted, but only to decide which delta items are
worth turning into an event: the feed reports every change across the
whole drive, and a host tracking a handful of files should not be told
about unrelated ones.
Optionalcursor: stringOptionaloptions: ListOptions
Required when
manifest.auth === 'interactive'.