@owloops/browserbird 1.2.8 → 1.2.10

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.
Files changed (2) hide show
  1. package/dist/index.mjs +10 -8
  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: ${"a5294d87d4c94fa7527751eea09349373839b7cd".substring(0, 7)}`);
126
- buildInfo.push(`built: 2026-03-06T15:38:21+04:00`);
125
+ buildInfo.push(`commit: ${"bddda226a98294fa5e272a0f50b3e8f52dab935f".substring(0, 7)}`);
126
+ buildInfo.push(`built: 2026-03-09T14:46:24+04:00`);
127
127
  const buildString = buildInfo.length > 0 ? ` (${buildInfo.join(", ")})` : "";
128
128
  const VERSION = `browserbird ${pkg.version}${buildString}`;
129
129
  const BIRD = [
@@ -3233,11 +3233,13 @@ function createHandler(client, config, signal, getTeamId) {
3233
3233
  break;
3234
3234
  }
3235
3235
  }
3236
- const footerBlocks = completion ? completionFooterBlocks(completion, hasError, meta.birdName, userId) : void 0;
3237
- await streamer.stop(footerBlocks ? { blocks: footerBlocks } : {});
3238
- if (timedOut && !completion) {
3236
+ if (timedOut) {
3237
+ await streamer.stop({});
3239
3238
  const blocks = sessionTimeoutBlocks(timedOutMs, { sessionUid });
3240
3239
  await client.postMessage(channelId, threadTs, `Session timed out after ${Math.round(timedOutMs / 6e4)} minutes.`, { blocks });
3240
+ } else {
3241
+ const footerBlocks = completion ? completionFooterBlocks(completion, hasError, meta.birdName, userId) : void 0;
3242
+ await streamer.stop(footerBlocks ? { blocks: footerBlocks } : {});
3241
3243
  }
3242
3244
  }
3243
3245
  async function uploadImages(images, channelId, threadTs) {
@@ -3960,8 +3962,7 @@ async function startDaemon(options) {
3960
3962
  clearBrowserLock();
3961
3963
  startWorker(controller.signal);
3962
3964
  loadDotEnv(envPath);
3963
- let currentConfig = loadConfig(configPath);
3964
- ensureMcpConfig(currentConfig, configDir);
3965
+ let currentConfig = loadRawConfig(configPath);
3965
3966
  let slackHandle = null;
3966
3967
  let setupMode = true;
3967
3968
  const getConfig = () => currentConfig;
@@ -4003,7 +4004,8 @@ async function startDaemon(options) {
4003
4004
  logger.info("config reloaded");
4004
4005
  };
4005
4006
  if (hasSlackTokens(configPath)) {
4006
- if (!currentConfig.slack.botToken || !currentConfig.slack.appToken) throw new Error("slack tokens not resolvable (set SLACK_BOT_TOKEN/SLACK_APP_TOKEN or configure in browserbird.json)");
4007
+ currentConfig = loadConfig(configPath);
4008
+ ensureMcpConfig(currentConfig, configDir);
4007
4009
  setSetting("onboarding_completed", "true");
4008
4010
  startFull(currentConfig);
4009
4011
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owloops/browserbird",
3
- "version": "1.2.8",
3
+ "version": "1.2.10",
4
4
  "description": "Self-hosted AI agent for Slack with a real browser, a scheduler, and a web dashboard",
5
5
  "type": "module",
6
6
  "bin": {