clawmate 1.4.0 → 1.4.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.
- package/index.js +441 -442
- package/main/ai-bridge.js +59 -59
- package/main/ai-connector.js +60 -60
- package/main/autostart.js +6 -6
- package/main/desktop-path.js +4 -4
- package/main/file-command-parser.js +46 -46
- package/main/file-ops.js +27 -27
- package/main/index.js +17 -17
- package/main/ipc-handlers.js +24 -24
- package/main/manifest.js +2 -2
- package/main/platform.js +16 -16
- package/main/smart-file-ops.js +64 -64
- package/main/store.js +1 -1
- package/main/telegram.js +137 -137
- package/main/tray.js +61 -61
- package/main/updater.js +13 -13
- package/openclaw.plugin.json +1 -1
- package/package.json +2 -2
- package/preload/preload.js +18 -18
- package/renderer/css/effects.css +6 -6
- package/renderer/css/pet.css +8 -8
- package/renderer/css/speech.css +5 -5
- package/renderer/first-run.html +14 -14
- package/renderer/index.html +4 -4
- package/renderer/js/ai-controller.js +91 -91
- package/renderer/js/app.js +24 -24
- package/renderer/js/browser-watcher.js +32 -32
- package/renderer/js/character.js +33 -33
- package/renderer/js/interactions.js +21 -21
- package/renderer/js/memory.js +60 -60
- package/renderer/js/metrics.js +141 -141
- package/renderer/js/mode-manager.js +13 -13
- package/renderer/js/pet-engine.js +236 -236
- package/renderer/js/speech.js +19 -19
- package/renderer/js/state-machine.js +23 -23
- package/renderer/js/time-aware.js +15 -15
- package/renderer/launcher.html +8 -8
- package/shared/constants.js +11 -11
- package/shared/messages.js +130 -130
- package/shared/personalities.js +44 -44
- package/skills/launch-pet/index.js +57 -47
- package/skills/launch-pet/skill.json +12 -23
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Pet
|
|
2
|
+
* Pet <-> Incarnation mode switching manager
|
|
3
3
|
*/
|
|
4
4
|
const ModeManager = (() => {
|
|
5
5
|
let currentMode = 'pet';
|
|
@@ -22,17 +22,17 @@ const ModeManager = (() => {
|
|
|
22
22
|
const p = personalities[mode];
|
|
23
23
|
if (!p) return;
|
|
24
24
|
|
|
25
|
-
// Incarnation
|
|
25
|
+
// Incarnation mode: reflect active persona if available
|
|
26
26
|
const persona = (mode === 'incarnation' && window._persona)
|
|
27
27
|
? window._persona.getActivePersona()
|
|
28
28
|
: null;
|
|
29
29
|
|
|
30
|
-
//
|
|
30
|
+
// Update character colors
|
|
31
31
|
let colors;
|
|
32
32
|
if (mode === 'pet') {
|
|
33
33
|
colors = { primary: '#ff4f40', secondary: '#ff775f', dark: '#8B4513', eye: '#ffffff', pupil: '#111111', claw: '#ff4f40' };
|
|
34
34
|
} else if (persona?.color) {
|
|
35
|
-
//
|
|
35
|
+
// Persona custom colors
|
|
36
36
|
colors = {
|
|
37
37
|
primary: persona.color.primary || '#ff4f40',
|
|
38
38
|
secondary: persona.color.secondary || '#ff775f',
|
|
@@ -46,17 +46,17 @@ const ModeManager = (() => {
|
|
|
46
46
|
}
|
|
47
47
|
Character.setColorMap(colors);
|
|
48
48
|
|
|
49
|
-
//
|
|
49
|
+
// Speed adjustment (persona takes priority)
|
|
50
50
|
PetEngine.setSpeedMultiplier(persona?.speedMultiplier ?? p.speedMultiplier);
|
|
51
51
|
|
|
52
|
-
// CSS
|
|
52
|
+
// CSS classes
|
|
53
53
|
pet.classList.remove('mode-pet', 'mode-incarnation');
|
|
54
54
|
pet.classList.add(`mode-${mode}`);
|
|
55
55
|
|
|
56
|
-
//
|
|
56
|
+
// Speech bubble style
|
|
57
57
|
Speech.setMode(mode);
|
|
58
58
|
|
|
59
|
-
//
|
|
59
|
+
// Apply personality (merge with persona if available)
|
|
60
60
|
if (persona) {
|
|
61
61
|
StateMachine.setPersonality({
|
|
62
62
|
...p,
|
|
@@ -70,12 +70,12 @@ const ModeManager = (() => {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
/**
|
|
73
|
-
*
|
|
73
|
+
* Change persona (when switching bots in Incarnation mode)
|
|
74
74
|
*/
|
|
75
75
|
function setPersona(personaData) {
|
|
76
76
|
if (window._persona) {
|
|
77
77
|
window._persona.setActivePersona(personaData);
|
|
78
|
-
//
|
|
78
|
+
// Apply immediately if currently in Incarnation mode
|
|
79
79
|
if (currentMode === 'incarnation') {
|
|
80
80
|
applyMode('incarnation');
|
|
81
81
|
}
|
|
@@ -93,8 +93,8 @@ const ModeManager = (() => {
|
|
|
93
93
|
applyMode(newMode);
|
|
94
94
|
spawnTransitionEffect(newMode);
|
|
95
95
|
Speech.show(newMode === 'pet'
|
|
96
|
-
? 'Clawby
|
|
97
|
-
: 'Claw...
|
|
96
|
+
? 'Transformed into Clawby mode!'
|
|
97
|
+
: 'Claw... has awakened.');
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
function spawnTransitionEffect(mode) {
|
|
@@ -102,7 +102,7 @@ const ModeManager = (() => {
|
|
|
102
102
|
const color = mode === 'pet' ? '#ff4f40' : '#00BFA5';
|
|
103
103
|
const world = document.getElementById('world');
|
|
104
104
|
|
|
105
|
-
//
|
|
105
|
+
// Particle burst
|
|
106
106
|
for (let i = 0; i < 12; i++) {
|
|
107
107
|
const p = document.createElement('div');
|
|
108
108
|
p.className = 'mode-transition-particle';
|