@nolag/agents 0.1.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/AgentRoom.d.ts +16 -3
- package/dist/browser.d.ts +2 -0
- package/dist/browser.js +1 -1
- package/dist/browser.js.map +1 -1
- package/dist/constants.d.ts +4 -0
- package/dist/correlation.d.ts +1 -1
- package/dist/envelope.d.ts +2 -2
- package/dist/errors.d.ts +11 -0
- package/dist/index.cjs +223 -50
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.mjs +222 -51
- package/dist/index.mjs.map +1 -1
- package/dist/patterns/handoff.d.ts +20 -4
- package/dist/patterns/tools.d.ts +5 -0
- package/dist/types.d.ts +34 -0
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# @nolag/agents
|
|
2
2
|
|
|
3
|
+
> Protocol contract (topics, directed replies, NACKs, version advertisement): [docs/AGENTS-PROTOCOL.md](../../docs/AGENTS-PROTOCOL.md)
|
|
4
|
+
|
|
3
5
|
Multi-agent coordination SDK for [NoLag](https://nolag.app) — dispatch tasks, share state, observe decisions, gate actions with human approval, and invoke remote tools across connected agents.
|
|
4
6
|
|
|
5
7
|
## How It Works with NoLag
|
package/dist/AgentRoom.d.ts
CHANGED
|
@@ -10,6 +10,14 @@ export interface ConnectedAgent {
|
|
|
10
10
|
capabilities: string[];
|
|
11
11
|
metadata?: Record<string, unknown>;
|
|
12
12
|
connectedAt: number;
|
|
13
|
+
/** Agents-protocol version the agent advertised (absent presence field = 1) */
|
|
14
|
+
protocol: number;
|
|
15
|
+
/**
|
|
16
|
+
* Persistent Presence status: "online" (connected), "offline" (registered but
|
|
17
|
+
* disconnected — discoverable + wakeable), or "waking". Undefined for ordinary
|
|
18
|
+
* ephemeral agents (treat as online when present).
|
|
19
|
+
*/
|
|
20
|
+
status?: "online" | "offline" | "waking";
|
|
13
21
|
}
|
|
14
22
|
/**
|
|
15
23
|
* AgentRoom — wraps a RoomContext from @nolag/js-sdk.
|
|
@@ -47,7 +55,7 @@ export declare class AgentRoom extends EventEmitter<AgentRoomEvents> {
|
|
|
47
55
|
hasCapability(capability: string): boolean;
|
|
48
56
|
/** Get all capabilities available across connected agents */
|
|
49
57
|
getAvailableCapabilities(): string[];
|
|
50
|
-
/** Update this agent's presence data */
|
|
58
|
+
/** Update this agent's presence data (protocol version auto-injected) */
|
|
51
59
|
setPresence(data: AgentPresenceData): void;
|
|
52
60
|
/** Fetch current presence snapshot for this room */
|
|
53
61
|
fetchPresence(): Promise<ConnectedAgent[]>;
|
|
@@ -59,7 +67,7 @@ export declare class AgentRoom extends EventEmitter<AgentRoomEvents> {
|
|
|
59
67
|
get context(): any;
|
|
60
68
|
/** Publish to the tasks topic */
|
|
61
69
|
publishTask(envelope: TaskEnvelope): void;
|
|
62
|
-
/** Publish to the results topic */
|
|
70
|
+
/** Publish to the results topic — directed to the dispatcher via filter when replyTo is set */
|
|
63
71
|
publishResult(envelope: ResultEnvelope): void;
|
|
64
72
|
/** Publish to the state topic (retained) */
|
|
65
73
|
publishState(data: Record<string, unknown>): void;
|
|
@@ -67,7 +75,12 @@ export declare class AgentRoom extends EventEmitter<AgentRoomEvents> {
|
|
|
67
75
|
publishEvent(data: Record<string, unknown>): void;
|
|
68
76
|
/** Publish to the inbox topic */
|
|
69
77
|
publishInbox(data: Record<string, unknown>): void;
|
|
70
|
-
/**
|
|
78
|
+
/**
|
|
79
|
+
* Publish a tool message.
|
|
80
|
+
* Requests go to the tools topic (load-balanced one-of-N across server
|
|
81
|
+
* replicas). Responses are directed to the requester on the results topic
|
|
82
|
+
* via filter — never load-balanced, never broadcast.
|
|
83
|
+
*/
|
|
71
84
|
publishTools(data: Record<string, unknown>): void;
|
|
72
85
|
/** Publish to the approval topic (retained) */
|
|
73
86
|
publishApproval(data: Record<string, unknown>): void;
|
package/dist/browser.d.ts
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
export { NoLagAgents } from "./NoLagAgents";
|
|
6
6
|
export { AgentRoom } from "./AgentRoom";
|
|
7
7
|
export { EventEmitter } from "./EventEmitter";
|
|
8
|
+
export { IncompatibleProtocolError } from "./errors";
|
|
9
|
+
export { AGENTS_PROTOCOL_VERSION } from "./constants";
|
|
8
10
|
export { CorrelationManager } from "./correlation";
|
|
9
11
|
export { Handoff } from "./patterns/handoff";
|
|
10
12
|
export { Inbox } from "./patterns/inbox";
|
package/dist/browser.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{NoLag as t}from"@nolag/js-sdk";class e{constructor(){this._handlers=new Map}on(t,e){return this._handlers.has(t)||this._handlers.set(t,new Set),this._handlers.get(t).add(e),this}off(t,e){return e?this._handlers.get(t)?.delete(e):this._handlers.delete(t),this}removeAllListeners(){return this._handlers.clear(),this}emit(t,...e){const s=this._handlers.get(t);if(s)for(const o of s)try{o(...e)}catch(e){console.error(`Error in ${String(t)} handler:`,e)}}listenerCount(t){return this._handlers.get(t)?.size??0}}const s="tasks",o="results",n="state",i="events",r="inbox",a="tools",c="approval";class l extends e{constructor(t,e,s,o,n,i){super(),this._agents=new Map,this.name=t,this.agentId=n,this._roomContext=e,this._client=s,this._log=o,this._presence=i,this._wireTopicListeners(),this._wirePresenceListeners(),i&&(this._log(`setting presence in room ${t}:`,i),this._roomContext.setPresence(i)),this._fetchInitialPresence()}getConnectedAgents(){return Array.from(this._agents.values())}findAgents(t){return Array.from(this._agents.values()).filter(e=>e.capabilities.includes(t))}hasCapability(t){return this.findAgents(t).length>0}getAvailableCapabilities(){const t=new Set;for(const e of this._agents.values())for(const s of e.capabilities)t.add(s);return Array.from(t)}setPresence(t){this._presence=t,this._log(`updating presence in room ${this.name}`),this._roomContext.setPresence(t)}async fetchPresence(){try{return(await this._roomContext.fetchPresence()||[]).map(t=>this._toConnectedAgent(t))}catch{return[]}}_emitPresence(t,e,s){"presenceLeave"===t?this.emit("presenceLeave",e):this.emit(t,e,s||{})}get context(){return this._roomContext}publishTask(t){t.createdBy||(t.createdBy=this.agentId),this._publish(s,t)}publishResult(t){t.completedBy||(t.completedBy=this.agentId),this._publish(o,t)}publishState(t){t.updatedBy||(t.updatedBy=this.agentId),this._publish(n,t,{retain:!0})}publishEvent(t){t.emittedBy||(t.emittedBy=this.agentId),this._publish(i,t)}publishInbox(t){this._publish(r,t)}publishTools(t){this._publish(a,t)}publishApproval(t){this._publish(c,t,{retain:!0})}_publish(t,e,s){this._log(`publish to ${t} in room ${this.name}`),s?this._roomContext.emit(t,e,s):this._roomContext.emit(t,e)}_toConnectedAgent(t){const e=t.presence||t.data||{};return{actorId:t.actorTokenId||t.actorId||"",name:e.name||t.actorTokenId||"",role:e.role||"agent",capabilities:e.capabilities||[],metadata:e.metadata,connectedAt:t.joinedAt||Date.now()}}async _fetchInitialPresence(){try{const t=await this._roomContext.fetchPresence();if(Array.isArray(t)){for(const e of t){const t=this._toConnectedAgent(e);t.actorId&&this._agents.set(t.actorId,t)}this._log(`discovered ${this._agents.size} agents in room ${this.name}`)}}catch{}}_wirePresenceListeners(){if(!this._client)return;const t=this._client;t.on?.("presence:join",t=>{if(t?.roomId===this.name||!t?.roomId){const e=t?.actorId||t?.actorTokenId,s=t?.data||t?.presence||{};if(e){const t={actorId:e,name:s.name||e,role:s.role||"agent",capabilities:s.capabilities||[],metadata:s.metadata,connectedAt:Date.now()};this._agents.set(e,t),this._log(`agent joined room ${this.name}:`,t.name,t.capabilities),this.emit("presenceJoin",e,s)}}}),t.on?.("presence:leave",t=>{if(t?.roomId===this.name||!t?.roomId){const e=t?.actorId||t?.actorTokenId;if(e){const t=this._agents.get(e);this._agents.delete(e),this._log(`agent left room ${this.name}:`,t?.name||e),this.emit("presenceLeave",e)}}}),t.on?.("presence:update",t=>{if(t?.roomId===this.name||!t?.roomId){const e=t?.actorId||t?.actorTokenId,s=t?.data||t?.presence||{};if(e){const t=this._agents.get(e),o={actorId:e,name:s.name||t?.name||e,role:s.role||t?.role||"agent",capabilities:s.capabilities||t?.capabilities||[],metadata:s.metadata||t?.metadata,connectedAt:t?.connectedAt||Date.now()};this._agents.set(e,o),this.emit("presenceUpdate",e,s)}}})}_wireTopicListeners(){const t=[s,o,n,i,r,a,c];for(const e of t)this._roomContext.subscribe(e);const e=[{topic:s,event:"task"},{topic:o,event:"result"},{topic:n,event:"stateChange"},{topic:i,event:"event"},{topic:r,event:"inbox"}];for(const{topic:t,event:s}of e)this._roomContext.on(t,e=>{this._log(`received ${t} in room ${this.name}`),this.emit(s,e)});this._roomContext.on(c,t=>{this._log(`received ${c} in room ${this.name}`),"approval_response"===t?.type?this.emit("approvalResponse",t):this.emit("approvalRequest",t)}),this._roomContext.on(a,t=>{this._log(`received ${a} in room ${this.name}`),"tool_response"===t?.type?this.emit("toolResponse",t):this.emit("toolRequest",t)})}}function h(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"xxxx-xxxx-xxxx-xxxx".replace(/x/g,()=>Math.floor(16*Math.random()).toString(16))}function d(){return Date.now()}class p extends e{constructor(t,e={}){var s;super(),this._client=null,this._appContext=null,this._rooms=new Map,this._connected=!1,this._token=t,this._options={appName:e.appName??"agents",agentId:e.agentId??h(),debug:e.debug??!1,rooms:e.rooms??["default-workflow"],lobby:e.lobby,presence:e.presence,clientOptions:e.clientOptions},this._log=(s="NoLagAgents",this._options.debug?(...t)=>{console.log(`[${s}]`,...t)}:(...t)=>{})}get agentId(){return this._options.agentId}get connected(){return this._connected}get rooms(){return this._rooms}async connect(){this._log("connecting..."),this._client=t(this._token,{...this._options.clientOptions}),this._appContext=this._client.setApp(this._options.appName),this._client.on("connected",()=>{this._connected=!0,this._log("connected"),this.emit("connected")}),this._client.on("disconnected",t=>{this._connected=!1,this._log("disconnected:",t),this.emit("disconnected",t)}),this._client.on("reconnected",()=>{this._connected=!0,this._log("reconnected"),this.emit("reconnected")}),this._client.on("error",t=>{this._log("error:",t.message),this.emit("error",t)}),await this._client.connect();for(const t of this._options.rooms)this.room(t);this._options.lobby&&await this.subscribeLobby(this._options.lobby)}async subscribeLobby(t){if(!this._appContext)throw new Error("Not connected. Call connect() before subscribing to lobbies.");this._log(`subscribing to lobby: ${t}`);const e=this._appContext.setLobby(t);this._client.on("lobbyPresence:join",t=>{const e=t?.actorId,s=t?.data||{};if(e){this._log(`lobby presence:join — ${s.name||e}`);for(const t of this._rooms.values()){const o=t._agents;o.has(e)||o.set(e,{actorId:e,name:s.name||e,role:s.role||"agent",capabilities:s.capabilities||[],metadata:s.metadata,connectedAt:Date.now()}),t._emitPresence("presenceJoin",e,s)}}}),this._client.on("lobbyPresence:leave",t=>{const e=t?.actorId;if(e){this._log(`lobby presence:leave — ${e}`);for(const t of this._rooms.values()){t._agents.delete(e),t._emitPresence("presenceLeave",e)}}}),this._client.on("lobbyPresence:update",t=>{const e=t?.actorId,s=t?.data||{};if(e)for(const t of this._rooms.values()){const o=t._agents.get(e);o&&(s.name&&(o.name=s.name),s.role&&(o.role=s.role),s.capabilities&&(o.capabilities=s.capabilities),s.metadata&&(o.metadata=s.metadata)),t._emitPresence("presenceUpdate",e,s)}});try{const t=await e.subscribe();return this._log("lobby subscribed, initial state:",Object.keys(t||{})),t||{}}catch(t){return this._log("lobby subscription failed:",t),{}}}disconnect(){this._log("disconnecting..."),this._client?.disconnect(),this._rooms.clear(),this._client=null,this._appContext=null,this._connected=!1}room(t){let e=this._rooms.get(t);if(e)return e;if(!this._appContext)throw new Error("Not connected. Call connect() before accessing rooms.");this._log(`joining room: ${t}`);const s=this._appContext.setRoom(t);return e=new l(t,s,this._client,this._log,this._options.agentId,this._options.presence),this._rooms.set(t,e),e}}class _{constructor(){this._pending=new Map}register(t,e){return new Promise((s,o)=>{let n=null;e&&e>0&&(n=setTimeout(()=>{this._pending.delete(t),o(new Error(`Correlation ${t} timed out after ${e}ms`))},e)),this._pending.set(t,{resolve:s,reject:o,timer:n})})}resolve(t,e){const s=this._pending.get(t);return!!s&&(s.timer&&clearTimeout(s.timer),this._pending.delete(t),s.resolve(e),!0)}reject(t,e){const s=this._pending.get(t);return!!s&&(s.timer&&clearTimeout(s.timer),this._pending.delete(t),s.reject(e),!0)}has(t){return this._pending.has(t)}clear(){for(const[t,e]of this._pending)e.timer&&clearTimeout(e.timer),e.reject(new Error(`Correlation ${t} cancelled`));this._pending.clear()}get size(){return this._pending.size}}function m(t,e,s){return{type:"task",taskId:h(),correlationId:h(),replyTo:s?.replyTo,capability:t,payload:e,tags:s?.tags,priority:s?.priority??"medium",metadata:s?.metadata,createdAt:d(),createdBy:s?.createdBy,timeout:s?.timeout}}function u(t,e,s,o,n,i){return{type:"result",correlationId:e,taskId:t,status:s,payload:o,error:n,completedAt:d(),completedBy:i}}function g(t,e,s,o){return{type:"state",key:t,value:e,version:s,updatedBy:o,updatedAt:d()}}function b(t,e,s,o="info"){return{type:"event",eventId:h(),severity:o,category:t,emittedBy:e,payload:s,timestamp:d()}}function y(t,e,s,o){return{type:"approval_request",requestId:h(),correlationId:h(),action:t,context:e,urgency:o?.urgency??"medium",requestedBy:s,requestedAt:d(),expiresAt:o?.expiresAt}}function I(t,e,s,o,n){return{type:"approval_response",requestId:t,correlationId:e,decision:s,respondedBy:o,reason:n,respondedAt:d()}}function f(t,e,s,o){return{type:"tool_request",requestId:h(),correlationId:h(),replyTo:o?.replyTo,toolName:t,arguments:e,requestedBy:s,requestedAt:d()}}function v(t,e,s,o,n,i){return{type:"tool_response",requestId:t,correlationId:e,status:s,result:o,error:n,respondedBy:i,respondedAt:d()}}class x{constructor(t){this._correlations=new _,this._room=t,this._room.on("result",t=>{this._correlations.resolve(t.correlationId,t)})}async dispatch(t,e,s){if(!s?.allowNoWorkers){if(0===this._room.findAgents(t).length)throw new Error(`No agent with capability "${t}" is connected. Available capabilities: [${this._room.getAvailableCapabilities().join(", ")}]. Connected agents: ${this._room.getConnectedAgents().length}. Use { allowNoWorkers: true } to dispatch anyway.`)}const o=m(t,e,{...s,createdBy:this._room.agentId});if(this._room.publishTask(o),s?.waitForResult)return this._correlations.register(o.correlationId,s.timeout)}onTask(t,e){this._room.on("task",s=>{if("*"!==t&&!t.includes(s.capability))return;e(s,(t,e,o)=>{const n=u(s.taskId,s.correlationId,t,e,o,this._room.agentId);this._room.publishResult(n)})})}getCapableAgents(t){return this._room.findAgents(t)}dispose(){this._correlations.clear()}}class A{constructor(t,e){this._room=t,this._agentId=e}send(t,e){const s={messageId:h(),from:this._agentId,to:t,payload:e,createdAt:d()};this._room.publishInbox(s)}onMessage(t){this._room.on("inbox",e=>{const s=e;s.to===this._agentId&&t(s)})}}class w{constructor(t,e){this._state=new Map,this._room=t,this._agentId=e,this._room.on("stateChange",t=>{this._state.set(t.key,t)})}set(t,e){const s=this._state.get(t),o=g(t,e,s?s.version+1:1,this._agentId);this._state.set(t,o),this._room.publishState(o)}get(t){return this._state.get(t)?.value}getEnvelope(t){return this._state.get(t)}getAll(){return this._state}onChange(t,e){this._room.on("stateChange",s=>{s.key===t&&e(s)})}}class C{constructor(t,e){this._room=t,this._emittedBy=e}emit(t,e,s="info"){const o=b(t,this._emittedBy,e,s);this._room.publishEvent(o)}on(t,e){this._room.on("event",s=>{e?.category&&s.category!==e.category||e?.severity&&s.severity!==e.severity||t(s)})}}class T{constructor(t,e){this._correlations=new _,this._room=t,this._agentId=e,this._room.on("approvalResponse",t=>{this._correlations.resolve(t.correlationId,t)})}async request(t,e,s){const o=y(t,e,this._agentId,{urgency:s?.urgency,expiresAt:s?.expiresAt});return this._room.publishApproval(o),this._correlations.register(o.correlationId,s?.timeout)}onRequest(t){this._room.on("approvalRequest",e=>{t(e,(t,s)=>{const o=I(e.requestId,e.correlationId,t,this._agentId,s);this._room.publishApproval(o)})})}dispose(){this._correlations.clear()}}class ${constructor(t,e){this._correlations=new _,this._handlers=new Map,this._room=t,this._agentId=e,this._room.on("toolResponse",t=>{this._correlations.resolve(t.correlationId,t)}),this._room.on("toolRequest",async t=>{const e=this._handlers.get(t.toolName);if(e)try{const s=await e(t.arguments),o=v(t.requestId,t.correlationId,"success",s,void 0,this._agentId);this._room.publishTools(o)}catch(e){const s=v(t.requestId,t.correlationId,"error",null,{code:"TOOL_ERROR",message:e instanceof Error?e.message:String(e)},this._agentId);this._room.publishTools(s)}})}register(t,e){this._handlers.set(t,e)}async invoke(t,e,s){const o=f(t,e,this._agentId);return this._room.publishTools(o),this._correlations.register(o.correlationId,s?.timeout)}dispose(){this._correlations.clear(),this._handlers.clear()}}const k={CAPABILITY:"capability",PRIORITY:"priority",ROLE:"role",SEVERITY:"severity",URGENCY:"urgency",TENANT:"tenant"},R={REQUIRES_HUMAN:"requires_human",REQUIRES_AUDIT:"requires_audit"};function q(t,e){return`${t}:${e}`}export{l as AgentRoom,T as Approve,w as Blackboard,_ as CorrelationManager,e as EventEmitter,x as Handoff,A as Inbox,p as NoLagAgents,C as Observe,R as TAG_FLAGS,k as TAG_PREFIX,$ as Tools,y as createApprovalRequest,I as createApprovalResponse,b as createEventEnvelope,u as createResultEnvelope,g as createStateEnvelope,m as createTaskEnvelope,f as createToolRequest,v as createToolResponse,q as tag};
|
|
1
|
+
import{NoLag as e}from"@nolag/js-sdk";class t{constructor(){this._handlers=new Map}on(e,t){return this._handlers.has(e)||this._handlers.set(e,new Set),this._handlers.get(e).add(t),this}off(e,t){return t?this._handlers.get(e)?.delete(t):this._handlers.delete(e),this}removeAllListeners(){return this._handlers.clear(),this}emit(e,...t){const o=this._handlers.get(e);if(o)for(const s of o)try{s(...t)}catch(t){console.error(`Error in ${String(e)} handler:`,t)}}listenerCount(e){return this._handlers.get(e)?.size??0}}const o="tasks",s="results",n="state",r="events",i="inbox",a="tools",c="approval",l=2;class h extends t{constructor(e,t,o,s,n,r){if(super(),this._agents=new Map,this.name=e,this.agentId=n,this._roomContext=t,this._client=o,this._log=s,this._presence=r,this._wireTopicListeners(),this._wirePresenceListeners(),r){const t={protocol:2,...r};this._presence=t,this._log(`setting presence in room ${e}:`,t),this._roomContext.setPresence(t)}this._fetchInitialPresence()}getConnectedAgents(){return Array.from(this._agents.values())}findAgents(e){return Array.from(this._agents.values()).filter(t=>t.capabilities.includes(e))}hasCapability(e){return this.findAgents(e).length>0}getAvailableCapabilities(){const e=new Set;for(const t of this._agents.values())for(const o of t.capabilities)e.add(o);return Array.from(e)}setPresence(e){const t={protocol:2,...e};this._presence=t,this._log(`updating presence in room ${this.name}`),this._roomContext.setPresence(t)}async fetchPresence(){try{return(await this._roomContext.fetchPresence()||[]).map(e=>this._toConnectedAgent(e))}catch{return[]}}_emitPresence(e,t,o){"presenceLeave"===e?this.emit("presenceLeave",t):this.emit(e,t,o||{})}get context(){return this._roomContext}publishTask(e){e.createdBy||(e.createdBy=this.agentId),this._publish(o,e)}publishResult(e){e.completedBy||(e.completedBy=this.agentId),e.replyTo?this._publish(s,e,{filter:e.replyTo}):this._publish(s,e)}publishState(e){e.updatedBy||(e.updatedBy=this.agentId),this._publish(n,e,{retain:!0})}publishEvent(e){e.emittedBy||(e.emittedBy=this.agentId),this._publish(r,e)}publishInbox(e){this._publish(i,e)}publishTools(e){"tool_response"===e?.type&&"string"==typeof e.replyTo&&e.replyTo?this._publish(s,e,{filter:e.replyTo}):this._publish(a,e)}publishApproval(e){this._publish(c,e,{retain:!0})}_publish(e,t,o){this._log(`publish to ${e} in room ${this.name}`),o?this._roomContext.emit(e,t,o):this._roomContext.emit(e,t)}_toConnectedAgent(e){const t=e.presence||e.data||{};return{actorId:e.actorTokenId||e.actorId||"",name:t.name||e.actorTokenId||"",role:t.role||"agent",capabilities:t.capabilities||[],metadata:t.metadata,connectedAt:e.joinedAt||Date.now(),protocol:"number"==typeof t.protocol?t.protocol:1,status:e.status}}async _fetchInitialPresence(){try{const e=await this._roomContext.fetchPresence();if(Array.isArray(e)){for(const t of e){const e=this._toConnectedAgent(t);e.actorId&&this._agents.set(e.actorId,e)}this._log(`discovered ${this._agents.size} agents in room ${this.name}`)}}catch{}}_wirePresenceListeners(){if(!this._client)return;const e=this._client;e.on?.("presence:join",e=>{if(e?.roomId===this.name||!e?.roomId){const t=e?.actorId||e?.actorTokenId,o=e?.data||e?.presence||{};if(t){const e={actorId:t,name:o.name||t,role:o.role||"agent",capabilities:o.capabilities||[],metadata:o.metadata,connectedAt:Date.now(),protocol:"number"==typeof o.protocol?o.protocol:1};this._agents.set(t,e),this._log(`agent joined room ${this.name}:`,e.name,e.capabilities),this.emit("presenceJoin",t,o)}}}),e.on?.("presence:leave",e=>{if(e?.roomId===this.name||!e?.roomId){const t=e?.actorId||e?.actorTokenId;if(t){const e=this._agents.get(t);this._agents.delete(t),this._log(`agent left room ${this.name}:`,e?.name||t),this.emit("presenceLeave",t)}}}),e.on?.("presence:update",e=>{if(e?.roomId===this.name||!e?.roomId){const t=e?.actorId||e?.actorTokenId,o=e?.data||e?.presence||{};if(t){const e=this._agents.get(t),s={actorId:t,name:o.name||e?.name||t,role:o.role||e?.role||"agent",capabilities:o.capabilities||e?.capabilities||[],metadata:o.metadata||e?.metadata,connectedAt:e?.connectedAt||Date.now(),protocol:"number"==typeof o.protocol?o.protocol:e?.protocol??1};this._agents.set(t,s),this.emit("presenceUpdate",t,o)}}})}_wireTopicListeners(){this._roomContext.subscribe(o),this._roomContext.subscribe(a),this._roomContext.subscribe(s,{loadBalance:!1,filters:[this.agentId]});const e=[n,r,i,c];for(const t of e)this._roomContext.subscribe(t,{loadBalance:!1});const t=[{topic:o,event:"task"},{topic:n,event:"stateChange"},{topic:r,event:"event"},{topic:i,event:"inbox"}];for(const{topic:e,event:o}of t)this._roomContext.on(e,t=>{this._log(`received ${e} in room ${this.name}`),this.emit(o,t)});this._roomContext.on(s,e=>{this._log(`received ${s} in room ${this.name}`),"tool_response"===e?.type?this.emit("toolResponse",e):this.emit("result",e)}),this._roomContext.on(c,e=>{this._log(`received ${c} in room ${this.name}`),"approval_response"===e?.type?this.emit("approvalResponse",e):this.emit("approvalRequest",e)}),this._roomContext.on(a,e=>{this._log(`received ${a} in room ${this.name}`),"tool_response"===e?.type?this.emit("toolResponse",e):this.emit("toolRequest",e)})}}function d(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"xxxx-xxxx-xxxx-xxxx".replace(/x/g,()=>Math.floor(16*Math.random()).toString(16))}function p(){return Date.now()}class _ extends t{constructor(e,t={}){var o;super(),this._client=null,this._appContext=null,this._rooms=new Map,this._connected=!1,this._token=e,this._options={appName:t.appName??"agents",agentId:t.agentId??d(),debug:t.debug??!1,rooms:t.rooms??["default-workflow"],lobby:t.lobby,presence:t.presence,clientOptions:t.clientOptions},this._log=(o="NoLagAgents",this._options.debug?(...e)=>{console.log(`[${o}]`,...e)}:(...e)=>{})}get agentId(){return this._options.agentId}get connected(){return this._connected}get rooms(){return this._rooms}async connect(){this._log("connecting..."),this._client=e(this._token,{...this._options.clientOptions}),this._appContext=this._client.setApp(this._options.appName),this._client.on("connected",()=>{this._connected=!0,this._log("connected"),this.emit("connected")}),this._client.on("disconnected",e=>{this._connected=!1,this._log("disconnected:",e),this.emit("disconnected",e)}),this._client.on("reconnected",()=>{this._connected=!0,this._log("reconnected"),this.emit("reconnected")}),this._client.on("error",e=>{this._log("error:",e.message),this.emit("error",e)}),await this._client.connect();for(const e of this._options.rooms)this.room(e);this._options.lobby&&await this.subscribeLobby(this._options.lobby)}async subscribeLobby(e){if(!this._appContext)throw new Error("Not connected. Call connect() before subscribing to lobbies.");this._log(`subscribing to lobby: ${e}`);const t=this._appContext.setLobby(e);this._client.on("lobbyPresence:join",e=>{const t=e?.actorId,o=e?.data||{};if(t){this._log(`lobby presence:join — ${o.name||t}`);for(const e of this._rooms.values()){const s=e._agents;s.has(t)||s.set(t,{actorId:t,name:o.name||t,role:o.role||"agent",capabilities:o.capabilities||[],metadata:o.metadata,connectedAt:Date.now()}),e._emitPresence("presenceJoin",t,o)}}}),this._client.on("lobbyPresence:leave",e=>{const t=e?.actorId;if(t){this._log(`lobby presence:leave — ${t}`);for(const e of this._rooms.values()){e._agents.delete(t),e._emitPresence("presenceLeave",t)}}}),this._client.on("lobbyPresence:update",e=>{const t=e?.actorId,o=e?.data||{};if(t)for(const e of this._rooms.values()){const s=e._agents.get(t);s&&(o.name&&(s.name=o.name),o.role&&(s.role=o.role),o.capabilities&&(s.capabilities=o.capabilities),o.metadata&&(s.metadata=o.metadata)),e._emitPresence("presenceUpdate",t,o)}});try{const e=await t.subscribe();return this._log("lobby subscribed, initial state:",Object.keys(e||{})),e||{}}catch(e){return this._log("lobby subscription failed:",e),{}}}disconnect(){this._log("disconnecting..."),this._client?.disconnect(),this._rooms.clear(),this._client=null,this._appContext=null,this._connected=!1}room(e){let t=this._rooms.get(e);if(t)return t;if(!this._appContext)throw new Error("Not connected. Call connect() before accessing rooms.");this._log(`joining room: ${e}`);const o=this._appContext.setRoom(e);return t=new h(e,o,this._client,this._log,this._options.agentId,this._options.presence),this._rooms.set(e,t),t}}class m extends Error{constructor(e,t){super(`${e} cannot succeed: every relevant agent advertises agents-protocol < 2 [${t.map(e=>`${e.name} (protocol ${e.protocol})`).join(", ")}]. Protocol >= 2 responders direct replies to the requester; older ones broadcast and their replies never reach this SDK's filtered subscription. Upgrade the responders to @nolag/agents >= 0.2.0 / nolag-agents >= 0.3.0. NOTE: 0.2.x/0.3.0 responders DO have directed replies but do not yet advertise protocol — if your responders run those versions, pass { allowLegacyResponders: true }.`),this.name="IncompatibleProtocolError"}}class u{constructor(){this._pending=new Map}register(e,t,o){return new Promise((s,n)=>{let r=null;t&&t>0&&(r=setTimeout(()=>{this._pending.delete(e);n(new Error(`${o??`Correlation ${e}`} timed out after ${t}ms`))},t)),this._pending.set(e,{resolve:s,reject:n,timer:r})})}resolve(e,t){const o=this._pending.get(e);return!!o&&(o.timer&&clearTimeout(o.timer),this._pending.delete(e),o.resolve(t),!0)}reject(e,t){const o=this._pending.get(e);return!!o&&(o.timer&&clearTimeout(o.timer),this._pending.delete(e),o.reject(t),!0)}has(e){return this._pending.has(e)}clear(){for(const[e,t]of this._pending)t.timer&&clearTimeout(t.timer),t.reject(new Error(`Correlation ${e} cancelled`));this._pending.clear()}get size(){return this._pending.size}}function g(e,t,o){return{type:"task",protocol:2,taskId:d(),correlationId:d(),replyTo:o?.replyTo,capability:e,payload:t,tags:o?.tags,priority:o?.priority??"medium",metadata:o?.metadata,createdAt:p(),createdBy:o?.createdBy,timeout:o?.timeout}}function y(e,t,o,s,n,r,i){return{type:"result",protocol:2,correlationId:t,taskId:e,status:o,payload:s,error:n,completedAt:p(),completedBy:r,replyTo:i}}function b(e,t,o,s){return{type:"state",protocol:2,key:e,value:t,version:o,updatedBy:s,updatedAt:p()}}function f(e,t,o,s="info"){return{type:"event",protocol:2,eventId:d(),severity:s,category:e,emittedBy:t,payload:o,timestamp:p()}}function I(e,t,o,s){return{type:"approval_request",protocol:2,requestId:d(),correlationId:d(),action:e,context:t,urgency:s?.urgency??"medium",requestedBy:o,requestedAt:p(),expiresAt:s?.expiresAt}}function v(e,t,o,s,n){return{type:"approval_response",protocol:2,requestId:e,correlationId:t,decision:o,respondedBy:s,reason:n,respondedAt:p()}}function w(e,t,o,s){return{type:"tool_request",protocol:2,requestId:d(),correlationId:d(),replyTo:s?.replyTo,toolName:e,arguments:t,requestedBy:o,requestedAt:p()}}function x(e,t,o,s,n,r,i){return{type:"tool_response",protocol:2,requestId:e,correlationId:t,status:o,result:s,error:n,respondedBy:r,respondedAt:p(),replyTo:i}}class A{constructor(e){this._correlations=new u,this._warnedMixed=!1,this._room=e,this._room.on("result",e=>{this._correlations.resolve(e.correlationId,e)})}async dispatch(e,t,o){if(!o?.allowNoWorkers){const t=this._room.findAgents(e);if(0===(o?.requireOnline?t.filter(e=>void 0===e.status||"online"===e.status):t).length)throw new Error(`No ${o?.requireOnline?"online ":""}agent with capability "${e}" is available. Available capabilities: [${this._room.getAvailableCapabilities().join(", ")}]. Connected agents: ${this._room.getConnectedAgents().length}. Use { allowNoWorkers: true } to dispatch anyway.`)}const s=g(e,t,{...o,createdBy:o?.createdBy??this._room.agentId,replyTo:o?.replyTo??this._room.agentId});if(this._room.publishTask(s),o?.waitForResult){const t=this._room.findAgents(e);if(!o?.allowLegacyResponders&&t.length>0){const o=t.filter(e=>e.protocol>=2);if(0===o.length)throw new m(`Task '${e}' dispatch with waitForResult`,t.map(e=>({name:e.name,protocol:e.protocol})));o.length<t.length&&!this._warnedMixed&&(this._warnedMixed=!0,console.warn(`[nolag-agents] Capability '${e}' has workers on agents-protocol < 2: `+t.filter(e=>e.protocol<2).map(e=>e.name).join(", ")+". Their results may not be delivered — upgrade them."))}return this._correlations.register(s.correlationId,o.timeout,`Task '${e}' dispatch (${t.length} capable worker${1===t.length?"":"s"} visible). Likely causes: worker crashed mid-task, worker on agents-protocol < 2 (results not directed), or the room is not deliverable`)}}onTask(e,t){const o="function"==typeof e?"*":e,s="function"==typeof e?e:t;this._room.on("task",e=>{if("*"!==o&&!o.includes(e.capability))return;s(e,(t,o,s)=>{const n=y(e.taskId,e.correlationId,t,o,s,this._room.agentId,e.replyTo??e.createdBy);this._room.publishResult(n)})})}getCapableAgents(e){return this._room.findAgents(e)}dispose(){this._correlations.clear()}}class T{constructor(e,t){this._room=e,this._agentId=t}send(e,t){const o={messageId:d(),from:this._agentId,to:e,payload:t,createdAt:p()};this._room.publishInbox(o)}onMessage(e){this._room.on("inbox",t=>{const o=t;o.to===this._agentId&&e(o)})}}class ${constructor(e,t){this._state=new Map,this._room=e,this._agentId=t,this._room.on("stateChange",e=>{this._state.set(e.key,e)})}set(e,t){const o=this._state.get(e),s=b(e,t,o?o.version+1:1,this._agentId);this._state.set(e,s),this._room.publishState(s)}get(e){return this._state.get(e)?.value}getEnvelope(e){return this._state.get(e)}getAll(){return this._state}onChange(e,t){this._room.on("stateChange",o=>{o.key===e&&t(o)})}}class C{constructor(e,t){this._room=e,this._emittedBy=t}emit(e,t,o="info"){const s=f(e,this._emittedBy,t,o);this._room.publishEvent(s)}on(e,t){this._room.on("event",o=>{t?.category&&o.category!==t.category||t?.severity&&o.severity!==t.severity||e(o)})}}class k{constructor(e,t){this._correlations=new u,this._room=e,this._agentId=t,this._room.on("approvalResponse",e=>{this._correlations.resolve(e.correlationId,e)})}async request(e,t,o){const s=I(e,t,this._agentId,{urgency:o?.urgency,expiresAt:o?.expiresAt});return this._room.publishApproval(s),this._correlations.register(s.correlationId,o?.timeout)}onRequest(e){this._room.on("approvalRequest",t=>{e(t,(e,o)=>{const s=v(t.requestId,t.correlationId,e,this._agentId,o);this._room.publishApproval(s)})})}dispose(){this._correlations.clear()}}class R{constructor(e,t){this._correlations=new u,this._handlers=new Map,this._warnedMixed=!1,this._room=e,this._agentId=t,this._room.on("toolResponse",e=>{this._correlations.resolve(e.correlationId,e)}),this._room.on("toolRequest",async e=>{const t=this._handlers.get(e.toolName),o=e.replyTo??e.requestedBy;if(!t){if(!this._ownsNamespace(e.toolName))return;const t=x(e.requestId,e.correlationId,"error",null,{code:"NO_HANDLER",message:`Agent '${this._agentId}' has no handler for tool '${e.toolName}'`},this._agentId,o);return void this._room.publishTools(t)}try{const s=await t(e.arguments),n=x(e.requestId,e.correlationId,"success",s,void 0,this._agentId,o);this._room.publishTools(n)}catch(t){const s=x(e.requestId,e.correlationId,"error",null,{code:"TOOL_ERROR",message:t instanceof Error?t.message:String(t)},this._agentId,o);this._room.publishTools(s)}})}register(e,t){this._handlers.set(e,t)}_ownsNamespace(e){if(0===this._handlers.size)return!1;const t=e.includes(".")?e.slice(0,e.indexOf(".")):null;for(const e of this._handlers.keys()){if((e.includes(".")?e.slice(0,e.indexOf(".")):null)===t)return!0}return!1}async invoke(e,t,o){const s=this._room.getConnectedAgents().filter(e=>"tool-server"===e.role);if(!o?.allowLegacyResponders&&s.length>0){const t=s.filter(e=>e.protocol>=2);if(0===t.length)throw new m(`Tool '${e}' invocation`,s.map(e=>({name:e.name,protocol:e.protocol})));t.length<s.length&&!this._warnedMixed&&(this._warnedMixed=!0,console.warn(`[nolag-agents] Room '${this._room.name}' has tool servers on agents-protocol < 2: `+s.filter(e=>e.protocol<2).map(e=>e.name).join(", ")+". Their replies may not be delivered — upgrade them."))}const n=w(e,t,this._agentId,{replyTo:this._room.agentId});this._room.publishTools(n);const r=s.length;return this._correlations.register(n.correlationId,o?.timeout,`Tool '${e}' invocation in room '${this._room.name}' (${r} tool-server${1===r?"":"s"} visible). Likely causes: no agent has this tool registered (pre-0.3.0 responders don't NACK), the responder is offline, or the room is not deliverable (watch the room 'error' events)`)}dispose(){this._correlations.clear(),this._handlers.clear()}}const q={CAPABILITY:"capability",PRIORITY:"priority",ROLE:"role",SEVERITY:"severity",URGENCY:"urgency",TENANT:"tenant"},B={REQUIRES_HUMAN:"requires_human",REQUIRES_AUDIT:"requires_audit"};function E(e,t){return`${e}:${t}`}export{l as AGENTS_PROTOCOL_VERSION,h as AgentRoom,k as Approve,$ as Blackboard,u as CorrelationManager,t as EventEmitter,A as Handoff,T as Inbox,m as IncompatibleProtocolError,_ as NoLagAgents,C as Observe,B as TAG_FLAGS,q as TAG_PREFIX,R as Tools,I as createApprovalRequest,v as createApprovalResponse,f as createEventEnvelope,y as createResultEnvelope,b as createStateEnvelope,g as createTaskEnvelope,w as createToolRequest,x as createToolResponse,E as tag};
|
|
2
2
|
//# sourceMappingURL=browser.js.map
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sources":["../src/EventEmitter.ts","../src/constants.ts","../src/AgentRoom.ts","../src/utils.ts","../src/NoLagAgents.ts","../src/correlation.ts","../src/envelope.ts","../src/patterns/handoff.ts","../src/patterns/inbox.ts","../src/patterns/blackboard.ts","../src/patterns/observe.ts","../src/patterns/approve.ts","../src/patterns/tools.ts","../src/tags.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["EventEmitter","constructor","this","_handlers","Map","on","event","handler","has","set","Set","get","add","off","delete","removeAllListeners","clear","emit","args","handlers","e","console","error","String","listenerCount","size","TOPIC_TASKS","TOPIC_RESULTS","TOPIC_STATE","TOPIC_EVENTS","TOPIC_INBOX","TOPIC_TOOLS","TOPIC_APPROVAL","AgentRoom","name","roomContext","client","log","agentId","presence","super","_agents","_roomContext","_client","_log","_presence","_wireTopicListeners","_wirePresenceListeners","setPresence","_fetchInitialPresence","getConnectedAgents","Array","from","values","findAgents","capability","filter","a","capabilities","includes","hasCapability","length","getAvailableCapabilities","caps","agent","cap","data","fetchPresence","map","_toConnectedAgent","_emitPresence","actorId","context","publishTask","envelope","createdBy","_publish","publishResult","completedBy","publishState","updatedBy","retain","publishEvent","emittedBy","publishInbox","publishTools","publishApproval","topic","options","actor","actorTokenId","role","metadata","connectedAt","joinedAt","Date","now","actors","isArray","connected","evt","roomId","id","existing","allTopics","subscribe","simpleMap","type","generateId","crypto","randomUUID","replace","Math","floor","random","toString","createTimestamp","NoLagAgents","token","prefix","_appContext","_rooms","_connected","_token","_options","appName","debug","rooms","lobby","clientOptions","_args","connect","NoLag","setApp","reason","err","message","roomName","room","subscribeLobby","lobbySlug","Error","setLobby","agents","initialState","Object","keys","disconnect","agentRoom","setRoom","CorrelationManager","_pending","register","correlationId","timeoutMs","Promise","resolve","reject","timer","setTimeout","value","entry","clearTimeout","createTaskEnvelope","payload","taskId","replyTo","tags","priority","createdAt","timeout","createResultEnvelope","status","completedAt","createStateEnvelope","key","version","updatedAt","createEventEnvelope","category","severity","eventId","timestamp","createApprovalRequest","action","requestedBy","requestId","urgency","requestedAt","expiresAt","createApprovalResponse","decision","respondedBy","respondedAt","createToolRequest","toolName","arguments","createToolResponse","result","Handoff","_correlations","_room","dispatch","allowNoWorkers","join","waitForResult","onTask","task","getCapableAgents","dispose","Inbox","_agentId","send","to","messageId","onMessage","msg","Blackboard","_state","getEnvelope","getAll","onChange","Observe","_emittedBy","Approve","request","onRequest","response","Tools","async","undefined","code","invoke","TAG_PREFIX","CAPABILITY","PRIORITY","ROLE","SEVERITY","URGENCY","TENANT","TAG_FLAGS","REQUIRES_HUMAN","REQUIRES_AUDIT","tag"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser.js","sources":["../src/EventEmitter.ts","../src/constants.ts","../src/AgentRoom.ts","../src/utils.ts","../src/NoLagAgents.ts","../src/errors.ts","../src/correlation.ts","../src/envelope.ts","../src/patterns/handoff.ts","../src/patterns/inbox.ts","../src/patterns/blackboard.ts","../src/patterns/observe.ts","../src/patterns/approve.ts","../src/patterns/tools.ts","../src/tags.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["EventEmitter","constructor","this","_handlers","Map","on","event","handler","has","set","Set","get","add","off","delete","removeAllListeners","clear","emit","args","handlers","e","console","error","String","listenerCount","size","TOPIC_TASKS","TOPIC_RESULTS","TOPIC_STATE","TOPIC_EVENTS","TOPIC_INBOX","TOPIC_TOOLS","TOPIC_APPROVAL","AGENTS_PROTOCOL_VERSION","AgentRoom","name","roomContext","client","log","agentId","presence","super","_agents","_roomContext","_client","_log","_presence","_wireTopicListeners","_wirePresenceListeners","withProtocol","protocol","setPresence","_fetchInitialPresence","getConnectedAgents","Array","from","values","findAgents","capability","filter","a","capabilities","includes","hasCapability","length","getAvailableCapabilities","caps","agent","cap","data","fetchPresence","map","_toConnectedAgent","_emitPresence","actorId","context","publishTask","envelope","createdBy","_publish","publishResult","completedBy","replyTo","publishState","updatedBy","retain","publishEvent","emittedBy","publishInbox","publishTools","type","publishApproval","topic","options","actor","actorTokenId","role","metadata","connectedAt","joinedAt","Date","now","status","actors","isArray","connected","evt","roomId","id","existing","subscribe","loadBalance","filters","broadcastTopics","simpleMap","generateId","crypto","randomUUID","replace","Math","floor","random","toString","createTimestamp","NoLagAgents","token","prefix","_appContext","_rooms","_connected","_token","_options","appName","debug","rooms","lobby","clientOptions","_args","connect","NoLag","setApp","reason","err","message","roomName","room","subscribeLobby","lobbySlug","Error","setLobby","agents","initialState","Object","keys","disconnect","agentRoom","setRoom","IncompatibleProtocolError","operation","join","CorrelationManager","_pending","register","correlationId","timeoutMs","Promise","resolve","reject","timer","setTimeout","value","entry","clearTimeout","createTaskEnvelope","payload","taskId","tags","priority","createdAt","timeout","createResultEnvelope","completedAt","createStateEnvelope","key","version","updatedAt","createEventEnvelope","category","severity","eventId","timestamp","createApprovalRequest","action","requestedBy","requestId","urgency","requestedAt","expiresAt","createApprovalResponse","decision","respondedBy","respondedAt","createToolRequest","toolName","arguments","createToolResponse","result","Handoff","_correlations","_warnedMixed","_room","dispatch","allowNoWorkers","capable","requireOnline","undefined","waitForResult","allowLegacyResponders","modern","warn","onTask","capabilitiesOrHandler","maybeHandler","task","getCapableAgents","dispose","Inbox","_agentId","send","to","messageId","onMessage","msg","Blackboard","_state","getEnvelope","getAll","onChange","Observe","_emittedBy","Approve","request","onRequest","response","Tools","async","_ownsNamespace","nack","code","ns","slice","indexOf","invoke","servers","serverCount","TAG_PREFIX","CAPABILITY","PRIORITY","ROLE","SEVERITY","URGENCY","TENANT","TAG_FLAGS","REQUIRES_HUMAN","REQUIRES_AUDIT","tag"],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -18,3 +18,7 @@ export declare const TOPIC_APPROVAL = "approval";
|
|
|
18
18
|
export declare const DEFAULT_ROOM = "default-workflow";
|
|
19
19
|
/** Lobby for agent activity observation */
|
|
20
20
|
export declare const LOBBY_AGENT_ACTIVITY = "agent-activity";
|
|
21
|
+
/** Agents-protocol version: 2 = directed replies (filter-routed results),
|
|
22
|
+
* NO_HANDLER NACKs, presence protocol advertisement. Absent/1 = legacy
|
|
23
|
+
* broadcast replies (pre-0.2.0 SDKs). */
|
|
24
|
+
export declare const AGENTS_PROTOCOL_VERSION = 2;
|
package/dist/correlation.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare class CorrelationManager<T = unknown> {
|
|
|
8
8
|
* Register a pending correlation. Returns a promise that resolves
|
|
9
9
|
* when `resolve()` is called with the matching correlationId.
|
|
10
10
|
*/
|
|
11
|
-
register(correlationId: string, timeoutMs?: number): Promise<T>;
|
|
11
|
+
register(correlationId: string, timeoutMs?: number, context?: string): Promise<T>;
|
|
12
12
|
/**
|
|
13
13
|
* Resolve a pending correlation with a value.
|
|
14
14
|
* Returns true if the correlationId was found and resolved.
|
package/dist/envelope.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export declare function createTaskEnvelope(capability: string, payload: Record<s
|
|
|
10
10
|
export declare function createResultEnvelope(taskId: string, correlationId: string, status: ResultEnvelope["status"], payload: Record<string, unknown>, error?: {
|
|
11
11
|
code: string;
|
|
12
12
|
message: string;
|
|
13
|
-
}, completedBy?: string): ResultEnvelope;
|
|
13
|
+
}, completedBy?: string, replyTo?: string): ResultEnvelope;
|
|
14
14
|
export declare function createStateEnvelope(key: string, value: unknown, version: number, updatedBy: string): StateEnvelope;
|
|
15
15
|
export declare function createEventEnvelope(category: string, emittedBy: string, payload: Record<string, unknown>, severity?: EventEnvelope["severity"]): EventEnvelope;
|
|
16
16
|
export declare function createApprovalRequest(action: string, context: unknown, requestedBy: string, options?: {
|
|
@@ -24,4 +24,4 @@ export declare function createToolRequest(toolName: string, args: Record<string,
|
|
|
24
24
|
export declare function createToolResponse(requestId: string, correlationId: string, status: ToolResponseEnvelope["status"], result: unknown, error?: {
|
|
25
25
|
code: string;
|
|
26
26
|
message: string;
|
|
27
|
-
}, respondedBy?: string): ToolResponseEnvelope;
|
|
27
|
+
}, respondedBy?: string, replyTo?: string): ToolResponseEnvelope;
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IncompatibleProtocolError — thrown when an operation would deterministically
|
|
3
|
+
* fail because every relevant counterpart runs an older agents-protocol
|
|
4
|
+
* (pre-directed-replies). Failing fast beats burning the correlation timeout.
|
|
5
|
+
*/
|
|
6
|
+
export declare class IncompatibleProtocolError extends Error {
|
|
7
|
+
constructor(operation: string, agents: Array<{
|
|
8
|
+
name: string;
|
|
9
|
+
protocol: number;
|
|
10
|
+
}>);
|
|
11
|
+
}
|