@kernel.chat/kbot 3.48.0 → 3.50.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 (51) hide show
  1. package/dist/agent-teams.d.ts.map +1 -1
  2. package/dist/agent-teams.js +7 -0
  3. package/dist/agent-teams.js.map +1 -1
  4. package/dist/agents/producer.d.ts +21 -0
  5. package/dist/agents/producer.d.ts.map +1 -0
  6. package/dist/agents/producer.js +139 -0
  7. package/dist/agents/producer.js.map +1 -0
  8. package/dist/agents/specialists.d.ts.map +1 -1
  9. package/dist/agents/specialists.js +19 -0
  10. package/dist/agents/specialists.js.map +1 -1
  11. package/dist/completions.d.ts.map +1 -1
  12. package/dist/completions.js +1 -0
  13. package/dist/completions.js.map +1 -1
  14. package/dist/integrations/ableton-osc.d.ts +146 -0
  15. package/dist/integrations/ableton-osc.d.ts.map +1 -0
  16. package/dist/integrations/ableton-osc.js +590 -0
  17. package/dist/integrations/ableton-osc.js.map +1 -0
  18. package/dist/learned-router.d.ts.map +1 -1
  19. package/dist/learned-router.js +20 -0
  20. package/dist/learned-router.js.map +1 -1
  21. package/dist/tools/ableton-knowledge.d.ts +2 -0
  22. package/dist/tools/ableton-knowledge.d.ts.map +1 -0
  23. package/dist/tools/ableton-knowledge.js +419 -0
  24. package/dist/tools/ableton-knowledge.js.map +1 -0
  25. package/dist/tools/ableton.d.ts +2 -0
  26. package/dist/tools/ableton.d.ts.map +1 -0
  27. package/dist/tools/ableton.js +769 -0
  28. package/dist/tools/ableton.js.map +1 -0
  29. package/dist/tools/index.d.ts.map +1 -1
  30. package/dist/tools/index.js +3 -0
  31. package/dist/tools/index.js.map +1 -1
  32. package/dist/tools/lab-frontier.d.ts +2 -0
  33. package/dist/tools/lab-frontier.d.ts.map +1 -0
  34. package/dist/tools/lab-frontier.js +926 -0
  35. package/dist/tools/lab-frontier.js.map +1 -0
  36. package/dist/tools/lab-physics.d.ts.map +1 -1
  37. package/dist/tools/lab-physics.js +2 -1
  38. package/dist/tools/lab-physics.js.map +1 -1
  39. package/dist/tools/music-theory.d.ts +175 -0
  40. package/dist/tools/music-theory.d.ts.map +1 -0
  41. package/dist/tools/music-theory.js +1020 -0
  42. package/dist/tools/music-theory.js.map +1 -0
  43. package/package.json +1 -1
  44. package/dist/tools/image-variation.d.ts +0 -2
  45. package/dist/tools/image-variation.d.ts.map +0 -1
  46. package/dist/tools/image-variation.js +0 -30
  47. package/dist/tools/image-variation.js.map +0 -1
  48. package/dist/tools/summarize.d.ts +0 -2
  49. package/dist/tools/summarize.d.ts.map +0 -1
  50. package/dist/tools/summarize.js +0 -28
  51. package/dist/tools/summarize.js.map +0 -1
