summaryrefslogtreecommitdiffhomepage
path: root/packages/kernel/src/contracts/tool.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/kernel/src/contracts/tool.ts')
-rw-r--r--packages/kernel/src/contracts/tool.ts12
1 files changed, 12 insertions, 0 deletions
diff --git a/packages/kernel/src/contracts/tool.ts b/packages/kernel/src/contracts/tool.ts
index d5a835c..589fbd0 100644
--- a/packages/kernel/src/contracts/tool.ts
+++ b/packages/kernel/src/contracts/tool.ts
@@ -78,6 +78,18 @@ export interface ToolExecuteContext {
* a tool has no conversation scope (e.g. a global tool).
*/
readonly conversationId?: string;
+
+ /**
+ * The computer this tool-call executes on (SSH support). When
+ * omitted/undefined, execution is LOCAL (today's behavior — the tool uses
+ * the local node fs/child_process). When set, it is an SSH config alias
+ * (see `notes/ssh-support-plan.md` §3); a tool resolves a remote
+ * `ExecBackend` for it via its injected resolver. The kernel never
+ * interprets it — it forwards the value verbatim from
+ * `RunTurnInput.computerId`, exactly like `cwd`. It never enters the model
+ * prompt, so it does not affect prompt caching.
+ */
+ readonly computerId?: string;
}
/**