@didim365/agent-cli-core 0.1.4 → 0.2.0
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/acknowledgedAgents.js +1 -1
- package/dist/src/agents/acknowledgedAgents.js.map +1 -1
- package/dist/src/agents/cli-help-agent.js +1 -1
- package/dist/src/agents/cli-help-agent.js.map +1 -1
- package/dist/src/agents/registry.js +25 -11
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/code_assist/oauth-credential-storage.js +19 -7
- package/dist/src/code_assist/oauth-credential-storage.js.map +1 -1
- package/dist/src/code_assist/oauth2.js +18 -6
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/config/storage.d.ts +90 -0
- package/dist/src/config/storage.js +191 -23
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/core/logger.d.ts +1 -1
- package/dist/src/core/logger.js +9 -9
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/prompts.js +3 -2
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +1 -1
- package/dist/src/generated/git-commit.js +1 -1
- package/dist/src/hooks/hookRegistry.js +1 -1
- package/dist/src/hooks/hookRegistry.js.map +1 -1
- package/dist/src/hooks/trustedHooks.d.ts +3 -1
- package/dist/src/hooks/trustedHooks.js +15 -7
- package/dist/src/hooks/trustedHooks.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/oauth-token-storage.d.ts +12 -5
- package/dist/src/mcp/oauth-token-storage.js +38 -16
- package/dist/src/mcp/oauth-token-storage.js.map +1 -1
- package/dist/src/mcp/token-storage/file-token-storage.d.ts +3 -1
- package/dist/src/mcp/token-storage/file-token-storage.js +31 -23
- package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -1
- package/dist/src/policy/config.js +30 -8
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/policy/policies/plan.toml +1 -1
- package/dist/src/skills/skillManager.js +10 -6
- package/dist/src/skills/skillManager.js.map +1 -1
- package/dist/src/tools/glob.d.ts +1 -1
- package/dist/src/tools/glob.js +1 -1
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/ls.d.ts +1 -1
- package/dist/src/tools/ls.js +2 -2
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/memoryTool.d.ts +3 -1
- package/dist/src/tools/memoryTool.js +23 -10
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/read-many-files.d.ts +1 -1
- package/dist/src/tools/read-many-files.js +2 -2
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/ripGrep.js +1 -1
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/utils/filesearch/ignore.js +21 -3
- package/dist/src/utils/filesearch/ignore.js.map +1 -1
- package/dist/src/utils/geminiIgnoreParser.d.ts +8 -2
- package/dist/src/utils/geminiIgnoreParser.js +31 -18
- package/dist/src/utils/geminiIgnoreParser.js.map +1 -1
- package/dist/src/utils/installationManager.d.ts +2 -1
- package/dist/src/utils/installationManager.js +6 -3
- package/dist/src/utils/installationManager.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.js +7 -5
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/paths.d.ts +6 -1
- package/dist/src/utils/paths.js +6 -1
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/userAccountManager.d.ts +2 -1
- package/dist/src/utils/userAccountManager.js +17 -11
- package/dist/src/utils/userAccountManager.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,20 +5,27 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import * as fs from 'node:fs';
|
|
7
7
|
import * as path from 'node:path';
|
|
8
|
-
import { Storage } from '../config/storage.js';
|
|
8
|
+
import { Storage, resolveReadPath } from '../config/storage.js';
|
|
9
9
|
import { getHookKey, } from './types.js';
|
|
10
10
|
import { debugLogger } from '../utils/debugLogger.js';
|
|
11
|
+
import { homedir } from '../utils/paths.js';
|
|
11
12
|
export class TrustedHooksManager {
|
|
12
|
-
|
|
13
|
+
static FILENAME = 'trusted_hooks.json';
|
|
13
14
|
trustedHooks = {};
|
|
14
15
|
constructor() {
|
|
15
|
-
this.configPath = path.join(Storage.getGlobalGeminiDir(), 'trusted_hooks.json');
|
|
16
16
|
this.load();
|
|
17
17
|
}
|
|
18
|
+
getReadPath() {
|
|
19
|
+
return resolveReadPath(homedir(), TrustedHooksManager.FILENAME);
|
|
20
|
+
}
|
|
21
|
+
getWritePath() {
|
|
22
|
+
return Storage.getGlobalWritePath(TrustedHooksManager.FILENAME);
|
|
23
|
+
}
|
|
18
24
|
load() {
|
|
19
25
|
try {
|
|
20
|
-
|
|
21
|
-
|
|
26
|
+
const readPath = this.getReadPath();
|
|
27
|
+
if (fs.existsSync(readPath)) {
|
|
28
|
+
const content = fs.readFileSync(readPath, 'utf-8');
|
|
22
29
|
this.trustedHooks = JSON.parse(content);
|
|
23
30
|
}
|
|
24
31
|
}
|
|
@@ -29,11 +36,12 @@ export class TrustedHooksManager {
|
|
|
29
36
|
}
|
|
30
37
|
save() {
|
|
31
38
|
try {
|
|
32
|
-
const
|
|
39
|
+
const writePath = this.getWritePath();
|
|
40
|
+
const dir = path.dirname(writePath);
|
|
33
41
|
if (!fs.existsSync(dir)) {
|
|
34
42
|
fs.mkdirSync(dir, { recursive: true });
|
|
35
43
|
}
|
|
36
|
-
fs.writeFileSync(
|
|
44
|
+
fs.writeFileSync(writePath, JSON.stringify(this.trustedHooks, null, 2));
|
|
37
45
|
}
|
|
38
46
|
catch (error) {
|
|
39
47
|
debugLogger.warn('Failed to save trusted hooks config', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trustedHooks.js","sourceRoot":"","sources":["../../../src/hooks/trustedHooks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"trustedHooks.js","sourceRoot":"","sources":["../../../src/hooks/trustedHooks.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -52,6 +52,7 @@ export * from './utils/getFolderStructure.js';
|
|
|
52
52
|
export * from './utils/memoryDiscovery.js';
|
|
53
53
|
export * from './utils/getPty.js';
|
|
54
54
|
export * from './utils/gitIgnoreParser.js';
|
|
55
|
+
export * from './utils/geminiIgnoreParser.js';
|
|
55
56
|
export * from './utils/gitUtils.js';
|
|
56
57
|
export * from './utils/editor.js';
|
|
57
58
|
export * from './utils/quotaErrorDetection.js';
|
|
@@ -135,7 +136,7 @@ export { OAuthUtils } from './mcp/oauth-utils.js';
|
|
|
135
136
|
export * from './telemetry/index.js';
|
|
136
137
|
export { sessionId } from './utils/session.js';
|
|
137
138
|
export * from './utils/browser.js';
|
|
138
|
-
export { Storage } from './config/storage.js';
|
|
139
|
+
export { Storage, resolveReadDir, resolveWriteDir, resolveReadPath, } from './config/storage.js';
|
|
139
140
|
export * from './hooks/index.js';
|
|
140
141
|
export * from './hooks/types.js';
|
|
141
142
|
export * from './agents/types.js';
|
package/dist/src/index.js
CHANGED
|
@@ -56,6 +56,7 @@ export * from './utils/getFolderStructure.js';
|
|
|
56
56
|
export * from './utils/memoryDiscovery.js';
|
|
57
57
|
export * from './utils/getPty.js';
|
|
58
58
|
export * from './utils/gitIgnoreParser.js';
|
|
59
|
+
export * from './utils/geminiIgnoreParser.js';
|
|
59
60
|
export * from './utils/gitUtils.js';
|
|
60
61
|
export * from './utils/editor.js';
|
|
61
62
|
export * from './utils/quotaErrorDetection.js';
|
|
@@ -145,7 +146,7 @@ export { OAuthUtils } from './mcp/oauth-utils.js';
|
|
|
145
146
|
export * from './telemetry/index.js';
|
|
146
147
|
export { sessionId } from './utils/session.js';
|
|
147
148
|
export * from './utils/browser.js';
|
|
148
|
-
export { Storage } from './config/storage.js';
|
|
149
|
+
export { Storage, resolveReadDir, resolveWriteDir, resolveReadPath, } from './config/storage.js';
|
|
149
150
|
// Export hooks system
|
|
150
151
|
export * from './hooks/index.js';
|
|
151
152
|
// Export hook types
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,13 +11,15 @@ export declare class MCPOAuthTokenStorage implements TokenStorage {
|
|
|
11
11
|
private readonly hybridTokenStorage;
|
|
12
12
|
private readonly useEncryptedFile;
|
|
13
13
|
/**
|
|
14
|
-
* Get the path to the token storage file.
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
* Get the read path to the token storage file (with .gemini fallback).
|
|
15
|
+
*/
|
|
16
|
+
private getTokenReadPath;
|
|
17
|
+
/**
|
|
18
|
+
* Get the write path to the token storage file (always .didim).
|
|
17
19
|
*/
|
|
18
|
-
private
|
|
20
|
+
private getTokenWritePath;
|
|
19
21
|
/**
|
|
20
|
-
* Ensure the config directory exists.
|
|
22
|
+
* Ensure the config directory exists for writing.
|
|
21
23
|
*/
|
|
22
24
|
private ensureConfigDir;
|
|
23
25
|
/**
|
|
@@ -58,6 +60,11 @@ export declare class MCPOAuthTokenStorage implements TokenStorage {
|
|
|
58
60
|
* @returns True if the token is expired
|
|
59
61
|
*/
|
|
60
62
|
isTokenExpired(token: OAuthToken): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Delete both primary (.didim) and legacy (.gemini) token files
|
|
65
|
+
* to prevent legacy file re-exposure after clearing.
|
|
66
|
+
*/
|
|
67
|
+
private deleteTokenFiles;
|
|
61
68
|
/**
|
|
62
69
|
* Clear all stored MCP OAuth tokens.
|
|
63
70
|
*/
|
|
@@ -8,6 +8,7 @@ import { promises as fs } from 'node:fs';
|
|
|
8
8
|
import * as path from 'node:path';
|
|
9
9
|
import { Storage } from '../config/storage.js';
|
|
10
10
|
import { getErrorMessage } from '../utils/errors.js';
|
|
11
|
+
import { LEGACY_GEMINI_DIR, homedir } from '../utils/paths.js';
|
|
11
12
|
import { HybridTokenStorage } from './token-storage/hybrid-token-storage.js';
|
|
12
13
|
import { DEFAULT_SERVICE_NAME, FORCE_ENCRYPTED_FILE_ENV_VAR, } from './token-storage/index.js';
|
|
13
14
|
/**
|
|
@@ -17,18 +18,22 @@ export class MCPOAuthTokenStorage {
|
|
|
17
18
|
hybridTokenStorage = new HybridTokenStorage(DEFAULT_SERVICE_NAME);
|
|
18
19
|
useEncryptedFile = process.env[FORCE_ENCRYPTED_FILE_ENV_VAR] === 'true';
|
|
19
20
|
/**
|
|
20
|
-
* Get the path to the token storage file.
|
|
21
|
-
*
|
|
22
|
-
* @returns The full path to the token storage file
|
|
21
|
+
* Get the read path to the token storage file (with .gemini fallback).
|
|
23
22
|
*/
|
|
24
|
-
|
|
23
|
+
getTokenReadPath() {
|
|
25
24
|
return Storage.getMcpOAuthTokensPath();
|
|
26
25
|
}
|
|
27
26
|
/**
|
|
28
|
-
*
|
|
27
|
+
* Get the write path to the token storage file (always .didim).
|
|
28
|
+
*/
|
|
29
|
+
getTokenWritePath() {
|
|
30
|
+
return Storage.getGlobalWritePath('mcp-oauth-tokens.json');
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Ensure the config directory exists for writing.
|
|
29
34
|
*/
|
|
30
35
|
async ensureConfigDir() {
|
|
31
|
-
const configDir = path.dirname(this.
|
|
36
|
+
const configDir = path.dirname(this.getTokenWritePath());
|
|
32
37
|
await fs.mkdir(configDir, { recursive: true });
|
|
33
38
|
}
|
|
34
39
|
/**
|
|
@@ -42,7 +47,7 @@ export class MCPOAuthTokenStorage {
|
|
|
42
47
|
}
|
|
43
48
|
const tokenMap = new Map();
|
|
44
49
|
try {
|
|
45
|
-
const tokenFile = this.
|
|
50
|
+
const tokenFile = this.getTokenReadPath();
|
|
46
51
|
const data = await fs.readFile(tokenFile, 'utf-8');
|
|
47
52
|
const tokens = JSON.parse(data);
|
|
48
53
|
for (const credential of tokens) {
|
|
@@ -71,7 +76,7 @@ export class MCPOAuthTokenStorage {
|
|
|
71
76
|
const tokens = await this.getAllCredentials();
|
|
72
77
|
tokens.set(credentials.serverName, credentials);
|
|
73
78
|
const tokenArray = Array.from(tokens.values());
|
|
74
|
-
const tokenFile = this.
|
|
79
|
+
const tokenFile = this.getTokenWritePath();
|
|
75
80
|
try {
|
|
76
81
|
await fs.writeFile(tokenFile, JSON.stringify(tokenArray, null, 2), { mode: 0o600 });
|
|
77
82
|
}
|
|
@@ -129,13 +134,13 @@ export class MCPOAuthTokenStorage {
|
|
|
129
134
|
const tokens = await this.getAllCredentials();
|
|
130
135
|
if (tokens.delete(serverName)) {
|
|
131
136
|
const tokenArray = Array.from(tokens.values());
|
|
132
|
-
const tokenFile = this.getTokenFilePath();
|
|
133
137
|
try {
|
|
134
138
|
if (tokenArray.length === 0) {
|
|
135
|
-
// Remove
|
|
136
|
-
await
|
|
139
|
+
// Remove both primary and legacy files if no tokens left
|
|
140
|
+
await this.deleteTokenFiles();
|
|
137
141
|
}
|
|
138
142
|
else {
|
|
143
|
+
const tokenFile = this.getTokenWritePath();
|
|
139
144
|
await fs.writeFile(tokenFile, JSON.stringify(tokenArray, null, 2), {
|
|
140
145
|
mode: 0o600,
|
|
141
146
|
});
|
|
@@ -160,6 +165,26 @@ export class MCPOAuthTokenStorage {
|
|
|
160
165
|
const bufferMs = 5 * 60 * 1000;
|
|
161
166
|
return Date.now() + bufferMs >= token.expiresAt;
|
|
162
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Delete both primary (.didim) and legacy (.gemini) token files
|
|
170
|
+
* to prevent legacy file re-exposure after clearing.
|
|
171
|
+
*/
|
|
172
|
+
async deleteTokenFiles() {
|
|
173
|
+
const paths = new Set([
|
|
174
|
+
this.getTokenWritePath(),
|
|
175
|
+
path.join(homedir(), LEGACY_GEMINI_DIR, 'mcp-oauth-tokens.json'),
|
|
176
|
+
]);
|
|
177
|
+
for (const tokenPath of paths) {
|
|
178
|
+
try {
|
|
179
|
+
await fs.unlink(tokenPath);
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
if (error.code !== 'ENOENT') {
|
|
183
|
+
throw error;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
163
188
|
/**
|
|
164
189
|
* Clear all stored MCP OAuth tokens.
|
|
165
190
|
*/
|
|
@@ -168,13 +193,10 @@ export class MCPOAuthTokenStorage {
|
|
|
168
193
|
return this.hybridTokenStorage.clearAll();
|
|
169
194
|
}
|
|
170
195
|
try {
|
|
171
|
-
|
|
172
|
-
await fs.unlink(tokenFile);
|
|
196
|
+
await this.deleteTokenFiles();
|
|
173
197
|
}
|
|
174
198
|
catch (error) {
|
|
175
|
-
|
|
176
|
-
coreEvents.emitFeedback('error', `Failed to clear MCP OAuth tokens: ${getErrorMessage(error)}`, error);
|
|
177
|
-
}
|
|
199
|
+
coreEvents.emitFeedback('error', `Failed to clear MCP OAuth tokens: ${getErrorMessage(error)}`, error);
|
|
178
200
|
}
|
|
179
201
|
}
|
|
180
202
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-token-storage.js","sourceRoot":"","sources":["../../../src/mcp/oauth-token-storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth-token-storage.js","sourceRoot":"","sources":["../../../src/mcp/oauth-token-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
import { BaseTokenStorage } from './base-token-storage.js';
|
|
7
7
|
import type { OAuthCredentials } from './types.js';
|
|
8
8
|
export declare class FileTokenStorage extends BaseTokenStorage {
|
|
9
|
-
private readonly
|
|
9
|
+
private readonly tokenWritePath;
|
|
10
10
|
private readonly encryptionKey;
|
|
11
11
|
constructor(serviceName: string);
|
|
12
|
+
private get tokenReadPath();
|
|
12
13
|
private deriveEncryptionKey;
|
|
13
14
|
private encrypt;
|
|
14
15
|
private decrypt;
|
|
@@ -21,4 +22,5 @@ export declare class FileTokenStorage extends BaseTokenStorage {
|
|
|
21
22
|
listServers(): Promise<string[]>;
|
|
22
23
|
getAllCredentials(): Promise<Map<string, OAuthCredentials>>;
|
|
23
24
|
clearAll(): Promise<void>;
|
|
25
|
+
private deleteTokenFiles;
|
|
24
26
|
}
|
|
@@ -8,16 +8,19 @@ import * as path from 'node:path';
|
|
|
8
8
|
import * as os from 'node:os';
|
|
9
9
|
import * as crypto from 'node:crypto';
|
|
10
10
|
import { BaseTokenStorage } from './base-token-storage.js';
|
|
11
|
-
import {
|
|
11
|
+
import { DIDIM_DIR, LEGACY_GEMINI_DIR, homedir } from '../../utils/paths.js';
|
|
12
|
+
import { resolveReadPath, Storage } from '../../config/storage.js';
|
|
12
13
|
export class FileTokenStorage extends BaseTokenStorage {
|
|
13
|
-
|
|
14
|
+
tokenWritePath;
|
|
14
15
|
encryptionKey;
|
|
15
16
|
constructor(serviceName) {
|
|
16
17
|
super(serviceName);
|
|
17
|
-
|
|
18
|
-
this.tokenFilePath = path.join(configDir, 'mcp-oauth-tokens-v2.json');
|
|
18
|
+
this.tokenWritePath = Storage.getGlobalWritePath('mcp-oauth-tokens-v2.json');
|
|
19
19
|
this.encryptionKey = this.deriveEncryptionKey();
|
|
20
20
|
}
|
|
21
|
+
get tokenReadPath() {
|
|
22
|
+
return resolveReadPath(homedir(), 'mcp-oauth-tokens-v2.json');
|
|
23
|
+
}
|
|
21
24
|
deriveEncryptionKey() {
|
|
22
25
|
const salt = `${os.hostname()}-${os.userInfo().username}-gemini-cli`;
|
|
23
26
|
return crypto.scryptSync('gemini-cli-oauth', salt, 32);
|
|
@@ -45,12 +48,12 @@ export class FileTokenStorage extends BaseTokenStorage {
|
|
|
45
48
|
return decrypted;
|
|
46
49
|
}
|
|
47
50
|
async ensureDirectoryExists() {
|
|
48
|
-
const dir = path.dirname(this.
|
|
51
|
+
const dir = path.dirname(this.tokenWritePath);
|
|
49
52
|
await fs.mkdir(dir, { recursive: true, mode: 0o700 });
|
|
50
53
|
}
|
|
51
54
|
async loadTokens() {
|
|
52
55
|
try {
|
|
53
|
-
const data = await fs.readFile(this.
|
|
56
|
+
const data = await fs.readFile(this.tokenReadPath, 'utf-8');
|
|
54
57
|
const decrypted = this.decrypt(data);
|
|
55
58
|
const tokens = JSON.parse(decrypted);
|
|
56
59
|
return new Map(Object.entries(tokens));
|
|
@@ -72,7 +75,7 @@ export class FileTokenStorage extends BaseTokenStorage {
|
|
|
72
75
|
const data = Object.fromEntries(tokens);
|
|
73
76
|
const json = JSON.stringify(data, null, 2);
|
|
74
77
|
const encrypted = this.encrypt(json);
|
|
75
|
-
await fs.writeFile(this.
|
|
78
|
+
await fs.writeFile(this.tokenWritePath, encrypted, { mode: 0o600 });
|
|
76
79
|
}
|
|
77
80
|
async getCredentials(serverName) {
|
|
78
81
|
const tokens = await this.loadTokens();
|
|
@@ -102,15 +105,7 @@ export class FileTokenStorage extends BaseTokenStorage {
|
|
|
102
105
|
}
|
|
103
106
|
tokens.delete(serverName);
|
|
104
107
|
if (tokens.size === 0) {
|
|
105
|
-
|
|
106
|
-
await fs.unlink(this.tokenFilePath);
|
|
107
|
-
}
|
|
108
|
-
catch (error) {
|
|
109
|
-
const err = error;
|
|
110
|
-
if (err.code !== 'ENOENT') {
|
|
111
|
-
throw error;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
108
|
+
await this.deleteTokenFiles();
|
|
114
109
|
}
|
|
115
110
|
else {
|
|
116
111
|
await this.saveTokens(tokens);
|
|
@@ -131,13 +126,26 @@ export class FileTokenStorage extends BaseTokenStorage {
|
|
|
131
126
|
return result;
|
|
132
127
|
}
|
|
133
128
|
async clearAll() {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
129
|
+
await this.deleteTokenFiles();
|
|
130
|
+
}
|
|
131
|
+
async deleteTokenFiles() {
|
|
132
|
+
const home = homedir();
|
|
133
|
+
const tokenFileName = 'mcp-oauth-tokens-v2.json';
|
|
134
|
+
// Explicitly include both primary and legacy paths to prevent
|
|
135
|
+
// legacy token re-exposure after deleting only the primary file.
|
|
136
|
+
for (const tokenPath of new Set([
|
|
137
|
+
this.tokenWritePath,
|
|
138
|
+
this.tokenReadPath,
|
|
139
|
+
path.join(home, DIDIM_DIR, tokenFileName),
|
|
140
|
+
path.join(home, LEGACY_GEMINI_DIR, tokenFileName),
|
|
141
|
+
])) {
|
|
142
|
+
try {
|
|
143
|
+
await fs.unlink(tokenPath);
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
if (error.code !== 'ENOENT') {
|
|
147
|
+
throw error;
|
|
148
|
+
}
|
|
141
149
|
}
|
|
142
150
|
}
|
|
143
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-token-storage.js","sourceRoot":"","sources":["../../../../src/mcp/token-storage/file-token-storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"file-token-storage.js","sourceRoot":"","sources":["../../../../src/mcp/token-storage/file-token-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import * as fs from 'node:fs/promises';
|
|
|
7
7
|
import * as path from 'node:path';
|
|
8
8
|
import { fileURLToPath } from 'node:url';
|
|
9
9
|
import { Storage } from '../config/storage.js';
|
|
10
|
+
import { LEGACY_GEMINI_DIR, homedir } from '../utils/paths.js';
|
|
10
11
|
import { PolicyDecision, } from './types.js';
|
|
11
12
|
import { loadPoliciesFromToml } from './toml-loader.js';
|
|
12
13
|
import { buildArgsPatterns } from './utils.js';
|
|
@@ -39,7 +40,9 @@ export function getPolicyDirectories(defaultPoliciesDir) {
|
|
|
39
40
|
else {
|
|
40
41
|
dirs.push(DEFAULT_CORE_POLICIES_DIR);
|
|
41
42
|
}
|
|
42
|
-
|
|
43
|
+
// Scan both .didim/policies and .gemini/policies to prevent legacy
|
|
44
|
+
// deny/security rules from being silently dropped when .didim/policies exists.
|
|
45
|
+
dirs.push(...Storage.getUserPoliciesReadDirs());
|
|
43
46
|
dirs.push(Storage.getSystemPoliciesDir());
|
|
44
47
|
// Reverse so highest priority (Admin) is first for loading order if needed,
|
|
45
48
|
// though loadPoliciesFromToml might want them in a specific order.
|
|
@@ -51,10 +54,9 @@ export function getPolicyDirectories(defaultPoliciesDir) {
|
|
|
51
54
|
* This is used by the TOML loader to assign priority bands.
|
|
52
55
|
*/
|
|
53
56
|
export function getPolicyTier(dir, defaultPoliciesDir) {
|
|
54
|
-
const
|
|
57
|
+
const userPolicyDirs = Storage.getUserPoliciesReadDirs();
|
|
55
58
|
const ADMIN_POLICIES_DIR = Storage.getSystemPoliciesDir();
|
|
56
59
|
const normalizedDir = path.resolve(dir);
|
|
57
|
-
const normalizedUser = path.resolve(USER_POLICIES_DIR);
|
|
58
60
|
const normalizedAdmin = path.resolve(ADMIN_POLICIES_DIR);
|
|
59
61
|
if (defaultPoliciesDir &&
|
|
60
62
|
normalizedDir === path.resolve(defaultPoliciesDir)) {
|
|
@@ -63,8 +65,11 @@ export function getPolicyTier(dir, defaultPoliciesDir) {
|
|
|
63
65
|
if (normalizedDir === path.resolve(DEFAULT_CORE_POLICIES_DIR)) {
|
|
64
66
|
return DEFAULT_POLICY_TIER;
|
|
65
67
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
// Check all user policy directories (both .didim and .gemini)
|
|
69
|
+
for (const userDir of userPolicyDirs) {
|
|
70
|
+
if (normalizedDir === path.resolve(userDir)) {
|
|
71
|
+
return USER_POLICY_TIER;
|
|
72
|
+
}
|
|
68
73
|
}
|
|
69
74
|
if (normalizedDir === normalizedAdmin) {
|
|
70
75
|
return ADMIN_POLICY_TIER;
|
|
@@ -295,17 +300,34 @@ export function createPolicyUpdater(policyEngine, messageBus) {
|
|
|
295
300
|
}
|
|
296
301
|
if (message.persist) {
|
|
297
302
|
try {
|
|
298
|
-
const userPoliciesDir = Storage.
|
|
303
|
+
const userPoliciesDir = Storage.getUserPoliciesWriteDir();
|
|
299
304
|
await fs.mkdir(userPoliciesDir, { recursive: true });
|
|
300
305
|
const policyFile = path.join(userPoliciesDir, 'auto-saved.toml');
|
|
301
|
-
// Read existing file
|
|
306
|
+
// Read existing file from write path, falling back to legacy path
|
|
307
|
+
// to preserve accumulated rules when migrating from .gemini to .didim.
|
|
302
308
|
let existingData = {};
|
|
303
309
|
try {
|
|
304
310
|
const fileContent = await fs.readFile(policyFile, 'utf-8');
|
|
305
311
|
existingData = toml.parse(fileContent);
|
|
306
312
|
}
|
|
307
313
|
catch (error) {
|
|
308
|
-
if (error.code
|
|
314
|
+
if (error.code === 'ENOENT') {
|
|
315
|
+
// Write path file doesn't exist — try legacy .gemini path.
|
|
316
|
+
// Use explicit legacy path rather than getUserPoliciesDir()
|
|
317
|
+
// because mkdir above already created .didim/policies/,
|
|
318
|
+
// causing resolveReadPath to return .didim instead of .gemini.
|
|
319
|
+
const legacyFile = path.join(homedir(), LEGACY_GEMINI_DIR, 'policies', 'auto-saved.toml');
|
|
320
|
+
if (legacyFile !== policyFile) {
|
|
321
|
+
try {
|
|
322
|
+
const legacyContent = await fs.readFile(legacyFile, 'utf-8');
|
|
323
|
+
existingData = toml.parse(legacyContent);
|
|
324
|
+
}
|
|
325
|
+
catch {
|
|
326
|
+
// Legacy file also missing or unreadable — start fresh
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
309
331
|
debugLogger.warn(`Failed to parse ${policyFile}, overwriting with new policy.`, error);
|
|
310
332
|
}
|
|
311
333
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/policy/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/policy/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,4 +70,4 @@ toolName = "write_file"
|
|
|
70
70
|
decision = "allow"
|
|
71
71
|
priority = 50
|
|
72
72
|
modes = ["plan"]
|
|
73
|
-
argsPattern = "\"file_path\":\"[^\"]+/\\.gemini/tmp/[a-f0-9]{64}/plans/[a-zA-Z0-9_-]+\\.md\""
|
|
73
|
+
argsPattern = "\"file_path\":\"[^\"]+/\\.(?:didim|gemini)/tmp/[a-f0-9]{64}/plans/[a-zA-Z0-9_-]+\\.md\""
|
|
@@ -46,12 +46,16 @@ export class SkillManager {
|
|
|
46
46
|
this.addSkillsWithPrecedence(extension.skills);
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
// 3. User skills
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
// 3. User skills (scan both legacy and primary directories)
|
|
50
|
+
for (const dir of Storage.getUserSkillsReadDirs()) {
|
|
51
|
+
const userSkills = await loadSkillsFromDir(dir);
|
|
52
|
+
this.addSkillsWithPrecedence(userSkills);
|
|
53
|
+
}
|
|
54
|
+
// 4. Workspace skills (highest precedence, scan both legacy and primary)
|
|
55
|
+
for (const dir of storage.getProjectSkillsReadDirs()) {
|
|
56
|
+
const projectSkills = await loadSkillsFromDir(dir);
|
|
57
|
+
this.addSkillsWithPrecedence(projectSkills);
|
|
58
|
+
}
|
|
55
59
|
}
|
|
56
60
|
/**
|
|
57
61
|
* Discovers built-in skills.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skillManager.js","sourceRoot":"","sources":["../../../src/skills/skillManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAwB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAwB,CAAC;AAEhC,MAAM,OAAO,YAAY;IACf,MAAM,GAAsB,EAAE,CAAC;IAC/B,gBAAgB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAC1C,kBAAkB,GAAG,IAAI,CAAC;IAElC;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAgB;QAC/B,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAClB,OAAgB,EAChB,aAAmC,EAAE;QAErC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,yCAAyC;QACzC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEnC,sBAAsB;QACtB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBAC3C,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"skillManager.js","sourceRoot":"","sources":["../../../src/skills/skillManager.ts"],"names":[],"mappings":"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"}
|