@theia/ai-core 1.60.2 → 1.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/lib/browser/ai-core-frontend-module.d.ts.map +1 -1
  2. package/lib/browser/ai-core-frontend-module.js +16 -0
  3. package/lib/browser/ai-core-frontend-module.js.map +1 -1
  4. package/lib/browser/ai-variable-uri-label-provider.d.ts +17 -0
  5. package/lib/browser/ai-variable-uri-label-provider.d.ts.map +1 -0
  6. package/lib/browser/ai-variable-uri-label-provider.js +85 -0
  7. package/lib/browser/ai-variable-uri-label-provider.js.map +1 -0
  8. package/lib/browser/file-variable-contribution.d.ts +9 -3
  9. package/lib/browser/file-variable-contribution.d.ts.map +1 -1
  10. package/lib/browser/file-variable-contribution.js +26 -8
  11. package/lib/browser/file-variable-contribution.js.map +1 -1
  12. package/lib/browser/frontend-prompt-customization-service.d.ts +22 -1
  13. package/lib/browser/frontend-prompt-customization-service.d.ts.map +1 -1
  14. package/lib/browser/frontend-prompt-customization-service.js +63 -25
  15. package/lib/browser/frontend-prompt-customization-service.js.map +1 -1
  16. package/lib/browser/frontend-variable-service.d.ts +28 -4
  17. package/lib/browser/frontend-variable-service.d.ts.map +1 -1
  18. package/lib/browser/frontend-variable-service.js +84 -1
  19. package/lib/browser/frontend-variable-service.js.map +1 -1
  20. package/lib/browser/prompttemplate-contribution.d.ts +0 -3
  21. package/lib/browser/prompttemplate-contribution.d.ts.map +1 -1
  22. package/lib/browser/prompttemplate-contribution.js +5 -24
  23. package/lib/browser/prompttemplate-contribution.js.map +1 -1
  24. package/lib/browser/token-usage-frontend-service-impl.d.ts +25 -0
  25. package/lib/browser/token-usage-frontend-service-impl.d.ts.map +1 -0
  26. package/lib/browser/token-usage-frontend-service-impl.js +120 -0
  27. package/lib/browser/token-usage-frontend-service-impl.js.map +1 -0
  28. package/lib/browser/token-usage-frontend-service.d.ts +29 -0
  29. package/lib/browser/token-usage-frontend-service.d.ts.map +1 -0
  30. package/lib/browser/token-usage-frontend-service.js +23 -0
  31. package/lib/browser/token-usage-frontend-service.js.map +1 -0
  32. package/lib/common/ai-variable-resource.d.ts +18 -0
  33. package/lib/common/ai-variable-resource.d.ts.map +1 -0
  34. package/lib/common/ai-variable-resource.js +103 -0
  35. package/lib/common/ai-variable-resource.js.map +1 -0
  36. package/lib/common/configurable-in-memory-resources.d.ts +45 -0
  37. package/lib/common/configurable-in-memory-resources.d.ts.map +1 -0
  38. package/lib/common/configurable-in-memory-resources.js +147 -0
  39. package/lib/common/configurable-in-memory-resources.js.map +1 -0
  40. package/lib/common/index.d.ts +3 -0
  41. package/lib/common/index.d.ts.map +1 -1
  42. package/lib/common/index.js +3 -0
  43. package/lib/common/index.js.map +1 -1
  44. package/lib/common/language-model.d.ts +7 -2
  45. package/lib/common/language-model.d.ts.map +1 -1
  46. package/lib/common/language-model.js +5 -1
  47. package/lib/common/language-model.js.map +1 -1
  48. package/lib/common/prompt-service.d.ts +16 -4
  49. package/lib/common/prompt-service.d.ts.map +1 -1
  50. package/lib/common/prompt-service.js +1 -1
  51. package/lib/common/prompt-service.js.map +1 -1
  52. package/lib/common/prompt-variable-contribution.d.ts +2 -1
  53. package/lib/common/prompt-variable-contribution.d.ts.map +1 -1
  54. package/lib/common/prompt-variable-contribution.js +10 -1
  55. package/lib/common/prompt-variable-contribution.js.map +1 -1
  56. package/lib/common/protocol.d.ts +14 -0
  57. package/lib/common/protocol.d.ts.map +1 -1
  58. package/lib/common/protocol.js +3 -1
  59. package/lib/common/protocol.js.map +1 -1
  60. package/lib/common/token-usage-service.d.ts +35 -0
  61. package/lib/common/token-usage-service.d.ts.map +1 -0
  62. package/lib/common/token-usage-service.js +20 -0
  63. package/lib/common/token-usage-service.js.map +1 -0
  64. package/lib/common/variable-service.d.ts +17 -2
  65. package/lib/common/variable-service.d.ts.map +1 -1
  66. package/lib/common/variable-service.js +43 -32
  67. package/lib/common/variable-service.js.map +1 -1
  68. package/lib/node/ai-core-backend-module.d.ts.map +1 -1
  69. package/lib/node/ai-core-backend-module.js +9 -0
  70. package/lib/node/ai-core-backend-module.js.map +1 -1
  71. package/lib/node/language-model-frontend-delegate.d.ts +2 -2
  72. package/lib/node/language-model-frontend-delegate.d.ts.map +1 -1
  73. package/lib/node/language-model-frontend-delegate.js.map +1 -1
  74. package/lib/node/token-usage-service-impl.d.ts +23 -0
  75. package/lib/node/token-usage-service-impl.d.ts.map +1 -0
  76. package/lib/node/token-usage-service-impl.js +65 -0
  77. package/lib/node/token-usage-service-impl.js.map +1 -0
  78. package/package.json +11 -10
  79. package/src/browser/ai-core-frontend-module.ts +26 -5
  80. package/src/browser/ai-variable-uri-label-provider.ts +66 -0
  81. package/src/browser/file-variable-contribution.ts +34 -14
  82. package/src/browser/frontend-prompt-customization-service.ts +72 -25
  83. package/src/browser/frontend-variable-service.ts +115 -5
  84. package/src/browser/prompttemplate-contribution.ts +5 -26
  85. package/src/browser/token-usage-frontend-service-impl.ts +117 -0
  86. package/src/browser/token-usage-frontend-service.ts +47 -0
  87. package/src/common/ai-variable-resource.ts +86 -0
  88. package/src/common/configurable-in-memory-resources.ts +156 -0
  89. package/src/common/index.ts +3 -0
  90. package/src/common/language-model.ts +10 -2
  91. package/src/common/prompt-service.ts +14 -4
  92. package/src/common/prompt-variable-contribution.ts +10 -2
  93. package/src/common/protocol.ts +18 -0
  94. package/src/common/token-usage-service.ts +56 -0
  95. package/src/common/variable-service.ts +58 -44
  96. package/src/node/ai-core-backend-module.ts +21 -1
  97. package/src/node/language-model-frontend-delegate.ts +2 -2
  98. package/src/node/token-usage-service-impl.ts +65 -0
