@johpaz/hive 2.0.3 → 2.0.5

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 +49 -29
  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.5
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.5
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.5 -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.5
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.5-linux-x64` | [Descargar](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.5-linux-x64) |
292
+ | Linux ARM64 (Raspberry Pi, etc.) | `hive-v2.0.5-linux-arm64` | [Descargar](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.5-linux-arm64) |
293
+ | macOS Apple Silicon (M1/M2/M3/M4) | `hive-v2.0.5-macos-arm64` | [Descargar](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.5-macos-arm64) |
294
+ | macOS Intel | `hive-v2.0.5-macos-x64` | [Descargar](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.5-macos-x64) |
295
+ | Windows x64 | `hive-v2.0.5-windows-x64.exe` | [Descargar](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.5-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.5-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.5-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.5-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.5-windows-x64.exe`](https://github.com/johpaz/hive/releases/latest/download/hive-v2.0.5-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.5-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.5-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.5-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
@@ -19855,7 +19855,7 @@ var init_seed = __esm(() => {
19855
19855
  { id: "hive.schedule.delete", name: "hive.schedule.delete", category: "schedule", description: "Delete a scheduled task permanently. Spanish: eliminar tarea programada, borrar recordatorio, cancelar tarea" },
19856
19856
  { id: "hive.schedule.trigger", name: "hive.schedule.trigger", category: "schedule", description: "Manually trigger immediate execution of a scheduled task. Spanish: ejecutar tarea ahora, forzar ejecuci\xF3n, disparar manualmente" },
19857
19857
  { id: "hive.schedule.history", name: "hive.schedule.history", category: "schedule", description: "Get execution history and run logs for a scheduled task. Spanish: historial ejecuciones, logs tarea, registro ejecuciones" },
19858
- { id: "cli_exec", name: "cli_exec", category: "cli", description: "Execute shell/bash commands in the agent environment. NOTE: do NOT use for cron scheduling, use cron_add instead. Spanish: ejecutar comando, terminal, bash, script, consola" },
19858
+ { id: "cli_exec", name: "cli_exec", category: "cli", description: "Execute shell/bash commands in the agent environment. NOTE: do NOT use for scheduling tasks, use hive.schedule.create instead. Spanish: ejecutar comando, terminal, bash, script, consola" },
19859
19859
  { id: "memory_write", name: "memory_write", category: "agents", description: "Store information in persistent long-term memory. Spanish: guardar memoria, recordar, guardar dato, memoria persistente" },
19860
19860
  { id: "memory_read", name: "memory_read", category: "agents", description: "Retrieve a memory entry by identifier. Spanish: leer memoria, recuperar dato, obtener memoria" },
19861
19861
  { id: "memory_list", name: "memory_list", category: "agents", description: "List all saved memory entries. Spanish: listar memorias, ver memorias, todas las memorias" },
@@ -20500,7 +20500,7 @@ Esta es la gu\xEDa definitiva para decidir qu\xE9 estrategia usar y c\xF3mo ejec
20500
20500
  - Si la tarea es de una sola acci\xF3n, debes cerrarla
20501
20501
 
20502
20502
  **Tarea repetitiva/programada (se ejecuta en horarios espec\xEDficos, pregunta al usuario cuantas veces se debe ejecutar):**
20503
- - Us\xE1 \`cron_add\` \u2014 puede ser sin proyecto si la tarea es simple
20503
+ - Us\xE1 \`hive.schedule.create\` \u2014 puede ser sin proyecto si la tarea es simple
20504
20504
  - El cron puede ejecutar una acci\xF3n directa O lanzar un worker
20505
20505
 
20506
20506
  **Tarea compleja (m\xFAltiples pasos, m\xFAltiples workers, coordinaci\xF3n):**
@@ -20549,13 +20549,13 @@ json
20549
20549
  **Opcion A: Si los agents YA existen**
20550
20550
  1. find_agent -> obtener IDs de agents existentes
20551
20551
  2. project_create -> crear proyecto con tasks[].agent_id
20552
- 3. (Opcional) cron_add -> vincular proyecto a cron
20552
+ 3. (Opcional) hive.schedule.create -> vincular proyecto a schedule
20553
20553
 
20554
20554
  **Opcion B: Si los agents NO existen**
20555
20555
  1. project_create -> crear proyecto con tasks (agent_id: null)
20556
20556
  2. create_agent -> crear cada agent necesario
20557
20557
  3. task_update -> asignar agent_id a cada tarea (ESTO ES CRITICO)
20558
- 4. (Opcional) cron_add -> vincular proyecto a cron
20558
+ 4. (Opcional) hive.schedule.create -> vincular proyecto a schedule
20559
20559
 
20560
20560
  > IMPORTANTE: Las tareas NO se ejecutan solas. Un agent debe recibir la instruccion de ejecutarlas. Para eso esta el **cron**.
20561
20561
 
@@ -20714,7 +20714,7 @@ Las 52 herramientas nativas se cargan din\xE1micamente desde la base de datos.
20714
20714
  | \uD83D\uDCC1 FILESYSTEM | 7 | fs_read, fs_write, fs_edit, fs_delete, fs_list, fs_glob, fs_exists |
20715
20715
  | \uD83C\uDF10 WEB | 9 | web_search, web_fetch, browser_navigate, browser_screenshot, browser_click, browser_type, browser_extract, browser_script, browser_wait |
20716
20716
  | \uD83D\uDCCB PROJECTS | 8 | project_create, project_list, task_create, task_update, project_done |
20717
- | \u23F0 CRON | 4 | cron_add, cron_list, cron_edit, cron_remove |
20717
+ | \u23F0 SCHEDULE | 7 | hive.schedule.create, hive.schedule.list, hive.schedule.pause, hive.schedule.resume, hive.schedule.delete, hive.schedule.trigger, hive.schedule.history |
20718
20718
  | \uD83D\uDCBB CLI | 1 | cli_exec |
20719
20719
  | \uD83E\uDDE0 AGENTS | 14 | memory_*, agent_*, task_delegate, bus_*, project_updates |
20720
20720
  | \uD83C\uDFA8 CANVAS | 7 | canvas_render(chart/table/form/button/alert-dialog/markdown/...), canvas_ask, canvas_confirm, canvas_show_card, canvas_show_progress |
@@ -20723,8 +20723,8 @@ Las 52 herramientas nativas se cargan din\xE1micamente desde la base de datos.
20723
20723
  | \uD83D\uDD14 CORE | 4 | search_knowledge, notify, save_note, report_progress |
20724
20724
 
20725
20725
  **Reglas importantes:**
20726
- - \u26A0\uFE0F NUNCA uses "cli_exec" para tareas cron \u2014 us\xE1 siempre "cron_*"
20727
- - \uD83D\uDCA1 Para proyectos programados, us\xE1 "projectId" en "cron_add"
20726
+ - \u26A0\uFE0F NUNCA uses "cli_exec" para tareas programadas \u2014 us\xE1 siempre "hive.schedule.*"
20727
+ - \uD83D\uDCA1 Para proyectos programados, us\xE1 "projectId" en "hive.schedule.create"
20728
20728
  - \uD83D\uDD0D Us\xE1 "search_knowledge({ query: "archivo", type: "tools" })" para encontrar tools
20729
20729
  - \uD83D\uDD0C Las tools MCP siguen el formato: "{servidor}__{herramienta}" (ej. "github__create_pr")
20730
20730
 
@@ -317149,7 +317149,7 @@ var init_cli = __esm(() => {
317149
317149
  ];
317150
317150
  cliExecTool = {
317151
317151
  name: "cli_exec",
317152
- description: "Execute shell/bash commands in the agent workspace. NOTE: do NOT use for cron scheduling, use cron_add instead. Spanish: ejecutar comando, terminal, bash, script, consola",
317152
+ description: "Execute shell/bash commands in the agent workspace. NOTE: do NOT use for scheduling tasks, use hive.schedule.create instead. Spanish: ejecutar comando, terminal, bash, script, consola",
317153
317153
  parameters: {
317154
317154
  type: "object",
317155
317155
  properties: {
@@ -317579,6 +317579,7 @@ var init_agents = __esm(() => {
317579
317579
  execute: async (params2, config3) => {
317580
317580
  const db = getDb();
317581
317581
  const userId = config3?.configurable?.user_id;
317582
+ const parentId = config3?.configurable?.agent_id ?? null;
317582
317583
  const name = params2.name;
317583
317584
  const description = params2.description ?? "";
317584
317585
  const systemPrompt = params2.system_prompt ?? "";
@@ -317586,9 +317587,9 @@ var init_agents = __esm(() => {
317586
317587
  try {
317587
317588
  const agentId = crypto3.randomUUID().replace(/-/g, "").slice(0, 16);
317588
317589
  db.query(`
317589
- INSERT INTO agents (id, user_id, name, description, system_prompt, tools_json, role, status, created_at, updated_at)
317590
- VALUES (?, ?, ?, ?, ?, ?, 'worker', 'idle', unixepoch(), unixepoch())
317591
- `).run(agentId, userId, name, description, systemPrompt, toolsJson);
317590
+ INSERT INTO agents (id, user_id, name, description, system_prompt, tools_json, role, status, parent_id, created_at, updated_at)
317591
+ VALUES (?, ?, ?, ?, ?, ?, 'worker', 'idle', ?, unixepoch(), unixepoch())
317592
+ `).run(agentId, userId, name, description, systemPrompt, toolsJson, parentId);
317592
317593
  return { ok: true, agentId, name, message: "Agent created." };
317593
317594
  } catch (error50) {
317594
317595
  return { ok: false, error: `Failed to create agent: ${error50.message}` };
@@ -557402,7 +557403,7 @@ var package_default;
557402
557403
  var init_package = __esm(() => {
557403
557404
  package_default = {
557404
557405
  name: "@johpaz/hive-core",
557405
- version: "2.0.3",
557406
+ version: "2.0.5",
557406
557407
  private: true,
557407
557408
  description: "Hive Gateway \u2014 Personal AI agent runtime",
557408
557409
  main: "./src/index.ts",
@@ -557418,9 +557419,9 @@ var init_package = __esm(() => {
557418
557419
  },
557419
557420
  dependencies: {
557420
557421
  "@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",
557422
+ "@johpaz/hive-code-bridge": "^2.0.5",
557423
+ "@johpaz/hive-mcp": "^2.0.5",
557424
+ "@johpaz/hive-skills": "^2.0.5",
557424
557425
  "@modelcontextprotocol/sdk": "latest",
557425
557426
  "@sapphire/snowflake": "latest",
557426
557427
  "@slack/bolt": "latest",
@@ -558220,10 +558221,13 @@ var init_narration = __esm(() => {
558220
558221
  write: "Escribiendo archivo...",
558221
558222
  edit: "Editando archivo...",
558222
558223
  exec: "Ejecutando comando...",
558223
- cron_add: "Programando tarea...",
558224
- cron_list: "Consultando tareas programadas...",
558225
- cron_remove: "Eliminando tarea programada...",
558226
- cron_edit: "Actualizando tarea programada...",
558224
+ "hive.schedule.create": "Programando tarea...",
558225
+ "hive.schedule.list": "Consultando tareas programadas...",
558226
+ "hive.schedule.delete": "Eliminando tarea programada...",
558227
+ "hive.schedule.pause": "Pausando tarea programada...",
558228
+ "hive.schedule.resume": "Reanudando tarea programada...",
558229
+ "hive.schedule.trigger": "Ejecutando tarea ahora...",
558230
+ "hive.schedule.history": "Consultando historial...",
558227
558231
  project_create: "Creando proyecto...",
558228
558232
  project_update: "Actualizando proyecto...",
558229
558233
  project_done: "Marcando proyecto como completado...",
@@ -559514,6 +559518,8 @@ ${messageContent}`;
559514
559518
  function checkAuth(req, url3) {
559515
559519
  if (isDev)
559516
559520
  return true;
559521
+ if (gatewaySetupMode)
559522
+ return true;
559517
559523
  if (url3.pathname.startsWith("/api/setup/"))
559518
559524
  return true;
559519
559525
  const activeToken = process.env.HIVE_AUTH_TOKEN;
@@ -559554,7 +559560,8 @@ ${messageContent}`;
559554
559560
  }
559555
559561
  if (url3.pathname === "/ws" || url3.pathname === "/ws/") {
559556
559562
  let sessionId = url3.searchParams.get("session") || resolveUserId({}) || "default";
559557
- if (!isDev) {
559563
+ const isCanvasWs = sessionId.startsWith("canvas:");
559564
+ if (!isDev && !gatewaySetupMode && !isCanvasWs) {
559558
559565
  const tokenParam = url3.searchParams.get("token");
559559
559566
  const activeToken = process.env.HIVE_AUTH_TOKEN;
559560
559567
  if (tokenParam && activeToken && tokenParam === activeToken) {
@@ -559606,7 +559613,7 @@ ${messageContent}`;
559606
559613
  }
559607
559614
  if (url3.pathname === "/health" || url3.pathname === "/health/") {
559608
559615
  const uptime = Math.floor((Date.now() - startTime2) / 1000);
559609
- return addCorsHeaders(Response.json({ status: "ok", version: "1.7.18", uptime }), req);
559616
+ return addCorsHeaders(Response.json({ status: "ok", version: _pkgVersion, uptime }), req);
559610
559617
  }
559611
559618
  const isApiRequest = url3.pathname.startsWith("/api");
559612
559619
  const isWsRequest = url3.pathname.startsWith("/ws");
@@ -559625,7 +559632,8 @@ ${messageContent}`;
559625
559632
  const uiDir = uiDirFromEnv || (existsSync18(path30.join(uiDirFromHive, "index.html")) ? uiDirFromHive : uiDirFromCwd);
559626
559633
  let subPath = url3.pathname;
559627
559634
  if (gatewaySetupMode && (subPath === "/" || subPath === "/ui" || subPath === "/ui/")) {
559628
- return Response.redirect(`http://${host}:${port}/setup`, 302);
559635
+ const _publicBase = process.env.HIVE_PUBLIC_URL?.replace(/\/$/, "") ?? `http://${host === "0.0.0.0" ? "localhost" : host}:${port}`;
559636
+ return Response.redirect(`${_publicBase}/setup`, 302);
559629
559637
  }
559630
559638
  if (subPath === "/ui" || subPath === "/ui/") {
559631
559639
  subPath = "/index.html";
@@ -559648,15 +559656,19 @@ ${messageContent}`;
559648
559656
  if (await uiFile.exists()) {
559649
559657
  return new Response(uiFile);
559650
559658
  }
559651
- if (isUiRequest || isSetupRequest) {
559652
- return new Response(`UI not found.
559659
+ if (!path30.extname(subPath)) {
559660
+ const indexFile = Bun.file(path30.join(uiDir, "index.html"));
559661
+ if (await indexFile.exists()) {
559662
+ return new Response(indexFile);
559663
+ }
559664
+ }
559665
+ return new Response(`UI not found.
559653
559666
 
559654
559667
  ` + `Options:
559655
559668
  ` + ` 1. Place the UI in ~/.hive/ui/ (copy hive-ui/dist contents there)
559656
559669
  ` + ` 2. Set HIVE_UI_DIR=/path/to/ui
559657
559670
  ` + ` 3. Build from source: cd packages/hive-ui && bun run build
559658
559671
  `, { status: 404, headers: { "Content-Type": "text/plain" } });
559659
- }
559660
559672
  }
559661
559673
  if (url3.pathname.startsWith("/dashboard")) {
559662
559674
  const tokenParam = url3.searchParams.get("token") ? `? token = ${url3.searchParams.get("token")} ` : "";
@@ -560693,7 +560705,7 @@ ${messageContent}`;
560693
560705
  }
560694
560706
  } else {
560695
560707
  const isSetupMode2 = gatewaySetupMode;
560696
- const baseUrl = `http://${host}:${port}`;
560708
+ const baseUrl = process.env.HIVE_PUBLIC_URL?.replace(/\/$/, "") ?? `http://${host}:${port}`;
560697
560709
  const uiUrl = isSetupMode2 ? `${baseUrl}/setup` : `${baseUrl}/ui`;
560698
560710
  log70.info(`[gateway] UI: ${uiUrl}`);
560699
560711
  log70.info(`[gateway] API: http://${host}:${port}`);
@@ -560754,7 +560766,7 @@ ${messageContent}`;
560754
560766
  }
560755
560767
  });
560756
560768
  }
560757
- var logSubscribers;
560769
+ var _pkgVersion, logSubscribers;
560758
560770
  var init_server = __esm(() => {
560759
560771
  init_loader();
560760
560772
  init_logger();
@@ -560797,6 +560809,14 @@ var init_server = __esm(() => {
560797
560809
  init_schedule();
560798
560810
  init_scheduled_tasks();
560799
560811
  init_scheduled_tasks();
560812
+ _pkgVersion = (() => {
560813
+ try {
560814
+ const pkgPath = path30.join(import.meta.dir, "../../../package.json");
560815
+ return JSON.parse(readFileSync9(pkgPath, "utf-8")).version;
560816
+ } catch {
560817
+ return "2.0.3";
560818
+ }
560819
+ })();
560800
560820
  logSubscribers = new Set;
560801
560821
  });
560802
560822
 
@@ -563089,7 +563109,7 @@ async function start(flags) {
563089
563109
  \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
563110
  \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
563111
  \u2551 \u2551
563092
- \u2551 Personal Swarm AI Gateway \u2014 v2.0.3 \u2551
563112
+ \u2551 Personal Swarm AI Gateway \u2014 v2.0.5 \u2551
563093
563113
  \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
563114
  `);
563095
563115
  }
@@ -565305,7 +565325,7 @@ async function executeAsync(gatewayUrl, payload, spinner) {
565305
565325
  }
565306
565326
 
565307
565327
  // packages/cli/src/index.ts
565308
- var VERSION4 = "2.0.3";
565328
+ var VERSION4 = "2.0.5";
565309
565329
  var HELP = `
565310
565330
  \uD83D\uDC1D Hive \u2014 Personal Swarm AI Gateway v${VERSION4}
565311
565331
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@johpaz/hive",
3
- "version": "2.0.3",
3
+ "version": "2.0.5",
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": {