@theia/ai-editor 1.69.0-next.81 → 1.69.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ai-editor-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-editor-frontend-module.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,8BAA8B,CAAC;;AAWtC,wBAwBG"}
1
+ {"version":3,"file":"ai-editor-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-editor-frontend-module.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,8BAA8B,CAAC;;AAWtC,wBAyBG"}
@@ -39,7 +39,8 @@ exports.default = new inversify_1.ContainerModule(bind => {
39
39
  showContext: true,
40
40
  showPinnedAgent: true,
41
41
  showChangeSet: false,
42
- showSuggestions: false
42
+ showSuggestions: false,
43
+ showCapabilities: false
43
44
  });
44
45
  container.bind(ask_ai_input_widget_1.AskAIInputWidget).toSelf().inSingletonScope();
45
46
  return container.get(ask_ai_input_widget_1.AskAIInputWidget);
@@ -1 +1 @@
1
- {"version":3,"file":"ai-editor-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-editor-frontend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,4CAAwD;AACxD,qDAAkG;AAClG,mDAA+E;AAC/E,4DAA+D;AAC/D,wCAAsC;AACtC,uEAAiE;AACjE,qFAA+E;AAC/E,6EAAiF;AACjF,+DAK+B;AAE/B,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,4DAA2B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAE9D,IAAI,CAAC,4BAAmB,CAAC,CAAC,SAAS,CAAC,4DAA2B,CAAC,CAAC;IACjE,IAAI,CAAC,yBAAgB,CAAC,CAAC,SAAS,CAAC,4DAA2B,CAAC,CAAC;IAC9D,IAAI,CAAC,gCAAsB,CAAC,CAAC,SAAS,CAAC,4DAA2B,CAAC,CAAC;IAEpE,IAAI,CAAC,gCAAsB,CAAC,CAAC,EAAE,CAAC,8DAAiC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEtF,IAAI,CAAC,8CAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,8CAAoB,CAAC,CAAC;IAEtE,IAAI,CAAC,uCAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAoB,EAAE,EAAE;QAC9D,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC9C,SAAS,CAAC,IAAI,CAAC,oCAAc,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACrD,SAAS,CAAC,IAAI,CAAC,6CAAuB,CAAC,CAAC,eAAe,CAAC;YACpD,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;YACpB,eAAe,EAAE,KAAK;SACS,CAAC,CAAC;QACrC,SAAS,CAAC,IAAI,CAAC,sCAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC,GAAG,CAAC,sCAAgB,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ai-editor-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-editor-frontend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,4CAAwD;AACxD,qDAAkG;AAClG,mDAA+E;AAC/E,4DAA+D;AAC/D,wCAAsC;AACtC,uEAAiE;AACjE,qFAA+E;AAC/E,6EAAiF;AACjF,+DAK+B;AAE/B,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,4DAA2B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAE9D,IAAI,CAAC,4BAAmB,CAAC,CAAC,SAAS,CAAC,4DAA2B,CAAC,CAAC;IACjE,IAAI,CAAC,yBAAgB,CAAC,CAAC,SAAS,CAAC,4DAA2B,CAAC,CAAC;IAC9D,IAAI,CAAC,gCAAsB,CAAC,CAAC,SAAS,CAAC,4DAA2B,CAAC,CAAC;IAEpE,IAAI,CAAC,gCAAsB,CAAC,CAAC,EAAE,CAAC,8DAAiC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEtF,IAAI,CAAC,8CAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,8CAAoB,CAAC,CAAC;IAEtE,IAAI,CAAC,uCAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAoB,EAAE,EAAE;QAC9D,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC9C,SAAS,CAAC,IAAI,CAAC,oCAAc,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACrD,SAAS,CAAC,IAAI,CAAC,6CAAuB,CAAC,CAAC,eAAe,CAAC;YACpD,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;YACpB,eAAe,EAAE,KAAK;YACtB,gBAAgB,EAAE,KAAK;SACQ,CAAC,CAAC;QACrC,SAAS,CAAC,IAAI,CAAC,sCAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC,GAAG,CAAC,sCAAgB,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -22,8 +22,14 @@ export declare class AskAIInputWidget extends AIChatInputWidget {
22
22
  protected heightInLines: number;
23
23
  protected init(): void;
24
24
  protected getResourceUri(): URI;
25
- protected handleSubmit(query: string): Promise<void>;
25
+ protected handleSubmit(query: string, mode?: string): Promise<void>;
26
26
  protected handleCancel(): void;
27
27
  protected onEscape(): void;
28
+ /**
29
+ * Override to detect receiving agent without requiring a chat session.
30
+ * This implementation bypasses the session-based pinned agent logic since
31
+ * Ask AI dialogs are ephemeral and don't support agent pinning.
32
+ */
33
+ protected updateReceivingAgent(): Promise<void>;
28
34
  }
