@liangjie559567/ultrapower 7.5.2 → 7.7.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 (167) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +13 -2
  4. package/bridge/mcp-server.cjs +1 -0
  5. package/dist/cli/commands/repair.d.ts +3 -0
  6. package/dist/cli/commands/repair.d.ts.map +1 -0
  7. package/dist/cli/commands/repair.js +130 -0
  8. package/dist/cli/commands/repair.js.map +1 -0
  9. package/dist/features/analytics-dashboard/metrics-collector.d.ts.map +1 -1
  10. package/dist/features/analytics-dashboard/metrics-collector.js +4 -0
  11. package/dist/features/analytics-dashboard/metrics-collector.js.map +1 -1
  12. package/dist/features/analytics-dashboard/storage.d.ts +22 -2
  13. package/dist/features/analytics-dashboard/storage.d.ts.map +1 -1
  14. package/dist/features/analytics-dashboard/storage.js.map +1 -1
  15. package/dist/features/analytics-dashboard/tracker.d.ts.map +1 -1
  16. package/dist/features/analytics-dashboard/tracker.js +14 -2
  17. package/dist/features/analytics-dashboard/tracker.js.map +1 -1
  18. package/dist/features/personalized-recommendation/behavior-tracker.js +1 -1
  19. package/dist/features/personalized-recommendation/behavior-tracker.js.map +1 -1
  20. package/dist/features/personalized-recommendation/recommender.d.ts +1 -1
  21. package/dist/features/personalized-recommendation/recommender.d.ts.map +1 -1
  22. package/dist/features/personalized-recommendation/recommender.js +1 -1
  23. package/dist/features/personalized-recommendation/recommender.js.map +1 -1
  24. package/dist/features/quality-gate/gate-checker.d.ts.map +1 -1
  25. package/dist/features/quality-gate/gate-checker.js +2 -1
  26. package/dist/features/quality-gate/gate-checker.js.map +1 -1
  27. package/dist/hooks/bridge-converter.d.ts +8 -0
  28. package/dist/hooks/bridge-converter.d.ts.map +1 -1
  29. package/dist/hooks/bridge-converter.js +38 -0
  30. package/dist/hooks/bridge-converter.js.map +1 -1
  31. package/dist/hooks/handlers/route-map.js +6 -6
  32. package/dist/hooks/handlers/route-map.js.map +1 -1
  33. package/dist/hooks/handlers/stop-continuation.d.ts.map +1 -1
  34. package/dist/hooks/handlers/stop-continuation.js.map +1 -1
  35. package/dist/hooks/keyword-detector/conflict-resolver.d.ts +16 -0
  36. package/dist/hooks/keyword-detector/conflict-resolver.d.ts.map +1 -0
  37. package/dist/hooks/keyword-detector/conflict-resolver.js +41 -0
  38. package/dist/hooks/keyword-detector/conflict-resolver.js.map +1 -0
  39. package/dist/hooks/persistent-mode/index.js +2 -2
  40. package/dist/hooks/persistent-mode/index.js.map +1 -1
  41. package/dist/hooks/processors/permissionRequest.d.ts.map +1 -1
  42. package/dist/hooks/processors/permissionRequest.js.map +1 -1
  43. package/dist/hooks/ultrawork/index.js +3 -3
  44. package/dist/hooks/ultrawork/index.js.map +1 -1
  45. package/dist/hooks/workflow-gate/index.js +4 -4
  46. package/dist/hooks/workflow-gate/index.js.map +1 -1
  47. package/dist/hud/usage-api.d.ts.map +1 -1
  48. package/dist/hud/usage-api.js +3 -2
  49. package/dist/hud/usage-api.js.map +1 -1
  50. package/dist/index.js +1 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/installer/index.js +1 -1
  53. package/dist/installer/index.js.map +1 -1
  54. package/dist/lib/atomic-write.d.ts.map +1 -1
  55. package/dist/lib/atomic-write.js +23 -2
  56. package/dist/lib/atomic-write.js.map +1 -1
  57. package/dist/lib/auditLog.d.ts +1 -1
  58. package/dist/lib/auditLog.d.ts.map +1 -1
  59. package/dist/lib/crypto.d.ts +3 -0
  60. package/dist/lib/crypto.d.ts.map +1 -0
  61. package/dist/lib/crypto.js +60 -0
  62. package/dist/lib/crypto.js.map +1 -0
  63. package/dist/lib/deadlock-detector.d.ts +21 -0
  64. package/dist/lib/deadlock-detector.d.ts.map +1 -0
  65. package/dist/lib/deadlock-detector.js +74 -0
  66. package/dist/lib/deadlock-detector.js.map +1 -0
  67. package/dist/lib/fs-utils.d.ts +11 -0
  68. package/dist/lib/fs-utils.d.ts.map +1 -0
  69. package/dist/lib/fs-utils.js +32 -0
  70. package/dist/lib/fs-utils.js.map +1 -0
  71. package/dist/lib/logger.d.ts +7 -1
  72. package/dist/lib/logger.d.ts.map +1 -1
  73. package/dist/lib/logger.js +28 -4
  74. package/dist/lib/logger.js.map +1 -1
  75. package/dist/lib/state-adapter.d.ts +3 -2
  76. package/dist/lib/state-adapter.d.ts.map +1 -1
  77. package/dist/lib/state-adapter.js +12 -3
  78. package/dist/lib/state-adapter.js.map +1 -1
  79. package/dist/security/concurrency-control.d.ts +8 -1
  80. package/dist/security/concurrency-control.d.ts.map +1 -1
  81. package/dist/security/concurrency-control.js +22 -0
  82. package/dist/security/concurrency-control.js.map +1 -1
  83. package/dist/security/tenant-isolator.js.map +1 -1
  84. package/dist/state/index.d.ts +2 -0
  85. package/dist/state/index.d.ts.map +1 -1
  86. package/dist/state/index.js +8 -6
  87. package/dist/state/index.js.map +1 -1
  88. package/dist/state/migration/integrity.d.ts.map +1 -1
  89. package/dist/state/migration/integrity.js +1 -2
  90. package/dist/state/migration/integrity.js.map +1 -1
  91. package/dist/tools/lsp-tools.js.map +1 -1
  92. package/dist/workers/sqlite-adapter.d.ts.map +1 -1
  93. package/dist/workers/sqlite-adapter.js.map +1 -1
  94. package/docs/CLAUDE.md +2 -2
  95. package/docs/CODE_BASED_FLOW.md +12 -12
  96. package/docs/COMPATIBILITY.md +1 -1
  97. package/docs/FEATURES.md +16 -16
  98. package/docs/INSTALL.md +4 -4
  99. package/docs/MIGRATION.md +2 -2
  100. package/docs/OMC-CLAUDE.md +1 -1
  101. package/docs/REFERENCE.md +16 -16
  102. package/docs/UPGRADE_VERIFICATION.md +1 -1
  103. package/docs/agent-templates/README.md +2 -2
  104. package/docs/api/media/INSTALL.md +2 -2
  105. package/docs/api/media/MIGRATION.md +2 -2
  106. package/docs/api/media/REFERENCE.md +14 -14
  107. package/docs/api/media/mcp-server-usage.md +4 -4
  108. package/docs/architecture/ultrapower-flow-analysis.md +1 -1
  109. package/docs/audit/direct-write-scan.md +88 -0
  110. package/docs/audit/subagent-stop-scan.md +48 -0
  111. package/docs/dev-experience/README.md +226 -0
  112. package/docs/dev-experience/best-practices.md +364 -0
  113. package/docs/dev-experience/quick-reference.md +114 -0
  114. package/docs/dev-experience/troubleshooting-guide.md +280 -0
  115. package/docs/dev-standards/AGENTS.md +68 -68
  116. package/docs/getting-started/quickstart.md +1 -1
  117. package/docs/glossary.md +174 -0
  118. package/docs/guides/mcp-server-usage.md +4 -4
  119. package/docs/guides/tool-name-migration.md +12 -12
  120. package/docs/mcp/configuration.md +5 -5
  121. package/docs/mcp/performance.md +5 -5
  122. package/docs/mcp-compatibility-matrix.md +1 -1
  123. package/docs/partials/agent-tiers.md +24 -24
  124. package/docs/partials/features.md +1 -1
  125. package/docs/partials/verification-tiers.md +2 -2
  126. package/docs/plans/2026-02-24-superpowers-ultrapower-integration-design.md +2 -2
  127. package/docs/plans/2026-03-02-docs-comprehensive-update.md +16 -16
  128. package/docs/plans/2026-03-05-mcp-adoption-atomic-tasks.md +9 -9
  129. package/docs/plans/2026-03-14-mcp-intelligent-orchestration.md +679 -679
  130. package/docs/plans/2026-03-16-tech-debt-fixes.md +222 -0
  131. package/docs/prd/bugs-pain-points-audit-dag.md +297 -0
  132. package/docs/prd/bugs-pain-points-audit-draft.md +154 -0
  133. package/docs/prd/bugs-pain-points-audit-manifest.md +830 -0
  134. package/docs/prd/bugs-pain-points-audit-rough.md +654 -0
  135. package/docs/reports/tech-debt-verification-2026-03-16.md +87 -0
  136. package/docs/research/deadlock-detection-poc.md +275 -0
  137. package/docs/reviews/bugs-pain-points-audit/review_critic.md +213 -0
  138. package/docs/reviews/bugs-pain-points-audit/review_domain.md +247 -0
  139. package/docs/reviews/bugs-pain-points-audit/review_product.md +189 -0
  140. package/docs/reviews/bugs-pain-points-audit/review_tech.md +382 -0
  141. package/docs/reviews/bugs-pain-points-audit/review_ux.md +161 -0
  142. package/docs/reviews/bugs-pain-points-audit/summary.md +129 -0
  143. package/docs/reviews/bugs-pain-points-audit/tech-debt-v7.6.0-code-review.md +328 -0
  144. package/docs/security/command-injection-scan.md +223 -0
  145. package/docs/security/path-traversal-scan-report.md +229 -0
  146. package/docs/security/sensitive-data-inventory.md +170 -0
  147. package/docs/security/sensitive-data-violations.md +388 -0
  148. package/docs/shared/agent-tiers.md +24 -24
  149. package/docs/shared/features.md +1 -1
  150. package/docs/shared/verification-tiers.md +2 -2
  151. package/docs/standards/README.md +1 -1
  152. package/docs/standards/cascade-failure.md +324 -0
  153. package/docs/standards/runtime-protection.md +7 -0
  154. package/docs/tech-debt/classification.md +190 -0
  155. package/docs/tech-debt/cleanup-report.md +172 -0
  156. package/docs/testing/client-additional-test-fix.md +64 -0
  157. package/docs/testing/concurrent-write-test-fix.md +111 -0
  158. package/docs/testing/coverage-report.md +274 -0
  159. package/docs/testing/phase2-test-coverage-completion.md +223 -0
  160. package/docs/testing/phase2-week3-docs-completion.md +271 -0
  161. package/docs/testing/phase2-week4-observability-completion.md +324 -0
  162. package/docs/testing/phase3-completion.md +324 -0
  163. package/docs/testing/test-fix-progress-2026-03-16.md +75 -0
  164. package/docs/testing/test-fix-summary.md +197 -0
  165. package/docs/testing/timer-buffer-test-fix.md +117 -0
  166. package/docs/troubleshooting.md +1 -1
  167. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"atomic-write.js","sourceRoot":"","sources":["../../src/lib/atomic-write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atomic-write.js","sourceRoot":"","sources":["../../src/lib/atomic-write.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export interface SecurityEvent {
4
4
  timestamp: string;
5
5
  event: SecurityEventType;
6
6
  severity: Severity;
7
- details: any;
7
+ details: Record<string, unknown>;
8
8
  sessionId?: string;
9
9
  }
10
10
  export declare function auditLog(category: string, event: SecurityEvent): void;
@@ -1 +1 @@
1
- {"version":3,"file":"auditLog.d.ts","sourceRoot":"","sources":["../../src/lib/auditLog.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB,6BAA6B,GAC7B,gBAAgB,GAChB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CASrE"}
1
+ {"version":3,"file":"auditLog.d.ts","sourceRoot":"","sources":["../../src/lib/auditLog.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB,6BAA6B,GAC7B,gBAAgB,GAChB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CASrE"}
@@ -0,0 +1,3 @@
1
+ export declare function encryptSensitiveFields(data: any, fields: string[]): any;
2
+ export declare function decryptSensitiveFields(data: any, fields: string[]): any;
3
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/lib/crypto.ts"],"names":[],"mappings":"AAgEA,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAEvE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAEvE"}
@@ -0,0 +1,60 @@
1
+ import { createCipheriv, createDecipheriv, randomBytes } from 'crypto';
2
+ const ALGORITHM = 'aes-256-gcm';
3
+ const IV_LENGTH = 12;
4
+ const AUTH_TAG_LENGTH = 16;
5
+ const KEY_LENGTH = 32;
6
+ function getKey() {
7
+ const key = process.env.OMC_ENCRYPTION_KEY;
8
+ if (!key)
9
+ throw new Error('OMC_ENCRYPTION_KEY not set');
10
+ return Buffer.from(key, 'hex');
11
+ }
12
+ function encrypt(text) {
13
+ const key = getKey();
14
+ const iv = randomBytes(IV_LENGTH);
15
+ const cipher = createCipheriv(ALGORITHM, key, iv);
16
+ const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);
17
+ const authTag = cipher.getAuthTag();
18
+ return Buffer.concat([iv, authTag, encrypted]).toString('base64');
19
+ }
20
+ function decrypt(encrypted) {
21
+ const key = getKey();
22
+ const buffer = Buffer.from(encrypted, 'base64');
23
+ if (buffer.length < IV_LENGTH + AUTH_TAG_LENGTH) {
24
+ throw new Error('Invalid encrypted data');
25
+ }
26
+ const iv = buffer.subarray(0, IV_LENGTH);
27
+ const authTag = buffer.subarray(IV_LENGTH, IV_LENGTH + AUTH_TAG_LENGTH);
28
+ const data = buffer.subarray(IV_LENGTH + AUTH_TAG_LENGTH);
29
+ const decipher = createDecipheriv(ALGORITHM, key, iv);
30
+ decipher.setAuthTag(authTag);
31
+ try {
32
+ return Buffer.concat([decipher.update(data), decipher.final()]).toString('utf8');
33
+ }
34
+ catch (err) {
35
+ throw new Error('Decryption failed: data may be corrupted or tampered');
36
+ }
37
+ }
38
+ function processFields(obj, fields, fn) {
39
+ if (!obj || typeof obj !== 'object')
40
+ return obj;
41
+ const result = Array.isArray(obj) ? [...obj] : { ...obj };
42
+ for (const field of fields) {
43
+ if (field in result && typeof result[field] === 'string') {
44
+ try {
45
+ result[field] = fn(result[field]);
46
+ }
47
+ catch (err) {
48
+ throw err;
49
+ }
50
+ }
51
+ }
52
+ return result;
53
+ }
54
+ export function encryptSensitiveFields(data, fields) {
55
+ return processFields(data, fields, encrypt);
56
+ }
57
+ export function decryptSensitiveFields(data, fields) {
58
+ return processFields(data, fields, decrypt);
59
+ }
60
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/lib/crypto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 死锁检测器 - 使用 DFS 检测依赖循环
3
+ * 生产级实现,包含日志记录和阈值控制
4
+ */
5
+ export declare const DEADLOCK_CHECK_THRESHOLD = 3;
6
+ export interface DeadlockResult {
7
+ hasDeadlock: boolean;
8
+ cycle?: string[];
9
+ }
10
+ export declare class DependencyGraph {
11
+ private adjacencyList;
12
+ addNode(nodeId: string): void;
13
+ addEdge(from: string, to: string): void;
14
+ getDependencies(nodeId: string): string[];
15
+ getNodes(): string[];
16
+ }
17
+ export declare class DeadlockDetector {
18
+ detect(graph: DependencyGraph): DeadlockResult;
19
+ private dfs;
20
+ }
21
+ //# sourceMappingURL=deadlock-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deadlock-detector.d.ts","sourceRoot":"","sources":["../../src/lib/deadlock-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAQ1C,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,aAAa,CAAkC;IAEvD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM7B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAMvC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAIzC,QAAQ,IAAI,MAAM,EAAE;CAGrB;AAED,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,cAAc;IAyB9C,OAAO,CAAC,GAAG;CA2BZ"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * 死锁检测器 - 使用 DFS 检测依赖循环
3
+ * 生产级实现,包含日志记录和阈值控制
4
+ */
5
+ import { logger } from './logger.js';
6
+ export const DEADLOCK_CHECK_THRESHOLD = 3;
7
+ var VisitState;
8
+ (function (VisitState) {
9
+ VisitState[VisitState["Unvisited"] = 0] = "Unvisited";
10
+ VisitState[VisitState["Visiting"] = 1] = "Visiting";
11
+ VisitState[VisitState["Visited"] = 2] = "Visited";
12
+ })(VisitState || (VisitState = {}));
13
+ export class DependencyGraph {
14
+ adjacencyList = new Map();
15
+ addNode(nodeId) {
16
+ if (!this.adjacencyList.has(nodeId)) {
17
+ this.adjacencyList.set(nodeId, new Set());
18
+ }
19
+ }
20
+ addEdge(from, to) {
21
+ this.addNode(from);
22
+ this.addNode(to);
23
+ this.adjacencyList.get(from).add(to);
24
+ }
25
+ getDependencies(nodeId) {
26
+ return Array.from(this.adjacencyList.get(nodeId) || []);
27
+ }
28
+ getNodes() {
29
+ return Array.from(this.adjacencyList.keys());
30
+ }
31
+ }
32
+ export class DeadlockDetector {
33
+ detect(graph) {
34
+ const nodes = graph.getNodes();
35
+ const state = new Map();
36
+ const path = [];
37
+ for (const node of nodes) {
38
+ state.set(node, VisitState.Unvisited);
39
+ }
40
+ for (const node of nodes) {
41
+ if (state.get(node) === VisitState.Unvisited) {
42
+ const cycle = this.dfs(node, graph, state, path);
43
+ if (cycle) {
44
+ logger.warn('Deadlock detected', {
45
+ agents: cycle,
46
+ cyclePath: cycle.join(' → '),
47
+ });
48
+ return { hasDeadlock: true, cycle };
49
+ }
50
+ }
51
+ }
52
+ return { hasDeadlock: false };
53
+ }
54
+ dfs(node, graph, state, path) {
55
+ state.set(node, VisitState.Visiting);
56
+ path.push(node);
57
+ for (const dep of graph.getDependencies(node)) {
58
+ const depState = state.get(dep);
59
+ if (depState === VisitState.Visiting) {
60
+ const cycleStart = path.indexOf(dep);
61
+ return path.slice(cycleStart);
62
+ }
63
+ if (depState === VisitState.Unvisited) {
64
+ const cycle = this.dfs(dep, graph, state, path);
65
+ if (cycle)
66
+ return cycle;
67
+ }
68
+ }
69
+ path.pop();
70
+ state.set(node, VisitState.Visited);
71
+ return null;
72
+ }
73
+ }
74
+ //# sourceMappingURL=deadlock-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deadlock-detector.js","sourceRoot":"","sources":["../../src/lib/deadlock-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Cross-platform file system utilities with Windows EPERM retry logic
3
+ */
4
+ /**
5
+ * Rename file with Windows EPERM retry logic
6
+ * @param oldPath Source path
7
+ * @param newPath Destination path
8
+ * @param maxRetries Maximum retry attempts (default: 3)
9
+ */
10
+ export declare function renameSyncWithRetry(oldPath: string, newPath: string, maxRetries?: number): void;
11
+ //# sourceMappingURL=fs-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../../src/lib/fs-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,IAAI,CAkB1F"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Cross-platform file system utilities with Windows EPERM retry logic
3
+ */
4
+ import { renameSync as fsRenameSync } from 'fs';
5
+ /**
6
+ * Rename file with Windows EPERM retry logic
7
+ * @param oldPath Source path
8
+ * @param newPath Destination path
9
+ * @param maxRetries Maximum retry attempts (default: 3)
10
+ */
11
+ export function renameSyncWithRetry(oldPath, newPath, maxRetries = 3) {
12
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
13
+ try {
14
+ fsRenameSync(oldPath, newPath);
15
+ return;
16
+ }
17
+ catch (err) {
18
+ const error = err;
19
+ if (error.code === 'EPERM' && attempt < maxRetries - 1) {
20
+ const delayMs = 50 * (attempt + 1);
21
+ const start = Date.now();
22
+ while (Date.now() - start < delayMs) {
23
+ // Busy wait for Windows file lock retry
24
+ }
25
+ }
26
+ else {
27
+ throw err;
28
+ }
29
+ }
30
+ }
31
+ }
32
+ //# sourceMappingURL=fs-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs-utils.js","sourceRoot":"","sources":["../../src/lib/fs-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,IAAI,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,OAAe,EAAE,UAAU,GAAG,CAAC;IAClF,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAA4B,CAAC;YAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,OAAO,GAAG,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC;oBACpC,wCAAwC;gBAC1C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,2 +1,8 @@
1
- export declare function security(event: string, data: any): void;
1
+ export declare const logger: {
2
+ info: (message: string, meta?: Record<string, unknown>) => void;
3
+ warn: (message: string, meta?: Record<string, unknown>) => void;
4
+ error: (message: string, meta?: Record<string, unknown>) => void;
5
+ debug: (message: string, meta?: Record<string, unknown>) => void;
6
+ };
7
+ export declare function security(event: string, data: unknown): void;
2
8
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"AAkCA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAYvD"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"AAsDA,eAAO,MAAM,MAAM;oBACD,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBACtC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;qBACrC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;qBACtC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CACxD,CAAC;AAEF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAY3D"}
@@ -1,4 +1,5 @@
1
- import { appendFileSync, existsSync, statSync, renameSync } from 'fs';
1
+ import { appendFileSync, existsSync, statSync } from 'fs';
2
+ import { renameSyncWithRetry } from './fs-utils.js';
2
3
  import { ensureDirSync } from './atomic-write.js';
