@naylence/agent-sdk 0.3.12 → 0.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -0
- package/dist/browser/index.js +1283 -441
- package/dist/browser/index.js.map +1 -1
- package/dist/cjs/naylence/agent/agent-proxy.js.map +1 -1
- package/dist/cjs/naylence/agent/agent.js.map +1 -1
- package/dist/cjs/naylence/agent/background-task-agent.js.map +1 -1
- package/dist/cjs/naylence/agent/base-agent.js.map +1 -1
- package/dist/cjs/public-api.d.ts +7 -0
- package/dist/cjs/public-api.js +26 -0
- package/dist/cjs/public-api.js.map +1 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/naylence/agent/agent-proxy.d.ts +148 -0
- package/dist/esm/naylence/agent/agent-proxy.js +130 -0
- package/dist/esm/naylence/agent/agent-proxy.js.map +1 -1
- package/dist/esm/naylence/agent/agent.d.ts +194 -2
- package/dist/esm/naylence/agent/agent.js +123 -0
- package/dist/esm/naylence/agent/agent.js.map +1 -1
- package/dist/esm/naylence/agent/background-task-agent.d.ts +164 -0
- package/dist/esm/naylence/agent/background-task-agent.js +150 -0
- package/dist/esm/naylence/agent/background-task-agent.js.map +1 -1
- package/dist/esm/naylence/agent/base-agent.d.ts +171 -0
- package/dist/esm/naylence/agent/base-agent.js +170 -1
- package/dist/esm/naylence/agent/base-agent.js.map +1 -1
- package/dist/esm/public-api.d.ts +15 -0
- package/dist/esm/public-api.js +16 -0
- package/dist/esm/public-api.js.map +1 -0
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +2 -2
- package/dist/types/naylence/agent/agent-proxy.d.ts +148 -0
- package/dist/types/naylence/agent/agent-proxy.d.ts.map +1 -1
- package/dist/types/naylence/agent/agent.d.ts +194 -2
- package/dist/types/naylence/agent/agent.d.ts.map +1 -1
- package/dist/types/naylence/agent/background-task-agent.d.ts +164 -0
- package/dist/types/naylence/agent/background-task-agent.d.ts.map +1 -1
- package/dist/types/naylence/agent/base-agent.d.ts +171 -0
- package/dist/types/naylence/agent/base-agent.d.ts.map +1 -1
- package/dist/types/public-api.d.ts +16 -0
- package/dist/types/public-api.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +7 -2
|
@@ -1,17 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent proxy module for remote agent communication.
|
|
3
|
+
*
|
|
4
|
+
* An {@link AgentProxy} is a client-side handle for invoking methods on a remote
|
|
5
|
+
* agent. Use it when you need to call an agent that lives in another process,
|
|
6
|
+
* container, or network location.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* Create proxies via {@link Agent.remote}, {@link Agent.remoteByAddress}, or
|
|
10
|
+
* {@link Agent.remoteByCapabilities} rather than instantiating AgentProxy directly.
|
|
11
|
+
*
|
|
12
|
+
* @module
|
|
13
|
+
*/
|
|
1
14
|
import { FameAddress, generateId, createRpcProxy } from '@naylence/runtime';
|
|
2
15
|
import { TaskSchema, TaskArtifactUpdateEventSchema, TaskIdParamsSchema, TaskPushNotificationConfigSchema, TaskQueryParamsSchema, TaskSendParamsSchema, TaskState, TaskStatusUpdateEventSchema, } from './a2a-types.js';
|
|
3
16
|
import { TERMINAL_TASK_STATES } from './task-states.js';
|
|
4
17
|
import { firstTextPart, makeTaskParams } from './util.js';
|
|
5
18
|
import { Agent } from './agent.js';
|
|
19
|
+
/** @internal */
|
|
6
20
|
function toRecord(value) {
|
|
7
21
|
if (!value || typeof value !== 'object') {
|
|
8
22
|
return {};
|
|
9
23
|
}
|
|
10
24
|
return value;
|
|
11
25
|
}
|
|
26
|
+
/** @internal */
|
|
12
27
|
function toFameAddress(address) {
|
|
13
28
|
return address instanceof FameAddress ? address : new FameAddress(String(address));
|
|
14
29
|
}
|
|
30
|
+
/** @internal */
|
|
15
31
|
function wrapAgentProxy(proxy) {
|
|
16
32
|
// Create RPC proxy options - only include address or capabilities, not both
|
|
17
33
|
const proxyOptions = {
|
|
@@ -40,6 +56,7 @@ function wrapAgentProxy(proxy) {
|
|
|
40
56
|
},
|
|
41
57
|
});
|
|
42
58
|
}
|
|
59
|
+
/** @internal */
|
|
43
60
|
async function nextWithTimeout(iterator, timeoutMs) {
|
|
44
61
|
if (timeoutMs == null) {
|
|
45
62
|
return await iterator.next();
|
|
@@ -57,7 +74,44 @@ async function nextWithTimeout(iterator, timeoutMs) {
|
|
|
57
74
|
}
|
|
58
75
|
}
|
|
59
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Client-side proxy for communicating with remote agents.
|
|
79
|
+
*
|
|
80
|
+
* AgentProxy implements the {@link Agent} interface, allowing you to call
|
|
81
|
+
* remote agents as if they were local objects. Method calls are serialized
|
|
82
|
+
* and sent over the Fame fabric.
|
|
83
|
+
*
|
|
84
|
+
* @remarks
|
|
85
|
+
* Do not instantiate AgentProxy directly. Use the factory methods on
|
|
86
|
+
* {@link Agent} to create proxies:
|
|
87
|
+
* - {@link Agent.remote} for flexible options
|
|
88
|
+
* - {@link Agent.remoteByAddress} for direct addressing
|
|
89
|
+
* - {@link Agent.remoteByCapabilities} for capability-based discovery
|
|
90
|
+
*
|
|
91
|
+
* The proxy also supports arbitrary RPC method calls. Any method not defined
|
|
92
|
+
* on the proxy class is forwarded as an RPC call to the remote agent.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```typescript
|
|
96
|
+
* import { Agent } from '@naylence/agent-sdk';
|
|
97
|
+
*
|
|
98
|
+
* // Create a proxy to a remote agent
|
|
99
|
+
* const proxy = Agent.remoteByAddress('fame://calculator');
|
|
100
|
+
*
|
|
101
|
+
* // Run a task synchronously
|
|
102
|
+
* const result = await proxy.runTask({ a: 1, b: 2 });
|
|
103
|
+
*
|
|
104
|
+
* // Or start a task and poll for completion
|
|
105
|
+
* const task = await proxy.startTask({
|
|
106
|
+
* id: 'task-1',
|
|
107
|
+
* message: { role: 'user', parts: [{ type: 'text', text: 'compute' }] },
|
|
108
|
+
* });
|
|
109
|
+
* ```
|
|
110
|
+
*
|
|
111
|
+
* @typeParam TAgent - The type of the remote agent for result typing.
|
|
112
|
+
*/
|
|
60
113
|
export class AgentProxy extends Agent {
|
|
114
|
+
/** @internal */
|
|
61
115
|
constructor(options) {
|
|
62
116
|
const { address = null, capabilities = null, intentNl = null, fabric } = options;
|
|
63
117
|
const provided = Number(address != null) + Number(capabilities != null) + Number(intentNl != null);
|
|
@@ -73,9 +127,11 @@ export class AgentProxy extends Agent {
|
|
|
73
127
|
this.intentNl = intentNl;
|
|
74
128
|
this.fabric = fabric;
|
|
75
129
|
}
|
|
130
|
+
/** Returns null as proxies do not have a local name. */
|
|
76
131
|
get name() {
|
|
77
132
|
return null;
|
|
78
133
|
}
|
|
134
|
+
/** Returns the proxy's targeting specification. */
|
|
79
135
|
get spec() {
|
|
80
136
|
const spec = {
|
|
81
137
|
address: this.targetAddress ? this.targetAddress.toString() : null,
|
|
@@ -88,15 +144,22 @@ export class AgentProxy extends Agent {
|
|
|
88
144
|
}
|
|
89
145
|
return spec;
|
|
90
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* The target agent's address, if specified.
|
|
149
|
+
* @deprecated Use {@link AgentProxy.address} instead.
|
|
150
|
+
*/
|
|
91
151
|
get addressRef() {
|
|
92
152
|
return this.targetAddress;
|
|
93
153
|
}
|
|
154
|
+
/** The target agent's address, if specified. */
|
|
94
155
|
get address() {
|
|
95
156
|
return this.targetAddress;
|
|
96
157
|
}
|
|
158
|
+
/** The required capabilities for discovery, if specified. */
|
|
97
159
|
get capabilities() {
|
|
98
160
|
return this.targetCapabilities ?? undefined;
|
|
99
161
|
}
|
|
162
|
+
/** The fabric this proxy uses for communication. */
|
|
100
163
|
get proxyFabric() {
|
|
101
164
|
return this.fabric;
|
|
102
165
|
}
|
|
@@ -107,6 +170,24 @@ export class AgentProxy extends Agent {
|
|
|
107
170
|
void _credentials;
|
|
108
171
|
throw new Error('Proxy authentication is not supported');
|
|
109
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Executes a task on the remote agent and waits for completion.
|
|
175
|
+
*
|
|
176
|
+
* Starts the task, subscribes to updates, and returns when the task reaches
|
|
177
|
+
* a terminal state (completed, failed, or canceled).
|
|
178
|
+
*
|
|
179
|
+
* @param payload - The task payload to send.
|
|
180
|
+
* @param id - Optional task identifier. Generated if not provided.
|
|
181
|
+
* @returns The task result extracted from the final status message.
|
|
182
|
+
* @throws Error if the task fails.
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```typescript
|
|
186
|
+
* const proxy = Agent.remoteByAddress('fame://echo');
|
|
187
|
+
* const result = await proxy.runTask('hello');
|
|
188
|
+
* console.log(result); // 'hello'
|
|
189
|
+
* ```
|
|
190
|
+
*/
|
|
110
191
|
async runTask(payload = null, id = null) {
|
|
111
192
|
const taskId = id ?? generateId();
|
|
112
193
|
const params = makeTaskParams({ id: taskId, payload });
|
|
@@ -180,16 +261,38 @@ export class AgentProxy extends Agent {
|
|
|
180
261
|
const result = await this._invokeTarget('tasks/send', params);
|
|
181
262
|
return TaskSchema.parse(result);
|
|
182
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Retrieves the current status of a task.
|
|
266
|
+
*
|
|
267
|
+
* @param params - Query parameters including the task ID.
|
|
268
|
+
* @returns The task with current status.
|
|
269
|
+
*/
|
|
183
270
|
async getTaskStatus(params) {
|
|
184
271
|
const payload = TaskQueryParamsSchema.parse(params);
|
|
185
272
|
const result = await this._invokeTarget('tasks/get', payload);
|
|
186
273
|
return TaskSchema.parse(result);
|
|
187
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* Requests cancellation of a running task.
|
|
277
|
+
*
|
|
278
|
+
* @param params - Parameters including the task ID.
|
|
279
|
+
* @returns The task with updated status.
|
|
280
|
+
*/
|
|
188
281
|
async cancelTask(params) {
|
|
189
282
|
const payload = TaskIdParamsSchema.parse(params);
|
|
190
283
|
const result = await this._invokeTarget('tasks/cancel', payload);
|
|
191
284
|
return TaskSchema.parse(result);
|
|
192
285
|
}
|
|
286
|
+
/**
|
|
287
|
+
* Subscribes to real-time updates for a task.
|
|
288
|
+
*
|
|
289
|
+
* Returns an async iterable that yields status and artifact events
|
|
290
|
+
* until the task reaches a terminal state or the stream is closed.
|
|
291
|
+
*
|
|
292
|
+
* @param params - Task parameters.
|
|
293
|
+
* @param options - Optional timeout and item limit settings.
|
|
294
|
+
* @returns Async iterable of task events.
|
|
295
|
+
*/
|
|
193
296
|
subscribeToTaskUpdates(params, options = {}) {
|
|
194
297
|
const payload = TaskSendParamsSchema.parse(params);
|
|
195
298
|
return this._streamRpc('tasks/sendSubscribe', payload, (frame) => {
|
|
@@ -199,20 +302,38 @@ export class AgentProxy extends Agent {
|
|
|
199
302
|
return TaskStatusUpdateEventSchema.parse(frame);
|
|
200
303
|
}, 'tasks/sendUnsubscribe', TaskIdParamsSchema.parse({ id: payload.id }), options);
|
|
201
304
|
}
|
|
305
|
+
/**
|
|
306
|
+
* Cancels a task subscription.
|
|
307
|
+
*
|
|
308
|
+
* @param params - Parameters including the task ID.
|
|
309
|
+
*/
|
|
202
310
|
async unsubscribeTask(params) {
|
|
203
311
|
const payload = TaskIdParamsSchema.parse(params);
|
|
204
312
|
return await this._invokeTarget('tasks/sendUnsubscribe', payload);
|
|
205
313
|
}
|
|
314
|
+
/**
|
|
315
|
+
* Registers a push notification endpoint for task updates.
|
|
316
|
+
*
|
|
317
|
+
* @param config - Push notification configuration.
|
|
318
|
+
* @returns The registered configuration.
|
|
319
|
+
*/
|
|
206
320
|
async registerPushEndpoint(config) {
|
|
207
321
|
const payload = TaskPushNotificationConfigSchema.parse(config);
|
|
208
322
|
const result = await this._invokeTarget('tasks/pushNotification/set', payload);
|
|
209
323
|
return TaskPushNotificationConfigSchema.parse(result ?? payload);
|
|
210
324
|
}
|
|
325
|
+
/**
|
|
326
|
+
* Retrieves the push notification config for a task.
|
|
327
|
+
*
|
|
328
|
+
* @param params - Parameters including the task ID.
|
|
329
|
+
* @returns The push notification configuration.
|
|
330
|
+
*/
|
|
211
331
|
async getPushNotificationConfig(params) {
|
|
212
332
|
const payload = TaskIdParamsSchema.parse(params);
|
|
213
333
|
const result = await this._invokeTarget('tasks/pushNotification/get', payload);
|
|
214
334
|
return TaskPushNotificationConfigSchema.parse(result ?? payload);
|
|
215
335
|
}
|
|
336
|
+
/** @internal */
|
|
216
337
|
_streamRpc(method, params, parseFrame, unsubscribeMethod, unsubscribeParams, options) {
|
|
217
338
|
const self = this;
|
|
218
339
|
return {
|
|
@@ -282,6 +403,7 @@ export class AgentProxy extends Agent {
|
|
|
282
403
|
},
|
|
283
404
|
};
|
|
284
405
|
}
|
|
406
|
+
/** @internal */
|
|
285
407
|
async _invokeTarget(method, params, options = {}) {
|
|
286
408
|
if (this.intentNl) {
|
|
287
409
|
throw new Error('Intent-based routing not yet supported');
|
|
@@ -301,10 +423,18 @@ export class AgentProxy extends Agent {
|
|
|
301
423
|
}
|
|
302
424
|
throw new Error('Proxy has no routing target');
|
|
303
425
|
}
|
|
426
|
+
/**
|
|
427
|
+
* Creates a proxy for a remote agent by address.
|
|
428
|
+
* @internal Use {@link Agent.remoteByAddress} instead.
|
|
429
|
+
*/
|
|
304
430
|
static remoteByAddress(address, options) {
|
|
305
431
|
const proxy = new AgentProxy({ address, fabric: options.fabric });
|
|
306
432
|
return wrapAgentProxy(proxy);
|
|
307
433
|
}
|
|
434
|
+
/**
|
|
435
|
+
* Creates a proxy for a remote agent by capabilities.
|
|
436
|
+
* @internal Use {@link Agent.remoteByCapabilities} instead.
|
|
437
|
+
*/
|
|
308
438
|
static remoteByCapabilities(capabilities, options) {
|
|
309
439
|
const proxy = new AgentProxy({ capabilities, fabric: options.fabric });
|
|
310
440
|
return wrapAgentProxy(proxy);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-proxy.js","sourceRoot":"","sources":["../../../../src/naylence/agent/agent-proxy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-proxy.js","sourceRoot":"","sources":["../../../../src/naylence/agent/agent-proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent module providing the abstract {@link Agent} class.
|
|
3
|
+
*
|
|
4
|
+
* An Agent is a self-contained unit of work that can receive tasks, process them,
|
|
5
|
+
* and return results. Agents communicate over the Fame fabric using a standard
|
|
6
|
+
* task-based protocol.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* For concrete implementations:
|
|
10
|
+
* - Use {@link BaseAgent} when you need full control over task handling and state.
|
|
11
|
+
* - Use {@link BackgroundTaskAgent} for long-running or async background work.
|
|
12
|
+
*
|
|
13
|
+
* @module
|
|
14
|
+
*/
|
|
1
15
|
import { FameAddress, FameFabric, LogLevel } from '@naylence/runtime';
|
|
2
16
|
import { RpcMixin } from '@naylence/runtime';
|
|
3
17
|
import type { FameService } from '@naylence/core';
|
|
@@ -6,25 +20,57 @@ export { registerAgentProxyFactory } from './agent-proxy-registry.js';
|
|
|
6
20
|
export type { AgentProxyConstructor } from './agent-proxy-registry.js';
|
|
7
21
|
import type { BaseAgent } from './base-agent.js';
|
|
8
22
|
import type { AgentProxy } from './agent-proxy.js';
|
|
23
|
+
/**
|
|
24
|
+
* Payload type for agent task messages.
|
|
25
|
+
*
|
|
26
|
+
* Can be a JSON object, a string, or null.
|
|
27
|
+
*/
|
|
9
28
|
export type Payload = Record<string, unknown> | string | null;
|
|
29
|
+
/**
|
|
30
|
+
* Collection of address-payload pairs for broadcasting tasks to multiple agents.
|
|
31
|
+
*/
|
|
10
32
|
export type Targets = Iterable<readonly [FameAddress | string, Payload]>;
|
|
33
|
+
/** @internal */
|
|
11
34
|
type AgentTaskHandler = (payload: Payload, id: string | null) => unknown | Promise<unknown>;
|
|
35
|
+
/**
|
|
36
|
+
* Constructor signature for BaseAgent implementations.
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
12
39
|
export type BaseAgentConstructor = new (name?: string | null, options?: any) => BaseAgent;
|
|
13
40
|
/** @internal */
|
|
14
41
|
export declare function registerBaseAgentConstructor(ctor: BaseAgentConstructor): void;
|
|
42
|
+
/**
|
|
43
|
+
* Options for creating a remote agent proxy.
|
|
44
|
+
*
|
|
45
|
+
* Provide exactly one of `address` or `capabilities` to identify the target.
|
|
46
|
+
*/
|
|
15
47
|
export interface AgentRemoteOptions {
|
|
48
|
+
/** Direct address of the target agent. */
|
|
16
49
|
address?: FameAddress | string;
|
|
50
|
+
/** Required capabilities for capability-based discovery. */
|
|
17
51
|
capabilities?: string[];
|
|
52
|
+
/** Fabric instance to use. Defaults to the current fabric. */
|
|
18
53
|
fabric?: FameFabric;
|
|
19
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Options for running tasks on multiple agents.
|
|
57
|
+
*/
|
|
20
58
|
export interface AgentRunManyOptions {
|
|
59
|
+
/** Fabric instance to use. Defaults to the current fabric. */
|
|
21
60
|
fabric?: FameFabric;
|
|
61
|
+
/**
|
|
62
|
+
* If true (default), errors are collected alongside results.
|
|
63
|
+
* If false, the first error rejects the promise.
|
|
64
|
+
*/
|
|
22
65
|
gatherExceptions?: boolean;
|
|
23
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Options for serving an agent at a given address.
|
|
69
|
+
*/
|
|
24
70
|
export interface AgentServeOptions {
|
|
25
71
|
/**
|
|
26
|
-
* Log level for the agent.
|
|
27
|
-
*
|
|
72
|
+
* Log level for the agent.
|
|
73
|
+
* Accepts 'debug', 'info', 'warning', 'error', 'critical', or a LogLevel value.
|
|
28
74
|
*/
|
|
29
75
|
logLevel?: string | number | LogLevel | null;
|
|
30
76
|
/**
|
|
@@ -40,30 +86,176 @@ export interface AgentServeOptions {
|
|
|
40
86
|
*/
|
|
41
87
|
[key: string]: unknown;
|
|
42
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Abstract base class for all agents.
|
|
91
|
+
*
|
|
92
|
+
* Agents are addressable services that handle tasks over the Fame fabric.
|
|
93
|
+
* This class defines the core protocol methods every agent must implement.
|
|
94
|
+
*
|
|
95
|
+
* @remarks
|
|
96
|
+
* Do not extend Agent directly. Instead:
|
|
97
|
+
* - Extend {@link BaseAgent} for standard request-response agents.
|
|
98
|
+
* - Extend {@link BackgroundTaskAgent} for long-running background work.
|
|
99
|
+
*
|
|
100
|
+
* Use {@link Agent.remote} or {@link Agent.remoteByAddress} to create proxies
|
|
101
|
+
* for communicating with remote agents.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* import { BaseAgent, Payload } from '@naylence/agent-sdk';
|
|
106
|
+
*
|
|
107
|
+
* class EchoAgent extends BaseAgent {
|
|
108
|
+
* async runTask(payload: Payload): Promise<Payload> {
|
|
109
|
+
* return payload;
|
|
110
|
+
* }
|
|
111
|
+
* }
|
|
112
|
+
*
|
|
113
|
+
* const agent = new EchoAgent('echo');
|
|
114
|
+
* await agent.serve('fame://echo');
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
43
117
|
export declare abstract class Agent extends RpcMixin implements FameService {
|
|
118
|
+
/**
|
|
119
|
+
* Capabilities advertised by this agent for discovery.
|
|
120
|
+
*/
|
|
44
121
|
get capabilities(): string[] | undefined;
|
|
122
|
+
/** The agent's name, used for logging and identification. */
|
|
45
123
|
abstract get name(): string | null;
|
|
124
|
+
/** Returns metadata about this agent (address, capabilities, etc.). */
|
|
46
125
|
abstract get spec(): Record<string, unknown>;
|
|
126
|
+
/** Returns the agent's card describing its capabilities and metadata. */
|
|
47
127
|
abstract getAgentCard(): Promise<AgentCard>;
|
|
128
|
+
/**
|
|
129
|
+
* Validates authentication credentials.
|
|
130
|
+
* @param credentials - The credentials to validate.
|
|
131
|
+
* @returns True if authentication succeeds.
|
|
132
|
+
*/
|
|
48
133
|
abstract authenticate(credentials: AuthenticationInfo): boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Initiates a new task.
|
|
136
|
+
* @param params - Task parameters including message and optional metadata.
|
|
137
|
+
* @returns The created task with its initial status.
|
|
138
|
+
*/
|
|
49
139
|
abstract startTask(params: TaskSendParams): Promise<Task>;
|
|
140
|
+
/**
|
|
141
|
+
* Executes a task synchronously and returns the result.
|
|
142
|
+
* @param payload - The task payload.
|
|
143
|
+
* @param id - Optional task identifier.
|
|
144
|
+
* @returns The task result.
|
|
145
|
+
*/
|
|
50
146
|
abstract runTask(payload: Payload, id: string | null): Promise<any>;
|
|
147
|
+
/**
|
|
148
|
+
* Retrieves the current status of a task.
|
|
149
|
+
* @param params - Query parameters including the task ID.
|
|
150
|
+
*/
|
|
51
151
|
abstract getTaskStatus(params: TaskQueryParams): Promise<Task>;
|
|
152
|
+
/**
|
|
153
|
+
* Requests cancellation of a running task.
|
|
154
|
+
* @param params - Parameters including the task ID.
|
|
155
|
+
* @returns The task with updated status.
|
|
156
|
+
*/
|
|
52
157
|
abstract cancelTask(params: TaskIdParams): Promise<Task>;
|
|
158
|
+
/**
|
|
159
|
+
* Subscribes to real-time updates for a task.
|
|
160
|
+
* @param params - Task parameters.
|
|
161
|
+
* @returns An async iterable of status and artifact update events.
|
|
162
|
+
*/
|
|
53
163
|
abstract subscribeToTaskUpdates(params: TaskSendParams): AsyncIterable<TaskStatusUpdateEvent | TaskArtifactUpdateEvent>;
|
|
164
|
+
/**
|
|
165
|
+
* Cancels a task subscription.
|
|
166
|
+
* @param params - Parameters including the task ID.
|
|
167
|
+
*/
|
|
54
168
|
abstract unsubscribeTask(params: TaskIdParams): Promise<any>;
|
|
169
|
+
/**
|
|
170
|
+
* Registers a push notification endpoint for task updates.
|
|
171
|
+
* @param config - Push notification configuration.
|
|
172
|
+
*/
|
|
55
173
|
abstract registerPushEndpoint(config: TaskPushNotificationConfig): Promise<TaskPushNotificationConfig>;
|
|
174
|
+
/**
|
|
175
|
+
* Retrieves the push notification config for a task.
|
|
176
|
+
* @param params - Parameters including the task ID.
|
|
177
|
+
*/
|
|
56
178
|
abstract getPushNotificationConfig(params: TaskIdParams): Promise<TaskPushNotificationConfig>;
|
|
179
|
+
/**
|
|
180
|
+
* Creates a proxy for communicating with a remote agent.
|
|
181
|
+
*
|
|
182
|
+
* @remarks
|
|
183
|
+
* Provide exactly one of `address` or `capabilities` in the options.
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```typescript
|
|
187
|
+
* const proxy = Agent.remote<EchoAgent>({ address: 'fame://echo' });
|
|
188
|
+
* const result = await proxy.runTask('hello');
|
|
189
|
+
* ```
|
|
190
|
+
*
|
|
191
|
+
* @param options - Remote agent options.
|
|
192
|
+
* @returns A proxy for the remote agent.
|
|
193
|
+
* @throws Error if both or neither of address/capabilities are provided.
|
|
194
|
+
*/
|
|
57
195
|
static remote<TAgent extends Agent>(this: typeof Agent, options: AgentRemoteOptions): AgentProxy<TAgent>;
|
|
196
|
+
/**
|
|
197
|
+
* Creates a proxy for a remote agent by its address.
|
|
198
|
+
*
|
|
199
|
+
* @param address - The target agent's address.
|
|
200
|
+
* @param options - Optional fabric configuration.
|
|
201
|
+
* @returns A proxy for the remote agent.
|
|
202
|
+
*/
|
|
58
203
|
static remoteByAddress<TAgent extends Agent>(this: typeof Agent, address: FameAddress | string, options?: {
|
|
59
204
|
fabric?: FameFabric;
|
|
60
205
|
}): AgentProxy<TAgent>;
|
|
206
|
+
/**
|
|
207
|
+
* Creates a proxy for a remote agent by required capabilities.
|
|
208
|
+
*
|
|
209
|
+
* @param capabilities - Required capabilities for discovery.
|
|
210
|
+
* @param options - Optional fabric configuration.
|
|
211
|
+
* @returns A proxy for a matching remote agent.
|
|
212
|
+
*/
|
|
61
213
|
static remoteByCapabilities<TAgent extends Agent>(this: typeof Agent, capabilities: string[], options?: {
|
|
62
214
|
fabric?: FameFabric;
|
|
63
215
|
}): AgentProxy<TAgent>;
|
|
216
|
+
/**
|
|
217
|
+
* Creates an agent from a simple handler function.
|
|
218
|
+
*
|
|
219
|
+
* @remarks
|
|
220
|
+
* Useful for quick prototyping without defining a full agent class.
|
|
221
|
+
*
|
|
222
|
+
* @param handler - Function that processes task payloads.
|
|
223
|
+
* @returns A new agent instance wrapping the handler.
|
|
224
|
+
*/
|
|
64
225
|
static fromHandler(handler: AgentTaskHandler): Promise<Agent>;
|
|
226
|
+
/**
|
|
227
|
+
* Sends the same payload to multiple agents.
|
|
228
|
+
*
|
|
229
|
+
* @param addresses - List of agent addresses.
|
|
230
|
+
* @param payload - Payload to send to all agents.
|
|
231
|
+
* @param options - Execution options.
|
|
232
|
+
* @returns Array of [address, result|error] tuples.
|
|
233
|
+
*/
|
|
65
234
|
static broadcast(this: typeof Agent, addresses: Array<FameAddress | string>, payload?: Payload, options?: AgentRunManyOptions): Promise<Array<[string, any | Error]>>;
|
|
235
|
+
/**
|
|
236
|
+
* Runs tasks on multiple agents with individual payloads.
|
|
237
|
+
*
|
|
238
|
+
* @param targets - Iterable of [address, payload] pairs.
|
|
239
|
+
* @param options - Execution options.
|
|
240
|
+
* @returns Array of [address, result|error] tuples.
|
|
241
|
+
*/
|
|
66
242
|
static runMany<TAgent extends Agent>(this: typeof Agent, targets: Targets, options?: AgentRunManyOptions): Promise<Array<[string, any | Error]>>;
|
|
243
|
+
/**
|
|
244
|
+
* Starts serving this agent at the given address.
|
|
245
|
+
*
|
|
246
|
+
* @remarks
|
|
247
|
+
* In Node.js, the agent listens for SIGINT/SIGTERM to shut down gracefully.
|
|
248
|
+
* The method returns when the agent stops serving.
|
|
249
|
+
*
|
|
250
|
+
* @param address - The address to serve at (e.g., 'fame://my-agent').
|
|
251
|
+
* @param options - Serve options including log level and fabric config.
|
|
252
|
+
*/
|
|
67
253
|
aserve(address: FameAddress | string, options?: AgentServeOptions): Promise<void>;
|
|
254
|
+
/**
|
|
255
|
+
* Alias for {@link Agent.aserve}.
|
|
256
|
+
*
|
|
257
|
+
* @param address - The address to serve at.
|
|
258
|
+
* @param options - Serve options.
|
|
259
|
+
*/
|
|
68
260
|
serve(address: FameAddress | string, options?: AgentServeOptions): Promise<void>;
|
|
69
261
|
}
|