vibora 6.2.0 → 6.2.1

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.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <link rel="icon" type="image/png" href="/logo.png" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Vibora</title>
8
- <script type="module" crossorigin src="/assets/index-Wb7ftm-O.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-Dd6uprtg.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-CCbpT1ZS.css">
10
10
  </head>
11
11
  <body>
@@ -103,21 +103,21 @@
103
103
  {
104
104
  "idx": 14,
105
105
  "version": "6",
106
- "when": 1767181351150,
106
+ "when": 1767243600001,
107
107
  "tag": "0014_aromatic_mockingbird",
108
108
  "breakpoints": true
109
109
  },
110
110
  {
111
111
  "idx": 15,
112
112
  "version": "6",
113
- "when": 1767300000000,
113
+ "when": 1767243600002,
114
114
  "tag": "0015_heavy_venom",
115
115
  "breakpoints": true
116
116
  },
117
117
  {
118
118
  "idx": 16,
119
119
  "version": "6",
120
- "when": 1767247967966,
120
+ "when": 1767243600003,
121
121
  "tag": "0016_moaning_adam_destine",
122
122
  "breakpoints": true
123
123
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibora",
3
- "version": "6.2.0",
3
+ "version": "6.2.1",
4
4
  "description": "The Vibe Engineer's Cockpit",
5
5
  "license": "PolyForm-Shield-1.0.0",
6
6
  "repository": {
package/server/index.js CHANGED
@@ -14881,6 +14881,7 @@ function runMigrations(sqlite, drizzleDb) {
14881
14881
  const hasClaudeOptions = sqlite.query("SELECT name FROM pragma_table_info('tasks') WHERE name='claude_options'").get();
14882
14882
  const hasAppsTable = sqlite.query("SELECT name FROM sqlite_master WHERE type='table' AND name='apps'").get();
14883
14883
  const hasEnvironmentVariables = sqlite.query("SELECT name FROM pragma_table_info('apps') WHERE name='environment_variables'").get();
14884
+ const hasNotificationsEnabled = sqlite.query("SELECT name FROM pragma_table_info('apps') WHERE name='notifications_enabled'").get();
14884
14885
  const migrationsToMark = [];
14885
14886
  for (const entry of journal.entries) {
14886
14887
  if (existingHashes.has(entry.tag))
@@ -14894,6 +14895,8 @@ function runMigrations(sqlite, drizzleDb) {
14894
14895
  shouldMark = true;
14895
14896
  } else if (entry.tag.startsWith("0015") && hasEnvironmentVariables) {
14896
14897
  shouldMark = true;
14898
+ } else if (entry.tag.startsWith("0016") && hasNotificationsEnabled) {
14899
+ shouldMark = true;
14897
14900
  }
14898
14901
  if (shouldMark) {
14899
14902
  migrationsToMark.push(entry);
@@ -146704,6 +146707,7 @@ app4.get("/is-git-repo", (c) => {
146704
146707
  var filesystem_default = app4;
146705
146708
 
146706
146709
  // server/routes/config.ts
146710
+ import os5 from "os";
146707
146711
  import { spawn as spawn2 } from "child_process";
146708
146712
  var CONFIG_KEYS = {
146709
146713
  PORT: "server.port",
@@ -146889,6 +146893,9 @@ app5.get("/:key", (c) => {
146889
146893
  if (key === "worktree_base_path") {
146890
146894
  return c.json({ key, value: getWorktreeBasePath(), isDefault: true });
146891
146895
  }
146896
+ if (key === "home_dir") {
146897
+ return c.json({ key, value: os5.homedir(), isDefault: true });
146898
+ }
146892
146899
  const path8 = resolveConfigKey(key);
146893
146900
  if (!path8) {
146894
146901
  return c.json({ key, value: null, isDefault: true, error: "Unknown config key" }, 404);
@@ -151911,7 +151918,7 @@ import { homedir as homedir6 } from "os";
151911
151918
  import { join as join14 } from "path";
151912
151919
 
151913
151920
  // server/services/metrics-collector.ts
151914
- import os5 from "os";
151921
+ import os6 from "os";
151915
151922
  import fs7 from "fs";
151916
151923
  import { execSync as execSync6 } from "child_process";
151917
151924
  var COLLECT_INTERVAL = 5000;
@@ -151961,8 +151968,8 @@ function getMemoryInfoMacOS() {
151961
151968
  };
151962
151969
  } catch (err) {
151963
151970
  log2.metrics.error("Failed to get macOS memory info", { error: String(err) });
151964
- const total = os5.totalmem();
151965
- const free = os5.freemem();
151971
+ const total = os6.totalmem();
151972
+ const free = os6.freemem();
151966
151973
  return {
151967
151974
  total,
151968
151975
  used: total - free,
@@ -151971,7 +151978,7 @@ function getMemoryInfoMacOS() {
151971
151978
  }
151972
151979
  }
151973
151980
  function getMemoryInfoLinux() {
151974
- const total = os5.totalmem();
151981
+ const total = os6.totalmem();
151975
151982
  try {
151976
151983
  const meminfo = fs7.readFileSync("/proc/meminfo", "utf-8");
151977
151984
  const values = {};
@@ -151999,7 +152006,7 @@ function getMemoryInfoLinux() {
151999
152006
  cache: cacheBuffers
152000
152007
  };
152001
152008
  } catch {
152002
- const free = os5.freemem();
152009
+ const free = os6.freemem();
152003
152010
  return {
152004
152011
  total,
152005
152012
  used: total - free,
@@ -152010,7 +152017,7 @@ function getMemoryInfoLinux() {
152010
152017
  var intervalId = null;
152011
152018
  var previousCpu = null;
152012
152019
  function getCpuSnapshot() {
152013
- const cpus = os5.cpus();
152020
+ const cpus = os6.cpus();
152014
152021
  let idle = 0;
152015
152022
  let total = 0;
152016
152023
  for (const cpu of cpus) {
@@ -152882,14 +152889,14 @@ var system_default = app13;
152882
152889
  // server/routes/exec.ts
152883
152890
  import { spawn as spawn3 } from "child_process";
152884
152891
  import { randomUUID } from "crypto";
152885
- import * as os6 from "os";
152892
+ import * as os7 from "os";
152886
152893
  var DEFAULT_TIMEOUT = 30000;
152887
152894
  var START_MARKER = `<<VIBORA_CMD_START_${randomUUID().slice(0, 8)}>>`;
152888
152895
  var END_MARKER_PREFIX = `<<VIBORA_CMD_END_${randomUUID().slice(0, 8)}:`;
152889
152896
  var sessions = new Map;
152890
152897
  function createSession(cwd, name) {
152891
152898
  const id = randomUUID();
152892
- const initialCwd = cwd || os6.homedir();
152899
+ const initialCwd = cwd || os7.homedir();
152893
152900
  const proc2 = spawn3("/bin/bash", ["--norc", "--noprofile"], {
152894
152901
  cwd: initialCwd,
152895
152902
  env: { ...getShellEnv(), TERM: "dumb" },
@@ -165259,11 +165266,11 @@ class IPVersion extends APIResource {
165259
165266
 
165260
165267
  // node_modules/cloudflare/resources/radar/http/ases/os.mjs
165261
165268
  class OS extends APIResource {
165262
- get(os7, query = {}, options) {
165269
+ get(os8, query = {}, options) {
165263
165270
  if (isRequestOptions(query)) {
165264
- return this.get(os7, {}, query);
165271
+ return this.get(os8, {}, query);
165265
165272
  }
165266
- return this._client.get(`/radar/http/top/ases/os/${os7}`, { query, ...options })._thenUnwrap((obj) => obj.result);
165273
+ return this._client.get(`/radar/http/top/ases/os/${os8}`, { query, ...options })._thenUnwrap((obj) => obj.result);
165267
165274
  }
165268
165275
  }
165269
165276
 
@@ -165389,11 +165396,11 @@ class IPVersion2 extends APIResource {
165389
165396
 
165390
165397
  // node_modules/cloudflare/resources/radar/http/locations/os.mjs
165391
165398
  class OS2 extends APIResource {
165392
- get(os7, query = {}, options) {
165399
+ get(os8, query = {}, options) {
165393
165400
  if (isRequestOptions(query)) {
165394
- return this.get(os7, {}, query);
165401
+ return this.get(os8, {}, query);
165395
165402
  }
165396
- return this._client.get(`/radar/http/top/locations/os/${os7}`, { query, ...options })._thenUnwrap((obj) => obj.result);
165403
+ return this._client.get(`/radar/http/top/locations/os/${os8}`, { query, ...options })._thenUnwrap((obj) => obj.result);
165397
165404
  }
165398
165405
  }
165399
165406
 
@@ -175294,9 +175301,10 @@ app17.post("/settings", async (c) => {
175294
175301
  });
175295
175302
  app17.get("/settings", async (c) => {
175296
175303
  const settings = getSettings();
175304
+ const token = settings.integrations.cloudflareApiToken;
175297
175305
  return c.json({
175298
- cloudflareApiToken: settings.integrations.cloudflareApiToken ? "***" : null,
175299
- cloudflareConfigured: !!settings.integrations.cloudflareApiToken
175306
+ cloudflareApiToken: token ? "\u2022".repeat(token.length) : null,
175307
+ cloudflareConfigured: !!token
175300
175308
  });
175301
175309
  });
175302
175310
  app17.post("/caddy/start", async (c) => {