Merge branch 'fusion/fn-1690' into main
- Add roadmap schema migration v32 with covering indexes for roadmapItems table - Implement RoadmapStore with CRUD and deterministic ordering - Wire RoadmapStore access via TaskStore.getRoadmapStore() - Update architecture.md with RoadmapStore persistence docs - Fix pre-existing test failures in SettingsModal and store tests
This commit is contained in:
@@ -55,6 +55,8 @@ export default tseslint.config(
|
|||||||
// with project conventions (argsIgnorePattern for underscore params, etc.)
|
// with project conventions (argsIgnorePattern for underscore params, etc.)
|
||||||
"plugins/examples/*/src/**/*.ts",
|
"plugins/examples/*/src/**/*.ts",
|
||||||
"plugins/examples/*/src/**/*.tsx",
|
"plugins/examples/*/src/**/*.tsx",
|
||||||
|
// Agent skill plugin templates — follow project conventions for underscore params
|
||||||
|
".pi/agent/skills/create-fusion-plugin/templates/**/*.ts",
|
||||||
],
|
],
|
||||||
plugins: {
|
plugins: {
|
||||||
"@typescript-eslint": tseslint.plugin,
|
"@typescript-eslint": tseslint.plugin,
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { describe, it, expect, beforeAll } from "vitest";
|
|||||||
import { definePlugin } from "./index.js";
|
import { definePlugin } from "./index.js";
|
||||||
import type { FusionPlugin } from "../../core/src/plugin-types.js";
|
import type { FusionPlugin } from "../../core/src/plugin-types.js";
|
||||||
import { validatePluginManifest } from "../../core/src/plugin-types.js";
|
import { validatePluginManifest } from "../../core/src/plugin-types.js";
|
||||||
|
import type { TaskStore } from "../../core/src/store.js";
|
||||||
|
|
||||||
let validateFn: typeof validatePluginManifest;
|
let validateFn: typeof validatePluginManifest;
|
||||||
|
|
||||||
@@ -51,7 +52,7 @@ describe("Plugin SDK", () => {
|
|||||||
name: "my_tool",
|
name: "my_tool",
|
||||||
description: "A useful tool",
|
description: "A useful tool",
|
||||||
parameters: {},
|
parameters: {},
|
||||||
execute: async (params, ctx) => ({
|
execute: async (_params, _ctx) => ({
|
||||||
content: [{ type: "text" as const, text: "Hello!" }],
|
content: [{ type: "text" as const, text: "Hello!" }],
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
@@ -176,7 +177,7 @@ describe("Plugin SDK", () => {
|
|||||||
it("exports PluginContext type", () => {
|
it("exports PluginContext type", () => {
|
||||||
const ctx: import("../../core/src/plugin-types.js").PluginContext = {
|
const ctx: import("../../core/src/plugin-types.js").PluginContext = {
|
||||||
pluginId: "test",
|
pluginId: "test",
|
||||||
taskStore: {} as any,
|
taskStore: {} as unknown as TaskStore,
|
||||||
settings: {},
|
settings: {},
|
||||||
logger: {
|
logger: {
|
||||||
info: () => {},
|
info: () => {},
|
||||||
|
|||||||
Reference in New Issue
Block a user