@kernel.chat/kbot 3.99.20 → 3.99.22
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/README.md +11 -0
- package/dist/agent.js +23 -0
- package/dist/agents/producer.js +65 -23
- package/dist/auth.d.ts +2 -0
- package/dist/cli.js +7 -4
- package/dist/critic-gate.d.ts +29 -0
- package/dist/critic-gate.js +223 -0
- package/dist/critic-retrospect.d.ts +64 -0
- package/dist/critic-retrospect.js +279 -0
- package/dist/critic-taxonomy.d.ts +40 -0
- package/dist/critic-taxonomy.js +146 -0
- package/dist/growth.d.ts +37 -0
- package/dist/growth.js +272 -0
- package/dist/integrations/ableton.d.ts +30 -0
- package/dist/integrations/ableton.js +66 -0
- package/dist/integrations/kbot-control-client.d.ts +66 -0
- package/dist/integrations/kbot-control-client.js +224 -0
- package/dist/observer.d.ts +13 -0
- package/dist/observer.js +5 -1
- package/dist/planner/hierarchical/dag.d.ts +71 -0
- package/dist/planner/hierarchical/dag.js +97 -0
- package/dist/planner/hierarchical/persistence.d.ts +26 -0
- package/dist/planner/hierarchical/persistence.js +113 -0
- package/dist/planner/hierarchical/session-planner.d.ts +68 -0
- package/dist/planner/hierarchical/session-planner.js +141 -0
- package/dist/planner/hierarchical/types.d.ts +116 -0
- package/dist/planner/hierarchical/types.js +18 -0
- package/dist/tool-pipeline.d.ts +39 -1
- package/dist/tool-pipeline.js +109 -1
- package/dist/tools/ableton-listen.d.ts +2 -0
- package/dist/tools/ableton-listen.js +126 -0
- package/dist/tools/ableton.js +477 -12
- package/dist/tools/index.js +2 -0
- package/dist/tools/kbot-control.d.ts +2 -0
- package/dist/tools/kbot-control.js +63 -0
- package/package.json +1 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// kbot-control tool — direct access to kbot-control.amxd.
|
|
2
|
+
//
|
|
3
|
+
// One tool exposing every method in packages/kbot/m4l/kbot-control/PROTOCOL.md.
|
|
4
|
+
// When kbot-control.amxd is loaded in Ableton, this supersedes most of the
|
|
5
|
+
// ableton_* tools (and extends them with operations OSC can't reach —
|
|
6
|
+
// view focus with scroll, listeners, arrangement clips, browser navigation).
|
|
7
|
+
import { registerTool } from './index.js';
|
|
8
|
+
import { KbotControlClient } from '../integrations/kbot-control-client.js';
|
|
9
|
+
export function registerKbotControlTools() {
|
|
10
|
+
registerTool({
|
|
11
|
+
name: 'kbot_control',
|
|
12
|
+
description: 'Direct JSON-RPC pass-through to kbot-control.amxd (the Max for Live device at TCP 127.0.0.1:9000). ' +
|
|
13
|
+
'Supersedes AbletonOSC + AbletonBridge + kbot-bridge. ' +
|
|
14
|
+
'Namespaces: song.* track.* clip.* scene.* device.* view.* browser.* arrangement.* listen.* midi.* kbot.*. ' +
|
|
15
|
+
'Call `kbot.heartbeat` first to verify the device is loaded. ' +
|
|
16
|
+
'See packages/kbot/m4l/kbot-control/PROTOCOL.md for the full method list.',
|
|
17
|
+
parameters: {
|
|
18
|
+
method: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
description: 'JSON-RPC method name (e.g. "song.tempo", "track.list", "view.focus_track", "device.load_by_name", "listen.subscribe").',
|
|
21
|
+
required: true,
|
|
22
|
+
},
|
|
23
|
+
params: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
description: 'JSON-encoded params object. Example: \'{"value":128}\' for song.tempo, \'{"index":2}\' for view.focus_track.',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
tier: 'free',
|
|
29
|
+
timeout: 15_000,
|
|
30
|
+
async execute(args) {
|
|
31
|
+
const method = String(args.method || '').trim();
|
|
32
|
+
if (!method)
|
|
33
|
+
return 'Error: method is required.';
|
|
34
|
+
let params;
|
|
35
|
+
if (args.params !== undefined && args.params !== '') {
|
|
36
|
+
try {
|
|
37
|
+
params = typeof args.params === 'string' ? JSON.parse(args.params) : args.params;
|
|
38
|
+
}
|
|
39
|
+
catch (e) {
|
|
40
|
+
return `Error: params is not valid JSON (${e.message}).`;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
const result = await KbotControlClient.get().call(method, params);
|
|
45
|
+
if (result === null || result === undefined)
|
|
46
|
+
return `${method} → (no result)`;
|
|
47
|
+
if (typeof result === 'string')
|
|
48
|
+
return `${method} → ${result}`;
|
|
49
|
+
return `${method} →\n\`\`\`json\n${JSON.stringify(result, null, 2)}\n\`\`\``;
|
|
50
|
+
}
|
|
51
|
+
catch (e) {
|
|
52
|
+
const msg = e.message;
|
|
53
|
+
if (msg.includes('is kbot-control.amxd loaded') || msg.includes('ECONNREFUSED')) {
|
|
54
|
+
return (`kbot-control.amxd is not loaded in Ableton.\n\n` +
|
|
55
|
+
`Fix: in Ableton, Browser → Audio Effects → Max Audio Effect → kbot-control → drag onto any track.\n` +
|
|
56
|
+
`Then the device's Node-for-Max server starts listening on TCP 127.0.0.1:9000.`);
|
|
57
|
+
}
|
|
58
|
+
return `kbot-control error on ${method}: ${msg}`;
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=kbot-control.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kernel.chat/kbot",
|
|
3
|
-
"version": "3.99.
|
|
3
|
+
"version": "3.99.22",
|
|
4
4
|
"description": "Open-source terminal AI agent. 787+ tools, 35 agents, 20 providers. Dreams, learns, watches your system. Controls your phone. Fully local, fully sovereign. MIT.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|