Repository navigation
TypeScript SDK 0.61.1
·
4 commits
to main
since this release
Fixes. No API change.
- A deferred task's terminal answer is never lost on RabbitMQ. When a
responder defers (deferAfterMs) the requester learns the task id from its
workinganswer and only then subscribes to the task's updates. On
RabbitMQ that subscription is a queue bound a few round trips later, and a
terminal update published in that gap was routed to no queue, so
awaitTasktimed out (seen at about 50 ms betweenworkingand the
finish). Nowrequest()returnsworkingonly once the subscription is
live, the task manager's record (mesh.task.get.<id>, §7.4) is read then for
anything published before, andawaitTaskreads the record too, again at
growing intervals while it waits. A requester that restarted, and holds no
local record of the task, is answered from the task manager's record.
Each statement read back is checked like a live one: its signature, and
only the task's two parties. - A caller is told when the agent it wrote to was stopped (§4.12). The
mesh's answer for a paused agent now reaches the caller as a
REQUEST_QUEUEDthat says the agent is paused (details.paused: true,
details.reason: "agent_paused") instead of an ordinary held mailbox. When
the target stays silent, the SDK asks the registry before it says "may just
be offline": a revoked signing key (§4.10) or a terminated agent is refused
withAGENT_UNAVAILABLE,details.reasonagent_key_revokedor
agent_terminated, andcaptured: false, since nothing will read the
message; a paused one isREQUEST_QUEUEDas above.
Install
npm install https://github.com/jeffrschneider/agent-messaging-server/releases/download/sdk-v0.61.1/agent-messaging-0.61.1.tgzSHA-256 e576dcdd08d24f2209e7cc02209151bd20c70bf050e962ffa2debc4dd9ee64fc.