@multi-agent-protocol/sdk 0.0.3 → 0.0.4
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/{index-C7XPWnxS.d.cts → index-Z76qC_Us.d.cts} +133 -5
- package/dist/{index-C7XPWnxS.d.ts → index-Z76qC_Us.d.ts} +133 -5
- package/dist/index.cjs +287 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +125 -3
- package/dist/index.d.ts +125 -3
- package/dist/index.js +278 -15
- package/dist/index.js.map +1 -1
- package/dist/testing.cjs +336 -99
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.cts +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/testing.js +336 -99
- package/dist/testing.js.map +1 -1
- package/package.json +4 -4
|
@@ -739,6 +739,8 @@ interface ConnectRequestParams {
|
|
|
739
739
|
name?: string;
|
|
740
740
|
capabilities?: ParticipantCapabilities;
|
|
741
741
|
sessionId?: SessionId;
|
|
742
|
+
/** Token to resume a previously disconnected session */
|
|
743
|
+
resumeToken?: string;
|
|
742
744
|
/** Reclaim orphaned agents from previous connection */
|
|
743
745
|
reclaimAgents?: AgentId[];
|
|
744
746
|
/** Policy for unexpected disconnect */
|
|
@@ -777,6 +779,8 @@ interface DisconnectRequest extends MAPRequestBase<DisconnectRequestParams> {
|
|
|
777
779
|
}
|
|
778
780
|
interface DisconnectResponseResult {
|
|
779
781
|
session: SessionInfo;
|
|
782
|
+
/** Token to resume this session later */
|
|
783
|
+
resumeToken?: string;
|
|
780
784
|
_meta?: Meta;
|
|
781
785
|
}
|
|
782
786
|
interface SessionListRequestParams {
|
|
@@ -1767,8 +1771,6 @@ declare function isSuccessResponse<T>(response: MAPResponse<T>): response is MAP
|
|
|
1767
1771
|
declare function isDirectAddress(address: Address): address is DirectAddress;
|
|
1768
1772
|
/** Check if an address is a federated address */
|
|
1769
1773
|
declare function isFederatedAddress(address: Address): address is FederatedAddress;
|
|
1770
|
-
/** Check if an address is a scope address */
|
|
1771
|
-
declare function isScopeAddress(address: Address): address is ScopeAddress;
|
|
1772
1774
|
/** Check if an address is a broadcast address */
|
|
1773
1775
|
declare function isBroadcastAddress(address: Address): address is BroadcastAddress;
|
|
1774
1776
|
/** Check if an address is a hierarchical address */
|
|
@@ -1808,6 +1810,15 @@ declare function ndJsonStream(readable: ReadableStream<Uint8Array>, writable: Wr
|
|
|
1808
1810
|
* @returns Stream interface for MAP messages
|
|
1809
1811
|
*/
|
|
1810
1812
|
declare function websocketStream(ws: WebSocket): Stream;
|
|
1813
|
+
/**
|
|
1814
|
+
* Wait for a WebSocket to open with timeout.
|
|
1815
|
+
*
|
|
1816
|
+
* @param ws - WebSocket instance
|
|
1817
|
+
* @param timeoutMs - Timeout in milliseconds (default: 10000)
|
|
1818
|
+
* @returns Promise that resolves when WebSocket is open
|
|
1819
|
+
* @throws Error if connection times out or fails
|
|
1820
|
+
*/
|
|
1821
|
+
declare function waitForOpen(ws: WebSocket, timeoutMs?: number): Promise<void>;
|
|
1811
1822
|
/**
|
|
1812
1823
|
* Creates a pair of connected in-memory streams for testing.
|
|
1813
1824
|
*
|
|
@@ -2166,6 +2177,29 @@ interface ClientConnectionOptions extends BaseConnectionOptions {
|
|
|
2166
2177
|
/** Reconnection options */
|
|
2167
2178
|
reconnection?: ReconnectionOptions;
|
|
2168
2179
|
}
|
|
2180
|
+
/**
|
|
2181
|
+
* Options for ClientConnection.connect() static method
|
|
2182
|
+
*/
|
|
2183
|
+
interface ClientConnectOptions {
|
|
2184
|
+
/** Client name for identification */
|
|
2185
|
+
name?: string;
|
|
2186
|
+
/** Client capabilities to advertise */
|
|
2187
|
+
capabilities?: ParticipantCapabilities;
|
|
2188
|
+
/** Authentication credentials */
|
|
2189
|
+
auth?: {
|
|
2190
|
+
method: 'bearer' | 'api-key' | 'mtls' | 'none';
|
|
2191
|
+
token?: string;
|
|
2192
|
+
};
|
|
2193
|
+
/**
|
|
2194
|
+
* Reconnection configuration.
|
|
2195
|
+
* - `true` = enable with defaults
|
|
2196
|
+
* - `false` or omitted = disabled
|
|
2197
|
+
* - `ReconnectionOptions` = enable with custom settings
|
|
2198
|
+
*/
|
|
2199
|
+
reconnection?: boolean | ReconnectionOptions;
|
|
2200
|
+
/** Connection timeout in ms (default: 10000) */
|
|
2201
|
+
connectTimeout?: number;
|
|
2202
|
+
}
|
|
2169
2203
|
/**
|
|
2170
2204
|
* Client connection to a MAP system.
|
|
2171
2205
|
*
|
|
@@ -2178,11 +2212,38 @@ interface ClientConnectionOptions extends BaseConnectionOptions {
|
|
|
2178
2212
|
declare class ClientConnection {
|
|
2179
2213
|
#private;
|
|
2180
2214
|
constructor(stream: Stream, options?: ClientConnectionOptions);
|
|
2215
|
+
/**
|
|
2216
|
+
* Connect to a MAP server via WebSocket URL.
|
|
2217
|
+
*
|
|
2218
|
+
* Handles:
|
|
2219
|
+
* - WebSocket creation and connection
|
|
2220
|
+
* - Stream wrapping
|
|
2221
|
+
* - Auto-configuration of createStream for reconnection
|
|
2222
|
+
* - Initial MAP protocol connect handshake
|
|
2223
|
+
*
|
|
2224
|
+
* @param url - WebSocket URL (ws:// or wss://)
|
|
2225
|
+
* @param options - Connection options
|
|
2226
|
+
* @returns Connected ClientConnection instance
|
|
2227
|
+
*
|
|
2228
|
+
* @example
|
|
2229
|
+
* ```typescript
|
|
2230
|
+
* const client = await ClientConnection.connect('ws://localhost:8080', {
|
|
2231
|
+
* name: 'MyClient',
|
|
2232
|
+
* reconnection: true
|
|
2233
|
+
* });
|
|
2234
|
+
*
|
|
2235
|
+
* // Already connected, ready to use
|
|
2236
|
+
* const agents = await client.listAgents();
|
|
2237
|
+
* ```
|
|
2238
|
+
*/
|
|
2239
|
+
static connect(url: string, options?: ClientConnectOptions): Promise<ClientConnection>;
|
|
2181
2240
|
/**
|
|
2182
2241
|
* Connect to the MAP system
|
|
2183
2242
|
*/
|
|
2184
2243
|
connect(options?: {
|
|
2185
2244
|
sessionId?: SessionId;
|
|
2245
|
+
/** Token to resume a previously disconnected session */
|
|
2246
|
+
resumeToken?: string;
|
|
2186
2247
|
auth?: {
|
|
2187
2248
|
method: 'bearer' | 'api-key' | 'mtls' | 'none';
|
|
2188
2249
|
token?: string;
|
|
@@ -2190,8 +2251,10 @@ declare class ClientConnection {
|
|
|
2190
2251
|
}): Promise<ConnectResponseResult>;
|
|
2191
2252
|
/**
|
|
2192
2253
|
* Disconnect from the MAP system
|
|
2254
|
+
* @param reason - Optional reason for disconnecting
|
|
2255
|
+
* @returns Resume token that can be used to resume this session later
|
|
2193
2256
|
*/
|
|
2194
|
-
disconnect(reason?: string): Promise<
|
|
2257
|
+
disconnect(reason?: string): Promise<string | undefined>;
|
|
2195
2258
|
/**
|
|
2196
2259
|
* Whether the client is connected
|
|
2197
2260
|
*/
|
|
@@ -2467,6 +2530,39 @@ interface AgentConnectionOptions extends BaseConnectionOptions {
|
|
|
2467
2530
|
/** Reconnection options */
|
|
2468
2531
|
reconnection?: AgentReconnectionOptions;
|
|
2469
2532
|
}
|
|
2533
|
+
/**
|
|
2534
|
+
* Options for AgentConnection.connect() static method
|
|
2535
|
+
*/
|
|
2536
|
+
interface AgentConnectOptions {
|
|
2537
|
+
/** Agent name */
|
|
2538
|
+
name?: string;
|
|
2539
|
+
/** Agent role */
|
|
2540
|
+
role?: string;
|
|
2541
|
+
/** Agent capabilities to advertise */
|
|
2542
|
+
capabilities?: ParticipantCapabilities;
|
|
2543
|
+
/** Agent visibility settings */
|
|
2544
|
+
visibility?: AgentVisibility;
|
|
2545
|
+
/** Parent agent ID (for child agents) */
|
|
2546
|
+
parent?: AgentId;
|
|
2547
|
+
/** Initial scopes to join */
|
|
2548
|
+
scopes?: ScopeId[];
|
|
2549
|
+
/** Initial metadata */
|
|
2550
|
+
metadata?: Record<string, unknown>;
|
|
2551
|
+
/** Authentication credentials */
|
|
2552
|
+
auth?: {
|
|
2553
|
+
method: 'bearer' | 'api-key' | 'mtls' | 'none';
|
|
2554
|
+
token?: string;
|
|
2555
|
+
};
|
|
2556
|
+
/**
|
|
2557
|
+
* Reconnection configuration.
|
|
2558
|
+
* - `true` = enable with defaults
|
|
2559
|
+
* - `false` or omitted = disabled
|
|
2560
|
+
* - `AgentReconnectionOptions` = enable with custom settings
|
|
2561
|
+
*/
|
|
2562
|
+
reconnection?: boolean | AgentReconnectionOptions;
|
|
2563
|
+
/** Connection timeout in ms (default: 10000) */
|
|
2564
|
+
connectTimeout?: number;
|
|
2565
|
+
}
|
|
2470
2566
|
/**
|
|
2471
2567
|
* Agent connection to a MAP system.
|
|
2472
2568
|
*
|
|
@@ -2481,11 +2577,41 @@ interface AgentConnectionOptions extends BaseConnectionOptions {
|
|
|
2481
2577
|
declare class AgentConnection {
|
|
2482
2578
|
#private;
|
|
2483
2579
|
constructor(stream: Stream, options?: AgentConnectionOptions);
|
|
2580
|
+
/**
|
|
2581
|
+
* Connect and register an agent via WebSocket URL.
|
|
2582
|
+
*
|
|
2583
|
+
* Handles:
|
|
2584
|
+
* - WebSocket creation and connection
|
|
2585
|
+
* - Stream wrapping
|
|
2586
|
+
* - Auto-configuration of createStream for reconnection
|
|
2587
|
+
* - Initial MAP protocol connect handshake
|
|
2588
|
+
* - Agent registration
|
|
2589
|
+
*
|
|
2590
|
+
* @param url - WebSocket URL (ws:// or wss://)
|
|
2591
|
+
* @param options - Connection and agent options
|
|
2592
|
+
* @returns Connected and registered AgentConnection instance
|
|
2593
|
+
*
|
|
2594
|
+
* @example
|
|
2595
|
+
* ```typescript
|
|
2596
|
+
* const agent = await AgentConnection.connect('ws://localhost:8080', {
|
|
2597
|
+
* name: 'Worker',
|
|
2598
|
+
* role: 'processor',
|
|
2599
|
+
* reconnection: true
|
|
2600
|
+
* });
|
|
2601
|
+
*
|
|
2602
|
+
* // Already registered, ready to work
|
|
2603
|
+
* agent.onMessage(handleMessage);
|
|
2604
|
+
* await agent.busy();
|
|
2605
|
+
* ```
|
|
2606
|
+
*/
|
|
2607
|
+
static connect(url: string, options?: AgentConnectOptions): Promise<AgentConnection>;
|
|
2484
2608
|
/**
|
|
2485
2609
|
* Connect and register with the MAP system
|
|
2486
2610
|
*/
|
|
2487
2611
|
connect(options?: {
|
|
2488
2612
|
agentId?: AgentId;
|
|
2613
|
+
/** Token to resume a previously disconnected session */
|
|
2614
|
+
resumeToken?: string;
|
|
2489
2615
|
auth?: {
|
|
2490
2616
|
method: 'bearer' | 'api-key' | 'mtls' | 'none';
|
|
2491
2617
|
token?: string;
|
|
@@ -2496,8 +2622,10 @@ declare class AgentConnection {
|
|
|
2496
2622
|
}>;
|
|
2497
2623
|
/**
|
|
2498
2624
|
* Disconnect from the MAP system
|
|
2625
|
+
* @param reason - Optional reason for disconnecting
|
|
2626
|
+
* @returns Resume token that can be used to resume this session later
|
|
2499
2627
|
*/
|
|
2500
|
-
disconnect(reason?: string): Promise<
|
|
2628
|
+
disconnect(reason?: string): Promise<string | undefined>;
|
|
2501
2629
|
/**
|
|
2502
2630
|
* Whether the agent is connected
|
|
2503
2631
|
*/
|
|
@@ -3049,4 +3177,4 @@ declare function canAgentMessageAgent(senderAgent: Agent, targetAgentId: AgentId
|
|
|
3049
3177
|
sharedScopes?: ScopeId[];
|
|
3050
3178
|
}, config?: AgentPermissionConfig): boolean;
|
|
3051
3179
|
|
|
3052
|
-
export { type
|
|
3180
|
+
export { type AgentLifecycle as $, type AgentId as A, type BaseConnectionOptions as B, type ConnectResponseResult as C, type DisconnectResponseResult as D, type ErrorCategory as E, type FederationBufferConfig as F, type ScopesJoinResponseResult as G, type ScopesLeaveResponseResult as H, type ScopesListResponseResult as I, type MessageId as J, type SendResponseResult as K, type SubscriptionId as L, type MAPError as M, type SubscribeResponseResult as N, AGENT_ERROR_CODES as O, type ParticipantCapabilities as P, AUTH_ERROR_CODES as Q, type RequestId as R, type Stream as S, AUTH_METHODS as T, type UnsubscribeResponseResult as U, type AcceptanceContext as V, type AgentAcceptanceRule as W, type AgentConnectOptions as X, AgentConnection as Y, type AgentConnectionOptions as Z, type AgentIncludeOptions as _, type MAPErrorData as a, FEDERATION_METHODS as a$, type AgentMessagingRule as a0, type AgentPermissionConfig as a1, type AgentPermissions as a2, type AgentReconnectionEventHandler as a3, type AgentReconnectionEventType as a4, type AgentReconnectionOptions as a5, type AgentRelationship as a6, type AgentRelationshipType as a7, type AgentState as a8, type AgentVisibility as a9, type AuthRefreshRequest as aA, type AuthRefreshRequestParams as aB, type AuthRefreshResponseResult as aC, BaseConnection as aD, type BroadcastAddress as aE, CAPABILITY_REQUIREMENTS as aF, CORE_METHODS as aG, type ClientAcceptanceRule as aH, type ClientConnectOptions as aI, ClientConnection as aJ, type ClientConnectionOptions as aK, type ConnectRequest as aL, type ConnectRequestParams as aM, type CorrelationId as aN, DEFAULT_AGENT_PERMISSION_CONFIG as aO, type DeliverySemantics as aP, type DirectAddress as aQ, type DisconnectPolicy as aR, type DisconnectRequest as aS, type DisconnectRequestParams as aT, ERROR_CODES as aU, EVENT_TYPES as aV, EXTENSION_METHODS as aW, type EventInput as aX, type EventNotification as aY, type EventNotificationParams as aZ, FEDERATION_ERROR_CODES as a_, type AgentVisibilityRule as aa, type AgentsGetRequest as ab, type AgentsGetRequestParams as ac, type AgentsListFilter as ad, type AgentsListRequest as ae, type AgentsListRequestParams as af, type AgentsRegisterRequest as ag, type AgentsRegisterRequestParams as ah, type AgentsResumeRequest as ai, type AgentsResumeRequestParams as aj, type AgentsResumeResponseResult as ak, type AgentsSpawnRequest as al, type AgentsSpawnRequestParams as am, type AgentsStopRequest as an, type AgentsStopRequestParams as ao, type AgentsStopResponseResult as ap, type AgentsSuspendRequest as aq, type AgentsSuspendRequestParams as ar, type AgentsSuspendResponseResult as as, type AgentsUnregisterRequest as at, type AgentsUnregisterRequestParams as au, type AgentsUpdateRequest as av, type AgentsUpdateRequestParams as aw, type AnyMessage as ax, type AuthMethod as ay, type AuthParams as az, type FederationEnvelope as b, ROUTING_ERROR_CODES as b$, type FederatedAddress as b0, type FederationAuth as b1, type FederationConnectRequest as b2, type FederationConnectRequestParams as b3, type FederationMetadata as b4, type FederationReplayConfig as b5, type FederationRouteRequest as b6, type FederationRouteRequestParams as b7, type GatewayReconnectionEvent as b8, type GatewayReconnectionEventHandler as b9, type MessagePriority as bA, type MessageRelationship as bB, type MessageSentEventData as bC, type MessageVisibility as bD, type Meta as bE, type MultiAddress as bF, NOTIFICATION_METHODS as bG, type NotificationHandler as bH, OBSERVATION_METHODS as bI, type OverflowHandler as bJ, type OverflowInfo as bK, PERMISSION_METHODS as bL, PROTOCOL_ERROR_CODES as bM, PROTOCOL_VERSION as bN, type Participant as bO, type ParticipantAddress as bP, type PermissionAction as bQ, type PermissionContext as bR, type PermissionParticipant as bS, type PermissionResult as bT, type PermissionSystemConfig as bU, type PermissionsAgentUpdatedEventData as bV, type PermissionsClientUpdatedEventData as bW, type PermissionsUpdateRequest as bX, type PermissionsUpdateRequestParams as bY, type PermissionsUpdateResponseResult as bZ, RESOURCE_ERROR_CODES as b_, type GatewayReconnectionEventType as ba, type GatewayReconnectionOptions as bb, type GraphEdge as bc, type HierarchicalAddress as bd, type InjectDelivery as be, type InjectDeliveryResult as bf, type InjectRequest as bg, type InjectRequestParams as bh, type InjectResponseResult as bi, JSONRPC_VERSION as bj, type JoinPolicy as bk, LIFECYCLE_METHODS as bl, type MAPNotification as bm, type MAPNotificationBase as bn, type MAPRequest as bo, type MAPRequestBase as bp, type MAPResponse as bq, type MAPResponseError as br, type MAPResponseSuccess as bs, MAP_METHODS as bt, type MessageDeliveredEventData as bu, type MessageFailedEventData as bv, type MessageHandler as bw, type MessageMeta as bx, type MessageNotification as by, type MessageNotificationParams as bz, type Message as c, type TransportType as c$, type ReconnectionEventHandler as c0, type ReconnectionEventType as c1, type ReconnectionOptions as c2, type ReplayRequest as c3, type ReplayRequestParams as c4, type ReplayResponseResult as c5, type ReplayedEvent as c6, type RequestHandler as c7, type RoleAddress as c8, SCOPE_METHODS as c9, type SendRequest as cA, type SendRequestParams as cB, type SessionCloseRequest as cC, type SessionCloseRequestParams as cD, type SessionCloseResponseResult as cE, type SessionListRequest as cF, type SessionListRequestParams as cG, type SessionListResponseResult as cH, type SessionLoadRequest as cI, type SessionLoadRequestParams as cJ, type SessionLoadResponseResult as cK, type StateChangeHandler as cL, type StreamingCapabilities as cM, type StructureGraphRequest as cN, type StructureGraphRequestParams as cO, type StructureGraphResponseResult as cP, type StructureVisibilityRule as cQ, type SubscribeRequest as cR, type SubscribeRequestParams as cS, Subscription as cT, type SubscriptionAckNotification as cU, type SubscriptionAckParams as cV, type SubscriptionOptions$1 as cW, type SubscriptionState as cX, type SystemAcceptanceRule as cY, type SystemAddress as cZ, type Timestamp as c_, SESSION_METHODS as ca, STATE_METHODS as cb, STEERING_METHODS as cc, STRUCTURE_METHODS as cd, type ScopeAddress as ce, type ScopeMessagingRule as cf, type ScopeVisibility as cg, type ScopeVisibilityRule as ch, type ScopesCreateRequest as ci, type ScopesCreateRequestParams as cj, type ScopesDeleteRequest as ck, type ScopesDeleteRequestParams as cl, type ScopesDeleteResponseResult as cm, type ScopesGetRequest as cn, type ScopesGetRequestParams as co, type ScopesGetResponseResult as cp, type ScopesJoinRequest as cq, type ScopesJoinRequestParams as cr, type ScopesLeaveRequest as cs, type ScopesLeaveRequestParams as ct, type ScopesListRequest as cu, type ScopesListRequestParams as cv, type ScopesMembersRequest as cw, type ScopesMembersRequestParams as cx, type ScopesMembersResponseResult as cy, type SendPolicy as cz, type FederationRoutingConfig as d, type UnsubscribeRequest as d0, type UnsubscribeRequestParams as d1, canAgentAcceptMessage as d2, canAgentMessageAgent as d3, canAgentSeeAgent as d4, canControlAgent as d5, canJoinScope as d6, canMessageAgent as d7, canPerformAction as d8, canPerformMethod as d9, type SystemExposure as dA, canSeeAgent as da, canSeeScope as db, canSendToScope as dc, createEvent as dd, createStreamPair as de, createSubscription as df, deepMergePermissions as dg, filterVisibleAgents as dh, filterVisibleEvents as di, filterVisibleScopes as dj, hasCapability as dk, isAgentExposed as dl, isBroadcastAddress as dm, isDirectAddress as dn, isEventTypeExposed as dp, isFederatedAddress as dq, isHierarchicalAddress as dr, isOrphanedAgent as ds, isScopeExposed as dt, isSuccessResponse as du, mapVisibilityToRule as dv, ndJsonStream as dw, resolveAgentPermissions as dx, waitForOpen as dy, websocketStream as dz, type EventType as e, type SessionId as f, type FederationConnectResponseResult as g, type FederationRouteResponseResult as h, type ConnectionState as i, type ParticipantId as j, type ParticipantType as k, type ScopeId as l, type Agent as m, type Scope as n, type Address as o, type SubscriptionFilter as p, type Event as q, type AgentsGetResponseResult as r, type AgentsListResponseResult as s, type AgentsRegisterResponseResult as t, type AgentsSpawnResponseResult as u, type AgentsUnregisterResponseResult as v, type AgentsUpdateResponseResult as w, type ProtocolVersion as x, type SessionInfo as y, type ScopesCreateResponseResult as z };
|
|
@@ -739,6 +739,8 @@ interface ConnectRequestParams {
|
|
|
739
739
|
name?: string;
|
|
740
740
|
capabilities?: ParticipantCapabilities;
|
|
741
741
|
sessionId?: SessionId;
|
|
742
|
+
/** Token to resume a previously disconnected session */
|
|
743
|
+
resumeToken?: string;
|
|
742
744
|
/** Reclaim orphaned agents from previous connection */
|
|
743
745
|
reclaimAgents?: AgentId[];
|
|
744
746
|
/** Policy for unexpected disconnect */
|
|
@@ -777,6 +779,8 @@ interface DisconnectRequest extends MAPRequestBase<DisconnectRequestParams> {
|
|
|
777
779
|
}
|
|
778
780
|
interface DisconnectResponseResult {
|
|
779
781
|
session: SessionInfo;
|
|
782
|
+
/** Token to resume this session later */
|
|
783
|
+
resumeToken?: string;
|
|
780
784
|
_meta?: Meta;
|
|
781
785
|
}
|
|
782
786
|
interface SessionListRequestParams {
|
|
@@ -1767,8 +1771,6 @@ declare function isSuccessResponse<T>(response: MAPResponse<T>): response is MAP
|
|
|
1767
1771
|
declare function isDirectAddress(address: Address): address is DirectAddress;
|
|
1768
1772
|
/** Check if an address is a federated address */
|
|
1769
1773
|
declare function isFederatedAddress(address: Address): address is FederatedAddress;
|
|
1770
|
-
/** Check if an address is a scope address */
|
|
1771
|
-
declare function isScopeAddress(address: Address): address is ScopeAddress;
|
|
1772
1774
|
/** Check if an address is a broadcast address */
|
|
1773
1775
|
declare function isBroadcastAddress(address: Address): address is BroadcastAddress;
|
|
1774
1776
|
/** Check if an address is a hierarchical address */
|
|
@@ -1808,6 +1810,15 @@ declare function ndJsonStream(readable: ReadableStream<Uint8Array>, writable: Wr
|
|
|
1808
1810
|
* @returns Stream interface for MAP messages
|
|
1809
1811
|
*/
|
|
1810
1812
|
declare function websocketStream(ws: WebSocket): Stream;
|
|
1813
|
+
/**
|
|
1814
|
+
* Wait for a WebSocket to open with timeout.
|
|
1815
|
+
*
|
|
1816
|
+
* @param ws - WebSocket instance
|
|
1817
|
+
* @param timeoutMs - Timeout in milliseconds (default: 10000)
|
|
1818
|
+
* @returns Promise that resolves when WebSocket is open
|
|
1819
|
+
* @throws Error if connection times out or fails
|
|
1820
|
+
*/
|
|
1821
|
+
declare function waitForOpen(ws: WebSocket, timeoutMs?: number): Promise<void>;
|
|
1811
1822
|
/**
|
|
1812
1823
|
* Creates a pair of connected in-memory streams for testing.
|
|
1813
1824
|
*
|
|
@@ -2166,6 +2177,29 @@ interface ClientConnectionOptions extends BaseConnectionOptions {
|
|
|
2166
2177
|
/** Reconnection options */
|
|
2167
2178
|
reconnection?: ReconnectionOptions;
|
|
2168
2179
|
}
|
|
2180
|
+
/**
|
|
2181
|
+
* Options for ClientConnection.connect() static method
|
|
2182
|
+
*/
|
|
2183
|
+
interface ClientConnectOptions {
|
|
2184
|
+
/** Client name for identification */
|
|
2185
|
+
name?: string;
|
|
2186
|
+
/** Client capabilities to advertise */
|
|
2187
|
+
capabilities?: ParticipantCapabilities;
|
|
2188
|
+
/** Authentication credentials */
|
|
2189
|
+
auth?: {
|
|
2190
|
+
method: 'bearer' | 'api-key' | 'mtls' | 'none';
|
|
2191
|
+
token?: string;
|
|
2192
|
+
};
|
|
2193
|
+
/**
|
|
2194
|
+
* Reconnection configuration.
|
|
2195
|
+
* - `true` = enable with defaults
|
|
2196
|
+
* - `false` or omitted = disabled
|
|
2197
|
+
* - `ReconnectionOptions` = enable with custom settings
|
|
2198
|
+
*/
|
|
2199
|
+
reconnection?: boolean | ReconnectionOptions;
|
|
2200
|
+
/** Connection timeout in ms (default: 10000) */
|
|
2201
|
+
connectTimeout?: number;
|
|
2202
|
+
}
|
|
2169
2203
|
/**
|
|
2170
2204
|
* Client connection to a MAP system.
|
|
2171
2205
|
*
|
|
@@ -2178,11 +2212,38 @@ interface ClientConnectionOptions extends BaseConnectionOptions {
|
|
|
2178
2212
|
declare class ClientConnection {
|
|
2179
2213
|
#private;
|
|
2180
2214
|
constructor(stream: Stream, options?: ClientConnectionOptions);
|
|
2215
|
+
/**
|
|
2216
|
+
* Connect to a MAP server via WebSocket URL.
|
|
2217
|
+
*
|
|
2218
|
+
* Handles:
|
|
2219
|
+
* - WebSocket creation and connection
|
|
2220
|
+
* - Stream wrapping
|
|
2221
|
+
* - Auto-configuration of createStream for reconnection
|
|
2222
|
+
* - Initial MAP protocol connect handshake
|
|
2223
|
+
*
|
|
2224
|
+
* @param url - WebSocket URL (ws:// or wss://)
|
|
2225
|
+
* @param options - Connection options
|
|
2226
|
+
* @returns Connected ClientConnection instance
|
|
2227
|
+
*
|
|
2228
|
+
* @example
|
|
2229
|
+
* ```typescript
|
|
2230
|
+
* const client = await ClientConnection.connect('ws://localhost:8080', {
|
|
2231
|
+
* name: 'MyClient',
|
|
2232
|
+
* reconnection: true
|
|
2233
|
+
* });
|
|
2234
|
+
*
|
|
2235
|
+
* // Already connected, ready to use
|
|
2236
|
+
* const agents = await client.listAgents();
|
|
2237
|
+
* ```
|
|
2238
|
+
*/
|
|
2239
|
+
static connect(url: string, options?: ClientConnectOptions): Promise<ClientConnection>;
|
|
2181
2240
|
/**
|
|
2182
2241
|
* Connect to the MAP system
|
|
2183
2242
|
*/
|
|
2184
2243
|
connect(options?: {
|
|
2185
2244
|
sessionId?: SessionId;
|
|
2245
|
+
/** Token to resume a previously disconnected session */
|
|
2246
|
+
resumeToken?: string;
|
|
2186
2247
|
auth?: {
|
|
2187
2248
|
method: 'bearer' | 'api-key' | 'mtls' | 'none';
|
|
2188
2249
|
token?: string;
|
|
@@ -2190,8 +2251,10 @@ declare class ClientConnection {
|
|
|
2190
2251
|
}): Promise<ConnectResponseResult>;
|
|
2191
2252
|
/**
|
|
2192
2253
|
* Disconnect from the MAP system
|
|
2254
|
+
* @param reason - Optional reason for disconnecting
|
|
2255
|
+
* @returns Resume token that can be used to resume this session later
|
|
2193
2256
|
*/
|
|
2194
|
-
disconnect(reason?: string): Promise<
|
|
2257
|
+
disconnect(reason?: string): Promise<string | undefined>;
|
|
2195
2258
|
/**
|
|
2196
2259
|
* Whether the client is connected
|
|
2197
2260
|
*/
|
|
@@ -2467,6 +2530,39 @@ interface AgentConnectionOptions extends BaseConnectionOptions {
|
|
|
2467
2530
|
/** Reconnection options */
|
|
2468
2531
|
reconnection?: AgentReconnectionOptions;
|
|
2469
2532
|
}
|
|
2533
|
+
/**
|
|
2534
|
+
* Options for AgentConnection.connect() static method
|
|
2535
|
+
*/
|
|
2536
|
+
interface AgentConnectOptions {
|
|
2537
|
+
/** Agent name */
|
|
2538
|
+
name?: string;
|
|
2539
|
+
/** Agent role */
|
|
2540
|
+
role?: string;
|
|
2541
|
+
/** Agent capabilities to advertise */
|
|
2542
|
+
capabilities?: ParticipantCapabilities;
|
|
2543
|
+
/** Agent visibility settings */
|
|
2544
|
+
visibility?: AgentVisibility;
|
|
2545
|
+
/** Parent agent ID (for child agents) */
|
|
2546
|
+
parent?: AgentId;
|
|
2547
|
+
/** Initial scopes to join */
|
|
2548
|
+
scopes?: ScopeId[];
|
|
2549
|
+
/** Initial metadata */
|
|
2550
|
+
metadata?: Record<string, unknown>;
|
|
2551
|
+
/** Authentication credentials */
|
|
2552
|
+
auth?: {
|
|
2553
|
+
method: 'bearer' | 'api-key' | 'mtls' | 'none';
|
|
2554
|
+
token?: string;
|
|
2555
|
+
};
|
|
2556
|
+
/**
|
|
2557
|
+
* Reconnection configuration.
|
|
2558
|
+
* - `true` = enable with defaults
|
|
2559
|
+
* - `false` or omitted = disabled
|
|
2560
|
+
* - `AgentReconnectionOptions` = enable with custom settings
|
|
2561
|
+
*/
|
|
2562
|
+
reconnection?: boolean | AgentReconnectionOptions;
|
|
2563
|
+
/** Connection timeout in ms (default: 10000) */
|
|
2564
|
+
connectTimeout?: number;
|
|
2565
|
+
}
|
|
2470
2566
|
/**
|
|
2471
2567
|
* Agent connection to a MAP system.
|
|
2472
2568
|
*
|
|
@@ -2481,11 +2577,41 @@ interface AgentConnectionOptions extends BaseConnectionOptions {
|
|
|
2481
2577
|
declare class AgentConnection {
|
|
2482
2578
|
#private;
|
|
2483
2579
|
constructor(stream: Stream, options?: AgentConnectionOptions);
|
|
2580
|
+
/**
|
|
2581
|
+
* Connect and register an agent via WebSocket URL.
|
|
2582
|
+
*
|
|
2583
|
+
* Handles:
|
|
2584
|
+
* - WebSocket creation and connection
|
|
2585
|
+
* - Stream wrapping
|
|
2586
|
+
* - Auto-configuration of createStream for reconnection
|
|
2587
|
+
* - Initial MAP protocol connect handshake
|
|
2588
|
+
* - Agent registration
|
|
2589
|
+
*
|
|
2590
|
+
* @param url - WebSocket URL (ws:// or wss://)
|
|
2591
|
+
* @param options - Connection and agent options
|
|
2592
|
+
* @returns Connected and registered AgentConnection instance
|
|
2593
|
+
*
|
|
2594
|
+
* @example
|
|
2595
|
+
* ```typescript
|
|
2596
|
+
* const agent = await AgentConnection.connect('ws://localhost:8080', {
|
|
2597
|
+
* name: 'Worker',
|
|
2598
|
+
* role: 'processor',
|
|
2599
|
+
* reconnection: true
|
|
2600
|
+
* });
|
|
2601
|
+
*
|
|
2602
|
+
* // Already registered, ready to work
|
|
2603
|
+
* agent.onMessage(handleMessage);
|
|
2604
|
+
* await agent.busy();
|
|
2605
|
+
* ```
|
|
2606
|
+
*/
|
|
2607
|
+
static connect(url: string, options?: AgentConnectOptions): Promise<AgentConnection>;
|
|
2484
2608
|
/**
|
|
2485
2609
|
* Connect and register with the MAP system
|
|
2486
2610
|
*/
|
|
2487
2611
|
connect(options?: {
|
|
2488
2612
|
agentId?: AgentId;
|
|
2613
|
+
/** Token to resume a previously disconnected session */
|
|
2614
|
+
resumeToken?: string;
|
|
2489
2615
|
auth?: {
|
|
2490
2616
|
method: 'bearer' | 'api-key' | 'mtls' | 'none';
|
|
2491
2617
|
token?: string;
|
|
@@ -2496,8 +2622,10 @@ declare class AgentConnection {
|
|
|
2496
2622
|
}>;
|
|
2497
2623
|
/**
|
|
2498
2624
|
* Disconnect from the MAP system
|
|
2625
|
+
* @param reason - Optional reason for disconnecting
|
|
2626
|
+
* @returns Resume token that can be used to resume this session later
|
|
2499
2627
|
*/
|
|
2500
|
-
disconnect(reason?: string): Promise<
|
|
2628
|
+
disconnect(reason?: string): Promise<string | undefined>;
|
|
2501
2629
|
/**
|
|
2502
2630
|
* Whether the agent is connected
|
|
2503
2631
|
*/
|
|
@@ -3049,4 +3177,4 @@ declare function canAgentMessageAgent(senderAgent: Agent, targetAgentId: AgentId
|
|
|
3049
3177
|
sharedScopes?: ScopeId[];
|
|
3050
3178
|
}, config?: AgentPermissionConfig): boolean;
|
|
3051
3179
|
|
|
3052
|
-
export { type
|
|
3180
|
+
export { type AgentLifecycle as $, type AgentId as A, type BaseConnectionOptions as B, type ConnectResponseResult as C, type DisconnectResponseResult as D, type ErrorCategory as E, type FederationBufferConfig as F, type ScopesJoinResponseResult as G, type ScopesLeaveResponseResult as H, type ScopesListResponseResult as I, type MessageId as J, type SendResponseResult as K, type SubscriptionId as L, type MAPError as M, type SubscribeResponseResult as N, AGENT_ERROR_CODES as O, type ParticipantCapabilities as P, AUTH_ERROR_CODES as Q, type RequestId as R, type Stream as S, AUTH_METHODS as T, type UnsubscribeResponseResult as U, type AcceptanceContext as V, type AgentAcceptanceRule as W, type AgentConnectOptions as X, AgentConnection as Y, type AgentConnectionOptions as Z, type AgentIncludeOptions as _, type MAPErrorData as a, FEDERATION_METHODS as a$, type AgentMessagingRule as a0, type AgentPermissionConfig as a1, type AgentPermissions as a2, type AgentReconnectionEventHandler as a3, type AgentReconnectionEventType as a4, type AgentReconnectionOptions as a5, type AgentRelationship as a6, type AgentRelationshipType as a7, type AgentState as a8, type AgentVisibility as a9, type AuthRefreshRequest as aA, type AuthRefreshRequestParams as aB, type AuthRefreshResponseResult as aC, BaseConnection as aD, type BroadcastAddress as aE, CAPABILITY_REQUIREMENTS as aF, CORE_METHODS as aG, type ClientAcceptanceRule as aH, type ClientConnectOptions as aI, ClientConnection as aJ, type ClientConnectionOptions as aK, type ConnectRequest as aL, type ConnectRequestParams as aM, type CorrelationId as aN, DEFAULT_AGENT_PERMISSION_CONFIG as aO, type DeliverySemantics as aP, type DirectAddress as aQ, type DisconnectPolicy as aR, type DisconnectRequest as aS, type DisconnectRequestParams as aT, ERROR_CODES as aU, EVENT_TYPES as aV, EXTENSION_METHODS as aW, type EventInput as aX, type EventNotification as aY, type EventNotificationParams as aZ, FEDERATION_ERROR_CODES as a_, type AgentVisibilityRule as aa, type AgentsGetRequest as ab, type AgentsGetRequestParams as ac, type AgentsListFilter as ad, type AgentsListRequest as ae, type AgentsListRequestParams as af, type AgentsRegisterRequest as ag, type AgentsRegisterRequestParams as ah, type AgentsResumeRequest as ai, type AgentsResumeRequestParams as aj, type AgentsResumeResponseResult as ak, type AgentsSpawnRequest as al, type AgentsSpawnRequestParams as am, type AgentsStopRequest as an, type AgentsStopRequestParams as ao, type AgentsStopResponseResult as ap, type AgentsSuspendRequest as aq, type AgentsSuspendRequestParams as ar, type AgentsSuspendResponseResult as as, type AgentsUnregisterRequest as at, type AgentsUnregisterRequestParams as au, type AgentsUpdateRequest as av, type AgentsUpdateRequestParams as aw, type AnyMessage as ax, type AuthMethod as ay, type AuthParams as az, type FederationEnvelope as b, ROUTING_ERROR_CODES as b$, type FederatedAddress as b0, type FederationAuth as b1, type FederationConnectRequest as b2, type FederationConnectRequestParams as b3, type FederationMetadata as b4, type FederationReplayConfig as b5, type FederationRouteRequest as b6, type FederationRouteRequestParams as b7, type GatewayReconnectionEvent as b8, type GatewayReconnectionEventHandler as b9, type MessagePriority as bA, type MessageRelationship as bB, type MessageSentEventData as bC, type MessageVisibility as bD, type Meta as bE, type MultiAddress as bF, NOTIFICATION_METHODS as bG, type NotificationHandler as bH, OBSERVATION_METHODS as bI, type OverflowHandler as bJ, type OverflowInfo as bK, PERMISSION_METHODS as bL, PROTOCOL_ERROR_CODES as bM, PROTOCOL_VERSION as bN, type Participant as bO, type ParticipantAddress as bP, type PermissionAction as bQ, type PermissionContext as bR, type PermissionParticipant as bS, type PermissionResult as bT, type PermissionSystemConfig as bU, type PermissionsAgentUpdatedEventData as bV, type PermissionsClientUpdatedEventData as bW, type PermissionsUpdateRequest as bX, type PermissionsUpdateRequestParams as bY, type PermissionsUpdateResponseResult as bZ, RESOURCE_ERROR_CODES as b_, type GatewayReconnectionEventType as ba, type GatewayReconnectionOptions as bb, type GraphEdge as bc, type HierarchicalAddress as bd, type InjectDelivery as be, type InjectDeliveryResult as bf, type InjectRequest as bg, type InjectRequestParams as bh, type InjectResponseResult as bi, JSONRPC_VERSION as bj, type JoinPolicy as bk, LIFECYCLE_METHODS as bl, type MAPNotification as bm, type MAPNotificationBase as bn, type MAPRequest as bo, type MAPRequestBase as bp, type MAPResponse as bq, type MAPResponseError as br, type MAPResponseSuccess as bs, MAP_METHODS as bt, type MessageDeliveredEventData as bu, type MessageFailedEventData as bv, type MessageHandler as bw, type MessageMeta as bx, type MessageNotification as by, type MessageNotificationParams as bz, type Message as c, type TransportType as c$, type ReconnectionEventHandler as c0, type ReconnectionEventType as c1, type ReconnectionOptions as c2, type ReplayRequest as c3, type ReplayRequestParams as c4, type ReplayResponseResult as c5, type ReplayedEvent as c6, type RequestHandler as c7, type RoleAddress as c8, SCOPE_METHODS as c9, type SendRequest as cA, type SendRequestParams as cB, type SessionCloseRequest as cC, type SessionCloseRequestParams as cD, type SessionCloseResponseResult as cE, type SessionListRequest as cF, type SessionListRequestParams as cG, type SessionListResponseResult as cH, type SessionLoadRequest as cI, type SessionLoadRequestParams as cJ, type SessionLoadResponseResult as cK, type StateChangeHandler as cL, type StreamingCapabilities as cM, type StructureGraphRequest as cN, type StructureGraphRequestParams as cO, type StructureGraphResponseResult as cP, type StructureVisibilityRule as cQ, type SubscribeRequest as cR, type SubscribeRequestParams as cS, Subscription as cT, type SubscriptionAckNotification as cU, type SubscriptionAckParams as cV, type SubscriptionOptions$1 as cW, type SubscriptionState as cX, type SystemAcceptanceRule as cY, type SystemAddress as cZ, type Timestamp as c_, SESSION_METHODS as ca, STATE_METHODS as cb, STEERING_METHODS as cc, STRUCTURE_METHODS as cd, type ScopeAddress as ce, type ScopeMessagingRule as cf, type ScopeVisibility as cg, type ScopeVisibilityRule as ch, type ScopesCreateRequest as ci, type ScopesCreateRequestParams as cj, type ScopesDeleteRequest as ck, type ScopesDeleteRequestParams as cl, type ScopesDeleteResponseResult as cm, type ScopesGetRequest as cn, type ScopesGetRequestParams as co, type ScopesGetResponseResult as cp, type ScopesJoinRequest as cq, type ScopesJoinRequestParams as cr, type ScopesLeaveRequest as cs, type ScopesLeaveRequestParams as ct, type ScopesListRequest as cu, type ScopesListRequestParams as cv, type ScopesMembersRequest as cw, type ScopesMembersRequestParams as cx, type ScopesMembersResponseResult as cy, type SendPolicy as cz, type FederationRoutingConfig as d, type UnsubscribeRequest as d0, type UnsubscribeRequestParams as d1, canAgentAcceptMessage as d2, canAgentMessageAgent as d3, canAgentSeeAgent as d4, canControlAgent as d5, canJoinScope as d6, canMessageAgent as d7, canPerformAction as d8, canPerformMethod as d9, type SystemExposure as dA, canSeeAgent as da, canSeeScope as db, canSendToScope as dc, createEvent as dd, createStreamPair as de, createSubscription as df, deepMergePermissions as dg, filterVisibleAgents as dh, filterVisibleEvents as di, filterVisibleScopes as dj, hasCapability as dk, isAgentExposed as dl, isBroadcastAddress as dm, isDirectAddress as dn, isEventTypeExposed as dp, isFederatedAddress as dq, isHierarchicalAddress as dr, isOrphanedAgent as ds, isScopeExposed as dt, isSuccessResponse as du, mapVisibilityToRule as dv, ndJsonStream as dw, resolveAgentPermissions as dx, waitForOpen as dy, websocketStream as dz, type EventType as e, type SessionId as f, type FederationConnectResponseResult as g, type FederationRouteResponseResult as h, type ConnectionState as i, type ParticipantId as j, type ParticipantType as k, type ScopeId as l, type Agent as m, type Scope as n, type Address as o, type SubscriptionFilter as p, type Event as q, type AgentsGetResponseResult as r, type AgentsListResponseResult as s, type AgentsRegisterResponseResult as t, type AgentsSpawnResponseResult as u, type AgentsUnregisterResponseResult as v, type AgentsUpdateResponseResult as w, type ProtocolVersion as x, type SessionInfo as y, type ScopesCreateResponseResult as z };
|