FN-5638: migrate pi-ai and pi-coding-agent packages to @earendil-works scope

Fusion-Task-Id: FN-5638

Fusion-Task-Lineage: 6e99c156-5f6c-42e6-bd26-618e08ffd05f
This commit is contained in:
gsxdsm
2026-05-28 21:23:48 -07:00
parent f258a75162
commit cec191eac3
87 changed files with 1154 additions and 2894 deletions

View File

@@ -12,7 +12,7 @@ npm install -g @runfusion/fusion
Fusion uses [pi](https://github.com/badlogic/pi-mono) for AI agent sessions and reuses your existing pi authentication. You can also authenticate directly through the dashboard UI.
If you don't have pi set up yet: `npm i -g @mariozechner/pi-coding-agent && pi` then `/login`.
If you don't have pi set up yet: `npm i -g @earendil-works/pi-coding-agent && pi` then `/login`.
## Usage

View File

@@ -55,8 +55,8 @@
"test:pre-release": "pnpm test:slow-cli && pnpm test:build-exe"
},
"dependencies": {
"@mariozechner/pi-ai": "^0.73.0",
"@mariozechner/pi-coding-agent": "^0.73.0",
"@earendil-works/pi-ai": "^0.77.0",
"@earendil-works/pi-coding-agent": "^0.77.0",
"dockerode": "^4.0.12",
"express": "^5.1.0",
"ink": "^6.8.0",
@@ -68,15 +68,15 @@
"react": "^19.0.0"
},
"peerDependencies": {
"@mariozechner/pi-ai": "*",
"@mariozechner/pi-coding-agent": "*",
"@earendil-works/pi-ai": "*",
"@earendil-works/pi-coding-agent": "*",
"typebox": "*"
},
"peerDependenciesMeta": {
"@mariozechner/pi-ai": {
"@earendil-works/pi-ai": {
"optional": true
},
"@mariozechner/pi-coding-agent": {
"@earendil-works/pi-coding-agent": {
"optional": true
},
"typebox": {

View File

@@ -36,7 +36,7 @@ function configurePiPackage(): void {
try {
const require = createRequire(import.meta.url);
const piPackagePath = require.resolve("@mariozechner/pi-coding-agent/package.json");
const piPackagePath = require.resolve("@earendil-works/pi-coding-agent/package.json");
const piPackageDir = dirname(piPackagePath);
packageJson = JSON.parse(readFileSync(piPackagePath, "utf-8")) as Record<string, unknown>;

View File

@@ -615,7 +615,7 @@ vi.mock("@fusion/engine", async (importOriginal) => {
HybridExecutor: mockHybridExecutorCtor,
});
});
vi.mock("@mariozechner/pi-coding-agent", () => ({
vi.mock("@earendil-works/pi-coding-agent", () => ({
AuthStorage: {
create: vi.fn(() => mocks.authStorage),
},

View File

@@ -751,9 +751,9 @@ vi.mock("@fusion/engine", async (importOriginal) => {
});
});
// ── Mock @mariozechner/pi-coding-agent ──────────────────────────────
// ── Mock @earendil-works/pi-coding-agent ──────────────────────────────
vi.mock("@mariozechner/pi-coding-agent", () => ({
vi.mock("@earendil-works/pi-coding-agent", () => ({
AuthStorage: {
create: vi.fn(() => mockAuthStorage),
},
@@ -3092,7 +3092,7 @@ describe("runDashboard — merge stream sink routing", () => {
const { TaskStore, AutomationStore, AgentStore, PluginStore, PluginLoader, CentralCore } = await import("@fusion/core");
const { aiMergeTask } = await import("@fusion/engine");
const { createServer } = await import("@fusion/dashboard");
const { AuthStorage, DefaultPackageManager, ModelRegistry, discoverAndLoadExtensions, createExtensionRuntime } = await import("@mariozechner/pi-coding-agent");
const { AuthStorage, DefaultPackageManager, ModelRegistry, discoverAndLoadExtensions, createExtensionRuntime } = await import("@earendil-works/pi-coding-agent");
(TaskStore as unknown as ReturnType<typeof vi.fn>).mockImplementation(() => makeMockStore());
(AutomationStore as unknown as ReturnType<typeof vi.fn>).mockImplementation(() => ({

View File

@@ -665,7 +665,7 @@ vi.mock("@fusion/engine", async (importOriginal) => {
HybridExecutor: mockHybridExecutorCtor,
});
});
vi.mock("@mariozechner/pi-coding-agent", () => ({
vi.mock("@earendil-works/pi-coding-agent", () => ({
AuthStorage: {
create: vi.fn(() => mocks.authStorage),
},

View File

@@ -38,7 +38,7 @@ import {
SettingsManager,
discoverAndLoadExtensions,
createExtensionRuntime,
} from "@mariozechner/pi-coding-agent";
} from "@earendil-works/pi-coding-agent";
import {
getMergeStrategy,
processPullRequestMergeTask,

View File

@@ -41,7 +41,7 @@ import {
shouldUseHybridExecutor,
setHostExtensionPaths,
} from "@fusion/engine";
import { AuthStorage, DefaultPackageManager, ModelRegistry, SettingsManager, discoverAndLoadExtensions, createExtensionRuntime } from "@mariozechner/pi-coding-agent";
import { AuthStorage, DefaultPackageManager, ModelRegistry, SettingsManager, discoverAndLoadExtensions, createExtensionRuntime } from "@earendil-works/pi-coding-agent";
import {
getMergeStrategy,
getTaskBranchName,

View File

@@ -2,15 +2,15 @@ import type {
AuthStorage,
ModelRegistry,
AuthCredential,
} from "@mariozechner/pi-coding-agent";
} from "@earendil-works/pi-coding-agent";
import {
choosePreferredStoredCredential,
readStoredCredentialsFromAuthFile,
shouldHydrateStoredCredential,
type StoredAuthCredential,
} from "@fusion/core";
import { getOAuthProvider } from "@mariozechner/pi-ai/oauth";
import type { OAuthCredentials } from "@mariozechner/pi-ai/oauth";
import { getOAuthProvider } from "@earendil-works/pi-ai/oauth";
import type { OAuthCredentials } from "@earendil-works/pi-ai/oauth";
export type LoginCallbacks = Parameters<AuthStorage["login"]>[1] & {
onManualCodeInput?: () => Promise<string>;

View File

@@ -38,7 +38,7 @@ import {
SettingsManager,
discoverAndLoadExtensions,
createExtensionRuntime,
} from "@mariozechner/pi-coding-agent";
} from "@earendil-works/pi-coding-agent";
import {
getMergeStrategy,
processPullRequestMergeTask,

View File

@@ -1,6 +1,6 @@
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
import { Type, type TSchema } from "typebox";
import { StringEnum } from "@mariozechner/pi-ai";
import { StringEnum } from "@earendil-works/pi-ai";
import {
TaskStore,
COLUMNS,