iop/apps/node
toki dc9a9a8c59 feat(agent): 단일 요청 Agent 실행 경계를 구현한다
승인된 execution preset을 Edge 조정 경계와 Node workspace/tool 실행 경계로 연결해 단일 요청 수명주기와 관측 계약을 일관되게 처리한다.
2026-08-07 07:03:55 +09:00
..
cmd/node feat(agent): 단일 요청 Agent 실행 경계를 구현한다 2026-08-07 07:03:55 +09:00
internal feat(agent): 단일 요청 Agent 실행 경계를 구현한다 2026-08-07 07:03:55 +09:00
README.md fix(transport): 터널 지연에 맞춰 heartbeat 경계를 보강한다 2026-08-02 22:30:25 +09:00

IOP Node

IOP Node connects to Edge, applies the provider configuration delivered during registration, and executes normalized inference or provider-tunnel requests.

Runtime boundary

  • Internal provider selection uses adapter + target.
  • session_id is opaque correlation only. Every request is an independent execution.
  • Cancellation requires a non-empty run_id and affects only that run.
  • Provider commands are limited to capabilities, transport status, and the Ollama API tunnel.
  • Standard inference, streaming, structured tools, usage, provider lifecycle, capacity, and reconnect behavior remain supported.
  • Edge and Node use a shared tunnel-tolerant liveness profile: a 30-second heartbeat interval and a 45-second response wait. This keeps long provider prefill or streamed-response backpressure from disconnecting a healthy Node; a connection that actually exceeds the wait closes as heartbeat_timeout and enters supervised reconnect.

Node does not manage interactive host programs, persistent conversations, terminal emulation, arbitrary host commands, local filesystem execution context, or local quota scraping.

Development

go test -count=1 ./apps/node/...
go test -race -count=1 ./apps/node/internal/node ./apps/node/internal/adapters/...
go vet ./apps/node/...

The wire contract is documented in agent-contract/inner/edge-node-runtime-wire.md. Shared provider primitives are documented in agent-contract/inner/execution-runtime.md.