claudeCustomizationTestUtils.ts ×1
Frontier kind: Code frontier
unlabeled · c_7b9ce5de3304
39 tests · 19753 LOC · 67 files · introduces 0 tests · 5 LOC · 1 file
Introduces — evidence that enters the hierarchy at this concept
Code
1 range 5 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.
claudeCustomizationTestUtils.ts ×1 — Focused concept
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:
claudeAgentSkillScan.test|title=claudeAgentSkillScan Agent Plugin directories are excluded across compatible manifest shapes|occurrence=1 — Ancestor (broader)
Introduced tests:
object values as enabled, only `false` disables|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeNativePluginScan.ts ×2 — Ancestor (broader)
Introduced files:
Introduced tests:
plugin.json), not just the Claude layout|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeNativePluginScan.test|title=claudeNativePluginScan with no workspace, only the user-home settings are read (skills-dir skips the workspace candidate)|occurrence=1 — Ancestor (broader)
Introduced tests:
<version>) with its real root|occurrence=1, claudeNativePluginScan.test|title=claudeNativePluginScan picks the newest-mtime version dir when several are cached|occurrence=1, +1 — Ancestor (broader)
Introduced tests:
claudeNativePluginScan.ts ×2 — Ancestor (broader)
Introduced files:
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:
claudeNativePluginScan.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
<name>` dir that is a native plugin is not surfaced as a standalone skill (PB-8)|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeNativePluginScan.ts ×3 — Ancestor (broader)
Introduced files:
rules files are path-scoped when `paths` frontmatter is present, else always-on|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgentSkillScan.test|title=claudeAgentSkillScan project scope shadows user scope on name clash|occurrence=1 — Ancestor (broader)
Introduced tests:
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:
claudeHookScan.test|title=claudeHookScan a scope with disableAllHooks contributes nothing|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeMcpScan.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeNativePluginScan.test|title=claudeNativePluginScan local `false` disables a project-enabled plugin (precedence user < project < local)|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeHookScan.test|title=claudeHookScan a settings file without a hooks block yields no entry|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeMcpScan.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeNativePluginScan.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeRuleScan.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeMcpScan.test|title=claudeMcpScan settings.json without an mcpServers block yields no servers|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeMcpScan.test|title=claudeMcpScan scans a flat .mcp.json server map|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeRuleScan.ts ×3 — Ancestor (broader)
Introduced files:
claudeSessionCustomizationDiscovery.test|title=claudeSessionCustomizationDiscovery resolveClaudeAgentName file URI resolves the frontmatter name (not the filename)|occurrence=1 — Ancestor (broader)
Introduced tests:
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.test|title=claudeSessionCustomizationDiscovery ClaudeCustomizationWatcher ignores SDK runtime churn under `.claude` (transcripts, history, tasks, ...)|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeSessionCustomizationDiscovery.test|title=claudeSessionCustomizationDiscovery ClaudeCustomizationWatcher fires once (debounced) for changes under watched roots and ignores unrelated edits|occurrence=1 — Ancestor (broader)
Introduced tests:
CLAUDE.local.md edit|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeRuleScan.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeCustomizationTestUtils.ts ×1 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×1 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×8 — 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:
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:
fileService.ts ×3 — Descendant (narrower)
Introduced files:
fileService.ts ×2 — Descendant (narrower)
Introduced files:
fileService.ts ×2 — 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 ×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 ×5 — Descendant (narrower)
Introduced files:
fileService.ts ×6 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×2 — Descendant (narrower)
Introduced files:
fileService.ts ×5 — Descendant (narrower)
Introduced files:
fileService.ts ×56 — Descendant (narrower)
Introduced files:
fileService.ts ×18 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×7 — Descendant (narrower)
Introduced files:
log.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×1 — Descendant (narrower)
Introduced files:
log.ts ×72 — Descendant (narrower)
Introduced files:
files.ts ×3 — Descendant (narrower)
Introduced files:
files.ts ×3 — Descendant (narrower)
Introduced files:
async.ts ×5 — 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:
async.ts ×2 — Descendant (narrower)
Introduced files:
async.ts ×1 — Descendant (narrower)
Introduced files:
async.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
async.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
async.ts ×1 — Descendant (narrower)
Introduced files:
async.ts ×1 — Descendant (narrower)
Introduced files:
async.ts ×2 — Descendant (narrower)
Introduced files:
async.ts ×1 — Descendant (narrower)
Introduced files:
async.ts ×1 — 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 ×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:
resources.ts ×2 — Descendant (narrower)
Introduced files:
resources.ts ×1 — Descendant (narrower)
Introduced files:
resources.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×41 — Descendant (narrower)
Introduced files:
resources.ts ×1 — Descendant (narrower)
Introduced files:
resources.ts ×4 — Descendant (narrower)
Introduced files:
event.ts ×1 — Descendant (narrower)
Introduced files:
event.ts ×4 — Descendant (narrower)
Introduced files:
resources.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:
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:
event.ts ×1 — Descendant (narrower)
Introduced files:
sessionState.ts ×57 — Descendant (narrower)
Introduced files:
event.ts ×2 — 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:
lifecycle.ts ×4 — Descendant (narrower)
Introduced files:
cancellation.test|title=CancellationToken None|occurrence=1 — Descendant (narrower)
Introduced tests:
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:
lifecycle.ts ×1 — 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 ×3 — Descendant (narrower)
Introduced files:
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:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
Introduced tests:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
event.ts ×2 — Descendant (narrower)
Introduced files:
event.ts ×93 — 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:
scanner.ts ×13 — 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:
scanner.ts ×36 — 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:
uri.ts ×8 — 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:
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 ×2 — Descendant (narrower)
Introduced files:
path.ts ×1 — Descendant (narrower)
Introduced files:
path.ts ×5 — Descendant (narrower)
Introduced files:
performance.ts ×1 — 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:
path.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×2 — Descendant (narrower)
Introduced files:
utils.ts ×3 — Descendant (narrower)
Introduced files:
path.ts ×3 — Descendant (narrower)
Introduced files:
path.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:
path.ts ×2 — Descendant (narrower)
Introduced files:
path.ts ×3 — Descendant (narrower)
Introduced files:
errorMessage.ts ×6 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — 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:
path.ts ×1 — Descendant (narrower)
Introduced files:
path.ts ×3 — 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:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×3 — Descendant (narrower)
Introduced files:
path.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.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:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lazy.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×3 — 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:
path.ts ×2 — Descendant (narrower)
Introduced files:
uint.ts ×2 — Descendant (narrower)
Introduced files:
iterator.ts ×1 — 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: 5 introduced LOC across 1 ranges.
Expand a file to inspect source; the > gutter marks introduced lines.
src/vs/platform/agentHost/test/node/customizations/claudeCustomizationTestUtils.ts 5 introduced LOC · 1 range
Open complete file
30
31
/** Writes `content` to the in-memory `path` and returns its URI. */
33
>
const uri = URI . from ({ scheme : Schemas.inMemory , path });
34
>
await fileService . writeFile ( uri , VSBuffer . fromString ( content ));
35
>
return uri ;
36
>
}