@machina.ai/cell-cli 1.49.0-rc5 → 1.49.0-rc6

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.
@@ -152,7 +152,29 @@ export function mergeSettings(system, systemDefaults, user, workspace, isTrusted
152
152
  // 4. Workspace Settings
153
153
  // 5. System Settings (as overrides)
154
154
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
155
- return customDeepMerge(getMergeStrategyForPath, schemaDefaults, systemDefaults, user, safeWorkspace, system);
155
+ const merged = customDeepMerge(getMergeStrategyForPath, schemaDefaults, systemDefaults, user, safeWorkspace, system);
156
+ // Ensure 'AGENTS.md' is included in context.fileName by default
157
+ if (!merged.context) {
158
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
159
+ merged.context = {};
160
+ }
161
+ const fileName = merged.context.fileName;
162
+ if (!fileName) {
163
+ merged.context.fileName = ['AGENTS.md', 'GEMINI.md'];
164
+ }
165
+ else if (typeof fileName === 'string') {
166
+ const trimmed = fileName.trim();
167
+ if (trimmed.toLowerCase() !== 'agents.md') {
168
+ merged.context.fileName = ['AGENTS.md', trimmed];
169
+ }
170
+ }
171
+ else if (Array.isArray(fileName)) {
172
+ const hasAgents = fileName.some((f) => typeof f === 'string' && f.trim().toLowerCase() === 'agents.md');
173
+ if (!hasAgents) {
174
+ merged.context.fileName = ['AGENTS.md', ...fileName];
175
+ }
176
+ }
177
+ return merged;
156
178
  }
157
179
  /**
158
180
  * Creates a fully populated MergedSettings object for testing purposes.
@@ -790,6 +812,8 @@ function _doLoadSettings(workspaceDir) {
790
812
  }, isTrusted, settingsErrors);
791
813
  // Automatically migrate deprecated settings when loading.
792
814
  migrateDeprecatedSettings(loadedSettings);
815
+ // Ensure AGENTS.md is physically written into settings files if not present.
816
+ enforceAgentsMdSetting(loadedSettings);
793
817
  return loadedSettings;
794
818
  }
795
819
  /**
@@ -948,6 +972,54 @@ export function migrateDeprecatedSettings(loadedSettings, removeDeprecated = tru
948
972
  }
949
973
  return anyModified;
950
974
  }
975
+ /**
976
+ * Ensures 'AGENTS.md' is physically saved into existing settings.json files if not already present.
977
+ */
978
+ export function enforceAgentsMdSetting(loadedSettings) {
979
+ let anyModified = false;
980
+ const processScope = (scope) => {
981
+ const settingsFile = loadedSettings.forScope(scope);
982
+ if (settingsFile.readOnly) {
983
+ return;
984
+ }
985
+ // Only update if the settings file already exists on disk.
986
+ // This prevents creating a settings file out of thin air when there is none.
987
+ if (!settingsFile.path || !fs.existsSync(settingsFile.path)) {
988
+ return;
989
+ }
990
+ const settings = settingsFile.settings;
991
+ const context = settings.context || {};
992
+ const fileName = context['fileName'];
993
+ if (!fileName) {
994
+ return;
995
+ }
996
+ let newFileName = undefined;
997
+ let modified = false;
998
+ if (typeof fileName === 'string') {
999
+ const trimmed = fileName.trim();
1000
+ if (trimmed.toLowerCase() !== 'agents.md') {
1001
+ newFileName = ['AGENTS.md', trimmed];
1002
+ modified = true;
1003
+ }
1004
+ }
1005
+ else if (Array.isArray(fileName)) {
1006
+ const stringArray = fileName.filter((f) => typeof f === 'string');
1007
+ const hasAgents = stringArray.some((f) => f.trim().toLowerCase() === 'agents.md');
1008
+ if (!hasAgents) {
1009
+ newFileName = ['AGENTS.md', ...stringArray];
1010
+ modified = true;
1011
+ }
1012
+ }
1013
+ if (modified && newFileName) {
1014
+ const newContext = { ...context, fileName: newFileName };
1015
+ loadedSettings.setValue(scope, 'context', newContext);
1016
+ anyModified = true;
1017
+ }
1018
+ };
1019
+ processScope(SettingScope.User);
1020
+ processScope(SettingScope.Workspace);
1021
+ return anyModified;
1022
+ }
951
1023
  export function saveSettings(settingsFile) {
952
1024
  // Clear the entire cache on any save.
953
1025
  settingsCache.clear();
@@ -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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"}
@@ -45,7 +45,7 @@ import stripJsonComments from 'strip-json-comments'; // Will be mocked separatel
45
45
  import { isWorkspaceTrusted } from './trustedFolders.js';
46
46
  // These imports will get the versions from the vi.mock('./settings.js', ...) factory.
47
47
  import { loadSettings, USER_SETTINGS_PATH, // This IS the mocked path.
48
- getSystemSettingsPath, getSystemDefaultsPath, saveSettings, getDefaultsFromSchema, loadEnvironment, migrateDeprecatedSettings, SettingScope, LoadedSettings, sanitizeEnvVar, createTestMergedSettings, resetSettingsCacheForTesting, } from './settings.js';
48
+ getSystemSettingsPath, getSystemDefaultsPath, saveSettings, getDefaultsFromSchema, loadEnvironment, migrateDeprecatedSettings, enforceAgentsMdSetting, SettingScope, LoadedSettings, sanitizeEnvVar, createTestMergedSettings, resetSettingsCacheForTesting, } from './settings.js';
49
49
  import { FatalConfigError, CELL_DIR, AuthType, Storage, } from '@google/gemini-cli-core';
