@pheem49/mint 1.5.1 → 1.5.2

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 (33) hide show
  1. package/README.md +8 -0
  2. package/mint-cli.js +148 -921
  3. package/models/Shiroko_Model/Shiroko/Shiroko_Core//345/221/206/347/214/253.exp3.json +31 -1
  4. package/models/Shiroko_Model/Shiroko/Shiroko_Core//347/202/271/344/270/200/344/270/213.exp3.json +6 -1
  5. package/package.json +18 -20
  6. package/src/AI_Brain/proactive_engine.js +12 -2
  7. package/src/Automation_Layer/browser_automation.js +26 -24
  8. package/src/CLI/approval_handler.js +42 -0
  9. package/src/CLI/chat_ui.js +192 -7
  10. package/src/CLI/cli_colors.js +32 -0
  11. package/src/CLI/cli_formatters.js +89 -0
  12. package/src/CLI/code_agent.js +166 -57
  13. package/src/CLI/intent_detectors.js +181 -0
  14. package/src/CLI/interactive_chat.js +479 -0
  15. package/src/CLI/list_features.js +3 -0
  16. package/src/CLI/repo_summarizer.js +282 -0
  17. package/src/CLI/semantic_code_search.js +312 -0
  18. package/src/CLI/skill_manager.js +41 -0
  19. package/src/CLI/slash_command_handler.js +418 -0
  20. package/src/CLI/symbol_indexer.js +231 -0
  21. package/src/Channels/discord_bridge.js +11 -13
  22. package/src/Channels/line_bridge.js +10 -10
  23. package/src/Channels/slack_bridge.js +7 -12
  24. package/src/Channels/telegram_bridge.js +6 -14
  25. package/src/Channels/whatsapp_bridge.js +11 -9
  26. package/src/System/chat_history_manager.js +20 -12
  27. package/src/System/optional_require.js +23 -0
  28. package/src/UI/live2d_manager.js +211 -13
  29. package/src/UI/renderer.js +163 -3
  30. package/src/UI/settings.css +655 -420
  31. package/src/UI/settings.html +478 -432
  32. package/src/UI/settings.js +10 -8
  33. package/src/UI/styles.css +89 -25
