feat(FN-3508): resolve node-specific working dirs and align runtime surfaces
- Add canonical working-directory resolution with node mapping support in core and engine paths - Update runtime/multi-project documentation and include published-package changesets for the merged work - Migrate roadmap dashboard surface to the bundled plugin registry flow and adjust lazy-view integration/tests - Default non-ephemeral agents to active state and extend related agent/route/executor test coverage Fusion-Task-Id: FN-3508
This commit is contained in:
@@ -114,7 +114,7 @@ export interface HybridExecutorOptions {
|
||||
*
|
||||
* await executor.addProject({
|
||||
* projectId: project.id,
|
||||
* workingDirectory: project.path,
|
||||
* workingDirectory: await central.resolveLocalProjectWorkingDirectory(project.id),
|
||||
* isolationMode: "in-process",
|
||||
* maxConcurrent: 2,
|
||||
* maxWorktrees: 4,
|
||||
@@ -178,9 +178,13 @@ export class HybridExecutor extends EventEmitter<HybridExecutorEvents> {
|
||||
for (const project of projects) {
|
||||
if (project.status === "active" || project.status === "initializing") {
|
||||
try {
|
||||
const workingDirectory = await this.centralCore.resolveLocalProjectWorkingDirectory(
|
||||
project.id,
|
||||
);
|
||||
|
||||
await this.addProject({
|
||||
projectId: project.id,
|
||||
workingDirectory: project.path,
|
||||
workingDirectory,
|
||||
isolationMode: project.isolationMode,
|
||||
maxConcurrent: project.settings?.maxConcurrent ?? 2,
|
||||
maxWorktrees: project.settings?.maxWorktrees ?? 4,
|
||||
@@ -275,11 +279,14 @@ export class HybridExecutor extends EventEmitter<HybridExecutorEvents> {
|
||||
);
|
||||
|
||||
const project = await this.centralCore.getProject(projectId);
|
||||
const workingDirectory = config.workingDirectory ?? project?.path;
|
||||
if (!workingDirectory) {
|
||||
if (!project) {
|
||||
throw new Error(`Project not found in CentralCore: ${projectId}`);
|
||||
}
|
||||
|
||||
const workingDirectory =
|
||||
config.workingDirectory ??
|
||||
(await this.centralCore.resolveLocalProjectWorkingDirectory(projectId));
|
||||
|
||||
// Stop old runtime
|
||||
await this.projectManager.removeProject(projectId);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user