@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.
Files changed (96) hide show
  1. package/dist/src/agents/executor.js +2 -1
  2. package/dist/src/agents/executor.js.map +1 -1
  3. package/dist/src/auth/types.d.ts +18 -18
  4. package/dist/src/code_assist/setup.js +4 -2
  5. package/dist/src/code_assist/setup.js.map +1 -1
  6. package/dist/src/config/config.d.ts +25 -6
  7. package/dist/src/config/config.js +28 -11
  8. package/dist/src/config/config.js.map +1 -1
  9. package/dist/src/core/client.d.ts +2 -1
  10. package/dist/src/core/client.js +49 -4
  11. package/dist/src/core/client.js.map +1 -1
  12. package/dist/src/core/contentGenerator.js +3 -1
  13. package/dist/src/core/contentGenerator.js.map +1 -1
  14. package/dist/src/core/coreToolScheduler.d.ts +8 -0
  15. package/dist/src/core/coreToolScheduler.js +116 -74
  16. package/dist/src/core/coreToolScheduler.js.map +1 -1
  17. package/dist/src/core/geminiChat.d.ts +1 -0
  18. package/dist/src/core/geminiChat.js +52 -64
  19. package/dist/src/core/geminiChat.js.map +1 -1
  20. package/dist/src/core/nonInteractiveToolExecutor.d.ts +5 -4
  21. package/dist/src/core/nonInteractiveToolExecutor.js +202 -309
  22. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  23. package/dist/src/core/subagent.js +16 -3
  24. package/dist/src/core/subagent.js.map +1 -1
  25. package/dist/src/core/toolGovernance.d.ts +17 -0
  26. package/dist/src/core/toolGovernance.js +66 -0
  27. package/dist/src/core/toolGovernance.js.map +1 -0
  28. package/dist/src/core/turn.d.ts +10 -2
  29. package/dist/src/core/turn.js +1 -0
  30. package/dist/src/core/turn.js.map +1 -1
  31. package/dist/src/ide/ide-installer.js +8 -2
  32. package/dist/src/ide/ide-installer.js.map +1 -1
  33. package/dist/src/ide/process-utils.js +78 -100
  34. package/dist/src/ide/process-utils.js.map +1 -1
  35. package/dist/src/index.d.ts +2 -0
  36. package/dist/src/index.js +2 -0
  37. package/dist/src/index.js.map +1 -1
  38. package/dist/src/policy/config.js +33 -5
  39. package/dist/src/policy/config.js.map +1 -1
  40. package/dist/src/policy/policies/read-only.toml +10 -10
  41. package/dist/src/policy/policies/write.toml +13 -3
  42. package/dist/src/providers/ProviderManager.js +15 -6
  43. package/dist/src/providers/ProviderManager.js.map +1 -1
  44. package/dist/src/providers/anthropic/AnthropicProvider.js +11 -0
  45. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  46. package/dist/src/providers/openai/OpenAIProvider.d.ts +1 -7
  47. package/dist/src/providers/openai/OpenAIProvider.js +49 -189
  48. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  49. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js +11 -2
  50. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js.map +1 -1
  51. package/dist/src/providers/openai-responses/buildResponsesInputFromContent.d.ts +2 -1
  52. package/dist/src/providers/openai-responses/buildResponsesInputFromContent.js +8 -3
  53. package/dist/src/providers/openai-responses/buildResponsesInputFromContent.js.map +1 -1
  54. package/dist/src/providers/utils/toolResponsePayload.js +15 -47
  55. package/dist/src/providers/utils/toolResponsePayload.js.map +1 -1
  56. package/dist/src/runtime/AgentRuntimeContext.d.ts +1 -0
  57. package/dist/src/runtime/runtimeAdapters.js +7 -0
  58. package/dist/src/runtime/runtimeAdapters.js.map +1 -1
  59. package/dist/src/services/shellExecutionService.d.ts +1 -0
  60. package/dist/src/services/shellExecutionService.js +101 -22
  61. package/dist/src/services/shellExecutionService.js.map +1 -1
  62. package/dist/src/telemetry/loggers.js +2 -2
  63. package/dist/src/telemetry/loggers.js.map +1 -1
  64. package/dist/src/telemetry/sdk.js +2 -2
  65. package/dist/src/telemetry/sdk.js.map +1 -1
  66. package/dist/src/tools/edit.js +22 -3
  67. package/dist/src/tools/edit.js.map +1 -1
  68. package/dist/src/tools/fuzzy-replacer.js +1 -1
  69. package/dist/src/tools/fuzzy-replacer.js.map +1 -1
  70. package/dist/src/tools/google-web-fetch.d.ts +8 -0
  71. package/dist/src/tools/google-web-fetch.js +65 -12
  72. package/dist/src/tools/google-web-fetch.js.map +1 -1
  73. package/dist/src/tools/google-web-search-invocation.js +2 -1
  74. package/dist/src/tools/google-web-search-invocation.js.map +1 -1
  75. package/dist/src/tools/smart-edit.js +28 -4
  76. package/dist/src/tools/smart-edit.js.map +1 -1
  77. package/dist/src/tools/tool-error.d.ts +21 -0
  78. package/dist/src/tools/tool-error.js +27 -0
  79. package/dist/src/tools/tool-error.js.map +1 -1
  80. package/dist/src/tools/tool-names.d.ts +41 -0
  81. package/dist/src/tools/tool-names.js +45 -0
  82. package/dist/src/tools/tool-names.js.map +1 -0
  83. package/dist/src/tools/write-file.js +9 -0
  84. package/dist/src/tools/write-file.js.map +1 -1
  85. package/dist/src/utils/editor.js +2 -1
  86. package/dist/src/utils/editor.js.map +1 -1
  87. package/dist/src/utils/errors.d.ts +6 -0
  88. package/dist/src/utils/errors.js +10 -0
  89. package/dist/src/utils/errors.js.map +1 -1
  90. package/dist/src/utils/llm-edit-fixer.js +3 -3
  91. package/dist/src/utils/output-format.d.ts +24 -0
  92. package/dist/src/utils/output-format.js +34 -0
  93. package/dist/src/utils/output-format.js.map +1 -0
  94. package/dist/src/utils/systemEncoding.js +5 -1
  95. package/dist/src/utils/systemEncoding.js.map +1 -1
  96. 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":"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"}
