session-weaver 1.1.1
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/LICENSE +21 -0
- package/README.md +227 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +401 -0
- package/dist/index.js.map +1 -0
- package/dist/managers/context.d.ts +15 -0
- package/dist/managers/context.d.ts.map +1 -0
- package/dist/managers/context.js +209 -0
- package/dist/managers/context.js.map +1 -0
- package/dist/managers/delete.d.ts +12 -0
- package/dist/managers/delete.d.ts.map +1 -0
- package/dist/managers/delete.js +135 -0
- package/dist/managers/delete.js.map +1 -0
- package/dist/managers/handoff.d.ts +32 -0
- package/dist/managers/handoff.d.ts.map +1 -0
- package/dist/managers/handoff.js +239 -0
- package/dist/managers/handoff.js.map +1 -0
- package/dist/managers/module.d.ts +12 -0
- package/dist/managers/module.d.ts.map +1 -0
- package/dist/managers/module.js +88 -0
- package/dist/managers/module.js.map +1 -0
- package/dist/managers/pitfall.d.ts +12 -0
- package/dist/managers/pitfall.d.ts.map +1 -0
- package/dist/managers/pitfall.js +70 -0
- package/dist/managers/pitfall.js.map +1 -0
- package/dist/managers/session.d.ts +16 -0
- package/dist/managers/session.d.ts.map +1 -0
- package/dist/managers/session.js +248 -0
- package/dist/managers/session.js.map +1 -0
- package/dist/managers/storage.d.ts +46 -0
- package/dist/managers/storage.d.ts.map +1 -0
- package/dist/managers/storage.js +166 -0
- package/dist/managers/storage.js.map +1 -0
- package/dist/types.d.ts +238 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/format.d.ts +39 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +442 -0
- package/dist/utils/format.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Manager - 核心上下文管理
|
|
3
|
+
* 实现 load_context 和 save_context 两个核心工具
|
|
4
|
+
*/
|
|
5
|
+
import type { ProjectFile, LoadContextInput, LoadContextOutput, SaveContextInput, SaveContextOutput } from '../types.js';
|
|
6
|
+
import { StorageManager } from './storage.js';
|
|
7
|
+
export declare class ContextManager {
|
|
8
|
+
private storage;
|
|
9
|
+
constructor(storage?: StorageManager);
|
|
10
|
+
loadContext(input: LoadContextInput): Promise<LoadContextOutput | null>;
|
|
11
|
+
saveContext(input: SaveContextInput): Promise<SaveContextOutput | null>;
|
|
12
|
+
getProjectFile(project: string): Promise<ProjectFile | null>;
|
|
13
|
+
saveProjectFile(projectFile: ProjectFile): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/managers/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,WAAW,EAIX,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAiB;gBAEpB,OAAO,CAAC,EAAE,cAAc;IAM9B,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAsEvE,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAgJvE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAI5D,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/D"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Manager - 核心上下文管理
|
|
3
|
+
* 实现 load_context 和 save_context 两个核心工具
|
|
4
|
+
*/
|
|
5
|
+
import { nanoid } from 'nanoid';
|
|
6
|
+
import { StorageManager } from './storage.js';
|
|
7
|
+
const VERSION = '2.0.0';
|
|
8
|
+
export class ContextManager {
|
|
9
|
+
storage;
|
|
10
|
+
constructor(storage) {
|
|
11
|
+
this.storage = storage || new StorageManager();
|
|
12
|
+
}
|
|
13
|
+
// ============ Tool 1: load_context ============
|
|
14
|
+
async loadContext(input) {
|
|
15
|
+
const projectFile = await this.storage.loadProjectFile(input.project);
|
|
16
|
+
if (!projectFile) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
// 确定要加载的模块
|
|
20
|
+
let moduleName = input.module || projectFile.currentModule;
|
|
21
|
+
if (!moduleName) {
|
|
22
|
+
// 没有指定模块,也没有 currentModule,使用第一个模块或创建默认
|
|
23
|
+
const moduleNames = Object.keys(projectFile.modules);
|
|
24
|
+
if (moduleNames.length === 0) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
moduleName = moduleNames[0];
|
|
28
|
+
}
|
|
29
|
+
const moduleData = projectFile.modules[moduleName];
|
|
30
|
+
if (!moduleData) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
// 自动设置 currentModule(副作用)
|
|
34
|
+
if (projectFile.currentModule !== moduleName) {
|
|
35
|
+
projectFile.currentModule = moduleName;
|
|
36
|
+
await this.storage.saveProjectFile(projectFile);
|
|
37
|
+
}
|
|
38
|
+
// 获取该模块的会话
|
|
39
|
+
const sessionsLimit = input.sessionsLimit ?? 3;
|
|
40
|
+
const moduleSessions = projectFile.sessions
|
|
41
|
+
.filter(s => s.module === moduleName && s.status !== 'archived')
|
|
42
|
+
.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime())
|
|
43
|
+
.slice(0, sessionsLimit);
|
|
44
|
+
// 获取该模块的踩坑记录
|
|
45
|
+
const includePitfalls = input.includePitfalls !== false;
|
|
46
|
+
const modulePitfalls = includePitfalls
|
|
47
|
+
? projectFile.pitfalls
|
|
48
|
+
.filter(p => p.module === moduleName)
|
|
49
|
+
.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime())
|
|
50
|
+
: [];
|
|
51
|
+
return {
|
|
52
|
+
project: input.project,
|
|
53
|
+
module: moduleName,
|
|
54
|
+
moduleData,
|
|
55
|
+
recentSessions: moduleSessions.map(s => ({
|
|
56
|
+
sessionId: s.sessionId,
|
|
57
|
+
summary: s.summary,
|
|
58
|
+
createdAt: s.createdAt,
|
|
59
|
+
status: s.status
|
|
60
|
+
})),
|
|
61
|
+
relatedPitfalls: modulePitfalls.map(p => ({
|
|
62
|
+
pitfallId: p.pitfallId,
|
|
63
|
+
problem: p.problem,
|
|
64
|
+
solution: p.solution,
|
|
65
|
+
tags: p.tags,
|
|
66
|
+
createdAt: p.createdAt
|
|
67
|
+
})),
|
|
68
|
+
stats: {
|
|
69
|
+
totalSessions: projectFile.sessions.filter(s => s.module === moduleName).length,
|
|
70
|
+
totalPitfalls: projectFile.pitfalls.filter(p => p.module === moduleName).length,
|
|
71
|
+
totalModules: Object.keys(projectFile.modules).length
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
// ============ Tool 2: save_context ============
|
|
76
|
+
async saveContext(input) {
|
|
77
|
+
let projectFile = await this.storage.loadProjectFile(input.project);
|
|
78
|
+
// 如果项目不存在,创建新项目
|
|
79
|
+
if (!projectFile) {
|
|
80
|
+
projectFile = await this.storage.createProjectFile(input.project);
|
|
81
|
+
}
|
|
82
|
+
// 确定目标模块
|
|
83
|
+
let moduleName = input.module || projectFile.currentModule;
|
|
84
|
+
if (!moduleName && input.moduleUpdate) {
|
|
85
|
+
// 如果传了 moduleUpdate 但没有指定模块,报错
|
|
86
|
+
throw new Error('未指定模块,且项目没有 currentModule');
|
|
87
|
+
}
|
|
88
|
+
const result = {
|
|
89
|
+
success: true,
|
|
90
|
+
project: input.project,
|
|
91
|
+
module: moduleName || 'unknown',
|
|
92
|
+
updates: {
|
|
93
|
+
moduleUpdated: false,
|
|
94
|
+
sessionCreated: undefined,
|
|
95
|
+
pitfallCreated: undefined
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
// 1. 更新模块层
|
|
99
|
+
if (input.moduleUpdate && moduleName) {
|
|
100
|
+
let module = projectFile.modules[moduleName];
|
|
101
|
+
// 如果模块不存在,创建新模块
|
|
102
|
+
if (!module) {
|
|
103
|
+
const now = new Date().toISOString();
|
|
104
|
+
module = {
|
|
105
|
+
name: moduleName,
|
|
106
|
+
status: 'active',
|
|
107
|
+
summary: '',
|
|
108
|
+
todos: [],
|
|
109
|
+
decisions: [],
|
|
110
|
+
techStack: [],
|
|
111
|
+
createdAt: now,
|
|
112
|
+
updatedAt: now
|
|
113
|
+
};
|
|
114
|
+
projectFile.modules[moduleName] = module;
|
|
115
|
+
}
|
|
116
|
+
const update = input.moduleUpdate;
|
|
117
|
+
if (update.status)
|
|
118
|
+
module.status = update.status;
|
|
119
|
+
if (update.summary !== undefined)
|
|
120
|
+
module.summary = update.summary;
|
|
121
|
+
if (update.todos)
|
|
122
|
+
module.todos = update.todos;
|
|
123
|
+
if (update.techStack)
|
|
124
|
+
module.techStack = update.techStack;
|
|
125
|
+
// 追加待办
|
|
126
|
+
if (update.addTodos && update.addTodos.length > 0) {
|
|
127
|
+
module.todos.push(...update.addTodos);
|
|
128
|
+
}
|
|
129
|
+
// 移除待办
|
|
130
|
+
if (update.removeTodos && update.removeTodos.length > 0) {
|
|
131
|
+
module.todos = module.todos.filter(t => !update.removeTodos.includes(t));
|
|
132
|
+
}
|
|
133
|
+
// 添加决策
|
|
134
|
+
if (update.addDecision) {
|
|
135
|
+
module.decisions.push({
|
|
136
|
+
description: update.addDecision.description,
|
|
137
|
+
reason: update.addDecision.reason,
|
|
138
|
+
createdAt: new Date().toISOString()
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
module.updatedAt = new Date().toISOString();
|
|
142
|
+
result.updates.moduleUpdated = true;
|
|
143
|
+
}
|
|
144
|
+
// 2. 创建会话层
|
|
145
|
+
if (input.session && moduleName) {
|
|
146
|
+
const sessionId = nanoid(12);
|
|
147
|
+
const now = new Date().toISOString();
|
|
148
|
+
const session = {
|
|
149
|
+
sessionId,
|
|
150
|
+
project: input.project,
|
|
151
|
+
module: moduleName,
|
|
152
|
+
createdAt: now,
|
|
153
|
+
summary: input.session.note,
|
|
154
|
+
techStack: input.session.techStack || [],
|
|
155
|
+
codeState: input.session.codeState || { modifiedFiles: [] },
|
|
156
|
+
decisions: input.session.decisions || [],
|
|
157
|
+
pitfalls: [],
|
|
158
|
+
todos: input.session.todos || [],
|
|
159
|
+
status: 'active',
|
|
160
|
+
metadata: {
|
|
161
|
+
aiTool: 'unknown',
|
|
162
|
+
version: VERSION
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
projectFile.sessions.push(session);
|
|
166
|
+
result.updates.sessionCreated = sessionId;
|
|
167
|
+
// 自动更新模块 summary(如果传了 session.note)
|
|
168
|
+
const module = projectFile.modules[moduleName];
|
|
169
|
+
if (module) {
|
|
170
|
+
module.summary = input.session.note;
|
|
171
|
+
module.updatedAt = now;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// 3. 创建踩坑层
|
|
175
|
+
if (input.newPitfall && moduleName) {
|
|
176
|
+
const pitfallId = nanoid(12);
|
|
177
|
+
const now = new Date().toISOString();
|
|
178
|
+
const pitfall = {
|
|
179
|
+
pitfallId,
|
|
180
|
+
project: input.project,
|
|
181
|
+
module: moduleName,
|
|
182
|
+
problem: input.newPitfall.problem,
|
|
183
|
+
solution: input.newPitfall.solution,
|
|
184
|
+
tags: input.newPitfall.tags || [],
|
|
185
|
+
createdAt: now
|
|
186
|
+
};
|
|
187
|
+
projectFile.pitfalls.push(pitfall);
|
|
188
|
+
result.updates.pitfallCreated = pitfallId;
|
|
189
|
+
// 关联到最近创建的 session(如果有)
|
|
190
|
+
if (result.updates.sessionCreated) {
|
|
191
|
+
const session = projectFile.sessions.find(s => s.sessionId === result.updates.sessionCreated);
|
|
192
|
+
if (session) {
|
|
193
|
+
session.pitfalls.push({ pitfallId, problem: pitfall.problem });
|
|
194
|
+
pitfall.sessionId = session.sessionId;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
await this.storage.saveProjectFile(projectFile);
|
|
199
|
+
return result;
|
|
200
|
+
}
|
|
201
|
+
// ============ 辅助方法 ============
|
|
202
|
+
async getProjectFile(project) {
|
|
203
|
+
return this.storage.loadProjectFile(project);
|
|
204
|
+
}
|
|
205
|
+
async saveProjectFile(projectFile) {
|
|
206
|
+
return this.storage.saveProjectFile(projectFile);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/managers/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delete Manager - 统一删除操作
|
|
3
|
+
* 实现 delete_data 工具
|
|
4
|
+
*/
|
|
5
|
+
import type { DeleteDataInput, DeleteDataOutput } from '../types.js';
|
|
6
|
+
import { StorageManager } from './storage.js';
|
|
7
|
+
export declare class DeleteManager {
|
|
8
|
+
private storage;
|
|
9
|
+
constructor(storage?: StorageManager);
|
|
10
|
+
deleteData(input: DeleteDataInput): Promise<DeleteDataOutput>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/managers/delete.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAiB;gBAEpB,OAAO,CAAC,EAAE,cAAc;IAI9B,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA6IpE"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delete Manager - 统一删除操作
|
|
3
|
+
* 实现 delete_data 工具
|
|
4
|
+
*/
|
|
5
|
+
import { StorageManager } from './storage.js';
|
|
6
|
+
export class DeleteManager {
|
|
7
|
+
storage;
|
|
8
|
+
constructor(storage) {
|
|
9
|
+
this.storage = storage || new StorageManager();
|
|
10
|
+
}
|
|
11
|
+
async deleteData(input) {
|
|
12
|
+
// 检查互斥参数
|
|
13
|
+
const deleteTargets = [
|
|
14
|
+
input.sessionId,
|
|
15
|
+
input.pitfallId,
|
|
16
|
+
input.moduleName,
|
|
17
|
+
input.entireProject
|
|
18
|
+
].filter(Boolean);
|
|
19
|
+
if (deleteTargets.length === 0) {
|
|
20
|
+
return {
|
|
21
|
+
success: false,
|
|
22
|
+
deletedType: 'project',
|
|
23
|
+
message: '必须指定要删除的内容:sessionId、pitfallId、moduleName 或 entireProject'
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
if (deleteTargets.length > 1) {
|
|
27
|
+
return {
|
|
28
|
+
success: false,
|
|
29
|
+
deletedType: 'project',
|
|
30
|
+
message: '只能指定一种删除类型,参数互斥'
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
// 1. 删除整个项目
|
|
34
|
+
if (input.entireProject) {
|
|
35
|
+
const success = await this.storage.deleteProjectFile(input.project);
|
|
36
|
+
return {
|
|
37
|
+
success,
|
|
38
|
+
deletedType: 'project',
|
|
39
|
+
deletedId: input.project,
|
|
40
|
+
message: success
|
|
41
|
+
? `项目 ${input.project} 已删除`
|
|
42
|
+
: `项目 ${input.project} 不存在`
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
const projectFile = await this.storage.loadProjectFile(input.project);
|
|
46
|
+
if (!projectFile) {
|
|
47
|
+
return {
|
|
48
|
+
success: false,
|
|
49
|
+
deletedType: 'project',
|
|
50
|
+
message: `项目 ${input.project} 不存在`
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
// 2. 删除会话
|
|
54
|
+
if (input.sessionId) {
|
|
55
|
+
const index = projectFile.sessions.findIndex(s => s.sessionId === input.sessionId);
|
|
56
|
+
if (index === -1) {
|
|
57
|
+
return {
|
|
58
|
+
success: false,
|
|
59
|
+
deletedType: 'session',
|
|
60
|
+
deletedId: input.sessionId,
|
|
61
|
+
message: `会话 ${input.sessionId} 不存在`
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
projectFile.sessions.splice(index, 1);
|
|
65
|
+
await this.storage.saveProjectFile(projectFile);
|
|
66
|
+
return {
|
|
67
|
+
success: true,
|
|
68
|
+
deletedType: 'session',
|
|
69
|
+
deletedId: input.sessionId,
|
|
70
|
+
message: `会话 ${input.sessionId} 已删除`
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
// 3. 删除踩坑记录
|
|
74
|
+
if (input.pitfallId) {
|
|
75
|
+
const index = projectFile.pitfalls.findIndex(p => p.pitfallId === input.pitfallId);
|
|
76
|
+
if (index === -1) {
|
|
77
|
+
return {
|
|
78
|
+
success: false,
|
|
79
|
+
deletedType: 'pitfall',
|
|
80
|
+
deletedId: input.pitfallId,
|
|
81
|
+
message: `踩坑记录 ${input.pitfallId} 不存在`
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
projectFile.pitfalls.splice(index, 1);
|
|
85
|
+
await this.storage.saveProjectFile(projectFile);
|
|
86
|
+
return {
|
|
87
|
+
success: true,
|
|
88
|
+
deletedType: 'pitfall',
|
|
89
|
+
deletedId: input.pitfallId,
|
|
90
|
+
message: `踩坑记录 ${input.pitfallId} 已删除`
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
// 4. 删除模块
|
|
94
|
+
if (input.moduleName) {
|
|
95
|
+
if (!projectFile.modules[input.moduleName]) {
|
|
96
|
+
return {
|
|
97
|
+
success: false,
|
|
98
|
+
deletedType: 'module',
|
|
99
|
+
deletedId: input.moduleName,
|
|
100
|
+
message: `模块 ${input.moduleName} 不存在`
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
// 删除模块
|
|
104
|
+
delete projectFile.modules[input.moduleName];
|
|
105
|
+
// 如果删除的是 currentModule,清空它
|
|
106
|
+
if (projectFile.currentModule === input.moduleName) {
|
|
107
|
+
projectFile.currentModule = undefined;
|
|
108
|
+
}
|
|
109
|
+
// 统计关联数据
|
|
110
|
+
const deletedSessions = projectFile.sessions.filter(s => s.module === input.moduleName);
|
|
111
|
+
const deletedPitfalls = projectFile.pitfalls.filter(p => p.module === input.moduleName);
|
|
112
|
+
// 删除关联的会话和踩坑
|
|
113
|
+
projectFile.sessions = projectFile.sessions.filter(s => s.module !== input.moduleName);
|
|
114
|
+
projectFile.pitfalls = projectFile.pitfalls.filter(p => p.module !== input.moduleName);
|
|
115
|
+
await this.storage.saveProjectFile(projectFile);
|
|
116
|
+
return {
|
|
117
|
+
success: true,
|
|
118
|
+
deletedType: 'module',
|
|
119
|
+
deletedId: input.moduleName,
|
|
120
|
+
deletedCount: {
|
|
121
|
+
sessions: deletedSessions.length,
|
|
122
|
+
pitfalls: deletedPitfalls.length
|
|
123
|
+
},
|
|
124
|
+
message: `模块 ${input.moduleName} 已删除,同时删除关联的 ${deletedSessions.length} 个会话和 ${deletedPitfalls.length} 个踩坑记录`
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
// 默认情况
|
|
128
|
+
return {
|
|
129
|
+
success: false,
|
|
130
|
+
deletedType: 'project',
|
|
131
|
+
message: '未知删除类型'
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/managers/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Handoff Manager - 跨 AI 交接
|
|
3
|
+
* 实现 export_handoff 和 import_handoff 工具
|
|
4
|
+
* 支持全量数据的导出和导入
|
|
5
|
+
*/
|
|
6
|
+
import type { ExportHandoffInput, ExportHandoffOutput, ImportHandoffInput, ImportHandoffOutput } from '../types.js';
|
|
7
|
+
import { StorageManager } from './storage.js';
|
|
8
|
+
export declare class HandoffManager {
|
|
9
|
+
private storage;
|
|
10
|
+
constructor(storage?: StorageManager);
|
|
11
|
+
/**
|
|
12
|
+
* 导出交接文档
|
|
13
|
+
* 包含项目的全量数据:所有模块、所有会话、所有踩坑记录
|
|
14
|
+
*/
|
|
15
|
+
exportHandoff(input: ExportHandoffInput): Promise<ExportHandoffOutput | null>;
|
|
16
|
+
/**
|
|
17
|
+
* 导入交接文档
|
|
18
|
+
* 从 Markdown 解析并重建完整的项目结构
|
|
19
|
+
*/
|
|
20
|
+
importHandoff(input: ImportHandoffInput): Promise<ImportHandoffOutput>;
|
|
21
|
+
/**
|
|
22
|
+
* 生成交接文档 Markdown
|
|
23
|
+
* 包含人类可读的摘要 + 机器可解析的 JSON 数据块
|
|
24
|
+
*/
|
|
25
|
+
private generateHandoffMarkdown;
|
|
26
|
+
/**
|
|
27
|
+
* 解析交接文档 Markdown
|
|
28
|
+
* 提取 JSON 数据块并解析
|
|
29
|
+
*/
|
|
30
|
+
private parseHandoffMarkdown;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=handoff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../../src/managers/handoff.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EAKpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAK9C,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAiB;gBAEpB,OAAO,CAAC,EAAE,cAAc;IAIpC;;;OAGG;IACG,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAiCnF;;;OAGG;IACG,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAsE5E;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAkG/B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;CAoC7B"}
|