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.
Files changed (43) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +227 -0
  3. package/dist/index.d.ts +7 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +401 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/managers/context.d.ts +15 -0
  8. package/dist/managers/context.d.ts.map +1 -0
  9. package/dist/managers/context.js +209 -0
  10. package/dist/managers/context.js.map +1 -0
  11. package/dist/managers/delete.d.ts +12 -0
  12. package/dist/managers/delete.d.ts.map +1 -0
  13. package/dist/managers/delete.js +135 -0
  14. package/dist/managers/delete.js.map +1 -0
  15. package/dist/managers/handoff.d.ts +32 -0
  16. package/dist/managers/handoff.d.ts.map +1 -0
  17. package/dist/managers/handoff.js +239 -0
  18. package/dist/managers/handoff.js.map +1 -0
  19. package/dist/managers/module.d.ts +12 -0
  20. package/dist/managers/module.d.ts.map +1 -0
  21. package/dist/managers/module.js +88 -0
  22. package/dist/managers/module.js.map +1 -0
  23. package/dist/managers/pitfall.d.ts +12 -0
  24. package/dist/managers/pitfall.d.ts.map +1 -0
  25. package/dist/managers/pitfall.js +70 -0
  26. package/dist/managers/pitfall.js.map +1 -0
  27. package/dist/managers/session.d.ts +16 -0
  28. package/dist/managers/session.d.ts.map +1 -0
  29. package/dist/managers/session.js +248 -0
  30. package/dist/managers/session.js.map +1 -0
  31. package/dist/managers/storage.d.ts +46 -0
  32. package/dist/managers/storage.d.ts.map +1 -0
  33. package/dist/managers/storage.js +166 -0
  34. package/dist/managers/storage.js.map +1 -0
  35. package/dist/types.d.ts +238 -0
  36. package/dist/types.d.ts.map +1 -0
  37. package/dist/types.js +6 -0
  38. package/dist/types.js.map +1 -0
  39. package/dist/utils/format.d.ts +39 -0
  40. package/dist/utils/format.d.ts.map +1 -0
  41. package/dist/utils/format.js +442 -0
  42. package/dist/utils/format.js.map +1 -0
  43. 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"}