@@ -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;
@@ -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":"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"}
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.execSync(command, { stdio: 'pipe' });
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":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAgB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,oCAAoC,EAAE,MAAM,gBAAgB,CAAC;AAEtE,SAAS,gBAAgB,CAAC,WAA4B,OAAO,CAAC,QAAQ;IACpE,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;AACpD,CAAC;AAWD,KAAK,UAAU,iBAAiB,CAC9B,WAA4B,OAAO,CAAC,QAAQ;IAE5C,uBAAuB;IACvB,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,aAAa;iBACzB,QAAQ,CAAC,aAAa,aAAa,EAAE,CAAC;iBACtC,QAAQ,EAAE;iBACV,IAAI,EAAE,CAAC;YACV,+DAA+D;YAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,QAAQ,CAAC,cAAc,aAAa,EAAE,EAAE;gBACpD,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YACH,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;IAED,0CAA0C;IAC1C,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAE7B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,QAAQ;QACR,SAAS,CAAC,IAAI,CACZ,sEAAsE,EACtE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAChE,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,QAAQ;QACR,SAAS,CAAC,IAAI,CACZ,0BAA0B,EAC1B,gBAAgB,EAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,CACjD,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,UAAU;QACV,SAAS,CAAC,IAAI,CACZ,IAAI,CAAC,IAAI,CACP,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,mBAAmB,EAC/C,mBAAmB,EACnB,KAAK,EACL,UAAU,CACX,EACD,IAAI,CAAC,IAAI,CACP,OAAO,EACP,SAAS,EACT,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,KAAK,EACL,UAAU,CACX,CACF,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,eAAe;IAIR;IACA;IAJH,aAAa,CAAyB;IAE9C,YACW,OAAgB,EAChB,WAAW,OAAO,CAAC,QAAQ;QAD3B,YAAO,GAAP,OAAO,CAAS;QAChB,aAAQ,GAAR,QAAQ,CAAmB;QAEpC,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,gOAAgO,oCAAoC,oDAAoD;aAC7V,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CACpC,WAAW,EACX;gBACE,qBAAqB;gBACrB,4CAA4C;gBAC5C,SAAS;aACV,EACD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CACpD,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,gCAAgC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAC5D,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,kDAAkD;aACvF,CAAC;QACJ,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qBAAqB,IAAI,CAAC,OAAO,CAAC,WAAW,gDAAgD,oCAAoC,uBAAuB,IAAI,CAAC,OAAO,CAAC,WAAW,yBAAyB;aACnN,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAC7B,GAAY,EACZ,QAAQ,GAAG,OAAO,CAAC,QAAQ;IAE3B,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,KAAK,eAAe,CAAC,cAAc,CAAC,IAAI;YACtC,OAAO,IAAI,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC5C;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
@@ -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 parent process ID, name, and command for a given process ID.
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
- const match = trimmedStdout.match(/^\s*(\d+)\s+(.+)$/);
58
- if (!match) {
59
- throw new Error(`Failed to parse ps output: ${trimmedStdout}`);
64
+ if (!trimmedStdout) {
65
+ return { parentPid: 0, name: '', command: '' };
60
66
  }
61
- const parentPid = parseInt(match[1], 10);
62
- const execPath = match[2].trim();
63
- const { stdout: fullCmdStdout } = await execAsync(`ps -o command= -p ${pid}`);
64
- const fullCommand = fullCmdStdout.trim();
65
- const processName = path.basename(execPath);
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: Number.isNaN(parentPid) ? 1 : parentPid,
73
+ parentPid: isNaN(parentPid) ? 1 : parentPid,
68
74
  name: processName,
69
75
  command: fullCommand,
70
76
  };
71
77
  }
72
- catch (error) {
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 an optimized single PowerShell call.
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
- try {
139
- // Get all processes in a single PowerShell call - much faster than multiple calls
140
- const powershellCommand = `powershell "Get-CimInstance Win32_Process | Select-Object ProcessId, ParentProcessId, Name, CommandLine | ConvertTo-Json"`;
141
- const { stdout } = await execAsync(powershellCommand, { timeout: 5000 });
142
- const output = stdout.trim();
143
- if (!output) {
144
- return { pid: process.pid, command: '' };
145
- }
146
- // Parse all processes into a map for fast lookup
147
- const processes = JSON.parse(output);
148
- const processMap = new Map();
149
- for (const p of processes) {
150
- if (p.ProcessId !== undefined) {
151
- processMap.set(p.ProcessId, {
152
- parentPid: p.ParentProcessId ?? 0,
153
- name: p.Name ?? '',
154
- command: p.CommandLine ?? '',
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
- const current = processMap.get(currentPid);
183
- return { pid: currentPid, command: current?.command ?? '' };
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
- catch (error) {
186
- console.debug('Failed to get Windows process info:', error);
187
- return { pid: process.pid, command: '' };
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.