bajaclaw 0.15.0 → 0.15.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/README.md +1 -1
- package/dist/commands/chat-ui.js +5 -5
- package/dist/commands/daemon.js +29 -5
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/dashboard.js +1 -1
- package/package.json +1 -1
- package/skills/setup-discord/SKILL.md +65 -60
- package/skills/setup-telegram/SKILL.md +75 -76
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
██╔══██╗██╔══██║██ ██║██╔══██║ ██║ ██║ ██╔══██║██║███╗██║
|
|
8
8
|
██████╔╝██║ ██║╚█████╔╝██║ ██║ ╚██████╗███████╗██║ ██║╚███╔███╔╝
|
|
9
9
|
╚═════╝ ╚═╝ ╚═╝ ╚════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝╚═╝ ╚═╝ ╚══╝╚══╝
|
|
10
|
-
autonomous agents on your terms · MIT · v0.15.
|
|
10
|
+
autonomous agents on your terms · MIT · v0.15.2
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
## What BajaClaw is
|
package/dist/commands/chat-ui.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Replaces the old readline-based REPL (v0.14.23 and earlier). Prior
|
|
4
4
|
// versions fought readline's `_refreshLine` cursor model to draw a
|
|
5
5
|
// bordered "sandwich" around the input; see HANDOFF.md landmine 17.
|
|
6
|
-
// Ink sidesteps all of that
|
|
6
|
+
// Ink sidesteps all of that - it owns the render loop, diffs each
|
|
7
7
|
// frame, and lets us describe the UI declaratively.
|
|
8
8
|
//
|
|
9
9
|
// Layout, top to bottom:
|
|
@@ -92,7 +92,7 @@ export function ChatApp({ profile, cfg: initialCfg, agentName, initialModelOverr
|
|
|
92
92
|
// Seed the Static list with the intro entry on first render so the
|
|
93
93
|
// banner + identity block land in scrollback. Ink 7 renders only
|
|
94
94
|
// the LAST <Static> in the tree, so we use ONE Static for everything
|
|
95
|
-
//
|
|
95
|
+
// - intro goes in the same list as the turns.
|
|
96
96
|
const [turns, setTurns] = useState(() => {
|
|
97
97
|
const db = openDb(profile);
|
|
98
98
|
let usage;
|
|
@@ -123,7 +123,7 @@ export function ChatApp({ profile, cfg: initialCfg, agentName, initialModelOverr
|
|
|
123
123
|
const [commandHistory, setCommandHistory] = useState([]);
|
|
124
124
|
// Local message queue. If the user hits Enter while a cycle is in
|
|
125
125
|
// flight, the message lands here instead of forcing them to wait.
|
|
126
|
-
// Drained FIFO as soon as `thinking` flips false
|
|
126
|
+
// Drained FIFO as soon as `thinking` flips false - see the useEffect
|
|
127
127
|
// below.
|
|
128
128
|
const [messageQueue, setMessageQueue] = useState([]);
|
|
129
129
|
const historyRef = useRef([]);
|
|
@@ -151,7 +151,7 @@ export function ChatApp({ profile, cfg: initialCfg, agentName, initialModelOverr
|
|
|
151
151
|
return () => clearInterval(i);
|
|
152
152
|
}, [thinking, thinkingStart]);
|
|
153
153
|
// Ctrl-C / Ctrl-D exit. Registered as a top-level input handler so
|
|
154
|
-
// it fires even while the composer's own useInput is active
|
|
154
|
+
// it fires even while the composer's own useInput is active - Ink
|
|
155
155
|
// delivers each key event to every registered handler.
|
|
156
156
|
useInput((char, key) => {
|
|
157
157
|
if (key.ctrl && (char === "c" || char === "d")) {
|
|
@@ -878,7 +878,7 @@ async function handleSlash(input, ctx) {
|
|
|
878
878
|
return;
|
|
879
879
|
}
|
|
880
880
|
case "history":
|
|
881
|
-
ctx.appendSystem([{ text: "(use the dashboard for full history
|
|
881
|
+
ctx.appendSystem([{ text: "(use the dashboard for full history - /stats for session totals)", dim: true }]);
|
|
882
882
|
return;
|
|
883
883
|
default:
|
|
884
884
|
ctx.appendSystem([
|
package/dist/commands/daemon.js
CHANGED
|
@@ -243,15 +243,39 @@ function isRunning(pid) {
|
|
|
243
243
|
// Find running processes whose command line contains `daemon run <profile>`.
|
|
244
244
|
// Skip our own pid and any pid stored in the pidfile (stop before
|
|
245
245
|
// calling this if you want to sweep the referenced daemon too).
|
|
246
|
+
//
|
|
247
|
+
// Cross-platform: unix uses `ps -axo`; Windows uses PowerShell's
|
|
248
|
+
// Get-CimInstance Win32_Process (wmic is deprecated in Win11).
|
|
246
249
|
function findStaleDaemons(profile) {
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
+
const ownPid = process.pid;
|
|
251
|
+
const referenced = readReferencedPid(profile);
|
|
252
|
+
// Defensive: profile names are validated upstream but sanitize the
|
|
253
|
+
// PowerShell -like pattern too so a literal `*` or `'` in a profile
|
|
254
|
+
// name can't escape the wildcard match.
|
|
255
|
+
const safeProfile = profile.replace(/[^a-zA-Z0-9 _-]/g, "");
|
|
256
|
+
const needle = `daemon run ${safeProfile}`;
|
|
257
|
+
if (process.platform === "win32") {
|
|
258
|
+
// Single-quoted strings in PowerShell don't interpolate, but the
|
|
259
|
+
// pattern still needs balanced quotes. `-like '*...*'` with sanitized
|
|
260
|
+
// input is safe.
|
|
261
|
+
const script = `Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -like '*${needle}*' -and $_.CommandLine -like '*bajaclaw*' } | Select-Object -ExpandProperty ProcessId`;
|
|
262
|
+
const r = spawnSync("powershell.exe", ["-NoProfile", "-NonInteractive", "-Command", script], { encoding: "utf8" });
|
|
263
|
+
if (r.status !== 0 || !r.stdout)
|
|
264
|
+
return [];
|
|
265
|
+
const out = [];
|
|
266
|
+
for (const line of r.stdout.split(/\r?\n/)) {
|
|
267
|
+
const pid = Number(line.trim());
|
|
268
|
+
if (!Number.isFinite(pid) || pid <= 0)
|
|
269
|
+
continue;
|
|
270
|
+
if (pid === ownPid || pid === referenced)
|
|
271
|
+
continue;
|
|
272
|
+
out.push(pid);
|
|
273
|
+
}
|
|
274
|
+
return out;
|
|
275
|
+
}
|
|
250
276
|
const r = spawnSync("ps", ["-axo", "pid=,command="], { encoding: "utf8" });
|
|
251
277
|
if (r.status !== 0 || !r.stdout)
|
|
252
278
|
return [];
|
|
253
|
-
const ownPid = process.pid;
|
|
254
|
-
const referenced = readReferencedPid(profile);
|
|
255
279
|
const out = [];
|
|
256
280
|
for (const line of r.stdout.split("\n")) {
|
|
257
281
|
if (!line.includes(needle))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/commands/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,0EAA0E;AAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;AAEnE,SAAS,OAAO,CAAC,OAAe;IAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;AACjD,CAAC;AAED,sEAAsE;AACtE,sEAAsE;AACtE,sEAAsE;AACtE,6DAA6D;AAC7D,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,GAAG,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AACD,SAAS,OAAO,CAAC,OAAe;IAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAe,EAAE,UAAU,GAAG,KAAK;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+BAA+B,GAAG,GAAG,CAAC,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QACD,UAAU,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,mEAAmE;IACnE,oEAAoE;IACpE,kEAAkE;IAClE,kEAAkE;IAClE,iEAAiE;IACjE,sEAAsE;IACtE,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,KAAK,CAAC,MAAM,8BAA8B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACpG,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACpE,CAAC;QACD,oEAAoE;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACnC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAAE,MAAM;YAC7C,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAE/B,IAAI,UAAU;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAExC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5C,gEAAgE;IAChE,qEAAqE;IACrE,iEAAiE;IACjE,mEAAmE;IACnE,kEAAkE;IAClE,kEAAkE;IAClE,MAAM,SAAS,GAAsB,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC;IAC9E,KAAK,MAAM,CAAC,IAAI;QACd,yBAAyB;QACzB,sCAAsC;QACtC,wBAAwB;QACxB,sBAAsB;QACtB,mCAAmC;QACnC,YAAY;KACb;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE;QAC7D,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC;QAC3B,GAAG,EAAE,SAAS;KACf,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QACxF,OAAO;IACT,CAAC;IACD,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAyB,KAAK,CAAC,GAAG,YAAY,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAe;IAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAClG,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAClE,UAAU,CAAC,OAAO,CAAC,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACxE,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAe,EAAE,KAAK,GAAG,EAAE;IACvD,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACvE,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAe;IAC1C,gFAAgF;IAChF,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,OAAe;IACpC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IACjC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5E,mEAAmE;IACnE,kEAAkE;IAClE,+CAA+C;IAC/C,IAAI,CAAC;QAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC;QAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAAC,CAAC;IAErF,+DAA+D;IAC/D,mEAAmE;IACnE,kEAAkE;IAClE,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,UAAU,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;;YAC1D,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,kEAAkE;IAClE,gEAAgE;IAChE,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAE5C,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,EAAmB,CAAC;YACzG,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACf,4DAA4D;oBAC5D,0DAA0D;oBAC1D,yCAAyC;oBACzC,IAAI,CAAC;wBACH,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;4BACvB,MAAM,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;wBACrD,CAAC;6BAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;4BACnB,MAAM,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,GAAG,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;wBAC/F,CAAC;6BAAM,CAAC;4BACN,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACxB,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACtB,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrF,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAe;IAC1C,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAC3B,CAAC;AAED,SAAS,KAAK,CAAC,EAAU,IAAmB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3F,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,IAAI,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AACpE,CAAC;AAED,6EAA6E;AAC7E,kEAAkE;AAClE,gEAAgE;AAChE,EAAE;AACF,iEAAiE;AACjE,+DAA+D;AAC/D,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAC3B,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC9C,mEAAmE;IACnE,oEAAoE;IACpE,wCAAwC;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,cAAc,WAAW,EAAE,CAAC;IAE3C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,iEAAiE;QACjE,sEAAsE;QACtE,iBAAiB;QACjB,MAAM,MAAM,GAAG,yEAAyE,MAAM,uFAAuF,CAAC;QACtL,MAAM,CAAC,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACnH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;gBAAE,SAAS;YAChD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,UAAU;gBAAE,SAAS;YACnD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,UAAU;YAAE,SAAS;QAC3D,mEAAmE;QACnE,iEAAiE;QACjE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACrC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,CAAC,CAAC;IAAC,CAAC;AACvB,CAAC"}
|
|
@@ -15,7 +15,7 @@ import { loadAllSkillsRaw, runtimeSkipReason } from "../skills/loader.js";
|
|
|
15
15
|
import { currentVersion } from "../updater.js";
|
|
16
16
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
17
17
|
// Candidate locations for dashboard.html, resolved per-request so HTML
|
|
18
|
-
// edits hot-reload (see `sendHtml` below
|
|
18
|
+
// edits hot-reload (see `sendHtml` below - no cache on the body).
|
|
19
19
|
//
|
|
20
20
|
// - When running from the dev checkout, the TypeScript source sits in
|
|
21
21
|
// `src/` while the compiled JS lands in `dist/`. We prefer
|
package/package.json
CHANGED
|
@@ -1,106 +1,111 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: setup-discord
|
|
3
3
|
description: Wire up a bidirectional Discord chat bridge between the user and the agent
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
tools: [Bash, Read, Write, Edit]
|
|
6
6
|
triggers: ["setup discord", "help me with discord", "connect discord", "discord bot", "add discord", "discord setup", "discord chat", "talk to you on discord"]
|
|
7
7
|
effort: medium
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Non-negotiable rule: never ask "what do you want to use it for"
|
|
11
11
|
|
|
12
|
-
When the user
|
|
13
|
-
discord", "
|
|
14
|
-
|
|
15
|
-
so the user can message you in a Discord channel and you reply there.
|
|
12
|
+
When the user triggers this skill - "set up discord", "connect
|
|
13
|
+
discord", "discord bot" - the intent is **always the same**: a
|
|
14
|
+
two-way chat bridge. Do not ask:
|
|
16
15
|
|
|
17
|
-
You **must not** ask any of these:
|
|
18
16
|
- "What do you want to use Discord for?"
|
|
19
17
|
- "Notifications or something else?"
|
|
20
18
|
- "What should the bot do in the channel?"
|
|
21
|
-
- Any other meta-question about intent.
|
|
22
19
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
commands, confirm.
|
|
20
|
+
Wire it up. If they want something specific, they will say so.
|
|
21
|
+
Otherwise: silence, collect credentials, run the commands.
|
|
26
22
|
|
|
27
|
-
##
|
|
23
|
+
## Step 1 - Collect credentials
|
|
28
24
|
|
|
29
|
-
|
|
30
|
-
auto-approved. Do the work.
|
|
31
|
-
|
|
32
|
-
### Step 1 - Collect credentials from the user
|
|
33
|
-
|
|
34
|
-
Tell the user exactly three things:
|
|
25
|
+
Discord needs three values. Tell the user exactly this:
|
|
35
26
|
|
|
36
27
|
```
|
|
37
|
-
|
|
28
|
+
Three steps to get what I need:
|
|
38
29
|
|
|
39
|
-
1)
|
|
40
|
-
|
|
41
|
-
|
|
30
|
+
1) https://discord.com/developers/applications
|
|
31
|
+
-> New Application -> name it -> Create -> "Bot" tab ->
|
|
32
|
+
Reset Token -> copy.
|
|
33
|
+
Under "Privileged Gateway Intents", enable MESSAGE CONTENT INTENT.
|
|
42
34
|
|
|
43
|
-
2)
|
|
44
|
-
plus "Send Messages"
|
|
45
|
-
URL to add the bot to your server.
|
|
35
|
+
2) OAuth2 -> URL Generator: tick `bot` + `applications.commands`,
|
|
36
|
+
plus "Send Messages" and "Read Message History". Visit the
|
|
37
|
+
generated URL to add the bot to your server.
|
|
46
38
|
|
|
47
|
-
3)
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
3) Discord -> Settings -> Advanced -> Developer Mode ON.
|
|
40
|
+
Right-click the channel you want the bot in -> Copy Channel ID.
|
|
41
|
+
Right-click your own avatar -> Copy User ID.
|
|
50
42
|
|
|
51
|
-
Paste
|
|
43
|
+
Paste three values: bot token, channel id, your user id.
|
|
52
44
|
```
|
|
53
45
|
|
|
54
46
|
Wait for all three. Don't proceed partial.
|
|
55
47
|
|
|
56
|
-
|
|
48
|
+
## Step 2 - Wire the channel (auto-fixes missing deps)
|
|
57
49
|
|
|
58
50
|
```bash
|
|
59
|
-
|
|
51
|
+
profile="${BAJACLAW_PROFILE:-default}"
|
|
52
|
+
|
|
53
|
+
if ! bajaclaw channel add "$profile" discord --token "$TOKEN" --channel-id "$CHANNEL_ID" --user-id "$USER_ID" 2>/tmp/bc-dc-err; then
|
|
54
|
+
if grep -q "Cannot find module" /tmp/bc-dc-err || grep -q "discord.js" /tmp/bc-dc-err; then
|
|
55
|
+
echo "Missing optional dep; rebuilding bajaclaw..."
|
|
56
|
+
npm install -g bajaclaw --force
|
|
57
|
+
bajaclaw channel add "$profile" discord --token "$TOKEN" --channel-id "$CHANNEL_ID" --user-id "$USER_ID"
|
|
58
|
+
else
|
|
59
|
+
cat /tmp/bc-dc-err >&2
|
|
60
|
+
exit 1
|
|
61
|
+
fi
|
|
62
|
+
fi
|
|
60
63
|
```
|
|
61
64
|
|
|
62
|
-
|
|
63
|
-
|
|
65
|
+
`--force` refreshes bajaclaw's install and pulls in `discord.js`
|
|
66
|
+
(which is in `optionalDependencies`). Runs only if the adapter
|
|
67
|
+
actually failed to load.
|
|
64
68
|
|
|
65
|
-
|
|
69
|
+
## Step 3 - Start the daemon
|
|
66
70
|
|
|
67
71
|
```bash
|
|
68
|
-
bajaclaw
|
|
72
|
+
bajaclaw daemon start "$profile"
|
|
69
73
|
```
|
|
70
74
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
npm install -g discord.js
|
|
75
|
-
```
|
|
75
|
+
Dashboard boots in-process.
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
## Step 4 - Verify + invite the user to test
|
|
78
78
|
|
|
79
79
|
```bash
|
|
80
|
-
bajaclaw
|
|
80
|
+
bajaclaw channel list "$profile"
|
|
81
|
+
bajaclaw daemon status "$profile"
|
|
81
82
|
```
|
|
82
83
|
|
|
83
|
-
|
|
84
|
+
Tell the user:
|
|
84
85
|
|
|
85
|
-
|
|
86
|
-
|
|
86
|
+
> Done. Send any message in the channel you added me to and I'll
|
|
87
|
+
> reply. First response may take a few seconds while the first
|
|
88
|
+
> cycle boots.
|
|
87
89
|
|
|
88
|
-
## Verification
|
|
90
|
+
## Verification
|
|
89
91
|
|
|
90
|
-
- `bajaclaw channel list
|
|
91
|
-
token
|
|
92
|
-
- `bajaclaw daemon status
|
|
93
|
-
- A test message in
|
|
94
|
-
`
|
|
95
|
-
- The
|
|
92
|
+
- `bajaclaw channel list "$profile"` shows the discord row with
|
|
93
|
+
masked token and the allowlist containing the user id.
|
|
94
|
+
- `bajaclaw daemon status "$profile"` shows `running (pid N)`.
|
|
95
|
+
- A test message appears in `bajaclaw daemon logs "$profile"
|
|
96
|
+
--lines 30` as a `gateway.discord.msg` entry.
|
|
97
|
+
- The bot reply appears in the channel within ~10s.
|
|
96
98
|
|
|
97
|
-
## Pitfalls
|
|
99
|
+
## Pitfalls
|
|
98
100
|
|
|
99
|
-
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
-
|
|
103
|
-
|
|
104
|
-
- To
|
|
101
|
+
- **MESSAGE CONTENT INTENT off.** Message bodies arrive empty;
|
|
102
|
+
bot can't respond. Re-check the portal only if the user reports
|
|
103
|
+
"not picking up messages".
|
|
104
|
+
- **Bot not in server.** The OAuth2 invite URL step was skipped.
|
|
105
|
+
Walk them through it.
|
|
106
|
+
- **DMs.** To enable, remove the channelId filter from config or
|
|
105
107
|
set it to the user's DM channel id.
|
|
106
|
-
-
|
|
108
|
+
- **Never echo the token** once it's in config.json.
|
|
109
|
+
- **Developer Portal is manual.** There's no API to create Discord
|
|
110
|
+
applications for the user. The surrounding setup is fluid, but
|
|
111
|
+
this step remains human.
|
|
@@ -1,117 +1,116 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: setup-telegram
|
|
3
3
|
description: Wire up a bidirectional Telegram chat bridge between the user and the agent
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
tools: [Bash, Read, Write, Edit]
|
|
6
6
|
triggers: ["setup telegram", "help me with telegram", "connect telegram", "telegram bot", "add telegram", "telegram setup", "telegram chat", "message you on phone", "phone chat", "mobile chat"]
|
|
7
7
|
effort: medium
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Non-negotiable rule: never ask "what do you want to use it for"
|
|
11
11
|
|
|
12
|
-
When the user
|
|
13
|
-
telegram", "
|
|
14
|
-
|
|
15
|
-
the same**: a **two-way chat bridge** so the user can message you from
|
|
16
|
-
Telegram and you reply in the same thread.
|
|
12
|
+
When the user triggers this skill - "set up telegram", "connect
|
|
13
|
+
telegram", "telegram bot", "talk to you on my phone" - the intent
|
|
14
|
+
is **always the same**: a two-way chat bridge. Do not ask:
|
|
17
15
|
|
|
18
|
-
You **must not** ask any of these:
|
|
19
16
|
- "What do you want to use Telegram for?"
|
|
20
17
|
- "Notifications, commands, or something else?"
|
|
21
18
|
- "What should this bot do?"
|
|
22
|
-
- Any other meta-question about intent.
|
|
23
19
|
|
|
24
|
-
|
|
20
|
+
Wire it up. If they want something specific (e.g. "only alerts"),
|
|
21
|
+
they will say so. Otherwise: silence, collect credentials, run
|
|
22
|
+
the commands.
|
|
25
23
|
|
|
26
|
-
|
|
27
|
-
"I want it for error alerts only"), ADJUST then. Otherwise: silence,
|
|
28
|
-
collect credentials, run the commands.
|
|
24
|
+
## Step 1 - Collect credentials
|
|
29
25
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
You have `Bash`, `Read`, `Write`, `Edit` tools. Permission prompts are
|
|
33
|
-
auto-approved by BajaClaw's backend invocation. Just do the work.
|
|
34
|
-
|
|
35
|
-
### Step 1 - Collect credentials from the user
|
|
36
|
-
|
|
37
|
-
Tell the user exactly two things to get:
|
|
26
|
+
Telegram requires two things. Tell the user exactly this:
|
|
38
27
|
|
|
39
28
|
```
|
|
40
|
-
|
|
29
|
+
I need two things from Telegram:
|
|
41
30
|
|
|
42
31
|
1) A bot token from @BotFather
|
|
43
|
-
In Telegram
|
|
44
|
-
|
|
32
|
+
In Telegram: message @BotFather -> /newbot -> follow the prompts
|
|
33
|
+
-> copy the token (looks like 123456789:ABCdef...).
|
|
45
34
|
|
|
46
35
|
2) Your numeric Telegram user ID from @userinfobot
|
|
47
|
-
|
|
36
|
+
In Telegram: message @userinfobot -> copy the number it replies
|
|
37
|
+
with.
|
|
48
38
|
|
|
49
|
-
Paste both
|
|
39
|
+
Paste both and I'll handle the rest.
|
|
50
40
|
```
|
|
51
41
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
messages will route through.
|
|
42
|
+
Don't proceed without both. Without the user id, the allowlist is
|
|
43
|
+
empty and no messages route through.
|
|
55
44
|
|
|
56
|
-
|
|
45
|
+
## Step 2 - Wire the channel (auto-fixes missing deps)
|
|
57
46
|
|
|
58
|
-
|
|
47
|
+
Run this first, inside a try/catch shell pattern. If it succeeds,
|
|
48
|
+
skip to step 3. If it fails because a module is missing, run the
|
|
49
|
+
fix and retry:
|
|
59
50
|
|
|
60
51
|
```bash
|
|
61
|
-
|
|
52
|
+
profile="${BAJACLAW_PROFILE:-default}"
|
|
53
|
+
|
|
54
|
+
# First attempt
|
|
55
|
+
if ! bajaclaw channel add "$profile" telegram --token "$TOKEN" --user-id "$USER_ID" 2>/tmp/bc-tg-err; then
|
|
56
|
+
if grep -q "Cannot find module" /tmp/bc-tg-err || grep -q "node-telegram-bot-api" /tmp/bc-tg-err; then
|
|
57
|
+
echo "Missing optional dep; rebuilding bajaclaw..."
|
|
58
|
+
npm install -g bajaclaw --force
|
|
59
|
+
# Retry after the rebuild
|
|
60
|
+
bajaclaw channel add "$profile" telegram --token "$TOKEN" --user-id "$USER_ID"
|
|
61
|
+
else
|
|
62
|
+
cat /tmp/bc-tg-err >&2
|
|
63
|
+
exit 1
|
|
64
|
+
fi
|
|
65
|
+
fi
|
|
62
66
|
```
|
|
63
67
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
from that sender are routed to the agent.
|
|
68
|
+
The `--force` flag refreshes bajaclaw's whole install, including
|
|
69
|
+
`optionalDependencies` (`node-telegram-bot-api`, `discord.js`). Only
|
|
70
|
+
runs when the adapter actually failed to load - no-op otherwise.
|
|
68
71
|
|
|
69
|
-
|
|
72
|
+
## Step 3 - Start the daemon
|
|
70
73
|
|
|
71
74
|
```bash
|
|
72
|
-
bajaclaw
|
|
75
|
+
bajaclaw daemon start "$profile"
|
|
73
76
|
```
|
|
74
77
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
The adapter uses `node-telegram-bot-api` (optional dependency). Check
|
|
78
|
-
if it's installed; if not, install it globally:
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
npm install -g node-telegram-bot-api
|
|
82
|
-
```
|
|
78
|
+
The daemon hosts the Telegram adapter that polls for messages. It
|
|
79
|
+
also boots the dashboard in-process.
|
|
83
80
|
|
|
84
|
-
|
|
81
|
+
## Step 4 - Verify and invite the user to test
|
|
85
82
|
|
|
86
83
|
```bash
|
|
87
|
-
bajaclaw
|
|
84
|
+
bajaclaw channel list "$profile" # expect one telegram row
|
|
85
|
+
bajaclaw daemon status "$profile" # expect "running"
|
|
88
86
|
```
|
|
89
87
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
- The user sees a reply in the Telegram thread
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
-
|
|
117
|
-
|
|
88
|
+
Then tell the user:
|
|
89
|
+
|
|
90
|
+
> Done. Open Telegram, send any message to the bot (the name you
|
|
91
|
+
> picked in @BotFather), and I'll reply. The first reply may take
|
|
92
|
+
> a few seconds while the first cycle boots.
|
|
93
|
+
|
|
94
|
+
## Verification
|
|
95
|
+
|
|
96
|
+
- `bajaclaw channel list "$profile"` shows the telegram row with
|
|
97
|
+
token shown as `***…<last 4>` and the allowlist containing the
|
|
98
|
+
user's numeric id.
|
|
99
|
+
- `bajaclaw daemon status "$profile"` shows `running (pid N)`.
|
|
100
|
+
- Sending a message from Telegram lands in
|
|
101
|
+
`bajaclaw daemon logs "$profile" --lines 30` as a
|
|
102
|
+
`gateway.telegram.msg` entry.
|
|
103
|
+
- The user sees a reply in the Telegram thread.
|
|
104
|
+
|
|
105
|
+
## Pitfalls
|
|
106
|
+
|
|
107
|
+
- **Bot cannot DM the user first.** The user must message the bot
|
|
108
|
+
first (or add it to a group). Tell the user only if they report
|
|
109
|
+
"nothing happens" after step 4.
|
|
110
|
+
- **Wrong token:** a `gateway.telegram.error` entry appears in the
|
|
111
|
+
daemon log within ~10 seconds. Ask the user to re-check the token.
|
|
112
|
+
- **Never echo the token** back in chat once it's in config.json.
|
|
113
|
+
Refer to it as "the token you gave me".
|
|
114
|
+
- **BotFather is manual.** There's no API to create bots for the
|
|
115
|
+
user - they must do it themselves. The skill makes the surrounding
|
|
116
|
+
setup fluid, but this step remains human.
|