@yeaft/webchat-agent 0.1.314 → 0.1.315
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/crew/persistence.js +3 -1
- package/crew/routing.js +2 -1
- package/crew/session.js +3 -1
- package/package.json +1 -1
package/crew/persistence.js
CHANGED
|
@@ -127,9 +127,11 @@ export async function saveSessionMeta(session) {
|
|
|
127
127
|
sharedDir: session.sharedDir,
|
|
128
128
|
name: session.name || '',
|
|
129
129
|
status: session.status,
|
|
130
|
+
// claudeMd is intentionally excluded — it's large and already persisted
|
|
131
|
+
// in per-role CLAUDE.md files under .crew/roles/<name>/CLAUDE.md
|
|
130
132
|
roles: Array.from(session.roles.values()).map(r => ({
|
|
131
133
|
name: r.name, displayName: r.displayName, icon: r.icon,
|
|
132
|
-
description: r.description,
|
|
134
|
+
description: r.description,
|
|
133
135
|
isDecisionMaker: r.isDecisionMaker || false,
|
|
134
136
|
groupIndex: r.groupIndex, roleType: r.roleType, model: r.model
|
|
135
137
|
})),
|
package/crew/routing.js
CHANGED
|
@@ -19,7 +19,8 @@ function roleLabel(r) {
|
|
|
19
19
|
*/
|
|
20
20
|
export function parseRoutes(text) {
|
|
21
21
|
const routes = [];
|
|
22
|
-
|
|
22
|
+
// ★ Tolerate both underscore and space variants: ---END_ROUTE--- or ---END ROUTE---
|
|
23
|
+
const regex = /---ROUTE---\s*\n([\s\S]*?)---END[_ ]ROUTE---/g;
|
|
23
24
|
let match;
|
|
24
25
|
|
|
25
26
|
while ((match = regex.exec(text)) !== null) {
|
package/crew/session.js
CHANGED
|
@@ -488,6 +488,8 @@ export async function resumeCrewSession(msg) {
|
|
|
488
488
|
}
|
|
489
489
|
|
|
490
490
|
const roles = meta.roles || [];
|
|
491
|
+
// Migration: strip claudeMd from legacy session.json (now persisted in per-role CLAUDE.md files)
|
|
492
|
+
for (const r of roles) delete r.claudeMd;
|
|
491
493
|
if (roles.length === 0) {
|
|
492
494
|
console.warn(`[Crew] resumeCrewSession: session ${sessionId} has empty roles in session.json`);
|
|
493
495
|
}
|
|
@@ -594,11 +596,11 @@ export async function handleUpdateCrewSession(msg) {
|
|
|
594
596
|
console.log(`[Crew] Role added during update: ${r.name} (${r.displayName})`);
|
|
595
597
|
} else {
|
|
596
598
|
// Existing role — update metadata (displayName, icon, etc.) but preserve roleState
|
|
599
|
+
// claudeMd is NOT updated here — it's managed via CLAUDE.md files, not through edit session
|
|
597
600
|
const existing = session.roles.get(r.name);
|
|
598
601
|
existing.displayName = r.displayName;
|
|
599
602
|
existing.icon = r.icon;
|
|
600
603
|
existing.description = r.description;
|
|
601
|
-
existing.claudeMd = r.claudeMd;
|
|
602
604
|
existing.isDecisionMaker = r.isDecisionMaker;
|
|
603
605
|
existing.roleType = r.roleType;
|
|
604
606
|
existing.groupIndex = r.groupIndex;
|