@adonis-agora/agent 0.49.0 → 0.50.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.
Files changed (76) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/providers/agent_provider.d.ts.map +1 -1
  3. package/dist/providers/agent_provider.js +151 -8
  4. package/dist/providers/agent_provider.js.map +1 -1
  5. package/dist/src/agent-loop.d.ts +18 -0
  6. package/dist/src/agent-loop.d.ts.map +1 -1
  7. package/dist/src/agent-loop.js +22 -0
  8. package/dist/src/agent-loop.js.map +1 -1
  9. package/dist/src/agent-service.d.ts +96 -0
  10. package/dist/src/agent-service.d.ts.map +1 -1
  11. package/dist/src/agent-service.js +226 -4
  12. package/dist/src/agent-service.js.map +1 -1
  13. package/dist/src/chat-queue-service.d.ts +153 -0
  14. package/dist/src/chat-queue-service.d.ts.map +1 -0
  15. package/dist/src/chat-queue-service.js +360 -0
  16. package/dist/src/chat-queue-service.js.map +1 -0
  17. package/dist/src/client/chat-client.d.ts +32 -0
  18. package/dist/src/client/chat-client.d.ts.map +1 -1
  19. package/dist/src/client/chat-client.js +13 -0
  20. package/dist/src/client/chat-client.js.map +1 -1
  21. package/dist/src/client/index.d.ts +1 -1
  22. package/dist/src/client/index.d.ts.map +1 -1
  23. package/dist/src/client/index.js.map +1 -1
  24. package/dist/src/durable/agent-run-context.d.ts +6 -0
  25. package/dist/src/durable/agent-run-context.d.ts.map +1 -1
  26. package/dist/src/durable/agent-run-context.js.map +1 -1
  27. package/dist/src/durable/agent-run-workflow.d.ts.map +1 -1
  28. package/dist/src/durable/agent-run-workflow.js +94 -6
  29. package/dist/src/durable/agent-run-workflow.js.map +1 -1
  30. package/dist/src/durable/durable-agent-runner.d.ts +19 -3
  31. package/dist/src/durable/durable-agent-runner.d.ts.map +1 -1
  32. package/dist/src/durable/durable-agent-runner.js +62 -3
  33. package/dist/src/durable/durable-agent-runner.js.map +1 -1
  34. package/dist/src/index.d.ts +5 -3
  35. package/dist/src/index.d.ts.map +1 -1
  36. package/dist/src/index.js +5 -3
  37. package/dist/src/index.js.map +1 -1
  38. package/dist/src/react/use-agent-chat.d.ts.map +1 -1
  39. package/dist/src/react/use-agent-chat.js +15 -1
  40. package/dist/src/react/use-agent-chat.js.map +1 -1
  41. package/dist/src/runners/inline-agent-runner.d.ts +30 -6
  42. package/dist/src/runners/inline-agent-runner.d.ts.map +1 -1
  43. package/dist/src/runners/inline-agent-runner.js +117 -21
  44. package/dist/src/runners/inline-agent-runner.js.map +1 -1
  45. package/dist/src/spi/agent-runner.d.ts +20 -1
  46. package/dist/src/spi/agent-runner.d.ts.map +1 -1
  47. package/dist/src/spi/chat-queue.d.ts +133 -0
  48. package/dist/src/spi/chat-queue.d.ts.map +1 -0
  49. package/dist/src/spi/chat-queue.js +48 -0
  50. package/dist/src/spi/chat-queue.js.map +1 -0
  51. package/dist/src/stores/lucid-schema.d.ts +8 -6
  52. package/dist/src/stores/lucid-schema.d.ts.map +1 -1
  53. package/dist/src/stores/lucid-schema.js +34 -7
  54. package/dist/src/stores/lucid-schema.js.map +1 -1
  55. package/dist/src/stores/lucid.d.ts +23 -1
  56. package/dist/src/stores/lucid.d.ts.map +1 -1
  57. package/dist/src/stores/lucid.js +192 -0
  58. package/dist/src/stores/lucid.js.map +1 -1
  59. package/dist/src/stream-events.d.ts +17 -0
  60. package/dist/src/stream-events.d.ts.map +1 -1
  61. package/dist/src/testing/chat-queue-store-contract.d.ts +26 -0
  62. package/dist/src/testing/chat-queue-store-contract.d.ts.map +1 -0
  63. package/dist/src/testing/chat-queue-store-contract.js +162 -0
  64. package/dist/src/testing/chat-queue-store-contract.js.map +1 -0
  65. package/dist/src/testing/in-memory-store.d.ts +20 -1
  66. package/dist/src/testing/in-memory-store.d.ts.map +1 -1
  67. package/dist/src/testing/in-memory-store.js +125 -0
  68. package/dist/src/testing/in-memory-store.js.map +1 -1
  69. package/dist/src/testing/index.d.ts +1 -0
  70. package/dist/src/testing/index.d.ts.map +1 -1
  71. package/dist/src/testing/index.js +1 -0
  72. package/dist/src/testing/index.js.map +1 -1
  73. package/dist/src/types.d.ts +6 -0
  74. package/dist/src/types.d.ts.map +1 -1
  75. package/dist/stubs/database/migrations/create_agent_tables.stub +2 -2
  76. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * The six agent table names. They match the cross-adapter snake_case contract the reference Drizzle
