@@ -152,11 +152,13 @@ declare module 'vscode' {
152152
153153 /**
154154 * Options configured for this session as key-value pairs.
155- * Keys correspond to option group IDs (e.g., 'models', 'subagents')
156- * and values are the selected option item IDs.
155+ * Keys correspond to option group IDs (e.g., 'models', 'subagents').
156+ * Values can be either:
157+ * - A string (the option item ID) for backwards compatibility
158+ * - A ChatSessionProviderOptionItem object to include metadata like locked state
157159 * TODO: Strongly type the keys
158160 */
159- readonly options ?: Record < string , string > ;
161+ readonly options ?: Record < string , string | ChatSessionProviderOptionItem > ;
160162
161163 /**
162164 * Callback invoked by the editor for a currently running response. This allows the session to push items for the
@@ -245,10 +247,6 @@ declare module 'vscode' {
245247
246248 export interface ChatContext {
247249 readonly chatSessionContext ?: ChatSessionContext ;
248- readonly chatSummary ?: {
249- readonly prompt ?: string ;
250- readonly history ?: string ;
251- } ;
252250 }
253251
254252 export interface ChatSessionContext {
@@ -276,6 +274,13 @@ declare module 'vscode' {
276274 * Human-readable name displayed in the UI.
277275 */
278276 readonly name : string ;
277+
278+ /**
279+ * When true, this option is locked and cannot be changed by the user.
280+ * The option will still be visible in the UI but will be disabled.
281+ * Use this when an option is set but cannot be hot-swapped (e.g., model already initialized).
282+ */
283+ readonly locked ?: boolean ;
279284 }
280285
281286 /**
0 commit comments