3538
3539
export function toDiscoveredDirectoryCustomizations(directories: readonly IDiscoveredDirectory[], fileService: IFileService): Promise<DirectoryCustomization[]> {
3540
>
return Promise.all(directories.map(async directory => {
copilotAgent.ts
3541
>
const protocolUri = directory.uri.toString();
3542
>
return {
3543
>
type: CustomizationType.Directory,
3544
>
id: customizationId(protocolUri),
3545
>
uri: protocolUri,
3546
>
name: directory.name,
3547
>
enabled: true,
3548
>
contents: toDirectoryContentsType(directory.type),
3549
>
writable: directory.writable, // whether the new customization can be created in this directory
3550
>
load: { kind: CustomizationLoadStatus.Loaded },
3551
>
children: await Promise.all(directory.files.map(file => toDiscoveredChildCustomization(file.uri, directory.type, fileService))),
3552
>
};
3553
>
}));
3554
>
}
3555
3556
>
function toDirectoryContentsType(type: DiscoveredType): ChildCustomizationType {
copilotAgent.ts
3557
>
switch (type) {
3558
>
case DiscoveredType.Agent:
3559
>
return CustomizationType.Agent;
3560
>
case DiscoveredType.Skill:
3561
>
return CustomizationType.Skill;
3562
>
case DiscoveredType.Instruction:
3563
>
case DiscoveredType.AgentInstruction:
3564
>
return CustomizationType.Rule;
3565
>
case DiscoveredType.Hook:
3566
>
return CustomizationType.Hook;
3567
>
}
3568
>
}
3569
3570
async function toDiscoveredChildCustomization(file: URI, type: DiscoveredType, fileService: IFileService): Promise<ChildCustomization> {