Merge branch 'main' into gsxdsm/compound

This commit is contained in:
gsxdsm
2026-06-03 13:29:20 -07:00
committed by GitHub
180 changed files with 9163 additions and 1395 deletions

View File

@@ -24,7 +24,6 @@
},
"dependencies": {
"@fusion/core": "workspace:*",
"@fusion/dashboard": "workspace:*",
"@fusion/plugin-sdk": "workspace:*",
"express": "^5.1.0",
"lucide-react": "^0.542.0",

View File

@@ -0,0 +1,19 @@
declare module "@fusion/dashboard/app/plugins/types" {
import type { ReactNode } from "react";
import type { Task, TaskDetail, WorkflowStep } from "@fusion/core";
export type DetailTaskTab = "definition" | "logs" | "changes" | "comments" | "model" | "workflow" | "pr" | "retries";
export type PluginToastType = "success" | "error" | "warning" | "info";
export interface PluginDashboardViewContext {
projectId?: string;
tasks: Task[];
workflowSteps: WorkflowStep[];
openTaskDetail: (task: Task | TaskDetail, initialTab?: DetailTaskTab) => void;
renderTaskCard?: (task: Task | TaskDetail) => ReactNode;
addToast?: (message: string, type?: PluginToastType) => void;
}
export type PluginTaskView = `plugin:${string}:${string}`;
}

View File

@@ -3,8 +3,11 @@
"compilerOptions": {
"outDir": "dist",
"rootDir": "src",
"jsx": "react-jsx"
"jsx": "react-jsx",
"paths": {
"@fusion/dashboard/app/plugins/types": ["./src/dashboard-interop.d.ts"]
}
},
"include": ["src/**/*.ts", "src/**/*.tsx"],
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.d.ts"],
"exclude": ["src/**/*.test.ts", "src/**/__tests__/**"]
}

View File

@@ -21,7 +21,6 @@
},
"dependencies": {
"@fusion/core": "workspace:*",
"@fusion/dashboard": "workspace:*",
"@fusion/plugin-sdk": "workspace:*",
"lucide-react": "^0.542.0"
},

View File

@@ -5,14 +5,23 @@ declare module "@fusion/dashboard/app/utils/taskStuck" {
}
declare module "@fusion/dashboard/app/plugins/types" {
import type { ReactNode } from "react";
import type { Task, TaskDetail, WorkflowStep } from "@fusion/core";
export type DetailTaskTab = "definition" | "logs" | "changes" | "comments" | "model" | "workflow" | "pr" | "retries";
export type PluginToastType = "success" | "error" | "warning" | "info";
export interface PluginDashboardViewContext {
tasks: Task[];
projectId?: string;
workflowSteps?: WorkflowStep[];
openTaskDetail?: (task: Task | TaskDetail) => void;
tasks: Task[];
workflowSteps: WorkflowStep[];
openTaskDetail: (task: Task | TaskDetail, initialTab?: DetailTaskTab) => void;
renderTaskCard?: (task: Task | TaskDetail) => ReactNode;
addToast?: (message: string, type?: PluginToastType) => void;
}
export type PluginTaskView = `plugin:${string}:${string}`;
}
declare module "@fusion/dashboard/app/components/TaskCard" {
@@ -44,3 +53,9 @@ declare module "@fusion/dashboard/app/components/TaskCard" {
export function TaskCard(props: TaskCardProps): ReactElement;
}
declare module "@fusion/dashboard/app/utils/projectStorage" {
export function getScopedItem(baseKey: string, projectId?: string): string | null;
export function setScopedItem(baseKey: string, value: string, projectId?: string): void;
export function removeScopedItem(baseKey: string, projectId?: string): void;
}

View File

@@ -8,7 +8,8 @@
"paths": {
"@fusion/dashboard/app/components/TaskCard": ["./src/dashboard-interop.d.ts"],
"@fusion/dashboard/app/utils/taskStuck": ["./src/dashboard-interop.d.ts"],
"@fusion/dashboard/app/plugins/types": ["./src/dashboard-interop.d.ts"]
"@fusion/dashboard/app/plugins/types": ["./src/dashboard-interop.d.ts"],
"@fusion/dashboard/app/utils/projectStorage": ["./src/dashboard-interop.d.ts"]
}
},
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.d.ts"],

View File

@@ -29,7 +29,6 @@
},
"dependencies": {
"@fusion/core": "workspace:*",
"@fusion/dashboard": "workspace:*",
"@fusion/plugin-sdk": "workspace:*",
"express": "^5.1.0",
"lucide-react": "^0.542.0",

View File

@@ -0,0 +1,19 @@
declare module "@fusion/dashboard/app/plugins/types" {
import type { ReactNode } from "react";
import type { Task, TaskDetail, WorkflowStep } from "@fusion/core";
export type DetailTaskTab = "definition" | "logs" | "changes" | "comments" | "model" | "workflow" | "pr" | "retries";
export type PluginToastType = "success" | "error" | "warning" | "info";
export interface PluginDashboardViewContext {
projectId?: string;
tasks: Task[];
workflowSteps: WorkflowStep[];
openTaskDetail: (task: Task | TaskDetail, initialTab?: DetailTaskTab) => void;
renderTaskCard?: (task: Task | TaskDetail) => ReactNode;
addToast?: (message: string, type?: PluginToastType) => void;
}
export type PluginTaskView = `plugin:${string}:${string}`;
}

View File

@@ -743,8 +743,8 @@ describe("RoadmapStore", () => {
});
describe("schema version", () => {
it("schema version is 100 after init", () => {
expect(db.getSchemaVersion()).toBe(101);
it("schema version is 102 after init", () => {
expect(db.getSchemaVersion()).toBe(102);
});
});

View File

@@ -3,8 +3,11 @@
"compilerOptions": {
"outDir": "dist",
"rootDir": "src",
"jsx": "react-jsx"
"jsx": "react-jsx",
"paths": {
"@fusion/dashboard/app/plugins/types": ["./src/dashboard-interop.d.ts"]
}
},
"include": ["src/**/*.ts", "src/**/*.tsx"],
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.d.ts"],
"exclude": ["src/**/*.test.ts", "src/**/__tests__/**"]
}