nvoken
DocumentationComing from another agent API

Concepts

Coming from another agent API

Map common response-style APIs onto nvoken's explicit Agent, Turn, Conversation, and MemorySpace resources.

The shortest useful mapping is:

Common conceptnvoken
Assistant or reusable promptAgent with immutable revisions
Response or rundurable Turn
Threadoptional Conversation
Long-term memoryindependently selected MemorySpace
Background job IDTurn ID

Three differences matter in application design.

Behavior is versioned before execution

An Agent is reusable behavior, not a customer instance. It may be owned by the App, one tenant, or one tenant/user pair. Publishing creates a new immutable revision. Every Turn records the exact revision it resolved.

Continuity and memory are optional and separate

A Conversation keeps an ordered transcript but does not bind an Agent. A MemorySpace keeps durable memory but does not follow automatically from the actor or Conversation. Select each only when the workflow needs it.

Admission and waiting are distinct

start() returns a durable Turn handle. run() waits for its result. text() waits and requires text. Store the Turn ID and use an idempotency key so a lost response can be recovered without creating duplicate work.

const agent = await client.agent("support");
const turn = await agent.start("Help with this request.", {
  tenant: "acme",
  idempotencyKey: "request-1842",
});
 
const final = await client.turn(turn.id, { tenant: "acme" }).result();