pluginParsers.ts ×1
Frontier kind: Code frontier
unlabeled · c_edf9adc2cdee
61 tests · 18595 LOC · 66 files · introduces 0 tests · 3 LOC · 1 file
Introduces — evidence that enters the hierarchy at this concept
Code
1 range 3 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 ×1 — Focused concept
Introduced files:
claudeAgentSession.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeSdkPipeline.ts ×5 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeAgent.test|title=ClaudeAgent — Phase 11 customizations mid-turn reducer toggle reconciles before the following send|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgentSession.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
copilotAgent.ts ×4 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeAgent.test|title=ClaudeAgent — Phase 11 customizations reducer-backed customization enablement stays isolated per session|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgent.test|title=ClaudeAgent — Phase 11 customizations getSessionCustomizations overlays the enablement state onto client-pushed entries|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgent.test|title=ClaudeAgent — Phase 11 customizations getSessionCustomizations resolves against a provisional session|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgentSession.ts ×1 — Ancestor (broader)
Introduced files:
agentPluginFormatDetection.test|title=AgentPlugin format detection Agent Plugin root takes priority and exposes only portable core components|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection reads MCP from custom path in manifest|occurrence=1, agentPluginFormatDetection.test|title=AgentPlugin format detection manifest mcpServers field pointing to a specific file|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection reads hooks from custom path in manifest|occurrence=1, agentPluginFormatDetection.test|title=AgentPlugin format detection manifest hooks field pointing to a specific file|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection Copilot Plugin MCP servers expand root aliases and default cwd to plugin root|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection CLAUDE_PLUGIN_ROOT expansion in MCP server definitions from .mcp.json|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection Open Plugin reads MCP definitions from standalone .mcp.json|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection Open Plugin format takes priority over Claude format|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginServiceImpl.ts ×3 — Ancestor (broader)
Introduced files:
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection PLUGIN_ROOT expansion in inline MCP server definitions|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection inline MCP in manifest takes priority over standalone .mcp.json|occurrence=1 — Ancestor (broader)
Introduced tests:
plugin.json inline|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection PLUGIN_ROOT expansion in hook commands|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection reads inline hooks from manifest|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginServiceImpl.ts ×1 — Ancestor (broader)
Introduced files:
pluginParsers.ts ×5 — Ancestor (broader)
Introduced files:
agentPluginServiceImpl.ts ×2 — Ancestor (broader)
Introduced files:
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:
MCP) with real URIs|occurrence=1 — Ancestor (broader)
Introduced tests:
pluginParsers.test|title=pluginParsers makeMcpServerCustomization Agent Plugin recognizes the Agent Plugin schema and gives it precedence over legacy metadata|occurrence=1 — Ancestor (broader)
Introduced tests:
pluginParsers.test|title=pluginParsers makeMcpServerCustomization Agent Plugin reads usable immediate-child skills permissively|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:
pluginParsers.ts ×1 — Ancestor (broader)
Introduced files:
pluginParsers.ts ×1 — Ancestor (broader)
Introduced files:
<name>` dir that is a native plugin is not surfaced as a standalone skill (PB-8)|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgentSkillScan.test|title=claudeAgentSkillScan project scope shadows user scope on name clash|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgentSkillScan.ts ×1 — Ancestor (broader)
Introduced files:
pluginParsers.test|title=pluginParsers makeMcpServerCustomization Agent Plugin reads known MCP fields and leaves harness placeholders unresolved|occurrence=1 — Ancestor (broader)
Introduced tests:
pluginParsers.ts ×2 — Ancestor (broader)
Introduced files:
claudeHookScan.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeHookScan.test|title=claudeHookScan reads settings.local.json (project scope) ahead of user settings|occurrence=1, claudeHookScan.test|title=claudeHookScan surfaces one hook entry per settings file that declares hooks, with the real settings URI|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeMcpScan.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
pluginParsers.ts ×2 — Ancestor (broader)
Introduced files:
pluginParsers.ts ×3 — Ancestor (broader)
Introduced files:
claudeAgentSkillScan.ts ×1 — Ancestor (broader)
Introduced files:
claudeMcpScan.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
pluginParsers.ts ×1 — Ancestor (broader)
Introduced files:
claudeMcpScan.test|title=claudeMcpScan scans a flat .mcp.json server map|occurrence=1 — Ancestor (broader)
Introduced tests:
pluginParsers.ts ×4 — Ancestor (broader)
Introduced files:
claudeMcpScan.ts ×2 — Ancestor (broader)
Introduced files:
claudeHookScan.test|title=claudeHookScan with no workspace (undefined cwd) only the user settings file is read|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeHookScan.ts ×1 — Ancestor (broader)
Introduced files:
claudeSessionCustomizationDiscovery.ts ×3 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeSessionCustomizationDiscovery.test|title=claudeSessionCustomizationDiscovery buildDiscoveredCustomizations SDK-only commands surface read-only in the Built-in container, not among editable disk skills|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeSessionCustomizationDiscovery.ts ×1 — Ancestor (broader)
Introduced files:
claudeSessionCustomizationDiscovery.test|title=claudeSessionCustomizationDiscovery buildDiscoveredCustomizations pre-materialize seeds curated built-in agents (claude-internal; general-purpose hidden; disk name wins)|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeSessionCustomizationDiscovery.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeSessionCustomizationDiscovery.test|title=claudeSessionCustomizationDiscovery buildDiscoveredCustomizations a surfaced plugin's components do not also leak as standalone SDK fallbacks (bare + namespaced names suppressed)|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeSessionCustomizationDiscovery.ts ×3 — Ancestor (broader)
Introduced files:
claudeSessionCustomizationDiscovery.test|title=claudeSessionCustomizationDiscovery mapDiscoveredCustomizations maps discovered entries into per-scope Directory containers with real child URIs + top-level MCP|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeSessionCustomizationDiscovery.ts ×1 — Ancestor (broader)
Introduced files:
claudeSessionCustomizationDiscovery.test|title=claudeSessionCustomizationDiscovery buildDiscoveredCustomizations pre-materialize shows all native plugins (no live session to filter against)|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeSessionCustomizationDiscovery.test|title=claudeSessionCustomizationDiscovery buildDiscoveredCustomizations post-materialize matches a plugin by SDK `source` (id) even when the reported path is not the resolved root|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeSessionCustomizationDiscovery.ts ×2 — Ancestor (broader)
Introduced files:
claudeSessionCustomizationDiscovery.ts ×1 — Ancestor (broader)
Introduced files:
claudeSessionCustomizationDiscovery.ts ×3 — Ancestor (broader)
Introduced files:
claudeSessionCustomizationDiscovery.ts ×1 — Ancestor (broader)
Introduced files:
claudeSessionCustomizationDiscovery.test|title=claudeSessionCustomizationDiscovery mapDiscoveredCustomizations maps a native plugin into a top-level Plugin container carrying its bundled children|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeSessionCustomizationDiscovery.ts ×2 — Ancestor (broader)
Introduced files:
claudeSessionCustomizationDiscovery.ts ×1 — Ancestor (broader)
Introduced files:
pluginParsers.ts ×2 — Ancestor (broader)
Introduced files:
Introduced tests:
pluginParsers.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
pluginParsers.test|title=pluginParsers parseHooksJson all groups from one file share a single file-level customization|occurrence=1 — Ancestor (broader)
Introduced tests:
pluginParsers.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
pluginParsers.ts ×2 — Ancestor (broader)
Introduced files:
pluginParsers.ts ×15 — Ancestor (broader)
Introduced files:
toParsedSkill toParsedAgent pairs the resource with an AgentCustomization|occurrence=1 — Ancestor (broader)
Introduced tests:
toParsedSkill toParsedSkill pairs the resource with a SkillCustomization and omits an absent description|occurrence=1 — Ancestor (broader)
Introduced tests:
pluginParsers.test|title=pluginParsers makeMcpServerCustomization two servers declared in the same file get distinct ids|occurrence=1, pluginParsers.test|title=pluginParsers makeMcpServerCustomization builds a Stopped server with DEFAULT_MCP_APP and a name-disambiguated id|occurrence=1 — Ancestor (broader)
Introduced tests:
pluginParsers.ts ×2 — Ancestor (broader)
Introduced files:
pluginParsers.ts ×2 — Ancestor (broader)
Introduced files:
pluginParsers.ts ×2 — Ancestor (broader)
Introduced files:
pluginParsers.ts ×1 — Ancestor (broader)
Introduced files:
fileService.ts ×18 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×7 — Descendant (narrower)
Introduced files:
log.ts ×72 — Descendant (narrower)
Introduced files:
buffer.test|title=Buffer Performance issue with VSBuffer#slice #76076|occurrence=1 — Descendant (narrower)
Introduced tests:
pluginParsers.ts ×47 — Descendant (narrower)
Introduced files:
contextkey.ts ×1 — Descendant (narrower)
Introduced files:
contextkey.ts ×3 — 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:
contextkey.ts ×2 — Descendant (narrower)
Introduced files:
contextkey.ts ×1 — Descendant (narrower)
Introduced files:
contextkey.ts ×2 — Descendant (narrower)
Introduced files:
contextkey.ts ×2 — Descendant (narrower)
Introduced files:
contextkey.ts ×1 — Descendant (narrower)
Introduced files:
contextkey.ts ×1 — Descendant (narrower)
Introduced files:
contextkey.ts ×201 — Descendant (narrower)
Introduced files:
mcpAppDefaults.ts ×1 — Descendant (narrower)
Introduced files:
agentPluginParser.ts ×5 — Descendant (narrower)
Introduced files:
files.ts ×41 — Descendant (narrower)
Introduced files:
hash.ts ×17 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×60 — Descendant (narrower)
Introduced files:
resources.ts ×23 — Descendant (narrower)
Introduced files:
network.ts ×20 — Descendant (narrower)
Introduced files:
strings.test|title=Strings trimWhitespace|occurrence=1 — Descendant (narrower)
Introduced tests:
extpath.ts ×17 — Descendant (narrower)
Introduced files:
strings.ts ×101 — Descendant (narrower)
Introduced files:
sessionState.ts ×1 — Descendant (narrower)
Introduced files:
sessionState.ts ×57 — Descendant (narrower)
Introduced files:
cancellation.test|title=CancellationToken None|occurrence=1 — Descendant (narrower)
Introduced tests:
cancellation.ts ×18 — Descendant (narrower)
Introduced files:
event.ts ×1 — Descendant (narrower)
Introduced files:
event.ts ×4 — Descendant (narrower)
Introduced files:
event.ts ×2 — Descendant (narrower)
Introduced files:
event.ts ×93 — Descendant (narrower)
Introduced files:
buffer.ts ×42 — Descendant (narrower)
Introduced files:
scanner.ts ×13 — Descendant (narrower)
Introduced files:
yaml.ts ×54 — Descendant (narrower)
Introduced files:
scanner.ts ×3 — Descendant (narrower)
Introduced files:
scanner.ts ×1 — Descendant (narrower)
Introduced files:
scanner.ts ×1 — Descendant (narrower)
Introduced files:
scanner.ts ×1 — Descendant (narrower)
Introduced files:
scanner.ts ×1 — Descendant (narrower)
Introduced files:
scanner.ts ×1 — Descendant (narrower)
Introduced files:
scanner.ts ×1 — Descendant (narrower)
Introduced files:
scanner.ts ×36 — 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 ×8 — Descendant (narrower)
Introduced files:
uri.ts ×3 — Descendant (narrower)
Introduced files:
json.ts ×14 — Descendant (narrower)
Introduced files:
uri.ts ×10 — Descendant (narrower)
Introduced files:
state.ts ×1 — Descendant (narrower)
Introduced files:
commands.ts ×1 — 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:
state.ts ×1 — Descendant (narrower)
Introduced files:
state.ts ×1 — Descendant (narrower)
Introduced files:
state.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:
uri.ts ×1 — Descendant (narrower)
Introduced files:
instantiation.ts ×4 — Descendant (narrower)
Introduced files:
uri.ts ×9 — Descendant (narrower)
Introduced files:
nls.ts ×1 — Descendant (narrower)
Introduced files:
errorMessage.ts ×6 — Descendant (narrower)
Introduced files:
linkedList.ts ×13 — Descendant (narrower)
Introduced files:
nls.ts ×6 — Descendant (narrower)
Introduced files:
objects.ts ×13 — Descendant (narrower)
Introduced files:
performance.ts ×6 — Descendant (narrower)
Introduced files:
instantiation.ts ×5 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — 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:
lazy.ts ×3 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
uint.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: 3 introduced LOC across 1 ranges.
Expand a file to inspect source; the > gutter marks introduced lines.
src/vs/platform/agentPlugins/common/pluginParsers.ts 3 introduced LOC · 1 range
Open complete file
267
* URI that happens to already contain a matching fragment.
268
*/
269
>
function buildChildId ( uri : URI , disambiguator? : string ) : string {
pluginParsers.ts
270
>
const base = customizationId ( uri . toString ());
271
>
if ( ! disambiguator ) {
272
return base ;
273
}