@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,9 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent base for running background work (polling/cron-like).
|
|
3
|
+
*
|
|
4
|
+
* {@link BackgroundTaskAgent} extends {@link BaseAgent} with infrastructure for
|
|
5
|
+
* long-running, asynchronous task execution. Tasks run in the background after
|
|
6
|
+
* being started, with status updates streamed to subscribers.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* Use BackgroundTaskAgent when:
|
|
10
|
+
* - Task execution takes significant time (seconds to minutes)
|
|
11
|
+
* - You need to report progress updates during execution
|
|
12
|
+
* - Clients should not block waiting for completion
|
|
13
|
+
*
|
|
14
|
+
* For simple request-response patterns, use {@link BaseAgent} instead.
|
|
15
|
+
*
|
|
16
|
+
* @module
|
|
17
|
+
*/
|
|
1
18
|
import { AsyncLock, getLogger } from '@naylence/runtime';
|
|
2
19
|
import { TaskState, } from './a2a-types.js';
|
|
3
20
|
import { BaseAgent, TERMINAL_TASK_STATES, } from './base-agent.js';
|
|
4
21
|
import { makeMessage } from './util.js';
|
|
5
22
|
const logger = getLogger('naylence.agent.background_task_agent');
|
|
23
|
+
/** @internal */
|
|
6
24
|
const DEFAULT_EVENT_QUEUE_SIZE = 1000;
|
|
25
|
+
/** @internal */
|
|
7
26
|
const END_OF_STREAM_SENTINEL = Object.freeze({
|
|
8
27
|
id: '__sentinel__',
|
|
9
28
|
status: {
|
|
@@ -14,13 +33,16 @@ const END_OF_STREAM_SENTINEL = Object.freeze({
|
|
|
14
33
|
final: false,
|
|
15
34
|
metadata: null,
|
|
16
35
|
});
|
|
36
|
+
/** @internal */
|
|
17
37
|
const TIMEOUT_SYMBOL = Symbol('background-task-queue-timeout');
|
|
38
|
+
/** @internal */
|
|
18
39
|
function monotonicSeconds() {
|
|
19
40
|
if (typeof performance !== 'undefined' && typeof performance.now === 'function') {
|
|
20
41
|
return performance.now() / 1000;
|
|
21
42
|
}
|
|
22
43
|
return Date.now() / 1000;
|
|
23
44
|
}
|
|
45
|
+
/** @internal */
|
|
24
46
|
async function delay(ms) {
|
|
25
47
|
await new Promise((resolve) => {
|
|
26
48
|
const timeout = globalThis.setTimeout;
|
|
@@ -30,6 +52,7 @@ async function delay(ms) {
|
|
|
30
52
|
timeout(resolve, ms);
|
|
31
53
|
});
|
|
32
54
|
}
|
|
55
|
+
/** @internal */
|
|
33
56
|
class AsyncEventQueue {
|
|
34
57
|
constructor(maxSize) {
|
|
35
58
|
this.maxSize = maxSize;
|
|
@@ -72,6 +95,7 @@ class AsyncEventQueue {
|
|
|
72
95
|
}
|
|
73
96
|
}
|
|
74
97
|
}
|
|
98
|
+
/** @internal */
|
|
75
99
|
function createTaskFromStatus(id, status) {
|
|
76
100
|
return {
|
|
77
101
|
id,
|
|
@@ -82,6 +106,7 @@ function createTaskFromStatus(id, status) {
|
|
|
82
106
|
metadata: null,
|
|
83
107
|
};
|
|
84
108
|
}
|
|
109
|
+
/** @internal */
|
|
85
110
|
function errorToString(error) {
|
|
86
111
|
if (error instanceof Error) {
|
|
87
112
|
return error.message || error.toString();
|
|
@@ -96,19 +121,75 @@ function errorToString(error) {
|
|
|
96
121
|
return String(error);
|
|
97
122
|
}
|
|
98
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Base class for agents that execute long-running background tasks.
|
|
126
|
+
*
|
|
127
|
+
* Unlike {@link BaseAgent} which runs tasks synchronously in startTask,
|
|
128
|
+
* BackgroundTaskAgent starts tasks in the background and streams status
|
|
129
|
+
* updates to subscribers. This is ideal for work that takes significant time.
|
|
130
|
+
*
|
|
131
|
+
* @remarks
|
|
132
|
+
* Lifecycle:
|
|
133
|
+
* 1. Client calls startTask, which returns immediately with WORKING status
|
|
134
|
+
* 2. runBackgroundTask executes asynchronously
|
|
135
|
+
* 3. Status updates are queued and delivered to subscribers
|
|
136
|
+
* 4. Task completes with COMPLETED, FAILED, or CANCELED status
|
|
137
|
+
*
|
|
138
|
+
* Completed tasks are cached briefly for late subscribers to retrieve final status.
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* import {
|
|
143
|
+
* BackgroundTaskAgent,
|
|
144
|
+
* TaskSendParams,
|
|
145
|
+
* TaskState,
|
|
146
|
+
* } from '@naylence/agent-sdk';
|
|
147
|
+
*
|
|
148
|
+
* class SlowAgent extends BackgroundTaskAgent {
|
|
149
|
+
* protected async runBackgroundTask(params: TaskSendParams): Promise<string> {
|
|
150
|
+
* // Report progress
|
|
151
|
+
* await this.updateTaskState(params.id, TaskState.WORKING);
|
|
152
|
+
*
|
|
153
|
+
* // Do expensive work
|
|
154
|
+
* await someSlowOperation();
|
|
155
|
+
*
|
|
156
|
+
* // Return value becomes the task result
|
|
157
|
+
* return 'done';
|
|
158
|
+
* }
|
|
159
|
+
* }
|
|
160
|
+
*
|
|
161
|
+
* const agent = new SlowAgent('slow-worker', {
|
|
162
|
+
* maxTaskLifetimeMs: 60_000, // 1 minute timeout
|
|
163
|
+
* });
|
|
164
|
+
* await agent.serve('fame://slow-worker');
|
|
165
|
+
* ```
|
|
166
|
+
*
|
|
167
|
+
* @typeParam StateT - The state model type, defaults to {@link BaseAgentState}.
|
|
168
|
+
*/
|
|
99
169
|
export class BackgroundTaskAgent extends BaseAgent {
|
|
170
|
+
/**
|
|
171
|
+
* Creates a new BackgroundTaskAgent.
|
|
172
|
+
*
|
|
173
|
+
* @param name - Agent name. Defaults to snake_case of the class name.
|
|
174
|
+
* @param options - Configuration options for task execution and caching.
|
|
175
|
+
*/
|
|
100
176
|
constructor(name = null, options = {}) {
|
|
101
177
|
const { maxQueueSize = DEFAULT_EVENT_QUEUE_SIZE, maxTaskLifetimeMs = null, completedCacheSize = 100, completedCacheTtlSec = 300, ...baseOptions } = options;
|
|
102
178
|
super(name, baseOptions);
|
|
179
|
+
/** @internal */
|
|
103
180
|
this.taskStatuses = new Map();
|
|
181
|
+
/** @internal */
|
|
104
182
|
this.taskEventQueues = new Map();
|
|
183
|
+
/** @internal */
|
|
105
184
|
this.completed = new Map();
|
|
185
|
+
/** @internal */
|
|
106
186
|
this.statusLock = new AsyncLock();
|
|
107
187
|
this.maxQueueSize = maxQueueSize;
|
|
108
188
|
this.maxTaskLifetimeMs = maxTaskLifetimeMs;
|
|
109
189
|
this.completedCacheSize = completedCacheSize;
|
|
110
190
|
this.completedCacheTtlSec = completedCacheTtlSec;
|
|
111
191
|
}
|
|
192
|
+
/** @internal */
|
|
112
193
|
isTerminalTaskState(taskId) {
|
|
113
194
|
const status = this.taskStatuses.get(taskId);
|
|
114
195
|
if (status && TERMINAL_TASK_STATES.has(status.state)) {
|
|
@@ -116,6 +197,15 @@ export class BackgroundTaskAgent extends BaseAgent {
|
|
|
116
197
|
}
|
|
117
198
|
return this.completed.has(taskId);
|
|
118
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Starts a background task.
|
|
202
|
+
*
|
|
203
|
+
* Returns immediately with WORKING status. The task executes asynchronously
|
|
204
|
+
* via {@link BackgroundTaskAgent.runBackgroundTask}.
|
|
205
|
+
*
|
|
206
|
+
* @param params - Task parameters.
|
|
207
|
+
* @returns The task with initial WORKING status.
|
|
208
|
+
*/
|
|
119
209
|
async startTask(params) {
|
|
120
210
|
this.taskEventQueues.set(params.id, new AsyncEventQueue(this.maxQueueSize));
|
|
121
211
|
await this.updateTaskState(params.id, TaskState.WORKING);
|
|
@@ -125,6 +215,7 @@ export class BackgroundTaskAgent extends BaseAgent {
|
|
|
125
215
|
}
|
|
126
216
|
return await this.getTaskStatus({ id: params.id });
|
|
127
217
|
}
|
|
218
|
+
/** @internal */
|
|
128
219
|
async enforceMaxLifetime(taskId) {
|
|
129
220
|
if (this.maxTaskLifetimeMs === null) {
|
|
130
221
|
return;
|
|
@@ -138,6 +229,7 @@ export class BackgroundTaskAgent extends BaseAgent {
|
|
|
138
229
|
await queue.put(END_OF_STREAM_SENTINEL);
|
|
139
230
|
}
|
|
140
231
|
}
|
|
232
|
+
/** @internal */
|
|
141
233
|
async runBackgroundTaskInternal(params) {
|
|
142
234
|
try {
|
|
143
235
|
const result = await this.runBackgroundTask(params);
|
|
@@ -160,6 +252,12 @@ export class BackgroundTaskAgent extends BaseAgent {
|
|
|
160
252
|
}
|
|
161
253
|
}
|
|
162
254
|
}
|
|
255
|
+
/**
|
|
256
|
+
* Gets the current state of a task.
|
|
257
|
+
*
|
|
258
|
+
* @param taskId - The task identifier.
|
|
259
|
+
* @returns The current task state, or UNKNOWN if not found.
|
|
260
|
+
*/
|
|
163
261
|
async getTaskState(taskId) {
|
|
164
262
|
try {
|
|
165
263
|
const task = await this.getTaskStatus({ id: taskId });
|
|
@@ -169,6 +267,13 @@ export class BackgroundTaskAgent extends BaseAgent {
|
|
|
169
267
|
return TaskState.UNKNOWN;
|
|
170
268
|
}
|
|
171
269
|
}
|
|
270
|
+
/**
|
|
271
|
+
* Retrieves the full status of a task.
|
|
272
|
+
*
|
|
273
|
+
* @param params - Query parameters including the task ID.
|
|
274
|
+
* @returns The task with current status.
|
|
275
|
+
* @throws Error if the task is unknown or expired.
|
|
276
|
+
*/
|
|
172
277
|
async getTaskStatus(params) {
|
|
173
278
|
return await this.statusLock.runExclusive(async () => {
|
|
174
279
|
const status = this.taskStatuses.get(params.id);
|
|
@@ -185,6 +290,17 @@ export class BackgroundTaskAgent extends BaseAgent {
|
|
|
185
290
|
throw new Error(`Unknown or expired task ${params.id}`);
|
|
186
291
|
});
|
|
187
292
|
}
|
|
293
|
+
/**
|
|
294
|
+
* Updates the state of a running task.
|
|
295
|
+
*
|
|
296
|
+
* Call this from {@link BackgroundTaskAgent.runBackgroundTask} to report progress.
|
|
297
|
+
* Status updates are delivered to subscribers.
|
|
298
|
+
*
|
|
299
|
+
* @param taskId - The task identifier.
|
|
300
|
+
* @param state - The new task state.
|
|
301
|
+
* @param message - Optional message with details.
|
|
302
|
+
* @returns True if the update was applied, false if the task is already terminal.
|
|
303
|
+
*/
|
|
188
304
|
async updateTaskState(taskId, state, message) {
|
|
189
305
|
return await this.statusLock.runExclusive(async () => {
|
|
190
306
|
if (this.isTerminalTaskState(taskId)) {
|
|
@@ -216,6 +332,7 @@ export class BackgroundTaskAgent extends BaseAgent {
|
|
|
216
332
|
return true;
|
|
217
333
|
});
|
|
218
334
|
}
|
|
335
|
+
/** @internal */
|
|
219
336
|
addToCompleted(taskId, status) {
|
|
220
337
|
if (this.completedCacheSize <= 0) {
|
|
221
338
|
return;
|
|
@@ -235,6 +352,14 @@ export class BackgroundTaskAgent extends BaseAgent {
|
|
|
235
352
|
timestamp: monotonicSeconds(),
|
|
236
353
|
});
|
|
237
354
|
}
|
|
355
|
+
/**
|
|
356
|
+
* Emits an artifact for a running task.
|
|
357
|
+
*
|
|
358
|
+
* Artifacts are delivered to subscribers as TaskArtifactUpdateEvents.
|
|
359
|
+
*
|
|
360
|
+
* @param taskId - The task identifier.
|
|
361
|
+
* @param artifact - The artifact to emit.
|
|
362
|
+
*/
|
|
238
363
|
async updateTaskArtifact(taskId, artifact) {
|
|
239
364
|
const queue = this.taskEventQueues.get(taskId);
|
|
240
365
|
if (!queue) {
|
|
@@ -248,6 +373,15 @@ export class BackgroundTaskAgent extends BaseAgent {
|
|
|
248
373
|
};
|
|
249
374
|
await queue.put(event);
|
|
250
375
|
}
|
|
376
|
+
/**
|
|
377
|
+
* Subscribes to updates for a task.
|
|
378
|
+
*
|
|
379
|
+
* Returns an async iterable that yields status and artifact events.
|
|
380
|
+
* For completed tasks, yields the cached final status if still available.
|
|
381
|
+
*
|
|
382
|
+
* @param params - Task parameters including the task ID.
|
|
383
|
+
* @returns Async iterable of task events.
|
|
384
|
+
*/
|
|
251
385
|
subscribeToTaskUpdates(params) {
|
|
252
386
|
const queue = this.taskEventQueues.get(params.id);
|
|
253
387
|
const self = this;
|
|
@@ -291,6 +425,11 @@ export class BackgroundTaskAgent extends BaseAgent {
|
|
|
291
425
|
};
|
|
292
426
|
return stream();
|
|
293
427
|
}
|
|
428
|
+
/**
|
|
429
|
+
* Cancels a task subscription.
|
|
430
|
+
*
|
|
431
|
+
* @param params - Parameters including the task ID.
|
|
432
|
+
*/
|
|
294
433
|
async unsubscribeTask(params) {
|
|
295
434
|
const queue = this.taskEventQueues.get(params.id);
|
|
296
435
|
if (queue) {
|
|
@@ -298,15 +437,26 @@ export class BackgroundTaskAgent extends BaseAgent {
|
|
|
298
437
|
await queue.put(END_OF_STREAM_SENTINEL);
|
|
299
438
|
}
|
|
300
439
|
}
|
|
440
|
+
/**
|
|
441
|
+
* Cancels a running task.
|
|
442
|
+
*
|
|
443
|
+
* Sets the task state to CANCELED. Does not interrupt runBackgroundTask,
|
|
444
|
+
* but prevents further state updates.
|
|
445
|
+
*
|
|
446
|
+
* @param params - Parameters including the task ID.
|
|
447
|
+
* @returns The task with CANCELED status.
|
|
448
|
+
*/
|
|
301
449
|
async cancelTask(params) {
|
|
302
450
|
await this.updateTaskState(params.id, TaskState.CANCELED);
|
|
303
451
|
return await this.getTaskStatus({ id: params.id });
|
|
304
452
|
}
|
|
453
|
+
/** @internal */
|
|
305
454
|
async purgeCompletedAfterTtl(taskId) {
|
|
306
455
|
await delay(this.completedCacheTtlSec * 1000);
|
|
307
456
|
this.completed.delete(taskId);
|
|
308
457
|
this.taskEventQueues.delete(taskId);
|
|
309
458
|
}
|
|
459
|
+
/** @internal */
|
|
310
460
|
normalizeResultPayload(result) {
|
|
311
461
|
if (result === null || result === undefined) {
|
|
312
462
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-task-agent.js","sourceRoot":"","sources":["../../../../src/naylence/agent/background-task-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAQL,SAAS,GAGV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,SAAS,EAGT,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,MAAM,GAAG,SAAS,CAAC,sCAAsC,CAAC,CAAC;AAEjE,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,MAAM,sBAAsB,GAA0B,MAAM,CAAC,MAAM,CAAC;IAClE,EAAE,EAAE,cAAc;IAClB,MAAM,EAAE;QACN,KAAK,EAAE,SAAS,CAAC,OAAO;QACxB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB;IACD,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAC;AAS/D,SAAS,gBAAgB;IACvB,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,OAAO,WAAW,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QAChF,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,EAAU;IAC7B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC;QACtC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,eAAe;IAKnB,YAA6B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;QAJ3B,WAAM,GAAQ,EAAE,CAAC;QACjB,gBAAW,GAA8B,EAAE,CAAC;QAC5C,gBAAW,GAAsB,EAAE,CAAC;IAEN,CAAC;IAEhD,KAAK,CAAC,GAAG,CAAC,KAAQ;QAChB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YAC5C,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YACD,OAAO;QACT,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAG,CAAC;YACnC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,EAAE;YACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC9B,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YAC5C,UAAU,EAAE,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;CACF;AAED,SAAS,oBAAoB,CAAC,EAAU,EAAE,MAAkB;IAC1D,OAAO;QACL,EAAE;QACF,SAAS,EAAE,IAAI;QACf,MAAM;QACN,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC3C,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,mBAAmB,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAUD,MAAM,OAAgB,mBAEpB,SAAQ,SAAiB;IAUzB,YACE,OAAsB,IAAI,EAC1B,UAA8C,EAAE;QAEhD,MAAM,EACJ,YAAY,GAAG,wBAAwB,EACvC,iBAAiB,GAAG,IAAI,EACxB,kBAAkB,GAAG,GAAG,EACxB,oBAAoB,GAAG,GAAG,EAC1B,GAAG,WAAW,EACf,GAAG,OAAO,CAAC;QAEZ,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAnBV,iBAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;QAC7C,oBAAe,GAAG,IAAI,GAAG,EAAsC,CAAC;QAChE,cAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;QAG9C,eAAU,GAAG,IAAI,SAAS,EAAE,CAAC;QAgB5C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IACnD,CAAC;IAEO,mBAAmB,CAAC,MAAc;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,MAAM,IAAI,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAsB;QACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CACtB,MAAM,CAAC,EAAE,EACT,IAAI,eAAe,CAAoC,IAAI,CAAC,YAAY,CAAC,CAC1E,CAAC;QAEF,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzD,KAAK,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAAc;QAC7C,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,MAAsB;QAC5D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;YAC5C,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;QACnF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,YAAY,IAAI,SAAS,CAAC,CAAC;YACnF,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBACrC,MAAM,EAAE,MAAM,CAAC,EAAE;gBACjB,KAAK;aACN,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAID,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3B,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC,OAAO,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAuB;QACzC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,gBAAgB,EAAE,GAAG,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBACtE,OAAO,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACvD,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,KAAgB,EAChB,OAAwB;QAExB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YACnD,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,MAAM,GAAe;gBACzB,KAAK;gBACL,OAAO,EAAE,OAAO,IAAI,IAAI;gBACxB,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9D,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,KAAK,GAA0B;gBACnC,EAAE,EAAE,MAAM;gBACV,MAAM;gBACN,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC;gBACtC,QAAQ,EAAE,IAAI;aACf,CAAC;YAEF,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEvB,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACpC,KAAK,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,MAAc,EAAE,MAAkB;QACvD,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAClD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM;YACR,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE;YACzB,MAAM;YACN,SAAS,EAAE,gBAAgB,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,QAAkB;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAA4B;YACrC,EAAE,EAAE,MAAM;YACV,QAAQ;YACR,QAAQ,EAAE,IAAI;SACf,CAAC;QAEF,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,sBAAsB,CAAC,MAAsB;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,MAAM,MAAM,GAAG,KAAK,SAAS,CAAC;YAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,KAAK,IAAI,gBAAgB,EAAE,GAAG,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC/E,MAAM;wBACJ,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;wBACnD,QAAQ,EAAE,IAAI;qBACiB,CAAC;gBACpC,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,gBAAgB,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBACrC,MAAM,cAAc,GAClB,IAAI,CAAC,iBAAiB,KAAK,IAAI;oBAC7B,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC;gBAE/D,MAAM,MAAM,GAAG,cAAc;oBAC3B,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;oBACxD,CAAC,CAAC,MAAM,gBAAgB,CAAC;gBAE3B,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;oBAC9B,MAAM;gBACR,CAAC;gBAED,MAAM,KAAK,GAAG,MAAmB,CAAC;gBAClC,IAAI,KAAK,KAAK,sBAAsB,EAAE,CAAC;oBACrC,MAAM;gBACR,CAAC;gBAED,IAAI,QAAQ,IAAI,KAAK,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtE,IAAI,YAAY,EAAE,CAAC;wBACjB,SAAS;oBACX,CAAC;oBACD,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;gBAED,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAoB;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvC,MAAM,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAoB;QACnC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,MAAc;QACjD,MAAM,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAEO,sBAAsB,CAAC,MAAe;QAC5C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,MAAiC,CAAC;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"background-task-agent.js","sourceRoot":"","sources":["../../../../src/naylence/agent/background-task-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base class for implementing agents.
|
|
3
|
+
*
|
|
4
|
+
* {@link BaseAgent} provides the standard implementation of the {@link Agent} protocol
|
|
5
|
+
* with built-in support for state management, message handling, and task execution.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* Extend this class for request-response style agents. For long-running background
|
|
9
|
+
* work, consider extending {@link BackgroundTaskAgent} instead.
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
1
13
|
import { type FameDeliveryContext, type FameEnvelope, type FameMessageResponse } from '@naylence/core';
|
|
2
14
|
import { FameAddress, FameFabric, NodeLike, Registerable, type StorageProvider } from '@naylence/runtime';
|
|
3
15
|
import { z } from 'zod';
|
|
@@ -5,6 +17,7 @@ import { Agent, type Payload } from './agent.js';
|
|
|
5
17
|
import { type AgentCard, Task, type TaskArtifactUpdateEvent, TaskIdParams, TaskPushNotificationConfig, TaskQueryParams, TaskSendParams, TaskStatusUpdateEvent } from './a2a-types.js';
|
|
6
18
|
import { TERMINAL_TASK_STATES } from './task-states.js';
|
|
7
19
|
export { TERMINAL_TASK_STATES };
|
|
20
|
+
/** @internal */
|
|
8
21
|
declare class StateContext<StateT extends BaseAgentState> {
|
|
9
22
|
private readonly acquireLock;
|
|
10
23
|
private readonly loadState;
|
|
@@ -133,16 +146,73 @@ export declare class BaseAgentState {
|
|
|
133
146
|
*/
|
|
134
147
|
clone(): this;
|
|
135
148
|
}
|
|
149
|
+
/** @internal */
|
|
136
150
|
type StateModelCtor<T extends BaseAgentState> = new () => T;
|
|
151
|
+
/**
|
|
152
|
+
* Configuration options for {@link BaseAgent}.
|
|
153
|
+
*/
|
|
137
154
|
export interface BaseAgentOptions<StateT extends BaseAgentState> {
|
|
155
|
+
/** State model class for typed state management. */
|
|
138
156
|
stateModel?: StateModelCtor<StateT> | null;
|
|
157
|
+
/** Namespace for state storage. Defaults to agent name. */
|
|
139
158
|
stateNamespace?: string | null;
|
|
159
|
+
/** Key under which state is stored. Defaults to 'state'. */
|
|
140
160
|
stateKey?: string;
|
|
161
|
+
/** Factory function to create initial state. */
|
|
141
162
|
stateFactory?: (() => StateT) | null;
|
|
163
|
+
/** Custom storage provider for state persistence. */
|
|
142
164
|
storageProvider?: StorageProvider | null;
|
|
143
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* Standard implementation of the {@link Agent} protocol.
|
|
168
|
+
*
|
|
169
|
+
* Provides built-in state management, message handling, and task lifecycle support.
|
|
170
|
+
* Extend this class and override {@link BaseAgent.runTask} to implement your agent logic.
|
|
171
|
+
*
|
|
172
|
+
* @remarks
|
|
173
|
+
* BaseAgent handles:
|
|
174
|
+
* - JSON-RPC message routing
|
|
175
|
+
* - State persistence with optional Zod validation
|
|
176
|
+
* - Task creation from runTask results
|
|
177
|
+
* - Graceful shutdown via SIGINT/SIGTERM
|
|
178
|
+
*
|
|
179
|
+
* For background/async task execution, use {@link BackgroundTaskAgent} instead.
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* ```typescript
|
|
183
|
+
* import { BaseAgent, Payload, BaseAgentState } from '@naylence/agent-sdk';
|
|
184
|
+
* import { z } from 'zod';
|
|
185
|
+
*
|
|
186
|
+
* const CounterSchema = z.object({ count: z.number() });
|
|
187
|
+
*
|
|
188
|
+
* class CounterState extends BaseAgentState {
|
|
189
|
+
* static readonly schema = CounterSchema;
|
|
190
|
+
* count = 0;
|
|
191
|
+
* }
|
|
192
|
+
*
|
|
193
|
+
* class CounterAgent extends BaseAgent<CounterState> {
|
|
194
|
+
* static STATE_MODEL = CounterState;
|
|
195
|
+
*
|
|
196
|
+
* async runTask(payload: Payload): Promise<number> {
|
|
197
|
+
* return await this.withState(async (state) => {
|
|
198
|
+
* state.count += 1;
|
|
199
|
+
* return state.count;
|
|
200
|
+
* });
|
|
201
|
+
* }
|
|
202
|
+
* }
|
|
203
|
+
*
|
|
204
|
+
* const agent = new CounterAgent('counter');
|
|
205
|
+
* await agent.serve('fame://counter');
|
|
206
|
+
* ```
|
|
207
|
+
*
|
|
208
|
+
* @typeParam StateT - The state model type, defaults to {@link BaseAgentState}.
|
|
209
|
+
*/
|
|
144
210
|
export declare class BaseAgent<StateT extends BaseAgentState = BaseAgentState> extends Agent implements Registerable {
|
|
145
211
|
#private;
|
|
212
|
+
/**
|
|
213
|
+
* Default state model class. Override in subclasses to set state type.
|
|
214
|
+
* @internal
|
|
215
|
+
*/
|
|
146
216
|
static STATE_MODEL: StateModelCtor<BaseAgentState> | null;
|
|
147
217
|
private _name;
|
|
148
218
|
private _address;
|
|
@@ -158,12 +228,29 @@ export declare class BaseAgent<StateT extends BaseAgentState = BaseAgentState> e
|
|
|
158
228
|
private _fabric;
|
|
159
229
|
private _stateStore;
|
|
160
230
|
private _stateCache;
|
|
231
|
+
/**
|
|
232
|
+
* Creates a new BaseAgent.
|
|
233
|
+
*
|
|
234
|
+
* @param name - Agent name. Defaults to snake_case of the class name.
|
|
235
|
+
* @param options - Configuration options for state and storage.
|
|
236
|
+
*/
|
|
161
237
|
constructor(name?: string | null, options?: BaseAgentOptions<StateT>);
|
|
238
|
+
/**
|
|
239
|
+
* Capabilities advertised by this agent.
|
|
240
|
+
* Includes the standard agent capability by default.
|
|
241
|
+
*/
|
|
162
242
|
get capabilities(): string[];
|
|
243
|
+
/** The agent's name. */
|
|
163
244
|
get name(): string | null;
|
|
164
245
|
get spec(): Record<string, unknown>;
|
|
246
|
+
/** The address this agent is registered at. */
|
|
165
247
|
get address(): FameAddress | null;
|
|
248
|
+
/** @internal */
|
|
166
249
|
set address(value: FameAddress | null);
|
|
250
|
+
/**
|
|
251
|
+
* Storage provider for state persistence.
|
|
252
|
+
* @throws Error if no storage provider is available.
|
|
253
|
+
*/
|
|
167
254
|
get storageProvider(): StorageProvider;
|
|
168
255
|
/**
|
|
169
256
|
* Returns the fabric this agent is registered with.
|
|
@@ -172,21 +259,74 @@ export declare class BaseAgent<StateT extends BaseAgentState = BaseAgentState> e
|
|
|
172
259
|
*/
|
|
173
260
|
protected get fabric(): FameFabric | null;
|
|
174
261
|
onRegister?(node: NodeLike): Promise<void>;
|
|
262
|
+
/** @internal */
|
|
175
263
|
protected acquireStateLock(): Promise<() => void>;
|
|
264
|
+
/** @internal */
|
|
176
265
|
private ensureStateModel;
|
|
266
|
+
/** @internal */
|
|
177
267
|
private ensureStateStore;
|
|
268
|
+
/** @internal */
|
|
178
269
|
private defaultStateNamespace;
|
|
270
|
+
/** @internal */
|
|
179
271
|
protected loadStateInternal(): Promise<StateT>;
|
|
272
|
+
/** @internal */
|
|
180
273
|
protected saveStateInternal(state: StateT): Promise<void>;
|
|
274
|
+
/**
|
|
275
|
+
* State context for lock-protected state access.
|
|
276
|
+
*
|
|
277
|
+
* @remarks
|
|
278
|
+
* Prefer using {@link BaseAgent.withState} for simpler access patterns.
|
|
279
|
+
*
|
|
280
|
+
* @throws Error if no state model is configured.
|
|
281
|
+
*/
|
|
181
282
|
get state(): StateContext<StateT>;
|
|
283
|
+
/**
|
|
284
|
+
* Executes a callback with exclusive access to the agent's state.
|
|
285
|
+
*
|
|
286
|
+
* State changes are automatically persisted after the callback completes.
|
|
287
|
+
*
|
|
288
|
+
* @param callback - Function receiving the current state.
|
|
289
|
+
* @returns The callback's return value.
|
|
290
|
+
*
|
|
291
|
+
* @example
|
|
292
|
+
* ```typescript
|
|
293
|
+
* const count = await this.withState(async (state) => {
|
|
294
|
+
* state.count += 1;
|
|
295
|
+
* return state.count;
|
|
296
|
+
* });
|
|
297
|
+
* ```
|
|
298
|
+
*/
|
|
182
299
|
withState<T>(callback: (state: StateT) => Promise<T>): Promise<T>;
|
|
300
|
+
/**
|
|
301
|
+
* Retrieves a snapshot of the current state.
|
|
302
|
+
*
|
|
303
|
+
* @remarks
|
|
304
|
+
* Returns a point-in-time copy. For modifications, use {@link BaseAgent.withState}.
|
|
305
|
+
*/
|
|
183
306
|
getState(): Promise<StateT>;
|
|
307
|
+
/**
|
|
308
|
+
* Deletes all persisted state for this agent.
|
|
309
|
+
*/
|
|
184
310
|
clearState(): Promise<void>;
|
|
311
|
+
/** @internal */
|
|
185
312
|
private static isRpcRequest;
|
|
313
|
+
/** @internal */
|
|
186
314
|
handleMessage(envelope: FameEnvelope, _context?: FameDeliveryContext): Promise<FameMessageResponse | AsyncIterable<FameMessageResponse> | null | void>;
|
|
315
|
+
/**
|
|
316
|
+
* Override to handle non-RPC messages.
|
|
317
|
+
*
|
|
318
|
+
* Called when the agent receives a message that is not a JSON-RPC request.
|
|
319
|
+
* The default implementation logs a warning and returns null.
|
|
320
|
+
*
|
|
321
|
+
* @param message - The decoded message payload.
|
|
322
|
+
* @returns Optional response to send back.
|
|
323
|
+
*/
|
|
187
324
|
onMessage(message: unknown): Promise<FameMessageResponse | null | void>;
|
|
325
|
+
/** @internal */
|
|
188
326
|
private handleRpcMessage;
|
|
327
|
+
/** @internal */
|
|
189
328
|
private startSubscriptionTask;
|
|
329
|
+
/** @internal */
|
|
190
330
|
private streamSendSubscribe;
|
|
191
331
|
authenticate(_credentials: unknown): boolean;
|
|
192
332
|
registerPushEndpoint(_config: TaskPushNotificationConfig): Promise<TaskPushNotificationConfig>;
|
|
@@ -196,7 +336,38 @@ export declare class BaseAgent<StateT extends BaseAgentState = BaseAgentState> e
|
|
|
196
336
|
cancelTask(_params: TaskIdParams): Promise<Task>;
|
|
197
337
|
getAgentCard(): Promise<AgentCard>;
|
|
198
338
|
getTaskStatus(_params: TaskQueryParams): Promise<Task>;
|
|
339
|
+
/**
|
|
340
|
+
* Override to implement task execution logic.
|
|
341
|
+
*
|
|
342
|
+
* This is the primary extension point for agent behavior. Return the task result
|
|
343
|
+
* or throw an error to fail the task.
|
|
344
|
+
*
|
|
345
|
+
* @param _payload - The task payload.
|
|
346
|
+
* @param _id - Optional task identifier.
|
|
347
|
+
* @returns The task result.
|
|
348
|
+
* @throws UnsupportedOperationException if not overridden.
|
|
349
|
+
*
|
|
350
|
+
* @example
|
|
351
|
+
* ```typescript
|
|
352
|
+
* async runTask(payload: Payload): Promise<string> {
|
|
353
|
+
* const input = typeof payload === 'string' ? payload : '';
|
|
354
|
+
* return `Hello, ${input}!`;
|
|
355
|
+
* }
|
|
356
|
+
* ```
|
|
357
|
+
*/
|
|
199
358
|
runTask(_payload: Payload, _id: string | null): Promise<unknown>;
|
|
359
|
+
/**
|
|
360
|
+
* Initiates a task and returns its status.
|
|
361
|
+
*
|
|
362
|
+
* @remarks
|
|
363
|
+
* If you override {@link BaseAgent.runTask}, this method automatically
|
|
364
|
+
* creates a Task from the result. Override this method for custom
|
|
365
|
+
* task lifecycle management.
|
|
366
|
+
*
|
|
367
|
+
* @param params - Task parameters including message and metadata.
|
|
368
|
+
* @returns The completed task with result.
|
|
369
|
+
* @throws Error if neither startTask nor runTask is implemented.
|
|
370
|
+
*/
|
|
200
371
|
startTask(params: TaskSendParams): Promise<Task>;
|
|
201
372
|
aserve(address: FameAddress | string, options?: Parameters<Agent['aserve']>[1]): Promise<void>;
|
|
202
373
|
}
|