@theia/ai-chat 1.62.1 → 1.63.0-next.24

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 (46) hide show
  1. package/lib/browser/ai-chat-frontend-module.d.ts.map +1 -1
  2. package/lib/browser/ai-chat-frontend-module.js +7 -1
  3. package/lib/browser/ai-chat-frontend-module.js.map +1 -1
  4. package/lib/browser/change-set-file-element.d.ts +9 -6
  5. package/lib/browser/change-set-file-element.d.ts.map +1 -1
  6. package/lib/browser/change-set-file-element.js +27 -14
  7. package/lib/browser/change-set-file-element.js.map +1 -1
  8. package/lib/browser/change-set-variable.js +1 -2
  9. package/lib/browser/change-set-variable.js.map +1 -1
  10. package/lib/browser/chat-tool-preferences.d.ts +54 -0
  11. package/lib/browser/chat-tool-preferences.d.ts.map +1 -0
  12. package/lib/browser/chat-tool-preferences.js +170 -0
  13. package/lib/browser/chat-tool-preferences.js.map +1 -0
  14. package/lib/browser/chat-tool-request-service.d.ts +20 -0
  15. package/lib/browser/chat-tool-request-service.d.ts.map +1 -0
  16. package/lib/browser/chat-tool-request-service.js +89 -0
  17. package/lib/browser/chat-tool-request-service.js.map +1 -0
  18. package/lib/browser/frontend-chat-service.d.ts.map +1 -1
  19. package/lib/browser/frontend-chat-service.js +2 -6
  20. package/lib/browser/frontend-chat-service.js.map +1 -1
  21. package/lib/common/change-set.d.ts +78 -0
  22. package/lib/common/change-set.d.ts.map +1 -0
  23. package/lib/common/change-set.js +133 -0
  24. package/lib/common/change-set.js.map +1 -0
  25. package/lib/common/chat-agents.d.ts.map +1 -1
  26. package/lib/common/chat-agents.js +4 -1
  27. package/lib/common/chat-agents.js.map +1 -1
  28. package/lib/common/chat-model.d.ts +68 -80
  29. package/lib/common/chat-model.d.ts.map +1 -1
  30. package/lib/common/chat-model.js +224 -136
  31. package/lib/common/chat-model.js.map +1 -1
  32. package/lib/common/chat-service.d.ts +3 -3
  33. package/lib/common/chat-service.d.ts.map +1 -1
  34. package/lib/common/chat-service.js +5 -8
  35. package/lib/common/chat-service.js.map +1 -1
  36. package/package.json +10 -10
  37. package/src/browser/ai-chat-frontend-module.ts +8 -1
  38. package/src/browser/change-set-file-element.ts +33 -21
  39. package/src/browser/change-set-variable.ts +1 -1
  40. package/src/browser/chat-tool-preferences.ts +178 -0
  41. package/src/browser/chat-tool-request-service.ts +93 -0
  42. package/src/browser/frontend-chat-service.ts +3 -6
  43. package/src/common/change-set.ts +197 -0
  44. package/src/common/chat-agents.ts +15 -11
  45. package/src/common/chat-model.ts +249 -207
  46. package/src/common/chat-service.ts +6 -9
