@theia/ai-ide 1.67.0-next.59 → 1.67.0-next.86
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.
- package/lib/browser/address-pr-review-command-contribution.d.ts +9 -0
- package/lib/browser/address-pr-review-command-contribution.d.ts.map +1 -0
- package/lib/browser/address-pr-review-command-contribution.js +176 -0
- package/lib/browser/address-pr-review-command-contribution.js.map +1 -0
- package/lib/browser/ai-configuration/agent-configuration-widget.d.ts +12 -6
- package/lib/browser/ai-configuration/agent-configuration-widget.d.ts.map +1 -1
- package/lib/browser/ai-configuration/agent-configuration-widget.js +156 -104
- package/lib/browser/ai-configuration/agent-configuration-widget.js.map +1 -1
- package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.d.ts +32 -0
- package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.js +55 -0
- package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/base/ai-configuration-base-widget.d.ts +14 -0
- package/lib/browser/ai-configuration/base/ai-configuration-base-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/base/ai-configuration-base-widget.js +35 -0
- package/lib/browser/ai-configuration/base/ai-configuration-base-widget.js.map +1 -0
- package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.d.ts +23 -0
- package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.js +60 -0
- package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.d.ts +56 -0
- package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.js +96 -0
- package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/base/ai-table-configuration-widget.d.ts +45 -0
- package/lib/browser/ai-configuration/base/ai-table-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/base/ai-table-configuration-widget.js +66 -0
- package/lib/browser/ai-configuration/base/ai-table-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/components/configuration-section.d.ts +13 -0
- package/lib/browser/ai-configuration/components/configuration-section.d.ts.map +1 -0
- package/lib/browser/ai-configuration/components/configuration-section.js +28 -0
- package/lib/browser/ai-configuration/components/configuration-section.js.map +1 -0
- package/lib/browser/ai-configuration/components/empty-state.d.ts +11 -0
- package/lib/browser/ai-configuration/components/empty-state.d.ts.map +1 -0
- package/lib/browser/ai-configuration/components/empty-state.js +26 -0
- package/lib/browser/ai-configuration/components/empty-state.js.map +1 -0
- package/lib/browser/ai-configuration/components/expandable-section.d.ts +14 -0
- package/lib/browser/ai-configuration/components/expandable-section.d.ts.map +1 -0
- package/lib/browser/ai-configuration/components/expandable-section.js +31 -0
- package/lib/browser/ai-configuration/components/expandable-section.js.map +1 -0
- package/lib/browser/ai-configuration/language-model-renderer.d.ts.map +1 -1
- package/lib/browser/ai-configuration/language-model-renderer.js +23 -22
- package/lib/browser/ai-configuration/language-model-renderer.js.map +1 -1
- package/lib/browser/ai-configuration/mcp-configuration-widget.d.ts +0 -1
- package/lib/browser/ai-configuration/mcp-configuration-widget.d.ts.map +1 -1
- package/lib/browser/ai-configuration/mcp-configuration-widget.js +86 -80
- package/lib/browser/ai-configuration/mcp-configuration-widget.js.map +1 -1
- package/lib/browser/ai-configuration/model-aliases-configuration-widget.d.ts +8 -22
- package/lib/browser/ai-configuration/model-aliases-configuration-widget.d.ts.map +1 -1
- package/lib/browser/ai-configuration/model-aliases-configuration-widget.js +49 -78
- package/lib/browser/ai-configuration/model-aliases-configuration-widget.js.map +1 -1
- package/lib/browser/ai-configuration/template-settings-renderer.d.ts.map +1 -1
- package/lib/browser/ai-configuration/template-settings-renderer.js +11 -11
- package/lib/browser/ai-configuration/template-settings-renderer.js.map +1 -1
- package/lib/browser/ai-configuration/token-usage-configuration-widget.d.ts +7 -8
- package/lib/browser/ai-configuration/token-usage-configuration-widget.d.ts.map +1 -1
- package/lib/browser/ai-configuration/token-usage-configuration-widget.js +92 -78
- package/lib/browser/ai-configuration/token-usage-configuration-widget.js.map +1 -1
- package/lib/browser/ai-configuration/tools-configuration-widget.d.ts +12 -7
- package/lib/browser/ai-configuration/tools-configuration-widget.d.ts.map +1 -1
- package/lib/browser/ai-configuration/tools-configuration-widget.js +43 -35
- package/lib/browser/ai-configuration/tools-configuration-widget.js.map +1 -1
- package/lib/browser/ai-configuration/variable-configuration-widget.d.ts +8 -4
- package/lib/browser/ai-configuration/variable-configuration-widget.d.ts.map +1 -1
- package/lib/browser/ai-configuration/variable-configuration-widget.js +61 -28
- package/lib/browser/ai-configuration/variable-configuration-widget.js.map +1 -1
- package/lib/browser/analyze-gh-ticket-command-contribution.d.ts +9 -0
- package/lib/browser/analyze-gh-ticket-command-contribution.d.ts.map +1 -0
- package/lib/browser/analyze-gh-ticket-command-contribution.js +172 -0
- package/lib/browser/analyze-gh-ticket-command-contribution.js.map +1 -0
- package/lib/browser/frontend-module.d.ts.map +1 -1
- package/lib/browser/frontend-module.js +6 -0
- package/lib/browser/frontend-module.js.map +1 -1
- package/lib/browser/implement-gh-ticket-command-contribution.d.ts +9 -0
- package/lib/browser/implement-gh-ticket-command-contribution.d.ts.map +1 -0
- package/lib/browser/implement-gh-ticket-command-contribution.js +156 -0
- package/lib/browser/implement-gh-ticket-command-contribution.js.map +1 -0
- package/package.json +21 -21
- package/src/browser/address-pr-review-command-contribution.ts +180 -0
- package/src/browser/ai-configuration/agent-configuration-widget.tsx +256 -135
- package/src/browser/ai-configuration/base/ai-card-grid-configuration-widget.tsx +72 -0
- package/src/browser/ai-configuration/base/ai-configuration-base-widget.tsx +37 -0
- package/src/browser/ai-configuration/base/ai-hierarchical-configuration-widget.tsx +51 -0
- package/src/browser/ai-configuration/base/ai-list-detail-configuration-widget.tsx +140 -0
- package/src/browser/ai-configuration/base/ai-table-configuration-widget.tsx +107 -0
- package/src/browser/ai-configuration/components/configuration-section.tsx +37 -0
- package/src/browser/ai-configuration/components/empty-state.tsx +30 -0
- package/src/browser/ai-configuration/components/expandable-section.tsx +51 -0
- package/src/browser/ai-configuration/language-model-renderer.tsx +68 -63
- package/src/browser/ai-configuration/mcp-configuration-widget.tsx +80 -85
- package/src/browser/ai-configuration/model-aliases-configuration-widget.tsx +93 -107
- package/src/browser/ai-configuration/template-settings-renderer.tsx +25 -29
- package/src/browser/ai-configuration/token-usage-configuration-widget.tsx +130 -130
- package/src/browser/ai-configuration/tools-configuration-widget.tsx +68 -59
- package/src/browser/ai-configuration/variable-configuration-widget.tsx +95 -45
- package/src/browser/analyze-gh-ticket-command-contribution.ts +176 -0
- package/src/browser/frontend-module.ts +6 -0
- package/src/browser/implement-gh-ticket-command-contribution.ts +160 -0
- package/src/browser/style/ai-configuration-base.css +90 -0
- package/src/browser/style/ai-configuration-cards.css +60 -0
- package/src/browser/style/ai-configuration-hierarchical.css +61 -0
- package/src/browser/style/ai-configuration-list-detail.css +88 -0
- package/src/browser/style/ai-configuration-table.css +73 -0
- package/src/browser/style/index.css +458 -288
- package/src/browser/style/widgets/mcp-configuration.css +253 -0
- package/src/browser/style/widgets/model-aliases-configuration.css +74 -0
|
@@ -18,38 +18,35 @@ var AITokenUsageConfigurationWidget_1;
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
exports.AITokenUsageConfigurationWidget = void 0;
|
|
20
20
|
const tslib_1 = require("tslib");
|
|
21
|
-
const browser_1 = require("@theia/core/lib/browser");
|
|
22
21
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
22
|
const React = require("@theia/core/shared/react");
|
|
24
23
|
const core_1 = require("@theia/core");
|
|
25
24
|
const token_usage_frontend_service_1 = require("@theia/ai-core/lib/browser/token-usage-frontend-service");
|
|
26
25
|
const date_fns_1 = require("date-fns");
|
|
27
|
-
|
|
28
|
-
let AITokenUsageConfigurationWidget = AITokenUsageConfigurationWidget_1 = class AITokenUsageConfigurationWidget extends
|
|
29
|
-
constructor() {
|
|
30
|
-
super(...arguments);
|
|
31
|
-
// Data will be fetched from the service
|
|
32
|
-
this.tokenUsageData = [];
|
|
33
|
-
}
|
|
26
|
+
const ai_table_configuration_widget_1 = require("./base/ai-table-configuration-widget");
|
|
27
|
+
let AITokenUsageConfigurationWidget = AITokenUsageConfigurationWidget_1 = class AITokenUsageConfigurationWidget extends ai_table_configuration_widget_1.AITableConfigurationWidget {
|
|
34
28
|
init() {
|
|
35
29
|
this.id = AITokenUsageConfigurationWidget_1.ID;
|
|
36
30
|
this.title.label = AITokenUsageConfigurationWidget_1.LABEL;
|
|
37
31
|
this.title.closable = false;
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
40
|
-
|
|
32
|
+
this.addClass('ai-configuration-widget');
|
|
33
|
+
this.loadItems().then(() => this.update());
|
|
34
|
+
this.toDispose.push(this.tokenUsageService.onTokenUsageUpdated(data => {
|
|
35
|
+
this.items = data;
|
|
41
36
|
this.update();
|
|
42
|
-
});
|
|
37
|
+
}));
|
|
43
38
|
}
|
|
44
|
-
async
|
|
39
|
+
async loadItems() {
|
|
45
40
|
try {
|
|
46
|
-
this.
|
|
47
|
-
this.update();
|
|
41
|
+
this.items = await this.tokenUsageService.getTokenUsageData();
|
|
48
42
|
}
|
|
49
43
|
catch (error) {
|
|
50
44
|
this.messageService.error(core_1.nls.localize('theia/ai/tokenUsage/failedToGetTokenUsageData', 'Failed to fetch token usage data: {0}', error));
|
|
51
45
|
}
|
|
52
46
|
}
|
|
47
|
+
getItemId(item) {
|
|
48
|
+
return item.modelId;
|
|
49
|
+
}
|
|
53
50
|
formatNumber(num) {
|
|
54
51
|
return num.toLocaleString();
|
|
55
52
|
}
|
|
@@ -60,76 +57,93 @@ let AITokenUsageConfigurationWidget = AITokenUsageConfigurationWidget_1 = class
|
|
|
60
57
|
return (0, date_fns_1.formatDistanceToNow)(date, { addSuffix: true });
|
|
61
58
|
}
|
|
62
59
|
hasCacheData() {
|
|
63
|
-
return this.
|
|
60
|
+
return this.items.some(model => model.cachedInputTokens !== undefined ||
|
|
64
61
|
model.readCachedInputTokens !== undefined);
|
|
65
62
|
}
|
|
66
|
-
|
|
63
|
+
getColumns() {
|
|
67
64
|
const showCacheColumns = this.hasCacheData();
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
65
|
+
const columns = [
|
|
66
|
+
{
|
|
67
|
+
id: 'model',
|
|
68
|
+
label: core_1.nls.localize('theia/ai/tokenUsage/model', 'Model'),
|
|
69
|
+
className: 'token-usage-model-column',
|
|
70
|
+
renderCell: item => React.createElement("span", null, item.modelId)
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
id: 'input-tokens',
|
|
74
|
+
label: core_1.nls.localize('theia/ai/tokenUsage/inputTokens', 'Input Tokens'),
|
|
75
|
+
className: 'token-usage-column',
|
|
76
|
+
renderCell: item => React.createElement("span", null, this.formatNumber(item.inputTokens))
|
|
77
|
+
}
|
|
78
|
+
];
|
|
79
|
+
if (showCacheColumns) {
|
|
80
|
+
columns.push({
|
|
81
|
+
id: 'cached-input-tokens',
|
|
82
|
+
label: core_1.nls.localize('theia/ai/tokenUsage/cachedInputTokens', 'Input Tokens Written to Cache'),
|
|
83
|
+
className: 'token-usage-column',
|
|
84
|
+
renderCell: item => (React.createElement("span", { title: core_1.nls.localize('theia/ai/tokenUsage/cachedInputTokensTooltip', "Tracked additionally to 'Input Tokens'. Usually more expensive than non-cached tokens.") }, item.cachedInputTokens !== undefined ? this.formatNumber(item.cachedInputTokens) : '-'))
|
|
85
|
+
}, {
|
|
86
|
+
id: 'read-cached-input-tokens',
|
|
87
|
+
label: core_1.nls.localize('theia/ai/tokenUsage/readCachedInputTokens', 'Input Tokens Read From Cache'),
|
|
88
|
+
className: 'token-usage-column',
|
|
89
|
+
renderCell: item => (React.createElement("span", { title: core_1.nls.localize('theia/ai/tokenUsage/readCachedInputTokensTooltip', "Tracked additionally to 'Input Token'. Usually much less expensive than not cached. Usually does not count to rate limits.") }, item.readCachedInputTokens !== undefined ? this.formatNumber(item.readCachedInputTokens) : '-'))
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
columns.push({
|
|
93
|
+
id: 'output-tokens',
|
|
94
|
+
label: core_1.nls.localize('theia/ai/tokenUsage/outputTokens', 'Output Tokens'),
|
|
95
|
+
className: 'token-usage-column',
|
|
96
|
+
renderCell: item => React.createElement("span", null, this.formatNumber(item.outputTokens))
|
|
97
|
+
}, {
|
|
98
|
+
id: 'total-tokens',
|
|
99
|
+
label: core_1.nls.localize('theia/ai/tokenUsage/totalTokens', 'Total Tokens'),
|
|
100
|
+
className: 'token-usage-column',
|
|
101
|
+
renderCell: item => {
|
|
102
|
+
var _a;
|
|
103
|
+
const totalTokens = item.inputTokens + item.outputTokens + ((_a = item.cachedInputTokens) !== null && _a !== void 0 ? _a : 0);
|
|
104
|
+
return (React.createElement("span", { title: core_1.nls.localize('theia/ai/tokenUsage/totalTokensTooltip', "'Input Tokens' + 'Output Tokens'") }, this.formatNumber(totalTokens)));
|
|
105
|
+
}
|
|
106
|
+
}, {
|
|
107
|
+
id: 'last-used',
|
|
108
|
+
label: core_1.nls.localize('theia/ai/tokenUsage/lastUsed', 'Last Used'),
|
|
109
|
+
className: 'token-usage-column',
|
|
110
|
+
renderCell: item => {
|
|
111
|
+
const lastUsedDate = item.lastUsed ? new Date(item.lastUsed) : undefined;
|
|
112
|
+
const exactDateString = lastUsedDate ? lastUsedDate.toLocaleString() : '';
|
|
113
|
+
return React.createElement("span", { title: exactDateString }, this.formatDate(lastUsedDate));
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
return columns;
|
|
77
117
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const lastUsedDate = model.lastUsed ? new Date(model.lastUsed) : undefined;
|
|
81
|
-
const exactDateString = lastUsedDate ? lastUsedDate.toLocaleString() : '';
|
|
82
|
-
const showCacheColumns = this.hasCacheData();
|
|
83
|
-
const totalTokens = model.inputTokens + model.outputTokens + ((_a = model.cachedInputTokens) !== null && _a !== void 0 ? _a : 0);
|
|
84
|
-
return (React.createElement("tr", { key: model.modelId, className: "token-usage-row" },
|
|
85
|
-
React.createElement("td", { className: "token-usage-model-cell" }, model.modelId),
|
|
86
|
-
React.createElement("td", { className: "token-usage-cell" }, this.formatNumber(model.inputTokens)),
|
|
87
|
-
showCacheColumns && (React.createElement(React.Fragment, null,
|
|
88
|
-
React.createElement("td", { className: "token-usage-cell" }, model.cachedInputTokens !== undefined ? this.formatNumber(model.cachedInputTokens) : '-'),
|
|
89
|
-
React.createElement("td", { className: "token-usage-cell" }, model.readCachedInputTokens !== undefined ? this.formatNumber(model.readCachedInputTokens) : '-'))),
|
|
90
|
-
React.createElement("td", { className: "token-usage-cell" }, this.formatNumber(model.outputTokens)),
|
|
91
|
-
React.createElement("td", { className: "token-usage-cell" }, this.formatNumber(totalTokens)),
|
|
92
|
-
React.createElement("td", { className: "token-usage-cell", title: exactDateString }, this.formatDate(lastUsedDate))));
|
|
118
|
+
renderHeader() {
|
|
119
|
+
return undefined;
|
|
93
120
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
121
|
+
renderFooter() {
|
|
122
|
+
if (this.items.length === 0) {
|
|
123
|
+
return (React.createElement("div", { className: "ai-empty-state-content" },
|
|
124
|
+
React.createElement("p", null, core_1.nls.localize('theia/ai/tokenUsage/noData', 'No token usage data available yet.'))));
|
|
98
125
|
}
|
|
99
|
-
const totalInputTokens = this.tokenUsageData.reduce((sum, model) => sum + model.inputTokens, 0);
|
|
100
|
-
const totalOutputTokens = this.tokenUsageData.reduce((sum, model) => sum + model.outputTokens, 0);
|
|
101
|
-
const totalCachedInputTokens = this.tokenUsageData.reduce((sum, model) => sum + (model.cachedInputTokens || 0), 0);
|
|
102
|
-
const totalReadCachedInputTokens = this.tokenUsageData.reduce((sum, model) => sum + (model.readCachedInputTokens || 0), 0);
|
|
103
|
-
const totalTokens = totalInputTokens + totalCachedInputTokens + totalOutputTokens;
|
|
104
126
|
const showCacheColumns = this.hasCacheData();
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
React.createElement("thead", null, this.renderHeaderRow()),
|
|
126
|
-
React.createElement("tbody", null,
|
|
127
|
-
this.tokenUsageData.map(model => this.renderModelRow(model)),
|
|
128
|
-
this.renderSummaryRow()))) : (React.createElement("div", { className: "token-usage-empty" },
|
|
129
|
-
React.createElement("p", null, core_1.nls.localize('theia/ai/tokenUsage/noData', 'No token usage data available yet.'))))),
|
|
130
|
-
React.createElement("div", { className: "token-usage-notes" },
|
|
131
|
-
React.createElement("p", { className: "token-usage-note" },
|
|
132
|
-
React.createElement("i", { className: "codicon codicon-info" }),
|
|
127
|
+
const totalInputTokens = this.items.reduce((sum, model) => sum + model.inputTokens, 0);
|
|
128
|
+
const totalOutputTokens = this.items.reduce((sum, model) => sum + model.outputTokens, 0);
|
|
129
|
+
const totalCachedInputTokens = this.items.reduce((sum, model) => sum + (model.cachedInputTokens || 0), 0);
|
|
130
|
+
const totalReadCachedInputTokens = this.items.reduce((sum, model) => sum + (model.readCachedInputTokens || 0), 0);
|
|
131
|
+
const totalTokens = totalInputTokens + totalCachedInputTokens + totalOutputTokens;
|
|
132
|
+
return (React.createElement("div", { className: "ai-configuration-footer-total" },
|
|
133
|
+
React.createElement("table", { className: "ai-configuration-table" },
|
|
134
|
+
React.createElement("tfoot", null,
|
|
135
|
+
React.createElement("tr", { className: "ai-configuration-footer-total-row" },
|
|
136
|
+
React.createElement("td", { className: "token-usage-model-column" }, core_1.nls.localize('theia/ai/tokenUsage/total', 'Total')),
|
|
137
|
+
React.createElement("td", { className: "token-usage-column" }, this.formatNumber(totalInputTokens)),
|
|
138
|
+
showCacheColumns && (React.createElement(React.Fragment, null,
|
|
139
|
+
React.createElement("td", { className: "token-usage-column" }, this.formatNumber(totalCachedInputTokens)),
|
|
140
|
+
React.createElement("td", { className: "token-usage-column" }, this.formatNumber(totalReadCachedInputTokens)))),
|
|
141
|
+
React.createElement("td", { className: "token-usage-column" }, this.formatNumber(totalOutputTokens)),
|
|
142
|
+
React.createElement("td", { className: "token-usage-column" }, this.formatNumber(totalTokens)),
|
|
143
|
+
React.createElement("td", { className: "token-usage-column" })))),
|
|
144
|
+
React.createElement("div", { className: "ai-configuration-info-box" },
|
|
145
|
+
React.createElement("p", { className: "ai-configuration-info-text" },
|
|
146
|
+
React.createElement("i", { className: "codicon codicon-info ai-configuration-info-icon" }),
|
|
133
147
|
core_1.nls.localize('theia/ai/tokenUsage/note', 'Token usage is tracked since the start of the application and is not persisted.')))));
|
|
134
148
|
}
|
|
135
149
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-usage-configuration-widget.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/token-usage-configuration-widget.tsx"],"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,
|
|
1
|
+
{"version":3,"file":"token-usage-configuration-widget.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/token-usage-configuration-widget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,35 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { ReactWidget } from '@theia/core/lib/browser';
|
|
3
2
|
import * as React from '@theia/core/shared/react';
|
|
4
3
|
import { ToolInvocationRegistry } from '@theia/ai-core';
|
|
5
4
|
import { PreferenceService } from '@theia/core';
|
|
6
5
|
import { ToolConfirmationManager } from '@theia/ai-chat/lib/browser/chat-tool-preference-bindings';
|
|
7
6
|
import { ToolConfirmationMode } from '@theia/ai-chat/lib/common/chat-tool-preferences';
|
|
8
|
-
|
|
7
|
+
import { AITableConfigurationWidget, TableColumn } from './base/ai-table-configuration-widget';
|
|
8
|
+
interface ToolItem {
|
|
9
|
+
name: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class AIToolsConfigurationWidget extends AITableConfigurationWidget<ToolItem> {
|
|
9
12
|
static readonly ID = "ai-tools-configuration-widget";
|
|
10
13
|
static readonly LABEL: string;
|
|
11
14
|
protected readonly confirmationManager: ToolConfirmationManager;
|
|
12
15
|
protected readonly preferenceService: PreferenceService;
|
|
13
16
|
protected readonly toolInvocationRegistry: ToolInvocationRegistry;
|
|
14
|
-
protected tools: string[];
|
|
15
17
|
protected toolConfirmationModes: Record<string, ToolConfirmationMode>;
|
|
16
18
|
protected defaultState: ToolConfirmationMode;
|
|
17
|
-
protected loading: boolean;
|
|
18
19
|
protected init(): void;
|
|
19
20
|
protected loadData(): Promise<void>;
|
|
20
|
-
protected
|
|
21
|
+
protected loadItems(): Promise<void>;
|
|
22
|
+
protected getItemId(item: ToolItem): string;
|
|
21
23
|
protected loadDefaultConfirmation(): Promise<ToolConfirmationMode>;
|
|
22
24
|
protected loadToolConfigurationModes(): Promise<Record<string, ToolConfirmationMode>>;
|
|
23
25
|
protected updateToolConfirmationMode(tool: string, state: ToolConfirmationMode): Promise<void>;
|
|
24
26
|
protected updateDefaultConfirmation(state: ToolConfirmationMode): Promise<void>;
|
|
25
|
-
protected handleToolConfirmationModeChange: (
|
|
27
|
+
protected handleToolConfirmationModeChange: (toolName: string, event: React.ChangeEvent<HTMLSelectElement>) => Promise<void>;
|
|
26
28
|
protected handleDefaultStateChange: (event: React.ChangeEvent<HTMLSelectElement>) => Promise<void>;
|
|
27
29
|
protected resetAllToolsToDefault(): Promise<void>;
|
|
28
|
-
protected
|
|
30
|
+
protected renderHeader(): React.ReactNode;
|
|
31
|
+
protected getColumns(): TableColumn<ToolItem>[];
|
|
32
|
+
protected getRowClassName(item: ToolItem): string;
|
|
29
33
|
}
|
|
34
|
+
export {};
|
|
30
35
|
//# sourceMappingURL=tools-configuration-widget.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools-configuration-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/tools-configuration-widget.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"tools-configuration-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/tools-configuration-widget.tsx"],"names":[],"mappings":";AAkBA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAO,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAQ/F,UAAU,QAAQ;IACd,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,qBACa,0BAA2B,SAAQ,0BAA0B,CAAC,QAAQ,CAAC;IAChF,MAAM,CAAC,QAAQ,CAAC,EAAE,mCAAmC;IACrD,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAkE;IAGvF,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAElE,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAM;IAC3E,SAAS,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAG7C,SAAS,CAAC,IAAI,IAAI,IAAI;cAsBN,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;cAMzB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1C,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;cAG3B,uBAAuB,IAAI,OAAO,CAAC,oBAAoB,CAAC;cAGxD,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;cAG3E,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;cAGpF,yBAAyB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrF,SAAS,CAAC,gCAAgC,aAAoB,MAAM,SAAS,MAAM,WAAW,CAAC,iBAAiB,CAAC,mBAG/G;IACF,SAAS,CAAC,wBAAwB,UAAiB,MAAM,WAAW,CAAC,iBAAiB,CAAC,mBAGrF;cAEc,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;cAcpC,YAAY,IAAI,KAAK,CAAC,SAAS;IA2BlD,SAAS,CAAC,UAAU,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE;cAgC5B,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;CAK7D"}
|
|
@@ -25,21 +25,19 @@ const ai_core_1 = require("@theia/ai-core");
|
|
|
25
25
|
const core_1 = require("@theia/core");
|
|
26
26
|
const chat_tool_preference_bindings_1 = require("@theia/ai-chat/lib/browser/chat-tool-preference-bindings");
|
|
27
27
|
const chat_tool_preferences_1 = require("@theia/ai-chat/lib/common/chat-tool-preferences");
|
|
28
|
+
const ai_table_configuration_widget_1 = require("./base/ai-table-configuration-widget");
|
|
28
29
|
const TOOL_OPTIONS = [
|
|
29
30
|
{ value: chat_tool_preferences_1.ToolConfirmationMode.DISABLED, label: core_1.nls.localizeByDefault('Disabled'), icon: 'close' },
|
|
30
31
|
{ value: chat_tool_preferences_1.ToolConfirmationMode.CONFIRM, label: core_1.nls.localize('theia/ai/ide/toolsConfiguration/toolOptions/confirm/label', 'Confirm'), icon: 'question' },
|
|
31
32
|
{ value: chat_tool_preferences_1.ToolConfirmationMode.ALWAYS_ALLOW, label: core_1.nls.localize('theia/ai/ide/toolsConfiguration/toolOptions/alwaysAllow/label', 'Always Allow'), icon: 'thumbsup' },
|
|
32
33
|
];
|
|
33
|
-
let AIToolsConfigurationWidget = AIToolsConfigurationWidget_1 = class AIToolsConfigurationWidget extends
|
|
34
|
+
let AIToolsConfigurationWidget = AIToolsConfigurationWidget_1 = class AIToolsConfigurationWidget extends ai_table_configuration_widget_1.AITableConfigurationWidget {
|
|
34
35
|
constructor() {
|
|
35
36
|
super(...arguments);
|
|
36
|
-
// Mocked tool list and state
|
|
37
|
-
this.tools = [];
|
|
38
37
|
this.toolConfirmationModes = {};
|
|
39
|
-
this.
|
|
40
|
-
this.handleToolConfirmationModeChange = async (tool, event) => {
|
|
38
|
+
this.handleToolConfirmationModeChange = async (toolName, event) => {
|
|
41
39
|
const newState = event.target.value;
|
|
42
|
-
await this.updateToolConfirmationMode(
|
|
40
|
+
await this.updateToolConfirmationMode(toolName, newState);
|
|
43
41
|
};
|
|
44
42
|
this.handleDefaultStateChange = async (event) => {
|
|
45
43
|
const newState = event.target.value;
|
|
@@ -50,8 +48,8 @@ let AIToolsConfigurationWidget = AIToolsConfigurationWidget_1 = class AIToolsCon
|
|
|
50
48
|
this.id = AIToolsConfigurationWidget_1.ID;
|
|
51
49
|
this.title.label = AIToolsConfigurationWidget_1.LABEL;
|
|
52
50
|
this.title.closable = false;
|
|
53
|
-
this.
|
|
54
|
-
this.update();
|
|
51
|
+
this.addClass('ai-configuration-widget');
|
|
52
|
+
this.loadData().then(() => this.update());
|
|
55
53
|
this.toDispose.pushAll([
|
|
56
54
|
this.preferenceService.onPreferenceChanged(async (e) => {
|
|
57
55
|
if (e.preferenceName === 'ai-features.chat.toolConfirmation') {
|
|
@@ -61,21 +59,22 @@ let AIToolsConfigurationWidget = AIToolsConfigurationWidget_1 = class AIToolsCon
|
|
|
61
59
|
}
|
|
62
60
|
}),
|
|
63
61
|
this.toolInvocationRegistry.onDidChange(async () => {
|
|
64
|
-
|
|
62
|
+
await this.loadItems();
|
|
65
63
|
this.update();
|
|
66
64
|
})
|
|
67
65
|
]);
|
|
68
66
|
}
|
|
69
67
|
async loadData() {
|
|
70
|
-
|
|
71
|
-
this.tools = await this.loadTools();
|
|
68
|
+
await this.loadItems();
|
|
72
69
|
this.defaultState = await this.loadDefaultConfirmation();
|
|
73
70
|
this.toolConfirmationModes = await this.loadToolConfigurationModes();
|
|
74
|
-
this.loading = false;
|
|
75
|
-
this.update();
|
|
76
71
|
}
|
|
77
|
-
async
|
|
78
|
-
|
|
72
|
+
async loadItems() {
|
|
73
|
+
const toolNames = this.toolInvocationRegistry.getAllFunctions().map(func => func.name);
|
|
74
|
+
this.items = toolNames.map(name => ({ name }));
|
|
75
|
+
}
|
|
76
|
+
getItemId(item) {
|
|
77
|
+
return item.name;
|
|
79
78
|
}
|
|
80
79
|
async loadDefaultConfirmation() {
|
|
81
80
|
return this.confirmationManager.getConfirmationMode('*', 'doesNotMatter');
|
|
@@ -101,26 +100,35 @@ let AIToolsConfigurationWidget = AIToolsConfigurationWidget_1 = class AIToolsCon
|
|
|
101
100
|
this.confirmationManager.resetAllConfirmationModeSettings();
|
|
102
101
|
}
|
|
103
102
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
103
|
+
renderHeader() {
|
|
104
|
+
return (React.createElement("div", { className: "ai-tools-configuration-header" },
|
|
105
|
+
React.createElement("div", { style: { fontWeight: 500 } }, core_1.nls.localize('theia/ai/ide/toolsConfiguration/default/label', 'Default Tool Confirmation Mode:')),
|
|
106
|
+
React.createElement("select", { className: "theia-select", value: this.defaultState, onChange: this.handleDefaultStateChange }, TOOL_OPTIONS.map(opt => (React.createElement("option", { key: opt.value, value: opt.value }, opt.label)))),
|
|
107
|
+
React.createElement("button", { className: 'theia-button secondary ai-tools-reset-button', style: { marginLeft: 'auto' }, title: core_1.nls.localize('theia/ai/ide/toolsConfiguration/resetAllTooltip', 'Reset all tools to default'), onClick: () => this.resetAllToolsToDefault() }, core_1.nls.localize('theia/ai/ide/toolsConfiguration/resetAll', 'Reset All'))));
|
|
108
|
+
}
|
|
109
|
+
getColumns() {
|
|
110
|
+
return [
|
|
111
|
+
{
|
|
112
|
+
id: 'tool-name',
|
|
113
|
+
label: core_1.nls.localize('theia/ai/ide/toolsConfiguration/tools/label', 'Tool'),
|
|
114
|
+
className: 'tool-name-column',
|
|
115
|
+
renderCell: (item) => React.createElement("span", null, item.name)
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
id: 'confirmation-mode',
|
|
119
|
+
label: core_1.nls.localize('theia/ai/ide/toolsConfiguration/confirmationMode/label', 'Confirmation Mode'),
|
|
120
|
+
className: 'confirmation-mode-column',
|
|
121
|
+
renderCell: (item) => {
|
|
122
|
+
const state = this.toolConfirmationModes[item.name] || this.defaultState;
|
|
123
|
+
return (React.createElement("select", { className: "theia-select", value: state, onChange: e => this.handleToolConfirmationModeChange(item.name, e) }, TOOL_OPTIONS.map(opt => (React.createElement("option", { key: opt.value, value: opt.value }, opt.label)))));
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
];
|
|
127
|
+
}
|
|
128
|
+
getRowClassName(item) {
|
|
129
|
+
const state = this.toolConfirmationModes[item.name] || this.defaultState;
|
|
130
|
+
const isDefault = state === this.defaultState;
|
|
131
|
+
return isDefault ? 'default-mode' : 'custom-mode';
|
|
124
132
|
}
|
|
125
133
|
};
|
|
126
134
|
exports.AIToolsConfigurationWidget = AIToolsConfigurationWidget;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools-configuration-widget.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/tools-configuration-widget.tsx"],"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,
|
|
1
|
+
{"version":3,"file":"tools-configuration-widget.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/tools-configuration-widget.tsx"],"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,qDAAwD;AACxD,4DAAiF;AACjF,kDAAkD;AAClD,4CAAwD;AACxD,sCAAqD;AACrD,4GAAmG;AACnG,2FAAuF;AACvF,wFAA+F;AAE/F,MAAM,YAAY,GAAmE;IACjF,EAAE,KAAK,EAAE,4CAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAG,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;IACjG,EAAE,KAAK,EAAE,4CAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,2DAA2D,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;IACtJ,EAAE,KAAK,EAAE,4CAAoB,CAAC,YAAY,EAAE,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,+DAA+D,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;CACvK,CAAC;AAOK,IAAM,0BAA0B,kCAAhC,MAAM,0BAA2B,SAAQ,0DAAoC;IAA7E;;QAaO,0BAAqB,GAAyC,EAAE,CAAC;QAqDjE,qCAAgC,GAAG,KAAK,EAAE,QAAgB,EAAE,KAA2C,EAAE,EAAE;YACjH,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAA6B,CAAC;YAC5D,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC,CAAC;QACQ,6BAAwB,GAAG,KAAK,EAAE,KAA2C,EAAE,EAAE;YACvF,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAA6B,CAAC;YAC5D,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC,CAAC;IAgFN,CAAC;IAxIa,IAAI;QACV,IAAI,CAAC,EAAE,GAAG,4BAA0B,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,4BAA0B,CAAC,KAAK,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACnB,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;gBACjD,IAAI,CAAC,CAAC,cAAc,KAAK,mCAAmC,EAAE,CAAC;oBAC3D,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBACzD,IAAI,CAAC,qBAAqB,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBACrE,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClB,CAAC;YACL,CAAC,CAAC;YACF,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;gBAC/C,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC,CAAC;SACL,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,QAAQ;QACpB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACzD,IAAI,CAAC,qBAAqB,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACzE,CAAC;IAES,KAAK,CAAC,SAAS;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvF,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAES,SAAS,CAAC,IAAc;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACS,KAAK,CAAC,uBAAuB;QACnC,OAAO,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAC9E,CAAC;IACS,KAAK,CAAC,0BAA0B;QACtC,OAAO,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,CAAC;IACjE,CAAC;IACS,KAAK,CAAC,0BAA0B,CAAC,IAAY,EAAE,KAA2B;QAChF,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IACS,KAAK,CAAC,yBAAyB,CAAC,KAA2B;QACjE,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAWS,KAAK,CAAC,sBAAsB;QAClC,MAAM,MAAM,GAAG,IAAI,uBAAa,CAAC;YAC7B,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,6DAA6D,EAAE,mCAAmC,CAAC;YACvH,GAAG,EAAE,UAAG,CAAC,QAAQ,CAAC,2DAA2D,EACzE,kHAAkH,CAAC;YACvH,EAAE,EAAE,UAAG,CAAC,QAAQ,CAAC,0CAA0C,EAAE,WAAW,CAAC;YACzE,MAAM,EAAE,UAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC;SAC1C,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,CAAC,mBAAmB,CAAC,gCAAgC,EAAE,CAAC;QAChE,CAAC;IACL,CAAC;IAEkB,YAAY;QAC3B,OAAO,CACH,6BAAK,SAAS,EAAC,+BAA+B;YAC1C,6BAAK,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,IAC1B,UAAG,CAAC,QAAQ,CAAC,+CAA+C,EAAE,iCAAiC,CAAC,CAC/F;YACN,gCACI,SAAS,EAAC,cAAc,EACxB,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,QAAQ,EAAE,IAAI,CAAC,wBAAwB,IAEtC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CACrB,gCAAQ,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAG,GAAG,CAAC,KAAK,CAAU,CACjE,CAAC,CACG;YACT,gCACI,SAAS,EAAC,8CAA8C,EACxD,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAC7B,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,iDAAiD,EAAE,4BAA4B,CAAC,EACpG,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAE3C,UAAG,CAAC,QAAQ,CAAC,0CAA0C,EAAE,WAAW,CAAC,CACjE,CACP,CACT,CAAC;IACN,CAAC;IAES,UAAU;QAChB,OAAO;YACH;gBACI,EAAE,EAAE,WAAW;gBACf,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,6CAA6C,EAAE,MAAM,CAAC;gBAC1E,SAAS,EAAE,kBAAkB;gBAC7B,UAAU,EAAE,CAAC,IAAc,EAAE,EAAE,CAAC,kCAAO,IAAI,CAAC,IAAI,CAAQ;aAC3D;YACD;gBACI,EAAE,EAAE,mBAAmB;gBACvB,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,wDAAwD,EAAE,mBAAmB,CAAC;gBAClG,SAAS,EAAE,0BAA0B;gBACrC,UAAU,EAAE,CAAC,IAAc,EAAE,EAAE;oBAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;oBACzE,OAAO,CACH,gCACI,SAAS,EAAC,cAAc,EACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAEjE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CACrB,gCAAQ,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IACnC,GAAG,CAAC,KAAK,CACL,CACZ,CAAC,CACG,CACZ,CAAC;gBACN,CAAC;aACJ;SACJ,CAAC;IACN,CAAC;IAEkB,eAAe,CAAC,IAAc;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QACzE,MAAM,SAAS,GAAG,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC;QAC9C,OAAO,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;IACtD,CAAC;;AAxJQ,gEAA0B;AACnB,6BAAE,GAAG,+BAA+B,AAAlC,CAAmC;AACrC,gCAAK,GAAG,UAAG,CAAC,QAAQ,CAAC,uCAAuC,EAAE,OAAO,CAAC,AAAjE,CAAkE;AAGpE;IADlB,IAAA,kBAAM,EAAC,uDAAuB,CAAC;sCACQ,uDAAuB;uEAAC;AAG7C;IADlB,IAAA,kBAAM,EAAC,wBAAiB,CAAC;;qEAC8B;AAGrC;IADlB,IAAA,kBAAM,EAAC,gCAAsB,CAAC;;0EACmC;AAMxD;IADT,IAAA,yBAAa,GAAE;;;;sDAqBf;qCArCQ,0BAA0B;IADtC,IAAA,sBAAU,GAAE;GACA,0BAA0B,CAyJtC"}
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { Agent, AgentService, AIVariable, AIVariableService } from '@theia/ai-core/lib/common';
|
|
3
|
-
import { ReactWidget } from '@theia/core/lib/browser';
|
|
4
3
|
import * as React from '@theia/core/shared/react';
|
|
5
4
|
import { AIConfigurationSelectionService } from './ai-configuration-service';
|
|
6
|
-
|
|
5
|
+
import { AIListDetailConfigurationWidget } from './base/ai-list-detail-configuration-widget';
|
|
6
|
+
export declare class AIVariableConfigurationWidget extends AIListDetailConfigurationWidget<AIVariable> {
|
|
7
7
|
static readonly ID = "ai-variable-configuration-container-widget";
|
|
8
8
|
static readonly LABEL: string;
|
|
9
9
|
protected readonly variableService: AIVariableService;
|
|
10
10
|
protected readonly agentService: AgentService;
|
|
11
11
|
protected readonly aiConfigurationSelectionService: AIConfigurationSelectionService;
|
|
12
12
|
protected init(): void;
|
|
13
|
-
protected
|
|
14
|
-
protected
|
|
13
|
+
protected loadItems(): Promise<void>;
|
|
14
|
+
protected getItemId(variable: AIVariable): string;
|
|
15
|
+
protected getItemLabel(variable: AIVariable): string;
|
|
16
|
+
protected getEmptySelectionMessage(): string;
|
|
17
|
+
protected renderItemDetail(variable: AIVariable): React.ReactNode;
|
|
15
18
|
protected renderArgs(variable: AIVariable): React.ReactNode | undefined;
|
|
19
|
+
protected renderReferencedVariables(variable: AIVariable): React.ReactNode | undefined;
|
|
16
20
|
protected showAgentConfiguration(agent: Agent): void;
|
|
17
21
|
protected getAgentsForVariable(variable: AIVariable): Agent[];
|
|
18
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variable-configuration-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/variable-configuration-widget.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"variable-configuration-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/variable-configuration-widget.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG/F,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAE7E,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAE7F,qBACa,6BAA8B,SAAQ,+BAA+B,CAAC,UAAU,CAAC;IAE1F,MAAM,CAAC,QAAQ,CAAC,EAAE,gDAAgD;IAClE,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAsC;IAG3D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAG9C,SAAS,CAAC,QAAQ,CAAC,+BAA+B,EAAE,+BAA+B,CAAC;IAGpF,SAAS,CAAC,IAAI,IAAI,IAAI;cAaN,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAO1C,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM;IAIjD,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM;cAIjC,wBAAwB,IAAI,MAAM;IAIrD,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,KAAK,CAAC,SAAS;IAwBjE,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,GAAG,KAAK,CAAC,SAAS,GAAG,SAAS;IA8BvE,SAAS,CAAC,yBAAyB,CAAC,QAAQ,EAAE,UAAU,GAAG,KAAK,CAAC,SAAS,GAAG,SAAS;IAuBtF,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAKpD,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,UAAU,GAAG,KAAK,EAAE;CAGhE"}
|