@machina.ai/cell-cli 1.64.0-rc2 → 1.66.0-rc1

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 (194) hide show
  1. package/dist/index.js +14 -9
  2. package/dist/index.js.map +1 -1
  3. package/dist/package.json +4 -4
  4. package/dist/src/acp/acpSession.js +9 -13
  5. package/dist/src/acp/acpSession.js.map +1 -1
  6. package/dist/src/acp/acpSession.test.js +88 -0
  7. package/dist/src/acp/acpSession.test.js.map +1 -1
  8. package/dist/src/commands/mcp/add.js +14 -6
  9. package/dist/src/commands/mcp/add.js.map +1 -1
  10. package/dist/src/commands/mcp/add.test.js +61 -0
  11. package/dist/src/commands/mcp/add.test.js.map +1 -1
  12. package/dist/src/commands/mcp/remove.js +14 -1
  13. package/dist/src/commands/mcp/remove.js.map +1 -1
  14. package/dist/src/commands/mcp/remove.test.js +63 -0
  15. package/dist/src/commands/mcp/remove.test.js.map +1 -1
  16. package/dist/src/config/config.js +12 -0
  17. package/dist/src/config/config.js.map +1 -1
  18. package/dist/src/config/config.test.js +17 -0
  19. package/dist/src/config/config.test.js.map +1 -1
  20. package/dist/src/config/envDefaults.d.ts +20 -0
  21. package/dist/src/config/envDefaults.js +29 -0
  22. package/dist/src/config/envDefaults.js.map +1 -0
  23. package/dist/src/config/envDefaults.test.d.ts +6 -0
  24. package/dist/src/config/envDefaults.test.js +23 -0
  25. package/dist/src/config/envDefaults.test.js.map +1 -0
  26. package/dist/src/config/extension-manager.js +13 -4
  27. package/dist/src/config/extension-manager.js.map +1 -1
  28. package/dist/src/config/extension.test.js +117 -0
  29. package/dist/src/config/extension.test.js.map +1 -1
  30. package/dist/src/config/extensions/github.test.js +34 -0
  31. package/dist/src/config/extensions/github.test.js.map +1 -1
  32. package/dist/src/config/extensions/github_fetch.js +110 -18
  33. package/dist/src/config/extensions/github_fetch.js.map +1 -1
  34. package/dist/src/config/extensions/github_fetch.test.js +251 -36
  35. package/dist/src/config/extensions/github_fetch.test.js.map +1 -1
  36. package/dist/src/config/settings.d.ts +1 -0
  37. package/dist/src/config/settings.js +148 -58
  38. package/dist/src/config/settings.js.map +1 -1
  39. package/dist/src/config/settings.test.js +300 -0
  40. package/dist/src/config/settings.test.js.map +1 -1
  41. package/dist/src/config/settingsSchema.d.ts +1 -1
  42. package/dist/src/config/settingsSchema.js +6 -1
  43. package/dist/src/config/settingsSchema.js.map +1 -1
  44. package/dist/src/gemini.test.js +69 -0
  45. package/dist/src/gemini.test.js.map +1 -1
  46. package/dist/src/generated/git-commit.d.ts +2 -2
  47. package/dist/src/generated/git-commit.js +2 -2
  48. package/dist/src/interactiveCli.js +8 -3
  49. package/dist/src/interactiveCli.js.map +1 -1
  50. package/dist/src/services/CommandService.js +1 -1
  51. package/dist/src/services/CommandService.js.map +1 -1
  52. package/dist/src/services/CommandService.test.js +18 -1
  53. package/dist/src/services/CommandService.test.js.map +1 -1
  54. package/dist/src/services/SlashCommandConflictHandler.d.ts +1 -0
  55. package/dist/src/services/SlashCommandConflictHandler.js +18 -2
  56. package/dist/src/services/SlashCommandConflictHandler.js.map +1 -1
  57. package/dist/src/services/SlashCommandConflictHandler.test.js +85 -8
  58. package/dist/src/services/SlashCommandConflictHandler.test.js.map +1 -1
  59. package/dist/src/ui/AppContainer.js +254 -12
  60. package/dist/src/ui/AppContainer.js.map +1 -1
  61. package/dist/src/ui/AppContainer.test.js +362 -6
  62. package/dist/src/ui/AppContainer.test.js.map +1 -1
  63. package/dist/src/ui/auth/AuthDialog.js +21 -5
  64. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  65. package/dist/src/ui/auth/AuthDialog.test.js +83 -0
  66. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  67. package/dist/src/ui/auth/useAuth.js +7 -1
  68. package/dist/src/ui/auth/useAuth.js.map +1 -1
  69. package/dist/src/ui/auth/useAuth.test.js +9 -0
  70. package/dist/src/ui/auth/useAuth.test.js.map +1 -1
  71. package/dist/src/ui/commands/marketplaceCommand.js +92 -4
  72. package/dist/src/ui/commands/marketplaceCommand.js.map +1 -1
  73. package/dist/src/ui/commands/marketplaceCommand.test.js +98 -1
  74. package/dist/src/ui/commands/marketplaceCommand.test.js.map +1 -1
  75. package/dist/src/ui/components/AsciiArt.d.ts +6 -6
  76. package/dist/src/ui/components/AsciiArt.js +6 -6
  77. package/dist/src/ui/components/CliSpinner.d.ts +3 -2
  78. package/dist/src/ui/components/CliSpinner.js +27 -3
  79. package/dist/src/ui/components/CliSpinner.js.map +1 -1
  80. package/dist/src/ui/components/CliSpinner.test.js +42 -3
  81. package/dist/src/ui/components/CliSpinner.test.js.map +1 -1
  82. package/dist/src/ui/components/Composer.js +3 -3
  83. package/dist/src/ui/components/Composer.js.map +1 -1
  84. package/dist/src/ui/components/Composer.test.js +39 -1
  85. package/dist/src/ui/components/Composer.test.js.map +1 -1
  86. package/dist/src/ui/components/DetailedMessagesDisplay.js +5 -1
  87. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
  88. package/dist/src/ui/components/DetailedMessagesDisplay.test.js +19 -1
  89. package/dist/src/ui/components/DetailedMessagesDisplay.test.js.map +1 -1
  90. package/dist/src/ui/components/Footer.js +1 -1
  91. package/dist/src/ui/components/Footer.js.map +1 -1
  92. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +1 -1
  93. package/dist/src/ui/components/GeminiRespondingSpinner.js +9 -2
  94. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -1
  95. package/dist/src/ui/components/GeminiSpinner.d.ts +1 -1
  96. package/dist/src/ui/components/GeminiSpinner.js +18 -7
  97. package/dist/src/ui/components/GeminiSpinner.js.map +1 -1
  98. package/dist/src/ui/components/HistoryItemDisplay.js +5 -2
  99. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  100. package/dist/src/ui/components/HistoryItemDisplay.test.js +21 -0
  101. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  102. package/dist/src/ui/components/LoadingIndicator.d.ts +1 -1
  103. package/dist/src/ui/components/LoadingIndicator.js +4 -2
  104. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  105. package/dist/src/ui/components/MainContent.js +47 -9
  106. package/dist/src/ui/components/MainContent.js.map +1 -1
  107. package/dist/src/ui/components/MainContent.test.js +87 -1
  108. package/dist/src/ui/components/MainContent.test.js.map +1 -1
  109. package/dist/src/ui/components/MemoryUsageDisplay.js +8 -4
  110. package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
  111. package/dist/src/ui/components/ModelDialog.js +30 -16
  112. package/dist/src/ui/components/ModelDialog.js.map +1 -1
  113. package/dist/src/ui/components/ModelDialog.test.js +32 -24
  114. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  115. package/dist/src/ui/components/StatusRow.d.ts +7 -6
  116. package/dist/src/ui/components/StatusRow.js +24 -10
  117. package/dist/src/ui/components/StatusRow.js.map +1 -1
  118. package/dist/src/ui/components/ValidationDialog.js +13 -6
  119. package/dist/src/ui/components/ValidationDialog.js.map +1 -1
  120. package/dist/src/ui/components/ValidationDialog.test.js +40 -0
  121. package/dist/src/ui/components/ValidationDialog.test.js.map +1 -1
  122. package/dist/src/ui/components/messages/DenseToolMessage.js +17 -12
  123. package/dist/src/ui/components/messages/DenseToolMessage.js.map +1 -1
  124. package/dist/src/ui/components/messages/DenseToolMessage.test.js +71 -0
  125. package/dist/src/ui/components/messages/DenseToolMessage.test.js.map +1 -1
  126. package/dist/src/ui/components/messages/ToolResultDisplay.js +14 -11
  127. package/dist/src/ui/components/messages/ToolResultDisplay.js.map +1 -1
  128. package/dist/src/ui/components/messages/ToolResultDisplay.test.js +32 -0
  129. package/dist/src/ui/components/messages/ToolResultDisplay.test.js.map +1 -1
  130. package/dist/src/ui/components/shared/MaxSizedBox.js +8 -2
  131. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
  132. package/dist/src/ui/components/shared/MaxSizedBox.test.js +23 -1
  133. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -1
  134. package/dist/src/ui/contexts/ToolActionsContext.js +7 -1
  135. package/dist/src/ui/contexts/ToolActionsContext.js.map +1 -1
  136. package/dist/src/ui/contexts/ToolActionsContext.test.js +54 -1
  137. package/dist/src/ui/contexts/ToolActionsContext.test.js.map +1 -1
  138. package/dist/src/ui/hooks/atCommandProcessor.d.ts +2 -1
  139. package/dist/src/ui/hooks/atCommandProcessor.js +15 -15
  140. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  141. package/dist/src/ui/hooks/useAgentStream.d.ts +9 -2
  142. package/dist/src/ui/hooks/useAgentStream.js +173 -8
  143. package/dist/src/ui/hooks/useAgentStream.js.map +1 -1
  144. package/dist/src/ui/hooks/useAgentStream.test.js +104 -1
  145. package/dist/src/ui/hooks/useAgentStream.test.js.map +1 -1
  146. package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
  147. package/dist/src/ui/hooks/useGeminiStream.js +174 -59
  148. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  149. package/dist/src/ui/hooks/useGeminiStream.test.js +230 -3
  150. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  151. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +2 -1
  152. package/dist/src/ui/hooks/useLoadingIndicator.js +3 -3
  153. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
  154. package/dist/src/ui/hooks/useLoadingIndicator.test.js +23 -4
  155. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
  156. package/dist/src/ui/hooks/useReverseSearchCompletion.js +10 -6
  157. package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +1 -1
  158. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +49 -0
  159. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -1
  160. package/dist/src/ui/key/keyBindings.js +19 -6
  161. package/dist/src/ui/key/keyBindings.js.map +1 -1
  162. package/dist/src/ui/key/keyBindings.test.js +106 -0
  163. package/dist/src/ui/key/keyBindings.test.js.map +1 -1
  164. package/dist/src/ui/utils/formatters.d.ts +2 -0
  165. package/dist/src/ui/utils/formatters.js +13 -5
  166. package/dist/src/ui/utils/formatters.js.map +1 -1
  167. package/dist/src/ui/utils/formatters.test.js +18 -0
  168. package/dist/src/ui/utils/formatters.test.js.map +1 -1
  169. package/dist/src/utils/activityLogger.js +109 -33
  170. package/dist/src/utils/activityLogger.js.map +1 -1
  171. package/dist/src/utils/activityLogger.test.js +441 -0
  172. package/dist/src/utils/activityLogger.test.js.map +1 -1
  173. package/dist/src/utils/handleAutoUpdate.d.ts +4 -1
  174. package/dist/src/utils/handleAutoUpdate.js +45 -3
  175. package/dist/src/utils/handleAutoUpdate.js.map +1 -1
  176. package/dist/src/utils/handleAutoUpdate.test.js +280 -2
  177. package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
  178. package/dist/src/utils/nodeVersion.d.ts +11 -0
  179. package/dist/src/utils/nodeVersion.js +42 -0
  180. package/dist/src/utils/nodeVersion.js.map +1 -0
  181. package/dist/src/utils/nodeVersion.test.d.ts +6 -0
  182. package/dist/src/utils/nodeVersion.test.js +35 -0
  183. package/dist/src/utils/nodeVersion.test.js.map +1 -0
  184. package/dist/src/utils/processUtils.d.ts +23 -0
  185. package/dist/src/utils/processUtils.js +72 -0
  186. package/dist/src/utils/processUtils.js.map +1 -1
  187. package/dist/src/utils/processUtils.test.js +95 -1
  188. package/dist/src/utils/processUtils.test.js.map +1 -1
  189. package/dist/src/utils/relaunch.js +8 -6
  190. package/dist/src/utils/relaunch.js.map +1 -1
  191. package/dist/src/utils/relaunch.test.js +107 -1
  192. package/dist/src/utils/relaunch.test.js.map +1 -1
  193. package/dist/tsconfig.tsbuildinfo +1 -1
  194. package/package.json +4 -4