@@ -15,12 +15,34 @@
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.DefaultFrontendVariableService = exports.FrontendVariableService = void 0;
18
+ exports.DefaultFrontendVariableService = exports.FrontendVariableService = exports.AIVariableCompletionContext = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const core_1 = require("@theia/core");
21
+ const browser_1 = require("@theia/core/lib/browser");
21
22
  const inversify_1 = require("@theia/core/shared/inversify");
22
23
  const common_1 = require("../common");
24
+ const monaco = require("@theia/monaco-editor-core");
23
25
  ;
26
+ var AIVariableCompletionContext;
27
+ (function (AIVariableCompletionContext) {
28
+ function get(variableName, model, position, matchString) {
29
+ const lineContent = model.getLineContent(position.lineNumber);
30
+ const indexOfVariableTrigger = lineContent.lastIndexOf(matchString !== null && matchString !== void 0 ? matchString : common_1.PromptText.VARIABLE_CHAR, position.column - 1);
31
+ // check if there is a variable trigger and no space typed between the variable trigger and the cursor
32
+ if (indexOfVariableTrigger === -1 || lineContent.substring(indexOfVariableTrigger).includes(' ')) {
33
+ return undefined;
34
+ }
35
+ // determine whether we are providing completions before or after the variable argument separator
36
+ const indexOfVariableArgSeparator = lineContent.lastIndexOf(common_1.PromptText.VARIABLE_SEPARATOR_CHAR, position.column - 1);
37
+ const triggerCharIndex = Math.max(indexOfVariableTrigger, indexOfVariableArgSeparator);
38
+ const userInput = lineContent.substring(triggerCharIndex + 1, position.column - 1);
39
+ const range = new monaco.Range(position.lineNumber, triggerCharIndex + 2, position.lineNumber, position.column);
40
+ const matchVariableChar = lineContent[triggerCharIndex] === (matchString ? matchString : common_1.PromptText.VARIABLE_CHAR);
41
+ const prefix = matchVariableChar ? variableName + common_1.PromptText.VARIABLE_SEPARATOR_CHAR : '';
42
+ return { range, userInput, prefix };
43
+ }
44
+ AIVariableCompletionContext.get = get;
45
+ })(AIVariableCompletionContext || (exports.AIVariableCompletionContext = AIVariableCompletionContext = {}));
24
46
  exports.FrontendVariableService = Symbol('FrontendVariableService');
