Fazendo alterações personalizadas na barra lateral programaticamente

Você pode dar uma olhada em como o chat-plugin é integrado à barra lateral:

Neste caso, o estado dos links é mantido no objeto de serviço e sempre que o estado é alterado, a barra lateral é atualizada:

Uma solução potencial seria assinar o evento de mudança de página e atualizar os links. O pseudocódigo pode parecer com:

import { tracked } from "@glimmer/tracking";

api.addSidebarSection(
  (BaseCustomSidebarSection, BaseCustomSidebarSectionLink) => {
    const TestSectionLink = class extends BaseCustomSidebarSectionLink {
      // defina suas propriedades de link personalizadas aqui
    };

    const SidebarTestSection = class extends BaseCustomSidebarSection {
      @tracked links = [];

      constructor() {
        super(...arguments);

        this.#updateLinks();
        this.onAppEvent("page:changed", () => this.#updateLinks());
      }

      get newLinksArray() {
        // lista de links com base na URL atual
      }

      #updateLinks() {
        this.links = this.newLinksArray.map(
          (link) =>
            new TestSectionLink({
              link,
            })
        );
      }

      get sectionLinks() {
        return this.links;
      }
    };
    return SidebarTestSection;
  }
);