@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.
Files changed (41) hide show
  1. package/README.md +30 -0
  2. package/dist/browser/index.js +1283 -441
  3. package/dist/browser/index.js.map +1 -1
  4. package/dist/cjs/naylence/agent/agent-proxy.js.map +1 -1
  5. package/dist/cjs/naylence/agent/agent.js.map +1 -1
  6. package/dist/cjs/naylence/agent/background-task-agent.js.map +1 -1
  7. package/dist/cjs/naylence/agent/base-agent.js.map +1 -1
  8. package/dist/cjs/public-api.d.ts +7 -0
  9. package/dist/cjs/public-api.js +26 -0
  10. package/dist/cjs/public-api.js.map +1 -0
  11. package/dist/cjs/version.d.ts +1 -1
  12. package/dist/cjs/version.js +1 -1
  13. package/dist/esm/naylence/agent/agent-proxy.d.ts +148 -0
  14. package/dist/esm/naylence/agent/agent-proxy.js +130 -0
  15. package/dist/esm/naylence/agent/agent-proxy.js.map +1 -1
  16. package/dist/esm/naylence/agent/agent.d.ts +194 -2
  17. package/dist/esm/naylence/agent/agent.js +123 -0
  18. package/dist/esm/naylence/agent/agent.js.map +1 -1
  19. package/dist/esm/naylence/agent/background-task-agent.d.ts +164 -0
  20. package/dist/esm/naylence/agent/background-task-agent.js +150 -0
  21. package/dist/esm/naylence/agent/background-task-agent.js.map +1 -1
  22. package/dist/esm/naylence/agent/base-agent.d.ts +171 -0
  23. package/dist/esm/naylence/agent/base-agent.js +170 -1
  24. package/dist/esm/naylence/agent/base-agent.js.map +1 -1
  25. package/dist/esm/public-api.d.ts +15 -0
  26. package/dist/esm/public-api.js +16 -0
  27. package/dist/esm/public-api.js.map +1 -0
  28. package/dist/esm/version.d.ts +1 -1
  29. package/dist/esm/version.js +2 -2
  30. package/dist/types/naylence/agent/agent-proxy.d.ts +148 -0
  31. package/dist/types/naylence/agent/agent-proxy.d.ts.map +1 -1
  32. package/dist/types/naylence/agent/agent.d.ts +194 -2
  33. package/dist/types/naylence/agent/agent.d.ts.map +1 -1
  34. package/dist/types/naylence/agent/background-task-agent.d.ts +164 -0
  35. package/dist/types/naylence/agent/background-task-agent.d.ts.map +1 -1
  36. package/dist/types/naylence/agent/base-agent.d.ts +171 -0
  37. package/dist/types/naylence/agent/base-agent.d.ts.map +1 -1
  38. package/dist/types/public-api.d.ts +16 -0
  39. package/dist/types/public-api.d.ts.map +1 -0
  40. package/dist/types/version.d.ts +1 -1
  41. 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":"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"}
1
+ {"version":3,"file":"background-task-agent.js","sourceRoot":"","sources":["../../../../src/naylence/agent/background-task-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,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,gBAAgB;AAChB,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC,gBAAgB;AAChB,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,gBAAgB;AAChB,MAAM,cAAc,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAC;AAW/D,gBAAgB;AAChB,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,gBAAgB;AAChB,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,gBAAgB;AAChB,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,gBAAgB;AAChB,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,gBAAgB;AAChB,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;AAoBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,OAAgB,mBAEpB,SAAQ,SAAiB;IAkBzB;;;;;OAKG;IACH,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;QA/B3B,gBAAgB;QACC,iBAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;QAC9D,gBAAgB;QACC,oBAAe,GAAG,IAAI,GAAG,EAAsC,CAAC;QACjF,gBAAgB;QACC,cAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;QAK/D,gBAAgB;QACC,eAAU,GAAG,IAAI,SAAS,EAAE,CAAC;QAsB5C,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;IAED,gBAAgB;IACR,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;;;;;;;;OAQG;IACH,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;IAED,gBAAgB;IACR,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;IAED,gBAAgB;IACR,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;IA4BD;;;;;OAKG;IACH,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;;;;;;OAMG;IACH,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;;;;;;;;;;OAUG;IACH,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;IAED,gBAAgB;IACR,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;;;;;;;OAOG;IACH,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;;;;;;;;OAQG;IACH,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;;;;OAIG;IACH,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;;;;;;;;OAQG;IACH,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;IAED,gBAAgB;IACR,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;IAED,gBAAgB;IACR,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,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
  }