PAD-12: per-terminal transport (direct Tailscale SSH or Warpgate, pre-session fallback, pinned host keys, agent key from Vault), one-call win10 launch and one-call collect, remote call timings, agentd ping

This commit is contained in:
jj.wang
2026-10-22 02:59:37 +00:00
parent 83bc0f243c
commit 5192e04088
23 changed files with 1850 additions and 132 deletions
+4 -2
View File
@@ -21,7 +21,7 @@ from .executors import ExecResult, Run, make_executor
from .executors.base import fill
from .plane import Plane, html_to_text, text_to_html
from .store import Store
from .transports import TransportError, make_transport
from .transports import CallLog, TransportError, make_transport
TAGS = ("review", "question", "blocked", "progress")
WORKER = "[worker]"
@@ -152,9 +152,11 @@ class Agentd:
self.store = store or Store(cfg.state_dir, log_dir=cfg.log_dir)
self.now = now
self.log = self.store.log
# one line per remote call (terminal, channel, operation, ms, rc) -> remote.log; fallback/host-key -> agentd.log
self.calllog = CallLog(self.store.log_dir / "remote.log", self.log)
self.plane_factory = plane_factory or (lambda term: Plane(
cfg.plane["base_url"], cfg.plane["workspace"], cfg.token(term), cfg.plane.get("timeout", 60)))
self.transport_factory = transport_factory or (lambda term: make_transport(cfg, term))
self.transport_factory = transport_factory or (lambda term: make_transport(cfg, term, log=self.calllog))
self.executor_factory = executor_factory or (lambda term, name: make_executor(cfg, term, name, self.transport(term)))
self._reset_caches()