@pheem49/mint 1.5.1 → 1.5.3

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 (52) hide show
  1. package/GUIDE_TH.md +7 -7
  2. package/README.md +140 -66
  3. package/assets/Agent_Mint.png +0 -0
  4. package/assets/Settings.png +0 -0
  5. package/main.js +12 -0
  6. package/mint-cli.js +148 -921
  7. package/models/Shiroko_Model/Shiroko/Shiroko_Core//345/221/206/347/214/253.exp3.json +31 -1
  8. package/models/Shiroko_Model/Shiroko/Shiroko_Core//347/202/271/344/270/200/344/270/213.exp3.json +6 -1
  9. package/package.json +20 -21
  10. package/preload.js +2 -0
  11. package/scripts/install_linux_desktop_entry.js +48 -0
  12. package/src/AI_Brain/Gemini_API.js +194 -491
  13. package/src/AI_Brain/autonomous_brain.js +46 -19
  14. package/src/AI_Brain/headless_agent.js +21 -2
  15. package/src/AI_Brain/proactive_engine.js +12 -2
  16. package/src/AI_Brain/provider_adapter.js +358 -0
  17. package/src/Automation_Layer/browser_automation.js +26 -24
  18. package/src/CLI/approval_handler.js +47 -0
  19. package/src/CLI/chat_router.js +7 -0
  20. package/src/CLI/chat_ui.js +586 -80
  21. package/src/CLI/cli_colors.js +115 -0
  22. package/src/CLI/cli_formatters.js +94 -0
  23. package/src/CLI/code_agent.js +825 -283
  24. package/src/CLI/intent_detectors.js +181 -0
  25. package/src/CLI/interactive_chat.js +641 -0
  26. package/src/CLI/list_features.js +3 -0
  27. package/src/CLI/repo_summarizer.js +282 -0
  28. package/src/CLI/semantic_code_search.js +312 -0
  29. package/src/CLI/skill_manager.js +41 -0
  30. package/src/CLI/slash_command_handler.js +418 -0
  31. package/src/CLI/symbol_indexer.js +231 -0
  32. package/src/CLI/updater.js +21 -1
  33. package/src/Channels/discord_bridge.js +11 -13
  34. package/src/Channels/line_bridge.js +10 -10
  35. package/src/Channels/slack_bridge.js +7 -12
  36. package/src/Channels/telegram_bridge.js +6 -14
  37. package/src/Channels/whatsapp_bridge.js +11 -9
  38. package/src/System/chat_history_manager.js +20 -12
  39. package/src/System/config_manager.js +4 -1
  40. package/src/System/ipc_handlers.js +10 -0
  41. package/src/System/optional_require.js +23 -0
  42. package/src/System/picture_store.js +109 -0
  43. package/src/System/task_manager.js +127 -0
  44. package/src/System/tool_registry.js +13 -0
  45. package/src/System/window_manager.js +16 -8
  46. package/src/UI/live2d_manager.js +246 -14
  47. package/src/UI/renderer.js +620 -45
  48. package/src/UI/settings.css +738 -439
  49. package/src/UI/settings.html +487 -432
  50. package/src/UI/settings.js +44 -10
  51. package/src/UI/styles.css +1403 -106
  52. package/privacy.txt +0 -1
@@ -5,6 +5,36 @@
5
5
  "Id": "Param93",
6
6
  "Value": 1.0,
7
7
  "Blend": "Add"
8
+ },
9
+ {
10
+ "Id": "Param91",
11
+ "Value": 0.45,
12
+ "Blend": "Add"
13
+ },
14
+ {
15
+ "Id": "ParamAngleY",
16
+ "Value": -8.0,
17
+ "Blend": "Add"
18
+ },
19
+ {
20
+ "Id": "ParamAngleZ",
21
+ "Value": 8.0,
22
+ "Blend": "Add"
23
+ },
24
+ {
25
+ "Id": "ParamEyeBallY",
26
+ "Value": -0.35,
27
+ "Blend": "Add"
28
+ },
29
+ {
30
+ "Id": "ParamMouthForm",
31
+ "Value": 0.25,
32
+ "Blend": "Add"
33
+ },
34
+ {
35
+ "Id": "ParamMouthOpenY",
36
+ "Value": 0.25,
37
+ "Blend": "Add"
8
38
  }
