mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-12 21:53:00 -06:00
4b0151682e
Remove hidden follow-up extraction, heartbeat delivery, CLI, docs, and supporting tests/tooling. Existing commitment records remain inert pending separately approved cleanup. Co-authored-by: Ayaan Zaidi <hi@obviy.us>
166 lines
4.3 KiB
TypeScript
166 lines
4.3 KiB
TypeScript
import type { SessionScope } from "../config/sessions/types.js";
|
|
import type { PluginDoctorStateMigration } from "../plugins/doctor-contract-registry.js";
|
|
import type { LegacyAuditLogsDetection } from "./state-migrations.audit-logs.types.js";
|
|
import type { LegacyChannelPairingStateDetection } from "./state-migrations.channel-pairing.js";
|
|
import type { LegacyDeviceIdentityDetection } from "./state-migrations.device-identity.types.js";
|
|
import type { LegacyExecApprovalsDetection } from "./state-migrations.exec-approvals.types.js";
|
|
import type { LegacyMcpOAuthDetection } from "./state-migrations.mcp-oauth.types.js";
|
|
import type { LegacyMeetingTranscriptsDetection } from "./state-migrations.meeting-transcripts.types.js";
|
|
import type { LegacyRestartSentinelDetection } from "./state-migrations.restart-sentinel.types.js";
|
|
import type { LegacyWorkspaceStateDetection } from "./state-migrations.workspace-setup.types.js";
|
|
|
|
export type LegacyRescuePendingDetection = {
|
|
sourcePaths: string[];
|
|
hasLegacy: boolean;
|
|
};
|
|
|
|
export type SessionStoreAliasPlan = {
|
|
hasDistinctAliases: boolean;
|
|
hasFinalSymlink: boolean;
|
|
hasUnresolvedIdentity: boolean;
|
|
};
|
|
|
|
export type LegacyStateDetection = {
|
|
doctorOnlyStateMigrations?: boolean;
|
|
targetAgentId: string;
|
|
targetMainKey: string;
|
|
targetScope?: SessionScope;
|
|
stateDir: string;
|
|
oauthDir: string;
|
|
sessions: {
|
|
legacyDir: string;
|
|
legacyStorePath: string;
|
|
targetDir: string;
|
|
targetStorePath: string;
|
|
hasLegacy: boolean;
|
|
legacyKeys: string[];
|
|
preserveAmbiguousKeys: boolean;
|
|
preserveForeignMainAliases: boolean;
|
|
targetStoreAliases: SessionStoreAliasPlan;
|
|
};
|
|
agentDir: {
|
|
legacyDir: string;
|
|
targetDir: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
pluginPlans?: {
|
|
hasLegacy: boolean;
|
|
plans: DetectedPluginDoctorStateMigrationPlan[];
|
|
};
|
|
pluginStateSidecar: {
|
|
sourcePath: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
pluginInstallIndex: {
|
|
sourcePath: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
debugProxyCaptureSidecar: {
|
|
sourcePath: string;
|
|
blobDir: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
stateSchema: {
|
|
hasLegacy: boolean;
|
|
preview: string[];
|
|
};
|
|
worktrees: {
|
|
hasLegacy: boolean;
|
|
pathRewrites: Array<{ id: string; fromPath: string; toPath: string }>;
|
|
};
|
|
taskStateSidecars: {
|
|
taskRunsPath: string;
|
|
flowRunsPath: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
deliveryQueues: {
|
|
outboundPath: string;
|
|
sessionPath: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
voiceWake: {
|
|
triggersPath: string;
|
|
routingPath: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
updateCheck: {
|
|
sourcePath: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
configHealth: {
|
|
sourcePath: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
pluginBindingApprovals: {
|
|
sourcePath: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
currentConversationBindings: {
|
|
sourcePath: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
tuiLastSessions: {
|
|
sourcePath: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
auditLogs: LegacyAuditLogsDetection;
|
|
acpReplayLedger: {
|
|
sourcePath: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
managedOutgoingImages: {
|
|
sourceDir: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
apns: {
|
|
sourcePath: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
deviceAuth: {
|
|
sourcePath: string;
|
|
sourcePresent: boolean;
|
|
hasLegacy: boolean;
|
|
};
|
|
deviceIdentity: LegacyDeviceIdentityDetection;
|
|
execApprovals: LegacyExecApprovalsDetection;
|
|
mcpOauth: LegacyMcpOAuthDetection;
|
|
meetingTranscripts?: LegacyMeetingTranscriptsDetection;
|
|
restartSentinel?: LegacyRestartSentinelDetection;
|
|
workspace: LegacyWorkspaceStateDetection;
|
|
webPush: {
|
|
subscriptionsPath: string;
|
|
vapidKeysPath: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
nodeHost: {
|
|
sourcePath: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
subagentRegistry: {
|
|
sourcePath: string;
|
|
hasLegacy: boolean;
|
|
};
|
|
rescuePending: LegacyRescuePendingDetection;
|
|
channelPairing: LegacyChannelPairingStateDetection;
|
|
warnings: string[];
|
|
notices: string[];
|
|
preview: string[];
|
|
};
|
|
|
|
export type MigrationLogger = {
|
|
info: (message: string) => void;
|
|
warn: (message: string) => void;
|
|
};
|
|
|
|
export type DetectedPluginDoctorStateMigrationPlan = {
|
|
pluginId: string;
|
|
migration: PluginDoctorStateMigration;
|
|
preview: string[];
|
|
};
|
|
|
|
export type MigrationMessages = {
|
|
changes: string[];
|
|
warnings: string[];
|
|
notices?: string[];
|
|
};
|