3
4
  import { join } from 'path';
4
5
  const LOG_PATH = '.omc/logs/security-audit.jsonl';
@@ -7,7 +8,10 @@ const SENSITIVE_FIELDS = ['token', 'apiKey', 'password', 'secret', 'accessToken'
7
8
  function sanitize(data) {
8
9
  if (!data || typeof data !== 'object')
9
10
  return data;
10
- const sanitized = Array.isArray(data) ? [...data] : { ...data };
11
+ if (Array.isArray(data)) {
12
+ return data.map(item => sanitize(item));
13
+ }
14
+ const sanitized = { ...data };
11
15
  for (const key in sanitized) {
12
16
  if (SENSITIVE_FIELDS.some(field => key.toLowerCase().includes(field))) {
13
17
  sanitized[key] = '[REDACTED]';
@@ -28,10 +32,30 @@ function rotate(logPath) {
28
32
  const old = `${logPath}.${i}`;
29
33
  const next = `${logPath}.${i + 1}`;
30
34
  if (existsSync(old))
31
- renameSync(old, next);
35
+ renameSyncWithRetry(old, next);
32
36
  }
33
- renameSync(logPath, `${logPath}.1`);
37
+ renameSyncWithRetry(logPath, `${logPath}.1`);
38
+ }
39
+ const LOG_LEVELS = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
40
+ const currentLevel = LOG_LEVELS[process.env.LOG_LEVEL] ?? LOG_LEVELS.INFO;
41
+ function log(level, message, meta) {
42
+ const levelValue = LOG_LEVELS[level];
43
+ if (levelValue < currentLevel)
44
+ return;
45
+ const entry = JSON.stringify({
46
+ timestamp: new Date().toISOString(),
47
+ level,
48
+ message,
49
+ ...meta
50
+ });
51
+ console.log(entry);
34
52
  }
53
+ export const logger = {
54
+ info: (message, meta) => log('INFO', message, meta),
55
+ warn: (message, meta) => log('WARN', message, meta),
56
+ error: (message, meta) => log('ERROR', message, meta),
57
+ debug: (message, meta) => log('DEBUG', message, meta)
58
+ };
35
59
  export function security(event, data) {
36
60
  const logPath = join(process.cwd(), LOG_PATH);
37
61
  ensureDirSync(join(process.cwd(), '.omc/logs'));
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,QAAQ,GAAG,gCAAgC,CAAC;AAClD,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AAC1C,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;AAEhH,SAAS,QAAQ,CAAC,IAAS;IACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;IAChE,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACtE,SAAS,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;QAChC,CAAC;aAAM,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC9C,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,MAAM,CAAC,OAAe;IAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO;IACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,IAAI,IAAI,QAAQ;QAAE,OAAO;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,UAAU,CAAC,OAAO,EAAE,GAAG,OAAO,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAa,EAAE,IAAS;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,OAAO,CAAC,CAAC;IAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;KACrB,CAAC,GAAG,IAAI,CAAC;IAEV,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,8 @@ export interface StateAdapter<T> {
36
36
  export declare class FileStateAdapter<T> implements StateAdapter<T> {
37
37
  private readonly mode;
38
38
  private readonly directory;
39
- constructor(mode: ValidMode, directory: string);
39
+ private readonly noLegacyFallback;
40
+ constructor(mode: ValidMode, directory: string, noLegacyFallback?: boolean);
40
41
  /**
41
42
  * 获取状态文件路径
42
43
  */
@@ -73,5 +74,5 @@ export declare class FileStateAdapter<T> implements StateAdapter<T> {
73
74
  /**
74
75
  * 创建状态适配器工厂函数
75
76
  */
76
- export declare function createStateAdapter<T>(mode: ValidMode, directory: string): StateAdapter<T>;
77
+ export declare function createStateAdapter<T>(mode: ValidMode, directory: string, noLegacyFallback?: boolean): StateAdapter<T>;
77
78
  //# sourceMappingURL=state-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state-adapter.d.ts","sourceRoot":"","sources":["../../src/lib/state-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAyC,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAM1F;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,WAAW;IACX,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IACnC,mBAAmB;IACnB,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,aAAa;IACb,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChD,WAAW;IACX,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,eAAe;IACf,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,eAAe;IACf,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,gBAAgB;IAChB,IAAI,IAAI,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,gBAAgB,CAAC,CAAC,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM;IAK9C;;OAEG;IACH,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAQnC;;OAEG;IACH,OAAO,CAAC,SAAS;IAYjB;;OAEG;IACH,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IA0BlC;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuB1D;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAmB/C;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAgBlC;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAInC;;OAEG;IACH,IAAI,IAAI,MAAM,EAAE;CAiBjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAEzF"}
1
+ {"version":3,"file":"state-adapter.d.ts","sourceRoot":"","sources":["../../src/lib/state-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAyC,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAM1F;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,WAAW;IACX,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IACnC,mBAAmB;IACnB,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,aAAa;IACb,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChD,WAAW;IACX,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,eAAe;IACf,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,eAAe;IACf,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,gBAAgB;IAChB,IAAI,IAAI,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,gBAAgB,CAAC,CAAC,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;gBAE/B,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,UAAQ;IAMxE;;OAEG;IACH,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAQnC;;OAEG;IACH,OAAO,CAAC,SAAS;IAYjB;;OAEG;IACH,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAiClC;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuB1D;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAmB/C;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAgBlC;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAInC;;OAEG;IACH,IAAI,IAAI,MAAM,EAAE;CAiBjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,UAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAEnH"}
@@ -23,9 +23,11 @@ import { readStateWithCache, invalidateStateCache } from './state-cache.js';
23
23
  export class FileStateAdapter {
24
24
  mode;
25
25
  directory;
26
- constructor(mode, directory) {
26
+ noLegacyFallback;
27
+ constructor(mode, directory, noLegacyFallback = false) {
27
28
  this.mode = assertValidMode(mode);
28
29
  this.directory = resolve(directory);
30
+ this.noLegacyFallback = noLegacyFallback;
29
31
  }
30
32
  /**
31
33
  * 获取状态文件路径
@@ -57,6 +59,13 @@ export class FileStateAdapter {
57
59
  read(sessionId) {
58
60
  const stateFile = this.getPath(sessionId);
59
61
  if (!existsSync(stateFile)) {
62
+ // Fallback: if session-specific file doesn't exist, try legacy path (unless disabled)
63
+ if (sessionId && !this.noLegacyFallback) {
64
+ const legacyPath = this.getPath();
65
+ if (existsSync(legacyPath)) {
66
+ return this.read(); // Read from legacy path
67
+ }
68
+ }
60
69
  return null;
61
70
  }
62
71
  try {
@@ -169,7 +178,7 @@ export class FileStateAdapter {
169
178
  /**
170
179
  * 创建状态适配器工厂函数
171
180
  */
172
- export function createStateAdapter(mode, directory) {
173
- return new FileStateAdapter(mode, directory);
181
+ export function createStateAdapter(mode, directory, noLegacyFallback = false) {
182
+ return new FileStateAdapter(mode, directory, noLegacyFallback);
174
183
  }
175
184
  //# sourceMappingURL=state-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state-adapter.js","sourceRoot":"","sources":["../../src/lib/state-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-adapter.js","sourceRoot":"","sources":["../../src/lib/state-adapter.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  export interface VersionedState {
8
8
  version: number;
9
- data: any;
9
+ data: Record<string, unknown>;
10
10
  timestamp: number;
11
11
  }
12
12
  export interface ConcurrencyConfig {
@@ -39,4 +39,11 @@ export declare class ConcurrencyControl {
39
39
  */
40
40
  detectDeadlocks(): string[];
41
41
  }
42
+ export interface Lock {
43
+ resourceId: string;
44
+ holderId: string;
45
+ controller: ConcurrencyControl;
46
+ }
47
+ export declare function acquireLock(resourceId: string, timeoutMs?: number, controller?: ConcurrencyControl): Promise<Lock>;
48
+ export declare function releaseLock(lock: Lock): Promise<void>;
42
49
  //# sourceMappingURL=concurrency-control.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"concurrency-control.d.ts","sourceRoot":"","sources":["../../src/security/concurrency-control.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAQD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAA4D;IACzE,OAAO,CAAC,MAAM,CAA8B;gBAEhC,MAAM,GAAE,iBAAsB;IAI1C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMrD;;OAEG;IACG,eAAe,CAAC,CAAC,EACrB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC;IAsBb;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBtE;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQvD;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;CAY5B"}
1
+ {"version":3,"file":"concurrency-control.d.ts","sourceRoot":"","sources":["../../src/security/concurrency-control.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAQD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAA4D;IACzE,OAAO,CAAC,MAAM,CAA8B;gBAEhC,MAAM,GAAE,iBAAsB;IAI1C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMrD;;OAEG;IACG,eAAe,CAAC,CAAC,EACrB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC;IAsBb;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBtE;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQvD;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;CAY5B;AAKD,MAAM,WAAW,IAAI;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,GAAE,MAAa,EAAE,UAAU,GAAE,kBAAkC,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB7I;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D"}
@@ -84,4 +84,26 @@ export class ConcurrencyControl {
84
84
  return deadlocked;
85
85
  }
86
86
  }
87
+ // Singleton instance for global lock management
88
+ const globalControl = new ConcurrencyControl();
89
+ export async function acquireLock(resourceId, timeoutMs = 5000, controller = globalControl) {
90
+ const holderId = `${process.pid}-${Date.now()}-${Math.random()}`;
91
+ const startTime = Date.now();
92
+ while (Date.now() - startTime < timeoutMs) {
93
+ try {
94
+ controller.acquireLock(resourceId, holderId);
95
+ return { resourceId, holderId, controller };
96
+ }
97
+ catch (err) {
98
+ if (Date.now() - startTime >= timeoutMs) {
99
+ throw err;
100
+ }
101
+ await new Promise(resolve => setTimeout(resolve, 50));
102
+ }
103
+ }
104
+ throw new Error(`Failed to acquire lock for ${resourceId} within ${timeoutMs}ms`);
105
+ }
106
+ export async function releaseLock(lock) {
107
+ lock.controller.releaseLock(lock.resourceId, lock.holderId);
108
+ }
87
109
  //# sourceMappingURL=concurrency-control.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"concurrency-control.js","sourceRoot":"","sources":["../../src/security/concurrency-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"concurrency-control.js","sourceRoot":"","sources":["../../src/security/concurrency-control.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-isolator.js","sourceRoot":"","sources":["../../src/security/tenant-isolator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAc9D,MAAM,OAAO,cAAc;IACjB,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC1C,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IACzC,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC1C,WAAW,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAE/C,YAAY,CAAC,MAAc,EAAE,KAAoB;QAC/C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,aAAa,CAAC;YACxC,cAAc,EAAE,EAAE;YAClB,WAAW,EAAE,KAAK,CAAC,OAAO;YAC1B,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE;SAC/C,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kBAAkB,CAAC,MAAc;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,aAAa,CAAC,MAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,KAA6B;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"tenant-isolator.js","sourceRoot":"","sources":["../../src/security/tenant-isolator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAc9D,MAAM,OAAO,cAAc;IACjB,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC1C,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IACzC,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC1C,WAAW,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAE/C,YAAY,CAAC,MAAc,EAAE,KAAoB;QAC/C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,aAAa,CAAC;YACxC,cAAc,EAAE,EAAE;YAClB,WAAW,EAAE,KAAK,CAAC,OAAO;YAC1B,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE;SAC/C,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kBAAkB,CAAC,MAAc;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,aAAa,CAAC,MAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,KAA6B;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -7,12 +7,14 @@ import type { ValidMode } from '../lib/validateMode.js';
7
7
  export interface StateManagerOptions {
8
8
  mode: ValidMode;
9
9
  directory: string;
10
+ sessionId?: string;
10
11
  backend?: 'file' | 'sqlite';
11
12
  dualWrite?: boolean;
12
13
  }
13
14
  export declare class StateManager<T = Record<string, unknown>> {
14
15
  private adapter;
15
16
  private options;
17
+ private defaultSessionId?;
16
18
  constructor(options: StateManagerOptions);
17
19
  read(sessionId?: string): T | null;
18
20
  write(data: T, sessionId?: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACnD,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,OAAO,CAAsB;gBAEzB,OAAO,EAAE,mBAAmB;IAMxC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAI5B,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1D,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAI/C,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAIlC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAInC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAInC,IAAI,IAAI,MAAM,EAAE;CAGjB;AAED,wBAAgB,kBAAkB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,OAAO,EAAE,mBAAmB,GAC3B,YAAY,CAAC,CAAC,CAAC,CAEjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACnD,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,OAAO,EAAE,mBAAmB;IAOxC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAI5B,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1D,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAI/C,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAIlC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAInC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAInC,IAAI,IAAI,MAAM,EAAE;CAGjB;AAED,wBAAgB,kBAAkB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,OAAO,EAAE,mBAAmB,GAC3B,YAAY,CAAC,CAAC,CAAC,CAEjB"}
@@ -7,28 +7,30 @@ import { FileStateAdapter } from '../lib/state-adapter.js';
7
7
  export class StateManager {
8
8
  adapter;
9
9
  options;
10
+ defaultSessionId;
10
11
  constructor(options) {
11
12
  this.options = options;
13
+ this.defaultSessionId = options.sessionId;
12
14
  // 当前仅支持文件后端,SQLite 后端预留
13
15
  this.adapter = new FileStateAdapter(options.mode, options.directory);
14
16
  }
15
17
  read(sessionId) {
16
- return this.adapter.read(sessionId);
18
+ return this.adapter.read(sessionId || this.defaultSessionId);
17
19
  }
18
20
  async write(data, sessionId) {
19
- return this.adapter.write(data, sessionId);
21
+ return this.adapter.write(data, sessionId || this.defaultSessionId);
20
22
  }
21
23
  writeSync(data, sessionId) {
22
- return this.adapter.writeSync(data, sessionId);
24
+ return this.adapter.writeSync(data, sessionId || this.defaultSessionId);
23
25
  }
24
26
  clear(sessionId) {
25
- return this.adapter.clear(sessionId);
27
+ return this.adapter.clear(sessionId || this.defaultSessionId);
26
28
  }
27
29
  exists(sessionId) {
28
- return this.adapter.exists(sessionId);
30
+ return this.adapter.exists(sessionId || this.defaultSessionId);
29
31
  }
30
32
  getPath(sessionId) {
31
- return this.adapter.getPath(sessionId);
33
+ return this.adapter.getPath(sessionId || this.defaultSessionId);
32
34
  }
33
35
  list() {
34
36
  return this.adapter.list();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/state/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAqB,MAAM,yBAAyB,CAAC;AAU9E,MAAM,OAAO,YAAY;IACf,OAAO,CAAkB;IACzB,OAAO,CAAsB;IAErC,YAAY,OAA4B;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,wBAAwB;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC,SAAkB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAO,EAAE,SAAkB;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,SAAS,CAAC,IAAO,EAAE,SAAkB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,SAAkB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,SAAkB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,SAAkB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAChC,OAA4B;IAE5B,OAAO,IAAI,YAAY,CAAI,OAAO,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/state/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAqB,MAAM,yBAAyB,CAAC;AAW9E,MAAM,OAAO,YAAY;IACf,OAAO,CAAkB;IACzB,OAAO,CAAsB;IAC7B,gBAAgB,CAAU;IAElC,YAAY,OAA4B;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;QAC1C,wBAAwB;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC,SAAkB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAO,EAAE,SAAkB;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACtE,CAAC;IAED,SAAS,CAAC,IAAO,EAAE,SAAkB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,SAAkB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,SAAkB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,CAAC,SAAkB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClE,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAChC,OAA4B;IAE5B,OAAO,IAAI,YAAY,CAAI,OAAO,CAAC,CAAC;AACtC,CAAC"}