feat(FN-2308): add selectable scope to agent company imports

- Update AgentImportModal preview to preselect all agents and skills, support per-item toggles plus select-all/clear controls, and keep directory preview enabled when parsed files exist.
- Send selectedAgents and selectedSkills from paste, directory, and browse import flows, with dynamic import CTA labels and guardrails when nothing is selected.
- Extend /agents/import to accept selection filters, allow skill-only imports, and parse downloaded company archives directly without shell tar extraction.
- Expand dashboard import tests to cover directory parsing, subset selection, browse-mode skill visibility, and related UI/style assertions.
- Restore full-suite CLI test reliability by adding workspace alias mappings in vitest config and retrying slow cross-platform binary help probes.
This commit is contained in:
Fusion
2026-04-23 12:55:45 -07:00
committed by gsxdsm
parent 020cb6d93f
commit 3b0db3e9d2
7 changed files with 609 additions and 83 deletions

View File

@@ -125,11 +125,20 @@ describe("build-exe-cross: --all builds all platforms", () => {
const bin = join(distDir, name);
if (!existsSync(bin)) return;
const result = spawnSync(bin, ["--help"], {
let result = spawnSync(bin, ["--help"], {
encoding: "utf-8",
// CI can occasionally be slow to launch freshly built native binaries.
timeout: 45_000,
});
// Retry once with a longer timeout when the first probe times out.
if (result.status === null && result.signal === "SIGTERM") {
result = spawnSync(bin, ["--help"], {
encoding: "utf-8",
timeout: 120_000,
});
}
if (hasKnownBunSqliteLimitation(result)) {
return;
}

View File

@@ -12,6 +12,9 @@ export default defineConfig({
alias: [
{ find: "@fusion/core/gh-cli", replacement: resolve(__dirname, "../core/src/gh-cli.ts") },
{ find: "@fusion/core", replacement: resolve(__dirname, "../core/src/index.ts") },
{ find: "@fusion/dashboard/planning", replacement: resolve(__dirname, "../dashboard/src/planning.ts") },
{ find: "@fusion/dashboard", replacement: resolve(__dirname, "../dashboard/src/index.ts") },
{ find: "@fusion/engine", replacement: resolve(__dirname, "../engine/src/index.ts") },
{ find: "@fusion/test-utils", replacement: resolve(__dirname, "../core/src/__test-utils__/workspace.ts") },
],
},