9
39
  ]
10
- }
40
+ }
@@ -5,6 +5,11 @@
5
5
  "Id": "Param76",
6
6
  "Value": 1.0,
7
7
  "Blend": "Add"
8
+ },
9
+ {
10
+ "Id": "Param91",
11
+ "Value": 0.75,
12
+ "Blend": "Add"
8
13
  }
9
14
  ]
10
- }
15
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pheem49/mint",
3
- "version": "1.5.1",
3
+ "version": "1.5.3",
4
4
  "description": "A powerful Electron-based AI desktop assistant powered by Google Gemini, featuring screen vision, web automation, and proactive suggestions.",
5
5
  "main": "main.js",
6
6
  "scripts": {
@@ -11,7 +11,8 @@
11
11
  "build:mac": "electron-builder --mac",
12
12
  "build:win": "electron-builder --win",
13
13
  "build:all": "electron-builder --linux --mac --win",
14
- "cli": "node mint-cli.js"
14
+ "cli": "node mint-cli.js",
15
+ "install:desktop": "node scripts/install_linux_desktop_entry.js"
15
16
  },
16
17
  "jest": {
17
18
  "testEnvironment": "node",
@@ -36,40 +37,38 @@
36
37
  "type": "commonjs",
37
38
  "dependencies": {
38
39
  "@google/genai": "^1.44.0",
39
- "@hazart-pkg/live2d-core": "^1.0.1",
40
40
  "@inkjs/ui": "^2.0.0",
41
- "@line/bot-sdk": "^11.0.0",
42
- "@modelcontextprotocol/sdk": "^1.29.0",
43
- "@slack/bolt": "^4.7.2",
44
41
  "axios": "^1.13.6",
45
- "blessed": "^0.1.81",
46
42
  "cheerio": "^1.2.0",
47
43
  "commander": "^14.0.3",
48
- "discord.js": "^14.26.4",
49
44
  "dotenv": "^17.3.1",
50
- "express": "^5.2.1",
51
- "framer-motion": "^12.38.0",
52
45
  "ink": "^7.0.1",
53
46
  "ink-text-input": "^6.0.0",
54
- "inquirer": "^13.4.1",
55
- "lucide-react": "^1.9.0",
56
47
  "mammoth": "^1.12.0",
57
48
  "pdf-parse": "^2.4.5",
58
- "pixi-live2d-display": "^0.4.0",
59
- "pixi.js": "^6.5.10",
60
- "puppeteer": "^24.38.0",
61
- "qrcode-terminal": "^0.12.0",
62
- "react": "^19.2.5",
63
- "react-dom": "^19.2.5",
64
- "read-excel-file": "^9.0.9",
65
- "telegraf": "^4.16.3",
66
- "whatsapp-web.js": "^1.34.7"
49
+ "react": "^19.2.5"
50
+ },
51
+ "peerDependenciesOptional": {
52
+ "puppeteer": ">=22.0.0",
53
+ "whatsapp-web.js": ">=1.0.0",
54
+ "qrcode-terminal": ">=0.12.0",
55
+ "discord.js": ">=14.0.0",
56
+ "@slack/bolt": ">=4.0.0",
57
+ "telegraf": ">=4.0.0",
58
+ "@line/bot-sdk": ">=11.0.0",
59
+ "express": ">=4.0.0"
67
60
  },
68
61
  "devDependencies": {
62
+ "@hazart-pkg/live2d-core": "^1.0.1",
69
63
  "@vitejs/plugin-react": "^6.0.1",
70
64
  "electron": "^40.7.0",
71
65
  "electron-builder": "^26.8.1",
66
+ "framer-motion": "^12.38.0",
72
67
  "jest": "^30.4.0",
68
+ "lucide-react": "^1.9.0",
69
+ "pixi-live2d-display": "^0.4.0",
70
+ "pixi.js": "^6.5.10",
71
+ "react-dom": "^19.2.5",
73
72
  "vite": "^8.0.10"
74
73
  },
75
74
  "build": {
package/preload.js CHANGED
@@ -8,6 +8,7 @@ contextBridge.exposeInMainWorld('api', {
8
8
  maximizeWindow: () => ipcRenderer.send('maximize-window'),
9
9
  resetChat: () => ipcRenderer.invoke('reset-chat'),
10
10
  getChatHistory: () => ipcRenderer.invoke('get-chat-history'),
11
+ listSavedPictures: () => ipcRenderer.invoke('list-saved-pictures'),
11
12
  openSettings: () => ipcRenderer.invoke('open-settings'),
12
13
  // Clipboard
13
14
  readClipboard: () => ipcRenderer.invoke('clipboard-read'),
@@ -17,6 +18,7 @@ contextBridge.exposeInMainWorld('api', {
17
18
  getWeather: (city) => ipcRenderer.invoke('get-weather', city),
18
19
  // Settings
19
20
  getSettings: () => ipcRenderer.invoke('get-settings'),
21
+ saveSettings: (config) => ipcRenderer.invoke('save-settings', config),
20
22
  // Listen for settings changes from other window
21
23
  onSettingsChanged: (callback) => ipcRenderer.on('settings-changed', (event, data) => callback(data)),
22
24
  // Vision
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ const fs = require('fs');
4
+ const os = require('os');
5
+ const path = require('path');
6
+
7
+ if (process.platform !== 'linux') {
8
+ console.log('Desktop entry installation is only needed on Linux.');
9
+ process.exit(0);
10
+ }
11
+
12
+ const projectRoot = path.resolve(__dirname, '..');
13
+ const home = os.homedir();
14
+ const iconSource = path.join(projectRoot, 'assets', 'icon.png');
15
+ const iconTargets = [16, 24, 32, 48, 64, 128, 256, 512].map(size =>
16
+ path.join(home, '.local', 'share', 'icons', 'hicolor', `${size}x${size}`, 'apps', 'mint-ai.png')
17
+ );
18
+ const desktopTarget = path.join(home, '.local', 'share', 'applications', 'mint-ai.desktop');
19
+
20
+ if (!fs.existsSync(iconSource)) {
21
+ throw new Error(`Missing icon: ${iconSource}`);
22
+ }
23
+
24
+ fs.mkdirSync(path.dirname(desktopTarget), { recursive: true });
25
+ for (const iconTarget of iconTargets) {
26
+ fs.mkdirSync(path.dirname(iconTarget), { recursive: true });
27
+ fs.copyFileSync(iconSource, iconTarget);
28
+ }
29
+
30
+ const desktopEntry = [
31
+ '[Desktop Entry]',
32
+ 'Type=Application',
33
+ 'Name=Mint',
34
+ 'Comment=Mint AI desktop assistant',
35
+ `Exec=${process.execPath} ${path.join(projectRoot, 'node_modules', 'electron', 'cli.js')} ${projectRoot}`,
36
+ 'Icon=mint-ai',
37
+ 'Terminal=false',
38
+ 'Categories=Utility;',
39
+ 'StartupNotify=true',
40
+ 'StartupWMClass=Mint',
41
+ ''
42
+ ].join('\n');
43
+
44
+ fs.writeFileSync(desktopTarget, desktopEntry, 'utf8');
45
+ fs.chmodSync(desktopTarget, 0o755);
46
+
47
+ console.log(`Installed ${desktopTarget}`);
48
+ console.log(`Installed ${iconTargets.length} icon sizes as mint-ai`);