@creatoria/miniapp-mcp 0.1.3 → 0.2.0

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 (246) hide show
  1. package/README.md +14 -3
  2. package/dist/app/cli/index.d.ts +6 -0
  3. package/dist/app/cli/index.d.ts.map +1 -0
  4. package/dist/app/cli/index.js +6 -0
  5. package/dist/app/cli/index.js.map +1 -0
  6. package/dist/app/index.d.ts +6 -0
  7. package/dist/app/index.d.ts.map +1 -0
  8. package/dist/app/index.js +6 -0
  9. package/dist/app/index.js.map +1 -0
  10. package/dist/app/server/index.d.ts +7 -0
  11. package/dist/app/server/index.d.ts.map +1 -0
  12. package/dist/app/server/index.js +6 -0
  13. package/dist/app/server/index.js.map +1 -0
  14. package/dist/capabilities/assert/index.d.ts +5 -0
  15. package/dist/capabilities/assert/index.d.ts.map +1 -0
  16. package/dist/capabilities/assert/index.js +5 -0
  17. package/dist/capabilities/assert/index.js.map +1 -0
  18. package/dist/capabilities/automator/index.d.ts +6 -0
  19. package/dist/capabilities/automator/index.d.ts.map +1 -0
  20. package/dist/capabilities/automator/index.js +6 -0
  21. package/dist/capabilities/automator/index.js.map +1 -0
  22. package/dist/capabilities/automator/schemas/close.d.ts +5 -0
  23. package/dist/capabilities/automator/schemas/close.d.ts.map +1 -0
  24. package/dist/capabilities/automator/schemas/close.js +11 -0
  25. package/dist/capabilities/automator/schemas/close.js.map +1 -0
  26. package/dist/capabilities/automator/schemas/connect.d.ts +11 -0
  27. package/dist/capabilities/automator/schemas/connect.d.ts.map +1 -0
  28. package/dist/capabilities/automator/schemas/connect.js +19 -0
  29. package/dist/capabilities/automator/schemas/connect.js.map +1 -0
  30. package/dist/capabilities/automator/schemas/disconnect.d.ts +5 -0
  31. package/dist/capabilities/automator/schemas/disconnect.d.ts.map +1 -0
  32. package/dist/capabilities/automator/schemas/disconnect.js +11 -0
  33. package/dist/capabilities/automator/schemas/disconnect.js.map +1 -0
  34. package/dist/capabilities/automator/schemas/index.d.ts +4 -0
  35. package/dist/capabilities/automator/schemas/index.d.ts.map +1 -0
  36. package/dist/capabilities/automator/schemas/index.js +12 -0
  37. package/dist/capabilities/automator/schemas/index.js.map +1 -0
  38. package/dist/capabilities/automator/schemas/launch.d.ts +17 -0
  39. package/dist/capabilities/automator/schemas/launch.d.ts.map +1 -0
  40. package/dist/capabilities/automator/schemas/launch.js +26 -0
  41. package/dist/capabilities/automator/schemas/launch.js.map +1 -0
  42. package/dist/capabilities/element/index.d.ts +5 -0
  43. package/dist/capabilities/element/index.d.ts.map +1 -0
  44. package/dist/capabilities/element/index.js +5 -0
  45. package/dist/capabilities/element/index.js.map +1 -0
  46. package/dist/capabilities/index.d.ts +15 -0
  47. package/dist/capabilities/index.d.ts.map +1 -0
  48. package/dist/capabilities/index.js +14 -0
  49. package/dist/capabilities/index.js.map +1 -0
  50. package/dist/capabilities/miniprogram/index.d.ts +5 -0
  51. package/dist/capabilities/miniprogram/index.d.ts.map +1 -0
  52. package/dist/capabilities/miniprogram/index.js +5 -0
  53. package/dist/capabilities/miniprogram/index.js.map +1 -0
  54. package/dist/capabilities/network/index.d.ts +5 -0
  55. package/dist/capabilities/network/index.d.ts.map +1 -0
  56. package/dist/capabilities/network/index.js +5 -0
  57. package/dist/capabilities/network/index.js.map +1 -0
  58. package/dist/capabilities/page/index.d.ts +5 -0
  59. package/dist/capabilities/page/index.d.ts.map +1 -0
  60. package/dist/capabilities/page/index.js +5 -0
  61. package/dist/capabilities/page/index.js.map +1 -0
  62. package/dist/capabilities/record/index.d.ts +5 -0
  63. package/dist/capabilities/record/index.d.ts.map +1 -0
  64. package/dist/capabilities/record/index.js +5 -0
  65. package/dist/capabilities/record/index.js.map +1 -0
  66. package/dist/capabilities/schema-registry.d.ts +4 -0
  67. package/dist/capabilities/schema-registry.d.ts.map +1 -0
  68. package/dist/capabilities/schema-registry.js +18 -0
  69. package/dist/capabilities/schema-registry.js.map +1 -0
  70. package/dist/capabilities/schema-types.d.ts +22 -0
  71. package/dist/capabilities/schema-types.d.ts.map +1 -0
  72. package/dist/capabilities/schema-types.js +2 -0
  73. package/dist/capabilities/schema-types.js.map +1 -0
  74. package/dist/capabilities/snapshot/index.d.ts +5 -0
  75. package/dist/capabilities/snapshot/index.d.ts.map +1 -0
  76. package/dist/capabilities/snapshot/index.js +5 -0
  77. package/dist/capabilities/snapshot/index.js.map +1 -0
  78. package/dist/config/loader.js +1 -1
  79. package/dist/config/loader.js.map +1 -1
  80. package/dist/core/element-ref.d.ts +1 -43
  81. package/dist/core/element-ref.d.ts.map +1 -1
  82. package/dist/core/element-ref.js +1 -212
  83. package/dist/core/element-ref.js.map +1 -1
  84. package/dist/core/logger.d.ts +1 -54
  85. package/dist/core/logger.d.ts.map +1 -1
  86. package/dist/core/logger.js +1 -377
  87. package/dist/core/logger.js.map +1 -1
  88. package/dist/core/output.d.ts +1 -20
  89. package/dist/core/output.d.ts.map +1 -1
  90. package/dist/core/output.js +1 -55
  91. package/dist/core/output.js.map +1 -1
  92. package/dist/core/report-generator.d.ts +1 -23
  93. package/dist/core/report-generator.d.ts.map +1 -1
  94. package/dist/core/report-generator.js +1 -211
  95. package/dist/core/report-generator.js.map +1 -1
  96. package/dist/core/session.d.ts +2 -82
  97. package/dist/core/session.d.ts.map +1 -1
  98. package/dist/core/session.js +2 -305
  99. package/dist/core/session.js.map +1 -1
  100. package/dist/core/timeout.d.ts +1 -48
  101. package/dist/core/timeout.d.ts.map +1 -1
  102. package/dist/core/timeout.js +1 -66
  103. package/dist/core/timeout.js.map +1 -1
  104. package/dist/core/tool-logger.d.ts +1 -82
  105. package/dist/core/tool-logger.d.ts.map +1 -1
  106. package/dist/core/tool-logger.js +1 -452
  107. package/dist/core/tool-logger.js.map +1 -1
  108. package/dist/core/validation.d.ts +1 -38
  109. package/dist/core/validation.d.ts.map +1 -1
  110. package/dist/core/validation.js +1 -92
  111. package/dist/core/validation.js.map +1 -1
  112. package/dist/runtime/element/element-ref.d.ts +44 -0
  113. package/dist/runtime/element/element-ref.d.ts.map +1 -0
  114. package/dist/runtime/element/element-ref.js +214 -0
  115. package/dist/runtime/element/element-ref.js.map +1 -0
  116. package/dist/runtime/element/index.d.ts +2 -0
  117. package/dist/runtime/element/index.d.ts.map +1 -0
  118. package/dist/runtime/element/index.js +2 -0
  119. package/dist/runtime/element/index.js.map +1 -0
  120. package/dist/runtime/index.d.ts +10 -0
  121. package/dist/runtime/index.d.ts.map +1 -0
  122. package/dist/runtime/index.js +10 -0
  123. package/dist/runtime/index.js.map +1 -0
  124. package/dist/runtime/logging/index.d.ts +3 -0
  125. package/dist/runtime/logging/index.d.ts.map +1 -0
  126. package/dist/runtime/logging/index.js +3 -0
  127. package/dist/runtime/logging/index.js.map +1 -0
  128. package/dist/runtime/logging/logger.d.ts +55 -0
  129. package/dist/runtime/logging/logger.d.ts.map +1 -0
  130. package/dist/runtime/logging/logger.js +379 -0
  131. package/dist/runtime/logging/logger.js.map +1 -0
  132. package/dist/runtime/logging/tool-logger.d.ts +83 -0
  133. package/dist/runtime/logging/tool-logger.d.ts.map +1 -0
  134. package/dist/runtime/logging/tool-logger.js +454 -0
  135. package/dist/runtime/logging/tool-logger.js.map +1 -0
  136. package/dist/runtime/outputs/index.d.ts +3 -0
  137. package/dist/runtime/outputs/index.d.ts.map +1 -0
  138. package/dist/runtime/outputs/index.js +3 -0
  139. package/dist/runtime/outputs/index.js.map +1 -0
  140. package/dist/runtime/outputs/output-manager.d.ts +12 -0
  141. package/dist/runtime/outputs/output-manager.d.ts.map +1 -0
  142. package/dist/runtime/outputs/output-manager.js +39 -0
  143. package/dist/runtime/outputs/output-manager.js.map +1 -0
  144. package/dist/runtime/outputs/report-generator.d.ts +5 -0
  145. package/dist/runtime/outputs/report-generator.d.ts.map +1 -0
  146. package/dist/runtime/outputs/report-generator.js +175 -0
  147. package/dist/runtime/outputs/report-generator.js.map +1 -0
  148. package/dist/runtime/session/index.d.ts +3 -0
  149. package/dist/runtime/session/index.d.ts.map +1 -0
  150. package/dist/runtime/session/index.js +3 -0
  151. package/dist/runtime/session/index.js.map +1 -0
  152. package/dist/runtime/session/store.d.ts +28 -0
  153. package/dist/runtime/session/store.d.ts.map +1 -0
  154. package/dist/runtime/session/store.js +154 -0
  155. package/dist/runtime/session/store.js.map +1 -0
  156. package/dist/runtime/session/utils/cleanup.d.ts +3 -0
  157. package/dist/runtime/session/utils/cleanup.d.ts.map +1 -0
  158. package/dist/runtime/session/utils/cleanup.js +78 -0
  159. package/dist/runtime/session/utils/cleanup.js.map +1 -0
  160. package/dist/runtime/timeout/index.d.ts +2 -0
  161. package/dist/runtime/timeout/index.d.ts.map +1 -0
  162. package/dist/runtime/timeout/index.js +2 -0
  163. package/dist/runtime/timeout/index.js.map +1 -0
  164. package/dist/runtime/timeout/timeout.d.ts +49 -0
  165. package/dist/runtime/timeout/timeout.d.ts.map +1 -0
  166. package/dist/runtime/timeout/timeout.js +67 -0
  167. package/dist/runtime/timeout/timeout.js.map +1 -0
  168. package/dist/runtime/validation/index.d.ts +2 -0
  169. package/dist/runtime/validation/index.d.ts.map +1 -0
  170. package/dist/runtime/validation/index.js +2 -0
  171. package/dist/runtime/validation/index.js.map +1 -0
  172. package/dist/runtime/validation/validation.d.ts +39 -0
  173. package/dist/runtime/validation/validation.d.ts.map +1 -0
  174. package/dist/runtime/validation/validation.js +93 -0
  175. package/dist/runtime/validation/validation.js.map +1 -0
  176. package/dist/schemas/automator/miniprogram_close.json +12 -0
  177. package/dist/schemas/automator/miniprogram_connect.json +19 -0
  178. package/dist/schemas/automator/miniprogram_disconnect.json +12 -0
  179. package/dist/schemas/automator/miniprogram_launch.json +30 -0
  180. package/dist/server.js +1 -1
  181. package/dist/server.js.map +1 -1
  182. package/dist/tools/index.js +1 -1
  183. package/dist/tools/index.js.map +1 -1
  184. package/dist/tools/miniprogram.d.ts +0 -1
  185. package/dist/tools/miniprogram.d.ts.map +1 -1
  186. package/dist/tools/miniprogram.js +17 -29
  187. package/dist/tools/miniprogram.js.map +1 -1
  188. package/dist/tools/page.js +2 -2
  189. package/dist/tools/page.js.map +1 -1
  190. package/docs/directory-structure-and-code-style-best-practices.md +91 -0
  191. package/docs/migration/README.md +34 -0
  192. package/docs/migration/TC-ALIGN-01-notes.md +35 -0
  193. package/docs/migration/runtime-skeleton.md +50 -0
  194. package/docs/migration/tool-schema-strategy.md +75 -0
  195. package/docs//345/256/214/346/225/264/345/256/236/347/216/260/346/226/271/346/241/210.md +14 -14
  196. package/docs//347/254/254/344/270/200/347/211/210/346/234/254/346/226/271/346/241/210.md +7 -7
  197. package/package.json +4 -2
  198. package/docs/SIMPLE_USAGE.md +0 -210
  199. package/docs/architecture.E-Docs.md +0 -1359
  200. package/docs/architecture.F1.md +0 -720
  201. package/docs/architecture.F2.md +0 -871
  202. package/docs/architecture.F3.md +0 -905
  203. package/docs/architecture.md +0 -90
  204. package/docs/charter.A1.align.yaml +0 -170
  205. package/docs/charter.A2.align.yaml +0 -199
  206. package/docs/charter.A3.align.yaml +0 -242
  207. package/docs/charter.A4.align.yaml +0 -227
  208. package/docs/charter.B1.align.yaml +0 -179
  209. package/docs/charter.B2.align.yaml +0 -200
  210. package/docs/charter.B3.align.yaml +0 -200
  211. package/docs/charter.B4.align.yaml +0 -188
  212. package/docs/charter.C1.align.yaml +0 -190
  213. package/docs/charter.C2.align.yaml +0 -202
  214. package/docs/charter.C3.align.yaml +0 -211
  215. package/docs/charter.C4.align.yaml +0 -263
  216. package/docs/charter.C5.align.yaml +0 -220
  217. package/docs/charter.D1.align.yaml +0 -190
  218. package/docs/charter.D2.align.yaml +0 -234
  219. package/docs/charter.D3.align.yaml +0 -206
  220. package/docs/charter.E-Docs.align.yaml +0 -294
  221. package/docs/charter.F1.align.yaml +0 -193
  222. package/docs/charter.F2.align.yaml +0 -248
  223. package/docs/charter.F3.align.yaml +0 -287
  224. package/docs/charter.G.align.yaml +0 -174
  225. package/docs/charter.align.yaml +0 -111
  226. package/docs/maintenance.md +0 -682
  227. package/docs/playwright-mcp/350/260/203/347/240/224.md +0 -53
  228. package/docs/setup-guide.md +0 -775
  229. package/docs/tasks.A1.atomize.md +0 -296
  230. package/docs/tasks.A2.atomize.md +0 -408
  231. package/docs/tasks.A3.atomize.md +0 -564
  232. package/docs/tasks.A4.atomize.md +0 -496
  233. package/docs/tasks.B1.atomize.md +0 -352
  234. package/docs/tasks.B2.atomize.md +0 -561
  235. package/docs/tasks.B3.atomize.md +0 -508
  236. package/docs/tasks.B4.atomize.md +0 -504
  237. package/docs/tasks.C1.atomize.md +0 -540
  238. package/docs/tasks.C2.atomize.md +0 -665
  239. package/docs/tasks.C3.atomize.md +0 -745
  240. package/docs/tasks.C4.atomize.md +0 -908
  241. package/docs/tasks.C5.atomize.md +0 -755
  242. package/docs/tasks.D1.atomize.md +0 -547
  243. package/docs/tasks.D2.atomize.md +0 -619
  244. package/docs/tasks.D3.atomize.md +0 -790
  245. package/docs/tasks.E-Docs.atomize.md +0 -1204
  246. package/docs/tasks.atomize.md +0 -189