@@ -184,6 +184,10 @@ function applyConfig(config) {
184
184
  // Update color picker
185
185
  document.getElementById('custom-color').value = config.accentColor;
186
186
 
187
+ const defaultTextColor = config.theme === 'light' ? '#0f172a' : DEFAULT_CONFIG.systemTextColor;
188
+ const textColor = (!config.systemTextColor || (config.theme === 'light' && config.systemTextColor === DEFAULT_CONFIG.systemTextColor))
189
+ ? defaultTextColor
190
+ : config.systemTextColor;
187
191
  document.getElementById('system-text-color').value = textColor;
188
192
  document.documentElement.style.setProperty('--text-main', textColor);
189
193
 
@@ -586,22 +590,20 @@ function renderMcpServers() {
586
590
  console.log(`[Settings] Found ${entries.length} servers in currentConfig.`);
587
591
 
588
592
  if (entries.length === 0) {
589
- list.innerHTML = '<p class="hint" style="text-align: center; padding: 10px;">No MCP servers connected.</p>';
593
+ list.innerHTML = '<p class="mcp-empty">No MCP servers connected.</p>';
590
594
  return;
591
595
  }
592
596
 
593
597
  for (const [name, cfg] of entries) {
594
598
  const item = document.createElement('div');
595
- item.style.cssText = 'display: flex; justify-content: space-between; align-items: center; padding: 12px; background: rgba(0,0,0,0.2); border-radius: 10px; border: 1px solid var(--border);';
599
+ item.className = 'mcp-item';
596
600
 
597
601
  item.innerHTML = `
598
- <div style="display: flex; flex-direction: column; gap: 4px;">
599
- <div style="font-weight: 600; color: var(--accent); display: flex; align-items: center; gap: 6px;">
600
- <span>🌐 ${name}</span>
601
- </div>
602
- <div style="font-size: 0.75rem; opacity: 0.7; font-family: monospace;">${cfg.command} ${cfg.args.join(' ')}</div>
602
+ <div class="mcp-info">
603
+ <div class="mcp-name">🌐 ${name}</div>
604
+ <div class="mcp-command">${cfg.command} ${(cfg.args || []).join(' ')}</div>
603
605
  </div>
604
- <button class="btn-danger" style="padding: 6px 12px; font-size: 0.8rem;" onclick="removeMcpServer('${name}')">Remove</button>
606
+ <button class="btn-danger btn-small" onclick="removeMcpServer('${name}')">Remove</button>
605
607
  `;
606
608
  list.appendChild(item);
607
609
  }
package/src/UI/styles.css CHANGED
@@ -159,6 +159,8 @@ h1 {
159
159
 
160
160
  .toggle-model-btn,
161
161
  .change-expression-btn,
162
+ .accessory-cycle-btn,
163
+ .toggle-interaction-btn,
162
164
  .interaction-guide-btn,
163
165
  .clear-btn,
164
166
  .settings-btn {
@@ -184,6 +186,8 @@ h1 {
184
186
 
185
187
  .toggle-model-btn svg,
186
188
  .change-expression-btn svg,
189
+ .accessory-cycle-btn svg,
190
+ .toggle-interaction-btn svg,
187
191
  .interaction-guide-btn svg,
188
192
  .clear-btn svg,
189
193
  .settings-btn svg {
@@ -236,6 +240,38 @@ h1 {
236
240
  color: #fbbf24;
237
241
  }
238
242
 
243
+ .accessory-cycle-btn:hover,
244
+ .accessory-cycle-btn.active {
245
+ background: rgba(168, 85, 247, 0.14);
246
+ border-color: rgba(168, 85, 247, 0.24);
247
+ color: #c4b5fd;
248
+ }
249
+
250
+ .toggle-interaction-btn:hover,
251
+ .toggle-interaction-btn.active {
252
+ background: rgba(34, 197, 94, 0.14);
253
+ border-color: rgba(34, 197, 94, 0.24);
254
+ color: #86efac;
255
+ }
256
+
257
+ .toggle-interaction-btn:not(.active) {
258
+ color: #f87171;
259
+ }
260
+
261
+ .toggle-interaction-btn:not(.active):hover {
262
+ background: rgba(248, 113, 113, 0.14);
263
+ border-color: rgba(248, 113, 113, 0.22);
264
+ color: #f87171;
265
+ }
266
+
267
+ .toggle-interaction-btn .interaction-off-mark {
268
+ opacity: 0;
269
+ }
270
+
271
+ .toggle-interaction-btn:not(.active) .interaction-off-mark {
272
+ opacity: 1;
273
+ }
274
+
239
275
  .interaction-guide-btn:hover {
240
276
  background: rgba(34, 211, 238, 0.14);
241
277
  border-color: rgba(34, 211, 238, 0.2);
@@ -304,8 +340,8 @@ h1 {
304
340
  .model-shell {
305
341
  width: 100%;
306
342
  height: 100%;
307
- max-width: 620px;
308
- max-height: 720px;
343
+ max-width: none;
344
+ max-height: none;
309
345
  min-height: 480px;
310
346
  display: grid;
311
347
  place-items: center;
@@ -406,52 +442,52 @@ h1 {
406
442
  }
407
443
 
408
444
  .zone-head {
409
- left: 35%;
410
- top: 30%;
411
- width: 29%;
412
- height: 9%;
445
+ left: 34%;
446
+ top: 25.5%;
447
+ width: 32%;
448
+ height: 15%;
413
449
  border-radius: 48% 48% 42% 42%;
414
450
  }
415
451
 
416
452
  .zone-face {
417
- left: 37%;
418
- top: 39.5%;
419
- width: 25%;
420
- height: 13%;
453
+ left: 38%;
454
+ top: 40%;
455
+ width: 24%;
456
+ height: 11.5%;
421
457
  border-radius: 50%;
422
458
  background: rgba(244, 114, 182, 0.1);
423
459
  border-color: rgba(244, 114, 182, 0.5);
424
460
  }
425
461
 
426
462
  .zone-left-hand {
427
- left: 17%;
428
- top: 65%;
429
- width: 19%;
430
- height: 17%;
463
+ left: 22%;
464
+ top: 68%;
465
+ width: 20%;
466
+ height: 16%;
431
467
  border-radius: 48% 42% 56% 44%;
432
468
  }
433
469
 
434
470
  .zone-right-hand {
435
- left: 70%;
436
- top: 67%;
437
- width: 17%;
438
- height: 17%;
471
+ left: 61%;
472
+ top: 68%;
473
+ width: 19%;
474
+ height: 16%;
439
475
  border-radius: 42% 54% 44% 56%;
440
476
  }
441
477
 
442
478
  .zone-body {
443
- left: 36%;
444
- top: 55%;
479
+ left: 37%;
480
+ top: 55.5%;
445
481
  width: 29%;
446
- height: 15%;
482
+ height: 14%;
447
483
  border-radius: 38% 38% 48% 48%;
448
484
  }
449
485
 
450
486
  .zone-lower {
451
- left: 31%;
452
- top: 76%;
453
- width: 38%;
454
- height: 24%;
487
+ left: 38%;
488
+ top: 77%;
489
+ width: 30%;
490
+ height: 23%;
455
491
  border-radius: 46% 46% 24% 24%;
456
492
  background: rgba(251, 191, 36, 0.08);
457
493
  border-color: rgba(251, 191, 36, 0.45);
@@ -664,6 +700,30 @@ h1 {
664
700
  position: relative;
665
701
  }
666
702
 
703
+ .formatted-ai-text {
704
+ display: flex;
705
+ flex-direction: column;
706
+ gap: 10px;
707
+ white-space: normal;
708
+ }
709
+
710
+ .ai-paragraph {
711
+ margin: 0;
712
+ }
713
+
714
+ .ai-list-item {
715
+ display: grid;
716
+ grid-template-columns: 18px minmax(0, 1fr);
717
+ gap: 8px;
718
+ align-items: start;
719
+ }
720
+
721
+ .ai-list-bullet {
722
+ color: var(--accent-hover);
723
+ font-weight: 700;
724
+ line-height: 1.5;
725
+ }
726
+
667
727
  .user-message {
668
728
  transform-origin: bottom right;
669
729
  }
@@ -1058,6 +1118,8 @@ input:checked + .slider:before {
1058
1118
 
1059
1119
  .toggle-model-btn,
1060
1120
  .change-expression-btn,
1121
+ .accessory-cycle-btn,
1122
+ .toggle-interaction-btn,
1061
1123
  .interaction-guide-btn {
1062
1124
  width: 34px;
1063
1125
  padding: 0;
@@ -1065,6 +1127,8 @@ input:checked + .slider:before {
1065
1127
 
1066
1128
  .toggle-model-btn span,
1067
1129
  .change-expression-btn span,
1130
+ .accessory-cycle-btn span,
1131
+ .toggle-interaction-btn span,
1068
1132
  .interaction-guide-btn span {
1069
1133
  display: none;
1070
1134
  }