🚀. Socket Launch Week Day 3:Socket Firewall Now Blocks Malicious VS Code and Open VSX Extensions.Learn more
Sign In

heymax

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

heymax - npm Package Compare versions

Comparing version
1.0.1
to
1.1.0
+12
-1
dist/api/server.js

@@ -8,3 +8,3 @@ import express from "express";

import { searchMemories } from "../store/db.js";
import { listSkills } from "../copilot/skills.js";
import { listSkills, removeSkill } from "../copilot/skills.js";
import { restartDaemon } from "../daemon.js";

@@ -155,2 +155,13 @@ import { API_TOKEN_PATH, ensureMaxHome } from "../paths.js";

});
// Remove a local skill
app.delete("/skills/:slug", (req, res) => {
const slug = Array.isArray(req.params.slug) ? req.params.slug[0] : req.params.slug;
const result = removeSkill(slug);
if (!result.ok) {
res.status(400).json({ error: result.message });
}
else {
res.json({ ok: true, message: result.message });
}
});
// Restart daemon

@@ -157,0 +168,0 @@ app.post("/restart", (_req, res) => {

+2
-1

@@ -33,3 +33,4 @@ import { config as loadEnv } from "dotenv";

}
let _copilotModel = raw.COPILOT_MODEL || "claude-sonnet-4.6";
export const DEFAULT_MODEL = "claude-sonnet-4.6";
let _copilotModel = raw.COPILOT_MODEL || DEFAULT_MODEL;
export const config = {

@@ -36,0 +37,0 @@ telegramBotToken: raw.TELEGRAM_BOT_TOKEN,

import { approveAll } from "@github/copilot-sdk";
import { createTools } from "./tools.js";
import { getOrchestratorSystemMessage } from "./system-message.js";
import { config } from "../config.js";
import { config, DEFAULT_MODEL } from "../config.js";
import { loadMcpConfig } from "./mcp-config.js";

@@ -188,2 +188,15 @@ import { getSkillDirectories } from "./skills.js";

const { mcpServers, skillDirectories } = getSessionConfig();
// Validate configured model against available models
try {
const models = await client.listModels();
const configured = config.copilotModel;
const isAvailable = models.some((m) => m.id === configured);
if (!isAvailable) {
console.log(`[max] ⚠️ Configured model '${configured}' is not available. Falling back to '${DEFAULT_MODEL}'.`);
config.copilotModel = DEFAULT_MODEL;
}
}
catch (err) {
console.log(`[max] Could not validate model (will use '${config.copilotModel}' as-is): ${err instanceof Error ? err.message : err}`);
}
console.log(`[max] Loading ${Object.keys(mcpServers).length} MCP server(s): ${Object.keys(mcpServers).join(", ") || "(none)"}`);

@@ -190,0 +203,0 @@ console.log(`[max] Skill directories: ${skillDirectories.join(", ") || "(none)"}`);

@@ -1,2 +0,2 @@

import { readdirSync, readFileSync, mkdirSync, writeFileSync, existsSync } from "fs";
import { readdirSync, readFileSync, mkdirSync, writeFileSync, existsSync, rmSync } from "fs";
import { join, dirname } from "path";

@@ -91,2 +91,15 @@ import { homedir } from "os";

}
/** Remove a skill from the local skills directory (~/.max/skills/). */
export function removeSkill(slug) {
const skillDir = join(LOCAL_SKILLS_DIR, slug);
// Guard against path traversal
if (!skillDir.startsWith(LOCAL_SKILLS_DIR + "/")) {
return { ok: false, message: `Invalid slug '${slug}': must be a simple kebab-case name without path separators.` };
}
if (!existsSync(skillDir)) {
return { ok: false, message: `Skill '${slug}' not found in ${LOCAL_SKILLS_DIR}.` };
}
rmSync(skillDir, { recursive: true, force: true });
return { ok: true, message: `Skill '${slug}' removed from ${skillDir}. It will no longer be available on your next message.` };
}
/** Parse YAML frontmatter from a SKILL.md file. */

@@ -93,0 +106,0 @@ function parseFrontmatter(content) {

@@ -99,7 +99,8 @@ export function getOrchestratorSystemMessage(memorySummary, opts) {

**Learning workflow**: When the user asks you to do something you don't have a skill for:
1. **Search for an existing skill first**: Create a worker session and run \`npx skills find <query>\` to search the open-source skills ecosystem. This is your primary way to learn new things — thousands of community-built skills exist.
2. **Present what you found**: Tell the user the skill name, what it does, and where it comes from. Link to the skills.sh page so they can review it.
3. **ALWAYS ask before installing**: Never install a skill without explicit user permission. Say something like "Want me to install it?" and wait for a yes. Only then run \`npx skills add <owner/repo@skill> -g\` in a worker.
4. **Flag security risks**: Before recommending a skill, consider what it does. If a skill requests broad system access, runs arbitrary commands, accesses sensitive data (credentials, keys, personal files), or comes from an unknown/unverified source — warn the user. Say something like "⚠️ Heads up — this skill has access to X, which could be a security risk. Want to proceed?"
5. **Build your own only as a last resort**: If no community skill exists, THEN research the task (run \`which\`, \`--help\`, check installed tools), figure it out, and use \`learn_skill\` to save a SKILL.md for next time.
1. **Search skills.sh first**: Use the find-skills skill to search https://skills.sh for existing community skills. This is your primary way to learn new things — thousands of community-built skills exist.
2. **Present what you found**: Tell the user the skill name, what it does, where it comes from, and its security audit status. Always show security data — never omit it.
3. **ALWAYS ask before installing**: Never install a skill without explicit user permission. Say something like "Want me to install it?" and wait for a yes.
4. **Install locally only**: Fetch the SKILL.md from the skill's GitHub repo and use the \`learn_skill\` tool to save it to \`~/.max/skills/\`. **Never install skills globally** — no \`-g\` flag, no writing to \`~/.agents/skills/\` or any other global directory.
5. **Flag security risks**: Before recommending a skill, consider what it does. If a skill requests broad system access, runs arbitrary commands, accesses sensitive data (credentials, keys, personal files), or comes from an unknown/unverified source — warn the user. Say something like "⚠️ Heads up — this skill has access to X, which could be a security risk. Want to proceed?"
6. **Build your own only as a last resort**: If no community skill exists, THEN research the task (run \`which\`, \`--help\`, check installed tools), figure it out, and use \`learn_skill\` to save a SKILL.md for next time.

@@ -111,3 +112,3 @@ Always prefer finding an existing skill over building one from scratch. The skills ecosystem at https://skills.sh has skills for common tasks like email, calendars, social media, smart home, deployment, and much more.

1. **Adapt to the channel**: On Telegram, be brief — the user is likely on their phone. On TUI, you can be more detailed.
2. **Skill-first mindset**: When asked to do something you haven't done before — social media, smart home, email, calendar, deployments, APIs, anything — your FIRST instinct should be to search for an existing skill with \`npx skills find <query>\`. Don't try to figure it out from scratch when someone may have already built a skill for it.
2. **Skill-first mindset**: When asked to do something you haven't done before — social media, smart home, email, calendar, deployments, APIs, anything — your FIRST instinct should be to search skills.sh for an existing skill. Don't try to figure it out from scratch when someone may have already built a skill for it.
3. For coding tasks, **always** create a named worker session with an \`initial_prompt\`. Don't try to write code yourself. Don't plan or research first — put all instructions in the initial prompt and let the worker figure it out.

@@ -114,0 +115,0 @@ 4. Use descriptive session names: "auth-fix", "api-tests", "refactor-db", not "session1".

@@ -7,3 +7,3 @@ import { z } from "zod";

import { homedir } from "os";
import { listSkills, createSkill } from "./skills.js";
import { listSkills, createSkill, removeSkill } from "./skills.js";
import { config, persistModel } from "../config.js";

@@ -308,2 +308,14 @@ import { SESSIONS_DIR } from "../paths.js";

}),
defineTool("uninstall_skill", {
description: "Remove a skill from Max's local skills directory (~/.max/skills/). " +
"The skill will no longer be available on the next message. " +
"Only works for local skills — bundled and global skills cannot be removed this way.",
parameters: z.object({
slug: z.string().regex(/^[a-z0-9]+(-[a-z0-9]+)*$/).describe("The kebab-case slug of the skill to remove, e.g. 'gmail', 'web-search'"),
}),
handler: async (args) => {
const result = removeSkill(args.slug);
return result.message;
},
}),
defineTool("list_models", {

@@ -310,0 +322,0 @@ description: "List all available Copilot models. Shows model id, name, and billing tier. " +

@@ -53,5 +53,11 @@ import { getClient, stopClient } from "./copilot/client.js";

}
else {
else if (!config.telegramBotToken && config.authorizedUserId === undefined) {
console.log("[max] Telegram not configured — skipping bot. Run 'max setup' to configure.");
}
else if (!config.telegramBotToken) {
console.log("[max] Telegram bot token missing — skipping bot. Run 'max setup' and enter your bot token.");
}
else {
console.log("[max] Telegram user ID missing — skipping bot. Run 'max setup' and enter your Telegram user ID (get it from @userinfobot).");
}
console.log("[max] Max is fully operational.");

@@ -58,0 +64,0 @@ // Non-blocking update check

@@ -16,2 +16,4 @@ import { join } from "path";

export const HISTORY_PATH = join(MAX_HOME, "tui_history");
/** Path to optional TUI debug log */
export const TUI_DEBUG_LOG_PATH = join(MAX_HOME, "tui-debug.log");
/** Path to the API bearer token file */

@@ -18,0 +20,0 @@ export const API_TOKEN_PATH = join(MAX_HOME, "api-token");

@@ -11,4 +11,7 @@ import { Bot } from "grammy";

if (!config.telegramBotToken) {
throw new Error("TELEGRAM_BOT_TOKEN is required to create the bot. Run 'max setup' first.");
throw new Error("Telegram bot token is missing. Run 'max setup' and enter the bot token from @BotFather.");
}
if (config.authorizedUserId === undefined) {
throw new Error("Telegram user ID is missing. Run 'max setup' and enter your Telegram user ID (get it from @userinfobot).");
}
bot = new Bot(config.telegramBotToken);

@@ -168,2 +171,12 @@ // Auth middleware — only allow the authorized user

onStart: () => console.log("[max] Telegram bot connected"),
}).catch((err) => {
if (err?.error_code === 401) {
console.error("[max] ⚠️ Telegram bot token is invalid or expired. Run 'max setup' and re-enter your bot token from @BotFather.");
}
else if (err?.error_code === 409) {
console.error("[max] ⚠️ Another bot instance is already running with this token. Stop the other instance first.");
}
else {
console.error("[max] ❌ Telegram bot failed to start:", err?.message || err);
}
});

@@ -210,4 +223,5 @@ }

console.error("[max] Failed to send photo:", err instanceof Error ? err.message : err);
throw err;
}
}
//# sourceMappingURL=bot.js.map

@@ -5,3 +5,3 @@ import * as readline from "readline";

import { readFileSync, writeFileSync, appendFileSync, existsSync } from "fs";
import { HISTORY_PATH, API_TOKEN_PATH, ensureMaxHome } from "../paths.js";
import { HISTORY_PATH, API_TOKEN_PATH, TUI_DEBUG_LOG_PATH, ensureMaxHome } from "../paths.js";
const API_BASE = process.env.MAX_API_URL || "http://127.0.0.1:7777";

@@ -38,2 +38,31 @@ // Load API auth token (if it exists)

const LABEL_PAD = " "; // 10-char indent for continuation lines
const MAX_LABEL = ` ${C.cyan("MAX")} `;
const TUI_DEBUG_ENABLED = /^(1|true|yes|on)$/i.test((process.env.MAX_TUI_DEBUG || "").trim());
let debugWriteFailureReported = false;
function previewForDebug(text, max = 120) {
return text
.slice(0, max)
.replace(/\r/g, "\\r")
.replace(/\n/g, "\\n")
.replace(/\t/g, "\\t");
}
function debugLog(event, data = {}) {
if (!TUI_DEBUG_ENABLED)
return;
const entry = {
ts: new Date().toISOString(),
event,
...data,
};
try {
appendFileSync(TUI_DEBUG_LOG_PATH, JSON.stringify(entry) + "\n");
}
catch (err) {
if (debugWriteFailureReported)
return;
debugWriteFailureReported = true;
const msg = err instanceof Error ? err.message : String(err);
process.stderr.write(`\n[max] failed to write TUI debug log: ${msg}\n`);
}
}
// ── Markdown → ANSI rendering ────────────────────────────

@@ -92,3 +121,3 @@ /** Render a single line of markdown to ANSI (used by both streaming and batch). */

const label = role === "max"
? ` ${C.cyan("MAX")} `
? MAX_LABEL
: ` ${C.dim("SYS")} `;

@@ -106,4 +135,17 @@ const lines = text.split("\n");

function streamPrefix() {
return streamIsFirstLine ? ` ${C.cyan("MAX")} ` : LABEL_PAD;
return streamIsFirstLine ? MAX_LABEL : LABEL_PAD;
}
function stripLeadingStreamNewlines(text) {
if (!streamIsFirstLine || streamLineBuffer.length > 0)
return text;
const stripped = text.replace(/^(?:\r?\n)+/, "");
if (stripped.length !== text.length) {
debugLog("stream-strip-leading-newlines", {
requestId: activeRequestId,
removedChars: text.length - stripped.length,
originalPreview: previewForDebug(text),
});
}
return stripped;
}
/** Clear the current visual line (handles terminal wrapping). */

@@ -113,2 +155,3 @@ function clearVisualLine(charCount) {

const up = Math.ceil(Math.max(charCount, 1) / cols) - 1;
debugLog("clear-visual-line", { requestId: activeRequestId, charCount, cols, up });
if (up > 0)

@@ -140,2 +183,8 @@ process.stdout.write(`\x1b[${up}A`);

function writeStreamChunk(newText) {
debugLog("stream-chunk", {
requestId: activeRequestId,
length: newText.length,
preview: previewForDebug(newText),
startsWithNewline: /^(?:\r?\n)/.test(newText),
});
let pos = 0;

@@ -184,2 +233,45 @@ while (pos < newText.length) {

}
// ── Thinking indicator ────────────────────────────────────
let thinkingTimer;
let thinkingFrame = 0;
let thinkingVisible = false;
const thinkingFrames = ["Thinking", "Thinking.", "Thinking..", "Thinking..."];
function startThinking() {
stopThinking("restart-thinking");
thinkingFrame = 0;
thinkingVisible = true;
process.stdout.write(`\n${MAX_LABEL}${C.dim(thinkingFrames[0])}`);
debugLog("thinking-start", {
requestId: activeRequestId,
frame: thinkingFrames[0],
msSinceSubmit: activeRequestStartedAt > 0 ? Date.now() - activeRequestStartedAt : null,
});
thinkingTimer = setInterval(() => {
thinkingFrame = (thinkingFrame + 1) % thinkingFrames.length;
process.stdout.write(`\r\x1b[K${MAX_LABEL}${C.dim(thinkingFrames[thinkingFrame])}`);
debugLog("thinking-tick", {
requestId: activeRequestId,
frameIndex: thinkingFrame,
frame: thinkingFrames[thinkingFrame],
});
}, 400);
}
function stopThinking(reason = "unspecified") {
const hadTimer = Boolean(thinkingTimer);
const wasVisible = thinkingVisible;
if (thinkingTimer) {
clearInterval(thinkingTimer);
thinkingTimer = undefined;
}
if (thinkingVisible) {
process.stdout.write(`\r\x1b[K`);
thinkingVisible = false;
}
debugLog("thinking-stop", {
requestId: activeRequestId,
reason,
hadTimer,
wasVisible,
});
}
// ── State ─────────────────────────────────────────────────

@@ -190,2 +282,4 @@ let connectionId;

let lastResponse = "";
let activeRequestId = 0;
let activeRequestStartedAt = 0;
// ── Persistent history ────────────────────────────────────

@@ -224,2 +318,10 @@ const MAX_HISTORY = 1000;

ensureMaxHome();
debugLog("session-start", {
pid: process.pid,
cwd: process.cwd(),
stdinIsTTY: Boolean(process.stdin.isTTY),
stdoutIsTTY: Boolean(process.stdout.isTTY),
columns: process.stdout.columns || null,
logPath: TUI_DEBUG_LOG_PATH,
});
const history = loadHistory();

@@ -288,5 +390,9 @@ const rl = readline.createInterface({

connectionId = event.connectionId;
debugLog("sse-connected", { connectionId });
}
else if (event.type === "delta") {
const full = event.content || "";
const baseLength = isStreaming ? streamedContent.length : 0;
if (!isStreaming) {
stopThinking("first-delta");
isStreaming = true;

@@ -297,9 +403,23 @@ streamedContent = "";

streamIsFirstLine = true;
process.stdout.write("\n");
debugLog("stream-first-delta", {
requestId: activeRequestId,
msSinceSubmit: activeRequestStartedAt > 0 ? Date.now() - activeRequestStartedAt : null,
fullLength: full.length,
newLength: full.length,
startsWithNewline: /^(?:\r?\n)/.test(full),
});
}
// Content is cumulative — only print the new part
const full = event.content || "";
const newText = full.slice(streamedContent.length);
const newText = full.slice(baseLength);
if (newText) {
writeStreamChunk(newText);
const normalized = stripLeadingStreamNewlines(newText);
debugLog("stream-delta", {
requestId: activeRequestId,
fullLength: full.length,
rawLength: newText.length,
normalizedLength: normalized.length,
preview: previewForDebug(normalized),
});
if (normalized)
writeStreamChunk(normalized);
streamedContent = full;

@@ -309,2 +429,3 @@ }

else if (event.type === "cancelled") {
stopThinking("cancelled-event");
isStreaming = false;

@@ -317,2 +438,7 @@ streamedContent = "";

else if (event.type === "message") {
debugLog("stream-message", {
requestId: activeRequestId,
isStreaming,
contentLength: typeof event.content === "string" ? event.content.length : 0,
});
if (isStreaming) {

@@ -324,6 +450,7 @@ // Streaming is done — flush remaining and re-prompt

streamedContent = "";
process.stdout.write("\n\n");
process.stdout.write("\n\n\n");
}
else {
// Proactive/background message — render with label
stopThinking("message-event");
lastResponse = event.content;

@@ -333,8 +460,13 @@ const rendered = renderMarkdown(event.content);

writeLabeled("max", rendered);
process.stdout.write("\n");
process.stdout.write("\n\n");
}
activeRequestStartedAt = 0;
rl.prompt();
}
}
catch {
catch (err) {
debugLog("sse-event-parse-error", {
linePreview: previewForDebug(line),
error: err instanceof Error ? err.message : String(err),
});
// Malformed event, ignore

@@ -346,12 +478,19 @@ }

res.on("end", () => {
stopThinking("sse-end");
debugLog("sse-end");
console.log(C.yellow("\n ⚠ disconnected — reconnecting..."));
isStreaming = false;
streamedContent = "";
setTimeout(connectSSE, 2000);
});
res.on("error", (err) => {
stopThinking("sse-error");
debugLog("sse-error", { error: err.message });
console.error(C.red(`\n ✗ connection error — retrying...`));
isStreaming = false;
streamedContent = "";
setTimeout(connectSSE, 3000);
});
}).on("error", (err) => {
debugLog("sse-connect-error", { error: err.message });
console.error(C.red(` ✗ cannot connect to daemon`));

@@ -363,5 +502,10 @@ console.error(C.dim(" start with: max start"));

// ── API helpers ───────────────────────────────────────────
function sendMessage(prompt) {
function sendMessage(prompt, requestId) {
const body = JSON.stringify({ prompt, connectionId });
const url = new URL("/message", API_BASE);
debugLog("message-send-start", {
requestId,
promptLength: prompt.length,
connectionId: connectionId || null,
});
const req = http.request(url, {

@@ -378,3 +522,10 @@ method: "POST",

res.on("end", () => {
debugLog("message-send-end", {
requestId,
statusCode: res.statusCode || null,
responseLength: data.length,
responsePreview: previewForDebug(data),
});
if (res.statusCode !== 200) {
stopThinking("message-post-error");
console.error(C.red(` Error: ${data}`));

@@ -386,2 +537,4 @@ rl.prompt();

req.on("error", (err) => {
stopThinking("message-request-error");
debugLog("message-send-error", { requestId, error: err.message });
console.error(C.red(` Failed to send: ${err.message}`));

@@ -392,2 +545,3 @@ rl.prompt();

req.end();
debugLog("message-send-dispatched", { requestId, byteLength: Buffer.byteLength(body) });
}

@@ -455,3 +609,30 @@ /** Silent GET — no re-prompt (used for startup info) */

}
/** DELETE an endpoint and call back with parsed result. */
function apiDelete(path, cb) {
const url = new URL(path, API_BASE);
const req = http.request(url, {
method: "DELETE",
headers: authHeaders(),
}, (res) => {
let data = "";
res.on("data", (chunk) => (data += chunk));
res.on("end", () => {
try {
cb(JSON.parse(data));
}
catch {
console.log(data);
}
rl.prompt();
});
});
req.on("error", (err) => {
console.error(C.red(` Error: ${err.message}`));
rl.prompt();
});
req.end();
}
function sendCancel() {
stopThinking("user-cancel");
debugLog("cancel-send", { requestId: activeRequestId, isStreaming });
const url = new URL("/cancel", API_BASE);

@@ -526,12 +707,55 @@ const req = http.request(url, { method: "POST", headers: authHeaders() }, (res) => {

console.log(C.dim(" No skills installed.\n"));
return;
}
else {
for (const s of skills) {
const src = s.source === "bundled" ? C.dim("bundled")
: s.source === "local" ? C.green("local")
: C.cyan("global");
console.log(` • ${C.bold(s.name)} ${C.dim(`(${src})`)} ${C.dim("—")} ${s.description}`);
// Build table
const localSkills = [];
console.log();
console.log(` ${C.boldWhite("#")} ${C.boldWhite("Skill")}${" ".repeat(24)}${C.boldWhite("Source")} ${C.boldWhite("Description")}`);
console.log(C.dim(" " + "─".repeat(72)));
for (let i = 0; i < skills.length; i++) {
const s = skills[i];
const num = String(i + 1).padStart(2);
const name = s.name.padEnd(28).slice(0, 28);
const src = s.source === "bundled" ? C.dim("bundled")
: s.source === "local" ? C.green("local")
: C.cyan("global");
const srcPad = s.source.padEnd(10);
const desc = (s.description || "").slice(0, 40);
if (s.source === "local") {
localSkills.push({ idx: i + 1, slug: s.slug });
console.log(` ${C.cyan(num)} ${name} ${src}${" ".repeat(Math.max(0, 10 - s.source.length))} ${C.dim(desc)}`);
}
console.log();
else {
console.log(` ${C.dim(num)} ${name} ${src}${" ".repeat(Math.max(0, 10 - s.source.length))} ${C.dim(desc)}`);
}
}
console.log();
if (localSkills.length === 0) {
console.log(C.dim(" No local skills to uninstall.\n"));
return;
}
console.log(C.dim(` Type a number to uninstall a local skill, or press Enter to go back.`));
rl.question(` ${C.coral("uninstall #")} `, (answer) => {
const trimmed = answer.trim();
if (!trimmed) {
console.log();
rl.prompt();
return;
}
const num = /^\d+$/.test(trimmed) ? parseInt(trimmed, 10) : NaN;
const match = localSkills.find((s) => s.idx === num);
if (!match) {
console.log(C.yellow(` Invalid selection. Only local skills (highlighted) can be uninstalled.\n`));
rl.prompt();
return;
}
apiDelete(`/skills/${encodeURIComponent(match.slug)}`, (data) => {
if (data.error) {
console.log(C.red(` Error: ${data.error}\n`));
}
else {
console.log(C.green(` ✓ Removed '${match.slug}'\n`));
}
});
});
});

@@ -554,2 +778,3 @@ }

console.log(C.dim(" press escape to cancel a running response"));
console.log(C.dim(" set MAX_TUI_DEBUG=1 to write lifecycle logs to ~/.max/tui-debug.log"));
console.log();

@@ -575,5 +800,11 @@ }

if (!trimmed) {
debugLog("input-empty-line");
rl.prompt();
return;
}
debugLog("input-line", {
length: trimmed.length,
isCommand: trimmed.startsWith("/"),
preview: previewForDebug(trimmed),
});
// Save to persistent history (skip commands)

@@ -609,2 +840,7 @@ if (!trimmed.startsWith("/")) {

}
debugLog("input-rendered-you-label", {
columns: cols,
wrappedLines,
contentWidth,
});
}

@@ -690,3 +926,11 @@ if (trimmed === "/quit" || trimmed === "/exit") {

// Send to orchestrator
sendMessage(trimmed);
activeRequestId += 1;
activeRequestStartedAt = Date.now();
debugLog("request-dispatch", {
requestId: activeRequestId,
inputLength: trimmed.length,
columns: process.stdout.columns || null,
});
startThinking();
sendMessage(trimmed, activeRequestId);
});

@@ -693,0 +937,0 @@ rl.on("close", () => {

{
"name": "heymax",
"version": "1.0.1",
"version": "1.1.0",
"description": "Max — a personal AI assistant for developers, built on the GitHub Copilot SDK",

@@ -9,3 +9,3 @@ "bin": {

"files": [
"dist/",
"dist/**/*.js",
"skills/",

@@ -24,3 +24,9 @@ "README.md"

},
"keywords": ["copilot", "telegram", "orchestrator", "ai", "cli"],
"keywords": [
"copilot",
"telegram",
"orchestrator",
"ai",
"cli"
],
"author": "Burke Holland",

@@ -27,0 +33,0 @@ "license": "MIT",

@@ -8,5 +8,5 @@ ---

This skill helps you discover and install skills from the open agent skills ecosystem.
Discover and install skills from the open agent skills ecosystem at https://skills.sh/.
## When to Use This Skill
## When to Use

@@ -20,137 +20,144 @@ Use this skill when the user:

- Wants to search for tools, templates, or workflows
- Mentions they wish they had help with a specific domain (design, testing, deployment, etc.)
## What is the Skills CLI?
## Search & Present
The Skills CLI (`npx skills`) is the package manager for the open agent skills ecosystem. Skills are modular packages that extend agent capabilities with specialized knowledge, workflows, and tools.
Do these two steps in a worker session — they can run in parallel:
**Key commands:**
### 1. Search the API
- `npx skills find [query]` - Search for skills interactively or by keyword
- `npx skills add <package>` - Install a skill from GitHub or other sources
- `npx skills check` - Check for skill updates
- `npx skills update` - Update all installed skills
```bash
curl -s "https://skills.sh/api/search?q=QUERY"
```
**Browse skills at:** https://skills.sh/
Replace `QUERY` with a URL-encoded search term (e.g., `react`, `email`, `pr+review`). The response is JSON with skills sorted by installs (most popular first):
## How to Help Users Find Skills
```json
{
"skills": [
{
"id": "vercel-labs/agent-skills/vercel-react-best-practices",
"skillId": "vercel-react-best-practices",
"name": "vercel-react-best-practices",
"installs": 174847,
"source": "vercel-labs/agent-skills"
}
]
}
```
### Step 1: Understand What They Need
### 2. Fetch Security Audits
When a user asks for help with something, identify:
**Required — do not skip.** Use the `web_fetch` tool to get the audits page:
1. The domain (e.g., React, testing, design, deployment)
2. The specific task (e.g., writing tests, creating animations, reviewing PRs)
3. Whether this is a common enough task that a skill likely exists
```
web_fetch url="https://skills.sh/audits"
```
### Step 2: Search for Skills
If `web_fetch` fails or returns unexpected content, still present the search results but show "⚠️ Audit unavailable" for all security columns and include a link to https://skills.sh/audits so the user can check manually.
Run the find command with a relevant query:
This returns markdown where each skill has a heading (`### skill-name`) followed by its source, then three security scores:
```bash
npx skills find [query]
```
- **Gen Agent Trust Hub**: Safe / Med Risk / Critical
- **Socket**: Number of alerts (0 is best)
- **Snyk**: Low Risk / Med Risk / High Risk / Critical
For example:
Scan the returned markdown to find scores for each skill from your search results. Match by both **skill name** and **full source** (`owner/repo`) to avoid misattribution — different repos can have skills with the same name.
- User asks "how do I make my React app faster?" → `npx skills find react performance`
- User asks "can you help me with PR reviews?" → `npx skills find pr review`
- User asks "I need to create a changelog" → `npx skills find changelog`
### 3. Present Combined Results
The command will return results like:
Cross-reference the search results with the audit data and format as a numbered table. Show the top 6-8 results sorted by installs:
```
Install with npx skills add <owner/repo@skill>
# Skill Publisher Installs Gen Socket Snyk
─ ───────────────────────────── ───────────── ──────── ───── ────── ────────
1 vercel-react-best-practices vercel-labs 175.3K ✅Safe ✅ 0 ✅Low
2 web-design-guidelines vercel-labs 135.8K ✅Safe ✅ 0 ⚠️Med
3 frontend-design anthropics 122.6K ✅Safe ✅ 0 ✅Low
4 remotion-best-practices remotion-dev 125.2K ✅Safe ✅ 0 ⚠️Med
5 browser-use browser-use 45.0K ⚠️Med 🔴 1 🔴High
```
vercel-labs/agent-skills@vercel-react-best-practices
└ https://skills.sh/vercel-labs/agent-skills/vercel-react-best-practices
**Formatting:**
- Sort by installs descending
- Format counts: 1000+ → "1.0K", 1000000+ → "1.0M"
- ✅ for Safe / Low Risk / 0 alerts, ⚠️ for Med Risk, 🔴 for High Risk / Critical / 1+ alerts
- If a skill has no audit data, show "⚠️ N/A" — never leave security blank
- Publisher = first part of `source` field (before `/`)
After the table:
```
🔗 Browse all: https://skills.sh/
### Step 3: Present Options to the User
Pick a number to install (or "none")
```
When you find relevant skills, present them to the user with:
## Install
1. The skill name and what it does
2. Where it comes from (the repository/author)
3. A link to learn more at skills.sh
4. **Any security concerns** (see Security Review below)
**NEVER install without the user picking a number first.**
Example response:
When the user picks a skill:
```
I found a skill that might help! The "vercel-react-best-practices" skill provides
React and Next.js performance optimization guidelines from Vercel Engineering.
### Security Gate
Learn more: https://skills.sh/vercel-labs/agent-skills/vercel-react-best-practices
If ANY of its three audit scores is not green (Safe / 0 alerts / Low Risk), warn before proceeding:
Want me to install it?
```
⚠️ "{skill-name}" has security concerns:
• Gen Agent Trust Hub: {score}
• Socket: {count} alerts
• Snyk: {score}
### Step 4: Ask Permission Before Installing
Want to proceed anyway, or pick a different skill?
```
**NEVER install a skill without explicit user confirmation.** Always present what you found, explain what it does, and ask "Want me to install it?" before proceeding.
Wait for explicit confirmation. Do not install if the user says no.
If the user confirms, install the skill:
### Fetch & Install
1. **Fetch the SKILL.md** from GitHub. The `source` field is `owner/repo` and `skillId` is the directory:
```bash
npx skills add <owner/repo@skill> -g
curl -fsSL "https://raw.githubusercontent.com/{source}/main/{skillId}/SKILL.md" || \
curl -fsSL "https://raw.githubusercontent.com/{source}/master/{skillId}/SKILL.md"
```
The `-g` flag installs globally (user-level). Do NOT use `-y` — let the CLI prompt for confirmation as an extra safety check.
If both fail, tell the user and link to `https://github.com/{source}`.
### Security Review
2. **Validate** the fetched content: it must not be empty and should contain meaningful instructions (more than just a title). If the content is empty, an HTML error page, or clearly not a SKILL.md, do NOT install — tell the user it couldn't be fetched properly.
Before recommending any skill, evaluate it for security risks. Flag concerns to the user if the skill:
3. **Install** using the `learn_skill` tool:
- `slug`: the `skillId` from the API
- `name`: from the SKILL.md frontmatter `name:` field (between `---` markers). If no frontmatter, use `skillId`.
- `description`: from the SKILL.md frontmatter `description:` field. If none, use the first sentence.
- `instructions`: if frontmatter exists, use the content after the closing `---`. If no frontmatter, use the full fetched content as instructions.
**Always install to ~/.max/skills/ via learn_skill. Never install globally.**
## Behavioral Security Review
In addition to audit scores, review the fetched SKILL.md content before installing. Flag concerns if the skill:
- **Runs arbitrary shell commands** or executes code on the user's machine
- **Accesses sensitive data** — credentials, API keys, SSH keys, personal files
- **Makes network requests** to external services (data exfiltration risk)
- **Requests broad filesystem access** beyond what the task requires
- **Comes from an unknown or unverified source** — no stars, no established author
- **Modifies system configuration** — environment variables, dotfiles, system settings
- **Comes from an unknown or unverified source** with no audit data
When flagging a concern, be specific:
If any of these apply, warn the user with specifics even if audit scores are green:
```
⚠️ Heads up — this skill runs shell commands and has access to your filesystem,
which means it could read or modify files. The author (example-user) has a small
GitHub presence. Want to proceed, or would you prefer I build a custom skill instead?
⚠️ Note: "{skill-name}" requests shell access and reads files from your home directory.
This is common for CLI-integration skills, but worth knowing. Proceed?
```
## Common Skill Categories
When searching, consider these common categories:
| Category | Example Queries |
| --------------- | ---------------------------------------- |
| Web Development | react, nextjs, typescript, css, tailwind |
| Testing | testing, jest, playwright, e2e |
| DevOps | deploy, docker, kubernetes, ci-cd |
| Documentation | docs, readme, changelog, api-docs |
| Code Quality | review, lint, refactor, best-practices |
| Design | ui, ux, design-system, accessibility |
| Productivity | workflow, automation, git |
## Tips for Effective Searches
1. **Use specific keywords**: "react testing" is better than just "testing"
2. **Try alternative terms**: If "deploy" doesn't work, try "deployment" or "ci-cd"
3. **Check popular sources**: Many skills come from `vercel-labs/agent-skills` or `ComposioHQ/awesome-claude-skills`
## When No Skills Are Found
If no relevant skills exist:
If the API returns no results:
1. Acknowledge that no existing skill was found
2. Offer to help with the task directly using your general capabilities
3. Suggest the user could create their own skill with `npx skills init`
1. Tell the user no existing skill was found
2. Offer to help directly with your general capabilities
3. Suggest building a custom skill if the task is worth automating
Example:
## Uninstalling
```
I searched for skills related to "xyz" but didn't find any matches.
I can still help you with this task directly! Would you like me to proceed?
If this is something you do often, you could create your own skill:
npx skills init my-xyz-skill
```
Use the `uninstall_skill` tool with the skill's slug to remove it from `~/.max/skills/`.
export declare function startApiServer(): Promise<void>;
/** Broadcast a proactive message to all connected SSE clients (for background task completions). */
export declare function broadcastToSSE(text: string): void;
//# sourceMappingURL=server.d.ts.map
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"AA+MA,wBAAgB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAc9C;AAED,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAMjD"}
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5D,mDAAmD;AACnD,IAAI,QAAQ,GAAkB,IAAI,CAAC;AACnC,IAAI,CAAC;IACH,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,QAAQ,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,aAAa,EAAE,CAAC;QAChB,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3C,aAAa,CAAC,cAAc,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACb,OAAO,CAAC,KAAK,CAAC,6CAA6C,GAAG,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AACtB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAExB,qEAAqE;AACrE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC1D,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,EAAE,CAAC;IACrF,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;IACvC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU,QAAQ,EAAE,EAAE,CAAC;QAC3C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IACD,IAAI,EAAE,CAAC;AACT,CAAC,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;AAC/C,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAE1B,eAAe;AACf,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;IAClD,GAAG,CAAC,IAAI,CAAC;QACP,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC;KACJ,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,uBAAuB;AACvB,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;KACxC,CAAC,CAAC,CAAC;IACJ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,qCAAqC;AACrC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IACjD,MAAM,YAAY,GAAG,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAElD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,cAAc,EAAE,mBAAmB;QACnC,eAAe,EAAE,UAAU;QAC3B,UAAU,EAAE,YAAY;KACzB,CAAC,CAAC;IACH,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;IAE9E,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAElC,qCAAqC;IACrC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC,EAAE,MAAM,CAAC,CAAC;IAEX,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,aAAa,CAAC,SAAS,CAAC,CAAC;QACzB,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,qCAAqC;AACrC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IACnD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,IAAkD,CAAC;IAExF,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8DAA8D,EAAE,CAAC,CAAC;QAChG,OAAO;IACT,CAAC;IAED,kBAAkB,CAChB,MAAM,EACN,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,EAC7B,CAAC,IAAY,EAAE,IAAa,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CACV,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,MAAM,CACnF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,uCAAuC;AACvC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAa,EAAE,GAAa,EAAE,EAAE;IACzD,MAAM,SAAS,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC/C,wDAAwD;IACxD,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,CACV,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,MAAM,CACrD,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,sBAAsB;AACtB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;IACjD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AACH,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACvD,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,IAA0B,CAAC;IACjD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,sDAAsD;IACtD,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,WAAW,GAAG,MAAM;iBACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;iBACvF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,KAAK,eAAe,IAAI,EAAE,EAAE,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kGAAkG;IACpG,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;IACrC,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,YAAY,CAAC,KAAK,CAAC,CAAC;IACpB,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,gBAAgB;AAChB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;IAClD,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,cAAc;AACd,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;IAClD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,iBAAiB;AACjB,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;IACpD,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IACnC,UAAU,CAAC,GAAG,EAAE;QACd,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,GAAG,CAAC,CAAC;AACV,CAAC,CAAC,CAAC;AAEH,uEAAuE;AACvE,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IAC5D,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAA4C,CAAC;IAE5E,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oDAAoD,EAAE,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE;YAC1D,OAAO,CAAC,GAAG,CAAC,gDAAgD,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YAChD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,MAAM,CAAC,OAAO,sDAAsD,CAAC,CAAC,CAAC;YAClG,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;QACjC,GAAG,CAAC,KAAK,CACP,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,MAAM,CAClE,CAAC;IACJ,CAAC;AACH,CAAC"}
#!/usr/bin/env node
export {};
//# sourceMappingURL=cli.d.ts.map
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACrF,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC;OACP,OAAO;;;;;;;;;;;;;;;;;;;;CAoBb,CAAC,IAAI,EAAE,CAAC,CAAC;AACV,CAAC;AAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;AAElC,QAAQ,OAAO,EAAE,CAAC;IAChB,KAAK,OAAO,CAAC,CAAC,CAAC;QACb,gCAAgC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC;QAClC,CAAC;QACD,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5B,MAAM;IACR,CAAC;IACD,KAAK,KAAK;QACR,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC/B,MAAM;IACR,KAAK,OAAO;QACV,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAC3B,MAAM;IACR,KAAK,QAAQ,CAAC,CAAC,CAAC;QACd,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;YACpE,MAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,OAAO,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM;IACR,CAAC;IACD,KAAK,MAAM,CAAC;IACZ,KAAK,QAAQ,CAAC;IACd,KAAK,IAAI;QACP,SAAS,EAAE,CAAC;QACZ,MAAM;IACR,KAAK,WAAW,CAAC;IACjB,KAAK,IAAI;QACP,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1B,MAAM;IACR;QACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,IAAI,CAAC,CAAC;QAC/C,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
export declare const config: {
telegramBotToken: string | undefined;
authorizedUserId: number | undefined;
apiPort: number;
workerTimeoutMs: number;
copilotModel: string;
readonly telegramEnabled: boolean;
readonly selfEditEnabled: boolean;
};
/** Persist the current model choice to ~/.max/.env */
export declare function persistModel(model: string): void;
//# sourceMappingURL=config.d.ts.map
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AA0CA,eAAO,MAAM,MAAM;;;;;kBAKG,MAAM;8BAMH,OAAO;8BAGP,OAAO;CAG/B,CAAC;AAEF,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAmBhD"}
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAErD,uDAAuD;AACvD,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC5B,OAAO,EAAE,CAAC,CAAC,sCAAsC;AAEjD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAE5C,MAAM,YAAY,GAAG,GAAG,CAAC,kBAAkB;IACzC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC;IACtC,CAAC,CAAC,SAAS,CAAC;AACd,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;AAExD,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC;IACpF,MAAM,IAAI,KAAK,CAAC,wDAAwD,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAC;AACrG,CAAC;AACD,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,KAAK,EAAE,CAAC;IACrE,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,yBAAyB,GAAG,OAAO,CAAC,CAAC,aAAa;AACxD,MAAM,mBAAmB,GAAG,GAAG,CAAC,cAAc;IAC5C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IAC5B,CAAC,CAAC,yBAAyB,CAAC;AAE9B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,IAAI,CAAC,EAAE,CAAC;IACvE,MAAM,IAAI,KAAK,CAAC,yDAAyD,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC;AAClG,CAAC;AAED,IAAI,aAAa,GAAG,GAAG,CAAC,aAAa,IAAI,mBAAmB,CAAC;AAE7D,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;IACxC,gBAAgB,EAAE,YAAY;IAC9B,OAAO,EAAE,UAAU;IACnB,eAAe,EAAE,mBAAmB;IACpC,IAAI,YAAY;QACd,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,YAAY,CAAC,KAAa;QAC5B,aAAa,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,IAAI,eAAe;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC;IACxE,CAAC;IACD,IAAI,eAAe;QACjB,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC;IAC3C,CAAC;CACF,CAAC;AAEF,sDAAsD;AACtD,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,aAAa,EAAE,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACjC,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACtC,KAAK,GAAG,IAAI,CAAC;gBACb,OAAO,iBAAiB,KAAK,EAAE,CAAC;YAClC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC;QACnD,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;QACjC,aAAa,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC,CAAC;IACtD,CAAC;AACH,CAAC"}
import type { CopilotClient } from "@github/copilot-sdk";
/**
* Classify a user prompt and return the model ID to use.
* Validates the target model against available models.
* Returns the current model on any failure (no disruption).
*/
export declare function classifyAndRoute(client: CopilotClient, prompt: string): Promise<{
model: string;
tier: string;
}>;
/** Tear down the classifier session (e.g., on client reset). */
export declare function resetClassifier(): void;
//# sourceMappingURL=classifier.d.ts.map
{"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/copilot/classifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AA4GzE;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA8B1C;AAED,gEAAgE;AAChE,wBAAgB,eAAe,IAAI,IAAI,CAMtC"}
{"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/copilot/classifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AACzC,MAAM,kBAAkB,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,uCAAuC;AAE9E,MAAM,qBAAqB,GAAG;;;;;;UAMpB,CAAC;AAEX,IAAI,iBAA6C,CAAC;AAClD,IAAI,sBAA0C,CAAC;AAC/C,IAAI,uBAA4D,CAAC;AAEjE,6BAA6B;AAC7B,IAAI,cAAuC,CAAC;AAC5C,IAAI,cAAc,GAAG,CAAC,CAAC;AAEvB,mDAAmD;AACnD,KAAK,UAAU,kBAAkB,CAAC,MAAqB;IACrD,IAAI,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,kBAAkB,EAAE,CAAC;QACvE,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,qBAAqB,cAAc,CAAC,IAAI,mBAAmB,CAAC,CAAC;QACzE,OAAO,cAAc,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,cAAc,IAAI,IAAI,GAAG,EAAE,CAAC;IACrC,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,KAAK,UAAU,mBAAmB,CAAC,MAAqB;IACtD,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,uDAAuD;IACrF,CAAC;IACD,IAAI,CAAC;QACH,6EAA6E;QAC7E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC;aACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,KAAK,SAAS,CAAC;aAClD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;QACjF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,MAAM,CAAC,YAAY,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,YAAY,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,MAAqB;IAC1D,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAEtD,uEAAuE;IACvE,IAAI,iBAAiB,IAAI,sBAAsB,KAAK,WAAW;QAAE,OAAO,iBAAiB,CAAC;IAC1F,IAAI,uBAAuB;QAAE,OAAO,uBAAuB,CAAC;IAE5D,uBAAuB,GAAG,CAAC,KAAK,IAAI,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,+CAA+C,WAAW,GAAG,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;YACzC,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE;gBACb,OAAO,EAAE,sGAAsG;aAChH;SACF,CAAC,CAAC;QACH,sBAAsB,GAAG,WAAW,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,mCAAmC,WAAW,GAAG,CAAC,CAAC;QAC/D,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,CAAC;QACH,iBAAiB,GAAG,MAAM,uBAAuB,CAAC;QAClD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;YAAS,CAAC;QACT,uBAAuB,GAAG,SAAS,CAAC;IACtC,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjD,iDAAiD;IACjD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC9D,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAqC,CAAC;IACnE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,0CAA0C,QAAQ,yBAAyB,CAAC,CAAC;IACzF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,SAAiB,EAAE,SAAsB,EAAE,QAAgB;IAC/E,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,qBAAqB,SAAS,qCAAqC,QAAQ,GAAG,CAAC,CAAC;IAC5F,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAqB,EACrB,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7C,uBAAuB,CAAC,MAAM,CAAC;YAC/B,kBAAkB,CAAC,MAAM,CAAC;SAC3B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CACtC,EAAE,MAAM,EAAE,GAAG,qBAAqB,GAAG,MAAM,EAAE,EAAE,EAC/C,yBAAyB,CAC1B,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QAEtE,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,OAAO,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,sDAAsD,GAAG,EAAE,CAAC,CAAC;QAE3E,mEAAmE;QACnE,IAAI,oDAAoD,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnE,iBAAiB,GAAG,SAAS,CAAC;YAC9B,sBAAsB,GAAG,SAAS,CAAC;QACrC,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,eAAe;IAC7B,iBAAiB,GAAG,SAAS,CAAC;IAC9B,sBAAsB,GAAG,SAAS,CAAC;IACnC,uBAAuB,GAAG,SAAS,CAAC;IACpC,cAAc,GAAG,SAAS,CAAC;IAC3B,cAAc,GAAG,CAAC,CAAC;AACrB,CAAC"}
import { CopilotClient } from "@github/copilot-sdk";
export declare function getClient(): Promise<CopilotClient>;
/** Tear down the existing client and create a fresh one. */
export declare function resetClient(): Promise<CopilotClient>;
export declare function stopClient(): Promise<void>;
//# sourceMappingURL=client.d.ts.map
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/copilot/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,wBAAsB,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC,CASxD;AAED,4DAA4D;AAC5D,wBAAsB,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,CAM1D;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAKhD"}
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/copilot/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,IAAI,MAAiC,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,IAAI,aAAa,CAAC;YACzB,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACxD,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,SAAS,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
import type { MCPServerConfig } from "@github/copilot-sdk";
/**
* Load MCP server configs from ~/.copilot/mcp-config.json.
* Returns an empty record if the file doesn't exist or is invalid.
*/
export declare function loadMcpConfig(): Record<string, MCPServerConfig>;
//# sourceMappingURL=mcp-config.d.ts.map
{"version":3,"file":"mcp-config.d.ts","sourceRoot":"","sources":["../../src/copilot/mcp-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAY/D"}
{"version":3,"file":"mcp-config.js","sourceRoot":"","sources":["../../src/copilot/mcp-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAG7B;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC/D,OAAO,MAAM,CAAC,UAA6C,CAAC;QAC9D,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
import { type CopilotClient } from "@github/copilot-sdk";
import { type WorkerInfo } from "./tools.js";
export type MessageSource = {
type: "telegram";
chatId: number;
messageId: number;
} | {
type: "tui";
connectionId: string;
} | {
type: "background";
};
export type MessageCallback = (text: string, done: boolean) => void;
type LogFn = (direction: "in" | "out", source: string, text: string) => void;
export declare function setMessageLogger(fn: LogFn): void;
type ProactiveNotifyFn = (text: string, channel?: "telegram" | "tui") => void;
export declare function setProactiveNotify(fn: ProactiveNotifyFn): void;
/** Get the channel that originated the message currently being processed. */
export declare function getCurrentSourceChannel(): "telegram" | "tui" | undefined;
/** Feed a background worker result into the orchestrator as a new turn. */
export declare function feedBackgroundResult(workerName: string, result: string): void;
export declare function initOrchestrator(client: CopilotClient): Promise<void>;
export declare function sendToOrchestrator(prompt: string, source: MessageSource, callback: MessageCallback): Promise<void>;
/** Cancel the in-flight message and drain the queue. */
export declare function cancelCurrentMessage(): Promise<boolean>;
export declare function getWorkers(): Map<string, WorkerInfo>;
export {};
//# sourceMappingURL=orchestrator.d.ts.map
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/copilot/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAe1D,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AAEpE,KAAK,KAAK,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAG7E,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,CAEhD;AAGD,KAAK,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,KAAK,KAAK,IAAI,CAAC;AAG9E,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,iBAAiB,GAAG,IAAI,CAE9D;AAyBD,6EAA6E;AAC7E,wBAAgB,uBAAuB,IAAI,UAAU,GAAG,KAAK,GAAG,SAAS,CAExE;AAaD,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAa7E;AAoID,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAe3E;AAyED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,CAyDf;AAED,wDAAwD;AACxD,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAoB7D;AAED,wBAAgB,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAEpD"}
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/copilot/orchestrator.ts"],"names":[],"mappings":"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"}
/** Returns all skill directories that exist on disk. */
export declare function getSkillDirectories(): string[];
export interface SkillInfo {
slug: string;
name: string;
description: string;
directory: string;
source: "bundled" | "local" | "global";
}
/** Scan all skill directories and return metadata for each skill found. */
export declare function listSkills(): SkillInfo[];
/** Create a new skill in the local skills directory. */
export declare function createSkill(slug: string, name: string, description: string, instructions: string): string;
//# sourceMappingURL=skills.d.ts.map
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/copilot/skills.ts"],"names":[],"mappings":"AAoBA,wDAAwD;AACxD,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAM9C;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;CACxC;AAED,2EAA2E;AAC3E,wBAAgB,UAAU,IAAI,SAAS,EAAE,CA6CxC;AAED,wDAAwD;AACxD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CA2BzG"}
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/copilot/skills.ts"],"names":[],"mappings":"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"}
export declare function getOrchestratorSystemMessage(memorySummary?: string, opts?: {
selfEditEnabled?: boolean;
}): string;
//# sourceMappingURL=system-message.d.ts.map
{"version":3,"file":"system-message.d.ts","sourceRoot":"","sources":["../../src/copilot/system-message.ts"],"names":[],"mappings":"AAAA,wBAAgB,4BAA4B,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAgIjH"}
{"version":3,"file":"system-message.js","sourceRoot":"","sources":["../../src/copilot/system-message.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,4BAA4B,CAAC,aAAsB,EAAE,IAAoC;IACvG,MAAM,WAAW,GAAG,aAAa;QAC/B,CAAC,CAAC,wGAAwG,aAAa,IAAI;QAC3H,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,aAAa,GAAG,IAAI,EAAE,eAAe;QACzC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;;;;;;;;;;;CAWL,CAAC;IAEA,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IAE5G,OAAO,2FAA2F,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyGxG,aAAa,GAAG,WAAW,EAAE,CAAC;AAChC,CAAC"}
import { type CopilotClient, type CopilotSession, type Tool } from "@github/copilot-sdk";
export interface WorkerInfo {
name: string;
session: CopilotSession;
workingDir: string;
status: "idle" | "running" | "error";
lastOutput?: string;
/** Timestamp (ms) when the worker started its current task. */
startedAt?: number;
/** Channel that created this worker — completions route back here. */
originChannel?: "telegram" | "tui";
}
export interface ToolDeps {
client: CopilotClient;
workers: Map<string, WorkerInfo>;
onWorkerComplete: (name: string, result: string) => void;
}
export declare function createTools(deps: ToolDeps): Tool<any>[];
//# sourceMappingURL=tools.d.ts.map
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/copilot/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAiCjH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,aAAa,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;CACpC;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CA+cvD"}
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/copilot/tools.ts"],"names":[],"mappings":"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"}
/** Restart the daemon by spawning a new process and exiting. */
export declare function restartDaemon(): Promise<void>;
//# sourceMappingURL=daemon.d.ts.map
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AA+HA,gEAAgE;AAChE,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAiCnD"}
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
/** Base directory for all Max user data: ~/.max */
export declare const MAX_HOME: string;
/** Path to the SQLite database */
export declare const DB_PATH: string;
/** Path to the user .env file */
export declare const ENV_PATH: string;
/** Path to user-local skills */
export declare const SKILLS_DIR: string;
/** Path to Max's isolated session state (keeps CLI history clean) */
export declare const SESSIONS_DIR: string;
/** Path to TUI readline history */
export declare const HISTORY_PATH: string;
/** Path to the API bearer token file */
export declare const API_TOKEN_PATH: string;
/** Ensure ~/.max/ exists */
export declare function ensureMaxHome(): void;
//# sourceMappingURL=paths.d.ts.map
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAIA,mDAAmD;AACnD,eAAO,MAAM,QAAQ,QAA0B,CAAC;AAEhD,kCAAkC;AAClC,eAAO,MAAM,OAAO,QAA2B,CAAC;AAEhD,iCAAiC;AACjC,eAAO,MAAM,QAAQ,QAAyB,CAAC;AAE/C,gCAAgC;AAChC,eAAO,MAAM,UAAU,QAA2B,CAAC;AAEnD,qEAAqE;AACrE,eAAO,MAAM,YAAY,QAA6B,CAAC;AAEvD,mCAAmC;AACnC,eAAO,MAAM,YAAY,QAAgC,CAAC;AAE1D,wCAAwC;AACxC,eAAO,MAAM,cAAc,QAA8B,CAAC;AAE1D,4BAA4B;AAC5B,wBAAgB,aAAa,IAAI,IAAI,CAEpC"}
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAE/B,mDAAmD;AACnD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AAEhD,kCAAkC;AAClC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAEhD,iCAAiC;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE/C,gCAAgC;AAChC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAEnD,qEAAqE;AACrE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEvD,mCAAmC;AACnC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAE1D,wCAAwC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAE1D,4BAA4B;AAC5B,MAAM,UAAU,aAAa;IAC3B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC"}
export {};
//# sourceMappingURL=setup.d.ts.map
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":""}
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
import Database from "better-sqlite3";
export declare function getDb(): Database.Database;
export declare function getState(key: string): string | undefined;
export declare function setState(key: string, value: string): void;
/** Remove a key from persistent state. */
export declare function deleteState(key: string): void;
/** Log a conversation turn (user, assistant, or system). */
export declare function logConversation(role: "user" | "assistant" | "system", content: string, source: string): void;
/** Get recent conversation history formatted for injection into system message. */
export declare function getRecentConversation(limit?: number): string;
/** Add a memory to long-term storage. */
export declare function addMemory(category: "preference" | "fact" | "project" | "person" | "routine", content: string, source?: "user" | "auto"): number;
/** Search memories by keyword and/or category. */
export declare function searchMemories(keyword?: string, category?: string, limit?: number): {
id: number;
category: string;
content: string;
source: string;
created_at: string;
}[];
/** Remove a memory by ID. */
export declare function removeMemory(id: number): boolean;
/** Get a compact summary of all memories for injection into system message. */
export declare function getMemorySummary(): string;
export declare function closeDb(): void;
//# sourceMappingURL=db.d.ts.map
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAMtC,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAiEzC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIxD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAGzD;AAED,0CAA0C;AAC1C,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAG7C;AAED,4DAA4D;AAC5D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAQ5G;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,KAAK,SAAK,GAAG,MAAM,CAmBxD;AAED,yCAAyC;AACzC,wBAAgB,SAAS,CACvB,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,EAClE,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAAM,GAAG,MAAe,GAC/B,MAAM,CAMR;AAED,kDAAkD;AAClD,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,SAAK,GACT;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,CA4BzF;AAED,6BAA6B;AAC7B,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAIhD;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,IAAI,MAAM,CAqBzC;AAED,wBAAgB,OAAO,IAAI,IAAI,CAK9B"}
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"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"}
import { Bot } from "grammy";
export declare function createBot(): Bot;
export declare function startBot(): Promise<void>;
export declare function stopBot(): Promise<void>;
/** Send an unsolicited message to the authorized user (for background task completions). */
export declare function sendProactiveMessage(text: string): Promise<void>;
/** Send a photo to the authorized user. Accepts a file path or URL. */
export declare function sendPhoto(photo: string, caption?: string): Promise<void>;
//# sourceMappingURL=bot.d.ts.map
{"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../src/telegram/bot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAgB,MAAM,QAAQ,CAAC;AAU3C,wBAAgB,SAAS,IAAI,GAAG,CAiK/B;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAM9C;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAI7C;AAED,4FAA4F;AAC5F,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBtE;AAED,uEAAuE;AACvE,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW9E"}
{"version":3,"file":"bot.js","sourceRoot":"","sources":["../../src/telegram/bot.ts"],"names":[],"mappings":"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"}
/**
* Split a long message into chunks that fit within Telegram's message limit.
* Tries to split at newlines, then spaces, falling back to hard cuts.
*/
export declare function chunkMessage(text: string): string[];
/**
* Convert standard markdown from the AI into Telegram MarkdownV2.
* Handles bold, italic, code blocks, headers, tables, and horizontal rules.
*/
export declare function toTelegramMarkdown(text: string): string;
//# sourceMappingURL=formatter.d.ts.map
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/telegram/formatter.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA2BnD;AA+BD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuDvD"}
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/telegram/formatter.ts"],"names":[],"mappings":"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"}
export {};
//# sourceMappingURL=index.d.ts.map
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tui/index.ts"],"names":[],"mappings":""}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tui/index.ts"],"names":[],"mappings":"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"}
/** Fetch the latest published version from npm. Returns null on failure. */
export declare function getLatestVersion(): Promise<string | null>;
export interface UpdateCheckResult {
current: string;
latest: string | null;
updateAvailable: boolean;
/** false when the npm registry could not be reached */
checkSucceeded: boolean;
}
/** Check whether a newer version is available on npm. */
export declare function checkForUpdate(): Promise<UpdateCheckResult>;
/** Run `npm install -g heymax@latest` and return success/failure. */
export declare function performUpdate(): Promise<{
ok: boolean;
output: string;
}>;
//# sourceMappingURL=update.d.ts.map
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AA0BA,4EAA4E;AAC5E,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO/D;AAYD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,uDAAuD;IACvD,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,yDAAyD;AACzD,wBAAsB,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CASjE;AAED,qEAAqE;AACrE,wBAAsB,aAAa,IAAI,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAY9E"}
{"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACrF,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,sDAAsD;AACtD,SAAS,SAAS,CAAC,GAAW,EAAE,SAAiB;IAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACrE,IAAI,GAAG;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;QAClE,OAAO,MAAM,IAAI,IAAI,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,SAAS,OAAO,CAAC,KAAa,EAAE,MAAc;IAC5C,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,GAAG,IAAI,CAAC;IACtC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,GAAG,IAAI,CAAC;IACtC,OAAO,IAAI,GAAG,IAAI,CAAC;AACrB,CAAC;AAUD,yDAAyD;AACzD,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACxC,OAAO;QACL,OAAO;QACP,MAAM;QACN,eAAe,EAAE,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;QAC5D,cAAc,EAAE,MAAM,KAAK,IAAI;KAChC,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,8BAA8B,EAAE;YACtD,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,IAAI,eAAe,CAAC;QACjE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACpC,CAAC;AACH,CAAC"}
{
"slug": "slack",
"version": "1.0.0"
}
---
name: Slack
description: Read and write Slack messages, channels, threads, and reactions using direct API calls. All data stays on the user's machine — no third-party services, no proxies, no data leaves localhost except to Slack's official API (slack.com) over HTTPS.
---
# Slack Skill
Max can interact with Slack workspaces using direct `curl` calls to the Slack Web API. All communication goes directly from the user's machine to `https://slack.com/api/` over HTTPS — no intermediaries, no third-party services, no data stored beyond the conversation.
## Security Model
**This skill is designed to never let data leave the user's machine except to Slack's official API.**
1. **Token storage**: The Slack token lives in `~/.max/.env` as `SLACK_BOT_TOKEN` (and optionally `SLACK_USER_TOKEN`). This file should be `chmod 600`.
2. **Direct API calls only**: Every request is a `curl` to `https://slack.com/api/`. No proxies, no webhooks, no third-party endpoints.
3. **Never display or log the token**: When showing commands to the user, always reference `$SLACK_BOT_TOKEN` — never expand it. Never include the token value in worker session prompts, logs, or memory.
4. **No persistent caching**: Message content is never written to disk, databases, or memory storage. It exists only in the conversation context.
5. **Minimal scopes**: Guide the user to grant only the scopes they need (see Setup).
## Prerequisites
The user needs a Slack Bot Token (starts with `xoxb-`) or a User Token (starts with `xoxp-`).
**Bot tokens** are recommended for most operations. They're scoped, auditable, and can be revoked from the Slack admin panel without affecting the user's personal account.
**User tokens** are required for `search.messages` and a few admin operations. Use them only when a bot token can't do the job.
If neither token is configured, guide the user through setup.
## Setup
### Step 1: Create a Slack App
1. Go to https://api.slack.com/apps and click "Create New App" → "From scratch"
2. Name it (e.g., "Max Assistant") and select the workspace
3. Under **OAuth & Permissions**, add these Bot Token Scopes:
**Minimum scopes for reading:**
- `channels:history` — read messages in public channels
- `channels:read` — list and get info about public channels
- `groups:history` — read messages in private channels the bot is in
- `groups:read` — list private channels the bot is in
- `im:history` — read direct messages with the bot
- `users:read` — resolve user IDs to names
**Additional scopes for writing:**
- `chat:write` — send messages
- `reactions:read` — read reactions
- `reactions:write` — add reactions
- `files:read` — access shared files
- `files:write` — upload files
**If using a User Token** (for search):
- `search:read` — search messages and files
4. Click "Install to Workspace" and authorize
5. Copy the Bot Token (`xoxb-...`) from the OAuth page
### Step 2: Store the Token
Store the token in Max's environment file. **Never use `echo` with the raw token** — it would be saved in shell history.
```bash
# In a worker session — use ask_user to collect the token, then write it without exposing it:
# 1. Ask the user for their token via ask_user
# 2. Write it to the env file like this (TOKEN_VALUE comes from ask_user, not typed in a shell):
printf 'SLACK_BOT_TOKEN=%s\n' "$TOKEN_VALUE" >> ~/.max/.env
chmod 600 ~/.max/.env
```
If the user also needs search, do the same for the user token:
```bash
printf 'SLACK_USER_TOKEN=%s\n' "$TOKEN_VALUE" >> ~/.max/.env
```
**Preferred approach**: Use `ask_user` to collect the token value, then write it to `~/.max/.env` programmatically via `printf` and a variable — never embed the literal token in a shell command string.
**After adding the token, Max must restart to pick up the new env var.** Use the `restart_max` tool.
### Step 3: Verify
```bash
curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" https://slack.com/api/auth.test | python3 -m json.tool
```
This should return `"ok": true` with the bot's user ID and team info.
### Step 4: Invite the Bot
The bot must be invited to channels it needs to access:
- In Slack, go to the channel → type `/invite @YourBotName`
- Or use the API: the bot can join public channels with `conversations.join`
## Important: Reading the Token
The token is stored in `~/.max/.env`. To use it in curl commands within a worker session, **source the env file first**:
```bash
source ~/.max/.env
```
Then use `$SLACK_BOT_TOKEN` or `$SLACK_USER_TOKEN` in subsequent commands. Do this once at the start of any worker session that needs Slack access.
## API Reference
All commands use this pattern:
```bash
curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
"https://slack.com/api/{method}?{params}" | python3 -m json.tool
```
For POST requests with a body:
```bash
curl -s -X POST -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channel":"C1234567890","text":"Hello"}' \
https://slack.com/api/chat.postMessage | python3 -m json.tool
```
**Always pipe through `python3 -m json.tool`** for readable output. If the output is very large, pipe through `python3 -c "import sys,json; d=json.load(sys.stdin); print(json.dumps(d, indent=2)[:2000])"` to truncate.
### Verify Auth
```bash
curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
https://slack.com/api/auth.test | python3 -m json.tool
```
### List Channels
```bash
# Public channels (paginated — use cursor for next page)
curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
"https://slack.com/api/conversations.list?types=public_channel&limit=100&exclude_archived=true" \
| python3 -m json.tool
# Include private channels the bot is in
curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
"https://slack.com/api/conversations.list?types=public_channel,private_channel&limit=100" \
| python3 -m json.tool
# Pagination: use response_metadata.next_cursor from the response
curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
"https://slack.com/api/conversations.list?types=public_channel&limit=100&cursor=NEXT_CURSOR_VALUE" \
| python3 -m json.tool
```
### Get Channel Info
```bash
curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
"https://slack.com/api/conversations.info?channel=C1234567890" \
| python3 -m json.tool
```
### Read Messages (Channel History)
```bash
# Latest 20 messages in a channel
curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
"https://slack.com/api/conversations.history?channel=C1234567890&limit=20" \
| python3 -m json.tool
# Messages after a specific timestamp
curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
"https://slack.com/api/conversations.history?channel=C1234567890&oldest=1700000000.000000&limit=50" \
| python3 -m json.tool
# Messages before a specific timestamp
curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
"https://slack.com/api/conversations.history?channel=C1234567890&latest=1700000000.000000&limit=50" \
| python3 -m json.tool
```
**Timestamps** in Slack are Unix epoch with microseconds (e.g., `1700000000.000000`). Message `ts` values double as unique IDs.
### Read Thread Replies
```bash
curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
"https://slack.com/api/conversations.replies?channel=C1234567890&ts=1700000000.000000&limit=50" \
| python3 -m json.tool
```
The `ts` parameter is the timestamp of the **parent message** (thread root).
### Send a Message
```bash
curl -s -X POST -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channel":"C1234567890","text":"Hello from Max!"}' \
https://slack.com/api/chat.postMessage | python3 -m json.tool
```
### Reply to a Thread
```bash
curl -s -X POST -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channel":"C1234567890","thread_ts":"1700000000.000000","text":"Thread reply from Max"}' \
https://slack.com/api/chat.postMessage | python3 -m json.tool
```
### Update a Message
```bash
curl -s -X POST -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channel":"C1234567890","ts":"1700000000.000000","text":"Updated message text"}' \
https://slack.com/api/chat.update | python3 -m json.tool
```
### Delete a Message
```bash
curl -s -X POST -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channel":"C1234567890","ts":"1700000000.000000"}' \
https://slack.com/api/chat.delete | python3 -m json.tool
```
### Add a Reaction
```bash
curl -s -X POST -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channel":"C1234567890","timestamp":"1700000000.000000","name":"thumbsup"}' \
https://slack.com/api/reactions.add | python3 -m json.tool
```
Emoji names are without colons (e.g., `thumbsup` not `:thumbsup:`).
### Search Messages (requires User Token)
```bash
curl -s -H "Authorization: Bearer $SLACK_USER_TOKEN" \
"https://slack.com/api/search.messages?query=deployment%20failed&count=10" \
| python3 -m json.tool
```
**Search requires a User Token** (`xoxp-`). Bot tokens cannot search. If the user hasn't configured `SLACK_USER_TOKEN`, tell them search requires it and guide them through adding the `search:read` scope to their app's User Token Scopes.
### Look Up Users
```bash
# List workspace members
curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
"https://slack.com/api/users.list?limit=100" \
| python3 -m json.tool
# Get a specific user's profile
curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
"https://slack.com/api/users.info?user=U1234567890" \
| python3 -m json.tool
# Look up user by email
curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
"https://slack.com/api/users.lookupByEmail?email=user@example.com" \
| python3 -m json.tool
```
### Upload a File
```bash
# Upload a file to a channel
curl -s -X POST -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-F "channels=C1234567890" \
-F "file=@/path/to/file.txt" \
-F "title=My File" \
-F "initial_comment=Here's the file you requested" \
https://slack.com/api/files.upload | python3 -m json.tool
```
### Join a Public Channel
```bash
curl -s -X POST -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channel":"C1234567890"}' \
https://slack.com/api/conversations.join | python3 -m json.tool
```
### Send a Direct Message
To DM a user, first open a DM channel, then send to it:
```bash
# Open a DM channel with a user
curl -s -X POST -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"users":"U1234567890"}' \
https://slack.com/api/conversations.open | python3 -m json.tool
# Then send to the returned channel ID
curl -s -X POST -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channel":"D_RETURNED_ID","text":"Hey!"}' \
https://slack.com/api/chat.postMessage | python3 -m json.tool
```
## Error Handling
**Check HTTP status first, then the JSON body.** Most successful Slack API responses return HTTP 200 with `"ok": true`, but errors can surface at either layer.
### HTTP-level errors
- **429 Too Many Requests**: Rate limited. Read the `Retry-After` header (seconds) and wait before retrying. Do NOT retry immediately.
- **5xx**: Slack server error. Wait a few seconds and retry once. If it persists, report the failure.
- **Non-200/non-429**: Network or transport failure. Check connectivity.
### JSON-level errors (HTTP 200, `"ok": false`)
Check the `"error"` field:
- `not_authed` / `invalid_auth` — token is missing or invalid. Verify with `auth.test`.
- `channel_not_found` — wrong channel ID or bot isn't in the channel. List channels to find the right ID.
- `not_in_channel` — bot needs to be invited. Use `/invite @BotName` in Slack or `conversations.join`.
- `missing_scope` — token lacks a required permission. Tell the user which scope to add at https://api.slack.com/apps.
- `ratelimited` — also returned as a JSON error sometimes. Check both the HTTP status and this field.
- `account_inactive` / `token_revoked` — token was revoked. User needs to reissue it.
## Rate Limiting
Slack enforces rate limits per method (typically 1-50+ requests per minute depending on the tier). If you get `ratelimited`:
1. Read the `Retry-After` response header (seconds to wait)
2. Wait that duration before retrying
3. Batch requests where possible (e.g., fetch 100 messages at once instead of 10×10)
## Tips
- **Channel IDs vs names**: Always use channel IDs (e.g., `C1234567890`), not `#channel-name`. Get IDs from `conversations.list`.
- **User IDs vs names**: Messages contain user IDs like `U1234567890`. Resolve to names with `users.info`.
- **Timestamps are IDs**: A message's `ts` field is both its timestamp and unique identifier. Use it for threading, updating, and deleting.
- **Pagination**: Most list endpoints return a `response_metadata.next_cursor`. Keep fetching with `&cursor=VALUE` until the cursor is empty.
- **Rich formatting**: Slack uses mrkdwn (their Markdown variant). `*bold*`, `_italic_`, `~strikethrough~`, `` `code` ``, `> quote`, `<https://url|link text>`.
- **Mentioning users**: Use `<@U1234567890>` in message text to @-mention someone.
- **Mentioning channels**: Use `<#C1234567890>` to link to a channel.
- **Large payloads**: For messages over 4000 chars, consider uploading as a snippet via `files.upload` instead.