@dxos/app-framework - v0.15.0
    Preparing search index...

    Class Manager

    Owns the cached registry catalog state and forwards listVersions / getPlugin calls to its PluginProviders. Lives on the PluginManager (as manager.pluginRegistry) so consumers can reach it through the manager without a separate capability lookup.

    The catalog is the union of every provider's plugins: the one given at construction (the public registry) and any added later with addProvider, such as the signed-in user's private plugins, which cannot be listed until an identity exists. A key listed by more than one provider resolves to the earliest.

    On construction, and again on addProvider or refresh, the manager lists every provider and writes the merged result into the plugins atom. Subscribers see loading: true during the fetch and loading: false once it settles.

    Index

    Constructors

    Properties

    plugins: Writable<PluginsState>

    Methods

    • The entry for id from the first provider that has it.

      Parameters

      • id: string
      • Optionalversion: string

      Returns Effect<
          {
              profile: {
                  author?: string;
                  createdAt?: string;
                  dependsOn?: readonly string[];
                  description?: string;
                  homePage?: string;
                  icon?: { hue?: string; key: string };
                  key: string;
                  name: string;
                  screenshots?: readonly { dark?: string; light?: string }[];
                  source?: string;
                  spec?: string;
                  tags?: readonly string[];
              };
              release?: {
                  createdAt?: string;
                  dependencies?: { readonly [key: string]: string };
                  manifestHash?: string;
                  moduleUrl: string;
                  pluginKey?: string;
                  version: string;
              };
          },
          Error,
      >

    • Lists every provider's plugins, merged as the catalog is.

      Returns Effect<
          readonly {
              profile: {
                  author?: string;
                  createdAt?: string;
                  dependsOn?: readonly string[];
                  description?: string;
                  homePage?: string;
                  icon?: { hue?: string; key: string };
                  key: string;
                  name: string;
                  screenshots?: readonly { dark?: string; light?: string }[];
                  source?: string;
                  spec?: string;
                  tags?: readonly string[];
              };
              release?: {
                  createdAt?: string;
                  dependencies?: { readonly [key: string]: string };
                  manifestHash?: string;
                  moduleUrl: string;
                  pluginKey?: string;
                  version: string;
              };
          }[],
          Error,
      >

    • Versions of id from the first provider that has it.

      Parameters

      • id: string

      Returns Effect<
          readonly {
              createdAt?: string;
              dependencies?: { readonly [key: string]: string };
              manifestHash?: string;
              moduleUrl: string;
              pluginKey?: string;
              version: string;
          }[],
          Error,
      >

    • Reloads the catalog from every provider, in the background. A provider that fails contributes nothing and its error is surfaced on the atom, so one unreachable backend does not hide the others.

      Returns void