@@ -1 +1 @@
1
- {"version":3,"file":"ai-chat-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAoC/D,wBAiFG"}
1
+ {"version":3,"file":"ai-chat-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAsC/D,wBAsFG"}
@@ -24,11 +24,13 @@ const chat_agents_variable_contribution_1 = require("../common/chat-agents-varia
24
24
  const custom_chat_agent_1 = require("../common/custom-chat-agent");
25
25
  const response_content_matcher_1 = require("../common/response-content-matcher");
26
26
  const ai_chat_preferences_1 = require("./ai-chat-preferences");
27
+ const chat_tool_preferences_1 = require("./chat-tool-preferences");
27
28
  const change_set_file_element_1 = require("./change-set-file-element");
28
29
  const custom_agent_frontend_application_contribution_1 = require("./custom-agent-frontend-application-contribution");
29
30
  const frontend_chat_service_1 = require("./frontend-chat-service");
30
31
  const custom_agent_factory_1 = require("./custom-agent-factory");
31
32
  const chat_tool_request_service_1 = require("../common/chat-tool-request-service");
33
+ const chat_tool_request_service_2 = require("./chat-tool-request-service");
32
34
  const change_set_file_service_1 = require("./change-set-file-service");
33
35
  const context_variable_label_provider_1 = require("./context-variable-label-provider");
34
36
  const context_file_variable_label_provider_1 = require("./context-file-variable-label-provider");
@@ -47,7 +49,8 @@ const ai_chat_frontend_contribution_1 = require("./ai-chat-frontend-contribution
47
49
  exports.default = new inversify_1.ContainerModule(bind => {
48
50
  (0, core_1.bindContributionProvider)(bind, common_1.Agent);
49
51
  (0, core_1.bindContributionProvider)(bind, common_2.ChatAgent);
50
- bind(chat_tool_request_service_1.ChatToolRequestService).toSelf().inSingletonScope();
52
+ bind(chat_tool_request_service_2.FrontendChatToolRequestService).toSelf().inSingletonScope();
53
+ bind(chat_tool_request_service_1.ChatToolRequestService).toService(chat_tool_request_service_2.FrontendChatToolRequestService);
51
54
  bind(common_2.ChatAgentServiceImpl).toSelf().inSingletonScope();
52
55
  bind(common_2.ChatAgentService).toService(common_2.ChatAgentServiceImpl);
53
56
  bind(common_2.PinChatAgent).toConstantValue(true);
@@ -64,6 +67,9 @@ exports.default = new inversify_1.ContainerModule(bind => {
64
67
  bind(frontend_chat_service_1.FrontendChatServiceImpl).toSelf().inSingletonScope();
65
68
  bind(common_2.ChatService).toService(frontend_chat_service_1.FrontendChatServiceImpl);
66
69
  bind(browser_1.PreferenceContribution).toConstantValue({ schema: ai_chat_preferences_1.aiChatPreferences });
70
+ // Tool confirmation preferences
71
+ (0, chat_tool_preferences_1.bindChatToolPreferences)(bind);
72
+ bind(chat_tool_preferences_1.ToolConfirmationManager).toSelf().inSingletonScope();
67
73
  bind(custom_chat_agent_1.CustomChatAgent).toSelf();
68
74
  bind(custom_agent_factory_1.CustomAgentFactory).toFactory(ctx => (id, name, description, prompt, defaultLLM) => {
69
75
  const agent = ctx.container.get(custom_chat_agent_1.CustomChatAgent);
@@ -1 +1 @@
1
- {"version":3,"file":"ai-chat-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-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,sDAAwF;AACxF,sCAA4E;AAC5E,qDAA6H;AAC7H,4DAA+D;AAC/D,sCASmB;AACnB,mGAA6F;AAC7F,mEAA8D;AAC9D,iFAA0J;AAC1J,+DAA0D;AAC1D,uEAAoH;AACpH,qHAAiH;AACjH,mEAAkE;AAClE,iEAA4D;AAC5D,mFAA6E;AAC7E,uEAAiE;AACjE,uFAAiF;AACjF,iGAA0F;AAC1F,uFAAiF;AACjF,iFAAwF;AACxF,iFAAwF;AACxF,+DAAsE;AACtE,uFAAyG;AACzG,iFAA+F;AAC/F,qFAA+E;AAC/E,6FAAuF;AACvF,iGAA0F;AAC1F,iEAAuF;AACvF,iFAA4E;AAC5E,mFAA6E;AAE7E,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAA,+BAAwB,EAAC,IAAI,EAAE,cAAK,CAAC,CAAC;IACtC,IAAA,+BAAwB,EAAC,IAAI,EAAE,kBAAS,CAAC,CAAC;IAE1C,IAAI,CAAC,kDAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAEzD,IAAI,CAAC,6BAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,yBAAgB,CAAC,CAAC,SAAS,CAAC,6BAAoB,CAAC,CAAC;IACvD,IAAI,CAAC,qBAAY,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAEzC,IAAI,CAAC,sDAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,oDAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzD,IAAI,CAAC,cAAK,CAAC,CAAC,SAAS,CAAC,oDAAsB,CAAC,CAAC;IAE9C,IAAA,+BAAwB,EAAC,IAAI,EAAE,yDAA8B,CAAC,CAAC;IAC/D,IAAI,CAAC,gEAAqC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxE,IAAI,CAAC,yDAA8B,CAAC,CAAC,SAAS,CAAC,gEAAqC,CAAC,CAAC;IACtF,IAAI,CAAC,wDAA6B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAEhE,IAAI,CAAC,+BAAsB,CAAC,CAAC,EAAE,CAAC,kEAA8B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEnF,IAAI,CAAC,8BAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxD,IAAI,CAAC,0BAAiB,CAAC,CAAC,SAAS,CAAC,8BAAqB,CAAC,CAAC;IAEzD,IAAI,CAAC,+CAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAI,CAAC,oBAAW,CAAC,CAAC,SAAS,CAAC,+CAAuB,CAAC,CAAC;IAErD,IAAI,CAAC,gCAAsB,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,uCAAiB,EAAE,CAAC,CAAC;IAE5E,IAAI,CAAC,mCAAe,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,IAAI,CAAC,yCAAkB,CAAC,CAAC,SAAS,CAC9B,GAAG,CAAC,EAAE,CAAC,CAAC,EAAU,EAAE,IAAY,EAAE,WAAmB,EAAE,MAAc,EAAE,UAAkB,EAAE,EAAE;QACzF,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAkB,mCAAe,CAAC,CAAC;QAClE,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAChC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,KAAK,CAAC,yBAAyB,GAAG,CAAC;gBAC/B,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,UAAU;aACzB,CAAC,CAAC;QACH,GAAG,CAAC,SAAS,CAAC,GAAG,CAAmB,yBAAgB,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC/E,GAAG,CAAC,SAAS,CAAC,GAAG,CAAe,qBAAY,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;IACP,IAAI,CAAC,yCAA+B,CAAC,CAAC,EAAE,CAAC,8FAA6C,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAE3G,IAAI,CAAC,8DAA4B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC/D,IAAI,CAAC,mCAAyB,CAAC,CAAC,SAAS,CAAC,8DAA4B,CAAC,CAAC;IACxE,IAAI,CAAC,uEAAgC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnE,IAAI,CAAC,mCAAyB,CAAC,CAAC,SAAS,CAAC,uEAAgC,CAAC,CAAC;IAE5E,IAAI,CAAC,8CAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,qDAA2B,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAA0B,EAAE,EAAE;QAC9E,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC9C,SAAS,CAAC,IAAI,CAAC,8CAAoB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3D,SAAS,CAAC,IAAI,CAAC,8CAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC,GAAG,CAAC,8CAAoB,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wDAAyB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5D,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,wDAAyB,CAAC,CAAC;IAC3E,IAAA,+BAAwB,EAAC,IAAI,EAAE,iDAAkB,CAAC,CAAC;IACnD,IAAI,CAAC,2CAAkC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrE,IAAI,CAAC,+BAAsB,CAAC,CAAC,EAAE,CAAC,8DAA4B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACjF,IAAI,CAAC,+BAAsB,CAAC,CAAC,EAAE,CAAC,6DAAkC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvF,IAAI,CAAC,+BAAsB,CAAC,CAAC,EAAE,CAAC,6DAAkC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvF,IAAI,CAAC,+BAAsB,CAAC,CAAC,EAAE,CAAC,mDAA6B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAElF,IAAI,CAAC,oDAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAI,CAAC,cAAK,CAAC,CAAC,SAAS,CAAC,oDAAuB,CAAC,CAAC;IAC/C,IAAI,CAAC,oEAA+B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAClE,IAAI,CAAC,+BAAsB,CAAC,CAAC,SAAS,CAAC,oEAA+B,CAAC,CAAC;IACxE,IAAI,CAAC,uEAAgC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnE,IAAI,CAAC,mCAAyB,CAAC,CAAC,SAAS,CAAC,uEAAgC,CAAC,CAAC;IAE5E,IAAI,CAAC,yCAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrD,IAAI,CAAC,yDAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,IAAI,CAAC,gDAAyB,CAAC,CAAC,SAAS,CAAC,yDAA0B,CAAC,CAAC;IACtE,IAAI,CAAC,0DAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,IAAI,CAAC,0BAAmB,CAAC,CAAC,SAAS,CAAC,0DAA0B,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ai-chat-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { DisposableCollection, Emitter, URI } from '@theia/core';
2
2
  import { Replacement } from '@theia/core/lib/common/content-replacer';
3
3
  import { ConfigurableInMemoryResources, ConfigurableMutableReferenceResource } from '@theia/ai-core';
4
- import { ChangeSetElement, ChangeSetImpl } from '../common';
4
+ import { ChangeSetElement } from '../common';
5
5
  import { ChangeSetFileService } from './change-set-file-service';
6
6
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
7
7
  import { ChangeSetDecoratorService } from './change-set-decorator-service';
@@ -12,10 +12,10 @@ export declare const ChangeSetElementArgs: unique symbol;
12
12
  export interface ChangeSetElementArgs extends Partial<ChangeSetElement> {
13
13
  /** The URI of the element, expected to be unique within the same change set. */
14
14
  uri: URI;
15
- /** The change set containing this element. */
16
- changeSet: ChangeSetImpl;
17
15
  /** The id of the chat session containing this change set element. */
18
16
  chatSessionId: string;
17
+ /** The id of the request with which this change set element is associated. */
18
+ requestId: string;
19
19
  /**
20
20
  * The state of the file after the changes have been applied.
21
21
  * If `undefined`, there is no change.
@@ -34,20 +34,22 @@ export declare class ChangeSetFileElement implements ChangeSetElement {
34
34
  protected readonly changeSetDecoratorService: ChangeSetDecoratorService;
35
35
  protected readonly fileService: FileService;
36
36
  protected readonly inMemoryResources: ConfigurableInMemoryResources;
37
+ protected readonly factory: ChangeSetFileElementFactory;
37
38
  protected readonly toDispose: DisposableCollection;
38
39
  protected _state: ChangeSetElementState;
39
40
  protected originalContent: string | undefined;
40
41
  protected readonly onDidChangeEmitter: Emitter<void>;
41
42
  readonly onDidChange: import("@theia/core").Event<void>;
42
- protected readOnlyResource: ConfigurableMutableReferenceResource;
43
- protected changeResource: ConfigurableMutableReferenceResource;
43
+ protected _readOnlyResource: ConfigurableMutableReferenceResource;
44
+ protected _changeResource: ConfigurableMutableReferenceResource;
44
45
  init(): void;
45
46
  protected obtainOriginalContent(): Promise<void>;
46
- protected getResources(): void;
47
47
  protected getInMemoryUri(uri: URI): ConfigurableMutableReferenceResource;
48
48
  protected listenForOriginalFileChanges(): void;
49
49
  get uri(): URI;
50
+ protected get readOnlyResource(): ConfigurableMutableReferenceResource;
50
51
  get readOnlyUri(): URI;
52
+ protected get changeResource(): ConfigurableMutableReferenceResource;
51
53
  get changedUri(): URI;
52
54
  get name(): string;
53
55
  get icon(): string | undefined;
@@ -64,6 +66,7 @@ export declare class ChangeSetFileElement implements ChangeSetElement {
64
66
  openChange(): Promise<void>;
65
67
  apply(contents?: string): Promise<void>;
66
68
  writeChanges(contents?: string): Promise<void>;
69
+ onShow(): void;
67
70
  revert(): Promise<void>;
68
71
  confirm(verb: string): Promise<boolean>;
69
72
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"change-set-file-element.d.ts","sourceRoot":"","sources":["../../src/browser/change-set-file-element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-set-file-element.d.ts","sourceRoot":"","sources":["../../src/browser/change-set-file-element.ts"],"names":[],"mappings":"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"}
@@ -39,24 +39,12 @@ let ChangeSetFileElement = ChangeSetFileElement_1 = class ChangeSetFileElement {
39
39
  return baseUri.withScheme('change-set-immutable').withAuthority(sessionId);
40
40
  }
41
41
  init() {
42
- this.getResources();
43
- this.obtainOriginalContent();
44
- this.listenForOriginalFileChanges();
45
42
  this.toDispose.push(this.onDidChangeEmitter);
46
43
  }
47
44
  async obtainOriginalContent() {
48
45
  var _a;
49
46
  this.originalContent = await this.changeSetFileService.read(this.uri);
50
47
  this.readOnlyResource.update({ contents: (_a = this.originalContent) !== null && _a !== void 0 ? _a : '' });
51
- if (this.state === 'applied') {
52
- }
53
- }
54
- getResources() {
55
- this.readOnlyResource = this.getInMemoryUri(this.readOnlyUri);
56
- this.readOnlyResource.update({ autosaveable: false, readOnly: true });
57
- this.changeResource = this.getInMemoryUri(this.changedUri);
58
- this.changeResource.update({ contents: this.targetState, onSave: content => this.writeChanges(content), autosaveable: false });
59
- this.toDispose.pushAll([this.readOnlyResource, this.changeResource]);
60
48
  }
61
49
  getInMemoryUri(uri) {
62
50
  try {
@@ -88,11 +76,29 @@ let ChangeSetFileElement = ChangeSetFileElement_1 = class ChangeSetFileElement {
88
76
  get uri() {
89
77
  return this.elementProps.uri;
90
78
  }
79
+ get readOnlyResource() {
80
+ if (!this._readOnlyResource) {
81
+ this._readOnlyResource = this.getInMemoryUri(ChangeSetFileElement_1.toReadOnlyUri(this.uri, this.elementProps.chatSessionId));
82
+ this._readOnlyResource.update({ autosaveable: false, readOnly: true });
83
+ this.toDispose.push(this._readOnlyResource);
84
+ this.obtainOriginalContent();
85
+ this.listenForOriginalFileChanges();
86
+ }
87
+ return this._readOnlyResource;
88
+ }
91
89
  get readOnlyUri() {
92
- return ChangeSetFileElement_1.toReadOnlyUri(this.uri, this.elementProps.chatSessionId);
90
+ return this.readOnlyResource.uri;
91
+ }
92
+ get changeResource() {
93
+ if (!this._changeResource) {
94
+ this._changeResource = this.getInMemoryUri((0, change_set_file_resource_1.createChangeSetFileUri)(this.elementProps.chatSessionId, this.uri));
95
+ this._changeResource.update({ autosaveable: false });
96
+ this.toDispose.push(this._changeResource);
97
+ }
98
+ return this._changeResource;
93
99
  }
94
100
  get changedUri() {
95
- return (0, change_set_file_resource_1.createChangeSetFileUri)(this.elementProps.chatSessionId, this.uri);
101
+ return this.changeResource.uri;
96
102
  }
97
103
  get name() {
98
104
  var _a;
@@ -154,6 +160,9 @@ let ChangeSetFileElement = ChangeSetFileElement_1 = class ChangeSetFileElement {
154
160
  await this.changeSetFileService.writeFrom(this.changedUri, this.uri, contents !== null && contents !== void 0 ? contents : this.targetState);
155
161
  this.state = 'applied';
156
162
  }
163
+ onShow() {
164
+ this.changeResource.update({ contents: this.targetState, onSave: content => this.writeChanges(content) });
165
+ }
157
166
  async revert() {
158
167
  if (!await this.confirm('Revert')) {
159
168
  return;
@@ -202,6 +211,10 @@ tslib_1.__decorate([
202
211
  (0, inversify_1.inject)(ai_core_1.ConfigurableInMemoryResources),
203
212
  tslib_1.__metadata("design:type", ai_core_1.ConfigurableInMemoryResources)
204
213
  ], ChangeSetFileElement.prototype, "inMemoryResources", void 0);
214
+ tslib_1.__decorate([
215
+ (0, inversify_1.inject)(exports.ChangeSetFileElementFactory),
216
+ tslib_1.__metadata("design:type", Function)
217
+ ], ChangeSetFileElement.prototype, "factory", void 0);
205
218
  tslib_1.__decorate([
206
219
  (0, inversify_1.postConstruct)(),
207
220
  tslib_1.__metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"change-set-file-element.js","sourceRoot":"","sources":["../../src/browser/change-set-file-element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-set-file-element.js","sourceRoot":"","sources":["../../src/browser/change-set-file-element.ts"],"names":[],"mappings":"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"}
@@ -34,11 +34,10 @@ let ChangeSetVariableContribution = class ChangeSetVariableContribution {
34
34
  return request.variable.name === exports.CHANGE_SET_SUMMARY_VARIABLE.name ? 50 : 0;
35
35
  }
36
36
  async resolve(request, context) {
37
- var _a;
38
37
  if (!common_1.ChatSessionContext.is(context) || request.variable.name !== exports.CHANGE_SET_SUMMARY_VARIABLE.name) {
39
38
  return undefined;
40
39
  }
41
- if (!((_a = context.model.changeSet) === null || _a === void 0 ? void 0 : _a.getElements().length)) {
40
+ if (!context.model.changeSet.getElements().length) {
42
41
  return {
43
42
  variable: exports.CHANGE_SET_SUMMARY_VARIABLE,
44
43
  value: ''
@@ -1 +1 @@
1
- {"version":3,"file":"change-set-variable.js","sourceRoot":"","sources":["../../src/browser/change-set-variable.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,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,sCAAgD;AAChD,4DAAkE;AAElE,0DAAgE;AAChE,sCAA+E;AAElE,QAAA,2BAA2B,GAAe;IACnD,EAAE,EAAE,uCAA8B;IAClC,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,oDAAoD,EAAE,qEAAqE,CAAC;IAEtJ,IAAI,EAAE,uCAA8B;CACvC,CAAC;AAGK,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAItC,iBAAiB,CAAC,OAA0B;QACxC,OAAO,CAAC,gBAAgB,CAAC,mCAA2B,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,UAAU,CAAC,OAAoC,EAAE,OAA0B;QACvE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,mCAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoC,EAAE,OAA0B;;QAC1E,IAAI,CAAC,2BAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,mCAA2B,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QACxH,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,KAAK,CAAC,SAAS,0CAAE,WAAW,GAAG,MAAM,CAAA,EAAE,CAAC;YACjD,OAAO;gBACH,QAAQ,EAAE,mCAA2B;gBACrC,KAAK,EAAE,EAAE;aACZ,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE,CAAC,WAAW,MAAM,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,KAAK,EAAE,CAAC,CACvK,CAAC;QACF,OAAO;YACH,QAAQ,EAAE,mCAA2B;YACrC,KAAK,EAAE;;EAEjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;CACnB;SACQ,CAAC;IACN,CAAC;CACJ,CAAA;AA/BY,sEAA6B;AAEnB;IADlB,IAAA,kBAAM,EAAC,0BAAgB,CAAC;sCACY,0BAAgB;uEAAC;wCAF7C,6BAA6B;IADzC,IAAA,sBAAU,GAAE;GACA,6BAA6B,CA+BzC"}
1
+ {"version":3,"file":"change-set-variable.js","sourceRoot":"","sources":["../../src/browser/change-set-variable.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,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,sCAAgD;AAChD,4DAAkE;AAElE,0DAAgE;AAChE,sCAA+E;AAElE,QAAA,2BAA2B,GAAe;IACnD,EAAE,EAAE,uCAA8B;IAClC,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,oDAAoD,EAAE,qEAAqE,CAAC;IAEtJ,IAAI,EAAE,uCAA8B;CACvC,CAAC;AAGK,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAItC,iBAAiB,CAAC,OAA0B;QACxC,OAAO,CAAC,gBAAgB,CAAC,mCAA2B,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,UAAU,CAAC,OAAoC,EAAE,OAA0B;QACvE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,mCAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoC,EAAE,OAA0B;QAC1E,IAAI,CAAC,2BAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,mCAA2B,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QACxH,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC;YAChD,OAAO;gBACH,QAAQ,EAAE,mCAA2B;gBACrC,KAAK,EAAE,EAAE;aACZ,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE,CAAC,WAAW,MAAM,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,KAAK,EAAE,CAAC,CACvK,CAAC;QACF,OAAO;YACH,QAAQ,EAAE,mCAA2B;YACrC,KAAK,EAAE;;EAEjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;CACnB;SACQ,CAAC;IACN,CAAC;CACJ,CAAA;AA/BY,sEAA6B;AAEnB;IADlB,IAAA,kBAAM,EAAC,0BAAgB,CAAC;sCACY,0BAAgB;uEAAC;wCAF7C,6BAA6B;IADzC,IAAA,sBAAU,GAAE;GACA,6BAA6B,CA+BzC"}
@@ -0,0 +1,54 @@
1
+ import { interfaces } from '@theia/core/shared/inversify';
2
+ import { PreferenceProxy, PreferenceService, PreferenceSchema } from '@theia/core/lib/browser/preferences';
3
+ /**
4
+ * Enum for tool confirmation modes
5
+ */
6
+ export declare enum ToolConfirmationMode {
7
+ YOLO = "yolo",
8
+ CONFIRM = "confirm",
9
+ DISABLED = "disabled"
10
+ }
11
+ export declare const TOOL_CONFIRMATION_PREFERENCE = "ai-features.chat.toolConfirmation";
12
+ export declare const chatToolPreferences: PreferenceSchema;
13
+ export interface ChatToolConfiguration {
14
+ [TOOL_CONFIRMATION_PREFERENCE]: {
15
+ [toolId: string]: ToolConfirmationMode;
16
+ };
17
+ }
18
+ export declare const ChatToolPreferenceContribution: unique symbol;
19
+ export declare const ChatToolPreferences: unique symbol;
20
+ export type ChatToolPreferences = PreferenceProxy<ChatToolConfiguration>;
21
+ export declare function createChatToolPreferences(preferences: PreferenceService, schema?: PreferenceSchema): ChatToolPreferences;
22
+ export declare function bindChatToolPreferences(bind: interfaces.Bind): void;
23
+ /**
24
+ * Utility class to manage tool confirmation settings
25
+ */
26
+ export declare class ToolConfirmationManager {
27
+ protected readonly preferences: ChatToolPreferences;
28
+ protected readonly preferenceService: PreferenceService;
29
+ protected sessionOverrides: Map<string, Map<string, ToolConfirmationMode>>;
30
+ /**
31
+ * Get the confirmation mode for a specific tool, considering session overrides first (per chat)
32
+ */
33
+ getConfirmationMode(toolId: string, chatId: string): ToolConfirmationMode;
34
+ /**
35
+ * Set the confirmation mode for a specific tool (persisted)
36
+ */
37
+ setConfirmationMode(toolId: string, mode: ToolConfirmationMode): void;
38
+ /**
39
+ * Set the confirmation mode for a specific tool for this session only (not persisted, per chat)
40
+ */
41
+ setSessionConfirmationMode(toolId: string, mode: ToolConfirmationMode, chatId: string): void;
42
+ /**
43
+ * Clear all session overrides for a specific chat, or all if no chatId is given
44
+ */
45
+ clearSessionOverrides(chatId?: string): void;
46
+ /**
47
+ * Get all tool confirmation settings
48
+ */
49
+ getAllConfirmationSettings(): {
50
+ [toolId: string]: ToolConfirmationMode;
51
+ };
52
+ resetAllConfirmationModeSettings(): void;
53
+ }
54
+ //# sourceMappingURL=chat-tool-preferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-tool-preferences.d.ts","sourceRoot":"","sources":["../../src/browser/chat-tool-preferences.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,UAAU,EAAsB,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAEH,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAEnB,MAAM,qCAAqC,CAAC;AAE7C;;GAEG;AACH,oBAAY,oBAAoB;IAC5B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,QAAQ,aAAa;CACxB;AAED,eAAO,MAAM,4BAA4B,sCAAsC,CAAC;AAEhF,eAAO,MAAM,mBAAmB,EAAE,gBAqBjC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IAClC,CAAC,4BAA4B,CAAC,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAC;CAC9E;AAED,eAAO,MAAM,8BAA8B,eAA2C,CAAC;AACvF,eAAO,MAAM,mBAAmB,eAAgC,CAAC;AACjE,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAAC;AAEzE,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,iBAAiB,EAAE,MAAM,GAAE,gBAAsC,GAAG,mBAAmB,CAE7I;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,IAAI,CAQnE;AAED;;GAEG;AACH,qBACa,uBAAuB;IAEhC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAa;IAEvF;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,oBAAoB;IAezE;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAqBrE;;OAEG;IACH,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5F;;OAEG;IACH,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ5C;;OAEG;IACH,0BAA0B,IAAI;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE;IAIxE,gCAAgC,IAAI,IAAI;CAQ3C"}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 EclipseSource GmbH.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ToolConfirmationManager = exports.bindChatToolPreferences = exports.createChatToolPreferences = exports.ChatToolPreferences = exports.ChatToolPreferenceContribution = exports.chatToolPreferences = exports.TOOL_CONFIRMATION_PREFERENCE = exports.ToolConfirmationMode = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const ai_core_preferences_1 = require("@theia/ai-core/lib/browser/ai-core-preferences");
21
+ const core_1 = require("@theia/core");
22
+ const inversify_1 = require("@theia/core/shared/inversify");
23
+ const preferences_1 = require("@theia/core/lib/browser/preferences");
24
+ /**
25
+ * Enum for tool confirmation modes
26
+ */
27
+ var ToolConfirmationMode;
28
+ (function (ToolConfirmationMode) {
29
+ ToolConfirmationMode["YOLO"] = "yolo";
30
+ ToolConfirmationMode["CONFIRM"] = "confirm";
31
+ ToolConfirmationMode["DISABLED"] = "disabled";
32
+ })(ToolConfirmationMode || (exports.ToolConfirmationMode = ToolConfirmationMode = {}));
33
+ exports.TOOL_CONFIRMATION_PREFERENCE = 'ai-features.chat.toolConfirmation';
34
+ exports.chatToolPreferences = {
35
+ type: 'object',
36
+ properties: {
37
+ [exports.TOOL_CONFIRMATION_PREFERENCE]: {
38
+ type: 'object',
39
+ additionalProperties: {
40
+ type: 'string',
41
+ enum: [ToolConfirmationMode.YOLO, ToolConfirmationMode.CONFIRM, ToolConfirmationMode.DISABLED],
42
+ enumDescriptions: [
43
+ core_1.nls.localize('theia/ai/chat/toolConfirmation/yolo/description', 'Execute tools automatically without confirmation'),
44
+ core_1.nls.localize('theia/ai/chat/toolConfirmation/confirm/description', 'Ask for confirmation before executing tools'),
45
+ core_1.nls.localize('theia/ai/chat/toolConfirmation/disabled/description', 'Disable tool execution')
46
+ ]
47
+ },
48
+ default: {},
49
+ description: core_1.nls.localize('theia/ai/chat/toolConfirmation/description', 'Configure confirmation behavior for different tools. Key is the tool ID, value is the confirmation mode.' +
50
+ 'Use "*" as the key to set a global default for all tools.'),
51
+ title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
52
+ }
53
+ }
54
+ };
55
+ exports.ChatToolPreferenceContribution = Symbol('ChatToolPreferenceContribution');
56
+ exports.ChatToolPreferences = Symbol('ChatToolPreferences');
57
+ function createChatToolPreferences(preferences, schema = exports.chatToolPreferences) {
58
+ return (0, preferences_1.createPreferenceProxy)(preferences, schema);
59
+ }
60
+ exports.createChatToolPreferences = createChatToolPreferences;
61
+ function bindChatToolPreferences(bind) {
62
+ bind(exports.ChatToolPreferences).toDynamicValue((ctx) => {
63
+ const preferences = ctx.container.get(preferences_1.PreferenceService);
64
+ const contribution = ctx.container.get(exports.ChatToolPreferenceContribution);
65
+ return createChatToolPreferences(preferences, contribution.schema);
66
+ }).inSingletonScope();
67
+ bind(exports.ChatToolPreferenceContribution).toConstantValue({ schema: exports.chatToolPreferences });
68
+ bind(preferences_1.PreferenceContribution).toService(exports.ChatToolPreferenceContribution);
69
+ }
70
+ exports.bindChatToolPreferences = bindChatToolPreferences;
71
+ /**
72
+ * Utility class to manage tool confirmation settings
73
+ */
74
+ let ToolConfirmationManager = class ToolConfirmationManager {
75
+ constructor() {
76
+ // In-memory session overrides (not persisted), per chat
77
+ this.sessionOverrides = new Map();
78
+ }
79
+ /**
80
+ * Get the confirmation mode for a specific tool, considering session overrides first (per chat)
81
+ */
82
+ getConfirmationMode(toolId, chatId) {
83
+ const chatMap = this.sessionOverrides.get(chatId);
84
+ if (chatMap && chatMap.has(toolId)) {
85
+ return chatMap.get(toolId);
86
+ }
87
+ const toolConfirmation = this.preferences[exports.TOOL_CONFIRMATION_PREFERENCE];
88
+ if (toolConfirmation[toolId]) {
89
+ return toolConfirmation[toolId];
90
+ }
91
+ if (toolConfirmation['*']) {
92
+ return toolConfirmation['*'];
93
+ }
94
+ return ToolConfirmationMode.YOLO; // Default to YOLO
95
+ }
96
+ /**
97
+ * Set the confirmation mode for a specific tool (persisted)
98
+ */
99
+ setConfirmationMode(toolId, mode) {
100
+ const current = this.preferences[exports.TOOL_CONFIRMATION_PREFERENCE] || {};
101
+ // Determine the global default (star entry), or fallback to schema default
102
+ let starMode = current['*'];
103
+ if (starMode === undefined) {
104
+ starMode = ToolConfirmationMode.YOLO;
105
+ }
106
+ if (mode === starMode) {
107
+ // Remove the toolId entry if it exists
108
+ if (toolId in current) {
109
+ const { [toolId]: _, ...rest } = current;
110
+ this.preferenceService.updateValue(exports.TOOL_CONFIRMATION_PREFERENCE, rest);
111
+ }
112
+ // else, nothing to update
113
+ }
114
+ else {
115
+ // Set or update the toolId entry
116
+ const updated = { ...current, [toolId]: mode };
117
+ this.preferenceService.updateValue(exports.TOOL_CONFIRMATION_PREFERENCE, updated);
118
+ }
119
+ }
120
+ /**
121
+ * Set the confirmation mode for a specific tool for this session only (not persisted, per chat)
122
+ */
123
+ setSessionConfirmationMode(toolId, mode, chatId) {
124
+ let chatMap = this.sessionOverrides.get(chatId);
125
+ if (!chatMap) {
126
+ chatMap = new Map();
127
+ this.sessionOverrides.set(chatId, chatMap);
128
+ }
129
+ chatMap.set(toolId, mode);
130
+ }
131
+ /**
132
+ * Clear all session overrides for a specific chat, or all if no chatId is given
133
+ */
134
+ clearSessionOverrides(chatId) {
135
+ if (chatId) {
136
+ this.sessionOverrides.delete(chatId);
137
+ }
138
+ else {
139
+ this.sessionOverrides.clear();
140
+ }
141
+ }
142
+ /**
143
+ * Get all tool confirmation settings
144
+ */
145
+ getAllConfirmationSettings() {
146
+ return this.preferences[exports.TOOL_CONFIRMATION_PREFERENCE] || {};
147
+ }
148
+ resetAllConfirmationModeSettings() {
149
+ const current = this.preferences[exports.TOOL_CONFIRMATION_PREFERENCE] || {};
150
+ if ('*' in current) {
151
+ this.preferenceService.updateValue(exports.TOOL_CONFIRMATION_PREFERENCE, { '*': current['*'] });
152
+ }
153
+ else {
154
+ this.preferenceService.updateValue(exports.TOOL_CONFIRMATION_PREFERENCE, {});
155
+ }
156
+ }
157
+ };
158
+ exports.ToolConfirmationManager = ToolConfirmationManager;
159
+ tslib_1.__decorate([
160
+ (0, inversify_1.inject)(exports.ChatToolPreferences),
161
+ tslib_1.__metadata("design:type", Object)
162
+ ], ToolConfirmationManager.prototype, "preferences", void 0);
163
+ tslib_1.__decorate([
164
+ (0, inversify_1.inject)(preferences_1.PreferenceService),
165
+ tslib_1.__metadata("design:type", Object)
166
+ ], ToolConfirmationManager.prototype, "preferenceService", void 0);
167
+ exports.ToolConfirmationManager = ToolConfirmationManager = tslib_1.__decorate([
168
+ (0, inversify_1.injectable)()
169
+ ], ToolConfirmationManager);
170
+ //# sourceMappingURL=chat-tool-preferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-tool-preferences.js","sourceRoot":"","sources":["../../src/browser/chat-tool-preferences.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { ToolRequest } from '@theia/ai-core';
2
+ import { ChatToolRequestService, ChatToolRequest } from '../common/chat-tool-request-service';
3
+ import { MutableChatRequestModel, ToolCallChatResponseContent } from '../common/chat-model';
4
+ import { ToolConfirmationManager, ChatToolPreferences } from './chat-tool-preferences';
5
+ /**
6
+ * Frontend-specific implementation of ChatToolRequestService that handles tool confirmation
7
+ */
8
+ export declare class FrontendChatToolRequestService extends ChatToolRequestService {
9
+ protected readonly confirmationManager: ToolConfirmationManager;
10
+ protected readonly preferences: ChatToolPreferences;
11
+ protected toChatToolRequest(toolRequest: ToolRequest, request: MutableChatRequestModel): ChatToolRequest;
12
+ /**
13
+ * Find existing tool call content or create a new one for confirmation tracking
14
+ *
15
+ * Looks for ToolCallChatResponseContent nodes where the name field matches the toolRequest id.
16
+ * Starts from the back of the content array to find the most recent match.
17
+ */
18
+ protected findToolCallContent(toolRequest: ToolRequest, arguments_: string, request: MutableChatRequestModel): ToolCallChatResponseContent;
19
+ }
20
+ //# sourceMappingURL=chat-tool-request-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-tool-request-service.d.ts","sourceRoot":"","sources":["../../src/browser/chat-tool-request-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,uBAAuB,EAAwB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE7G;;GAEG;AACH,qBACa,8BAA+B,SAAQ,sBAAsB;IAGtE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;cAEjC,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,GAAG,eAAe;IAgCjH;;;;;OAKG;IACH,SAAS,CAAC,mBAAmB,CACzB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,uBAAuB,GACjC,2BAA2B;CAgBjC"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 EclipseSource GmbH.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.FrontendChatToolRequestService = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const chat_tool_request_service_1 = require("../common/chat-tool-request-service");
22
+ const chat_model_1 = require("../common/chat-model");
23
+ const chat_tool_preferences_1 = require("./chat-tool-preferences");
24
+ /**
25
+ * Frontend-specific implementation of ChatToolRequestService that handles tool confirmation
26
+ */
27
+ let FrontendChatToolRequestService = class FrontendChatToolRequestService extends chat_tool_request_service_1.ChatToolRequestService {
28
+ toChatToolRequest(toolRequest, request) {
29
+ const confirmationMode = this.confirmationManager.getConfirmationMode(toolRequest.id, request.session.id);
30
+ return {
31
+ ...toolRequest,
32
+ handler: async (arg_string) => {
33
+ switch (confirmationMode) {
34
+ case chat_tool_preferences_1.ToolConfirmationMode.DISABLED:
35
+ return { denied: true, message: `Tool ${toolRequest.id} is disabled` };
36
+ case chat_tool_preferences_1.ToolConfirmationMode.YOLO:
37
+ // Execute immediately without confirmation
38
+ return toolRequest.handler(arg_string, request);
39
+ case chat_tool_preferences_1.ToolConfirmationMode.CONFIRM:
40
+ default:
41
+ // Create confirmation requirement
42
+ const toolCallContent = this.findToolCallContent(toolRequest, arg_string, request);
43
+ const confirmed = await toolCallContent.confirmed;
44
+ if (confirmed) {
45
+ return toolRequest.handler(arg_string, request);
46
+ }
47
+ else {
48
+ // Return an object indicating the user denied the tool execution
49
+ // instead of throwing an error
50
+ return { denied: true, message: `Tool execution denied by user: ${toolRequest.id}` };
51
+ }
52
+ }
53
+ }
54
+ };
55
+ }
56
+ /**
57
+ * Find existing tool call content or create a new one for confirmation tracking
58
+ *
59
+ * Looks for ToolCallChatResponseContent nodes where the name field matches the toolRequest id.
60
+ * Starts from the back of the content array to find the most recent match.
61
+ */
62
+ findToolCallContent(toolRequest, arguments_, request) {
63
+ // Look for existing tool call content with matching ID
64
+ const response = request.response.response;
65
+ const contentArray = response.content;
66
+ // Start from the end of the array and find the first match
67
+ for (let i = contentArray.length - 1; i >= 0; i--) {
68
+ const content = contentArray[i];
69
+ if (chat_model_1.ToolCallChatResponseContent.is(content) &&
70
+ content.name === toolRequest.id) {
71
+ return content;
72
+ }
73
+ }
74
+ throw new Error(`Tool call content for tool ${toolRequest.id} not found in the response`);
75
+ }
76
+ };
77
+ exports.FrontendChatToolRequestService = FrontendChatToolRequestService;
78
+ tslib_1.__decorate([
79
+ (0, inversify_1.inject)(chat_tool_preferences_1.ToolConfirmationManager),
80
+ tslib_1.__metadata("design:type", chat_tool_preferences_1.ToolConfirmationManager)
81
+ ], FrontendChatToolRequestService.prototype, "confirmationManager", void 0);
82
+ tslib_1.__decorate([
83
+ (0, inversify_1.inject)(chat_tool_preferences_1.ChatToolPreferences),
84
+ tslib_1.__metadata("design:type", Object)
85
+ ], FrontendChatToolRequestService.prototype, "preferences", void 0);
86
+ exports.FrontendChatToolRequestService = FrontendChatToolRequestService = tslib_1.__decorate([
87
+ (0, inversify_1.injectable)()
88
+ ], FrontendChatToolRequestService);
89
+ //# sourceMappingURL=chat-tool-request-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-tool-request-service.js","sourceRoot":"","sources":["../../src/browser/chat-tool-request-service.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;;;;AAGhF,4DAAkE;AAClE,mFAA8F;AAC9F,qDAA4F;AAC5F,mEAA6G;AAE7G;;GAEG;AAEI,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,kDAAsB;IAQnD,iBAAiB,CAAC,WAAwB,EAAE,OAAgC;QAC3F,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE1G,OAAO;YACH,GAAG,WAAW;YACd,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,EAAE;gBAClC,QAAQ,gBAAgB,EAAE,CAAC;oBACvB,KAAK,4CAAoB,CAAC,QAAQ;wBAC9B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;oBAE3E,KAAK,4CAAoB,CAAC,IAAI;wBAC1B,2CAA2C;wBAC3C,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBAEpD,KAAK,4CAAoB,CAAC,OAAO,CAAC;oBAClC;wBACI,kCAAkC;wBAClC,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;wBACnF,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC;wBAElD,IAAI,SAAS,EAAE,CAAC;4BACZ,OAAO,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;wBACpD,CAAC;6BAAM,CAAC;4BACJ,iEAAiE;4BACjE,+BAA+B;4BAC/B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,kCAAkC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC;wBACzF,CAAC;gBACT,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACO,mBAAmB,CACzB,WAAwB,EACxB,UAAkB,EAClB,OAAgC;QAEhC,uDAAuD;QACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC3C,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;QAEtC,2DAA2D;QAC3D,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,wCAA2B,CAAC,EAAE,CAAC,OAAO,CAAC;gBACvC,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,EAAE,CAAC;gBAClC,OAAO,OAAO,CAAC;YACnB,CAAC;QACL,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,8BAA8B,WAAW,CAAC,EAAE,4BAA4B,CAAC,CAAC;IAC9F,CAAC;CACJ,CAAA;AAlEY,wEAA8B;AAGpB;IADlB,IAAA,kBAAM,EAAC,+CAAuB,CAAC;sCACQ,+CAAuB;2EAAC;AAG7C;IADlB,IAAA,kBAAM,EAAC,2CAAmB,CAAC;;mEACwB;yCAN3C,8BAA8B;IAD1C,IAAA,sBAAU,GAAE;GACA,8BAA8B,CAkE1C"}