@nocobase/app-plugin-agents 2.0.0-beta.2 → 2.0.0-beta.3

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 (29) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +3 -1
  3. package/dist/package.json +1 -1
  4. package/dist/server/core/conversations/attachments.d.ts +2 -1
  5. package/dist/server/core/conversations/attachments.d.ts.map +1 -1
  6. package/dist/server/core/conversations/attachments.js +31 -9
  7. package/dist/server/core/conversations/attachments.js.map +1 -1
  8. package/dist/server/core/conversations/conversation.service.d.ts +1 -1
  9. package/dist/server/core/conversations/conversation.service.d.ts.map +1 -1
  10. package/dist/server/core/conversations/conversation.service.js +39 -17
  11. package/dist/server/core/conversations/conversation.service.js.map +1 -1
  12. package/dist/server/core/conversations/ports.d.ts +1 -1
  13. package/dist/server/core/runs/run.service.d.ts +2 -1
  14. package/dist/server/core/runs/run.service.d.ts.map +1 -1
  15. package/dist/server/core/runs/run.service.js +2 -2
  16. package/dist/server/core/runs/run.service.js.map +1 -1
  17. package/dist/server/core/runs/workload.d.ts +1 -1
  18. package/dist/server/core/runs/workload.d.ts.map +1 -1
  19. package/dist/server/core/runs/workload.js +24 -3
  20. package/dist/server/core/runs/workload.js.map +1 -1
  21. package/dist/server/routes/chat.js +4 -4
  22. package/dist/server/routes/chat.js.map +1 -1
  23. package/dist/server/routes/index.d.ts.map +1 -1
  24. package/dist/server/routes/index.js +3 -1
  25. package/dist/server/routes/index.js.map +1 -1
  26. package/dist/shared/conversations.d.ts +3 -0
  27. package/dist/shared/conversations.d.ts.map +1 -1
  28. package/dist/shared/conversations.js.map +1 -1
  29. package/package.json +11 -11
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # @nocobase/app-plugin-agents
2
2
 
3
+ ## 2.0.0-beta.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 1f0b3ba: Include structured wait reasons in queued Runner conversation details and allow withdrawing an unclaimed initial turn before choosing another Agent.
8
+ - 9933a9a: Allow applications to define issued-credential admission consistently with their command policies. Support run-authenticated project creation, activity and label reads, issue uploads and project resources. Restrict comment edits and deletions to the authenticated originating run, and accept run credentials when reading a release.
9
+
10
+ Apply the same trusted application admission to knowledge and owner-checked conversation routes without bypassing their business permissions or ownership checks.
11
+
12
+ Check issue visibility before collecting plan rehearsal baselines so a refused row cannot disclose hidden issue fields or dependency identifiers.
13
+
14
+ - cf23bfe: **Breaking:** Remove the deprecated `@nocobase/app-server/mailer` entry and its `Mailer`, `mailerToken`, `createMailer`, `MailerProvider`, and notification configuration exports. Replace `MailExecutions.close(waitMs)` and `drain()` with `stop()` and `wait()`; transport `close()` now cancels supported network work and waits for its original completion without a nested timeout. Application owners must apply the outer shutdown budget. Create exclusive senders with `@nocobase/app-server/mailers` and declare notification config with `@nocobase/app-plugin-notification-providers/config`. Existing inline SMTP/Resend YAML, environment mappings, and provider/channel APIs remain supported.
15
+
16
+ Default and Examples now show `mailers.default: system` and explicitly map `MAILERS_SYSTEM_*`; the example configuration remains empty at runtime. The previous `MAILERS_TRANSACTIONAL_*` sample prefix was not published. Applications may still choose any valid mailer name and custom environment prefix.
17
+
18
+ - Updated dependencies [6cc8acf]
19
+ - Updated dependencies [9933a9a]
20
+ - Updated dependencies [1e018f1]
21
+ - Updated dependencies [cf23bfe]
22
+ - Updated dependencies [4411984]
23
+ - @nocobase/app-client@4.0.0-beta.7
24
+ - @nocobase/app-plugin-authentication@2.0.0-beta.18
25
+ - @nocobase/db@1.0.0-beta.25
26
+ - @nocobase/app-server@5.0.0-beta.0
27
+ - @nocobase/app-cli@1.0.0-beta.32
28
+ - @nocobase/app-plugin-authorization@1.0.0-beta.35
29
+ - @nocobase/app-plugin-file@1.0.0-beta.29
30
+
3
31
  ## 2.0.0-beta.2
