Protected_Protected ReadonlyenvProtected ReadonlyfileProtectedlastProtected ReadonlyloggerReadonlyonProtected ReadonlyonProtectedparentProtected ReadonlypreferencesProtected ReadonlyskillProtectedskillsKeyed by Skill.qualifiedName.
ProtectedtoWatchers of the current scan; disposed and rebuilt on every rescan.
Protected ReadonlytoKept apart from toDispose, which does not survive a rescan.
ProtectedupdateProtectedupdateTrue while update is running, so concurrent callers do not duplicate the scan and its log output.
ProtectedupdateSet when update is called while another run is in progress; triggers a follow-up scan when the current one finishes.
ProtectedwatchedProtected ReadonlyworkspacePromise that resolves when initial skill loading is complete
Dispose this object.
ProtecteddoProtectedgetA failing contribution is skipped: one broken root must not cost every other skill.
ProtectedgetMatched against Skill.qualifiedName first, then the plain
SkillDescription.name so unqualified references keep resolving. A plain name shared by
several skills is ambiguous and resolves to undefined.
Get all discovered skills
ProtectedgetProtectedinitProtectedinitializeRuns the initial scan once the skill directory sources are known. ready always resolves, even if the scan failed.
ProtectedloadProtectedprocessOptionalqualifier: stringProtectedprocessOptionalqualifier: stringProtectedprocessOptionalqualifier: stringProtectedscheduleProtectedsetupProtectedupdate
Event fired when skills change