@johpaz/hive-sdk 0.1.4 → 0.1.6
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/CHANGELOG.md +129 -0
- package/README.md +78 -23
- package/bun.lock +55 -29
- package/bunfig.toml +4 -2
- package/docs/API-AGENTS.md +78 -27
- package/docs/API-CONTEXT-COMPILER.md +31 -34
- package/docs/API-TOOLS-SKILLS-CHANNELS.md +58 -22
- package/docs/HIVE-HARNESS.md +1 -1
- package/docs/INDEX.md +4 -4
- package/docs/TEMPLATE-HIVE-APP.md +10 -10
- package/package.json +17 -12
- package/packages/cli/package.json +2 -2
- package/packages/cli/src/commands/create-app.test.ts +36 -7
- package/packages/cli/src/commands/init.ts +3 -3
- package/packages/cli/src/commands/run.ts +1 -1
- package/packages/cli/src/commands/test.ts +37 -25
- package/packages/cli/src/commands/trace.ts +30 -28
- package/packages/cli/templates/hive-app/.env.example +10 -2
- package/packages/cli/templates/hive-app/README.md +103 -0
- package/packages/cli/templates/hive-app/hive.config.ts +9 -3
- package/packages/cli/templates/hive-app/src/agents/coordinator.ts +8 -1
- package/packages/cli/templates/hive-app/src/main.ts +12 -19
- package/packages/core/package.json +13 -12
- package/packages/core/src/agent/acceptance-checks.ts +172 -0
- package/packages/core/src/agent/agent-catalog.ts +348 -0
- package/packages/core/src/agent/agent-loop.ts +1373 -0
- package/packages/core/src/agent/capability-search.ts +186 -0
- package/packages/core/src/agent/catalog-selector.ts +103 -0
- package/packages/core/src/agent/{Compaction.ts → compaction.ts} +86 -63
- package/packages/core/src/agent/context-compiler.ts +689 -0
- package/packages/core/src/agent/conversation-store.ts +381 -0
- package/packages/core/src/agent/curator.ts +276 -0
- package/packages/core/src/agent/delegation-runtime.ts +241 -0
- package/packages/core/src/agent/goal-runner.ts +323 -0
- package/packages/core/src/agent/index.ts +17 -12
- package/packages/core/src/agent/llm-client.ts +266 -0
- package/packages/core/src/agent/llm-providers/anthropic.ts +264 -0
- package/packages/core/src/agent/llm-providers/deepseek.ts +8 -0
- package/packages/core/src/agent/{providers → llm-providers}/gemini.ts +98 -60
- package/packages/core/src/agent/llm-providers/groq.ts +5 -0
- package/packages/core/src/agent/llm-providers/hiveagents.ts +253 -0
- package/packages/core/src/agent/{providers → llm-providers}/interface.ts +73 -13
- package/packages/core/src/agent/llm-providers/kimi.ts +8 -0
- package/packages/core/src/agent/llm-providers/minimax.ts +13 -0
- package/packages/core/src/agent/llm-providers/mistral.ts +5 -0
- package/packages/core/src/agent/llm-providers/modelscope.ts +5 -0
- package/packages/core/src/agent/llm-providers/nvidia.ts +5 -0
- package/packages/core/src/agent/{providers → llm-providers}/ollama.ts +31 -5
- package/packages/core/src/agent/llm-providers/openai-compat-base.ts +418 -0
- package/packages/core/src/agent/llm-providers/openai.ts +5 -0
- package/packages/core/src/agent/llm-providers/opencode-go.ts +9 -0
- package/packages/core/src/agent/llm-providers/openrouter.ts +5 -0
- package/packages/core/src/agent/llm-providers/qwen.ts +5 -0
- package/packages/core/src/agent/llm-providers/z-ai.ts +5 -0
- package/packages/core/src/agent/minimal-loadout.ts +47 -0
- package/packages/core/src/agent/playbook-selector.ts +119 -0
- package/packages/core/src/agent/{PromptBuilder.ts → prompt-builder.ts} +21 -22
- package/packages/core/src/{harness → agent}/proof-packet.ts +16 -21
- package/packages/core/src/agent/providers/index.ts +35 -16
- package/packages/core/src/agent/reflector.ts +320 -0
- package/packages/core/src/agent/routing-intent.ts +22 -0
- package/packages/core/src/{harness → agent}/run-epoch.ts +4 -3
- package/packages/core/src/{harness → agent}/run-store.ts +142 -81
- package/packages/core/src/agent/{Service.ts → service.ts} +37 -26
- package/packages/core/src/agent/skill-selector.ts +374 -0
- package/packages/core/src/agent/stuck-loop.ts +209 -0
- package/packages/core/src/agent/{selectors/ToolSelector.ts → tool-selector.ts} +188 -178
- package/packages/core/src/{ace/Tracer.ts → agent/tracer.ts} +37 -27
- package/packages/core/src/api/createAgent.test.ts +139 -27
- package/packages/core/src/api/createAgent.ts +232 -44
- package/packages/core/src/artifacts/store.ts +162 -0
- package/packages/core/src/canvas/canvas-manager.ts +161 -0
- package/packages/core/src/canvas/canvas.test.ts +8 -4
- package/packages/core/src/canvas/emitter.ts +131 -80
- package/packages/core/src/canvas/index.ts +1 -3
- package/packages/core/src/channels/base.ts +9 -1
- package/packages/core/src/channels/discord.ts +5 -4
- package/packages/core/src/channels/manager.ts +122 -30
- package/packages/core/src/channels/slack.ts +5 -4
- package/packages/core/src/channels/telegram.ts +36 -6
- package/packages/core/src/channels/webchat.ts +11 -10
- package/packages/core/src/channels/whatsapp.ts +23 -7
- package/packages/core/src/config/index.ts +13 -2
- package/packages/core/src/config/loader.ts +76 -29
- package/packages/core/src/ethics/EthicsGuard.test.ts +90 -36
- package/packages/core/src/ethics/EthicsGuard.ts +51 -47
- package/packages/core/src/events/agent-bus.ts +44 -68
- package/packages/core/src/events/channel-narration.ts +150 -0
- package/packages/core/src/events/narration.ts +82 -0
- package/packages/core/src/events/tool-narration.ts +62 -0
- package/packages/core/src/gateway/delegation-groups.ts +258 -0
- package/packages/core/src/{harness → gateway}/durable-queue.ts +102 -42
- package/packages/core/src/{harness → gateway}/job-store.ts +85 -48
- package/packages/core/src/gateway/lane-queue.ts +173 -0
- package/packages/core/src/gateway/notification-inbox.ts +57 -0
- package/packages/core/src/gateway/server.ts +1 -1
- package/packages/core/src/harness/index.ts +46 -27
- package/packages/core/src/index.ts +33 -27
- package/packages/core/src/mcp/hot-reload.ts +32 -23
- package/packages/core/src/mcp/index.ts +6 -3
- package/packages/core/src/mcp/singleton.ts +1 -4
- package/packages/core/src/mcp/tool-sync.ts +138 -0
- package/packages/core/src/memory/Scratchpad.test.ts +39 -20
- package/packages/core/src/memory/Scratchpad.ts +27 -34
- package/packages/core/src/multimodal/vision-service.ts +44 -38
- package/packages/core/src/resilience/retry.ts +95 -0
- package/packages/core/src/scheduler/CronScheduler.ts +334 -287
- package/packages/core/src/scheduler/index.ts +9 -7
- package/packages/core/src/scheduler/integration.ts +46 -26
- package/packages/core/src/scheduler/scheduler.test.ts +9 -13
- package/packages/core/src/scheduler/types.ts +7 -2
- package/packages/core/src/security/Pairing.ts +1 -1
- package/packages/core/src/skills/bundled/a2ui/a2ui_dashboard/SKILL.md +176 -0
- package/packages/core/src/skills/bundled/a2ui/a2ui_form/SKILL.md +202 -0
- package/packages/core/src/skills/bundled/a2ui/a2ui_interactive/SKILL.md +206 -0
- package/packages/core/src/skills/bundled/agents/agent_spawner/SKILL.md +173 -0
- package/packages/core/src/skills/bundled/agents/memory_manager/SKILL.md +143 -0
- package/packages/core/src/skills/bundled/agents/research_and_remember/SKILL.md +139 -0
- package/packages/core/src/skills/bundled/agents/task_orchestrator/SKILL.md +98 -0
- package/packages/core/src/skills/bundled/api/api_client/SKILL.md +132 -0
- package/packages/core/src/skills/bundled/cli/cli_pipeline/SKILL.md +135 -0
- package/packages/core/src/skills/bundled/cli/cli_safe_exec/SKILL.md +125 -0
- package/packages/core/src/skills/bundled/cli/software_engineering/SKILL.md +23 -0
- package/packages/core/src/skills/bundled/cron_manager/SKILL.md +188 -0
- package/packages/core/src/skills/bundled/cron_reminder/SKILL.md +112 -0
- package/packages/core/src/skills/bundled/filesystem/file_manager/SKILL.md +118 -0
- package/packages/core/src/skills/bundled/filesystem/file_read_and_summarize/SKILL.md +109 -0
- package/packages/core/src/skills/bundled/filesystem/file_writer/SKILL.md +129 -0
- package/packages/core/src/skills/bundled/filesystem/workspace_file_operator/SKILL.md +22 -0
- package/packages/core/src/skills/bundled/office/office_document_manager/SKILL.md +262 -0
- package/packages/core/src/skills/bundled/search_knowledge/capability_discovery/SKILL.md +75 -0
- package/packages/core/src/skills/bundled/web/browser_automate/SKILL.md +120 -0
- package/packages/core/src/skills/bundled/web/browser_scrape/SKILL.md +109 -0
- package/packages/core/src/skills/bundled/web/web_monitor/SKILL.md +127 -0
- package/packages/core/src/skills/bundled/web/web_research/SKILL.md +119 -0
- package/packages/core/src/skills/bundled-data.generated.ts +731 -2678
- package/packages/core/src/skills/skills.test.ts +52 -11
- package/packages/core/src/{harness → storage}/boot-id.ts +5 -2
- package/packages/core/src/storage/bootstrap.ts +151 -0
- package/packages/core/src/storage/causal-events.ts +84 -0
- package/packages/core/src/storage/collections.ts +680 -0
- package/packages/core/src/storage/crypto.ts +205 -74
- package/packages/core/src/{harness/db-helpers.ts → storage/hive.ts} +63 -7
- package/packages/core/src/storage/hivedb.ts +61 -0
- package/packages/core/src/storage/index.ts +111 -18
- package/packages/core/src/storage/model-id.ts +53 -0
- package/packages/core/src/storage/onboarding.ts +540 -972
- package/packages/core/src/storage/reconcile.ts +238 -0
- package/packages/core/src/storage/seed.ts +572 -406
- package/packages/core/src/storage/usage.ts +285 -225
- package/packages/core/src/storage/user-email.ts +11 -0
- package/packages/core/src/swarm/AgentExecutor.ts +1 -1
- package/packages/core/src/swarm/EventBridge.ts +1 -1
- package/packages/core/src/swarm/index.ts +12 -9
- package/packages/core/src/tool-runtime/index.ts +146 -23
- package/packages/core/src/tool-runtime/tool-worker.ts +2 -2
- package/packages/core/src/tool-runtime/worker-tools.ts +27 -0
- package/packages/core/src/{canvas/a2ui-tools.ts → tools/a2ui/index.ts} +17 -8
- package/packages/core/src/tools/agents/get-available-models.ts +36 -54
- package/packages/core/src/tools/agents/index.ts +784 -292
- package/packages/core/src/tools/api/api-request.test.ts +164 -0
- package/packages/core/src/tools/api/api-request.ts +174 -0
- package/packages/core/src/tools/api/index.ts +16 -0
- package/packages/core/src/tools/cli/index.ts +4 -0
- package/packages/core/src/tools/core/index.ts +281 -112
- package/packages/core/src/tools/cron/index.ts +121 -124
- package/packages/core/src/tools/index.ts +63 -78
- package/packages/core/src/tools/office/office-escribir-xlsx.ts +3 -1
- package/packages/core/src/tools/types.ts +3 -1
- package/packages/core/src/tools/web/artifact-inspect.ts +23 -0
- package/packages/core/src/tools/web/browser-backend.ts +129 -0
- package/packages/core/src/tools/web/browser-screenshot.ts +26 -5
- package/packages/core/src/tools/web/browser-service.ts +80 -35
- package/packages/core/src/tools/web/browser-type.ts +3 -8
- package/packages/core/src/tools/web/index.ts +4 -4
- package/packages/core/src/tools/web/webview-backend.ts +412 -0
- package/packages/core/src/voice/index.ts +89 -63
- package/packages/core/src/workers/agent.worker.ts +2 -2
- package/packages/core/src/workers/workers.test.ts +3 -10
- package/scripts/bump-version.ts +248 -0
- package/scripts/generate-skill-bundle.ts +108 -0
- package/test/acceptance-checks.test.ts +403 -0
- package/test/agent-loop-terminal-synthesis.test.ts +32 -0
- package/test/browser-backend.test.ts +308 -0
- package/test/catalog-agents-stay-enabled.test.ts +117 -0
- package/test/causal-events.test.ts +117 -0
- package/test/compaction.test.ts +105 -0
- package/test/context-compiler.test.ts +269 -0
- package/test/curator.test.ts +130 -0
- package/test/durable-queue.test.ts +114 -0
- package/test/harness-barrel.test.ts +64 -0
- package/test/hive-helpers.test.ts +130 -0
- package/test/hivedb-search.test.ts +189 -0
- package/test/internal-turns.test.ts +166 -0
- package/test/job-idempotency.test.ts +68 -0
- package/test/job-retry-backoff.test.ts +184 -0
- package/test/job-store.test.ts +381 -0
- package/test/llm-retry.test.ts +97 -0
- package/test/memory-perf.test.ts +774 -0
- package/test/minimal-loadout.test.ts +78 -0
- package/test/model-catalog.test.ts +105 -0
- package/test/preload.ts +12 -0
- package/test/reflector.test.ts +320 -0
- package/test/retention-cap.test.ts +91 -0
- package/test/retired-capabilities-pruned.test.ts +192 -0
- package/test/run-store.test.ts +355 -0
- package/test/scratchpad.test.ts +74 -0
- package/test/secrets-durability.test.ts +119 -0
- package/test/seed-model-reseed.test.ts +155 -0
- package/test/setup-agent-seed.test.ts +264 -0
- package/test/tool-inventory.test.ts +65 -0
- package/test/tool-runtime.test.ts +258 -0
- package/test/tool-selector-runtime-tools.test.ts +117 -0
- package/test/toon.test.ts +429 -0
- package/tsconfig.json +2 -0
- package/packages/core/src/ace/Curator.ts +0 -158
- package/packages/core/src/ace/Reflector.ts +0 -200
- package/packages/core/src/ace/index.ts +0 -4
- package/packages/core/src/agent/AgentRunner.ts +0 -711
- package/packages/core/src/agent/ContextCompiler.ts +0 -567
- package/packages/core/src/agent/ContextGuard.ts +0 -91
- package/packages/core/src/agent/ConversationStore.ts +0 -254
- package/packages/core/src/agent/Hooks.ts +0 -166
- package/packages/core/src/agent/StuckLoop.ts +0 -133
- package/packages/core/src/agent/providers/LLMClient.ts +0 -149
- package/packages/core/src/agent/providers/anthropic.ts +0 -212
- package/packages/core/src/agent/providers/openai-compat.ts +0 -231
- package/packages/core/src/agent/selectors/PlaybookSelector.ts +0 -121
- package/packages/core/src/agent/selectors/SkillSelector.ts +0 -322
- package/packages/core/src/agent/selectors/index.ts +0 -6
- package/packages/core/src/auth/auth.ts +0 -121
- package/packages/core/src/auth/index.ts +0 -1
- package/packages/core/src/canvas/CanvasManager.ts +0 -390
- package/packages/core/src/canvas/canvas-tools.ts +0 -448
- package/packages/core/src/harness/collections.ts +0 -98
- package/packages/core/src/harness/goal-verifier.ts +0 -141
- package/packages/core/src/harness/harness.test.ts +0 -236
- package/packages/core/src/harness/reconcile.ts +0 -149
- package/packages/core/src/mcp/MCPToolAdapter.ts +0 -176
- package/packages/core/src/multimodal/VisionService.ts +0 -293
- package/packages/core/src/scheduler/dag/AgentExecutor.ts +0 -53
- package/packages/core/src/scheduler/dag/DAGScheduler.ts +0 -250
- package/packages/core/src/scheduler/dag/EventBridge.ts +0 -122
- package/packages/core/src/scheduler/dag/TaskGraph.ts +0 -192
- package/packages/core/src/scheduler/dag/TaskNode.ts +0 -97
- package/packages/core/src/scheduler/dag/TaskResult.ts +0 -22
- package/packages/core/src/scheduler/dag/errors.ts +0 -37
- package/packages/core/src/scheduler/dag/index.ts +0 -26
- package/packages/core/src/scheduler/dag/presets/ResearchPreset.ts +0 -97
- package/packages/core/src/scheduler/dag/strategies/ParallelStrategy.ts +0 -21
- package/packages/core/src/scheduler/dag/strategies/PriorityStrategy.ts +0 -46
- package/packages/core/src/storage/HiveDBStorage.ts +0 -64
- package/packages/core/src/storage/SQLiteStorage.ts +0 -414
- package/packages/core/src/storage/hiveSeed.ts +0 -308
- package/packages/core/src/storage/hiveStorage.test.ts +0 -38
- package/packages/core/src/storage/schema.ts +0 -689
- package/packages/core/src/storage/storage.test.ts +0 -37
- package/packages/core/src/swarm/AgentBus.ts +0 -460
- package/packages/core/src/swarm/EventBus.ts +0 -169
- package/packages/core/src/swarm/WorkerPool.ts +0 -236
- package/packages/core/src/tools/bridge-events.ts +0 -26
- package/packages/core/src/tools/canvas/index.ts +0 -375
- package/packages/core/src/tools/codebridge/index.ts +0 -342
- package/packages/core/src/tools/meeting/index.ts +0 -353
- package/packages/core/src/tools/projects/index.ts +0 -37
- package/packages/core/src/tools/projects/project-create.ts +0 -94
- package/packages/core/src/tools/projects/project-done.ts +0 -66
- package/packages/core/src/tools/projects/project-fail.ts +0 -66
- package/packages/core/src/tools/projects/project-list.ts +0 -96
- package/packages/core/src/tools/projects/project-update.ts +0 -72
- package/packages/core/src/tools/projects/task-create.ts +0 -68
- package/packages/core/src/tools/projects/task-evaluate.ts +0 -93
- package/packages/core/src/tools/projects/task-update.ts +0 -93
- package/packages/core/src/tools/voice/index.ts +0 -104
- package/packages/core/src/tools/web/api-request.test.ts +0 -170
- package/packages/core/src/tools/web/api-request.ts +0 -239
- package/test/setup-db.ts +0 -216
- /package/packages/core/src/agent/{NativeTools.ts → native-tools.ts} +0 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## Sin publicar
|
|
4
|
+
|
|
5
|
+
### Seguridad
|
|
6
|
+
|
|
7
|
+
- **`sanitizeDiagnostic` dejaba el token en claro detrás del esquema de auth.**
|
|
8
|
+
La regex consumía sólo la palabra `Bearer`, así que un diagnóstico con
|
|
9
|
+
`authorization: Bearer <token>` quedaba como `authorization: [REDACTED] <token>`
|
|
10
|
+
y la credencial viajaba al prompt del coordinador. Afecta a **0.1.5 y
|
|
11
|
+
anteriores**: el archivo viaja en el tarball publicado.
|
|
12
|
+
|
|
13
|
+
### Corregido
|
|
14
|
+
|
|
15
|
+
- Se fijaron las 8 dependencias que estaban en `latest` (`zod`, `discord.js`,
|
|
16
|
+
`grammy`, `@slack/bolt`, `@whiskeysockets/baileys`, `@modelcontextprotocol/sdk`,
|
|
17
|
+
`qrcode-terminal`, `@sapphire/snowflake`). Como `bun.lock` no se publica, cada
|
|
18
|
+
instalación resolvía `latest` de nuevo: el SDK ya estaba corriendo
|
|
19
|
+
`@slack/bolt` **5.0.0** mientras hive, con el mismo código de canales, corría
|
|
20
|
+
**4.7.x**. Ahora quedan alineados.
|
|
21
|
+
|
|
22
|
+
### Añadido
|
|
23
|
+
|
|
24
|
+
- **Backend de navegador intercambiable.** Las tools hablan con la interfaz
|
|
25
|
+
`BrowserBackend`; además del `agent-browser` de siempre (default, sin cambios)
|
|
26
|
+
hay un `WebViewBackend` sobre `Bun.WebView`, in-process, sin instalación de
|
|
27
|
+
~75 MB ni descarga de Chrome. Se elige con `tools.browser.backend`
|
|
28
|
+
(`"agent-browser" | "webview" | "auto"`) o `HIVE_BROWSER_BACKEND`.
|
|
29
|
+
- Cobertura de `acceptance-checks` (27 tests), del backend de navegador (27) y
|
|
30
|
+
del selector con tools registradas en runtime (6).
|
|
31
|
+
- Workflow de CI: typecheck, tests, verificación de aislamiento de la base, y un
|
|
32
|
+
job que genera un scaffold con `create-app` y lo typechequea contra el SDK de
|
|
33
|
+
ese commit.
|
|
34
|
+
|
|
35
|
+
## 0.1.5
|
|
36
|
+
|
|
37
|
+
Sincronización del SDK con el runtime de agentes de `hive`. **Trae rupturas de
|
|
38
|
+
API** (permitidas en 0.x, pero léelas antes de actualizar): el SDK y hive habían
|
|
39
|
+
divergido hasta compartir sólo 87 de 224 nombres de archivo, y quien instalaba
|
|
40
|
+
`@johpaz/hive-sdk` recibía un runtime más viejo y con bugs que en hive ya estaban
|
|
41
|
+
arreglados.
|
|
42
|
+
|
|
43
|
+
### Corregido
|
|
44
|
+
|
|
45
|
+
- **Las caídas del provider ya no se guardan como respuestas del agente.**
|
|
46
|
+
`callLLM` devolvía `{ content: "[LLM Error] …", stop_reason: "error" }` y nadie
|
|
47
|
+
chequeaba `stop_reason`: el texto del error se persistía con `addMessage` y —
|
|
48
|
+
peor — la compactación lo guardaba como **el resumen permanente** que reemplaza
|
|
49
|
+
N mensajes de historial. `LLMResponse` ahora tiene un campo `error` tipado y hay
|
|
50
|
+
guardas en el loop, en la síntesis terminal y en la compactación.
|
|
51
|
+
- **HTTP 404/410 se distinguen del resto.** Un modelo retirado por el proveedor
|
|
52
|
+
produce un mensaje accionable con `error.modelUnavailable`, en vez de un error
|
|
53
|
+
opaco y reintentos que no pueden funcionar.
|
|
54
|
+
- **Las claves de modelo ya no colisionan.** Dos providers que sirven el mismo
|
|
55
|
+
modelo (`z-ai/glm-5.2` bajo NVIDIA y bajo OpenRouter) se pisaban la fila. Los
|
|
56
|
+
cuatro revendedores (`nvidia`, `openrouter`, `opencode-go`, `modelscope`,
|
|
57
|
+
`groq`) prefijan sus ids; el prefijo no llega al cable.
|
|
58
|
+
- **Los precios salen de la base.** `MODEL_PRICING` era un mapa hardcodeado de
|
|
59
|
+
~62 entradas en paralelo al catálogo, y mantener dos listas fallaba en silencio.
|
|
60
|
+
Ahora el precio vive en la fila del modelo (`input_per_1m` / `output_per_1m`) y
|
|
61
|
+
un modelo sin tarifa avisa una vez en vez de reportar $0 como si fuera gratis.
|
|
62
|
+
- **`createAgent` honra su configuración.** `provider`, `model`, `maxIterations`,
|
|
63
|
+
`skills` y `workspace` se aceptaban y se descartaban: el agente corría con lo
|
|
64
|
+
que hubiera en la base. Ahora se persisten en la fila del agente.
|
|
65
|
+
- **Las tools de la app son usables.** `defineTool` registraba la declaración pero
|
|
66
|
+
no el ejecutor, así que una llamada moría con "no matching executor found". Y
|
|
67
|
+
aunque lo tuviera, el índice de capacidad no se llenaba nunca por la vía del
|
|
68
|
+
SDK, así que el agente quedaba limitado al loadout mínimo para siempre.
|
|
69
|
+
- **El selector ya no descarta tools que el índice sí encontró.** `selectTools`
|
|
70
|
+
resolvía los resultados contra `CORE_TOOL_CATALOG` mientras el índice se
|
|
71
|
+
construía con ése **más** la colección `tools`: una tool registrada en runtime
|
|
72
|
+
podía puntuar primera en BM25 y aun así nunca ofrecerse al modelo.
|
|
73
|
+
- **`Scratchpad` escribe el documento completo.** Compartía colección e id con
|
|
74
|
+
`conversation-store` pero guardaba un doc sin `source`, `createdAt` ni `seq`,
|
|
75
|
+
así que sus notas se ordenaban mal dentro del prompt.
|
|
76
|
+
- **La suite de tests dejó de escribir en la base real del usuario.** Un preload
|
|
77
|
+
fija `HIVE_DB_PATH=":memory:"` antes de que cargue cualquier módulo.
|
|
78
|
+
- **`tool_choice` de Mistral.** Estaba en `"any"`, que según docs.mistral.ai
|
|
79
|
+
*fuerza* una llamada a tool en cada turno; ahora es `"auto"`.
|
|
80
|
+
|
|
81
|
+
### Ruptura
|
|
82
|
+
|
|
83
|
+
| Antes | Ahora |
|
|
84
|
+
|---|---|
|
|
85
|
+
| `initializeDatabase()`, `dbService`, `getDb()` | `ensureHiveDb()`, `col()` |
|
|
86
|
+
| `seedHiveDB()` | `seedAllData()` (lo llama `ensureHiveDb`) |
|
|
87
|
+
| `getAverageTokenCost()`, `getProviderPricing()`, `estimateCostForTokens()` | `calculateCost()` |
|
|
88
|
+
| `new EthicsGuard(db)`, métodos sync | `new EthicsGuard()`, métodos async |
|
|
89
|
+
| `new CronScheduler(db, handler)` | `new CronScheduler(handler)` |
|
|
90
|
+
| `new Scratchpad(db)` | `new Scratchpad()` |
|
|
91
|
+
| subpath `./ace` | `curator`, `reflector`, `tracer` desde `./agent` |
|
|
92
|
+
| subpath `./agent/selectors` | selectores desde `./agent` |
|
|
93
|
+
| `AgentConfig.provider: "openai" \| "anthropic" \| "gemini" \| "ollama"` | los 16 providers del catálogo |
|
|
94
|
+
| `api_request` con `auth`, `body` objeto, `timeoutMs` | headers, `body` string, `timeout_ms` |
|
|
95
|
+
| evento de canvas `canvas:render` | `canvas:node_add` / `node_update` / `edge_*` |
|
|
96
|
+
|
|
97
|
+
Módulos eliminados: `auth/` (sin un solo import), `agent/ContextGuard.ts` y
|
|
98
|
+
`agent/Hooks.ts` (muertos), `storage/SQLiteStorage.ts`, `storage/schema.ts`,
|
|
99
|
+
`storage/hiveSeed.ts`, `scheduler/dag/` (copia byte-idéntica de `swarm/`),
|
|
100
|
+
`swarm/WorkerPool.ts` (copia rezagada de `scheduler/integration.ts`),
|
|
101
|
+
`swarm/AgentBus.ts` y `swarm/EventBus.ts` (duplicaban `events/`), y las tools
|
|
102
|
+
`canvas/`, `codebridge/`, `meeting/`, `projects/`, `voice/`.
|
|
103
|
+
|
|
104
|
+
`harness/` pasó de tener implementación propia a ser un barrel sobre la
|
|
105
|
+
implementación única. El subpath `@johpaz/hive-sdk/harness` exporta lo mismo.
|
|
106
|
+
|
|
107
|
+
### Agregado
|
|
108
|
+
|
|
109
|
+
- 16 providers LLM con `OpenAICompatBase`, incluidos `nvidia`, `z-ai`,
|
|
110
|
+
`modelscope`, `opencode-go`, `minimax`, `hiveagents`.
|
|
111
|
+
- Catálogo sembrado de 18 providers y 106 modelos con precio, actualizable
|
|
112
|
+
editando `SEED_DATA.models`: las filas de catálogo se borran y se recrean en
|
|
113
|
+
cada arranque, preservando qué modelo tenía activo el usuario.
|
|
114
|
+
- `registerAppTool()` / `clearAppTools()` como punto de extensión del registry.
|
|
115
|
+
- `catalogModelKey()`, `wireModelId()`, `isResellerProvider()`.
|
|
116
|
+
- `callLLM` y los tipos de `llm-client` en la superficie pública: antes sólo se
|
|
117
|
+
exportaba el wrapper `AgentRunner`.
|
|
118
|
+
- `bun run skills:bundle` regenera el catálogo de skills desde los `SKILL.md`
|
|
119
|
+
(el generador apuntaba a una ruta que no existe en este repo).
|
|
120
|
+
- Subpaths `./scheduler`, `./workers` y `./events`.
|
|
121
|
+
- De 18 a 44 archivos de test (77 → 314 casos), incluyendo agent loop, context
|
|
122
|
+
compiler, compactación, seed, precios y claves de modelo, que no tenían ninguno.
|
|
123
|
+
|
|
124
|
+
### Corregido en el CLI
|
|
125
|
+
|
|
126
|
+
`init`, `run`, `test` y `trace` importaban `@hive/core`, un nombre de workspace
|
|
127
|
+
que no está publicado en npm: los cuatro comandos estaban rotos para cualquier
|
|
128
|
+
usuario. `hives test` además hacía glob sobre `packages/core/src/**`, rutas del
|
|
129
|
+
repo del SDK y no del proyecto donde se ejecuta.
|
package/README.md
CHANGED
|
@@ -1,30 +1,26 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @johpaz/hive-sdk
|
|
2
2
|
|
|
3
|
-
> **Hive Agent Harness SDK** —
|
|
3
|
+
> **Hive Agent Harness SDK** — construí, desplegá y escalá aplicaciones de agentes de IA, con soporte multi-canal, Bun Workers y orquestación en swarm.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/@johpaz/hive-sdk)
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
| [API-DAG-SCHEDULER.md](docs/API-DAG-SCHEDULER.md) | DAGScheduler, TaskGraph, TaskNode, Estrategias, Presets |
|
|
11
|
-
| [API-WORKERS-EVENTS.md](docs/API-WORKERS-EVENTS.md) | **Bun Workers**, createWorker, WorkerPool, AgentBus, EventBus, Canvas |
|
|
12
|
-
| [API-TOOLS-SKILLS-CHANNELS.md](docs/API-TOOLS-SKILLS-CHANNELS.md) | Tools, Skills, MCP, **Gateway**, **Channels**, **Tool Runtime**, Storage |
|
|
13
|
-
| [API-CONTEXT-COMPILER.md](docs/API-CONTEXT-COMPILER.md) | Context Compiler, Message History, Scratchpad, EthicsGuard, ACE |
|
|
14
|
-
| [TEMPLATE-HIVE-APP.md](docs/TEMPLATE-HIVE-APP.md) | **Template hive-app** — estructura, opciones, personalización |
|
|
7
|
+
```bash
|
|
8
|
+
bun add @johpaz/hive-sdk
|
|
9
|
+
```
|
|
15
10
|
|
|
16
11
|
## ¿Qué es Hive SDK?
|
|
17
12
|
|
|
18
13
|
**Hive SDK es un Agent Harness**: un marco de trabajo completo para construir, desplegar y escalar aplicaciones de agentes de IA. A diferencia de un simple wrapper de LLM, un *harness* provee todo lo necesario para que un agente opere en producción:
|
|
19
14
|
|
|
20
|
-
- **Agentes**: ciclo ReAct,
|
|
21
|
-
- **
|
|
22
|
-
- **
|
|
15
|
+
- **Agentes**: ciclo ReAct nativo con checkpoint durable, 16 providers LLM y descubrimiento de tools/skills por búsqueda BM25.
|
|
16
|
+
- **Catálogo**: 18 providers y 106 modelos sembrados, cada uno con su precio por millón de tokens — una sola fuente de verdad para el costo.
|
|
17
|
+
- **Tools**: 58 tools incluidas — filesystem, web search, browser automation (`agent-browser`), APIs (`api_request`), a2ui, office, cron, delegación.
|
|
18
|
+
- **Skills**: 23 workflows bundled, más los tuyos con `defineSkill` y `SkillLoader`.
|
|
23
19
|
- **Canales**: Telegram, Discord, WhatsApp, Slack y WebChat con `ChannelManager`.
|
|
24
20
|
- **Swarm**: orquestación multi-agente con `DAGScheduler`, `TaskGraph` y `WorkerPool`.
|
|
25
21
|
- **Runtime**: ejecución paralela de tools vía Bun Workers.
|
|
26
22
|
- **Gateway**: servidor HTTP/WebSocket para exponer agentes como API.
|
|
27
|
-
- **Memoria y estado**:
|
|
23
|
+
- **Memoria y estado**: HiveDB (colecciones + índice BM25), scratchpad, context compiler con compactación.
|
|
28
24
|
|
|
29
25
|
Con Hive SDK no montas un agente desde cero: **enganchas tu lógica de negocio en un harness ya armado**.
|
|
30
26
|
|
|
@@ -67,17 +63,19 @@ bun run dev
|
|
|
67
63
|
|
|
68
64
|
```typescript
|
|
69
65
|
import { createAgent, defineTool } from "@johpaz/hive-sdk";
|
|
66
|
+
import { z } from "zod";
|
|
70
67
|
|
|
71
68
|
const tool = defineTool({
|
|
72
69
|
name: "saludar",
|
|
73
|
-
description: "Saluda a alguien",
|
|
70
|
+
description: "Saluda a alguien por su nombre",
|
|
71
|
+
schema: z.object({ nombre: z.string().describe("a quién saludar") }),
|
|
74
72
|
execute: async (args: { nombre: string }) => `¡Hola ${args.nombre}!`,
|
|
75
73
|
});
|
|
76
74
|
|
|
77
75
|
const agent = await createAgent({
|
|
78
76
|
name: "asistente",
|
|
79
|
-
provider: "openai",
|
|
80
|
-
model: "gpt-
|
|
77
|
+
provider: "openai", // cualquiera de los 16 del catálogo
|
|
78
|
+
model: "gpt-5.6-luna", // tiene que existir en el catálogo sembrado
|
|
81
79
|
tools: [tool],
|
|
82
80
|
});
|
|
83
81
|
|
|
@@ -85,6 +83,11 @@ const respuesta = await agent.run("Saluda a Juan");
|
|
|
85
83
|
console.log(respuesta);
|
|
86
84
|
```
|
|
87
85
|
|
|
86
|
+
`createAgent` abre HiveDB, siembra el catálogo de providers y modelos, persiste
|
|
87
|
+
la configuración en la fila del agente y deja tus tools indexadas para que el
|
|
88
|
+
modelo pueda descubrirlas. El `schema` de Zod es lo que se traduce a los
|
|
89
|
+
parámetros que ve el LLM — sin él, la tool se ofrece sin argumentos.
|
|
90
|
+
|
|
88
91
|
### 3. Crear un worker especializado
|
|
89
92
|
|
|
90
93
|
```typescript
|
|
@@ -135,15 +138,26 @@ console.log(`Gateway at http://127.0.0.1:18790`);
|
|
|
135
138
|
## Variables de Entorno
|
|
136
139
|
|
|
137
140
|
```bash
|
|
138
|
-
|
|
141
|
+
HIVE_HOME=~/.hive # Directorio de datos (HiveDB vive en <HIVE_HOME>/data)
|
|
142
|
+
HIVE_DB_PATH= # Ruta explícita de la base; ":memory:" para efímera
|
|
139
143
|
HIVE_HOST=127.0.0.1 # Gateway host
|
|
140
144
|
HIVE_PORT=18790 # Gateway port
|
|
141
|
-
OPENAI_API_KEY=sk-... # OpenAI
|
|
142
|
-
ANTHROPIC_API_KEY=sk-ant-... # Anthropic
|
|
143
|
-
GOOGLE_API_KEY=... # Gemini
|
|
144
145
|
LOG_LEVEL=info # debug | info | warn | error
|
|
145
146
|
```
|
|
146
147
|
|
|
148
|
+
La API key de cada provider se guarda cifrada en la base. Como alternativa, el
|
|
149
|
+
SDK cae a `<PROVIDER>_API_KEY` del entorno, en mayúsculas y con el id del
|
|
150
|
+
provider tal cual:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
OPENAI_API_KEY=sk-...
|
|
154
|
+
ANTHROPIC_API_KEY=sk-ant-...
|
|
155
|
+
GOOGLE_API_KEY=... # provider "gemini"
|
|
156
|
+
MODELSCOPE_API_KEY=ms-...
|
|
157
|
+
NVIDIA_API_KEY=nvapi-...
|
|
158
|
+
OPENROUTER_API_KEY=sk-or-...
|
|
159
|
+
```
|
|
160
|
+
|
|
147
161
|
## Tests
|
|
148
162
|
|
|
149
163
|
```bash
|
|
@@ -154,7 +168,48 @@ bun test
|
|
|
154
168
|
bun test --timeout 60000
|
|
155
169
|
```
|
|
156
170
|
|
|
171
|
+
La suite usa una base efímera (`HIVE_DB_PATH=":memory:"`, fijado en
|
|
172
|
+
`test/preload.ts`) para no escribir en la del usuario.
|
|
173
|
+
|
|
174
|
+
## Publicar
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
# 1. Actualizar archivos, sin tocar git — revisá el diff
|
|
178
|
+
bun run version:set 0.1.6
|
|
179
|
+
|
|
180
|
+
# 2. Cuando estés conforme: typecheck + tests + commit + tag + push
|
|
181
|
+
bun run version:set 0.1.6 --push
|
|
182
|
+
|
|
183
|
+
# Preview que no se instala por defecto
|
|
184
|
+
bun run version:set 0.2.0-rc.1 --push --npm-tag=next
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
`--push` corre `typecheck` y `bun test` antes de tocar git, y pide confirmación
|
|
188
|
+
explícita. El tag `vX.Y.Z` es lo que dispara `.github/workflows/publish.yml`, que
|
|
189
|
+
publica **sólo el paquete raíz** (`packages/*` son workspaces internos). El
|
|
190
|
+
dist-tag viaja en el mensaje del tag, así que `--npm-tag=next` publica bajo `next`
|
|
191
|
+
y no mueve `latest`.
|
|
157
192
|
|
|
193
|
+
El script aborta si la versión ya existe en npm — republicar da 403 — y si el tag
|
|
194
|
+
local ya existe.
|
|
158
195
|
|
|
196
|
+
```bash
|
|
197
|
+
npm view @johpaz/hive-sdk dist-tags # verificar después del release
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Documentación
|
|
159
201
|
|
|
160
|
-
|
|
202
|
+
| Documento | Descripción |
|
|
203
|
+
|-----------|-------------|
|
|
204
|
+
| [API-AGENTS.md](docs/API-AGENTS.md) | createAgent, AgentLoop, Tool/Skill Selector, los 16 LLM Providers |
|
|
205
|
+
| [API-CONTEXT-COMPILER.md](docs/API-CONTEXT-COMPILER.md) | Context Compiler, historial, Scratchpad, EthicsGuard, ACE |
|
|
206
|
+
| [API-TOOLS-SKILLS-CHANNELS.md](docs/API-TOOLS-SKILLS-CHANNELS.md) | Tools, Skills, MCP, Gateway, Channels, Tool Runtime, Storage |
|
|
207
|
+
| [API-DAG-SCHEDULER.md](docs/API-DAG-SCHEDULER.md) | DAGScheduler, TaskGraph, TaskNode, estrategias, presets |
|
|
208
|
+
| [API-WORKERS-EVENTS.md](docs/API-WORKERS-EVENTS.md) | Bun Workers, createWorker, WorkerPool, AgentBus, EventBus, Canvas |
|
|
209
|
+
| [HIVE-HARNESS.md](docs/HIVE-HARNESS.md) | Ejecución durable: cola de jobs, checkpoints, leases, proof packets |
|
|
210
|
+
| [TEMPLATE-HIVE-APP.md](docs/TEMPLATE-HIVE-APP.md) | Template `hive-app` — estructura, opciones, personalización |
|
|
211
|
+
| [CHANGELOG.md](CHANGELOG.md) | Cambios por versión |
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
*Hive SDK v0.1.6 — MIT*
|
package/bun.lock
CHANGED
|
@@ -8,16 +8,16 @@
|
|
|
8
8
|
"@anthropic-ai/sdk": "^0.74.0",
|
|
9
9
|
"@google/genai": "^1.43.0",
|
|
10
10
|
"@johpaz/hive-db": "^0.4.0",
|
|
11
|
-
"@modelcontextprotocol/sdk": "
|
|
12
|
-
"@sapphire/snowflake": "
|
|
13
|
-
"@slack/bolt": "
|
|
14
|
-
"@whiskeysockets/baileys": "
|
|
11
|
+
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
12
|
+
"@sapphire/snowflake": "^3.5.5",
|
|
13
|
+
"@slack/bolt": "^4.7.2",
|
|
14
|
+
"@whiskeysockets/baileys": "7.0.0-rc11",
|
|
15
15
|
"async-mutex": "^0.5.0",
|
|
16
16
|
"cron-parser": "^5.5.0",
|
|
17
17
|
"croner": "^10.0.1",
|
|
18
|
-
"discord.js": "
|
|
18
|
+
"discord.js": "^14.26.4",
|
|
19
19
|
"docx": "^9.6.1",
|
|
20
|
-
"grammy": "
|
|
20
|
+
"grammy": "^1.42.0",
|
|
21
21
|
"groq-sdk": "^0.37.0",
|
|
22
22
|
"jsonwebtoken": "^9.0.3",
|
|
23
23
|
"jszip": "^3.10.1",
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
"pdf-lib": "^1.17.1",
|
|
28
28
|
"pdfjs-dist": "^5.6.205",
|
|
29
29
|
"pptxgenjs": "^4.0.1",
|
|
30
|
-
"qrcode-terminal": "
|
|
30
|
+
"qrcode-terminal": "^0.12.0",
|
|
31
31
|
"toon-format-parser": "^1.1.0",
|
|
32
32
|
"xlsx": "^0.18.5",
|
|
33
|
-
"zod": "
|
|
33
|
+
"zod": "^4.4.3",
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/bun": "^1.3.13",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
},
|
|
41
41
|
"packages/cli": {
|
|
42
42
|
"name": "@hive/cli",
|
|
43
|
-
"version": "0.
|
|
43
|
+
"version": "0.1.5",
|
|
44
44
|
"bin": {
|
|
45
45
|
"hive": "./src/index.ts",
|
|
46
46
|
},
|
|
@@ -50,21 +50,21 @@
|
|
|
50
50
|
},
|
|
51
51
|
"packages/core": {
|
|
52
52
|
"name": "@hive/core",
|
|
53
|
-
"version": "0.
|
|
53
|
+
"version": "0.1.5",
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@anthropic-ai/sdk": "^0.74.0",
|
|
56
56
|
"@google/genai": "^1.43.0",
|
|
57
57
|
"@johpaz/hive-db": "^0.4.0",
|
|
58
|
-
"@modelcontextprotocol/sdk": "
|
|
59
|
-
"@sapphire/snowflake": "
|
|
60
|
-
"@slack/bolt": "
|
|
61
|
-
"@whiskeysockets/baileys": "
|
|
58
|
+
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
59
|
+
"@sapphire/snowflake": "^3.5.5",
|
|
60
|
+
"@slack/bolt": "^4.7.2",
|
|
61
|
+
"@whiskeysockets/baileys": "7.0.0-rc11",
|
|
62
62
|
"async-mutex": "^0.5.0",
|
|
63
63
|
"cron-parser": "^5.5.0",
|
|
64
64
|
"croner": "^10.0.1",
|
|
65
|
-
"discord.js": "
|
|
65
|
+
"discord.js": "^14.26.4",
|
|
66
66
|
"docx": "^9.6.1",
|
|
67
|
-
"grammy": "
|
|
67
|
+
"grammy": "^1.42.0",
|
|
68
68
|
"groq-sdk": "^0.37.0",
|
|
69
69
|
"jsonwebtoken": "^9.0.3",
|
|
70
70
|
"jszip": "^3.10.1",
|
|
@@ -74,10 +74,10 @@
|
|
|
74
74
|
"pdf-lib": "^1.17.1",
|
|
75
75
|
"pdfjs-dist": "^5.6.205",
|
|
76
76
|
"pptxgenjs": "^4.0.1",
|
|
77
|
-
"qrcode-terminal": "
|
|
77
|
+
"qrcode-terminal": "^0.12.0",
|
|
78
78
|
"toon-format-parser": "^1.1.0",
|
|
79
79
|
"xlsx": "^0.18.5",
|
|
80
|
-
"zod": "
|
|
80
|
+
"zod": "^4.4.3",
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@types/jsonwebtoken": "^9.0.10",
|
|
@@ -258,17 +258,17 @@
|
|
|
258
258
|
|
|
259
259
|
"@sapphire/snowflake": ["@sapphire/snowflake@3.5.5", "", {}, "sha512-xzvBr1Q1c4lCe7i6sRnrofxeO1QTP/LKQ6A6qy0iB4x5yfiSfARMEQEghojzTNALDTcv8En04qYNIco9/K9eZQ=="],
|
|
260
260
|
|
|
261
|
-
"@slack/bolt": ["@slack/bolt@
|
|
261
|
+
"@slack/bolt": ["@slack/bolt@4.7.3", "", { "dependencies": { "@slack/logger": "^4.0.1", "@slack/oauth": "^3.0.5", "@slack/socket-mode": "^2.0.7", "@slack/types": "^2.21.1", "@slack/web-api": "^7.16.0", "axios": "^1.12.0", "express": "^5.0.0", "path-to-regexp": "^8.1.0", "raw-body": "^3", "tsscmp": "^1.0.6" }, "peerDependencies": { "@types/express": "^5.0.0" } }, "sha512-bODs8q/yNDWUPoxmQhFrRqLMA5vhB/PDizYWqb6CkQhLWEUo5JFtfJcmeU4ElGl6qSt++OKjSYNa4MPc77CleQ=="],
|
|
262
262
|
|
|
263
|
-
"@slack/logger": ["@slack/logger@
|
|
263
|
+
"@slack/logger": ["@slack/logger@4.0.1", "", { "dependencies": { "@types/node": ">=18" } }, "sha512-6cmdPrV/RYfd2U0mDGiMK8S7OJqpCTm7enMLRR3edccsPX8j7zXTLnaEF4fhxxJJTAIOil6+qZrnUPTuaLvwrQ=="],
|
|
264
264
|
|
|
265
|
-
"@slack/oauth": ["@slack/oauth@
|
|
265
|
+
"@slack/oauth": ["@slack/oauth@3.0.5", "", { "dependencies": { "@slack/logger": "^4.0.1", "@slack/web-api": "^7.15.0", "@types/jsonwebtoken": "^9", "@types/node": ">=18", "jsonwebtoken": "^9" } }, "sha512-exqFQySKhNDptWYSWhvRUJ4/+ndu2gayIy7vg/JfmJq3wGtGdHk531P96fAZyBm5c1Le3yaPYqv92rL4COlU3A=="],
|
|
266
266
|
|
|
267
|
-
"@slack/socket-mode": ["@slack/socket-mode@
|
|
267
|
+
"@slack/socket-mode": ["@slack/socket-mode@2.0.7", "", { "dependencies": { "@slack/logger": "^4.0.1", "@slack/web-api": "^7.15.0", "@types/node": ">=18", "@types/ws": "^8", "eventemitter3": "^5", "ws": "^8" } }, "sha512-qYy07je71WnEHgRwmw12DlAnZLi5HXmdlI2WUzUK2LH/rYXQpP6uEg462S5CwfE8FoCKUdIigHtYnOOfzZH1lQ=="],
|
|
268
268
|
|
|
269
|
-
"@slack/types": ["@slack/types@
|
|
269
|
+
"@slack/types": ["@slack/types@2.22.0", "", {}, "sha512-sZ9lIgJhPX2qft/tKWiklFlc0o1FWeI7QtciZJfW1+ErH1eGGHvOZ8e73sleTCFEFJp1q/R0WeS8Oa7AsiDprg=="],
|
|
270
270
|
|
|
271
|
-
"@slack/web-api": ["@slack/web-api@
|
|
271
|
+
"@slack/web-api": ["@slack/web-api@7.19.0", "", { "dependencies": { "@slack/logger": "^4.0.1", "@slack/types": "^2.21.0", "@types/node": ">=18", "@types/retry": "0.12.0", "axios": "^1.16.0", "eventemitter3": "^5.0.1", "form-data": "^4.0.4", "is-electron": "2.2.2", "is-stream": "^2", "p-queue": "^6", "p-retry": "^4", "retry": "^0.13.1" } }, "sha512-ItjyjEZml+LDH8CjcCLRLJHh7VZtevPKExrRN3l5KWyBliyDnGAeoO4Y+K+fFBmRpKLYVPgqWMX4THldv2HVtA=="],
|
|
272
272
|
|
|
273
273
|
"@tokenizer/inflate": ["@tokenizer/inflate@0.4.1", "", { "dependencies": { "debug": "^4.4.3", "token-types": "^6.1.1" } }, "sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA=="],
|
|
274
274
|
|
|
@@ -308,7 +308,7 @@
|
|
|
308
308
|
|
|
309
309
|
"@vladfrangu/async_event_emitter": ["@vladfrangu/async_event_emitter@2.4.7", "", {}, "sha512-Xfe6rpCTxSxfbswi/W/Pz7zp1WWSNn4A0eW4mLkQUewCrXXtMj31lCg+iQyTkh/CkusZSq9eDflu7tjEDXUY6g=="],
|
|
310
310
|
|
|
311
|
-
"@whiskeysockets/baileys": ["@whiskeysockets/baileys@7.0.0-
|
|
311
|
+
"@whiskeysockets/baileys": ["@whiskeysockets/baileys@7.0.0-rc11", "", { "dependencies": { "@cacheable/node-cache": "^1.4.0", "@hapi/boom": "^9.1.3", "async-mutex": "^0.5.0", "libsignal": "^6.0.0", "lru-cache": "^11.1.0", "music-metadata": "^11.12.3", "p-queue": "^9.0.0", "pino": "^9.6", "protobufjs": "^7.5.6", "whatsapp-rust-bridge": "0.5.4", "ws": "^8.13.0" }, "peerDependencies": { "audio-decode": "^2.1.3", "jimp": "^1.6.1", "link-preview-js": "^3.0.0", "sharp": "*" }, "optionalPeers": ["audio-decode", "jimp", "link-preview-js"] }, "sha512-4FKCVZR8mGz7oy6aRJgcBdM5t1CjzzDOedfccphwJao5BAy6RKCTTDbjyOaJejCkYDwjkEADpZBRmKDxvGmoUQ=="],
|
|
312
312
|
|
|
313
313
|
"@xmldom/xmldom": ["@xmldom/xmldom@0.8.13", "", {}, "sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw=="],
|
|
314
314
|
|
|
@@ -318,7 +318,7 @@
|
|
|
318
318
|
|
|
319
319
|
"adler-32": ["adler-32@1.3.1", "", {}, "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A=="],
|
|
320
320
|
|
|
321
|
-
"agent-base": ["agent-base@
|
|
321
|
+
"agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="],
|
|
322
322
|
|
|
323
323
|
"agentkeepalive": ["agentkeepalive@4.6.0", "", { "dependencies": { "humanize-ms": "^1.2.1" } }, "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ=="],
|
|
324
324
|
|
|
@@ -334,6 +334,8 @@
|
|
|
334
334
|
|
|
335
335
|
"atomic-sleep": ["atomic-sleep@1.0.0", "", {}, "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ=="],
|
|
336
336
|
|
|
337
|
+
"axios": ["axios@1.19.0", "", { "dependencies": { "follow-redirects": "^1.16.0", "form-data": "^4.0.6", "https-proxy-agent": "^5.0.1", "proxy-from-env": "^2.1.0" } }, "sha512-ht/iuYZXEjFxLH/Hkezgd7m6JKlHHXEUSneaDz8uZe1Gj5QZtCnpyDsckvAiEnT89OEbCLmnte4R4sn7P0EKFw=="],
|
|
338
|
+
|
|
337
339
|
"base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="],
|
|
338
340
|
|
|
339
341
|
"bignumber.js": ["bignumber.js@9.3.1", "", {}, "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ=="],
|
|
@@ -446,7 +448,9 @@
|
|
|
446
448
|
|
|
447
449
|
"finalhandler": ["finalhandler@2.1.1", "", { "dependencies": { "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "on-finished": "^2.4.1", "parseurl": "^1.3.3", "statuses": "^2.0.1" } }, "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA=="],
|
|
448
450
|
|
|
449
|
-
"
|
|
451
|
+
"follow-redirects": ["follow-redirects@1.16.0", "", {}, "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw=="],
|
|
452
|
+
|
|
453
|
+
"form-data": ["form-data@4.0.6", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.4", "mime-types": "^2.1.35" } }, "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ=="],
|
|
450
454
|
|
|
451
455
|
"form-data-encoder": ["form-data-encoder@1.7.2", "", {}, "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A=="],
|
|
452
456
|
|
|
@@ -488,7 +492,7 @@
|
|
|
488
492
|
|
|
489
493
|
"hashery": ["hashery@1.5.1", "", { "dependencies": { "hookified": "^1.15.0" } }, "sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ=="],
|
|
490
494
|
|
|
491
|
-
"hasown": ["hasown@2.0.
|
|
495
|
+
"hasown": ["hasown@2.0.4", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A=="],
|
|
492
496
|
|
|
493
497
|
"hono": ["hono@4.12.18", "", {}, "sha512-RWzP96k/yv0PQfyXnWjs6zot20TqfpfsNXhOnev8d1InAxubW93L11/oNUc3tQqn2G0bSdAOBpX+2uDFHV7kdQ=="],
|
|
494
498
|
|
|
@@ -498,7 +502,7 @@
|
|
|
498
502
|
|
|
499
503
|
"https": ["https@1.0.0", "", {}, "sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg=="],
|
|
500
504
|
|
|
501
|
-
"https-proxy-agent": ["https-proxy-agent@
|
|
505
|
+
"https-proxy-agent": ["https-proxy-agent@5.0.1", "", { "dependencies": { "agent-base": "6", "debug": "4" } }, "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA=="],
|
|
502
506
|
|
|
503
507
|
"humanize-ms": ["humanize-ms@1.2.1", "", { "dependencies": { "ms": "^2.0.0" } }, "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ=="],
|
|
504
508
|
|
|
@@ -516,8 +520,12 @@
|
|
|
516
520
|
|
|
517
521
|
"ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="],
|
|
518
522
|
|
|
523
|
+
"is-electron": ["is-electron@2.2.2", "", {}, "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg=="],
|
|
524
|
+
|
|
519
525
|
"is-promise": ["is-promise@4.0.0", "", {}, "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="],
|
|
520
526
|
|
|
527
|
+
"is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="],
|
|
528
|
+
|
|
521
529
|
"isarray": ["isarray@1.0.0", "", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="],
|
|
522
530
|
|
|
523
531
|
"isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="],
|
|
@@ -656,6 +664,8 @@
|
|
|
656
664
|
|
|
657
665
|
"proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="],
|
|
658
666
|
|
|
667
|
+
"proxy-from-env": ["proxy-from-env@2.1.0", "", {}, "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA=="],
|
|
668
|
+
|
|
659
669
|
"qified": ["qified@0.10.1", "", { "dependencies": { "hookified": "^2.1.1" } }, "sha512-+Owyggi9IxT1ePKGafcI87ubSmxol6smwJ+RAHDQlx9+9cPwFWDiKFFCPuWhr9ignlGpZ9vDQLw67N4dcTVFEA=="],
|
|
660
670
|
|
|
661
671
|
"qrcode-terminal": ["qrcode-terminal@0.12.0", "", { "bin": { "qrcode-terminal": "./bin/qrcode-terminal.js" } }, "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ=="],
|
|
@@ -802,12 +812,20 @@
|
|
|
802
812
|
|
|
803
813
|
"@slack/web-api/p-queue": ["p-queue@6.6.2", "", { "dependencies": { "eventemitter3": "^4.0.4", "p-timeout": "^3.2.0" } }, "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ=="],
|
|
804
814
|
|
|
815
|
+
"@types/node-fetch/form-data": ["form-data@4.0.5", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w=="],
|
|
816
|
+
|
|
817
|
+
"es-set-tostringtag/hasown": ["hasown@2.0.3", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg=="],
|
|
818
|
+
|
|
805
819
|
"fetch-blob/web-streams-polyfill": ["web-streams-polyfill@3.3.3", "", {}, "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw=="],
|
|
806
820
|
|
|
807
821
|
"form-data/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="],
|
|
808
822
|
|
|
823
|
+
"gaxios/https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="],
|
|
824
|
+
|
|
809
825
|
"gaxios/node-fetch": ["node-fetch@3.3.2", "", { "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", "formdata-polyfill": "^4.0.10" } }, "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA=="],
|
|
810
826
|
|
|
827
|
+
"get-intrinsic/hasown": ["hasown@2.0.3", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg=="],
|
|
828
|
+
|
|
811
829
|
"groq-sdk/@types/node": ["@types/node@18.19.130", "", { "dependencies": { "undici-types": "~5.26.4" } }, "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg=="],
|
|
812
830
|
|
|
813
831
|
"music-metadata/content-type": ["content-type@2.0.0", "", {}, "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ=="],
|
|
@@ -824,10 +842,18 @@
|
|
|
824
842
|
|
|
825
843
|
"@slack/web-api/p-queue/p-timeout": ["p-timeout@3.2.0", "", { "dependencies": { "p-finally": "^1.0.0" } }, "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg=="],
|
|
826
844
|
|
|
845
|
+
"@types/node-fetch/form-data/hasown": ["hasown@2.0.3", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg=="],
|
|
846
|
+
|
|
847
|
+
"@types/node-fetch/form-data/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="],
|
|
848
|
+
|
|
827
849
|
"form-data/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="],
|
|
828
850
|
|
|
851
|
+
"gaxios/https-proxy-agent/agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="],
|
|
852
|
+
|
|
829
853
|
"groq-sdk/@types/node/undici-types": ["undici-types@5.26.5", "", {}, "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="],
|
|
830
854
|
|
|
831
855
|
"pptxgenjs/@types/node/undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
|
|
856
|
+
|
|
857
|
+
"@types/node-fetch/form-data/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="],
|
|
832
858
|
}
|
|
833
859
|
}
|
package/bunfig.toml
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
[test]
|
|
2
|
-
|
|
2
|
+
# Fija HIVE_DB_PATH=":memory:" antes de que cargue cualquier módulo — ver test/preload.ts.
|
|
3
|
+
# Sin esto la suite abre la base real del usuario (~/.hive/data/hive) y le escribe.
|
|
4
|
+
preload = ["./test/preload.ts"]
|
|
3
5
|
timeout = 30000
|
|
4
6
|
randomize = false
|
|
5
7
|
|
|
6
8
|
[install]
|
|
7
|
-
registry = "https://registry.npmjs.org/"
|
|
9
|
+
registry = "https://registry.npmjs.org/"
|