4
32
 
5
33
  ### Patch Changes
package/README.md CHANGED
@@ -336,7 +336,9 @@ Dependent projections can use `useConversation(id, { passive: true })` to observ
336
336
 
337
337
  `ChatProvider` owns realtime refreshes across mounted surfaces. Message announcements use their durable `lastSeq` cursor and share the controller's in-flight `after` read; only an uncovered cursor gap needs another page. Revision announcements reread the affected message. State changes refresh the affected detail and its dependent queries, while archived lists wait until opened (`useConversationList(query, enabled)`). Read receipts update cached list positions without another list request. The existing five-second running fallback remains; acknowledged reconnects reconcile the loaded history window, including revisions and removed messages, before resuming a stream.
338
338
 
339
- A Runner conversation takes a message while its agent works: `POST /api/agents/conversations/{conversationId}/queue` (`OnlineAgent.queue`) joins it to the run at work, steered into the running turn where the coding tool can take it, else taken as the next turn; `POST …/messages/{messageId}/withdraw` takes it back until a runner has it (`400 CONVERSATION_CONFLICT`, `messageTaken`, after). Delivery and withdrawal are conditional updates of the input row on an empty `deliveredAt` and `handledAt`, so a message is never both withdrawn and delivered. `POST …/markSeen { seq }` moves the owner's read position, `GET /api/agents/conversationAttention` answers the badge counts, and `GET …/usage` sums tokens, cost and the latest context window over the conversation's runs.
339
+ The existing conversation detail response includes optional `wait: RunWait | null`. It diagnoses only the latest queued, unclaimed Runner turn; idle, held and completed conversations and history lists add no reads. A conversation's runner binding restricts the usual queue facts to that runner, including its slot load, offline state and tool quota. The read uses the existing queue explanation without claim-time context assembly. It adds no polling, notifications or timers, and does not change claiming. Clients word it with `formatRunWait`, offer continued waiting without a write, or withdraw the unclaimed turn before explicitly selecting another Agent and releasing the runner binding. Project clients explain that unpushed changes stay on the original runner.
340
+
341
+ A Runner conversation takes a message while its agent works: `POST /api/agents/conversations/{conversationId}/queue` (`OnlineAgent.queue`) joins it to the run at work, steered into the running turn where the coding tool can take it, else taken as the next turn; `POST …/messages/{messageId}/withdraw` takes it back until a runner has it, including an initial queued turn (ended through the existing guarded run withdrawal, before locking the conversation). Withdrawn attachments may be reused only in the same owned conversation. A claimed initial turn is kept (`400 CONVERSATION_CONFLICT`, `messageTaken`, after). Delivery and withdrawal are conditional updates of the input row on an empty `deliveredAt` and `handledAt`, so a message is never both withdrawn and delivered. `POST …/markSeen { seq }` moves the owner's read position, `GET /api/agents/conversationAttention` answers the badge counts, and `GET …/usage` sums tokens, cost and the latest context window over the conversation's runs.
340
342
 
341
343
  A run can ask its conversation owner with `conversation ask-owner "Proceed with the plan?" --issue PM-721`. The optional `issue` identifier is saved with the question and its server timestamp in conversation metadata. Without it, behavior is unchanged. Applications can call `conversations.settleOwnerQuestion(id, issue, resumedAt)` with the actual task transition timestamp to settle only a matching earlier question; it emits `conversation.changed` without changing read positions, unread replies or waking a run. The application owns task visibility, links and resumption rules.
