@theia/ai-chat 1.61.0-next.8 → 1.62.0-next.3
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/ai-chat-frontend-contribution.d.ts +11 -0
- package/lib/browser/ai-chat-frontend-contribution.d.ts.map +1 -0
- package/lib/browser/ai-chat-frontend-contribution.js +56 -0
- package/lib/browser/ai-chat-frontend-contribution.js.map +1 -0
- package/lib/browser/ai-chat-frontend-module.d.ts.map +1 -1
- package/lib/browser/ai-chat-frontend-module.js +21 -3
- package/lib/browser/ai-chat-frontend-module.js.map +1 -1
- package/lib/browser/change-set-decorator-service.d.ts +24 -0
- package/lib/browser/change-set-decorator-service.d.ts.map +1 -0
- package/lib/browser/change-set-decorator-service.js +66 -0
- package/lib/browser/change-set-decorator-service.js.map +1 -0
- package/lib/browser/change-set-file-element.d.ts +7 -4
- package/lib/browser/change-set-file-element.d.ts.map +1 -1
- package/lib/browser/change-set-file-element.js +20 -12
- package/lib/browser/change-set-file-element.js.map +1 -1
- package/lib/browser/change-set-file-resource.d.ts +1 -42
- package/lib/browser/change-set-file-resource.d.ts.map +1 -1
- package/lib/browser/change-set-file-resource.js +1 -136
- package/lib/browser/change-set-file-resource.js.map +1 -1
- package/lib/browser/change-set-variable.d.ts.map +1 -1
- package/lib/browser/change-set-variable.js +13 -4
- package/lib/browser/change-set-variable.js.map +1 -1
- package/lib/browser/context-file-variable-label-provider.js +1 -1
- package/lib/browser/context-file-variable-label-provider.js.map +1 -1
- package/lib/browser/file-chat-variable-contribution.d.ts.map +1 -1
- package/lib/browser/file-chat-variable-contribution.js +29 -27
- package/lib/browser/file-chat-variable-contribution.js.map +1 -1
- package/lib/browser/task-context-service.d.ts +40 -0
- package/lib/browser/task-context-service.d.ts.map +1 -0
- package/lib/browser/task-context-service.js +148 -0
- package/lib/browser/task-context-service.js.map +1 -0
- package/lib/browser/task-context-storage-service.d.ts +18 -0
- package/lib/browser/task-context-storage-service.d.ts.map +1 -0
- package/lib/browser/task-context-storage-service.js +77 -0
- package/lib/browser/task-context-storage-service.js.map +1 -0
- package/lib/browser/task-context-variable-contribution.d.ts +20 -0
- package/lib/browser/task-context-variable-contribution.d.ts.map +1 -0
- package/lib/browser/task-context-variable-contribution.js +101 -0
- package/lib/browser/task-context-variable-contribution.js.map +1 -0
- package/lib/browser/task-context-variable-label-provider.d.ts +21 -0
- package/lib/browser/task-context-variable-label-provider.d.ts.map +1 -0
- package/lib/browser/task-context-variable-label-provider.js +83 -0
- package/lib/browser/task-context-variable-label-provider.js.map +1 -0
- package/lib/browser/task-context-variable.d.ts +3 -0
- package/lib/browser/task-context-variable.d.ts.map +1 -0
- package/lib/browser/task-context-variable.js +29 -0
- package/lib/browser/task-context-variable.js.map +1 -0
- package/lib/common/chat-agents.d.ts +2 -1
- package/lib/common/chat-agents.d.ts.map +1 -1
- package/lib/common/chat-agents.js +5 -0
- package/lib/common/chat-agents.js.map +1 -1
- package/lib/common/chat-model.d.ts +173 -8
- package/lib/common/chat-model.d.ts.map +1 -1
- package/lib/common/chat-model.js +329 -17
- package/lib/common/chat-model.js.map +1 -1
- package/lib/common/chat-request-parser.d.ts +1 -1
- package/lib/common/chat-request-parser.d.ts.map +1 -1
- package/lib/common/chat-request-parser.js +1 -1
- package/lib/common/chat-request-parser.js.map +1 -1
- package/lib/common/chat-service.d.ts +2 -0
- package/lib/common/chat-service.d.ts.map +1 -1
- package/lib/common/chat-service.js +18 -25
- package/lib/common/chat-service.js.map +1 -1
- package/lib/common/chat-session-naming-service.d.ts.map +1 -1
- package/lib/common/chat-session-naming-service.js +3 -3
- package/lib/common/chat-session-naming-service.js.map +1 -1
- package/lib/common/chat-session-summary-agent-prompt.d.ts +5 -0
- package/lib/common/chat-session-summary-agent-prompt.d.ts.map +1 -0
- package/lib/common/chat-session-summary-agent-prompt.js +30 -0
- package/lib/common/chat-session-summary-agent-prompt.js.map +1 -0
- package/lib/common/chat-session-summary-agent.d.ts +17 -0
- package/lib/common/chat-session-summary-agent.d.ts.map +1 -0
- package/lib/common/chat-session-summary-agent.js +48 -0
- package/lib/common/chat-session-summary-agent.js.map +1 -0
- package/lib/common/context-summary-variable.js +1 -1
- package/lib/common/context-summary-variable.js.map +1 -1
- package/package.json +11 -11
- package/src/browser/ai-chat-frontend-contribution.ts +49 -0
- package/src/browser/ai-chat-frontend-module.ts +25 -4
- package/src/browser/change-set-decorator-service.ts +72 -0
- package/src/browser/change-set-file-element.ts +18 -13
- package/src/browser/change-set-file-resource.ts +1 -138
- package/src/browser/change-set-variable.ts +14 -6
- package/src/browser/context-file-variable-label-provider.ts +1 -1
- package/src/browser/file-chat-variable-contribution.ts +26 -29
- package/src/browser/task-context-service.ts +144 -0
- package/src/browser/task-context-storage-service.ts +75 -0
- package/src/browser/task-context-variable-contribution.ts +93 -0
- package/src/browser/task-context-variable-label-provider.ts +67 -0
- package/src/browser/task-context-variable.ts +28 -0
- package/src/common/chat-agents.ts +6 -1
- package/src/common/chat-model.ts +507 -18
- package/src/common/chat-request-parser.ts +2 -2
- package/src/common/chat-service.ts +17 -26
- package/src/common/chat-session-naming-service.ts +4 -3
- package/src/common/chat-session-summary-agent-prompt.ts +28 -0
- package/src/common/chat-session-summary-agent.ts +42 -0
- package/src/common/context-summary-variable.ts +1 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AIVariableService } from '@theia/ai-core';
|
|
2
|
+
import { Command, CommandContribution, CommandRegistry } from '@theia/core';
|
|
3
|
+
import { ChatService } from '../common';
|
|
4
|
+
export declare const VARIABLE_ADD_CONTEXT_COMMAND: Command;
|
|
5
|
+
export declare class AIChatFrontendContribution implements CommandContribution {
|
|
6
|
+
protected readonly variableService: AIVariableService;
|
|
7
|
+
protected readonly chatService: ChatService;
|
|
8
|
+
registerCommands(registry: CommandRegistry): void;
|
|
9
|
+
addContextVariable(variableName: string, arg: string | undefined): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ai-chat-frontend-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-chat-frontend-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAqB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,eAAO,MAAM,4BAA4B,EAAE,OAGF,CAAC;AAE1C,qBACa,0BAA2B,YAAW,mBAAmB;IAElE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;IAEtD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAE5C,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAO3C,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAQzF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2025 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.AIChatFrontendContribution = exports.VARIABLE_ADD_CONTEXT_COMMAND = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const ai_core_1 = require("@theia/ai-core");
|
|
21
|
+
const core_1 = require("@theia/core");
|
|
22
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
|
+
const common_1 = require("../common");
|
|
24
|
+
exports.VARIABLE_ADD_CONTEXT_COMMAND = core_1.Command.toLocalizedCommand({
|
|
25
|
+
id: 'add-context-variable',
|
|
26
|
+
label: 'Add context variable'
|
|
27
|
+
}, 'theia/ai/chat-ui/addContextVariable');
|
|
28
|
+
let AIChatFrontendContribution = class AIChatFrontendContribution {
|
|
29
|
+
registerCommands(registry) {
|
|
30
|
+
registry.registerCommand(exports.VARIABLE_ADD_CONTEXT_COMMAND, {
|
|
31
|
+
execute: (...args) => args.length > 1 && this.addContextVariable(args[0], args[1]),
|
|
32
|
+
isVisible: () => false,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async addContextVariable(variableName, arg) {
|
|
36
|
+
var _a;
|
|
37
|
+
const variable = this.variableService.getVariable(variableName);
|
|
38
|
+
if (!variable || !ai_core_1.AIContextVariable.is(variable)) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
(_a = this.chatService.getActiveSession()) === null || _a === void 0 ? void 0 : _a.model.context.addVariables({ variable, arg });
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
exports.AIChatFrontendContribution = AIChatFrontendContribution;
|
|
45
|
+
tslib_1.__decorate([
|
|
46
|
+
(0, inversify_1.inject)(ai_core_1.AIVariableService),
|
|
47
|
+
tslib_1.__metadata("design:type", Object)
|
|
48
|
+
], AIChatFrontendContribution.prototype, "variableService", void 0);
|
|
49
|
+
tslib_1.__decorate([
|
|
50
|
+
(0, inversify_1.inject)(common_1.ChatService),
|
|
51
|
+
tslib_1.__metadata("design:type", Object)
|
|
52
|
+
], AIChatFrontendContribution.prototype, "chatService", void 0);
|
|
53
|
+
exports.AIChatFrontendContribution = AIChatFrontendContribution = tslib_1.__decorate([
|
|
54
|
+
(0, inversify_1.injectable)()
|
|
55
|
+
], AIChatFrontendContribution);
|
|
56
|
+
//# sourceMappingURL=ai-chat-frontend-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-chat-frontend-contribution.js","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-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,4CAAsE;AACtE,sCAA4E;AAC5E,4DAAkE;AAClE,sCAAwC;AAE3B,QAAA,4BAA4B,GAAY,cAAO,CAAC,kBAAkB,CAAC;IAC5E,EAAE,EAAE,sBAAsB;IAC1B,KAAK,EAAE,sBAAsB;CAChC,EAAE,qCAAqC,CAAC,CAAC;AAGnC,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAMnC,gBAAgB,CAAC,QAAyB;QACtC,QAAQ,CAAC,eAAe,CAAC,oCAA4B,EAAE;YACnD,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAClF,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;SACzB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,YAAoB,EAAE,GAAuB;;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,IAAI,CAAC,2BAAiB,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/C,OAAO;QACX,CAAC;QAED,MAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,0CAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACvF,CAAC;CACJ,CAAA;AArBY,gEAA0B;AAEhB;IADlB,IAAA,kBAAM,EAAC,2BAAiB,CAAC;;mEAC4B;AAEnC;IADlB,IAAA,kBAAM,EAAC,oBAAW,CAAC;;+DACwB;qCAJnC,0BAA0B;IADtC,IAAA,sBAAU,GAAE;GACA,0BAA0B,CAqBtC"}
|
|
@@ -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;;
|
|
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"}
|
|
@@ -29,7 +29,6 @@ const custom_agent_frontend_application_contribution_1 = require("./custom-agent
|
|
|
29
29
|
const frontend_chat_service_1 = require("./frontend-chat-service");
|
|
30
30
|
const custom_agent_factory_1 = require("./custom-agent-factory");
|
|
31
31
|
const chat_tool_request_service_1 = require("../common/chat-tool-request-service");
|
|
32
|
-
const change_set_file_resource_1 = require("./change-set-file-resource");
|
|
33
32
|
const change_set_file_service_1 = require("./change-set-file-service");
|
|
34
33
|
const context_variable_label_provider_1 = require("./context-variable-label-provider");
|
|
35
34
|
const context_file_variable_label_provider_1 = require("./context-file-variable-label-provider");
|
|
@@ -38,6 +37,13 @@ const context_summary_variable_1 = require("../common/context-summary-variable")
|
|
|
38
37
|
const context_details_variable_1 = require("../common/context-details-variable");
|
|
39
38
|
const change_set_variable_1 = require("./change-set-variable");
|
|
40
39
|
const chat_session_naming_service_1 = require("../common/chat-session-naming-service");
|
|
40
|
+
const change_set_decorator_service_1 = require("./change-set-decorator-service");
|
|
41
|
+
const chat_session_summary_agent_1 = require("../common/chat-session-summary-agent");
|
|
42
|
+
const task_context_variable_contribution_1 = require("./task-context-variable-contribution");
|
|
43
|
+
const task_context_variable_label_provider_1 = require("./task-context-variable-label-provider");
|
|
44
|
+
const task_context_service_1 = require("./task-context-service");
|
|
45
|
+
const task_context_storage_service_1 = require("./task-context-storage-service");
|
|
46
|
+
const ai_chat_frontend_contribution_1 = require("./ai-chat-frontend-contribution");
|
|
41
47
|
exports.default = new inversify_1.ContainerModule(bind => {
|
|
42
48
|
(0, core_1.bindContributionProvider)(bind, common_1.Agent);
|
|
43
49
|
(0, core_1.bindContributionProvider)(bind, common_2.ChatAgent);
|
|
@@ -85,12 +91,24 @@ exports.default = new inversify_1.ContainerModule(bind => {
|
|
|
85
91
|
container.bind(change_set_file_element_1.ChangeSetFileElement).toSelf().inSingletonScope();
|
|
86
92
|
return container.get(change_set_file_element_1.ChangeSetFileElement);
|
|
87
93
|
});
|
|
88
|
-
bind(
|
|
89
|
-
bind(
|
|
94
|
+
bind(change_set_decorator_service_1.ChangeSetDecoratorService).toSelf().inSingletonScope();
|
|
95
|
+
bind(browser_1.FrontendApplicationContribution).toService(change_set_decorator_service_1.ChangeSetDecoratorService);
|
|
96
|
+
(0, core_1.bindContributionProvider)(bind, change_set_decorator_service_1.ChangeSetDecorator);
|
|
90
97
|
bind(common_2.ToolCallChatResponseContentFactory).toSelf().inSingletonScope();
|
|
91
98
|
bind(common_1.AIVariableContribution).to(file_chat_variable_contribution_1.FileChatVariableContribution).inSingletonScope();
|
|
92
99
|
bind(common_1.AIVariableContribution).to(context_summary_variable_1.ContextSummaryVariableContribution).inSingletonScope();
|
|
93
100
|
bind(common_1.AIVariableContribution).to(context_details_variable_1.ContextDetailsVariableContribution).inSingletonScope();
|
|
94
101
|
bind(common_1.AIVariableContribution).to(change_set_variable_1.ChangeSetVariableContribution).inSingletonScope();
|
|
102
|
+
bind(chat_session_summary_agent_1.ChatSessionSummaryAgent).toSelf().inSingletonScope();
|
|
103
|
+
bind(common_1.Agent).toService(chat_session_summary_agent_1.ChatSessionSummaryAgent);
|
|
104
|
+
bind(task_context_variable_contribution_1.TaskContextVariableContribution).toSelf().inSingletonScope();
|
|
105
|
+
bind(common_1.AIVariableContribution).toService(task_context_variable_contribution_1.TaskContextVariableContribution);
|
|
106
|
+
bind(task_context_variable_label_provider_1.TaskContextVariableLabelProvider).toSelf().inSingletonScope();
|
|
107
|
+
bind(browser_1.LabelProviderContribution).toService(task_context_variable_label_provider_1.TaskContextVariableLabelProvider);
|
|
108
|
+
bind(task_context_service_1.TaskContextService).toSelf().inSingletonScope();
|
|
109
|
+
bind(task_context_storage_service_1.InMemoryTaskContextStorage).toSelf().inSingletonScope();
|
|
110
|
+
bind(task_context_service_1.TaskContextStorageService).toService(task_context_storage_service_1.InMemoryTaskContextStorage);
|
|
111
|
+
bind(ai_chat_frontend_contribution_1.AIChatFrontendContribution).toSelf().inSingletonScope();
|
|
112
|
+
bind(core_1.CommandContribution).toService(ai_chat_frontend_contribution_1.AIChatFrontendContribution);
|
|
95
113
|
});
|
|
96
114
|
//# sourceMappingURL=ai-chat-frontend-module.js.map
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"ai-chat-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/// <reference types="lodash" />
|
|
2
|
+
import { ContributionProvider, Emitter, type Event } from '@theia/core';
|
|
3
|
+
import { type FrontendApplicationContribution } from '@theia/core/lib/browser';
|
|
4
|
+
import type { ChangeSetDecoration, ChangeSetElement } from '../common';
|
|
5
|
+
/**
|
|
6
|
+
* A decorator for a change set element.
|
|
7
|
+
* It allows to add additional information to the element, such as icons.
|
|
8
|
+
*/
|
|
9
|
+
export declare const ChangeSetDecorator: unique symbol;
|
|
10
|
+
export interface ChangeSetDecorator {
|
|
11
|
+
readonly id: string;
|
|
12
|
+
readonly onDidChangeDecorations: Event<void>;
|
|
13
|
+
decorate(element: ChangeSetElement): ChangeSetDecoration | undefined;
|
|
14
|
+
}
|
|
15
|
+
export declare class ChangeSetDecoratorService implements FrontendApplicationContribution {
|
|
16
|
+
protected readonly onDidChangeDecorationsEmitter: Emitter<void>;
|
|
17
|
+
readonly onDidChangeDecorations: Event<void>;
|
|
18
|
+
protected readonly contributions: ContributionProvider<ChangeSetDecorator>;
|
|
19
|
+
initialize(): void;
|
|
20
|
+
protected readonly fireDidChangeDecorations: import("lodash").DebouncedFunc<() => void>;
|
|
21
|
+
getDecorations(element: ChangeSetElement): ChangeSetDecoration[];
|
|
22
|
+
getAdditionalInfoSuffixIcon(element: ChangeSetElement): string[] | undefined;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=change-set-decorator-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-set-decorator-service.d.ts","sourceRoot":"","sources":["../../src/browser/change-set-decorator-service.ts"],"names":[],"mappings":";AAgBA,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAG/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAE7C,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,SAAS,CAAC;CACxE;AAED,qBACa,yBAA0B,YAAW,+BAA+B;IAE7E,SAAS,CAAC,QAAQ,CAAC,6BAA6B,gBAAuB;IACvE,QAAQ,CAAC,sBAAsB,cAA4C;IAG3E,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAE3E,UAAU,IAAI,IAAI;IAIlB,SAAS,CAAC,QAAQ,CAAC,wBAAwB,6CAEnC;IAER,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,mBAAmB,EAAE;IAehE,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,EAAE,GAAG,SAAS;CAI/E"}
|
|
@@ -0,0 +1,66 @@
|
|
|
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.ChangeSetDecoratorService = exports.ChangeSetDecorator = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const core_1 = require("@theia/core");
|
|
21
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
+
const debounce = require("@theia/core/shared/lodash.debounce");
|
|
23
|
+
/**
|
|
24
|
+
* A decorator for a change set element.
|
|
25
|
+
* It allows to add additional information to the element, such as icons.
|
|
26
|
+
*/
|
|
27
|
+
exports.ChangeSetDecorator = Symbol('ChangeSetDecorator');
|
|
28
|
+
let ChangeSetDecoratorService = class ChangeSetDecoratorService {
|
|
29
|
+
constructor() {
|
|
30
|
+
this.onDidChangeDecorationsEmitter = new core_1.Emitter();
|
|
31
|
+
this.onDidChangeDecorations = this.onDidChangeDecorationsEmitter.event;
|
|
32
|
+
this.fireDidChangeDecorations = debounce(() => {
|
|
33
|
+
this.onDidChangeDecorationsEmitter.fire(undefined);
|
|
34
|
+
}, 150);
|
|
35
|
+
}
|
|
36
|
+
initialize() {
|
|
37
|
+
this.contributions.getContributions().map(decorator => decorator.onDidChangeDecorations(this.fireDidChangeDecorations));
|
|
38
|
+
}
|
|
39
|
+
getDecorations(element) {
|
|
40
|
+
const decorators = this.contributions.getContributions();
|
|
41
|
+
const decorations = [];
|
|
42
|
+
for (const decorator of decorators) {
|
|
43
|
+
const decoration = decorator.decorate(element);
|
|
44
|
+
if (decoration) {
|
|
45
|
+
decorations.push(decoration);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
decorations.sort((a, b) => { var _a, _b; return ((_a = b.priority) !== null && _a !== void 0 ? _a : 0) - ((_b = a.priority) !== null && _b !== void 0 ? _b : 0); });
|
|
49
|
+
return decorations;
|
|
50
|
+
}
|
|
51
|
+
getAdditionalInfoSuffixIcon(element) {
|
|
52
|
+
var _a;
|
|
53
|
+
const decorations = this.getDecorations(element);
|
|
54
|
+
return (_a = decorations.find(d => d.additionalInfoSuffixIcon)) === null || _a === void 0 ? void 0 : _a.additionalInfoSuffixIcon;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
exports.ChangeSetDecoratorService = ChangeSetDecoratorService;
|
|
58
|
+
tslib_1.__decorate([
|
|
59
|
+
(0, inversify_1.inject)(core_1.ContributionProvider),
|
|
60
|
+
(0, inversify_1.named)(exports.ChangeSetDecorator),
|
|
61
|
+
tslib_1.__metadata("design:type", Object)
|
|
62
|
+
], ChangeSetDecoratorService.prototype, "contributions", void 0);
|
|
63
|
+
exports.ChangeSetDecoratorService = ChangeSetDecoratorService = tslib_1.__decorate([
|
|
64
|
+
(0, inversify_1.injectable)()
|
|
65
|
+
], ChangeSetDecoratorService);
|
|
66
|
+
//# sourceMappingURL=change-set-decorator-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-set-decorator-service.js","sourceRoot":"","sources":["../../src/browser/change-set-decorator-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,sCAAwE;AAExE,4DAAyE;AACzE,+DAAgE;AAGhE;;;GAGG;AACU,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAUxD,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAA/B;QAEgB,kCAA6B,GAAG,IAAI,cAAO,EAAQ,CAAC;QAC9D,2BAAsB,GAAG,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC;QASxD,6BAAwB,GAAG,QAAQ,CAAC,GAAG,EAAE;YACxD,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC,EAAE,GAAG,CAAC,CAAC;IAqBZ,CAAC;IA3BG,UAAU;QACN,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC5H,CAAC;IAMD,cAAc,CAAC,OAAyB;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QACzD,MAAM,WAAW,GAA0B,EAAE,CAAC;QAC9C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,UAAU,EAAE,CAAC;gBACb,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,eAAC,OAAA,CAAC,MAAA,CAAC,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAA,EAAA,CAAC,CAAC;QAElE,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,2BAA2B,CAAC,OAAyB;;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,MAAA,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,0CAAE,wBAAwB,CAAC;IACvF,CAAC;CACJ,CAAA;AAnCY,8DAAyB;AAMf;IADlB,IAAA,kBAAM,EAAC,2BAAoB,CAAC;IAAE,IAAA,iBAAK,EAAC,0BAAkB,CAAC;;gEACmB;oCANlE,yBAAyB;IADrC,IAAA,sBAAU,GAAE;GACA,yBAAyB,CAmCrC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { DisposableCollection, Emitter, URI } from '@theia/core';
|
|
2
2
|
import { Replacement } from '@theia/core/lib/common/content-replacer';
|
|
3
|
+
import { ConfigurableInMemoryResources, ConfigurableMutableReferenceResource } from '@theia/ai-core';
|
|
3
4
|
import { ChangeSetElement, ChangeSetImpl } from '../common';
|
|
4
|
-
import { ChangeSetFileResourceResolver, UpdatableReferenceResource } from './change-set-file-resource';
|
|
5
5
|
import { ChangeSetFileService } from './change-set-file-service';
|
|
6
6
|
import { FileService } from '@theia/filesystem/lib/browser/file-service';
|
|
7
|
+
import { ChangeSetDecoratorService } from './change-set-decorator-service';
|
|
7
8
|
export declare const ChangeSetFileElementFactory: unique symbol;
|
|
8
9
|
export type ChangeSetFileElementFactory = (elementProps: ChangeSetElementArgs) => ChangeSetFileElement;
|
|
9
10
|
type ChangeSetElementState = ChangeSetElement['state'];
|
|
@@ -30,18 +31,20 @@ export declare class ChangeSetFileElement implements ChangeSetElement {
|
|
|
30
31
|
static toReadOnlyUri(baseUri: URI, sessionId: string): URI;
|
|
31
32
|
protected readonly elementProps: ChangeSetElementArgs;
|
|
32
33
|
protected readonly changeSetFileService: ChangeSetFileService;
|
|
34
|
+
protected readonly changeSetDecoratorService: ChangeSetDecoratorService;
|
|
33
35
|
protected readonly fileService: FileService;
|
|
34
|
-
protected readonly
|
|
36
|
+
protected readonly inMemoryResources: ConfigurableInMemoryResources;
|
|
35
37
|
protected readonly toDispose: DisposableCollection;
|
|
36
38
|
protected _state: ChangeSetElementState;
|
|
37
39
|
protected originalContent: string | undefined;
|
|
38
40
|
protected readonly onDidChangeEmitter: Emitter<void>;
|
|
39
41
|
readonly onDidChange: import("@theia/core").Event<void>;
|
|
40
|
-
protected readOnlyResource:
|
|
41
|
-
protected changeResource:
|
|
42
|
+
protected readOnlyResource: ConfigurableMutableReferenceResource;
|
|
43
|
+
protected changeResource: ConfigurableMutableReferenceResource;
|
|
42
44
|
init(): void;
|
|
43
45
|
protected obtainOriginalContent(): Promise<void>;
|
|
44
46
|
protected getResources(): void;
|
|
47
|
+
protected getInMemoryUri(uri: URI): ConfigurableMutableReferenceResource;
|
|
45
48
|
protected listenForOriginalFileChanges(): void;
|
|
46
49
|
get uri(): URI;
|
|
47
50
|
get readOnlyUri(): URI;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-set-file-element.d.ts","sourceRoot":"","sources":["../../src/browser/change-set-file-element.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"change-set-file-element.d.ts","sourceRoot":"","sources":["../../src/browser/change-set-file-element.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,oCAAoC,EAAE,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAEzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,eAAO,MAAM,2BAA2B,eAAwC,CAAC;AACjF,MAAM,MAAM,2BAA2B,GAAG,CAAC,YAAY,EAAE,oBAAoB,KAAK,oBAAoB,CAAC;AACvG,KAAK,qBAAqB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAEvD,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AACnE,MAAM,WAAW,oBAAqB,SAAQ,OAAO,CAAC,gBAAgB,CAAC;IACnE,gFAAgF;IAChF,GAAG,EAAE,GAAG,CAAC;IACT,8CAA8C;IAC9C,SAAS,EAAE,aAAa,CAAC;IACzB,qEAAqE;IACrE,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAChC;AAED,qBACa,oBAAqB,YAAW,gBAAgB;IAEzD,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG;IAK1D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAG9D,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;IAGxE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;IAEpE,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAC1D,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAExC,SAAS,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,gBAAuB;IAC5D,QAAQ,CAAC,WAAW,oCAAiC;IACrD,SAAS,CAAC,gBAAgB,EAAE,oCAAoC,CAAC;IACjE,SAAS,CAAC,cAAc,EAAE,oCAAoC,CAAC;IAG/D,IAAI,IAAI,IAAI;cAOI,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtD,SAAS,CAAC,YAAY,IAAI,IAAI;IAQ9B,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,oCAAoC;IAIxE,SAAS,CAAC,4BAA4B,IAAI,IAAI;IAgB9C,IAAI,GAAG,IAAI,GAAG,CAEb;IAED,IAAI,WAAW,IAAI,GAAG,CAErB;IAED,IAAI,UAAU,IAAI,GAAG,CAEpB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,cAAc,IAAI,MAAM,GAAG,SAAS,CAEvC;IAED,IAAI,KAAK,IAAI,qBAAqB,CAEjC;IAED,SAAS,KAAK,KAAK,CAAC,KAAK,EAAE,qBAAqB,EAK/C;IAED,IAAI,YAAY,IAAI,WAAW,EAAE,GAAG,SAAS,CAE5C;IAED,IAAI,IAAI,IAAI,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAElD;IAED,IAAI,IAAI,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAAE,GAAG,SAAS,CAElD;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAavC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAUvB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU7C,OAAO,IAAI,IAAI;CAGlB"}
|
|
@@ -20,10 +20,12 @@ exports.ChangeSetFileElement = exports.ChangeSetElementArgs = exports.ChangeSetF
|
|
|
20
20
|
const tslib_1 = require("tslib");
|
|
21
21
|
const core_1 = require("@theia/core");
|
|
22
22
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
|
+
const ai_core_1 = require("@theia/ai-core");
|
|
23
24
|
const change_set_file_resource_1 = require("./change-set-file-resource");
|
|
24
25
|
const change_set_file_service_1 = require("./change-set-file-service");
|
|
25
26
|
const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
|
|
26
27
|
const browser_1 = require("@theia/core/lib/browser");
|
|
28
|
+
const change_set_decorator_service_1 = require("./change-set-decorator-service");
|
|
27
29
|
exports.ChangeSetFileElementFactory = Symbol('ChangeSetFileElementFactory');
|
|
28
30
|
exports.ChangeSetElementArgs = Symbol('ChangeSetElementArgs');
|
|
29
31
|
;
|
|
@@ -50,17 +52,19 @@ let ChangeSetFileElement = ChangeSetFileElement_1 = class ChangeSetFileElement {
|
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
54
|
getResources() {
|
|
53
|
-
|
|
54
|
-
this.readOnlyResource
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
+
}
|
|
61
|
+
getInMemoryUri(uri) {
|
|
62
|
+
try {
|
|
63
|
+
return this.inMemoryResources.resolve(uri);
|
|
58
64
|
}
|
|
59
|
-
|
|
60
|
-
|
|
65
|
+
catch {
|
|
66
|
+
return this.inMemoryResources.add(uri, { contents: '' });
|
|
61
67
|
}
|
|
62
|
-
this.changeResource = changed;
|
|
63
|
-
this.toDispose.pushAll([this.readOnlyResource, this.changeResource]);
|
|
64
68
|
}
|
|
65
69
|
listenForOriginalFileChanges() {
|
|
66
70
|
this.toDispose.push(this.fileService.onDidFilesChange(async (event) => {
|
|
@@ -186,14 +190,18 @@ tslib_1.__decorate([
|
|
|
186
190
|
(0, inversify_1.inject)(change_set_file_service_1.ChangeSetFileService),
|
|
187
191
|
tslib_1.__metadata("design:type", change_set_file_service_1.ChangeSetFileService)
|
|
188
192
|
], ChangeSetFileElement.prototype, "changeSetFileService", void 0);
|
|
193
|
+
tslib_1.__decorate([
|
|
194
|
+
(0, inversify_1.inject)(change_set_decorator_service_1.ChangeSetDecoratorService),
|
|
195
|
+
tslib_1.__metadata("design:type", change_set_decorator_service_1.ChangeSetDecoratorService)
|
|
196
|
+
], ChangeSetFileElement.prototype, "changeSetDecoratorService", void 0);
|
|
189
197
|
tslib_1.__decorate([
|
|
190
198
|
(0, inversify_1.inject)(file_service_1.FileService),
|
|
191
199
|
tslib_1.__metadata("design:type", file_service_1.FileService)
|
|
192
200
|
], ChangeSetFileElement.prototype, "fileService", void 0);
|
|
193
201
|
tslib_1.__decorate([
|
|
194
|
-
(0, inversify_1.inject)(
|
|
195
|
-
tslib_1.__metadata("design:type",
|
|
196
|
-
], ChangeSetFileElement.prototype, "
|
|
202
|
+
(0, inversify_1.inject)(ai_core_1.ConfigurableInMemoryResources),
|
|
203
|
+
tslib_1.__metadata("design:type", ai_core_1.ConfigurableInMemoryResources)
|
|
204
|
+
], ChangeSetFileElement.prototype, "inMemoryResources", void 0);
|
|
197
205
|
tslib_1.__decorate([
|
|
198
206
|
(0, inversify_1.postConstruct)(),
|
|
199
207
|
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":";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,sCAAiE;AACjE,4DAAiF;
|
|
1
|
+
{"version":3,"file":"change-set-file-element.js","sourceRoot":"","sources":["../../src/browser/change-set-file-element.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,sCAAiE;AACjE,4DAAiF;AAEjF,4CAAqG;AAErG,yEAAoE;AACpE,uEAAiE;AACjE,6EAAyE;AACzE,qDAAwD;AACxD,iFAA2E;AAE9D,QAAA,2BAA2B,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC;AAIpE,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAkBlE,CAAC;AAGK,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAA1B;QAqBgB,cAAS,GAAG,IAAI,2BAAoB,EAAE,CAAC;QAKvC,uBAAkB,GAAG,IAAI,cAAO,EAAQ,CAAC;QACnD,gBAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAuJzD,CAAC;IAhLG,MAAM,CAAC,aAAa,CAAC,OAAY,EAAE,SAAiB;QAChD,OAAO,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC/E,CAAC;IA4BD,IAAI;QACA,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjD,CAAC;IAES,KAAK,CAAC,qBAAqB;;QACjC,IAAI,CAAC,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAA,IAAI,CAAC,eAAe,mCAAI,EAAE,EAAE,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAE/B,CAAC;IACL,CAAC;IAES,YAAY;QAClB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/H,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACzE,CAAC;IAES,cAAc,CAAC,GAAQ;QAC7B,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAAC,CAAC;IAC3H,CAAC;IAES,4BAA4B;QAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;YAChE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC1C,wGAAwG;YACxG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;YACvD,IAAI,UAAU,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;gBACtC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YAC3B,CAAC;iBAAM,IAAI,UAAU,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;YACzB,CAAC;QACL,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;IACjC,CAAC;IAED,IAAI,WAAW;QACX,OAAO,sBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAA,iDAAsB,EAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,IAAI;;QACJ,OAAO,MAAA,IAAI,CAAC,YAAY,CAAC,IAAI,mCAAI,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,IAAI;;QACJ,OAAO,MAAA,IAAI,CAAC,YAAY,CAAC,IAAI,mCAAI,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,KAAK;;QACL,OAAO,MAAA,IAAI,CAAC,MAAM,mCAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;IAClD,CAAC;IAED,IAAc,KAAK,CAAC,KAA4B;QAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;IACL,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAClC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAClC,CAAC;IAAA,CAAC;IAEF,IAAI,WAAW;;QACX,OAAO,MAAA,IAAI,CAAC,YAAY,CAAC,WAAW,mCAAI,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAC9B,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,UAAU,CAClB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAiB;QACzB,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC9D,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAiB;QAChC,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,IAAI,CAAC,WAAW,CAAC,CAAC;QACnG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM;QACR,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1E,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACtB,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,MAAM,IAAI,uBAAa,CAAC;YAClC,KAAK,EAAE,GAAG,IAAI,cAAc;YAC5B,GAAG,EAAE,YAAY,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,+EAA+E,IAAI,CAAC,WAAW,EAAE,cAAc;SAC3J,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,CAAC,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ,CAAA;AAlLY,oDAAoB;AAOV;IADlB,IAAA,kBAAM,EAAC,4BAAoB,CAAC;;0DACyB;AAGnC;IADlB,IAAA,kBAAM,EAAC,8CAAoB,CAAC;sCACY,8CAAoB;kEAAC;AAG3C;IADlB,IAAA,kBAAM,EAAC,wDAAyB,CAAC;sCACY,wDAAyB;uEAAC;AAGrD;IADlB,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCACY,0BAAW;yDAAC;AAGzB;IADlB,IAAA,kBAAM,EAAC,uCAA6B,CAAC;sCACA,uCAA6B;+DAAC;AAapE;IADC,IAAA,yBAAa,GAAE;;;;gDAMf;+BArCQ,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CAkLhC"}
|
|
@@ -1,45 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { URI } from '@theia/core';
|
|
2
2
|
export declare const CHANGE_SET_FILE_RESOURCE_SCHEME = "changeset-file";
|
|
3
|
-
export type ResourceInitializationOptions = Pick<Resource, 'autosaveable' | 'initiallyDirty' | 'readOnly'> & {
|
|
4
|
-
contents?: string;
|
|
5
|
-
onSave?: Resource['saveContents'];
|
|
6
|
-
};
|
|
7
|
-
export type ResourceUpdateOptions = Pick<ResourceInitializationOptions, 'contents' | 'onSave'>;
|
|
8
3
|
export declare function createChangeSetFileUri(chatSessionId: string, elementUri: URI): URI;
|
|
9
|
-
export declare class UpdatableReferenceResource extends ReferenceMutableResource {
|
|
10
|
-
protected reference: DisposableRefCounter<DisposableMutableResource>;
|
|
11
|
-
static acquire(resource: UpdatableReferenceResource): UpdatableReferenceResource;
|
|
12
|
-
constructor(reference: DisposableRefCounter<DisposableMutableResource>);
|
|
13
|
-
update(options: ResourceUpdateOptions): void;
|
|
14
|
-
get readOnly(): Resource['readOnly'];
|
|
15
|
-
get initiallyDirty(): boolean;
|
|
16
|
-
get autosaveable(): boolean;
|
|
17
|
-
}
|
|
18
|
-
export declare class DisposableMutableResource extends MutableResource {
|
|
19
|
-
protected readonly options?: ResourceInitializationOptions | undefined;
|
|
20
|
-
onSave: Resource['saveContents'] | undefined;
|
|
21
|
-
constructor(uri: URI, options?: ResourceInitializationOptions | undefined);
|
|
22
|
-
get readOnly(): Resource['readOnly'];
|
|
23
|
-
get autosaveable(): boolean;
|
|
24
|
-
get initiallyDirty(): boolean;
|
|
25
|
-
saveContents(contents: string): Promise<void>;
|
|
26
|
-
update(options: ResourceUpdateOptions): void;
|
|
27
|
-
dispose(): void;
|
|
28
|
-
}
|
|
29
|
-
export declare class DisposableRefCounter<V = unknown> implements Reference<V> {
|
|
30
|
-
protected readonly onDispose: () => void;
|
|
31
|
-
static acquire<V>(item: DisposableRefCounter<V>): DisposableRefCounter<V>;
|
|
32
|
-
static create<V>(value: V, onDispose: () => void): DisposableRefCounter<V>;
|
|
33
|
-
readonly object: V;
|
|
34
|
-
protected refs: number;
|
|
35
|
-
protected constructor(value: V, onDispose: () => void);
|
|
36
|
-
dispose(): void;
|
|
37
|
-
}
|
|
38
|
-
export declare class ChangeSetFileResourceResolver implements ResourceResolver {
|
|
39
|
-
protected readonly cache: Map<string, UpdatableReferenceResource>;
|
|
40
|
-
add(uri: URI, options?: ResourceInitializationOptions): UpdatableReferenceResource;
|
|
41
|
-
tryGet(uri: URI): UpdatableReferenceResource | undefined;
|
|
42
|
-
update(uri: URI, contents: string): void;
|
|
43
|
-
resolve(uri: URI): UpdatableReferenceResource;
|
|
44
|
-
}
|
|
45
4
|
//# sourceMappingURL=change-set-file-resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-set-file-resource.d.ts","sourceRoot":"","sources":["../../src/browser/change-set-file-resource.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"change-set-file-resource.d.ts","sourceRoot":"","sources":["../../src/browser/change-set-file-resource.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,eAAO,MAAM,+BAA+B,mBAAmB,CAAC;AAEhE,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,GAAG,CAElF"}
|
|
@@ -15,145 +15,10 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const core_1 = require("@theia/core");
|
|
21
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
18
|
+
exports.createChangeSetFileUri = exports.CHANGE_SET_FILE_RESOURCE_SCHEME = void 0;
|
|
22
19
|
exports.CHANGE_SET_FILE_RESOURCE_SCHEME = 'changeset-file';
|
|
23
20
|
function createChangeSetFileUri(chatSessionId, elementUri) {
|
|
24
21
|
return elementUri.withScheme(exports.CHANGE_SET_FILE_RESOURCE_SCHEME).withAuthority(chatSessionId);
|
|
25
22
|
}
|
|
26
23
|
exports.createChangeSetFileUri = createChangeSetFileUri;
|
|
27
|
-
class UpdatableReferenceResource extends core_1.ReferenceMutableResource {
|
|
28
|
-
static acquire(resource) {
|
|
29
|
-
DisposableRefCounter.acquire(resource.reference);
|
|
30
|
-
return resource;
|
|
31
|
-
}
|
|
32
|
-
constructor(reference) {
|
|
33
|
-
super(reference);
|
|
34
|
-
this.reference = reference;
|
|
35
|
-
}
|
|
36
|
-
update(options) {
|
|
37
|
-
this.reference.object.update(options);
|
|
38
|
-
}
|
|
39
|
-
get readOnly() {
|
|
40
|
-
return this.reference.object.readOnly;
|
|
41
|
-
}
|
|
42
|
-
get initiallyDirty() {
|
|
43
|
-
return this.reference.object.initiallyDirty;
|
|
44
|
-
}
|
|
45
|
-
get autosaveable() {
|
|
46
|
-
return this.reference.object.autosaveable;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
exports.UpdatableReferenceResource = UpdatableReferenceResource;
|
|
50
|
-
class DisposableMutableResource extends core_1.MutableResource {
|
|
51
|
-
constructor(uri, options) {
|
|
52
|
-
var _a;
|
|
53
|
-
super(uri);
|
|
54
|
-
this.options = options;
|
|
55
|
-
this.onSave = options === null || options === void 0 ? void 0 : options.onSave;
|
|
56
|
-
this.contents = (_a = options === null || options === void 0 ? void 0 : options.contents) !== null && _a !== void 0 ? _a : '';
|
|
57
|
-
}
|
|
58
|
-
get readOnly() {
|
|
59
|
-
var _a;
|
|
60
|
-
return ((_a = this.options) === null || _a === void 0 ? void 0 : _a.readOnly) || !this.onSave;
|
|
61
|
-
}
|
|
62
|
-
get autosaveable() {
|
|
63
|
-
var _a;
|
|
64
|
-
return ((_a = this.options) === null || _a === void 0 ? void 0 : _a.autosaveable) !== false;
|
|
65
|
-
}
|
|
66
|
-
get initiallyDirty() {
|
|
67
|
-
var _a;
|
|
68
|
-
return !!((_a = this.options) === null || _a === void 0 ? void 0 : _a.initiallyDirty);
|
|
69
|
-
}
|
|
70
|
-
async saveContents(contents) {
|
|
71
|
-
var _a;
|
|
72
|
-
if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.onSave) {
|
|
73
|
-
await this.options.onSave(contents);
|
|
74
|
-
this.update({ contents });
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
update(options) {
|
|
78
|
-
if (options.contents !== undefined && options.contents !== this.contents) {
|
|
79
|
-
this.contents = options.contents;
|
|
80
|
-
this.fireDidChangeContents();
|
|
81
|
-
}
|
|
82
|
-
if ('onSave' in options && options.onSave !== this.onSave) {
|
|
83
|
-
this.onSave = options.onSave;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
dispose() {
|
|
87
|
-
this.onDidChangeContentsEmitter.dispose();
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
exports.DisposableMutableResource = DisposableMutableResource;
|
|
91
|
-
class DisposableRefCounter {
|
|
92
|
-
static acquire(item) {
|
|
93
|
-
item.refs++;
|
|
94
|
-
return item;
|
|
95
|
-
}
|
|
96
|
-
static create(value, onDispose) {
|
|
97
|
-
return this.acquire(new this(value, onDispose));
|
|
98
|
-
}
|
|
99
|
-
constructor(value, onDispose) {
|
|
100
|
-
this.onDispose = onDispose;
|
|
101
|
-
this.refs = 0;
|
|
102
|
-
this.object = value;
|
|
103
|
-
}
|
|
104
|
-
dispose() {
|
|
105
|
-
this.refs--;
|
|
106
|
-
if (this.refs === 0) {
|
|
107
|
-
this.onDispose();
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
exports.DisposableRefCounter = DisposableRefCounter;
|
|
112
|
-
let ChangeSetFileResourceResolver = class ChangeSetFileResourceResolver {
|
|
113
|
-
constructor() {
|
|
114
|
-
this.cache = new Map();
|
|
115
|
-
}
|
|
116
|
-
add(uri, options) {
|
|
117
|
-
const key = uri.toString();
|
|
118
|
-
if (this.cache.has(key)) {
|
|
119
|
-
throw new Error(`Resource ${key} already exists.`);
|
|
120
|
-
}
|
|
121
|
-
const underlyingResource = new DisposableMutableResource(uri, options);
|
|
122
|
-
const ref = DisposableRefCounter.create(underlyingResource, () => {
|
|
123
|
-
underlyingResource.dispose();
|
|
124
|
-
this.cache.delete(key);
|
|
125
|
-
});
|
|
126
|
-
const refResource = new UpdatableReferenceResource(ref);
|
|
127
|
-
this.cache.set(key, refResource);
|
|
128
|
-
return refResource;
|
|
129
|
-
}
|
|
130
|
-
tryGet(uri) {
|
|
131
|
-
try {
|
|
132
|
-
return this.resolve(uri);
|
|
133
|
-
}
|
|
134
|
-
catch {
|
|
135
|
-
return undefined;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
update(uri, contents) {
|
|
139
|
-
const key = uri.toString();
|
|
140
|
-
const resource = this.cache.get(key);
|
|
141
|
-
if (!resource) {
|
|
142
|
-
throw new Error(`No resource for ${key}.`);
|
|
143
|
-
}
|
|
144
|
-
resource.update({ contents });
|
|
145
|
-
}
|
|
146
|
-
resolve(uri) {
|
|
147
|
-
const key = uri.toString();
|
|
148
|
-
const ref = this.cache.get(key);
|
|
149
|
-
if (!ref) {
|
|
150
|
-
throw new Error(`No resource for ${key}.`);
|
|
151
|
-
}
|
|
152
|
-
return UpdatableReferenceResource.acquire(ref);
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
exports.ChangeSetFileResourceResolver = ChangeSetFileResourceResolver;
|
|
156
|
-
exports.ChangeSetFileResourceResolver = ChangeSetFileResourceResolver = tslib_1.__decorate([
|
|
157
|
-
(0, inversify_1.injectable)()
|
|
158
|
-
], ChangeSetFileResourceResolver);
|
|
159
24
|
//# sourceMappingURL=change-set-file-resource.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-set-file-resource.js","sourceRoot":"","sources":["../../src/browser/change-set-file-resource.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
|
|
1
|
+
{"version":3,"file":"change-set-file-resource.js","sourceRoot":"","sources":["../../src/browser/change-set-file-resource.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;;;AAInE,QAAA,+BAA+B,GAAG,gBAAgB,CAAC;AAEhE,SAAgB,sBAAsB,CAAC,aAAqB,EAAE,UAAe;IACzE,OAAO,UAAU,CAAC,UAAU,CAAC,uCAA+B,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AAC/F,CAAC;AAFD,wDAEC"}
|