openmausbot 0.1.82 → 0.1.84
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/dist/assets/index-BbU5REzd.js +310 -0
- package/dist/assets/{index-CKysBq-V.css → index-CLGfYlx_.css} +1 -1
- package/dist/assets/{index-5HVwp5m2.js → index-DNa2umw-.js} +1 -1
- package/dist/index.html +2 -2
- package/dist-server/container-mcp.js +20 -4
- package/dist-server/drivers/agents-proxy.js +30 -4
- package/dist-server/index.js +1716 -581
- package/dist-server/mcp-gate.js +2 -1
- package/dist-server/openmausbot.js +224 -63
- package/dist-server/pair-cli.js +224 -63
- package/dist-server/server/auto-approve.js +15 -1
- package/dist-server/server/auto-vm-claims.js +22 -0
- package/dist-server/server/browser-bundle-release.js +8 -7
- package/dist-server/server/browser-engine.js +1 -1
- package/dist-server/server/channel-queue.js +58 -0
- package/dist-server/server/checkpoints.js +9 -5
- package/dist-server/server/chief-of-staff.js +5 -2
- package/dist-server/server/computer-wait.js +33 -0
- package/dist-server/server/config.js +58 -3
- package/dist-server/server/contracts.js +0 -7
- package/dist-server/server/delta-context.js +258 -0
- package/dist-server/server/drivers/acp/gemini.js +11 -1
- package/dist-server/server/drivers/acp/qwen.js +16 -1
- package/dist-server/server/drivers/agents-proxy.js +32 -4
- package/dist-server/server/drivers/claude.js +26 -8
- package/dist-server/server/drivers/codex.js +79 -6
- package/dist-server/server/drivers/pi.js +2 -1
- package/dist-server/server/env-path.js +6 -1
- package/dist-server/server/incidents.js +104 -0
- package/dist-server/server/index.js +886 -134
- package/dist-server/server/local-routing.js +10 -4
- package/dist-server/server/notify.js +3 -1
- package/dist-server/server/peer-roster.js +37 -1
- package/dist-server/server/recent-work.js +4 -1
- package/dist-server/server/redact.js +5 -48
- package/dist-server/server/room-handoffs.js +79 -16
- package/dist-server/server/skill-fetch.js +1 -1
- package/dist-server/server/steer-queue.js +29 -0
- package/dist-server/server/store.js +43 -3
- package/dist-server/server/thread-retention.js +50 -0
- package/dist-server/server/turn-context.js +7 -0
- package/dist-server/server/turn-resources.js +6 -0
- package/dist-server/shared/approval-mode.js +8 -5
- package/dist-server/shared/inspector.js +1 -0
- package/dist-server/shared/json.js +1 -0
- package/dist-server/shared/notification.js +1 -0
- package/dist-server/shared/redact.js +61 -0
- package/dist-server/shared/routines.js +1 -0
- package/dist-server/shared/runtime-events.js +1 -0
- package/dist-server/shared/webhooks.js +1 -0
- package/dist-server/shared/wire.js +8 -0
- package/dist-server/vps-container-mcp.js +20 -4
- package/package.json +1 -1
- package/dist/assets/index-BLLsDK2F.js +0 -309
|
@@ -1095,10 +1095,10 @@ var TOOLS = [
|
|
|
1095
1095
|
},
|
|
1096
1096
|
{
|
|
1097
1097
|
name: "coordinate_bots",
|
|
1098
|
-
description: "Ask existing OpenMausBot teammates for advice or assign concrete work. From normal chat every assignment you send a teammate continues your one standing conversation with that teammate, so they keep the context of what you asked before; from a room it defaults to this room. Use group_id from list_room_targets for a specific room.
|
|
1098
|
+
description: "Ask existing OpenMausBot teammates for advice or assign concrete work. From normal chat every assignment you send a teammate continues your one standing conversation with that teammate, so they keep the context of what you asked before; from a room it defaults to this room. Use group_id from list_room_targets for a specific room. Give 1-4 bot_ids \u2014 teammate ids as list_bots or your roster prints them; a unique teammate name also resolves: they receive only your brief and use their own model, tools and permissions. Busy bots queue. They can consult their specialists; all results return here and resume you automatically. Include exact file paths, constraints and what must be verified. After sending all assignments, END your turn; do not poll or wait. On return, resolve tradeoffs, verify the requested outcome and request concrete corrections if necessary before giving one final answer. Do not send acknowledgements as new work.",
|
|
1099
1099
|
inputSchema: { type: "object", additionalProperties: false, properties: {
|
|
1100
1100
|
group_id: { type: "string", description: "Optional destination room. Omit for this room, or your standing conversation with each teammate when chatting directly." },
|
|
1101
|
-
bot_ids: { type: "array", items: { type: "string" }, minItems: 1, maxItems: 4, uniqueItems: true },
|
|
1101
|
+
bot_ids: { type: "array", items: { type: "string", description: "A teammate's id exactly as list_bots or your roster prints it ([id: \u2026]). A teammate's unique display name also resolves; a name shared by two reachable teammates is refused." }, minItems: 1, maxItems: 4, uniqueItems: true },
|
|
1102
1102
|
message: { type: "string", minLength: 1, maxLength: 4e3, description: "Self-contained question or task for these teammates. Send separate requests when responsibilities differ." },
|
|
1103
1103
|
request_key: { type: "string", description: "A short unique assignment key. Reuse for an identical retry." },
|
|
1104
1104
|
rework: { type: "boolean", description: "True only for concrete additional work from someone who already completed a request." },
|
|
@@ -1121,7 +1121,7 @@ var TOOLS = [
|
|
|
1121
1121
|
inputSchema: {
|
|
1122
1122
|
type: "object",
|
|
1123
1123
|
properties: {
|
|
1124
|
-
bot_id: { type: "string", description: "The target bot's id (from list_bots)." },
|
|
1124
|
+
bot_id: { type: "string", description: "The target bot's id (from list_bots or your roster); a unique teammate name also resolves." },
|
|
1125
1125
|
message: { type: "string", description: "What to say / ask the bot." }
|
|
1126
1126
|
},
|
|
1127
1127
|
required: ["bot_id", "message"]
|
|
@@ -1133,7 +1133,7 @@ var TOOLS = [
|
|
|
1133
1133
|
inputSchema: {
|
|
1134
1134
|
type: "object",
|
|
1135
1135
|
properties: {
|
|
1136
|
-
bot_id: { type: "string", description: "The target bot's id (from list_bots)." },
|
|
1136
|
+
bot_id: { type: "string", description: "The target bot's id (from list_bots or your roster); a unique teammate name also resolves." },
|
|
1137
1137
|
message: { type: "string", description: "What the peer should do / answer." },
|
|
1138
1138
|
reason: { type: "string", description: "Optional one-line reason for the delegation (shown to the user as a chip)." }
|
|
1139
1139
|
},
|
|
@@ -1359,6 +1359,20 @@ var TOOLS = [
|
|
|
1359
1359
|
required: ["action"]
|
|
1360
1360
|
}
|
|
1361
1361
|
},
|
|
1362
|
+
{
|
|
1363
|
+
name: "retry_thread",
|
|
1364
|
+
description: "Chief of Staff only. Resume a teammate's thread whose last run failed, stalled or could not start \u2014 the one an incident report named \u2014 exactly where it stopped, keeping its conversation and files. The teammate gets a line saying you asked for the retry and why. Use it when the cause looks transient (a crash, a timeout, a busy service). Use delegate_bot with a corrected brief instead when the request itself needs to change, and tell the person instead when only they can fix the cause (a sign-in, a missing credential, an unanswered question). Never retry the same thread more than twice.",
|
|
1365
|
+
inputSchema: {
|
|
1366
|
+
type: "object",
|
|
1367
|
+
additionalProperties: false,
|
|
1368
|
+
properties: {
|
|
1369
|
+
bot_id: { type: "string", description: "The teammate's id, from the incident report or list_bots." },
|
|
1370
|
+
thread_id: { type: "string", description: "The failed thread's id, from the incident report." },
|
|
1371
|
+
note: { type: "string", description: "Optional: one sentence for the teammate about what to watch for this time." }
|
|
1372
|
+
},
|
|
1373
|
+
required: ["bot_id", "thread_id"]
|
|
1374
|
+
}
|
|
1375
|
+
},
|
|
1362
1376
|
{
|
|
1363
1377
|
name: "memory_log",
|
|
1364
1378
|
description: "Write one line to today's log file, memory/log/YYYY-MM-DD.md, stamped with the time and this conversation: what happened, not what is true. Use it for events worth a trace \u2014 a deploy went out, a person decided something, a check failed \u2014 that should not shape future sessions. Logs are never loaded into your prompt; the person can read them, and session_search finds them later. A fact that should hold in every session goes to memory_update instead.",
|
|
@@ -2141,6 +2155,18 @@ ${recent.join("\n")}` : "";
|
|
|
2141
2155
|
const entry = typeof r.entry === "string" && r.entry ? ` Entry: ${r.entry}` : "";
|
|
2142
2156
|
return { text: `Memory updated.${entry}${r.truncated ? " MEMORY.md exceeds the prompt load budget; keep it short and curated." : ""}` };
|
|
2143
2157
|
}
|
|
2158
|
+
if (name === "retry_thread") {
|
|
2159
|
+
const botId = String(args.bot_id ?? "").trim();
|
|
2160
|
+
const threadId = String(args.thread_id ?? "").trim();
|
|
2161
|
+
const note = typeof args.note === "string" ? args.note.trim() : "";
|
|
2162
|
+
if (!botId || !threadId) return { text: "retry_thread needs bot_id and thread_id \u2014 both are in the incident report.", isError: true };
|
|
2163
|
+
const r = await api("/api/internal/retry-thread", {
|
|
2164
|
+
method: "POST",
|
|
2165
|
+
body: JSON.stringify({ fromBotId: BOT_ID, fromThreadId: THREAD_ID, toBotId: botId, toThreadId: threadId, ...note ? { note } : {} })
|
|
2166
|
+
});
|
|
2167
|
+
if (r.error) return { text: `Couldn't retry that thread: ${String(r.error)}`, isError: true };
|
|
2168
|
+
return { text: typeof r.message === "string" ? r.message : "The thread is running again. Its result stays in that thread; you are not woken for it \u2014 check it later with session_search or list_threads if you need to." };
|
|
2169
|
+
}
|
|
2144
2170
|
if (name === "memory_log") {
|
|
2145
2171
|
if (typeof args.text !== "string" || !args.text.trim()) {
|
|
2146
2172
|
return { text: "memory_log needs text: one line about what happened.", isError: true };
|