50
50
  import { updateSettingsFilePreservingFormat } from '../utils/commentJson.js';
51
51
  import { getSettingsSchema, MergeStrategy, } from './settingsSchema.js';
@@ -204,13 +204,41 @@ describe('Settings Loading and Merging', () => {
204
204
  },
205
205
  },
206
206
  };
207
- if (scope === 'user') {
208
- expect(settings.user.settings).toEqual(expectedWithAuth);
207
+ const expectedWithMerged = structuredClone(expectedWithAuth);
208
+ if (expectedWithMerged.context?.fileName) {
209
+ const fn = expectedWithMerged.context.fileName;
210
+ expectedWithMerged.context.fileName = Array.isArray(fn)
211
+ ? fn.includes('AGENTS.md')
212
+ ? fn
213
+ : ['AGENTS.md', ...fn]
214
+ : fn === 'AGENTS.md'
215
+ ? fn
216
+ : ['AGENTS.md', fn];
209
217
  }
210
218
  else {
211
- expect(settings[scope].settings).toEqual(content);
219
+ if (!expectedWithMerged.context) {
220
+ expectedWithMerged.context = {};
221
+ }
222
+ expectedWithMerged.context.fileName = ['AGENTS.md', 'GEMINI.md'];
223
+ }
224
+ const expectedScopeSettings = structuredClone(scope === 'user' ? expectedWithAuth : content);
225
+ if (scope === 'user' || scope === 'workspace') {
226
+ if (!expectedScopeSettings.context) {
227
+ expectedScopeSettings.context = {};
228
+ }
229
+ const fn = expectedScopeSettings.context.fileName;
230
+ expectedScopeSettings.context.fileName = fn
231
+ ? Array.isArray(fn)
232
+ ? fn.includes('AGENTS.md')
233
+ ? fn
234
+ : ['AGENTS.md', ...fn]
235
+ : fn === 'AGENTS.md'
236
+ ? fn
237
+ : ['AGENTS.md', fn]
238
+ : ['AGENTS.md', 'GEMINI.md'];
212
239
  }
213
- expect(settings.merged).toMatchObject(expectedWithAuth);
240
+ expect(settings[scope].settings).toEqual(expectedScopeSettings);
241
+ expect(settings.merged).toMatchObject(expectedWithMerged);
214
242
  });
