Interface: IPluginAPI
Capabilities exposed by StreamShare to one addon instance.
Remarks
Availability depends on the runtime mode and platform. Addons must use
runtime capability fields and the public compatibility documentation rather
than assuming every method is available everywhere.
Properties
runtime
runtime:
PluginRuntime
Execution environment. Headless tasks expose a deadline for cooperative checkpointing.
logger
logger:
object
Logger piped to the host and development tools
log()
log(...
args):void
Writes a general diagnostic message.
Parameters
args
...unknown[]
Returns
void
info()
info(...
args):void
Writes an informational diagnostic message.
Parameters
args
...unknown[]
Returns
void
warn()
warn(...
args):void
Writes a warning diagnostic message.
Parameters
args
...unknown[]
Returns
void
error()
error(...
args):void
Writes an error diagnostic message.
Parameters
args
...unknown[]
Returns
void
storage
storage:
object
Isolated persistent key-value storage for this specific plugin
get()
get(
key):Promise<string|null>
Retrieves a string value, or null when the key does not exist.
Parameters
key
string
Returns
Promise<string | null>
set()
set(
key,value):Promise<void>
Creates or replaces a string value.
Parameters
key
string
value
string
Returns
Promise<void>
delete()
delete(
key):Promise<void>
Removes one key when it exists.
Parameters
key
string
Returns
Promise<void>
clear()
clear():
Promise<void>
Removes every key owned by this addon.
Returns
Promise<void>
files
files:
object
Isolated file storage for large plugin-owned datasets. Paths are always relative to the plugin directory; traversal is rejected.
write()
write(
path,data,options?):Promise<void>
Creates or updates a UTF-8 file at a package-relative path.
Parameters
path
string
data
string
options?
append?
boolean
Returns
Promise<void>
read()
read(
path):Promise<string|null>
Reads a UTF-8 file, or returns null when it does not exist.
Parameters
path
string
Returns
Promise<string | null>
stat()
stat(
path):Promise<PluginFileStat>
Returns existence, size, and modification metadata for a file.
Parameters
path
string
Returns
Promise<PluginFileStat>
delete()
delete(
path):Promise<void>
Deletes a file when it exists.
Parameters
path
string
Returns
Promise<void>
move()
move(
from,to):Promise<void>
Atomically moves or renames a file within the addon's storage.
Parameters
from
string
to
string
Returns
Promise<void>
scanLines()
scanLines(
path,options?):Promise<PluginFileScanResult>
Streams matching lines without loading an entire large file into memory.
Parameters
path
string
options?
Returns
Promise<PluginFileScanResult>
sourceCatalog
sourceCatalog:
object
Indexed, isolated storage for large source catalogs.
A snapshot is invisible until commitSnapshot succeeds, so interactive reads keep using the previous snapshot while a synchronization is running.
beginSnapshot()
beginSnapshot(
options?):Promise<string>
Resume a durable unpublished snapshot when requested and available.
Parameters
options?
resume?
boolean
Returns
Promise<string>
append()
append(
snapshotId,batch):Promise<PluginSourceCatalogAppendResult>
Appends a bounded batch of logical media and variants to a draft snapshot.
Parameters
snapshotId
string
batch
Returns
Promise<PluginSourceCatalogAppendResult>
getSnapshotStats()
getSnapshotStats(
snapshotId):Promise<PluginSourceCatalogAppendResult>
Durable row counts, useful when resuming after process termination.
Parameters
snapshotId
string
Returns
Promise<PluginSourceCatalogAppendResult>
commitSnapshot()
commitSnapshot(
snapshotId):Promise<void>
Atomically publishes a completed snapshot for interactive queries.
Parameters
snapshotId
string
Returns
Promise<void>
abortSnapshot()
abortSnapshot(
snapshotId):Promise<void>
Deletes an unpublished snapshot and its temporary data.
Parameters
snapshotId
string
Returns
Promise<void>
query()
query(
criteria):Promise<PluginSourceCatalogResult>
Query unique logical media before pagination.
Parameters
criteria
Returns
Promise<PluginSourceCatalogResult>
queryVariants()
queryVariants(
criteria):Promise<PluginSourceCatalogResult>
Expand matching logical media into their playable variants.
Parameters
criteria
Returns
Promise<PluginSourceCatalogResult>
http
http:
object
Native HTTP capability constrained by the manifest network allowlist.
get()
get(
url,headers?):Promise<string>
Retrieves raw text content from an allowed HTTP(S) URL.
Parameters
url
string
headers?
Record<string, string>
Returns
Promise<string>
lists
lists:
object
Interactive playlist and library management capabilities.
getAll()
getAll():
Promise<PluginList[]>
Returns playlists visible to the current user.
Returns
Promise<PluginList[]>
getById()
getById(
id):Promise<PluginListWithItems|null>
Returns one playlist and its items, or null when it does not exist.
Parameters
id
number
Returns
Promise<PluginListWithItems | null>
create()
create(
name):Promise<number>
Creates a playlist when permitted by the current account and returns its numeric identifier.
Parameters
name
string
Returns
Promise<number>
addItem()
addItem(
listId,item):Promise<number>
Adds one media item to a playlist and returns the new item identifier.
Parameters
listId
number
item
Returns
Promise<number>
addItems()
addItems(
listId,items):Promise<number>
Adds multiple media items atomically and returns the number accepted.
Parameters
listId
number
items
Returns
Promise<number>
removeItem()
removeItem(
itemId):Promise<void>
Removes one playlist item by its item identifier.
Parameters
itemId
number
Returns
Promise<void>
clear()
clear(
listId):Promise<void>
Removes every item from a playlist while retaining the playlist.
Parameters
listId
number
Returns
Promise<void>
enrichList()
enrichList(
listId):Promise<void>
Requests metadata enrichment for items in a playlist.
Parameters
listId
number
Returns
Promise<void>
Methods
getConfig()
getConfig():
Promise<Readonly<Record<string,string>>>
Retrieves user configuration defined by the addon manifest.
Returns
Promise<Readonly<Record<string, string>>>
toast()
toast(
messageOrOptions):void
Displays or updates a user notification.
Parameters
messageOrOptions
string | ToastOptions
Returns
void
dismissToast()
dismissToast(
id):void
Dismisses the notification with the supplied stable ID.
Parameters
id
string
Returns
void
setActionProgress()
setActionProgress(
progress):void
Sets the progress description for the currently running action.
Parameters
progress
string
Returns
void