@@ -12,6 +12,7 @@ import {
12
12
import { stripImages } from "core/util/messageContent" ;
13
13
import { IIdeMessenger } from "../../../../context/IdeMessenger" ;
14
14
import { setIsGatheringContext } from "../../../../redux/slices/sessionSlice" ;
15
+ import { RootState } from "../../../../redux/store" ;
15
16
import { processEditorContent } from "./processEditorContent" ;
16
17
import { renderSlashCommandPrompt } from "./renderSlashCommand" ;
17
18
import { GetContextRequest } from "./types" ;
@@ -23,6 +24,7 @@ interface ResolveEditorContentInput {
23
24
defaultContextProviders : DefaultContextProvider [ ] ;
24
25
availableSlashCommands : SlashCommandDescWithSource [ ] ;
25
26
dispatch : Dispatch ;
27
+ getState : ( ) => RootState ;
26
28
}
27
29
28
30
interface ResolveEditorContentOutput {
@@ -48,6 +50,7 @@ export async function resolveEditorContent({
48
50
defaultContextProviders,
49
51
availableSlashCommands,
50
52
dispatch,
53
+ getState,
51
54
} : ResolveEditorContentInput ) : Promise < ResolveEditorContentOutput > {
52
55
const {
53
56
parts,
@@ -87,6 +90,7 @@ export async function resolveEditorContent({
87
90
defaultContextProviders,
88
91
parts : slashedParts ,
89
92
selectedCode,
93
+ getState,
90
94
} ) ;
91
95
92
96
if ( shouldGatherContext ) {
@@ -111,13 +115,15 @@ async function gatherContextItems({
111
115
defaultContextProviders,
112
116
parts,
113
117
selectedCode,
118
+ getState,
114
119
} : {
115
120
contextRequests : GetContextRequest [ ] ;
116
121
modifiers : InputModifiers ;
117
122
ideMessenger : IIdeMessenger ;
118
123
defaultContextProviders : DefaultContextProvider [ ] ;
119
124
parts : MessagePart [ ] ;
120
125
selectedCode : RangeInFile [ ] ;
126
+ getState : ( ) => RootState ;
121
127
} ) : Promise < ContextItemWithId [ ] > {
122
128
const defaultRequests : GetContextRequest [ ] = defaultContextProviders . map (
123
129
( def ) => ( {
@@ -139,13 +145,16 @@ async function gatherContextItems({
139
145
) ;
140
146
let contextItems : ContextItemWithId [ ] = [ ] ;
141
147
148
+ const isInAgentMode = getState ( ) . session . mode === "agent" ;
149
+
142
150
// Process context item attributes
143
151
for ( const item of deduplicatedInputs ) {
144
152
const result = await ideMessenger . request ( "context/getContextItems" , {
145
153
name : item . provider ,
146
154
query : item . query ?? "" ,
147
155
fullInput : stripImages ( parts ) ,
148
156
selectedCode,
157
+ isInAgentMode,
149
158
} ) ;
150
159
if ( result . status === "success" ) {
151
160
contextItems . push ( ...result . content ) ;
@@ -162,6 +171,7 @@ async function gatherContextItems({
162
171
query : "" ,
163
172
fullInput : stripImages ( parts ) ,
164
173
selectedCode,
174
+ isInAgentMode,
165
175
} ) ;
166
176
167
177
if ( result . status === "success" ) {
@@ -181,6 +191,7 @@ async function gatherContextItems({
181
191
query : "non-mention-usage" ,
182
192
fullInput : "" ,
183
193
selectedCode : [ ] ,
194
+ isInAgentMode,
184
195
} ,
185
196
) ;
186
197
if ( currentFileResponse . status === "success" ) {
0 commit comments