@@ -88,54 +88,53 @@ async function resolveCommandSkillsPrompt(params: {
8888 if ( ! sandboxWorkspace ) {
8989 return "" ;
9090 }
91- if ( ! sandboxWorkspace . containerWorkdir ) {
92- // Prompt inspection cannot safely advertise host skill paths when a
93- // custom backend has not declared its runtime workdir.
94- return "" ;
91+ if ( sandboxWorkspace . containerWorkdir ) {
92+ const {
93+ skillsEligibility,
94+ skillsPromptWorkspaceDir,
95+ skillsSnapshot : skillsSnapshotForRun ,
96+ skillsWorkspaceDir,
97+ workspaceOnly,
98+ } = resolveSandboxSkillRuntimeInputs ( {
99+ sandbox : {
100+ enabled : true ,
101+ containerWorkdir : sandboxWorkspace . containerWorkdir ,
102+ ...( sandboxWorkspace . skillsEligibility
103+ ? { skillsEligibility : sandboxWorkspace . skillsEligibility }
104+ : { } ) ,
105+ ...( sandboxWorkspace . skillsWorkspaceDir
106+ ? { skillsWorkspaceDir : sandboxWorkspace . skillsWorkspaceDir }
107+ : { } ) ,
108+ ...( sandboxWorkspace . workspaceAccess
109+ ? { workspaceAccess : sandboxWorkspace . workspaceAccess }
110+ : { } ) ,
111+ } ,
112+ effectiveWorkspace : sandboxWorkspace . workspaceDir ,
113+ } ) ;
114+ const { shouldLoadSkillEntries, skillEntries } = resolveEmbeddedRunSkillEntries ( {
115+ workspaceDir : skillsWorkspaceDir ,
116+ config : params . config ,
117+ agentId : params . agentId ,
118+ eligibility : skillsEligibility ,
119+ skillsSnapshot : skillsSnapshotForRun ,
120+ workspaceOnly,
121+ } ) ;
122+ const promptSkillEntries = mapSandboxSkillEntriesForPrompt ( {
123+ entries : shouldLoadSkillEntries ? skillEntries : undefined ,
124+ skillsWorkspaceDir,
125+ skillsPromptWorkspaceDir,
126+ } ) ;
127+ return resolveSkillsPromptForRun ( {
128+ skillsSnapshot : skillsSnapshotForRun ,
129+ entries : promptSkillEntries ,
130+ config : params . config ,
131+ workspaceDir : skillsPromptWorkspaceDir ,
132+ agentId : params . agentId ,
133+ eligibility : skillsEligibility ,
134+ } ) ;
95135 }
96- const {
97- skillsEligibility,
98- skillsPromptWorkspaceDir,
99- skillsSnapshot : skillsSnapshotForRun ,
100- skillsWorkspaceDir,
101- workspaceOnly,
102- } = resolveSandboxSkillRuntimeInputs ( {
103- sandbox : {
104- enabled : true ,
105- containerWorkdir : sandboxWorkspace . containerWorkdir ,
106- ...( sandboxWorkspace . skillsEligibility
107- ? { skillsEligibility : sandboxWorkspace . skillsEligibility }
108- : { } ) ,
109- ...( sandboxWorkspace . skillsWorkspaceDir
110- ? { skillsWorkspaceDir : sandboxWorkspace . skillsWorkspaceDir }
111- : { } ) ,
112- ...( sandboxWorkspace . workspaceAccess
113- ? { workspaceAccess : sandboxWorkspace . workspaceAccess }
114- : { } ) ,
115- } ,
116- effectiveWorkspace : sandboxWorkspace . workspaceDir ,
117- } ) ;
118- const { shouldLoadSkillEntries, skillEntries } = resolveEmbeddedRunSkillEntries ( {
119- workspaceDir : skillsWorkspaceDir ,
120- config : params . config ,
121- agentId : params . agentId ,
122- eligibility : skillsEligibility ,
123- skillsSnapshot : skillsSnapshotForRun ,
124- workspaceOnly,
125- } ) ;
126- const promptSkillEntries = mapSandboxSkillEntriesForPrompt ( {
127- entries : shouldLoadSkillEntries ? skillEntries : undefined ,
128- skillsWorkspaceDir,
129- skillsPromptWorkspaceDir,
130- } ) ;
131- return resolveSkillsPromptForRun ( {
132- skillsSnapshot : skillsSnapshotForRun ,
133- entries : promptSkillEntries ,
134- config : params . config ,
135- workspaceDir : skillsPromptWorkspaceDir ,
136- agentId : params . agentId ,
137- eligibility : skillsEligibility ,
138- } ) ;
136+ // Existing third-party backends may not expose the optional workdir
137+ // resolver yet. Preserve their previous host-snapshot inspection path.
139138 } catch {
140139 return "" ;
141140 }
0 commit comments