25
47
  let DefaultFrontendVariableService = class DefaultFrontendVariableService extends common_1.DefaultAIVariableService {
26
48
  constructor() {
@@ -51,8 +73,69 @@ let DefaultFrontendVariableService = class DefaultFrontendVariableService extend
51
73
  }
52
74
  return { variables, text };
53
75
  }
76
+ registerOpener(variable, opener) {
77
+ var _a;
78
+ const key = this.getKey(variable.name);
79
+ if (!this.variables.get(key)) {
80
+ this.variables.set(key, variable);
81
+ this.onDidChangeVariablesEmitter.fire();
82
+ }
83
+ const openers = (_a = this.openers.get(key)) !== null && _a !== void 0 ? _a : [];
84
+ openers.push(opener);
85
+ this.openers.set(key, openers);
86
+ return core_1.Disposable.create(() => this.unregisterOpener(variable, opener));
87
+ }
88
+ unregisterOpener(variable, opener) {
89
+ const key = this.getKey(variable.name);
90
+ const registeredOpeners = this.openers.get(key);
91
+ registeredOpeners === null || registeredOpeners === void 0 ? void 0 : registeredOpeners.splice(registeredOpeners.indexOf(opener), 1);
92
+ }
93
+ async getOpener(name, arg, context = {}) {
94
+ var _a;
95
+ const variable = this.getVariable(name);
96
+ return variable && core_1.Prioritizeable.prioritizeAll((_a = this.openers.get(this.getKey(name))) !== null && _a !== void 0 ? _a : [], opener => (async () => opener.canOpen({ variable, arg }, context))().catch(() => 0))
97
+ .then(prioritized => { var _a; return (_a = prioritized.at(0)) === null || _a === void 0 ? void 0 : _a.value; });
98
+ }
99
+ async open(request, context) {
100
+ const { variableName, arg } = this.parseRequest(request);
101
+ const variable = this.getVariable(variableName);
102
+ if (!variable) {
103
+ this.messageService.warn('No variable found for open request.');
104
+ return;
105
+ }
106
+ const opener = await this.getOpener(variableName, arg, context);
107
+ try {
108
+ return opener ? opener.open({ variable, arg }, context !== null && context !== void 0 ? context : {}) : this.openReadonly({ variable, arg }, context);
109
+ }
110
+ catch (err) {
111
+ console.error('Unable to open variable:', err);
112
+ this.messageService.error('Unable to display variable value.');
113
+ }
114
+ }
115
+ async openReadonly(request, context = {}) {
116
+ const resolved = await this.resolveVariable(request, context);
117
+ if (resolved === undefined) {
118
+ this.messageService.warn('Unable to resolve variable.');
119
+ return;
120
+ }
121
+ const resource = this.aiResourceResolver.getOrCreate(request, context, resolved.value);
122
+ await (0, browser_1.open)(this.openerService, resource.uri);
123
+ resource.dispose();
124
+ }
54
125
  };
55
126
  exports.DefaultFrontendVariableService = DefaultFrontendVariableService;
