@aws/lsp-codewhisperer 0.0.95 → 0.0.97
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/CHANGELOG.md +19 -0
- package/out/language-server/agenticChat/agenticChatController.d.ts +3 -1
- package/out/language-server/agenticChat/agenticChatController.js +38 -17
- package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
- package/out/language-server/agenticChat/constants/constants.d.ts +0 -3
- package/out/language-server/agenticChat/constants/constants.js +1 -7
- package/out/language-server/agenticChat/constants/constants.js.map +1 -1
- package/out/language-server/agenticChat/constants/modelSelection.d.ts +1 -0
- package/out/language-server/agenticChat/constants/modelSelection.js +5 -1
- package/out/language-server/agenticChat/constants/modelSelection.js.map +1 -1
- package/out/language-server/agenticChat/tools/mcp/mcpOauthClient.js.map +1 -1
- package/out/language-server/agenticChat/utils/tokenLimitsCalculator.d.ts +48 -0
- package/out/language-server/agenticChat/utils/tokenLimitsCalculator.js +48 -0
- package/out/language-server/agenticChat/utils/tokenLimitsCalculator.js.map +1 -0
- package/out/language-server/chat/chatSessionService.d.ts +17 -1
- package/out/language-server/chat/chatSessionService.js +28 -1
- package/out/language-server/chat/chatSessionService.js.map +1 -1
- package/out/language-server/configuration/transformConfigurationServer.d.ts +0 -13
- package/out/language-server/configuration/transformConfigurationServer.js +4 -112
- package/out/language-server/configuration/transformConfigurationServer.js.map +1 -1
- package/out/language-server/netTransform/atxTransformHandler.d.ts +2 -33
- package/out/language-server/netTransform/atxTransformHandler.js +130 -428
- package/out/language-server/netTransform/atxTransformHandler.js.map +1 -1
- package/out/language-server/netTransform/transformHandler.d.ts +0 -4
- package/out/language-server/netTransform/transformHandler.js +11 -39
- package/out/language-server/netTransform/transformHandler.js.map +1 -1
- package/out/language-server/netTransform/utils.d.ts +49 -0
- package/out/language-server/netTransform/utils.js +187 -0
- package/out/language-server/netTransform/utils.js.map +1 -0
- package/out/shared/amazonQServiceManager/AtxTokenServiceManager.d.ts +0 -1
- package/out/shared/amazonQServiceManager/AtxTokenServiceManager.js +14 -38
- package/out/shared/amazonQServiceManager/AtxTokenServiceManager.js.map +1 -1
- package/out/shared/codeWhispererService.js +1 -1
- package/out/shared/codeWhispererService.js.map +1 -1
- package/out/shared/constants.js +8 -3
- package/out/shared/constants.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,9 +6,6 @@ export declare const CLIENT_TIMEOUT_MS = 245000;
|
|
|
6
6
|
export declare const RESPONSE_TIMEOUT_MS = 240000;
|
|
7
7
|
export declare const SERVICE_MANAGER_TIMEOUT_MS = 10000;
|
|
8
8
|
export declare const SERVICE_MANAGER_POLL_INTERVAL_MS = 100;
|
|
9
|
-
export declare const GENERATE_ASSISTANT_RESPONSE_INPUT_LIMIT = 500000;
|
|
10
|
-
export declare const MAX_OVERALL_CHARACTERS = 700000;
|
|
11
|
-
export declare const COMPACTION_CHARACTER_THRESHOLD: number;
|
|
12
9
|
export declare const COMPACTION_BODY: (threshold: number) => string;
|
|
13
10
|
export declare const COMPACTION_HEADER_BODY = "Compact chat history?";
|
|
14
11
|
export declare const COMPACTION_PROMPT = "\n[SYSTEM NOTE: This is an automated summarization request, not from the user]\n\n\n<task>\nYour task is to generate a concise summary of the conversation history between an AI coding agent (assistant) and user once the LLM context window is reached.\nThis summary will replace the raw conversation history, so it should contain important information from the history such that it enables continuning the conversation with the user in a coherent manner.\nOutput the summary in markdown format with sections provided in format tag.\n</task>\n\n<format>\nThe summary should have following main sections:\n## Conversation Summary\n- contains an entry for each key topic discussed\n## Files and Code Summary\n- contains entries on what was learned about the files and code discussed. If relevant, it includes file paths, function signatures, and key changes\n## Key Insights\n- contains a summary for each key insight learned from the conversation (such as user preferences, technical details, decisions made, etc.)\n## Most Recent Topic\n- contains a detailed summary of the most recent topic discussed along with details of actions taken so far to address the user needs along with ALL tools executed\n</format>\n\n<guidelines>\n- Add an entry to Key Insights section for any SIGNIFICANT tool usages whose result is important for continuing the conversation\n- DO NOT respond conversationally. DO NOT address the user directly.\n- For files that were read/written, exclude the full raw content but keep their path and what was learned about them\n- If a file was loaded multiple times, only keep information about its latest fetch\n- For code pieces, capture file paths and key changes\n- Summarize code content concisely rather than including full snippets\n- Remove chat conventions (greetings, offers to help, etc.)\n- Only output the summary and nothing else\n</guidelines>\n\n<prioritize>\n- Information essential for continuing the conversation effectively\n- Technical details and code patterns that maintain context\n- User primary goals and requirements\n- Adding more details for recent conversations/actions over older ones\n</prioritize>\n\n<example_output>\n## Conversation Summary\n- **Topic1**: Summary of what was done to address Topic1 and the final conclusion\n- **Topic2**: Summary of what was done to address Topic2 and the final conclusion\n\n## Files and Code Summary\n- **fileA path**: learnings about fileA\n- **fileB path**: learnings about fileB\n- **codeSnippetA**: learnings from codeSnippetA\n\n## Key Insights\n- **INSIGHT**: Insight1\n- **INSIGHT**: Insight2\n\n## Most Recent Topic\n**Topic**: the most recent topic being discussed\n**Progress**: Key actions taken so far to address the topic\n**Tools Used**:\n- **toolUsage1**: Summary of what was done in toolUsage1 and ultimate result\n</example_output>\n";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_LINUX_REJECT_SHORTCUT = exports.DEFAULT_WINDOW_REJECT_SHORTCUT = exports.DEFAULT_MACOS_REJECT_SHORTCUT = exports.DEFAULT_LINUX_STOP_SHORTCUT = exports.DEFAULT_WINDOW_STOP_SHORTCUT = exports.DEFAULT_MACOS_STOP_SHORTCUT = exports.DEFAULT_LINUX_RUN_SHORTCUT = exports.DEFAULT_WINDOW_RUN_SHORTCUT = exports.DEFAULT_MACOS_RUN_SHORTCUT = exports.MAX_NUMBER_OF_FILES_FOR_MEMORY_BANK_RANKING = exports.FSREAD_MEMORY_BANK_MAX_TOTAL = exports.FSREAD_MEMORY_BANK_MAX_PER_FILE = exports.FSREAD_MAX_TOTAL = exports.FSREAD_MAX_PER_FILE = exports.MAX_REQUEST_ATTEMPTS = exports.STALLED_STREAM_CHECK_INTERVAL_MS = exports.STALLED_STREAM_GRACE_PERIOD_MS = exports.MAX_RETRY_DELAY_MS = exports.MAJOR_DELAY_THRESHOLD_MS = exports.MINOR_DELAY_THRESHOLD_MS = exports.MAXIMUM_CHAT_CONTENT_MESSAGE = exports.SERVICE_QUOTA_EXCEPTION = exports.INVALID_MODEL_ID = exports.INSUFFICIENT_MODEL_CAPACITY = exports.SERVICE_UNAVAILABLE_EXCEPTION = exports.HIGH_LOAD_ERROR_MESSAGE = exports.CONTENT_LENGTH_EXCEEDS_THRESHOLD = exports.MONTHLY_LIMIT_ERROR_MARKER = exports.HTTP_STATUS_INTERNAL_SERVER_ERROR = exports.HTTP_STATUS_TOO_MANY_REQUESTS = exports.RETRY_BACKOFF_MULTIPLIER = exports.RETRY_DELAY_NOTIFICATION_THRESHOLD_MS = exports.RETRY_JITTER_MAX = exports.RETRY_JITTER_MIN = exports.RETRY_MAX_DELAY_MS = exports.RETRY_BASE_DELAY_MS = exports.COMPACTION_PROMPT = exports.COMPACTION_HEADER_BODY = exports.COMPACTION_BODY = exports.
|
|
3
|
+
exports.DEFAULT_LINUX_REJECT_SHORTCUT = exports.DEFAULT_WINDOW_REJECT_SHORTCUT = exports.DEFAULT_MACOS_REJECT_SHORTCUT = exports.DEFAULT_LINUX_STOP_SHORTCUT = exports.DEFAULT_WINDOW_STOP_SHORTCUT = exports.DEFAULT_MACOS_STOP_SHORTCUT = exports.DEFAULT_LINUX_RUN_SHORTCUT = exports.DEFAULT_WINDOW_RUN_SHORTCUT = exports.DEFAULT_MACOS_RUN_SHORTCUT = exports.MAX_NUMBER_OF_FILES_FOR_MEMORY_BANK_RANKING = exports.FSREAD_MEMORY_BANK_MAX_TOTAL = exports.FSREAD_MEMORY_BANK_MAX_PER_FILE = exports.FSREAD_MAX_TOTAL = exports.FSREAD_MAX_PER_FILE = exports.MAX_REQUEST_ATTEMPTS = exports.STALLED_STREAM_CHECK_INTERVAL_MS = exports.STALLED_STREAM_GRACE_PERIOD_MS = exports.MAX_RETRY_DELAY_MS = exports.MAJOR_DELAY_THRESHOLD_MS = exports.MINOR_DELAY_THRESHOLD_MS = exports.MAXIMUM_CHAT_CONTENT_MESSAGE = exports.SERVICE_QUOTA_EXCEPTION = exports.INVALID_MODEL_ID = exports.INSUFFICIENT_MODEL_CAPACITY = exports.SERVICE_UNAVAILABLE_EXCEPTION = exports.HIGH_LOAD_ERROR_MESSAGE = exports.CONTENT_LENGTH_EXCEEDS_THRESHOLD = exports.MONTHLY_LIMIT_ERROR_MARKER = exports.HTTP_STATUS_INTERNAL_SERVER_ERROR = exports.HTTP_STATUS_TOO_MANY_REQUESTS = exports.RETRY_BACKOFF_MULTIPLIER = exports.RETRY_DELAY_NOTIFICATION_THRESHOLD_MS = exports.RETRY_JITTER_MAX = exports.RETRY_JITTER_MIN = exports.RETRY_MAX_DELAY_MS = exports.RETRY_BASE_DELAY_MS = exports.COMPACTION_PROMPT = exports.COMPACTION_HEADER_BODY = exports.COMPACTION_BODY = exports.SERVICE_MANAGER_POLL_INTERVAL_MS = exports.SERVICE_MANAGER_TIMEOUT_MS = exports.RESPONSE_TIMEOUT_MS = exports.CLIENT_TIMEOUT_MS = exports.LOADING_THRESHOLD_MS = exports.RESPONSE_TIMEOUT_PARTIAL_MSG = exports.OUTPUT_LIMIT_EXCEEDS_PARTIAL_MSG = exports.GENERIC_ERROR_MS = void 0;
|
|
4
4
|
// Error message constants
|
|
5
5
|
exports.GENERIC_ERROR_MS = 'An unexpected error occurred, check the logs for more information.';
|
|
6
6
|
exports.OUTPUT_LIMIT_EXCEEDS_PARTIAL_MSG = 'output exceeds maximum character limit of';
|
|
@@ -11,13 +11,7 @@ exports.CLIENT_TIMEOUT_MS = 245_000;
|
|
|
11
11
|
exports.RESPONSE_TIMEOUT_MS = 240_000;
|
|
12
12
|
exports.SERVICE_MANAGER_TIMEOUT_MS = 10_000; //10 seconds
|
|
13
13
|
exports.SERVICE_MANAGER_POLL_INTERVAL_MS = 100;
|
|
14
|
-
// LLM Constants
|
|
15
|
-
exports.GENERATE_ASSISTANT_RESPONSE_INPUT_LIMIT = 500_000;
|
|
16
14
|
// Compaction
|
|
17
|
-
// Maximum number of characters per request used for compaction prompt
|
|
18
|
-
// 200K tokens * 3.5 = 700K characters, intentionally overestimating with 3.5:1 ratio
|
|
19
|
-
exports.MAX_OVERALL_CHARACTERS = 700_000;
|
|
20
|
-
exports.COMPACTION_CHARACTER_THRESHOLD = 0.7 * exports.MAX_OVERALL_CHARACTERS;
|
|
21
15
|
const COMPACTION_BODY = (threshold) => `The context window is almost full (${threshold}%) and exceeding it will clear your history. Amazon Q can compact your history instead.`;
|
|
22
16
|
exports.COMPACTION_BODY = COMPACTION_BODY;
|
|
23
17
|
exports.COMPACTION_HEADER_BODY = 'Compact chat history?';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/constants/constants.ts"],"names":[],"mappings":";;;AAAA,0BAA0B;AACb,QAAA,gBAAgB,GAAG,oEAAoE,CAAA;AACvF,QAAA,gCAAgC,GAAG,2CAA2C,CAAA;AAC9E,QAAA,4BAA4B,GAAG,qCAAqC,CAAA;AAEjF,iBAAiB;AACJ,QAAA,oBAAoB,GAAG,IAAI,CAAA;AAC3B,QAAA,iBAAiB,GAAG,OAAO,CAAA;AAC3B,QAAA,mBAAmB,GAAG,OAAO,CAAA;AAC7B,QAAA,0BAA0B,GAAG,MAAM,CAAA,CAAC,YAAY;AAChD,QAAA,gCAAgC,GAAG,GAAG,CAAA;AAEnD,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/constants/constants.ts"],"names":[],"mappings":";;;AAAA,0BAA0B;AACb,QAAA,gBAAgB,GAAG,oEAAoE,CAAA;AACvF,QAAA,gCAAgC,GAAG,2CAA2C,CAAA;AAC9E,QAAA,4BAA4B,GAAG,qCAAqC,CAAA;AAEjF,iBAAiB;AACJ,QAAA,oBAAoB,GAAG,IAAI,CAAA;AAC3B,QAAA,iBAAiB,GAAG,OAAO,CAAA;AAC3B,QAAA,mBAAmB,GAAG,OAAO,CAAA;AAC7B,QAAA,0BAA0B,GAAG,MAAM,CAAA,CAAC,YAAY;AAChD,QAAA,gCAAgC,GAAG,GAAG,CAAA;AAEnD,aAAa;AACN,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAE,EAAE,CACjD,sCAAsC,SAAS,yFAAyF,CAAA;AAD/H,QAAA,eAAe,mBACgH;AAC/H,QAAA,sBAAsB,GAAG,uBAAuB,CAAA;AAChD,QAAA,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhC,CAAA;AAED,2BAA2B;AACd,QAAA,mBAAmB,GAAG,IAAI,CAAA;AAC1B,QAAA,kBAAkB,GAAG,KAAK,CAAA;AAC1B,QAAA,gBAAgB,GAAG,GAAG,CAAA;AACtB,QAAA,gBAAgB,GAAG,GAAG,CAAA;AACtB,QAAA,qCAAqC,GAAG,IAAI,CAAA;AAC5C,QAAA,wBAAwB,GAAG,CAAC,CAAA;AAEzC,oBAAoB;AACP,QAAA,6BAA6B,GAAG,GAAG,CAAA;AACnC,QAAA,iCAAiC,GAAG,GAAG,CAAA;AAEpD,iBAAiB;AACJ,QAAA,0BAA0B,GAAG,uBAAuB,CAAA;AACpD,QAAA,gCAAgC,GAAG,kCAAkC,CAAA;AACrE,QAAA,uBAAuB,GAChC,mFAAmF,CAAA;AAC1E,QAAA,6BAA6B,GAAG,6BAA6B,CAAA;AAC7D,QAAA,2BAA2B,GAAG,6BAA6B,CAAA;AAC3D,QAAA,gBAAgB,GAAG,kBAAkB,CAAA;AACrC,QAAA,uBAAuB,GAAG,+BAA+B,CAAA;AACzD,QAAA,4BAA4B,GAAG,mCAAmC,CAAA;AAE/E,2BAA2B;AACd,QAAA,wBAAwB,GAAG,IAAI,CAAA,CAAC,YAAY;AAC5C,QAAA,wBAAwB,GAAG,IAAI,CAAA,CAAC,YAAY;AAC5C,QAAA,kBAAkB,GAAG,KAAK,CAAA,CAAC,aAAa;AAErD,sCAAsC;AACzB,QAAA,8BAA8B,GAAG,MAAM,CAAA,CAAC,YAAY;AACpD,QAAA,gCAAgC,GAAG,IAAI,CAAA,CAAC,WAAW;AAEhE,2BAA2B;AACd,QAAA,oBAAoB,GAAG,CAAC,CAAA;AAErC,gBAAgB;AACH,QAAA,mBAAmB,GAAG,OAAO,CAAA;AAC7B,QAAA,gBAAgB,GAAG,OAAO,CAAA;AAC1B,QAAA,+BAA+B,GAAG,MAAM,CAAA;AACxC,QAAA,4BAA4B,GAAG,OAAO,CAAA;AAEnD,wBAAwB;AACxB,sEAAsE;AACzD,QAAA,2CAA2C,GAAG,CAAC,CAAA;AAE5D,oBAAoB;AACP,QAAA,0BAA0B,GAAG,yBAAyB,CAAA;AACtD,QAAA,2BAA2B,GAAG,0BAA0B,CAAA;AACxD,QAAA,0BAA0B,GAAG,0BAA0B,CAAA;AACvD,QAAA,2BAA2B,GAAG,yBAAyB,CAAA;AACvD,QAAA,4BAA4B,GAAG,0BAA0B,CAAA;AACzD,QAAA,2BAA2B,GAAG,0BAA0B,CAAA;AACxD,QAAA,6BAA6B,GAAG,mBAAmB,CAAA;AACnD,QAAA,8BAA8B,GAAG,oBAAoB,CAAA;AACrD,QAAA,6BAA6B,GAAG,oBAAoB,CAAA"}
|
|
@@ -8,6 +8,7 @@ export declare enum BedrockModel {
|
|
|
8
8
|
type ModelDetails = {
|
|
9
9
|
label: string;
|
|
10
10
|
description: string;
|
|
11
|
+
maxInputTokens: number;
|
|
11
12
|
};
|
|
12
13
|
export declare const FALLBACK_MODEL_RECORD: Record<BedrockModel, ModelDetails>;
|
|
13
14
|
export declare const BEDROCK_MODEL_TO_MODEL_ID: Record<BedrockModel, string>;
|
|
@@ -12,14 +12,18 @@ exports.FALLBACK_MODEL_RECORD = {
|
|
|
12
12
|
[BedrockModel.CLAUDE_SONNET_4_20250514_V1_0]: {
|
|
13
13
|
label: 'Claude Sonnet 4',
|
|
14
14
|
description: 'Hybrid reasoning and coding for regular use',
|
|
15
|
+
maxInputTokens: 200_000,
|
|
15
16
|
},
|
|
16
17
|
};
|
|
17
18
|
exports.BEDROCK_MODEL_TO_MODEL_ID = {
|
|
18
19
|
[BedrockModel.CLAUDE_SONNET_4_20250514_V1_0]: 'claude-sonnet-4',
|
|
19
20
|
};
|
|
20
|
-
exports.FALLBACK_MODEL_OPTIONS = Object.entries(exports.FALLBACK_MODEL_RECORD).map(([value, { label, description }]) => ({
|
|
21
|
+
exports.FALLBACK_MODEL_OPTIONS = Object.entries(exports.FALLBACK_MODEL_RECORD).map(([value, { label, description, maxInputTokens }]) => ({
|
|
21
22
|
id: value,
|
|
22
23
|
name: label,
|
|
23
24
|
description: description,
|
|
25
|
+
tokenLimits: {
|
|
26
|
+
maxInputTokens: maxInputTokens,
|
|
27
|
+
},
|
|
24
28
|
}));
|
|
25
29
|
//# sourceMappingURL=modelSelection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelSelection.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/constants/modelSelection.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,IAAY,YAEX;AAFD,WAAY,YAAY;IACpB,+EAA+D,CAAA;AACnE,CAAC,EAFW,YAAY,4BAAZ,YAAY,QAEvB;
|
|
1
|
+
{"version":3,"file":"modelSelection.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/constants/modelSelection.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,IAAY,YAEX;AAFD,WAAY,YAAY;IACpB,+EAA+D,CAAA;AACnE,CAAC,EAFW,YAAY,4BAAZ,YAAY,QAEvB;AAQY,QAAA,qBAAqB,GAAuC;IACrE,CAAC,YAAY,CAAC,6BAA6B,CAAC,EAAE;QAC1C,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,6CAA6C;QAC1D,cAAc,EAAE,OAAO;KAC1B;CACJ,CAAA;AAEY,QAAA,yBAAyB,GAAiC;IACnE,CAAC,YAAY,CAAC,6BAA6B,CAAC,EAAE,iBAAiB;CAClE,CAAA;AAEY,QAAA,sBAAsB,GAAwC,MAAM,CAAC,OAAO,CAAC,6BAAqB,CAAC,CAAC,GAAG,CAChH,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE;QACT,cAAc,EAAE,cAAc;KACjC;CACJ,CAAC,CACL,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpOauthClient.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/mcp/mcpOauthClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcpOauthClient.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/mcp/mcpOauthClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token limits calculator for dynamic LLM context window management.
|
|
3
|
+
*
|
|
4
|
+
* This utility calculates character limits based on the maxInputTokens value
|
|
5
|
+
* returned from the listAvailableModels API, replacing hardcoded constants.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Interface representing calculated token and character limits for a model.
|
|
9
|
+
*/
|
|
10
|
+
export interface TokenLimits {
|
|
11
|
+
/** Raw token limit from API (default: 200,000) */
|
|
12
|
+
maxInputTokens: number;
|
|
13
|
+
/** Maximum character count for overall context window: maxInputTokens * 3.5 */
|
|
14
|
+
maxOverallCharacters: number;
|
|
15
|
+
/** Input character limit for assistant responses: 0.7 * maxOverallCharacters */
|
|
16
|
+
inputLimit: number;
|
|
17
|
+
/** Threshold at which compaction is triggered: 0.7 * maxOverallCharacters */
|
|
18
|
+
compactionThreshold: number;
|
|
19
|
+
}
|
|
20
|
+
/** Default maximum input tokens when API doesn't provide a value */
|
|
21
|
+
export declare const DEFAULT_MAX_INPUT_TOKENS = 200000;
|
|
22
|
+
/** Ratio for converting tokens to characters (approximately 3.5 characters per token) */
|
|
23
|
+
export declare const TOKENS_TO_CHARACTERS_RATIO = 3.5;
|
|
24
|
+
/** Ratio of max overall characters used for input limit */
|
|
25
|
+
export declare const INPUT_LIMIT_RATIO = 0.7;
|
|
26
|
+
/** Ratio of max overall characters used for compaction threshold */
|
|
27
|
+
export declare const COMPACTION_THRESHOLD_RATIO = 0.7;
|
|
28
|
+
/**
|
|
29
|
+
* Utility class for calculating token and character limits based on model capabilities.
|
|
30
|
+
*/
|
|
31
|
+
export declare class TokenLimitsCalculator {
|
|
32
|
+
/**
|
|
33
|
+
* Calculate character limits from maxInputTokens
|
|
34
|
+
* @param maxInputTokens - The maximum input tokens from the model, defaults to 200K
|
|
35
|
+
* @returns TokenLimits object with all calculated values
|
|
36
|
+
*/
|
|
37
|
+
static calculate(maxInputTokens?: number): TokenLimits;
|
|
38
|
+
/**
|
|
39
|
+
* Extract maxInputTokens from API response with fallback
|
|
40
|
+
* @param model - Model object from listAvailableModels response
|
|
41
|
+
* @returns maxInputTokens value or default (200,000)
|
|
42
|
+
*/
|
|
43
|
+
static extractMaxInputTokens(model?: {
|
|
44
|
+
tokenLimits?: {
|
|
45
|
+
maxInputTokens?: number;
|
|
46
|
+
};
|
|
47
|
+
}): number;
|
|
48
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Token limits calculator for dynamic LLM context window management.
|
|
4
|
+
*
|
|
5
|
+
* This utility calculates character limits based on the maxInputTokens value
|
|
6
|
+
* returned from the listAvailableModels API, replacing hardcoded constants.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.TokenLimitsCalculator = exports.COMPACTION_THRESHOLD_RATIO = exports.INPUT_LIMIT_RATIO = exports.TOKENS_TO_CHARACTERS_RATIO = exports.DEFAULT_MAX_INPUT_TOKENS = void 0;
|
|
10
|
+
/** Default maximum input tokens when API doesn't provide a value */
|
|
11
|
+
exports.DEFAULT_MAX_INPUT_TOKENS = 200_000;
|
|
12
|
+
/** Ratio for converting tokens to characters (approximately 3.5 characters per token) */
|
|
13
|
+
exports.TOKENS_TO_CHARACTERS_RATIO = 3.5;
|
|
14
|
+
/** Ratio of max overall characters used for input limit */
|
|
15
|
+
exports.INPUT_LIMIT_RATIO = 0.7;
|
|
16
|
+
/** Ratio of max overall characters used for compaction threshold */
|
|
17
|
+
exports.COMPACTION_THRESHOLD_RATIO = 0.7;
|
|
18
|
+
/**
|
|
19
|
+
* Utility class for calculating token and character limits based on model capabilities.
|
|
20
|
+
*/
|
|
21
|
+
class TokenLimitsCalculator {
|
|
22
|
+
/**
|
|
23
|
+
* Calculate character limits from maxInputTokens
|
|
24
|
+
* @param maxInputTokens - The maximum input tokens from the model, defaults to 200K
|
|
25
|
+
* @returns TokenLimits object with all calculated values
|
|
26
|
+
*/
|
|
27
|
+
static calculate(maxInputTokens = exports.DEFAULT_MAX_INPUT_TOKENS) {
|
|
28
|
+
const maxOverallCharacters = Math.floor(maxInputTokens * exports.TOKENS_TO_CHARACTERS_RATIO);
|
|
29
|
+
const inputLimit = Math.floor(exports.INPUT_LIMIT_RATIO * maxOverallCharacters);
|
|
30
|
+
const compactionThreshold = Math.floor(exports.COMPACTION_THRESHOLD_RATIO * maxOverallCharacters);
|
|
31
|
+
return {
|
|
32
|
+
maxInputTokens,
|
|
33
|
+
maxOverallCharacters,
|
|
34
|
+
inputLimit,
|
|
35
|
+
compactionThreshold,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Extract maxInputTokens from API response with fallback
|
|
40
|
+
* @param model - Model object from listAvailableModels response
|
|
41
|
+
* @returns maxInputTokens value or default (200,000)
|
|
42
|
+
*/
|
|
43
|
+
static extractMaxInputTokens(model) {
|
|
44
|
+
return model?.tokenLimits?.maxInputTokens ?? exports.DEFAULT_MAX_INPUT_TOKENS;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.TokenLimitsCalculator = TokenLimitsCalculator;
|
|
48
|
+
//# sourceMappingURL=tokenLimitsCalculator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenLimitsCalculator.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/utils/tokenLimitsCalculator.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAgBH,oEAAoE;AACvD,QAAA,wBAAwB,GAAG,OAAO,CAAA;AAE/C,yFAAyF;AAC5E,QAAA,0BAA0B,GAAG,GAAG,CAAA;AAE7C,2DAA2D;AAC9C,QAAA,iBAAiB,GAAG,GAAG,CAAA;AAEpC,oEAAoE;AACvD,QAAA,0BAA0B,GAAG,GAAG,CAAA;AAE7C;;GAEG;AACH,MAAa,qBAAqB;IAC9B;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,iBAAyB,gCAAwB;QAC9D,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,kCAA0B,CAAC,CAAA;QACpF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAiB,GAAG,oBAAoB,CAAC,CAAA;QACvE,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,kCAA0B,GAAG,oBAAoB,CAAC,CAAA;QAEzF,OAAO;YACH,cAAc;YACd,oBAAoB;YACpB,UAAU;YACV,mBAAmB;SACtB,CAAA;IACL,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,CAAC,KAAqD;QAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,IAAI,gCAAwB,CAAA;IACzE,CAAC;CACJ;AA3BD,sDA2BC"}
|
|
@@ -5,6 +5,8 @@ import { AmazonQBaseServiceManager } from '../../shared/amazonQServiceManager/Ba
|
|
|
5
5
|
import { Logging } from '@aws/language-server-runtimes/server-interface';
|
|
6
6
|
import { Features } from '../types';
|
|
7
7
|
import { DelayNotification } from '../agenticChat/retry/delayInterceptor';
|
|
8
|
+
import { TokenLimits } from '../agenticChat/utils/tokenLimitsCalculator';
|
|
9
|
+
import { Model } from '@aws/language-server-runtimes/protocol';
|
|
8
10
|
export type ChatSessionServiceConfig = CodeWhispererStreamingClientConfig;
|
|
9
11
|
type FileChange = {
|
|
10
12
|
before?: string;
|
|
@@ -18,7 +20,6 @@ export declare class ChatSessionService {
|
|
|
18
20
|
#private;
|
|
19
21
|
pairProgrammingMode: boolean;
|
|
20
22
|
contextListSent: boolean;
|
|
21
|
-
modelId: string | undefined;
|
|
22
23
|
isMemoryBankGeneration: boolean;
|
|
23
24
|
getConversationType(): string;
|
|
24
25
|
setConversationType(value: string): void;
|
|
@@ -51,6 +52,21 @@ export declare class ChatSessionService {
|
|
|
51
52
|
*/
|
|
52
53
|
addApprovedPath(filePath: string): void;
|
|
53
54
|
constructor(serviceManager?: AmazonQBaseServiceManager, lsp?: Features['lsp'], logging?: Logging);
|
|
55
|
+
/**
|
|
56
|
+
* Gets the model ID for this session
|
|
57
|
+
*/
|
|
58
|
+
get modelId(): string | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* Gets the token limits for this session
|
|
61
|
+
*/
|
|
62
|
+
get tokenLimits(): TokenLimits;
|
|
63
|
+
/**
|
|
64
|
+
* Sets the model for this session, automatically calculating token limits.
|
|
65
|
+
* This encapsulates model ID and token limits as a single entity.
|
|
66
|
+
* @param modelId The model ID to set
|
|
67
|
+
* @param models Optional list of available models to look up token limits from
|
|
68
|
+
*/
|
|
69
|
+
setModel(modelId: string | undefined, models?: Model[]): void;
|
|
54
70
|
sendMessage(request: SendMessageCommandInput): Promise<SendMessageCommandOutput>;
|
|
55
71
|
private isModelSelectionEnabled;
|
|
56
72
|
getChatResponse(request: ChatCommandInput): Promise<ChatCommandOutput>;
|
|
@@ -6,11 +6,12 @@ const errors_1 = require("../agenticChat/errors");
|
|
|
6
6
|
const utils_1 = require("../../shared/utils");
|
|
7
7
|
const utils_2 = require("../../shared/utils");
|
|
8
8
|
const errorTransformer_1 = require("../agenticChat/retry/errorTransformer");
|
|
9
|
+
const tokenLimitsCalculator_1 = require("../agenticChat/utils/tokenLimitsCalculator");
|
|
9
10
|
class ChatSessionService {
|
|
10
11
|
pairProgrammingMode = true;
|
|
11
12
|
contextListSent = false;
|
|
12
|
-
modelId;
|
|
13
13
|
isMemoryBankGeneration = false;
|
|
14
|
+
#modelId;
|
|
14
15
|
#lsp;
|
|
15
16
|
#abortController;
|
|
16
17
|
#currentPromptId;
|
|
@@ -25,6 +26,7 @@ class ChatSessionService {
|
|
|
25
26
|
#logging;
|
|
26
27
|
#origin;
|
|
27
28
|
#errorTransformer;
|
|
29
|
+
#tokenLimits;
|
|
28
30
|
getConversationType() {
|
|
29
31
|
return this.#conversationType;
|
|
30
32
|
}
|
|
@@ -98,6 +100,31 @@ class ChatSessionService {
|
|
|
98
100
|
this.#origin = (0, utils_1.getOriginFromClientInfo)((0, utils_1.getClientName)(this.#lsp?.getClientInitializeParams()));
|
|
99
101
|
// Initialize Q-specific error transformation
|
|
100
102
|
this.#errorTransformer = new errorTransformer_1.QErrorTransformer(logging, () => this.isModelSelectionEnabled());
|
|
103
|
+
// Initialize token limits with default values
|
|
104
|
+
this.#tokenLimits = tokenLimitsCalculator_1.TokenLimitsCalculator.calculate();
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Gets the model ID for this session
|
|
108
|
+
*/
|
|
109
|
+
get modelId() {
|
|
110
|
+
return this.#modelId;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Gets the token limits for this session
|
|
114
|
+
*/
|
|
115
|
+
get tokenLimits() {
|
|
116
|
+
return this.#tokenLimits;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Sets the model for this session, automatically calculating token limits.
|
|
120
|
+
* This encapsulates model ID and token limits as a single entity.
|
|
121
|
+
* @param modelId The model ID to set
|
|
122
|
+
* @param models Optional list of available models to look up token limits from
|
|
123
|
+
*/
|
|
124
|
+
setModel(modelId, models) {
|
|
125
|
+
this.#modelId = modelId;
|
|
126
|
+
const maxInputTokens = tokenLimitsCalculator_1.TokenLimitsCalculator.extractMaxInputTokens(models?.find(m => m.id === modelId));
|
|
127
|
+
this.#tokenLimits = tokenLimitsCalculator_1.TokenLimitsCalculator.calculate(maxInputTokens);
|
|
101
128
|
}
|
|
102
129
|
async sendMessage(request) {
|
|
103
130
|
this.#abortController = new AbortController();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatSessionService.js","sourceRoot":"","sources":["../../../src/language-server/chat/chatSessionService.ts"],"names":[],"mappings":";;;AACA,gFAO4C;AAE5C,kDAAwD;AAIxD,8CAA2E;AAC3E,8CAA0D;AAC1D,4EAAyE;
|
|
1
|
+
{"version":3,"file":"chatSessionService.js","sourceRoot":"","sources":["../../../src/language-server/chat/chatSessionService.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,19 +21,6 @@ export declare class TransformConfigurationServer {
|
|
|
21
21
|
* Handle configuration requests for Transform profiles
|
|
22
22
|
*/
|
|
23
23
|
getConfiguration(params: GetConfigurationFromServerParams, token: CancellationToken): Promise<any>;
|
|
24
|
-
/**
|
|
25
|
-
* Initialize ATX FES client with bearer token authentication
|
|
26
|
-
*/
|
|
27
|
-
private initializeAtxClient;
|
|
28
|
-
/**
|
|
29
|
-
* Get region for ATX FES client - supports dynamic region selection
|
|
30
|
-
*/
|
|
31
|
-
private getClientRegion;
|
|
32
|
-
private getRegionFromProfile;
|
|
33
|
-
/**
|
|
34
|
-
* Get endpoint URL for the specified region
|
|
35
|
-
*/
|
|
36
|
-
private getEndpointForRegion;
|
|
37
24
|
/**
|
|
38
25
|
* Add bearer token authentication to ATX FES command
|
|
39
26
|
*/
|
|
@@ -28,15 +28,6 @@ class TransformConfigurationServer {
|
|
|
28
28
|
*/
|
|
29
29
|
async initialize(params) {
|
|
30
30
|
this.logging.log('TransformConfigurationServer: Initialize called');
|
|
31
|
-
// const profileType = (params.initializationOptions as any)?.aws?.profileType
|
|
32
|
-
// if (profileType !== 'transform') {
|
|
33
|
-
// this.logging.log('TransformConfigurationServer: Not Transform Profile')
|
|
34
|
-
// return {
|
|
35
|
-
// capabilities: {},
|
|
36
|
-
// awsServerCapabilities: {},
|
|
37
|
-
// }
|
|
38
|
-
// }
|
|
39
|
-
this.logging.log('TransformConfigurationServer: Transform Profile intialized section aws.transfomProfiles');
|
|
40
31
|
return {
|
|
41
32
|
capabilities: {},
|
|
42
33
|
awsServerCapabilities: {
|
|
@@ -60,106 +51,17 @@ class TransformConfigurationServer {
|
|
|
60
51
|
throw new server_interface_1.ResponseError(server_interface_1.LSPErrorCodes.RequestFailed, `TransformConfigurationServer: Unsupported configuration section: ${params.section}`);
|
|
61
52
|
}
|
|
62
53
|
}
|
|
63
|
-
/**
|
|
64
|
-
* Initialize ATX FES client with bearer token authentication
|
|
65
|
-
*/
|
|
66
|
-
async initializeAtxClient() {
|
|
67
|
-
try {
|
|
68
|
-
// Get ATX credentials provider from runtime
|
|
69
|
-
const runtime = this.features.runtime;
|
|
70
|
-
this.logging.log(`TransformConfigurationServer: Runtime available: ${!!runtime}`);
|
|
71
|
-
const atxCredentialsProvider = runtime?.getAtxCredentialsProvider?.();
|
|
72
|
-
this.logging.log(`TransformConfigurationServer: ATX credentials provider available: ${!!atxCredentialsProvider}`);
|
|
73
|
-
if (!atxCredentialsProvider?.hasCredentials('bearer')) {
|
|
74
|
-
this.logging.log(`TransformConfigurationServer: No ATX bearer credentials available`);
|
|
75
|
-
return false;
|
|
76
|
-
}
|
|
77
|
-
this.logging.log(`TransformConfigurationServer: ATX bearer credentials found`);
|
|
78
|
-
const credentials = (await atxCredentialsProvider.getCredentials('bearer'));
|
|
79
|
-
if (!credentials?.token) {
|
|
80
|
-
return false;
|
|
81
|
-
}
|
|
82
|
-
const region = await this.getClientRegion();
|
|
83
|
-
const endpoint = this.getEndpointForRegion(region);
|
|
84
|
-
this.logging.log(`TransformConfigurationServer: Initializing ATX client with region: ${region}, endpoint: ${endpoint}`);
|
|
85
|
-
this.atxClient = new elastic_gumby_frontend_client_1.ElasticGumbyFrontendClient({
|
|
86
|
-
region: region,
|
|
87
|
-
endpoint: endpoint,
|
|
88
|
-
});
|
|
89
|
-
return true;
|
|
90
|
-
}
|
|
91
|
-
catch (error) {
|
|
92
|
-
const region = await this.getClientRegion();
|
|
93
|
-
const endpoint = this.getEndpointForRegion(region);
|
|
94
|
-
this.logging.warn(`TransformConfigurationServer: Failed to initialize ATX client with region: ${region}, endpoint: ${endpoint}. Error: ${error}`);
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Get region for ATX FES client - supports dynamic region selection
|
|
100
|
-
*/
|
|
101
|
-
async getClientRegion() {
|
|
102
|
-
// Check environment variable first
|
|
103
|
-
const envRegion = process.env[constants_1.ATX_FES_REGION_ENV_VAR];
|
|
104
|
-
if (envRegion) {
|
|
105
|
-
return envRegion;
|
|
106
|
-
}
|
|
107
|
-
// Try to get region from profile
|
|
108
|
-
const profileRegion = await this.getRegionFromProfile();
|
|
109
|
-
if (profileRegion) {
|
|
110
|
-
return profileRegion;
|
|
111
|
-
}
|
|
112
|
-
// Fall back to default
|
|
113
|
-
return constants_1.DEFAULT_ATX_FES_REGION;
|
|
114
|
-
}
|
|
115
|
-
async getRegionFromProfile() {
|
|
116
|
-
try {
|
|
117
|
-
// Get ATX credentials provider from runtime
|
|
118
|
-
const runtime = this.features.runtime;
|
|
119
|
-
const atxCredentialsProvider = runtime?.getAtxCredentialsProvider?.();
|
|
120
|
-
if (!atxCredentialsProvider?.hasCredentials('bearer')) {
|
|
121
|
-
return undefined;
|
|
122
|
-
}
|
|
123
|
-
const tempClient = new elastic_gumby_frontend_client_1.ElasticGumbyFrontendClient({
|
|
124
|
-
region: constants_1.DEFAULT_ATX_FES_REGION,
|
|
125
|
-
endpoint: constants_1.DEFAULT_ATX_FES_ENDPOINT_URL,
|
|
126
|
-
});
|
|
127
|
-
const command = new elastic_gumby_frontend_client_1.ListAvailableProfilesCommand({ maxResults: 100 });
|
|
128
|
-
const response = await tempClient.send(command);
|
|
129
|
-
const profiles = response.profiles || [];
|
|
130
|
-
const activeProfile = profiles.find((p) => p.arn);
|
|
131
|
-
if (activeProfile?.arn) {
|
|
132
|
-
const arnParts = activeProfile.arn.split(':');
|
|
133
|
-
if (arnParts.length >= 4) {
|
|
134
|
-
return arnParts[3];
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
return undefined;
|
|
138
|
-
}
|
|
139
|
-
catch (error) {
|
|
140
|
-
return undefined;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Get endpoint URL for the specified region
|
|
145
|
-
*/
|
|
146
|
-
getEndpointForRegion(region) {
|
|
147
|
-
return (process.env[constants_1.ATX_FES_ENDPOINT_URL_ENV_VAR] || (0, constants_1.getATXEndpoints)().get(region) || constants_1.DEFAULT_ATX_FES_ENDPOINT_URL);
|
|
148
|
-
}
|
|
149
54
|
/**
|
|
150
55
|
* Add bearer token authentication to ATX FES command
|
|
151
56
|
*/
|
|
152
57
|
async addBearerTokenToCommand(command) {
|
|
153
58
|
try {
|
|
154
59
|
const runtime = this.features.runtime;
|
|
155
|
-
this.logging.log(`TransformConfigurationServer: Runtime available: ${!!runtime}`);
|
|
156
60
|
const atxCredentialsProvider = runtime?.getAtxCredentialsProvider?.();
|
|
157
|
-
this.logging.log(`TransformConfigurationServer: ATX credentials provider available: ${!!atxCredentialsProvider}`);
|
|
158
61
|
if (!atxCredentialsProvider) {
|
|
159
62
|
throw new Error('ATX credentials provider not available');
|
|
160
63
|
}
|
|
161
64
|
const hasCredentials = atxCredentialsProvider.hasCredentials('bearer');
|
|
162
|
-
this.logging.log(`TransformConfigurationServer: Has bearer credentials: ${hasCredentials}`);
|
|
163
65
|
if (!hasCredentials) {
|
|
164
66
|
throw new Error('No ATX bearer credentials available');
|
|
165
67
|
}
|
|
@@ -174,7 +76,6 @@ class TransformConfigurationServer {
|
|
|
174
76
|
};
|
|
175
77
|
return next(args);
|
|
176
78
|
}, { step: 'build', priority: 'high' });
|
|
177
|
-
this.logging.log(`TransformConfigurationServer: Bearer token added to command`);
|
|
178
79
|
}
|
|
179
80
|
catch (error) {
|
|
180
81
|
this.logging.error(`TransformConfigurationServer: Failed to add ATX bearer token: ${error}`);
|
|
@@ -198,7 +99,7 @@ class TransformConfigurationServer {
|
|
|
198
99
|
this.logging.log(`TransformConfigurationServer: Found ${profiles.length} profiles in region ${region}`);
|
|
199
100
|
}
|
|
200
101
|
catch (error) {
|
|
201
|
-
this.logging.debug(`TransformConfigurationServer: No profiles in region ${region}: ${error}`);
|
|
102
|
+
this.logging.debug(`TransformConfigurationServer: No profiles in region ${region}: ${String(error)}`);
|
|
202
103
|
}
|
|
203
104
|
}
|
|
204
105
|
this.logging.log(`TransformConfigurationServer: Total ${allProfiles.length} Transform profiles found across all regions`);
|
|
@@ -206,29 +107,23 @@ class TransformConfigurationServer {
|
|
|
206
107
|
try {
|
|
207
108
|
const { AtxTokenServiceManager } = await Promise.resolve().then(() => require('../../shared/amazonQServiceManager/AtxTokenServiceManager'));
|
|
208
109
|
const atxServiceManager = AtxTokenServiceManager.getInstance();
|
|
209
|
-
// Debug: Log all profiles being cached
|
|
210
|
-
this.logging.log(`TransformConfigurationServer: DEBUG - Caching profiles:`);
|
|
211
|
-
allProfiles.forEach((profile, index) => {
|
|
212
|
-
this.logging.log(`TransformConfigurationServer: Profile ${index + 1}: ARN=${profile.arn}, applicationUrl=${profile.applicationUrl}`);
|
|
213
|
-
});
|
|
214
110
|
atxServiceManager.cacheTransformProfiles(allProfiles);
|
|
215
|
-
this.logging.log(`TransformConfigurationServer: Cached ${allProfiles.length} profiles for ARN lookup`);
|
|
216
111
|
// Auto-select first profile if only one exists (for testing)
|
|
217
112
|
if (allProfiles.length === 1) {
|
|
218
113
|
const firstProfile = allProfiles[0];
|
|
219
114
|
if (firstProfile.arn && firstProfile.applicationUrl) {
|
|
220
115
|
atxServiceManager.setActiveProfileByArn(firstProfile.arn);
|
|
221
|
-
this.logging.log(`TransformConfigurationServer: Auto-selected single profile
|
|
116
|
+
this.logging.log(`TransformConfigurationServer: Auto-selected single profile`);
|
|
222
117
|
}
|
|
223
118
|
}
|
|
224
119
|
}
|
|
225
120
|
catch (error) {
|
|
226
|
-
this.logging.error(`TransformConfigurationServer: Failed to cache profiles: ${error}`);
|
|
121
|
+
this.logging.error(`TransformConfigurationServer: Failed to cache profiles: ${String(error)}`);
|
|
227
122
|
}
|
|
228
123
|
return allProfiles;
|
|
229
124
|
}
|
|
230
125
|
catch (error) {
|
|
231
|
-
this.logging.warn(`TransformConfigurationServer: ListAvailableProfiles failed: ${error}`);
|
|
126
|
+
this.logging.warn(`TransformConfigurationServer: ListAvailableProfiles failed: ${String(error)}`);
|
|
232
127
|
return [];
|
|
233
128
|
}
|
|
234
129
|
}
|
|
@@ -246,11 +141,8 @@ class TransformConfigurationServer {
|
|
|
246
141
|
const command = new elastic_gumby_frontend_client_1.ListAvailableProfilesCommand({
|
|
247
142
|
maxResults: 100,
|
|
248
143
|
});
|
|
249
|
-
this.logging.log(`TransformConfigurationServer: Adding bearer token to command for region: ${region}`);
|
|
250
144
|
await this.addBearerTokenToCommand(command);
|
|
251
|
-
this.logging.log(`TransformConfigurationServer: Sending command to region: ${region}`);
|
|
252
145
|
const response = await regionClient.send(command);
|
|
253
|
-
this.logging.log(`TransformConfigurationServer: Received response from region: ${region}, profiles count: ${response.profiles?.length || 0}`);
|
|
254
146
|
// Convert ATX FES profiles to AmazonQDeveloperProfile format
|
|
255
147
|
const transformProfiles = (response.profiles || []).map((profile) => {
|
|
256
148
|
const convertedProfile = {
|