Skip to content
2 min read · 351 words

Interface: SkillManager

Defined in: src/batteries/skills/types.ts:243

Stateful skill lifecycle; construct one manager per conversation or session.

Properties

PropertyModifierTypeDescriptionDefined in
middlewarereadonlySkillMiddlewareSetMiddleware set with stable shape; functionality is derived from manager configuration.src/batteries/skills/types.ts:263
unsafereadonlyreadonly string[]Explicitly enabled containment controls, derived from the manager configuration.src/batteries/skills/types.ts:261

Methods

catalog()

ts
catalog(): readonly CatalogEntry[];

Defined in: src/batteries/skills/types.ts:245

Synchronous resolved catalog, including losing candidates and update flags.

Returns

readonly CatalogEntry[]


dispose()

ts
dispose(): Promise<void>;

Defined in: src/batteries/skills/types.ts:259

Disposes skill workspaces and drops all projections, including when middleware is skipped.

Returns

Promise<void>


load()

ts
load(id: string, ctx: DispatchContext): Promise<LoadResult>;

Defined in: src/batteries/skills/types.ts:255

Initializes and immediately projects a skill's body and tools for this dispatch.

Parameters

ParameterType
idstring
ctxDispatchContext

Returns

Promise<LoadResult>


loaded()

ts
loaded(): readonly string[];

Defined in: src/batteries/skills/types.ts:247

Initialized manager state, independent of any turn context.

Returns

readonly string[]


projected()

ts
projected(ctx:
  | TurnContext
  | DispatchContext): readonly ProjectedSkill[];

Defined in: src/batteries/skills/types.ts:249

Skills actually projected into this context and callable in this turn.

Parameters

ParameterType
ctx| TurnContext | DispatchContext

Returns

readonly ProjectedSkill[]


refresh()

ts
refresh(id?: string): Promise<RefreshResult>;

Defined in: src/batteries/skills/types.ts:251

Catalog-only rediscovery; never swaps an initialized version.

Parameters

ParameterType
id?string

Returns

Promise<RefreshResult>


refreshAndProject()

ts
refreshAndProject(ctx:
  | TurnContext
| DispatchContext, id?: string): Promise<RefreshResult>;

Defined in: src/batteries/skills/types.ts:253

Explicitly re-reads and swaps the loaded version, then projects it into this context.

Parameters

ParameterType
ctx| TurnContext | DispatchContext
id?string

Returns

Promise<RefreshResult>


unload()

ts
unload(id: string, ctx: DispatchContext): Promise<void>;

Defined in: src/batteries/skills/types.ts:257

Removes a skill from initialized state and unregisters its projected tools.

Parameters

ParameterType
idstring
ctxDispatchContext

Returns

Promise<void>