127
+ tslib_1.__decorate([
128
+ (0, inversify_1.inject)(core_1.MessageService),
129
+ tslib_1.__metadata("design:type", core_1.MessageService)
130
+ ], DefaultFrontendVariableService.prototype, "messageService", void 0);
131
+ tslib_1.__decorate([
132
+ (0, inversify_1.inject)(common_1.AIVariableResourceResolver),
133
+ tslib_1.__metadata("design:type", common_1.AIVariableResourceResolver)
134
+ ], DefaultFrontendVariableService.prototype, "aiResourceResolver", void 0);
135
+ tslib_1.__decorate([
136
+ (0, inversify_1.inject)(browser_1.OpenerService),
137
+ tslib_1.__metadata("design:type", Object)
138
+ ], DefaultFrontendVariableService.prototype, "openerService", void 0);
56
139
  exports.DefaultFrontendVariableService = DefaultFrontendVariableService = tslib_1.__decorate([
57
140
  (0, inversify_1.injectable)()
58
141
  ], DefaultFrontendVariableService);
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-variable-service.js","sourceRoot":"","sources":["../../src/browser/frontend-variable-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,sCAAyC;AAEzC,4DAA0D;AAC1D,sCAAwH;AAOvH,CAAC;AAEW,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAYlE,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,iCAAwB;IAArE;;QACO,iBAAY,GAAG,IAAI,GAAG,EAAyB,CAAC;IA6B9D,CAAC;IA3BG,OAAO;QACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,mBAAmB,CAAC,OAA8B;QAC9C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,iBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,qBAAqB,CAAC,OAA8B;QAChD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAgB,EAAE,OAA0B;QAC5D,IAAI,IAAI,GAAuB,SAAS,CAAC;QACzC,MAAM,SAAS,GAAkC,EAAE,CAAC;QACpD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7C,IAAI,MAAM,EAAE,CAAC;gBACT,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBACpC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACrB,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;gBACvB,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;CACJ,CAAA;AA9BY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,sBAAU,GAAE;GACA,8BAA8B,CA8B1C"}
1
+ {"version":3,"file":"frontend-variable-service.js","sourceRoot":"","sources":["../../src/browser/frontend-variable-service.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,8 @@ import { ProviderResult } from '@theia/monaco-editor-core/esm/vs/editor/common/l
9
9
  import { AIVariableService } from '../common/variable-service';
10
10
  export declare const PROMPT_TEMPLATE_EXTENSION = ".prompttemplate";
11
11
  export declare const DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS: Command;
12
- export declare const SHOW_ALL_PROMPTS_COMMAND: Command;
13
12
  export declare class PromptTemplateContribution implements LanguageGrammarDefinitionContribution, CommandContribution, TabBarToolbarContribution {
14
13
  private readonly promptService;
15
- private readonly messageService;
16
14
  protected readonly customizationService: PromptCustomizationService;
17
15
  protected readonly toolInvocationRegistry: ToolInvocationRegistry;
18
16
  protected readonly variableService: AIVariableService;
@@ -27,7 +25,6 @@ export declare class PromptTemplateContribution implements LanguageGrammarDefini
27
25
  protected isPromptTemplateWidget(widget: Widget): boolean;
28
26
  protected canDiscard(widget: EditorWidget): boolean;
29
27
  protected discard(widget: EditorWidget): Promise<void>;
30
- private showAllPrompts;
31
28
  registerToolbarItems(registry: TabBarToolbarRegistry): void;
32
29
  }
33
30
  //# sourceMappingURL=prompttemplate-contribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompttemplate-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/prompttemplate-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAgD,qCAAqC,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3J,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAuB,MAAM,aAAa,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAEjH,OAAO,EAAW,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAoB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAA6B,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAK/D,eAAO,MAAM,yBAAyB,oBAAoB,CAAC;AAE3D,eAAO,MAAM,sCAAsC,EAAE,OAIb,CAAC;AAGzC,eAAO,MAAM,wBAAwB,EAAE,OAKmC,CAAC;AAE3E,qBACa,0BAA2B,YAAW,qCAAqC,EAAE,mBAAmB,EAAE,yBAAyB;IAGpI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAG9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAGhD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;IAEtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAoBjD;IAEN,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IA6C1D,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;IAavI,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;IAajI,iCAAiC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;IA2C7I,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS;IAwBnI,OAAO,CAAC,cAAc;IAwBtB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAYjD,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAOzD,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;cAWnC,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC5D,OAAO,CAAC,cAAc;IAOtB,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;CAO9D"}
1
+ {"version":3,"file":"prompttemplate-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/prompttemplate-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAgD,qCAAqC,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3J,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAO,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAEjH,OAAO,EAAW,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAoB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAA6B,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAK/D,eAAO,MAAM,yBAAyB,oBAAoB,CAAC;AAE3D,eAAO,MAAM,sCAAsC,EAAE,OAKc,CAAC;AAEpE,qBACa,0BAA2B,YAAW,qCAAqC,EAAE,mBAAmB,EAAE,yBAAyB;IAGpI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAG9C,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;IAEtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAoBjD;IAEN,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IA6C1D,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;IAavI,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;IAajI,iCAAiC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;IA2C7I,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS;IAwBnI,OAAO,CAAC,cAAc;IAwBtB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAQjD,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAOzD,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;cAWnC,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC5D,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;CAO9D"}
@@ -15,7 +15,7 @@
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.PromptTemplateContribution = exports.SHOW_ALL_PROMPTS_COMMAND = exports.DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS = exports.PROMPT_TEMPLATE_EXTENSION = void 0;
18
+ exports.PromptTemplateContribution = exports.DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS = exports.PROMPT_TEMPLATE_EXTENSION = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const inversify_1 = require("@theia/core/shared/inversify");
21
21
  const monaco = require("@theia/monaco-editor-core");
@@ -29,16 +29,10 @@ const PROMPT_TEMPLATE_TEXTMATE_SCOPE = 'source.prompttemplate';
29
29
  exports.PROMPT_TEMPLATE_EXTENSION = '.prompttemplate';
30
30
  exports.DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS = core_1.Command.toLocalizedCommand({
31
31
  id: 'theia-ai-prompt-template:discard',
32
+ label: 'Discard AI Prompt Template',
32
33
  iconClass: (0, browser_1.codicon)('discard'),
33
- category: 'Theia AI Prompt Templates'
34
- }, '', 'theia/ai/core/prompts/category');
35
- // TODO this command is mainly for testing purposes
36
- exports.SHOW_ALL_PROMPTS_COMMAND = core_1.Command.toLocalizedCommand({
37
- id: 'theia-ai-prompt-template:show-prompts-command',
38
- label: 'Show all prompts',
39
- iconClass: (0, browser_1.codicon)('beaker'),
40
- category: 'Theia AI Prompt Templates',
41
- }, 'theia/ai/core/showAllPrompts/label', 'theia/ai/core/prompts/category');
34
+ category: 'AI Prompt Templates'
35
+ }, 'theia/ai/core/discard/label', 'theia/ai/core/prompts/category');
42
36
  let PromptTemplateContribution = class PromptTemplateContribution {
43
37
  constructor() {
44
38
  this.config = {
@@ -66,7 +60,7 @@ let PromptTemplateContribution = class PromptTemplateContribution {
66
60
  monaco.languages.register({
67
61
  id: PROMPT_TEMPLATE_LANGUAGE_ID,
68
62
  'aliases': [
69
- 'Theia AI Prompt Templates'
63
+ 'AI Prompt Template'
70
64
  ],
71
65
  'extensions': [
72
66
  exports.PROMPT_TEMPLATE_EXTENSION,
@@ -175,9 +169,6 @@ let PromptTemplateContribution = class PromptTemplateContribution {
175
169
  isEnabled: (widget) => this.canDiscard(widget),
176
170
  execute: (widget) => this.discard(widget)
177
171
  });
178
- commands.registerCommand(exports.SHOW_ALL_PROMPTS_COMMAND, {
179
- execute: () => this.showAllPrompts()
180
- });
181
172
  }
182
173
  isPromptTemplateWidget(widget) {
183
174
  if (widget instanceof browser_2.EditorWidget) {
@@ -225,12 +216,6 @@ let PromptTemplateContribution = class PromptTemplateContribution {
225
216
  replaceOperations: [replaceOperation]
226
217
  });
227
218
  }
228
- showAllPrompts() {
229
- const allPrompts = this.promptService.getAllPrompts();
230
- Object.keys(allPrompts).forEach(id => {
231
- this.messageService.info(`Prompt Template ID: ${id}\n${allPrompts[id].template}`, 'Got it');
232
- });
233
- }
234
219
  registerToolbarItems(registry) {
235
220
  registry.registerItem({
236
221
  id: exports.DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS.id,
@@ -244,10 +229,6 @@ tslib_1.__decorate([
244
229
  (0, inversify_1.inject)(common_1.PromptService),
245
230
  tslib_1.__metadata("design:type", Object)
246
231
  ], PromptTemplateContribution.prototype, "promptService", void 0);
247
- tslib_1.__decorate([
248
- (0, inversify_1.inject)(core_1.MessageService),
249
- tslib_1.__metadata("design:type", core_1.MessageService)
250
- ], PromptTemplateContribution.prototype, "messageService", void 0);
251
232
  tslib_1.__decorate([
252
233
  (0, inversify_1.inject)(common_1.PromptCustomizationService),
253
234
  tslib_1.__metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"prompttemplate-contribution.js","sourceRoot":"","sources":["../../src/browser/prompttemplate-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompttemplate-contribution.js","sourceRoot":"","sources":["../../src/browser/prompttemplate-contribution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { ModelTokenUsageData, TokenUsageFrontendService } from './token-usage-frontend-service';
2
+ import { TokenUsage, TokenUsageService } from '../common/token-usage-service';
3
+ import { TokenUsageServiceClient } from '../common/protocol';
4
+ export declare class TokenUsageServiceClientImpl implements TokenUsageServiceClient {
5
+ private readonly _onTokenUsageUpdated;
6
+ readonly onTokenUsageUpdated: import("@theia/core").Event<TokenUsage>;
7
+ notifyTokenUsage(usage: TokenUsage): void;
8
+ }
9
+ export declare class TokenUsageFrontendServiceImpl implements TokenUsageFrontendService {
10
+ protected readonly tokenUsageServiceClient: TokenUsageServiceClient;
11
+ protected readonly tokenUsageService: TokenUsageService;
12
+ private readonly _onTokenUsageUpdated;
13
+ readonly onTokenUsageUpdated: import("@theia/core").Event<ModelTokenUsageData[]>;
14
+ private cachedUsageData;
15
+ protected init(): void;
16
+ /**
17
+ * Gets the current token usage data for all models
18
+ */
19
+ getTokenUsageData(): Promise<ModelTokenUsageData[]>;
20
+ /**
21
+ * Aggregates token usages by model
22
+ */
23
+ private aggregateTokenUsages;
24
+ }
25
+ //# sourceMappingURL=token-usage-frontend-service-impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-usage-frontend-service-impl.d.ts","sourceRoot":"","sources":["../../src/browser/token-usage-frontend-service-impl.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,qBACa,2BAA4B,YAAW,uBAAuB;IACvE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA6B;IAClE,QAAQ,CAAC,mBAAmB,0CAAmC;IAE/D,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAI5C;AAED,qBACa,6BAA8B,YAAW,yBAAyB;IAG3E,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAwC;IAC7E,QAAQ,CAAC,mBAAmB,qDAAmC;IAE/D,OAAO,CAAC,eAAe,CAA6B;IAGpD,SAAS,CAAC,IAAI,IAAI,IAAI;IAQtB;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAWzD;;OAEG;IACH,OAAO,CAAC,oBAAoB;CA2C/B"}
@@ -0,0 +1,120 @@
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.TokenUsageFrontendServiceImpl = exports.TokenUsageServiceClientImpl = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const core_1 = require("@theia/core");
22
+ const token_usage_service_1 = require("../common/token-usage-service");
23
+ const protocol_1 = require("../common/protocol");
24
+ let TokenUsageServiceClientImpl = class TokenUsageServiceClientImpl {
25
+ constructor() {
26
+ this._onTokenUsageUpdated = new core_1.Emitter();
27
+ this.onTokenUsageUpdated = this._onTokenUsageUpdated.event;
28
+ }
29
+ notifyTokenUsage(usage) {
30
+ this._onTokenUsageUpdated.fire(usage);
31
+ }
32
+ };
33
+ exports.TokenUsageServiceClientImpl = TokenUsageServiceClientImpl;
34
+ exports.TokenUsageServiceClientImpl = TokenUsageServiceClientImpl = tslib_1.__decorate([
35
+ (0, inversify_1.injectable)()
36
+ ], TokenUsageServiceClientImpl);
37
+ let TokenUsageFrontendServiceImpl = class TokenUsageFrontendServiceImpl {
38
+ constructor() {
39
+ this._onTokenUsageUpdated = new core_1.Emitter();
40
+ this.onTokenUsageUpdated = this._onTokenUsageUpdated.event;
41
+ this.cachedUsageData = [];
42
+ }
43
+ init() {
44
+ this.tokenUsageServiceClient.onTokenUsageUpdated(() => {
45
+ this.getTokenUsageData().then(data => {
46
+ this._onTokenUsageUpdated.fire(data);
47
+ });
48
+ });
49
+ }
50
+ /**
51
+ * Gets the current token usage data for all models
52
+ */
53
+ async getTokenUsageData() {
54
+ try {
55
+ const usages = await this.tokenUsageService.getTokenUsages();
56
+ this.cachedUsageData = this.aggregateTokenUsages(usages);
57
+ return this.cachedUsageData;
58
+ }
59
+ catch (error) {
60
+ console.error('Failed to get token usage data:', error);
61
+ return [];
62
+ }
63
+ }
64
+ /**
65
+ * Aggregates token usages by model
66
+ */
67
+ aggregateTokenUsages(usages) {
68
+ // Group by model
69
+ const modelMap = new Map();
70
+ // Process each usage record
71
+ for (const usage of usages) {
72
+ const existing = modelMap.get(usage.model);
73
+ if (existing) {
74
+ existing.inputTokens += usage.inputTokens;
75
+ existing.outputTokens += usage.outputTokens;
76
+ // Update last used if this usage is more recent
77
+ if (!existing.lastUsed || (usage.timestamp && usage.timestamp > existing.lastUsed)) {
78
+ existing.lastUsed = usage.timestamp;
79
+ }
80
+ }
81
+ else {
82
+ modelMap.set(usage.model, {
83
+ inputTokens: usage.inputTokens,
84
+ outputTokens: usage.outputTokens,
85
+ lastUsed: usage.timestamp
86
+ });
87
+ }
88
+ }
89
+ // Convert map to array of model usage data
90
+ const result = [];
91
+ for (const [modelId, data] of modelMap.entries()) {
92
+ result.push({
93
+ modelId,
94
+ inputTokens: data.inputTokens,
95
+ outputTokens: data.outputTokens,
96
+ lastUsed: data.lastUsed
97
+ });
98
+ }
99
+ return result;
100
+ }
101
+ };
102
+ exports.TokenUsageFrontendServiceImpl = TokenUsageFrontendServiceImpl;
103
+ tslib_1.__decorate([
104
+ (0, inversify_1.inject)(protocol_1.TokenUsageServiceClient),
105
+ tslib_1.__metadata("design:type", Object)
106
+ ], TokenUsageFrontendServiceImpl.prototype, "tokenUsageServiceClient", void 0);
107
+ tslib_1.__decorate([
108
+ (0, inversify_1.inject)(token_usage_service_1.TokenUsageService),
109
+ tslib_1.__metadata("design:type", Object)
110
+ ], TokenUsageFrontendServiceImpl.prototype, "tokenUsageService", void 0);
111
+ tslib_1.__decorate([
112
+ (0, inversify_1.postConstruct)(),
113
+ tslib_1.__metadata("design:type", Function),
114
+ tslib_1.__metadata("design:paramtypes", []),
115
+ tslib_1.__metadata("design:returntype", void 0)
116
+ ], TokenUsageFrontendServiceImpl.prototype, "init", null);
117
+ exports.TokenUsageFrontendServiceImpl = TokenUsageFrontendServiceImpl = tslib_1.__decorate([
118
+ (0, inversify_1.injectable)()
119
+ ], TokenUsageFrontendServiceImpl);
120
+ //# sourceMappingURL=token-usage-frontend-service-impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-usage-frontend-service-impl.js","sourceRoot":"","sources":["../../src/browser/token-usage-frontend-service-impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { Event } from '@theia/core';
2
+ /**
3
+ * Data structure for token usage data specific to a model.
4
+ */
5
+ export interface ModelTokenUsageData {
6
+ /** The model identifier */
7
+ modelId: string;
8
+ /** Number of input tokens used */
9
+ inputTokens: number;
10
+ /** Number of output tokens used */
11
+ outputTokens: number;
12
+ /** Date when the model was last used */
13
+ lastUsed?: Date;
14
+ }
15
+ /**
16
+ * Service for managing token usage data on the frontend.
17
+ */
18
+ export declare const TokenUsageFrontendService: unique symbol;
19
+ export interface TokenUsageFrontendService {
20
+ /**
21
+ * Event emitted when token usage data is updated
22
+ */
23
+ readonly onTokenUsageUpdated: Event<ModelTokenUsageData[]>;
24
+ /**
25
+ * Gets the current token usage data for all models
26
+ */
27
+ getTokenUsageData(): Promise<ModelTokenUsageData[]>;
28
+ }
29
+ //# sourceMappingURL=token-usage-frontend-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-usage-frontend-service.d.ts","sourceRoot":"","sources":["../../src/browser/token-usage-frontend-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,eAAsC,CAAC;AAC7E,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE3D;;OAEG;IACH,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;CACvD"}
@@ -0,0 +1,23 @@
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.TokenUsageFrontendService = void 0;
19
+ /**
20
+ * Service for managing token usage data on the frontend.
21
+ */
22
+ exports.TokenUsageFrontendService = Symbol('TokenUsageFrontendService');
23
+ //# sourceMappingURL=token-usage-frontend-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-usage-frontend-service.js","sourceRoot":"","sources":["../../src/browser/token-usage-frontend-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;;;AAkBhF;;GAEG;AACU,QAAA,yBAAyB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { Resource, URI } from '@theia/core';
2
+ import { AIVariableContext, AIVariableResolutionRequest } from './variable-service';
3
+ import { ConfigurableInMemoryResources, ConfigurableMutableReferenceResource } from './configurable-in-memory-resources';
4
+ export declare const AI_VARIABLE_RESOURCE_SCHEME = "ai-variable";
5
+ export declare const NO_CONTEXT_AUTHORITY = "context-free";
6
+ export declare class AIVariableResourceResolver {
7
+ protected readonly inMemoryResources: ConfigurableInMemoryResources;
8
+ protected init(): void;
9
+ protected readonly cache: Map<string, [Resource, AIVariableContext]>;
10
+ getOrCreate(request: AIVariableResolutionRequest, context: AIVariableContext, value: string): ConfigurableMutableReferenceResource;
11
+ protected toUri(request: AIVariableResolutionRequest, context: AIVariableContext): URI;
12
+ protected toAuthority(context: AIVariableContext): string;
13
+ fromUri(uri: URI): {
14
+ variableName: string;
15
+ arg: string | undefined;
16
+ } | undefined;
17
+ }
18
+ //# sourceMappingURL=ai-variable-resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-variable-resource.d.ts","sourceRoot":"","sources":["../../src/common/ai-variable-resource.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAgB,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,oCAAoC,EAAE,MAAM,oCAAoC,CAAC;AAEzH,eAAO,MAAM,2BAA2B,gBAAgB,CAAC;AACzD,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAEnD,qBACa,0BAA0B;IACI,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;IAG3G,SAAS,CAAC,IAAI,IAAI,IAAI;IAItB,SAAS,CAAC,QAAQ,CAAC,KAAK,6CAAoD;IAE5E,WAAW,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,GAAG,oCAAoC;IAalI,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,GAAG;IAUtF,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM;IAezD,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS;CAUnF"}
@@ -0,0 +1,103 @@
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.AIVariableResourceResolver = exports.NO_CONTEXT_AUTHORITY = exports.AI_VARIABLE_RESOURCE_SCHEME = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const deepEqual = require("fast-deep-equal");
21
+ const inversify_1 = require("@theia/core/shared/inversify");
22
+ const core_1 = require("@theia/core");
23
+ const stableJsonStringify = require("fast-json-stable-stringify");
24
+ const configurable_in_memory_resources_1 = require("./configurable-in-memory-resources");
25
+ exports.AI_VARIABLE_RESOURCE_SCHEME = 'ai-variable';
26
+ exports.NO_CONTEXT_AUTHORITY = 'context-free';
27
+ let AIVariableResourceResolver = class AIVariableResourceResolver {
28
+ constructor() {
29
+ this.cache = new Map();
30
+ }
31
+ init() {
32
+ this.inMemoryResources.onWillDispose(resource => this.cache.delete(resource.uri.toString()));
33
+ }
34
+ getOrCreate(request, context, value) {
35
+ const uri = this.toUri(request, context);
36
+ try {
37
+ const existing = this.inMemoryResources.resolve(uri);
38
+ existing.update({ contents: value });
39
+ return existing;
40
+ }
41
+ catch { /* No-op */ }
42
+ const fresh = this.inMemoryResources.add(uri, { contents: value, readOnly: true, initiallyDirty: false });
43
+ const key = uri.toString();
44
+ this.cache.set(key, [fresh, context]);
45
+ return fresh;
46
+ }
47
+ toUri(request, context) {
48
+ return core_1.URI.fromComponents({
49
+ scheme: exports.AI_VARIABLE_RESOURCE_SCHEME,
50
+ query: stableJsonStringify({ arg: request.arg, name: request.variable.name }),
51
+ path: '/',
52
+ authority: this.toAuthority(context),
53
+ fragment: ''
54
+ });
55
+ }
56
+ toAuthority(context) {
57
+ try {
58
+ if (deepEqual(context, {})) {
59
+ return exports.NO_CONTEXT_AUTHORITY;
60
+ }
61
+ for (const [resource, cachedContext] of this.cache.values()) {
62
+ if (deepEqual(context, cachedContext)) {
63
+ return resource.uri.authority;
64
+ }
65
+ }
66
+ }
67
+ catch (err) {
68
+ // Mostly that deep equal could overflow the stack, but it should run into === or inequality before that.
69
+ console.warn('Problem evaluating context in AIVariableResourceResolver', err);
70
+ }
71
+ return (0, core_1.generateUuid)();
72
+ }
73
+ fromUri(uri) {
74
+ if (uri.scheme !== exports.AI_VARIABLE_RESOURCE_SCHEME) {
75
+ return undefined;
76
+ }
77
+ try {
78
+ const { name: variableName, arg } = JSON.parse(uri.query);
79
+ return variableName ? {
80
+ variableName,
81
+ arg,
82
+ } : undefined;
83
+ }
84
+ catch {
85
+ return undefined;
86
+ }
87
+ }
88
+ };
89
+ exports.AIVariableResourceResolver = AIVariableResourceResolver;
90
+ tslib_1.__decorate([
91
+ (0, inversify_1.inject)(configurable_in_memory_resources_1.ConfigurableInMemoryResources),
92
+ tslib_1.__metadata("design:type", configurable_in_memory_resources_1.ConfigurableInMemoryResources)
93
+ ], AIVariableResourceResolver.prototype, "inMemoryResources", void 0);
94
+ tslib_1.__decorate([
95
+ (0, inversify_1.postConstruct)(),
96
+ tslib_1.__metadata("design:type", Function),
97
+ tslib_1.__metadata("design:paramtypes", []),
98
+ tslib_1.__metadata("design:returntype", void 0)
99
+ ], AIVariableResourceResolver.prototype, "init", null);
100
+ exports.AIVariableResourceResolver = AIVariableResourceResolver = tslib_1.__decorate([
101
+ (0, inversify_1.injectable)()
102
+ ], AIVariableResourceResolver);
103
+ //# sourceMappingURL=ai-variable-resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-variable-resource.js","sourceRoot":"","sources":["../../src/common/ai-variable-resource.ts"],"names":[],"mappings":"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"}