@@ -1,212 +1,2 @@
1
- /**
2
- * Session report generator (F3)
3
- *
4
- * Generates JSON and Markdown reports from session tool call data
5
- */
6
- /**
7
- * Calculate summary statistics from tool call records
8
- */
9
- function calculateSummary(toolCalls) {
10
- if (toolCalls.length === 0) {
11
- return {
12
- totalCalls: 0,
13
- successCount: 0,
14
- failureCount: 0,
15
- successRate: 0,
16
- avgDuration: 0,
17
- maxDuration: 0,
18
- minDuration: 0,
19
- };
20
- }
21
- const successCount = toolCalls.filter((call) => call.success).length;
22
- const failureCount = toolCalls.length - successCount;
23
- const durations = toolCalls.map((call) => call.duration);
24
- return {
25
- totalCalls: toolCalls.length,
26
- successCount,
27
- failureCount,
28
- successRate: toolCalls.length > 0 ? successCount / toolCalls.length : 0,
29
- avgDuration: durations.reduce((sum, d) => sum + d, 0) / durations.length,
30
- maxDuration: Math.max(...durations),
31
- minDuration: Math.min(...durations),
32
- };
33
- }
34
- /**
35
- * Generate JSON session report
36
- */
37
- export function generateSessionReport(session) {
38
- if (!session.reportData) {
39
- throw new Error('Session report data not initialized');
40
- }
41
- const { reportData } = session;
42
- const endTime = reportData.endTime || new Date();
43
- const duration = endTime.getTime() - reportData.startTime.getTime();
44
- const summary = calculateSummary(reportData.toolCalls);
45
- // Extract failures for dedicated section
46
- const failures = reportData.toolCalls
47
- .filter((call) => !call.success && call.error)
48
- .map((call) => ({
49
- toolName: call.toolName,
50
- timestamp: call.timestamp.toISOString(),
51
- error: call.error.message,
52
- snapshotPath: call.error.snapshotPath,
53
- }));
54
- return {
55
- sessionId: session.sessionId,
56
- startTime: reportData.startTime.toISOString(),
57
- endTime: endTime.toISOString(),
58
- duration,
59
- summary,
60
- toolCalls: reportData.toolCalls.map((call) => ({
61
- ...call,
62
- timestamp: call.timestamp,
63
- })),
64
- failures,
65
- };
66
- }
67
- /**
68
- * Format duration in human-readable format
69
- */
70
- function formatDuration(ms) {
71
- if (ms < 1000) {
72
- return `${ms}ms`;
73
- }
74
- if (ms < 60000) {
75
- return `${(ms / 1000).toFixed(1)}s`;
76
- }
77
- const minutes = Math.floor(ms / 60000);
78
- const seconds = Math.floor((ms % 60000) / 1000);
79
- return `${minutes}m ${seconds}s`;
80
- }
81
- /**
82
- * Format percentage
83
- */
84
- function formatPercent(value) {
85
- return `${(value * 100).toFixed(0)}%`;
86
- }
87
- /**
88
- * Format timestamp for display
89
- */
90
- function formatTimestamp(date) {
91
- return date.toISOString().replace('T', ' ').replace('Z', '').split('.')[0];
92
- }
93
- function calculateToolStats(toolCalls) {
94
- const statsMap = new Map();
95
- for (const call of toolCalls) {
96
- const existing = statsMap.get(call.toolName);
97
- if (!existing) {
98
- statsMap.set(call.toolName, {
99
- toolName: call.toolName,
100
- calls: 1,
101
- success: call.success ? 1 : 0,
102
- failure: call.success ? 0 : 1,
103
- avgDuration: call.duration,
104
- });
105
- }
106
- else {
107
- existing.calls++;
108
- existing.success += call.success ? 1 : 0;
109
- existing.failure += call.success ? 0 : 1;
110
- existing.avgDuration =
111
- (existing.avgDuration * (existing.calls - 1) + call.duration) / existing.calls;
112
- }
113
- }
114
- return Array.from(statsMap.values()).sort((a, b) => b.calls - a.calls);
115
- }
116
- /**
117
- * Generate Markdown session report
118
- */
119
- export function generateMarkdownReport(report) {
120
- const lines = [];
121
- // Header
122
- lines.push(`# Session Report: ${report.sessionId}`);
123
- lines.push('');
124
- // Summary
125
- lines.push('## Summary');
126
- lines.push(`- **Duration**: ${formatDuration(report.duration)}`);
127
- lines.push(`- **Total Calls**: ${report.summary.totalCalls}`);
128
- lines.push(`- **Success Rate**: ${formatPercent(report.summary.successRate)} (${report.summary.successCount}/${report.summary.totalCalls})`);
129
- lines.push(`- **Average Duration**: ${formatDuration(report.summary.avgDuration)}`);
130
- lines.push('');
131
- // Tool Call Statistics
132
- if (report.toolCalls.length > 0) {
133
- lines.push('## Tool Call Statistics');
134
- lines.push('| Tool Name | Calls | Success | Failure | Avg Duration |');
135
- lines.push('|-----------|-------|---------|---------|--------------|');
136
- const toolStats = calculateToolStats(report.toolCalls);
137
- for (const stats of toolStats) {
138
- lines.push(`| ${stats.toolName} | ${stats.calls} | ${stats.success} | ${stats.failure} | ${formatDuration(stats.avgDuration)} |`);
139
- }
140
- lines.push('');
141
- }
142
- // Failures
143
- if (report.failures.length > 0) {
144
- lines.push('## Failures');
145
- for (let i = 0; i < report.failures.length; i++) {
146
- const failure = report.failures[i];
147
- lines.push(`### ${i + 1}. ${failure.toolName}`);
148
- lines.push(`- **Time**: ${formatTimestamp(new Date(failure.timestamp))}`);
149
- lines.push(`- **Error**: ${failure.error}`);
150
- if (failure.snapshotPath) {
151
- lines.push(`- **Snapshot**: [${failure.snapshotPath}](${failure.snapshotPath})`);
152
- }
153
- lines.push('');
154
- }
155
- }
156
- // Timeline
157
- if (report.toolCalls.length > 0) {
158
- lines.push('## Timeline');
159
- lines.push('| Time | Tool | Status | Duration |');
160
- lines.push('|------|------|--------|----------|');
161
- for (const call of report.toolCalls) {
162
- const status = call.success ? '✅' : '❌';
163
- const time = formatTimestamp(call.timestamp);
164
- lines.push(`| ${time} | ${call.toolName} | ${status} | ${formatDuration(call.duration)} |`);
165
- }
166
- lines.push('');
167
- }
168
- return lines.join('\n');
169
- }
170
- /**
171
- * Generate and save session reports (JSON + Markdown)
172
- *
173
- * Called automatically when session is disposed.
174
- * Fire-and-forget pattern - errors are logged but not thrown.
175
- *
176
- * @param session Session state with reportData
177
- */
178
- export async function generateAndSaveReports(session) {
179
- if (!session.reportData) {
180
- // Reporting not enabled for this session
181
- return;
182
- }
183
- if (!session.outputManager) {
184
- session.logger?.warn('Cannot generate report: outputManager not available');
185
- return;
186
- }
187
- try {
188
- // Set end time
189
- session.reportData.endTime = new Date();
190
- // Generate reports
191
- const jsonReport = generateSessionReport(session);
192
- const markdownReport = generateMarkdownReport(jsonReport);
193
- // F3-P1: Save both reports in parallel for better performance
194
- const [jsonPath, mdPath] = await Promise.all([
195
- session.outputManager.writeFile('report.json', Buffer.from(JSON.stringify(jsonReport, null, 2))),
196
- session.outputManager.writeFile('report.md', markdownReport),
197
- ]);
198
- session.logger?.info('Session reports generated', {
199
- jsonPath,
200
- mdPath,
201
- totalCalls: jsonReport.summary.totalCalls,
202
- successRate: jsonReport.summary.successRate,
203
- });
204
- }
205
- catch (error) {
206
- session.logger?.error('Failed to generate session reports', {
207
- error: error instanceof Error ? error.message : String(error),
208
- });
209
- // Don't throw - report generation failure shouldn't block session cleanup
210
- }
211
- }
1
+ export { generateSessionReport, generateMarkdownReport, generateAndSaveReports, } from '../runtime/outputs/report-generator.js';
212
2
  //# sourceMappingURL=report-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"report-generator.js","sourceRoot":"","sources":["../../src/core/report-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report-generator.js","sourceRoot":"","sources":["../../src/core/report-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,wCAAwC,CAAA"}
