@pellux/goodvibes-sdk 0.18.17 → 0.18.18
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-runner.d.ts +5 -4
- package/dist/_internal/platform/agents/orchestrator-runner.d.ts.map +1 -1
- package/dist/_internal/platform/agents/orchestrator-runner.js +9 -8
- package/dist/_internal/platform/agents/orchestrator.d.ts.map +1 -1
- package/dist/_internal/platform/agents/orchestrator.js +1 -0
- package/dist/_internal/platform/agents/wrfc-controller.d.ts +2 -1
- package/dist/_internal/platform/agents/wrfc-controller.d.ts.map +1 -1
- package/dist/_internal/platform/agents/wrfc-controller.js +6 -6
- package/dist/_internal/platform/agents/wrfc-workmap.d.ts +4 -1
- package/dist/_internal/platform/agents/wrfc-workmap.d.ts.map +1 -1
- package/dist/_internal/platform/agents/wrfc-workmap.js +4 -2
- package/dist/_internal/platform/automation/schedules.js +1 -1
- package/dist/_internal/platform/bookmarks/manager.d.ts +1 -1
- package/dist/_internal/platform/bookmarks/manager.js +1 -1
- package/dist/_internal/platform/config/schema-domain-core.js +1 -1
- package/dist/_internal/platform/config/schema-domain-runtime.js +1 -1
- package/dist/_internal/platform/config/service-registry.d.ts +1 -1
- package/dist/_internal/platform/config/service-registry.js +1 -1
- package/dist/_internal/platform/config/subscription-providers.js +1 -1
- package/dist/_internal/platform/daemon/facade-composition.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/facade-composition.js +4 -0
- package/dist/_internal/platform/daemon/service-manager.d.ts +8 -0
- package/dist/_internal/platform/daemon/service-manager.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/service-manager.js +41 -27
- package/dist/_internal/platform/input/keybindings.d.ts +2 -1
- package/dist/_internal/platform/input/keybindings.d.ts.map +1 -1
- package/dist/_internal/platform/input/keybindings.js +2 -1
- package/dist/_internal/platform/intelligence/config.d.ts +1 -1
- package/dist/_internal/platform/intelligence/config.d.ts.map +1 -1
- package/dist/_internal/platform/intelligence/config.js +8 -4
- package/dist/_internal/platform/intelligence/facade.d.ts +1 -1
- package/dist/_internal/platform/intelligence/facade.js +2 -2
- package/dist/_internal/platform/profiles/manager.d.ts +1 -1
- package/dist/_internal/platform/profiles/manager.js +1 -1
- package/dist/_internal/platform/providers/anthropic-compat.d.ts +1 -1
- package/dist/_internal/platform/providers/anthropic-compat.js +1 -1
- package/dist/_internal/platform/providers/custom-loader.d.ts +1 -1
- package/dist/_internal/platform/providers/registry.d.ts +2 -2
- package/dist/_internal/platform/providers/registry.js +2 -2
- package/dist/_internal/platform/runtime/ecosystem/catalog.js +6 -6
- package/dist/_internal/platform/runtime/services.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/services.js +3 -2
- package/dist/_internal/platform/runtime/session-persistence.d.ts +1 -0
- package/dist/_internal/platform/runtime/session-persistence.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/session-persistence.js +4 -4
- package/dist/_internal/platform/runtime/surface-root.d.ts +2 -0
- package/dist/_internal/platform/runtime/surface-root.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/surface-root.js +8 -0
- package/dist/_internal/platform/runtime/worktree/registry.d.ts +5 -1
- package/dist/_internal/platform/runtime/worktree/registry.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/worktree/registry.js +20 -17
- package/dist/_internal/platform/scheduler/scheduler.d.ts +1 -1
- package/dist/_internal/platform/scheduler/scheduler.js +1 -1
- package/dist/_internal/platform/sessions/manager.d.ts +5 -2
- package/dist/_internal/platform/sessions/manager.d.ts.map +1 -1
- package/dist/_internal/platform/sessions/manager.js +4 -3
- package/dist/_internal/platform/tools/fetch/schema.d.ts +1 -1
- package/dist/_internal/platform/tools/fetch/schema.js +1 -1
- package/dist/_internal/platform/tools/index.js +6 -6
- package/dist/_internal/platform/tools/packet/index.d.ts +4 -1
- package/dist/_internal/platform/tools/packet/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/packet/index.js +5 -2
- package/dist/_internal/platform/tools/query/index.d.ts +4 -1
- package/dist/_internal/platform/tools/query/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/query/index.js +5 -2
- package/dist/_internal/platform/tools/registry-tool/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/registry-tool/index.js +2 -4
- package/dist/_internal/platform/tools/registry-tool/skill-loader.d.ts.map +1 -1
- package/dist/_internal/platform/tools/registry-tool/skill-loader.js +1 -2
- package/dist/_internal/platform/tools/team/index.d.ts +3 -0
- package/dist/_internal/platform/tools/team/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/team/index.js +124 -119
- package/dist/_internal/platform/tools/worklist/index.d.ts +3 -0
- package/dist/_internal/platform/tools/worklist/index.d.ts.map +1 -1
- package/dist/_internal/platform/tools/worklist/index.js +108 -103
- package/dist/_internal/platform/watchers/store.d.ts.map +1 -1
- package/dist/_internal/platform/watchers/store.js +3 -2
- package/package.json +1 -1
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Per-language configuration for CodeIntelligence.
|
|
3
3
|
*
|
|
4
4
|
* Config is loaded from (in priority order, higher overrides lower):
|
|
5
|
-
* 1.
|
|
6
|
-
* 2.
|
|
5
|
+
* 1. configured project languages/{langId}.json path
|
|
6
|
+
* 2. configured user languages/{langId}.json path
|
|
7
7
|
* 3. Built-in defaults (this file)
|
|
8
8
|
*/
|
|
9
9
|
import { existsSync, readFileSync } from 'fs';
|
|
@@ -88,8 +88,12 @@ function readConfigFile(filePath) {
|
|
|
88
88
|
*/
|
|
89
89
|
export function loadLanguageConfigs(roots) {
|
|
90
90
|
const result = getDefaultConfigs();
|
|
91
|
-
const userDir =
|
|
92
|
-
|
|
91
|
+
const userDir = roots.resolveUserPath
|
|
92
|
+
? roots.resolveUserPath('languages')
|
|
93
|
+
: join(roots.homeDirectory, '.goodvibes', 'languages');
|
|
94
|
+
const projectDir = roots.resolveProjectPath
|
|
95
|
+
? roots.resolveProjectPath('languages')
|
|
96
|
+
: join(roots.workingDirectory, '.goodvibes', 'languages');
|
|
93
97
|
// Collect all known language IDs (from defaults + scan would go here).
|
|
94
98
|
// For now we apply overrides only for IDs we already know about.
|
|
95
99
|
for (const [langId, defaultCfg] of result.entries()) {
|
|
@@ -32,7 +32,7 @@ export declare class CodeIntelligence {
|
|
|
32
32
|
/**
|
|
33
33
|
* Initialize all services. Call once at startup.
|
|
34
34
|
* Loads language configs and registers LSP server commands with LspService
|
|
35
|
-
* so that user/project overrides in
|
|
35
|
+
* so that user/project overrides in the configured languages directory are respected.
|
|
36
36
|
*/
|
|
37
37
|
initialize(): Promise<void>;
|
|
38
38
|
/** Shutdown all owned services for this facade instance. */
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - LSP is optional; falls back to tree-sitter where possible.
|
|
7
7
|
* - Tree-sitter is optional; falls back to empty arrays/null.
|
|
8
8
|
* - On initialization, language configs are read and registered with LspService
|
|
9
|
-
* so user/project overrides in
|
|
9
|
+
* so user/project overrides in the configured languages directory take effect.
|
|
10
10
|
*/
|
|
11
11
|
import { resolve } from 'path';
|
|
12
12
|
import { pathToFileURL, fileURLToPath } from 'url';
|
|
@@ -52,7 +52,7 @@ export class CodeIntelligence {
|
|
|
52
52
|
/**
|
|
53
53
|
* Initialize all services. Call once at startup.
|
|
54
54
|
* Loads language configs and registers LSP server commands with LspService
|
|
55
|
-
* so that user/project overrides in
|
|
55
|
+
* so that user/project overrides in the configured languages directory are respected.
|
|
56
56
|
*/
|
|
57
57
|
async initialize() {
|
|
58
58
|
if (!this.shellPaths) {
|
|
@@ -19,7 +19,7 @@ export interface ProfileInfo {
|
|
|
19
19
|
/**
|
|
20
20
|
* ProfileManager - Save and load named SDK host config profiles.
|
|
21
21
|
*
|
|
22
|
-
* Profiles are stored as JSON files in
|
|
22
|
+
* Profiles are stored as JSON files in the configured profile directory.
|
|
23
23
|
* Only host-surface settings (display, provider, behavior categories) are saved;
|
|
24
24
|
* permissions and API keys are never included.
|
|
25
25
|
*/
|
|
@@ -5,7 +5,7 @@ import { summarizeError } from '../utils/error-display.js';
|
|
|
5
5
|
/**
|
|
6
6
|
* ProfileManager - Save and load named SDK host config profiles.
|
|
7
7
|
*
|
|
8
|
-
* Profiles are stored as JSON files in
|
|
8
|
+
* Profiles are stored as JSON files in the configured profile directory.
|
|
9
9
|
* Only host-surface settings (display, provider, behavior categories) are saved;
|
|
10
10
|
* permissions and API keys are never included.
|
|
11
11
|
*/
|
|
@@ -36,7 +36,7 @@ export interface AnthropicCompatOptions {
|
|
|
36
36
|
* Anthropic Messages API spec.
|
|
37
37
|
*
|
|
38
38
|
* Configured via a custom provider JSON file with `"type": "anthropic-compat"`
|
|
39
|
-
* in
|
|
39
|
+
* in the configured providers directory.
|
|
40
40
|
*/
|
|
41
41
|
export declare class AnthropicCompatProvider implements LLMProvider {
|
|
42
42
|
readonly name: string;
|
|
@@ -12,7 +12,7 @@ const ANTHROPIC_API_VERSION = '2023-06-01';
|
|
|
12
12
|
* Anthropic Messages API spec.
|
|
13
13
|
*
|
|
14
14
|
* Configured via a custom provider JSON file with `"type": "anthropic-compat"`
|
|
15
|
-
* in
|
|
15
|
+
* in the configured providers directory.
|
|
16
16
|
*/
|
|
17
17
|
export class AnthropicCompatProvider {
|
|
18
18
|
name;
|
|
@@ -4,7 +4,7 @@ import type { ModelDefinition } from './registry.js';
|
|
|
4
4
|
import { LocalContextIngestionService } from '@pellux/goodvibes-sdk/platform/providers/local-context-ingestion';
|
|
5
5
|
/**
|
|
6
6
|
* JSON schema for a custom provider configuration file.
|
|
7
|
-
* Place a *.json file in
|
|
7
|
+
* Place a *.json file in the configured providers directory to define a custom provider.
|
|
8
8
|
*/
|
|
9
9
|
export interface CustomProviderConfig {
|
|
10
10
|
/** Unique provider identifier, e.g. 'ollama' */
|
|
@@ -112,7 +112,7 @@ export declare class ProviderRegistry {
|
|
|
112
112
|
/** Switch to a different model. Accepts registryKey or plain modelId. Throws if not selectable. */
|
|
113
113
|
setCurrentModel(modelId: string): void;
|
|
114
114
|
/**
|
|
115
|
-
* Load custom providers from
|
|
115
|
+
* Load custom providers from the configured providers directory and merge them
|
|
116
116
|
* into the live model registry. Returns any warnings collected during loading.
|
|
117
117
|
* Call this after construction to populate custom providers.
|
|
118
118
|
*/
|
|
@@ -123,7 +123,7 @@ export declare class ProviderRegistry {
|
|
|
123
123
|
updated: string[];
|
|
124
124
|
}>;
|
|
125
125
|
/**
|
|
126
|
-
* Start watching
|
|
126
|
+
* Start watching the configured providers directory for file changes.
|
|
127
127
|
* On change, reloads custom providers and emits typed provider runtime events.
|
|
128
128
|
* Safe to call multiple times — stops the previous watcher first.
|
|
129
129
|
*/
|
|
@@ -403,7 +403,7 @@ export class ProviderRegistry {
|
|
|
403
403
|
this.currentModelId = def.registryKey ?? modelId;
|
|
404
404
|
}
|
|
405
405
|
/**
|
|
406
|
-
* Load custom providers from
|
|
406
|
+
* Load custom providers from the configured providers directory and merge them
|
|
407
407
|
* into the live model registry. Returns any warnings collected during loading.
|
|
408
408
|
* Call this after construction to populate custom providers.
|
|
409
409
|
*/
|
|
@@ -453,7 +453,7 @@ export class ProviderRegistry {
|
|
|
453
453
|
return { warnings: result.warnings, added, removed, updated };
|
|
454
454
|
}
|
|
455
455
|
/**
|
|
456
|
-
* Start watching
|
|
456
|
+
* Start watching the configured providers directory for file changes.
|
|
457
457
|
* On change, reloads custom providers and emits typed provider runtime events.
|
|
458
458
|
* Safe to call multiple times — stops the previous watcher first.
|
|
459
459
|
*/
|
|
@@ -4,13 +4,13 @@ import { dirname, join, resolve } from 'node:path';
|
|
|
4
4
|
import { VERSION } from '../../version.js';
|
|
5
5
|
function catalogPath(kind, cwd, homeDir, scope) {
|
|
6
6
|
return scope === 'project'
|
|
7
|
-
? join(cwd, '.goodvibes', '
|
|
8
|
-
: join(homeDir, '.goodvibes', '
|
|
7
|
+
? join(cwd, '.goodvibes', 'ecosystem', `${kind}s.json`)
|
|
8
|
+
: join(homeDir, '.goodvibes', 'ecosystem', `${kind}s.json`);
|
|
9
9
|
}
|
|
10
10
|
function catalogPaths(kind, cwd, homeDir) {
|
|
11
11
|
return [
|
|
12
|
-
join(cwd, '.goodvibes', '
|
|
13
|
-
join(homeDir, '.goodvibes', '
|
|
12
|
+
join(cwd, '.goodvibes', 'ecosystem', `${kind}s.json`),
|
|
13
|
+
join(homeDir, '.goodvibes', 'ecosystem', `${kind}s.json`),
|
|
14
14
|
];
|
|
15
15
|
}
|
|
16
16
|
function installedRoot(kind, cwd, homeDir, scope) {
|
|
@@ -30,8 +30,8 @@ function installedRoot(kind, cwd, homeDir, scope) {
|
|
|
30
30
|
}
|
|
31
31
|
function installedReceiptsRoot(cwd, homeDir, scope) {
|
|
32
32
|
return scope === 'project'
|
|
33
|
-
? join(cwd, '.goodvibes', '
|
|
34
|
-
: join(homeDir, '.goodvibes', '
|
|
33
|
+
? join(cwd, '.goodvibes', 'ecosystem', 'installed')
|
|
34
|
+
: join(homeDir, '.goodvibes', 'ecosystem', 'installed');
|
|
35
35
|
}
|
|
36
36
|
function receiptPath(kind, entryId, cwd, homeDir, scope) {
|
|
37
37
|
const base = installedReceiptsRoot(cwd, homeDir, scope);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/services.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/services.ts"],"names":[],"mappings":"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"}
|
|
@@ -134,7 +134,7 @@ export function createRuntimeServices(options) {
|
|
|
134
134
|
});
|
|
135
135
|
const profileManager = new ProfileManager(shellPaths.resolveUserPath(surfaceRoot, 'profiles'));
|
|
136
136
|
const bookmarkManager = new BookmarkManager(shellPaths.resolveUserPath(surfaceRoot, 'bookmarks'));
|
|
137
|
-
const sessionManager = new SessionManager(workingDirectory);
|
|
137
|
+
const sessionManager = new SessionManager(workingDirectory, { surfaceRoot });
|
|
138
138
|
const sessionOrchestration = new CrossSessionTaskRegistry(shellPaths.resolveProjectPath(surfaceRoot, 'sessions', 'task-graph.json'));
|
|
139
139
|
const hookActivityTracker = new HookActivityTracker();
|
|
140
140
|
const watcherRegistry = new WatcherRegistry({
|
|
@@ -162,6 +162,7 @@ export function createRuntimeServices(options) {
|
|
|
162
162
|
agentManager,
|
|
163
163
|
configManager,
|
|
164
164
|
projectRoot: workingDirectory,
|
|
165
|
+
surfaceRoot,
|
|
165
166
|
});
|
|
166
167
|
agentManager.setWrfcController(wrfcController);
|
|
167
168
|
const hookDispatcher = new HookDispatcher({ agentManager, toolLLM, projectRoot: workingDirectory }, hookActivityTracker);
|
|
@@ -289,7 +290,7 @@ export function createRuntimeServices(options) {
|
|
|
289
290
|
mcpRegistry.setSandboxRuntime(configManager, sandboxSessionRegistry);
|
|
290
291
|
const tokenAuditor = new ApiTokenAuditor({ managed: false });
|
|
291
292
|
const panelHealthMonitor = new PanelHealthMonitor();
|
|
292
|
-
const worktreeRegistry = new WorktreeRegistry(workingDirectory);
|
|
293
|
+
const worktreeRegistry = new WorktreeRegistry(workingDirectory, { surfaceRoot });
|
|
293
294
|
const webhookNotifier = new WebhookNotifier();
|
|
294
295
|
const replayEngine = new DeterministicReplayEngine(workingDirectory);
|
|
295
296
|
const providerOptimizer = new ProviderOptimizer(providerRegistry, providerCapabilityRegistry, false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-persistence.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/session-persistence.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAoB,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-persistence.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/session-persistence.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAoB,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAIvE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,aAAa,CAAC,EAAE,2BAA2B,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,2BAA2B,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAgCF,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,yBAAyB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAK,EACV,OAAO,CAAC,EAAE,yBAAyB,GAClC,IAAI,CAeN;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAK,EACV,OAAO,CAAC,EAAE,yBAAyB,GAClC,IAAI,CAGN;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAapG;AAED,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,MAAM,GAAG,IAAI,CAWzF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,eAAe,GAAG,IAAI,CAYhG;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,MAAM,EACjB,KAAK,SAAK,EACV,OAAO,CAAC,EAAE,yBAAyB,GAClC,IAAI,CA2BN;AAED,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAO5E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,gBAAgB,GAAG,IAAI,CAmC9F;AAED,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,eAAe,GAAG,IAAI,CA6CpG"}
|
|
@@ -4,7 +4,7 @@ import { dirname, join } from 'path';
|
|
|
4
4
|
import { SessionManager } from '../sessions/manager.js';
|
|
5
5
|
import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
|
|
6
6
|
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
|
|
7
|
-
|
|
7
|
+
import { resolveScopedDirectory } from './surface-root.js';
|
|
8
8
|
function requireWorkingDirectory(options) {
|
|
9
9
|
const workingDirectory = options?.workingDirectory;
|
|
10
10
|
if (!workingDirectory) {
|
|
@@ -29,16 +29,16 @@ function resolveSessionManager(options) {
|
|
|
29
29
|
if (options?.sessionManager) {
|
|
30
30
|
return options.sessionManager;
|
|
31
31
|
}
|
|
32
|
-
return new SessionManager(requireWorkingDirectory(options));
|
|
32
|
+
return new SessionManager(requireWorkingDirectory(options), { surfaceRoot: options?.surfaceRoot });
|
|
33
33
|
}
|
|
34
34
|
export function getUserSessionsDir(workingDirectory) {
|
|
35
|
-
return
|
|
35
|
+
return resolveScopedDirectory(workingDirectory, undefined, 'sessions');
|
|
36
36
|
}
|
|
37
37
|
export function getLastSessionPointerPath(workingDirectory) {
|
|
38
38
|
return join(getUserSessionsDir(workingDirectory), 'last-session.json');
|
|
39
39
|
}
|
|
40
40
|
export function getRecoveryFilePath(homeDirectory) {
|
|
41
|
-
return
|
|
41
|
+
return resolveScopedDirectory(homeDirectory, undefined, 'recovery.jsonl');
|
|
42
42
|
}
|
|
43
43
|
export function generateUserSessionId() {
|
|
44
44
|
return randomBytes(4).toString('hex');
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export declare function requireSurfaceRoot(surfaceRoot: string, source?: string): string;
|
|
2
2
|
export declare function resolveSurfaceDirectory(baseDirectory: string, surfaceRoot: string, ...segments: string[]): string;
|
|
3
3
|
export declare function resolveSurfaceSharedFile(baseDirectory: string, surfaceRoot: string, extension?: string): string;
|
|
4
|
+
export declare function resolveSharedDirectory(baseDirectory: string, ...segments: string[]): string;
|
|
5
|
+
export declare function resolveScopedDirectory(baseDirectory: string, surfaceRoot: string | undefined, ...segments: string[]): string;
|
|
4
6
|
//# sourceMappingURL=surface-root.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface-root.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/surface-root.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,SAAgB,GAAG,MAAM,CAMtF;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAEjH;AAED,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,SAAS,GAAG,MAAM,CAE/G"}
|
|
1
|
+
{"version":3,"file":"surface-root.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/surface-root.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,SAAgB,GAAG,MAAM,CAMtF;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAEjH;AAED,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,SAAS,GAAG,MAAM,CAE/G;AAED,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAE3F;AAED,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,GAAG,QAAQ,EAAE,MAAM,EAAE,GACpB,MAAM,CAIR"}
|
|
@@ -12,3 +12,11 @@ export function resolveSurfaceDirectory(baseDirectory, surfaceRoot, ...segments)
|
|
|
12
12
|
export function resolveSurfaceSharedFile(baseDirectory, surfaceRoot, extension = 'json') {
|
|
13
13
|
return join(baseDirectory, '.goodvibes', `${requireSurfaceRoot(surfaceRoot)}.${extension}`);
|
|
14
14
|
}
|
|
15
|
+
export function resolveSharedDirectory(baseDirectory, ...segments) {
|
|
16
|
+
return join(baseDirectory, '.goodvibes', ...segments);
|
|
17
|
+
}
|
|
18
|
+
export function resolveScopedDirectory(baseDirectory, surfaceRoot, ...segments) {
|
|
19
|
+
return surfaceRoot && surfaceRoot.trim().length > 0
|
|
20
|
+
? resolveSurfaceDirectory(baseDirectory, surfaceRoot, ...segments)
|
|
21
|
+
: resolveSharedDirectory(baseDirectory, ...segments);
|
|
22
|
+
}
|
|
@@ -39,6 +39,7 @@ export interface WorktreeAttachmentReview {
|
|
|
39
39
|
}
|
|
40
40
|
export interface WorktreeRegistryPaths {
|
|
41
41
|
readonly workingDirectory: string;
|
|
42
|
+
readonly surfaceRoot?: string;
|
|
42
43
|
}
|
|
43
44
|
export declare function listPersistedWorktreeMeta(options: WorktreeRegistryPaths): ManagedWorktreeMeta[];
|
|
44
45
|
export declare function getPersistedWorktreeMeta(path: string, options: WorktreeRegistryPaths): ManagedWorktreeMeta | null;
|
|
@@ -47,7 +48,10 @@ export declare function summarizeWorktreeOwnership(records: readonly ManagedWork
|
|
|
47
48
|
export declare class WorktreeRegistry {
|
|
48
49
|
private readonly git;
|
|
49
50
|
private readonly workingDirectory;
|
|
50
|
-
|
|
51
|
+
private readonly surfaceRoot?;
|
|
52
|
+
constructor(workingDirectory: string, options?: {
|
|
53
|
+
readonly surfaceRoot?: string;
|
|
54
|
+
});
|
|
51
55
|
list(): Promise<WorktreeStatusRecord[]>;
|
|
52
56
|
attach(path: string, target: {
|
|
53
57
|
sessionId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/worktree/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/worktree/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { dirname, isAbsolute, join, resolve } from 'node:path';
|
|
3
3
|
import { GitService } from '../../git/service.js';
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import { resolveScopedDirectory } from '../surface-root.js';
|
|
5
|
+
function getStorePath(workingDirectory, surfaceRoot) {
|
|
6
|
+
return resolveScopedDirectory(workingDirectory, surfaceRoot, 'worktrees.json');
|
|
6
7
|
}
|
|
7
8
|
function defaultStore() {
|
|
8
9
|
return { version: 1, records: {} };
|
|
@@ -10,20 +11,21 @@ function defaultStore() {
|
|
|
10
11
|
function normalizePath(path, workingDirectory) {
|
|
11
12
|
return resolve(workingDirectory, path);
|
|
12
13
|
}
|
|
13
|
-
function readStore(
|
|
14
|
+
function readStore(storePath) {
|
|
14
15
|
try {
|
|
15
|
-
return JSON.parse(readFileSync(
|
|
16
|
+
return JSON.parse(readFileSync(storePath, 'utf-8'));
|
|
16
17
|
}
|
|
17
18
|
catch {
|
|
18
19
|
return defaultStore();
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
export function listPersistedWorktreeMeta(options) {
|
|
22
|
-
return Object.values(readStore(options.workingDirectory
|
|
23
|
+
return Object.values(readStore(getStorePath(options.workingDirectory, options.surfaceRoot)).records)
|
|
24
|
+
.sort((a, b) => a.path.localeCompare(b.path));
|
|
23
25
|
}
|
|
24
26
|
export function getPersistedWorktreeMeta(path, options) {
|
|
25
27
|
const normalized = normalizePath(path, options.workingDirectory);
|
|
26
|
-
return readStore(options.workingDirectory).records[normalized] ?? null;
|
|
28
|
+
return readStore(getStorePath(options.workingDirectory, options.surfaceRoot)).records[normalized] ?? null;
|
|
27
29
|
}
|
|
28
30
|
export function reviewWorktreeAttachments(targetKind, targetId, options) {
|
|
29
31
|
const records = listPersistedWorktreeMeta(options).filter((record) => (targetKind === 'session' ? record.sessionId === targetId : record.taskId === targetId));
|
|
@@ -75,8 +77,7 @@ export function summarizeWorktreeOwnership(records) {
|
|
|
75
77
|
manualOwned: 0,
|
|
76
78
|
});
|
|
77
79
|
}
|
|
78
|
-
function writeStore(store,
|
|
79
|
-
const storePath = getStorePath(workingDirectory);
|
|
80
|
+
function writeStore(store, storePath) {
|
|
80
81
|
mkdirSync(dirname(storePath), { recursive: true });
|
|
81
82
|
writeFileSync(storePath, `${JSON.stringify(store, null, 2)}\n`, 'utf-8');
|
|
82
83
|
}
|
|
@@ -94,12 +95,14 @@ function classifyWorktreePath(path, workingDirectory) {
|
|
|
94
95
|
export class WorktreeRegistry {
|
|
95
96
|
git;
|
|
96
97
|
workingDirectory;
|
|
97
|
-
|
|
98
|
+
surfaceRoot;
|
|
99
|
+
constructor(workingDirectory, options) {
|
|
98
100
|
this.workingDirectory = workingDirectory;
|
|
101
|
+
this.surfaceRoot = options?.surfaceRoot;
|
|
99
102
|
this.git = new GitService(workingDirectory);
|
|
100
103
|
}
|
|
101
104
|
async list() {
|
|
102
|
-
const store = readStore(this.workingDirectory);
|
|
105
|
+
const store = readStore(getStorePath(this.workingDirectory, this.surfaceRoot));
|
|
103
106
|
const listed = await this.git.worktreeList();
|
|
104
107
|
const present = new Set(listed.map((entry) => normalizePath(entry.path, this.workingDirectory)));
|
|
105
108
|
const records = listed.map((entry) => {
|
|
@@ -134,11 +137,11 @@ export class WorktreeRegistry {
|
|
|
134
137
|
if (!present.has(path) && meta.state === 'kept')
|
|
135
138
|
nextRecords[path] = meta;
|
|
136
139
|
}
|
|
137
|
-
writeStore({ version: 1, records: nextRecords }, this.workingDirectory);
|
|
140
|
+
writeStore({ version: 1, records: nextRecords }, getStorePath(this.workingDirectory, this.surfaceRoot));
|
|
138
141
|
return records.sort((a, b) => a.path.localeCompare(b.path));
|
|
139
142
|
}
|
|
140
143
|
attach(path, target) {
|
|
141
|
-
const store = readStore(this.workingDirectory);
|
|
144
|
+
const store = readStore(getStorePath(this.workingDirectory, this.surfaceRoot));
|
|
142
145
|
const normalized = normalizePath(path, this.workingDirectory);
|
|
143
146
|
const existing = store.records[normalized];
|
|
144
147
|
const classified = classifyWorktreePath(normalized, this.workingDirectory);
|
|
@@ -151,10 +154,10 @@ export class WorktreeRegistry {
|
|
|
151
154
|
...(target.taskId ? { taskId: target.taskId } : {}),
|
|
152
155
|
updatedAt: Date.now(),
|
|
153
156
|
};
|
|
154
|
-
writeStore(store, this.workingDirectory);
|
|
157
|
+
writeStore(store, getStorePath(this.workingDirectory, this.surfaceRoot));
|
|
155
158
|
}
|
|
156
159
|
setState(path, state) {
|
|
157
|
-
const store = readStore(this.workingDirectory);
|
|
160
|
+
const store = readStore(getStorePath(this.workingDirectory, this.surfaceRoot));
|
|
158
161
|
const normalized = normalizePath(path, this.workingDirectory);
|
|
159
162
|
const existing = store.records[normalized];
|
|
160
163
|
const classified = classifyWorktreePath(normalized, this.workingDirectory);
|
|
@@ -167,13 +170,13 @@ export class WorktreeRegistry {
|
|
|
167
170
|
...(existing?.taskId ? { taskId: existing.taskId } : {}),
|
|
168
171
|
updatedAt: Date.now(),
|
|
169
172
|
};
|
|
170
|
-
writeStore(store, this.workingDirectory);
|
|
173
|
+
writeStore(store, getStorePath(this.workingDirectory, this.surfaceRoot));
|
|
171
174
|
}
|
|
172
175
|
async cleanup(path) {
|
|
173
176
|
const normalized = isAbsolute(path) ? path : normalizePath(path, this.workingDirectory);
|
|
174
177
|
await this.git.worktreeRemove(normalized);
|
|
175
|
-
const store = readStore(this.workingDirectory);
|
|
178
|
+
const store = readStore(getStorePath(this.workingDirectory, this.surfaceRoot));
|
|
176
179
|
delete store.records[normalized];
|
|
177
|
-
writeStore(store, this.workingDirectory);
|
|
180
|
+
writeStore(store, getStorePath(this.workingDirectory, this.surfaceRoot));
|
|
178
181
|
}
|
|
179
182
|
}
|
|
@@ -31,7 +31,7 @@ interface TaskSchedulerConfig {
|
|
|
31
31
|
/**
|
|
32
32
|
* TaskScheduler — cron-like task scheduler that runs inside the daemon.
|
|
33
33
|
*
|
|
34
|
-
* Tasks persist to disk
|
|
34
|
+
* Tasks persist to disk through the configured scheduler store path and survive restarts.
|
|
35
35
|
* Task execution requires an explicit spawnTask callback so runs stay owned by the caller.
|
|
36
36
|
*/
|
|
37
37
|
export declare class TaskScheduler {
|
|
@@ -316,7 +316,7 @@ function countMissedRuns(expr, fromMs, toMs, timezone) {
|
|
|
316
316
|
/**
|
|
317
317
|
* TaskScheduler — cron-like task scheduler that runs inside the daemon.
|
|
318
318
|
*
|
|
319
|
-
* Tasks persist to disk
|
|
319
|
+
* Tasks persist to disk through the configured scheduler store path and survive restarts.
|
|
320
320
|
* Task execution requires an explicit spawnTask callback so runs stay owned by the caller.
|
|
321
321
|
*/
|
|
322
322
|
export class TaskScheduler {
|
|
@@ -28,7 +28,7 @@ export interface SessionInfo {
|
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* SessionManager - Handles saving and loading named conversation sessions
|
|
31
|
-
* as JSONL files under .
|
|
31
|
+
* as JSONL files under the configured surface session directory.
|
|
32
32
|
*
|
|
33
33
|
* Format: each line is a JSON object.
|
|
34
34
|
* Line 0: { type: 'meta', ...SessionMeta }
|
|
@@ -36,7 +36,10 @@ export interface SessionInfo {
|
|
|
36
36
|
*/
|
|
37
37
|
export declare class SessionManager {
|
|
38
38
|
private sessionsDir;
|
|
39
|
-
constructor(baseDir: string
|
|
39
|
+
constructor(baseDir: string, options?: {
|
|
40
|
+
readonly surfaceRoot?: string;
|
|
41
|
+
readonly sessionsDir?: string;
|
|
42
|
+
});
|
|
40
43
|
/**
|
|
41
44
|
* Save conversation messages to a JSONL session file.
|
|
42
45
|
* Overwrites if file already exists.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/sessions/manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/sessions/manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAIvE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,aAAa,CAAC,EAAE,2BAA2B,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,aAAa,CAAC,EAAE,2BAA2B,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAIvG;;;;OAIG;IACH,IAAI,CACF,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAAE,EAClB,IAAI,EAAE,WAAW,EACjB,YAAY,CAAC,EAAE,WAAW,EAAE,GAC3B;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAuC9C;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,EAAE,WAAW,EAAE,CAAA;KAAE;IAwD1F;;OAEG;IACH,IAAI,IAAI,WAAW,EAAE;IAoFrB;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IA4BzC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAoB5C;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAY1B;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAiD9F;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CASnC"}
|
|
@@ -2,9 +2,10 @@ import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync, unlink
|
|
|
2
2
|
import { join } from 'path';
|
|
3
3
|
import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
|
|
4
4
|
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
|
|
5
|
+
import { resolveScopedDirectory } from '../runtime/surface-root.js';
|
|
5
6
|
/**
|
|
6
7
|
* SessionManager - Handles saving and loading named conversation sessions
|
|
7
|
-
* as JSONL files under .
|
|
8
|
+
* as JSONL files under the configured surface session directory.
|
|
8
9
|
*
|
|
9
10
|
* Format: each line is a JSON object.
|
|
10
11
|
* Line 0: { type: 'meta', ...SessionMeta }
|
|
@@ -12,8 +13,8 @@ import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-displ
|
|
|
12
13
|
*/
|
|
13
14
|
export class SessionManager {
|
|
14
15
|
sessionsDir;
|
|
15
|
-
constructor(baseDir) {
|
|
16
|
-
this.sessionsDir =
|
|
16
|
+
constructor(baseDir, options) {
|
|
17
|
+
this.sessionsDir = options?.sessionsDir ?? resolveScopedDirectory(baseDir, options?.surfaceRoot, 'sessions');
|
|
17
18
|
}
|
|
18
19
|
/**
|
|
19
20
|
* Save conversation messages to a JSONL session file.
|
|
@@ -84,7 +84,7 @@ export declare const FETCH_TOOL_SCHEMA: {
|
|
|
84
84
|
};
|
|
85
85
|
readonly service: {
|
|
86
86
|
readonly type: "string";
|
|
87
|
-
readonly description: "Named service for automatic credential lookup from the service registry. Services are configured in
|
|
87
|
+
readonly description: "Named service for automatic credential lookup from the service registry. Services are configured in the host services.json file. Use the registry tool or inspect that registry to discover available service names.";
|
|
88
88
|
};
|
|
89
89
|
readonly auth: {
|
|
90
90
|
readonly type: "object";
|
|
@@ -90,7 +90,7 @@ export const FETCH_TOOL_SCHEMA = {
|
|
|
90
90
|
},
|
|
91
91
|
service: {
|
|
92
92
|
type: 'string',
|
|
93
|
-
description: 'Named service for automatic credential lookup from the service registry. Services are configured in
|
|
93
|
+
description: 'Named service for automatic credential lookup from the service registry. Services are configured in the host services.json file. Use the registry tool or inspect that registry to discover available service names.',
|
|
94
94
|
},
|
|
95
95
|
auth: {
|
|
96
96
|
type: 'object',
|
|
@@ -19,8 +19,8 @@ import { createWorkflowServices, createWorkflowTool } from '@pellux/goodvibes-sd
|
|
|
19
19
|
import { createRegistryTool } from '@pellux/goodvibes-sdk/platform/tools/registry-tool/index';
|
|
20
20
|
import { KVState } from '@pellux/goodvibes-sdk/platform/state/kv-state';
|
|
21
21
|
import { createTaskTool } from '@pellux/goodvibes-sdk/platform/tools/task/index';
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
22
|
+
import { createTeamTool } from '@pellux/goodvibes-sdk/platform/tools/team/index';
|
|
23
|
+
import { createWorklistTool } from '@pellux/goodvibes-sdk/platform/tools/worklist/index';
|
|
24
24
|
import { createMcpTool } from './mcp/index.js';
|
|
25
25
|
import { createPacketTool } from '@pellux/goodvibes-sdk/platform/tools/packet/index';
|
|
26
26
|
import { createQueryTool } from '@pellux/goodvibes-sdk/platform/tools/query/index';
|
|
@@ -129,13 +129,13 @@ export function registerAllTools(registry, deps) {
|
|
|
129
129
|
homeDirectory: deps.configManager.getHomeDirectory() ?? undefined,
|
|
130
130
|
}));
|
|
131
131
|
registry.register(createTaskTool(sessionOrchestration));
|
|
132
|
-
registry.register(
|
|
133
|
-
registry.register(
|
|
132
|
+
registry.register(createTeamTool({ surfaceRoot: deps.surfaceRoot }));
|
|
133
|
+
registry.register(createWorklistTool({ surfaceRoot: deps.surfaceRoot }));
|
|
134
134
|
if (mcpRegistry) {
|
|
135
135
|
registry.register(createMcpTool(mcpRegistry));
|
|
136
136
|
}
|
|
137
|
-
registry.register(createPacketTool(workingDirectory));
|
|
138
|
-
registry.register(createQueryTool(workingDirectory));
|
|
137
|
+
registry.register(createPacketTool({ workingDirectory, surfaceRoot: deps.surfaceRoot }));
|
|
138
|
+
registry.register(createQueryTool({ workingDirectory, surfaceRoot: deps.surfaceRoot }));
|
|
139
139
|
if (remoteRunnerRegistry) {
|
|
140
140
|
registry.register(createRemoteTool(remoteRunnerRegistry));
|
|
141
141
|
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import type { Tool } from '../../types/tools.js';
|
|
2
|
-
export declare function createPacketTool(
|
|
2
|
+
export declare function createPacketTool(options: string | {
|
|
3
|
+
readonly workingDirectory: string;
|
|
4
|
+
readonly surfaceRoot?: string;
|
|
5
|
+
}): Tool;
|
|
3
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/tools/packet/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/tools/packet/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAkCjD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACrF,IAAI,CAyGN"}
|