evolcore 0.0.30 → 0.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
## Unreleased
|
|
7
7
|
|
|
8
|
+
## 0.0.31 (2026-10-11)
|
|
9
|
+
|
|
10
|
+
- 修复 `/restart` 和 ECWeb 系统重启在存在待迁移数据时提前终止的问题,统一由 `restart-monitor` 自动预检、停机迁移、严格校验、归档并在成功后启动。
|
|
11
|
+
- 完善迁移失败、数据冲突和跨平台重启保护;失败时保留旧数据并阻止启动。
|
|
12
|
+
|
|
8
13
|
## 0.0.30 (2026-10-10)
|
|
9
14
|
|
|
10
15
|
- 重构 Agent 运行时、渠道连接与 daemon 生命周期编排,拆分 IPC 注册和受管操作职责,提升启动、重载与数据迁移的可维护性和诊断能力。
|
|
@@ -6,7 +6,6 @@ import { modelMatches, getCatalog, getBaseagentCatalog, resolveCatalogModel, ass
|
|
|
6
6
|
import { constrainResolvedModelForRole, filterModelsForRole, validateModelSelectionForRole } from '../model/model-permission.js';
|
|
7
7
|
import { hasModelSwitcher } from '../../agents/runner-types.js';
|
|
8
8
|
import { resolvePaths, getPackageRoot, daemonControlDir } from '../../paths.js';
|
|
9
|
-
import { inspectDataMigrationRequirement } from '../data-migration.js';
|
|
10
9
|
import { buildEnvelope, isDeliveryTarget, isDeliveryTargetForChannel, replyContextFromSession } from '../message/message-utils.js';
|
|
11
10
|
import path from 'path';
|
|
12
11
|
import fs from 'fs';
|
|
@@ -4277,14 +4276,6 @@ export async function execMenuAction(cmd, action, args, channel, channelId, user
|
|
|
4277
4276
|
: 'AUN_OUTBOUND_ROUTE_REQUIRED',
|
|
4278
4277
|
};
|
|
4279
4278
|
}
|
|
4280
|
-
const migrationRequirement = inspectDataMigrationRequirement(resolvePaths().root);
|
|
4281
|
-
if (migrationRequirement.required) {
|
|
4282
|
-
return {
|
|
4283
|
-
error: `待处理的用户数据迁移(${migrationRequirement.operationCount} 项)阻止重启;本次仅检查,未停止当前服务。请先运行 ec data migrate --dry-run,然后运行 ec data migrate --apply。`,
|
|
4284
|
-
code: 'DATA_MIGRATION_REQUIRED',
|
|
4285
|
-
data: { reasonCode: 'DATA_MIGRATION_REQUIRED', operationCount: migrationRequirement.operationCount },
|
|
4286
|
-
};
|
|
4287
|
-
}
|
|
4288
4279
|
if (!suppressRealRestart) {
|
|
4289
4280
|
// 这条路径同样以 daemon 自杀收尾,入口缺失必须在写 pending 和自杀之前拦下。
|
|
4290
4281
|
const restartEntry = resolveCliEntry(getPackageRoot());
|
|
@@ -28,7 +28,6 @@ import { isManagementRole } from '../../config/builtin-roles.js';
|
|
|
28
28
|
import { isSystemControlChannel } from '../system-channels.js';
|
|
29
29
|
import { launchMonitorAndConfirm, resolveMonitorLaunch, cleanupMonitorStage } from '../../utils/cross-platform.js';
|
|
30
30
|
import { scanInstances } from '../../utils/instance-registry.js';
|
|
31
|
-
import { inspectDataMigrationRequirement } from '../data-migration.js';
|
|
32
31
|
import { guardIdleCommand, guardGroupSlashCommand, guardKnownCommand, guardRoleCommand, guardThreadCommand, isRecognizedSlashCommand, normalizeSlashContent, probeSessionActivity, } from './slash-gate.js';
|
|
33
32
|
import { MAX_AUN_ATTACHMENT_SIZE } from '../../aun/msg/upload.js';
|
|
34
33
|
const allEfforts = ['none', 'minimal', 'low', 'medium', 'high', 'xhigh', 'max'];
|
|
@@ -3072,11 +3071,6 @@ export async function handleSlashCommand(content, channel, channelId, sendMessag
|
|
|
3072
3071
|
logger.warn(`[System] Refusing restart without a valid explicit delivery route: channel=${channel} channelId=${channelId}`);
|
|
3073
3072
|
return false;
|
|
3074
3073
|
}
|
|
3075
|
-
const migrationRequirement = inspectDataMigrationRequirement(resolvePaths().root);
|
|
3076
|
-
if (migrationRequirement.required) {
|
|
3077
|
-
logger.warn(`[System] Refusing restart while data migration is pending: operations=${migrationRequirement.operationCount}`);
|
|
3078
|
-
return { code: 'DATA_MIGRATION_REQUIRED', operationCount: migrationRequirement.operationCount };
|
|
3079
|
-
}
|
|
3080
3074
|
if (!suppressRealRestart) {
|
|
3081
3075
|
await ensureFreshPackageVersionInfo(undefined, {
|
|
3082
3076
|
source: 'slash-restart',
|
|
@@ -3179,13 +3173,6 @@ export async function handleSlashCommand(content, channel, channelId, sendMessag
|
|
|
3179
3173
|
}
|
|
3180
3174
|
}
|
|
3181
3175
|
const restarted = await executeRestart();
|
|
3182
|
-
if (typeof restarted === 'object' && restarted.code === 'DATA_MIGRATION_REQUIRED') {
|
|
3183
|
-
return {
|
|
3184
|
-
kind: 'command.error',
|
|
3185
|
-
text: `❌ 待处理的用户数据迁移(${restarted.operationCount} 项)阻止重启;本次仅检查,未停止当前服务。请先运行 ec data migrate --dry-run,然后运行 ec data migrate --apply。`,
|
|
3186
|
-
reason: restarted.code,
|
|
3187
|
-
};
|
|
3188
|
-
}
|
|
3189
3176
|
if (typeof restarted === 'object' && restarted.code === 'RESTART_ENTRY_MISSING') {
|
|
3190
3177
|
return {
|
|
3191
3178
|
kind: 'command.error',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "evolcore",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.31",
|
|
4
4
|
"description": "AI Agent gateway connecting Claude, Codex, Gemini, and the bundled ecagent runner to messaging channels with multi-project session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|