@@ -1,83 +1,3 @@
1
- /**
2
- * Session management for MCP connections
3
- * Each session maintains isolated state for miniProgram instances and elements
4
- */
5
- import type { SessionState, SessionConfig, SessionMetrics, LoggerConfig } from '../types.js';
6
- export declare class SessionStore {
7
- private sessions;
8
- private sessionTimeout;
9
- private outputDir;
10
- private loggerConfig?;
11
- private enableSessionReport;
12
- private cleanupInterval?;
13
- constructor(config?: {
14
- sessionTimeout?: number;
15
- outputDir?: string;
16
- loggerConfig?: LoggerConfig;
17
- enableSessionReport?: boolean;
18
- });
19
- /**
20
- * Get session by ID
21
- */
22
- get(sessionId: string): SessionState | undefined;
23
- /**
24
- * Set session state
25
- */
26
- set(sessionId: string, state: SessionState): void;
27
- /**
28
- * Cleanup session resources (internal helper)
29
- *
30
- * @throws AggregateError if cleanup operations fail
31
- */
32
- private cleanupSessionResources;
33
- /**
34
- * Delete session and cleanup resources
35
- *
36
- * Properly cleans up all async resources:
37
- * - Disconnects from miniProgram
38
- * - Kills IDE process and waits for exit
39
- * - Clears element cache
40
- *
41
- * @throws AggregateError if cleanup operations fail
42
- */
43
- delete(sessionId: string): Promise<void>;
44
- /**
45
- * Check if session exists
46
- */
47
- has(sessionId: string): boolean;
48
- /**
49
- * Dispose all sessions
50
- *
51
- * Async method to properly cleanup all resources
52
- */
53
- dispose(): Promise<void>;
54
- /**
55
- * Get or create session
56
- */
57
- getOrCreate(sessionId: string, config?: SessionConfig): SessionState;
58
- /**
59
- * Update session activity timestamp
60
- */
61
- updateActivity(sessionId: string): void;
62
- /**
63
- * Check if session has expired
64
- */
65
- private isSessionExpired;
66
- /**
67
- * Cleanup expired sessions periodically
68
- */
69
- private startCleanupTimer;
70
- /**
71
- * Get session metrics for monitoring
72
- */
73
- getMetrics(): SessionMetrics;
74
- /**
75
- * Get all session IDs
76
- */
77
- getAllSessionIds(): string[];
78
- /**
79
- * Clear expired sessions manually
80
- */
81
- cleanupExpired(): Promise<number>;
82
- }
1
+ export { SessionStore } from '../runtime/session/store.js';
2
+ export { cleanupSessionResources } from '../runtime/session/utils/cleanup.js';
83
3
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQ5F,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,eAAe,CAAC,CAAgB;gBAGtC,MAAM,GAAE;QACN,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,YAAY,CAAC,EAAE,YAAY,CAAA;QAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;KACzB;IAWR;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAehD;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAIjD;;;;OAIG;YACW,uBAAuB;IAyFrC;;;;;;;;;OASG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9C;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI/B;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB9B;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,YAAY;IAgCpE;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAOvC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8BzB;;OAEG;IACH,UAAU,IAAI,cAAc;IA2B5B;;OAEG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAI5B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;CAoBxC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA"}
@@ -1,306 +1,3 @@
1
- /**
2
- * Session management for MCP connections
3
- * Each session maintains isolated state for miniProgram instances and elements
4
- */
5
- import { join } from 'path';
6
- import { createLogger } from './logger.js';
7
- import { createOutputManager } from './output.js';
8
- import { generateAndSaveReports } from './report-generator.js';
9
- const DEFAULT_SESSION_TIMEOUT = 30 * 60 * 1000; // 30 minutes
10
- const DEFAULT_OUTPUT_DIR = '.mcp-artifacts';
11
- export class SessionStore {
12
- sessions = new Map();
13
- sessionTimeout;
14
- outputDir;
15
- loggerConfig;
16
- enableSessionReport;
17
- cleanupInterval;
18
- constructor(config = {}) {
19
- this.sessionTimeout = config.sessionTimeout || DEFAULT_SESSION_TIMEOUT;
20
- this.outputDir = config.outputDir || DEFAULT_OUTPUT_DIR;
21
- this.loggerConfig = config.loggerConfig;
22
- this.enableSessionReport = config.enableSessionReport || false;
23
- // Start periodic cleanup of timed-out sessions
24
- this.startCleanupTimer();
25
- }
26
- /**
27
- * Get session by ID
28
- */
29
- get(sessionId) {
30
- const session = this.sessions.get(sessionId);
31
- if (session && this.isSessionExpired(session)) {
32
- console.error(`Session ${sessionId} has expired, cleaning up...`);
33
- // Remove from map immediately (synchronous)
34
- this.sessions.delete(sessionId);
35
- // Fire-and-forget cleanup of resources (async operation)
36
- void this.cleanupSessionResources(session, sessionId).catch((error) => {
37
- console.error(`Failed to cleanup expired session ${sessionId}:`, error);
38
- });
39
- return undefined;
40
- }
41
- return session;
42
- }
43
- /**
44
- * Set session state
45
- */
46
- set(sessionId, state) {
47
- this.sessions.set(sessionId, state);
48
- }
49
- /**
50
- * Cleanup session resources (internal helper)
51
- *
52
- * @throws AggregateError if cleanup operations fail
53
- */
54
- async cleanupSessionResources(session, sessionId) {
55
- const errors = [];
56
- // F3: Generate session reports before cleanup (fire-and-forget)
57
- if (session.reportData) {
58
- try {
59
- await generateAndSaveReports(session);
60
- console.error(`Session reports generated for ${sessionId}`);
61
- }
62
- catch (error) {
63
- // Don't add to errors - report generation failure shouldn't block cleanup
64
- console.error(`Failed to generate session reports for ${sessionId}:`, error);
65
- }
66
- }
67
- // Issue #5: Dispose logger after report generation (to capture report logs)
68
- if (session.logger?.dispose) {
69
- try {
70
- await session.logger.dispose();
71
- console.error(`Logger disposed for session ${sessionId}`);
72
- }
73
- catch (error) {
74
- const err = error instanceof Error ? error : new Error(String(error));
75
- errors.push(new Error(`Failed to dispose logger: ${err.message}`));
76
- console.error(`Failed to dispose logger for session ${sessionId}:`, error);
77
- }
78
- }
79
- // Clean up miniProgram instance (async operation)
80
- if (session.miniProgram) {
81
- try {
82
- if (typeof session.miniProgram.disconnect === 'function') {
83
- await session.miniProgram.disconnect();
84
- }
85
- console.error(`Disconnected miniProgram for session ${sessionId}`);
86
- }
87
- catch (error) {
88
- const err = error instanceof Error ? error : new Error(String(error));
89
- errors.push(new Error(`Failed to disconnect miniProgram: ${err.message}`));
90
- console.error(`Failed to disconnect miniProgram for session ${sessionId}:`, error);
91
- }
92
- }
93
- // Clean up IDE process (async operation - wait for exit)
94
- const ideProcess = session.ideProcess;
95
- if (ideProcess) {
96
- try {
97
- if (typeof ideProcess.kill === 'function') {
98
- // Wait for process to actually exit (only if once method exists)
99
- if (typeof ideProcess.once === 'function') {
100
- await new Promise((resolve, reject) => {
101
- const timeout = setTimeout(() => {
102
- reject(new Error('IDE process did not exit within 5 seconds'));
103
- }, 5000);
104
- ideProcess.once('exit', () => {
105
- clearTimeout(timeout);
106
- resolve();
107
- });
108
- ideProcess.kill();
109
- });
110
- }
111
- else {
112
- // For test mocks or processes without event emitter
113
- ideProcess.kill();
114
- }
115
- }
116
- console.error(`Killed IDE process for session ${sessionId}`);
117
- }
118
- catch (error) {
119
- const err = error instanceof Error ? error : new Error(String(error));
120
- errors.push(new Error(`Failed to kill IDE process: ${err.message}`));
121
- console.error(`Failed to kill IDE process for session ${sessionId}:`, error);
122
- }
123
- }
124
- // Clear element cache (sync operation)
125
- try {
126
- session.elements.clear();
127
- }
128
- catch (error) {
129
- const err = error instanceof Error ? error : new Error(String(error));
130
- errors.push(new Error(`Failed to clear element cache: ${err.message}`));
131
- }
132
- // If there were any errors, throw AggregateError
133
- if (errors.length > 0) {
134
- console.error(`Session ${sessionId} cleanup completed with ${errors.length} error(s)`);
135
- throw new AggregateError(errors, `Session cleanup had ${errors.length} error(s)`);
136
- }
137
- console.error(`Session ${sessionId} cleaned up successfully`);
138
- }
139
- /**
140
- * Delete session and cleanup resources
141
- *
142
- * Properly cleans up all async resources:
143
- * - Disconnects from miniProgram
144
- * - Kills IDE process and waits for exit
145
- * - Clears element cache
146
- *
147
- * @throws AggregateError if cleanup operations fail
148
- */
149
- async delete(sessionId) {
150
- const session = this.sessions.get(sessionId);
151
- if (!session) {
152
- this.sessions.delete(sessionId);
153
- return;
154
- }
155
- // Remove from session map first
156
- this.sessions.delete(sessionId);
157
- // Cleanup resources
158
- await this.cleanupSessionResources(session, sessionId);
159
- }
160
- /**
161
- * Check if session exists
162
- */
163
- has(sessionId) {
164
- return this.sessions.has(sessionId);
165
- }
166
- /**
167
- * Dispose all sessions
168
- *
169
- * Async method to properly cleanup all resources
170
- */
171
- async dispose() {
172
- if (this.cleanupInterval) {
173
- clearInterval(this.cleanupInterval);
174
- this.cleanupInterval = undefined;
175
- }
176
- // Delete all sessions in parallel
177
- const deletions = Array.from(this.sessions.keys()).map((sessionId) => this.delete(sessionId).catch((error) => {
178
- console.error(`Failed to delete session ${sessionId} during dispose:`, error);
179
- }));
180
- await Promise.all(deletions);
181
- console.error('All sessions disposed');
182
- }
183
- /**
184
- * Get or create session
185
- */
186
- getOrCreate(sessionId, config) {
187
- let session = this.get(sessionId);
188
- if (!session) {
189
- const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
190
- const outputDir = join(this.outputDir, `${sessionId}-${timestamp}`);
191
- const now = new Date();
192
- session = {
193
- sessionId,
194
- pages: [],
195
- elements: new Map(),
196
- outputDir,
197
- createdAt: now,
198
- lastActivity: now,
199
- config,
200
- logger: createLogger(sessionId, this.loggerConfig),
201
- loggerConfig: this.loggerConfig,
202
- outputManager: createOutputManager(outputDir),
203
- // F3: Initialize report data if enabled
204
- reportData: this.enableSessionReport
205
- ? {
206
- toolCalls: [],
207
- startTime: now,
208
- }
209
- : undefined,
210
- };
211
- this.set(sessionId, session);
212
- console.error(`Created new session: ${sessionId}`);
213
- }
214
- return session;
215
- }
216
- /**
217
- * Update session activity timestamp
218
- */
219
- updateActivity(sessionId) {
220
- const session = this.get(sessionId);
221
- if (session) {
222
- session.lastActivity = new Date();
223
- }
224
- }
225
- /**
226
- * Check if session has expired
227
- */
228
- isSessionExpired(session) {
229
- const now = Date.now();
230
- const lastActivity = session.lastActivity.getTime();
231
- return now - lastActivity > this.sessionTimeout;
232
- }
233
- /**
234
- * Cleanup expired sessions periodically
235
- */
236
- startCleanupTimer() {
237
- // Check every 5 minutes
238
- this.cleanupInterval = setInterval(async () => {
239
- const expiredSessions = [];
240
- for (const [sessionId, session] of this.sessions.entries()) {
241
- if (this.isSessionExpired(session)) {
242
- expiredSessions.push(sessionId);
243
- }
244
- }
245
- if (expiredSessions.length > 0) {
246
- console.error(`Cleaning up ${expiredSessions.length} expired sessions`);
247
- // Delete expired sessions in parallel with error handling
248
- const deletions = expiredSessions.map((sessionId) => this.delete(sessionId).catch((error) => {
249
- console.error(`Failed to delete expired session ${sessionId}:`, error);
250
- }));
251
- await Promise.all(deletions);
252
- }
253
- }, 5 * 60 * 1000); // 5 minutes
254
- // Don't block process exit
255
- this.cleanupInterval.unref();
256
- }
257
- /**
258
- * Get session metrics for monitoring
259
- */
260
- getMetrics() {
261
- const sessions = Array.from(this.sessions.values());
262
- let oldestSession;
263
- let totalElements = 0;
264
- if (sessions.length > 0) {
265
- const oldest = sessions.reduce((prev, curr) => prev.createdAt < curr.createdAt ? prev : curr);
266
- oldestSession = {
267
- sessionId: oldest.sessionId,
268
- age: Date.now() - oldest.createdAt.getTime(),
269
- };
270
- }
271
- for (const session of sessions) {
272
- totalElements += session.elements.size;
273
- }
274
- return {
275
- totalSessions: this.sessions.size,
276
- activeSessions: sessions.filter((s) => !this.isSessionExpired(s)).length,
277
- oldestSession,
278
- totalElements,
279
- };
280
- }
281
- /**
282
- * Get all session IDs
283
- */
284
- getAllSessionIds() {
285
- return Array.from(this.sessions.keys());
286
- }
287
- /**
288
- * Clear expired sessions manually
289
- */
290
- async cleanupExpired() {
291
- const expiredSessions = [];
292
- for (const [sessionId, session] of this.sessions.entries()) {
293
- if (this.isSessionExpired(session)) {
294
- expiredSessions.push(sessionId);
295
- }
296
- }
297
- // Delete all expired sessions in parallel
298
- await Promise.all(expiredSessions.map((sessionId) => this.delete(sessionId).catch((error) => {
299
- console.error(`Failed to delete expired session ${sessionId}:`, error);
300
- })));
301
- return expiredSessions.length;
302
- }
303
- }
304
- // Note: sessionStore should be created in server.ts with proper configuration
305
- // This allows outputDir and other options to be configured via ServerConfig
1
+ export { SessionStore } from '../runtime/session/store.js';
2
+ export { cleanupSessionResources } from '../runtime/session/utils/cleanup.js';
306
3
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA"}