agent-ide 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/analysis/complexity-analyzer.d.ts.map +1 -1
- package/dist/core/analysis/complexity-analyzer.js +3 -2
- package/dist/core/analysis/complexity-analyzer.js.map +1 -1
- package/dist/core/analysis/dead-code-detector.d.ts +34 -10
- package/dist/core/analysis/dead-code-detector.d.ts.map +1 -1
- package/dist/core/analysis/dead-code-detector.js +121 -82
- package/dist/core/analysis/dead-code-detector.js.map +1 -1
- package/dist/core/analysis/index.d.ts +1 -1
- package/dist/core/analysis/index.d.ts.map +1 -1
- package/dist/core/dependency/dependency-analyzer.d.ts.map +1 -1
- package/dist/core/dependency/dependency-analyzer.js +11 -4
- package/dist/core/dependency/dependency-analyzer.js.map +1 -1
- package/dist/core/indexing/index-engine.d.ts +9 -0
- package/dist/core/indexing/index-engine.d.ts.map +1 -1
- package/dist/core/indexing/index-engine.js +60 -1
- package/dist/core/indexing/index-engine.js.map +1 -1
- package/dist/core/refactor/extract-function.d.ts +26 -4
- package/dist/core/refactor/extract-function.d.ts.map +1 -1
- package/dist/core/refactor/extract-function.js +300 -48
- package/dist/core/refactor/extract-function.js.map +1 -1
- package/dist/infrastructure/parser/base.d.ts +10 -0
- package/dist/infrastructure/parser/base.d.ts.map +1 -1
- package/dist/infrastructure/parser/base.js +39 -0
- package/dist/infrastructure/parser/base.js.map +1 -1
- package/dist/infrastructure/parser/interface.d.ts +12 -0
- package/dist/infrastructure/parser/interface.d.ts.map +1 -1
- package/dist/infrastructure/parser/interface.js +2 -0
- package/dist/infrastructure/parser/interface.js.map +1 -1
- package/dist/interfaces/cli/cli.d.ts +13 -1
- package/dist/interfaces/cli/cli.d.ts.map +1 -1
- package/dist/interfaces/cli/cli.js +155 -15
- package/dist/interfaces/cli/cli.js.map +1 -1
- package/dist/interfaces/cli/output-formatter.d.ts +55 -0
- package/dist/interfaces/cli/output-formatter.d.ts.map +1 -0
- package/dist/interfaces/cli/output-formatter.js +195 -0
- package/dist/interfaces/cli/output-formatter.js.map +1 -0
- package/dist/plugins/javascript/parser.d.ts +10 -0
- package/dist/plugins/javascript/parser.d.ts.map +1 -1
- package/dist/plugins/javascript/parser.js +62 -0
- package/dist/plugins/javascript/parser.js.map +1 -1
- package/dist/plugins/typescript/parser.d.ts +10 -0
- package/dist/plugins/typescript/parser.d.ts.map +1 -1
- package/dist/plugins/typescript/parser.js +59 -0
- package/dist/plugins/typescript/parser.js.map +1 -1
- package/package.json +8 -14
- package/dist/core/performance/analyzer.d.ts +0 -62
- package/dist/core/performance/analyzer.d.ts.map +0 -1
- package/dist/core/performance/analyzer.js +0 -378
- package/dist/core/performance/analyzer.js.map +0 -1
- package/dist/core/performance/cache-manager.d.ts +0 -161
- package/dist/core/performance/cache-manager.d.ts.map +0 -1
- package/dist/core/performance/cache-manager.js +0 -375
- package/dist/core/performance/cache-manager.js.map +0 -1
- package/dist/core/performance/index.d.ts +0 -14
- package/dist/core/performance/index.d.ts.map +0 -1
- package/dist/core/performance/index.js +0 -17
- package/dist/core/performance/index.js.map +0 -1
- package/dist/core/performance/interfaces.d.ts +0 -188
- package/dist/core/performance/interfaces.d.ts.map +0 -1
- package/dist/core/performance/interfaces.js +0 -17
- package/dist/core/performance/interfaces.js.map +0 -1
- package/dist/core/performance/memory-manager.d.ts +0 -176
- package/dist/core/performance/memory-manager.d.ts.map +0 -1
- package/dist/core/performance/memory-manager.js +0 -364
- package/dist/core/performance/memory-manager.js.map +0 -1
- package/dist/core/performance/monitor.d.ts +0 -92
- package/dist/core/performance/monitor.d.ts.map +0 -1
- package/dist/core/performance/monitor.js +0 -228
- package/dist/core/performance/monitor.js.map +0 -1
- package/dist/plugins/swift/index.d.ts +0 -11
- package/dist/plugins/swift/index.d.ts.map +0 -1
- package/dist/plugins/swift/index.js +0 -15
- package/dist/plugins/swift/index.js.map +0 -1
- package/dist/plugins/swift/parser.d.ts +0 -98
- package/dist/plugins/swift/parser.d.ts.map +0 -1
- package/dist/plugins/swift/parser.js +0 -612
- package/dist/plugins/swift/parser.js.map +0 -1
- package/dist/plugins/swift/types.d.ts +0 -196
- package/dist/plugins/swift/types.d.ts.map +0 -1
- package/dist/plugins/swift/types.js +0 -268
- package/dist/plugins/swift/types.js.map +0 -1
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Performance 模組介面定義
|
|
3
|
-
* 定義效能分析的核心資料結構和介面
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* 效能指標
|
|
7
|
-
*/
|
|
8
|
-
export interface PerformanceMetrics {
|
|
9
|
-
/** 執行時間(毫秒) */
|
|
10
|
-
duration: number;
|
|
11
|
-
/** 記憶體使用量(位元組) */
|
|
12
|
-
memoryUsage: number;
|
|
13
|
-
/** CPU 使用率(百分比) */
|
|
14
|
-
cpuUsage?: number;
|
|
15
|
-
/** 吞吐量(每秒操作數) */
|
|
16
|
-
throughput?: number;
|
|
17
|
-
/** 延遲(毫秒) */
|
|
18
|
-
latency?: number;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* 檔案效能分析結果
|
|
22
|
-
*/
|
|
23
|
-
export interface FilePerformanceInfo {
|
|
24
|
-
/** 檔案路徑 */
|
|
25
|
-
filePath: string;
|
|
26
|
-
/** 檔案大小(位元組) */
|
|
27
|
-
fileSize: number;
|
|
28
|
-
/** 解析時間(毫秒) */
|
|
29
|
-
parseTime: number;
|
|
30
|
-
/** 函式數量 */
|
|
31
|
-
functionCount: number;
|
|
32
|
-
/** 類別數量 */
|
|
33
|
-
classCount: number;
|
|
34
|
-
/** 長函式數量 */
|
|
35
|
-
longFunctionCount: number;
|
|
36
|
-
/** 嵌套深度 */
|
|
37
|
-
nestingDepth: number;
|
|
38
|
-
/** 循環複雜度 */
|
|
39
|
-
cyclomaticComplexity: number;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* 效能問題類型
|
|
43
|
-
*/
|
|
44
|
-
export declare enum PerformanceIssueType {
|
|
45
|
-
LARGE_FILE = "large_file",
|
|
46
|
-
LONG_FUNCTION = "long_function",
|
|
47
|
-
DEEP_NESTING = "deep_nesting",
|
|
48
|
-
HIGH_COMPLEXITY = "high_complexity",
|
|
49
|
-
NESTED_LOOPS = "nested_loops",
|
|
50
|
-
MEMORY_INTENSIVE = "memory_intensive"
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* 效能問題
|
|
54
|
-
*/
|
|
55
|
-
export interface PerformanceIssue {
|
|
56
|
-
/** 問題類型 */
|
|
57
|
-
type: PerformanceIssueType;
|
|
58
|
-
/** 嚴重程度 (1-10) */
|
|
59
|
-
severity: number;
|
|
60
|
-
/** 檔案路徑 */
|
|
61
|
-
filePath: string;
|
|
62
|
-
/** 位置資訊 */
|
|
63
|
-
location?: {
|
|
64
|
-
line: number;
|
|
65
|
-
column: number;
|
|
66
|
-
};
|
|
67
|
-
/** 問題描述 */
|
|
68
|
-
message: string;
|
|
69
|
-
/** 建議修復方案 */
|
|
70
|
-
suggestions: string[];
|
|
71
|
-
/** 指標值 */
|
|
72
|
-
value: number;
|
|
73
|
-
/** 閾值 */
|
|
74
|
-
threshold: number;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* 效能分析配置
|
|
78
|
-
*/
|
|
79
|
-
export interface PerformanceAnalysisConfig {
|
|
80
|
-
/** 大檔案閾值(位元組) */
|
|
81
|
-
largeFileThreshold: number;
|
|
82
|
-
/** 長函式閾值(行數) */
|
|
83
|
-
longFunctionThreshold: number;
|
|
84
|
-
/** 深度嵌套閾值 */
|
|
85
|
-
deepNestingThreshold: number;
|
|
86
|
-
/** 高複雜度閾值 */
|
|
87
|
-
highComplexityThreshold: number;
|
|
88
|
-
/** 記憶體限制(位元組) */
|
|
89
|
-
memoryLimit?: number;
|
|
90
|
-
/** 是否啟用詳細模式 */
|
|
91
|
-
verbose: boolean;
|
|
92
|
-
/** 是否啟用快取 */
|
|
93
|
-
enableCache: boolean;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* 效能分析結果
|
|
97
|
-
*/
|
|
98
|
-
export interface PerformanceAnalysisResult {
|
|
99
|
-
/** 分析指標 */
|
|
100
|
-
metrics: PerformanceMetrics;
|
|
101
|
-
/** 檔案分析結果 */
|
|
102
|
-
fileResults: FilePerformanceInfo[];
|
|
103
|
-
/** 發現的問題 */
|
|
104
|
-
issues: PerformanceIssue[];
|
|
105
|
-
/** 總結統計 */
|
|
106
|
-
summary: {
|
|
107
|
-
totalFiles: number;
|
|
108
|
-
totalSize: number;
|
|
109
|
-
averageFileSize: number;
|
|
110
|
-
largeFileCount: number;
|
|
111
|
-
longFunctionCount: number;
|
|
112
|
-
highComplexityCount: number;
|
|
113
|
-
overallScore: number;
|
|
114
|
-
};
|
|
115
|
-
/** 建議 */
|
|
116
|
-
recommendations: string[];
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* 記憶體快照
|
|
120
|
-
*/
|
|
121
|
-
export interface MemorySnapshot {
|
|
122
|
-
/** 快照時間 */
|
|
123
|
-
timestamp: Date;
|
|
124
|
-
/** 堆記憶體使用量 */
|
|
125
|
-
heapUsed: number;
|
|
126
|
-
/** 堆記憶體總量 */
|
|
127
|
-
heapTotal: number;
|
|
128
|
-
/** 常駐集記憶體 */
|
|
129
|
-
rss: number;
|
|
130
|
-
/** 外部記憶體 */
|
|
131
|
-
external: number;
|
|
132
|
-
/** 陣列緩衝區 */
|
|
133
|
-
arrayBuffers: number;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* 快取統計
|
|
137
|
-
*/
|
|
138
|
-
export interface CacheStatistics {
|
|
139
|
-
/** 快取命中次數 */
|
|
140
|
-
hits: number;
|
|
141
|
-
/** 快取未命中次數 */
|
|
142
|
-
misses: number;
|
|
143
|
-
/** 快取命中率 */
|
|
144
|
-
hitRate: number;
|
|
145
|
-
/** 快取大小 */
|
|
146
|
-
size: number;
|
|
147
|
-
/** 快取項目數 */
|
|
148
|
-
itemCount: number;
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* 效能監控器介面
|
|
152
|
-
*/
|
|
153
|
-
export interface PerformanceMonitor {
|
|
154
|
-
/**
|
|
155
|
-
* 開始監控
|
|
156
|
-
*/
|
|
157
|
-
start(): void;
|
|
158
|
-
/**
|
|
159
|
-
* 停止監控
|
|
160
|
-
*/
|
|
161
|
-
stop(): PerformanceMetrics;
|
|
162
|
-
/**
|
|
163
|
-
* 記錄記憶體快照
|
|
164
|
-
*/
|
|
165
|
-
recordMemorySnapshot(): MemorySnapshot;
|
|
166
|
-
/**
|
|
167
|
-
* 獲取當前指標
|
|
168
|
-
*/
|
|
169
|
-
getCurrentMetrics(): PerformanceMetrics;
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* 效能分析器介面
|
|
173
|
-
*/
|
|
174
|
-
export interface PerformanceAnalyzer {
|
|
175
|
-
/**
|
|
176
|
-
* 分析檔案效能
|
|
177
|
-
*/
|
|
178
|
-
analyzeFile(filePath: string, config?: PerformanceAnalysisConfig): Promise<FilePerformanceInfo>;
|
|
179
|
-
/**
|
|
180
|
-
* 分析專案效能
|
|
181
|
-
*/
|
|
182
|
-
analyzeProject(projectPath: string, config?: PerformanceAnalysisConfig): Promise<PerformanceAnalysisResult>;
|
|
183
|
-
/**
|
|
184
|
-
* 檢測效能問題
|
|
185
|
-
*/
|
|
186
|
-
detectIssues(fileInfo: FilePerformanceInfo, config: PerformanceAnalysisConfig): PerformanceIssue[];
|
|
187
|
-
}
|
|
188
|
-
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/core/performance/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Performance 模組介面定義
|
|
3
|
-
* 定義效能分析的核心資料結構和介面
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* 效能問題類型
|
|
7
|
-
*/
|
|
8
|
-
export var PerformanceIssueType;
|
|
9
|
-
(function (PerformanceIssueType) {
|
|
10
|
-
PerformanceIssueType["LARGE_FILE"] = "large_file";
|
|
11
|
-
PerformanceIssueType["LONG_FUNCTION"] = "long_function";
|
|
12
|
-
PerformanceIssueType["DEEP_NESTING"] = "deep_nesting";
|
|
13
|
-
PerformanceIssueType["HIGH_COMPLEXITY"] = "high_complexity";
|
|
14
|
-
PerformanceIssueType["NESTED_LOOPS"] = "nested_loops";
|
|
15
|
-
PerformanceIssueType["MEMORY_INTENSIVE"] = "memory_intensive";
|
|
16
|
-
})(PerformanceIssueType || (PerformanceIssueType = {}));
|
|
17
|
-
//# sourceMappingURL=interfaces.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/core/performance/interfaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwCH;;GAEG;AACH,MAAM,CAAN,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,iDAAyB,CAAA;IACzB,uDAA+B,CAAA;IAC/B,qDAA6B,CAAA;IAC7B,2DAAmC,CAAA;IACnC,qDAA6B,CAAA;IAC7B,6DAAqC,CAAA;AACvC,CAAC,EAPW,oBAAoB,KAApB,oBAAoB,QAO/B"}
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Performance Memory Manager
|
|
3
|
-
* 提供記憶體監控、管理和優化功能
|
|
4
|
-
*/
|
|
5
|
-
import { MemorySnapshot } from './interfaces.js';
|
|
6
|
-
/**
|
|
7
|
-
* 記憶體閾值配置
|
|
8
|
-
*/
|
|
9
|
-
export interface MemoryThresholds {
|
|
10
|
-
/** 警告閾值(位元組) */
|
|
11
|
-
warning: number;
|
|
12
|
-
/** 錯誤閾值(位元組) */
|
|
13
|
-
error: number;
|
|
14
|
-
/** 最大堆大小(位元組) */
|
|
15
|
-
maxHeapSize?: number;
|
|
16
|
-
/** GC 觸發閾值(位元組) */
|
|
17
|
-
gcThreshold?: number;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* 記憶體使用統計
|
|
21
|
-
*/
|
|
22
|
-
export interface MemoryUsageStats {
|
|
23
|
-
/** 當前記憶體使用 */
|
|
24
|
-
current: MemorySnapshot;
|
|
25
|
-
/** 峰值記憶體使用 */
|
|
26
|
-
peak: MemorySnapshot;
|
|
27
|
-
/** 平均記憶體使用 */
|
|
28
|
-
average: MemorySnapshot;
|
|
29
|
-
/** GC 次數 */
|
|
30
|
-
gcCount: number;
|
|
31
|
-
/** 記憶體洩漏檢測結果 */
|
|
32
|
-
leakDetection: {
|
|
33
|
-
suspected: boolean;
|
|
34
|
-
growthRate: number;
|
|
35
|
-
stableTime: number;
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* 記憶體管理配置
|
|
40
|
-
*/
|
|
41
|
-
export interface MemoryManagerConfig {
|
|
42
|
-
/** 記憶體閾值 */
|
|
43
|
-
thresholds: MemoryThresholds;
|
|
44
|
-
/** 監控間隔(毫秒) */
|
|
45
|
-
monitoringInterval: number;
|
|
46
|
-
/** 快照保留數量 */
|
|
47
|
-
maxSnapshots: number;
|
|
48
|
-
/** 自動 GC */
|
|
49
|
-
autoGc: boolean;
|
|
50
|
-
/** 洩漏檢測 */
|
|
51
|
-
leakDetection: boolean;
|
|
52
|
-
/** 記憶體限制 */
|
|
53
|
-
memoryLimit?: number;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* 預設記憶體管理配置
|
|
57
|
-
*/
|
|
58
|
-
export declare const DEFAULT_MEMORY_CONFIG: MemoryManagerConfig;
|
|
59
|
-
/**
|
|
60
|
-
* 記憶體事件類型
|
|
61
|
-
*/
|
|
62
|
-
export declare enum MemoryEventType {
|
|
63
|
-
WARNING = "warning",
|
|
64
|
-
ERROR = "error",
|
|
65
|
-
GC_TRIGGERED = "gc_triggered",
|
|
66
|
-
LEAK_DETECTED = "leak_detected",
|
|
67
|
-
LIMIT_EXCEEDED = "limit_exceeded"
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* 記憶體事件
|
|
71
|
-
*/
|
|
72
|
-
export interface MemoryEvent {
|
|
73
|
-
type: MemoryEventType;
|
|
74
|
-
timestamp: Date;
|
|
75
|
-
snapshot: MemorySnapshot;
|
|
76
|
-
message: string;
|
|
77
|
-
data?: any;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* 記憶體事件監聽器
|
|
81
|
-
*/
|
|
82
|
-
export type MemoryEventListener = (event: MemoryEvent) => void;
|
|
83
|
-
/**
|
|
84
|
-
* 效能記憶體管理器
|
|
85
|
-
*/
|
|
86
|
-
export declare class PerformanceMemoryManager {
|
|
87
|
-
private config;
|
|
88
|
-
private snapshots;
|
|
89
|
-
private listeners;
|
|
90
|
-
private monitoringTimer?;
|
|
91
|
-
private isMonitoring;
|
|
92
|
-
private gcCount;
|
|
93
|
-
private peakSnapshot?;
|
|
94
|
-
constructor(config?: Partial<MemoryManagerConfig>);
|
|
95
|
-
/**
|
|
96
|
-
* 開始記憶體監控
|
|
97
|
-
*/
|
|
98
|
-
startMonitoring(): void;
|
|
99
|
-
/**
|
|
100
|
-
* 停止記憶體監控
|
|
101
|
-
*/
|
|
102
|
-
stopMonitoring(): void;
|
|
103
|
-
/**
|
|
104
|
-
* 記錄記憶體快照
|
|
105
|
-
*/
|
|
106
|
-
recordSnapshot(): MemorySnapshot;
|
|
107
|
-
/**
|
|
108
|
-
* 獲取當前記憶體快照
|
|
109
|
-
*/
|
|
110
|
-
getCurrentSnapshot(): MemorySnapshot;
|
|
111
|
-
/**
|
|
112
|
-
* 獲取記憶體使用統計
|
|
113
|
-
*/
|
|
114
|
-
getUsageStats(): MemoryUsageStats;
|
|
115
|
-
/**
|
|
116
|
-
* 檢查記憶體使用量
|
|
117
|
-
*/
|
|
118
|
-
private checkMemoryUsage;
|
|
119
|
-
/**
|
|
120
|
-
* 觸發垃圾回收
|
|
121
|
-
*/
|
|
122
|
-
triggerGarbageCollection(): boolean;
|
|
123
|
-
/**
|
|
124
|
-
* 檢測記憶體洩漏
|
|
125
|
-
*/
|
|
126
|
-
private detectMemoryLeak;
|
|
127
|
-
/**
|
|
128
|
-
* 計算記憶體穩定時間
|
|
129
|
-
*/
|
|
130
|
-
private calculateStableTime;
|
|
131
|
-
/**
|
|
132
|
-
* 計算變異數
|
|
133
|
-
*/
|
|
134
|
-
private calculateVariance;
|
|
135
|
-
/**
|
|
136
|
-
* 計算平均記憶體快照
|
|
137
|
-
*/
|
|
138
|
-
private calculateAverageSnapshot;
|
|
139
|
-
/**
|
|
140
|
-
* 註冊事件監聽器
|
|
141
|
-
*/
|
|
142
|
-
on(eventType: MemoryEventType, listener: MemoryEventListener): void;
|
|
143
|
-
/**
|
|
144
|
-
* 移除事件監聽器
|
|
145
|
-
*/
|
|
146
|
-
off(eventType: MemoryEventType, listener: MemoryEventListener): void;
|
|
147
|
-
/**
|
|
148
|
-
* 發送事件
|
|
149
|
-
*/
|
|
150
|
-
private emitEvent;
|
|
151
|
-
/**
|
|
152
|
-
* 獲取記憶體快照歷史
|
|
153
|
-
*/
|
|
154
|
-
getSnapshots(): MemorySnapshot[];
|
|
155
|
-
/**
|
|
156
|
-
* 清理快照歷史
|
|
157
|
-
*/
|
|
158
|
-
clearSnapshots(): void;
|
|
159
|
-
/**
|
|
160
|
-
* 格式化位元組數
|
|
161
|
-
*/
|
|
162
|
-
private formatBytes;
|
|
163
|
-
/**
|
|
164
|
-
* 獲取記憶體使用建議
|
|
165
|
-
*/
|
|
166
|
-
getOptimizationSuggestions(): string[];
|
|
167
|
-
/**
|
|
168
|
-
* 清理資源
|
|
169
|
-
*/
|
|
170
|
-
dispose(): void;
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* 全域記憶體管理器實例
|
|
174
|
-
*/
|
|
175
|
-
export declare const globalMemoryManager: PerformanceMemoryManager;
|
|
176
|
-
//# sourceMappingURL=memory-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-manager.d.ts","sourceRoot":"","sources":["../../../src/core/performance/memory-manager.ts"],"names":[],"mappings":"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"}
|