2
+ * The seven agent table names. They match the cross-adapter snake_case contract the reference Drizzle
3
3
  * store uses, so a dashboard or migration can point at any adapter and see the same physical schema.
4
4
  */
5
5
  export const AGENT_TABLES = {
@@ -9,9 +9,11 @@ export const AGENT_TABLES = {
9
9
  tokenUsage: 'agent_token_usage',
10
10
  modelPricing: 'agent_model_pricing',
11
11
  runs: 'agent_run',
12
+ /** Messages sent while a turn was running, waiting to run after it (the chat queue). */
13
+ queuedMessages: 'agent_queued_message',
12
14
  };
13
15
  /**
14
- * `CREATE TABLE IF NOT EXISTS` DDL for the six agent tables plus their indexes, one statement per
16
+ * `CREATE TABLE IF NOT EXISTS` DDL for the seven agent tables plus their indexes, one statement per
15
17
  * array element so each can be issued through Lucid's `rawQuery`. Portable across SQLite / Postgres /
16
18
  * MySQL: quoted identifiers, epoch-ms `BIGINT` timestamps, `INTEGER` booleans (0/1) and `TEXT` JSON
17
19
  * columns — no dialect-only types. A real deployment should prefer the bundled migration stub so the
@@ -41,6 +43,7 @@ export function createTableStatements() {
41
43
  "summary_message_count" INTEGER NOT NULL DEFAULT 0,
42
44
  "active_stream_id" VARCHAR(255) NULL,
43
45
  "model" VARCHAR(255) NULL,
46
+ "queue_pause" TEXT NULL,
44
47
  "created_at" BIGINT NOT NULL,
45
48
  "updated_at" BIGINT NOT NULL,
46
49
  "deleted_at" BIGINT NULL
@@ -134,6 +137,21 @@ export function createTableStatements() {
134
137
  `CREATE INDEX IF NOT EXISTS "${t.runs}_started_idx" ON "${t.runs}" ("started_at")`,
135
138
  `CREATE INDEX IF NOT EXISTS "${t.runs}_actor_started_idx" ON "${t.runs}" ("actor_ref", "started_at")`,
136
139
  `CREATE INDEX IF NOT EXISTS "${t.runs}_status_started_idx" ON "${t.runs}" ("status", "started_at")`,
140
+ `CREATE TABLE IF NOT EXISTS "${t.queuedMessages}" (
141
+ "id" VARCHAR(255) PRIMARY KEY NOT NULL,
142
+ "thread_id" VARCHAR(255) NOT NULL REFERENCES "${t.threads}" ("id") ON DELETE CASCADE,
143
+ "actor" TEXT NOT NULL,
144
+ "content" TEXT NOT NULL,
145
+ "attachments" TEXT NULL,
146
+ "agent_name" VARCHAR(255) NULL,
147
+ "model" VARCHAR(255) NULL,
148
+ "page_context" TEXT NULL,
149
+ "interrupt" INTEGER NOT NULL DEFAULT 0,
150
+ "position" INTEGER NOT NULL,
151
+ "created_at" BIGINT NOT NULL,
152
+ "updated_at" BIGINT NOT NULL
153
+ )`,
154
+ `CREATE INDEX IF NOT EXISTS "${t.queuedMessages}_thread_position_idx" ON "${t.queuedMessages}" ("thread_id", "position")`,
137
155
  ];
138
156
  }
139
157
  /**
@@ -160,6 +178,7 @@ const ADDITIVE_COLUMNS = [
160
178
  { table: AGENT_TABLES.messages, column: 'ui', type: 'TEXT NULL' },
161
179
  { table: AGENT_TABLES.messages, column: 'feedback', type: 'TEXT NULL' },
162
180
  { table: AGENT_TABLES.threads, column: 'model', type: 'VARCHAR(255) NULL' },
181
+ { table: AGENT_TABLES.threads, column: 'queue_pause', type: 'TEXT NULL' },
163
182
  { table: AGENT_TABLES.toolCalls, column: 'approver', type: 'VARCHAR(255) NULL' },
164
183
  { table: AGENT_TABLES.toolCalls, column: 'expires_at', type: 'BIGINT NULL' },
165
184
  { table: AGENT_TABLES.toolCalls, column: 'remember', type: 'INTEGER NULL' },
@@ -184,7 +203,7 @@ async function hasColumn(db, table, column) {
184
203
  }
185
204
  }
186
205
  /**
187
- * Idempotently provision the six agent tables through Lucid's async raw runner (`CREATE TABLE IF
206
+ * Idempotently provision the seven agent tables through Lucid's async raw runner (`CREATE TABLE IF
188
207
  * NOT EXISTS`), then additively repair a database that predates run tracking by ALTERing in the
189
208
  * `run_id` columns its three older tables are missing.
190
209
  *
@@ -230,15 +249,23 @@ export async function createAgentTables(db) {
230
249
  return repairs;
231
250
  }
232
251
  /**
233
- * `DROP TABLE IF EXISTS` for the six agent tables, in reverse dependency order so a dialect that
252
+ * `DROP TABLE IF EXISTS` for the seven agent tables, in reverse dependency order so a dialect that
234
253
  * enforces the `REFERENCES` clauses never refuses a drop for a child that still exists. The mirror of
235
254
  * {@link createAgentTables}, and what the published migration's `down()` calls.
236
255
  */
237
256
  export function dropTableStatements() {
238
257
  const t = AGENT_TABLES;
239
- return [t.runs, t.tokenUsage, t.toolCalls, t.messages, t.modelPricing, t.threads].map((table) => `DROP TABLE IF EXISTS "${table}"`);
258
+ return [
259
+ t.queuedMessages,
260
+ t.runs,
261
+ t.tokenUsage,
262
+ t.toolCalls,
263
+ t.messages,
264
+ t.modelPricing,
265
+ t.threads,
266
+ ].map((table) => `DROP TABLE IF EXISTS "${table}"`);
240
267
  }
241
- /** Drop the six agent tables. Destructive and irreversible — this erases every thread and every ledger row. */
268
+ /** Drop the seven agent tables. Destructive and irreversible — this erases every thread and every ledger row. */
242
269
  export async function dropAgentTables(db) {
243
270
  for (const stmt of dropTableStatements()) {
244
271
  await db.rawQuery(stmt);
@@ -253,7 +280,7 @@ export async function dropAgentTables(db) {
253
280
  */
254
281
  const provisioned = new WeakMap();
255
282
  /**
256
- * Idempotently ensure the six agent tables exist, memoized per db client. This is what the stores
283
+ * Idempotently ensure the seven agent tables exist, memoized per db client. This is what the stores
257
284
  * call on first use when `autoCreateTables` is on (the default) — whichever store touches the
258
285
  * connection first provisions the shared schema, so pricing seeds and governance reads work even
259
286
  * before the first agent run.
@@ -1 +1 @@
1
- {"version":3,"file":"lucid-schema.js","sourceRoot":"","sources":["../../../src/stores/lucid-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucid-schema.js","sourceRoot":"","sources":["../../../src/stores/lucid-schema.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { AgentStore, AppendMessageInput, CreateThreadInput, RecordRunEndInput, RecordRunStartInput, RecordToolCallInput, RecordUsageInput, ThreadTurnPage, ThreadTurnQuery, ThreadTurnReader, UpdateThreadInput, UpdateToolCallInput } from '../spi/agent-store.js';
2
2
  import { type ToolCallApprovalState } from '../spi/approval-policy.js';
3
+ import type { ChatQueueStore, EnqueueMessageInput, QueuedMessage, QueuedMessagePatch, QueuePause } from '../spi/chat-queue.js';
3
4
  import type { AgentUiComponent } from '../stream-events.js';
4
5
  import type { MessageFeedback, StoredMessage, ThreadDetail, ThreadSummary, ToolResult } from '../types.js';
5
6
  /** The chainable query-builder surface the store leans on (Knex-shaped). */
@@ -79,7 +80,7 @@ export interface LucidAgentStoreOptions {
79
80
  * Usually you don't construct this directly: `config/agent.ts` selects it via `stores.lucid({ ... })`
80
81
  * and the provider builds it, lazily importing `@adonisjs/lucid` only when the `lucid` store is chosen.
81
82
  */
82
- export declare class LucidAgentStore implements AgentStore, ThreadTurnReader {
83
+ export declare class LucidAgentStore implements AgentStore, ThreadTurnReader, ChatQueueStore {
83
84
  private readonly db;
84
85
  private readonly autoCreateTables;
85
86
  private ready;
@@ -102,6 +103,27 @@ export declare class LucidAgentStore implements AgentStore, ThreadTurnReader {
102
103
  updateThread(threadId: string, patch: UpdateThreadInput): Promise<void>;
103
104
  clearActiveStream(threadId: string, runId: string): Promise<void>;
104
105
  setActiveStream(threadId: string, runId: string | null): Promise<void>;
106
+ activeRunForThread(threadId: string): Promise<string | null>;
107
+ /**
108
+ * Compare-and-set, as two conditional updates rather than one `OR` (the structural query builder
109
+ * has no `orWhere`): free → `runId`; else held by `runId` or `replacing` → `runId`. Each statement
110
+ * is atomic and re-checks its own predicate under the row lock, so of two racing claims exactly
111
+ * one matches.
112
+ */
113
+ claimActiveStream(threadId: string, runId: string, options?: {
114
+ replacing?: string;
115
+ }): Promise<boolean>;
116
+ releaseActiveStream(threadId: string, runId: string): Promise<boolean>;
117
+ enqueueMessage(input: EnqueueMessageInput): Promise<QueuedMessage>;
118
+ listQueue(threadId: string): Promise<QueuedMessage[]>;
119
+ getQueuedMessage(id: string): Promise<QueuedMessage | null>;
120
+ updateQueuedMessage(id: string, patch: QueuedMessagePatch): Promise<QueuedMessage | null>;
121
+ moveQueuedMessage(id: string, index: number): Promise<boolean>;
122
+ /** A conditional delete: `false` when the row was already gone (a drain lost its head). */
123
+ removeQueuedMessage(id: string): Promise<boolean>;
124
+ clearQueue(threadId: string): Promise<number>;
125
+ queuePause(threadId: string): Promise<QueuePause | null>;
126
+ setQueuePause(threadId: string, pause: QueuePause | null): Promise<void>;
105
127
  appendMessage(input: AppendMessageInput): Promise<StoredMessage>;
106
128
  setMessageUi(messageId: string, ui: AgentUiComponent[]): Promise<void>;
107
129
  setMessageToolResults(messageId: string, results: ToolResult[]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"lucid.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucid.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,45 @@ function safeJson(value) {
22
22
  return null;
23
23
  }
24
24
  }
25
+ /**
26
+ * How many rows an `update`/`delete` touched. Knex answers a bare count on SQLite/MySQL and Postgres,
27
+ * Lucid may wrap it in an array, and a raw driver result carries it as `rowCount`/`changes`/
28
+ * `affectedRows` — read whichever is there. Unknown → `0` (a compare-and-set that cannot prove it
29
+ * won must say it lost).
30
+ */
31
+ function affectedRows(result) {
32
+ if (typeof result === 'number')
33
+ return result;
34
+ if (typeof result === 'bigint')
35
+ return Number(result);
36
+ if (Array.isArray(result))
37
+ return result.length === 0 ? 0 : affectedRows(result[0]);
38
+ if (typeof result === 'object' && result !== null) {
39
+ const record = result;
40
+ for (const key of ['rowCount', 'changes', 'affectedRows']) {
41
+ if (typeof record[key] === 'number')
42
+ return record[key];
43
+ }
44
+ }
45
+ return 0;
46
+ }
47
+ function queuedMessageFromRow(row) {
48
+ const attachments = parseJson(row.attachments);
49
+ const pageContext = parseJson(row.page_context);
50
+ return {
51
+ id: String(row.id),
52
+ threadId: String(row.thread_id),
53
+ actor: parseJson(row.actor) ?? { id: '' },
54
+ content: String(row.content ?? ''),
55
+ ...(attachments !== undefined && attachments.length > 0 ? { attachments } : {}),
56
+ ...(typeof row.agent_name === 'string' ? { agentName: row.agent_name } : {}),
57
+ ...(typeof row.model === 'string' ? { model: row.model } : {}),
58
+ ...(pageContext !== undefined ? { pageContext } : {}),
59
+ ...(toInt(row.interrupt) === 1 ? { interrupt: true } : {}),
60
+ createdAt: msToIso(row.created_at),
61
+ updatedAt: msToIso(row.updated_at),
62
+ };
63
+ }
25
64
  function parseJson(text) {
26
65
  if (typeof text !== 'string' || text.length === 0)
27
66
  return undefined;
@@ -285,6 +324,159 @@ export class LucidAgentStore {
285
324
  .where('id', threadId)
286
325
  .update({ active_stream_id: runId });
287
326
  }
327
+ // ── Chat queue (ChatQueueStore) ────────────────────────────────────────────
328
+ async activeRunForThread(threadId) {
329
+ await this.init();
330
+ const row = await this.db.from(AGENT_TABLES.threads).where('id', threadId).first();
331
+ return typeof row?.active_stream_id === 'string' ? row.active_stream_id : null;
332
+ }
333
+ /**
334
+ * Compare-and-set, as two conditional updates rather than one `OR` (the structural query builder
335
+ * has no `orWhere`): free → `runId`; else held by `runId` or `replacing` → `runId`. Each statement
336
+ * is atomic and re-checks its own predicate under the row lock, so of two racing claims exactly
337
+ * one matches.
338
+ */
339
+ async claimActiveStream(threadId, runId, options = {}) {
340
+ await this.init();
341
+ const free = await this.db
342
+ .from(AGENT_TABLES.threads)
343
+ .where('id', threadId)
344
+ .whereNull('active_stream_id')
345
+ .update({ active_stream_id: runId });
346
+ if (affectedRows(free) > 0) {
347
+ return true;
348
+ }
349
+ const holders = options.replacing !== undefined ? [runId, options.replacing] : [runId];
350
+ const handed = await this.db
351
+ .from(AGENT_TABLES.threads)
352
+ .where('id', threadId)
353
+ .whereIn('active_stream_id', holders)
354
+ .update({ active_stream_id: runId });
355
+ return affectedRows(handed) > 0;
356
+ }
357
+ async releaseActiveStream(threadId, runId) {
358
+ await this.init();
359
+ const released = await this.db
360
+ .from(AGENT_TABLES.threads)
361
+ .where('id', threadId)
362
+ .where('active_stream_id', runId)
363
+ .update({ active_stream_id: null });
364
+ return affectedRows(released) > 0;
365
+ }
366
+ async enqueueMessage(input) {
367
+ await this.init();
368
+ const id = crypto.randomUUID();
369
+ const now = Date.now();
370
+ await this.db.transaction(async (trx) => {
371
+ const rows = await trx
372
+ .from(AGENT_TABLES.queuedMessages)
373
+ .where('thread_id', input.threadId)
374
+ .select('position');
375
+ const positions = rows.map((row) => toInt(row.position));
376
+ // The head takes `min - 1` and the tail `max + 1`, so nothing already waiting is rewritten.
377
+ const position = positions.length === 0
378
+ ? 0
379
+ : input.at === 'head'
380
+ ? Math.min(...positions) - 1
381
+ : Math.max(...positions) + 1;
382
+ await trx.table(AGENT_TABLES.queuedMessages).insert({
383
+ id,
384
+ thread_id: input.threadId,
385
+ actor: safeJson(input.actor) ?? '{}',
386
+ content: input.content,
387
+ attachments: input.attachments !== undefined && input.attachments.length > 0
388
+ ? safeJson(input.attachments)
389
+ : null,
390
+ agent_name: input.agentName ?? null,
391
+ model: input.model ?? null,
392
+ page_context: input.pageContext !== undefined ? safeJson(input.pageContext) : null,
393
+ interrupt: input.interrupt === true ? 1 : 0,
394
+ position,
395
+ created_at: now,
396
+ updated_at: now,
397
+ });
398
+ });
399
+ const stored = await this.getQueuedMessage(id);
400
+ if (stored === null) {
401
+ throw new Error(`queued message ${id} vanished after insert`);
402
+ }
403
+ return stored;
404
+ }
405
+ async listQueue(threadId) {
406
+ await this.init();
407
+ const rows = await this.db
408
+ .from(AGENT_TABLES.queuedMessages)
409
+ .where('thread_id', threadId)
410
+ .orderBy('position', 'asc')
411
+ .select('*');
412
+ return rows.map(queuedMessageFromRow);
413
+ }
414
+ async getQueuedMessage(id) {
415
+ await this.init();
416
+ const row = await this.db.from(AGENT_TABLES.queuedMessages).where('id', id).first();
417
+ return row === null || row === undefined ? null : queuedMessageFromRow(row);
418
+ }
419
+ async updateQueuedMessage(id, patch) {
420
+ await this.init();
421
+ const update = { updated_at: Date.now() };
422
+ if (patch.content !== undefined)
423
+ update.content = patch.content;
424
+ if (patch.attachments !== undefined) {
425
+ update.attachments =
426
+ patch.attachments === null || patch.attachments.length === 0
427
+ ? null
428
+ : safeJson(patch.attachments);
429
+ }
430
+ const updated = await this.db.from(AGENT_TABLES.queuedMessages).where('id', id).update(update);
431
+ return affectedRows(updated) > 0 ? this.getQueuedMessage(id) : null;
432
+ }
433
+ async moveQueuedMessage(id, index) {
434
+ await this.init();
435
+ return this.db.transaction(async (trx) => {
436
+ const target = await trx.from(AGENT_TABLES.queuedMessages).where('id', id).first();
437
+ if (target === null || target === undefined) {
438
+ return false;
439
+ }
440
+ const rows = await trx
441
+ .from(AGENT_TABLES.queuedMessages)
442
+ .where('thread_id', String(target.thread_id))
443
+ .orderBy('position', 'asc')
444
+ .select('id');
445
+ const order = rows.map((row) => String(row.id)).filter((rowId) => rowId !== id);
446
+ order.splice(Math.max(0, Math.min(order.length, Math.trunc(index))), 0, id);
447
+ // A move rewrites the whole run order as `0..n-1`.
448
+ for (const [position, rowId] of order.entries()) {
449
+ await trx.from(AGENT_TABLES.queuedMessages).where('id', rowId).update({ position });
450
+ }
451
+ return true;
452
+ });
453
+ }
454
+ /** A conditional delete: `false` when the row was already gone (a drain lost its head). */
455
+ async removeQueuedMessage(id) {
456
+ await this.init();
457
+ const removed = await this.db.from(AGENT_TABLES.queuedMessages).where('id', id).delete();
458
+ return affectedRows(removed) > 0;
459
+ }
460
+ async clearQueue(threadId) {
461
+ await this.init();
462
+ const removed = await this.db
463
+ .from(AGENT_TABLES.queuedMessages)
464
+ .where('thread_id', threadId)
465
+ .delete();
466
+ return affectedRows(removed);
467
+ }
468
+ async queuePause(threadId) {
469
+ await this.init();
470
+ const row = await this.db.from(AGENT_TABLES.threads).where('id', threadId).first();
471
+ return parseJson(row?.queue_pause) ?? null;
472
+ }
473
+ async setQueuePause(threadId, pause) {
474
+ await this.init();
475
+ await this.db
476
+ .from(AGENT_TABLES.threads)
477
+ .where('id', threadId)
478
+ .update({ queue_pause: pause === null ? null : safeJson(pause) });
479
+ }
288
480
  async appendMessage(input) {
289
481
  await this.init();
290
482
  const id = crypto.randomUUID();
@@ -1 +1 @@
1
- {"version":3,"file":"lucid.js","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucid.js","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@
13
13
  * - fields are only ever added, and new fields are optional.
14
14
  */
15
15
  import type { ElicitationRequest } from './elicitation.js';
16
+ import type { ChatQueueState } from './spi/chat-queue.js';
16
17
  import type { MessageUsage } from './types.js';
17
18
  /**
18
19
  * A component the server pushed into the conversation: generative UI that is not a tool call's
@@ -109,6 +110,22 @@ export type AgentStreamEvent = {
109
110
  /** Someone stopped the run: the stream's last frame before a normal end. */
110
111
  | {
111
112
  kind: 'cancelled';
113
+ }
114
+ /**
115
+ * The thread's message queue changed — a snapshot of the whole queue, never a delta, so a client
116
+ * that missed one frame is corrected by the next. Written into the stream of the run that is
117
+ * holding the thread: when someone queues, edits, reorders or removes a waiting message, and, just
118
+ * before this run's own terminal frame, with what happens next — `started` names the queued
119
+ * message that became the next turn and that turn's run id (attach to it with
120
+ * `GET <base>/chat/:runId/stream`), `queue.paused` says why nothing starts.
121
+ */
122
+ | {
123
+ kind: 'queue';
124
+ queue: ChatQueueState;
125
+ started?: {
126
+ messageId: string;
127
+ runId: string;
128
+ };
112
129
  };
113
130
  /** The `event: error` codes the provider writes, matching the NestJS library's. */
114
131
  export type AgentStreamErrorCode = 'quota_exceeded' | 'output_rejected' | 'structured_output_invalid' | 'run_failed';
@@ -1 +1 @@
1
- {"version":3,"file":"stream-events.d.ts","sourceRoot":"","sources":["../../src/stream-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-events.d.ts","sourceRoot":"","sources":["../../src/stream-events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { AgentStore } from '../spi/agent-store.js';
2
+ import type { ChatQueueStore } from '../spi/chat-queue.js';
3
+ /** A store under test, with one thread already created for `actorRef`. */
4
+ export interface ChatQueueContractSubject {
5
+ store: AgentStore & ChatQueueStore;
6
+ threadId: string;
7
+ }
8
+ /** One behaviour every {@link ChatQueueStore} must have. `run` throws on the first mismatch. */
9
+ export interface ChatQueueContractCase {
10
+ name: string;
11
+ run: (subject: ChatQueueContractSubject) => Promise<void>;
12
+ }
13
+ /**
14
+ * The behaviours a {@link ChatQueueStore} adapter owes the queue: FIFO order with head inserts,
15
+ * round-tripping every field, edits, moves, conditional removal, the pause, and the
16
+ * compare-and-set admission the drain relies on. Framework-agnostic — each case throws — so a store
17
+ * outside this repo (a host's own) can run it from any test runner:
18
+ *
19
+ * ```ts
20
+ * for (const contractCase of CHAT_QUEUE_STORE_CONTRACT) {
21
+ * it(contractCase.name, async () => contractCase.run(await freshSubject()));
22
+ * }
23
+ * ```
24
+ */
25
+ export declare const CHAT_QUEUE_STORE_CONTRACT: readonly ChatQueueContractCase[];
26
+ //# sourceMappingURL=chat-queue-store-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-queue-store-contract.d.ts","sourceRoot":"","sources":["../../../src/testing/chat-queue-store-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,0EAA0E;AAC1E,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,UAAU,GAAG,cAAc,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,gGAAgG;AAChG,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D;AAqBD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,qBAAqB,EAyJrE,CAAC"}