215
243
  it('should merge system, user and workspace settings, with system taking precedence over workspace, and workspace over user', () => {
216
244
  mockFsExistsSync.mockImplementation((p) => {
@@ -268,13 +296,22 @@ describe('Settings Loading and Merging', () => {
268
296
  expect(settings.system.settings).toEqual(systemSettingsContent);
269
297
  expect(settings.user.settings).toEqual({
270
298
  ...userSettingsContent,
299
+ context: {
300
+ fileName: ['AGENTS.md', 'USER_CONTEXT.md'],
301
+ },
271
302
  security: {
272
303
  auth: {
273
304
  selectedType: AuthType.KEYCLOAK,
274
305
  },
275
306
  },
276
307
  });
277
- expect(settings.workspace.settings).toEqual(workspaceSettingsContent);
308
+ expect(settings.workspace.settings).toEqual({
309
+ ...workspaceSettingsContent,
310
+ context: {
311
+ ...workspaceSettingsContent.context,
312
+ fileName: ['AGENTS.md', 'WORKSPACE_CONTEXT.md'],
313
+ },
314
+ });
278
315
  expect(settings.merged).toMatchObject({
279
316
  ui: {
280
317
  theme: 'system-theme',
@@ -285,7 +322,7 @@ describe('Settings Loading and Merging', () => {
285
322
  },
286
323
  telemetry: { enabled: false },
287
324
  context: {
288
- fileName: 'WORKSPACE_CONTEXT.md',
325
+ fileName: ['AGENTS.md', 'WORKSPACE_CONTEXT.md'],
289
326
  },
290
327
  mcp: {
291
328
  allowed: ['server1', 'server2'],
@@ -407,13 +444,23 @@ describe('Settings Loading and Merging', () => {
407
444
  expect(settings.system.settings).toEqual(systemSettingsContent);
408
445
  expect(settings.user.settings).toEqual({
409
446
  ...userSettingsContent,
447
+ context: {
448
+ ...userSettingsContent.context,
449
+ fileName: ['AGENTS.md', 'USER_CONTEXT.md'],
450
+ },
410
451
  security: {
411
452
  auth: {
412
453
  selectedType: AuthType.KEYCLOAK,
413
454
  },
414
455
  },
415
456
  });
416
- expect(settings.workspace.settings).toEqual(workspaceSettingsContent);
457
+ expect(settings.workspace.settings).toEqual({
458
+ ...workspaceSettingsContent,
459
+ context: {
460
+ ...workspaceSettingsContent.context,
461
+ fileName: ['AGENTS.md', 'WORKSPACE_CONTEXT.md'],
462
+ },
463
+ });
417
464
  expect(settings.merged).toEqual({
418
465
  context: {
419
466
  discoveryMaxDirs: 200,
@@ -424,7 +471,7 @@ describe('Settings Loading and Merging', () => {
424
471
  '/workspace/dir',
425
472
  '/system/dir',
426
473
  ],
427
- fileName: 'WORKSPACE_CONTEXT.md',
474
+ fileName: ['AGENTS.md', 'WORKSPACE_CONTEXT.md'],
428
475
  },
429
476
  mcpServers: {},
430
477
  ui: { theme: 'system-theme' },
@@ -619,13 +666,19 @@ describe('Settings Loading and Merging', () => {
619
666
  description: 'contextFileName in user settings',
620
667
  path: USER_SETTINGS_PATH,
621
668
  content: { context: { fileName: 'CUSTOM.md' } },
622
- expected: { key: 'context.fileName', value: 'CUSTOM.md' },
669
+ expected: {
670
+ key: 'context.fileName',
671
+ value: ['AGENTS.md', 'CUSTOM.md'],
672
+ },
623
673
  },
624
674
  {
625
675
  description: 'contextFileName in workspace settings',
626
676
  path: MOCK_WORKSPACE_SETTINGS_PATH,
627
677
  content: { context: { fileName: 'PROJECT_SPECIFIC.md' } },
628
- expected: { key: 'context.fileName', value: 'PROJECT_SPECIFIC.md' },
678
+ expected: {
679
+ key: 'context.fileName',
680
+ value: ['AGENTS.md', 'PROJECT_SPECIFIC.md'],
681
+ },
629
682
  },
630
683
  {
631
684
  description: 'excludedProjectEnvVars in user settings',
@@ -701,7 +754,7 @@ describe('Settings Loading and Merging', () => {
701
754
  'WORKSPACE_VAR',
702
755
  ]);
703
756
  });
704
- it('should default contextFileName to undefined if not in any settings file', () => {
757
+ it('should default contextFileName to include AGENTS.md and GEMINI.md if not in any settings file', () => {
705
758
  mockFsExistsSync.mockImplementation((p) => normalizePath(p) === normalizePath(USER_SETTINGS_PATH) ||
706
759
  normalizePath(p) === normalizePath(MOCK_WORKSPACE_SETTINGS_PATH));
707
760
  const userSettingsContent = { ui: { theme: 'dark' } };
@@ -714,7 +767,10 @@ describe('Settings Loading and Merging', () => {
714
767
  return '';
715
768
  });
716
769
  const settings = loadSettings(MOCK_WORKSPACE_DIR);
717
- expect(settings.merged.context?.fileName).toBeUndefined();
770
+ expect(settings.merged.context?.fileName).toEqual([
771
+ 'AGENTS.md',
772
+ 'GEMINI.md',
773
+ ]);
718
774
  });
719
775
  it.each([
720
776
  {
@@ -1631,7 +1687,10 @@ describe('Settings Loading and Merging', () => {
1631
1687
  });
1632
1688
  const settings = loadSettings(MOCK_WORKSPACE_DIR);
1633
1689
  expect(settings.merged.tools?.sandbox).toBe(true);
1634
- expect(settings.merged.context?.fileName).toBe('WORKSPACE.md');
1690
+ expect(settings.merged.context?.fileName).toEqual([
1691
+ 'AGENTS.md',
1692
+ 'WORKSPACE.md',
1693
+ ]);
1635
1694
  expect(settings.merged.ui?.theme).toBe('dark');
1636
1695
  });
1637
1696
  it('should NOT merge workspace settings when workspace is not trusted', () => {
@@ -1658,7 +1717,10 @@ describe('Settings Loading and Merging', () => {
1658
1717
  });
1659
1718
  const settings = loadSettings(MOCK_WORKSPACE_DIR);
1660
1719
  expect(settings.merged.tools?.sandbox).toBe(false); // User setting
1661
- expect(settings.merged.context?.fileName).toBe('USER.md'); // User setting
1720
+ expect(settings.merged.context?.fileName).toEqual([
1721
+ 'AGENTS.md',
1722
+ 'USER.md',
1723
+ ]); // User setting
1662
1724
  expect(settings.merged.ui?.theme).toBe('dark'); // User setting
1663
1725
  });
1664
1726
  it('should NOT merge workspace settings when workspace trust is undefined', () => {
@@ -1685,7 +1747,10 @@ describe('Settings Loading and Merging', () => {
1685
1747
  });
1686
1748
  const settings = loadSettings(MOCK_WORKSPACE_DIR);
1687
1749
  expect(settings.merged.tools?.sandbox).toBe(false); // User setting
1688
- expect(settings.merged.context?.fileName).toBe('USER.md'); // User setting
1750
+ expect(settings.merged.context?.fileName).toEqual([
1751
+ 'AGENTS.md',
1752
+ 'USER.md',
1753
+ ]); // User setting
1689
1754
  });
1690
1755
  });
1691
1756
  describe('loadEnvironment', () => {
@@ -2144,6 +2209,86 @@ describe('Settings Loading and Merging', () => {
2144
2209
  });
2145
2210
  });
2146
2211
  });
2212
+ describe('enforceAgentsMdSetting', () => {
2213
+ let mockFsExistsSync;
2214
+ beforeEach(() => {
2215
+ vi.resetAllMocks();
2216
+ mockFsExistsSync = vi.mocked(fs.existsSync);
2217
+ vi.spyOn(trustedFolders, 'isWorkspaceTrusted').mockReturnValue({
2218
+ isTrusted: true,
2219
+ source: undefined,
2220
+ });
2221
+ });
2222
+ afterEach(() => {
2223
+ vi.restoreAllMocks();
2224
+ });
2225
+ it('should do nothing if context or context.fileName is missing from existing file', () => {
2226
+ const userSettingsContent = { ui: { theme: 'dark' } };
2227
+ mockFsExistsSync.mockReturnValue(true);
2228
+ const loadedSettings = createMockSettings(userSettingsContent);
2229
+ loadedSettings.user.path = USER_SETTINGS_PATH;
2230
+ loadedSettings.user.readOnly = false;
2231
+ const setValueSpy = vi.spyOn(loadedSettings, 'setValue');
2232
+ enforceAgentsMdSetting(loadedSettings);
2233
+ expect(setValueSpy).not.toHaveBeenCalled();
2234
+ });
2235
+ it('should migrate context.fileName from custom string to array starting with AGENTS.md', () => {
2236
+ const userSettingsContent = { context: { fileName: 'CUSTOM.md' } };
2237
+ mockFsExistsSync.mockReturnValue(true);
2238
+ const loadedSettings = createMockSettings(userSettingsContent);
2239
+ loadedSettings.user.path = USER_SETTINGS_PATH;
2240
+ loadedSettings.user.readOnly = false;
2241
+ const setValueSpy = vi.spyOn(loadedSettings, 'setValue');
2242
+ enforceAgentsMdSetting(loadedSettings);
2243
+ expect(setValueSpy).toHaveBeenCalledWith(SettingScope.User, 'context', expect.objectContaining({ fileName: ['AGENTS.md', 'CUSTOM.md'] }));
2244
+ });
2245
+ it('should prepend AGENTS.md if context.fileName is an array not containing agents.md', () => {
2246
+ const userSettingsContent = {
2247
+ context: { fileName: ['PROJECT.md', 'OTHER.md'] },
2248
+ };
2249
+ mockFsExistsSync.mockReturnValue(true);
2250
+ const loadedSettings = createMockSettings(userSettingsContent);
2251
+ loadedSettings.user.path = USER_SETTINGS_PATH;
2252
+ loadedSettings.user.readOnly = false;
2253
+ const setValueSpy = vi.spyOn(loadedSettings, 'setValue');
2254
+ enforceAgentsMdSetting(loadedSettings);
2255
+ expect(setValueSpy).toHaveBeenCalledWith(SettingScope.User, 'context', expect.objectContaining({
2256
+ fileName: ['AGENTS.md', 'PROJECT.md', 'OTHER.md'],
2257
+ }));
2258
+ });
2259
+ it('should not do anything if AGENTS.md is already in context.fileName array', () => {
2260
+ const userSettingsContent = {
2261
+ context: { fileName: ['AGENTS.md', 'GEMINI.md'] },
2262
+ };
2263
+ mockFsExistsSync.mockReturnValue(true);
2264
+ const loadedSettings = createMockSettings(userSettingsContent);
2265
+ loadedSettings.user.path = USER_SETTINGS_PATH;
2266
+ loadedSettings.user.readOnly = false;
2267
+ const setValueSpy = vi.spyOn(loadedSettings, 'setValue');
2268
+ enforceAgentsMdSetting(loadedSettings);
2269
+ expect(setValueSpy).not.toHaveBeenCalled();
2270
+ });
2271
+ it('should not mutate files if settingsFile is read-only', () => {
2272
+ const userSettingsContent = { context: { fileName: 'CUSTOM.md' } };
2273
+ mockFsExistsSync.mockReturnValue(true);
2274
+ const loadedSettings = createMockSettings(userSettingsContent);
2275
+ loadedSettings.user.path = USER_SETTINGS_PATH;
2276
+ loadedSettings.user.readOnly = true;
2277
+ const setValueSpy = vi.spyOn(loadedSettings, 'setValue');
2278
+ enforceAgentsMdSetting(loadedSettings);
2279
+ expect(setValueSpy).not.toHaveBeenCalled();
2280
+ });
2281
+ it('should not do anything if settings file does not physically exist', () => {
2282
+ const userSettingsContent = { context: { fileName: 'CUSTOM.md' } };
2283
+ mockFsExistsSync.mockReturnValue(false); // File does not exist on disk
2284
+ const loadedSettings = createMockSettings(userSettingsContent);
2285
+ loadedSettings.user.path = USER_SETTINGS_PATH;
2286
+ loadedSettings.user.readOnly = false;
2287
+ const setValueSpy = vi.spyOn(loadedSettings, 'setValue');
2288
+ enforceAgentsMdSetting(loadedSettings);
2289
+ expect(setValueSpy).not.toHaveBeenCalled();
2290
+ });
2291
+ });
2147
2292
  describe('saveSettings', () => {
2148
2293
  it('should save settings using updateSettingsFilePreservingFormat', () => {
2149
2294
  const mockUpdateSettings = vi.mocked(updateSettingsFilePreservingFormat);