@vybestack/llxprt-code-core 0.7.0-nightly.251218.47baadc14 → 0.7.0-nightly.251220.86336527d
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/dist/src/agents/executor.js +2 -1
- package/dist/src/agents/executor.js.map +1 -1
- package/dist/src/auth/types.d.ts +18 -18
- package/dist/src/code_assist/setup.js +4 -2
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/config/config.d.ts +25 -6
- package/dist/src/config/config.js +28 -11
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/core/client.d.ts +2 -1
- package/dist/src/core/client.js +49 -4
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/contentGenerator.js +3 -1
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/coreToolScheduler.d.ts +8 -0
- package/dist/src/core/coreToolScheduler.js +116 -74
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +1 -0
- package/dist/src/core/geminiChat.js +52 -64
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.d.ts +5 -4
- package/dist/src/core/nonInteractiveToolExecutor.js +202 -309
- package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
- package/dist/src/core/subagent.js +16 -3
- package/dist/src/core/subagent.js.map +1 -1
- package/dist/src/core/toolGovernance.d.ts +17 -0
- package/dist/src/core/toolGovernance.js +66 -0
- package/dist/src/core/toolGovernance.js.map +1 -0
- package/dist/src/core/turn.d.ts +10 -2
- package/dist/src/core/turn.js +1 -0
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/ide/ide-installer.js +8 -2
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/process-utils.js +78 -100
- package/dist/src/ide/process-utils.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/policy/config.js +33 -5
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/policies/read-only.toml +10 -10
- package/dist/src/policy/policies/write.toml +13 -3
- package/dist/src/providers/ProviderManager.js +15 -6
- package/dist/src/providers/ProviderManager.js.map +1 -1
- package/dist/src/providers/anthropic/AnthropicProvider.js +11 -0
- package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
- package/dist/src/providers/openai/OpenAIProvider.d.ts +1 -7
- package/dist/src/providers/openai/OpenAIProvider.js +49 -189
- package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
- package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js +11 -2
- package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js.map +1 -1
- package/dist/src/providers/openai-responses/buildResponsesInputFromContent.d.ts +2 -1
- package/dist/src/providers/openai-responses/buildResponsesInputFromContent.js +8 -3
- package/dist/src/providers/openai-responses/buildResponsesInputFromContent.js.map +1 -1
- package/dist/src/providers/utils/toolResponsePayload.js +15 -47
- package/dist/src/providers/utils/toolResponsePayload.js.map +1 -1
- package/dist/src/runtime/AgentRuntimeContext.d.ts +1 -0
- package/dist/src/runtime/runtimeAdapters.js +7 -0
- package/dist/src/runtime/runtimeAdapters.js.map +1 -1
- package/dist/src/services/shellExecutionService.d.ts +1 -0
- package/dist/src/services/shellExecutionService.js +101 -22
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/telemetry/loggers.js +2 -2
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/sdk.js +2 -2
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/tools/edit.js +22 -3
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/fuzzy-replacer.js +1 -1
- package/dist/src/tools/fuzzy-replacer.js.map +1 -1
- package/dist/src/tools/google-web-fetch.d.ts +8 -0
- package/dist/src/tools/google-web-fetch.js +65 -12
- package/dist/src/tools/google-web-fetch.js.map +1 -1
- package/dist/src/tools/google-web-search-invocation.js +2 -1
- package/dist/src/tools/google-web-search-invocation.js.map +1 -1
- package/dist/src/tools/smart-edit.js +28 -4
- package/dist/src/tools/smart-edit.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +21 -0
- package/dist/src/tools/tool-error.js +27 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-names.d.ts +41 -0
- package/dist/src/tools/tool-names.js +45 -0
- package/dist/src/tools/tool-names.js.map +1 -0
- package/dist/src/tools/write-file.js +9 -0
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/utils/editor.js +2 -1
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/errors.d.ts +6 -0
- package/dist/src/utils/errors.js +10 -0
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/llm-edit-fixer.js +3 -3
- package/dist/src/utils/output-format.d.ts +24 -0
- package/dist/src/utils/output-format.js +34 -0
- package/dist/src/utils/output-format.js.map +1 -0
- package/dist/src/utils/systemEncoding.js +5 -1
- package/dist/src/utils/systemEncoding.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../../src/core/subagent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../../src/core/subagent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export interface ToolGovernanceConfig {
|
|
7
|
+
getEphemeralSettings?: () => Record<string, unknown> | undefined;
|
|
8
|
+
getExcludeTools?: () => string[] | undefined;
|
|
9
|
+
}
|
|
10
|
+
export interface ToolGovernance {
|
|
11
|
+
allowed: Set<string>;
|
|
12
|
+
disabled: Set<string>;
|
|
13
|
+
excluded: Set<string>;
|
|
14
|
+
}
|
|
15
|
+
export declare function canonicalizeToolName(rawName: string): string;
|
|
16
|
+
export declare function buildToolGovernance(config: ToolGovernanceConfig): ToolGovernance;
|
|
17
|
+
export declare function isToolBlocked(toolName: string, governance: ToolGovernance): boolean;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { normalizeToolName, toSnakeCase } from '../tools/toolNameUtils.js';
|
|
7
|
+
function isStringArray(value) {
|
|
8
|
+
return (Array.isArray(value) && value.every((item) => typeof item === 'string'));
|
|
9
|
+
}
|
|
10
|
+
function hasMultipleWords(name) {
|
|
11
|
+
const withoutFirst = name.slice(1);
|
|
12
|
+
return /[A-Z]/.test(withoutFirst) || name.includes('_') || name.includes('-');
|
|
13
|
+
}
|
|
14
|
+
export function canonicalizeToolName(rawName) {
|
|
15
|
+
const trimmed = rawName.trim();
|
|
16
|
+
if (!trimmed) {
|
|
17
|
+
return '';
|
|
18
|
+
}
|
|
19
|
+
let nameToProcess = trimmed;
|
|
20
|
+
if (trimmed.endsWith('Tool') && trimmed.length > 4) {
|
|
21
|
+
const withoutTool = trimmed.slice(0, -4);
|
|
22
|
+
if (hasMultipleWords(withoutTool)) {
|
|
23
|
+
nameToProcess = withoutTool;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const normalized = normalizeToolName(nameToProcess);
|
|
27
|
+
if (normalized !== null) {
|
|
28
|
+
return normalized;
|
|
29
|
+
}
|
|
30
|
+
return toSnakeCase(nameToProcess).toLowerCase();
|
|
31
|
+
}
|
|
32
|
+
export function buildToolGovernance(config) {
|
|
33
|
+
const ephemerals = typeof config.getEphemeralSettings === 'function'
|
|
34
|
+
? (config.getEphemeralSettings() ?? {})
|
|
35
|
+
: {};
|
|
36
|
+
const allowedRaw = isStringArray(ephemerals['tools.allowed'])
|
|
37
|
+
? ephemerals['tools.allowed']
|
|
38
|
+
: [];
|
|
39
|
+
const disabledRaw = isStringArray(ephemerals['tools.disabled'])
|
|
40
|
+
? ephemerals['tools.disabled']
|
|
41
|
+
: isStringArray(ephemerals['disabled-tools'])
|
|
42
|
+
? ephemerals['disabled-tools']
|
|
43
|
+
: [];
|
|
44
|
+
const excludedRaw = typeof config.getExcludeTools === 'function'
|
|
45
|
+
? (config.getExcludeTools() ?? [])
|
|
46
|
+
: [];
|
|
47
|
+
return {
|
|
48
|
+
allowed: new Set(allowedRaw.map(canonicalizeToolName)),
|
|
49
|
+
disabled: new Set(disabledRaw.map(canonicalizeToolName)),
|
|
50
|
+
excluded: new Set(excludedRaw.map(canonicalizeToolName)),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export function isToolBlocked(toolName, governance) {
|
|
54
|
+
const canonical = canonicalizeToolName(toolName);
|
|
55
|
+
if (governance.excluded.has(canonical)) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
if (governance.disabled.has(canonical)) {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
if (governance.allowed.size > 0 && !governance.allowed.has(canonical)) {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=toolGovernance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolGovernance.js","sourceRoot":"","sources":["../../../src/core/toolGovernance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE3E,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CACxE,CAAC;AACJ,CAAC;AAaD,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,aAAa,GAAG,OAAO,CAAC;IAE5B,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,aAAa,GAAG,WAAW,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACpD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,WAAW,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAA4B;IAE5B,MAAM,UAAU,GACd,OAAO,MAAM,CAAC,oBAAoB,KAAK,UAAU;QAC/C,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC3D,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC7D,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAC9B,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAC3C,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAC9B,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,WAAW,GACf,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU;QAC1C,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;QAClC,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;QACL,OAAO,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACtD,QAAQ,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACxD,QAAQ,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,QAAgB,EAChB,UAA0B;IAE1B,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAEjD,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/src/core/turn.d.ts
CHANGED
|
@@ -31,7 +31,8 @@ export declare enum GeminiEventType {
|
|
|
31
31
|
Citation = "citation",
|
|
32
32
|
Retry = "retry",
|
|
33
33
|
SystemNotice = "system_notice",
|
|
34
|
-
InvalidStream = "invalid_stream"
|
|
34
|
+
InvalidStream = "invalid_stream",
|
|
35
|
+
ContextWindowWillOverflow = "context_window_will_overflow"
|
|
35
36
|
}
|
|
36
37
|
export type ServerGeminiRetryEvent = {
|
|
37
38
|
type: GeminiEventType.Retry;
|
|
@@ -39,6 +40,13 @@ export type ServerGeminiRetryEvent = {
|
|
|
39
40
|
export type ServerGeminiInvalidStreamEvent = {
|
|
40
41
|
type: GeminiEventType.InvalidStream;
|
|
41
42
|
};
|
|
43
|
+
export type ServerGeminiContextWindowWillOverflowEvent = {
|
|
44
|
+
type: GeminiEventType.ContextWindowWillOverflow;
|
|
45
|
+
value: {
|
|
46
|
+
estimatedRequestTokenCount: number;
|
|
47
|
+
remainingTokenCount: number;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
42
50
|
export interface StructuredError {
|
|
43
51
|
message: string;
|
|
44
52
|
status?: number;
|
|
@@ -142,7 +150,7 @@ export type ServerGeminiCitationEvent = {
|
|
|
142
150
|
type: GeminiEventType.Citation;
|
|
143
151
|
value: string;
|
|
144
152
|
};
|
|
145
|
-
export type ServerGeminiStreamEvent = ServerGeminiContentEvent | ServerGeminiSystemNoticeEvent | ServerGeminiToolCallRequestEvent | ServerGeminiToolCallResponseEvent | ServerGeminiToolCallConfirmationEvent | ServerGeminiUserCancelledEvent | ServerGeminiErrorEvent | ServerGeminiChatCompressedEvent | ServerGeminiThoughtEvent | ServerGeminiUsageMetadataEvent | ServerGeminiMaxSessionTurnsEvent | ServerGeminiFinishedEvent | ServerGeminiLoopDetectedEvent | ServerGeminiCitationEvent | ServerGeminiRetryEvent | ServerGeminiInvalidStreamEvent;
|
|
153
|
+
export type ServerGeminiStreamEvent = ServerGeminiContentEvent | ServerGeminiSystemNoticeEvent | ServerGeminiToolCallRequestEvent | ServerGeminiToolCallResponseEvent | ServerGeminiToolCallConfirmationEvent | ServerGeminiUserCancelledEvent | ServerGeminiErrorEvent | ServerGeminiChatCompressedEvent | ServerGeminiThoughtEvent | ServerGeminiUsageMetadataEvent | ServerGeminiMaxSessionTurnsEvent | ServerGeminiFinishedEvent | ServerGeminiLoopDetectedEvent | ServerGeminiCitationEvent | ServerGeminiRetryEvent | ServerGeminiInvalidStreamEvent | ServerGeminiContextWindowWillOverflowEvent;
|
|
146
154
|
export declare class Turn {
|
|
147
155
|
private readonly chat;
|
|
148
156
|
private readonly prompt_id;
|
package/dist/src/core/turn.js
CHANGED
|
@@ -31,6 +31,7 @@ export var GeminiEventType;
|
|
|
31
31
|
GeminiEventType["Retry"] = "retry";
|
|
32
32
|
GeminiEventType["SystemNotice"] = "system_notice";
|
|
33
33
|
GeminiEventType["InvalidStream"] = "invalid_stream";
|
|
34
|
+
GeminiEventType["ContextWindowWillOverflow"] = "context_window_will_overflow";
|
|
34
35
|
})(GeminiEventType || (GeminiEventType = {}));
|
|
35
36
|
export var CompressionStatus;
|
|
36
37
|
(function (CompressionStatus) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn.js","sourceRoot":"","sources":["../../../src/core/turn.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,OAAO,EACL,eAAe,EACf,gBAAgB,GACjB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAc,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAuB,MAAM,0BAA0B,CAAC;AAE7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAiB1C,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"turn.js","sourceRoot":"","sources":["../../../src/core/turn.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,9 +77,15 @@ class VsCodeInstaller {
|
|
|
77
77
|
message: `${this.ideInfo.displayName} CLI not found. Please ensure 'code' is in your system's PATH. For help, see https://code.visualstudio.com/docs/configure/command-line#_code-is-not-recognized-as-an-internal-or-external-command. You can also install the '${LLXPRT_CODE_COMPANION_EXTENSION_NAME}' extension manually from the VS Code marketplace.`,
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
|
-
const command = `"${commandPath}" --install-extension vybestack.llxprt-code-vscode-ide-companion --force`;
|
|
81
80
|
try {
|
|
82
|
-
child_process.
|
|
81
|
+
const result = child_process.spawnSync(commandPath, [
|
|
82
|
+
'--install-extension',
|
|
83
|
+
'vybestack.llxprt-code-vscode-ide-companion',
|
|
84
|
+
'--force',
|
|
85
|
+
], { stdio: 'pipe', shell: this.platform === 'win32' });
|
|
86
|
+
if (result.status !== 0) {
|
|
87
|
+
throw new Error(`Failed to install extension: ${result.stderr?.toString()}`);
|
|
88
|
+
}
|
|
83
89
|
return {
|
|
84
90
|
success: true,
|
|
85
91
|
message: `${this.ideInfo.displayName} companion extension was installed successfully.`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ide-installer.js","sourceRoot":"","sources":["../../../src/ide/ide-installer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ide-installer.js","sourceRoot":"","sources":["../../../src/ide/ide-installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,67 +10,72 @@ import path from 'path';
|
|
|
10
10
|
const execAsync = promisify(exec);
|
|
11
11
|
const MAX_TRAVERSAL_DEPTH = 32;
|
|
12
12
|
/**
|
|
13
|
-
* Fetches the
|
|
13
|
+
* Fetches the entire process table on Windows.
|
|
14
|
+
*/
|
|
15
|
+
async function getProcessTableWindows() {
|
|
16
|
+
const processMap = new Map();
|
|
17
|
+
try {
|
|
18
|
+
// Fetch ProcessId, ParentProcessId, Name, and CommandLine for all processes.
|
|
19
|
+
const powershellCommand = 'Get-CimInstance Win32_Process | Select-Object ProcessId,ParentProcessId,Name,CommandLine | ConvertTo-Json -Compress';
|
|
20
|
+
// Increase maxBuffer to handle large process lists (default is 1MB)
|
|
21
|
+
const { stdout } = await execAsync(`powershell "${powershellCommand}"`, {
|
|
22
|
+
maxBuffer: 10 * 1024 * 1024,
|
|
23
|
+
});
|
|
24
|
+
if (!stdout.trim()) {
|
|
25
|
+
return processMap;
|
|
26
|
+
}
|
|
27
|
+
let processes;
|
|
28
|
+
try {
|
|
29
|
+
processes = JSON.parse(stdout);
|
|
30
|
+
}
|
|
31
|
+
catch (_e) {
|
|
32
|
+
return processMap;
|
|
33
|
+
}
|
|
34
|
+
if (!Array.isArray(processes)) {
|
|
35
|
+
processes = [processes];
|
|
36
|
+
}
|
|
37
|
+
for (const p of processes) {
|
|
38
|
+
if (p && typeof p.ProcessId === 'number') {
|
|
39
|
+
processMap.set(p.ProcessId, {
|
|
40
|
+
pid: p.ProcessId,
|
|
41
|
+
parentPid: p.ParentProcessId || 0,
|
|
42
|
+
name: p.Name || '',
|
|
43
|
+
command: p.CommandLine || '',
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (_e) {
|
|
49
|
+
// Fallback or error handling if PowerShell fails
|
|
50
|
+
}
|
|
51
|
+
return processMap;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Fetches the parent process ID, name, and command for a given process ID on Unix.
|
|
14
55
|
*
|
|
15
56
|
* @param pid The process ID to inspect.
|
|
16
57
|
* @returns A promise that resolves to the parent's PID, name, and command.
|
|
17
58
|
*/
|
|
18
59
|
async function getProcessInfo(pid) {
|
|
19
60
|
try {
|
|
20
|
-
const platform = os.platform();
|
|
21
|
-
if (platform === 'win32') {
|
|
22
|
-
const powershellSegments = [
|
|
23
|
-
'$p = Get-CimInstance Win32_Process',
|
|
24
|
-
`-Filter 'ProcessId=${pid}'`,
|
|
25
|
-
'-ErrorAction SilentlyContinue;',
|
|
26
|
-
'if ($p) {',
|
|
27
|
-
'@{Name=$p.Name;ParentProcessId=$p.ParentProcessId;CommandLine=$p.CommandLine}',
|
|
28
|
-
'| ConvertTo-Json',
|
|
29
|
-
'}',
|
|
30
|
-
];
|
|
31
|
-
const powershellCommand = `powershell "${powershellSegments.join(' ')}"`;
|
|
32
|
-
const { stdout } = await execAsync(powershellCommand);
|
|
33
|
-
const output = stdout.trim();
|
|
34
|
-
if (!output) {
|
|
35
|
-
return { parentPid: 0, name: '', command: '' };
|
|
36
|
-
}
|
|
37
|
-
try {
|
|
38
|
-
const parsed = JSON.parse(output);
|
|
39
|
-
const parentPid = typeof parsed.ParentProcessId === 'number'
|
|
40
|
-
? parsed.ParentProcessId
|
|
41
|
-
: 0;
|
|
42
|
-
return {
|
|
43
|
-
parentPid,
|
|
44
|
-
name: parsed.Name ?? '',
|
|
45
|
-
command: parsed.CommandLine ?? '',
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
catch (parseError) {
|
|
49
|
-
console.debug(`Failed to parse PowerShell output for pid ${pid}:`, parseError);
|
|
50
|
-
return { parentPid: 0, name: '', command: '' };
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
// Non-Windows platforms - use command= instead of comm=
|
|
54
61
|
const command = `ps -o ppid=,command= -p ${pid}`;
|
|
55
62
|
const { stdout } = await execAsync(command);
|
|
56
63
|
const trimmedStdout = stdout.trim();
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
throw new Error(`Failed to parse ps output: ${trimmedStdout}`);
|
|
64
|
+
if (!trimmedStdout) {
|
|
65
|
+
return { parentPid: 0, name: '', command: '' };
|
|
60
66
|
}
|
|
61
|
-
const
|
|
62
|
-
const
|
|
63
|
-
const
|
|
64
|
-
const fullCommand =
|
|
65
|
-
const processName = path.basename(
|
|
67
|
+
const parts = trimmedStdout.split(/\s+/);
|
|
68
|
+
const ppidString = parts[0];
|
|
69
|
+
const parentPid = parseInt(ppidString, 10);
|
|
70
|
+
const fullCommand = trimmedStdout.substring(ppidString.length).trim();
|
|
71
|
+
const processName = path.basename(fullCommand.split(' ')[0]);
|
|
66
72
|
return {
|
|
67
|
-
parentPid:
|
|
73
|
+
parentPid: isNaN(parentPid) ? 1 : parentPid,
|
|
68
74
|
name: processName,
|
|
69
75
|
command: fullCommand,
|
|
70
76
|
};
|
|
71
77
|
}
|
|
72
|
-
catch (
|
|
73
|
-
console.debug(`Failed to get process info for pid ${pid}:`, error);
|
|
78
|
+
catch (_e) {
|
|
74
79
|
return { parentPid: 0, name: '', command: '' };
|
|
75
80
|
}
|
|
76
81
|
}
|
|
@@ -127,65 +132,38 @@ async function getIdeProcessInfoForUnix() {
|
|
|
127
132
|
return { pid: currentPid, command };
|
|
128
133
|
}
|
|
129
134
|
/**
|
|
130
|
-
* Finds the IDE process info on Windows using
|
|
131
|
-
*
|
|
132
|
-
* The strategy is to get all ancestor processes in one call, then traverse in memory.
|
|
133
|
-
* This is much faster than making multiple PowerShell calls.
|
|
134
|
-
*
|
|
135
|
-
* @returns A promise that resolves to the PID and command of the IDE process.
|
|
135
|
+
* Finds the IDE process info on Windows using a snapshot approach.
|
|
136
136
|
*/
|
|
137
137
|
async function getIdeProcessInfoForWindows() {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
if
|
|
144
|
-
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
// Traverse up from current process to find the IDE
|
|
159
|
-
let currentPid = process.pid;
|
|
160
|
-
let previousPid = process.pid;
|
|
161
|
-
for (let i = 0; i < MAX_TRAVERSAL_DEPTH; i++) {
|
|
162
|
-
const current = processMap.get(currentPid);
|
|
163
|
-
if (!current) {
|
|
164
|
-
break;
|
|
165
|
-
}
|
|
166
|
-
const parentPid = current.parentPid;
|
|
167
|
-
if (parentPid > 0) {
|
|
168
|
-
const parent = processMap.get(parentPid);
|
|
169
|
-
const grandParentPid = parent?.parentPid ?? 0;
|
|
170
|
-
if (grandParentPid === 0) {
|
|
171
|
-
// Found the grandchild of root - the IDE is previousPid
|
|
172
|
-
const ide = processMap.get(previousPid);
|
|
173
|
-
return { pid: previousPid, command: ide?.command ?? '' };
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
if (parentPid <= 0) {
|
|
177
|
-
break;
|
|
178
|
-
}
|
|
179
|
-
previousPid = currentPid;
|
|
180
|
-
currentPid = parentPid;
|
|
138
|
+
// Fetch the entire process table in one go.
|
|
139
|
+
const processMap = await getProcessTableWindows();
|
|
140
|
+
const myPid = process.pid;
|
|
141
|
+
const myProc = processMap.get(myPid);
|
|
142
|
+
if (!myProc) {
|
|
143
|
+
// Fallback: try to get info for current process directly if snapshot fails
|
|
144
|
+
const { command } = await getProcessInfo(myPid);
|
|
145
|
+
return { pid: myPid, command };
|
|
146
|
+
}
|
|
147
|
+
// Perform tree traversal in memory.
|
|
148
|
+
// Strategy: Find the great-grandchild of the root process (pid 0 or non-existent parent).
|
|
149
|
+
const ancestors = [];
|
|
150
|
+
let curr = myProc;
|
|
151
|
+
for (let i = 0; i < MAX_TRAVERSAL_DEPTH && curr; i++) {
|
|
152
|
+
ancestors.push(curr);
|
|
153
|
+
if (curr.parentPid === 0 || !processMap.has(curr.parentPid)) {
|
|
154
|
+
break; // Reached root
|
|
181
155
|
}
|
|
182
|
-
|
|
183
|
-
|
|
156
|
+
curr = processMap.get(curr.parentPid);
|
|
157
|
+
}
|
|
158
|
+
if (ancestors.length >= 3) {
|
|
159
|
+
const target = ancestors[ancestors.length - 3];
|
|
160
|
+
return { pid: target.pid, command: target.command };
|
|
184
161
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
return { pid:
|
|
162
|
+
else if (ancestors.length > 0) {
|
|
163
|
+
const target = ancestors[ancestors.length - 1];
|
|
164
|
+
return { pid: target.pid, command: target.command };
|
|
188
165
|
}
|
|
166
|
+
return { pid: myPid, command: myProc.command };
|
|
189
167
|
}
|
|
190
168
|
/**
|
|
191
169
|
* Traverses up the process tree to find the process ID and command of the IDE.
|