@owloops/browserbird 1.5.6 → 1.5.7
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/index.mjs +19 -2
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -122,8 +122,8 @@ function unknownSubcommand(subcommand, command, validCommands) {
|
|
|
122
122
|
/** @fileoverview ASCII banner displayed on daemon startup and in help text. */
|
|
123
123
|
const pkg = createRequire(import.meta.url)("../package.json");
|
|
124
124
|
const buildInfo = [];
|
|
125
|
-
buildInfo.push(`commit: ${"
|
|
126
|
-
buildInfo.push(`built: 2026-03-
|
|
125
|
+
buildInfo.push(`commit: ${"981b44f5487db1d864909e7f135897db73c1a525".substring(0, 7)}`);
|
|
126
|
+
buildInfo.push(`built: 2026-03-18T10:38:16+04:00`);
|
|
127
127
|
const buildString = buildInfo.length > 0 ? ` (${buildInfo.join(", ")})` : "";
|
|
128
128
|
const VERSION = `browserbird ${pkg.version}${buildString}`;
|
|
129
129
|
const BIRD = [
|
|
@@ -2941,6 +2941,15 @@ function createCoalescer(config, onDispatch) {
|
|
|
2941
2941
|
//#endregion
|
|
2942
2942
|
//#region src/channel/handler.ts
|
|
2943
2943
|
const BROWSER_TOOL_PREFIX = "mcp__playwright__";
|
|
2944
|
+
const STATUS_REFRESH_MS = 9e4;
|
|
2945
|
+
function toolStatusText(toolName) {
|
|
2946
|
+
if (toolName.startsWith(BROWSER_TOOL_PREFIX)) return "is using the browser...";
|
|
2947
|
+
if (toolName.startsWith("mcp__")) return "is using a tool...";
|
|
2948
|
+
if (toolName === "Bash") return "is running a command...";
|
|
2949
|
+
if (toolName === "Read" || toolName === "Grep" || toolName === "Glob") return "is reading files...";
|
|
2950
|
+
if (toolName === "Edit" || toolName === "Write") return "is writing code...";
|
|
2951
|
+
return "is working...";
|
|
2952
|
+
}
|
|
2944
2953
|
function createHandler(client, getConfig, signal, getTeamId, getChannelNameToId) {
|
|
2945
2954
|
const locks = /* @__PURE__ */ new Map();
|
|
2946
2955
|
let activeSpawns = 0;
|
|
@@ -2999,6 +3008,11 @@ function createHandler(client, getConfig, signal, getTeamId, getChannelNameToId)
|
|
|
2999
3008
|
else throw err;
|
|
3000
3009
|
}
|
|
3001
3010
|
}
|
|
3011
|
+
let lastStatus = "is thinking...";
|
|
3012
|
+
const refreshStatus = () => {
|
|
3013
|
+
client.setStatus?.(channelId, threadTs, lastStatus).catch(() => {});
|
|
3014
|
+
};
|
|
3015
|
+
const statusTimer = setInterval(refreshStatus, STATUS_REFRESH_MS);
|
|
3002
3016
|
for await (const event of events) {
|
|
3003
3017
|
if (signal.aborted) break;
|
|
3004
3018
|
logger.debug(`stream event: ${event.type}`);
|
|
@@ -3017,6 +3031,8 @@ function createHandler(client, getConfig, signal, getTeamId, getChannelNameToId)
|
|
|
3017
3031
|
break;
|
|
3018
3032
|
case "tool_use":
|
|
3019
3033
|
meta.onToolUse?.(event.toolName);
|
|
3034
|
+
lastStatus = toolStatusText(event.toolName);
|
|
3035
|
+
client.setStatus?.(channelId, threadTs, lastStatus).catch(() => {});
|
|
3020
3036
|
break;
|
|
3021
3037
|
case "completion":
|
|
3022
3038
|
completion = event;
|
|
@@ -3041,6 +3057,7 @@ function createHandler(client, getConfig, signal, getTeamId, getChannelNameToId)
|
|
|
3041
3057
|
break;
|
|
3042
3058
|
}
|
|
3043
3059
|
}
|
|
3060
|
+
clearInterval(statusTimer);
|
|
3044
3061
|
if (timedOut) {
|
|
3045
3062
|
await safeStop({});
|
|
3046
3063
|
const blocks = sessionTimeoutBlocks(timedOutMs, { sessionUid });
|