@nolag/agents 1.0.0 → 1.1.1

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/dist/browser.js CHANGED
@@ -1,2 +1,2 @@
1
- class e{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 t="tasks",o="results",s="state",n="events",i="inbox",r="tools",a="approval",c=2;class h extends e{constructor(e,t,o,s,n,i,r){super(),this._agents=new Map,this._topicHandlers=[],this.name=e,this.agentId=s,this._roomContext=t,this._log=o,this._appName=n,this._isConnected=i,this._presence=r,this._wireTopicListeners(),r&&(this._presence={protocol:2,...r},this._log(`setting presence in room ${e}:`,this._presence),this._roomContext.setPresence({...this._presence,__scope:n})),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){this._presence={protocol:2,...e},this._log(`updating presence in room ${this.name}`),this._roomContext.setPresence({...this._presence,__scope:this._appName})}async fetchPresence(){try{return(await this._roomContext.fetchPresence()||[]).map(e=>this._toConnectedAgent(e))}catch{return[]}}get context(){return this._roomContext}publishTask(e){e.createdBy||(e.createdBy=this.agentId),this._publish(t,e)}publishResult(e){e.completedBy||(e.completedBy=this.agentId),e.replyTo?this._publish(o,e,{filter:e.replyTo}):this._publish(o,e)}publishState(e){e.updatedBy||(e.updatedBy=this.agentId),this._publish(s,e,{retain:!0})}publishEvent(e){e.emittedBy||(e.emittedBy=this.agentId),this._publish(n,e)}publishInbox(e){this._publish(i,e)}publishTools(e){"tool_response"===e?.type&&"string"==typeof e.replyTo&&e.replyTo?this._publish(o,e,{filter:e.replyTo}):this._publish(r,e)}publishApproval(e){this._publish(a,e,{retain:!0})}_updateLocalPresence(){this._presence&&this._roomContext.setPresence({...this._presence,__scope:this._appName})}_handlePresenceJoin(e,t){const o=t||{},s={actorId:e,name:o.name||e,role:o.role||"agent",capabilities:o.capabilities||[],metadata:o.metadata,connectedAt:Date.now(),protocol:"number"==typeof o.protocol?o.protocol:1};this._agents.set(e,s),this._log(`agent joined room ${this.name}:`,s.name,s.capabilities),this.emit("presenceJoin",e,o)}_handlePresenceLeave(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)}_handlePresenceUpdate(e,t){const o=t||{},s=this._agents.get(e),n={actorId:e,name:o.name||s?.name||e,role:o.role||s?.role||"agent",capabilities:o.capabilities||s?.capabilities||[],metadata:o.metadata||s?.metadata,connectedAt:s?.connectedAt||Date.now(),protocol:"number"==typeof o.protocol?o.protocol:s?.protocol??1};this._agents.set(e,n),this.emit("presenceUpdate",e,o)}_cleanup(){if(this._log(`room cleanup: ${this.name}`),this._isConnected()){const e=new Set(this._topicHandlers.map(e=>e.topic));for(const t of e)this._roomContext.unsubscribe(t)}for(const{topic:e,handler:t}of this._topicHandlers)this._roomContext.off(e,t);this._topicHandlers=[],this._agents.clear(),this.removeAllListeners()}_on(e,t){this._topicHandlers.push({topic:e,handler:t}),this._roomContext.on(e,t)}_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{}}_wireTopicListeners(){this._roomContext.subscribe(t),this._roomContext.subscribe(r),this._roomContext.subscribe(o,{loadBalance:!1,filters:[this.agentId]});const e=[s,n,i,a];for(const t of e)this._roomContext.subscribe(t,{loadBalance:!1});const c=[{topic:t,event:"task"},{topic:s,event:"stateChange"},{topic:n,event:"event"},{topic:i,event:"inbox"}];for(const{topic:e,event:t}of c)this._on(e,o=>{this._log(`received ${e} in room ${this.name}`),this.emit(t,o)});this._on(o,e=>{this._log(`received ${o} in room ${this.name}`),"tool_response"===e?.type?this.emit("toolResponse",e):this.emit("result",e)}),this._on(a,e=>{this._log(`received ${a} in room ${this.name}`),"approval_response"===e?.type?this.emit("approvalResponse",e):this.emit("approvalRequest",e)}),this._on(r,e=>{this._log(`received ${r} in room ${this.name}`),"tool_response"===e?.type?this.emit("toolResponse",e):this.emit("toolRequest",e)})}}function l(){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 _(e,t){return t?(...t)=>{console.log(`[${e}]`,...t)}:(...e)=>{}}function d(){return Date.now()}const p=new WeakMap;class u extends e{constructor(e){if(super(),this._rooms=new Map,this._lobby=null,this._epoch=0,this._detached=!1,this._isReady=!1,this._lobbyRefreshTimer=null,this._onConnectRef=()=>this._onConnect(),this._onDisconnectRef=e=>{this._log("disconnected:",e),this.emit("disconnected",e)},this._onReconnectRef=()=>{this._log("reconnecting..."),this.emit("reconnecting")},this._onErrorRef=e=>{this._log("error:",e?.message??e),this.emit("error",e)},this._onPresenceJoinRef=e=>this._handleRoomPresenceJoin(e),this._onPresenceLeaveRef=e=>this._handleRoomPresenceLeave(e),this._onPresenceUpdateRef=e=>this._handleRoomPresenceUpdate(e),this._onLobbyJoinRef=e=>this._handleLobbyJoin(e),this._onLobbyLeaveRef=e=>this._handleLobbyLeave(e),this._onLobbyUpdateRef=e=>this._handleLobbyUpdate(e),!e?.client)throw new TypeError("NoLagAgents requires an injected NoLag client: new NoLagAgents({ client, ... })");this._client=e.client,this._options={appName:e.appName??"agents",agentId:e.agentId??l(),name:e.name,role:e.role,debug:e.debug??!1,rooms:e.rooms??["default-workflow"],lobby:e.lobby,presence:e.presence??this._presenceFromIdentity(e)},this._log=_("NoLagAgents",this._options.debug),this._readyPromise=new Promise((e,t)=>{this._readyResolve=e,this._readyReject=t}),this._readyPromise.catch(()=>{}),function(e,t,o){let s=p.get(e);s||(s=new Map,p.set(e,s));const n=s.get(t);n&&console.warn(`[${o}] Another wrapper (${n}) is already attached to this client for app "${t}". Use one wrapper per (client, app) — detach the other instance first.`),s.set(t,o)}(this._client,this._options.appName,"NoLagAgents"),this._client.on("connect",this._onConnectRef),this._client.on("disconnect",this._onDisconnectRef),this._client.on("reconnect",this._onReconnectRef),this._client.on("error",this._onErrorRef),this._client.on("presence:join",this._onPresenceJoinRef),this._client.on("presence:leave",this._onPresenceLeaveRef),this._client.on("presence:update",this._onPresenceUpdateRef),this._client.on("lobbyPresence:join",this._onLobbyJoinRef),this._client.on("lobbyPresence:leave",this._onLobbyLeaveRef),this._client.on("lobbyPresence:update",this._onLobbyUpdateRef),queueMicrotask(()=>{0===this._epoch&&!this._detached&&this._client.connected&&this._onConnect()})}get agentId(){return this._options.agentId}get connected(){return!this._detached&&this._client.connected}get client(){return this._client}get rooms(){return this._rooms}ready(){return this._readyPromise}detach(){if(!this._detached){this._log("detaching..."),this._detached=!0,this._epoch++,this._lobbyRefreshTimer&&(clearTimeout(this._lobbyRefreshTimer),this._lobbyRefreshTimer=null),this._client.off("connect",this._onConnectRef),this._client.off("disconnect",this._onDisconnectRef),this._client.off("reconnect",this._onReconnectRef),this._client.off("error",this._onErrorRef),this._client.off("presence:join",this._onPresenceJoinRef),this._client.off("presence:leave",this._onPresenceLeaveRef),this._client.off("presence:update",this._onPresenceUpdateRef),this._client.off("lobbyPresence:join",this._onLobbyJoinRef),this._client.off("lobbyPresence:leave",this._onLobbyLeaveRef),this._client.off("lobbyPresence:update",this._onLobbyUpdateRef);for(const e of[...this._rooms.keys()])this._rooms.get(e)._cleanup(),this._rooms.delete(e);if(this._lobby&&this._client.connected)try{this._lobby.unsubscribe()}catch{}var e,t;this._lobby=null,e=this._client,t=this._options.appName,p.get(e)?.delete(t),this._isReady||this._readyReject(new Error("NoLagAgents detached before ready"))}}_onConnect(){this._epoch++,this._runSetup(this._epoch)}async _runSetup(e){const t=()=>e!==this._epoch||this._detached;if(this._log(this._isReady?"restoring after reconnect...":"setting up..."),this._log("agentId:",this._options.agentId,"→ actorId:",this._client.actorId),this._isReady)for(const e of this._rooms.values())e._updateLocalPresence();else for(const e of this._options.rooms)this._joinRoomInternal(e);if(this._options.lobby){this._lobby||(this._lobby=this._client.setApp(this._options.appName).setLobby(this._options.lobby));try{const e=await this._lobby.subscribe();if(t())return;this._diffHydrateLobby(e),this._log("lobby subscribed:",this._options.lobby)}catch(e){if(t())return;this._log("lobby subscription failed:",e)}}t()||(this._isReady?this.emit("reconnected"):(this._isReady=!0,this._readyResolve(),this.emit("connected")),this._options.lobby&&this._scheduleLobbyRefresh(e))}_scheduleLobbyRefresh(e){this._lobbyRefreshTimer&&clearTimeout(this._lobbyRefreshTimer),this._lobbyRefreshTimer=setTimeout(()=>{this._lobbyRefreshTimer=null,e===this._epoch&&!this._detached&&this._client.connected&&this._lobby&&this._lobby.fetchPresence().then(t=>{e!==this._epoch||this._detached||this._diffHydrateLobby(t)}).catch(()=>{})},2e3)}room(e){this._assertUsable();const t=this._rooms.get(e);return t||this._joinRoomInternal(e)}async subscribeLobby(e){this._assertUsable(),this._log(`subscribing to lobby: ${e}`),this._options.lobby=e,this._lobby||(this._lobby=this._client.setApp(this._options.appName).setLobby(e));try{const e=await this._lobby.subscribe();return this._detached||this._diffHydrateLobby(e),e||{}}catch(e){return this._log("lobby subscription failed:",e),{}}}_assertUsable(){if(this._detached)throw new Error("NoLagAgents has been detached — construct a new instance");if(!this._isReady)throw new Error('NoLagAgents not ready — await ready() or the "connected" event')}_joinRoomInternal(e){this._log(`joining room: ${e}`);const t=this._client.setApp(this._options.appName).setRoom(e),o=new h(e,t,_(`AgentRoom:${e}`,this._options.debug),this._options.agentId,this._options.appName,()=>this._client.connected,this._options.presence);return this._rooms.set(e,o),o}_foreignScope(e){const t=e?.__scope;return"string"==typeof t&&t!==this._options.appName}_handleRoomPresenceJoin(e){if(e.actorTokenId===this._client.actorId)return;const t=e.presence||{};if(this._foreignScope(t))return;const o=e.roomId;for(const s of this._targetRooms(o))s._handlePresenceJoin(e.actorTokenId,t)}_handleRoomPresenceLeave(e){if(e.actorTokenId===this._client.actorId)return;const t=e.roomId;for(const o of this._targetRooms(t))o._handlePresenceLeave(e.actorTokenId)}_handleRoomPresenceUpdate(e){if(e.actorTokenId===this._client.actorId)return;const t=e.presence||{};if(this._foreignScope(t))return;const o=e.roomId;for(const s of this._targetRooms(o))s._handlePresenceUpdate(e.actorTokenId,t)}_targetRooms(e){return e&&this._rooms.has(e)?[this._rooms.get(e)]:e?[]:[...this._rooms.values()]}_handleLobbyJoin(e){const{actorId:t,data:o}=e;if(t===this._client.actorId)return;const s=o||{};if(!this._foreignScope(s)){this._log(`lobby presence:join — ${s.name||t}`);for(const e of this._rooms.values())e._handlePresenceJoin(t,s)}}_handleLobbyLeave(e){const{actorId:t,data:o}=e;if(t===this._client.actorId)return;const s=o||{};if(!this._foreignScope(s)){this._log(`lobby presence:leave — ${t}`);for(const e of this._rooms.values())e._handlePresenceLeave(t)}}_handleLobbyUpdate(e){const{actorId:t,data:o}=e;if(t===this._client.actorId)return;const s=o||{};if(!this._foreignScope(s))for(const e of this._rooms.values())e._handlePresenceUpdate(t,s)}_diffHydrateLobby(e){for(const t of Object.keys(e)){const o=e[t];for(const e of Object.keys(o)){if(e===this._client.actorId)continue;const t=o[e],s=t?.presence??t;if(!this._foreignScope(s))for(const t of this._rooms.values())t._handlePresenceJoin(e,s)}}}_presenceFromIdentity(e){if(e.name||e.role)return{name:e.name??e.agentId??"agent",role:e.role??"agent"}}}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 g{constructor(){this._pending=new Map}register(e,t,o){return new Promise((s,n)=>{let i=null;t&&t>0&&(i=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:i})})}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 b(e,t,o){return{type:"task",protocol:2,taskId:l(),correlationId:l(),replyTo:o?.replyTo,capability:e,payload:t,tags:o?.tags,priority:o?.priority??"medium",metadata:o?.metadata,createdAt:d(),createdBy:o?.createdBy,timeout:o?.timeout}}function f(e,t,o,s,n,i,r){return{type:"result",protocol:2,correlationId:t,taskId:e,status:o,payload:s,error:n,completedAt:d(),completedBy:i,replyTo:r}}function y(e,t,o,s){return{type:"state",protocol:2,key:e,value:t,version:o,updatedBy:s,updatedAt:d()}}function I(e,t,o,s="info"){return{type:"event",protocol:2,eventId:l(),severity:s,category:e,emittedBy:t,payload:o,timestamp:d()}}function v(e,t,o,s){return{type:"approval_request",protocol:2,requestId:l(),correlationId:l(),action:e,context:t,urgency:s?.urgency??"medium",requestedBy:o,requestedAt:d(),expiresAt:s?.expiresAt}}function R(e,t,o,s,n){return{type:"approval_response",protocol:2,requestId:e,correlationId:t,decision:o,respondedBy:s,reason:n,respondedAt:d()}}function w(e,t,o,s){return{type:"tool_request",protocol:2,requestId:l(),correlationId:l(),replyTo:s?.replyTo,toolName:e,arguments:t,requestedBy:o,requestedAt:d()}}function T(e,t,o,s,n,i,r){return{type:"tool_response",protocol:2,requestId:e,correlationId:t,status:o,result:s,error:n,respondedBy:i,respondedAt:d(),replyTo:r}}class A{constructor(e){this._correlations=new g,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=b(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=f(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 L{constructor(e,t){this._room=e,this._agentId=t}send(e,t){const o={messageId:l(),from:this._agentId,to:e,payload:t,createdAt:d()};this._room.publishInbox(o)}onMessage(e){this._room.on("inbox",t=>{const o=t;o.to===this._agentId&&e(o)})}}class x{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=y(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 ${constructor(e,t){this._room=e,this._emittedBy=t}emit(e,t,o="info"){const s=I(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 P{constructor(e,t){this._correlations=new g,this._room=e,this._agentId=t,this._room.on("approvalResponse",e=>{this._correlations.resolve(e.correlationId,e)})}async request(e,t,o){const s=v(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=R(t.requestId,t.correlationId,e,this._agentId,o);this._room.publishApproval(s)})})}dispose(){this._correlations.clear()}}class C{constructor(e,t){this._correlations=new g,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=T(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=T(e.requestId,e.correlationId,"success",s,void 0,this._agentId,o);this._room.publishTools(n)}catch(t){const s=T(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 i=s.length;return this._correlations.register(n.correlationId,o?.timeout,`Tool '${e}' invocation in room '${this._room.name}' (${i} tool-server${1===i?"":"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 k={CAPABILITY:"capability",PRIORITY:"priority",ROLE:"role",SEVERITY:"severity",URGENCY:"urgency",TENANT:"tenant"},N={REQUIRES_HUMAN:"requires_human",REQUIRES_AUDIT:"requires_audit"};function E(e,t){return`${e}:${t}`}export{c as AGENTS_PROTOCOL_VERSION,h as AgentRoom,P as Approve,x as Blackboard,g as CorrelationManager,e as EventEmitter,A as Handoff,L as Inbox,m as IncompatibleProtocolError,u as NoLagAgents,$ as Observe,N as TAG_FLAGS,k as TAG_PREFIX,C as Tools,v as createApprovalRequest,R as createApprovalResponse,I as createEventEnvelope,f as createResultEnvelope,y as createStateEnvelope,b as createTaskEnvelope,w as createToolRequest,T as createToolResponse,E as tag};
1
+ class e{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{const o=s(...t);o&&"function"==typeof o.then&&o.then(void 0,t=>{console.error(`Error in async ${String(e)} handler:`,t)})}catch(t){console.error(`Error in ${String(e)} handler:`,t)}}listenerCount(e){return this._handlers.get(e)?.size??0}}const t="tasks",o="results",s="state",n="events",i="inbox",r="tools",a="approval",c=2;class h extends e{constructor(e,t,o,s,n,i,r){super(),this._agents=new Map,this._topicHandlers=[],this.name=e,this.agentId=s,this._roomContext=t,this._log=o,this._appName=n,this._isConnected=i,this._presence=r,this._wireTopicListeners(),r&&(this._presence={protocol:2,...r},this._log(`setting presence in room ${e}:`,this._presence),this._roomContext.setPresence({...this._presence,__scope:n})),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){this._presence={protocol:2,...e},this._log(`updating presence in room ${this.name}`),this._roomContext.setPresence({...this._presence,__scope:this._appName})}async fetchPresence(){try{return(await this._roomContext.fetchPresence()||[]).map(e=>this._toConnectedAgent(e))}catch{return[]}}get context(){return this._roomContext}publishTask(e){e.createdBy||(e.createdBy=this.agentId),this._publish(t,e)}publishResult(e){e.completedBy||(e.completedBy=this.agentId),e.replyTo?this._publish(o,e,{filter:e.replyTo}):this._publish(o,e)}publishState(e){e.updatedBy||(e.updatedBy=this.agentId),this._publish(s,e,{retain:!0})}publishEvent(e){e.emittedBy||(e.emittedBy=this.agentId),this._publish(n,e)}publishInbox(e){this._publish(i,e)}publishTools(e){"tool_response"===e?.type&&"string"==typeof e.replyTo&&e.replyTo?this._publish(o,e,{filter:e.replyTo}):this._publish(r,e)}publishApproval(e){this._publish(a,e,{retain:!0})}_updateLocalPresence(){this._presence&&this._roomContext.setPresence({...this._presence,__scope:this._appName})}_handlePresenceJoin(e,t){const o=t||{},s={actorId:e,name:o.name||e,role:o.role||"agent",capabilities:o.capabilities||[],metadata:o.metadata,connectedAt:Date.now(),protocol:"number"==typeof o.protocol?o.protocol:1};this._agents.set(e,s),this._log(`agent joined room ${this.name}:`,s.name,s.capabilities),this.emit("presenceJoin",e,o)}_handlePresenceLeave(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)}_handlePresenceUpdate(e,t){const o=t||{},s=this._agents.get(e),n={actorId:e,name:o.name||s?.name||e,role:o.role||s?.role||"agent",capabilities:o.capabilities||s?.capabilities||[],metadata:o.metadata||s?.metadata,connectedAt:s?.connectedAt||Date.now(),protocol:"number"==typeof o.protocol?o.protocol:s?.protocol??1};this._agents.set(e,n),this.emit("presenceUpdate",e,o)}_cleanup(){if(this._log(`room cleanup: ${this.name}`),this._isConnected()){const e=new Set(this._topicHandlers.map(e=>e.topic));for(const t of e)this._roomContext.unsubscribe(t)}for(const{topic:e,handler:t}of this._topicHandlers)this._roomContext.off(e,t);this._topicHandlers=[],this._agents.clear(),this.removeAllListeners()}_on(e,t){this._topicHandlers.push({topic:e,handler:t}),this._roomContext.on(e,t)}_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{}}_wireTopicListeners(){this._roomContext.subscribe(t),this._roomContext.subscribe(r),this._roomContext.subscribe(o,{loadBalance:!1,filters:[this.agentId]});const e=[s,n,i,a];for(const t of e)this._roomContext.subscribe(t,{loadBalance:!1});const c=[{topic:t,event:"task"},{topic:s,event:"stateChange"},{topic:n,event:"event"},{topic:i,event:"inbox"}];for(const{topic:e,event:t}of c)this._on(e,o=>{this._log(`received ${e} in room ${this.name}`),this.emit(t,o)});this._on(o,e=>{this._log(`received ${o} in room ${this.name}`),"tool_response"===e?.type?this.emit("toolResponse",e):this.emit("result",e)}),this._on(a,e=>{this._log(`received ${a} in room ${this.name}`),"approval_response"===e?.type?this.emit("approvalResponse",e):this.emit("approvalRequest",e)}),this._on(r,e=>{this._log(`received ${r} in room ${this.name}`),"tool_response"===e?.type?this.emit("toolResponse",e):this.emit("toolRequest",e)})}}function l(){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 _(e,t){return t?(...t)=>{console.log(`[${e}]`,...t)}:(...e)=>{}}function d(){return Date.now()}const p=new WeakMap;class u extends e{constructor(e){if(super(),this._rooms=new Map,this._lobby=null,this._epoch=0,this._detached=!1,this._isReady=!1,this._lobbyRefreshTimer=null,this._onConnectRef=()=>this._onConnect(),this._onDisconnectRef=e=>{this._log("disconnected:",e),this.emit("disconnected",e)},this._onReconnectRef=()=>{this._log("reconnecting..."),this.emit("reconnecting")},this._onErrorRef=e=>{this._log("error:",e?.message??e),this.emit("error",e)},this._onPresenceJoinRef=e=>this._handleRoomPresenceJoin(e),this._onPresenceLeaveRef=e=>this._handleRoomPresenceLeave(e),this._onPresenceUpdateRef=e=>this._handleRoomPresenceUpdate(e),this._onLobbyJoinRef=e=>this._handleLobbyJoin(e),this._onLobbyLeaveRef=e=>this._handleLobbyLeave(e),this._onLobbyUpdateRef=e=>this._handleLobbyUpdate(e),!e?.client)throw new TypeError("NoLagAgents requires an injected NoLag client: new NoLagAgents({ client, ... })");this._client=e.client,this._options={appName:e.appName??"agents",agentId:e.agentId??l(),name:e.name,role:e.role,debug:e.debug??!1,rooms:e.rooms??["default-workflow"],lobby:e.lobby,presence:e.presence??this._presenceFromIdentity(e)},this._log=_("NoLagAgents",this._options.debug),this._readyPromise=new Promise((e,t)=>{this._readyResolve=e,this._readyReject=t}),this._readyPromise.catch(()=>{}),function(e,t,o){let s=p.get(e);s||(s=new Map,p.set(e,s));const n=s.get(t);n&&console.warn(`[${o}] Another wrapper (${n}) is already attached to this client for app "${t}". Use one wrapper per (client, app) — detach the other instance first.`),s.set(t,o)}(this._client,this._options.appName,"NoLagAgents"),this._client.on("connect",this._onConnectRef),this._client.on("disconnect",this._onDisconnectRef),this._client.on("reconnect",this._onReconnectRef),this._client.on("error",this._onErrorRef),this._client.on("presence:join",this._onPresenceJoinRef),this._client.on("presence:leave",this._onPresenceLeaveRef),this._client.on("presence:update",this._onPresenceUpdateRef),this._client.on("lobbyPresence:join",this._onLobbyJoinRef),this._client.on("lobbyPresence:leave",this._onLobbyLeaveRef),this._client.on("lobbyPresence:update",this._onLobbyUpdateRef),queueMicrotask(()=>{0===this._epoch&&!this._detached&&this._client.connected&&this._onConnect()})}get agentId(){return this._options.agentId}get connected(){return!this._detached&&this._client.connected}get client(){return this._client}get rooms(){return this._rooms}ready(){return this._readyPromise}detach(){if(!this._detached){this._log("detaching..."),this._detached=!0,this._epoch++,this._lobbyRefreshTimer&&(clearTimeout(this._lobbyRefreshTimer),this._lobbyRefreshTimer=null),this._client.off("connect",this._onConnectRef),this._client.off("disconnect",this._onDisconnectRef),this._client.off("reconnect",this._onReconnectRef),this._client.off("error",this._onErrorRef),this._client.off("presence:join",this._onPresenceJoinRef),this._client.off("presence:leave",this._onPresenceLeaveRef),this._client.off("presence:update",this._onPresenceUpdateRef),this._client.off("lobbyPresence:join",this._onLobbyJoinRef),this._client.off("lobbyPresence:leave",this._onLobbyLeaveRef),this._client.off("lobbyPresence:update",this._onLobbyUpdateRef);for(const e of[...this._rooms.keys()])this._rooms.get(e)._cleanup(),this._rooms.delete(e);if(this._lobby&&this._client.connected)try{this._lobby.unsubscribe()}catch{}var e,t;this._lobby=null,e=this._client,t=this._options.appName,p.get(e)?.delete(t),this._isReady||this._readyReject(new Error("NoLagAgents detached before ready"))}}_onConnect(){this._epoch++,this._runSetup(this._epoch)}async _runSetup(e){const t=()=>e!==this._epoch||this._detached;if(this._log(this._isReady?"restoring after reconnect...":"setting up..."),this._log("agentId:",this._options.agentId,"→ actorId:",this._client.actorId),this._isReady)for(const e of this._rooms.values())e._updateLocalPresence();else for(const e of this._options.rooms)this._joinRoomInternal(e);if(this._options.lobby){this._lobby||(this._lobby=this._client.setApp(this._options.appName).setLobby(this._options.lobby));try{const e=await this._lobby.subscribe();if(t())return;this._diffHydrateLobby(e),this._log("lobby subscribed:",this._options.lobby)}catch(e){if(t())return;this._log("lobby subscription failed:",e)}}t()||(this._isReady?this.emit("reconnected"):(this._isReady=!0,this._readyResolve(),this.emit("connected")),this._options.lobby&&this._scheduleLobbyRefresh(e))}_scheduleLobbyRefresh(e){this._lobbyRefreshTimer&&clearTimeout(this._lobbyRefreshTimer),this._lobbyRefreshTimer=setTimeout(()=>{this._lobbyRefreshTimer=null,e===this._epoch&&!this._detached&&this._client.connected&&this._lobby&&this._lobby.fetchPresence().then(t=>{e!==this._epoch||this._detached||this._diffHydrateLobby(t)}).catch(()=>{})},2e3)}room(e){this._assertUsable();const t=this._rooms.get(e);return t||this._joinRoomInternal(e)}async subscribeLobby(e){this._assertUsable(),this._log(`subscribing to lobby: ${e}`),this._options.lobby=e,this._lobby||(this._lobby=this._client.setApp(this._options.appName).setLobby(e));try{const e=await this._lobby.subscribe();return this._detached||this._diffHydrateLobby(e),e||{}}catch(e){return this._log("lobby subscription failed:",e),{}}}_assertUsable(){if(this._detached)throw new Error("NoLagAgents has been detached — construct a new instance");if(!this._isReady)throw new Error('NoLagAgents not ready — await ready() or the "connected" event')}_joinRoomInternal(e){this._log(`joining room: ${e}`);const t=this._client.setApp(this._options.appName).setRoom(e),o=new h(e,t,_(`AgentRoom:${e}`,this._options.debug),this._options.agentId,this._options.appName,()=>this._client.connected,this._options.presence);return this._rooms.set(e,o),o}_foreignScope(e){const t=e?.__scope;return"string"==typeof t&&t!==this._options.appName}_handleRoomPresenceJoin(e){if(e.actorTokenId===this._client.actorId)return;const t=e.presence||{};if(this._foreignScope(t))return;const o=e.roomId;for(const s of this._targetRooms(o))s._handlePresenceJoin(e.actorTokenId,t)}_handleRoomPresenceLeave(e){if(e.actorTokenId===this._client.actorId)return;const t=e.roomId;for(const o of this._targetRooms(t))o._handlePresenceLeave(e.actorTokenId)}_handleRoomPresenceUpdate(e){if(e.actorTokenId===this._client.actorId)return;const t=e.presence||{};if(this._foreignScope(t))return;const o=e.roomId;for(const s of this._targetRooms(o))s._handlePresenceUpdate(e.actorTokenId,t)}_targetRooms(e){return e&&this._rooms.has(e)?[this._rooms.get(e)]:e?[]:[...this._rooms.values()]}_handleLobbyJoin(e){const{actorId:t,data:o}=e;if(t===this._client.actorId)return;const s=o||{};if(!this._foreignScope(s)){this._log(`lobby presence:join — ${s.name||t}`);for(const e of this._rooms.values())e._handlePresenceJoin(t,s)}}_handleLobbyLeave(e){const{actorId:t,data:o}=e;if(t===this._client.actorId)return;const s=o||{};if(!this._foreignScope(s)){this._log(`lobby presence:leave — ${t}`);for(const e of this._rooms.values())e._handlePresenceLeave(t)}}_handleLobbyUpdate(e){const{actorId:t,data:o}=e;if(t===this._client.actorId)return;const s=o||{};if(!this._foreignScope(s))for(const e of this._rooms.values())e._handlePresenceUpdate(t,s)}_diffHydrateLobby(e){for(const t of Object.keys(e)){const o=e[t];for(const e of Object.keys(o)){if(e===this._client.actorId)continue;const t=o[e],s=t?.presence??t;if(!this._foreignScope(s))for(const t of this._rooms.values())t._handlePresenceJoin(e,s)}}}_presenceFromIdentity(e){if(e.name||e.role)return{name:e.name??e.agentId??"agent",role:e.role??"agent"}}}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 g{constructor(){this._pending=new Map}register(e,t,o){return new Promise((s,n)=>{let i=null;t&&t>0&&(i=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:i})})}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 f(e,t,o){return{type:"task",protocol:2,taskId:l(),correlationId:l(),replyTo:o?.replyTo,capability:e,payload:t,tags:o?.tags,priority:o?.priority??"medium",metadata:o?.metadata,createdAt:d(),createdBy:o?.createdBy,timeout:o?.timeout}}function b(e,t,o,s,n,i,r){return{type:"result",protocol:2,correlationId:t,taskId:e,status:o,payload:s,error:n,completedAt:d(),completedBy:i,replyTo:r}}function y(e,t,o,s){return{type:"state",protocol:2,key:e,value:t,version:o,updatedBy:s,updatedAt:d()}}function I(e,t,o,s="info"){return{type:"event",protocol:2,eventId:l(),severity:s,category:e,emittedBy:t,payload:o,timestamp:d()}}function v(e,t,o,s){return{type:"approval_request",protocol:2,requestId:l(),correlationId:l(),action:e,context:t,urgency:s?.urgency??"medium",requestedBy:o,requestedAt:d(),expiresAt:s?.expiresAt}}function R(e,t,o,s,n){return{type:"approval_response",protocol:2,requestId:e,correlationId:t,decision:o,respondedBy:s,reason:n,respondedAt:d()}}function w(e,t,o,s){return{type:"tool_request",protocol:2,requestId:l(),correlationId:l(),replyTo:s?.replyTo,toolName:e,arguments:t,requestedBy:o,requestedAt:d()}}function T(e,t,o,s,n,i,r){return{type:"tool_response",protocol:2,requestId:e,correlationId:t,status:o,result:s,error:n,respondedBy:i,respondedAt:d(),replyTo:r}}class A{constructor(e){this._correlations=new g,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=f(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=b(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 L{constructor(e,t){this._room=e,this._agentId=t}send(e,t){const o={messageId:l(),from:this._agentId,to:e,payload:t,createdAt:d()};this._room.publishInbox(o)}onMessage(e){this._room.on("inbox",t=>{const o=t;o.to===this._agentId&&e(o)})}}class x{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=y(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 ${constructor(e,t){this._room=e,this._emittedBy=t}emit(e,t,o="info"){const s=I(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 P{constructor(e,t){this._correlations=new g,this._room=e,this._agentId=t,this._room.on("approvalResponse",e=>{this._correlations.resolve(e.correlationId,e)})}async request(e,t,o){const s=v(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=R(t.requestId,t.correlationId,e,this._agentId,o);this._room.publishApproval(s)})})}dispose(){this._correlations.clear()}}class C{constructor(e,t){this._correlations=new g,this._handlers=new Map,this._warnedMixed=!1,this._room=e,this._agentId=t,this._room.on("toolResponse",e=>{e&&"string"==typeof e.correlationId&&this._correlations.resolve(e.correlationId,e)}),this._room.on("toolRequest",async e=>{if(!e||"string"!=typeof e.toolName)return;const t=this._handlers.get(e.toolName),o=e.replyTo??e.requestedBy;if(!t){if(!this._ownsNamespace(e.toolName))return;const t=T(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=T(e.requestId,e.correlationId,"success",s,void 0,this._agentId,o);this._room.publishTools(n)}catch(t){const s=T(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("string"!=typeof e)return!1;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 i=s.length;return this._correlations.register(n.correlationId,o?.timeout,`Tool '${e}' invocation in room '${this._room.name}' (${i} tool-server${1===i?"":"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 k={CAPABILITY:"capability",PRIORITY:"priority",ROLE:"role",SEVERITY:"severity",URGENCY:"urgency",TENANT:"tenant"},N={REQUIRES_HUMAN:"requires_human",REQUIRES_AUDIT:"requires_audit"};function E(e,t){return`${e}:${t}`}export{c as AGENTS_PROTOCOL_VERSION,h as AgentRoom,P as Approve,x as Blackboard,g as CorrelationManager,e as EventEmitter,A as Handoff,L as Inbox,m as IncompatibleProtocolError,u as NoLagAgents,$ as Observe,N as TAG_FLAGS,k as TAG_PREFIX,C as Tools,v as createApprovalRequest,R as createApprovalResponse,I as createEventEnvelope,b as createResultEnvelope,y as createStateEnvelope,f as createTaskEnvelope,w as createToolRequest,T as createToolResponse,E as tag};
2
2
  //# sourceMappingURL=browser.js.map
@@ -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/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","log","agentId","appName","isConnected","presence","super","_agents","_topicHandlers","_roomContext","_log","_appName","_isConnected","_presence","_wireTopicListeners","protocol","setPresence","__scope","_fetchInitialPresence","getConnectedAgents","Array","from","values","findAgents","capability","filter","a","capabilities","includes","hasCapability","length","getAvailableCapabilities","caps","agent","cap","data","fetchPresence","map","_toConnectedAgent","context","publishTask","envelope","createdBy","_publish","publishResult","completedBy","replyTo","publishState","updatedBy","retain","publishEvent","emittedBy","publishInbox","publishTools","type","publishApproval","_updateLocalPresence","_handlePresenceJoin","actorId","d","role","metadata","connectedAt","Date","now","_handlePresenceLeave","_handlePresenceUpdate","existing","_cleanup","topics","t","topic","unsubscribe","_on","push","options","actor","actorTokenId","joinedAt","status","actors","isArray","connected","subscribe","loadBalance","filters","broadcastTopics","simpleMap","generateId","crypto","randomUUID","replace","Math","floor","random","toString","createLogger","prefix","enabled","_args","createTimestamp","wrapperRegistry","WeakMap","NoLagAgents","_rooms","_lobby","_epoch","_detached","_isReady","_lobbyRefreshTimer","_onConnectRef","_onConnect","_onDisconnectRef","reason","_onReconnectRef","_onErrorRef","message","_onPresenceJoinRef","_handleRoomPresenceJoin","_onPresenceLeaveRef","_handleRoomPresenceLeave","_onPresenceUpdateRef","_handleRoomPresenceUpdate","_onLobbyJoinRef","_handleLobbyJoin","_onLobbyLeaveRef","_handleLobbyLeave","_onLobbyUpdateRef","_handleLobbyUpdate","client","TypeError","_client","_options","debug","rooms","lobby","_presenceFromIdentity","_readyPromise","Promise","resolve","reject","_readyResolve","_readyReject","catch","wrapperName","apps","warn","registerWrapper","queueMicrotask","ready","detach","clearTimeout","keys","Error","_runSetup","epoch","stale","room","roomName","_joinRoomInternal","setApp","setLobby","state","_diffHydrateLobby","err","_scheduleLobbyRefresh","setTimeout","then","_assertUsable","subscribeLobby","lobbySlug","setRoom","_foreignScope","scope","roomId","_targetRooms","Object","roomPresence","raw","IncompatibleProtocolError","operation","agents","join","CorrelationManager","_pending","register","correlationId","timeoutMs","timer","value","entry","id","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","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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"}
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","result","then","undefined","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","log","agentId","appName","isConnected","presence","super","_agents","_topicHandlers","_roomContext","_log","_appName","_isConnected","_presence","_wireTopicListeners","protocol","setPresence","__scope","_fetchInitialPresence","getConnectedAgents","Array","from","values","findAgents","capability","filter","a","capabilities","includes","hasCapability","length","getAvailableCapabilities","caps","agent","cap","data","fetchPresence","map","_toConnectedAgent","context","publishTask","envelope","createdBy","_publish","publishResult","completedBy","replyTo","publishState","updatedBy","retain","publishEvent","emittedBy","publishInbox","publishTools","type","publishApproval","_updateLocalPresence","_handlePresenceJoin","actorId","d","role","metadata","connectedAt","Date","now","_handlePresenceLeave","_handlePresenceUpdate","existing","_cleanup","topics","t","topic","unsubscribe","_on","push","options","actor","actorTokenId","joinedAt","status","actors","isArray","connected","subscribe","loadBalance","filters","broadcastTopics","simpleMap","generateId","crypto","randomUUID","replace","Math","floor","random","toString","createLogger","prefix","enabled","_args","createTimestamp","wrapperRegistry","WeakMap","NoLagAgents","_rooms","_lobby","_epoch","_detached","_isReady","_lobbyRefreshTimer","_onConnectRef","_onConnect","_onDisconnectRef","reason","_onReconnectRef","_onErrorRef","message","_onPresenceJoinRef","_handleRoomPresenceJoin","_onPresenceLeaveRef","_handleRoomPresenceLeave","_onPresenceUpdateRef","_handleRoomPresenceUpdate","_onLobbyJoinRef","_handleLobbyJoin","_onLobbyLeaveRef","_handleLobbyLeave","_onLobbyUpdateRef","_handleLobbyUpdate","client","TypeError","_client","_options","debug","rooms","lobby","_presenceFromIdentity","_readyPromise","Promise","resolve","reject","_readyResolve","_readyReject","catch","wrapperName","apps","warn","registerWrapper","queueMicrotask","ready","detach","clearTimeout","keys","Error","_runSetup","epoch","stale","room","roomName","_joinRoomInternal","setApp","setLobby","state","_diffHydrateLobby","err","_scheduleLobbyRefresh","setTimeout","_assertUsable","subscribeLobby","lobbySlug","setRoom","_foreignScope","scope","roomId","_targetRooms","Object","roomPresence","raw","IncompatibleProtocolError","operation","agents","join","CorrelationManager","_pending","register","correlationId","timeoutMs","timer","value","entry","id","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","Handoff","_correlations","_warnedMixed","_room","dispatch","allowNoWorkers","capable","requireOnline","waitForResult","allowLegacyResponders","modern","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/index.cjs CHANGED
@@ -36,7 +36,19 @@ class EventEmitter {
36
36
  return;
37
37
  for (const handler of handlers) {
38
38
  try {
39
- handler(...args);
39
+ // Async handlers don't throw — they return rejected promises, which
40
+ // the catch below never sees. Left unattached, one bad envelope from
41
+ // the wire becomes an unhandled rejection and (Node ≥15) TERMINATES
42
+ // THE HOST PROCESS. An event emitter fed by network input must never
43
+ // hand a remote peer that power, so rejections are contained here
44
+ // exactly like sync throws.
45
+ const result = handler(...args);
46
+ if (result &&
47
+ typeof result.then === "function") {
48
+ result.then(undefined, (e) => {
49
+ console.error(`Error in async ${String(event)} handler:`, e);
50
+ });
51
+ }
40
52
  }
41
53
  catch (e) {
42
54
  console.error(`Error in ${String(event)} handler:`, e);
@@ -1425,10 +1437,20 @@ class Tools {
1425
1437
  this._agentId = agentId;
1426
1438
  // Wire response correlation
1427
1439
  this._room.on("toolResponse", (envelope) => {
1440
+ if (!envelope || typeof envelope.correlationId !== "string")
1441
+ return;
1428
1442
  this._correlations.resolve(envelope.correlationId, envelope);
1429
1443
  });
1430
1444
  // Wire request handling
1431
1445
  this._room.on("toolRequest", async (envelope) => {
1446
+ // The tools topic is an open room surface: anything published there
1447
+ // that is not a tool_response is classified as a request, including
1448
+ // foreign or malformed payloads. A request with no toolName cannot be
1449
+ // routed OR NACKed meaningfully — and it must never be able to crash
1450
+ // the host (this listener is async, so an uncaught throw here becomes
1451
+ // an unhandled rejection that terminates the process).
1452
+ if (!envelope || typeof envelope.toolName !== "string")
1453
+ return;
1432
1454
  const handler = this._handlers.get(envelope.toolName);
1433
1455
  // Direct the response back to the requester's filter sub-topic
1434
1456
  const replyTo = envelope.replyTo ?? envelope.requestedBy;
@@ -1477,6 +1499,9 @@ class Tools {
1477
1499
  /** True when this agent hosts handlers in the tool's namespace (prefix
1478
1500
  * before the first '.'); unprefixed tools match any unprefixed handler. */
1479
1501
  _ownsNamespace(toolName) {
1502
+ // Belt and braces: a nameless tool belongs to nobody.
1503
+ if (typeof toolName !== "string")
1504
+ return false;
1480
1505
  if (this._handlers.size === 0)
1481
1506
  return false;
1482
1507
  const ns = toolName.includes(".") ? toolName.slice(0, toolName.indexOf(".")) : null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","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":[],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","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":[],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -34,7 +34,19 @@ class EventEmitter {
34
34
  return;
35
35
  for (const handler of handlers) {
36
36
  try {
37
- handler(...args);
37
+ // Async handlers don't throw — they return rejected promises, which
38
+ // the catch below never sees. Left unattached, one bad envelope from
39
+ // the wire becomes an unhandled rejection and (Node ≥15) TERMINATES
40
+ // THE HOST PROCESS. An event emitter fed by network input must never
41
+ // hand a remote peer that power, so rejections are contained here
42
+ // exactly like sync throws.
43
+ const result = handler(...args);
44
+ if (result &&
45
+ typeof result.then === "function") {
46
+ result.then(undefined, (e) => {
47
+ console.error(`Error in async ${String(event)} handler:`, e);
48
+ });
49
+ }
38
50
  }
39
51
  catch (e) {
40
52
  console.error(`Error in ${String(event)} handler:`, e);
@@ -1423,10 +1435,20 @@ class Tools {
1423
1435
  this._agentId = agentId;
1424
1436
  // Wire response correlation
1425
1437
  this._room.on("toolResponse", (envelope) => {
1438
+ if (!envelope || typeof envelope.correlationId !== "string")
1439
+ return;
1426
1440
  this._correlations.resolve(envelope.correlationId, envelope);
1427
1441
  });
1428
1442
  // Wire request handling
1429
1443
  this._room.on("toolRequest", async (envelope) => {
1444
+ // The tools topic is an open room surface: anything published there
1445
+ // that is not a tool_response is classified as a request, including
1446
+ // foreign or malformed payloads. A request with no toolName cannot be
1447
+ // routed OR NACKed meaningfully — and it must never be able to crash
1448
+ // the host (this listener is async, so an uncaught throw here becomes
1449
+ // an unhandled rejection that terminates the process).
1450
+ if (!envelope || typeof envelope.toolName !== "string")
1451
+ return;
1430
1452
  const handler = this._handlers.get(envelope.toolName);
1431
1453
  // Direct the response back to the requester's filter sub-topic
1432
1454
  const replyTo = envelope.replyTo ?? envelope.requestedBy;
@@ -1475,6 +1497,9 @@ class Tools {
1475
1497
  /** True when this agent hosts handlers in the tool's namespace (prefix
1476
1498
  * before the first '.'); unprefixed tools match any unprefixed handler. */
1477
1499
  _ownsNamespace(toolName) {
1500
+ // Belt and braces: a nameless tool belongs to nobody.
1501
+ if (typeof toolName !== "string")
1502
+ return false;
1478
1503
  if (this._handlers.size === 0)
1479
1504
  return false;
1480
1505
  const ns = toolName.includes(".") ? toolName.slice(0, toolName.indexOf(".")) : null;