@bastani/atomic 0.9.23-alpha.1 → 0.9.24-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/builtin/intercom/package.json +1 -1
  3. package/dist/builtin/mcp/CHANGELOG.md +6 -0
  4. package/dist/builtin/mcp/README.md +1 -0
  5. package/dist/builtin/mcp/index.bundle.mjs +244 -58
  6. package/dist/builtin/mcp/package.json +1 -1
  7. package/dist/builtin/subagents/CHANGELOG.md +6 -0
  8. package/dist/builtin/subagents/package.json +1 -1
  9. package/dist/builtin/web-access/package.json +1 -1
  10. package/dist/builtin/workflows/CHANGELOG.md +18 -0
  11. package/dist/builtin/workflows/builtin/{chunk-d3xhj946.js → chunk-cpw5gtzg.js} +1 -1
  12. package/dist/builtin/workflows/builtin/{chunk-kgn5wz1c.js → chunk-e1254zvd.js} +139 -15
  13. package/dist/builtin/workflows/builtin/{chunk-hj8mh07f.js → chunk-qy6g0baf.js} +1 -1
  14. package/dist/builtin/workflows/builtin/goal.js +2 -2
  15. package/dist/builtin/workflows/builtin/index.js +3 -3
  16. package/dist/builtin/workflows/builtin/ralph.js +2 -2
  17. package/dist/builtin/workflows/package.json +1 -1
  18. package/dist/builtin/workflows/skills/prompt-engineer/SKILL.md +1 -0
  19. package/dist/builtin/workflows/skills/prompt-engineer/references/claude_sonnet_5_5.md +131 -0
  20. package/dist/builtin/workflows/src/extension/index.bundle.mjs +187 -25
  21. package/dist/builtin/workflows/src/index.js +147 -17
  22. package/dist/core/agent-session-events.js +1 -1
  23. package/dist/core/agent-session-events.js.map +1 -1
  24. package/dist/core/agent-session-state.js +5 -2
  25. package/dist/core/agent-session-state.js.map +1 -1
  26. package/dist/core/extensions/api-types.d.ts +12 -0
  27. package/dist/core/extensions/api-types.d.ts.map +1 -1
  28. package/dist/core/extensions/api-types.js.map +1 -1
  29. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  30. package/dist/core/extensions/loader-api.js +42 -0
  31. package/dist/core/extensions/loader-api.js.map +1 -1
  32. package/dist/core/extensions/loader-bindings.d.ts.map +1 -1
  33. package/dist/core/extensions/loader-bindings.js +13 -7
  34. package/dist/core/extensions/loader-bindings.js.map +1 -1
  35. package/dist/core/extensions/loader-resources.d.ts +3 -0
  36. package/dist/core/extensions/loader-resources.d.ts.map +1 -1
  37. package/dist/core/extensions/loader-resources.js.map +1 -1
  38. package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
  39. package/dist/core/extensions/loader-runtime.js +2 -0
  40. package/dist/core/extensions/loader-runtime.js.map +1 -1
  41. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
  42. package/dist/core/extensions/loader-virtual-modules.js +2 -0
  43. package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
  44. package/dist/core/extensions/mcp-server-registry.d.ts +22 -0
  45. package/dist/core/extensions/mcp-server-registry.d.ts.map +1 -0
  46. package/dist/core/extensions/mcp-server-registry.js +51 -0
  47. package/dist/core/extensions/mcp-server-registry.js.map +1 -0
  48. package/dist/core/extensions/runtime-types.d.ts +3 -0
  49. package/dist/core/extensions/runtime-types.d.ts.map +1 -1
  50. package/dist/core/extensions/runtime-types.js.map +1 -1
  51. package/dist/core/keybindings.d.ts +1 -1
  52. package/dist/core/keybindings.d.ts.map +1 -1
  53. package/dist/core/keybindings.js +1 -1
  54. package/dist/core/keybindings.js.map +1 -1
  55. package/dist/core/mcp-servers.d.ts +39 -0
  56. package/dist/core/mcp-servers.d.ts.map +1 -0
  57. package/dist/core/mcp-servers.js +2 -0
  58. package/dist/core/mcp-servers.js.map +1 -0
  59. package/dist/core/model-resolver-defaults.js +2 -2
  60. package/dist/core/model-resolver-defaults.js.map +1 -1
  61. package/dist/core/package-manager-manifest.d.ts +3 -0
  62. package/dist/core/package-manager-manifest.d.ts.map +1 -1
  63. package/dist/core/package-manager-manifest.js +14 -0
  64. package/dist/core/package-manager-manifest.js.map +1 -1
  65. package/dist/core/package-manager-mcp-servers.d.ts +4 -0
  66. package/dist/core/package-manager-mcp-servers.d.ts.map +1 -0
  67. package/dist/core/package-manager-mcp-servers.js +53 -0
  68. package/dist/core/package-manager-mcp-servers.js.map +1 -0
  69. package/dist/core/package-manager-resource-accumulator.d.ts.map +1 -1
  70. package/dist/core/package-manager-resource-accumulator.js +2 -0
  71. package/dist/core/package-manager-resource-accumulator.js.map +1 -1
  72. package/dist/core/package-manager-resource-collector.d.ts.map +1 -1
  73. package/dist/core/package-manager-resource-collector.js +2 -0
  74. package/dist/core/package-manager-resource-collector.js.map +1 -1
  75. package/dist/core/package-manager-resource-patterns.d.ts +4 -0
  76. package/dist/core/package-manager-resource-patterns.d.ts.map +1 -1
  77. package/dist/core/package-manager-resource-patterns.js +36 -12
  78. package/dist/core/package-manager-resource-patterns.js.map +1 -1
  79. package/dist/core/package-manager-types.d.ts +14 -0
  80. package/dist/core/package-manager-types.d.ts.map +1 -1
  81. package/dist/core/package-manager-types.js.map +1 -1
  82. package/dist/core/package-manager.d.ts +1 -1
  83. package/dist/core/package-manager.d.ts.map +1 -1
  84. package/dist/core/package-manager.js.map +1 -1
  85. package/dist/core/resource-loader-core.d.ts +4 -0
  86. package/dist/core/resource-loader-core.d.ts.map +1 -1
  87. package/dist/core/resource-loader-core.js +7 -0
  88. package/dist/core/resource-loader-core.js.map +1 -1
  89. package/dist/core/resource-loader-helpers.d.ts.map +1 -1
  90. package/dist/core/resource-loader-helpers.js +1 -0
  91. package/dist/core/resource-loader-helpers.js.map +1 -1
  92. package/dist/core/resource-loader-internals.d.ts +2 -0
  93. package/dist/core/resource-loader-internals.d.ts.map +1 -1
  94. package/dist/core/resource-loader-internals.js.map +1 -1
  95. package/dist/core/resource-loader-package-resources.d.ts +3 -0
  96. package/dist/core/resource-loader-package-resources.d.ts.map +1 -1
  97. package/dist/core/resource-loader-package-resources.js +25 -2
  98. package/dist/core/resource-loader-package-resources.js.map +1 -1
  99. package/dist/core/resource-loader-reload.d.ts.map +1 -1
  100. package/dist/core/resource-loader-reload.js +4 -1
  101. package/dist/core/resource-loader-reload.js.map +1 -1
  102. package/dist/core/session-manager-core.d.ts +2 -0
  103. package/dist/core/session-manager-core.d.ts.map +1 -1
  104. package/dist/core/session-manager-core.js +6 -1
  105. package/dist/core/session-manager-core.js.map +1 -1
  106. package/dist/core/settings-types.d.ts +1 -0
  107. package/dist/core/settings-types.d.ts.map +1 -1
  108. package/dist/core/settings-types.js.map +1 -1
  109. package/dist/extensions/llama/provider.d.ts +1 -1
  110. package/dist/extensions/llama/provider.d.ts.map +1 -1
  111. package/dist/extensions/llama/provider.js +37 -10
  112. package/dist/extensions/llama/provider.js.map +1 -1
  113. package/dist/index.d.ts +2 -1
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js.map +1 -1
  116. package/dist/modes/interactive/chat-input-actions.d.ts +12 -0
  117. package/dist/modes/interactive/chat-input-actions.d.ts.map +1 -1
  118. package/dist/modes/interactive/chat-input-actions.js +44 -18
  119. package/dist/modes/interactive/chat-input-actions.js.map +1 -1
  120. package/dist/modes/interactive/components/chat-session-host-editor.d.ts +11 -0
  121. package/dist/modes/interactive/components/chat-session-host-editor.d.ts.map +1 -1
  122. package/dist/modes/interactive/components/chat-session-host-editor.js +7 -1
  123. package/dist/modes/interactive/components/chat-session-host-editor.js.map +1 -1
  124. package/dist/modes/interactive/interactive-hotkeys-debug.js +1 -1
  125. package/dist/modes/interactive/interactive-hotkeys-debug.js.map +1 -1
  126. package/dist/modes/interactive/interactive-input-handling.js +3 -1
  127. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  128. package/dist/modes/interactive/interactive-mode-helpers.d.ts.map +1 -1
  129. package/dist/modes/interactive/interactive-mode-helpers.js +1 -6
  130. package/dist/modes/interactive/interactive-mode-helpers.js.map +1 -1
  131. package/dist/utils/clipboard-native.d.ts +2 -0
  132. package/dist/utils/clipboard-native.d.ts.map +1 -1
  133. package/dist/utils/clipboard-native.js.map +1 -1
  134. package/dist/utils/clipboard.d.ts +7 -0
  135. package/dist/utils/clipboard.d.ts.map +1 -1
  136. package/dist/utils/clipboard.js +37 -1
  137. package/dist/utils/clipboard.js.map +1 -1
  138. package/docs/extensions/api-reference.md +19 -0
  139. package/docs/extensions.md +4 -0
  140. package/docs/keybindings.md +2 -2
  141. package/docs/llama-cpp.md +13 -0
  142. package/docs/mcp-servers.md +18 -0
  143. package/docs/models/evals.md +16 -4
  144. package/docs/packages/authoring.md +27 -0
  145. package/docs/packages/reference.md +3 -2
  146. package/docs/packages.md +3 -2
  147. package/docs/skills.md +3 -1
  148. package/examples/extensions/gondolin/package-lock.json +3 -3
  149. package/npm-shrinkwrap.json +46 -46
  150. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"resource-loader-core.js","sourceRoot":"","sources":["../../src/core/resource-loader-core.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Theme } from \"../modes/interactive/theme/theme.js\";\nimport { resolvePath } from \"../utils/paths.ts\";\nimport type { ResourceDiagnostic, ResourceOverlap } from \"./diagnostics.ts\";\nimport { createEventBus, createStagedEventBus, type EventBus } from \"./event-bus.js\";\nimport { createExtensionRuntime } from \"./extensions/loader.ts\";\nimport type { InlineExtension, LoadExtensionsResult } from \"./extensions/types.ts\";\nimport { DefaultPackageManager, type PathMetadata, type ResolvedResource } from \"./package-manager.ts\";\nimport type { PromptTemplate } from \"./prompt-templates.ts\";\nimport {\n\tupdatePromptsFromPathsAsync,\n\tupdateSkillsFromPathsAsync,\n\tupdateThemesFromPathsAsync,\n} from \"./resource-loader-assets.ts\";\nimport { clonePackageSources, mergeInheritedStrings } from \"./resource-loader-helpers.ts\";\nimport {\n\tcollectWorkflowResources,\n\tnormalizeExtensionPaths,\n\trecordExtensionSourceInfo,\n\tresolvePackageResourcePaths,\n} from \"./resource-loader-package-resources.ts\";\nimport { mergeResourcePaths } from \"./resource-loader-paths.ts\";\nimport { loadProjectTrustExtensions, reloadDefaultResourceLoader } from \"./resource-loader-reload.ts\";\nimport type {\n\tDefaultResourceLoaderInheritanceSnapshot,\n\tDefaultResourceLoaderOptions,\n\tResourceExtensionPaths,\n\tResourceLoader,\n\tResourceLoaderReloadOptions,\n\tResourceLoaderReloadTransaction,\n} from \"./resource-loader-types.ts\";\nimport { lifecycleScopeForOwner, sessionLifecycleCreation, sessionLifecycleScopes } from \"./session-lifecycle-scope.ts\";\nimport { type PackageSource, SettingsManager } from \"./settings-manager.ts\";\nimport { buildSkillCatalog, type SkillCatalog } from \"./skill-catalog.ts\";\nimport type { Skill } from \"./skills.ts\";\nimport type { SourceInfo } from \"./source-info.ts\";\n\nexport class DefaultResourceLoader implements ResourceLoader {\n\tprivate cwd: string;\n\tprivate agentDir: string;\n\tprivate settingsManager: SettingsManager;\n\tprivate eventBus: EventBus;\n\tprivate packageManager: DefaultPackageManager;\n\tprivate additionalExtensionPaths: string[];\n\tprivate additionalSkillPaths: string[];\n\tprivate additionalPromptTemplatePaths: string[];\n\tprivate additionalThemePaths: string[];\n\tprivate builtinPackagePaths: PackageSource[];\n\tprivate extensionFactories: InlineExtension[];\n\tprivate noExtensions: boolean;\n\tprivate noSkills: boolean;\n\tprivate noPromptTemplates: boolean;\n\tprivate noThemes: boolean;\n\tprivate noContextFiles: boolean;\n\tprivate systemPromptSource?: string;\n\tprivate appendSystemPromptSource?: string[];\n\tprivate extensionsOverride?: (base: LoadExtensionsResult) => LoadExtensionsResult;\n\tprivate skillsOverride?: (base: { skills: Skill[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tskills: Skill[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tprivate promptsOverride?: (base: { prompts: PromptTemplate[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tprompts: PromptTemplate[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tprivate themesOverride?: (base: { themes: Theme[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tthemes: Theme[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tprivate agentsFilesOverride?: (base: { agentsFiles: Array<{ path: string; content: string }> }) => {\n\t\tagentsFiles: Array<{ path: string; content: string }>;\n\t};\n\tprivate systemPromptOverride?: (base: string | undefined) => string | undefined;\n\tprivate appendSystemPromptOverride?: (base: string[]) => string[];\n\tprivate extensionsResult: LoadExtensionsResult;\n\tprivate skills: Skill[];\n\tprivate skillDiagnostics: ResourceDiagnostic[];\n\tprivate skillCatalog: SkillCatalog;\n\tprivate prompts: PromptTemplate[];\n\tprivate promptDiagnostics: ResourceDiagnostic[];\n\tprivate themes: Theme[];\n\tprivate themeDiagnostics: ResourceDiagnostic[];\n\tprivate agentsFiles: Array<{ path: string; content: string }>;\n\tprivate systemPrompt?: string;\n\tprivate systemPromptSourcePath?: string;\n\tprivate appendSystemPrompt: string[];\n\tprivate appendSystemPromptSourcePaths: string[];\n\tprivate workflowResources: ResolvedResource[];\n\tprivate trustedBorrowedProjectLocalSources?: Set<string>;\n\tprivate lastSkillPaths: string[];\n\tprivate extensionSkillSourceInfos: Map<string, SourceInfo>;\n\tprivate resourceMetadataByPath: Map<string, PathMetadata>;\n\tprivate extensionPromptSourceInfos: Map<string, SourceInfo>;\n\tprivate extensionThemeSourceInfos: Map<string, SourceInfo>;\n\tprivate lastPromptPaths: string[];\n\tprivate lastThemePaths: string[];\n\tprivate loaded: boolean;\n\tprivate loadOptions?: ResourceLoaderReloadOptions;\n\n\tconstructor(options: DefaultResourceLoaderOptions) {\n\t\tconst inheritanceSnapshot = options.resourceLoaderInheritanceSnapshot;\n\t\tconst inheritedSettingsOptions =\n\t\t\tinheritanceSnapshot?.projectTrusted === undefined\n\t\t\t\t? undefined\n\t\t\t\t: { projectTrusted: inheritanceSnapshot.projectTrusted };\n\t\tthis.cwd = resolvePath(options.cwd);\n\t\tthis.agentDir = resolvePath(options.agentDir);\n\t\tthis.settingsManager =\n\t\t\toptions.settingsManager ?? SettingsManager.create(this.cwd, this.agentDir, inheritedSettingsOptions);\n\t\tthis.eventBus = options.eventBus ?? createEventBus();\n\t\tthis.packageManager = new DefaultPackageManager({\n\t\t\tcwd: this.cwd,\n\t\t\tagentDir: this.agentDir,\n\t\t\tsettingsManager: this.settingsManager,\n\t\t});\n\t\tthis.additionalExtensionPaths = mergeInheritedStrings(\n\t\t\tinheritanceSnapshot?.additionalExtensionPaths,\n\t\t\toptions.additionalExtensionPaths,\n\t\t);\n\t\tthis.additionalSkillPaths = mergeInheritedStrings(\n\t\t\tinheritanceSnapshot?.additionalSkillPaths,\n\t\t\toptions.additionalSkillPaths,\n\t\t);\n\t\tthis.additionalPromptTemplatePaths = mergeInheritedStrings(\n\t\t\tinheritanceSnapshot?.additionalPromptTemplatePaths,\n\t\t\toptions.additionalPromptTemplatePaths,\n\t\t);\n\t\tthis.additionalThemePaths = mergeInheritedStrings(\n\t\t\tinheritanceSnapshot?.additionalThemePaths,\n\t\t\toptions.additionalThemePaths,\n\t\t);\n\t\tthis.builtinPackagePaths =\n\t\t\toptions.builtinPackagePaths !== undefined\n\t\t\t\t? clonePackageSources(options.builtinPackagePaths)\n\t\t\t\t: clonePackageSources(inheritanceSnapshot?.builtinPackagePaths);\n\t\tthis.extensionFactories = [\n\t\t\t...(inheritanceSnapshot?.extensionFactories ?? []),\n\t\t\t...(options.extensionFactories ?? []),\n\t\t];\n\t\tthis.noExtensions = options.noExtensions ?? inheritanceSnapshot?.noExtensions ?? false;\n\t\tthis.noSkills = options.noSkills ?? inheritanceSnapshot?.noSkills ?? false;\n\t\tthis.noPromptTemplates = options.noPromptTemplates ?? inheritanceSnapshot?.noPromptTemplates ?? false;\n\t\tthis.noThemes = options.noThemes ?? inheritanceSnapshot?.noThemes ?? false;\n\t\tthis.noContextFiles = options.noContextFiles ?? inheritanceSnapshot?.noContextFiles ?? false;\n\t\tthis.systemPromptSource = options.systemPrompt ?? inheritanceSnapshot?.systemPrompt;\n\t\tthis.appendSystemPromptSource =\n\t\t\toptions.appendSystemPrompt !== undefined\n\t\t\t\t? [...options.appendSystemPrompt]\n\t\t\t\t: inheritanceSnapshot?.appendSystemPrompt === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: [...inheritanceSnapshot.appendSystemPrompt];\n\t\tthis.extensionsOverride = options.extensionsOverride;\n\t\tthis.skillsOverride = options.skillsOverride;\n\t\tthis.promptsOverride = options.promptsOverride;\n\t\tthis.themesOverride = options.themesOverride;\n\t\tthis.agentsFilesOverride = options.agentsFilesOverride;\n\t\tthis.systemPromptOverride = options.systemPromptOverride;\n\t\tthis.appendSystemPromptOverride = options.appendSystemPromptOverride;\n\t\tthis.extensionsResult = { extensions: [], errors: [], runtime: createExtensionRuntime() };\n\t\tthis.skills = [];\n\t\tthis.skillDiagnostics = [];\n\t\tthis.skillCatalog = buildSkillCatalog([]);\n\t\tthis.prompts = [];\n\t\tthis.promptDiagnostics = [];\n\t\tthis.themes = [];\n\t\tthis.themeDiagnostics = [];\n\t\tthis.agentsFiles = [];\n\t\tthis.appendSystemPrompt = [];\n\t\tthis.appendSystemPromptSourcePaths = [];\n\t\tthis.workflowResources = [];\n\t\tthis.trustedBorrowedProjectLocalSources =\n\t\t\tinheritanceSnapshot?.trustedBorrowedProjectLocalSources === undefined\n\t\t\t\t? undefined\n\t\t\t\t: new Set(inheritanceSnapshot.trustedBorrowedProjectLocalSources);\n\t\tthis.lastSkillPaths = [];\n\t\tthis.resourceMetadataByPath = new Map();\n\t\tthis.extensionSkillSourceInfos = new Map();\n\t\tthis.extensionPromptSourceInfos = new Map();\n\t\tthis.extensionThemeSourceInfos = new Map();\n\t\tthis.lastPromptPaths = [];\n\t\tthis.lastThemePaths = [];\n\t\tthis.loaded = false;\n\t\tthis.touchInternalFieldsForSplit();\n\t}\n\n\tgetExtensions(): LoadExtensionsResult {\n\t\treturn this.extensionsResult;\n\t}\n\n\tgetSkills(): { skills: Skill[]; diagnostics: ResourceDiagnostic[] } {\n\t\treturn { skills: this.skills, diagnostics: this.skillDiagnostics };\n\t}\n\n\tgetSkillCatalog(): SkillCatalog {\n\t\treturn this.skillCatalog;\n\t}\n\n\tgetPrompts(): { prompts: PromptTemplate[]; diagnostics: ResourceDiagnostic[] } {\n\t\treturn { prompts: this.prompts, diagnostics: this.promptDiagnostics };\n\t}\n\n\tgetThemes(): { themes: Theme[]; diagnostics: ResourceDiagnostic[] } {\n\t\treturn { themes: this.themes, diagnostics: this.themeDiagnostics };\n\t}\n\n\tgetOverlaps(): ResourceOverlap[] {\n\t\treturn [...(this.extensionsResult.overlaps ?? [])];\n\t}\n\n\tgetAgentsFiles(): { agentsFiles: Array<{ path: string; content: string }> } {\n\t\treturn { agentsFiles: this.agentsFiles };\n\t}\n\n\tgetSystemPrompt(): string | undefined {\n\t\treturn this.systemPrompt;\n\t}\n\n\tgetAppendSystemPrompt(): string[] {\n\t\treturn this.appendSystemPrompt;\n\t}\n\n\tgetSystemPromptSource(): { path: string } | undefined {\n\t\treturn this.systemPromptSourcePath ? { path: this.systemPromptSourcePath } : undefined;\n\t}\n\n\tgetAppendSystemPromptSources(): Array<{ path: string }> {\n\t\treturn this.appendSystemPromptSourcePaths.map((path) => ({ path }));\n\t}\n\n\tgetWorkflowResources(): ResolvedResource[] {\n\t\treturn [...this.workflowResources];\n\t}\n\n\tgetInheritanceSnapshot(): DefaultResourceLoaderInheritanceSnapshot {\n\t\treturn {\n\t\t\tprojectTrusted: this.settingsManager.isProjectTrusted(),\n\t\t\tadditionalExtensionPaths: [...this.additionalExtensionPaths],\n\t\t\tadditionalSkillPaths: [...this.additionalSkillPaths],\n\t\t\tadditionalPromptTemplatePaths: [...this.additionalPromptTemplatePaths],\n\t\t\tadditionalThemePaths: [...this.additionalThemePaths],\n\t\t\tbuiltinPackagePaths: clonePackageSources(this.builtinPackagePaths),\n\t\t\textensionFactories: [...this.extensionFactories],\n\t\t\tnoExtensions: this.noExtensions,\n\t\t\tnoSkills: this.noSkills,\n\t\t\tnoPromptTemplates: this.noPromptTemplates,\n\t\t\tnoThemes: this.noThemes,\n\t\t\tnoContextFiles: this.noContextFiles,\n\t\t\t...(this.systemPromptSource === undefined ? {} : { systemPrompt: this.systemPromptSource }),\n\t\t\t...(this.appendSystemPromptSource === undefined\n\t\t\t\t? {}\n\t\t\t\t: { appendSystemPrompt: [...this.appendSystemPromptSource] }),\n\t\t\t...(this.trustedBorrowedProjectLocalSources === undefined\n\t\t\t\t? {}\n\t\t\t\t: { trustedBorrowedProjectLocalSources: [...this.trustedBorrowedProjectLocalSources] }),\n\t\t};\n\t}\n\n\tasync refreshWorkflowResources(): Promise<ResolvedResource[]> {\n\t\tconst { resolvedPaths, cliExtensionPaths, builtinPackagePaths } = await resolvePackageResourcePaths(this, {\n\t\t\ttrustedBorrowedProjectLocalSources: this.trustedBorrowedProjectLocalSources,\n\t\t});\n\t\tconst workflowResources = collectWorkflowResources(resolvedPaths, cliExtensionPaths, builtinPackagePaths);\n\t\tthis.workflowResources = workflowResources;\n\t\treturn [...this.workflowResources];\n\t}\n\n\tasync extendResources(paths: ResourceExtensionPaths): Promise<void> {\n\t\tconst skillPaths = normalizeExtensionPaths(this, paths.skillPaths ?? []);\n\t\tconst promptPaths = normalizeExtensionPaths(this, paths.promptPaths ?? []);\n\t\tconst themePaths = normalizeExtensionPaths(this, paths.themePaths ?? []);\n\t\trecordExtensionSourceInfo(this, skillPaths, \"skill\");\n\t\trecordExtensionSourceInfo(this, promptPaths, \"prompt\");\n\t\trecordExtensionSourceInfo(this, themePaths, \"theme\");\n\n\t\tif (skillPaths.length > 0) {\n\t\t\tthis.lastSkillPaths = mergeResourcePaths(\n\t\t\t\tthis.cwd,\n\t\t\t\tthis.lastSkillPaths,\n\t\t\t\tskillPaths.map((entry) => entry.path),\n\t\t\t);\n\t\t\tawait updateSkillsFromPathsAsync(this, this.lastSkillPaths, this.resourceMetadataByPath);\n\t\t}\n\t\tif (promptPaths.length > 0) {\n\t\t\tthis.lastPromptPaths = mergeResourcePaths(\n\t\t\t\tthis.cwd,\n\t\t\t\tthis.lastPromptPaths,\n\t\t\t\tpromptPaths.map((entry) => entry.path),\n\t\t\t);\n\t\t\tawait updatePromptsFromPathsAsync(this, this.lastPromptPaths, this.resourceMetadataByPath);\n\t\t}\n\t\tif (themePaths.length > 0) {\n\t\t\tthis.lastThemePaths = mergeResourcePaths(\n\t\t\t\tthis.cwd,\n\t\t\t\tthis.lastThemePaths,\n\t\t\t\tthemePaths.map((entry) => entry.path),\n\t\t\t);\n\t\t\tawait updateThemesFromPathsAsync(this, this.lastThemePaths, this.resourceMetadataByPath);\n\t\t}\n\t}\n\n\tasync loadProjectTrustExtensions(): Promise<LoadExtensionsResult> {\n\t\treturn sessionLifecycleCreation.run({ scope: lifecycleScopeForOwner(this), claimed: true }, () =>\n\t\t\tloadProjectTrustExtensions(this),\n\t\t);\n\t}\n\n\tasync reload(options?: ResourceLoaderReloadOptions): Promise<void> {\n\t\treturn sessionLifecycleCreation.run({ scope: lifecycleScopeForOwner(this), claimed: true }, async () => {\n\t\t\tawait reloadDefaultResourceLoader(this, options);\n\t\t\tthis.loadOptions = options ? { ...options } : undefined;\n\t\t\tlifecycleScopeForOwner(this.getExtensions().runtime);\n\t\t});\n\t}\n\tprivate createCandidate(settingsManager: SettingsManager, eventBus: EventBus): DefaultResourceLoader {\n\t\treturn new DefaultResourceLoader({\n\t\t\tcwd: this.cwd,\n\t\t\tagentDir: this.agentDir,\n\t\t\tsettingsManager,\n\t\t\teventBus,\n\t\t\tadditionalExtensionPaths: [...this.additionalExtensionPaths],\n\t\t\tadditionalSkillPaths: [...this.additionalSkillPaths],\n\t\t\tadditionalPromptTemplatePaths: [...this.additionalPromptTemplatePaths],\n\t\t\tadditionalThemePaths: [...this.additionalThemePaths],\n\t\t\tbuiltinPackagePaths: clonePackageSources(this.builtinPackagePaths),\n\t\t\textensionFactories: [...this.extensionFactories],\n\t\t\tnoExtensions: this.noExtensions,\n\t\t\tnoSkills: this.noSkills,\n\t\t\tnoPromptTemplates: this.noPromptTemplates,\n\t\t\tnoThemes: this.noThemes,\n\t\t\tnoContextFiles: this.noContextFiles,\n\t\t\tsystemPrompt: this.systemPromptSource,\n\t\t\tappendSystemPrompt: this.appendSystemPromptSource,\n\t\t\textensionsOverride: this.extensionsOverride,\n\t\t\tskillsOverride: this.skillsOverride,\n\t\t\tpromptsOverride: this.promptsOverride,\n\t\t\tthemesOverride: this.themesOverride,\n\t\t\tagentsFilesOverride: this.agentsFilesOverride,\n\t\t\tsystemPromptOverride: this.systemPromptOverride,\n\t\t\tappendSystemPromptOverride: this.appendSystemPromptOverride,\n\t\t\tresourceLoaderInheritanceSnapshot: {\n\t\t\t\ttrustedBorrowedProjectLocalSources:\n\t\t\t\t\tthis.trustedBorrowedProjectLocalSources === undefined\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: [...this.trustedBorrowedProjectLocalSources],\n\t\t\t},\n\t\t});\n\t}\n\n\t/** @internal A borrowed discovery loader is not a session extension generation. */\n\tasync createSessionLoader(scope: object): Promise<DefaultResourceLoader> {\n\t\tif (sessionLifecycleScopes.get(this) === scope) return this;\n\t\tconst candidate = this.createCandidate(this.settingsManager, this.eventBus);\n\t\tsessionLifecycleScopes.set(candidate, scope);\n\t\tawait candidate.reload(this.loadOptions);\n\t\t// Retain caller-added assets as well as its discovery configuration.\n\t\tconst pathsWithMetadata = (paths: readonly string[]) =>\n\t\t\tpaths.flatMap((path) => {\n\t\t\t\tconst metadata = this.resourceMetadataByPath.get(path);\n\t\t\t\treturn metadata ? [{ path, metadata }] : [];\n\t\t\t});\n\t\tawait candidate.extendResources({\n\t\t\tskillPaths: pathsWithMetadata(this.lastSkillPaths),\n\t\t\tpromptPaths: pathsWithMetadata(this.lastPromptPaths),\n\t\t\tthemePaths: pathsWithMetadata(this.lastThemePaths),\n\t\t});\n\t\treturn candidate;\n\t}\n\n\tasync prepareReload(\n\t\tsettingsManager: SettingsManager,\n\t\toptions?: ResourceLoaderReloadOptions,\n\t): Promise<ResourceLoaderReloadTransaction> {\n\t\tconst eventBusTransaction = createStagedEventBus(this.eventBus);\n\t\tconst candidate = this.createCandidate(settingsManager, eventBusTransaction.bus);\n\t\tsessionLifecycleScopes.set(candidate, lifecycleScopeForOwner(this));\n\t\tawait candidate.reload(options);\n\t\tconst prepareCommit = () => {\n\t\t\tconst eventBusCommit = eventBusTransaction.prepareCommit();\n\t\t\tlet settled = false;\n\t\t\treturn {\n\t\t\t\tcommit: () => {\n\t\t\t\t\tif (settled) return;\n\t\t\t\t\tsettled = true;\n\t\t\t\t\teventBusCommit.commit();\n\t\t\t\t\tthis.publishCandidate(candidate);\n\t\t\t\t},\n\t\t\t\trollback: () => {\n\t\t\t\t\tif (settled) return;\n\t\t\t\t\tsettled = true;\n\t\t\t\t\teventBusCommit.rollback();\n\t\t\t\t},\n\t\t\t};\n\t\t};\n\t\t// The candidate owns its generation; the borrowed loader remains untouched.\n\t\treturn {\n\t\t\tloader: candidate,\n\t\t\tactivate: (liveSettingsManager) => candidate.replaceSettingsManager(liveSettingsManager),\n\t\t\tprepareCommit,\n\t\t\tcommit: () => prepareCommit().commit(),\n\t\t};\n\t}\n\n\tprivate replaceSettingsManager(settingsManager: SettingsManager): void {\n\t\tthis.settingsManager = settingsManager;\n\t\tthis.packageManager = new DefaultPackageManager({ cwd: this.cwd, agentDir: this.agentDir, settingsManager });\n\t}\n\n\tprivate publishCandidate(candidate: DefaultResourceLoader): void {\n\t\tthis.extensionsResult = candidate.extensionsResult;\n\t\tthis.skills = candidate.skills;\n\t\tthis.skillDiagnostics = candidate.skillDiagnostics;\n\t\tthis.skillCatalog = candidate.skillCatalog;\n\t\tthis.prompts = candidate.prompts;\n\t\tthis.promptDiagnostics = candidate.promptDiagnostics;\n\t\tthis.themes = candidate.themes;\n\t\tthis.themeDiagnostics = candidate.themeDiagnostics;\n\t\tthis.agentsFiles = candidate.agentsFiles;\n\t\tthis.systemPrompt = candidate.systemPrompt;\n\t\tthis.systemPromptSourcePath = candidate.systemPromptSourcePath;\n\t\tthis.appendSystemPrompt = candidate.appendSystemPrompt;\n\t\tthis.appendSystemPromptSourcePaths = candidate.appendSystemPromptSourcePaths;\n\t\tthis.workflowResources = candidate.workflowResources;\n\t\tthis.trustedBorrowedProjectLocalSources = candidate.trustedBorrowedProjectLocalSources;\n\t\tthis.lastSkillPaths = candidate.lastSkillPaths;\n\t\tthis.extensionSkillSourceInfos = candidate.extensionSkillSourceInfos;\n\t\tthis.resourceMetadataByPath = candidate.resourceMetadataByPath;\n\t\tthis.extensionPromptSourceInfos = candidate.extensionPromptSourceInfos;\n\t\tthis.extensionThemeSourceInfos = candidate.extensionThemeSourceInfos;\n\t\tthis.lastPromptPaths = candidate.lastPromptPaths;\n\t\tthis.lastThemePaths = candidate.lastThemePaths;\n\t\tthis.loaded = candidate.loaded;\n\t}\n\n\tprivate touchInternalFieldsForSplit(): void {\n\t\tvoid this.eventBus;\n\t\tvoid this.packageManager;\n\t\tvoid this.noContextFiles;\n\t\tvoid this.extensionsOverride;\n\t\tvoid this.skillsOverride;\n\t\tvoid this.promptsOverride;\n\t\tvoid this.themesOverride;\n\t\tvoid this.agentsFilesOverride;\n\t\tvoid this.systemPromptOverride;\n\t\tvoid this.appendSystemPromptOverride;\n\t\tvoid this.extensionSkillSourceInfos;\n\t\tvoid this.extensionPromptSourceInfos;\n\t\tvoid this.extensionThemeSourceInfos;\n\t\tvoid this.loaded;\n\t}\n}\n\n/** @internal Only unmodified concrete discovery can be recreated without losing caller policy. */\nexport function canCloneDefaultResourceDiscovery(loader: ResourceLoader | undefined): loader is DefaultResourceLoader {\n\treturn (\n\t\tloader instanceof DefaultResourceLoader &&\n\t\tloader.constructor === DefaultResourceLoader &&\n\t\tObject.getOwnPropertyNames(DefaultResourceLoader.prototype).every((name) => !Object.hasOwn(loader, name))\n\t);\n}\n"]}
