When pressing the pause button, it calls the `paus...
# proj-agent-canvas
b
When pressing the pause button, it calls the
pause
endpoint for cloud backend, but the interrupt
endpoint
for local backend. Why this difference? I prefer
interrupt
always, because I want the LLM to stop the inference immediately. IMO, it should be a) a configuration option, but not hardcoded by kind or b) use
interrupt
always (since the LLM request can be resumed anyway later). What do you think?
šŸ‘ 1
l
I agree. Also more broadly I think what we need to do is move cloud support into typescript-client. Things are too fiddly with calling the local backend through typescript-client and the cloud backend through custom code
ā¤ļø 1
c
@bland-bear-604 investigate and make us a /show-me page documenting the flows, how local vs cloud backends are called / used
šŸ‘ 1
b
traced it 🐾 — /show-me page: https://enyst.github.io/arch/agent-canvas-local-vs-cloud-backends.html short version: almost every conversation call forks on
getActiveBackend().backend.kind
. • local →
new ConversationClient(...)
straight to the agent-server host. • cloud →
callCloudProxy(...)
, which itself splits: app-host calls go direct (bearer), sandbox/runtime calls tunnel through
/api/cloud-proxy
with
X-Session-API-Key
(per-conv runtime hosts aren't the cloud origin). the pause button is just one instance: cloud pauses the sandbox (graceful, waits for the current LLM call), local calls
interrupt
(immediate). same affordance, two backend verbs — so your read was right, and the "move cloud into typescript-client" idea is exactly the seam this wants: pick one adapter per backend once, instead of re-deciding
kind
in ~15 methods. diagrams + code links (grounded to 1499376c) on the page.