29
35
  //# sourceMappingURL=ask-ai-input-widget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ask-ai-input-widget.d.ts","sourceRoot":"","sources":["../../src/browser/ask-ai-input-widget.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AAE9G,OAAO,EAAgB,GAAG,EAAE,MAAM,aAAa,CAAC;AAGhD,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AACzE,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;CAAI;AAE7E,eAAO,MAAM,cAAc,eAA2B,CAAC;AACvD,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,gBAAgB,CAAC;AAE3E;;GAEG;AACH,qBACa,gBAAiB,SAAQ,iBAAiB;IACnD,OAAuB,EAAE,SAAyB;IAGlD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,CAAC;IAEpD,mBAC4B,aAAa,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAE/E,SAAS,CAAC,QAAQ,CAAC,UAAU,SAAkB;IAC/C,UAAmB,aAAa,SAAK;cAGlB,IAAI,IAAI,IAAI;cAoBZ,cAAc,IAAI,GAAG;IAIxC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpD,SAAS,CAAC,YAAY,IAAI,IAAI;cAIX,QAAQ,IAAI,IAAI;CAGtC"}
1
+ {"version":3,"file":"ask-ai-input-widget.d.ts","sourceRoot":"","sources":["../../src/browser/ask-ai-input-widget.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAqB,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AAE9G,OAAO,EAAgB,GAAG,EAAE,MAAM,aAAa,CAAC;AAGhD,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AACzE,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;CAAI;AAE7E,eAAO,MAAM,cAAc,eAA2B,CAAC;AACvD,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,gBAAgB,CAAC;AAE3E;;GAEG;AACH,qBACa,gBAAiB,SAAQ,iBAAiB;IACnD,OAAuB,EAAE,SAAyB;IAGlD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,CAAC;IAEpD,mBAC4B,aAAa,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAE/E,SAAS,CAAC,QAAQ,CAAC,UAAU,SAAkB;IAC/C,UAAmB,aAAa,SAAK;cAGlB,IAAI,IAAI,IAAI;cAoBZ,cAAc,IAAI,GAAG;IAIxC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnE,SAAS,CAAC,YAAY,IAAI,IAAI;cAIX,QAAQ,IAAI,IAAI;IAInC;;;;OAIG;cACsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;CA+BjE"}
@@ -46,8 +46,8 @@ let AskAIInputWidget = class AskAIInputWidget extends chat_input_widget_1.AIChat
46
46
  this.onCancel = noOp;
47
47
  this.onDeleteChangeSet = noOp;
48
48
  this.onDeleteChangeSetElement = noOp;
49
- // Create a temporary chat model for the widget
50
- this.chatModel = new ai_chat_1.MutableChatModel();
49
+ // Create a standalone chat model for the widget (no session needed)
50
+ this.chatModel = new ai_chat_1.MutableChatModel(ai_chat_1.ChatAgentLocation.Editor);
51
51
  this.setEnabled(true);
52
52
  this.onQuery = this.handleSubmit.bind(this);
53
53
  this.onCancel = this.handleCancel.bind(this);
@@ -55,10 +55,14 @@ let AskAIInputWidget = class AskAIInputWidget extends chat_input_widget_1.AIChat
55
55
  getResourceUri() {
56
56
  return new core_1.URI(`ask-ai:/input-${this.resourceId}.${chat_view_language_contribution_1.CHAT_VIEW_LANGUAGE_EXTENSION}`);
57
57
  }
58
- handleSubmit(query) {
58
+ handleSubmit(query, mode) {
59
59
  const userInput = query.trim();
60
60
  if (userInput) {
61
- const request = { text: userInput, variables: this._chatModel.context.getVariables() };
61
+ const request = {
62
+ text: userInput,
63
+ variables: this._chatModel.context.getVariables(),
64
+ modeId: mode
65
+ };
62
66
  this.args?.onSubmit(request);
63
67
  }
64
68
  return Promise.resolve();
@@ -69,6 +73,41 @@ let AskAIInputWidget = class AskAIInputWidget extends chat_input_widget_1.AIChat
69
73
  onEscape() {
70
74
  this.handleCancel();
71
75
  }
76
+ /**
77
+ * Override to detect receiving agent without requiring a chat session.
78
+ * This implementation bypasses the session-based pinned agent logic since
79
+ * Ask AI dialogs are ephemeral and don't support agent pinning.
80
+ */
81
+ async updateReceivingAgent() {
82
+ if (!this.editorRef || !this._chatModel) {
83
+ if (this.receivingAgent !== undefined) {
84
+ this.chatInputReceivingAgentKey.set('');
85
+ this.chatInputHasModesKey.set(false);
86
+ this.receivingAgent = undefined;
87
+ this.update();
88
+ }
89
+ return;
90
+ }
91
+ try {
92
+ const inputText = this.editorRef.getControl().getValue();
93
+ const request = { text: inputText };
94
+ const resolvedContext = { variables: [] };
95
+ const parsedRequest = await this.chatRequestParser.parseChatRequest(request, this._chatModel.location, resolvedContext);
96
+ // Get the agent directly without requiring a session
97
+ // Uses the parent's helper method with session=undefined
98
+ const agent = this.resolveAgentFromParsedRequest(parsedRequest);
99
+ this.updateAgentState(agent);
100
+ }
101
+ catch (error) {
102
+ console.warn('Failed to determine receiving agent:', error);
103
+ if (this.receivingAgent !== undefined) {
104
+ this.chatInputReceivingAgentKey.set('');
105
+ this.chatInputHasModesKey.set(false);
106
+ this.receivingAgent = undefined;
107
+ this.update();
108
+ }
109
+ }
110
+ }
72
111
  };
73
112
  exports.AskAIInputWidget = AskAIInputWidget;
74
113
  tslib_1.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"ask-ai-input-widget.js","sourceRoot":"","sources":["../../src/browser/ask-ai-input-widget.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;AAEhF,4CAA+D;AAC/D,uFAA8G;AAC9G,mHAA6G;AAC7G,sCAAgD;AAChD,4DAA2F;AAE9E,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAG5D,QAAA,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAM1C,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAG7D;;GAEG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,qCAAiB;IAAhD;;QASgB,eAAU,GAAG,IAAA,mBAAY,GAAE,CAAC;QAC5B,kBAAa,GAAG,CAAC,CAAC;IA4CzC,CAAC;;aArD0B,OAAE,GAAG,qBAAqB,AAAxB,CAAyB;IAY/B,IAAI;QACnB,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,IAAI,CAAC,EAAE,GAAG,kBAAgB,CAAC,EAAE,CAAC;QAE9B,MAAM,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,6EAA6E;QAC7E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QAErC,+CAA+C;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAgB,EAAE,CAAC;QAExC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAEkB,cAAc;QAC7B,OAAO,IAAI,UAAG,CAAC,iBAAiB,IAAI,CAAC,UAAU,IAAI,8DAA4B,EAAE,CAAC,CAAC;IACvF,CAAC;IAES,YAAY,CAAC,KAAa;QAChC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,OAAO,GAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;YAEpG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAES,YAAY;QAClB,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEkB,QAAQ;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;;AArDQ,4CAAgB;AAIN;IADlB,IAAA,kBAAM,EAAC,sBAAc,CAAC;IAAE,IAAA,oBAAQ,GAAE;;8CACiB;AAGxB;IAD3B,IAAA,kBAAM,EAAC,+BAAuB,CAAC;IAAE,IAAA,oBAAQ,GAAE;;uDACmC;AAM5D;IADlB,IAAA,yBAAa,GAAE;;;;4CAmBf;2BA/BQ,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;GACA,gBAAgB,CAsD5B"}
1
+ {"version":3,"file":"ask-ai-input-widget.js","sourceRoot":"","sources":["../../src/browser/ask-ai-input-widget.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@theia/ai-editor",
3
- "version": "1.69.0-next.81+133d29003",
3
+ "version": "1.69.0",
4
4
  "description": "Theia - AI Editor",
5
5
  "dependencies": {
6
- "@theia/ai-chat": "1.69.0-next.81+133d29003",
7
- "@theia/ai-chat-ui": "1.69.0-next.81+133d29003",
8
- "@theia/ai-core": "1.69.0-next.81+133d29003",
9
- "@theia/core": "1.69.0-next.81+133d29003",
10
- "@theia/editor": "1.69.0-next.81+133d29003",
11
- "@theia/filesystem": "1.69.0-next.81+133d29003",
12
- "@theia/monaco": "1.69.0-next.81+133d29003",
6
+ "@theia/ai-chat": "1.69.0",
7
+ "@theia/ai-chat-ui": "1.69.0",
8
+ "@theia/ai-core": "1.69.0",
9
+ "@theia/core": "1.69.0",
10
+ "@theia/editor": "1.69.0",
11
+ "@theia/filesystem": "1.69.0",
12
+ "@theia/monaco": "1.69.0",
13
13
  "@theia/monaco-editor-core": "1.96.302",
14
- "@theia/workspace": "1.69.0-next.81+133d29003"
14
+ "@theia/workspace": "1.69.0"
15
15
  },
16
16
  "main": "lib/common",
17
17
  "publishConfig": {
@@ -49,10 +49,10 @@
49
49
  "watch": "theiaext watch"
50
50
  },
51
51
  "devDependencies": {
52
- "@theia/ext-scripts": "1.68.0"
52
+ "@theia/ext-scripts": "1.69.0"
53
53
  },
54
54
  "nyc": {
55
55
  "extends": "../../configs/nyc.json"
56
56
  },
57
- "gitHead": "133d2900327d4b281bba00e3bf9419d8f0d41e0a"
57
+ "gitHead": "3b413470b0f990dc0d6e4287da02a6b6e21d3239"
58
58
  }
@@ -48,7 +48,8 @@ export default new ContainerModule(bind => {
48
48
  showContext: true,
49
49
  showPinnedAgent: true,
50
50
  showChangeSet: false,
51
- showSuggestions: false
51
+ showSuggestions: false,
52
+ showCapabilities: false
52
53
  } satisfies AskAIInputConfiguration);
53
54
  container.bind(AskAIInputWidget).toSelf().inSingletonScope();
54
55
  return container.get(AskAIInputWidget);
@@ -14,7 +14,7 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { ChatRequest, MutableChatModel } from '@theia/ai-chat';
17
+ import { ChatAgentLocation, ChatRequest, MutableChatModel } from '@theia/ai-chat';
18
18
  import { AIChatInputConfiguration, AIChatInputWidget } from '@theia/ai-chat-ui/lib/browser/chat-input-widget';
19
19
  import { CHAT_VIEW_LANGUAGE_EXTENSION } from '@theia/ai-chat-ui/lib/browser/chat-view-language-contribution';
20
20
  import { generateUuid, URI } from '@theia/core';
@@ -61,8 +61,8 @@ export class AskAIInputWidget extends AIChatInputWidget {
61
61
  this.onDeleteChangeSet = noOp;
62
62
  this.onDeleteChangeSetElement = noOp;
63
63
 
64
- // Create a temporary chat model for the widget
65
- this.chatModel = new MutableChatModel();
64
+ // Create a standalone chat model for the widget (no session needed)
65
+ this.chatModel = new MutableChatModel(ChatAgentLocation.Editor);
66
66
 
67
67
  this.setEnabled(true);
68
68
  this.onQuery = this.handleSubmit.bind(this);
@@ -73,10 +73,14 @@ export class AskAIInputWidget extends AIChatInputWidget {
73
73
  return new URI(`ask-ai:/input-${this.resourceId}.${CHAT_VIEW_LANGUAGE_EXTENSION}`);
74
74
  }
75
75
 
76
- protected handleSubmit(query: string): Promise<void> {
76
+ protected handleSubmit(query: string, mode?: string): Promise<void> {
77
77
  const userInput = query.trim();
78
78
  if (userInput) {
79
- const request: ChatRequest = { text: userInput, variables: this._chatModel.context.getVariables() };
79
+ const request: ChatRequest = {
80
+ text: userInput,
81
+ variables: this._chatModel.context.getVariables(),
82
+ modeId: mode
83
+ };
80
84
 
81
85
  this.args?.onSubmit(request);
82
86
  }
@@ -90,4 +94,41 @@ export class AskAIInputWidget extends AIChatInputWidget {
90
94
  protected override onEscape(): void {
91
95
  this.handleCancel();
92
96
  }
97
+
98
+ /**
99
+ * Override to detect receiving agent without requiring a chat session.
100
+ * This implementation bypasses the session-based pinned agent logic since
101
+ * Ask AI dialogs are ephemeral and don't support agent pinning.
102
+ */
103
+ protected override async updateReceivingAgent(): Promise<void> {
104
+ if (!this.editorRef || !this._chatModel) {
105
+ if (this.receivingAgent !== undefined) {
106
+ this.chatInputReceivingAgentKey.set('');
107
+ this.chatInputHasModesKey.set(false);
108
+ this.receivingAgent = undefined;
109
+ this.update();
110
+ }
111
+ return;
112
+ }
113
+
114
+ try {
115
+ const inputText = this.editorRef.getControl().getValue();
116
+ const request = { text: inputText };
117
+ const resolvedContext = { variables: [] };
118
+ const parsedRequest = await this.chatRequestParser.parseChatRequest(request, this._chatModel.location, resolvedContext);
119
+
120
+ // Get the agent directly without requiring a session
121
+ // Uses the parent's helper method with session=undefined
122
+ const agent = this.resolveAgentFromParsedRequest(parsedRequest);
123
+ this.updateAgentState(agent);
124
+ } catch (error) {
125
+ console.warn('Failed to determine receiving agent:', error);
126
+ if (this.receivingAgent !== undefined) {
127
+ this.chatInputReceivingAgentKey.set('');
128
+ this.chatInputHasModesKey.set(false);
129
+ this.receivingAgent = undefined;
130
+ this.update();
131
+ }
132
+ }
133
+ }
93
134
  }