@@ -187,6 +187,7 @@ export function createTestMergedSettings(overrides = {}) {
187
187
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
188
188
  return customDeepMerge(getMergeStrategyForPath, getDefaultsFromSchema(), overrides);
189
189
  }
190
+ export const UNTRUSTED_WORKSPACE_SETTINGS_ERROR = 'Cannot modify settings in an untrusted workspace. To enable this, verify the source of the repository and set CELL_CLI_TRUST_WORKSPACE=true or move your configuration to the global settings file.';
190
191
  export class LoadedSettings {
191
192
  constructor(system, systemDefaults, user, workspace, isTrusted, errors = []) {
192
193
  this.system = system;
@@ -227,6 +228,16 @@ export class LoadedSettings {
227
228
  return;
228
229
  }
229
230
  this.isTrusted = isTrusted;
231
+ if (isTrusted &&
232
+ Object.keys(this._workspaceFile.settings).length === 0 &&
233
+ Object.keys(this._workspaceFile.originalSettings).length > 0) {
234
+ const resolvedWorkspaceSettings = resolveSettings(this._workspaceFile.originalSettings, this._workspaceFile.path, this.errors);
235
+ normalizeLegacyTheme(resolvedWorkspaceSettings);
236
+ this._workspaceFile = {
237
+ ...this._workspaceFile,
238
+ settings: resolvedWorkspaceSettings,
239
+ };
240
+ }
230
241
  this.workspace = isTrusted
231
242
  ? this._workspaceFile
232
243
  : this.createEmptyWorkspace(this._workspaceFile);
@@ -238,12 +249,17 @@ export class LoadedSettings {
238
249
  ...workspace,
239
250
  settings: {},
240
251
  originalSettings: {},
252
+ readOnly: true,
241
253
  };
242
254
  }
243
255
  computeMergedSettings(forceTrusted = false) {
244
256
  const isTrusted = forceTrusted || this.isTrusted;
245
- const workspace = forceTrusted ? this._workspaceFile : this.workspace;
246
- const merged = mergeSettings(this.system.settings, this.systemDefaults.settings, this.user.settings, workspace.settings, isTrusted);
257
+ const workspaceSettings = forceTrusted
258
+ ? Object.keys(this._workspaceFile.settings).length > 0
259
+ ? this._workspaceFile.settings
260
+ : this._workspaceFile.originalSettings
261
+ : this.workspace.settings;
262
+ const merged = mergeSettings(this.system.settings, this.systemDefaults.settings, this.user.settings, workspaceSettings, isTrusted);
247
263
  // Remote admin settings always take precedence and file-based admin settings
248
264
  // are ignored.
249
265
  const adminSettingSchema = getSettingsSchema().admin;
@@ -302,6 +318,12 @@ export class LoadedSettings {
302
318
  }
303
319
  setValue(scope, key, value) {
304
320
  const settingsFile = this.forScope(scope);
321
+ if (scope === SettingScope.Workspace && !this.isPersistable(settingsFile)) {
322
+ if (settingsFile.path === '' || settingsFile.path === this.user.path) {
323
+ throw new Error('Cannot modify workspace settings in the home directory. Please use user scope instead.');
324
+ }
325
+ throw new Error(UNTRUSTED_WORKSPACE_SETTINGS_ERROR);
326
+ }
305
327
  // Clone value to prevent reference sharing
306
328
  const valueToSet = typeof value === 'object' && value !== null
307
329
  ? structuredClone(value)
@@ -535,6 +557,97 @@ export function loadSettings(workspaceDir = process.cwd()) {
535
557
  const normalizedWorkspaceDir = path.resolve(workspaceDir);
536
558
  return settingsCache.getOrCreate(normalizedWorkspaceDir, () => _doLoadSettings(normalizedWorkspaceDir));
537
559
  }
560
+ function isRecord(value) {
561
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
562
+ }
563
+ function getParentRecord(root, objectPath) {
564
+ let current = root;
565
+ for (let i = 0; i < objectPath.length - 1; i++) {
566
+ if (!isRecord(current)) {
567
+ return undefined;
568
+ }
569
+ current = current[objectPath[i]];
570
+ }
571
+ return isRecord(current) ? current : undefined;
572
+ }
573
+ /**
574
+ * When a settings object fails full-schema validation (for example, during the
575
+ * preliminary pre-`.env` pass when a typed field still holds an unexpanded
576
+ * `$VAR` placeholder), re-runs validation on a copy with the failing object
577
+ * properties removed so that all valid fields (such as boolean/number shell
578
+ * variables) are still coerced to their target types.
579
+ */
580
+ function coerceValidSettings(expandedSettings, issues) {
581
+ const clone = structuredClone(expandedSettings);
582
+ const pathsToRestore = [];
583
+ for (const issue of issues) {
584
+ const firstNumberIdx = issue.path.findIndex((p) => typeof p === 'number');
585
+ const objectPath = (firstNumberIdx === -1 ? issue.path : issue.path.slice(0, firstNumberIdx)).filter((p) => typeof p === 'string');
586
+ if (objectPath.length === 0) {
587
+ return expandedSettings;
588
+ }
589
+ const lastKey = objectPath[objectPath.length - 1];
590
+ const container = getParentRecord(clone, objectPath);
591
+ if (container && Object.hasOwn(container, lastKey)) {
592
+ delete container[lastKey];
593
+ pathsToRestore.push(objectPath);
594
+ }
595
+ }
596
+ const partialValidation = validateSettings(clone);
597
+ if (!partialValidation.success || !partialValidation.data) {
598
+ return expandedSettings;
599
+ }
600
+ const coerced = partialValidation.data;
601
+ for (const objectPath of pathsToRestore) {
602
+ const lastKey = objectPath[objectPath.length - 1];
603
+ const sourceContainer = getParentRecord(expandedSettings, objectPath);
604
+ const targetContainer = getParentRecord(coerced, objectPath);
605
+ if (sourceContainer &&
606
+ targetContainer &&
607
+ Object.hasOwn(sourceContainer, lastKey)) {
608
+ targetContainer[lastKey] = sourceContainer[lastKey];
609
+ }
610
+ }
611
+ return coerced;
612
+ }
613
+ function normalizeLegacyTheme(settings) {
614
+ if (settings.ui?.theme === 'VS') {
615
+ settings.ui.theme = DefaultLight.name;
616
+ }
617
+ else if (settings.ui?.theme === 'VS2015') {
618
+ settings.ui.theme = DefaultDark.name;
619
+ }
620
+ }
621
+ /**
622
+ * Expands environment variable placeholders in `rawSettings` against the
623
+ * current `process.env` and validates the result.
624
+ *
625
+ * Validation issues are only recorded in `settingsErrors` when provided, so
626
+ * that the preliminary pass (which runs before `.env` files are loaded) does
627
+ * not report placeholders that are resolved later on.
628
+ */
629
+ function resolveSettings(rawSettings, filePath, settingsErrors) {
630
+ if (Object.keys(rawSettings).length === 0) {
631
+ return {};
632
+ }
633
+ const expandedSettings = resolveEnvVarsInObject(rawSettings);
634
+ // Validate settings structure with Zod after environment variable expansion
635
+ const validationResult = validateSettings(expandedSettings);
636
+ if (!validationResult.success && validationResult.error) {
637
+ if (settingsErrors) {
638
+ settingsErrors.push({
639
+ message: formatValidationError(validationResult.error, filePath),
640
+ path: filePath,
641
+ severity: 'warning',
642
+ });
643
+ }
644
+ return coerceValidSettings(expandedSettings, validationResult.error.issues);
645
+ }
646
+ // Since we've successfully validated expandedSettings against settingsZodSchema,
647
+ // it's safe to cast the resulting data to the Settings type.
648
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
649
+ return validationResult.data ?? expandedSettings;
650
+ }
538
651
  /**
539
652
  * Internal implementation of the settings loading logic.
540
653
  */
@@ -672,6 +785,10 @@ function _doLoadSettings(workspaceDir) {
672
785
  originalSettings: userSettings,
673
786
  });
674
787
  }
788
+ /**
789
+ * Reads and parses a settings file. Environment variable placeholders are
790
+ * intentionally left unresolved here, see `resolveSettings` above.
791
+ */
675
792
  const load = (filePath) => {
676
793
  try {
677
794
  if (fs.existsSync(filePath)) {
@@ -685,36 +802,9 @@ function _doLoadSettings(workspaceDir) {
685
802
  path: filePath,
686
803
  severity: 'error',
687
804
  });
688
- return { settings: {}, rawSettings: {} };
689
- }
690
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
691
- const settingsObject = rawSettings;
692
- // Expand environment variables
693
- const expandedSettings = resolveEnvVarsInObject(settingsObject);
694
- // Validate settings structure with Zod after environment variable expansion
695
- const validationResult = validateSettings(expandedSettings);
696
- if (!validationResult.success && validationResult.error) {
697
- const errorMessage = formatValidationError(validationResult.error, filePath);
698
- settingsErrors.push({
699
- message: errorMessage,
700
- path: filePath,
701
- severity: 'warning',
702
- });
703
- return {
704
- settings: expandedSettings,
705
- rawSettings: settingsObject,
706
- rawJson: content,
707
- };
805
+ return { rawSettings: {} };
708
806
  }
709
- // Return the successfully cast and validated data
710
- return {
711
- // Since we've successfully validated expandedSettings against settingsZodSchema,
712
- // it's safe to cast the resulting data to the Settings type.
713
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
714
- settings: validationResult.data ?? expandedSettings,
715
- rawSettings: settingsObject,
716
- rawJson: content,
717
- };
807
+ return { rawSettings: rawSettings, rawJson: content };
718
808
  }
719
809
  }
