Setu-TS
    Preparing search index...

    Interface IPlugin

    The plugin contract. Every framework capability implements this interface (AI_GUIDELINES §3.2).

    export function MyPlugin(options: MyPluginOptions): IPlugin {
    return {
    name: 'my-plugin',
    version: '1.0.0',
    dependencies: [CAPABILITIES.LOGGER],
    provides: ['my-capability'],
    register(ctx) {
    ctx.services.register('my-capability', new MyService(options));
    },
    };
    }

    0.1.0

    interface IPlugin {
        consumes?: readonly string[];
        dependencies?: readonly string[];
        name: string;
        optionalDependencies?: readonly string[];
        priority?: number;
        provides?: readonly string[];
        version: string;
        register(ctx: IPluginContext): void | Promise<void>;
    }

    Hierarchy (View Summary)

    Index
    consumes?: readonly string[]

    Capability tokens this plugin resolves lazily at runtime via ctx.services.get. Unlike IPlugin.dependencies, these are not required before this plugin registers and impose no ordering; but if no registered plugin provides one, the kernel emits a soft warn-level startup diagnostic (through the logger capability when one is registered), because the deferred lookups would otherwise fail only later, at request time.

    dependencies?: readonly string[]

    Capability tokens that must be provided before this plugin registers.

    name: string

    Unique plugin name, lowercase kebab-case.

    optionalDependencies?: readonly string[]

    Capability tokens used when present, tolerated when absent.

    priority?: number

    Registration priority within the same dependency level; lower first.

    provides?: readonly string[]

    Capability tokens this plugin registers.

    version: string

    Plugin semver, matching its deno.json version.