@kernel.chat/kbot 3.51.0 → 3.54.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.
Files changed (121) hide show
  1. package/README.md +43 -9
  2. package/dist/agent-protocol.test.d.ts +2 -0
  3. package/dist/agent-protocol.test.d.ts.map +1 -0
  4. package/dist/agent-protocol.test.js +730 -0
  5. package/dist/agent-protocol.test.js.map +1 -0
  6. package/dist/agent.d.ts.map +1 -1
  7. package/dist/agent.js +34 -10
  8. package/dist/agent.js.map +1 -1
  9. package/dist/agents/replit.js +1 -1
  10. package/dist/auth.js +3 -3
  11. package/dist/auth.js.map +1 -1
  12. package/dist/behaviour.d.ts +30 -0
  13. package/dist/behaviour.d.ts.map +1 -0
  14. package/dist/behaviour.js +191 -0
  15. package/dist/behaviour.js.map +1 -0
  16. package/dist/bench.d.ts +64 -0
  17. package/dist/bench.d.ts.map +1 -0
  18. package/dist/bench.js +973 -0
  19. package/dist/bench.js.map +1 -0
  20. package/dist/bootstrap.js +1 -1
  21. package/dist/bootstrap.js.map +1 -1
  22. package/dist/cli.js +144 -29
  23. package/dist/cli.js.map +1 -1
  24. package/dist/cloud-agent.d.ts +77 -0
  25. package/dist/cloud-agent.d.ts.map +1 -0
  26. package/dist/cloud-agent.js +743 -0
  27. package/dist/cloud-agent.js.map +1 -0
  28. package/dist/context.test.d.ts +2 -0
  29. package/dist/context.test.d.ts.map +1 -0
  30. package/dist/context.test.js +561 -0
  31. package/dist/context.test.js.map +1 -0
  32. package/dist/evolution.d.ts.map +1 -1
  33. package/dist/evolution.js +4 -1
  34. package/dist/evolution.js.map +1 -1
  35. package/dist/github-release.d.ts +61 -0
  36. package/dist/github-release.d.ts.map +1 -0
  37. package/dist/github-release.js +451 -0
  38. package/dist/github-release.js.map +1 -0
  39. package/dist/graph-memory.test.d.ts +2 -0
  40. package/dist/graph-memory.test.d.ts.map +1 -0
  41. package/dist/graph-memory.test.js +946 -0
  42. package/dist/graph-memory.test.js.map +1 -0
  43. package/dist/init-science.d.ts +43 -0
  44. package/dist/init-science.d.ts.map +1 -0
  45. package/dist/init-science.js +477 -0
  46. package/dist/init-science.js.map +1 -0
  47. package/dist/integrations/ableton-m4l.d.ts +124 -0
  48. package/dist/integrations/ableton-m4l.d.ts.map +1 -0
  49. package/dist/integrations/ableton-m4l.js +338 -0
  50. package/dist/integrations/ableton-m4l.js.map +1 -0
  51. package/dist/integrations/ableton-osc.d.ts.map +1 -1
  52. package/dist/integrations/ableton-osc.js +6 -2
  53. package/dist/integrations/ableton-osc.js.map +1 -1
  54. package/dist/lab.d.ts +45 -0
  55. package/dist/lab.d.ts.map +1 -0
  56. package/dist/lab.js +1020 -0
  57. package/dist/lab.js.map +1 -0
  58. package/dist/lsp-deep.d.ts +101 -0
  59. package/dist/lsp-deep.d.ts.map +1 -0
  60. package/dist/lsp-deep.js +689 -0
  61. package/dist/lsp-deep.js.map +1 -0
  62. package/dist/memory.test.d.ts +2 -0
  63. package/dist/memory.test.d.ts.map +1 -0
  64. package/dist/memory.test.js +369 -0
  65. package/dist/memory.test.js.map +1 -0
  66. package/dist/multi-session.d.ts +164 -0
  67. package/dist/multi-session.d.ts.map +1 -0
  68. package/dist/multi-session.js +885 -0
  69. package/dist/multi-session.js.map +1 -0
  70. package/dist/music-learning.d.ts +181 -0
  71. package/dist/music-learning.d.ts.map +1 -0
  72. package/dist/music-learning.js +340 -0
  73. package/dist/music-learning.js.map +1 -0
  74. package/dist/self-eval.d.ts.map +1 -1
  75. package/dist/self-eval.js +5 -2
  76. package/dist/self-eval.js.map +1 -1
  77. package/dist/skill-system.d.ts +68 -0
  78. package/dist/skill-system.d.ts.map +1 -0
  79. package/dist/skill-system.js +386 -0
  80. package/dist/skill-system.js.map +1 -0
  81. package/dist/streaming.d.ts.map +1 -1
  82. package/dist/streaming.js +0 -1
  83. package/dist/streaming.js.map +1 -1
  84. package/dist/teach.d.ts +136 -0
  85. package/dist/teach.d.ts.map +1 -0
  86. package/dist/teach.js +915 -0
  87. package/dist/teach.js.map +1 -0
  88. package/dist/telemetry.d.ts +1 -1
  89. package/dist/telemetry.d.ts.map +1 -1
  90. package/dist/telemetry.js.map +1 -1
  91. package/dist/tools/ableton.d.ts.map +1 -1
  92. package/dist/tools/ableton.js +24 -8
  93. package/dist/tools/ableton.js.map +1 -1
  94. package/dist/tools/arrangement-engine.d.ts +2 -0
  95. package/dist/tools/arrangement-engine.d.ts.map +1 -0
  96. package/dist/tools/arrangement-engine.js +644 -0
  97. package/dist/tools/arrangement-engine.js.map +1 -0
  98. package/dist/tools/browser-agent.js +2 -2
  99. package/dist/tools/browser-agent.js.map +1 -1
  100. package/dist/tools/forge.d.ts.map +1 -1
  101. package/dist/tools/forge.js +15 -26
  102. package/dist/tools/forge.js.map +1 -1
  103. package/dist/tools/git.d.ts.map +1 -1
  104. package/dist/tools/git.js +10 -7
  105. package/dist/tools/git.js.map +1 -1
  106. package/dist/tools/index.d.ts.map +1 -1
  107. package/dist/tools/index.js +5 -0
  108. package/dist/tools/index.js.map +1 -1
  109. package/dist/tools/producer-engine.d.ts +71 -0
  110. package/dist/tools/producer-engine.d.ts.map +1 -0
  111. package/dist/tools/producer-engine.js +1859 -0
  112. package/dist/tools/producer-engine.js.map +1 -0
  113. package/dist/tools/sound-designer.d.ts +2 -0
  114. package/dist/tools/sound-designer.d.ts.map +1 -0
  115. package/dist/tools/sound-designer.js +896 -0
  116. package/dist/tools/sound-designer.js.map +1 -0
  117. package/dist/voice-realtime.d.ts +54 -0
  118. package/dist/voice-realtime.d.ts.map +1 -0
  119. package/dist/voice-realtime.js +805 -0
  120. package/dist/voice-realtime.js.map +1 -0
  121. package/package.json +11 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-session.js","sourceRoot":"","sources":["../src/multi-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ export interface SoundMemory {
2
+ /** What role this sound served (bass, melody, pad, drums, etc.) */
3
+ role: string;
4
+ /** Genre context */
5
+ genre: string;
6
+ /** Plugin used */
7
+ plugin: string;
8
+ /** Plugin manufacturer */
9
+ manufacturer: string;
10
+ /** Preset name if applicable */
11
+ preset: string;
12
+ /** Key parameters that were set */
13
+ params: Record<string, number>;
14
+ /** User satisfaction score (0-1, updated via feedback) */
15
+ score: number;
16
+ /** Number of times this was used */
17
+ uses: number;
18
+ /** Last used timestamp */
19
+ lastUsed: string;
20
+ /** Tags from user feedback */
21
+ tags: string[];
22
+ }
23
+ /** Record a sound that was used in a production */
24
+ export declare function recordSound(sound: Omit<SoundMemory, 'score' | 'uses' | 'lastUsed' | 'tags'>): void;
25
+ /** Boost a sound's score (user liked it) */
26
+ export declare function boostSound(role: string, genre: string, amount?: number): void;
27
+ /** Penalize a sound's score (user changed it) */
28
+ export declare function penalizeSound(role: string, genre: string, amount?: number): void;
29
+ /** Get the best-scoring sound for a role + genre */
30
+ export declare function getBestSound(role: string, genre: string): SoundMemory | null;
31
+ /** Get all sounds for a genre, sorted by score */
32
+ export declare function getSoundsForGenre(genre: string): SoundMemory[];
33
+ export interface PatternMemory {
34
+ /** Pattern type */
35
+ type: 'drums' | 'bass' | 'melody' | 'chords' | 'perc';
36
+ /** Genre context */
37
+ genre: string;
38
+ /** Key (for pitched patterns) */
39
+ key: string;
40
+ /** Scale used */
41
+ scale: string;
42
+ /** BPM */
43
+ bpm: number;
44
+ /** The actual MIDI data: [pitch, start, duration, velocity][] */
45
+ notes: Array<[number, number, number, number]>;
46
+ /** Bars */
47
+ bars: number;
48
+ /** User satisfaction score */
49
+ score: number;
50
+ /** Times used */
51
+ uses: number;
52
+ /** Tags */
53
+ tags: string[];
54
+ /** Created */
55
+ created: string;
56
+ }
57
+ /** Record a pattern that was used */
58
+ export declare function recordPattern(pattern: Omit<PatternMemory, 'score' | 'uses' | 'tags' | 'created'>): void;
59
+ /** Get the best pattern for a type + genre */
60
+ export declare function getBestPattern(type: string, genre: string): PatternMemory | null;
61
+ /** Boost a pattern (user kept it) */
62
+ export declare function boostPattern(type: string, genre: string, amount?: number): void;
63
+ export interface MixMemory {
64
+ /** Genre */
65
+ genre: string;
66
+ /** Per-role volumes */
67
+ volumes: Record<string, number>;
68
+ /** Per-role panning */
69
+ panning: Record<string, number>;
70
+ /** Send levels */
71
+ sends: Array<{
72
+ role: string;
73
+ returnIdx: number;
74
+ level: number;
75
+ }>;
76
+ /** Score */
77
+ score: number;
78
+ /** Times used */
79
+ uses: number;
80
+ /** Created */
81
+ created: string;
82
+ }
83
+ /** Record a mix configuration */
84
+ export declare function recordMix(mix: Omit<MixMemory, 'score' | 'uses' | 'created'>): void;
85
+ /** Get the best mix for a genre */
86
+ export declare function getBestMix(genre: string): MixMemory | null;
87
+ /** Boost the most recent mix for a genre */
88
+ export declare function boostMix(genre: string, amount?: number): void;
89
+ export interface MusicPreferences {
90
+ /** Preferred genres (ordered by frequency) */
91
+ genres: Record<string, number>;
92
+ /** Preferred keys */
93
+ keys: Record<string, number>;
94
+ /** Preferred BPM ranges per genre */
95
+ bpmRanges: Record<string, [number, number]>;
96
+ /** Preferred instruments per role */
97
+ instruments: Record<string, string>;
98
+ /** Preferred Roland Cloud instruments */
99
+ rolandPreferred: boolean;
100
+ /** Preferred reverb amount (0-1) */
101
+ reverbAmount: number;
102
+ /** Preferred melody density (sparse/normal/dense) */
103
+ melodyDensity: string;
104
+ /** Total beats produced */
105
+ totalBeats: number;
106
+ /** Total sessions */
107
+ totalSessions: number;
108
+ /** Favorite progressions */
109
+ progressions: Record<string, number>;
110
+ }
111
+ /** Record that a genre was used */
112
+ export declare function recordGenreUse(genre: string): void;
113
+ /** Record that a key was used */
114
+ export declare function recordKeyUse(key: string): void;
115
+ /** Record a progression was used */
116
+ export declare function recordProgressionUse(progression: string): void;
117
+ /** Get the user's most-used genre */
118
+ export declare function getPreferredGenre(): string | null;
119
+ /** Get the user's preferred key for a genre */
120
+ export declare function getPreferredKey(genre: string): string | null;
121
+ /** Get all preferences */
122
+ export declare function getPreferences(): MusicPreferences;
123
+ export interface ProductionEvent {
124
+ /** Timestamp */
125
+ timestamp: string;
126
+ /** What happened */
127
+ action: 'produce_beat' | 'design_sound' | 'arrange_song' | 'modify' | 'export' | 'feedback';
128
+ /** Genre */
129
+ genre: string;
130
+ /** Key */
131
+ key: string;
132
+ /** BPM */
133
+ bpm: number;
134
+ /** What was changed (if modification) */
135
+ detail: string;
136
+ /** User feedback (if any) */
137
+ feedback: 'positive' | 'negative' | 'neutral';
138
+ }
139
+ /** Record a production event */
140
+ export declare function recordEvent(event: Omit<ProductionEvent, 'timestamp'>): void;
141
+ /** Get recent history */
142
+ export declare function getRecentHistory(count?: number): ProductionEvent[];
143
+ export interface FeedbackSignal {
144
+ /** What was the context */
145
+ genre: string;
146
+ /** What was the action */
147
+ action: string;
148
+ /** Was it positive or negative */
149
+ sentiment: 'positive' | 'negative';
150
+ /** What specifically was good/bad */
151
+ target: string;
152
+ /** Optional detail */
153
+ detail?: string;
154
+ }
155
+ /**
156
+ * Process user feedback and update all memory systems.
157
+ * This is the self-improvement loop — every feedback signal
158
+ * adjusts future behavior.
159
+ */
160
+ export declare function processFeedback(signal: FeedbackSignal): string;
161
+ /**
162
+ * Get a learning summary — what kbot has learned about the user's taste.
163
+ */
164
+ export declare function getLearningReport(): string;
165
+ /**
166
+ * Apply learned preferences to a genre preset.
167
+ * Returns overrides that should be applied on top of the default preset.
168
+ */
169
+ export declare function getLearnedOverrides(genre: string): {
170
+ preferredKey?: string;
171
+ preferredBpm?: number;
172
+ soundOverrides: Record<string, {
173
+ plugin: string;
174
+ manufacturer: string;
175
+ preset: string;
176
+ }>;
177
+ mixOverrides?: {
178
+ volumes: Record<string, number>;
179
+ };
180
+ };
181
+ //# sourceMappingURL=music-learning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"music-learning.d.ts","sourceRoot":"","sources":["../src/music-learning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,340 @@
1
+ // kbot Music Learning Engine — Self-Improving Production Intelligence
2
+ //
3
+ // Inspired by Agent Zero's adaptive memory + kbot's existing learning.ts
4
+ //
5
+ // Three feedback loops:
6
+ // 1. SOUND MEMORY — Remember which synth settings, presets, and samples sounded good
7
+ // 2. PATTERN MEMORY — Remember which drum patterns, melodies, and progressions the user kept
8
+ // 3. MIX MEMORY — Remember mix decisions that worked (volumes, EQ, sends)
9
+ //
10
+ // The engine learns from:
11
+ // - User keeps a beat playing (positive signal)
12
+ // - User changes something (negative signal for what was changed, positive for what wasn't)
13
+ // - User says "I like this" or "this sounds good" (explicit positive)
14
+ // - User says "change the drums" or "make it darker" (explicit correction)
15
+ // - User exports/saves (strongest positive signal)
16
+ //
17
+ // Everything persists to ~/.kbot/music-memory/
18
+ import { homedir } from 'node:os';
19
+ import { join } from 'node:path';
20
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
21
+ const MUSIC_DIR = join(homedir(), '.kbot', 'music-memory');
22
+ const SOUNDS_FILE = join(MUSIC_DIR, 'sounds.json');
23
+ const PATTERNS_FILE = join(MUSIC_DIR, 'patterns.json');
24
+ const MIXES_FILE = join(MUSIC_DIR, 'mixes.json');
25
+ const PREFERENCES_FILE = join(MUSIC_DIR, 'preferences.json');
26
+ const HISTORY_FILE = join(MUSIC_DIR, 'history.json');
27
+ function ensureDir() {
28
+ if (!existsSync(MUSIC_DIR))
29
+ mkdirSync(MUSIC_DIR, { recursive: true });
30
+ }
31
+ function loadJSON(path, fallback) {
32
+ ensureDir();
33
+ if (!existsSync(path))
34
+ return fallback;
35
+ try {
36
+ return JSON.parse(readFileSync(path, 'utf-8'));
37
+ }
38
+ catch {
39
+ return fallback;
40
+ }
41
+ }
42
+ function saveJSON(path, data) {
43
+ ensureDir();
44
+ writeFileSync(path, JSON.stringify(data, null, 2));
45
+ }
46
+ let sounds = loadJSON(SOUNDS_FILE, []);
47
+ /** Record a sound that was used in a production */
48
+ export function recordSound(sound) {
49
+ const existing = sounds.find(s => s.role === sound.role && s.plugin === sound.plugin && s.genre === sound.genre);
50
+ if (existing) {
51
+ existing.uses++;
52
+ existing.lastUsed = new Date().toISOString();
53
+ // Merge params (keep the latest)
54
+ existing.params = { ...existing.params, ...sound.params };
55
+ if (sound.preset)
56
+ existing.preset = sound.preset;
57
+ }
58
+ else {
59
+ sounds.push({
60
+ ...sound,
61
+ score: 0.5, // neutral starting score
62
+ uses: 1,
63
+ lastUsed: new Date().toISOString(),
64
+ tags: [],
65
+ });
66
+ }
67
+ saveJSON(SOUNDS_FILE, sounds);
68
+ }
69
+ /** Boost a sound's score (user liked it) */
70
+ export function boostSound(role, genre, amount = 0.1) {
71
+ const sound = sounds.find(s => s.role === role && s.genre === genre);
72
+ if (sound) {
73
+ sound.score = Math.min(1, sound.score + amount);
74
+ saveJSON(SOUNDS_FILE, sounds);
75
+ }
76
+ }
77
+ /** Penalize a sound's score (user changed it) */
78
+ export function penalizeSound(role, genre, amount = 0.15) {
79
+ const sound = sounds.find(s => s.role === role && s.genre === genre);
80
+ if (sound) {
81
+ sound.score = Math.max(0, sound.score - amount);
82
+ saveJSON(SOUNDS_FILE, sounds);
83
+ }
84
+ }
85
+ /** Get the best-scoring sound for a role + genre */
86
+ export function getBestSound(role, genre) {
87
+ const candidates = sounds
88
+ .filter(s => s.role === role && s.genre === genre && s.score > 0.4)
89
+ .sort((a, b) => b.score - a.score);
90
+ return candidates[0] || null;
91
+ }
92
+ /** Get all sounds for a genre, sorted by score */
93
+ export function getSoundsForGenre(genre) {
94
+ return sounds
95
+ .filter(s => s.genre === genre)
96
+ .sort((a, b) => b.score - a.score);
97
+ }
98
+ let patterns = loadJSON(PATTERNS_FILE, []);
99
+ /** Record a pattern that was used */
100
+ export function recordPattern(pattern) {
101
+ patterns.push({
102
+ ...pattern,
103
+ score: 0.5,
104
+ uses: 1,
105
+ tags: [],
106
+ created: new Date().toISOString(),
107
+ });
108
+ // Keep max 200 patterns (trim lowest-scored)
109
+ if (patterns.length > 200) {
110
+ patterns.sort((a, b) => b.score - a.score);
111
+ patterns = patterns.slice(0, 200);
112
+ }
113
+ saveJSON(PATTERNS_FILE, patterns);
114
+ }
115
+ /** Get the best pattern for a type + genre */
116
+ export function getBestPattern(type, genre) {
117
+ const candidates = patterns
118
+ .filter(p => p.type === type && p.genre === genre && p.score > 0.4)
119
+ .sort((a, b) => b.score - a.score);
120
+ return candidates[0] || null;
121
+ }
122
+ /** Boost a pattern (user kept it) */
123
+ export function boostPattern(type, genre, amount = 0.1) {
124
+ const recent = patterns
125
+ .filter(p => p.type === type && p.genre === genre)
126
+ .sort((a, b) => new Date(b.created).getTime() - new Date(a.created).getTime());
127
+ if (recent[0]) {
128
+ recent[0].score = Math.min(1, recent[0].score + amount);
129
+ recent[0].uses++;
130
+ saveJSON(PATTERNS_FILE, patterns);
131
+ }
132
+ }
133
+ let mixes = loadJSON(MIXES_FILE, []);
134
+ /** Record a mix configuration */
135
+ export function recordMix(mix) {
136
+ mixes.push({
137
+ ...mix,
138
+ score: 0.5,
139
+ uses: 1,
140
+ created: new Date().toISOString(),
141
+ });
142
+ if (mixes.length > 50) {
143
+ mixes.sort((a, b) => b.score - a.score);
144
+ mixes = mixes.slice(0, 50);
145
+ }
146
+ saveJSON(MIXES_FILE, mixes);
147
+ }
148
+ /** Get the best mix for a genre */
149
+ export function getBestMix(genre) {
150
+ const candidates = mixes
151
+ .filter(m => m.genre === genre && m.score > 0.4)
152
+ .sort((a, b) => b.score - a.score);
153
+ return candidates[0] || null;
154
+ }
155
+ /** Boost the most recent mix for a genre */
156
+ export function boostMix(genre, amount = 0.1) {
157
+ const recent = mixes
158
+ .filter(m => m.genre === genre)
159
+ .sort((a, b) => new Date(b.created).getTime() - new Date(a.created).getTime());
160
+ if (recent[0]) {
161
+ recent[0].score = Math.min(1, recent[0].score + amount);
162
+ recent[0].uses++;
163
+ saveJSON(MIXES_FILE, mixes);
164
+ }
165
+ }
166
+ let preferences = loadJSON(PREFERENCES_FILE, {
167
+ genres: {},
168
+ keys: {},
169
+ bpmRanges: {},
170
+ instruments: {},
171
+ rolandPreferred: true,
172
+ reverbAmount: 0.35,
173
+ melodyDensity: 'normal',
174
+ totalBeats: 0,
175
+ totalSessions: 0,
176
+ progressions: {},
177
+ });
178
+ /** Record that a genre was used */
179
+ export function recordGenreUse(genre) {
180
+ preferences.genres[genre] = (preferences.genres[genre] || 0) + 1;
181
+ preferences.totalBeats++;
182
+ saveJSON(PREFERENCES_FILE, preferences);
183
+ }
184
+ /** Record that a key was used */
185
+ export function recordKeyUse(key) {
186
+ preferences.keys[key] = (preferences.keys[key] || 0) + 1;
187
+ saveJSON(PREFERENCES_FILE, preferences);
188
+ }
189
+ /** Record a progression was used */
190
+ export function recordProgressionUse(progression) {
191
+ preferences.progressions[progression] = (preferences.progressions[progression] || 0) + 1;
192
+ saveJSON(PREFERENCES_FILE, preferences);
193
+ }
194
+ /** Get the user's most-used genre */
195
+ export function getPreferredGenre() {
196
+ const entries = Object.entries(preferences.genres).sort((a, b) => b[1] - a[1]);
197
+ return entries[0]?.[0] || null;
198
+ }
199
+ /** Get the user's preferred key for a genre */
200
+ export function getPreferredKey(genre) {
201
+ // Check genre-specific key preferences from sounds
202
+ const genreSounds = sounds.filter(s => s.genre === genre && s.score > 0.6);
203
+ // For now use global key preferences
204
+ const entries = Object.entries(preferences.keys).sort((a, b) => b[1] - a[1]);
205
+ return entries[0]?.[0] || null;
206
+ }
207
+ /** Get all preferences */
208
+ export function getPreferences() {
209
+ return { ...preferences };
210
+ }
211
+ let history = loadJSON(HISTORY_FILE, []);
212
+ /** Record a production event */
213
+ export function recordEvent(event) {
214
+ history.push({
215
+ ...event,
216
+ timestamp: new Date().toISOString(),
217
+ });
218
+ // Keep last 500 events
219
+ if (history.length > 500) {
220
+ history = history.slice(-500);
221
+ }
222
+ saveJSON(HISTORY_FILE, history);
223
+ }
224
+ /** Get recent history */
225
+ export function getRecentHistory(count = 20) {
226
+ return history.slice(-count);
227
+ }
228
+ /**
229
+ * Process user feedback and update all memory systems.
230
+ * This is the self-improvement loop — every feedback signal
231
+ * adjusts future behavior.
232
+ */
233
+ export function processFeedback(signal) {
234
+ const { genre, action, sentiment, target, detail } = signal;
235
+ const isPositive = sentiment === 'positive';
236
+ const amount = isPositive ? 0.1 : 0.15; // penalize harder than reward (asymmetric trust)
237
+ const updates = [];
238
+ if (target === 'overall' || target === 'all') {
239
+ // Boost/penalize everything for this genre
240
+ if (isPositive) {
241
+ boostMix(genre, amount);
242
+ updates.push('mix boosted');
243
+ }
244
+ for (const type of ['drums', 'bass', 'melody', 'chords', 'perc']) {
245
+ if (isPositive)
246
+ boostPattern(type, genre, amount);
247
+ }
248
+ for (const role of ['drums', 'bass', 'melody', 'pad', 'perc']) {
249
+ if (isPositive)
250
+ boostSound(role, genre, amount);
251
+ else
252
+ penalizeSound(role, genre, amount);
253
+ }
254
+ updates.push(`all ${isPositive ? 'boosted' : 'penalized'} for ${genre}`);
255
+ }
256
+ else {
257
+ // Target specific element
258
+ if (isPositive) {
259
+ boostSound(target, genre, amount);
260
+ boostPattern(target, genre, amount);
261
+ updates.push(`${target} boosted`);
262
+ }
263
+ else {
264
+ penalizeSound(target, genre, amount);
265
+ updates.push(`${target} penalized — will try different approach next time`);
266
+ }
267
+ }
268
+ // Record the event
269
+ recordEvent({
270
+ action: 'feedback',
271
+ genre,
272
+ key: '',
273
+ bpm: 0,
274
+ detail: `${sentiment} feedback on ${target}: ${detail || 'no detail'}`,
275
+ feedback: sentiment === 'positive' ? 'positive' : 'negative',
276
+ });
277
+ return `Learned: ${updates.join(', ')}. Score adjustments saved.`;
278
+ }
279
+ /**
280
+ * Get a learning summary — what kbot has learned about the user's taste.
281
+ */
282
+ export function getLearningReport() {
283
+ const lines = ['## kbot Music Learning Report', ''];
284
+ // Genre preferences
285
+ const genreEntries = Object.entries(preferences.genres).sort((a, b) => b[1] - a[1]);
286
+ if (genreEntries.length > 0) {
287
+ lines.push('**Preferred genres:**');
288
+ for (const [genre, count] of genreEntries.slice(0, 5)) {
289
+ lines.push(` ${genre}: ${count} beats`);
290
+ }
291
+ lines.push('');
292
+ }
293
+ // Key preferences
294
+ const keyEntries = Object.entries(preferences.keys).sort((a, b) => b[1] - a[1]);
295
+ if (keyEntries.length > 0) {
296
+ lines.push('**Preferred keys:** ' + keyEntries.slice(0, 5).map(([k, c]) => `${k}(${c})`).join(', '));
297
+ lines.push('');
298
+ }
299
+ // Best sounds
300
+ const topSounds = sounds.filter(s => s.score > 0.6).sort((a, b) => b.score - a.score).slice(0, 10);
301
+ if (topSounds.length > 0) {
302
+ lines.push('**Top-rated sounds:**');
303
+ for (const s of topSounds) {
304
+ lines.push(` ${s.role} (${s.genre}): ${s.plugin} — score ${s.score.toFixed(2)} (${s.uses} uses)`);
305
+ }
306
+ lines.push('');
307
+ }
308
+ // Stats
309
+ lines.push(`**Total:** ${preferences.totalBeats} beats, ${history.length} events, ${sounds.length} sounds, ${patterns.length} patterns`);
310
+ return lines.join('\n');
311
+ }
312
+ /**
313
+ * Apply learned preferences to a genre preset.
314
+ * Returns overrides that should be applied on top of the default preset.
315
+ */
316
+ export function getLearnedOverrides(genre) {
317
+ const overrides = { soundOverrides: {} };
318
+ // Check if we have a preferred key for this genre
319
+ const prefKey = getPreferredKey(genre);
320
+ if (prefKey)
321
+ overrides.preferredKey = prefKey;
322
+ // Check for high-scoring sounds
323
+ for (const role of ['drums', 'bass', 'melody', 'pad', 'perc']) {
324
+ const best = getBestSound(role, genre);
325
+ if (best && best.score > 0.7) {
326
+ overrides.soundOverrides[role] = {
327
+ plugin: best.plugin,
328
+ manufacturer: best.manufacturer,
329
+ preset: best.preset,
330
+ };
331
+ }
332
+ }
333
+ // Check for learned mix
334
+ const bestMix = getBestMix(genre);
335
+ if (bestMix && bestMix.score > 0.7) {
336
+ overrides.mixOverrides = { volumes: bestMix.volumes };
337
+ }
338
+ return overrides;
339
+ }
340
+ //# sourceMappingURL=music-learning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"music-learning.js","sourceRoot":"","sources":["../src/music-learning.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"self-eval.d.ts","sourceRoot":"","sources":["../src/self-eval.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,UAAU;IACzB,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAA;IACpB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAA;IACjB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAA;IACf,6DAA6D;IAC7D,WAAW,EAAE,OAAO,CAAA;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,+DAA+D;AAC/D,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;AAM5D,iDAAiD;AACjD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEzD;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAuKD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC,UAAU,CAAC,CAiBrB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAClD,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,GAAE,MAAU,EACtB,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAoClE"}
1
+ {"version":3,"file":"self-eval.d.ts","sourceRoot":"","sources":["../src/self-eval.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,UAAU;IACzB,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAA;IACpB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAA;IACjB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAA;IACf,6DAA6D;IAC7D,WAAW,EAAE,OAAO,CAAA;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,+DAA+D;AAC/D,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;AAM5D,iDAAiD;AACjD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEzD;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAyKD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC,UAAU,CAAC,CAiBrB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAClD,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,GAAE,MAAU,EACtB,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAoClE"}
package/dist/self-eval.js CHANGED
@@ -87,6 +87,9 @@ function buildHeaders(provider, apiKey) {
87
87
  headers['x-api-key'] = apiKey;
88
88
  headers['anthropic-version'] = '2023-06-01';
89
89
  }
90
+ else if (provider.apiStyle === 'google') {
91
+ headers['x-goog-api-key'] = apiKey;
92
+ }
90
93
  else if (apiKey && apiKey !== 'local') {
91
94
  headers['Authorization'] = `Bearer ${apiKey}`;
92
95
  }
@@ -115,9 +118,9 @@ function buildBody(provider, model, prompt) {
115
118
  });
116
119
  }
117
120
  /** Build the full URL for the request */
118
- function buildUrl(provider, byokProvider, model, apiKey) {
121
+ function buildUrl(provider, byokProvider, model, _apiKey) {
119
122
  if (provider.apiStyle === 'google') {
120
- return `${provider.apiUrl}/${model}:generateContent?key=${apiKey}`;
123
+ return `${provider.apiUrl}/${model}:generateContent`;
121
124
  }
122
125
  return provider.apiUrl;
123
126
  }