@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/docs/API-AGENTS.md
CHANGED
|
@@ -27,8 +27,8 @@ const agent = await createAgent(config: AgentConfig): Promise<Agent>
|
|
|
27
27
|
```typescript
|
|
28
28
|
interface AgentConfig {
|
|
29
29
|
name: string;
|
|
30
|
-
model?: string;
|
|
31
|
-
provider?:
|
|
30
|
+
model?: string; // id tal como lo nombra su dueño, ej. "claude-opus-5"
|
|
31
|
+
provider?: Provider; // cualquiera de los 16 del catálogo
|
|
32
32
|
systemPrompt?: string;
|
|
33
33
|
tools?: ToolDefinition[]; // Tools custom
|
|
34
34
|
skills?: SkillDefinition[]; // Skills custom
|
|
@@ -43,6 +43,21 @@ interface AgentConfig {
|
|
|
43
43
|
}
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
+
La config **se persiste en la fila del agente**, que es de donde el loop resuelve
|
|
47
|
+
provider y modelo en cada turno. Consecuencias que conviene tener presentes:
|
|
48
|
+
|
|
49
|
+
- `model` exige `provider`: el mismo modelo lo sirven varios providers y la clave
|
|
50
|
+
del catálogo depende de cuál. Sin provider, `createAgent` lanza.
|
|
51
|
+
- El modelo tiene que existir en `SEED_DATA.models`, o lanza con el nombre del
|
|
52
|
+
provider al que no pertenece.
|
|
53
|
+
- `name` deriva el id del agente (`"Mi Agente"` → `mi_agente`), así que dos
|
|
54
|
+
`createAgent` con el mismo nombre comparten fila e historial.
|
|
55
|
+
- Las tools pasadas acá quedan registradas **y** indexadas, así que el modelo
|
|
56
|
+
puede descubrirlas con `search_knowledge` como a las nativas.
|
|
57
|
+
|
|
58
|
+
> Hasta 0.1.5 `provider`, `model`, `maxIterations`, `skills` y `workspace` se
|
|
59
|
+
> aceptaban y se descartaban: el agente corría con lo que hubiera en la base.
|
|
60
|
+
|
|
46
61
|
### Agent
|
|
47
62
|
|
|
48
63
|
```typescript
|
|
@@ -82,7 +97,7 @@ import { createAgent, defineTool } from "@johpaz/hive-sdk";
|
|
|
82
97
|
const agent = await createAgent({
|
|
83
98
|
name: "asistente",
|
|
84
99
|
provider: "openai",
|
|
85
|
-
model: "gpt-
|
|
100
|
+
model: "gpt-5.6-luna",
|
|
86
101
|
systemPrompt: "Eres un asistente útil.",
|
|
87
102
|
});
|
|
88
103
|
|
|
@@ -208,7 +223,7 @@ const result = await runAgentIsolated({
|
|
|
208
223
|
|
|
209
224
|
## Tool Selector
|
|
210
225
|
|
|
211
|
-
Selección automática de tools
|
|
226
|
+
Selección automática de tools por búsqueda BM25 sobre el índice de capacidad.
|
|
212
227
|
|
|
213
228
|
```typescript
|
|
214
229
|
import { selectTools, CORE_TOOL_CATALOG } from "@johpaz/hive-sdk";
|
|
@@ -229,22 +244,22 @@ const MIN_RELEVANCE_THRESHOLD = -30;
|
|
|
229
244
|
|
|
230
245
|
### CORE_TOOL_CATALOG
|
|
231
246
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
| Categoría | Descripción |
|
|
235
|
-
|
|
236
|
-
|
|
|
237
|
-
| web | web_search
|
|
238
|
-
|
|
|
239
|
-
|
|
|
240
|
-
|
|
|
241
|
-
|
|
|
242
|
-
|
|
|
243
|
-
|
|
|
244
|
-
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
247
|
+
58 tools built-in organizadas por categoría:
|
|
248
|
+
|
|
249
|
+
| Categoría | # | Descripción |
|
|
250
|
+
|-----------|---|-------------|
|
|
251
|
+
| agents | 15 | delegación (`task_delegate`, `task_revise`), memoria, catálogo de modelos |
|
|
252
|
+
| web | 10 | `web_search`, `web_fetch`, automatización de browser, `artifact_inspect` |
|
|
253
|
+
| cron | 8 | scheduling con Croner |
|
|
254
|
+
| office | 8 | PDF, DOCX, XLSX, PPTX |
|
|
255
|
+
| filesystem | 7 | read, write, edit, delete, list, glob, exists |
|
|
256
|
+
| a2ui | 4 | superficies de UI generadas por el agente |
|
|
257
|
+
| core | 4 | `save_note`, `notify`, `report_progress`, `search_knowledge` |
|
|
258
|
+
| cli | 1 | ejecución de comandos |
|
|
259
|
+
| api | 1 | `api_request` |
|
|
260
|
+
|
|
261
|
+
Las categorías `projects`, `canvas`, `codebridge`, `voice` y `meeting`
|
|
262
|
+
desaparecieron en 0.1.5 junto con sus tools.
|
|
248
263
|
|
|
249
264
|
---
|
|
250
265
|
|
|
@@ -266,19 +281,55 @@ const minimal = getMinimalSkills();
|
|
|
266
281
|
|
|
267
282
|
### Providers Soportados
|
|
268
283
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
|
273
|
-
|
|
274
|
-
|
|
|
284
|
+
16 providers, todos sembrados con su catálogo de modelos y su precio por millón
|
|
285
|
+
de tokens. `provider` en `createAgent` acepta cualquiera de estos ids.
|
|
286
|
+
|
|
287
|
+
| Provider | Adapter | Notas |
|
|
288
|
+
|----------|---------|-------|
|
|
289
|
+
| `anthropic` | nativo | extended thinking, round-trip de thinking blocks |
|
|
290
|
+
| `gemini` | nativo | REST v1beta |
|
|
291
|
+
| `ollama` | nativo | modelos locales, flag `think` |
|
|
292
|
+
| `openai` | OpenAI-compat | Sol / Terra / Luna |
|
|
293
|
+
| `deepseek`, `kimi` | OpenAI-compat | round-trip de `reasoning_content` |
|
|
294
|
+
| `mistral`, `groq`, `qwen`, `minimax` | OpenAI-compat | |
|
|
295
|
+
| `z-ai` | OpenAI-compat | sirve en `/api/paas/v4`, no en `/v1` |
|
|
296
|
+
| `hiveagents` | OpenAI-compat | |
|
|
297
|
+
| `nvidia`, `openrouter`, `opencode-go`, `modelscope` | OpenAI-compat | **revendedores** |
|
|
298
|
+
|
|
299
|
+
Los cuatro revendedores prefijan sus ids de modelo con su propio id de provider
|
|
300
|
+
(`modelscope/Qwen/Qwen3.5-397B-A17B`), porque sirven modelos de terceros que se
|
|
301
|
+
solapan entre sí y la colección `models` se indexa por una sola clave. El
|
|
302
|
+
prefijo no llega al cable: el adapter lo quita antes del request.
|
|
303
|
+
|
|
304
|
+
```typescript
|
|
305
|
+
import { catalogModelKey, wireModelId } from "@johpaz/hive-sdk";
|
|
306
|
+
|
|
307
|
+
catalogModelKey("modelscope", "Qwen/Qwen3.5-397B-A17B"); // modelscope/Qwen/Qwen3.5-397B-A17B
|
|
308
|
+
wireModelId("modelscope", "modelscope/Qwen/Qwen3.5-397B-A17B"); // Qwen/Qwen3.5-397B-A17B
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Errores del provider
|
|
312
|
+
|
|
313
|
+
`callLLM` nunca lanza: devuelve `stop_reason: "error"` con un campo `error`
|
|
314
|
+
tipado. Chequealo antes de persistir `content` en cualquier lado — es texto para
|
|
315
|
+
mostrar, no salida del modelo.
|
|
316
|
+
|
|
317
|
+
```typescript
|
|
318
|
+
const response = await callLLM({ ... });
|
|
319
|
+
|
|
320
|
+
if (response.stop_reason === "error") {
|
|
321
|
+
console.error(response.error?.message);
|
|
322
|
+
// HTTP 404/410 → el proveedor retiró el modelo; reintentar no sirve.
|
|
323
|
+
if (response.error?.modelUnavailable) selectAnotherModel();
|
|
324
|
+
}
|
|
325
|
+
```
|
|
275
326
|
|
|
276
327
|
### callLLM
|
|
277
328
|
|
|
278
329
|
```typescript
|
|
279
330
|
import { callLLM, resolveProviderConfig } from "@johpaz/hive-sdk";
|
|
280
331
|
|
|
281
|
-
const config = await resolveProviderConfig("openai", "gpt-
|
|
332
|
+
const config = await resolveProviderConfig("openai", "gpt-5.6-luna");
|
|
282
333
|
|
|
283
334
|
const response = await callLLM({
|
|
284
335
|
provider: config.provider,
|
|
@@ -41,7 +41,7 @@ El Context Compiler implementa 4 estrategias de Context Engineering:
|
|
|
41
41
|
| Estrategia | Descripción |
|
|
42
42
|
|------------|-------------|
|
|
43
43
|
| **ESCRIBIR** | Guardar información fuera del contexto (Scratchpad, trazas) |
|
|
44
|
-
| **SELECCIONAR** | Traer solo lo relevante (
|
|
44
|
+
| **SELECCIONAR** | Traer solo lo relevante (selección BM25 de tool/skill/playbook) |
|
|
45
45
|
| **COMPRIMIR** | Reducir tokens (compaction, tool result clearing) |
|
|
46
46
|
| **AISLAR** | Separar contextos por agente (workers reciben contexto mínimo) |
|
|
47
47
|
|
|
@@ -114,56 +114,53 @@ Memoria temporal por hilo de conversación.
|
|
|
114
114
|
|
|
115
115
|
```typescript
|
|
116
116
|
import { Scratchpad } from "@johpaz/hive-sdk";
|
|
117
|
-
import { getDb } from "@johpaz/hive-sdk";
|
|
118
117
|
|
|
119
|
-
const
|
|
120
|
-
const pad = new Scratchpad(db);
|
|
118
|
+
const pad = new Scratchpad();
|
|
121
119
|
|
|
122
|
-
|
|
123
|
-
pad.
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
// Listar notas de un hilo
|
|
129
|
-
const all = pad.list("thread-1");
|
|
130
|
-
|
|
131
|
-
// Eliminar nota
|
|
132
|
-
pad.delete("thread-1", "mi-nota");
|
|
133
|
-
|
|
134
|
-
// Limpiar todas las notas de un hilo
|
|
135
|
-
pad.clear("thread-1");
|
|
120
|
+
await pad.write("thread-1", "mi-nota", "contenido");
|
|
121
|
+
const value = await pad.read("thread-1", "mi-nota");
|
|
122
|
+
const all = await pad.list("thread-1"); // { "mi-nota": "contenido" }
|
|
123
|
+
await pad.delete("thread-1", "mi-nota");
|
|
124
|
+
await pad.clear("thread-1");
|
|
136
125
|
```
|
|
137
126
|
|
|
127
|
+
El scratchpad se inyecta al system prompt en cada turno bajo
|
|
128
|
+
`# SCRATCHPAD (Persistent Notes)`, comprimido con TOON. La clase es una fachada
|
|
129
|
+
sobre las funciones de `conversation-store`: hasta 0.1.5 tenía implementación
|
|
130
|
+
propia y, como usaba el mismo id, escribía las mismas filas con un documento
|
|
131
|
+
incompleto que rompía el orden por recencia.
|
|
132
|
+
|
|
138
133
|
---
|
|
139
134
|
|
|
140
135
|
## EthicsGuard
|
|
141
136
|
|
|
142
|
-
|
|
137
|
+
Capa opcional de reglas de calidad de respuesta, leídas de la colección
|
|
138
|
+
`playbook` (`category: "response_quality"`).
|
|
143
139
|
|
|
144
140
|
```typescript
|
|
145
141
|
import { EthicsGuard } from "@johpaz/hive-sdk";
|
|
146
|
-
import { getDb } from "@johpaz/hive-sdk";
|
|
147
142
|
|
|
148
|
-
const
|
|
149
|
-
const guard = new EthicsGuard(db);
|
|
143
|
+
const guard = new EthicsGuard();
|
|
150
144
|
|
|
151
|
-
//
|
|
152
|
-
const
|
|
153
|
-
const rulesForRole = guard.getRules("agent"); // Con FTS5
|
|
145
|
+
const rules = await guard.getRules(); // todas las activas
|
|
146
|
+
const rulesForRole = await guard.getRules("coordinator"); // filtra por applicable_to
|
|
154
147
|
|
|
155
|
-
|
|
156
|
-
const prompt = guard.injectIntoPrompt(
|
|
157
|
-
"Eres un asistente.",
|
|
158
|
-
rules
|
|
159
|
-
);
|
|
148
|
+
const prompt = guard.injectIntoPrompt("Eres un asistente.", rules);
|
|
160
149
|
|
|
161
|
-
|
|
162
|
-
if (guard.hasEthicsLayer()) {
|
|
150
|
+
if (await guard.hasEthicsLayer()) {
|
|
163
151
|
console.log("Reglas de calidad activas");
|
|
164
152
|
}
|
|
165
153
|
```
|
|
166
154
|
|
|
155
|
+
> El constructor ya no recibe un handle de base y todos los métodos son async:
|
|
156
|
+
> hasta 0.1.5 la clase armaba SQL a mano contra la tabla `playbook` y hacía un
|
|
157
|
+
> JOIN con la tabla virtual `playbook_fts`. Ninguna de las dos existe.
|
|
158
|
+
|
|
159
|
+
**Esto no es la ética constitucional del agente.** Esa vive en la colección
|
|
160
|
+
`ethics` y la ensambla `buildSystemPrompt()` como primera sección, completa y sin
|
|
161
|
+
comprimir. `EthicsGuard` es un complemento para hosts que quieran inyectar,
|
|
162
|
+
además, reglas aprendidas por ACE.
|
|
163
|
+
|
|
167
164
|
---
|
|
168
165
|
|
|
169
166
|
## ACE (Tracer, Reflector, Curator)
|
|
@@ -178,7 +175,7 @@ import { saveTrace, recordLLMUsage } from "@hive/core/ace";
|
|
|
178
175
|
// Guardar traza de ejecución
|
|
179
176
|
saveTrace({
|
|
180
177
|
agentId: "analyst",
|
|
181
|
-
model: "gpt-
|
|
178
|
+
model: "gpt-5.6-luna",
|
|
182
179
|
messages: 5,
|
|
183
180
|
toolCalls: ["web_search", "read_file"],
|
|
184
181
|
durationMs: 1200,
|
|
@@ -188,7 +185,7 @@ saveTrace({
|
|
|
188
185
|
|
|
189
186
|
// Registrar uso de LLM
|
|
190
187
|
recordLLMUsage({
|
|
191
|
-
model: "gpt-
|
|
188
|
+
model: "gpt-5.6-luna",
|
|
192
189
|
inputTokens: 200,
|
|
193
190
|
outputTokens: 250,
|
|
194
191
|
durationMs: 800,
|
|
@@ -71,7 +71,7 @@ const exec = new ToolExecutor(reg);
|
|
|
71
71
|
const result = await exec.execute("echo", { msg: "hola" });
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
### Tool Selection (
|
|
74
|
+
### Tool Selection (BM25)
|
|
75
75
|
|
|
76
76
|
```typescript
|
|
77
77
|
import { selectTools, CORE_TOOL_CATALOG } from "@johpaz/hive-sdk";
|
|
@@ -120,17 +120,25 @@ Conecta APIs REST con autenticación y métodos HTTP:
|
|
|
120
120
|
|
|
121
121
|
```typescript
|
|
122
122
|
const result = await apiRequestTool.execute({
|
|
123
|
-
url: "https://api.example.com/items",
|
|
124
123
|
method: "POST",
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
124
|
+
url: "https://api.example.com/items",
|
|
125
|
+
headers: {
|
|
126
|
+
"Content-Type": "application/json",
|
|
127
|
+
Authorization: `Bearer ${process.env.API_TOKEN}`,
|
|
128
|
+
},
|
|
129
|
+
body: JSON.stringify({ name: "example" }),
|
|
130
|
+
query_params: { verbose: "1" },
|
|
131
|
+
timeout_ms: 30000,
|
|
129
132
|
});
|
|
130
133
|
|
|
131
|
-
//
|
|
134
|
+
// → { ok, status, statusText, headers, body, contentType, url }
|
|
135
|
+
// `body` viene parseado si la respuesta es JSON, y como string si no.
|
|
132
136
|
```
|
|
133
137
|
|
|
138
|
+
Nunca lanza: un fallo de red o un método inválido vuelven como
|
|
139
|
+
`{ ok: false, error }`. No tiene helpers de autenticación — la credencial va
|
|
140
|
+
como un header más.
|
|
141
|
+
|
|
134
142
|
---
|
|
135
143
|
|
|
136
144
|
## Skills
|
|
@@ -168,12 +176,24 @@ const skill = loader.get("file-manager");
|
|
|
168
176
|
|
|
169
177
|
### Skills empaquetadas
|
|
170
178
|
|
|
171
|
-
El SDK incluye skills empaquetadas
|
|
179
|
+
El SDK incluye 23 skills empaquetadas. Algunas útiles para web y APIs:
|
|
172
180
|
|
|
173
181
|
- `web_research` — búsqueda y síntesis con `web_search` + `web_fetch`.
|
|
174
|
-
- `web_browser_research` — investigación profunda combinando `web_search` con navegación real (`browser_navigate`, `browser_extract`) para sitios dinámicos.
|
|
175
182
|
- `browser_scrape` — captura de contenido renderizado con screenshots.
|
|
176
183
|
- `browser_automate` — automatización de flujos web (clicks, formularios).
|
|
184
|
+
- `api_client` — consumo de APIs REST con `api_request`.
|
|
185
|
+
- `capability_discovery` — la skill mínima: enseña al agente a encontrar el resto.
|
|
186
|
+
|
|
187
|
+
Se generan desde los `SKILL.md` de `packages/core/src/skills/bundled/`:
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
bun run skills:bundle
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
En 0.1.5 se retiraron 21 skills que invocaban tools inexistentes (`voice_*`,
|
|
194
|
+
`meeting_transcription`, `canvas_*`, `code_*`, `project_*`): el selector se las
|
|
195
|
+
podía ofrecer al modelo y la ejecución moría sin ejecutor. Hay un test que falla
|
|
196
|
+
si alguna vuelve a declarar una tool que no está en el registry.
|
|
177
197
|
|
|
178
198
|
---
|
|
179
199
|
|
|
@@ -371,29 +391,45 @@ unsubscribeCanvas(handler);
|
|
|
371
391
|
|
|
372
392
|
## Storage
|
|
373
393
|
|
|
374
|
-
|
|
394
|
+
HiveDB (`@johpaz/hive-db`), un motor embebido con colecciones de documentos e
|
|
395
|
+
índice BM25. Reemplazó a SQLite + FTS5 en 0.1.5.
|
|
375
396
|
|
|
376
397
|
```typescript
|
|
377
|
-
import {
|
|
398
|
+
import { ensureHiveDb, col } from "@johpaz/hive-sdk";
|
|
399
|
+
import type { AgentDoc } from "@johpaz/hive-sdk";
|
|
400
|
+
|
|
401
|
+
// Abre la base, crea los índices y siembra el catálogo. Idempotente.
|
|
402
|
+
await ensureHiveDb();
|
|
378
403
|
|
|
379
|
-
await
|
|
380
|
-
const db = getTestDb();
|
|
404
|
+
const agents = await col<AgentDoc>("agents");
|
|
381
405
|
|
|
382
|
-
const
|
|
383
|
-
const
|
|
406
|
+
const one = await agents.get(agentId); // { id, doc, version } | undefined
|
|
407
|
+
const workers = await agents.findBy("role", "worker");
|
|
408
|
+
const all = await agents.scan({});
|
|
409
|
+
const scoped = await agents.scan({ prefix: `${threadId}:` });
|
|
384
410
|
|
|
385
|
-
|
|
411
|
+
// Escritura con concurrencia optimista
|
|
412
|
+
await agents.put(agentId, { ...one.doc, status: "idle" }, { expectedVersion: one.version });
|
|
386
413
|
```
|
|
387
414
|
|
|
388
|
-
|
|
415
|
+
`HIVE_DB_PATH=":memory:"` abre una base efímera — es lo que usa la suite de
|
|
416
|
+
tests para no tocar la del usuario.
|
|
417
|
+
|
|
418
|
+
### Búsqueda de capacidad
|
|
419
|
+
|
|
420
|
+
El índice BM25 es lo que hace funcionar a `search_knowledge`: el agente arranca
|
|
421
|
+
con un loadout mínimo y descubre el resto en runtime.
|
|
389
422
|
|
|
390
|
-
```
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
423
|
+
```typescript
|
|
424
|
+
import { selectTools, selectSkills } from "@johpaz/hive-sdk";
|
|
425
|
+
|
|
426
|
+
const tools = await selectTools("leer un archivo del workspace");
|
|
427
|
+
const skills = await selectSkills("investigar en la web");
|
|
395
428
|
```
|
|
396
429
|
|
|
430
|
+
Una tool declarada con `defineTool` y pasada a `createAgent` queda indexada
|
|
431
|
+
automáticamente, así que el modelo puede descubrirla igual que a las nativas.
|
|
432
|
+
|
|
397
433
|
---
|
|
398
434
|
|
|
399
435
|
## Config
|
package/docs/HIVE-HARNESS.md
CHANGED
|
@@ -7,7 +7,7 @@ packets. It's what lets a host app (a `hive-app`, or a production service like
|
|
|
7
7
|
Hive Cloud) survive a process restart mid-task without losing work or
|
|
8
8
|
double-executing a tool call.
|
|
9
9
|
|
|
10
|
-
It is deliberately **not** wired into
|
|
10
|
+
It is deliberately **not** wired into the agent loop automatically, and it has
|
|
11
11
|
no built-in notion of "chat" vs "project task" vs any other app-specific job
|
|
12
12
|
type — job `type` and run `kind` are plain strings. The host app defines its
|
|
13
13
|
own vocabulary and registers executors for it. This is the same infrastructure
|
package/docs/INDEX.md
CHANGED
|
@@ -41,7 +41,7 @@ const tool = defineTool({
|
|
|
41
41
|
const agent = await createAgent({
|
|
42
42
|
name: "asistente",
|
|
43
43
|
provider: "openai",
|
|
44
|
-
model: "gpt-
|
|
44
|
+
model: "gpt-5.6-luna",
|
|
45
45
|
tools: [tool],
|
|
46
46
|
});
|
|
47
47
|
|
|
@@ -97,7 +97,7 @@ packages/
|
|
|
97
97
|
│ ├── api/ # createAgent(), Agent interface
|
|
98
98
|
│ ├── agent/ # AgentLoop, ContextCompiler, ConversationStore
|
|
99
99
|
│ │ ├── providers/ # LLM providers (OpenAI, Anthropic, Gemini, Ollama)
|
|
100
|
-
│ │ └──
|
|
100
|
+
│ │ └── tool-selector.ts, skill-selector.ts, playbook-selector.ts (BM25 sobre HiveDB)
|
|
101
101
|
│ ├── tools/ # 70+ built-in tools + ToolRegistry + ToolExecutor
|
|
102
102
|
│ ├── skills/ # SkillLoader, defineSkill()
|
|
103
103
|
│ ├── swarm/ # DAGScheduler, TaskGraph, WorkerPool
|
|
@@ -105,7 +105,7 @@ packages/
|
|
|
105
105
|
│ ├── gateway/ # HTTP/WebSocket server (Bun.serve)
|
|
106
106
|
│ ├── channels/ # Telegram, Discord, WhatsApp, Slack, Webchat
|
|
107
107
|
│ ├── mcp/ # MCPClientManager + transports (SSE, WS, STDIO)
|
|
108
|
-
│ ├── storage/ #
|
|
108
|
+
│ ├── storage/ # HiveDB (colecciones + BM25)
|
|
109
109
|
│ ├── canvas/ # CanvasManager + A2UI emitter
|
|
110
110
|
│ ├── scheduler/ # CronScheduler + DAG execution
|
|
111
111
|
│ ├── tool-runtime/ # Bun Worker pool para ejecución paralela de tools
|
|
@@ -137,7 +137,7 @@ packages/
|
|
|
137
137
|
Unidad de ejecución con configuración, contexto y ciclo de ejecución.
|
|
138
138
|
|
|
139
139
|
### Tool
|
|
140
|
-
Función invocable por el agente. Definida con `defineTool()`, seleccionada
|
|
140
|
+
Función invocable por el agente. Definida con `defineTool()`, seleccionada por búsqueda BM25.
|
|
141
141
|
|
|
142
142
|
### Skill
|
|
143
143
|
Composición de tools con triggers semánticos. Definida con `defineSkill()`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Template `hive-app` — Documentación Completa
|
|
2
2
|
|
|
3
|
-
El template `hive-app` genera una **aplicación harness completa** lista para ejecutar. Incluye gateway HTTP/WebSocket, agente coordinador, configuración de canales, base de datos
|
|
3
|
+
El template `hive-app` genera una **aplicación harness completa** lista para ejecutar. Incluye gateway HTTP/WebSocket, agente coordinador, configuración de canales, base de datos HiveDB, y deployment con Docker.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -97,7 +97,7 @@ export default {
|
|
|
97
97
|
| `channels.discord.enabled` | `boolean` | `false` | Bot de Discord |
|
|
98
98
|
| `channels.whatsapp.enabled` | `boolean` | `false` | Bot de WhatsApp |
|
|
99
99
|
| `channels.slack.enabled` | `boolean` | `false` | Bot de Slack |
|
|
100
|
-
| `database.path` | `string` | `"./data/hive
|
|
100
|
+
| `database.path` | `string` | `"./data/hive"` | Ruta de la base de datos HiveDB |
|
|
101
101
|
|
|
102
102
|
---
|
|
103
103
|
|
|
@@ -105,7 +105,7 @@ export default {
|
|
|
105
105
|
|
|
106
106
|
Entry point de la aplicación. Realiza:
|
|
107
107
|
|
|
108
|
-
1. Inicializa la base de datos (`
|
|
108
|
+
1. Inicializa la base de datos (`ensureHiveDb`, que además siembra el catálogo)
|
|
109
109
|
2. Crea el agente coordinador (`createAgent`)
|
|
110
110
|
3. Inicializa el ChannelManager
|
|
111
111
|
4. Arranca el gateway (`startGateway`)
|
|
@@ -115,7 +115,7 @@ Entry point de la aplicación. Realiza:
|
|
|
115
115
|
import {
|
|
116
116
|
createAgent,
|
|
117
117
|
startGateway,
|
|
118
|
-
|
|
118
|
+
ensureHiveDb,
|
|
119
119
|
ChannelManager,
|
|
120
120
|
logger,
|
|
121
121
|
} from "@johpaz/hive-sdk";
|
|
@@ -126,12 +126,12 @@ const log = logger.child("app");
|
|
|
126
126
|
async function main() {
|
|
127
127
|
log.info(`Starting my-hive...`);
|
|
128
128
|
|
|
129
|
-
await
|
|
129
|
+
await ensureHiveDb();
|
|
130
130
|
|
|
131
131
|
const agent = await createAgent({
|
|
132
132
|
name: "coordinator",
|
|
133
133
|
provider: "openai",
|
|
134
|
-
model: "gpt-
|
|
134
|
+
model: "gpt-5.6-luna",
|
|
135
135
|
systemPrompt: "You are a helpful AI assistant...",
|
|
136
136
|
});
|
|
137
137
|
|
|
@@ -160,7 +160,7 @@ Puedes cambiar el `provider`, `model`, y `systemPrompt`:
|
|
|
160
160
|
```typescript
|
|
161
161
|
const agent = await createAgent({
|
|
162
162
|
name: "coordinator",
|
|
163
|
-
provider: "anthropic", //
|
|
163
|
+
provider: "anthropic", // cualquiera de los 16 del catálogo
|
|
164
164
|
model: "claude-3-5-sonnet-20241022",
|
|
165
165
|
systemPrompt: "Tu system prompt personalizado...",
|
|
166
166
|
});
|
|
@@ -183,7 +183,7 @@ const searchTool = defineTool({
|
|
|
183
183
|
const agent = await createAgent({
|
|
184
184
|
name: "coordinator",
|
|
185
185
|
provider: "openai",
|
|
186
|
-
model: "gpt-
|
|
186
|
+
model: "gpt-5.6-luna",
|
|
187
187
|
tools: [searchTool],
|
|
188
188
|
});
|
|
189
189
|
```
|
|
@@ -200,7 +200,7 @@ import { createAgent } from "@johpaz/hive-sdk";
|
|
|
200
200
|
export const coordinatorAgent = await createAgent({
|
|
201
201
|
name: "coordinator",
|
|
202
202
|
provider: "openai",
|
|
203
|
-
model: "gpt-
|
|
203
|
+
model: "gpt-5.6-luna",
|
|
204
204
|
systemPrompt: "You are the coordinator agent...",
|
|
205
205
|
});
|
|
206
206
|
```
|
|
@@ -278,7 +278,7 @@ LOG_LEVEL=info
|
|
|
278
278
|
|----------|-----------|-------------|
|
|
279
279
|
| `HIVE_HOST` | No | Host del gateway |
|
|
280
280
|
| `HIVE_PORT` | No | Puerto del gateway |
|
|
281
|
-
| `
|
|
281
|
+
| `HIVE_HOME` | No | Directorio de datos (HiveDB en `<HIVE_HOME>/data`) |
|
|
282
282
|
| `OPENAI_API_KEY` | Sí* | API key de OpenAI |
|
|
283
283
|
| `ANTHROPIC_API_KEY` | Sí* | API key de Anthropic |
|
|
284
284
|
| `GOOGLE_API_KEY` | Sí* | API key de Gemini |
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@johpaz/hive-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
|
+
"private": false,
|
|
4
5
|
"description": "Hive SDK — The Agent Harness SDK. Build, deploy, and scale AI agent applications with multi-channel support, context engineering, and swarm orchestration.",
|
|
5
6
|
"license": "MIT",
|
|
6
7
|
"homepage": "https://github.com/johpaz/hive-sdk#readme",
|
|
@@ -31,14 +32,15 @@
|
|
|
31
32
|
".": "./packages/core/src/index.ts",
|
|
32
33
|
"./agent": "./packages/core/src/agent/index.ts",
|
|
33
34
|
"./agent/providers": "./packages/core/src/agent/providers/index.ts",
|
|
34
|
-
"./agent/selectors": "./packages/core/src/agent/selectors/index.ts",
|
|
35
35
|
"./tools": "./packages/core/src/tools/index.ts",
|
|
36
36
|
"./skills": "./packages/core/src/skills/index.ts",
|
|
37
37
|
"./storage": "./packages/core/src/storage/index.ts",
|
|
38
38
|
"./swarm": "./packages/core/src/swarm/index.ts",
|
|
39
39
|
"./swarm/strategies": "./packages/core/src/swarm/strategies/index.ts",
|
|
40
40
|
"./swarm/presets": "./packages/core/src/swarm/presets/index.ts",
|
|
41
|
-
"./
|
|
41
|
+
"./scheduler": "./packages/core/src/scheduler/index.ts",
|
|
42
|
+
"./workers": "./packages/core/src/workers/index.ts",
|
|
43
|
+
"./events": "./packages/core/src/events/event-bus.ts",
|
|
42
44
|
"./ethics": "./packages/core/src/ethics/index.ts",
|
|
43
45
|
"./canvas": "./packages/core/src/canvas/index.ts",
|
|
44
46
|
"./config": "./packages/core/src/config/index.ts",
|
|
@@ -63,24 +65,27 @@
|
|
|
63
65
|
],
|
|
64
66
|
"scripts": {
|
|
65
67
|
"build": "bun run typecheck",
|
|
66
|
-
"typecheck": "tsc --
|
|
68
|
+
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
67
69
|
"test": "bun test",
|
|
70
|
+
"skills:bundle": "bun scripts/generate-skill-bundle.ts",
|
|
71
|
+
"version:set": "bun scripts/bump-version.ts",
|
|
72
|
+
"release": "bun scripts/bump-version.ts --push",
|
|
68
73
|
"prepublish": "echo 'No build needed - Bun runs TypeScript directly'"
|
|
69
74
|
},
|
|
70
75
|
"dependencies": {
|
|
71
76
|
"@johpaz/hive-db": "^0.4.0",
|
|
72
77
|
"@anthropic-ai/sdk": "^0.74.0",
|
|
73
78
|
"@google/genai": "^1.43.0",
|
|
74
|
-
"@modelcontextprotocol/sdk": "
|
|
75
|
-
"@sapphire/snowflake": "
|
|
76
|
-
"@slack/bolt": "
|
|
77
|
-
"@whiskeysockets/baileys": "
|
|
79
|
+
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
80
|
+
"@sapphire/snowflake": "^3.5.5",
|
|
81
|
+
"@slack/bolt": "^4.7.2",
|
|
82
|
+
"@whiskeysockets/baileys": "7.0.0-rc11",
|
|
78
83
|
"async-mutex": "^0.5.0",
|
|
79
84
|
"cron-parser": "^5.5.0",
|
|
80
85
|
"croner": "^10.0.1",
|
|
81
|
-
"discord.js": "
|
|
86
|
+
"discord.js": "^14.26.4",
|
|
82
87
|
"docx": "^9.6.1",
|
|
83
|
-
"grammy": "
|
|
88
|
+
"grammy": "^1.42.0",
|
|
84
89
|
"groq-sdk": "^0.37.0",
|
|
85
90
|
"jsonwebtoken": "^9.0.3",
|
|
86
91
|
"jszip": "^3.10.1",
|
|
@@ -90,10 +95,10 @@
|
|
|
90
95
|
"openai": "^6.18.0",
|
|
91
96
|
"pdfjs-dist": "^5.6.205",
|
|
92
97
|
"pptxgenjs": "^4.0.1",
|
|
93
|
-
"qrcode-terminal": "
|
|
98
|
+
"qrcode-terminal": "^0.12.0",
|
|
94
99
|
"toon-format-parser": "^1.1.0",
|
|
95
100
|
"xlsx": "^0.18.5",
|
|
96
|
-
"zod": "
|
|
101
|
+
"zod": "^4.4.3"
|
|
97
102
|
},
|
|
98
103
|
"devDependencies": {
|
|
99
104
|
"@types/bun": "^1.3.13",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hive/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "Hive CLI — init, run, test, trace",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
8
|
-
"
|
|
8
|
+
"hives": "./src/index.ts"
|
|
9
9
|
},
|
|
10
10
|
"main": "./src/index.ts",
|
|
11
11
|
"exports": {
|