@theia/ai-ide 1.70.0-next.71 → 1.70.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.
- package/lib/browser/agent-mode-confirmation-service.d.ts +13 -0
- package/lib/browser/agent-mode-confirmation-service.d.ts.map +1 -0
- package/lib/browser/agent-mode-confirmation-service.js +73 -0
- package/lib/browser/agent-mode-confirmation-service.js.map +1 -0
- package/lib/browser/coder-agent.d.ts +3 -0
- package/lib/browser/coder-agent.d.ts.map +1 -1
- package/lib/browser/coder-agent.js +22 -2
- package/lib/browser/coder-agent.js.map +1 -1
- package/lib/browser/frontend-module.d.ts.map +1 -1
- package/lib/browser/frontend-module.js +3 -12
- package/lib/browser/frontend-module.js.map +1 -1
- package/lib/browser/task-background-summary-variable.d.ts.map +1 -1
- package/lib/browser/task-background-summary-variable.js +4 -8
- package/lib/browser/task-background-summary-variable.js.map +1 -1
- package/lib/common/ai-ide-preferences.d.ts +1 -0
- package/lib/common/ai-ide-preferences.d.ts.map +1 -1
- package/lib/common/ai-ide-preferences.js +10 -1
- package/lib/common/ai-ide-preferences.js.map +1 -1
- package/package.json +22 -22
- package/src/browser/agent-mode-confirmation-service.ts +88 -0
- package/src/browser/coder-agent.ts +22 -2
- package/src/browser/frontend-module.ts +6 -14
- package/src/browser/task-background-summary-variable.ts +4 -8
- package/src/common/ai-ide-preferences.ts +10 -1
- package/lib/browser/context-reviewer-agent.d.ts +0 -17
- package/lib/browser/context-reviewer-agent.d.ts.map +0 -1
- package/lib/browser/context-reviewer-agent.js +0 -45
- package/lib/browser/context-reviewer-agent.js.map +0 -1
- package/lib/browser/context-reviewer-prompt-template.d.ts +0 -4
- package/lib/browser/context-reviewer-prompt-template.d.ts.map +0 -1
- package/lib/browser/context-reviewer-prompt-template.js +0 -160
- package/lib/browser/context-reviewer-prompt-template.js.map +0 -1
- package/lib/browser/debug-capability-contribution.d.ts +0 -8
- package/lib/browser/debug-capability-contribution.d.ts.map +0 -1
- package/lib/browser/debug-capability-contribution.js +0 -97
- package/lib/browser/debug-capability-contribution.js.map +0 -1
- package/lib/browser/junior-agent.d.ts +0 -17
- package/lib/browser/junior-agent.d.ts.map +0 -1
- package/lib/browser/junior-agent.js +0 -45
- package/lib/browser/junior-agent.js.map +0 -1
- package/lib/browser/junior-plan-capability-contribution.d.ts +0 -8
- package/lib/browser/junior-plan-capability-contribution.d.ts.map +0 -1
- package/lib/browser/junior-plan-capability-contribution.js +0 -131
- package/lib/browser/junior-plan-capability-contribution.js.map +0 -1
- package/lib/browser/junior-prompt-template.d.ts +0 -4
- package/lib/browser/junior-prompt-template.d.ts.map +0 -1
- package/lib/browser/junior-prompt-template.js +0 -153
- package/lib/browser/junior-prompt-template.js.map +0 -1
- package/src/browser/context-reviewer-agent.ts +0 -40
- package/src/browser/context-reviewer-prompt-template.ts +0 -160
- package/src/browser/debug-capability-contribution.ts +0 -95
- package/src/browser/junior-agent.ts +0 -40
- package/src/browser/junior-plan-capability-contribution.ts +0 -129
- package/src/browser/junior-prompt-template.ts +0 -153
|
@@ -116,19 +116,20 @@ import { AddressGhReviewCommandContribution } from './address-pr-review-command-
|
|
|
116
116
|
import { AppTesterCapabilityContribution } from './apptester-capability-contribution';
|
|
117
117
|
import { GitHubCapabilityContribution } from './github-capability-contribution';
|
|
118
118
|
import { ShellExecutionCapabilityContribution } from './shell-execution-capability-contribution';
|
|
119
|
-
import {
|
|
119
|
+
import { AgentModeConfirmationService, AgentModeConfirmationServiceImpl } from './agent-mode-confirmation-service';
|
|
120
120
|
|
|
121
121
|
import { ExploreAgent } from './explore-agent';
|
|
122
122
|
import { CodeReviewerAgent } from './code-reviewer-agent';
|
|
123
|
-
|
|
124
|
-
import { DebugCapabilityContribution } from './debug-capability-contribution';
|
|
123
|
+
|
|
125
124
|
import { CodeReviewCapabilityContribution } from './code-review-capability-contribution';
|
|
126
|
-
import { JuniorPlanCapabilityContribution } from './junior-plan-capability-contribution';
|
|
127
125
|
|
|
128
126
|
export default new ContainerModule((bind, _unbind, _isBound, rebind) => {
|
|
129
127
|
bind(PreferenceContribution).toConstantValue({ schema: aiIdePreferenceSchema });
|
|
130
128
|
bind(PreferenceContribution).toConstantValue({ schema: WorkspacePreferencesSchema });
|
|
131
129
|
|
|
130
|
+
bind(AgentModeConfirmationServiceImpl).toSelf().inSingletonScope();
|
|
131
|
+
bind(AgentModeConfirmationService).toService(AgentModeConfirmationServiceImpl);
|
|
132
|
+
|
|
132
133
|
bind(AIIdeActivationServiceImpl).toSelf().inSingletonScope();
|
|
133
134
|
// rebinds the default implementation of '@theia/ai-core'
|
|
134
135
|
rebind(AIActivationService).toService(AIIdeActivationServiceImpl);
|
|
@@ -173,10 +174,6 @@ export default new ContainerModule((bind, _unbind, _isBound, rebind) => {
|
|
|
173
174
|
bind(Agent).toService(CommandChatAgent);
|
|
174
175
|
bind(ChatAgent).toService(CommandChatAgent);
|
|
175
176
|
|
|
176
|
-
bind(JuniorAgent).toSelf().inSingletonScope();
|
|
177
|
-
bind(Agent).toService(JuniorAgent);
|
|
178
|
-
bind(ChatAgent).toService(JuniorAgent);
|
|
179
|
-
|
|
180
177
|
bind(ExploreAgent).toSelf().inSingletonScope();
|
|
181
178
|
bind(Agent).toService(ExploreAgent);
|
|
182
179
|
bind(ChatAgent).toService(ExploreAgent);
|
|
@@ -185,10 +182,6 @@ export default new ContainerModule((bind, _unbind, _isBound, rebind) => {
|
|
|
185
182
|
bind(Agent).toService(CodeReviewerAgent);
|
|
186
183
|
bind(ChatAgent).toService(CodeReviewerAgent);
|
|
187
184
|
|
|
188
|
-
bind(ContextReviewerAgent).toSelf().inSingletonScope();
|
|
189
|
-
bind(Agent).toService(ContextReviewerAgent);
|
|
190
|
-
bind(ChatAgent).toService(ContextReviewerAgent);
|
|
191
|
-
|
|
192
185
|
bind(ChatWelcomeMessageProvider).to(IdeChatWelcomeMessageProvider).inSingletonScope();
|
|
193
186
|
bind(ChatWelcomeMessageProvider).to(ChatSessionsWelcomeMessageProvider).inSingletonScope();
|
|
194
187
|
bindContributionProvider(bind, ChatSessionCardActionContribution);
|
|
@@ -348,7 +341,6 @@ export default new ContainerModule((bind, _unbind, _isBound, rebind) => {
|
|
|
348
341
|
bind(FrontendApplicationContribution).to(AppTesterCapabilityContribution);
|
|
349
342
|
bind(FrontendApplicationContribution).to(GitHubCapabilityContribution);
|
|
350
343
|
bind(FrontendApplicationContribution).to(ShellExecutionCapabilityContribution);
|
|
351
|
-
|
|
344
|
+
|
|
352
345
|
bind(FrontendApplicationContribution).to(CodeReviewCapabilityContribution);
|
|
353
|
-
bind(FrontendApplicationContribution).to(JuniorPlanCapabilityContribution);
|
|
354
346
|
});
|
|
@@ -58,15 +58,11 @@ export class TaskContextSummaryVariableContribution implements AIVariableContrib
|
|
|
58
58
|
const allSummaryRequests = context.model.context.getVariables().filter(candidate => candidate.variable.id === TASK_CONTEXT_VARIABLE.id);
|
|
59
59
|
if (!allSummaryRequests.length) { return { ...request, value: '' }; }
|
|
60
60
|
const allSummaries = await Promise.all(allSummaryRequests.map(summaryRequest => resolveDependency(summaryRequest).then(resolved => resolved?.value)));
|
|
61
|
-
const value = `# Current
|
|
61
|
+
const value = `# Current Plan
|
|
62
62
|
|
|
63
|
-
The
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
Note: This context is a snapshot from the start of the conversation and will not update during this run.
|
|
67
|
-
When deviating from the plan:
|
|
68
|
-
- Explain the deviation and your reasoning before proceeding
|
|
69
|
-
- Summarize all deviations at the end of your response, and suggest updates to the task context if the plan needs revision
|
|
63
|
+
The user has provided the following plan as your primary objective. Trust it and implement it directly. Do not re-explore the workspace from scratch.
|
|
64
|
+
Only deviate if you find genuine issues (outdated assumptions, conflicts, unclear steps); if so, explain before proceeding and summarize deviations at the end.
|
|
65
|
+
Work through the plan step by step, maintaining a todo list. Complete each step fully before moving to the next.
|
|
70
66
|
|
|
71
67
|
---
|
|
72
68
|
|
|
@@ -20,7 +20,7 @@ import { nls, PreferenceSchema } from '@theia/core';
|
|
|
20
20
|
// We reuse the context key for the preference name
|
|
21
21
|
export const PREFERENCE_NAME_ENABLE_AI = 'ai-features.AiEnable.enableAI';
|
|
22
22
|
export const PREFERENCE_NAME_ORCHESTRATOR_EXCLUSION_LIST = 'ai-features.orchestrator.excludedAgents';
|
|
23
|
-
|
|
23
|
+
export const PREFERENCE_NAME_AGENT_MODE_CONFIRMED = 'ai-features.agentMode.confirmed';
|
|
24
24
|
export const aiIdePreferenceSchema: PreferenceSchema = {
|
|
25
25
|
properties: {
|
|
26
26
|
[PREFERENCE_NAME_ENABLE_AI]: {
|
|
@@ -48,6 +48,15 @@ export const aiIdePreferenceSchema: PreferenceSchema = {
|
|
|
48
48
|
type: 'string'
|
|
49
49
|
},
|
|
50
50
|
default: ['ClaudeCode', 'Codex'],
|
|
51
|
+
},
|
|
52
|
+
[PREFERENCE_NAME_AGENT_MODE_CONFIRMED]: {
|
|
53
|
+
title: AI_CORE_PREFERENCES_TITLE,
|
|
54
|
+
markdownDescription: nls.localize('theia/ai/ide/agentMode/confirmed/mdDescription',
|
|
55
|
+
'Whether the user has confirmed the agent mode warning. '
|
|
56
|
+
+ 'Agent mode allows autonomous file modifications without further confirmation. '
|
|
57
|
+
+ 'Set to `false` to see the confirmation again on the next agent mode request.'),
|
|
58
|
+
type: 'boolean',
|
|
59
|
+
default: false,
|
|
51
60
|
}
|
|
52
61
|
}
|
|
53
62
|
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { AbstractStreamParsingChatAgent } from '@theia/ai-chat/lib/common/chat-agents';
|
|
2
|
-
import { LanguageModelRequirement } from '@theia/ai-core/lib/common';
|
|
3
|
-
export declare const ContextReviewerAgentId = "context-reviewer";
|
|
4
|
-
export declare class ContextReviewerAgent extends AbstractStreamParsingChatAgent {
|
|
5
|
-
name: string;
|
|
6
|
-
id: string;
|
|
7
|
-
languageModelRequirements: LanguageModelRequirement[];
|
|
8
|
-
protected defaultLanguageModelPurpose: string;
|
|
9
|
-
description: string;
|
|
10
|
-
prompts: {
|
|
11
|
-
id: string;
|
|
12
|
-
defaultVariant: import("@theia/ai-core/lib/common").BasePromptFragment;
|
|
13
|
-
variants: never[];
|
|
14
|
-
}[];
|
|
15
|
-
protected systemPromptId: string;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=context-reviewer-agent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-reviewer-agent.d.ts","sourceRoot":"","sources":["../../src/browser/context-reviewer-agent.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAKrE,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AAEzD,qBACa,oBAAqB,SAAQ,8BAA8B;IACpE,IAAI,SAAsB;IAC1B,EAAE,SAA0B;IAC5B,yBAAyB,EAAE,wBAAwB,EAAE,CAGlD;IACH,SAAS,CAAC,2BAA2B,EAAE,MAAM,CAAU;IAC9C,WAAW,SAE2F;IAEtG,OAAO;;;;QAA0G;IAC1H,UAAmB,cAAc,EAAE,MAAM,CAAqC;CACjF"}
|
|
@@ -1,45 +0,0 @@
|
|
|
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.ContextReviewerAgent = exports.ContextReviewerAgentId = void 0;
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const chat_agents_1 = require("@theia/ai-chat/lib/common/chat-agents");
|
|
21
|
-
const core_1 = require("@theia/core");
|
|
22
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
|
-
const context_reviewer_prompt_template_1 = require("./context-reviewer-prompt-template");
|
|
24
|
-
exports.ContextReviewerAgentId = 'context-reviewer';
|
|
25
|
-
let ContextReviewerAgent = class ContextReviewerAgent extends chat_agents_1.AbstractStreamParsingChatAgent {
|
|
26
|
-
constructor() {
|
|
27
|
-
super(...arguments);
|
|
28
|
-
this.name = 'Context Reviewer';
|
|
29
|
-
this.id = exports.ContextReviewerAgentId;
|
|
30
|
-
this.languageModelRequirements = [{
|
|
31
|
-
purpose: 'chat',
|
|
32
|
-
identifier: 'default/code',
|
|
33
|
-
}];
|
|
34
|
-
this.defaultLanguageModelPurpose = 'chat';
|
|
35
|
-
this.description = core_1.nls.localize('theia/ai/ide/contextReviewerAgent/description', 'A senior solution architect that reviews Task Context documents. \
|
|
36
|
-
Determines if the implementing agent has enough information to implement the planned solution correctly.');
|
|
37
|
-
this.prompts = [{ id: context_reviewer_prompt_template_1.CONTEXT_REVIEWER_SYSTEM_PROMPT_ID, defaultVariant: context_reviewer_prompt_template_1.contextReviewerSystemPrompt, variants: [] }];
|
|
38
|
-
this.systemPromptId = context_reviewer_prompt_template_1.CONTEXT_REVIEWER_SYSTEM_PROMPT_ID;
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
exports.ContextReviewerAgent = ContextReviewerAgent;
|
|
42
|
-
exports.ContextReviewerAgent = ContextReviewerAgent = tslib_1.__decorate([
|
|
43
|
-
(0, inversify_1.injectable)()
|
|
44
|
-
], ContextReviewerAgent);
|
|
45
|
-
//# sourceMappingURL=context-reviewer-agent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-reviewer-agent.js","sourceRoot":"","sources":["../../src/browser/context-reviewer-agent.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,uEAAuF;AAEvF,sCAAkC;AAClC,4DAA0D;AAC1D,yFAAoH;AAEvG,QAAA,sBAAsB,GAAG,kBAAkB,CAAC;AAGlD,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,4CAA8B;IAAjE;;QACH,SAAI,GAAG,kBAAkB,CAAC;QAC1B,OAAE,GAAG,8BAAsB,CAAC;QAC5B,8BAAyB,GAA+B,CAAC;gBACrD,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,cAAc;aAC7B,CAAC,CAAC;QACO,gCAA2B,GAAW,MAAM,CAAC;QAC9C,gBAAW,GAAG,UAAG,CAAC,QAAQ,CAAC,+CAA+C,EAC/E;iHACyG,CAAC,CAAC;QAEtG,YAAO,GAAG,CAAC,EAAE,EAAE,EAAE,oEAAiC,EAAE,cAAc,EAAE,8DAA2B,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACvG,mBAAc,GAAW,oEAAiC,CAAC;IAClF,CAAC;CAAA,CAAA;AAdY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CAchC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { BasePromptFragment } from '@theia/ai-core/lib/common';
|
|
2
|
-
export declare const CONTEXT_REVIEWER_SYSTEM_PROMPT_ID = "context-reviewer-system";
|
|
3
|
-
export declare const contextReviewerSystemPrompt: BasePromptFragment;
|
|
4
|
-
//# sourceMappingURL=context-reviewer-prompt-template.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-reviewer-prompt-template.d.ts","sourceRoot":"","sources":["../../src/browser/context-reviewer-prompt-template.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,eAAO,MAAM,iCAAiC,4BAA4B,CAAC;AAE3E,eAAO,MAAM,2BAA2B,EAAE,kBA2IzC,CAAC"}
|
|
@@ -1,160 +0,0 @@
|
|
|
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.contextReviewerSystemPrompt = exports.CONTEXT_REVIEWER_SYSTEM_PROMPT_ID = void 0;
|
|
19
|
-
exports.CONTEXT_REVIEWER_SYSTEM_PROMPT_ID = 'context-reviewer-system';
|
|
20
|
-
exports.contextReviewerSystemPrompt = {
|
|
21
|
-
id: exports.CONTEXT_REVIEWER_SYSTEM_PROMPT_ID,
|
|
22
|
-
template: `# Role
|
|
23
|
-
|
|
24
|
-
You are a **senior solution architect** reviewing Task Context documents.
|
|
25
|
-
|
|
26
|
-
# What You're Reviewing
|
|
27
|
-
|
|
28
|
-
A **Task Context** is a planning document that describes:
|
|
29
|
-
- **Future work** to be implemented by a coding agent (a senior developer agent)
|
|
30
|
-
- **Design intent** \u2014 not current system behavior
|
|
31
|
-
- **A roadmap** for implementation \u2014 not a specification
|
|
32
|
-
|
|
33
|
-
**Your job:** Determine if the implementing agent has enough information to implement the planned solution correctly.
|
|
34
|
-
|
|
35
|
-
**Not your job:** Verify the document matches current code (it describes **changes** to that code).
|
|
36
|
-
|
|
37
|
-
# Document Audience
|
|
38
|
-
|
|
39
|
-
**The implementing agent** is a senior developer agent who:
|
|
40
|
-
- Has full codebase access and can read any file
|
|
41
|
-
- Understands the codebase architecture, patterns, and conventions
|
|
42
|
-
- Can infer implementation details from design intent
|
|
43
|
-
- Will ask clarifying questions if truly blocked
|
|
44
|
-
|
|
45
|
-
**A good Task Context is:** A 1-2 page roadmap, not a specification — clear on **what** and **why**, flexible on **how**.
|
|
46
|
-
|
|
47
|
-
# Inputs
|
|
48
|
-
|
|
49
|
-
You receive:
|
|
50
|
-
- **Task context path:** Path to the Task Context document
|
|
51
|
-
- **Key implementation files:** 2-3 files for context on current state
|
|
52
|
-
- **Brief description:** What the task modifies
|
|
53
|
-
|
|
54
|
-
# Tools
|
|
55
|
-
|
|
56
|
-
- ~{getTaskContext}
|
|
57
|
-
- ~{getFileContent}
|
|
58
|
-
|
|
59
|
-
# Review Criteria
|
|
60
|
-
|
|
61
|
-
## 🔴 High Severity — Must fix
|
|
62
|
-
|
|
63
|
-
| Issue | Example |
|
|
64
|
-
|-------|---------|
|
|
65
|
-
| Broken design — won't work or breaks existing behavior | "Add global state" when architecture requires immutability |
|
|
66
|
-
| Missing critical decision (state location, lifecycle owner, service layer) | "Update user data" without specifying data store |
|
|
67
|
-
| Contradictions between sections | Scope says "no UI changes", steps include "Update UI component" |
|
|
68
|
-
| Scope/Criteria mismatch | Scope: "Add button", Criteria: "Entire form works" |
|
|
69
|
-
| Vague/unverifiable criteria | "Feature works correctly", "Good performance" |
|
|
70
|
-
| Missing validation requirements (when code changes exist) | Criteria lack build/lint/test + diagnostics expectations |
|
|
71
|
-
| Missing UI verification (when UI in scope) | Scope includes UI, no UI test steps |
|
|
72
|
-
| Circular dependencies in steps | Step 2: "Use config from step 4" |
|
|
73
|
-
| Unverified critical assumption with no fallback | "Assumes API supports X" (unverified, no Plan B) |
|
|
74
|
-
|
|
75
|
-
## 🟡 Medium Severity — Consider fixing
|
|
76
|
-
|
|
77
|
-
| Issue | Example |
|
|
78
|
-
|-------|---------|
|
|
79
|
-
| Unnecessary complexity with obvious simpler alternative | Creating abstraction layer for one-time operation |
|
|
80
|
-
| Misleading ambiguity causing wrong implementation | "Update the service" (which service? which method?) |
|
|
81
|
-
| Implicit dependencies between ordered steps | Step 2 depends on step 1 output but not mentioned |
|
|
82
|
-
|
|
83
|
-
## Do NOT flag
|
|
84
|
-
|
|
85
|
-
- Inferable details
|
|
86
|
-
- Missing rationale
|
|
87
|
-
- Unspecified edge cases
|
|
88
|
-
- Wording/formatting
|
|
89
|
-
- Doc vs. code differences (doc describes future state)
|
|
90
|
-
- Standard patterns the implementing agent knows
|
|
91
|
-
- Test patterns or boilerplate
|
|
92
|
-
|
|
93
|
-
# Workflow
|
|
94
|
-
|
|
95
|
-
**Scale depth to complexity:** 2-step bugfix → sanity check. Major feature → full review.
|
|
96
|
-
|
|
97
|
-
**Step 0:** Read entire Task Context using ~{getTaskContext}. Understand full plan before evaluating.
|
|
98
|
-
|
|
99
|
-
**Step 1:** Validate structure
|
|
100
|
-
- Completion Criteria exist? No → 🔴 High
|
|
101
|
-
- Criteria consistent with Scope? No → 🔴 High
|
|
102
|
-
|
|
103
|
-
**Step 2:** Understand intent — What problem? What change? Why this approach?
|
|
104
|
-
|
|
105
|
-
**Step 3:** Read relevant source files using ~{getFileContent} (files mentioned in plan + 2-3 key files that will be modified)
|
|
106
|
-
|
|
107
|
-
**Step 4:** Evaluate feasibility — Will approach work? Anything critical missing?
|
|
108
|
-
|
|
109
|
-
**Step 5:** Check step ordering — Does step N depend on step M that comes later? → 🔴 High
|
|
110
|
-
|
|
111
|
-
**Step 6:** Test criteria verifiability — "Could I unambiguously verify this? Write a test?" No → 🔴 High
|
|
112
|
-
- ❌ Vague: "Feature works correctly"
|
|
113
|
-
- ✅ Clear: "Login button shows spinner during authentication"
|
|
114
|
-
|
|
115
|
-
**Step 7:** Assess impact — Would senior dev be blocked? Yes → Flag. Just inconvenienced? → Don't flag.
|
|
116
|
-
|
|
117
|
-
**Step 8:** Format findings — One-sentence fixes only. Don't rewrite sections.
|
|
118
|
-
|
|
119
|
-
**Final Reflective Pass:**
|
|
120
|
-
1. "Would I confidently approve this as the architect?"
|
|
121
|
-
2. "What assumption, if wrong, invalidates the approach?"
|
|
122
|
-
3. "What could cause failure that's not on my checklist?"
|
|
123
|
-
4. "Will these steps satisfy every Completion Criterion?"
|
|
124
|
-
|
|
125
|
-
Concrete concern → Add as issue. Vague unease → Let it go.
|
|
126
|
-
|
|
127
|
-
# Output Format (MANDATORY)
|
|
128
|
-
|
|
129
|
-
**Summary**
|
|
130
|
-
[1-2 sentences: Ready for implementation? Bias toward approval if design is sound.]
|
|
131
|
-
|
|
132
|
-
**Issues Found**
|
|
133
|
-
[If none: "None — ready for implementation."]
|
|
134
|
-
[If issues exist:]
|
|
135
|
-
|
|
136
|
-
| # | Section | Severity | Issue | Current Doc Content | Suggested Fix |
|
|
137
|
-
|---|---------|----------|-------|---------------------|---------------|
|
|
138
|
-
| 1 | [section] | 🔴 High | [problem] | [quote or "not addressed"] | [one-sentence fix] |
|
|
139
|
-
|
|
140
|
-
# Constraints
|
|
141
|
-
|
|
142
|
-
- **Bias toward approval** — If design is sound and the implementing agent can proceed → approve
|
|
143
|
-
- **Remember:** Document describes future work, not current state
|
|
144
|
-
- **Do not:** Suggest alternative designs (unless fundamentally broken), request additional documentation, flag doc vs. code mismatches, suggest style improvements
|
|
145
|
-
- **Maximum 3-5 issues** — blocking or near-blocking only
|
|
146
|
-
|
|
147
|
-
# Review Checklist
|
|
148
|
-
|
|
149
|
-
- ☐ Read entire Task Context before evaluating
|
|
150
|
-
- ☐ Read relevant source files for current state
|
|
151
|
-
- ☐ Verified Completion Criteria exist and are verifiable
|
|
152
|
-
- ☐ Checked Scope matches Criteria
|
|
153
|
-
- ☐ Evaluated step ordering
|
|
154
|
-
- ☐ Assessed if design will work
|
|
155
|
-
- ☐ Performed reflective pass
|
|
156
|
-
- ☐ Limited to blocking issues (max 5)
|
|
157
|
-
- ☐ One-sentence fixes only
|
|
158
|
-
`
|
|
159
|
-
};
|
|
160
|
-
//# sourceMappingURL=context-reviewer-prompt-template.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-reviewer-prompt-template.js","sourceRoot":"","sources":["../../src/browser/context-reviewer-prompt-template.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAInE,QAAA,iCAAiC,GAAG,yBAAyB,CAAC;AAE9D,QAAA,2BAA2B,GAAuB;IAC3D,EAAE,EAAE,yCAAiC;IACrC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwIb;CACA,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { FrontendApplicationContribution } from '@theia/core/lib/browser';
|
|
2
|
-
import { PromptService } from '@theia/ai-core';
|
|
3
|
-
export declare class DebugCapabilityContribution implements FrontendApplicationContribution {
|
|
4
|
-
protected readonly promptService: PromptService;
|
|
5
|
-
onStart(): void;
|
|
6
|
-
protected buildTemplate(): string;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=debug-capability-contribution.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-capability-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/debug-capability-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,qBACa,2BAA4B,YAAW,+BAA+B;IAG/E,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,OAAO,IAAI,IAAI;IAOf,SAAS,CAAC,aAAa,IAAI,MAAM;CA4DpC"}
|
|
@@ -1,97 +0,0 @@
|
|
|
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.DebugCapabilityContribution = void 0;
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
-
const ai_core_1 = require("@theia/ai-core");
|
|
22
|
-
const core_1 = require("@theia/core");
|
|
23
|
-
let DebugCapabilityContribution = class DebugCapabilityContribution {
|
|
24
|
-
onStart() {
|
|
25
|
-
this.promptService.addBuiltInPromptFragment({
|
|
26
|
-
id: 'debug',
|
|
27
|
-
template: this.buildTemplate()
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
buildTemplate() {
|
|
31
|
-
const name = core_1.nls.localizeByDefault('Debug');
|
|
32
|
-
const description = core_1.nls.localize('theia/ai-ide/debug/description', 'Logs workflow inconsistencies, unclear instructions, and unexpected behaviors to DEBUG.md for later analysis.');
|
|
33
|
-
return `---
|
|
34
|
-
name: ${name}
|
|
35
|
-
description: ${description}
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## Debug Mode
|
|
39
|
-
|
|
40
|
-
**Debug Mode is ENABLED.** Document any inconsistencies, ambiguities, or unexpected behaviors encountered during this run.
|
|
41
|
-
|
|
42
|
-
### When to Log
|
|
43
|
-
|
|
44
|
-
Record an entry when you encounter:
|
|
45
|
-
- **Ambiguous instructions** \u2014 unclear requirements, conflicting guidance, missing information
|
|
46
|
-
- **Unexpected agent behavior** \u2014 agents not following expected patterns, missing outputs, wrong formats
|
|
47
|
-
- **Workflow friction** \u2014 steps that don't flow naturally, missing handoffs, unclear state transitions
|
|
48
|
-
- **Tool failures** \u2014 repeated tool errors, unexpected responses, missing capabilities
|
|
49
|
-
- **Edge cases** \u2014 situations not covered by the workflow, unclear how to proceed
|
|
50
|
-
|
|
51
|
-
### How to Log
|
|
52
|
-
|
|
53
|
-
Use ~{writeFileContent} to append to \`DEBUG.md\` in the current working directory.
|
|
54
|
-
|
|
55
|
-
Format each entry as:
|
|
56
|
-
|
|
57
|
-
\`\`\`markdown
|
|
58
|
-
## [Timestamp or Session ID]
|
|
59
|
-
|
|
60
|
-
**Category:** [Ambiguity | Agent Behavior | Workflow | Tool | Edge Case]
|
|
61
|
-
**State:** [Current workflow state when issue occurred]
|
|
62
|
-
**Context:** [Brief description of what you were trying to do]
|
|
63
|
-
|
|
64
|
-
**Issue:**
|
|
65
|
-
[Describe what was unclear, unexpected, or problematic]
|
|
66
|
-
|
|
67
|
-
**What Happened:**
|
|
68
|
-
[What actually occurred]
|
|
69
|
-
|
|
70
|
-
**Expected:**
|
|
71
|
-
[What you expected to happen, if applicable]
|
|
72
|
-
|
|
73
|
-
**Workaround:**
|
|
74
|
-
[How you proceeded despite the issue, if applicable]
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
\`\`\`
|
|
78
|
-
|
|
79
|
-
### Rules
|
|
80
|
-
|
|
81
|
-
- **MANDATORY:** Log issues immediately as they occur \u2014 do not wait until the end
|
|
82
|
-
- **MANDATORY:** If an agent doesn't return expected output format, log it before working around it
|
|
83
|
-
- Be specific and factual \u2014 avoid vague descriptions
|
|
84
|
-
- Include enough context to reproduce or understand the issue later
|
|
85
|
-
- Do NOT let logging interrupt the main workflow \u2014 log quickly and continue
|
|
86
|
-
- Create \`DEBUG.md\` if it doesn't exist; append if it does`;
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
exports.DebugCapabilityContribution = DebugCapabilityContribution;
|
|
90
|
-
tslib_1.__decorate([
|
|
91
|
-
(0, inversify_1.inject)(ai_core_1.PromptService),
|
|
92
|
-
tslib_1.__metadata("design:type", Object)
|
|
93
|
-
], DebugCapabilityContribution.prototype, "promptService", void 0);
|
|
94
|
-
exports.DebugCapabilityContribution = DebugCapabilityContribution = tslib_1.__decorate([
|
|
95
|
-
(0, inversify_1.injectable)()
|
|
96
|
-
], DebugCapabilityContribution);
|
|
97
|
-
//# sourceMappingURL=debug-capability-contribution.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-capability-contribution.js","sourceRoot":"","sources":["../../src/browser/debug-capability-contribution.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;;;;AAGhF,4DAAkE;AAClE,4CAA+C;AAC/C,sCAAkC;AAG3B,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAKpC,OAAO;QACH,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC;YACxC,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE;SACjC,CAAC,CAAC;IACP,CAAC;IAES,aAAa;QACnB,MAAM,IAAI,GAAG,UAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,UAAG,CAAC,QAAQ,CAAC,gCAAgC,EAC7D,+GAA+G,CAAC,CAAC;QAErH,OAAO;QACP,IAAI;eACG,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DAmDmC,CAAC;IAC1D,CAAC;CACJ,CAAA;AAxEY,kEAA2B;AAGjB;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC;;kEAC0B;sCAHvC,2BAA2B;IADvC,IAAA,sBAAU,GAAE;GACA,2BAA2B,CAwEvC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { AbstractStreamParsingChatAgent } from '@theia/ai-chat/lib/common/chat-agents';
|
|
2
|
-
import { LanguageModelRequirement } from '@theia/ai-core/lib/common';
|
|
3
|
-
export declare const JuniorAgentId = "junior";
|
|
4
|
-
export declare class JuniorAgent extends AbstractStreamParsingChatAgent {
|
|
5
|
-
name: string;
|
|
6
|
-
id: string;
|
|
7
|
-
languageModelRequirements: LanguageModelRequirement[];
|
|
8
|
-
protected defaultLanguageModelPurpose: string;
|
|
9
|
-
description: string;
|
|
10
|
-
prompts: {
|
|
11
|
-
id: string;
|
|
12
|
-
defaultVariant: import("@theia/ai-core/lib/common").BasePromptFragment;
|
|
13
|
-
variants: never[];
|
|
14
|
-
}[];
|
|
15
|
-
protected systemPromptId: string;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=junior-agent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"junior-agent.d.ts","sourceRoot":"","sources":["../../src/browser/junior-agent.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAKrE,eAAO,MAAM,aAAa,WAAW,CAAC;AAEtC,qBACa,WAAY,SAAQ,8BAA8B;IAC3D,IAAI,SAAY;IAChB,EAAE,SAAiB;IACnB,yBAAyB,EAAE,wBAAwB,EAAE,CAGlD;IACH,SAAS,CAAC,2BAA2B,EAAE,MAAM,CAAU;IAC9C,WAAW,SAE0F;IAErG,OAAO;;;;QAAuF;IACvG,UAAmB,cAAc,EAAE,MAAM,CAA2B;CACvE"}
|
|
@@ -1,45 +0,0 @@
|
|
|
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.JuniorAgent = exports.JuniorAgentId = void 0;
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const chat_agents_1 = require("@theia/ai-chat/lib/common/chat-agents");
|
|
21
|
-
const core_1 = require("@theia/core");
|
|
22
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
|
-
const junior_prompt_template_1 = require("./junior-prompt-template");
|
|
24
|
-
exports.JuniorAgentId = 'junior';
|
|
25
|
-
let JuniorAgent = class JuniorAgent extends chat_agents_1.AbstractStreamParsingChatAgent {
|
|
26
|
-
constructor() {
|
|
27
|
-
super(...arguments);
|
|
28
|
-
this.name = 'Junior';
|
|
29
|
-
this.id = exports.JuniorAgentId;
|
|
30
|
-
this.languageModelRequirements = [{
|
|
31
|
-
purpose: 'chat',
|
|
32
|
-
identifier: 'default/code',
|
|
33
|
-
}];
|
|
34
|
-
this.defaultLanguageModelPurpose = 'chat';
|
|
35
|
-
this.description = core_1.nls.localize('theia/ai/ide/juniorAgent/description', 'A senior software architect and task coordinator that analyzes requirements, \
|
|
36
|
-
delegates implementation work to specialized agents, and coordinates the software development workflow.');
|
|
37
|
-
this.prompts = [{ id: junior_prompt_template_1.JUNIOR_SYSTEM_PROMPT_ID, defaultVariant: junior_prompt_template_1.juniorSystemPrompt, variants: [] }];
|
|
38
|
-
this.systemPromptId = junior_prompt_template_1.JUNIOR_SYSTEM_PROMPT_ID;
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
exports.JuniorAgent = JuniorAgent;
|
|
42
|
-
exports.JuniorAgent = JuniorAgent = tslib_1.__decorate([
|
|
43
|
-
(0, inversify_1.injectable)()
|
|
44
|
-
], JuniorAgent);
|
|
45
|
-
//# sourceMappingURL=junior-agent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"junior-agent.js","sourceRoot":"","sources":["../../src/browser/junior-agent.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,uEAAuF;AAEvF,sCAAkC;AAClC,4DAA0D;AAC1D,qEAAuF;AAE1E,QAAA,aAAa,GAAG,QAAQ,CAAC;AAG/B,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,4CAA8B;IAAxD;;QACH,SAAI,GAAG,QAAQ,CAAC;QAChB,OAAE,GAAG,qBAAa,CAAC;QACnB,8BAAyB,GAA+B,CAAC;gBACrD,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,cAAc;aAC7B,CAAC,CAAC;QACO,gCAA2B,GAAW,MAAM,CAAC;QAC9C,gBAAW,GAAG,UAAG,CAAC,QAAQ,CAAC,sCAAsC,EACtE;gHACwG,CAAC,CAAC;QAErG,YAAO,GAAG,CAAC,EAAE,EAAE,EAAE,gDAAuB,EAAE,cAAc,EAAE,2CAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,mBAAc,GAAW,gDAAuB,CAAC;IACxE,CAAC;CAAA,CAAA;AAdY,kCAAW;sBAAX,WAAW;IADvB,IAAA,sBAAU,GAAE;GACA,WAAW,CAcvB"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { FrontendApplicationContribution } from '@theia/core/lib/browser';
|
|
2
|
-
import { PromptService } from '@theia/ai-core';
|
|
3
|
-
export declare class JuniorPlanCapabilityContribution implements FrontendApplicationContribution {
|
|
4
|
-
protected readonly promptService: PromptService;
|
|
5
|
-
onStart(): void;
|
|
6
|
-
protected buildTemplate(): string;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=junior-plan-capability-contribution.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"junior-plan-capability-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/junior-plan-capability-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/C,qBACa,gCAAiC,YAAW,+BAA+B;IAGpF,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,OAAO,IAAI,IAAI;IAOf,SAAS,CAAC,aAAa,IAAI,MAAM;CA4FpC"}
|