342
344
 
package/dist/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@nocobase/app-plugin-agents",
3
3
  "displayName": "Agents",
4
4
  "description": "Agents for NocoBase applications: agents, the model services online agents call, their runs and conversations, and the runners people connect to run them (registration, the long-poll claim, slots, the sweeper, build jobs, and the runner and CLI tarballs the application serves).",
5
- "version": "2.0.0-beta.2",
5
+ "version": "2.0.0-beta.3",
6
6
  "type": "module",
7
7
  "prettier": "@nocobase/dev-config/prettier",
8
8
  "engines": {
@@ -127,7 +127,8 @@ export interface ChatAttachmentService {
127
127
  export interface ChatAttachmentLinks {
128
128
  /**
129
129
  * Gives `ids` (checked: at most `CHAT_ATTACHMENTS_PER_MESSAGE_MAX` distinct ids of `userId`'s uploads attached to
130
- * nothing) to the conversation and message. Answers what the message keeps, in the order named; 400
130
+ * nothing, or files on a withdrawn input in this same owned conversation) to the conversation and message.
131
+ * Answers what the message keeps, in the order named; 400
131
132
  * `INVALID_REQUEST` otherwise, and nothing is attached.
132
133
  */
133
134
  attach(conn: DatabaseConnection, userId: string, target: {
@@ -1 +1 @@
1
- {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../../server/core/conversations/attachments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../../server/core/conversations/attachments.ts"],"names":[],"mappings":"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"}
@@ -199,23 +199,45 @@ export function createChatAttachments(deps) {
199
199
  new Set(ids).size !== ids.length)
200
200
  throw invalid('Send at most the allowed number of distinct attachments.');
201
201
  const rows = await findFiles(conn, ids);
202
+ // A withdrawn input can be sent with another Agent in the same owned conversation, without copying files.
203
+ const reused = rows.filter((row) => row.conversationId === target.conversationId &&
204
+ row.uploaderId === userId);
205
+ const withdrawn = reused.length
206
+ ? await conn
207
+ .repository('agConversationMessages')
208
+ .findMany({
209
+ filter: (f) => f.and([
210
+ f.string('conversationId').eq(target.conversationId),
211
+ f.or(reused.flatMap((row) => row.messageId ? [f.string('id').eq(row.messageId)] : [])),
212
+ f.json('metadata').path(['withdrawn']).eq(true),
213
+ ]),
214
+ })
215
+ : [];
216
+ const reusable = new Set(reused
217
+ .filter((row) => withdrawn.some((message) => message.id === row.messageId))
218
+ .map((row) => row.id));
202
219
  const ordered = ids.map((id) => {
203
220
  const row = rows.find((candidate) => candidate.id === id);
204
- if (!row || row.conversationId !== null || row.uploaderId !== userId)
221
+ if (!row ||
222
+ (row.conversationId !== null && !reusable.has(id)) ||
223
+ row.uploaderId !== userId)
205
224
  throw invalid(`File ${id} is not an upload of yours to send.`, {
206
225
  field: 'attachmentIds',
207
226
  fileId: id,
208
227
  });
209
228
  return row;
210
229
  });
211
- const bound = await files(conn).updateMany({
212
- filter: (f) => f.and([
213
- f.or(ids.map((id) => f.string('id').eq(id))),
214
- f.string('conversationId').eq(null),
215
- ]),
216
- values: { ...target, updatedAt: now() },
217
- });
218
- if (bound.updatedCount !== ids.length)
230
+ const fresh = ids.filter((id) => !reusable.has(id));
231
+ const bound = fresh.length
232
+ ? await files(conn).updateMany({
233
+ filter: (f) => f.and([
234
+ f.or(fresh.map((id) => f.string('id').eq(id))),
235
+ f.string('conversationId').eq(null),
236
+ ]),
237
+ values: { ...target, updatedAt: now() },
238
+ })
239
+ : { updatedCount: 0 };
240
+ if (bound.updatedCount !== fresh.length)
219
241
  throw invalid('An upload was already attached to another message.');
220
242
  return ordered.map(stored);
221
243
  },
@@ -1 +1 @@
1
- {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../../../server/core/conversations/attachments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../../../server/core/conversations/attachments.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export interface ConversationServiceDeps {
20
20
  readonly agents: Pick<AgentService, 'mayInvoke' | 'get' | 'list'>;
21
21
  readonly runners: Pick<RunnerService, 'list' | 'all'>;
22
22
  readonly eligibility: Pick<ClaimEligibility, 'canClaim' | 'runnersFor' | 'prepare'>;
23
- readonly runs: Pick<RunService, 'enqueue' | 'cancel' | 'withdrawQueued' | 'get' | 'detail'>;
23
+ readonly runs: Pick<RunService, 'enqueue' | 'cancel' | 'withdrawQueued' | 'get' | 'detail' | 'queueWait'>;
24
24
  readonly people: People;
25
25
  readonly settings: ChatSettingsService;
26
26
  readonly contextKinds: PageContextKinds;
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.service.d.ts","sourceRoot":"","sources":["../../../../server/core/conversations/conversation.service.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AA+D3B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAQnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,oBAAoB,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAQL,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAGhB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAYL,KAAK,kBAAkB,EAGxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAIV,mBAAmB,EAGpB,MAAM,YAAY,CAAC;AAapB,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,iCAAiC,CAAC;AAK/E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,CACtB,IAAI,EAAE,EAAE,EACR,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KACzB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC;IAClE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IACtD,QAAQ,CAAC,WAAW,EAAE,IAAI,CACxB,gBAAgB,EAChB,UAAU,GAAG,YAAY,GAAG,SAAS,CACtC,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,IAAI,CACjB,UAAU,EACV,SAAS,GAAG,QAAQ,GAAG,gBAAgB,GAAG,KAAK,GAAG,QAAQ,CAC3D,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,iEAAiE;IACjE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,6FAA6F;IAC7F,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,CACtB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,OAAO,KACvB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,+FAA+F;IAC/F,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAC3C,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;CAClC;AA6LD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,uBAAuB,GAC5B,mBAAmB,CAm/ErB"}
1
+ {"version":3,"file":"conversation.service.d.ts","sourceRoot":"","sources":["../../../../server/core/conversations/conversation.service.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AA+D3B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAQnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,oBAAoB,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAQL,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAGhB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAYL,KAAK,kBAAkB,EAGxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAIV,mBAAmB,EAGpB,MAAM,YAAY,CAAC;AAapB,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,iCAAiC,CAAC;AAK/E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,CACtB,IAAI,EAAE,EAAE,EACR,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KACzB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC;IAClE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IACtD,QAAQ,CAAC,WAAW,EAAE,IAAI,CACxB,gBAAgB,EAChB,UAAU,GAAG,YAAY,GAAG,SAAS,CACtC,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,IAAI,CACjB,UAAU,EACV,SAAS,GAAG,QAAQ,GAAG,gBAAgB,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,CACzE,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,iEAAiE;IACjE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,6FAA6F;IAC7F,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,CACtB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,OAAO,KACvB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,+FAA+F;IAC/F,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAC3C,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;CAClC;AA6LD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,uBAAuB,GAC5B,mBAAmB,CAkhFrB"}
@@ -394,6 +394,9 @@ export function createConversationService(deps) {
394
394
  effort: typeof jsonObject(record.metadata).effort === 'string'
395
395
  ? jsonObject(record.metadata).effort
396
396
  : null,
397
+ wait: summary.mode === 'runner' && summary.run?.status === 'queued'
398
+ ? await deps.runs.queueWait(summary.run.id, record.runnerId)
399
+ : null,
397
400
  availability: await availabilityFor(conn, agent, record.userId),
398
401
  canFallback: Boolean(target),
399
402
  canRestore: !runnerBinding(record.metadata) &&
@@ -1636,7 +1639,7 @@ export function createConversationService(deps) {
1636
1639
  sendRealtime: (userId, id, request, input) => sendMessage(userId, id, request, input),
1637
1640
  async withdraw(userId, id, messageId) {
1638
1641
  await tx.run(async (unit) => {
1639
- const record = await lockOwned(unit, userId, id, true);
1642
+ let record = await owned(unit.conn, userId, id);
1640
1643
  const message = await messagesRepo(unit.conn).findOne({
1641
1644
  filter: { id: messageId, conversationId: id },
1642
1645
  });
@@ -1645,25 +1648,44 @@ export function createConversationService(deps) {
1645
1648
  const metadata = jsonObject(message.metadata);
1646
1649
  if (metadata.withdrawn)
1647
1650
  return;
1648
- // Taken back only while no runner has it: one conditional update, which a delivery racing it cannot both
1649
- // pass (`markDelivered` updates only an input not handled).
1650
- const taken = !metadata.queued ||
1651
- metadata.pickedUp ||
1652
- typeof metadata.inputId !== 'string' ||
1653
- (await inputsRepo(unit.conn).updateMany({
1654
- filter: (f) => f.and([
1655
- f.string('id').eq(metadata.inputId),
1656
- f.date('deliveredAt').empty(),
1657
- f.date('handledAt').empty(),
1658
- ]),
1659
- values: { handledAt: now() },
1660
- })).updatedCount !== 1;
1661
- if (taken)
1662
- throw conversationConflict('messageTaken', 'The agent already has this message.');
1651
+ if (!metadata.queued && message.runId) {
1652
+ // Match claim's run-before-conversation order. An initial turn has no queued-follow-up marker.
1653
+ // End only a still-unclaimed run, using the existing guarded queued withdrawal. If claim wins, the transaction rolls back and the running turn is kept.
1654
+ const run = await findRunRecord(unit.conn, message.runId);
1655
+ if (!run || run.status !== 'queued' || run.runnerId !== null)
1656
+ throw conversationConflict('messageTaken', 'The agent already has this message.');
1657
+ const ended = await deps.runs.withdrawQueued({
1658
+ subject: subjectOf(id),
1659
+ agentId: record.agentId,
1660
+ actorUserId: userId,
1661
+ byUserId: userId,
1662
+ }, unit);
1663
+ if (!ended.some((run) => run.id === message.runId))
1664
+ throw conversationConflict('messageTaken', 'The agent already has this message.');
1665
+ record = await lockOwned(unit, userId, id, true);
1666
+ }
1667
+ else {
1668
+ record = await lockOwned(unit, userId, id, true);
1669
+ // Taken back only while no runner has it: one conditional update, which a delivery racing it cannot both
1670
+ // pass (`markDelivered` updates only an input not handled).
1671
+ const taken = !metadata.queued ||
1672
+ metadata.pickedUp ||
1673
+ typeof metadata.inputId !== 'string' ||
1674
+ (await inputsRepo(unit.conn).updateMany({
1675
+ filter: (f) => f.and([
1676
+ f.string('id').eq(metadata.inputId),
1677
+ f.date('deliveredAt').empty(),
1678
+ f.date('handledAt').empty(),
1679
+ ]),
1680
+ values: { handledAt: now() },
1681
+ })).updatedCount !== 1;
1682
+ if (taken)
1683
+ throw conversationConflict('messageTaken', 'The agent already has this message.');
1684
+ }
1663
1685
  await messagesRepo(unit.conn).updateMany({
1664
1686
  filter: { id: message.id },
1665
1687
  values: {
1666
- metadata: asJson({ ...metadata, withdrawn: true }),
1688
+ metadata: asJson({ ...metadata, queued: true, withdrawn: true }),
1667
1689
  updatedAt: now(),
1668
1690
  },
1669
1691
  });