@pellux/goodvibes-sdk 0.18.15 → 0.18.17
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/_internal/platform/agents/orchestrator.d.ts +1 -0
- package/dist/_internal/platform/agents/orchestrator.d.ts.map +1 -1
- package/dist/_internal/platform/config/manager.d.ts +3 -2
- package/dist/_internal/platform/config/manager.d.ts.map +1 -1
- package/dist/_internal/platform/config/manager.js +12 -7
- package/dist/_internal/platform/config/secrets.d.ts +6 -4
- package/dist/_internal/platform/config/secrets.d.ts.map +1 -1
- package/dist/_internal/platform/config/secrets.js +19 -16
- package/dist/_internal/platform/daemon/cli.js +2 -1
- package/dist/_internal/platform/daemon/facade-composition.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/facade-composition.js +1 -0
- package/dist/_internal/platform/discovery/mcp-scanner.d.ts +3 -1
- package/dist/_internal/platform/discovery/mcp-scanner.d.ts.map +1 -1
- package/dist/_internal/platform/discovery/mcp-scanner.js +6 -5
- package/dist/_internal/platform/discovery/scanner.d.ts +3 -1
- package/dist/_internal/platform/discovery/scanner.d.ts.map +1 -1
- package/dist/_internal/platform/discovery/scanner.js +3 -2
- package/dist/_internal/platform/input/keybindings.d.ts +1 -0
- package/dist/_internal/platform/input/keybindings.d.ts.map +1 -1
- package/dist/_internal/platform/input/keybindings.js +5 -2
- package/dist/_internal/platform/plugins/manager.d.ts.map +1 -1
- package/dist/_internal/platform/plugins/manager.js +5 -3
- package/dist/_internal/platform/runtime/bootstrap-background.d.ts +2 -0
- package/dist/_internal/platform/runtime/bootstrap-background.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/bootstrap-background.js +6 -6
- package/dist/_internal/platform/runtime/guidance.d.ts +1 -0
- package/dist/_internal/platform/runtime/guidance.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/guidance.js +6 -2
- package/dist/_internal/platform/runtime/remote/distributed-runtime-manager.d.ts +1 -1
- package/dist/_internal/platform/runtime/remote/distributed-runtime-manager.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/remote/distributed-runtime-manager.js +4 -3
- package/dist/_internal/platform/runtime/sandbox/provisioning.d.ts +7 -4
- package/dist/_internal/platform/runtime/sandbox/provisioning.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/sandbox/provisioning.js +9 -8
- package/dist/_internal/platform/runtime/services.d.ts +1 -0
- package/dist/_internal/platform/runtime/services.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/services.js +22 -19
- package/dist/_internal/platform/runtime/surface-root.d.ts +4 -0
- package/dist/_internal/platform/runtime/surface-root.d.ts.map +1 -0
- package/dist/_internal/platform/runtime/surface-root.js +14 -0
- package/dist/_internal/platform/sessions/orchestration/registry.d.ts +4 -5
- package/dist/_internal/platform/sessions/orchestration/registry.d.ts.map +1 -1
- package/dist/_internal/platform/sessions/orchestration/registry.js +7 -8
- package/dist/_internal/platform/tools/index.d.ts +1 -0
- package/dist/_internal/platform/tools/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/index.js +6 -1
- package/dist/_internal/platform/tools/repl/index.d.ts +4 -1
- package/dist/_internal/platform/tools/repl/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/repl/index.js +9 -7
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ type AgentOrchestratorToolDeps = {
|
|
|
13
13
|
readonly fileCache: FileStateCache;
|
|
14
14
|
readonly projectIndex: ProjectIndex;
|
|
15
15
|
readonly workingDirectory: string;
|
|
16
|
+
readonly surfaceRoot: string;
|
|
16
17
|
readonly fileUndoManager: import('@pellux/goodvibes-sdk/platform/state/file-undo').FileUndoManager;
|
|
17
18
|
readonly modeManager: import('@pellux/goodvibes-sdk/platform/state/mode-manager').ModeManager;
|
|
18
19
|
readonly processManager: import('@pellux/goodvibes-sdk/platform/tools/shared/process-manager').ProcessManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/agents/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/agents/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ interface ConfigCliOverrides {
|
|
|
11
11
|
autoApprove?: boolean;
|
|
12
12
|
systemPromptFile?: string;
|
|
13
13
|
workingDir?: string;
|
|
14
|
+
surfaceRoot?: string;
|
|
14
15
|
}
|
|
15
16
|
export type ConfigOverrides = ConfigCliOverrides & ({
|
|
16
17
|
configDir: string;
|
|
@@ -27,7 +28,7 @@ export interface ConfigSetOptions {
|
|
|
27
28
|
/**
|
|
28
29
|
* ConfigManager — Layered, mutable, persistent config system.
|
|
29
30
|
*
|
|
30
|
-
* Load order: defaults < global
|
|
31
|
+
* Load order: defaults < global surface settings < project surface settings < CLI overrides
|
|
31
32
|
* API keys are never persisted — loaded from env vars only.
|
|
32
33
|
*/
|
|
33
34
|
export declare class ConfigManager {
|
|
@@ -69,7 +70,7 @@ export declare class ConfigManager {
|
|
|
69
70
|
getSchema(): ConfigSetting[];
|
|
70
71
|
/** Persist current config to global TUI settings file. */
|
|
71
72
|
save(): void;
|
|
72
|
-
/** Persist current config to project-level
|
|
73
|
+
/** Persist current config to the project-level surface settings file. */
|
|
73
74
|
saveProject(): void;
|
|
74
75
|
/** Load config from disk: global then project (project wins). Deep-merges with defaults. */
|
|
75
76
|
load(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAI3H,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { DEFAULT_CONFIG, CONFIG_SCHEMA } from '@pellux/goodvibes-sdk/platform/co
|
|
|
4
4
|
import { ConfigError } from '@pellux/goodvibes-sdk/platform/types/errors';
|
|
5
5
|
import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
|
|
6
6
|
import { getManagedSettingLock } from '../runtime/settings/control-plane.js';
|
|
7
|
+
import { requireSurfaceRoot, resolveSurfaceDirectory, resolveSurfaceSharedFile } from '../runtime/surface-root.js';
|
|
7
8
|
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
|
|
8
9
|
const DEFAULT_CONFIG_SNAPSHOT = structuredClone(DEFAULT_CONFIG);
|
|
9
10
|
const PERMISSION_TOOL_KEYS = new Set(Object.keys(DEFAULT_CONFIG.permissions.tools));
|
|
@@ -36,7 +37,7 @@ function requireAbsoluteOwnedPath(path, name) {
|
|
|
36
37
|
return resolve(trimmed);
|
|
37
38
|
}
|
|
38
39
|
/**
|
|
39
|
-
* Ensure the shared ~/.goodvibes
|
|
40
|
+
* Ensure the shared ~/.goodvibes/<surface>.json exists (empty object if not).
|
|
40
41
|
* This is reserved for future cross-app use — no TUI settings go here.
|
|
41
42
|
*/
|
|
42
43
|
function ensureSharedConfig(sharedPath) {
|
|
@@ -46,14 +47,14 @@ function ensureSharedConfig(sharedPath) {
|
|
|
46
47
|
writeFileSync(sharedPath, '{}\n', 'utf-8');
|
|
47
48
|
}
|
|
48
49
|
catch (err) {
|
|
49
|
-
logger.debug('Could not create shared
|
|
50
|
+
logger.debug('Could not create shared surface config (non-fatal)', { error: summarizeError(err) });
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
/**
|
|
54
55
|
* ConfigManager — Layered, mutable, persistent config system.
|
|
55
56
|
*
|
|
56
|
-
* Load order: defaults < global
|
|
57
|
+
* Load order: defaults < global surface settings < project surface settings < CLI overrides
|
|
57
58
|
* API keys are never persisted — loaded from env vars only.
|
|
58
59
|
*/
|
|
59
60
|
export class ConfigManager {
|
|
@@ -70,16 +71,20 @@ export class ConfigManager {
|
|
|
70
71
|
const homeDirectory = requireAbsoluteOwnedPath(roots.homeDir, 'homeDir') ?? null;
|
|
71
72
|
const workingDirectory = requireAbsoluteOwnedPath(overrides.workingDir, 'workingDir') ?? null;
|
|
72
73
|
const sharedConfigPath = requireAbsoluteOwnedPath(roots.sharedConfigPath, 'sharedConfigPath');
|
|
73
|
-
const
|
|
74
|
+
const surfaceRoot = roots.surfaceRoot ? requireSurfaceRoot(roots.surfaceRoot, 'ConfigManager surfaceRoot') : null;
|
|
75
|
+
if ((!configDir || workingDirectory || homeDirectory) && !surfaceRoot) {
|
|
76
|
+
throw new Error('ConfigManager surfaceRoot is required when deriving config paths from homeDir/workingDir.');
|
|
77
|
+
}
|
|
78
|
+
const base = configDir ?? resolveSurfaceDirectory(homeDirectory, surfaceRoot);
|
|
74
79
|
this.configDir = base;
|
|
75
80
|
this.configPath = join(base, 'settings.json');
|
|
76
81
|
this.workingDirectory = workingDirectory;
|
|
77
82
|
this.homeDirectory = homeDirectory;
|
|
78
83
|
this.projectConfigPath = this.workingDirectory
|
|
79
|
-
?
|
|
84
|
+
? resolveSurfaceDirectory(this.workingDirectory, surfaceRoot, 'settings.json')
|
|
80
85
|
: null;
|
|
81
86
|
this.config = cloneDefaultConfig();
|
|
82
|
-
const ownedSharedConfigPath = sharedConfigPath ?? (this.homeDirectory ?
|
|
87
|
+
const ownedSharedConfigPath = sharedConfigPath ?? (this.homeDirectory ? resolveSurfaceSharedFile(this.homeDirectory, surfaceRoot) : null);
|
|
83
88
|
if (ownedSharedConfigPath) {
|
|
84
89
|
ensureSharedConfig(ownedSharedConfigPath);
|
|
85
90
|
}
|
|
@@ -213,7 +218,7 @@ export class ConfigManager {
|
|
|
213
218
|
logger.debug('Config save failed (non-fatal)', { error: summarizeError(err) });
|
|
214
219
|
}
|
|
215
220
|
}
|
|
216
|
-
/** Persist current config to project-level
|
|
221
|
+
/** Persist current config to the project-level surface settings file. */
|
|
217
222
|
saveProject() {
|
|
218
223
|
if (!this.projectConfigPath) {
|
|
219
224
|
throw new Error('ConfigManager.saveProject requires an explicit workingDir.');
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Resolution order:
|
|
5
5
|
* 1. Environment variable (process.env[key])
|
|
6
|
-
* 2. Project/ancestor secure stores (.goodvibes
|
|
7
|
-
* 3. Project/ancestor plaintext stores (.goodvibes
|
|
8
|
-
* 4. User secure store (~/.goodvibes
|
|
9
|
-
* 5. User plaintext store (~/.goodvibes
|
|
6
|
+
* 2. Project/ancestor secure stores (.goodvibes/<surface>/secrets.enc), nearest first
|
|
7
|
+
* 3. Project/ancestor plaintext stores (.goodvibes/<surface>.secrets.json), nearest first
|
|
8
|
+
* 4. User secure store (~/.goodvibes/<surface>/secrets.enc)
|
|
9
|
+
* 5. User plaintext store (~/.goodvibes/<surface>.secrets.json)
|
|
10
10
|
* 6. If a resolved value is a SecretRef, resolve through the referenced provider
|
|
11
11
|
*
|
|
12
12
|
* The active policy decides whether plaintext stores are eligible:
|
|
@@ -56,6 +56,7 @@ export interface SecretStorageReview {
|
|
|
56
56
|
export interface SecretsManagerOptions {
|
|
57
57
|
readonly projectRoot: string;
|
|
58
58
|
readonly globalHome: string;
|
|
59
|
+
readonly surfaceRoot: string;
|
|
59
60
|
readonly configManager?: Pick<ConfigManager, 'get'>;
|
|
60
61
|
readonly policy?: SecretStorageMode;
|
|
61
62
|
readonly secureProjectFilePath?: string;
|
|
@@ -66,6 +67,7 @@ export interface SecretsManagerOptions {
|
|
|
66
67
|
export declare class SecretsManager {
|
|
67
68
|
private readonly encKey;
|
|
68
69
|
private readonly options;
|
|
70
|
+
private readonly surfaceRoot;
|
|
69
71
|
constructor(options: SecretsManagerOptions);
|
|
70
72
|
getGlobalHome(): string;
|
|
71
73
|
get(key: string): Promise<string | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/secrets.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Resolution order:
|
|
5
5
|
* 1. Environment variable (process.env[key])
|
|
6
|
-
* 2. Project/ancestor secure stores (.goodvibes
|
|
7
|
-
* 3. Project/ancestor plaintext stores (.goodvibes
|
|
8
|
-
* 4. User secure store (~/.goodvibes
|
|
9
|
-
* 5. User plaintext store (~/.goodvibes
|
|
6
|
+
* 2. Project/ancestor secure stores (.goodvibes/<surface>/secrets.enc), nearest first
|
|
7
|
+
* 3. Project/ancestor plaintext stores (.goodvibes/<surface>.secrets.json), nearest first
|
|
8
|
+
* 4. User secure store (~/.goodvibes/<surface>/secrets.enc)
|
|
9
|
+
* 5. User plaintext store (~/.goodvibes/<surface>.secrets.json)
|
|
10
10
|
* 6. If a resolved value is a SecretRef, resolve through the referenced provider
|
|
11
11
|
*
|
|
12
12
|
* The active policy decides whether plaintext stores are eligible:
|
|
@@ -22,6 +22,7 @@ import { hostname, userInfo } from 'os';
|
|
|
22
22
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
23
23
|
import { getSecretRefSource, isSecretRefInput, resolveSecretRef } from '@pellux/goodvibes-sdk/platform/config/secret-refs';
|
|
24
24
|
import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
|
|
25
|
+
import { requireSurfaceRoot, resolveSurfaceDirectory, resolveSurfaceSharedFile } from '../runtime/surface-root.js';
|
|
25
26
|
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
|
|
26
27
|
function requireAbsoluteOwnedPath(path, name) {
|
|
27
28
|
const trimmed = path.trim();
|
|
@@ -91,8 +92,10 @@ function collectAncestorRoots(start) {
|
|
|
91
92
|
export class SecretsManager {
|
|
92
93
|
encKey;
|
|
93
94
|
options;
|
|
95
|
+
surfaceRoot;
|
|
94
96
|
constructor(options) {
|
|
95
97
|
this.encKey = deriveEncryptionKey();
|
|
98
|
+
this.surfaceRoot = requireSurfaceRoot(options.surfaceRoot, 'SecretsManager surfaceRoot');
|
|
96
99
|
this.options = {
|
|
97
100
|
...options,
|
|
98
101
|
projectRoot: requireAbsoluteOwnedPath(options.projectRoot, 'projectRoot'),
|
|
@@ -300,14 +303,14 @@ export class SecretsManager {
|
|
|
300
303
|
for (const root of collectAncestorRoots(projectRoot)) {
|
|
301
304
|
ordered.push({
|
|
302
305
|
source: 'project-secure',
|
|
303
|
-
path: this.options.secureProjectFilePath ??
|
|
306
|
+
path: this.options.secureProjectFilePath ?? resolveSurfaceDirectory(root, this.surfaceRoot, 'secrets.enc'),
|
|
304
307
|
secure: true,
|
|
305
308
|
scope: 'project',
|
|
306
309
|
});
|
|
307
310
|
if (includePlaintext) {
|
|
308
311
|
ordered.push({
|
|
309
312
|
source: 'project-plaintext',
|
|
310
|
-
path: this.options.plaintextProjectFilePath ??
|
|
313
|
+
path: this.options.plaintextProjectFilePath ?? resolveSurfaceSharedFile(root, `${this.surfaceRoot}.secrets`, 'json'),
|
|
311
314
|
secure: false,
|
|
312
315
|
scope: 'project',
|
|
313
316
|
});
|
|
@@ -315,14 +318,14 @@ export class SecretsManager {
|
|
|
315
318
|
}
|
|
316
319
|
ordered.push({
|
|
317
320
|
source: 'user-secure',
|
|
318
|
-
path: this.options.secureUserFilePath ??
|
|
321
|
+
path: this.options.secureUserFilePath ?? resolveSurfaceDirectory(userHome, this.surfaceRoot, 'secrets.enc'),
|
|
319
322
|
secure: true,
|
|
320
323
|
scope: 'user',
|
|
321
324
|
});
|
|
322
325
|
if (includePlaintext) {
|
|
323
326
|
ordered.push({
|
|
324
327
|
source: 'user-plaintext',
|
|
325
|
-
path: this.options.plaintextUserFilePath ??
|
|
328
|
+
path: this.options.plaintextUserFilePath ?? resolveSurfaceSharedFile(userHome, `${this.surfaceRoot}.secrets`, 'json'),
|
|
326
329
|
secure: false,
|
|
327
330
|
scope: 'user',
|
|
328
331
|
});
|
|
@@ -336,26 +339,26 @@ export class SecretsManager {
|
|
|
336
339
|
for (const root of collectAncestorRoots(projectRoot)) {
|
|
337
340
|
ordered.push({
|
|
338
341
|
source: 'project-secure',
|
|
339
|
-
path: this.options.secureProjectFilePath ??
|
|
342
|
+
path: this.options.secureProjectFilePath ?? resolveSurfaceDirectory(root, this.surfaceRoot, 'secrets.enc'),
|
|
340
343
|
secure: true,
|
|
341
344
|
scope: 'project',
|
|
342
345
|
});
|
|
343
346
|
ordered.push({
|
|
344
347
|
source: 'project-plaintext',
|
|
345
|
-
path: this.options.plaintextProjectFilePath ??
|
|
348
|
+
path: this.options.plaintextProjectFilePath ?? resolveSurfaceSharedFile(root, `${this.surfaceRoot}.secrets`, 'json'),
|
|
346
349
|
secure: false,
|
|
347
350
|
scope: 'project',
|
|
348
351
|
});
|
|
349
352
|
}
|
|
350
353
|
ordered.push({
|
|
351
354
|
source: 'user-secure',
|
|
352
|
-
path: this.options.secureUserFilePath ??
|
|
355
|
+
path: this.options.secureUserFilePath ?? resolveSurfaceDirectory(userHome, this.surfaceRoot, 'secrets.enc'),
|
|
353
356
|
secure: true,
|
|
354
357
|
scope: 'user',
|
|
355
358
|
});
|
|
356
359
|
ordered.push({
|
|
357
360
|
source: 'user-plaintext',
|
|
358
|
-
path: this.options.plaintextUserFilePath ??
|
|
361
|
+
path: this.options.plaintextUserFilePath ?? resolveSurfaceSharedFile(userHome, `${this.surfaceRoot}.secrets`, 'json'),
|
|
359
362
|
secure: false,
|
|
360
363
|
scope: 'user',
|
|
361
364
|
});
|
|
@@ -367,13 +370,13 @@ export class SecretsManager {
|
|
|
367
370
|
return medium === 'secure'
|
|
368
371
|
? {
|
|
369
372
|
source: 'project-secure',
|
|
370
|
-
path: this.options.secureProjectFilePath ??
|
|
373
|
+
path: this.options.secureProjectFilePath ?? resolveSurfaceDirectory(root, this.surfaceRoot, 'secrets.enc'),
|
|
371
374
|
secure: true,
|
|
372
375
|
scope,
|
|
373
376
|
}
|
|
374
377
|
: {
|
|
375
378
|
source: 'project-plaintext',
|
|
376
|
-
path: this.options.plaintextProjectFilePath ??
|
|
379
|
+
path: this.options.plaintextProjectFilePath ?? resolveSurfaceSharedFile(root, `${this.surfaceRoot}.secrets`, 'json'),
|
|
377
380
|
secure: false,
|
|
378
381
|
scope,
|
|
379
382
|
};
|
|
@@ -382,13 +385,13 @@ export class SecretsManager {
|
|
|
382
385
|
return medium === 'secure'
|
|
383
386
|
? {
|
|
384
387
|
source: 'user-secure',
|
|
385
|
-
path: this.options.secureUserFilePath ??
|
|
388
|
+
path: this.options.secureUserFilePath ?? resolveSurfaceDirectory(userHome, this.surfaceRoot, 'secrets.enc'),
|
|
386
389
|
secure: true,
|
|
387
390
|
scope,
|
|
388
391
|
}
|
|
389
392
|
: {
|
|
390
393
|
source: 'user-plaintext',
|
|
391
|
-
path: this.options.plaintextUserFilePath ??
|
|
394
|
+
path: this.options.plaintextUserFilePath ?? resolveSurfaceSharedFile(userHome, `${this.surfaceRoot}.secrets`, 'json'),
|
|
392
395
|
secure: false,
|
|
393
396
|
scope,
|
|
394
397
|
};
|
|
@@ -23,7 +23,7 @@ function readDaemonCliTokens(env) {
|
|
|
23
23
|
}
|
|
24
24
|
async function main() {
|
|
25
25
|
const { workingDirectory: workingDir, homeDirectory } = resolveDaemonCliOwnership();
|
|
26
|
-
const config = new ConfigManager({ workingDir, homeDir: homeDirectory });
|
|
26
|
+
const config = new ConfigManager({ workingDir, homeDir: homeDirectory, surfaceRoot: 'goodvibes' });
|
|
27
27
|
new GlobalNetworkTransportInstaller().install(config);
|
|
28
28
|
const runtimeBus = new RuntimeEventBus();
|
|
29
29
|
const runtimeStore = createRuntimeStore();
|
|
@@ -31,6 +31,7 @@ async function main() {
|
|
|
31
31
|
configManager: config,
|
|
32
32
|
runtimeBus,
|
|
33
33
|
runtimeStore,
|
|
34
|
+
surfaceRoot: 'goodvibes',
|
|
34
35
|
getConversationTitle: () => 'goodvibes daemon',
|
|
35
36
|
workingDir,
|
|
36
37
|
homeDirectory,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facade-composition.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/daemon/facade-composition.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"facade-composition.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/daemon/facade-composition.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,7 @@ export function resolveDaemonFacadeRuntime(config, fallbackConfigManager) {
|
|
|
34
34
|
configManager: resolvedConfigManager,
|
|
35
35
|
runtimeBus: ownedRuntimeBus,
|
|
36
36
|
runtimeStore: createRuntimeStore(),
|
|
37
|
+
surfaceRoot: 'goodvibes',
|
|
37
38
|
getConversationTitle: () => 'goodvibes daemon',
|
|
38
39
|
workingDir: ownedWorkingDir,
|
|
39
40
|
homeDirectory: ownedHomeDirectory,
|
|
@@ -6,7 +6,9 @@ export interface McpDiscoveryResult {
|
|
|
6
6
|
/** Number of locations scanned */
|
|
7
7
|
locationsScanned: number;
|
|
8
8
|
}
|
|
9
|
-
export type McpDiscoveryRoots = Pick<ShellPathService, 'workingDirectory' | 'homeDirectory'
|
|
9
|
+
export type McpDiscoveryRoots = Pick<ShellPathService, 'workingDirectory' | 'homeDirectory'> & {
|
|
10
|
+
readonly surfaceRoot: string;
|
|
11
|
+
};
|
|
10
12
|
/**
|
|
11
13
|
* Scan all common MCP server locations and return suggestions for
|
|
12
14
|
* servers not already registered in the given set of known server names.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-scanner.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/discovery/mcp-scanner.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-scanner.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/discovery/mcp-scanner.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAIlE,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,eAAe,CAAC,GAAG;IAC7F,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,CAAC;AA4KF;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,iBAAiB,EACxB,eAAe,GAAE,GAAG,CAAC,MAAM,CAAa,GACvC,OAAO,CAAC,kBAAkB,CAAC,CAiC7B"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Scan locations (in order):
|
|
8
8
|
* 1. Project .mcp/ directory — looks for mcp.json or index.js/index.ts scripts
|
|
9
|
-
* 2. ~/.goodvibes
|
|
9
|
+
* 2. ~/.goodvibes/<surface>/mcp/ — user-global MCP server definitions
|
|
10
10
|
* 3. Locally installed npx MCP packages (node_modules/.bin/@modelcontextprotocol/*)
|
|
11
11
|
*
|
|
12
12
|
* Returns suggested McpServerConfig[] for servers not already in the registry.
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
import { existsSync, readdirSync, statSync } from 'fs';
|
|
15
15
|
import { join } from 'path';
|
|
16
16
|
import { logger } from '../utils/logger.js';
|
|
17
|
+
import { requireSurfaceRoot } from '../runtime/surface-root.js';
|
|
17
18
|
import { summarizeError } from '../utils/error-display.js';
|
|
18
19
|
/**
|
|
19
20
|
* Well-known npx-installable MCP server package names.
|
|
@@ -111,13 +112,13 @@ function scanProjectMcpDir(roots, knownNames) {
|
|
|
111
112
|
return suggestions;
|
|
112
113
|
}
|
|
113
114
|
/**
|
|
114
|
-
* Scan ~/.goodvibes
|
|
115
|
+
* Scan ~/.goodvibes/<surface>/mcp/ for user-global server scripts.
|
|
115
116
|
* Looks for:
|
|
116
117
|
* - <name>/index.js, <name>/server.js, etc.
|
|
117
118
|
* - <name>.js, <name>.ts standalone scripts
|
|
118
119
|
*/
|
|
119
120
|
function scanGoodvibesMcpDir(roots, knownNames) {
|
|
120
|
-
const mcpDir = join(roots.homeDirectory, '.goodvibes', '
|
|
121
|
+
const mcpDir = join(roots.homeDirectory, '.goodvibes', requireSurfaceRoot(roots.surfaceRoot, 'MCP discovery surfaceRoot'), 'mcp');
|
|
121
122
|
if (!existsSync(mcpDir))
|
|
122
123
|
return [];
|
|
123
124
|
const suggestions = [];
|
|
@@ -157,7 +158,7 @@ function scanGoodvibesMcpDir(roots, knownNames) {
|
|
|
157
158
|
}
|
|
158
159
|
}
|
|
159
160
|
catch (err) {
|
|
160
|
-
logger.debug('[mcp-scanner] Failed to read
|
|
161
|
+
logger.debug('[mcp-scanner] Failed to read surface MCP directory', { error: summarizeError(err) });
|
|
161
162
|
}
|
|
162
163
|
return suggestions;
|
|
163
164
|
}
|
|
@@ -204,7 +205,7 @@ export async function scanMcpServers(roots, registeredNames = new Set()) {
|
|
|
204
205
|
// 1. Project .mcp/ directory
|
|
205
206
|
locationsScanned++;
|
|
206
207
|
addSuggestions(scanProjectMcpDir(roots, registeredNames));
|
|
207
|
-
// 2. ~/.goodvibes
|
|
208
|
+
// 2. ~/.goodvibes/<surface>/mcp/ user-global directory
|
|
208
209
|
locationsScanned++;
|
|
209
210
|
addSuggestions(scanGoodvibesMcpDir(roots, registeredNames));
|
|
210
211
|
// 3. Locally installed npx MCP packages
|
|
@@ -16,7 +16,9 @@ export interface ScanResult {
|
|
|
16
16
|
scannedPorts: number;
|
|
17
17
|
durationMs: number;
|
|
18
18
|
}
|
|
19
|
-
type DiscoveryRoots = Pick<ShellPathService, 'homeDirectory'
|
|
19
|
+
type DiscoveryRoots = Pick<ShellPathService, 'homeDirectory'> & {
|
|
20
|
+
readonly surfaceRoot: string;
|
|
21
|
+
};
|
|
20
22
|
/** Load previously discovered providers from disk. Returns empty array if file doesn't exist. */
|
|
21
23
|
export declare function loadPersistedProviders(roots: DiscoveryRoots): DiscoveredServer[];
|
|
22
24
|
/** Save discovered providers to disk. Merges with existing entries keyed by host:port. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/discovery/scanner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/discovery/scanner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAOlE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;AAEtJ,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,KAAK,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,GAAG;IAC9D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,CAAC;AAUF,iGAAiG;AACjG,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB,EAAE,CAiBhF;AAED,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI,CA+BzF;AAED,sEAAsE;AACtE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAcrH;AAoMD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA0KjC;AA4MD;;GAEG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACtD,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAkC7B;AAMD;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CASzD;AAED;;;GAGG;AACH,wBAAsB,IAAI,CACxB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACtD,OAAO,CAAC,UAAU,CAAC,CA8BrB"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { networkInterfaces } from 'node:os';
|
|
2
2
|
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
3
|
-
import {
|
|
3
|
+
import { dirname } from 'node:path';
|
|
4
4
|
import { logger } from '../utils/logger.js';
|
|
5
5
|
import { discoverContextWindows } from '../providers/context-discovery.js';
|
|
6
|
+
import { resolveSurfaceDirectory } from '../runtime/surface-root.js';
|
|
6
7
|
function getPersistedPath(roots) {
|
|
7
|
-
return
|
|
8
|
+
return resolveSurfaceDirectory(roots.homeDirectory, roots.surfaceRoot, 'discovered-providers.json');
|
|
8
9
|
}
|
|
9
10
|
/** Load previously discovered providers from disk. Returns empty array if file doesn't exist. */
|
|
10
11
|
export function loadPersistedProviders(roots) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keybindings.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/input/keybindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,sDAAsD;AACtD,MAAM,WAAW,QAAQ;IACvB,sFAAsF;IACtF,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,uCAAuC;AACvC,MAAM,MAAM,SAAS,GACjB,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,cAAc,GACd,aAAa,GACb,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,aAAa,GACb,uBAAuB,GACvB,qBAAqB,GACrB,WAAW,GACX,cAAc,GACd,MAAM,GACN,MAAM,GACN,OAAO,GACP,cAAc,CAAC;AAEnB,iFAAiF;AACjF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAuBzD,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,CAuB7D,CAAC;AAKF,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"keybindings.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/input/keybindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,sDAAsD;AACtD,MAAM,WAAW,QAAQ;IACvB,sFAAsF;IACtF,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,uCAAuC;AACvC,MAAM,MAAM,SAAS,GACjB,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,cAAc,GACd,aAAa,GACb,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,aAAa,GACb,uBAAuB,GACvB,qBAAqB,GACrB,WAAW,GACX,cAAc,GACd,MAAM,GACN,MAAM,GACN,OAAO,GACP,cAAc,CAAC;AAEnB,iFAAiF;AACjF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAuBzD,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,CAuB7D,CAAC;AAKF,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAgBD;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,EAAE,yBAAyB;IAM9C,OAAO,CAAC,aAAa;IAQrB;;;;OAIG;IACH,YAAY,IAAI,IAAI;IA4BpB,OAAO,CAAC,cAAc;IAQtB;;;;;;OAMG;IACH,OAAO,CACL,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9E,OAAO;IAMV,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACH,MAAM,IAAI,KAAK,CAAC;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ/E;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IAMxC;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IASpC,mCAAmC;IACnC,aAAa,IAAI,MAAM;CAGxB"}
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* Each value is a KeyCombo or an array of KeyCombos for multi-binding support.
|
|
14
14
|
*/
|
|
15
15
|
import { readFileSync, existsSync } from 'node:fs';
|
|
16
|
-
import { join } from 'node:path';
|
|
17
16
|
import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
|
|
17
|
+
import { resolveSurfaceDirectory } from '../runtime/surface-root.js';
|
|
18
18
|
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
|
|
19
19
|
/** Human-readable description for each action (used in /keybindings display). */
|
|
20
20
|
export const ACTION_DESCRIPTIONS = {
|
|
@@ -74,7 +74,10 @@ function resolveKeybindingsPath(options) {
|
|
|
74
74
|
if (!userRoot) {
|
|
75
75
|
throw new Error('KeybindingsManager requires configPath or an explicit userRoot/homeDirectory.');
|
|
76
76
|
}
|
|
77
|
-
|
|
77
|
+
if (!options?.surfaceRoot) {
|
|
78
|
+
throw new Error('KeybindingsManager requires surfaceRoot when deriving a config path.');
|
|
79
|
+
}
|
|
80
|
+
return resolveSurfaceDirectory(userRoot, options.surfaceRoot, 'keybindings.json');
|
|
78
81
|
}
|
|
79
82
|
/**
|
|
80
83
|
* KeybindingsManager — owns the resolved keybinding table.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/plugins/manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAmBjG;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,kCAAkC;IAClC,SAAS,EAAE,eAAe,CAAC;IAC3B,oDAAoD;IACpD,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5C,IAAI,IAAI,YAAY,EAAE,CAAC;IACvB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;QAC1B,EAAE,EAAE,OAAO,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,EAAE,eAAe,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,GAAG,IAAI,CAAC;IACT,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;IACtE,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;CAC3E;AAID,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,KAAK,CAAyF;IACtG,OAAO,CAAC,IAAI,CAA+B;IAE3C,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IACrD,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IACjE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,OAAO,EAAE,oBAAoB;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/plugins/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
2
|
-
import { dirname
|
|
2
|
+
import { dirname } from 'path';
|
|
3
3
|
import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
|
|
4
4
|
import { discoverPlugins, getPluginDirectories, loadPlugin, unloadPlugin, } from './loader.js';
|
|
5
5
|
import { PluginTrustStore, } from '../runtime/plugins/trust.js';
|
|
@@ -23,8 +23,10 @@ export class PluginManager {
|
|
|
23
23
|
stateFilePath;
|
|
24
24
|
constructor(options) {
|
|
25
25
|
this.pathOptions = options.pathOptions;
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
if (!options.stateFilePath) {
|
|
27
|
+
throw new Error('PluginManager requires an explicit stateFilePath.');
|
|
28
|
+
}
|
|
29
|
+
this.stateFilePath = options.stateFilePath;
|
|
28
30
|
}
|
|
29
31
|
/**
|
|
30
32
|
* init — Must be called once at startup with application dependencies.
|
|
@@ -18,6 +18,7 @@ export interface BackgroundProviderDiscoveryOptions {
|
|
|
18
18
|
restoreSavedModel: (providerRegistry: ProviderRegistry, savedModel: string, savedProvider: string, runtime: RuntimeSelectionState) => void;
|
|
19
19
|
systemMessageRouter: HostSystemMessageSink;
|
|
20
20
|
shellPaths: Pick<ShellPathService, 'workingDirectory' | 'homeDirectory'>;
|
|
21
|
+
surfaceRoot: string;
|
|
21
22
|
}
|
|
22
23
|
export declare function startBackgroundProviderDiscovery(options: BackgroundProviderDiscoveryOptions): void;
|
|
23
24
|
export interface BackgroundMcpDiscoveryOptions {
|
|
@@ -25,6 +26,7 @@ export interface BackgroundMcpDiscoveryOptions {
|
|
|
25
26
|
systemMessageRouter: HostSystemMessageSink;
|
|
26
27
|
requestRender: () => void;
|
|
27
28
|
shellPaths: Pick<ShellPathService, 'workingDirectory' | 'homeDirectory'>;
|
|
29
|
+
surfaceRoot: string;
|
|
28
30
|
}
|
|
29
31
|
export declare function scheduleBackgroundMcpDiscovery(options: BackgroundMcpDiscoveryOptions): void;
|
|
30
32
|
export declare const startBackgroundProviderRegistration: typeof startBackgroundProviderDiscovery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-background.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/bootstrap-background.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,kCAAkC;IACjD,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC3I,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap-background.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/bootstrap-background.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,kCAAkC;IACjD,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC3I,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,kCAAkC,GAC1C,IAAI,CA6FN;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAAC;IACzE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,6BAA6B,GAAG,IAAI,CAqB3F;AAED,eAAO,MAAM,mCAAmC,yCAAmC,CAAC;AACpF,eAAO,MAAM,wBAAwB,uCAAiC,CAAC"}
|