or run

npx @tessl/cli init
Log in

Version

Files

tile.json

task.mdevals/scenario-4/

Extension Governance Utility

A small utility that reconciles an allow/block list of extensions using the platform's extension system.

Capabilities

Reports current extension states

  • With no allow/block entries, returns all known extensions with their installed and enabled status. @test

Installs missing allowed extensions

  • Given an allow list that includes an extension not yet present, installs it from the default public index and enables it. @test

Disables or removes blocked extensions

  • Given a block list that includes an installed extension, disables it, and removes it when removal is requested. @test

Summarizes actions

  • After applying directives, returns a plan showing which extensions were installed, enabled, disabled, removed, and any warnings for items that could not be reconciled. @test

Implementation

@generates

API

export type ExtensionDirective = {
  allow?: string[];
  block?: string[];
  removeBlocked?: boolean;
};

export type ExtensionStatus = {
  name: string;
  installed: boolean;
  enabled: boolean;
  source?: string;
};

export type ExtensionPlan = {
  installed: string[];
  enabled: string[];
  disabled: string[];
  removed: string[];
  summary: ExtensionStatus[];
  warnings: string[];
};

/**
 * Applies allow/block directives using the platform's extension manager, updating installations and enablement.
 * Should pull extensions from the default public index and respect trust prompts.
 */
export async function reconcileExtensions(directive: ExtensionDirective): Promise<ExtensionPlan>;

Dependencies { .dependencies }

jupyterlab { .dependency }

Provides extension discovery, installation, enable/disable, and removal capabilities.

@satisfied-by