720
810
  catch (error) {
@@ -724,12 +814,12 @@ function _doLoadSettings(workspaceDir) {
724
814
  severity: 'error',
725
815
  });
726
816
  }
727
- return { settings: {}, rawSettings: {} };
817
+ return { rawSettings: {} };
728
818
  };
729
819
  const securityCache = createPathSecurityCache();
730
820
  const loadSystemFile = (filePath, fileLabel) => {
731
821
  if (!fs.existsSync(filePath)) {
732
- return { settings: {}, rawSettings: {} };
822
+ return { rawSettings: {} };
733
823
  }
734
824
  const check = isFileAndDirectorySecureSync(filePath, securityCache);
735
825
  if (!check.secure) {
@@ -738,18 +828,14 @@ function _doLoadSettings(workspaceDir) {
738
828
  path: filePath,
739
829
  severity: 'warning',
740
830
  });
741
- return { settings: {}, rawSettings: {} };
831
+ return { rawSettings: {} };
742
832
  }
743
833
  return load(filePath);
744
834
  };
745
835
  const systemResult = loadSystemFile(systemSettingsPath, 'system settings');
746
836
  const systemDefaultsResult = loadSystemFile(systemDefaultsPath, 'system defaults');
747
837
  const userResult = load(USER_SETTINGS_PATH);
