diff options
| author | Adam Malczewski <[email protected]> | 2026-06-26 00:02:22 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-26 00:02:22 +0900 |
| commit | c5c34ed70e0f04b7b936fa7a1d88ef807472fb96 (patch) | |
| tree | 2eb3d32159c2875cf518fc47b7f48010d506aafe /packages/host-bin | |
| parent | 9b91d1bca83e7599fb7d7de6038cedf186e61764 (diff) | |
| download | dispatch-c5c34ed70e0f04b7b936fa7a1d88ef807472fb96.tar.gz dispatch-c5c34ed70e0f04b7b936fa7a1d88ef807472fb96.zip | |
feat(heartbeat): workspace heartbeat loop with configurable AI monitoring
Diffstat (limited to 'packages/host-bin')
| -rw-r--r-- | packages/host-bin/package.json | 1 | ||||
| -rw-r--r-- | packages/host-bin/src/main.ts | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/packages/host-bin/package.json b/packages/host-bin/package.json index 64f436e..f27bf06 100644 --- a/packages/host-bin/package.json +++ b/packages/host-bin/package.json @@ -11,6 +11,7 @@ "@dispatch/cache-warming": "workspace:*", "@dispatch/credential-store": "workspace:*", "@dispatch/exec-backend": "workspace:*", + "@dispatch/heartbeat": "workspace:*", "@dispatch/provider-openai-compat": "workspace:*", "@dispatch/provider-umans": "workspace:*", "@dispatch/message-queue": "workspace:*", 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(), |
