ace-tool 0.1.5 → 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.
@@ -0,0 +1,673 @@
1
+ /**
2
+ * Prompt Enhancer 模板
3
+ * 基于 Augment VSCode 插件的官方模板
4
+ */
5
+ /**
6
+ * 增强 Prompt 的模板
7
+ * 包含对话历史和原始 prompt 的占位符
8
+ */
9
+ export const ENHANCE_PROMPT_TEMPLATE = `⚠️ NO TOOLS ALLOWED ⚠️
10
+
11
+ Here is an instruction that I'd like to give you, but it needs to be improved.
12
+ Rewrite and enhance this instruction to make it clearer, more specific, less ambiguous,
13
+ and correct any mistakes. Do not use any tools: reply immediately with your answer,
14
+ even if you're not sure. Consider the context of our conversation history when enhancing
15
+ the prompt.
16
+
17
+ Conversation history:
18
+ {conversation_history}
19
+
20
+ Reply with the following format:
21
+
22
+ ### BEGIN RESPONSE ###
23
+ Here is an enhanced version of the original instruction that is more specific and clear:
24
+ <augment-enhanced-prompt>enhanced prompt goes here</augment-enhanced-prompt>
25
+
26
+ ### END RESPONSE ###
27
+
28
+ Here is my original instruction:
29
+
30
+ {original_prompt}`;
31
+ /**
32
+ * Web UI 的 HTML 模板
33
+ */
34
+ export const ENHANCER_UI_HTML = `<!DOCTYPE html>
35
+ <html lang="zh-CN">
36
+ <head>
37
+ <meta charset="UTF-8">
38
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
39
+ <title>Prompt Enhancer - ACE Tool</title>
40
+ <style>
41
+ * {
42
+ margin: 0;
43
+ padding: 0;
44
+ box-sizing: border-box;
45
+ }
46
+
47
+ body {
48
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', sans-serif;
49
+ background: #f5f5f5;
50
+ min-height: 100vh;
51
+ padding: 20px;
52
+ display: flex;
53
+ align-items: center;
54
+ justify-content: center;
55
+ }
56
+
57
+ .container {
58
+ background: white;
59
+ border-radius: 8px;
60
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
61
+ border: 1px solid #e0e0e0;
62
+ max-width: 1000px;
63
+ width: 100%;
64
+ overflow: hidden;
65
+ }
66
+
67
+ .header {
68
+ background: white;
69
+ color: #333;
70
+ padding: 30px;
71
+ text-align: center;
72
+ border-bottom: 1px solid #e0e0e0;
73
+ }
74
+
75
+ .header h1 {
76
+ font-size: 24px;
77
+ font-weight: 600;
78
+ margin-bottom: 8px;
79
+ display: flex;
80
+ align-items: center;
81
+ justify-content: center;
82
+ gap: 10px;
83
+ color: #333;
84
+ }
85
+
86
+ .header p {
87
+ font-size: 14px;
88
+ color: #666;
89
+ }
90
+
91
+ .countdown {
92
+ margin-top: 12px;
93
+ padding: 8px 16px;
94
+ background: #f0f0f0;
95
+ border-radius: 6px;
96
+ display: inline-block;
97
+ font-size: 13px;
98
+ font-weight: 500;
99
+ color: #555;
100
+ }
101
+
102
+ .countdown.warning {
103
+ background: #fff3cd;
104
+ color: #856404;
105
+ }
106
+
107
+ .countdown.danger {
108
+ background: #f8d7da;
109
+ color: #721c24;
110
+ animation: pulse 1s ease-in-out infinite;
111
+ }
112
+
113
+ @keyframes pulse {
114
+ 0%, 100% { opacity: 1; }
115
+ 50% { opacity: 0.7; }
116
+ }
117
+
118
+ .content {
119
+ padding: 30px;
120
+ }
121
+
122
+ .section {
123
+ margin-bottom: 25px;
124
+ }
125
+
126
+ .section-title {
127
+ font-size: 14px;
128
+ font-weight: 600;
129
+ color: #333;
130
+ margin-bottom: 10px;
131
+ text-transform: uppercase;
132
+ letter-spacing: 0.5px;
133
+ }
134
+
135
+ .editor-wrapper {
136
+ position: relative;
137
+ }
138
+
139
+ textarea {
140
+ width: 100%;
141
+ min-height: 350px;
142
+ padding: 16px;
143
+ border: 2px solid #e0e0e0;
144
+ border-radius: 8px;
145
+ font-family: 'SF Mono', 'Monaco', 'Menlo', 'Consolas', monospace;
146
+ font-size: 14px;
147
+ line-height: 1.6;
148
+ resize: vertical;
149
+ transition: border-color 0.3s;
150
+ background: #fafafa;
151
+ }
152
+
153
+ textarea:focus {
154
+ outline: none;
155
+ border-color: #333;
156
+ background: white;
157
+ }
158
+
159
+ .char-count {
160
+ position: absolute;
161
+ bottom: 12px;
162
+ right: 12px;
163
+ background: rgba(255, 255, 255, 0.9);
164
+ padding: 4px 10px;
165
+ border-radius: 12px;
166
+ font-size: 12px;
167
+ color: #666;
168
+ pointer-events: none;
169
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
170
+ }
171
+
172
+ .info-box {
173
+ background: #f9f9f9;
174
+ border-left: 4px solid #333;
175
+ padding: 15px;
176
+ border-radius: 4px;
177
+ margin-bottom: 20px;
178
+ }
179
+
180
+ .info-box p {
181
+ font-size: 14px;
182
+ color: #555;
183
+ line-height: 1.6;
184
+ }
185
+
186
+ .buttons {
187
+ display: flex;
188
+ gap: 12px;
189
+ justify-content: flex-end;
190
+ margin-top: 25px;
191
+ }
192
+
193
+ button {
194
+ padding: 12px 28px;
195
+ border: none;
196
+ border-radius: 8px;
197
+ font-size: 15px;
198
+ font-weight: 600;
199
+ cursor: pointer;
200
+ transition: all 0.3s;
201
+ display: flex;
202
+ align-items: center;
203
+ gap: 8px;
204
+ }
205
+
206
+ .send-btn {
207
+ background: #333;
208
+ color: white;
209
+ box-shadow: none;
210
+ }
211
+
212
+ .send-btn:hover:not(:disabled) {
213
+ background: #000;
214
+ }
215
+
216
+ .send-btn:active:not(:disabled) {
217
+ background: #000;
218
+ }
219
+
220
+ .send-btn:disabled {
221
+ background: #ccc;
222
+ cursor: not-allowed;
223
+ box-shadow: none;
224
+ }
225
+
226
+ .cancel-btn {
227
+ background: white;
228
+ color: #666;
229
+ border: 2px solid #e0e0e0;
230
+ }
231
+
232
+ .cancel-btn:hover {
233
+ background: #f5f5f5;
234
+ border-color: #ccc;
235
+ }
236
+
237
+ .re-enhance-btn {
238
+ background: white;
239
+ color: #333;
240
+ border: 2px solid #333;
241
+ }
242
+
243
+ .re-enhance-btn:hover:not(:disabled) {
244
+ background: #f5f5f5;
245
+ border-color: #000;
246
+ }
247
+
248
+ .re-enhance-btn:disabled {
249
+ background: #f5f5f5;
250
+ color: #ccc;
251
+ border-color: #e0e0e0;
252
+ cursor: not-allowed;
253
+ }
254
+
255
+ .status {
256
+ margin-top: 20px;
257
+ padding: 15px;
258
+ border-radius: 8px;
259
+ display: none;
260
+ animation: slideIn 0.3s ease;
261
+ }
262
+
263
+ @keyframes slideIn {
264
+ from {
265
+ opacity: 0;
266
+ transform: translateY(-10px);
267
+ }
268
+ to {
269
+ opacity: 1;
270
+ transform: translateY(0);
271
+ }
272
+ }
273
+
274
+ .status.success {
275
+ background: #d4edda;
276
+ color: #155724;
277
+ border-left: 4px solid #28a745;
278
+ display: block;
279
+ }
280
+
281
+ .status.error {
282
+ background: #f8d7da;
283
+ color: #721c24;
284
+ border-left: 4px solid #dc3545;
285
+ display: block;
286
+ }
287
+
288
+ .loading {
289
+ display: none;
290
+ text-align: center;
291
+ padding: 40px;
292
+ }
293
+
294
+ .loading.active {
295
+ display: block;
296
+ }
297
+
298
+ .spinner {
299
+ border: 3px solid #f3f3f3;
300
+ border-top: 3px solid #333;
301
+ border-radius: 50%;
302
+ width: 40px;
303
+ height: 40px;
304
+ animation: spin 1s linear infinite;
305
+ margin: 0 auto 15px;
306
+ }
307
+
308
+ @keyframes spin {
309
+ 0% { transform: rotate(0deg); }
310
+ 100% { transform: rotate(360deg); }
311
+ }
312
+
313
+ .keyboard-hint {
314
+ font-size: 12px;
315
+ color: #999;
316
+ text-align: center;
317
+ margin-top: 15px;
318
+ }
319
+
320
+ .keyboard-hint kbd {
321
+ background: #f5f5f5;
322
+ border: 1px solid #ddd;
323
+ border-radius: 4px;
324
+ padding: 2px 6px;
325
+ font-family: monospace;
326
+ font-size: 11px;
327
+ }
328
+
329
+ @media (max-width: 768px) {
330
+ body {
331
+ padding: 10px;
332
+ }
333
+
334
+ .header {
335
+ padding: 20px;
336
+ }
337
+
338
+ .header h1 {
339
+ font-size: 22px;
340
+ }
341
+
342
+ .content {
343
+ padding: 20px;
344
+ }
345
+
346
+ textarea {
347
+ min-height: 250px;
348
+ font-size: 13px;
349
+ }
350
+
351
+ .buttons {
352
+ flex-direction: column-reverse;
353
+ }
354
+
355
+ button {
356
+ width: 100%;
357
+ justify-content: center;
358
+ }
359
+ }
360
+ </style>
361
+ </head>
362
+ <body>
363
+ <div class="container">
364
+ <div class="header">
365
+ <h1>
366
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
367
+ <path d="M12 2L2 7l10 5 10-5-10-5z"/>
368
+ <path d="M2 17l10 5 10-5"/>
369
+ <path d="M2 12l10 5 10-5"/>
370
+ </svg>
371
+ Prompt Enhancer
372
+ </h1>
373
+ <p>Review and refine your enhanced prompt</p>
374
+ <div class="countdown" id="countdown">⏱️ 加载中...</div>
375
+ </div>
376
+
377
+ <div class="content">
378
+ <div class="loading" id="loading">
379
+ <div class="spinner"></div>
380
+ <p>Loading your enhanced prompt...</p>
381
+ </div>
382
+
383
+ <div id="mainContent" style="display: none;">
384
+ <div class="info-box">
385
+ <p>
386
+ <strong>💡 提示:</strong>AI 已经根据对话历史和代码上下文增强了你的 prompt。
387
+ 你可以在下方编辑器中进一步修改,然后点击"发送"继续。
388
+ </p>
389
+ </div>
390
+
391
+ <div class="section">
392
+ <div class="section-title">Enhanced Prompt</div>
393
+ <div class="editor-wrapper">
394
+ <textarea
395
+ id="promptText"
396
+ placeholder="Your enhanced prompt will appear here..."
397
+ spellcheck="false"
398
+ ></textarea>
399
+ <div class="char-count" id="charCount">0 字符</div>
400
+ </div>
401
+ </div>
402
+
403
+ <div class="buttons">
404
+ <button class="cancel-btn" onclick="endConversation()">
405
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
406
+ <line x1="18" y1="6" x2="6" y2="18"/>
407
+ <line x1="6" y1="6" x2="18" y2="18"/>
408
+ </svg>
409
+ 结束对话
410
+ </button>
411
+ <button class="re-enhance-btn" id="reEnhanceBtn" onclick="reEnhance()">
412
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
413
+ <polyline points="23 4 23 10 17 10"/>
414
+ <path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"/>
415
+ </svg>
416
+ 继续增强
417
+ </button>
418
+ <button class="cancel-btn" onclick="useOriginal()">
419
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
420
+ <path d="M3 12h18M3 6h18M3 18h18"/>
421
+ </svg>
422
+ 使用原始
423
+ </button>
424
+ <button class="send-btn" id="sendBtn" onclick="sendPrompt()">
425
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
426
+ <line x1="22" y1="2" x2="11" y2="13"/>
427
+ <polygon points="22 2 15 22 11 13 2 9 22 2"/>
428
+ </svg>
429
+ 发送增强
430
+ </button>
431
+ </div>
432
+
433
+ <div class="keyboard-hint">
434
+ 快捷键: <kbd>Ctrl</kbd> + <kbd>Enter</kbd> 发送增强 | <kbd>Esc</kbd> 结束对话
435
+ </div>
436
+
437
+ <div id="status" class="status"></div>
438
+ </div>
439
+ </div>
440
+ </div>
441
+
442
+ <script>
443
+ const urlParams = new URLSearchParams(window.location.search);
444
+ const sessionId = urlParams.get('session');
445
+ const promptText = document.getElementById('promptText');
446
+ const charCount = document.getElementById('charCount');
447
+ const loading = document.getElementById('loading');
448
+ const mainContent = document.getElementById('mainContent');
449
+ const countdownEl = document.getElementById('countdown');
450
+
451
+ let countdownInterval = null;
452
+ let sessionCreatedAt = null;
453
+ let sessionTimeoutMs = null;
454
+
455
+ // 更新字符计数
456
+ function updateCharCount() {
457
+ const count = promptText.value.length;
458
+ charCount.textContent = count + ' 字符';
459
+ }
460
+
461
+ promptText.addEventListener('input', updateCharCount);
462
+
463
+ // 格式化时间显示
464
+ function formatTime(ms) {
465
+ const totalSeconds = Math.floor(ms / 1000);
466
+ const minutes = Math.floor(totalSeconds / 60);
467
+ const seconds = totalSeconds % 60;
468
+ return minutes + ':' + seconds.toString().padStart(2, '0');
469
+ }
470
+
471
+ // 更新倒计时显示
472
+ function updateCountdown() {
473
+ if (!sessionCreatedAt || !sessionTimeoutMs) return;
474
+
475
+ const now = Date.now();
476
+ const elapsed = now - sessionCreatedAt;
477
+ const remaining = sessionTimeoutMs - elapsed;
478
+
479
+ if (remaining <= 0) {
480
+ countdownEl.textContent = '⏱️ 已超时';
481
+ countdownEl.className = 'countdown danger';
482
+ if (countdownInterval) {
483
+ clearInterval(countdownInterval);
484
+ countdownInterval = null;
485
+ }
486
+ return;
487
+ }
488
+
489
+ const remainingMinutes = remaining / 60000;
490
+
491
+ // 更新样式
492
+ if (remainingMinutes <= 1) {
493
+ countdownEl.className = 'countdown danger';
494
+ } else if (remainingMinutes <= 3) {
495
+ countdownEl.className = 'countdown warning';
496
+ } else {
497
+ countdownEl.className = 'countdown';
498
+ }
499
+
500
+ countdownEl.textContent = '⏱️ 剩余时间: ' + formatTime(remaining);
501
+ }
502
+
503
+ // 启动倒计时
504
+ function startCountdown(createdAt, timeoutMs) {
505
+ sessionCreatedAt = createdAt;
506
+ sessionTimeoutMs = timeoutMs;
507
+
508
+ updateCountdown();
509
+
510
+ if (countdownInterval) {
511
+ clearInterval(countdownInterval);
512
+ }
513
+
514
+ countdownInterval = setInterval(updateCountdown, 1000);
515
+ }
516
+
517
+ // 键盘快捷键
518
+ document.addEventListener('keydown', (e) => {
519
+ if ((e.ctrlKey || e.metaKey) && e.key === 'Enter') {
520
+ e.preventDefault();
521
+ sendPrompt();
522
+ } else if (e.key === 'Escape') {
523
+ e.preventDefault();
524
+ endConversation();
525
+ }
526
+ });
527
+
528
+ // 加载 session 数据
529
+ if (!sessionId) {
530
+ loading.style.display = 'none';
531
+ mainContent.style.display = 'block';
532
+ showStatus('错误: 未提供 session ID', 'error');
533
+ } else {
534
+ loading.classList.add('active');
535
+
536
+ fetch('/api/session?session=' + encodeURIComponent(sessionId))
537
+ .then(r => r.json())
538
+ .then(data => {
539
+ promptText.value = data.enhancedPrompt;
540
+ updateCharCount();
541
+ loading.classList.remove('active');
542
+ mainContent.style.display = 'block';
543
+ promptText.focus();
544
+
545
+ // 启动倒计时
546
+ if (data.createdAt && data.timeoutMs) {
547
+ startCountdown(data.createdAt, data.timeoutMs);
548
+ }
549
+ })
550
+ .catch(err => {
551
+ loading.classList.remove('active');
552
+ mainContent.style.display = 'block';
553
+ showStatus('加载失败: ' + err.message, 'error');
554
+ });
555
+ }
556
+
557
+ function reEnhance() {
558
+ const currentContent = promptText.value.trim();
559
+
560
+ if (!currentContent) {
561
+ showStatus('请输入内容后再增强', 'error');
562
+ return;
563
+ }
564
+
565
+ const reEnhanceBtn = document.getElementById('reEnhanceBtn');
566
+ const sendBtn = document.getElementById('sendBtn');
567
+
568
+ reEnhanceBtn.disabled = true;
569
+ sendBtn.disabled = true;
570
+ reEnhanceBtn.innerHTML = '<div class="spinner" style="width: 16px; height: 16px; border-width: 2px; margin: 0;"></div> 增强中...';
571
+
572
+ fetch('/api/re-enhance', {
573
+ method: 'POST',
574
+ headers: { 'Content-Type': 'application/json' },
575
+ body: JSON.stringify({
576
+ sessionId: sessionId,
577
+ currentPrompt: currentContent
578
+ })
579
+ })
580
+ .then(r => r.json())
581
+ .then(data => {
582
+ if (data.error) {
583
+ throw new Error(data.error);
584
+ }
585
+
586
+ promptText.value = data.enhancedPrompt;
587
+ updateCharCount();
588
+ showStatus('✅ 增强成功!你可以继续编辑或发送', 'success');
589
+
590
+ reEnhanceBtn.disabled = false;
591
+ sendBtn.disabled = false;
592
+ reEnhanceBtn.innerHTML = '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 4 23 10 17 10"/><path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"/></svg> 继续增强';
593
+ })
594
+ .catch(err => {
595
+ showStatus('增强失败: ' + err.message, 'error');
596
+ reEnhanceBtn.disabled = false;
597
+ sendBtn.disabled = false;
598
+ reEnhanceBtn.innerHTML = '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="23 4 23 10 17 10"/><path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"/></svg> 继续增强';
599
+ });
600
+ }
601
+
602
+ function sendPrompt() {
603
+ const content = promptText.value.trim();
604
+
605
+ if (!content) {
606
+ showStatus('请输入内容后再发送', 'error');
607
+ return;
608
+ }
609
+
610
+ const sendBtn = document.getElementById('sendBtn');
611
+ const reEnhanceBtn = document.getElementById('reEnhanceBtn');
612
+
613
+ sendBtn.disabled = true;
614
+ reEnhanceBtn.disabled = true;
615
+ sendBtn.innerHTML = '<div class="spinner" style="width: 16px; height: 16px; border-width: 2px; margin: 0;"></div> 发送中...';
616
+
617
+ fetch('/api/submit', {
618
+ method: 'POST',
619
+ headers: { 'Content-Type': 'application/json' },
620
+ body: JSON.stringify({ sessionId: sessionId, content: content })
621
+ })
622
+ .then(r => r.json())
623
+ .then(data => {
624
+ showStatus('✅ 发送成功!窗口将在 2 秒后自动关闭...', 'success');
625
+ setTimeout(() => window.close(), 2000);
626
+ })
627
+ .catch(err => {
628
+ showStatus('发送失败: ' + err.message, 'error');
629
+ sendBtn.disabled = false;
630
+ reEnhanceBtn.disabled = false;
631
+ sendBtn.innerHTML = '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="22" y1="2" x2="11" y2="13"/><polygon points="22 2 15 22 11 13 2 9 22 2"/></svg> 发送';
632
+ });
633
+ }
634
+
635
+ function useOriginal() {
636
+ if (confirm('确定使用原始 prompt 继续对话吗?')) {
637
+ fetch('/api/submit', {
638
+ method: 'POST',
639
+ headers: { 'Content-Type': 'application/json' },
640
+ body: JSON.stringify({ sessionId: sessionId, content: '__USE_ORIGINAL__' })
641
+ })
642
+ .then(() => {
643
+ showStatus('✅ 将使用原始 prompt 继续...', 'success');
644
+ setTimeout(() => window.close(), 1000);
645
+ })
646
+ .catch(() => window.close());
647
+ }
648
+ }
649
+
650
+ function endConversation() {
651
+ if (confirm('确定要结束本次对话吗?')) {
652
+ fetch('/api/submit', {
653
+ method: 'POST',
654
+ headers: { 'Content-Type': 'application/json' },
655
+ body: JSON.stringify({ sessionId: sessionId, content: '__END_CONVERSATION__' })
656
+ })
657
+ .then(() => {
658
+ showStatus('✅ 对话已结束', 'success');
659
+ setTimeout(() => window.close(), 1000);
660
+ })
661
+ .catch(() => window.close());
662
+ }
663
+ }
664
+
665
+ function showStatus(message, type) {
666
+ const status = document.getElementById('status');
667
+ status.textContent = message;
668
+ status.className = 'status ' + type;
669
+ }
670
+ </script>
671
+ </body>
672
+ </html>`;
673
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/enhancer/templates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;kBAqBrB,CAAC;AAEnB;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8nBxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/index/manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsBH;;GAEG;AACH,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AA+ED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,UAAU,CAAgB;gBAGhC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,EAC3B,UAAU,EAAE,MAAM,EAAG,qBAAqB;IAC1C,eAAe,GAAE,MAAY,EAC7B,eAAe,GAAE,MAAM,EAAO;IAmBhC;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAkCrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,OAAO,CAAC,SAAS;IAajB;;OAEG;IACH,OAAO,CAAC,SAAS;IAUjB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA6CxB;;OAEG;YACW,YAAY;IAgE1B;;OAEG;YACW,YAAY;IA4E1B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAoQ1C;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAyDpD"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/index/manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsBH;;GAEG;AACH,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AA+ED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,UAAU,CAAgB;gBAGhC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,EAC3B,UAAU,EAAE,MAAM,EAAG,qBAAqB;IAC1C,eAAe,GAAE,MAAY,EAC7B,eAAe,GAAE,MAAM,EAAO;IAmBhC;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAkCrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,OAAO,CAAC,SAAS;IAajB;;OAEG;IACH,OAAO,CAAC,SAAS;IAUjB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA6CxB;;OAEG;YACW,YAAY;IAgE1B;;OAEG;YACW,YAAY;IA8F1B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAoQ1C;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAyDpD"}