@dual-os/excalidraw
v8.0.5
Published
Private ESM Excalidraw plugin for the Dual SDK. Provides anonymous scene/share-store actions and Excalidraw+ workspace CRUD through the documented REST surfaces.
Readme
@dual-os/excalidraw
Private ESM Excalidraw plugin for the Dual SDK. Provides anonymous scene/share-store actions and Excalidraw+ workspace CRUD through the documented REST surfaces.
Composition
// Definition-only composition: no client or handler-layer imports.
import { excalidrawPluginBase } from "@dual-os/excalidraw/definition";
// Executable composition with the existing HTTP client and handlers.
import { excalidrawPlugin } from "@dual-os/excalidraw/executable";Run the executable value in process with DualRuntime.fromPlugin(plugin, packageJson.version); a host receives the published package from npm as a standard plugin. Importing a module starts no services, makes no requests and creates no Provider Connection.
@dual-os/excalidraw/plugin.json exposes declarative discovery metadata: schema version, package/plugin identity, definition/executable subpaths and named exports, supported logical versions, and default version (v1). It can be read without executing plugin code.
The historical Excalidraw and ExcalidrawClient root namespaces, ExcalidrawPlusClient and explicit /Excalidraw and /ExcalidrawClient and /ExcalidrawPlusClient subpaths remain supported. The historical root includes executable modules; use /definition for definition-only composition. Internal schema modules are not public entrypoints.
Installation and compatibility
Install with the @dual-os/sdk and effect peers declared in package.json. Widening SDK compatibility requires explicit review and consumer validation. Pin exact package versions and commit the application's lockfile.
The executable uses Fetch and Node-compatible APIs. Packaging adds no new runtime restriction and does not certify a new Node runtime matrix. Supply provider credentials through the host's Provider Connection setup. Never commit credentials.
