Skip to content
2 min read · 351 words

Interface: SkillManager ​

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

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:271
unsafereadonlyreadonly string[]Explicitly enabled containment controls, derived from the manager configuration.src/batteries/skills/types.ts:269

Methods ​

catalog() ​

ts
catalog(): readonly CatalogEntry[];

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

Synchronous resolved catalog, including losing candidates and update flags.

Returns ​

readonly CatalogEntry[]


dispose() ​

ts
dispose(): Promise<void>;

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

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:263

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:255

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:257

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:259

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:261

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:265

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

Parameters ​

ParameterType
idstring
ctxDispatchContext

Returns ​

Promise<void>