@theia/ai-chat-ui 1.73.0-next.52 → 1.73.0-next.60

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 (93) hide show
  1. package/lib/browser/ai-chat-ui-frontend-module.d.ts.map +1 -1
  2. package/lib/browser/ai-chat-ui-frontend-module.js +4 -0
  3. package/lib/browser/ai-chat-ui-frontend-module.js.map +1 -1
  4. package/lib/browser/chat-capabilities-service.d.ts.map +1 -1
  5. package/lib/browser/chat-capabilities-service.js +1 -1
  6. package/lib/browser/chat-capabilities-service.js.map +1 -1
  7. package/lib/browser/chat-capabilities-service.spec.js +10 -0
  8. package/lib/browser/chat-capabilities-service.spec.js.map +1 -1
  9. package/lib/browser/chat-input-needed-notification-contribution.d.ts +28 -0
  10. package/lib/browser/chat-input-needed-notification-contribution.d.ts.map +1 -0
  11. package/lib/browser/chat-input-needed-notification-contribution.js +104 -0
  12. package/lib/browser/chat-input-needed-notification-contribution.js.map +1 -0
  13. package/lib/browser/chat-input-needed-notification-contribution.spec.d.ts +2 -0
  14. package/lib/browser/chat-input-needed-notification-contribution.spec.d.ts.map +1 -0
  15. package/lib/browser/chat-input-needed-notification-contribution.spec.js +171 -0
  16. package/lib/browser/chat-input-needed-notification-contribution.spec.js.map +1 -0
  17. package/lib/browser/chat-input-widget.d.ts +36 -5
  18. package/lib/browser/chat-input-widget.d.ts.map +1 -1
  19. package/lib/browser/chat-input-widget.js +113 -22
  20. package/lib/browser/chat-input-widget.js.map +1 -1
  21. package/lib/browser/chat-response-renderer/index.d.ts +1 -0
  22. package/lib/browser/chat-response-renderer/index.d.ts.map +1 -1
  23. package/lib/browser/chat-response-renderer/index.js +1 -0
  24. package/lib/browser/chat-response-renderer/index.js.map +1 -1
  25. package/lib/browser/chat-response-renderer/server-toolcall-part-renderer.d.ts +19 -0
  26. package/lib/browser/chat-response-renderer/server-toolcall-part-renderer.d.ts.map +1 -0
  27. package/lib/browser/chat-response-renderer/server-toolcall-part-renderer.js +124 -0
  28. package/lib/browser/chat-response-renderer/server-toolcall-part-renderer.js.map +1 -0
  29. package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts +0 -1
  30. package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts.map +1 -1
  31. package/lib/browser/chat-response-renderer/toolcall-part-renderer.js +2 -44
  32. package/lib/browser/chat-response-renderer/toolcall-part-renderer.js.map +1 -1
  33. package/lib/browser/chat-response-renderer/toolcall-part-renderer.spec.js +5 -1
  34. package/lib/browser/chat-response-renderer/toolcall-part-renderer.spec.js.map +1 -1
  35. package/lib/browser/chat-response-renderer/toolcall-result.d.ts +11 -0
  36. package/lib/browser/chat-response-renderer/toolcall-result.d.ts.map +1 -0
  37. package/lib/browser/chat-response-renderer/toolcall-result.js +73 -0
  38. package/lib/browser/chat-response-renderer/toolcall-result.js.map +1 -0
  39. package/lib/browser/chat-response-renderer/toolcall-utils.d.ts.map +1 -1
  40. package/lib/browser/chat-response-renderer/toolcall-utils.js +5 -0
  41. package/lib/browser/chat-response-renderer/toolcall-utils.js.map +1 -1
  42. package/lib/browser/chat-session-focus.d.ts +20 -0
  43. package/lib/browser/chat-session-focus.d.ts.map +1 -0
  44. package/lib/browser/chat-session-focus.js +49 -0
  45. package/lib/browser/chat-session-focus.js.map +1 -0
  46. package/lib/browser/chat-session-focus.spec.d.ts +2 -0
  47. package/lib/browser/chat-session-focus.spec.d.ts.map +1 -0
  48. package/lib/browser/chat-session-focus.spec.js +92 -0
  49. package/lib/browser/chat-session-focus.spec.js.map +1 -0
  50. package/lib/browser/chat-tree-view/chat-view-tree-input-widget.d.ts +2 -2
  51. package/lib/browser/chat-tree-view/chat-view-tree-input-widget.d.ts.map +1 -1
  52. package/lib/browser/chat-tree-view/chat-view-tree-input-widget.js.map +1 -1
  53. package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts.map +1 -1
  54. package/lib/browser/chat-tree-view/chat-view-tree-widget.js +4 -2
  55. package/lib/browser/chat-tree-view/chat-view-tree-widget.js.map +1 -1
  56. package/lib/browser/chat-view-language-contribution.d.ts +8 -1
  57. package/lib/browser/chat-view-language-contribution.d.ts.map +1 -1
  58. package/lib/browser/chat-view-language-contribution.js +17 -11
  59. package/lib/browser/chat-view-language-contribution.js.map +1 -1
  60. package/lib/browser/chat-view-widget.d.ts +1 -1
  61. package/lib/browser/chat-view-widget.d.ts.map +1 -1
  62. package/lib/browser/chat-view-widget.js +10 -3
  63. package/lib/browser/chat-view-widget.js.map +1 -1
  64. package/lib/browser/generic-capabilities-section.d.ts +3 -0
  65. package/lib/browser/generic-capabilities-section.d.ts.map +1 -1
  66. package/lib/browser/generic-capabilities-section.js +5 -4
  67. package/lib/browser/generic-capabilities-section.js.map +1 -1
  68. package/lib/browser/generic-capabilities-tree.d.ts +20 -1
  69. package/lib/browser/generic-capabilities-tree.d.ts.map +1 -1
  70. package/lib/browser/generic-capabilities-tree.js +90 -8
  71. package/lib/browser/generic-capabilities-tree.js.map +1 -1
  72. package/package.json +11 -11
  73. package/src/browser/ai-chat-ui-frontend-module.ts +6 -0
  74. package/src/browser/chat-capabilities-service.spec.ts +13 -0
  75. package/src/browser/chat-capabilities-service.ts +3 -2
  76. package/src/browser/chat-input-needed-notification-contribution.spec.ts +223 -0
  77. package/src/browser/chat-input-needed-notification-contribution.ts +103 -0
  78. package/src/browser/chat-input-widget.tsx +141 -24
  79. package/src/browser/chat-response-renderer/index.ts +1 -0
  80. package/src/browser/chat-response-renderer/server-toolcall-part-renderer.tsx +159 -0
  81. package/src/browser/chat-response-renderer/toolcall-part-renderer.spec.ts +6 -1
  82. package/src/browser/chat-response-renderer/toolcall-part-renderer.tsx +3 -47
  83. package/src/browser/chat-response-renderer/toolcall-result.tsx +74 -0
  84. package/src/browser/chat-response-renderer/toolcall-utils.ts +5 -0
  85. package/src/browser/chat-session-focus.spec.ts +122 -0
  86. package/src/browser/chat-session-focus.ts +50 -0
  87. package/src/browser/chat-tree-view/chat-view-tree-input-widget.tsx +8 -2
  88. package/src/browser/chat-tree-view/chat-view-tree-widget.tsx +4 -2
  89. package/src/browser/chat-view-language-contribution.ts +25 -12
  90. package/src/browser/chat-view-widget.tsx +11 -3
  91. package/src/browser/generic-capabilities-section.tsx +8 -3
  92. package/src/browser/generic-capabilities-tree.tsx +127 -10
  93. package/src/browser/style/index.css +19 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ai-chat-ui-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAC3C,OAAO,iDAAiD,CAAC;AAIzD,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;;AAoD3E,wBAgJG"}
