@johpaz/hive 2.0.3 → 2.0.4

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 (3) hide show
  1. package/README.md +16 -16
  2. package/dist/hive.js +28 -11
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -114,7 +114,7 @@ docker run -d \
114
114
  -v hive-data:/root/.hive \
115
115
  --name hive \
116
116
  --restart unless-stopped \
117
- johpaz/hive:2.0.3
117
+ johpaz/hive:2.0.4
118
118
  ```
119
119
 
120
120
  **Variables de entorno disponibles:**
@@ -188,10 +188,10 @@ En el equipo donde tienes conexión a internet:
188
188
 
189
189
  ```bash
190
190
  # Descargar la imagen si no la tienes
191
- docker pull johpaz/hive:2.0.3
191
+ docker pull johpaz/hive:2.0.4
192
192
 
193
193
  # Exportar a archivo tar (cabe en cualquier USB de 512 MB+)
194
- docker save johpaz/hive:2.0.3 -o /media/usb/hive-image.tar
194
+ docker save johpaz/hive:2.0.4 -o /media/usb/hive-image.tar
195
195
  ```
196
196
 
197
197
  **Paso 2 — Crear la estructura en la USB**
@@ -209,7 +209,7 @@ Crea el `docker-compose.yml` en la USB con el volumen apuntando a la USB:
209
209
  ```yaml
210
210
  services:
211
211
  hive:
212
- image: johpaz/hive:2.0.3
212
+ image: johpaz/hive:2.0.4
213
213
  ports:
214
214
  - "18790:18790"
215
215
  volumes:
@@ -288,11 +288,11 @@ Descarga manual de cualquier plataforma o versión específica.
288
288
 
289
289
  | Plataforma | Archivo | Descarga directa |
290
290
  |------------|---------|------------------|
291
- | Linux x64 | `hive-v2.0.3-linux-x64` | [Descargar](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.3-linux-x64) |
292
- | Linux ARM64 (Raspberry Pi, etc.) | `hive-v2.0.3-linux-arm64` | [Descargar](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.3-linux-arm64) |
293
- | macOS Apple Silicon (M1/M2/M3/M4) | `hive-v2.0.3-macos-arm64` | [Descargar](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.3-macos-arm64) |
294
- | macOS Intel | `hive-v2.0.3-macos-x64` | [Descargar](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.3-macos-x64) |
295
- | Windows x64 | `hive-v2.0.3-windows-x64.exe` | [Descargar](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.3-windows-x64.exe) |
291
+ | Linux x64 | `hive-v2.0.4-linux-x64` | [Descargar](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.4-linux-x64) |
292
+ | Linux ARM64 (Raspberry Pi, etc.) | `hive-v2.0.4-linux-arm64` | [Descargar](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.4-linux-arm64) |
293
+ | macOS Apple Silicon (M1/M2/M3/M4) | `hive-v2.0.4-macos-arm64` | [Descargar](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.4-macos-arm64) |
294
+ | macOS Intel | `hive-v2.0.4-macos-x64` | [Descargar](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.4-macos-x64) |
295
+ | Windows x64 | `hive-v2.0.4-windows-x64.exe` | [Descargar](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.4-windows-x64.exe) |
296
296
 