748
- let workspaceResult = {
749
- settings: {},
750
- rawSettings: {},
751
- rawJson: undefined,
752
- };
838
+ let workspaceResult = { rawSettings: {} };
753
839
  if (!storage.isWorkspaceHomeDir()) {
754
840
  workspaceResult = load(workspaceSettingsPath);
755
841
  }
@@ -757,11 +843,13 @@ function _doLoadSettings(workspaceDir) {
757
843
  const systemDefaultsOriginalSettings = structuredClone(systemDefaultsResult.rawSettings);
758
844
  const userOriginalSettings = structuredClone(userResult.rawSettings);
759
845
  const workspaceOriginalSettings = structuredClone(workspaceResult.rawSettings);
760
- // Environment variables for runtime use are already resolved and validated in load()
761
- systemSettings = systemResult.settings;
762
- systemDefaultSettings = systemDefaultsResult.settings;
763
- userSettings = userResult.settings;
764
- workspaceSettings = workspaceResult.settings;
846
+ // Preliminary pass: resolve placeholders against the environment as it is
847
+ // before any `.env` file is loaded. The workspace trust check only depends on
848
+ // system and user settings, so workspace settings are not resolved before
849
+ // trust is established.
850
+ systemSettings = resolveSettings(systemResult.rawSettings, systemSettingsPath);
851
+ systemDefaultSettings = resolveSettings(systemDefaultsResult.rawSettings, systemDefaultsPath);
852
+ userSettings = resolveSettings(userResult.rawSettings, USER_SETTINGS_PATH);
765
853
  // Set default auth type to Keycloak if not already defined in user settings
766
854
  if (!userSettings.security?.auth?.selectedType) {
767
855
  if (!userSettings.security) {
@@ -771,30 +859,32 @@ function _doLoadSettings(workspaceDir) {
771
859
  userSettings.security.auth = {};
772
860
  }
773
861
  userSettings.security.auth.selectedType = AuthType.KEYCLOAK;
774
- settingsModified = true;
775
- }
776
- // Support legacy theme names
777
- if (userSettings.ui?.theme === 'VS') {
778
- userSettings.ui.theme = DefaultLight.name;
779
- }
780
- else if (userSettings.ui?.theme === 'VS2015') {
781
- userSettings.ui.theme = DefaultDark.name;
782
- }
783
- if (workspaceSettings.ui?.theme === 'VS') {
784
- workspaceSettings.ui.theme = DefaultLight.name;
785
- }
786
- else if (workspaceSettings.ui?.theme === 'VS2015') {
787
- workspaceSettings.ui.theme = DefaultDark.name;
788
862
  }
789
863
  // For the initial trust check, we can only use user and system settings.
790
864
  const initialTrustCheckSettings = customDeepMerge(getMergeStrategyForPath, getDefaultsFromSchema(), systemDefaultSettings, userSettings, systemSettings);
791
865
  const isTrusted = isWorkspaceTrusted(initialTrustCheckSettings, workspaceDir)
792
866
  ?.isTrusted ?? false;
867
+ if (isTrusted) {
868
+ workspaceSettings = resolveSettings(workspaceResult.rawSettings, workspaceSettingsPath);
869
+ }
793
870
  // Create a temporary merged settings object to pass to loadEnvironment.
794
871
  const tempMergedSettings = mergeSettings(systemSettings, systemDefaultSettings, userSettings, workspaceSettings, isTrusted);
795
872
  // loadEnvironment depends on settings so we have to create a temp version of
796
873
  // the settings to avoid a cycle
797
874
  loadEnvironment(tempMergedSettings, workspaceDir);
875
+ // Final pass: variables from `.env` files are now part of `process.env`, so
876
+ // resolve the settings again to expand the placeholders that reference them.
877
+ // Validation issues are only reported from this pass. Workspace settings are
878
+ // only resolved and validated when the workspace is trusted.
879
+ systemSettings = resolveSettings(systemResult.rawSettings, systemSettingsPath, settingsErrors);
880
+ systemDefaultSettings = resolveSettings(systemDefaultsResult.rawSettings, systemDefaultsPath, settingsErrors);
881
+ userSettings = resolveSettings(userResult.rawSettings, USER_SETTINGS_PATH, settingsErrors);
882
+ workspaceSettings = isTrusted
883
+ ? resolveSettings(workspaceResult.rawSettings, workspaceSettingsPath, settingsErrors)
884
+ : {};
885
+ // Support legacy theme names
886
+ normalizeLegacyTheme(userSettings);
887
+ normalizeLegacyTheme(workspaceSettings);
798
888
  // Check for any fatal errors before proceeding
799
889
  const fatalErrors = settingsErrors.filter((e) => e.severity === 'error');
800
890
  if (fatalErrors.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/config/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/config/settings.ts"],"names":[],"mappings":"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"}