summaryrefslogtreecommitdiffhomepage
path: root/packages/exec-backend/src/index.ts
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-25 15:34:59 +0900
committerAdam Malczewski <[email protected]>2026-06-25 15:34:59 +0900
commit350b9b8e247bb1c24f49a884fdade18e44b115eb (patch)
tree502df8f103d53f1089eeee7278865d73077f9edc /packages/exec-backend/src/index.ts
parent3647acfb7f078b2f035dd325f6959980c5b46c9a (diff)
downloaddispatch-350b9b8e247bb1c24f49a884fdade18e44b115eb.tar.gz
dispatch-350b9b8e247bb1c24f49a884fdade18e44b115eb.zip
feat(ssh): wave 5a — exec-backend remote-backend factory handle
exec-backend declares remoteExecBackendFactoryHandle (a consumer-defined ServiceHandle<(computerId) => ExecBackend>) that the ssh package will provide (standard→core layering). The resolver's computerId-set branch now lazy-looks-up this factory (at tool-execute time, runtime) and calls it; if ssh isn't loaded, getService throws → a clear 'SSH remote execution is not configured' error. The computerId-undefined (local) branch is byte-identical to before. This is the seam wave 5b (the ssh package) plugs into. +tests for both branches. Verified: tsc -b EXIT 0, biome clean. No merge or push.
Diffstat (limited to 'packages/exec-backend/src/index.ts')
-rw-r--r--packages/exec-backend/src/index.ts5
1 files changed, 4 insertions, 1 deletions
diff --git a/packages/exec-backend/src/index.ts b/packages/exec-backend/src/index.ts
index 3135f79..30c12c8 100644
--- a/packages/exec-backend/src/index.ts
+++ b/packages/exec-backend/src/index.ts
@@ -2,4 +2,7 @@ export type { DirEntry, ExecBackend, ExecResult, SpawnParams, StatResult } from
export { createExecBackendExtension, manifest } from "./extension.js";
export { createLocalExecBackend, localExecBackend } from "./local.js";
export type { ExecBackendResolver } from "./service.js";
-export { execBackendHandle } from "./service.js";
+export {
+ execBackendHandle,
+ remoteExecBackendFactoryHandle,
+} from "./service.js";