@theia/ai-core 1.77.0-next.7 → 1.77.0-next.71
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/agents-md-frontend-application-contribution.d.ts +65 -0
- package/lib/browser/agents-md-frontend-application-contribution.d.ts.map +1 -0
- package/lib/browser/agents-md-frontend-application-contribution.js +269 -0
- package/lib/browser/agents-md-frontend-application-contribution.js.map +1 -0
- package/lib/browser/agents-md-frontend-application-contribution.spec.d.ts +2 -0
- package/lib/browser/agents-md-frontend-application-contribution.spec.d.ts.map +1 -0
- package/lib/browser/agents-md-frontend-application-contribution.spec.js +225 -0
- package/lib/browser/agents-md-frontend-application-contribution.spec.js.map +1 -0
- package/lib/browser/agents-md-migration-service.d.ts +78 -0
- package/lib/browser/agents-md-migration-service.d.ts.map +1 -0
- package/lib/browser/agents-md-migration-service.js +195 -0
- package/lib/browser/agents-md-migration-service.js.map +1 -0
- package/lib/browser/agents-md-migration-service.spec.d.ts +2 -0
- package/lib/browser/agents-md-migration-service.spec.d.ts.map +1 -0
- package/lib/browser/agents-md-migration-service.spec.js +278 -0
- package/lib/browser/agents-md-migration-service.spec.js.map +1 -0
- package/lib/browser/agents-md-prompt-fragment-contribution.d.ts +13 -0
- package/lib/browser/agents-md-prompt-fragment-contribution.d.ts.map +1 -0
- package/lib/browser/agents-md-prompt-fragment-contribution.js +76 -0
- package/lib/browser/agents-md-prompt-fragment-contribution.js.map +1 -0
- package/lib/browser/agents-md-service.d.ts +58 -0
- package/lib/browser/agents-md-service.d.ts.map +1 -0
- package/lib/browser/agents-md-service.js +191 -0
- package/lib/browser/agents-md-service.js.map +1 -0
- package/lib/browser/agents-md-service.spec.d.ts +2 -0
- package/lib/browser/agents-md-service.spec.d.ts.map +1 -0
- package/lib/browser/agents-md-service.spec.js +220 -0
- package/lib/browser/agents-md-service.spec.js.map +1 -0
- package/lib/browser/agents-md-variable-contribution.d.ts +66 -0
- package/lib/browser/agents-md-variable-contribution.d.ts.map +1 -0
- package/lib/browser/agents-md-variable-contribution.js +169 -0
- package/lib/browser/agents-md-variable-contribution.js.map +1 -0
- package/lib/browser/agents-md-variable-contribution.spec.d.ts +2 -0
- package/lib/browser/agents-md-variable-contribution.spec.d.ts.map +1 -0
- package/lib/browser/agents-md-variable-contribution.spec.js +148 -0
- package/lib/browser/agents-md-variable-contribution.spec.js.map +1 -0
- package/lib/browser/ai-core-frontend-module.d.ts.map +1 -1
- package/lib/browser/ai-core-frontend-module.js +17 -0
- package/lib/browser/ai-core-frontend-module.js.map +1 -1
- package/lib/browser/file-variable-contribution.d.ts +2 -0
- package/lib/browser/file-variable-contribution.d.ts.map +1 -1
- package/lib/browser/file-variable-contribution.js +8 -23
- package/lib/browser/file-variable-contribution.js.map +1 -1
- package/lib/browser/file-variable-contribution.spec.d.ts +2 -0
- package/lib/browser/file-variable-contribution.spec.d.ts.map +1 -0
- package/lib/browser/file-variable-contribution.spec.js +98 -0
- package/lib/browser/file-variable-contribution.spec.js.map +1 -0
- package/lib/browser/frontend-language-model-service.d.ts.map +1 -1
- package/lib/browser/frontend-language-model-service.js +0 -8
- package/lib/browser/frontend-language-model-service.js.map +1 -1
- package/lib/browser/frontend-prompt-customization-service.d.ts +2 -1
- package/lib/browser/frontend-prompt-customization-service.d.ts.map +1 -1
- package/lib/browser/frontend-prompt-customization-service.js +10 -0
- package/lib/browser/frontend-prompt-customization-service.js.map +1 -1
- package/lib/browser/frontend-prompt-customization-service.spec.js +19 -1
- package/lib/browser/frontend-prompt-customization-service.spec.js.map +1 -1
- package/lib/browser/frontend-variable-service.js +1 -1
- package/lib/browser/frontend-variable-service.js.map +1 -1
- package/lib/browser/index.d.ts +6 -0
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +6 -0
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/prompt-variable-contribution.js +1 -1
- package/lib/browser/prompt-variable-contribution.js.map +1 -1
- package/lib/browser/prompt-variable-contribution.spec.js +2 -1
- package/lib/browser/prompt-variable-contribution.spec.js.map +1 -1
- package/lib/browser/prompttemplate-contribution.js +1 -1
- package/lib/browser/prompttemplate-contribution.js.map +1 -1
- package/lib/browser/reasoning-labels.d.ts +4 -0
- package/lib/browser/reasoning-labels.d.ts.map +1 -0
- package/lib/browser/reasoning-labels.js +41 -0
- package/lib/browser/reasoning-labels.js.map +1 -0
- package/lib/browser/reasoning-labels.spec.d.ts +2 -0
- package/lib/browser/reasoning-labels.spec.d.ts.map +1 -0
- package/lib/browser/reasoning-labels.spec.js +28 -0
- package/lib/browser/reasoning-labels.spec.js.map +1 -0
- package/lib/browser/skill-service.spec.js +2 -1
- package/lib/browser/skill-service.spec.js.map +1 -1
- package/lib/browser/skills-variable-contribution.spec.js +2 -1
- package/lib/browser/skills-variable-contribution.spec.js.map +1 -1
- package/lib/browser/theia-variable-contribution.js +3 -3
- package/lib/browser/theia-variable-contribution.js.map +1 -1
- package/lib/browser/workspace-relative-path-resolver.d.ts +20 -0
- package/lib/browser/workspace-relative-path-resolver.d.ts.map +1 -0
- package/lib/browser/workspace-relative-path-resolver.js +78 -0
- package/lib/browser/workspace-relative-path-resolver.js.map +1 -0
- package/lib/common/agents-md.d.ts +20 -0
- package/lib/common/agents-md.d.ts.map +1 -0
- package/lib/common/agents-md.js +38 -0
- package/lib/common/agents-md.js.map +1 -0
- package/lib/common/ai-core-preferences.d.ts.map +1 -1
- package/lib/common/ai-core-preferences.js +6 -3
- package/lib/common/ai-core-preferences.js.map +1 -1
- package/lib/common/ai-variable-resource.js +3 -3
- package/lib/common/ai-variable-resource.js.map +1 -1
- package/lib/common/capability-variable-contribution.js +1 -1
- package/lib/common/capability-variable-contribution.js.map +1 -1
- package/lib/common/index.d.ts +2 -0
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +2 -0
- package/lib/common/index.js.map +1 -1
- package/lib/common/language-model-service.d.ts.map +1 -1
- package/lib/common/language-model-service.js +7 -0
- package/lib/common/language-model-service.js.map +1 -1
- package/lib/common/language-model-service.spec.js +21 -0
- package/lib/common/language-model-service.spec.js.map +1 -1
- package/lib/common/language-model.d.ts +10 -3
- package/lib/common/language-model.d.ts.map +1 -1
- package/lib/common/language-model.js +17 -4
- package/lib/common/language-model.js.map +1 -1
- package/lib/common/language-model.spec.js +18 -0
- package/lib/common/language-model.spec.js.map +1 -1
- package/lib/common/prompt-service.d.ts +12 -0
- package/lib/common/prompt-service.d.ts.map +1 -1
- package/lib/common/prompt-service.js.map +1 -1
- package/lib/common/prompt-service.spec.js +2 -1
- package/lib/common/prompt-service.spec.js.map +1 -1
- package/lib/common/tool-call-execution.d.ts +89 -0
- package/lib/common/tool-call-execution.d.ts.map +1 -0
- package/lib/common/tool-call-execution.js +67 -0
- package/lib/common/tool-call-execution.js.map +1 -0
- package/lib/common/tool-call-execution.spec.d.ts +2 -0
- package/lib/common/tool-call-execution.spec.d.ts.map +1 -0
- package/lib/common/tool-call-execution.spec.js +114 -0
- package/lib/common/tool-call-execution.spec.js.map +1 -0
- package/lib/common/tool-request-parameters.spec.d.ts +2 -0
- package/lib/common/tool-request-parameters.spec.d.ts.map +1 -0
- package/lib/common/tool-request-parameters.spec.js +62 -0
- package/lib/common/tool-request-parameters.spec.js.map +1 -0
- package/lib/common/variable-service.spec.js +2 -1
- package/lib/common/variable-service.spec.js.map +1 -1
- package/lib/node/ai-core-backend-module.d.ts.map +1 -1
- package/lib/node/ai-core-backend-module.js +2 -0
- package/lib/node/ai-core-backend-module.js.map +1 -1
- package/lib/node/model-snapshot-store.js +2 -2
- package/lib/node/model-snapshot-store.js.map +1 -1
- package/lib/node/proxy-util.js +2 -1
- package/lib/node/proxy-util.js.map +1 -1
- package/package.json +9 -9
- package/src/browser/agents-md-frontend-application-contribution.spec.ts +244 -0
- package/src/browser/agents-md-frontend-application-contribution.ts +291 -0
- package/src/browser/agents-md-migration-service.spec.ts +338 -0
- package/src/browser/agents-md-migration-service.ts +226 -0
- package/src/browser/agents-md-prompt-fragment-contribution.ts +73 -0
- package/src/browser/agents-md-service.spec.ts +258 -0
- package/src/browser/agents-md-service.ts +212 -0
- package/src/browser/agents-md-variable-contribution.spec.ts +180 -0
- package/src/browser/agents-md-variable-contribution.ts +182 -0
- package/src/browser/ai-core-frontend-module.ts +19 -0
- package/src/browser/file-variable-contribution.spec.ts +107 -0
- package/src/browser/file-variable-contribution.ts +8 -27
- package/src/browser/frontend-language-model-service.ts +1 -10
- package/src/browser/frontend-prompt-customization-service.spec.ts +24 -0
- package/src/browser/frontend-prompt-customization-service.ts +13 -1
- package/src/browser/index.ts +6 -0
- package/src/browser/reasoning-labels.spec.ts +28 -0
- package/src/browser/reasoning-labels.ts +41 -0
- package/src/browser/theia-variable-contribution.ts +3 -3
- package/src/browser/workspace-relative-path-resolver.ts +71 -0
- package/src/common/agents-md.ts +37 -0
- package/src/common/ai-core-preferences.ts +6 -3
- package/src/common/ai-variable-resource.ts +1 -1
- package/src/common/index.ts +2 -0
- package/src/common/language-model-service.spec.ts +23 -1
- package/src/common/language-model-service.ts +11 -1
- package/src/common/language-model.spec.ts +21 -0
- package/src/common/language-model.ts +26 -6
- package/src/common/prompt-service.ts +14 -0
- package/src/common/tool-call-execution.spec.ts +162 -0
- package/src/common/tool-call-execution.ts +161 -0
- package/src/common/tool-request-parameters.spec.ts +81 -0
- package/src/node/ai-core-backend-module.ts +5 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { MaybePromise } from '@theia/core';
|
|
2
|
+
import { AIVariable, AIVariableContext, AIVariableContribution, AIVariableResolutionRequest, AIVariableResolver, AIVariableService, ResolvedAIVariable } from '../common/variable-service';
|
|
3
|
+
import { WorkspaceService } from '@theia/workspace/lib/browser';
|
|
4
|
+
import { AgentsMdFile, AgentsMdService } from './agents-md-service';
|
|
5
|
+
export declare const AGENTS_MD_AUTO_LOADED_VARIABLE: AIVariable;
|
|
6
|
+
export declare const AGENTS_MD_VARIABLE: AIVariable;
|
|
7
|
+
export declare const AGENTS_MD_CONTENT_VARIABLE: AIVariable;
|
|
8
|
+
/**
|
|
9
|
+
* Resolves the three ways of consuming `AGENTS.md`.
|
|
10
|
+
*
|
|
11
|
+
* A **single-root** workspace has an unambiguous project root, so its `AGENTS.md` is always in
|
|
12
|
+
* context, mirroring how other tools implementing the standard treat the root file. A workspace with
|
|
13
|
+
* several roots has no such file, so nothing is loaded and every discovered file is advertised
|
|
14
|
+
* instead, to be read on demand. {@link AGENTS_MD_AUTO_LOADED_VARIABLE} and
|
|
15
|
+
* {@link AGENTS_MD_VARIABLE} are therefore mutually exclusive by construction: at most one of them is
|
|
16
|
+
* ever non-empty.
|
|
17
|
+
*
|
|
18
|
+
* - {@link AGENTS_MD_AUTO_LOADED_VARIABLE} inlines the single root's file, or nothing.
|
|
19
|
+
* - {@link AGENTS_MD_VARIABLE} advertises files by path so a tool-calling agent can fetch them with
|
|
20
|
+
* `getFileContent`, or nothing.
|
|
21
|
+
* - {@link AGENTS_MD_CONTENT_VARIABLE} always inlines everything discovered, regardless of root
|
|
22
|
+
* count, for consumers such as code completion that have no tool-calling loop and therefore cannot
|
|
23
|
+
* fetch anything on demand.
|
|
24
|
+
*
|
|
25
|
+
* All three resolve to the empty string when the workspace has no `AGENTS.md`.
|
|
26
|
+
*/
|
|
27
|
+
export declare class AgentsMdVariableContribution implements AIVariableContribution, AIVariableResolver {
|
|
28
|
+
protected readonly agentsMdService: AgentsMdService;
|
|
29
|
+
protected readonly workspaceService: WorkspaceService;
|
|
30
|
+
registerVariables(service: AIVariableService): void;
|
|
31
|
+
canResolve(request: AIVariableResolutionRequest, _context: AIVariableContext): MaybePromise<number>;
|
|
32
|
+
resolve(request: AIVariableResolutionRequest, _context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
|
|
33
|
+
/**
|
|
34
|
+
* Whether the workspace root's `AGENTS.md` is put into context rather than advertised. Keyed on
|
|
35
|
+
* the number of workspace **roots**, not the number of discovered files: a workspace with several
|
|
36
|
+
* roots has no single project root whose file could stand for the whole session, even when only
|
|
37
|
+
* one of those roots happens to carry an `AGENTS.md`.
|
|
38
|
+
*/
|
|
39
|
+
protected isAutoLoading(): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Inlines the single root's file. The content is raw Markdown and not XML-escaped; only the path,
|
|
42
|
+
* which is an attribute, is.
|
|
43
|
+
*/
|
|
44
|
+
protected generateAutoLoaded(files: AgentsMdFile[]): string;
|
|
45
|
+
/**
|
|
46
|
+
* Advertises the files by their `<rootName>/AGENTS.md` path, the path format the workspace tools
|
|
47
|
+
* accept and return, so the model can pass it to `getFileContent` verbatim.
|
|
48
|
+
*/
|
|
49
|
+
protected generateAgentsMdXML(files: AgentsMdFile[]): string;
|
|
50
|
+
/**
|
|
51
|
+
* Inlines the content. A single root contributes its file verbatim; only a multi-root workspace
|
|
52
|
+
* gets provenance headings, mirroring how equal-priority prompt fragment sources are merged.
|
|
53
|
+
*/
|
|
54
|
+
protected mergeContent(files: AgentsMdFile[]): string;
|
|
55
|
+
/**
|
|
56
|
+
* Keeps `~{...}` in inlined content literal. Function references are matched on the resolved
|
|
57
|
+
* prompt text, so a `~{someTool}` in a file anyone in the repository can edit would otherwise
|
|
58
|
+
* attach that tool to every agent using the fragment. A zero-width space between `~` and `{`
|
|
59
|
+
* breaks the match without changing what the model reads. `{{...}}` needs no such treatment, as
|
|
60
|
+
* variables are not resolved recursively.
|
|
61
|
+
*/
|
|
62
|
+
protected escapeFunctionReferences(content: string): string;
|
|
63
|
+
protected toWorkspaceRelativePath(file: AgentsMdFile): string;
|
|
64
|
+
protected escapeXml(text: string): string;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=agents-md-variable-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents-md-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/agents-md-variable-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAO,MAAM,aAAa,CAAC;AAChD,OAAO,EACH,UAAU,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,2BAA2B,EAClF,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAC5D,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEpE,eAAO,MAAM,8BAA8B,EAAE,UAK5C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,UAKhC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,UAKxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBACa,4BAA6B,YAAW,sBAAsB,EAAE,kBAAkB;IAG3F,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAMnD,UAAU,CAAC,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC;IAS7F,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAoBzH;;;;;OAKG;IACH,SAAS,CAAC,aAAa,IAAI,OAAO;IAIlC;;;OAGG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM;IAQ3D;;;OAGG;IACH,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM;IAQ5D;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM;IAUrD;;;;;;OAMG;IACH,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAI3D,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM;IAI7D,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAQ5C"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 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.AgentsMdVariableContribution = exports.AGENTS_MD_CONTENT_VARIABLE = exports.AGENTS_MD_VARIABLE = exports.AGENTS_MD_AUTO_LOADED_VARIABLE = 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 browser_1 = require("@theia/workspace/lib/browser");
|
|
23
|
+
const agents_md_1 = require("../common/agents-md");
|
|
24
|
+
const agents_md_service_1 = require("./agents-md-service");
|
|
25
|
+
exports.AGENTS_MD_AUTO_LOADED_VARIABLE = {
|
|
26
|
+
id: 'agentsMdAutoLoaded',
|
|
27
|
+
name: 'agentsMdAutoLoaded',
|
|
28
|
+
description: core_1.nls.localize('theia/ai/core/agentsMdAutoLoadedVariable/description', 'Returns the content of the workspace root AGENTS.md when the workspace has a single root, so that it is always in context')
|
|
29
|
+
};
|
|
30
|
+
exports.AGENTS_MD_VARIABLE = {
|
|
31
|
+
id: 'agentsMd',
|
|
32
|
+
name: 'agentsMd',
|
|
33
|
+
description: core_1.nls.localize('theia/ai/core/agentsMdVariable/description', 'Lists the AGENTS.md files an agent has to read on demand, i.e. the ones that are not already loaded')
|
|
34
|
+
};
|
|
35
|
+
exports.AGENTS_MD_CONTENT_VARIABLE = {
|
|
36
|
+
id: 'agentsMdContent',
|
|
37
|
+
name: 'agentsMdContent',
|
|
38
|
+
description: core_1.nls.localize('theia/ai/core/agentsMdContentVariable/description', 'Returns the full content of the AGENTS.md files of the workspace')
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Resolves the three ways of consuming `AGENTS.md`.
|
|
42
|
+
*
|
|
43
|
+
* A **single-root** workspace has an unambiguous project root, so its `AGENTS.md` is always in
|
|
44
|
+
* context, mirroring how other tools implementing the standard treat the root file. A workspace with
|
|
45
|
+
* several roots has no such file, so nothing is loaded and every discovered file is advertised
|
|
46
|
+
* instead, to be read on demand. {@link AGENTS_MD_AUTO_LOADED_VARIABLE} and
|
|
47
|
+
* {@link AGENTS_MD_VARIABLE} are therefore mutually exclusive by construction: at most one of them is
|
|
48
|
+
* ever non-empty.
|
|
49
|
+
*
|
|
50
|
+
* - {@link AGENTS_MD_AUTO_LOADED_VARIABLE} inlines the single root's file, or nothing.
|
|
51
|
+
* - {@link AGENTS_MD_VARIABLE} advertises files by path so a tool-calling agent can fetch them with
|
|
52
|
+
* `getFileContent`, or nothing.
|
|
53
|
+
* - {@link AGENTS_MD_CONTENT_VARIABLE} always inlines everything discovered, regardless of root
|
|
54
|
+
* count, for consumers such as code completion that have no tool-calling loop and therefore cannot
|
|
55
|
+
* fetch anything on demand.
|
|
56
|
+
*
|
|
57
|
+
* All three resolve to the empty string when the workspace has no `AGENTS.md`.
|
|
58
|
+
*/
|
|
59
|
+
let AgentsMdVariableContribution = class AgentsMdVariableContribution {
|
|
60
|
+
registerVariables(service) {
|
|
61
|
+
service.registerResolver(exports.AGENTS_MD_AUTO_LOADED_VARIABLE, this);
|
|
62
|
+
service.registerResolver(exports.AGENTS_MD_VARIABLE, this);
|
|
63
|
+
service.registerResolver(exports.AGENTS_MD_CONTENT_VARIABLE, this);
|
|
64
|
+
}
|
|
65
|
+
canResolve(request, _context) {
|
|
66
|
+
if (request.variable.name === exports.AGENTS_MD_AUTO_LOADED_VARIABLE.name
|
|
67
|
+
|| request.variable.name === exports.AGENTS_MD_VARIABLE.name
|
|
68
|
+
|| request.variable.name === exports.AGENTS_MD_CONTENT_VARIABLE.name) {
|
|
69
|
+
return 1;
|
|
70
|
+
}
|
|
71
|
+
return -1;
|
|
72
|
+
}
|
|
73
|
+
async resolve(request, _context) {
|
|
74
|
+
// Without this a request issued before the initial scan completes would silently report that
|
|
75
|
+
// the workspace has no project context.
|
|
76
|
+
await this.agentsMdService.ready;
|
|
77
|
+
const files = this.agentsMdService.getAgentsMdFiles();
|
|
78
|
+
if (request.variable.name === exports.AGENTS_MD_AUTO_LOADED_VARIABLE.name) {
|
|
79
|
+
return { variable: request.variable, value: this.generateAutoLoaded(files) };
|
|
80
|
+
}
|
|
81
|
+
if (request.variable.name === exports.AGENTS_MD_VARIABLE.name) {
|
|
82
|
+
// Suppressed when the root file is already in context, so the model is never told to read
|
|
83
|
+
// a file it has just been handed.
|
|
84
|
+
return { variable: request.variable, value: this.isAutoLoading() ? '' : this.generateAgentsMdXML(files) };
|
|
85
|
+
}
|
|
86
|
+
if (request.variable.name === exports.AGENTS_MD_CONTENT_VARIABLE.name) {
|
|
87
|
+
return { variable: request.variable, value: this.mergeContent(files) };
|
|
88
|
+
}
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Whether the workspace root's `AGENTS.md` is put into context rather than advertised. Keyed on
|
|
93
|
+
* the number of workspace **roots**, not the number of discovered files: a workspace with several
|
|
94
|
+
* roots has no single project root whose file could stand for the whole session, even when only
|
|
95
|
+
* one of those roots happens to carry an `AGENTS.md`.
|
|
96
|
+
*/
|
|
97
|
+
isAutoLoading() {
|
|
98
|
+
return this.workspaceService.tryGetRoots().length === 1;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Inlines the single root's file. The content is raw Markdown and not XML-escaped; only the path,
|
|
102
|
+
* which is an attribute, is.
|
|
103
|
+
*/
|
|
104
|
+
generateAutoLoaded(files) {
|
|
105
|
+
if (!this.isAutoLoading() || files.length === 0) {
|
|
106
|
+
return '';
|
|
107
|
+
}
|
|
108
|
+
const file = files[0];
|
|
109
|
+
return `<project_instructions path="${this.escapeXml(this.toWorkspaceRelativePath(file))}">\n${this.escapeFunctionReferences(file.content)}\n</project_instructions>`;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Advertises the files by their `<rootName>/AGENTS.md` path, the path format the workspace tools
|
|
113
|
+
* accept and return, so the model can pass it to `getFileContent` verbatim.
|
|
114
|
+
*/
|
|
115
|
+
generateAgentsMdXML(files) {
|
|
116
|
+
if (files.length === 0) {
|
|
117
|
+
return '';
|
|
118
|
+
}
|
|
119
|
+
const entries = files.map(file => `<file>${this.escapeXml(this.toWorkspaceRelativePath(file))}</file>`).join('\n');
|
|
120
|
+
return `<agents_md_files>\n${entries}\n</agents_md_files>`;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Inlines the content. A single root contributes its file verbatim; only a multi-root workspace
|
|
124
|
+
* gets provenance headings, mirroring how equal-priority prompt fragment sources are merged.
|
|
125
|
+
*/
|
|
126
|
+
mergeContent(files) {
|
|
127
|
+
if (files.length === 0) {
|
|
128
|
+
return '';
|
|
129
|
+
}
|
|
130
|
+
if (files.length === 1) {
|
|
131
|
+
return this.escapeFunctionReferences(files[0].content);
|
|
132
|
+
}
|
|
133
|
+
return files.map(file => `### ${file.rootName}\n\n${this.escapeFunctionReferences(file.content)}`).join('\n\n');
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Keeps `~{...}` in inlined content literal. Function references are matched on the resolved
|
|
137
|
+
* prompt text, so a `~{someTool}` in a file anyone in the repository can edit would otherwise
|
|
138
|
+
* attach that tool to every agent using the fragment. A zero-width space between `~` and `{`
|
|
139
|
+
* breaks the match without changing what the model reads. `{{...}}` needs no such treatment, as
|
|
140
|
+
* variables are not resolved recursively.
|
|
141
|
+
*/
|
|
142
|
+
escapeFunctionReferences(content) {
|
|
143
|
+
return content.replace(/~\{/g, '~\u200B{');
|
|
144
|
+
}
|
|
145
|
+
toWorkspaceRelativePath(file) {
|
|
146
|
+
return `${file.rootName}/${agents_md_1.AGENTS_MD_FILE_NAME}`;
|
|
147
|
+
}
|
|
148
|
+
escapeXml(text) {
|
|
149
|
+
return text
|
|
150
|
+
.replace(/&/g, '&')
|
|
151
|
+
.replace(/</g, '<')
|
|
152
|
+
.replace(/>/g, '>')
|
|
153
|
+
.replace(/"/g, '"')
|
|
154
|
+
.replace(/'/g, ''');
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
exports.AgentsMdVariableContribution = AgentsMdVariableContribution;
|
|
158
|
+
tslib_1.__decorate([
|
|
159
|
+
(0, inversify_1.inject)(agents_md_service_1.AgentsMdService),
|
|
160
|
+
tslib_1.__metadata("design:type", Object)
|
|
161
|
+
], AgentsMdVariableContribution.prototype, "agentsMdService", void 0);
|
|
162
|
+
tslib_1.__decorate([
|
|
163
|
+
(0, inversify_1.inject)(browser_1.WorkspaceService),
|
|
164
|
+
tslib_1.__metadata("design:type", browser_1.WorkspaceService)
|
|
165
|
+
], AgentsMdVariableContribution.prototype, "workspaceService", void 0);
|
|
166
|
+
exports.AgentsMdVariableContribution = AgentsMdVariableContribution = tslib_1.__decorate([
|
|
167
|
+
(0, inversify_1.injectable)()
|
|
168
|
+
], AgentsMdVariableContribution);
|
|
169
|
+
//# sourceMappingURL=agents-md-variable-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents-md-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/agents-md-variable-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents-md-variable-contribution.spec.d.ts","sourceRoot":"","sources":["../../src/browser/agents-md-variable-contribution.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 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
|
+
const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
|
|
19
|
+
const disableJSDOM = (0, jsdom_1.enableJSDOM)();
|
|
20
|
+
const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
|
|
21
|
+
// Guarded: another spec in the same mocha process may already have set it, and `set` throws on a
|
|
22
|
+
// second call.
|
|
23
|
+
try {
|
|
24
|
+
frontend_application_config_provider_1.FrontendApplicationConfigProvider.get();
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
|
|
28
|
+
}
|
|
29
|
+
const chai_1 = require("chai");
|
|
30
|
+
const core_1 = require("@theia/core");
|
|
31
|
+
const agents_md_variable_contribution_1 = require("./agents-md-variable-contribution");
|
|
32
|
+
const prompt_service_util_1 = require("../common/prompt-service-util");
|
|
33
|
+
disableJSDOM();
|
|
34
|
+
describe('AgentsMdVariableContribution', () => {
|
|
35
|
+
function file(rootName, content) {
|
|
36
|
+
return { uri: new core_1.URI(`file:///${rootName}/AGENTS.md`), content, rootName };
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @param rootCount how many workspace roots are open. Defaults to one per discovered file, which
|
|
40
|
+
* is the ordinary case; pass it explicitly to build a workspace whose root count and file count
|
|
41
|
+
* differ, since auto-loading keys on roots rather than files.
|
|
42
|
+
*/
|
|
43
|
+
function createContribution(files, rootCount = files.length) {
|
|
44
|
+
const contribution = new agents_md_variable_contribution_1.AgentsMdVariableContribution();
|
|
45
|
+
const service = {
|
|
46
|
+
getAgentsMdFiles: () => files,
|
|
47
|
+
onDidChange: () => ({ dispose: () => { } }),
|
|
48
|
+
ready: Promise.resolve()
|
|
49
|
+
};
|
|
50
|
+
contribution.agentsMdService = service;
|
|
51
|
+
contribution.workspaceService = {
|
|
52
|
+
tryGetRoots: () => new Array(rootCount).fill({})
|
|
53
|
+
};
|
|
54
|
+
return contribution;
|
|
55
|
+
}
|
|
56
|
+
async function resolve(files, variable, rootCount) {
|
|
57
|
+
const resolved = await createContribution(files, rootCount).resolve({ variable }, {});
|
|
58
|
+
return resolved.value;
|
|
59
|
+
}
|
|
60
|
+
describe('agentsMdAutoLoaded', () => {
|
|
61
|
+
it('resolves to nothing when the workspace has no AGENTS.md', async () => {
|
|
62
|
+
(0, chai_1.expect)(await resolve([], agents_md_variable_contribution_1.AGENTS_MD_AUTO_LOADED_VARIABLE, 1)).to.equal('');
|
|
63
|
+
});
|
|
64
|
+
it('inlines the root file when the workspace has a single root', async () => {
|
|
65
|
+
(0, chai_1.expect)(await resolve([file('theia', '# Project\n\nUse npm.')], agents_md_variable_contribution_1.AGENTS_MD_AUTO_LOADED_VARIABLE)).to.equal('<project_instructions path="theia/AGENTS.md">\n# Project\n\nUse npm.\n</project_instructions>');
|
|
66
|
+
});
|
|
67
|
+
it('loads nothing once the workspace has more than one root', async () => {
|
|
68
|
+
(0, chai_1.expect)(await resolve([file('a', 'x'), file('b', 'y')], agents_md_variable_contribution_1.AGENTS_MD_AUTO_LOADED_VARIABLE)).to.equal('');
|
|
69
|
+
});
|
|
70
|
+
it('loads nothing in a multi-root workspace where only one root has a file', async () => {
|
|
71
|
+
// Keyed on root count, not file count: a workspace with several roots has no single
|
|
72
|
+
// project root, even when only one of them carries an AGENTS.md.
|
|
73
|
+
(0, chai_1.expect)(await resolve([file('a', 'x')], agents_md_variable_contribution_1.AGENTS_MD_AUTO_LOADED_VARIABLE, 2)).to.equal('');
|
|
74
|
+
});
|
|
75
|
+
it('escapes the path but leaves the Markdown content untouched', async () => {
|
|
76
|
+
const resolved = await resolve([file('a&b', '# Heading <not xml> & "quoted"')], agents_md_variable_contribution_1.AGENTS_MD_AUTO_LOADED_VARIABLE, 1);
|
|
77
|
+
(0, chai_1.expect)(resolved).to.contain('path="a&b/AGENTS.md"');
|
|
78
|
+
(0, chai_1.expect)(resolved).to.contain('# Heading <not xml> & "quoted"');
|
|
79
|
+
});
|
|
80
|
+
it('keeps function references in the content from attaching tools', async () => {
|
|
81
|
+
const resolved = await resolve([file('a', 'Use ~{getFileContent} and {{selectedText}}.')], agents_md_variable_contribution_1.AGENTS_MD_AUTO_LOADED_VARIABLE, 1);
|
|
82
|
+
(0, chai_1.expect)((0, prompt_service_util_1.matchFunctionsRegEx)(resolved)).to.be.empty;
|
|
83
|
+
(0, chai_1.expect)(resolved).to.contain('{{selectedText}}');
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
describe('agentsMd', () => {
|
|
87
|
+
it('resolves to nothing when the workspace has no AGENTS.md', async () => {
|
|
88
|
+
(0, chai_1.expect)(await resolve([], agents_md_variable_contribution_1.AGENTS_MD_VARIABLE)).to.equal('');
|
|
89
|
+
});
|
|
90
|
+
it('advertises nothing when the single root file is already loaded', async () => {
|
|
91
|
+
// Otherwise the model is told to read a file it has just been handed.
|
|
92
|
+
(0, chai_1.expect)(await resolve([file('theia', 'x')], agents_md_variable_contribution_1.AGENTS_MD_VARIABLE)).to.equal('');
|
|
93
|
+
});
|
|
94
|
+
it('advertises one entry per root once there is more than one root', async () => {
|
|
95
|
+
(0, chai_1.expect)(await resolve([file('a', 'x'), file('b', 'y')], agents_md_variable_contribution_1.AGENTS_MD_VARIABLE)).to.equal('<agents_md_files>\n<file>a/AGENTS.md</file>\n<file>b/AGENTS.md</file>\n</agents_md_files>');
|
|
96
|
+
});
|
|
97
|
+
it('advertises the single file of a multi-root workspace rather than loading it', async () => {
|
|
98
|
+
(0, chai_1.expect)(await resolve([file('a', 'x')], agents_md_variable_contribution_1.AGENTS_MD_VARIABLE, 2)).to.equal('<agents_md_files>\n<file>a/AGENTS.md</file>\n</agents_md_files>');
|
|
99
|
+
});
|
|
100
|
+
it('escapes XML in the root name', async () => {
|
|
101
|
+
(0, chai_1.expect)(await resolve([file('a&b', 'x')], agents_md_variable_contribution_1.AGENTS_MD_VARIABLE, 2)).to.contain('<file>a&b/AGENTS.md</file>');
|
|
102
|
+
});
|
|
103
|
+
it('never inlines the content', async () => {
|
|
104
|
+
(0, chai_1.expect)(await resolve([file('a', 'secret project conventions'), file('b', 'y')], agents_md_variable_contribution_1.AGENTS_MD_VARIABLE))
|
|
105
|
+
.to.not.contain('secret project conventions');
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
describe('the two are mutually exclusive', () => {
|
|
109
|
+
it('never emits both for the same workspace', async () => {
|
|
110
|
+
for (const [files, roots] of [
|
|
111
|
+
[[file('theia', 'x')], 1],
|
|
112
|
+
[[file('a', 'x'), file('b', 'y')], 2],
|
|
113
|
+
[[file('a', 'x')], 2],
|
|
114
|
+
[[], 1]
|
|
115
|
+
]) {
|
|
116
|
+
const loaded = await resolve(files, agents_md_variable_contribution_1.AGENTS_MD_AUTO_LOADED_VARIABLE, roots);
|
|
117
|
+
const listed = await resolve(files, agents_md_variable_contribution_1.AGENTS_MD_VARIABLE, roots);
|
|
118
|
+
(0, chai_1.expect)(loaded === '' || listed === '', `both were non-empty for ${roots} root(s)`).to.be.true;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
describe('agentsMdContent', () => {
|
|
123
|
+
it('resolves to nothing when the workspace has no AGENTS.md', async () => {
|
|
124
|
+
(0, chai_1.expect)(await resolve([], agents_md_variable_contribution_1.AGENTS_MD_CONTENT_VARIABLE)).to.equal('');
|
|
125
|
+
});
|
|
126
|
+
it('inlines a single root verbatim, without provenance framing', async () => {
|
|
127
|
+
(0, chai_1.expect)(await resolve([file('theia', '# Project\n\nUse npm.')], agents_md_variable_contribution_1.AGENTS_MD_CONTENT_VARIABLE)).to.equal('# Project\n\nUse npm.');
|
|
128
|
+
});
|
|
129
|
+
it('labels the sources when several roots contribute', async () => {
|
|
130
|
+
(0, chai_1.expect)(await resolve([file('a', 'first'), file('b', 'second')], agents_md_variable_contribution_1.AGENTS_MD_CONTENT_VARIABLE)).to.equal('### a\n\nfirst\n\n### b\n\nsecond');
|
|
131
|
+
});
|
|
132
|
+
it('keeps function references in the content from attaching tools', async () => {
|
|
133
|
+
(0, chai_1.expect)((0, prompt_service_util_1.matchFunctionsRegEx)(await resolve([file('a', '~{getFileContent}')], agents_md_variable_contribution_1.AGENTS_MD_CONTENT_VARIABLE))).to.be.empty;
|
|
134
|
+
(0, chai_1.expect)((0, prompt_service_util_1.matchFunctionsRegEx)(await resolve([file('a', '~{x}'), file('b', '~{y}')], agents_md_variable_contribution_1.AGENTS_MD_CONTENT_VARIABLE))).to.be.empty;
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
describe('canResolve', () => {
|
|
138
|
+
it('claims all three variables and nothing else', () => {
|
|
139
|
+
const contribution = createContribution([]);
|
|
140
|
+
const context = {};
|
|
141
|
+
(0, chai_1.expect)(contribution.canResolve({ variable: agents_md_variable_contribution_1.AGENTS_MD_AUTO_LOADED_VARIABLE }, context)).to.equal(1);
|
|
142
|
+
(0, chai_1.expect)(contribution.canResolve({ variable: agents_md_variable_contribution_1.AGENTS_MD_VARIABLE }, context)).to.equal(1);
|
|
143
|
+
(0, chai_1.expect)(contribution.canResolve({ variable: agents_md_variable_contribution_1.AGENTS_MD_CONTENT_VARIABLE }, context)).to.equal(1);
|
|
144
|
+
(0, chai_1.expect)(contribution.canResolve({ variable: { id: 'other', name: 'other', description: '' } }, context)).to.equal(-1);
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
//# sourceMappingURL=agents-md-variable-contribution.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents-md-variable-contribution.spec.js","sourceRoot":"","sources":["../../src/browser/agents-md-variable-contribution.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-core-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-core-frontend-module.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;
|
|
1
|
+
{"version":3,"file":"ai-core-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-core-frontend-module.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAgF/D,wBAyJG"}
|
|
@@ -37,6 +37,7 @@ const frontend_prompt_customization_service_1 = require("./frontend-prompt-custo
|
|
|
37
37
|
const frontend_variable_service_1 = require("./frontend-variable-service");
|
|
38
38
|
const prompttemplate_contribution_1 = require("./prompttemplate-contribution");
|
|
39
39
|
const file_variable_contribution_1 = require("./file-variable-contribution");
|
|
40
|
+
const workspace_relative_path_resolver_1 = require("./workspace-relative-path-resolver");
|
|
40
41
|
const theia_variable_contribution_1 = require("./theia-variable-contribution");
|
|
41
42
|
const today_variable_contribution_1 = require("../common/today-variable-contribution");
|
|
42
43
|
const agents_variable_contribution_1 = require("../common/agents-variable-contribution");
|
|
@@ -54,6 +55,11 @@ const product_name_variable_contribution_1 = require("./product-name-variable-co
|
|
|
54
55
|
const capability_variable_contribution_1 = require("../common/capability-variable-contribution");
|
|
55
56
|
const generic_capabilities_variable_contribution_1 = require("./generic-capabilities-variable-contribution");
|
|
56
57
|
const generic_capabilities_prompt_fragment_contribution_1 = require("./generic-capabilities-prompt-fragment-contribution");
|
|
58
|
+
const agents_md_service_1 = require("./agents-md-service");
|
|
59
|
+
const agents_md_variable_contribution_1 = require("./agents-md-variable-contribution");
|
|
60
|
+
const agents_md_prompt_fragment_contribution_1 = require("./agents-md-prompt-fragment-contribution");
|
|
61
|
+
const agents_md_migration_service_1 = require("./agents-md-migration-service");
|
|
62
|
+
const agents_md_frontend_application_contribution_1 = require("./agents-md-frontend-application-contribution");
|
|
57
63
|
const language_model_service_1 = require("../common/language-model-service");
|
|
58
64
|
const frontend_language_model_service_1 = require("./frontend-language-model-service");
|
|
59
65
|
const token_usage_frontend_service_1 = require("./token-usage-frontend-service");
|
|
@@ -98,6 +104,12 @@ exports.default = new inversify_1.ContainerModule(bind => {
|
|
|
98
104
|
bind(skill_service_1.SkillService).toService(skill_service_1.DefaultSkillService);
|
|
99
105
|
bind(skill_prompt_coordinator_1.SkillPromptCoordinator).toSelf().inSingletonScope();
|
|
100
106
|
bind(browser_1.FrontendApplicationContribution).toService(skill_prompt_coordinator_1.SkillPromptCoordinator);
|
|
107
|
+
bind(agents_md_service_1.DefaultAgentsMdService).toSelf().inSingletonScope();
|
|
108
|
+
bind(agents_md_service_1.AgentsMdService).toService(agents_md_service_1.DefaultAgentsMdService);
|
|
109
|
+
bind(agents_md_migration_service_1.AgentsMdMigrationService).toSelf().inSingletonScope();
|
|
110
|
+
bind(agents_md_frontend_application_contribution_1.AgentsMdFrontendApplicationContribution).toSelf().inSingletonScope();
|
|
111
|
+
bind(browser_1.FrontendApplicationContribution).toService(agents_md_frontend_application_contribution_1.AgentsMdFrontendApplicationContribution);
|
|
112
|
+
bind(core_1.CommandContribution).toService(agents_md_frontend_application_contribution_1.AgentsMdFrontendApplicationContribution);
|
|
101
113
|
(0, core_1.bindRootContributionProvider)(bind, skill_service_1.SkillDirectoryContribution);
|
|
102
114
|
(0, core_1.bindRootContributionProvider)(bind, common_1.AIVariableContribution);
|
|
103
115
|
bind(frontend_variable_service_1.DefaultFrontendVariableService).toSelf().inSingletonScope();
|
|
@@ -109,18 +121,23 @@ exports.default = new inversify_1.ContainerModule(bind => {
|
|
|
109
121
|
bind(prompt_variable_contribution_1.PromptVariableContribution).toSelf().inSingletonScope();
|
|
110
122
|
bind(common_1.AIVariableContribution).toService(prompt_variable_contribution_1.PromptVariableContribution);
|
|
111
123
|
bind(common_1.AIVariableContribution).to(today_variable_contribution_1.TodayVariableContribution).inSingletonScope();
|
|
124
|
+
bind(workspace_relative_path_resolver_1.WorkspaceRelativePathResolver).toSelf().inSingletonScope();
|
|
112
125
|
bind(common_1.AIVariableContribution).to(file_variable_contribution_1.FileVariableContribution).inSingletonScope();
|
|
113
126
|
bind(agents_variable_contribution_1.AgentsVariableContribution).toSelf().inSingletonScope();
|
|
114
127
|
bind(common_1.AIVariableContribution).toService(agents_variable_contribution_1.AgentsVariableContribution);
|
|
115
128
|
bind(common_1.AIVariableContribution).to(open_editors_variable_contribution_1.OpenEditorsVariableContribution).inSingletonScope();
|
|
116
129
|
bind(skills_variable_contribution_1.SkillsVariableContribution).toSelf().inSingletonScope();
|
|
117
130
|
bind(common_1.AIVariableContribution).toService(skills_variable_contribution_1.SkillsVariableContribution);
|
|
131
|
+
bind(agents_md_variable_contribution_1.AgentsMdVariableContribution).toSelf().inSingletonScope();
|
|
132
|
+
bind(common_1.AIVariableContribution).toService(agents_md_variable_contribution_1.AgentsMdVariableContribution);
|
|
118
133
|
bind(common_1.AIVariableContribution).to(capability_variable_contribution_1.CapabilityVariableContribution).inSingletonScope();
|
|
119
134
|
bind(common_1.AIVariableContribution).to(product_name_variable_contribution_1.ProductNameVariableContribution).inSingletonScope();
|
|
120
135
|
bind(generic_capabilities_variable_contribution_1.GenericCapabilitiesVariableContribution).toSelf().inSingletonScope();
|
|
121
136
|
bind(common_1.AIVariableContribution).toService(generic_capabilities_variable_contribution_1.GenericCapabilitiesVariableContribution);
|
|
122
137
|
bind(generic_capabilities_prompt_fragment_contribution_1.GenericCapabilitiesPromptFragmentContribution).toSelf().inSingletonScope();
|
|
123
138
|
bind(browser_1.FrontendApplicationContribution).toService(generic_capabilities_prompt_fragment_contribution_1.GenericCapabilitiesPromptFragmentContribution);
|
|
139
|
+
bind(agents_md_prompt_fragment_contribution_1.AgentsMdPromptFragmentContribution).toSelf().inSingletonScope();
|
|
140
|
+
bind(browser_1.FrontendApplicationContribution).toService(agents_md_prompt_fragment_contribution_1.AgentsMdPromptFragmentContribution);
|
|
124
141
|
bind(browser_1.FrontendApplicationContribution).to(ai_core_frontend_application_contribution_1.AICoreFrontendApplicationContribution).inSingletonScope();
|
|
125
142
|
bind(common_1.ToolInvocationRegistry).to(common_1.ToolInvocationRegistryImpl).inSingletonScope();
|
|
126
143
|
(0, core_1.bindRootContributionProvider)(bind, common_1.ToolProvider);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-core-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-core-frontend-module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-core-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-core-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,sCAA0I;AAC1I,+GAGuE;AACvE,4DAA+D;AAC/D,qGAA6F;AAC7F,yFAAyH;AACzH,qFAA+E;AAC/E,uEAAkE;AAClE,mFAA6E;AAC7E,mFAA6E;AAC7E,yEAA4E;AAC5E,sCAyBmB;AACnB,yFAG4C;AAC5C,qDAAqG;AACrG,mFAA0F;AAC1F,iEAA2F;AAC3F,2GAAoG;AACpG,uEAAsE;AACtE,+DAA8D;AAC9D,mGAAoG;AACpG,2EAAsG;AACtG,+EAA2E;AAC3E,6EAAwE;AACxE,yFAAmF;AACnF,+EAA0E;AAC1E,uFAAkF;AAClF,yFAAoF;AACpF,6FAAuF;AACvF,iFAA4E;AAC5E,mEAAuF;AACvF,2DAAyE;AACzE,6EAAuE;AACvE,iEAA+D;AAC/D,mDAAgG;AAChG,yEAAoE;AACpE,iFAA2E;AAC3E,iFAA4E;AAC5E,6FAAuF;AACvF,iGAA4F;AAC5F,6GAAuG;AACvG,2HAAoH;AACpH,2DAA8E;AAC9E,uFAAiF;AACjF,qGAA8F;AAC9F,+EAAyE;AACzE,+GAAwG;AACxG,6EAAwE;AACxE,uFAAqF;AACrF,iFAA2E;AAC3E,2FAAiH;AACjH,qFAA8E;AAC9E,6EAAwE;AACxE,uEAAkE;AAClE,iEAA4D;AAE5D,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAA,mCAA4B,EAAC,IAAI,EAAE,cAAK,CAAC,CAAC;IAC1C,IAAA,mCAA4B,EAAC,IAAI,EAAE,8BAAqB,CAAC,CAAC;IAE1D,IAAI,CAAC,oEAAiC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpE,IAAI,CAAC,sCAA6B,CAAC,CAAC,SAAS,CAAC,oEAAiC,CAAC,CAAC;IACjF,IAAI,CAAC,8BAAqB,CAAC,CAAC,SAAS,CAAC,oEAAiC,CAAC,CAAC;IAEzE,IAAI,CAAC,kEAA+B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAClE,IAAI,CAAC,oCAA2B,CAAC,CAAC,SAAS,CAAC,kEAA+B,CAAC,CAAC;IAC7E,IAAI,CAAC,oCAA2B,CAAC,CAAC,SAAS,CAAC,oCAA2B,CAAC,CAAC;IAEzE,IAAI,CAAC,8CAAqC,CAAC,CAAC,cAAc,CACtD,GAAG,CAAC,EAAE;QACF,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAA4B,sDAAwB,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAA8B,oCAA2B,CAAC,CAAC;QAC3F,OAAO,UAAU,CAAC,WAAW,CAAwC,0CAAiC,EAAE,MAAM,CAAC,CAAC;IACpH,CAAC,CACJ,CAAC;IAEF,IAAI,CAAC,sCAA6B,CAAC;SAC9B,cAAc,CAAC,GAAG,CAAC,EAAE;QAClB,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAA4B,sDAAwB,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAA8B,oCAA2B,CAAC,CAAC;QAC3F,OAAO,UAAU,CAAC,WAAW,CAAgC,kCAAyB,EAAE,MAAM,CAAC,CAAC;IACpG,CAAC,CAAC;SACD,gBAAgB,EAAE,CAAC;IAExB,IAAA,2CAAqB,EAAC,IAAI,CAAC,CAAC;IAE5B,IAAI,CAAC,iFAAyC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5E,IAAI,CAAC,2CAAkC,CAAC,CAAC,SAAS,CAAC,iFAAyC,CAAC,CAAC;IAC9F,IAAI,CAAC,0BAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpD,IAAI,CAAC,sBAAa,CAAC,CAAC,SAAS,CAAC,0BAAiB,CAAC,CAAC;IAEjD,IAAI,CAAC,wDAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,IAAI,CAAC,gDAAqC,CAAC,CAAC,SAAS,CAAC,wDAA0B,CAAC,CAAC;IAClF,IAAI,CAAC,0BAAmB,CAAC,CAAC,SAAS,CAAC,wDAA0B,CAAC,CAAC;IAChE,IAAI,CAAC,2CAAyB,CAAC,CAAC,SAAS,CAAC,wDAA0B,CAAC,CAAC;IAEtE,IAAI,CAAC,2CAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxD,IAAI,CAAC,oCAAiB,CAAC,CAAC,SAAS,CAAC,2CAAqB,CAAC,CAAC;IAEzD,IAAI,CAAC,mCAAmB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACtD,IAAI,CAAC,4BAAY,CAAC,CAAC,SAAS,CAAC,mCAAmB,CAAC,CAAC;IAElD,IAAI,CAAC,iDAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzD,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,iDAAsB,CAAC,CAAC;IAExE,IAAI,CAAC,0CAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzD,IAAI,CAAC,mCAAe,CAAC,CAAC,SAAS,CAAC,0CAAsB,CAAC,CAAC;IACxD,IAAI,CAAC,sDAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,qFAAuC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1E,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,qFAAuC,CAAC,CAAC;IACzF,IAAI,CAAC,0BAAmB,CAAC,CAAC,SAAS,CAAC,qFAAuC,CAAC,CAAC;IAE7E,IAAA,mCAA4B,EAAC,IAAI,EAAE,0CAA0B,CAAC,CAAC;IAE/D,IAAA,mCAA4B,EAAC,IAAI,EAAE,+BAAsB,CAAC,CAAC;IAC3D,IAAI,CAAC,0DAA8B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACjE,IAAI,CAAC,mDAAuB,CAAC,CAAC,SAAS,CAAC,0DAA8B,CAAC,CAAC;IACxE,IAAI,CAAC,0BAAiB,CAAC,CAAC,SAAS,CAAC,mDAAuB,CAAC,CAAC;IAC3D,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,mDAAuB,CAAC,CAAC;IAEzE,IAAI,CAAC,uDAAyB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5D,IAAI,CAAC,+BAAsB,CAAC,CAAC,SAAS,CAAC,uDAAyB,CAAC,CAAC;IAElE,IAAI,CAAC,yDAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,IAAI,CAAC,+BAAsB,CAAC,CAAC,SAAS,CAAC,yDAA0B,CAAC,CAAC;IACnE,IAAI,CAAC,+BAAsB,CAAC,CAAC,EAAE,CAAC,uDAAyB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9E,IAAI,CAAC,gEAA6B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAChE,IAAI,CAAC,+BAAsB,CAAC,CAAC,EAAE,CAAC,qDAAwB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC7E,IAAI,CAAC,yDAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,IAAI,CAAC,+BAAsB,CAAC,CAAC,SAAS,CAAC,yDAA0B,CAAC,CAAC;IACnE,IAAI,CAAC,+BAAsB,CAAC,CAAC,EAAE,CAAC,oEAA+B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACpF,IAAI,CAAC,yDAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,IAAI,CAAC,+BAAsB,CAAC,CAAC,SAAS,CAAC,yDAA0B,CAAC,CAAC;IACnE,IAAI,CAAC,8DAA4B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC/D,IAAI,CAAC,+BAAsB,CAAC,CAAC,SAAS,CAAC,8DAA4B,CAAC,CAAC;IACrE,IAAI,CAAC,+BAAsB,CAAC,CAAC,EAAE,CAAC,iEAA8B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACnF,IAAI,CAAC,+BAAsB,CAAC,CAAC,EAAE,CAAC,oEAA+B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEpF,IAAI,CAAC,oFAAuC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1E,IAAI,CAAC,+BAAsB,CAAC,CAAC,SAAS,CAAC,oFAAuC,CAAC,CAAC;IAEhF,IAAI,CAAC,iGAA6C,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAChF,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,iGAA6C,CAAC,CAAC;IAE/F,IAAI,CAAC,2EAAkC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrE,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,2EAAkC,CAAC,CAAC;IAEpF,IAAI,CAAC,yCAA+B,CAAC,CAAC,EAAE,CAAC,iFAAqC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEnG,IAAI,CAAC,+BAAsB,CAAC,CAAC,EAAE,CAAC,mCAA0B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/E,IAAA,mCAA4B,EAAC,IAAI,EAAE,qBAAY,CAAC,CAAC;IAEjD,IAAI,CAAC,+CAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAI,CAAC,2CAAmB,CAAC,CAAC,SAAS,CAAC,+CAAuB,CAAC,CAAC;IAC7D,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,2CAAmB,CAAC,CAAC;IAErE,IAAI,CAAC,gCAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnD,IAAI,CAAC,4BAAY,CAAC,CAAC,SAAS,CAAC,gCAAgB,CAAC,CAAC;IAE/C,IAAI,CAAC,oDAAuB,CAAC,CAAC,SAAS,CAAiB,OAAO,CAAC,EAAE,CAAC,CAAC,OAAuB,EAAE,EAAE;QAC3F,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAsB,2CAAmB,CAAC,CAAC;QAC1F,OAAO;YACH,OAAO,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;YACzD,SAAS,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;YACrG,SAAS,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;YACvG,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wDAAyB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5D,IAAI,CAAC,0BAAmB,CAAC,CAAC,SAAS,CAAC,wDAAyB,CAAC,CAAC;IAC/D,IAAI,CAAC,kEAAgC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnE,IAAI,CAAC,6CAAoB,CAAC,CAAC,SAAS,CAAC,kEAAgC,CAAC,CAAC;IAEvE,IAAI,CAAC,wDAAyB,CAAC,CAAC,EAAE,CAAC,iEAA6B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACrF,IAAI,CAAC,gCAAuB,CAAC,CAAC,EAAE,CAAC,+DAA2B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEjF,IAAI,CAAC,0EAAiC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpE,IAAI,CAAC,iDAA0B,CAAC,CAAC,SAAS,CAAC,0EAAiC,CAAC,CAAC;IAE9E,sGAAsG;IACtG,IAAI,CAAC,6BAAsB,CAAC,CAAC,EAAE,CAAC,gEAA6B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAClF,yFAAyF;IACzF,IAAI,CAAC,6BAAsB,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,uEAAoC,EAAE,CAAC,CAAC;IAE/F,IAAI,CAAC,4DAA2B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC9D,IAAI,CAAC,+CAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAExD,qGAAqG;IACrG,IAAI,CAAC,0DAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAE7D,IAAI,CAAC,0DAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,IAAI,CAAC,+BAAsB,CAAC,CAAC,SAAS,CAAC,0DAA0B,CAAC,CAAC;IAEnE,IAAI,CAAC,0BAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;QACzC,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAA4B,sDAAwB,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAA0B,gCAAuB,CAAC,CAAC;QACnF,OAAO,UAAU,CAAC,WAAW,CAAoB,iCAAwB,EAAE,MAAM,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACtB,IAAI,CAAC,mCAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,IAAI,CAAC,uBAAgB,CAAC,CAAC,SAAS,CAAC,mCAA0B,CAAC,CAAC;IAC7D,IAAI,CAAC,2DAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,IAAI,CAAC,mCAAyB,CAAC,CAAC,SAAS,CAAC,2DAA0B,CAAC,CAAC;IAEtE,IAAI,CAAC,qDAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,+CAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxD,IAAI,CAAC,yCAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrD,IAAI,CAAC,sCAA6B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAChE,IAAI,CAAC,uBAAgB,CAAC,CAAC,SAAS,CAAC,sCAA6B,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { FileService } from '@theia/filesystem/lib/browser/file-service';
|
|
|
4
4
|
import { WorkspaceService } from '@theia/workspace/lib/browser/workspace-service';
|
|
5
5
|
import { AIVariable, AIVariableContext, AIVariableContribution, AIVariableOpener, AIVariableResolutionRequest, AIVariableResolver, ResolvedAIContextVariable } from '../common/variable-service';
|
|
6
6
|
import { FrontendVariableService } from './frontend-variable-service';
|
|
7
|
+
import { WorkspaceRelativePathResolver } from './workspace-relative-path-resolver';
|
|
7
8
|
export declare namespace FileVariableArgs {
|
|
8
9
|
const uri = "uri";
|
|
9
10
|
}
|
|
@@ -12,6 +13,7 @@ export declare class FileVariableContribution implements AIVariableContribution,
|
|
|
12
13
|
protected readonly fileService: FileService;
|
|
13
14
|
protected readonly wsService: WorkspaceService;
|
|
14
15
|
protected readonly openerService: OpenerService;
|
|
16
|
+
protected readonly pathResolver: WorkspaceRelativePathResolver;
|
|
15
17
|
registerVariables(service: FrontendVariableService): void;
|
|
16
18
|
canResolve(request: AIVariableResolutionRequest, _: AIVariableContext): Promise<number>;
|
|
17
19
|
resolve(request: AIVariableResolutionRequest, _: AIVariableContext): Promise<ResolvedAIContextVariable | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/file-variable-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,
|
|
1
|
+
{"version":3,"file":"file-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/file-variable-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAO,GAAG,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAsB,MAAM,yBAAyB,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EACH,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,2BAA2B,EAC3B,kBAAkB,EAClB,yBAAyB,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF,yBAAiB,gBAAgB,CAAC;IACvB,MAAM,GAAG,QAAQ,CAAC;CAC5B;AAED,eAAO,MAAM,aAAa,EAAE,UAQ3B,CAAC;AAEF,qBACa,wBAAyB,YAAW,sBAAsB,EAAE,kBAAkB,EAAE,gBAAgB;IAEzG,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAG/C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,6BAA6B,CAAC;IAE/D,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAKnD,UAAU,CAAC,OAAO,EAAE,2BAA2B,EAAE,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvF,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;cAkBzG,KAAK,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IASrF,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpF,IAAI,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;cAQ3E,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;CAY1E"}
|
|
@@ -22,6 +22,7 @@ const browser_1 = require("@theia/core/lib/browser");
|
|
|
22
22
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
23
|
const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
|
|
24
24
|
const workspace_service_1 = require("@theia/workspace/lib/browser/workspace-service");
|
|
25
|
+
const workspace_relative_path_resolver_1 = require("./workspace-relative-path-resolver");
|
|
25
26
|
var FileVariableArgs;
|
|
26
27
|
(function (FileVariableArgs) {
|
|
27
28
|
FileVariableArgs.uri = 'uri';
|
|
@@ -79,29 +80,9 @@ let FileVariableContribution = class FileVariableContribution {
|
|
|
79
80
|
await (0, browser_1.open)(this.openerService, uri);
|
|
80
81
|
}
|
|
81
82
|
async makeAbsolute(pathStr) {
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
const workspaceRoots = this.wsService.tryGetRoots();
|
|
86
|
-
const segments = normalizedPath.split('/');
|
|
87
|
-
if (segments.length > 0) {
|
|
88
|
-
const potentialRootName = segments[0];
|
|
89
|
-
for (const root of workspaceRoots) {
|
|
90
|
-
if (root.resource.path.base === potentialRootName) {
|
|
91
|
-
const restOfPath = segments.slice(1).join('/');
|
|
92
|
-
const uri = restOfPath ? root.resource.resolve(restOfPath) : root.resource;
|
|
93
|
-
if (await this.fileService.exists(uri)) {
|
|
94
|
-
return uri;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
const wsUris = workspaceRoots.map(root => root.resource.resolve(path));
|
|
100
|
-
for (const uri of wsUris) {
|
|
101
|
-
if (await this.fileService.exists(uri)) {
|
|
102
|
-
return uri;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
83
|
+
const workspaceUri = await this.pathResolver.resolveExistingRelativePath(pathStr);
|
|
84
|
+
if (workspaceUri) {
|
|
85
|
+
return workspaceUri;
|
|
105
86
|
}
|
|
106
87
|
const argUri = new core_1.URI(pathStr);
|
|
107
88
|
if (await this.fileService.exists(argUri)) {
|
|
@@ -123,6 +104,10 @@ tslib_1.__decorate([
|
|
|
123
104
|
(0, inversify_1.inject)(browser_1.OpenerService),
|
|
124
105
|
tslib_1.__metadata("design:type", Object)
|
|
125
106
|
], FileVariableContribution.prototype, "openerService", void 0);
|
|
107
|
+
tslib_1.__decorate([
|
|
108
|
+
(0, inversify_1.inject)(workspace_relative_path_resolver_1.WorkspaceRelativePathResolver),
|
|
109
|
+
tslib_1.__metadata("design:type", workspace_relative_path_resolver_1.WorkspaceRelativePathResolver)
|
|
110
|
+
], FileVariableContribution.prototype, "pathResolver", void 0);
|
|
126
111
|
exports.FileVariableContribution = FileVariableContribution = tslib_1.__decorate([
|
|
127
112
|
(0, inversify_1.injectable)()
|
|
128
113
|
], FileVariableContribution);
|