pluginParsers.ts ×2
Frontier kind: Code frontier
unlabeled · c_01e7beab8ff5
22 tests · 20397 LOC · 66 files · introduces 0 tests · 6 LOC · 1 file
Introduces — evidence that enters the hierarchy at this concept
Code
2 ranges 6 lines · 1 files
Tests
0 tests
Contains — complete concept membership
Neighbourhood graph
The orange circle is the focus. Violet and green circles are every ancestor and descendant, broader and narrower, at any distance; blue squares and pink diamonds are the introduced files and exact introduced tests of every visible concept, not only the focus's. Arrows point from broader to narrower concepts and bridge only concepts omitted from this view. Undirected links show source or test introduction. Concept and file size follows LOC; exact test nodes use test-count units.
Focus concept
Ancestors (broader)
Descendants (narrower)
Introduced files
Introduced tests
Introduced files, introduced tests, and structurally relevant concept specialization
In the embedded map, ordinary wheel input scrolls the page; use the visible controls to zoom and drag to pan. Open the full-screen map for canvas navigation: wheel pans, Ctrl/Command plus wheel zooms, and arrow keys pan when this region is focused. On touch screens, open the full-screen map to pan or pinch. If JavaScript or WebGL is unavailable, use the native relationship evidence on this page.
Graph controls are ready.
Interactive rendering requires JavaScript and WebGL. Use the native relationship evidence on this page while the interactive map is unavailable.
JavaScript is disabled; use the native relationship evidence on this page to explore the same evidence.
Native relationship evidence
Every exact file and test below is linked only from the concept that introduces it.
pluginParsers.ts ×2 — Focused concept
Introduced files:
copilotAgent.ts ×4 — Ancestor (broader)
Introduced files:
Introduced tests:
agentPluginServiceImpl.ts ×4 — Ancestor (broader)
Introduced files:
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection manifest commands field with string array scans multiple directories|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection manifest agents field adds supplemental agent directories|occurrence=1, agentPluginFormatDetection.test|title=AgentPlugin format detection duplicate names across directories deduplicate (first wins)|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection manifest agents field pointing to a specific file|occurrence=1, agentPluginFormatDetection.test|title=AgentPlugin format detection manifest commands field pointing to a specific file|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection manifest commands field with array of specific files|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection falls back to Copilot format when no vendor manifest exists|occurrence=1 — Ancestor (broader)
Introduced tests:
plugin.json exists|occurrence=1 — Ancestor (broader)
Introduced tests:
directory|occurrence=1, plugin.json exists|occurrence=1 — Ancestor (broader)
Introduced tests:
pluginParsers.ts ×1 — Ancestor (broader)
Introduced files:
agentPluginFormatDetection.test|title=AgentPlugin format detection discovers components without a manifest|occurrence=1 — Ancestor (broader)
Introduced tests:
commands → slash completion (end-to-end) a skill wins over a same-named command (no duplicate completion)|occurrence=1 — Ancestor (broader)
Introduced tests:
<name> completion (pre-session)|occurrence=1 — Ancestor (broader)
Introduced tests:
commands → slash completion (end-to-end) the command survives the live SDK filter once a session materializes|occurrence=1 — Ancestor (broader)
Introduced tests:
commands → slash completion (end-to-end) a command the live SDK did not load is dropped post-materialize|occurrence=1 — Ancestor (broader)
Introduced tests:
commands are surfaced too (pre-session)|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgentSkillScan.test|title=claudeAgentSkillScan Agent Plugin directories are excluded across compatible manifest shapes|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgentSkillScan.test|title=claudeAgentSkillScan scans agents, skills, and commands (commands folded into skills) with real URIs|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgentSkillScan.test|title=claudeAgentSkillScan a skill wins over a same-named command (spec §3 priority)|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgentSkillScan.test|title=claudeAgentSkillScan project scope shadows user scope on name clash|occurrence=1 — Ancestor (broader)
Introduced tests:
pluginParsers.ts ×3 — Ancestor (broader)
Introduced files:
pluginParsers.ts ×3 — Ancestor (broader)
Introduced files:
pluginParsers.ts ×5 — Descendant (narrower)
Introduced files:
pluginParsers.ts ×1 — Descendant (narrower)
Introduced files:
pluginParsers.ts ×9 — Descendant (narrower)
Introduced files:
pluginParsers.ts ×3 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×2 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×1 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×8 — Descendant (narrower)
Introduced files:
resources.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×4 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×3 — Descendant (narrower)
Introduced files:
fileService.ts ×2 — Descendant (narrower)
Introduced files:
fileService.ts ×17 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×1 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×1 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×6 — Descendant (narrower)
Introduced files:
fileService.ts ×5 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×4 — Descendant (narrower)
Introduced files:
fileService.ts ×6 — Descendant (narrower)
Introduced files:
fileService.ts ×3 — Descendant (narrower)
Introduced files:
fileService.ts ×2 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×11 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×10 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×4 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×4 — Descendant (narrower)
Introduced files:
fileService.ts ×2 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×20 — Descendant (narrower)
Introduced files:
files.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×2 — Descendant (narrower)
Introduced files:
fileService.ts ×6 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×5 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×7 — Descendant (narrower)
Introduced files:
files.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×3 — Descendant (narrower)
Introduced files:
files.ts ×3 — Descendant (narrower)
Introduced files:
buffer.ts ×1 — Descendant (narrower)
Introduced files:
stream.test|title=Stream WriteableStream - end with error works|occurrence=1, stream.test|title=Stream WriteableStream - end with empty string works|occurrence=1 — Descendant (narrower)
Introduced tests:
buffer.test|title=Buffer concat|occurrence=1 — Descendant (narrower)
Introduced tests:
buffer.test|title=Buffer fromString|occurrence=1, buffer.test|title=Buffer issue #251527 - VSBuffer#toString preserves BOM character in filenames|occurrence=1 — Descendant (narrower)
Introduced tests:
buffer.test|title=Buffer Performance issue with VSBuffer#slice #76076|occurrence=1 — Descendant (narrower)
Introduced tests:
pluginParsers.ts ×47 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
async.ts ×202 — Descendant (narrower)
Introduced files:
contextkey.ts ×1 — Descendant (narrower)
Introduced files:
contextkey.ts ×1 — Descendant (narrower)
Introduced files:
mcpAppDefaults.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×6 — Descendant (narrower)
Introduced files:
agentPluginParser.ts ×5 — Descendant (narrower)
Introduced files:
stream.ts ×2 — Descendant (narrower)
Introduced files:
resources.ts ×2 — Descendant (narrower)
Introduced files:
stream.ts ×2 — Descendant (narrower)
Introduced files:
stream.ts ×3 — Descendant (narrower)
Introduced files:
resources.ts ×1 — Descendant (narrower)
Introduced files:
resources.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×41 — Descendant (narrower)
Introduced files:
resources.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×3 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
resources.ts ×4 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×2 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×2 — Descendant (narrower)
Introduced files:
stream.ts ×2 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×1 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×2 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×1 — Descendant (narrower)
Introduced files:
resources.ts ×1 — Descendant (narrower)
Introduced files:
resources.ts ×1 — Descendant (narrower)
Introduced files:
resources.ts ×3 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×1 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×1 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×1 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×1 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×6 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×2 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×1 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×1 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×1 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×3 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×1 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×1 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×60 — Descendant (narrower)
Introduced files:
resources.ts ×23 — Descendant (narrower)
Introduced files:
strings.test|title=Strings trimWhitespace|occurrence=1 — Descendant (narrower)
Introduced tests:
extpath.ts ×17 — Descendant (narrower)
Introduced files:
strings.ts ×3 — Descendant (narrower)
Introduced files:
strings.ts ×3 — Descendant (narrower)
Introduced files:
strings.ts ×101 — Descendant (narrower)
Introduced files:
event.ts ×1 — Descendant (narrower)
Introduced files:
event.ts ×5 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
cancellation.ts ×1 — Descendant (narrower)
Introduced files:
cancellation.ts ×4 — Descendant (narrower)
Introduced files:
lifecycle.ts ×4 — Descendant (narrower)
Introduced files:
cancellation.test|title=CancellationToken None|occurrence=1 — Descendant (narrower)
Introduced tests:
cancellation.ts ×1 — Descendant (narrower)
Introduced files:
event.ts ×1 — Descendant (narrower)
Introduced files:
event.ts ×1 — Descendant (narrower)
Introduced files:
event.ts ×3 — Descendant (narrower)
Introduced files:
lifecycle.test|title=No Leakage Utilities ensureNoDisposablesAreLeakedInTest Basic Test|occurrence=1 — Descendant (narrower)
Introduced tests:
event.ts ×8 — Descendant (narrower)
Introduced files:
event.ts ×3 — Descendant (narrower)
Introduced files:
cancellation.ts ×18 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.test|title=Lifecycle dispose disposable array|occurrence=1, lifecycle.test|title=Lifecycle Action bar has broken accessibility #100273|occurrence=1 — Descendant (narrower)
Introduced tests:
event.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×3 — Descendant (narrower)
Introduced files:
event.ts ×4 — Descendant (narrower)
Introduced files:
event.ts ×2 — Descendant (narrower)
Introduced files:
buffer.ts ×1 — Descendant (narrower)
Introduced files:
buffer.ts ×1 — Descendant (narrower)
Introduced files:
buffer.ts ×2 — Descendant (narrower)
Introduced files:
buffer.ts ×2 — Descendant (narrower)
Introduced files:
buffer.ts ×2 — Descendant (narrower)
Introduced files:
buffer.ts ×2 — Descendant (narrower)
Introduced files:
buffer.ts ×2 — Descendant (narrower)
Introduced files:
buffer.ts ×1 — Descendant (narrower)
Introduced files:
buffer.ts ×42 — Descendant (narrower)
Introduced files:
uri.ts ×3 — Descendant (narrower)
Introduced files:
yaml.ts ×54 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×5 — Descendant (narrower)
Introduced files:
uri.ts ×2 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×14 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×3 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
json.ts ×14 — Descendant (narrower)
Introduced files:
languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication disposes entries no longer in model|occurrence=1 — Descendant (narrower)
Introduced tests:
path.ts ×1 — Descendant (narrower)
Introduced files:
path.ts ×4 — Descendant (narrower)
Introduced files:
uri.ts ×10 — Descendant (narrower)
Introduced files:
languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication mixed unique and duplicate IDs|occurrence=1, languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication creates new entry when none exists|occurrence=1, +4 — Descendant (narrower)
Introduced tests:
path.ts ×1 — Descendant (narrower)
Introduced files:
path.ts ×2 — Descendant (narrower)
Introduced files:
path.ts ×1 — Descendant (narrower)
Introduced files:
path.ts ×6 — Descendant (narrower)
Introduced files:
path.ts ×5 — Descendant (narrower)
Introduced files:
uri.ts ×2 — Descendant (narrower)
Introduced files:
uri.ts ×3 — Descendant (narrower)
Introduced files:
mcpPlatformTypes.ts ×1 — Descendant (narrower)
Introduced files:
uri.test|title=URI URI#file, win-speciale|occurrence=1, charCode.test|title=CharCode has good values|occurrence=1, +2 — Descendant (narrower)
Introduced tests:
uri.ts ×2 — Descendant (narrower)
Introduced files:
utils.ts ×3 — Descendant (narrower)
Introduced files:
nls.ts ×1 — Descendant (narrower)
Introduced files:
path.ts ×3 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
nls.ts ×3 — Descendant (narrower)
Introduced files:
path.ts ×3 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
nls.ts ×6 — Descendant (narrower)
Introduced files:
objects.ts ×13 — Descendant (narrower)
Introduced files:
path.ts ×1 — Descendant (narrower)
Introduced files:
path.ts ×3 — Descendant (narrower)
Introduced files:
path.ts ×3 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
path.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×4 — Descendant (narrower)
Introduced files:
path.ts ×6 — Descendant (narrower)
Introduced files:
lifecycle.ts ×4 — Descendant (narrower)
Introduced files:
lifecycle.ts ×6 — Descendant (narrower)
Introduced files:
lazy.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
path.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
map.ts ×97 — Descendant (narrower)
Introduced files:
Introduced tests
Every collected test enters the hierarchy at exactly one concept.
No tests are introduced at this concept. Its intent tests are introduced by other concepts.
Introduced code
Every collected source range enters the hierarchy at exactly one concept.
1 file ranked by introduced lines: 6 introduced LOC across 2 ranges.
Expand a file to inspect source; the > gutter marks introduced lines.
src/vs/platform/agentPlugins/common/pluginParsers.ts 6 introduced LOC · 2 ranges
Open complete file
955
956
const addItem = ( name : string , uri : URI ) => {
958
>
seen . add ( name );
959
>
items . push ({ uri , name });
960
>
}
961
>
};
962
963
for ( const dir of dirs ) {
968
continue ;
969
}
971
if ( stat . isFile && extname ( dir ). toLowerCase () === COMMAND_FILE_SUFFIX ) {
972
addItem ( basename ( dir ). slice ( 0 , - COMMAND_FILE_SUFFIX . length ), dir );