feat(FN-2014): merge fusion/fn-2014

This commit is contained in:
Fusion
2026-04-17 14:26:12 -07:00
committed by gsxdsm
parent ac9b0fcd9d
commit 96aeb67a4f
37 changed files with 960 additions and 533 deletions

View File

@@ -479,6 +479,7 @@ vi.mock("@fusion/dashboard", () => ({
GitHubClient: vi.fn().mockImplementation(() => ({})),
createSkillsAdapter: vi.fn().mockReturnValue(undefined),
getProjectSettingsPath: vi.fn().mockReturnValue("/tmp/project/.fusion/settings.json"),
loadTlsCredentialsFromEnv: vi.fn().mockReturnValue(undefined),
}));
vi.mock("@fusion/engine", () => ({

View File

@@ -191,6 +191,7 @@ vi.mock("@fusion/dashboard", () => ({
GitHubClient: MockGitHubClient,
createSkillsAdapter: vi.fn().mockReturnValue(undefined),
getProjectSettingsPath: vi.fn().mockReturnValue("/tmp/project/.fusion/settings.json"),
loadTlsCredentialsFromEnv: vi.fn().mockReturnValue(undefined),
}));
// ── Mock @fusion/engine ────────────────────────────────────────────────

View File

@@ -514,6 +514,7 @@ vi.mock("@fusion/dashboard", () => ({
GitHubClient: vi.fn().mockImplementation(() => ({})),
createSkillsAdapter: vi.fn().mockReturnValue(undefined),
getProjectSettingsPath: vi.fn().mockReturnValue("/tmp/project/.fusion/settings.json"),
loadTlsCredentialsFromEnv: vi.fn().mockReturnValue(undefined),
}));
vi.mock("@fusion/engine", () => ({

View File

@@ -23,7 +23,7 @@ import {
getEnabledPiExtensionPaths,
} from "@fusion/core";
import type { AutomationRunResult, ScheduledTask } from "@fusion/core";
import { createServer, GitHubClient, createSkillsAdapter, getProjectSettingsPath } from "@fusion/dashboard";
import { createServer, GitHubClient, createSkillsAdapter, getProjectSettingsPath, loadTlsCredentialsFromEnv } from "@fusion/dashboard";
import { ProjectEngineManager, PeerExchangeService } from "@fusion/engine";
import {
AuthStorage,
@@ -428,6 +428,7 @@ export async function runDaemon(opts: DaemonOptions = {}) {
headless: true,
daemon: { token: daemonToken },
skillsAdapter,
https: loadTlsCredentialsFromEnv(),
});
const server = app.listen(selectedPort, selectedHost);

View File

@@ -252,6 +252,7 @@ vi.mock("@fusion/dashboard", () => ({
})),
createSkillsAdapter: vi.fn().mockReturnValue(undefined),
getProjectSettingsPath: vi.fn().mockReturnValue("/tmp/project/.fusion/settings.json"),
loadTlsCredentialsFromEnv: vi.fn().mockReturnValue(undefined),
}));
// ── Mock node:readline ──────────────────────────────────────────────

View File

@@ -1,7 +1,7 @@
import type { AddressInfo } from "node:net";
import { join } from "node:path";
import { TaskStore, AutomationStore, CentralCore, AgentStore, PluginStore, PluginLoader, getTaskMergeBlocker, getEnabledPiExtensionPaths } from "@fusion/core";
import { createServer, GitHubClient, createSkillsAdapter, getProjectSettingsPath } from "@fusion/dashboard";
import { createServer, GitHubClient, createSkillsAdapter, getProjectSettingsPath, loadTlsCredentialsFromEnv } from "@fusion/dashboard";
import { aiMergeTask, MissionAutopilot, MissionExecutionLoop, HeartbeatMonitor, HeartbeatTriggerScheduler, type WakeContext, ProjectEngineManager, PeerExchangeService } from "@fusion/engine";
import { AuthStorage, DefaultPackageManager, ModelRegistry, discoverAndLoadExtensions, createExtensionRuntime } from "@mariozechner/pi-coding-agent";
import {
@@ -602,6 +602,7 @@ export async function runDashboard(port: number, opts: { paused?: boolean; dev?:
pluginRunner: pluginLoader,
onProjectFirstAccessed: (projectId: string) => engineManager.onProjectAccessed(projectId),
skillsAdapter,
https: loadTlsCredentialsFromEnv(),
});
const shutdown = async (signal: NodeJS.Signals) => {
@@ -782,6 +783,7 @@ export async function runDashboard(port: number, opts: { paused?: boolean; dev?:
pluginLoader,
pluginRunner: pluginLoader,
skillsAdapter,
https: loadTlsCredentialsFromEnv(),
});
}

View File

@@ -137,6 +137,7 @@ vi.mock("@fusion/core", () => ({
vi.mock("@fusion/dashboard", () => ({
createServer: mocks.createServer,
loadTlsCredentialsFromEnv: vi.fn().mockReturnValue(undefined),
}));
import { runDesktop } from "./desktop.js";

View File

@@ -24,7 +24,7 @@ import {
getEnabledPiExtensionPaths,
} from "@fusion/core";
import type { AutomationRunResult, ScheduledTask } from "@fusion/core";
import { createServer, GitHubClient, createSkillsAdapter, getProjectSettingsPath } from "@fusion/dashboard";
import { createServer, GitHubClient, createSkillsAdapter, getProjectSettingsPath, loadTlsCredentialsFromEnv } from "@fusion/dashboard";
import { ProjectEngineManager, PeerExchangeService } from "@fusion/engine";
import {
AuthStorage,
@@ -592,6 +592,7 @@ export async function runServe(
headless: true,
skillsAdapter,
daemon: daemonToken ? { token: daemonToken } : undefined,
https: loadTlsCredentialsFromEnv(),
});
const server = app.listen(selectedPort, selectedHost);

View File

@@ -50,6 +50,7 @@ vi.mock("@fusion/dashboard", () => ({
GitHubClient: vi.fn().mockImplementation(() => ({
createPr: vi.fn(),
})),
loadTlsCredentialsFromEnv: vi.fn().mockReturnValue(undefined),
}));
vi.mock("@fusion/dashboard/planning", () => ({