297
297
  > Los links anteriores siempre apuntan a la última versión publicada. Si necesitas una versión específica, visita la [página de releases](https://github.com/johpaz/hive/releases).
298
298
 
@@ -302,7 +302,7 @@ Descarga manual de cualquier plataforma o versión específica.
302
302
 
303
303
  ```bash
304
304
  # 1. Descargar el binario (reemplaza "linux-x64" por "linux-arm64" si es ARM)
305
- curl -L -o hive https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.3-linux-x64
305
+ curl -L -o hive https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.4-linux-x64
306
306
 
307
307
  # 2. Dar permisos de ejecución
308
308
  chmod +x hive
@@ -334,7 +334,7 @@ hive start
334
334
 
335
335
  ```bash
336
336
  # 1. Descargar
337
- curl -L -o hive https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.3-macos-arm64
337
+ curl -L -o hive https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.4-macos-arm64
338
338
 
339
339
  # 2. Dar permisos de ejecución
340
340
  chmod +x hive
@@ -374,7 +374,7 @@ hive start
374
374
  Igual que Apple Silicon pero descarga `macos-x64`:
375
375
 
376
376
  ```bash
377
- curl -L -o hive https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.3-macos-x64
377
+ curl -L -o hive https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.4-macos-x64
378
378
  chmod +x hive
379
379
  xattr -d com.apple.quarantine hive
380
380
  curl -L https://github.com/johpaz/hive/releases/latest/download/ui-dist.tar.gz \
@@ -389,7 +389,7 @@ mkdir -p ~/.hive/ui && cp -r ui-dist/* ~/.hive/ui/
389
389
 
390
390
  **Paso 1 — Descargar el binario**
391
391
 
392
- Descarga [`hive-v2.0.3-windows-x64.exe`](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.3-windows-x64.exe) desde GitHub o desde [hiveagents.io](https://www.hiveagents.io/#installation).
392
+ Descarga [`hive-v2.0.4-windows-x64.exe`](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.4-windows-x64.exe) desde GitHub o desde [hiveagents.io](https://www.hiveagents.io/#installation).
393
393
 
394
394
  **Paso 2 — Windows SmartScreen**
395
395
 
@@ -419,7 +419,7 @@ tar -xzf ui-dist.tar.gz -C "$env:USERPROFILE\.hive\ui"
419
419
  **Paso 4 — Ejecutar**
420
420
 
421
421
  ```powershell
422
- .\hive-v2.0.3-windows-x64.exe start
422
+ .\hive-v2.0.4-windows-x64.exe start
423
423
  ```
424
424
 
425
425
  El navegador se abre automáticamente en `http://localhost:18790`.
@@ -428,7 +428,7 @@ El navegador se abre automáticamente en `http://localhost:18790`.
428
428
 
429
429
  ```powershell
430
430
  # Mover a una carpeta ya en el PATH, por ejemplo:
431
- Move-Item .\hive-v2.0.3-windows-x64.exe C:\Windows\System32\hive.exe
431
+ Move-Item .\hive-v2.0.4-windows-x64.exe C:\Windows\System32\hive.exe
432
432
 
433
433
  # Luego ejecutar desde cualquier lugar:
434
434
  hive start
@@ -479,7 +479,7 @@ El binario standalone es ideal para llevarlo en una USB. Tu agente viaja contigo
479
479
  **Preparar la USB:**
480
480
 
481
481
  ```bash
482
- cp hive-v2.0.3-linux-x64 /media/usb/hive
482
+ cp hive-v2.0.4-linux-x64 /media/usb/hive
483
483
  chmod +x /media/usb/hive
484
484
  cp -r ui-dist/* /media/usb/ui/
485
485
 
package/dist/hive.js CHANGED
@@ -557402,7 +557402,7 @@ var package_default;
557402
557402
  var init_package = __esm(() => {
557403
557403
  package_default = {
557404
557404
  name: "@johpaz/hive-core",
557405
- version: "2.0.3",
557405
+ version: "2.0.4",
557406
557406
  private: true,
557407
557407
  description: "Hive Gateway \u2014 Personal AI agent runtime",
557408
557408
  main: "./src/index.ts",
@@ -557418,9 +557418,9 @@ var init_package = __esm(() => {
557418
557418
  },
557419
557419
  dependencies: {
557420
557420
  "@ag-ui/core": "^0.0.46",
557421
- "@johpaz/hive-code-bridge": "^2.0.3",
557422
- "@johpaz/hive-mcp": "^2.0.3",
557423
- "@johpaz/hive-skills": "^2.0.3",
557421
+ "@johpaz/hive-code-bridge": "^2.0.4",
557422
+ "@johpaz/hive-mcp": "^2.0.4",
557423
+ "@johpaz/hive-skills": "^2.0.4",
557424
557424
  "@modelcontextprotocol/sdk": "latest",
557425
557425
  "@sapphire/snowflake": "latest",
557426
557426
  "@slack/bolt": "latest",
@@ -559514,6 +559514,8 @@ ${messageContent}`;
559514
559514
  function checkAuth(req, url3) {
559515
559515
  if (isDev)
559516
559516
  return true;
559517
+ if (gatewaySetupMode)
559518
+ return true;
559517
559519
  if (url3.pathname.startsWith("/api/setup/"))
559518
559520
  return true;
559519
559521
  const activeToken = process.env.HIVE_AUTH_TOKEN;
@@ -559554,7 +559556,7 @@ ${messageContent}`;
559554
559556
  }
559555
559557
  if (url3.pathname === "/ws" || url3.pathname === "/ws/") {
559556
559558
  let sessionId = url3.searchParams.get("session") || resolveUserId({}) || "default";
559557
- if (!isDev) {
559559
+ if (!isDev && !gatewaySetupMode) {
559558
559560
  const tokenParam = url3.searchParams.get("token");
559559
559561
  const activeToken = process.env.HIVE_AUTH_TOKEN;
559560
559562
  if (tokenParam && activeToken && tokenParam === activeToken) {
@@ -559606,7 +559608,7 @@ ${messageContent}`;
559606
559608
  }
559607
559609
  if (url3.pathname === "/health" || url3.pathname === "/health/") {
559608
559610
  const uptime = Math.floor((Date.now() - startTime2) / 1000);
559609
- return addCorsHeaders(Response.json({ status: "ok", version: "1.7.18", uptime }), req);
559611
+ return addCorsHeaders(Response.json({ status: "ok", version: _pkgVersion, uptime }), req);
559610
559612
  }
559611
559613
  const isApiRequest = url3.pathname.startsWith("/api");
559612
559614
  const isWsRequest = url3.pathname.startsWith("/ws");
@@ -559625,7 +559627,8 @@ ${messageContent}`;
559625
559627
  const uiDir = uiDirFromEnv || (existsSync18(path30.join(uiDirFromHive, "index.html")) ? uiDirFromHive : uiDirFromCwd);
559626
559628
  let subPath = url3.pathname;
559627
559629
  if (gatewaySetupMode && (subPath === "/" || subPath === "/ui" || subPath === "/ui/")) {
559628
- return Response.redirect(`http://${host}:${port}/setup`, 302);
559630
+ const _publicBase = process.env.HIVE_PUBLIC_URL?.replace(/\/$/, "") ?? `http://${host === "0.0.0.0" ? "localhost" : host}:${port}`;
559631
+ return Response.redirect(`${_publicBase}/setup`, 302);
559629
559632
  }
559630
559633
  if (subPath === "/ui" || subPath === "/ui/") {
559631
559634
  subPath = "/index.html";
@@ -559648,6 +559651,12 @@ ${messageContent}`;
559648
559651
  if (await uiFile.exists()) {
559649
559652
  return new Response(uiFile);
559650
559653
  }
559654
+ if (!path30.extname(subPath)) {
559655
+ const indexFile = Bun.file(path30.join(uiDir, "index.html"));
559656
+ if (await indexFile.exists()) {
559657
+ return new Response(indexFile);
559658
+ }
559659
+ }
559651
559660
  if (isUiRequest || isSetupRequest) {
559652
559661
  return new Response(`UI not found.
559653
559662
 
@@ -560693,7 +560702,7 @@ ${messageContent}`;
560693
560702
  }
560694
560703
  } else {
560695
560704
  const isSetupMode2 = gatewaySetupMode;
560696
- const baseUrl = `http://${host}:${port}`;
560705
+ const baseUrl = process.env.HIVE_PUBLIC_URL?.replace(/\/$/, "") ?? `http://${host}:${port}`;
560697
560706
  const uiUrl = isSetupMode2 ? `${baseUrl}/setup` : `${baseUrl}/ui`;
560698
560707
  log70.info(`[gateway] UI: ${uiUrl}`);
560699
560708
  log70.info(`[gateway] API: http://${host}:${port}`);
@@ -560754,7 +560763,7 @@ ${messageContent}`;
560754
560763
  }
560755
560764
  });
560756
560765
  }
560757
- var logSubscribers;
560766
+ var _pkgVersion, logSubscribers;
560758
560767
  var init_server = __esm(() => {
560759
560768
  init_loader();
560760
560769
  init_logger();
@@ -560797,6 +560806,14 @@ var init_server = __esm(() => {
560797
560806
  init_schedule();
560798
560807
  init_scheduled_tasks();
560799
560808
  init_scheduled_tasks();
560809
+ _pkgVersion = (() => {
560810
+ try {
560811
+ const pkgPath = path30.join(import.meta.dir, "../../../package.json");
560812
+ return JSON.parse(readFileSync9(pkgPath, "utf-8")).version;
560813
+ } catch {
560814
+ return "2.0.3";
560815
+ }
560816
+ })();
560800
560817
  logSubscribers = new Set;
560801
560818
  });
560802
560819
 
@@ -563089,7 +563106,7 @@ async function start(flags) {
563089
563106
  \u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2551
563090
563107
  \u2551 \u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u2551
563091
563108
  \u2551 \u2551
563092
- \u2551 Personal Swarm AI Gateway \u2014 v2.0.3 \u2551
563109
+ \u2551 Personal Swarm AI Gateway \u2014 v2.0.4 \u2551
563093
563110
  \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D
563094
563111
  `);
563095
563112
  }
@@ -565305,7 +565322,7 @@ async function executeAsync(gatewayUrl, payload, spinner) {
565305
565322
  }
565306
565323
 
565307
565324
  // packages/cli/src/index.ts
565308
- var VERSION4 = "2.0.3";
565325
+ var VERSION4 = "2.0.4";
565309
565326
  var HELP = `
565310
565327
  \uD83D\uDC1D Hive \u2014 Personal Swarm AI Gateway v${VERSION4}
565311
565328
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@johpaz/hive",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
4
4
  "description": "Tu colmena de agentes IA. Local-first. Multi-canal. Open source. Construido desde Colombia para el mundo.",
5
5
  "private": false,
6
6
  "bin": {