@owloops/browserbird 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -265,6 +265,8 @@ The **opencode** provider inherits standard env vars per model provider: `OPENAI
265
265
 
266
266
  Available on npm: `npx @owloops/browserbird`
267
267
 
268
+ <img src="assets/demo.gif" alt="BrowserBird CLI demo" />
269
+
268
270
  ```
269
271
  $ browserbird --help
270
272
 
@@ -342,13 +342,13 @@ function openDatabase(dbPath) {
342
342
  db.exec("PRAGMA foreign_keys = ON");
343
343
  db.exec("PRAGMA busy_timeout = 5000");
344
344
  migrate(db);
345
- logger.info(`database opened at ${dbPath}`);
345
+ logger.debug(`database opened at ${dbPath}`);
346
346
  }
347
347
  function closeDatabase() {
348
348
  if (db) {
349
349
  db.close();
350
350
  db = null;
351
- logger.info("database closed");
351
+ logger.debug("database closed");
352
352
  }
353
353
  }
354
354
  function getDb() {
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as updateSessionProviderId, A as completeCronRun, B as listFlights, C as failStaleJobs, D as retryAllFailedJobs, E as listJobs, F as ensureSystemCronJob, G as deleteStaleSessions, H as updateCronJob, I as getCronJob, J as getSessionCount, K as findSession, L as getEnabledCronJobs, M as createCronRun, N as deleteCronJob, O as retryJob, P as deleteOldCronRuns, Q as touchSession, R as getFlightStats, S as failJob, T as hasPendingCronJob, U as updateCronJobStatus, V as setCronJobEnabled, W as createSession, X as getSessionTokenStats, Y as getSessionMessages, Z as listSessions, _ as clearJobs, a as getSetting, at as resolveByUid, b as deleteJob, c as getUserCount, d as getRecentLogs, et as shortUid, f as insertLog, g as claimNextJob, h as logMessage, i as createUser, it as optimizeDatabase, j as createCronJob, k as SYSTEM_CRON_PREFIX, l as setSetting, m as getMessageStats, n as resolveDbPath, nt as getDb, o as getUserByEmail, ot as logger, p as deleteOldMessages, q as getSession, r as resolveDbPathFromArgv, rt as openDatabase, s as getUserById, tt as closeDatabase, u as deleteOldLogs, v as completeJob, w as getJobStats, x as deleteOldJobs, y as createJob, z as listCronJobs } from "./db-Da2zSpkY.mjs";
1
+ import { $ as updateSessionProviderId, A as completeCronRun, B as listFlights, C as failStaleJobs, D as retryAllFailedJobs, E as listJobs, F as ensureSystemCronJob, G as deleteStaleSessions, H as updateCronJob, I as getCronJob, J as getSessionCount, K as findSession, L as getEnabledCronJobs, M as createCronRun, N as deleteCronJob, O as retryJob, P as deleteOldCronRuns, Q as touchSession, R as getFlightStats, S as failJob, T as hasPendingCronJob, U as updateCronJobStatus, V as setCronJobEnabled, W as createSession, X as getSessionTokenStats, Y as getSessionMessages, Z as listSessions, _ as clearJobs, a as getSetting, at as resolveByUid, b as deleteJob, c as getUserCount, d as getRecentLogs, et as shortUid, f as insertLog, g as claimNextJob, h as logMessage, i as createUser, it as optimizeDatabase, j as createCronJob, k as SYSTEM_CRON_PREFIX, l as setSetting, m as getMessageStats, n as resolveDbPath, nt as getDb, o as getUserByEmail, ot as logger, p as deleteOldMessages, q as getSession, r as resolveDbPathFromArgv, rt as openDatabase, s as getUserById, tt as closeDatabase, u as deleteOldLogs, v as completeJob, w as getJobStats, x as deleteOldJobs, y as createJob, z as listCronJobs } from "./db-CyQcrilg.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import { parseArgs, styleText } from "node:util";
4
4
  import { copyFileSync, existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
@@ -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: ${"b06564aa22755ababe5972e05230d453baa632e9".substring(0, 7)}`);
126
- buildInfo.push(`built: 2026-03-09T18:52:55+04:00`);
125
+ buildInfo.push(`commit: ${"a46d410834815674642b4bb23c54a0f002c1f286".substring(0, 7)}`);
126
+ buildInfo.push(`built: 2026-03-10T20:39:12+04:00`);
127
127
  const buildString = buildInfo.length > 0 ? ` (${buildInfo.join(", ")})` : "";
128
128
  const VERSION = `browserbird ${pkg.version}${buildString}`;
129
129
  const BIRD = [
@@ -3846,7 +3846,7 @@ async function handleBirdCreateSubmission(view, webClient) {
3846
3846
  logger.warn("bird_create submission missing required fields");
3847
3847
  return;
3848
3848
  }
3849
- const { createCronJob, setCronJobEnabled } = await import("./db-Da2zSpkY.mjs").then((n) => n.t);
3849
+ const { createCronJob, setCronJobEnabled } = await import("./db-CyQcrilg.mjs").then((n) => n.t);
3850
3850
  const bird = createCronJob(name, schedule, prompt, channelId || void 0, "default");
3851
3851
  if (enabledValue !== "enabled") setCronJobEnabled(bird.uid, false);
3852
3852
  await webClient.chat.postMessage({
@@ -3860,7 +3860,7 @@ async function handleBirdCreateSubmission(view, webClient) {
3860
3860
  }
3861
3861
  async function handleSessionRetry(sessionUid, channelId, userId, config, handler) {
3862
3862
  try {
3863
- const { getSession, getLastInboundMessage } = await import("./db-Da2zSpkY.mjs").then((n) => n.t);
3863
+ const { getSession, getLastInboundMessage } = await import("./db-CyQcrilg.mjs").then((n) => n.t);
3864
3864
  const session = getSession(sessionUid);
3865
3865
  if (!session) {
3866
3866
  logger.warn(`retry: session ${sessionUid} not found`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owloops/browserbird",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "description": "AI agent orchestrator with a real browser, a cron scheduler, and a web dashboard",
5
5
  "type": "module",
6
6
  "bin": {