@@ -0,0 +1,175 @@
1
+ export interface MidiNote {
2
+ pitch: number;
3
+ start: number;
4
+ duration: number;
5
+ velocity: number;
6
+ }
7
+ export declare const SCALES: Record<string, number[]>;
8
+ export declare const CHORDS: Record<string, number[]>;
9
+ /**
10
+ * Convert a note name to MIDI number.
11
+ * Accepts: "C4", "F#3", "Bb5", "Eb2", etc.
12
+ * Uses scientific pitch notation where C4 = 60 (middle C).
13
+ */
14
+ export declare function noteNameToMidi(name: string): number;
15
+ /**
16
+ * Convert MIDI number to note name.
17
+ * Returns sharps by default. Pass `preferFlats: true` for flat names.
18
+ */
19
+ export declare function midiToNoteName(midi: number, preferFlats?: boolean): string;
20
+ /**
21
+ * Convert MIDI number to frequency in Hz (A4 = 440 Hz).
22
+ */
23
+ export declare function midiToFrequency(midi: number): number;
24
+ /**
25
+ * Convert frequency in Hz to the nearest MIDI number.
26
+ */
27
+ export declare function frequencyToMidi(freq: number): number;
28
+ /**
29
+ * Parse a chord symbol string into MIDI note numbers.
30
+ *
31
+ * @param symbol - e.g. "Cmaj7", "F#m7", "Bb7", "Dadd9", "G7#9"
32
+ * @param octave - root octave (default 4)
33
+ * @returns Array of MIDI note numbers
34
+ *
35
+ * Examples:
36
+ * parseChordSymbol("Cmaj7") → [60, 64, 67, 71]
37
+ * parseChordSymbol("F#m7") → [66, 69, 73, 76]
38
+ * parseChordSymbol("Bb7") → [58, 62, 65, 68]
39
+ */
40
+ export declare function parseChordSymbol(symbol: string, octave?: number): number[];
41
+ /**
42
+ * Parse a Roman numeral chord notation.
43
+ *
44
+ * @param numeral - e.g. "I", "ii", "V7", "bVII", "iv", "#IV", "viidim7"
45
+ * @param key - e.g. "C", "F#", "Bb"
46
+ * @param scale - scale name (default "major")
47
+ * @returns Object with root MIDI number, quality name, and MIDI notes
48
+ *
49
+ * Conventions:
50
+ * - Uppercase = major, lowercase = minor
51
+ * - "dim" suffix = diminished, "aug" = augmented
52
+ * - "7" = dominant 7th (on uppercase) or minor 7th (on lowercase)
53
+ * - "maj7" = major 7th
54
+ * - "b" prefix = lowered a half step, "#" prefix = raised a half step
55
+ */
56
+ export declare function parseRomanNumeral(numeral: string, key: string, scale?: string): {
57
+ root: number;
58
+ quality: string;
59
+ notes: number[];
60
+ };
61
+ /**
62
+ * Parse a chord progression string into arrays of MIDI notes.
63
+ *
64
+ * Accepts two formats:
65
+ * 1. Roman numerals: "I vi IV V"
66
+ * 2. Chord symbols: "Cmaj7 Am7 Fmaj7 G7"
67
+ *
68
+ * @param progression - space-separated chord tokens
69
+ * @param key - key root note (e.g. "C", "F#")
70
+ * @param scale - scale name (default "major")
71
+ * @param octave - root octave for chord symbols (default 4)
72
+ * @returns Array of MIDI note arrays, one per chord
73
+ */
74
+ export declare function parseProgression(progression: string, key: string, scale?: string, octave?: number): number[][];
75
+ /**
76
+ * Apply a voicing to a set of MIDI notes.
77
+ *
78
+ * @param notes - Input chord tones (root position, ascending)
79
+ * @param voicing - Voicing strategy
80
+ * @returns Re-voiced MIDI notes
81
+ *
82
+ * Voicings:
83
+ * - close: stack notes in ascending order within one octave
84
+ * - open: drop the second note from bottom down an octave
85
+ * - drop2: drop the second note from the top down an octave
86
+ * - drop3: drop the third note from the top down an octave
87
+ * - spread: distribute notes across 2-3 octaves
88
+ * - shell: root + 3rd (or sus) + 7th only
89
+ */
90
+ export declare function voiceChord(notes: number[], voicing: 'close' | 'open' | 'drop2' | 'drop3' | 'spread' | 'shell'): number[];
91
+ /**
92
+ * Arpeggiate a chord into a sequence of MidiNote events.
93
+ *
94
+ * @param notes - MIDI note numbers to arpeggiate
95
+ * @param pattern - Direction pattern
96
+ * @param divisions - Number of notes to generate
97
+ * @param durationBeats - Total duration in beats
98
+ * @returns Array of MidiNote events
99
+ */
100
+ export declare function arpeggiate(notes: number[], pattern: 'up' | 'down' | 'updown' | 'random', divisions: number, durationBeats: number): MidiNote[];
101
+ export declare const NAMED_PROGRESSIONS: Record<string, {
102
+ name: string;
103
+ numerals: string;
104
+ description: string;
105
+ }>;
106
+ export declare const RHYTHM_PATTERNS: Record<string, number[]>;
107
+ /**
108
+ * Snap a MIDI note to the nearest note in the given scale and key.
109
+ *
110
+ * @param note - MIDI note number to quantize
111
+ * @param key - Root pitch class (0-11) or note name
112
+ * @param scale - Scale name from SCALES
113
+ * @returns Nearest MIDI note in the scale
114
+ */
115
+ export declare function quantizeToScale(note: number, key: number | string, scale: string): number;
116
+ /**
117
+ * Detect the most likely key and scale for a set of MIDI notes.
118
+ * Uses the Krumhansl-Schmuckler key-finding algorithm (simplified).
119
+ *
120
+ * @param notes - Array of MIDI note numbers
121
+ * @returns Best-fit key, scale, and confidence (0-1)
122
+ */
123
+ export declare function detectKey(notes: number[]): {
124
+ key: string;
125
+ scale: string;
126
+ confidence: number;
127
+ };
128
+ export declare const GM_DRUMS: Record<string, number>;
129
+ export declare const GENRE_DRUM_PATTERNS: Record<string, {
130
+ bpm: [number, number];
131
+ pattern: Record<string, number[]>;
132
+ }>;
133
+ /**
134
+ * Get scale note names for a given key and scale.
135
+ * Useful for display and reference.
136
+ */
137
+ export declare function getScaleNotes(key: string, scale: string, octave?: number): {
138
+ names: string[];
139
+ midi: number[];
140
+ };
141
+ /**
142
+ * Transpose an array of MIDI notes by a given number of semitones.
143
+ */
144
+ export declare function transpose(notes: number[], semitones: number): number[];
145
+ /**
146
+ * Invert a chord (rotate the lowest note up an octave).
147
+ * @param notes - MIDI notes (sorted ascending)
148
+ * @param inversion - Number of inversions (1 = first, 2 = second, etc.)
149
+ */
150
+ export declare function invertChord(notes: number[], inversion: number): number[];
151
+ /**
152
+ * Calculate the interval name between two MIDI notes.
153
+ */
154
+ export declare function intervalName(semitones: number): string;
155
+ /**
156
+ * Get the available scale names.
157
+ */
158
+ export declare function listScales(): string[];
159
+ /**
160
+ * Get the available chord quality names.
161
+ */
162
+ export declare function listChords(): string[];
163
+ /**
164
+ * Get the available named progressions.
165
+ */
166
+ export declare function listProgressions(): string[];
167
+ /**
168
+ * Get the available drum pattern genres.
169
+ */
170
+ export declare function listDrumPatterns(): string[];
171
+ /**
172
+ * Get the available rhythm patterns.
173
+ */
174
+ export declare function listRhythmPatterns(): string[];
175
+ //# sourceMappingURL=music-theory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"music-theory.d.ts","sourceRoot":"","sources":["../../src/tools/music-theory.ts"],"names":[],"mappings":"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"}