summaryrefslogtreecommitdiffhomepage
path: root/packages/host-bin/src
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-26 00:02:22 +0900
committerAdam Malczewski <[email protected]>2026-06-26 00:02:22 +0900
commitc5c34ed70e0f04b7b936fa7a1d88ef807472fb96 (patch)
tree2eb3d32159c2875cf518fc47b7f48010d506aafe /packages/host-bin/src
parent9b91d1bca83e7599fb7d7de6038cedf186e61764 (diff)
downloaddispatch-c5c34ed70e0f04b7b936fa7a1d88ef807472fb96.tar.gz
dispatch-c5c34ed70e0f04b7b936fa7a1d88ef807472fb96.zip
feat(heartbeat): workspace heartbeat loop with configurable AI monitoring
Diffstat (limited to 'packages/host-bin/src')
-rw-r--r--packages/host-bin/src/main.ts5
1 files changed, 5 insertions, 0 deletions
diff --git a/packages/host-bin/src/main.ts b/packages/host-bin/src/main.ts
index 571628f..26015ed 100644
--- a/packages/host-bin/src/main.ts
+++ b/packages/host-bin/src/main.ts
@@ -2,6 +2,7 @@ import { existsSync, mkdirSync } from "node:fs";
import { dirname } from "node:path";
import { extension as authApikeyExt } from "@dispatch/auth-apikey";
import { extension as cacheWarmingExt } from "@dispatch/cache-warming";
+import { extension as heartbeatExt } from "@dispatch/heartbeat";
import { extension as conversationStoreExt } from "@dispatch/conversation-store";
import { createCredentialStoreExtension } from "@dispatch/credential-store";
import { createExecBackendExtension } from "@dispatch/exec-backend";
@@ -105,6 +106,10 @@ const CORE_EXTENSIONS: readonly Extension[] = [
// tool-serving extensions) to keep the DAG honest — and before
// transport-http, whose routes consume the ComputerService it provides.
sshExt,
+ // heartbeat PROVIDES the HeartbeatService (per-workspace AI loop) the
+ // HTTP routes delegate to. Placed before transport-http (which depends on
+ // it) — mirrors how ssh precedes transport-http for the same reason.
+ heartbeatExt,
createTransportHttpExtension(),
// Surface extensions — dependency order: surface-registry first, then consumers.
createSurfaceRegistryExtension(),