1
+ {"version":3,"file":"ai-chat-ui-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAC3C,OAAO,iDAAiD,CAAC;AAIzD,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;;AAsD3E,wBAoJG"}
@@ -52,6 +52,7 @@ const chat_capabilities_service_1 = require("./chat-capabilities-service");
52
52
  const chat_input_capabilities_contribution_1 = require("./chat-input-capabilities-contribution");
53
53
  const generic_capabilities_service_1 = require("./generic-capabilities-service");
54
54
  const tool_confirmation_keybinding_contribution_1 = require("./tool-confirmation-keybinding-contribution");
55
+ const chat_input_needed_notification_contribution_1 = require("./chat-input-needed-notification-contribution");
55
56
  exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebind) => {
56
57
  (0, chat_view_preferences_1.bindChatViewPreferences)(bind);
57
58
  (0, browser_1.bindViewContribution)(bind, ai_chat_ui_contribution_1.AIChatContribution);
@@ -82,6 +83,8 @@ exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebi
82
83
  bind(tool_confirmation_keybinding_contribution_1.ToolConfirmationKeybindingContribution).toSelf().inSingletonScope();
83
84
  bind(core_1.CommandContribution).toService(tool_confirmation_keybinding_contribution_1.ToolConfirmationKeybindingContribution);
84
85
  bind(browser_1.KeybindingContribution).toService(tool_confirmation_keybinding_contribution_1.ToolConfirmationKeybindingContribution);
86
+ bind(chat_input_needed_notification_contribution_1.ChatInputNeededNotificationContribution).toSelf().inSingletonScope();
87
+ bind(browser_1.FrontendApplicationContribution).toService(chat_input_needed_notification_contribution_1.ChatInputNeededNotificationContribution);
85
88
  (0, core_1.bindRootContributionProvider)(bind, chat_response_part_renderer_1.ChatResponsePartRenderer);
86
89
  (0, core_1.bindRootContributionProvider)(bind, chat_tree_view_1.ChatWelcomeMessageProvider);
87
90
  bindChatViewWidget(bind);
@@ -135,6 +138,7 @@ exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebi
135
138
  bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(chat_response_renderer_1.CodePartRenderer).inSingletonScope();
136
139
  bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(chat_response_renderer_1.CommandPartRenderer).inSingletonScope();
137
140
  bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(chat_response_renderer_1.ToolCallPartRenderer).inSingletonScope();
141
+ bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(chat_response_renderer_1.ServerToolCallPartRenderer).inSingletonScope();
138
142
  bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(chat_response_renderer_1.NotAvailableToolCallRenderer).inSingletonScope();
139
143
  bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(chat_response_renderer_1.ErrorPartRenderer).inSingletonScope();
140
144
  bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(chat_response_renderer_1.ThinkingPartRenderer).inSingletonScope();
@@ -1 +1 @@
1
- {"version":3,"file":"ai-chat-ui-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-chat-ui-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-capabilities-service.d.ts","sourceRoot":"","sources":["../../src/browser/chat-capabilities-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACH,aAAa,EAEb,gBAAgB,EAChB,2BAA2B,EAG9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACpC;;OAEG;IACH,QAAQ,CAAC,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAE9C;;;;;;;OAOG;IACH,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEvF;;;;;;;OAOG;IACH,kCAAkC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC9G;AAED,qBACa,2BAA4B,YAAW,uBAAuB;IAGvE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,SAAS,CAAC,QAAQ,CAAC,8BAA8B,gBAAuB;IAExE,QAAQ,CAAC,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,CAA6C;IAG1F,SAAS,CAAC,IAAI,IAAI,IAAI;IAMhB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAatF,kCAAkC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAKhH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAYhF;;;;OAIG;IACH,SAAS,CAAC,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,2BAA2B;CA2B1F"}
1
+ {"version":3,"file":"chat-capabilities-service.d.ts","sourceRoot":"","sources":["../../src/browser/chat-capabilities-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACH,aAAa,EAEb,gBAAgB,EAChB,2BAA2B,EAI9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACpC;;OAEG;IACH,QAAQ,CAAC,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAE9C;;;;;;;OAOG;IACH,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEvF;;;;;;;OAOG;IACH,kCAAkC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC9G;AAED,qBACa,2BAA4B,YAAW,uBAAuB;IAGvE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,SAAS,CAAC,QAAQ,CAAC,8BAA8B,gBAAuB;IAExE,QAAQ,CAAC,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,CAA6C;IAG1F,SAAS,CAAC,IAAI,IAAI,IAAI;IAMhB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAatF,kCAAkC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAKhH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAYhF;;;;OAIG;IACH,SAAS,CAAC,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,2BAA2B;CA2B1F"}
@@ -69,7 +69,7 @@ let ChatCapabilitiesServiceImpl = class ChatCapabilitiesServiceImpl {
69
69
  // Extract all functions using the standard regex
70
70
  const functionMatches = (0, ai_core_1.matchFunctionsRegEx)(template);
71
71
  for (const match of functionMatches) {
72
- functions.push(match[1]);
72
+ functions.push((0, ai_core_1.parseFunctionReference)(match[1]).id);
73
73
  }
74
74
  // Extract all variables using the standard regex
75
75
  const variableMatches = (0, ai_core_1.matchVariablesRegEx)(template);
@@ -1 +1 @@
1
- {"version":3,"file":"chat-capabilities-service.js","sourceRoot":"","sources":["../../src/browser/chat-capabilities-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-capabilities-service.js","sourceRoot":"","sources":["../../src/browser/chat-capabilities-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;;;;AAEhF,4DAAiF;AACjF,sCAA6C;AAC7C,4CAQwB;AACxB,4CAAkD;AAErC,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAkClE,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAAjC;QAQgB,mCAA8B,GAAG,IAAI,cAAO,EAAQ,CAAC;QAE/D,4BAAuB,GAAgB,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC;IAuE9F,CAAC;IApEa,IAAI;QACV,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,OAAe,EAAE,MAAe;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,uCAA6B,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzE,OAAO;gBACH,GAAG,GAAG;gBACN,IAAI,EAAE,QAAQ,EAAE,IAAI;gBACpB,WAAW,EAAE,QAAQ,EAAE,WAAW;aACrC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,OAAe,EAAE,MAAe;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,CAAC;IAES,gBAAgB,CAAC,OAAe,EAAE,MAAe;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzF,OAAO,WAAW;YACd,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,QAAQ;YAC1E,CAAC,CAAC,SAAS,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACO,8BAA8B,CAAC,QAAgB;QACrD,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,iDAAiD;QACjD,MAAM,eAAe,GAAG,IAAA,6BAAmB,EAAC,QAAQ,CAAC,CAAC;QACtD,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,IAAA,gCAAsB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,iDAAiD;QACjD,MAAM,eAAe,GAAG,IAAA,6BAAmB,EAAC,QAAQ,CAAC,CAAC;QACtD,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YAClC,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAE9B,uEAAuE;YACvE,IAAI,YAAY,KAAK,YAAY;gBAC7B,YAAY,KAAK,QAAQ;gBACzB,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IACpC,CAAC;CACJ,CAAA;AAjFY,kEAA2B;AAGjB;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC;;kEAC0B;AAG7B;IADlB,IAAA,kBAAM,EAAC,0BAAgB,CAAC;;qEAC6B;AAO5C;IADT,IAAA,yBAAa,GAAE;;;;uDAKf;sCAjBQ,2BAA2B;IADvC,IAAA,sBAAU,GAAE;GACA,2BAA2B,CAiFvC"}
@@ -133,6 +133,16 @@ describe('ChatCapabilitiesServiceImpl', () => {
133
133
  (0, chai_1.expect)(result.functions).to.deep.equal([]);
134
134
  (0, chai_1.expect)(result.variables).to.deep.equal([]);
135
135
  });
136
+ it('extracts function ids without the deferred marker prefix', () => {
137
+ const template = `
138
+ You have access to these tools (some deferred):
139
+ ~{eagerTool}
140
+ ~{?deferredTool}
141
+ ~{? spacedDeferredTool }
142
+ `;
143
+ const result = extract(template);
144
+ (0, chai_1.expect)(result.functions).to.deep.equal(['eagerTool', 'deferredTool', 'spacedDeferredTool']);
145
+ });
136
146
  });
137
147
  });
138
148
  //# sourceMappingURL=chat-capabilities-service.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-capabilities-service.spec.js","sourceRoot":"","sources":["../../src/browser/chat-capabilities-service.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-capabilities-service.spec.js","sourceRoot":"","sources":["../../src/browser/chat-capabilities-service.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { ChatService, ChatSession } from '@theia/ai-chat';
2
+ import { DisposableCollection } from '@theia/core';
3
+ import { ApplicationShell, FrontendApplicationContribution } from '@theia/core/lib/browser';
4
+ import { AgentNotificationService } from '@theia/ai-core/lib/browser';
5
+ interface SessionWaitingState {
6
+ /** Whether any request in the session was waiting for input at the last observed change. */
7
+ waiting: boolean;
8
+ listener: DisposableCollection;
9
+ }
10
+ /**
11
+ * Fires an agent notification when a chat session starts waiting for user input (e.g. a tool
12
+ * confirmation or an agent question). Watches all sessions, not just the active one, so that a
13
+ * background session requesting input still reaches the user. The agent completion notification
14
+ * (handled in the chat input widget) and this input-needed notification share the same delivery
15
+ * channel and user preference via {@link AgentNotificationService}.
16
+ */
17
+ export declare class ChatInputNeededNotificationContribution implements FrontendApplicationContribution {
18
+ protected readonly chatService: ChatService;
19
+ protected readonly notificationService: AgentNotificationService;
20
+ protected readonly shell: ApplicationShell;
21
+ protected readonly states: Map<string, SessionWaitingState>;
22
+ onStart(): void;
23
+ protected watchSession(session: ChatSession): void;
24
+ protected handleSessionChanged(session: ChatSession, state: SessionWaitingState): void;
25
+ protected unwatchSession(sessionId: string): void;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=chat-input-needed-notification-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-input-needed-notification-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/chat-input-needed-notification-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAE5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAItE,UAAU,mBAAmB;IACzB,4FAA4F;IAC5F,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,oBAAoB,CAAC;CAClC;AAED;;;;;;GAMG;AACH,qBACa,uCAAwC,YAAW,+BAA+B;IAG3F,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;IAGjE,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAE3C,SAAS,CAAC,QAAQ,CAAC,MAAM,mCAA0C;IAEnE,OAAO,IAAI,IAAI;IAcf,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAYlD,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAkBtF,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAOpD"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 EclipseSource GmbH and others.
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.ChatInputNeededNotificationContribution = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const ai_chat_1 = require("@theia/ai-chat");
21
+ const core_1 = require("@theia/core");
22
+ const browser_1 = require("@theia/core/lib/browser");
23
+ const ai_core_1 = require("@theia/ai-core");
24
+ const browser_2 = require("@theia/ai-core/lib/browser");
25
+ const inversify_1 = require("@theia/core/shared/inversify");
26
+ const chat_session_focus_1 = require("./chat-session-focus");
27
+ /**
28
+ * Fires an agent notification when a chat session starts waiting for user input (e.g. a tool
29
+ * confirmation or an agent question). Watches all sessions, not just the active one, so that a
30
+ * background session requesting input still reaches the user. The agent completion notification
31
+ * (handled in the chat input widget) and this input-needed notification share the same delivery
32
+ * channel and user preference via {@link AgentNotificationService}.
33
+ */
34
+ let ChatInputNeededNotificationContribution = class ChatInputNeededNotificationContribution {
35
+ constructor() {
36
+ this.states = new Map();
37
+ }
38
+ onStart() {
39
+ this.chatService.getSessions().forEach(session => this.watchSession(session));
40
+ this.chatService.onSessionEvent(event => {
41
+ if (event.type === 'created') {
42
+ const session = this.chatService.getSession(event.sessionId);
43
+ if (session) {
44
+ this.watchSession(session);
45
+ }
46
+ }
47
+ else if (event.type === 'deleted') {
48
+ this.unwatchSession(event.sessionId);
49
+ }
50
+ });
51
+ }
52
+ watchSession(session) {
53
+ if (this.states.has(session.id)) {
54
+ return;
55
+ }
56
+ const state = {
57
+ waiting: session.model.getRequests().some(request => request.response.isWaitingForInput),
58
+ listener: new core_1.DisposableCollection()
59
+ };
60
+ this.states.set(session.id, state);
61
+ session.model.onDidChange(() => this.handleSessionChanged(session, state), undefined, state.listener);
62
+ }
63
+ handleSessionChanged(session, state) {
64
+ const waitingRequest = session.model.getRequests().find(request => request.response.isWaitingForInput);
65
+ const nowWaiting = waitingRequest !== undefined;
66
+ // Only notify on the transition into waiting, so repeated model changes while still
67
+ // waiting do not produce duplicate notifications.
68
+ if (nowWaiting && !state.waiting) {
69
+ const agentId = waitingRequest.agentId ?? waitingRequest.response.agentId;
70
+ if (agentId) {
71
+ this.notificationService.showNotification(agentId, ai_core_1.AGENT_NOTIFICATION_KIND_INPUT_NEEDED, {
72
+ shouldSuppress: () => (0, chat_session_focus_1.isChatSessionFocused)(this.shell, this.chatService, session.id),
73
+ onActivate: () => this.chatService.setActiveSession(session.id, { focus: true }),
74
+ sessionTitle: session.title
75
+ });
76
+ }
77
+ }
78
+ state.waiting = nowWaiting;
79
+ }
80
+ unwatchSession(sessionId) {
81
+ const state = this.states.get(sessionId);
82
+ if (state) {
83
+ state.listener.dispose();
84
+ this.states.delete(sessionId);
85
+ }
86
+ }
87
+ };
88
+ exports.ChatInputNeededNotificationContribution = ChatInputNeededNotificationContribution;
89
+ tslib_1.__decorate([
90
+ (0, inversify_1.inject)(ai_chat_1.ChatService),
91
+ tslib_1.__metadata("design:type", Object)
92
+ ], ChatInputNeededNotificationContribution.prototype, "chatService", void 0);
93
+ tslib_1.__decorate([
94
+ (0, inversify_1.inject)(browser_2.AgentNotificationService),
95
+ tslib_1.__metadata("design:type", browser_2.AgentNotificationService)
96
+ ], ChatInputNeededNotificationContribution.prototype, "notificationService", void 0);
97
+ tslib_1.__decorate([
98
+ (0, inversify_1.inject)(browser_1.ApplicationShell),
99
+ tslib_1.__metadata("design:type", browser_1.ApplicationShell)
100
+ ], ChatInputNeededNotificationContribution.prototype, "shell", void 0);
101
+ exports.ChatInputNeededNotificationContribution = ChatInputNeededNotificationContribution = tslib_1.__decorate([
102
+ (0, inversify_1.injectable)()
103
+ ], ChatInputNeededNotificationContribution);
104
+ //# sourceMappingURL=chat-input-needed-notification-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-input-needed-notification-contribution.js","sourceRoot":"","sources":["../../src/browser/chat-input-needed-notification-contribution.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,4CAA0D;AAC1D,sCAAmD;AACnD,qDAA4F;AAC5F,4CAAsE;AACtE,wDAAsE;AACtE,4DAAkE;AAClE,6DAA4D;AAQ5D;;;;;;GAMG;AAEI,IAAM,uCAAuC,GAA7C,MAAM,uCAAuC;IAA7C;QAWgB,WAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;IAqDvE,CAAC;IAnDG,OAAO;QACH,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YACpC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC7D,IAAI,OAAO,EAAE,CAAC;oBACV,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAES,YAAY,CAAC,OAAoB;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QACD,MAAM,KAAK,GAAwB;YAC/B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACxF,QAAQ,EAAE,IAAI,2BAAoB,EAAE;SACvC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1G,CAAC;IAES,oBAAoB,CAAC,OAAoB,EAAE,KAA0B;QAC3E,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACvG,MAAM,UAAU,GAAG,cAAc,KAAK,SAAS,CAAC;QAChD,oFAAoF;QACpF,kDAAkD;QAClD,IAAI,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC1E,IAAI,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,EAAE,8CAAoC,EAAE;oBACrF,cAAc,EAAE,GAAG,EAAE,CAAC,IAAA,yCAAoB,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;oBACpF,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;oBAChF,YAAY,EAAE,OAAO,CAAC,KAAK;iBAC9B,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;IAC/B,CAAC;IAES,cAAc,CAAC,SAAiB;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;CACJ,CAAA;AAhEY,0FAAuC;AAG7B;IADlB,IAAA,kBAAM,EAAC,qBAAW,CAAC;;4EACwB;AAGzB;IADlB,IAAA,kBAAM,EAAC,kCAAwB,CAAC;sCACO,kCAAwB;oFAAC;AAG9C;IADlB,IAAA,kBAAM,EAAC,0BAAgB,CAAC;sCACC,0BAAgB;sEAAC;kDATlC,uCAAuC;IADnD,IAAA,sBAAU,GAAE;GACA,uCAAuC,CAgEnD"}
@@ -0,0 +1,2 @@
1
+ import 'reflect-metadata';
2
+ //# sourceMappingURL=chat-input-needed-notification-contribution.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-input-needed-notification-contribution.spec.d.ts","sourceRoot":"","sources":["../../src/browser/chat-input-needed-notification-contribution.spec.ts"],"names":[],"mappings":"AAuBA,OAAO,kBAAkB,CAAC"}
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 EclipseSource and others.
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
+ const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
19
+ let disableJSDOM = (0, jsdom_1.enableJSDOM)();
20
+ const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
21
+ frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
22
+ require("reflect-metadata");
23
+ const chai_1 = require("chai");
24
+ const core_1 = require("@theia/core");
25
+ const ai_core_1 = require("@theia/ai-core");
26
+ const chat_input_needed_notification_contribution_1 = require("./chat-input-needed-notification-contribution");
27
+ disableJSDOM();
28
+ class FakeChatModel {
29
+ constructor() {
30
+ this.id = 'test-model';
31
+ this.emitter = new core_1.Emitter();
32
+ this.onDidChange = this.emitter.event;
33
+ this.requests = [];
34
+ }
35
+ getRequests() {
36
+ return this.requests;
37
+ }
38
+ fireChange() {
39
+ this.emitter.fire();
40
+ }
41
+ }
42
+ function createSession(id, model, title = 'Session ' + id) {
43
+ return {
44
+ id,
45
+ title,
46
+ model: model,
47
+ isActive: false
48
+ };
49
+ }
50
+ class TestableContribution extends chat_input_needed_notification_contribution_1.ChatInputNeededNotificationContribution {
51
+ // Expose protected hooks so we can drive the contribution from tests without going through DI.
52
+ setChatService(service) {
53
+ this.chatService = service;
54
+ }
55
+ setNotificationService(service) {
56
+ this.notificationService = service;
57
+ }
58
+ setShell(shell) {
59
+ this.shell = shell;
60
+ }
61
+ }
62
+ describe('ChatInputNeededNotificationContribution', () => {
63
+ before(() => disableJSDOM = (0, jsdom_1.enableJSDOM)());
64
+ after(() => disableJSDOM());
65
+ let contribution;
66
+ let chatModel;
67
+ let session;
68
+ let notifications;
69
+ let chatService;
70
+ let sessionEventEmitter;
71
+ beforeEach(() => {
72
+ chatModel = new FakeChatModel();
73
+ session = createSession('session-1', chatModel);
74
+ notifications = [];
75
+ const notificationService = {
76
+ async showNotification(agentId, kind, options) {
77
+ notifications.push({ agentId, kind, options });
78
+ }
79
+ };
80
+ sessionEventEmitter = new core_1.Emitter();
81
+ chatService = {
82
+ getSessions: () => [session],
83
+ getSession: (id) => (id === session.id ? session : undefined),
84
+ onSessionEvent: sessionEventEmitter.event,
85
+ setActiveSession: () => { }
86
+ };
87
+ const shell = { currentWidget: undefined };
88
+ contribution = new TestableContribution();
89
+ contribution.setChatService(chatService);
90
+ contribution.setNotificationService(notificationService);
91
+ contribution.setShell(shell);
92
+ contribution.onStart();
93
+ });
94
+ it('fires a notification on the false → true transition', () => {
95
+ chatModel.requests = [{
96
+ agentId: 'agent-a',
97
+ response: { isWaitingForInput: true }
98
+ }];
99
+ chatModel.fireChange();
100
+ (0, chai_1.expect)(notifications).to.have.lengthOf(1);
101
+ (0, chai_1.expect)(notifications[0].agentId).to.equal('agent-a');
102
+ (0, chai_1.expect)(notifications[0].kind).to.equal(ai_core_1.AGENT_NOTIFICATION_KIND_INPUT_NEEDED);
103
+ (0, chai_1.expect)(notifications[0].options?.sessionTitle).to.equal(session.title);
104
+ });
105
+ it('does not re-fire on repeated changes while still waiting', () => {
106
+ chatModel.requests = [{
107
+ agentId: 'agent-a',
108
+ response: { isWaitingForInput: true }
109
+ }];
110
+ chatModel.fireChange();
111
+ chatModel.fireChange();
112
+ chatModel.fireChange();
113
+ (0, chai_1.expect)(notifications).to.have.lengthOf(1);
114
+ });
115
+ it('fires again after the waiting state cleared and then started again', () => {
116
+ chatModel.requests = [{
117
+ agentId: 'agent-a',
118
+ response: { isWaitingForInput: true }
119
+ }];
120
+ chatModel.fireChange();
121
+ // Clear the waiting state — e.g. confirmation was answered.
122
+ chatModel.requests = [{
123
+ agentId: 'agent-a',
124
+ response: { isWaitingForInput: false }
125
+ }];
126
+ chatModel.fireChange();
127
+ // A new waiting-for-input request appears.
128
+ chatModel.requests = [{
129
+ agentId: 'agent-a',
130
+ response: { isWaitingForInput: true }
131
+ }];
132
+ chatModel.fireChange();
133
+ (0, chai_1.expect)(notifications).to.have.lengthOf(2);
134
+ });
135
+ it('does not fire when nothing is waiting for input', () => {
136
+ chatModel.requests = [{
137
+ agentId: 'agent-a',
138
+ response: { isWaitingForInput: false }
139
+ }];
140
+ chatModel.fireChange();
141
+ (0, chai_1.expect)(notifications).to.have.lengthOf(0);
142
+ });
143
+ it('falls back to the response.agentId when the request has no agentId', () => {
144
+ chatModel.requests = [{
145
+ response: { isWaitingForInput: true, agentId: 'response-agent' }
146
+ }];
147
+ chatModel.fireChange();
148
+ (0, chai_1.expect)(notifications).to.have.lengthOf(1);
149
+ (0, chai_1.expect)(notifications[0].agentId).to.equal('response-agent');
150
+ });
151
+ it('does not fire when no agent id is available on the waiting request', () => {
152
+ chatModel.requests = [{
153
+ response: { isWaitingForInput: true }
154
+ }];
155
+ chatModel.fireChange();
156
+ (0, chai_1.expect)(notifications).to.have.lengthOf(0);
157
+ });
158
+ it('does not double-watch a session when a created event arrives after onStart', () => {
159
+ // The session was already returned from getSessions() in onStart, so re-watching it via
160
+ // the 'created' event must not install a second listener that would fire duplicate
161
+ // notifications.
162
+ sessionEventEmitter.fire({ type: 'created', sessionId: session.id });
163
+ chatModel.requests = [{
164
+ agentId: 'agent-a',
165
+ response: { isWaitingForInput: true }
166
+ }];
167
+ chatModel.fireChange();
168
+ (0, chai_1.expect)(notifications).to.have.lengthOf(1);
169
+ });
170
+ });
171
+ //# sourceMappingURL=chat-input-needed-notification-contribution.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-input-needed-notification-contribution.spec.js","sourceRoot":"","sources":["../../src/browser/chat-input-needed-notification-contribution.spec.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { ChatAgent, ChatHierarchyBranch, ChatModel, ChatRequestModel, ChatService, ChatRequestParser, ChatMode, ChatSession } from '@theia/ai-chat';
2
2
  import { ChatAgentService } from '@theia/ai-chat/lib/common/chat-agent-service';
3
3
  import { ParsedChatRequest } from '@theia/ai-chat/lib/common/parsed-chat-request';
4
- import { GenericCapabilitySelections, AIVariableResolutionRequest, ParsedCapability, FrontendLanguageModelRegistry, ReasoningLevel, ReasoningSettings, ReasoningSupport } from '@theia/ai-core';
4
+ import { GenericCapabilitySelections, AIVariableResolutionRequest, ParsedCapability, FrontendLanguageModelRegistry, ReasoningLevel, ReasoningSettings, ReasoningSupport, ServerToolDescriptor } from '@theia/ai-core';
5
5
  import { ChangeSetDecoratorService } from '@theia/ai-chat/lib/browser/change-set-decorator-service';
6
6
  import { ImageContextVariable } from '@theia/ai-chat/lib/common/image-context-variable';
7
- import { AgentCompletionNotificationService, FrontendVariableService, AIActivationService } from '@theia/ai-core/lib/browser';
7
+ import { AgentNotificationService, FrontendVariableService, AIActivationService } from '@theia/ai-core/lib/browser';
8
8
  import { AISettingsService, PromptService } from '@theia/ai-core/lib/common';
9
9
  import { ApplicationShell } from '@theia/core/lib/browser/shell/application-shell';
10
10
  import { CommandService, DisposableCollection, Emitter, InMemoryResources, MessageService, URI, Disposable, ILogger } from '@theia/core';
@@ -24,8 +24,9 @@ import { PendingImageRegistry } from '@theia/ai-chat/lib/browser/pending-image-r
24
24
  import { ChatCapabilitiesService } from './chat-capabilities-service';
25
25
  import { ChatInputFocusService } from './chat-input-focus-service';
26
26
  import { AvailableGenericCapabilities, GenericCapabilitiesService } from './generic-capabilities-service';
27
+ import { ServerToolsSection } from './generic-capabilities-tree';
27
28
  import { PreferenceService } from '@theia/core/lib/common/preferences';
28
- type Query = (query: string, mode?: string, capabilityOverrides?: Record<string, boolean>, genericCapabilitySelections?: GenericCapabilitySelections) => Promise<void>;
29
+ type Query = (query: string, mode?: string, capabilityOverrides?: Record<string, boolean>, genericCapabilitySelections?: GenericCapabilitySelections, serverToolSelections?: Record<string, string[]>) => Promise<void>;
29
30
  type Unpin = () => void;
30
31
  type Cancel = (requestModel: ChatRequestModel) => void;
31
32
  type DeleteChangeSet = (requestModel: ChatRequestModel) => void;
@@ -50,7 +51,7 @@ export declare class AIChatInputWidget extends ReactWidget {
50
51
  protected readonly labelProvider: LabelProvider;
51
52
  protected readonly contextVariablePicker: ContextVariablePicker;
52
53
  protected readonly changeSetActionService: ChangeSetActionService;
53
- protected readonly agentNotificationService: AgentCompletionNotificationService;
54
+ protected readonly agentNotificationService: AgentNotificationService;
54
55
  protected readonly changeSetDecoratorService: ChangeSetDecoratorService;
55
56
  protected readonly openerService: OpenerService;
56
57
  protected readonly chatService: ChatService;
@@ -99,6 +100,10 @@ export declare class AIChatInputWidget extends ReactWidget {
99
100
  protected currentMaxInputTokens?: number;
100
101
  /** Saved reasoning selection for the receiving agent (loaded from {@link AISettingsService}); kept in sync with the persisted value. */
101
102
  protected savedReasoning?: ReasoningSettings;
103
+ /** Server tools declared by the receiving agent's primary model; undefined/empty hides the server tools category. */
104
+ protected currentServerTools?: ServerToolDescriptor[];
105
+ /** Vendor of the receiving agent's primary model; used to key server tool selections. */
106
+ protected currentModelVendor?: string;
102
107
  protected handleReasoningChange: (level: ReasoningLevel) => Promise<void>;
103
108
  /**
104
109
  * Resolves the reasoning level to display in the selector. Priority: session override →
@@ -112,6 +117,7 @@ export declare class AIChatInputWidget extends ReactWidget {
112
117
  protected handleCapabilityChange: (fragmentId: string, enabled: boolean) => void;
113
118
  protected handleGenericCapabilityChange: (type: keyof GenericCapabilitySelections, ids: string[]) => void;
114
119
  protected handleResetGenericCapabilities: () => void;
120
+ protected handleServerToolChange: (ids: string[]) => void;
115
121
  protected updateCapabilitiesForAgent(agentId: string, modeId?: string, preserveOverrides?: boolean): Promise<void>;
116
122
  /** Updates the active chat session's `commonSettings.reasoning`; pass `undefined` to clear. */
117
123
  protected applyReasoningToSession(reasoning: ReasoningSettings | undefined): void;
@@ -131,6 +137,17 @@ export declare class AIChatInputWidget extends ReactWidget {
131
137
  * Used to restore user's selections when switching sessions or on reload.
132
138
  */
133
139
  protected getLastGenericCapabilitySelectionsFromModel(chatModel: ChatModel): GenericCapabilitySelections;
140
+ /**
141
+ * Extracts server tool selections from the last request in the chat model.
142
+ * Used to restore the user's selections when switching sessions or on reload.
143
+ */
144
+ protected getLastServerToolSelectionsFromModel(chatModel: ChatModel): Record<string, string[]>;
145
+ /**
146
+ * Builds the server tools section for the capabilities panel, or `undefined` if the current
147
+ * model declares no server tools.
148
+ */
149
+ protected getServerToolsSection(): ServerToolsSection | undefined;
150
+ protected getProviderDisplayName(vendor: string): string;
134
151
  /**
135
152
  * Refreshes capabilities for the current receiving agent.
136
153
  * Called when prompt fragments change to ensure capabilities reflect the latest template.
@@ -144,12 +161,18 @@ export declare class AIChatInputWidget extends ReactWidget {
144
161
  * Compares two string arrays for equality (order-independent).
145
162
  */
146
163
  protected arraysEqualUnordered(a: string[], b: string[]): boolean;
164
+ /** Returns true if any vendor has at least one selected server tool. */
165
+ protected serverToolSelectionsHaveAny(selections: Record<string, string[]>): boolean;
147
166
  /**
148
167
  * Checks if current generic capability selections differ from saved settings.
149
168
  */
150
169
  protected hasGenericCapabilityChangesFromSaved(): boolean;
151
170
  /**
152
- * Checks if there are any unsaved changes (capability overrides or generic selections).
171
+ * Checks if current server tool selections differ from saved settings (across all vendors).
172
+ */
173
+ protected hasServerToolChangesFromSaved(): boolean;
174
+ /**
175
+ * Checks if there are any unsaved changes (capability overrides, generic selections, or server tools).
153
176
  * Reasoning is auto-persisted in {@link handleReasoningChange} and is intentionally excluded.
154
177
  */
155
178
  hasAnyChangesFromSaved(): boolean;
@@ -182,6 +205,14 @@ export declare class AIChatInputWidget extends ReactWidget {
182
205
  * Tracks user's generic capability selections from the dropdowns.
183
206
  */
184
207
  protected genericCapabilitySelections: GenericCapabilitySelections;
208
+ /**
209
+ * Tracks user's server tool selections, keyed by model vendor to keep selections provider-specific.
210
+ */
211
+ protected serverToolSelections: Record<string, string[]>;
212
+ /**
213
+ * Stores the saved server tool selections loaded from settings, for unsaved-change detection.
214
+ */
215
+ protected savedServerToolSelections: Record<string, string[]> | undefined;
185
216
  /**
186
217
  * Available generic capabilities from all sources.
187
218
  */