@adonis-agora/agent 0.49.0 → 0.51.0
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/CHANGELOG.md +32 -0
- package/dist/providers/agent_provider.d.ts +16 -0
- package/dist/providers/agent_provider.d.ts.map +1 -1
- package/dist/providers/agent_provider.js +187 -8
- package/dist/providers/agent_provider.js.map +1 -1
- package/dist/src/agent-loop.d.ts +18 -0
- package/dist/src/agent-loop.d.ts.map +1 -1
- package/dist/src/agent-loop.js +22 -0
- package/dist/src/agent-loop.js.map +1 -1
- package/dist/src/agent-service.d.ts +96 -0
- package/dist/src/agent-service.d.ts.map +1 -1
- package/dist/src/agent-service.js +226 -4
- package/dist/src/agent-service.js.map +1 -1
- package/dist/src/chat-queue-service.d.ts +153 -0
- package/dist/src/chat-queue-service.d.ts.map +1 -0
- package/dist/src/chat-queue-service.js +360 -0
- package/dist/src/chat-queue-service.js.map +1 -0
- package/dist/src/client/chat-client.d.ts +32 -0
- package/dist/src/client/chat-client.d.ts.map +1 -1
- package/dist/src/client/chat-client.js +13 -0
- package/dist/src/client/chat-client.js.map +1 -1
- package/dist/src/client/index.d.ts +1 -1
- package/dist/src/client/index.d.ts.map +1 -1
- package/dist/src/client/index.js.map +1 -1
- package/dist/src/durable/agent-run-context.d.ts +6 -0
- package/dist/src/durable/agent-run-context.d.ts.map +1 -1
- package/dist/src/durable/agent-run-context.js.map +1 -1
- package/dist/src/durable/agent-run-workflow.d.ts.map +1 -1
- package/dist/src/durable/agent-run-workflow.js +94 -6
- package/dist/src/durable/agent-run-workflow.js.map +1 -1
- package/dist/src/durable/durable-agent-runner.d.ts +19 -3
- package/dist/src/durable/durable-agent-runner.d.ts.map +1 -1
- package/dist/src/durable/durable-agent-runner.js +62 -3
- package/dist/src/durable/durable-agent-runner.js.map +1 -1
- package/dist/src/index.d.ts +6 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/react/use-agent-chat.d.ts.map +1 -1
- package/dist/src/react/use-agent-chat.js +15 -1
- package/dist/src/react/use-agent-chat.js.map +1 -1
- package/dist/src/runners/inline-agent-runner.d.ts +30 -6
- package/dist/src/runners/inline-agent-runner.d.ts.map +1 -1
- package/dist/src/runners/inline-agent-runner.js +117 -21
- package/dist/src/runners/inline-agent-runner.js.map +1 -1
- package/dist/src/spi/agent-runner.d.ts +20 -1
- package/dist/src/spi/agent-runner.d.ts.map +1 -1
- package/dist/src/spi/chat-queue.d.ts +133 -0
- package/dist/src/spi/chat-queue.d.ts.map +1 -0
- package/dist/src/spi/chat-queue.js +48 -0
- package/dist/src/spi/chat-queue.js.map +1 -0
- package/dist/src/stores/lucid-governance-queries.d.ts +2 -0
- package/dist/src/stores/lucid-governance-queries.d.ts.map +1 -1
- package/dist/src/stores/lucid-governance-queries.js +4 -0
- package/dist/src/stores/lucid-governance-queries.js.map +1 -1
- package/dist/src/stores/lucid-pricing.d.ts +2 -0
- package/dist/src/stores/lucid-pricing.d.ts.map +1 -1
- package/dist/src/stores/lucid-pricing.js +4 -0
- package/dist/src/stores/lucid-pricing.js.map +1 -1
- package/dist/src/stores/lucid-schema.d.ts +36 -9
- package/dist/src/stores/lucid-schema.d.ts.map +1 -1
- package/dist/src/stores/lucid-schema.js +173 -23
- package/dist/src/stores/lucid-schema.js.map +1 -1
- package/dist/src/stores/lucid.d.ts +33 -3
- package/dist/src/stores/lucid.d.ts.map +1 -1
- package/dist/src/stores/lucid.js +208 -1
- package/dist/src/stores/lucid.js.map +1 -1
- package/dist/src/stream-events.d.ts +17 -0
- package/dist/src/stream-events.d.ts.map +1 -1
- package/dist/src/testing/chat-queue-store-contract.d.ts +26 -0
- package/dist/src/testing/chat-queue-store-contract.d.ts.map +1 -0
- package/dist/src/testing/chat-queue-store-contract.js +162 -0
- package/dist/src/testing/chat-queue-store-contract.js.map +1 -0
- package/dist/src/testing/in-memory-store.d.ts +20 -1
- package/dist/src/testing/in-memory-store.d.ts.map +1 -1
- package/dist/src/testing/in-memory-store.js +125 -0
- package/dist/src/testing/in-memory-store.js.map +1 -1
- package/dist/src/testing/index.d.ts +1 -0
- package/dist/src/testing/index.d.ts.map +1 -1
- package/dist/src/testing/index.js +1 -0
- package/dist/src/testing/index.js.map +1 -1
- package/dist/src/types.d.ts +6 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/stubs/database/migrations/create_agent_tables.stub +2 -2
- package/package.json +2 -1
- package/skills/agent-setup/SKILL.md +6 -3
|
@@ -5,6 +5,22 @@ import { findCatalogModel, ModelNotAllowedError, } from './spi/model-catalog.js'
|
|
|
5
5
|
import { QuotaBlockedError } from './spi/quota-provider.js';
|
|
6
6
|
/** A feedback comment is stored with the message — bounded like any other stored text. */
|
|
7
7
|
const MAX_FEEDBACK_COMMENT_LENGTH = 2000;
|
|
8
|
+
/**
|
|
9
|
+
* A queue request the service refuses — `status` and `code` are what the routes answer:
|
|
10
|
+
* `409 run_active` (a start-or-refuse {@link AgentService.chat}, or a regenerate, on a busy thread),
|
|
11
|
+
* `410` (a queued message that already started or was removed), `404` (no such queued message),
|
|
12
|
+
* `400` (a bad patch), `501` (the store cannot hold a queue).
|
|
13
|
+
*/
|
|
14
|
+
export class ChatQueueError extends Error {
|
|
15
|
+
status;
|
|
16
|
+
code;
|
|
17
|
+
constructor(status, message, code) {
|
|
18
|
+
super(message);
|
|
19
|
+
this.status = status;
|
|
20
|
+
this.code = code;
|
|
21
|
+
this.name = 'ChatQueueError';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
8
24
|
/** `regenerate: true` on a send without a `threadId` — there is no answer to regenerate. */
|
|
9
25
|
export class RegenerateNeedsThreadError extends Error {
|
|
10
26
|
constructor() {
|
|
@@ -147,7 +163,45 @@ export class AgentService {
|
|
|
147
163
|
throw new QuotaBlockedError(blocked.period, blocked.reason ?? `The ${blocked.period === 'day' ? 'daily' : 'monthly'} quota is used up`);
|
|
148
164
|
}
|
|
149
165
|
}
|
|
166
|
+
/** The queue service when the bound store can hold a queue, else `undefined`. */
|
|
167
|
+
queueing() {
|
|
168
|
+
return this.options.queue?.supported === true ? this.options.queue : undefined;
|
|
169
|
+
}
|
|
170
|
+
/** The queue service, or a `501` naming what is missing. */
|
|
171
|
+
requireQueue() {
|
|
172
|
+
const queue = this.queueing();
|
|
173
|
+
if (queue === undefined) {
|
|
174
|
+
throw new ChatQueueError(501, 'Queueing messages requires an AgentStore that implements ChatQueueStore; the bound store does not.');
|
|
175
|
+
}
|
|
176
|
+
return queue;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Start a turn — for in-process callers that need a run id back. A send that would have to wait
|
|
180
|
+
* (its thread already has a turn running) is refused with a `409 run_active`
|
|
181
|
+
* {@link ChatQueueError} instead; {@link send} is the form that queues it.
|
|
182
|
+
*/
|
|
150
183
|
async chat(params) {
|
|
184
|
+
const result = await this.send({ ...params, mode: 'auto' });
|
|
185
|
+
if (result.queued !== true) {
|
|
186
|
+
return result;
|
|
187
|
+
}
|
|
188
|
+
if (result.runId !== undefined) {
|
|
189
|
+
// The thread freed up while it was being queued, and it started straight away.
|
|
190
|
+
return { runId: result.runId, threadId: result.threadId };
|
|
191
|
+
}
|
|
192
|
+
// Take it back out, so this call has no effect — unless it started in the meantime.
|
|
193
|
+
const queue = this.requireQueue();
|
|
194
|
+
if (!(await queue.queueStore().removeQueuedMessage(result.messageId))) {
|
|
195
|
+
return { runId: result.messageId, threadId: result.threadId };
|
|
196
|
+
}
|
|
197
|
+
await queue.publish(result.threadId);
|
|
198
|
+
throw new ChatQueueError(409, `thread ${result.threadId} already has a turn running`, 'run_active');
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Send a message: start a turn, or — when its thread already has one running — queue the message
|
|
202
|
+
* to run after it (see {@link ChatSendMode}). What `POST <path>/chat` calls.
|
|
203
|
+
*/
|
|
204
|
+
async send(params) {
|
|
151
205
|
if (params.regenerate === true && params.threadId === undefined) {
|
|
152
206
|
throw new RegenerateNeedsThreadError();
|
|
153
207
|
}
|
|
@@ -177,9 +231,172 @@ export class AgentService {
|
|
|
177
231
|
...(model !== undefined ? { model } : {}),
|
|
178
232
|
...(params.regenerate === true ? { regenerate: true } : {}),
|
|
179
233
|
};
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
234
|
+
const queue = this.queueing();
|
|
235
|
+
if (queue === undefined) {
|
|
236
|
+
// No admission to take: a store that predates the queue starts every send at once. The
|
|
237
|
+
// runner marks the thread's active run itself, before the turn can end.
|
|
238
|
+
const { runId } = await this.runner.start(input);
|
|
239
|
+
return { runId, threadId };
|
|
240
|
+
}
|
|
241
|
+
const mode = params.mode ?? 'auto';
|
|
242
|
+
const { live, stale } = await queue.holder(threadId, this.runner);
|
|
243
|
+
// `queue` always answers as a queued send (202), so a client that asked for it handles one
|
|
244
|
+
// shape; an idle thread starts it straight away all the same (`enqueue` kicks the queue).
|
|
245
|
+
if (live === null && mode !== 'queue') {
|
|
246
|
+
const runId = crypto.randomUUID();
|
|
247
|
+
if (await queue
|
|
248
|
+
.queueStore()
|
|
249
|
+
.claimActiveStream(threadId, runId, stale !== null ? { replacing: stale } : {})) {
|
|
250
|
+
return { runId: await this.startClaimed(queue, input, runId), threadId };
|
|
251
|
+
}
|
|
252
|
+
// Lost the race for the thread to another send: fall through and queue behind it.
|
|
253
|
+
}
|
|
254
|
+
if (params.regenerate === true) {
|
|
255
|
+
throw new ChatQueueError(409, 'cannot regenerate while a turn is running on this thread', 'run_active');
|
|
256
|
+
}
|
|
257
|
+
return this.enqueue(queue, input, mode, live);
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Start a turn the thread is already claimed for, under the claimed id. A runner that minted an
|
|
261
|
+
* id of its own anyway gets the thread re-pointed at it; one that fails to start frees the thread.
|
|
262
|
+
*/
|
|
263
|
+
async startClaimed(queue, input, runId) {
|
|
264
|
+
const store = queue.queueStore();
|
|
265
|
+
let started;
|
|
266
|
+
try {
|
|
267
|
+
started = (await this.runner.start(input, { runId })).runId;
|
|
268
|
+
}
|
|
269
|
+
catch (error) {
|
|
270
|
+
await store.releaseActiveStream(input.threadId, runId);
|
|
271
|
+
throw error;
|
|
272
|
+
}
|
|
273
|
+
if (started !== runId) {
|
|
274
|
+
await store.claimActiveStream(input.threadId, started, { replacing: runId });
|
|
275
|
+
}
|
|
276
|
+
return started;
|
|
277
|
+
}
|
|
278
|
+
/** Put a send in its thread's queue, then drain it if the thread turned out to be free. */
|
|
279
|
+
async enqueue(queue, input, mode, live) {
|
|
280
|
+
const store = queue.queueStore();
|
|
281
|
+
const threadId = input.threadId;
|
|
282
|
+
const interrupting = mode === 'interrupt' && live !== null ? live : undefined;
|
|
283
|
+
const queued = await store.enqueueMessage({
|
|
284
|
+
threadId,
|
|
285
|
+
actor: input.actor,
|
|
286
|
+
content: input.userText,
|
|
287
|
+
...(input.attachments !== undefined ? { attachments: input.attachments } : {}),
|
|
288
|
+
...(input.agentName !== undefined ? { agentName: input.agentName } : {}),
|
|
289
|
+
...(input.model !== undefined ? { model: input.model } : {}),
|
|
290
|
+
...(input.pageContext !== undefined ? { pageContext: input.pageContext } : {}),
|
|
291
|
+
...(interrupting !== undefined ? { interrupt: true, at: 'head' } : {}),
|
|
292
|
+
});
|
|
293
|
+
let runId;
|
|
294
|
+
if (interrupting !== undefined) {
|
|
295
|
+
// An interrupt is a person choosing to run this now: whatever paused the queue, they are
|
|
296
|
+
// overriding it. The cancel settles into the queue, which starts this message.
|
|
297
|
+
await store.setQueuePause(threadId, null);
|
|
298
|
+
await queue.publish(threadId);
|
|
299
|
+
await this.runner.cancel(interrupting);
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
// The run holding the thread may have settled between our look and our enqueue — its drain
|
|
303
|
+
// then found nothing. Starting the head here covers that; with a live holder it does nothing.
|
|
304
|
+
runId = await queue.kick(threadId, this.runner);
|
|
305
|
+
if (runId === undefined) {
|
|
306
|
+
await queue.publish(threadId);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
const state = await queue.state(threadId);
|
|
310
|
+
const position = state.items.findIndex((item) => item.id === queued.id);
|
|
311
|
+
return {
|
|
312
|
+
threadId,
|
|
313
|
+
queued: true,
|
|
314
|
+
messageId: queued.id,
|
|
315
|
+
position: position === -1 ? 0 : position,
|
|
316
|
+
queue: state,
|
|
317
|
+
...(runId !== undefined && runId === queued.id ? { runId } : {}),
|
|
318
|
+
...(interrupting !== undefined ? { interrupting } : {}),
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
/** Can this deployment queue messages (the store is a `ChatQueueStore` and a queue is wired)? */
|
|
322
|
+
queueSupported() {
|
|
323
|
+
return this.queueing() !== undefined;
|
|
324
|
+
}
|
|
325
|
+
/** `GET <path>/threads/:id/queue` — the thread's waiting messages and whether it drains. */
|
|
326
|
+
getQueue(threadId) {
|
|
327
|
+
return this.requireQueue().state(threadId);
|
|
328
|
+
}
|
|
329
|
+
/** The thread a queued message waits on — `null` when there is no such message. */
|
|
330
|
+
async queuedMessageThread(messageId) {
|
|
331
|
+
const message = await this.requireQueue().queueStore().getQueuedMessage(messageId);
|
|
332
|
+
return message?.threadId ?? null;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* `PATCH <path>/queue/:messageId` — change a waiting message's text and/or attachments, and/or
|
|
336
|
+
* move it to `position` in the queue. Answers the thread's queue.
|
|
337
|
+
*/
|
|
338
|
+
async updateQueuedMessage(actor, messageId, patch) {
|
|
339
|
+
const queue = this.requireQueue();
|
|
340
|
+
const store = queue.queueStore();
|
|
341
|
+
const current = await store.getQueuedMessage(messageId);
|
|
342
|
+
if (current === null) {
|
|
343
|
+
throw new ChatQueueError(404, `queued message ${messageId} not found`);
|
|
344
|
+
}
|
|
345
|
+
if (patch.message !== undefined && patch.message.trim().length === 0) {
|
|
346
|
+
throw new ChatQueueError(400, 'message must not be empty');
|
|
347
|
+
}
|
|
348
|
+
if (patch.position !== undefined && (!Number.isInteger(patch.position) || patch.position < 0)) {
|
|
349
|
+
throw new ChatQueueError(400, 'position must be a non-negative integer');
|
|
350
|
+
}
|
|
351
|
+
const attachments = patch.attachments === undefined || patch.attachments === null
|
|
352
|
+
? patch.attachments
|
|
353
|
+
: await this.resolveAttachments(actor, patch.attachments);
|
|
354
|
+
const gone = new ChatQueueError(410, `queued message ${messageId} already started or was removed`);
|
|
355
|
+
if (patch.message !== undefined || attachments !== undefined) {
|
|
356
|
+
const updated = await store.updateQueuedMessage(messageId, {
|
|
357
|
+
...(patch.message !== undefined ? { content: patch.message } : {}),
|
|
358
|
+
...(attachments !== undefined ? { attachments } : {}),
|
|
359
|
+
});
|
|
360
|
+
if (updated === null) {
|
|
361
|
+
throw gone;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
if (patch.position !== undefined &&
|
|
365
|
+
!(await store.moveQueuedMessage(messageId, patch.position))) {
|
|
366
|
+
throw gone;
|
|
367
|
+
}
|
|
368
|
+
return queue.publish(current.threadId);
|
|
369
|
+
}
|
|
370
|
+
/** `DELETE <path>/queue/:messageId` — drop a waiting message. Answers the thread's queue. */
|
|
371
|
+
async removeQueuedMessage(messageId) {
|
|
372
|
+
const queue = this.requireQueue();
|
|
373
|
+
const store = queue.queueStore();
|
|
374
|
+
const current = await store.getQueuedMessage(messageId);
|
|
375
|
+
if (current === null) {
|
|
376
|
+
throw new ChatQueueError(404, `queued message ${messageId} not found`);
|
|
377
|
+
}
|
|
378
|
+
if (!(await store.removeQueuedMessage(messageId))) {
|
|
379
|
+
throw new ChatQueueError(410, `queued message ${messageId} already started or was removed`);
|
|
380
|
+
}
|
|
381
|
+
return queue.publish(current.threadId);
|
|
382
|
+
}
|
|
383
|
+
/** `DELETE <path>/threads/:id/queue` — drop every waiting message (and any pause). */
|
|
384
|
+
async clearQueue(threadId) {
|
|
385
|
+
const queue = this.requireQueue();
|
|
386
|
+
await queue.queueStore().clearQueue(threadId);
|
|
387
|
+
await queue.queueStore().setQueuePause(threadId, null);
|
|
388
|
+
return queue.publish(threadId);
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* `POST <path>/threads/:id/queue/resume` — lift a pause and start the head when nothing is
|
|
392
|
+
* running. Answers the queue, and the run the head started under, if it did.
|
|
393
|
+
*/
|
|
394
|
+
async resumeQueue(threadId) {
|
|
395
|
+
const queue = this.requireQueue();
|
|
396
|
+
await queue.queueStore().setQueuePause(threadId, null);
|
|
397
|
+
const runId = await queue.kick(threadId, this.runner);
|
|
398
|
+
const state = runId === undefined ? await queue.publish(threadId) : await queue.state(threadId);
|
|
399
|
+
return { ...state, ...(runId !== undefined ? { runId } : {}) };
|
|
183
400
|
}
|
|
184
401
|
subscribe(runId) {
|
|
185
402
|
return this.deps.forAgent().sink.subscribe(runId);
|
|
@@ -382,7 +599,12 @@ export class AgentService {
|
|
|
382
599
|
* this actor keeps the url it was stored with.
|
|
383
600
|
*/
|
|
384
601
|
async getThread(threadId, actor) {
|
|
385
|
-
const
|
|
602
|
+
const stored = await this.store.getThread(threadId);
|
|
603
|
+
const queue = this.queueing();
|
|
604
|
+
// The waiting messages ride along, so a reload shows them without a second request.
|
|
605
|
+
const thread = stored !== null && queue !== undefined
|
|
606
|
+
? { ...stored, queue: await queue.state(threadId) }
|
|
607
|
+
: stored;
|
|
386
608
|
const staging = this.options.attachments;
|
|
387
609
|
if (thread === null || actor === undefined || staging === undefined)
|
|
388
610
|
return thread;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-service.js","sourceRoot":"","sources":["../../src/agent-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-service.js","sourceRoot":"","sources":["../../src/agent-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import type { AgentRunner } from './spi/agent-runner.js';
|
|
2
|
+
import type { AgentStore } from './spi/agent-store.js';
|
|
3
|
+
import type { AttachmentStagingStore } from './spi/attachment-staging.js';
|
|
4
|
+
import { type ChatQueueState, type ChatQueueStore, type QueuePauseReason } from './spi/chat-queue.js';
|
|
5
|
+
import type { QuotaProvider } from './spi/quota-provider.js';
|
|
6
|
+
import type { TokenStreamSink } from './spi/token-stream-sink.js';
|
|
7
|
+
import type { AgentStreamEvent } from './stream-events.js';
|
|
8
|
+
import type { Actor, AgentRunInput, Persona } from './types.js';
|
|
9
|
+
/** How the run that held a thread ended. */
|
|
10
|
+
export type QueueSettleOutcome = 'completed' | 'failed' | 'cancelled';
|
|
11
|
+
/** The next queued message a settling run handed the thread to — the caller starts it. */
|
|
12
|
+
export interface QueuedTurn {
|
|
13
|
+
/** The run id the thread is already claimed for: the queued message's own id. */
|
|
14
|
+
runId: string;
|
|
15
|
+
input: AgentRunInput;
|
|
16
|
+
messageId: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* What {@link ChatQueueService.plan} decided. Plain data, so a durable workflow can journal it in a
|
|
20
|
+
* `localStep` and start `next` itself (`ctx.startChild`) — replay-safe, and never twice.
|
|
21
|
+
*/
|
|
22
|
+
export interface QueuePlan {
|
|
23
|
+
next?: QueuedTurn;
|
|
24
|
+
/** The `queue` frame to write into the settling run's stream, before its terminal. */
|
|
25
|
+
frame?: AgentStreamEvent;
|
|
26
|
+
}
|
|
27
|
+
/** Starts a run under a pre-claimed id — a runner's own `start`, bound. */
|
|
28
|
+
export type QueuedTurnStarter = (input: AgentRunInput, runId: string) => Promise<unknown>;
|
|
29
|
+
/** What {@link ChatQueueService} needs beyond the store and the sink — all optional. */
|
|
30
|
+
export interface ChatQueueServiceOptions {
|
|
31
|
+
/** The budget a queued message's actor is checked against as it starts. Omitted → not checked. */
|
|
32
|
+
quota?: QuotaProvider;
|
|
33
|
+
/** Re-mints a queued message's attachment urls as it starts (they may have expired waiting). */
|
|
34
|
+
attachments?: AttachmentStagingStore;
|
|
35
|
+
/** The persona a turn of `agentName` runs with — what a send resolves when it names none. */
|
|
36
|
+
personaFor?: (agentName: string | undefined) => Persona | undefined;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The thread-level message queue: messages a person sends while a turn is running wait here, and
|
|
40
|
+
* the next one starts as soon as the running turn settles. A port of `@dudousxd/nestjs-agent`'s
|
|
41
|
+
* `ChatQueueService`; the wire is its `docs/stream-protocol.md`, *Message queue*.
|
|
42
|
+
*
|
|
43
|
+
* Everything that decides WHICH run holds a thread goes through the store's compare-and-set
|
|
44
|
+
* admission (`claimActiveStream` / `releaseActiveStream`), so two processes that both try to start
|
|
45
|
+
* the next turn — a settling run on a worker and a send on a web pod — cannot both win. The next
|
|
46
|
+
* run's id is the queued message's own id, which makes every step here idempotent: a retried claim
|
|
47
|
+
* for the same message succeeds again, and a durable start under the same id is a no-op.
|
|
48
|
+
*
|
|
49
|
+
* Policy, per outcome of the run that held the thread:
|
|
50
|
+
* - `completed` → the head starts.
|
|
51
|
+
* - `failed` → the queue pauses (`run_failed`), keeping every message.
|
|
52
|
+
* - `cancelled` → the queue pauses (`cancelled`), unless the head was queued by an interrupt — the
|
|
53
|
+
* cancel was made for it, so it starts.
|
|
54
|
+
* A paused queue starts nothing until it is resumed. A head whose actor is over quota pauses it
|
|
55
|
+
* (`quota_exceeded`) instead of starting.
|
|
56
|
+
*/
|
|
57
|
+
export declare class ChatQueueService {
|
|
58
|
+
private readonly store;
|
|
59
|
+
private readonly sink;
|
|
60
|
+
private readonly options;
|
|
61
|
+
/**
|
|
62
|
+
* Runs this process claimed a thread for and has not handed to a runner yet. A holder in here is
|
|
63
|
+
* alive whatever the runner says — it simply has not registered the run yet.
|
|
64
|
+
*/
|
|
65
|
+
private readonly starting;
|
|
66
|
+
constructor(store: AgentStore, sink: TokenStreamSink, options?: ChatQueueServiceOptions);
|
|
67
|
+
/** Whether the bound store can hold a queue. Without one, a busy thread is not queued. */
|
|
68
|
+
get supported(): boolean;
|
|
69
|
+
/** The bound store as a queue store; throws when it is not one (check {@link supported} first). */
|
|
70
|
+
queueStore(): AgentStore & ChatQueueStore;
|
|
71
|
+
state(threadId: string): Promise<ChatQueueState>;
|
|
72
|
+
/**
|
|
73
|
+
* Whether `holder` is still running. A run this process is about to start is; otherwise the
|
|
74
|
+
* runner decides, and a runner that cannot tell says yes.
|
|
75
|
+
*/
|
|
76
|
+
isAlive(holder: string, runner: AgentRunner): Promise<boolean>;
|
|
77
|
+
/**
|
|
78
|
+
* The run holding `threadId`, or `null` when it is free — a holder the runner reports dead counts
|
|
79
|
+
* as free, and is returned as `stale` so the caller can claim over it.
|
|
80
|
+
*/
|
|
81
|
+
holder(threadId: string, runner: AgentRunner): Promise<{
|
|
82
|
+
live: string | null;
|
|
83
|
+
stale: string | null;
|
|
84
|
+
}>;
|
|
85
|
+
/**
|
|
86
|
+
* Decide what follows a TOP-LEVEL run that is settling on `threadId`, and move the thread there:
|
|
87
|
+
* hand it to the next queued message (claimed and popped here, started by the caller), or pause
|
|
88
|
+
* the queue, or release the thread. Call it BEFORE the run's terminal frame, so a client reading
|
|
89
|
+
* the stream learns what comes next from the `queue` frame, and so the thread is already free
|
|
90
|
+
* when the client sees the run end.
|
|
91
|
+
*
|
|
92
|
+
* A no-op returning `{}` on a store without a queue.
|
|
93
|
+
*/
|
|
94
|
+
plan(args: {
|
|
95
|
+
threadId: string;
|
|
96
|
+
/** The run that is settling; `null` when the thread is idle (a kick). */
|
|
97
|
+
runId: string | null;
|
|
98
|
+
outcome: QueueSettleOutcome;
|
|
99
|
+
error?: string;
|
|
100
|
+
}): Promise<QueuePlan>;
|
|
101
|
+
/**
|
|
102
|
+
* {@link plan}, then start what it picked with `start`. What an in-process settle (the inline
|
|
103
|
+
* runner, a durable cancel issued outside a workflow) calls; answers the frame to write.
|
|
104
|
+
*/
|
|
105
|
+
handoff(args: {
|
|
106
|
+
threadId: string;
|
|
107
|
+
runId: string;
|
|
108
|
+
outcome: QueueSettleOutcome;
|
|
109
|
+
error?: string;
|
|
110
|
+
}, start: QueuedTurnStarter): Promise<AgentStreamEvent | undefined>;
|
|
111
|
+
/**
|
|
112
|
+
* Start the head of an IDLE thread's queue — after a send queued behind a run that turned out to
|
|
113
|
+
* be gone, after a resume, after a stale holder. Does nothing while a live run holds the thread
|
|
114
|
+
* (its settle drains) or while the queue is paused. Answers the started run's id, if any.
|
|
115
|
+
*/
|
|
116
|
+
kick(threadId: string, runner: AgentRunner): Promise<string | undefined>;
|
|
117
|
+
/**
|
|
118
|
+
* Start a turn the thread is already claimed for. On failure the message goes back to the head of
|
|
119
|
+
* the queue, the queue pauses (`start_failed`), and the claim is released — nothing is lost and
|
|
120
|
+
* nothing is left holding the thread.
|
|
121
|
+
*/
|
|
122
|
+
launch(threadId: string, next: QueuedTurn, start: QueuedTurnStarter): Promise<boolean>;
|
|
123
|
+
/** Put a turn that never started back at the head of its queue, paused, and free the thread. */
|
|
124
|
+
restore(threadId: string, next: QueuedTurn, reason: QueuePauseReason, message: string): Promise<void>;
|
|
125
|
+
/** A `queue` frame with the thread's current state. */
|
|
126
|
+
pausedFrame(threadId: string): Promise<AgentStreamEvent>;
|
|
127
|
+
/**
|
|
128
|
+
* Tell whoever is watching the thread that its queue changed: a `queue` frame into the stream of
|
|
129
|
+
* the run holding it. Best-effort — a thread nobody is streaming has no one to tell, and the next
|
|
130
|
+
* read of the thread carries the queue anyway.
|
|
131
|
+
*/
|
|
132
|
+
publish(threadId: string): Promise<ChatQueueState>;
|
|
133
|
+
/** Write one agent-protocol event into `runId`'s stream. */
|
|
134
|
+
write(runId: string, frame: AgentStreamEvent): Promise<void>;
|
|
135
|
+
/** Why `actor` may not start a turn now (the quota message), or `null`. */
|
|
136
|
+
quotaBlock(actor: Actor): Promise<string | null>;
|
|
137
|
+
/**
|
|
138
|
+
* The turn a queued message starts: everything it was queued with, today's date, and its
|
|
139
|
+
* attachments' urls minted afresh — the ones stored at enqueue time may have expired while it
|
|
140
|
+
* waited. An attachment the store no longer resolves keeps its stored url.
|
|
141
|
+
*/
|
|
142
|
+
private inputFor;
|
|
143
|
+
private freshAttachments;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* A thread's own turn — not a sub-agent's run on a subthread, which neither holds its thread's
|
|
147
|
+
* queue nor answers to it.
|
|
148
|
+
*/
|
|
149
|
+
export declare function isThreadTurn(input: {
|
|
150
|
+
sinkRunId?: unknown;
|
|
151
|
+
parentRunId?: unknown;
|
|
152
|
+
}): boolean;
|
|
153
|
+
//# sourceMappingURL=chat-queue-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-queue-service.d.ts","sourceRoot":"","sources":["../../src/chat-queue-service.ts"],"names":[],"mappings":"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"}
|