@naylence/agent-sdk 0.3.11 → 0.3.13
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 +3268 -1913
- package/dist/browser/index.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +27 -2
- package/dist/cjs/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/naylence/agent/configs.d.ts +12 -0
- package/dist/cjs/naylence/agent/configs.js +12 -0
- package/dist/cjs/naylence/agent/configs.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/index.d.ts +1 -0
- package/dist/esm/index.js +31 -2
- package/dist/esm/index.js.map +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/naylence/agent/configs.d.ts +12 -0
- package/dist/esm/naylence/agent/configs.js +12 -0
- package/dist/esm/naylence/agent/configs.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/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- 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/naylence/agent/configs.d.ts +12 -0
- package/dist/types/naylence/agent/configs.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,36 +1,200 @@
|
|
|
1
1
|
import { type Artifact, type Message, Task, type TaskArtifactUpdateEvent, TaskIdParams, type TaskQueryParams, TaskSendParams, TaskState, type TaskStatusUpdateEvent } from './a2a-types.js';
|
|
2
2
|
import { BaseAgent, type BaseAgentOptions, type BaseAgentState } from './base-agent.js';
|
|
3
|
+
/** @internal */
|
|
3
4
|
type TaskEvent = TaskStatusUpdateEvent | TaskArtifactUpdateEvent;
|
|
5
|
+
/**
|
|
6
|
+
* Configuration options for {@link BackgroundTaskAgent}.
|
|
7
|
+
*/
|
|
4
8
|
export interface BackgroundTaskAgentOptions<StateT extends BaseAgentState> extends BaseAgentOptions<StateT> {
|
|
9
|
+
/** Maximum number of events buffered per task. Defaults to 1000. */
|
|
5
10
|
maxQueueSize?: number;
|
|
11
|
+
/**
|
|
12
|
+
* Maximum task execution time in milliseconds.
|
|
13
|
+
* Tasks exceeding this limit are automatically canceled. Null disables the limit.
|
|
14
|
+
*/
|
|
6
15
|
maxTaskLifetimeMs?: number | null;
|
|
16
|
+
/** Maximum number of completed tasks to cache. Defaults to 100. */
|
|
7
17
|
completedCacheSize?: number;
|
|
18
|
+
/** Time-to-live for cached completed tasks in seconds. Defaults to 300. */
|
|
8
19
|
completedCacheTtlSec?: number;
|
|
9
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Base class for agents that execute long-running background tasks.
|
|
23
|
+
*
|
|
24
|
+
* Unlike {@link BaseAgent} which runs tasks synchronously in startTask,
|
|
25
|
+
* BackgroundTaskAgent starts tasks in the background and streams status
|
|
26
|
+
* updates to subscribers. This is ideal for work that takes significant time.
|
|
27
|
+
*
|
|
28
|
+
* @remarks
|
|
29
|
+
* Lifecycle:
|
|
30
|
+
* 1. Client calls startTask, which returns immediately with WORKING status
|
|
31
|
+
* 2. runBackgroundTask executes asynchronously
|
|
32
|
+
* 3. Status updates are queued and delivered to subscribers
|
|
33
|
+
* 4. Task completes with COMPLETED, FAILED, or CANCELED status
|
|
34
|
+
*
|
|
35
|
+
* Completed tasks are cached briefly for late subscribers to retrieve final status.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* import {
|
|
40
|
+
* BackgroundTaskAgent,
|
|
41
|
+
* TaskSendParams,
|
|
42
|
+
* TaskState,
|
|
43
|
+
* } from '@naylence/agent-sdk';
|
|
44
|
+
*
|
|
45
|
+
* class SlowAgent extends BackgroundTaskAgent {
|
|
46
|
+
* protected async runBackgroundTask(params: TaskSendParams): Promise<string> {
|
|
47
|
+
* // Report progress
|
|
48
|
+
* await this.updateTaskState(params.id, TaskState.WORKING);
|
|
49
|
+
*
|
|
50
|
+
* // Do expensive work
|
|
51
|
+
* await someSlowOperation();
|
|
52
|
+
*
|
|
53
|
+
* // Return value becomes the task result
|
|
54
|
+
* return 'done';
|
|
55
|
+
* }
|
|
56
|
+
* }
|
|
57
|
+
*
|
|
58
|
+
* const agent = new SlowAgent('slow-worker', {
|
|
59
|
+
* maxTaskLifetimeMs: 60_000, // 1 minute timeout
|
|
60
|
+
* });
|
|
61
|
+
* await agent.serve('fame://slow-worker');
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* @typeParam StateT - The state model type, defaults to {@link BaseAgentState}.
|
|
65
|
+
*/
|
|
10
66
|
export declare abstract class BackgroundTaskAgent<StateT extends BaseAgentState = BaseAgentState> extends BaseAgent<StateT> {
|
|
67
|
+
/** @internal */
|
|
11
68
|
private readonly maxQueueSize;
|
|
69
|
+
/** @internal */
|
|
12
70
|
private readonly maxTaskLifetimeMs;
|
|
71
|
+
/** @internal */
|
|
13
72
|
private readonly taskStatuses;
|
|
73
|
+
/** @internal */
|
|
14
74
|
private readonly taskEventQueues;
|
|
75
|
+
/** @internal */
|
|
15
76
|
private readonly completed;
|
|
77
|
+
/** @internal */
|
|
16
78
|
private readonly completedCacheSize;
|
|
79
|
+
/** @internal */
|
|
17
80
|
private readonly completedCacheTtlSec;
|
|
81
|
+
/** @internal */
|
|
18
82
|
private readonly statusLock;
|
|
83
|
+
/**
|
|
84
|
+
* Creates a new BackgroundTaskAgent.
|
|
85
|
+
*
|
|
86
|
+
* @param name - Agent name. Defaults to snake_case of the class name.
|
|
87
|
+
* @param options - Configuration options for task execution and caching.
|
|
88
|
+
*/
|
|
19
89
|
protected constructor(name?: string | null, options?: BackgroundTaskAgentOptions<StateT>);
|
|
90
|
+
/** @internal */
|
|
20
91
|
private isTerminalTaskState;
|
|
92
|
+
/**
|
|
93
|
+
* Starts a background task.
|
|
94
|
+
*
|
|
95
|
+
* Returns immediately with WORKING status. The task executes asynchronously
|
|
96
|
+
* via {@link BackgroundTaskAgent.runBackgroundTask}.
|
|
97
|
+
*
|
|
98
|
+
* @param params - Task parameters.
|
|
99
|
+
* @returns The task with initial WORKING status.
|
|
100
|
+
*/
|
|
21
101
|
startTask(params: TaskSendParams): Promise<Task>;
|
|
102
|
+
/** @internal */
|
|
22
103
|
private enforceMaxLifetime;
|
|
104
|
+
/** @internal */
|
|
23
105
|
private runBackgroundTaskInternal;
|
|
106
|
+
/**
|
|
107
|
+
* Override to implement background task execution logic.
|
|
108
|
+
*
|
|
109
|
+
* This method runs asynchronously after startTask returns. The return value
|
|
110
|
+
* becomes the task's completion message. Throwing an error fails the task.
|
|
111
|
+
*
|
|
112
|
+
* @remarks
|
|
113
|
+
* Call {@link BackgroundTaskAgent.updateTaskState} to report progress.
|
|
114
|
+
* Call {@link BackgroundTaskAgent.updateTaskArtifact} to emit artifacts.
|
|
115
|
+
*
|
|
116
|
+
* @param params - The original task parameters.
|
|
117
|
+
* @returns The task result, which is included in the completion message.
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```typescript
|
|
121
|
+
* protected async runBackgroundTask(params: TaskSendParams): Promise<unknown> {
|
|
122
|
+
* for (let i = 0; i < 10; i++) {
|
|
123
|
+
* await this.updateTaskState(params.id, TaskState.WORKING);
|
|
124
|
+
* await doStep(i);
|
|
125
|
+
* }
|
|
126
|
+
* return { steps: 10 };
|
|
127
|
+
* }
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
24
130
|
protected abstract runBackgroundTask(params: TaskSendParams): Promise<unknown>;
|
|
131
|
+
/**
|
|
132
|
+
* Gets the current state of a task.
|
|
133
|
+
*
|
|
134
|
+
* @param taskId - The task identifier.
|
|
135
|
+
* @returns The current task state, or UNKNOWN if not found.
|
|
136
|
+
*/
|
|
25
137
|
getTaskState(taskId: string): Promise<TaskState>;
|
|
138
|
+
/**
|
|
139
|
+
* Retrieves the full status of a task.
|
|
140
|
+
*
|
|
141
|
+
* @param params - Query parameters including the task ID.
|
|
142
|
+
* @returns The task with current status.
|
|
143
|
+
* @throws Error if the task is unknown or expired.
|
|
144
|
+
*/
|
|
26
145
|
getTaskStatus(params: TaskQueryParams): Promise<Task>;
|
|
146
|
+
/**
|
|
147
|
+
* Updates the state of a running task.
|
|
148
|
+
*
|
|
149
|
+
* Call this from {@link BackgroundTaskAgent.runBackgroundTask} to report progress.
|
|
150
|
+
* Status updates are delivered to subscribers.
|
|
151
|
+
*
|
|
152
|
+
* @param taskId - The task identifier.
|
|
153
|
+
* @param state - The new task state.
|
|
154
|
+
* @param message - Optional message with details.
|
|
155
|
+
* @returns True if the update was applied, false if the task is already terminal.
|
|
156
|
+
*/
|
|
27
157
|
updateTaskState(taskId: string, state: TaskState, message?: Message | null): Promise<boolean>;
|
|
158
|
+
/** @internal */
|
|
28
159
|
private addToCompleted;
|
|
160
|
+
/**
|
|
161
|
+
* Emits an artifact for a running task.
|
|
162
|
+
*
|
|
163
|
+
* Artifacts are delivered to subscribers as TaskArtifactUpdateEvents.
|
|
164
|
+
*
|
|
165
|
+
* @param taskId - The task identifier.
|
|
166
|
+
* @param artifact - The artifact to emit.
|
|
167
|
+
*/
|
|
29
168
|
updateTaskArtifact(taskId: string, artifact: Artifact): Promise<void>;
|
|
169
|
+
/**
|
|
170
|
+
* Subscribes to updates for a task.
|
|
171
|
+
*
|
|
172
|
+
* Returns an async iterable that yields status and artifact events.
|
|
173
|
+
* For completed tasks, yields the cached final status if still available.
|
|
174
|
+
*
|
|
175
|
+
* @param params - Task parameters including the task ID.
|
|
176
|
+
* @returns Async iterable of task events.
|
|
177
|
+
*/
|
|
30
178
|
subscribeToTaskUpdates(params: TaskSendParams): AsyncIterable<TaskEvent>;
|
|
179
|
+
/**
|
|
180
|
+
* Cancels a task subscription.
|
|
181
|
+
*
|
|
182
|
+
* @param params - Parameters including the task ID.
|
|
183
|
+
*/
|
|
31
184
|
unsubscribeTask(params: TaskIdParams): Promise<void>;
|
|
185
|
+
/**
|
|
186
|
+
* Cancels a running task.
|
|
187
|
+
*
|
|
188
|
+
* Sets the task state to CANCELED. Does not interrupt runBackgroundTask,
|
|
189
|
+
* but prevents further state updates.
|
|
190
|
+
*
|
|
191
|
+
* @param params - Parameters including the task ID.
|
|
192
|
+
* @returns The task with CANCELED status.
|
|
193
|
+
*/
|
|
32
194
|
cancelTask(params: TaskIdParams): Promise<Task>;
|
|
195
|
+
/** @internal */
|
|
33
196
|
private purgeCompletedAfterTtl;
|
|
197
|
+
/** @internal */
|
|
34
198
|
private normalizeResultPayload;
|
|
35
199
|
}
|
|
36
200
|
export {};
|
|
@@ -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":"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"}
|