fix: resume distributed task ID counter past existing IDs; extract plugin view types
The dashboard task-create route now uses the distributed task ID allocator (FN-3450). On projects whose tasks had been allocated through the legacy config.nextId counter, the allocator's `ensureStateRow` was seeding a fresh prefix at sequence 1, so new tasks restarted at FN-001 even when FN-3700 already existed. ensureStateRow now seeds past: - the legacy config.nextId counter (when configured taskPrefix matches), and - one past the highest numeric suffix on any existing tasks/archivedTasks row for the prefix. A regression test seeds FN-3700 in a fresh DB and asserts the next reservation returns FN-3701, not FN-001. Plugin dashboard view contracts are now exposed via a slim type-only module (`@fusion/dashboard/app/plugins/types`). External plugin tsc builds previously imported `pluginViewRegistry`, transitively pulling in dashboard runtime sources (React components, CSS, lucide-react). The dependency-graph plugin's import + path mapping is updated to use the new module. Schema housekeeping: drop unused scaffolding tables left over from an earlier migration via a new idempotent migration (v67). Fresh DBs see no change; existing DBs that ran the older migration get the orphan tables dropped on next init. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -18,7 +18,6 @@ import { InsightStore } from "./insight-store.js";
|
||||
import { ResearchStore } from "./research-store.js";
|
||||
import { TodoStore } from "./todo-store.js";
|
||||
import { EvalStore } from "./eval-store.js";
|
||||
import { ProjectAuthStore } from "./project-auth-store.js";
|
||||
import { BackwardCompat, ProjectRequiredError } from "./migration.js";
|
||||
import { CentralCore } from "./central-core.js";
|
||||
import { getTaskMergeBlocker } from "./task-merge.js";
|
||||
@@ -522,8 +521,6 @@ export class TaskStore extends EventEmitter<TaskStoreEvents> {
|
||||
private todoStore: TodoStore | null = null;
|
||||
/** Cached EvalStore instance */
|
||||
private evalStore: EvalStore | null = null;
|
||||
/** Cached ProjectAuthStore instance */
|
||||
private projectAuthStore: ProjectAuthStore | null = null;
|
||||
/** Cached distributed task-id allocator instance. */
|
||||
private distributedTaskIdAllocator: DistributedTaskIdAllocator | null = null;
|
||||
|
||||
@@ -6842,17 +6839,6 @@ ${notificationsSection}`;
|
||||
return this.evalStore;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the ProjectAuthStore instance for project-scoped auth domain operations.
|
||||
* Lazily initializes the ProjectAuthStore on first access.
|
||||
*/
|
||||
getProjectAuthStore(): ProjectAuthStore {
|
||||
if (!this.projectAuthStore) {
|
||||
this.projectAuthStore = new ProjectAuthStore(this.db);
|
||||
}
|
||||
return this.projectAuthStore;
|
||||
}
|
||||
|
||||
// ── Verification Cache ────────────────────────────────────────────────────
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user