1
+ {"version":3,"file":"resource-loader-core.js","sourceRoot":"","sources":["../../src/core/resource-loader-core.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Theme } from \"../modes/interactive/theme/theme.js\";\nimport { resolvePath } from \"../utils/paths.ts\";\nimport type { ResourceDiagnostic, ResourceOverlap } from \"./diagnostics.ts\";\nimport { createEventBus, createStagedEventBus, type EventBus } from \"./event-bus.js\";\nimport { createExtensionRuntime } from \"./extensions/loader.ts\";\nimport type { InlineExtension, LoadExtensionsResult } from \"./extensions/types.ts\";\nimport type { McpServerContribution } from \"./mcp-servers.ts\";\nimport { DefaultPackageManager, type PathMetadata, type ResolvedResource } from \"./package-manager.ts\";\nimport type { PromptTemplate } from \"./prompt-templates.ts\";\nimport {\n\tupdatePromptsFromPathsAsync,\n\tupdateSkillsFromPathsAsync,\n\tupdateThemesFromPathsAsync,\n} from \"./resource-loader-assets.ts\";\nimport { clonePackageSources, mergeInheritedStrings } from \"./resource-loader-helpers.ts\";\nimport {\n\tcollectWorkflowResources,\n\tnormalizeExtensionPaths,\n\trecordExtensionSourceInfo,\n\tresolvePackageResourcePaths,\n} from \"./resource-loader-package-resources.ts\";\nimport { mergeResourcePaths } from \"./resource-loader-paths.ts\";\nimport { loadProjectTrustExtensions, reloadDefaultResourceLoader } from \"./resource-loader-reload.ts\";\nimport type {\n\tDefaultResourceLoaderInheritanceSnapshot,\n\tDefaultResourceLoaderOptions,\n\tResourceExtensionPaths,\n\tResourceLoader,\n\tResourceLoaderReloadOptions,\n\tResourceLoaderReloadTransaction,\n} from \"./resource-loader-types.ts\";\nimport { lifecycleScopeForOwner, sessionLifecycleCreation, sessionLifecycleScopes } from \"./session-lifecycle-scope.ts\";\nimport { type PackageSource, SettingsManager } from \"./settings-manager.ts\";\nimport { buildSkillCatalog, type SkillCatalog } from \"./skill-catalog.ts\";\nimport type { Skill } from \"./skills.ts\";\nimport type { SourceInfo } from \"./source-info.ts\";\n\nexport class DefaultResourceLoader implements ResourceLoader {\n\tprivate cwd: string;\n\tprivate agentDir: string;\n\tprivate settingsManager: SettingsManager;\n\tprivate eventBus: EventBus;\n\tprivate packageManager: DefaultPackageManager;\n\tprivate additionalExtensionPaths: string[];\n\tprivate additionalSkillPaths: string[];\n\tprivate additionalPromptTemplatePaths: string[];\n\tprivate additionalThemePaths: string[];\n\tprivate builtinPackagePaths: PackageSource[];\n\tprivate extensionFactories: InlineExtension[];\n\tprivate noExtensions: boolean;\n\tprivate noSkills: boolean;\n\tprivate noPromptTemplates: boolean;\n\tprivate noThemes: boolean;\n\tprivate noContextFiles: boolean;\n\tprivate systemPromptSource?: string;\n\tprivate appendSystemPromptSource?: string[];\n\tprivate extensionsOverride?: (base: LoadExtensionsResult) => LoadExtensionsResult;\n\tprivate skillsOverride?: (base: { skills: Skill[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tskills: Skill[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tprivate promptsOverride?: (base: { prompts: PromptTemplate[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tprompts: PromptTemplate[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tprivate themesOverride?: (base: { themes: Theme[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tthemes: Theme[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tprivate agentsFilesOverride?: (base: { agentsFiles: Array<{ path: string; content: string }> }) => {\n\t\tagentsFiles: Array<{ path: string; content: string }>;\n\t};\n\tprivate systemPromptOverride?: (base: string | undefined) => string | undefined;\n\tprivate appendSystemPromptOverride?: (base: string[]) => string[];\n\tprivate extensionsResult: LoadExtensionsResult;\n\tprivate skills: Skill[];\n\tprivate skillDiagnostics: ResourceDiagnostic[];\n\tprivate skillCatalog: SkillCatalog;\n\tprivate prompts: PromptTemplate[];\n\tprivate promptDiagnostics: ResourceDiagnostic[];\n\tprivate themes: Theme[];\n\tprivate themeDiagnostics: ResourceDiagnostic[];\n\tprivate agentsFiles: Array<{ path: string; content: string }>;\n\tprivate systemPrompt?: string;\n\tprivate systemPromptSourcePath?: string;\n\tprivate appendSystemPrompt: string[];\n\tprivate appendSystemPromptSourcePaths: string[];\n\tprivate workflowResources: ResolvedResource[];\n\tprivate mcpServerContributions: McpServerContribution[];\n\tprivate trustedBorrowedProjectLocalSources?: Set<string>;\n\tprivate lastSkillPaths: string[];\n\tprivate extensionSkillSourceInfos: Map<string, SourceInfo>;\n\tprivate resourceMetadataByPath: Map<string, PathMetadata>;\n\tprivate extensionPromptSourceInfos: Map<string, SourceInfo>;\n\tprivate extensionThemeSourceInfos: Map<string, SourceInfo>;\n\tprivate lastPromptPaths: string[];\n\tprivate lastThemePaths: string[];\n\tprivate loaded: boolean;\n\tprivate loadOptions?: ResourceLoaderReloadOptions;\n\n\tconstructor(options: DefaultResourceLoaderOptions) {\n\t\tconst inheritanceSnapshot = options.resourceLoaderInheritanceSnapshot;\n\t\tconst inheritedSettingsOptions =\n\t\t\tinheritanceSnapshot?.projectTrusted === undefined\n\t\t\t\t? undefined\n\t\t\t\t: { projectTrusted: inheritanceSnapshot.projectTrusted };\n\t\tthis.cwd = resolvePath(options.cwd);\n\t\tthis.agentDir = resolvePath(options.agentDir);\n\t\tthis.settingsManager =\n\t\t\toptions.settingsManager ?? SettingsManager.create(this.cwd, this.agentDir, inheritedSettingsOptions);\n\t\tthis.eventBus = options.eventBus ?? createEventBus();\n\t\tthis.packageManager = new DefaultPackageManager({\n\t\t\tcwd: this.cwd,\n\t\t\tagentDir: this.agentDir,\n\t\t\tsettingsManager: this.settingsManager,\n\t\t});\n\t\tthis.additionalExtensionPaths = mergeInheritedStrings(\n\t\t\tinheritanceSnapshot?.additionalExtensionPaths,\n\t\t\toptions.additionalExtensionPaths,\n\t\t);\n\t\tthis.additionalSkillPaths = mergeInheritedStrings(\n\t\t\tinheritanceSnapshot?.additionalSkillPaths,\n\t\t\toptions.additionalSkillPaths,\n\t\t);\n\t\tthis.additionalPromptTemplatePaths = mergeInheritedStrings(\n\t\t\tinheritanceSnapshot?.additionalPromptTemplatePaths,\n\t\t\toptions.additionalPromptTemplatePaths,\n\t\t);\n\t\tthis.additionalThemePaths = mergeInheritedStrings(\n\t\t\tinheritanceSnapshot?.additionalThemePaths,\n\t\t\toptions.additionalThemePaths,\n\t\t);\n\t\tthis.builtinPackagePaths =\n\t\t\toptions.builtinPackagePaths !== undefined\n\t\t\t\t? clonePackageSources(options.builtinPackagePaths)\n\t\t\t\t: clonePackageSources(inheritanceSnapshot?.builtinPackagePaths);\n\t\tthis.extensionFactories = [\n\t\t\t...(inheritanceSnapshot?.extensionFactories ?? []),\n\t\t\t...(options.extensionFactories ?? []),\n\t\t];\n\t\tthis.noExtensions = options.noExtensions ?? inheritanceSnapshot?.noExtensions ?? false;\n\t\tthis.noSkills = options.noSkills ?? inheritanceSnapshot?.noSkills ?? false;\n\t\tthis.noPromptTemplates = options.noPromptTemplates ?? inheritanceSnapshot?.noPromptTemplates ?? false;\n\t\tthis.noThemes = options.noThemes ?? inheritanceSnapshot?.noThemes ?? false;\n\t\tthis.noContextFiles = options.noContextFiles ?? inheritanceSnapshot?.noContextFiles ?? false;\n\t\tthis.systemPromptSource = options.systemPrompt ?? inheritanceSnapshot?.systemPrompt;\n\t\tthis.appendSystemPromptSource =\n\t\t\toptions.appendSystemPrompt !== undefined\n\t\t\t\t? [...options.appendSystemPrompt]\n\t\t\t\t: inheritanceSnapshot?.appendSystemPrompt === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: [...inheritanceSnapshot.appendSystemPrompt];\n\t\tthis.extensionsOverride = options.extensionsOverride;\n\t\tthis.skillsOverride = options.skillsOverride;\n\t\tthis.promptsOverride = options.promptsOverride;\n\t\tthis.themesOverride = options.themesOverride;\n\t\tthis.agentsFilesOverride = options.agentsFilesOverride;\n\t\tthis.systemPromptOverride = options.systemPromptOverride;\n\t\tthis.appendSystemPromptOverride = options.appendSystemPromptOverride;\n\t\tthis.extensionsResult = { extensions: [], errors: [], runtime: createExtensionRuntime() };\n\t\tthis.skills = [];\n\t\tthis.skillDiagnostics = [];\n\t\tthis.skillCatalog = buildSkillCatalog([]);\n\t\tthis.prompts = [];\n\t\tthis.promptDiagnostics = [];\n\t\tthis.themes = [];\n\t\tthis.themeDiagnostics = [];\n\t\tthis.agentsFiles = [];\n\t\tthis.appendSystemPrompt = [];\n\t\tthis.appendSystemPromptSourcePaths = [];\n\t\tthis.workflowResources = [];\n\t\tthis.mcpServerContributions = [];\n\t\tthis.trustedBorrowedProjectLocalSources =\n\t\t\tinheritanceSnapshot?.trustedBorrowedProjectLocalSources === undefined\n\t\t\t\t? undefined\n\t\t\t\t: new Set(inheritanceSnapshot.trustedBorrowedProjectLocalSources);\n\t\tthis.lastSkillPaths = [];\n\t\tthis.resourceMetadataByPath = new Map();\n\t\tthis.extensionSkillSourceInfos = new Map();\n\t\tthis.extensionPromptSourceInfos = new Map();\n\t\tthis.extensionThemeSourceInfos = new Map();\n\t\tthis.lastPromptPaths = [];\n\t\tthis.lastThemePaths = [];\n\t\tthis.loaded = false;\n\t\tthis.touchInternalFieldsForSplit();\n\t}\n\n\tgetExtensions(): LoadExtensionsResult {\n\t\treturn this.extensionsResult;\n\t}\n\n\tgetSkills(): { skills: Skill[]; diagnostics: ResourceDiagnostic[] } {\n\t\treturn { skills: this.skills, diagnostics: this.skillDiagnostics };\n\t}\n\n\tgetSkillCatalog(): SkillCatalog {\n\t\treturn this.skillCatalog;\n\t}\n\n\tgetPrompts(): { prompts: PromptTemplate[]; diagnostics: ResourceDiagnostic[] } {\n\t\treturn { prompts: this.prompts, diagnostics: this.promptDiagnostics };\n\t}\n\n\tgetThemes(): { themes: Theme[]; diagnostics: ResourceDiagnostic[] } {\n\t\treturn { themes: this.themes, diagnostics: this.themeDiagnostics };\n\t}\n\n\tgetOverlaps(): ResourceOverlap[] {\n\t\treturn [...(this.extensionsResult.overlaps ?? [])];\n\t}\n\n\tgetAgentsFiles(): { agentsFiles: Array<{ path: string; content: string }> } {\n\t\treturn { agentsFiles: this.agentsFiles };\n\t}\n\n\tgetSystemPrompt(): string | undefined {\n\t\treturn this.systemPrompt;\n\t}\n\n\tgetAppendSystemPrompt(): string[] {\n\t\treturn this.appendSystemPrompt;\n\t}\n\n\tgetSystemPromptSource(): { path: string } | undefined {\n\t\treturn this.systemPromptSourcePath ? { path: this.systemPromptSourcePath } : undefined;\n\t}\n\n\tgetAppendSystemPromptSources(): Array<{ path: string }> {\n\t\treturn this.appendSystemPromptSourcePaths.map((path) => ({ path }));\n\t}\n\n\tgetWorkflowResources(): ResolvedResource[] {\n\t\treturn [...this.workflowResources];\n\t}\n\n\t/** Enabled package-manifest MCP servers discovered by the last reload. */\n\tgetMcpServerContributions(): McpServerContribution[] {\n\t\treturn [...this.mcpServerContributions];\n\t}\n\n\tgetInheritanceSnapshot(): DefaultResourceLoaderInheritanceSnapshot {\n\t\treturn {\n\t\t\tprojectTrusted: this.settingsManager.isProjectTrusted(),\n\t\t\tadditionalExtensionPaths: [...this.additionalExtensionPaths],\n\t\t\tadditionalSkillPaths: [...this.additionalSkillPaths],\n\t\t\tadditionalPromptTemplatePaths: [...this.additionalPromptTemplatePaths],\n\t\t\tadditionalThemePaths: [...this.additionalThemePaths],\n\t\t\tbuiltinPackagePaths: clonePackageSources(this.builtinPackagePaths),\n\t\t\textensionFactories: [...this.extensionFactories],\n\t\t\tnoExtensions: this.noExtensions,\n\t\t\tnoSkills: this.noSkills,\n\t\t\tnoPromptTemplates: this.noPromptTemplates,\n\t\t\tnoThemes: this.noThemes,\n\t\t\tnoContextFiles: this.noContextFiles,\n\t\t\t...(this.systemPromptSource === undefined ? {} : { systemPrompt: this.systemPromptSource }),\n\t\t\t...(this.appendSystemPromptSource === undefined\n\t\t\t\t? {}\n\t\t\t\t: { appendSystemPrompt: [...this.appendSystemPromptSource] }),\n\t\t\t...(this.trustedBorrowedProjectLocalSources === undefined\n\t\t\t\t? {}\n\t\t\t\t: { trustedBorrowedProjectLocalSources: [...this.trustedBorrowedProjectLocalSources] }),\n\t\t};\n\t}\n\n\tasync refreshWorkflowResources(): Promise<ResolvedResource[]> {\n\t\tconst { resolvedPaths, cliExtensionPaths, builtinPackagePaths } = await resolvePackageResourcePaths(this, {\n\t\t\ttrustedBorrowedProjectLocalSources: this.trustedBorrowedProjectLocalSources,\n\t\t});\n\t\tconst workflowResources = collectWorkflowResources(resolvedPaths, cliExtensionPaths, builtinPackagePaths);\n\t\tthis.workflowResources = workflowResources;\n\t\treturn [...this.workflowResources];\n\t}\n\n\tasync extendResources(paths: ResourceExtensionPaths): Promise<void> {\n\t\tconst skillPaths = normalizeExtensionPaths(this, paths.skillPaths ?? []);\n\t\tconst promptPaths = normalizeExtensionPaths(this, paths.promptPaths ?? []);\n\t\tconst themePaths = normalizeExtensionPaths(this, paths.themePaths ?? []);\n\t\trecordExtensionSourceInfo(this, skillPaths, \"skill\");\n\t\trecordExtensionSourceInfo(this, promptPaths, \"prompt\");\n\t\trecordExtensionSourceInfo(this, themePaths, \"theme\");\n\n\t\tif (skillPaths.length > 0) {\n\t\t\tthis.lastSkillPaths = mergeResourcePaths(\n\t\t\t\tthis.cwd,\n\t\t\t\tthis.lastSkillPaths,\n\t\t\t\tskillPaths.map((entry) => entry.path),\n\t\t\t);\n\t\t\tawait updateSkillsFromPathsAsync(this, this.lastSkillPaths, this.resourceMetadataByPath);\n\t\t}\n\t\tif (promptPaths.length > 0) {\n\t\t\tthis.lastPromptPaths = mergeResourcePaths(\n\t\t\t\tthis.cwd,\n\t\t\t\tthis.lastPromptPaths,\n\t\t\t\tpromptPaths.map((entry) => entry.path),\n\t\t\t);\n\t\t\tawait updatePromptsFromPathsAsync(this, this.lastPromptPaths, this.resourceMetadataByPath);\n\t\t}\n\t\tif (themePaths.length > 0) {\n\t\t\tthis.lastThemePaths = mergeResourcePaths(\n\t\t\t\tthis.cwd,\n\t\t\t\tthis.lastThemePaths,\n\t\t\t\tthemePaths.map((entry) => entry.path),\n\t\t\t);\n\t\t\tawait updateThemesFromPathsAsync(this, this.lastThemePaths, this.resourceMetadataByPath);\n\t\t}\n\t}\n\n\tasync loadProjectTrustExtensions(): Promise<LoadExtensionsResult> {\n\t\treturn sessionLifecycleCreation.run({ scope: lifecycleScopeForOwner(this), claimed: true }, () =>\n\t\t\tloadProjectTrustExtensions(this),\n\t\t);\n\t}\n\n\tasync reload(options?: ResourceLoaderReloadOptions): Promise<void> {\n\t\treturn sessionLifecycleCreation.run({ scope: lifecycleScopeForOwner(this), claimed: true }, async () => {\n\t\t\tawait reloadDefaultResourceLoader(this, options);\n\t\t\tthis.loadOptions = options ? { ...options } : undefined;\n\t\t\tlifecycleScopeForOwner(this.getExtensions().runtime);\n\t\t});\n\t}\n\tprivate createCandidate(settingsManager: SettingsManager, eventBus: EventBus): DefaultResourceLoader {\n\t\treturn new DefaultResourceLoader({\n\t\t\tcwd: this.cwd,\n\t\t\tagentDir: this.agentDir,\n\t\t\tsettingsManager,\n\t\t\teventBus,\n\t\t\tadditionalExtensionPaths: [...this.additionalExtensionPaths],\n\t\t\tadditionalSkillPaths: [...this.additionalSkillPaths],\n\t\t\tadditionalPromptTemplatePaths: [...this.additionalPromptTemplatePaths],\n\t\t\tadditionalThemePaths: [...this.additionalThemePaths],\n\t\t\tbuiltinPackagePaths: clonePackageSources(this.builtinPackagePaths),\n\t\t\textensionFactories: [...this.extensionFactories],\n\t\t\tnoExtensions: this.noExtensions,\n\t\t\tnoSkills: this.noSkills,\n\t\t\tnoPromptTemplates: this.noPromptTemplates,\n\t\t\tnoThemes: this.noThemes,\n\t\t\tnoContextFiles: this.noContextFiles,\n\t\t\tsystemPrompt: this.systemPromptSource,\n\t\t\tappendSystemPrompt: this.appendSystemPromptSource,\n\t\t\textensionsOverride: this.extensionsOverride,\n\t\t\tskillsOverride: this.skillsOverride,\n\t\t\tpromptsOverride: this.promptsOverride,\n\t\t\tthemesOverride: this.themesOverride,\n\t\t\tagentsFilesOverride: this.agentsFilesOverride,\n\t\t\tsystemPromptOverride: this.systemPromptOverride,\n\t\t\tappendSystemPromptOverride: this.appendSystemPromptOverride,\n\t\t\tresourceLoaderInheritanceSnapshot: {\n\t\t\t\ttrustedBorrowedProjectLocalSources:\n\t\t\t\t\tthis.trustedBorrowedProjectLocalSources === undefined\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: [...this.trustedBorrowedProjectLocalSources],\n\t\t\t},\n\t\t});\n\t}\n\n\t/** @internal A borrowed discovery loader is not a session extension generation. */\n\tasync createSessionLoader(scope: object): Promise<DefaultResourceLoader> {\n\t\tif (sessionLifecycleScopes.get(this) === scope) return this;\n\t\tconst candidate = this.createCandidate(this.settingsManager, this.eventBus);\n\t\tsessionLifecycleScopes.set(candidate, scope);\n\t\tawait candidate.reload(this.loadOptions);\n\t\t// Retain caller-added assets as well as its discovery configuration.\n\t\tconst pathsWithMetadata = (paths: readonly string[]) =>\n\t\t\tpaths.flatMap((path) => {\n\t\t\t\tconst metadata = this.resourceMetadataByPath.get(path);\n\t\t\t\treturn metadata ? [{ path, metadata }] : [];\n\t\t\t});\n\t\tawait candidate.extendResources({\n\t\t\tskillPaths: pathsWithMetadata(this.lastSkillPaths),\n\t\t\tpromptPaths: pathsWithMetadata(this.lastPromptPaths),\n\t\t\tthemePaths: pathsWithMetadata(this.lastThemePaths),\n\t\t});\n\t\treturn candidate;\n\t}\n\n\tasync prepareReload(\n\t\tsettingsManager: SettingsManager,\n\t\toptions?: ResourceLoaderReloadOptions,\n\t): Promise<ResourceLoaderReloadTransaction> {\n\t\tconst eventBusTransaction = createStagedEventBus(this.eventBus);\n\t\tconst candidate = this.createCandidate(settingsManager, eventBusTransaction.bus);\n\t\tsessionLifecycleScopes.set(candidate, lifecycleScopeForOwner(this));\n\t\tawait candidate.reload(options);\n\t\tconst prepareCommit = () => {\n\t\t\tconst eventBusCommit = eventBusTransaction.prepareCommit();\n\t\t\tlet settled = false;\n\t\t\treturn {\n\t\t\t\tcommit: () => {\n\t\t\t\t\tif (settled) return;\n\t\t\t\t\tsettled = true;\n\t\t\t\t\teventBusCommit.commit();\n\t\t\t\t\tthis.publishCandidate(candidate);\n\t\t\t\t},\n\t\t\t\trollback: () => {\n\t\t\t\t\tif (settled) return;\n\t\t\t\t\tsettled = true;\n\t\t\t\t\teventBusCommit.rollback();\n\t\t\t\t},\n\t\t\t};\n\t\t};\n\t\t// The candidate owns its generation; the borrowed loader remains untouched.\n\t\treturn {\n\t\t\tloader: candidate,\n\t\t\tactivate: (liveSettingsManager) => candidate.replaceSettingsManager(liveSettingsManager),\n\t\t\tprepareCommit,\n\t\t\tcommit: () => prepareCommit().commit(),\n\t\t};\n\t}\n\n\tprivate replaceSettingsManager(settingsManager: SettingsManager): void {\n\t\tthis.settingsManager = settingsManager;\n\t\tthis.packageManager = new DefaultPackageManager({ cwd: this.cwd, agentDir: this.agentDir, settingsManager });\n\t}\n\n\tprivate publishCandidate(candidate: DefaultResourceLoader): void {\n\t\tthis.extensionsResult = candidate.extensionsResult;\n\t\tthis.skills = candidate.skills;\n\t\tthis.skillDiagnostics = candidate.skillDiagnostics;\n\t\tthis.skillCatalog = candidate.skillCatalog;\n\t\tthis.prompts = candidate.prompts;\n\t\tthis.promptDiagnostics = candidate.promptDiagnostics;\n\t\tthis.themes = candidate.themes;\n\t\tthis.themeDiagnostics = candidate.themeDiagnostics;\n\t\tthis.agentsFiles = candidate.agentsFiles;\n\t\tthis.systemPrompt = candidate.systemPrompt;\n\t\tthis.systemPromptSourcePath = candidate.systemPromptSourcePath;\n\t\tthis.appendSystemPrompt = candidate.appendSystemPrompt;\n\t\tthis.appendSystemPromptSourcePaths = candidate.appendSystemPromptSourcePaths;\n\t\tthis.workflowResources = candidate.workflowResources;\n\t\tthis.mcpServerContributions = candidate.mcpServerContributions;\n\t\tthis.trustedBorrowedProjectLocalSources = candidate.trustedBorrowedProjectLocalSources;\n\t\tthis.lastSkillPaths = candidate.lastSkillPaths;\n\t\tthis.extensionSkillSourceInfos = candidate.extensionSkillSourceInfos;\n\t\tthis.resourceMetadataByPath = candidate.resourceMetadataByPath;\n\t\tthis.extensionPromptSourceInfos = candidate.extensionPromptSourceInfos;\n\t\tthis.extensionThemeSourceInfos = candidate.extensionThemeSourceInfos;\n\t\tthis.lastPromptPaths = candidate.lastPromptPaths;\n\t\tthis.lastThemePaths = candidate.lastThemePaths;\n\t\tthis.loaded = candidate.loaded;\n\t}\n\n\tprivate touchInternalFieldsForSplit(): void {\n\t\tvoid this.eventBus;\n\t\tvoid this.packageManager;\n\t\tvoid this.noContextFiles;\n\t\tvoid this.extensionsOverride;\n\t\tvoid this.skillsOverride;\n\t\tvoid this.promptsOverride;\n\t\tvoid this.themesOverride;\n\t\tvoid this.agentsFilesOverride;\n\t\tvoid this.systemPromptOverride;\n\t\tvoid this.appendSystemPromptOverride;\n\t\tvoid this.extensionSkillSourceInfos;\n\t\tvoid this.extensionPromptSourceInfos;\n\t\tvoid this.extensionThemeSourceInfos;\n\t\tvoid this.loaded;\n\t}\n}\n\n/** @internal Only unmodified concrete discovery can be recreated without losing caller policy. */\nexport function canCloneDefaultResourceDiscovery(loader: ResourceLoader | undefined): loader is DefaultResourceLoader {\n\treturn (\n\t\tloader instanceof DefaultResourceLoader &&\n\t\tloader.constructor === DefaultResourceLoader &&\n\t\tObject.getOwnPropertyNames(DefaultResourceLoader.prototype).every((name) => !Object.hasOwn(loader, name))\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"resource-loader-helpers.d.ts","sourceRoot":"","sources":["../../src/core/resource-loader-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAM3D,wBAAgB,qBAAqB,CACpC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACxC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACpC,MAAM,EAAE,CAEV;AAiBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,GAAG,aAAa,EAAE,CAElG"}
1
+ {"version":3,"file":"resource-loader-helpers.d.ts","sourceRoot":"","sources":["../../src/core/resource-loader-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAM3D,wBAAgB,qBAAqB,CACpC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACxC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACpC,MAAM,EAAE,CAEV;AAkBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,GAAG,aAAa,EAAE,CAElG"}
@@ -16,6 +16,7 @@ function clonePackageSource(source) {
16
16
  ...(source.prompts === undefined ? {} : { prompts: [...source.prompts] }),
17
17
  ...(source.themes === undefined ? {} : { themes: [...source.themes] }),
18
18
  ...(source.workflows === undefined ? {} : { workflows: [...source.workflows] }),
19
+ ...(source.mcpServers === undefined ? {} : { mcpServers: [...source.mcpServers] }),
19
20
  };
20
21
  }
21
22
  export function clonePackageSources(sources) {
@@ -1 +1 @@
1
- {"version":3,"file":"resource-loader-helpers.js","sourceRoot":"","sources":["../../src/core/resource-loader-helpers.ts"],"names":[],"mappings":"AAEA,SAAS,gBAAgB,CAAC,MAAqC;IAC9D,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACpC,SAAwC,EACxC,OAAsC;IAEtC,OAAO,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAqB;IAChD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC;IACf,CAAC;IACD,OAAO;QACN,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvE,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;KAC/E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA6C;IAChF,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;AACzF,CAAC","sourcesContent":["import type { PackageSource } from \"./settings-manager.ts\";\n\nfunction cloneStringArray(values: readonly string[] | undefined): string[] {\n\treturn values === undefined ? [] : [...values];\n}\n\nexport function mergeInheritedStrings(\n\tinherited: readonly string[] | undefined,\n\tcurrent: readonly string[] | undefined,\n): string[] {\n\treturn [...cloneStringArray(inherited), ...cloneStringArray(current)];\n}\n\nfunction clonePackageSource(source: PackageSource): PackageSource {\n\tif (typeof source === \"string\") {\n\t\treturn source;\n\t}\n\treturn {\n\t\tsource: source.source,\n\t\t...(source.autoload === undefined ? {} : { autoload: source.autoload }),\n\t\t...(source.extensions === undefined ? {} : { extensions: [...source.extensions] }),\n\t\t...(source.skills === undefined ? {} : { skills: [...source.skills] }),\n\t\t...(source.prompts === undefined ? {} : { prompts: [...source.prompts] }),\n\t\t...(source.themes === undefined ? {} : { themes: [...source.themes] }),\n\t\t...(source.workflows === undefined ? {} : { workflows: [...source.workflows] }),\n\t};\n}\n\nexport function clonePackageSources(sources: readonly PackageSource[] | undefined): PackageSource[] {\n\treturn sources === undefined ? [] : sources.map((source) => clonePackageSource(source));\n}\n"]}
1
+ {"version":3,"file":"resource-loader-helpers.js","sourceRoot":"","sources":["../../src/core/resource-loader-helpers.ts"],"names":[],"mappings":"AAEA,SAAS,gBAAgB,CAAC,MAAqC;IAC9D,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACpC,SAAwC,EACxC,OAAsC;IAEtC,OAAO,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAqB;IAChD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC;IACf,CAAC;IACD,OAAO;QACN,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvE,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;KAClF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA6C;IAChF,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;AACzF,CAAC","sourcesContent":["import type { PackageSource } from \"./settings-manager.ts\";\n\nfunction cloneStringArray(values: readonly string[] | undefined): string[] {\n\treturn values === undefined ? [] : [...values];\n}\n\nexport function mergeInheritedStrings(\n\tinherited: readonly string[] | undefined,\n\tcurrent: readonly string[] | undefined,\n): string[] {\n\treturn [...cloneStringArray(inherited), ...cloneStringArray(current)];\n}\n\nfunction clonePackageSource(source: PackageSource): PackageSource {\n\tif (typeof source === \"string\") {\n\t\treturn source;\n\t}\n\treturn {\n\t\tsource: source.source,\n\t\t...(source.autoload === undefined ? {} : { autoload: source.autoload }),\n\t\t...(source.extensions === undefined ? {} : { extensions: [...source.extensions] }),\n\t\t...(source.skills === undefined ? {} : { skills: [...source.skills] }),\n\t\t...(source.prompts === undefined ? {} : { prompts: [...source.prompts] }),\n\t\t...(source.themes === undefined ? {} : { themes: [...source.themes] }),\n\t\t...(source.workflows === undefined ? {} : { workflows: [...source.workflows] }),\n\t\t...(source.mcpServers === undefined ? {} : { mcpServers: [...source.mcpServers] }),\n\t};\n}\n\nexport function clonePackageSources(sources: readonly PackageSource[] | undefined): PackageSource[] {\n\treturn sources === undefined ? [] : sources.map((source) => clonePackageSource(source));\n}\n"]}
@@ -3,6 +3,7 @@ import type { ResourceDiagnostic } from "./diagnostics.ts";
3
3
  import type { EventBus } from "./event-bus.js";
4
4
  import type { WorkflowResourceProvider } from "./extensions/loader.ts";
5
5
  import type { ExtensionRuntime, InlineExtension, LoadExtensionsResult } from "./extensions/types.ts";
6
+ import type { McpServerContribution } from "./mcp-servers.ts";
6
7
  import type { DefaultPackageManager, PathMetadata, ResolvedResource } from "./package-manager.ts";
7
8
  import type { PromptTemplate } from "./prompt-templates.ts";
8
9
  import type { DefaultResourceLoaderInheritanceSnapshot } from "./resource-loader-types.ts";
@@ -81,6 +82,7 @@ export interface ResourceLoaderInternals {
81
82
  appendSystemPrompt: string[];
82
83
  appendSystemPromptSourcePaths: string[];
83
84
  workflowResources: ResolvedResource[];
85
+ mcpServerContributions: McpServerContribution[];
84
86
  trustedBorrowedProjectLocalSources?: Set<string>;
85
87
  lastSkillPaths: string[];
86
88
  extensionSkillSourceInfos: Map<string, SourceInfo>;
@@ -1 +1 @@
1
- {"version":3,"file":"resource-loader-internals.d.ts","sourceRoot":"","sources":["../../src/core/resource-loader-internals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-loader-internals.d.ts","sourceRoot":"","sources":["../../src/core/resource-loader-internals.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resource-loader-internals.js","sourceRoot":"","sources":["../../src/core/resource-loader-internals.ts"],"names":[],"mappings":"AAuFA,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC/C,OAAO,MAA4C,CAAC;AACrD,CAAC","sourcesContent":["import type { Theme } from \"../modes/interactive/theme/theme.js\";\nimport type { ResourceDiagnostic } from \"./diagnostics.ts\";\nimport type { EventBus } from \"./event-bus.js\";\nimport type { WorkflowResourceProvider } from \"./extensions/loader.ts\";\nimport type { ExtensionRuntime, InlineExtension, LoadExtensionsResult } from \"./extensions/types.ts\";\nimport type { DefaultPackageManager, PathMetadata, ResolvedResource } from \"./package-manager.ts\";\nimport type { PromptTemplate } from \"./prompt-templates.ts\";\nimport type { DefaultResourceLoaderInheritanceSnapshot } from \"./resource-loader-types.ts\";\nimport type { PackageSource, SettingsManager } from \"./settings-manager.ts\";\nimport type { SkillCatalog } from \"./skill-catalog.ts\";\nimport type { Skill } from \"./skills.ts\";\nimport type { SourceInfo } from \"./source-info.ts\";\n\nexport interface ResourceLoaderInternals {\n\tcwd: string;\n\tagentDir: string;\n\tsettingsManager: SettingsManager;\n\teventBus: EventBus;\n\tpackageManager: DefaultPackageManager;\n\tadditionalExtensionPaths: string[];\n\tadditionalSkillPaths: string[];\n\tadditionalPromptTemplatePaths: string[];\n\tadditionalThemePaths: string[];\n\tbuiltinPackagePaths: PackageSource[];\n\textensionFactories: InlineExtension[];\n\tnoExtensions: boolean;\n\tnoSkills: boolean;\n\tnoPromptTemplates: boolean;\n\tnoThemes: boolean;\n\tnoContextFiles: boolean;\n\tsystemPromptSource?: string;\n\tappendSystemPromptSource?: string[];\n\textensionsOverride?: (base: LoadExtensionsResult) => LoadExtensionsResult;\n\tskillsOverride?: (base: { skills: Skill[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tskills: Skill[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tpromptsOverride?: (base: { prompts: PromptTemplate[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tprompts: PromptTemplate[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tthemesOverride?: (base: { themes: Theme[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tthemes: Theme[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tagentsFilesOverride?: (base: { agentsFiles: Array<{ path: string; content: string }> }) => {\n\t\tagentsFiles: Array<{ path: string; content: string }>;\n\t};\n\tsystemPromptOverride?: (base: string | undefined) => string | undefined;\n\tappendSystemPromptOverride?: (base: string[]) => string[];\n\textensionsResult: LoadExtensionsResult;\n\tskills: Skill[];\n\tskillDiagnostics: ResourceDiagnostic[];\n\tskillCatalog: SkillCatalog;\n\tprompts: PromptTemplate[];\n\tpromptDiagnostics: ResourceDiagnostic[];\n\tthemes: Theme[];\n\tthemeDiagnostics: ResourceDiagnostic[];\n\tagentsFiles: Array<{ path: string; content: string }>;\n\tsystemPrompt?: string;\n\tsystemPromptSourcePath?: string;\n\tappendSystemPrompt: string[];\n\tappendSystemPromptSourcePaths: string[];\n\tworkflowResources: ResolvedResource[];\n\ttrustedBorrowedProjectLocalSources?: Set<string>;\n\tlastSkillPaths: string[];\n\textensionSkillSourceInfos: Map<string, SourceInfo>;\n\textensionPromptSourceInfos: Map<string, SourceInfo>;\n\textensionThemeSourceInfos: Map<string, SourceInfo>;\n\t/**\n\t * Package metadata discovered by the most recent reload, keyed by resource path.\n\t * Retained so later extendResources() passes still resolve package source info.\n\t */\n\tresourceMetadataByPath: Map<string, PathMetadata>;\n\tlastPromptPaths: string[];\n\tlastThemePaths: string[];\n\tloaded: boolean;\n\tgetInheritanceSnapshot(): DefaultResourceLoaderInheritanceSnapshot;\n\trefreshWorkflowResources(): Promise<ResolvedResource[]>;\n}\n\nexport interface ExtensionLoadDependencies {\n\truntime: ExtensionRuntime;\n\tworkflowResourceProvider: WorkflowResourceProvider;\n\tinheritanceSnapshotProvider: () => DefaultResourceLoaderInheritanceSnapshot;\n}\n\nexport function resourceInternals(loader: object): ResourceLoaderInternals {\n\treturn loader as unknown as ResourceLoaderInternals;\n}\n"]}
1
+ {"version":3,"file":"resource-loader-internals.js","sourceRoot":"","sources":["../../src/core/resource-loader-internals.ts"],"names":[],"mappings":"AAyFA,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC/C,OAAO,MAA4C,CAAC;AACrD,CAAC","sourcesContent":["import type { Theme } from \"../modes/interactive/theme/theme.js\";\nimport type { ResourceDiagnostic } from \"./diagnostics.ts\";\nimport type { EventBus } from \"./event-bus.js\";\nimport type { WorkflowResourceProvider } from \"./extensions/loader.ts\";\nimport type { ExtensionRuntime, InlineExtension, LoadExtensionsResult } from \"./extensions/types.ts\";\nimport type { McpServerContribution } from \"./mcp-servers.ts\";\nimport type { DefaultPackageManager, PathMetadata, ResolvedResource } from \"./package-manager.ts\";\nimport type { PromptTemplate } from \"./prompt-templates.ts\";\nimport type { DefaultResourceLoaderInheritanceSnapshot } from \"./resource-loader-types.ts\";\nimport type { PackageSource, SettingsManager } from \"./settings-manager.ts\";\nimport type { SkillCatalog } from \"./skill-catalog.ts\";\nimport type { Skill } from \"./skills.ts\";\nimport type { SourceInfo } from \"./source-info.ts\";\n\nexport interface ResourceLoaderInternals {\n\tcwd: string;\n\tagentDir: string;\n\tsettingsManager: SettingsManager;\n\teventBus: EventBus;\n\tpackageManager: DefaultPackageManager;\n\tadditionalExtensionPaths: string[];\n\tadditionalSkillPaths: string[];\n\tadditionalPromptTemplatePaths: string[];\n\tadditionalThemePaths: string[];\n\tbuiltinPackagePaths: PackageSource[];\n\textensionFactories: InlineExtension[];\n\tnoExtensions: boolean;\n\tnoSkills: boolean;\n\tnoPromptTemplates: boolean;\n\tnoThemes: boolean;\n\tnoContextFiles: boolean;\n\tsystemPromptSource?: string;\n\tappendSystemPromptSource?: string[];\n\textensionsOverride?: (base: LoadExtensionsResult) => LoadExtensionsResult;\n\tskillsOverride?: (base: { skills: Skill[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tskills: Skill[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tpromptsOverride?: (base: { prompts: PromptTemplate[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tprompts: PromptTemplate[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tthemesOverride?: (base: { themes: Theme[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tthemes: Theme[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tagentsFilesOverride?: (base: { agentsFiles: Array<{ path: string; content: string }> }) => {\n\t\tagentsFiles: Array<{ path: string; content: string }>;\n\t};\n\tsystemPromptOverride?: (base: string | undefined) => string | undefined;\n\tappendSystemPromptOverride?: (base: string[]) => string[];\n\textensionsResult: LoadExtensionsResult;\n\tskills: Skill[];\n\tskillDiagnostics: ResourceDiagnostic[];\n\tskillCatalog: SkillCatalog;\n\tprompts: PromptTemplate[];\n\tpromptDiagnostics: ResourceDiagnostic[];\n\tthemes: Theme[];\n\tthemeDiagnostics: ResourceDiagnostic[];\n\tagentsFiles: Array<{ path: string; content: string }>;\n\tsystemPrompt?: string;\n\tsystemPromptSourcePath?: string;\n\tappendSystemPrompt: string[];\n\tappendSystemPromptSourcePaths: string[];\n\tworkflowResources: ResolvedResource[];\n\tmcpServerContributions: McpServerContribution[];\n\ttrustedBorrowedProjectLocalSources?: Set<string>;\n\tlastSkillPaths: string[];\n\textensionSkillSourceInfos: Map<string, SourceInfo>;\n\textensionPromptSourceInfos: Map<string, SourceInfo>;\n\textensionThemeSourceInfos: Map<string, SourceInfo>;\n\t/**\n\t * Package metadata discovered by the most recent reload, keyed by resource path.\n\t * Retained so later extendResources() passes still resolve package source info.\n\t */\n\tresourceMetadataByPath: Map<string, PathMetadata>;\n\tlastPromptPaths: string[];\n\tlastThemePaths: string[];\n\tloaded: boolean;\n\tgetInheritanceSnapshot(): DefaultResourceLoaderInheritanceSnapshot;\n\trefreshWorkflowResources(): Promise<ResolvedResource[]>;\n}\n\nexport interface ExtensionLoadDependencies {\n\truntime: ExtensionRuntime;\n\tworkflowResourceProvider: WorkflowResourceProvider;\n\tinheritanceSnapshotProvider: () => DefaultResourceLoaderInheritanceSnapshot;\n}\n\nexport function resourceInternals(loader: object): ResourceLoaderInternals {\n\treturn loader as unknown as ResourceLoaderInternals;\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { type WorkflowResourceProvider } from "./extensions/loader.ts";
2
2
  import type { LoadExtensionsResult } from "./extensions/types.ts";
3
+ import type { McpServerContribution } from "./mcp-servers.ts";
3
4
  import type { PathMetadata, ResolvedPaths, ResolvedResource } from "./package-manager.ts";
4
5
  import type { DefaultResourceLoader } from "./resource-loader-core.ts";
5
6
  import type { DefaultResourceLoaderInheritanceSnapshot, ResourceLoaderReloadOptions } from "./resource-loader-types.ts";
@@ -15,6 +16,8 @@ export declare function resolvePackageResourcePaths(loader: DefaultResourceLoade
15
16
  export declare function resolveTrustedBorrowedProjectLocalSources(loader: DefaultResourceLoader, resolveBorrowedProjectTrust: NonNullable<ResourceLoaderReloadOptions["resolveBorrowedProjectTrust"]>, preTrustExtensions: LoadExtensionsResult | undefined): Promise<Set<string>>;
16
17
  export declare function filterBorrowedProjectLocalResources(paths: ResolvedPaths, trustedSources: Set<string>): ResolvedPaths;
17
18
  export declare function collectWorkflowResources(resolvedPaths: ResolvedPaths, cliExtensionPaths: ResolvedPaths, builtinPackagePaths: ResolvedPaths): ResolvedResource[];
19
+ /** Enabled manifest MCP servers in workflow-resource order; the first package declaring a name wins. */
20
+ export declare function collectMcpServerContributions(resolvedPaths: ResolvedPaths, cliExtensionPaths: ResolvedPaths, builtinPackagePaths: ResolvedPaths): McpServerContribution[];
18
21
  export declare function createWorkflowResourceProvider(loader: DefaultResourceLoader): WorkflowResourceProvider;
19
22
  export declare function createInheritanceSnapshotProvider(loader: DefaultResourceLoader): () => DefaultResourceLoaderInheritanceSnapshot;
20
23
  export declare function normalizeExtensionPaths(loader: DefaultResourceLoader, entries: Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"resource-loader-package-resources.d.ts","sourceRoot":"","sources":["../../src/core/resource-loader-package-resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,OAAO,KAAK,EAAE,wCAAwC,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAGxH,wBAAgB,kBAAkB,IAAI,aAAa,CAElD;AAED,wBAAsB,2BAA2B,CAChD,MAAM,EAAE,qBAAqB,EAC7B,OAAO,CAAC,EAAE;IACT,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,kCAAkC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACjD,GACC,OAAO,CAAC;IACV,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,aAAa,CAAC;IACjC,mBAAmB,EAAE,aAAa,CAAC;CACnC,CAAC,CAsBD;AAiBD,wBAAsB,yCAAyC,CAC9D,MAAM,EAAE,qBAAqB,EAC7B,2BAA2B,EAAE,WAAW,CAAC,2BAA2B,CAAC,6BAA6B,CAAC,CAAC,EACpG,kBAAkB,EAAE,oBAAoB,GAAG,SAAS,GAClD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CA8BtB;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,aAAa,CAYpH;AAUD,wBAAgB,wBAAwB,CACvC,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,aAAa,EAChC,mBAAmB,EAAE,aAAa,GAChC,gBAAgB,EAAE,CAMpB;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,qBAAqB,GAAG,wBAAwB,CAMtG;AAED,wBAAgB,iCAAiC,CAChD,MAAM,EAAE,qBAAqB,GAC3B,MAAM,wCAAwC,CAGhD;AAED,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC,GACtD,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC,CAWjD;AAED,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC,EACtD,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAChC,IAAI,CAWN"}
1
+ {"version":3,"file":"resource-loader-package-resources.d.ts","sourceRoot":"","sources":["../../src/core/resource-loader-package-resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAqB,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,OAAO,KAAK,EAAE,wCAAwC,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAGxH,wBAAgB,kBAAkB,IAAI,aAAa,CAElD;AAED,wBAAsB,2BAA2B,CAChD,MAAM,EAAE,qBAAqB,EAC7B,OAAO,CAAC,EAAE;IACT,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,kCAAkC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACjD,GACC,OAAO,CAAC;IACV,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,aAAa,CAAC;IACjC,mBAAmB,EAAE,aAAa,CAAC;CACnC,CAAC,CAsBD;AAkBD,wBAAsB,yCAAyC,CAC9D,MAAM,EAAE,qBAAqB,EAC7B,2BAA2B,EAAE,WAAW,CAAC,2BAA2B,CAAC,6BAA6B,CAAC,CAAC,EACpG,kBAAkB,EAAE,oBAAoB,GAAG,SAAS,GAClD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CA+BtB;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,aAAa,CAapH;AAUD,wBAAgB,wBAAwB,CACvC,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,aAAa,EAChC,mBAAmB,EAAE,aAAa,GAChC,gBAAgB,EAAE,CAMpB;AAED,wGAAwG;AACxG,wBAAgB,6BAA6B,CAC5C,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,aAAa,EAChC,mBAAmB,EAAE,aAAa,GAChC,qBAAqB,EAAE,CAgBzB;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,qBAAqB,GAAG,wBAAwB,CAOtG;AAED,wBAAgB,iCAAiC,CAChD,MAAM,EAAE,qBAAqB,GAC3B,MAAM,wCAAwC,CAGhD;AAED,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC,GACtD,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC,CAWjD;AAED,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC,EACtD,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAChC,IAAI,CAWN"}
@@ -3,7 +3,7 @@ import { resourceInternals } from "./resource-loader-internals.js";
3
3
  import { resolveResourcePath } from "./resource-loader-paths.js";
4
4
  import { createSourceInfo } from "./source-info.js";
5
5
  export function emptyResolvedPaths() {
6
- return { extensions: [], skills: [], prompts: [], themes: [], workflows: [] };
6
+ return { extensions: [], skills: [], prompts: [], themes: [], workflows: [], mcpServers: [] };
7
7
  }
8
8
  export async function resolvePackageResourcePaths(loader, options) {
9
9
  const state = resourceInternals(loader);
@@ -33,6 +33,7 @@ function markBundledResources(paths) {
33
33
  prompts: mark(paths.prompts),
34
34
  themes: mark(paths.themes),
35
35
  workflows: mark(paths.workflows),
36
+ mcpServers: mark(paths.mcpServers),
36
37
  };
37
38
  }
38
39
  export async function resolveTrustedBorrowedProjectLocalSources(loader, resolveBorrowedProjectTrust, preTrustExtensions) {
@@ -42,7 +43,8 @@ export async function resolveTrustedBorrowedProjectLocalSources(loader, resolveB
42
43
  includeProjectLocalResources: true,
43
44
  });
44
45
  const resourcesBySource = new Map();
45
- for (const resources of Object.values(cliExtensionPaths)) {
46
+ const { extensions, skills, prompts, themes, workflows } = cliExtensionPaths;
47
+ for (const resources of [extensions, skills, prompts, themes, workflows]) {
46
48
  for (const resource of resources) {
47
49
  if (!resource.metadata.borrowedProjectLocal) {
48
50
  continue;
@@ -73,6 +75,7 @@ export function filterBorrowedProjectLocalResources(paths, trustedSources) {
73
75
  prompts: filterResources(paths.prompts),
74
76
  themes: filterResources(paths.themes),
75
77
  workflows: filterResources(paths.workflows),
78
+ mcpServers: filterResources(paths.mcpServers),
76
79
  };
77
80
  }
78
81
  function enabledWorkflowResources(resources) {
@@ -88,11 +91,31 @@ export function collectWorkflowResources(resolvedPaths, cliExtensionPaths, built
88
91
  ...enabledPackageWorkflowResources(builtinPackagePaths.workflows),
89
92
  ];
90
93
  }
94
+ /** Enabled manifest MCP servers in workflow-resource order; the first package declaring a name wins. */
95
+ export function collectMcpServerContributions(resolvedPaths, cliExtensionPaths, builtinPackagePaths) {
96
+ const contributions = new Map();
97
+ for (const server of [
98
+ ...cliExtensionPaths.mcpServers,
99
+ ...resolvedPaths.mcpServers,
100
+ ...builtinPackagePaths.mcpServers,
101
+ ]) {
102
+ if (!server.enabled || contributions.has(server.name))
103
+ continue;
104
+ contributions.set(server.name, {
105
+ name: server.name,
106
+ config: server.config,
107
+ origin: "package",
108
+ sourceInfo: createSourceInfo(server.path, server.metadata),
109
+ });
110
+ }
111
+ return [...contributions.values()];
112
+ }
91
113
  export function createWorkflowResourceProvider(loader) {
92
114
  const state = resourceInternals(loader);
93
115
  return {
94
116
  get: () => state.workflowResources,
95
117
  refresh: () => state.refreshWorkflowResources(),
118
+ getMcpServers: () => state.mcpServerContributions,
96
119
  };
97
120
  }
98
121
  export function createInheritanceSnapshotProvider(loader) {
@@ -1 +1 @@
1
- {"version":3,"file":"resource-loader-package-resources.js","sourceRoot":"","sources":["../../src/core/resource-loader-package-resources.ts"],"names":[],"mappings":"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","sourcesContent":["import { createExtensionRuntime, type WorkflowResourceProvider } from \"./extensions/loader.ts\";\nimport type { LoadExtensionsResult } from \"./extensions/types.ts\";\nimport type { PathMetadata, ResolvedPaths, ResolvedResource } from \"./package-manager.ts\";\nimport type { DefaultResourceLoader } from \"./resource-loader-core.ts\";\nimport { resourceInternals } from \"./resource-loader-internals.ts\";\nimport { resolveResourcePath } from \"./resource-loader-paths.ts\";\nimport type { DefaultResourceLoaderInheritanceSnapshot, ResourceLoaderReloadOptions } from \"./resource-loader-types.ts\";\nimport { createSourceInfo } from \"./source-info.ts\";\n\nexport function emptyResolvedPaths(): ResolvedPaths {\n\treturn { extensions: [], skills: [], prompts: [], themes: [], workflows: [] };\n}\n\nexport async function resolvePackageResourcePaths(\n\tloader: DefaultResourceLoader,\n\toptions?: {\n\t\tincludeCliProjectLocalResources?: boolean;\n\t\ttrustedBorrowedProjectLocalSources?: Set<string>;\n\t},\n): Promise<{\n\tresolvedPaths: ResolvedPaths;\n\tcliExtensionPaths: ResolvedPaths;\n\tbuiltinPackagePaths: ResolvedPaths;\n}> {\n\tconst state = resourceInternals(loader);\n\tawait state.settingsManager.reload();\n\tconst resolvedPaths = await state.packageManager.resolve();\n\tconst includeCliProjectLocalResources = options?.includeCliProjectLocalResources ?? true;\n\tlet cliExtensionPaths = await state.packageManager.resolveExtensionSources(state.additionalExtensionPaths, {\n\t\ttemporary: true,\n\t\tincludeProjectLocalResources: includeCliProjectLocalResources,\n\t});\n\tif (includeCliProjectLocalResources && options?.trustedBorrowedProjectLocalSources) {\n\t\tcliExtensionPaths = filterBorrowedProjectLocalResources(\n\t\t\tcliExtensionPaths,\n\t\t\toptions.trustedBorrowedProjectLocalSources,\n\t\t);\n\t}\n\tconst builtinPackagePaths =\n\t\tstate.builtinPackagePaths.length > 0\n\t\t\t? markBundledResources(\n\t\t\t\t\tawait state.packageManager.resolveExtensionSources(state.builtinPackagePaths, { temporary: true }),\n\t\t\t\t)\n\t\t\t: emptyResolvedPaths();\n\treturn { resolvedPaths, cliExtensionPaths, builtinPackagePaths };\n}\n\nfunction markBundledResources(paths: ResolvedPaths): ResolvedPaths {\n\tconst mark = (resources: ResolvedResource[]): ResolvedResource[] =>\n\t\tresources.map((resource) => ({\n\t\t\t...resource,\n\t\t\tmetadata: { ...resource.metadata, configurationOrigin: \"bundled\" },\n\t\t}));\n\treturn {\n\t\textensions: mark(paths.extensions),\n\t\tskills: mark(paths.skills),\n\t\tprompts: mark(paths.prompts),\n\t\tthemes: mark(paths.themes),\n\t\tworkflows: mark(paths.workflows),\n\t};\n}\n\nexport async function resolveTrustedBorrowedProjectLocalSources(\n\tloader: DefaultResourceLoader,\n\tresolveBorrowedProjectTrust: NonNullable<ResourceLoaderReloadOptions[\"resolveBorrowedProjectTrust\"]>,\n\tpreTrustExtensions: LoadExtensionsResult | undefined,\n): Promise<Set<string>> {\n\tconst state = resourceInternals(loader);\n\tconst cliExtensionPaths = await state.packageManager.resolveExtensionSources(state.additionalExtensionPaths, {\n\t\ttemporary: true,\n\t\tincludeProjectLocalResources: true,\n\t});\n\tconst resourcesBySource = new Map<string, ResolvedResource[]>();\n\tfor (const resources of Object.values(cliExtensionPaths)) {\n\t\tfor (const resource of resources) {\n\t\t\tif (!resource.metadata.borrowedProjectLocal) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst sourceResources = resourcesBySource.get(resource.metadata.source) ?? [];\n\t\t\tsourceResources.push(resource);\n\t\t\tresourcesBySource.set(resource.metadata.source, sourceResources);\n\t\t}\n\t}\n\n\tconst trustedSources = new Set<string>();\n\tfor (const [source, resources] of resourcesBySource) {\n\t\tconst trusted = await resolveBorrowedProjectTrust({\n\t\t\tsource,\n\t\t\tresources,\n\t\t\textensionsResult: preTrustExtensions ?? { extensions: [], errors: [], runtime: createExtensionRuntime() },\n\t\t});\n\t\tif (trusted) {\n\t\t\ttrustedSources.add(source);\n\t\t}\n\t}\n\treturn trustedSources;\n}\n\nexport function filterBorrowedProjectLocalResources(paths: ResolvedPaths, trustedSources: Set<string>): ResolvedPaths {\n\tconst filterResources = (resources: ResolvedResource[]): ResolvedResource[] =>\n\t\tresources.filter(\n\t\t\t(resource) => !resource.metadata.borrowedProjectLocal || trustedSources.has(resource.metadata.source),\n\t\t);\n\treturn {\n\t\textensions: filterResources(paths.extensions),\n\t\tskills: filterResources(paths.skills),\n\t\tprompts: filterResources(paths.prompts),\n\t\tthemes: filterResources(paths.themes),\n\t\tworkflows: filterResources(paths.workflows),\n\t};\n}\n\nfunction enabledWorkflowResources(resources: ResolvedResource[]): ResolvedResource[] {\n\treturn resources.filter((resource) => resource.enabled);\n}\n\nfunction enabledPackageWorkflowResources(resources: ResolvedResource[]): ResolvedResource[] {\n\treturn resources.filter((resource) => resource.enabled && resource.metadata.origin === \"package\");\n}\n\nexport function collectWorkflowResources(\n\tresolvedPaths: ResolvedPaths,\n\tcliExtensionPaths: ResolvedPaths,\n\tbuiltinPackagePaths: ResolvedPaths,\n): ResolvedResource[] {\n\treturn [\n\t\t...enabledWorkflowResources(cliExtensionPaths.workflows),\n\t\t...enabledPackageWorkflowResources(resolvedPaths.workflows),\n\t\t...enabledPackageWorkflowResources(builtinPackagePaths.workflows),\n\t];\n}\n\nexport function createWorkflowResourceProvider(loader: DefaultResourceLoader): WorkflowResourceProvider {\n\tconst state = resourceInternals(loader);\n\treturn {\n\t\tget: () => state.workflowResources,\n\t\trefresh: () => state.refreshWorkflowResources(),\n\t};\n}\n\nexport function createInheritanceSnapshotProvider(\n\tloader: DefaultResourceLoader,\n): () => DefaultResourceLoaderInheritanceSnapshot {\n\tconst state = resourceInternals(loader);\n\treturn () => state.getInheritanceSnapshot();\n}\n\nexport function normalizeExtensionPaths(\n\tloader: DefaultResourceLoader,\n\tentries: Array<{ path: string; metadata: PathMetadata }>,\n): Array<{ path: string; metadata: PathMetadata }> {\n\tconst state = resourceInternals(loader);\n\treturn entries.map((entry) => {\n\t\tconst metadata = entry.metadata.baseDir\n\t\t\t? { ...entry.metadata, baseDir: resolveResourcePath(state.cwd, entry.metadata.baseDir) }\n\t\t\t: entry.metadata;\n\t\treturn {\n\t\t\tpath: resolveResourcePath(state.cwd, entry.path),\n\t\t\tmetadata,\n\t\t};\n\t});\n}\n\nexport function recordExtensionSourceInfo(\n\tloader: DefaultResourceLoader,\n\tpaths: Array<{ path: string; metadata: PathMetadata }>,\n\tkind: \"skill\" | \"prompt\" | \"theme\",\n): void {\n\tconst state = resourceInternals(loader);\n\tconst target =\n\t\tkind === \"skill\"\n\t\t\t? state.extensionSkillSourceInfos\n\t\t\t: kind === \"prompt\"\n\t\t\t\t? state.extensionPromptSourceInfos\n\t\t\t\t: state.extensionThemeSourceInfos;\n\tfor (const entry of paths) {\n\t\ttarget.set(entry.path, createSourceInfo(entry.path, entry.metadata));\n\t}\n}\n"]}
1
+ {"version":3,"file":"resource-loader-package-resources.js","sourceRoot":"","sources":["../../src/core/resource-loader-package-resources.ts"],"names":[],"mappings":"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","sourcesContent":["import { createExtensionRuntime, type WorkflowResourceProvider } from \"./extensions/loader.ts\";\nimport type { LoadExtensionsResult } from \"./extensions/types.ts\";\nimport type { McpServerContribution } from \"./mcp-servers.ts\";\nimport type { PathMetadata, ResolvedMcpServer, ResolvedPaths, ResolvedResource } from \"./package-manager.ts\";\nimport type { DefaultResourceLoader } from \"./resource-loader-core.ts\";\nimport { resourceInternals } from \"./resource-loader-internals.ts\";\nimport { resolveResourcePath } from \"./resource-loader-paths.ts\";\nimport type { DefaultResourceLoaderInheritanceSnapshot, ResourceLoaderReloadOptions } from \"./resource-loader-types.ts\";\nimport { createSourceInfo } from \"./source-info.ts\";\n\nexport function emptyResolvedPaths(): ResolvedPaths {\n\treturn { extensions: [], skills: [], prompts: [], themes: [], workflows: [], mcpServers: [] };\n}\n\nexport async function resolvePackageResourcePaths(\n\tloader: DefaultResourceLoader,\n\toptions?: {\n\t\tincludeCliProjectLocalResources?: boolean;\n\t\ttrustedBorrowedProjectLocalSources?: Set<string>;\n\t},\n): Promise<{\n\tresolvedPaths: ResolvedPaths;\n\tcliExtensionPaths: ResolvedPaths;\n\tbuiltinPackagePaths: ResolvedPaths;\n}> {\n\tconst state = resourceInternals(loader);\n\tawait state.settingsManager.reload();\n\tconst resolvedPaths = await state.packageManager.resolve();\n\tconst includeCliProjectLocalResources = options?.includeCliProjectLocalResources ?? true;\n\tlet cliExtensionPaths = await state.packageManager.resolveExtensionSources(state.additionalExtensionPaths, {\n\t\ttemporary: true,\n\t\tincludeProjectLocalResources: includeCliProjectLocalResources,\n\t});\n\tif (includeCliProjectLocalResources && options?.trustedBorrowedProjectLocalSources) {\n\t\tcliExtensionPaths = filterBorrowedProjectLocalResources(\n\t\t\tcliExtensionPaths,\n\t\t\toptions.trustedBorrowedProjectLocalSources,\n\t\t);\n\t}\n\tconst builtinPackagePaths =\n\t\tstate.builtinPackagePaths.length > 0\n\t\t\t? markBundledResources(\n\t\t\t\t\tawait state.packageManager.resolveExtensionSources(state.builtinPackagePaths, { temporary: true }),\n\t\t\t\t)\n\t\t\t: emptyResolvedPaths();\n\treturn { resolvedPaths, cliExtensionPaths, builtinPackagePaths };\n}\n\nfunction markBundledResources(paths: ResolvedPaths): ResolvedPaths {\n\tconst mark = <T extends ResolvedResource | ResolvedMcpServer>(resources: T[]): T[] =>\n\t\tresources.map((resource) => ({\n\t\t\t...resource,\n\t\t\tmetadata: { ...resource.metadata, configurationOrigin: \"bundled\" },\n\t\t}));\n\treturn {\n\t\textensions: mark(paths.extensions),\n\t\tskills: mark(paths.skills),\n\t\tprompts: mark(paths.prompts),\n\t\tthemes: mark(paths.themes),\n\t\tworkflows: mark(paths.workflows),\n\t\tmcpServers: mark(paths.mcpServers),\n\t};\n}\n\nexport async function resolveTrustedBorrowedProjectLocalSources(\n\tloader: DefaultResourceLoader,\n\tresolveBorrowedProjectTrust: NonNullable<ResourceLoaderReloadOptions[\"resolveBorrowedProjectTrust\"]>,\n\tpreTrustExtensions: LoadExtensionsResult | undefined,\n): Promise<Set<string>> {\n\tconst state = resourceInternals(loader);\n\tconst cliExtensionPaths = await state.packageManager.resolveExtensionSources(state.additionalExtensionPaths, {\n\t\ttemporary: true,\n\t\tincludeProjectLocalResources: true,\n\t});\n\tconst resourcesBySource = new Map<string, ResolvedResource[]>();\n\tconst { extensions, skills, prompts, themes, workflows } = cliExtensionPaths;\n\tfor (const resources of [extensions, skills, prompts, themes, workflows]) {\n\t\tfor (const resource of resources) {\n\t\t\tif (!resource.metadata.borrowedProjectLocal) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst sourceResources = resourcesBySource.get(resource.metadata.source) ?? [];\n\t\t\tsourceResources.push(resource);\n\t\t\tresourcesBySource.set(resource.metadata.source, sourceResources);\n\t\t}\n\t}\n\n\tconst trustedSources = new Set<string>();\n\tfor (const [source, resources] of resourcesBySource) {\n\t\tconst trusted = await resolveBorrowedProjectTrust({\n\t\t\tsource,\n\t\t\tresources,\n\t\t\textensionsResult: preTrustExtensions ?? { extensions: [], errors: [], runtime: createExtensionRuntime() },\n\t\t});\n\t\tif (trusted) {\n\t\t\ttrustedSources.add(source);\n\t\t}\n\t}\n\treturn trustedSources;\n}\n\nexport function filterBorrowedProjectLocalResources(paths: ResolvedPaths, trustedSources: Set<string>): ResolvedPaths {\n\tconst filterResources = <T extends ResolvedResource | ResolvedMcpServer>(resources: T[]): T[] =>\n\t\tresources.filter(\n\t\t\t(resource) => !resource.metadata.borrowedProjectLocal || trustedSources.has(resource.metadata.source),\n\t\t);\n\treturn {\n\t\textensions: filterResources(paths.extensions),\n\t\tskills: filterResources(paths.skills),\n\t\tprompts: filterResources(paths.prompts),\n\t\tthemes: filterResources(paths.themes),\n\t\tworkflows: filterResources(paths.workflows),\n\t\tmcpServers: filterResources(paths.mcpServers),\n\t};\n}\n\nfunction enabledWorkflowResources(resources: ResolvedResource[]): ResolvedResource[] {\n\treturn resources.filter((resource) => resource.enabled);\n}\n\nfunction enabledPackageWorkflowResources(resources: ResolvedResource[]): ResolvedResource[] {\n\treturn resources.filter((resource) => resource.enabled && resource.metadata.origin === \"package\");\n}\n\nexport function collectWorkflowResources(\n\tresolvedPaths: ResolvedPaths,\n\tcliExtensionPaths: ResolvedPaths,\n\tbuiltinPackagePaths: ResolvedPaths,\n): ResolvedResource[] {\n\treturn [\n\t\t...enabledWorkflowResources(cliExtensionPaths.workflows),\n\t\t...enabledPackageWorkflowResources(resolvedPaths.workflows),\n\t\t...enabledPackageWorkflowResources(builtinPackagePaths.workflows),\n\t];\n}\n\n/** Enabled manifest MCP servers in workflow-resource order; the first package declaring a name wins. */\nexport function collectMcpServerContributions(\n\tresolvedPaths: ResolvedPaths,\n\tcliExtensionPaths: ResolvedPaths,\n\tbuiltinPackagePaths: ResolvedPaths,\n): McpServerContribution[] {\n\tconst contributions = new Map<string, McpServerContribution>();\n\tfor (const server of [\n\t\t...cliExtensionPaths.mcpServers,\n\t\t...resolvedPaths.mcpServers,\n\t\t...builtinPackagePaths.mcpServers,\n\t]) {\n\t\tif (!server.enabled || contributions.has(server.name)) continue;\n\t\tcontributions.set(server.name, {\n\t\t\tname: server.name,\n\t\t\tconfig: server.config,\n\t\t\torigin: \"package\",\n\t\t\tsourceInfo: createSourceInfo(server.path, server.metadata),\n\t\t});\n\t}\n\treturn [...contributions.values()];\n}\n\nexport function createWorkflowResourceProvider(loader: DefaultResourceLoader): WorkflowResourceProvider {\n\tconst state = resourceInternals(loader);\n\treturn {\n\t\tget: () => state.workflowResources,\n\t\trefresh: () => state.refreshWorkflowResources(),\n\t\tgetMcpServers: () => state.mcpServerContributions,\n\t};\n}\n\nexport function createInheritanceSnapshotProvider(\n\tloader: DefaultResourceLoader,\n): () => DefaultResourceLoaderInheritanceSnapshot {\n\tconst state = resourceInternals(loader);\n\treturn () => state.getInheritanceSnapshot();\n}\n\nexport function normalizeExtensionPaths(\n\tloader: DefaultResourceLoader,\n\tentries: Array<{ path: string; metadata: PathMetadata }>,\n): Array<{ path: string; metadata: PathMetadata }> {\n\tconst state = resourceInternals(loader);\n\treturn entries.map((entry) => {\n\t\tconst metadata = entry.metadata.baseDir\n\t\t\t? { ...entry.metadata, baseDir: resolveResourcePath(state.cwd, entry.metadata.baseDir) }\n\t\t\t: entry.metadata;\n\t\treturn {\n\t\t\tpath: resolveResourcePath(state.cwd, entry.path),\n\t\t\tmetadata,\n\t\t};\n\t});\n}\n\nexport function recordExtensionSourceInfo(\n\tloader: DefaultResourceLoader,\n\tpaths: Array<{ path: string; metadata: PathMetadata }>,\n\tkind: \"skill\" | \"prompt\" | \"theme\",\n): void {\n\tconst state = resourceInternals(loader);\n\tconst target =\n\t\tkind === \"skill\"\n\t\t\t? state.extensionSkillSourceInfos\n\t\t\t: kind === \"prompt\"\n\t\t\t\t? state.extensionPromptSourceInfos\n\t\t\t\t: state.extensionThemeSourceInfos;\n\tfor (const entry of paths) {\n\t\ttarget.set(entry.path, createSourceInfo(entry.path, entry.metadata));\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"resource-loader-reload.d.ts","sourceRoot":"","sources":["../../src/core/resource-loader-reload.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAa,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAe7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAkBvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAwE9E,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAoD7G;AAED,wBAAsB,2BAA2B,CAChD,MAAM,EAAE,qBAAqB,EAC7B,OAAO,CAAC,EAAE,2BAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,uFAAuF;AACvF,wBAAsB,kCAAkC,CACvD,MAAM,EAAE,qBAAqB,EAC7B,OAAO,CAAC,EAAE,2BAA2B,GACnC,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAkT9B"}
1
+ {"version":3,"file":"resource-loader-reload.d.ts","sourceRoot":"","sources":["../../src/core/resource-loader-reload.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAa,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAe7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAmBvE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAwE9E,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAqD7G;AAED,wBAAsB,2BAA2B,CAChD,MAAM,EAAE,qBAAqB,EAC7B,OAAO,CAAC,EAAE,2BAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,uFAAuF;AACvF,wBAAsB,kCAAkC,CACvD,MAAM,EAAE,qBAAqB,EAC7B,OAAO,CAAC,EAAE,2BAA2B,GACnC,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAwT9B"}
@@ -13,7 +13,7 @@ import { discoverAppendSystemPromptFile, discoverSystemPromptFile } from "./reso
13
13
  import { collectExtensionPackageWarnings, mergeExtensionWarnings } from "./resource-loader-extension-warnings.js";
14
14
  import { loadExtensionFactories, loadFinalExtensionSet, resolveInheritedExtensionOverlaps, } from "./resource-loader-extensions.js";
15
15
  import { resourceInternals } from "./resource-loader-internals.js";
16
- import { collectWorkflowResources, createInheritanceSnapshotProvider, createWorkflowResourceProvider, resolvePackageResourcePaths, resolveTrustedBorrowedProjectLocalSources, } from "./resource-loader-package-resources.js";
16
+ import { collectMcpServerContributions, collectWorkflowResources, createInheritanceSnapshotProvider, createWorkflowResourceProvider, resolvePackageResourcePaths, resolveTrustedBorrowedProjectLocalSources, } from "./resource-loader-package-resources.js";
17
17
  import { mergeResourcePaths, resolveResourcePath } from "./resource-loader-paths.js";
18
18
  import { applyExtensionSourceInfo } from "./resource-loader-source-info.js";
19
19
  import { buildSkillCatalog } from "./skill-catalog.js";
@@ -83,6 +83,7 @@ export async function loadProjectTrustExtensions(loader) {
83
83
  const builtinEnabledExtensions = getBuiltinExtensionPaths(builtinPackagePaths.extensions, metadataByPath, state.noExtensions);
84
84
  const workflowResources = collectWorkflowResources(resolvedPaths, cliExtensionPaths, builtinPackagePaths);
85
85
  state.workflowResources = workflowResources;
86
+ state.mcpServerContributions = collectMcpServerContributions(resolvedPaths, cliExtensionPaths, builtinPackagePaths);
86
87
  const workflowResourceProvider = createWorkflowResourceProvider(loader);
87
88
  const inheritanceSnapshotProvider = createInheritanceSnapshotProvider(loader);
88
89
  // The builtin Herdr reporter supersedes the installed file integration in a
@@ -147,6 +148,7 @@ export async function prepareDefaultResourceLoaderReload(loader, options) {
147
148
  state.extensionPromptSourceInfos = new Map();
148
149
  state.extensionThemeSourceInfos = new Map();
149
150
  state.workflowResources = [];
151
+ state.mcpServerContributions = [];
150
152
  state.resourceMetadataByPath = new Map();
151
153
  state.lastSkillPaths = [];
152
154
  const emptySkills = state.skillsOverride ? state.skillsOverride({ skills: [], diagnostics: [] }) : undefined;
@@ -218,6 +220,7 @@ export async function prepareDefaultResourceLoaderReload(loader, options) {
218
220
  const cliEnabledThemes = getEnabledPaths(cliExtensionPaths.themes, metadataByPath);
219
221
  const workflowResources = collectWorkflowResources(resolvedPaths, cliExtensionPaths, builtinPackagePaths);
220
222
  state.workflowResources = workflowResources;
223
+ state.mcpServerContributions = collectMcpServerContributions(resolvedPaths, cliExtensionPaths, builtinPackagePaths);
221
224
  const workflowResourceProvider = createWorkflowResourceProvider(loader);
222
225
  // The builtin Herdr reporter supersedes the installed file integration in a
223
226
  // Herdr pane; see extensions/herdr-file-integration.ts.