duclaw-cli 1.8.18 → 1.8.20

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/dist/bundle.js CHANGED
@@ -30242,7 +30242,7 @@ function printHelp() {
30242
30242
  `);
30243
30243
  }
30244
30244
  function printVersion() {
30245
- console.log(`duclaw-cli v${true ? "1.8.18" : "unknown"}`);
30245
+ console.log(`duclaw-cli v${true ? "1.8.20" : "unknown"}`);
30246
30246
  }
30247
30247
  function getDuclawTemplate() {
30248
30248
  return {
@@ -46098,7 +46098,7 @@ var saveResultToFile = (job, cronResp) => {
46098
46098
  var DESCRIPTION38 = `
46099
46099
  \u67E5\u770B\u4F60\u7684\u90AE\u7BB1\u4E2D\u6240\u6709\u5F85\u5904\u7406\u90AE\u4EF6\u7684\u6458\u8981\u5217\u8868\u3002
46100
46100
 
46101
- \u8FD4\u56DE\u6BCF\u5C01\u90AE\u4EF6\u7684\uFF1Aid\u3001\u53D1\u9001\u8005\u3001\u53D1\u9001\u65F6\u95F4\u3001\u5185\u5BB9\u6458\u8981\uFF08\u524D100\u5B57\uFF09\u3002
46101
+ \u8FD4\u56DE\u6BCF\u5C01\u90AE\u4EF6\u7684\uFF1Aid\u3001\u53D1\u9001\u8005\u3001\u53D1\u9001\u65F6\u95F4\u3001\u72B6\u6001\u3001\u5185\u5BB9\u6458\u8981\uFF08\u524D100\u5B57\uFF09\u3002
46102
46102
  \u4F60\u5E94\u8BE5\u5148\u8C03\u7528\u6B64\u5DE5\u5177\u4E86\u89E3\u5F53\u524D\u6709\u54EA\u4E9B\u90AE\u4EF6\uFF0C\u518D\u6839\u636E\u65F6\u6548\u6027\u548C\u91CD\u8981\u6027\u51B3\u5B9A\u4F18\u5148\u5904\u7406\u54EA\u5C01\u3002
46103
46103
 
46104
46104
  \u4F7F\u7528\u6D41\u7A0B\uFF1A
@@ -46107,6 +46107,7 @@ var DESCRIPTION38 = `
46107
46107
  3. \u8C03\u7528 get_mailbox \u83B7\u53D6\u4F60\u8981\u5904\u7406\u7684\u90AE\u4EF6\u5B8C\u6574\u5185\u5BB9
46108
46108
  4. \u5904\u7406\u4E2D\u5982\u9700\u540C\u6B65\u8FDB\u5C55\u6216\u8FFD\u95EE\uFF0C\u8C03\u7528 mailbox_followup
46109
46109
  5. \u5F53\u524D\u6D88\u606F\u5F62\u6210\u6B63\u5F0F\u5904\u7406\u7ED3\u679C\u540E\uFF0C\u8C03\u7528 reply_mailbox \u56DE\u590D\u8BE5\u90AE\u4EF6
46110
+ 6. \u5982\u679C\u90AE\u4EF6\u53EA\u662F\u786E\u8BA4\u6027\u56DE\u6267\u3001\u7EAF\u901A\u77E5\u3001\u91CD\u590D\u6D88\u606F\u6216\u65E0\u9700\u8FDB\u4E00\u6B65\u884C\u52A8\uFF0C\u8C03\u7528 discard_mailbox \u4E22\u5F03\u5B83
46110
46111
  `;
46111
46112
  var listMailbox = {
46112
46113
  name: `list_mailbox`,
@@ -46123,9 +46124,9 @@ var listMailbox = {
46123
46124
  const myMailboxId = userRequest.departmentAgentId;
46124
46125
  const db3 = createSqliteDB();
46125
46126
  const stmt = db3.prepare(
46126
- `SELECT id, from_mailbox_id as fromMailboxId, content, send_time as sendTime
46127
+ `SELECT id, from_mailbox_id as fromMailboxId, content, send_time as sendTime, status
46127
46128
  FROM mailbox
46128
- WHERE to_mailbox_id = ? AND status = 'processing'
46129
+ WHERE to_mailbox_id = ? AND status in ('pending', 'processing')
46129
46130
  ORDER BY send_time ASC`
46130
46131
  );
46131
46132
  const msgs = stmt.all(myMailboxId);
@@ -46157,6 +46158,7 @@ var listMailbox = {
46157
46158
  return `[${i + 1}] id: ${msg.id}
46158
46159
  \u6765\u81EA: ${msg.fromMailboxId}
46159
46160
  \u65F6\u95F4: ${time}
46161
+ \u72B6\u6001: ${msg.status}
46160
46162
  \u6458\u8981: ${preview2}`;
46161
46163
  }).join("\n\n");
46162
46164
  return `[listMailbox] \u4F60\u6709 ${msgs.length} \u5C01\u5F85\u5904\u7406\u90AE\u4EF6\uFF1A
@@ -46170,7 +46172,7 @@ var DESCRIPTION39 = `
46170
46172
  \u83B7\u53D6\u6307\u5B9A\u90AE\u4EF6\u7684\u5B8C\u6574\u5185\u5BB9\u3002
46171
46173
 
46172
46174
  \u5728 list_mailbox \u67E5\u770B\u90AE\u4EF6\u5217\u8868\u540E\uFF0C\u4F7F\u7528\u6B64\u5DE5\u5177\u83B7\u53D6\u4F60\u60F3\u8981\u5904\u7406\u7684\u90AE\u4EF6\u7684\u5B8C\u6574\u5185\u5BB9\u3002
46173
- \u4F20\u5165\u90AE\u4EF6 id \u5373\u53EF\u83B7\u53D6\u5B8C\u6574\u7684\u90AE\u4EF6\u6B63\u6587\u3002
46175
+ \u4F20\u5165\u90AE\u4EF6 id \u5373\u53EF\u83B7\u53D6\u5B8C\u6574\u7684\u90AE\u4EF6\u6B63\u6587\u3002\u5982\u679C\u90AE\u4EF6\u4ECD\u662F pending\uFF0C\u672C\u5DE5\u5177\u4F1A\u5148\u9886\u53D6\u8FD9\u5C01\u90AE\u4EF6\uFF0C\u5C06\u5B83\u6807\u8BB0\u4E3A processing\u3002
46174
46176
 
46175
46177
  \u53C2\u6570\uFF1A
46176
46178
  - message_id: \u90AE\u4EF6\u7684 id\uFF08\u4ECE list_mailbox \u4E2D\u83B7\u53D6\uFF09
@@ -46213,6 +46215,20 @@ var getMailbox = {
46213
46215
  if (msg.toMailboxId !== userRequest.departmentAgentId) {
46214
46216
  return `[getMailbox] \u8BE5\u90AE\u4EF6\u4E0D\u5C5E\u4E8E\u4F60\u7684\u90AE\u7BB1`;
46215
46217
  }
46218
+ if (msg.status === "pending") {
46219
+ const claimed = updateMailboxMessageStatus(msg.id, "processing", {
46220
+ fromStatus: "pending",
46221
+ actorMailboxId: userRequest.departmentAgentId,
46222
+ counterpartMailboxId: msg.fromMailboxId,
46223
+ reason: "get_mailbox_claim"
46224
+ });
46225
+ if (!claimed) {
46226
+ return `[getMailbox] \u90AE\u4EF6 ${messageId} \u9886\u53D6\u5931\u8D25\uFF0C\u72B6\u6001\u53EF\u80FD\u5DF2\u88AB\u5176\u4ED6\u6D41\u7A0B\u6539\u53D8\uFF0C\u8BF7\u91CD\u65B0\u8C03\u7528 list_mailbox \u67E5\u770B\u3002`;
46227
+ }
46228
+ msg.status = "processing";
46229
+ } else if (msg.status !== "processing") {
46230
+ return `[getMailbox] \u90AE\u4EF6 ${messageId} \u5F53\u524D\u72B6\u6001\u4E3A ${msg.status}\uFF0C\u4E0D\u53EF\u9886\u53D6\u6216\u5904\u7406\u3002`;
46231
+ }
46216
46232
  recordMailboxEvent({
46217
46233
  messageId: msg.id,
46218
46234
  mailboxId: msg.toMailboxId,
@@ -46235,8 +46251,98 @@ ${msg.content}`;
46235
46251
  }
46236
46252
  };
46237
46253
 
46238
- // src/tools/tools/department/ReplyMailbox.ts
46254
+ // src/tools/tools/department/DiscardMailbox.ts
46239
46255
  var DESCRIPTION40 = `
46256
+ \u4E22\u5F03\u4E00\u5C01\u65E0\u9700\u5904\u7406\u7684 mailbox \u90AE\u4EF6\uFF0C\u5E76\u5C06\u5B83\u4ECE\u5F85\u5904\u7406\u5217\u8868\u4E2D\u79FB\u9664\u3002
46257
+
46258
+ \u9002\u7528\u573A\u666F\uFF1A
46259
+ - \u786E\u8BA4\u6027\u56DE\u6267\u3001\u7EAF\u901A\u77E5\u3001\u91CD\u590D\u6D88\u606F
46260
+ - \u5DF2\u88AB\u5176\u4ED6\u90AE\u4EF6\u8986\u76D6\u7684\u4FE1\u606F
46261
+ - \u5224\u65AD\u65E0\u9700\u8FDB\u4E00\u6B65\u884C\u52A8\u7684\u6D88\u606F
46262
+
46263
+ \u53C2\u6570\uFF1A
46264
+ - message_id: \u8981\u4E22\u5F03\u7684\u90AE\u4EF6 id\uFF08\u4ECE list_mailbox \u4E2D\u83B7\u53D6\uFF09
46265
+ - reason: \u4E22\u5F03\u539F\u56E0\uFF0C\u4FBF\u4E8E\u5BA1\u8BA1
46266
+
46267
+ \u6CE8\u610F\uFF1A
46268
+ - \u6B64\u5DE5\u5177\u4E0D\u4F1A\u5411\u539F\u53D1\u9001\u8005\u53D1\u9001\u4E1A\u52A1\u56DE\u4FE1
46269
+ - \u5982\u679C\u90AE\u4EF6\u9700\u8981\u6B63\u5F0F\u7ED3\u679C\u6216\u5BF9\u65B9\u9700\u8981\u77E5\u9053\u5904\u7406\u7ED3\u8BBA\uFF0C\u5E94\u4F7F\u7528 reply_mailbox
46270
+ `;
46271
+ var discardMailbox = {
46272
+ name: `discard_mailbox`,
46273
+ description: DESCRIPTION40,
46274
+ input_schema: {
46275
+ type: `object`,
46276
+ properties: {
46277
+ message_id: {
46278
+ type: `string`,
46279
+ description: `\u8981\u4E22\u5F03\u7684\u90AE\u4EF6 id`
46280
+ },
46281
+ reason: {
46282
+ type: `string`,
46283
+ description: `\u4E22\u5F03\u539F\u56E0\uFF0C\u4F8B\u5982\uFF1A\u786E\u8BA4\u6027\u56DE\u6267\uFF0C\u65E0\u9700\u8FDB\u4E00\u6B65\u5904\u7406`
46284
+ }
46285
+ },
46286
+ required: [`message_id`, `reason`]
46287
+ },
46288
+ async execute(input, userRequest) {
46289
+ if (!userRequest?.departmentAgentId) {
46290
+ return `[discardMailbox] \u65E0\u6CD5\u786E\u5B9A\u5F53\u524D agent \u7684 mailboxId`;
46291
+ }
46292
+ const messageId = input.message_id;
46293
+ const reason = input.reason?.trim();
46294
+ if (!reason) {
46295
+ return `[discardMailbox] reason \u4E0D\u80FD\u4E3A\u7A7A`;
46296
+ }
46297
+ const myMailboxId = userRequest.departmentAgentId;
46298
+ const db3 = createSqliteDB();
46299
+ const stmt = db3.prepare(
46300
+ `SELECT
46301
+ id,
46302
+ from_mailbox_id as fromMailboxId,
46303
+ to_mailbox_id as toMailboxId,
46304
+ status,
46305
+ thread_id as threadId,
46306
+ parent_message_id as parentMessageId
46307
+ FROM mailbox WHERE id = ?`
46308
+ );
46309
+ const msg = stmt.get(messageId);
46310
+ if (!msg) {
46311
+ return `[discardMailbox] \u672A\u627E\u5230 id \u4E3A ${messageId} \u7684\u90AE\u4EF6`;
46312
+ }
46313
+ if (msg.toMailboxId !== myMailboxId) {
46314
+ return `[discardMailbox] \u8BE5\u90AE\u4EF6\u4E0D\u5C5E\u4E8E\u4F60\u7684\u90AE\u7BB1\uFF0C\u65E0\u6CD5\u4E22\u5F03`;
46315
+ }
46316
+ if (msg.status !== "pending" && msg.status !== "processing") {
46317
+ return `[discardMailbox] \u90AE\u4EF6 ${messageId} \u5F53\u524D\u72B6\u6001\u4E3A ${msg.status}\uFF0C\u5DF2\u5904\u7406\u6216\u4E0D\u53EF\u4E22\u5F03`;
46318
+ }
46319
+ const changed = updateMailboxMessageStatus(messageId, "cancelled", {
46320
+ fromStatus: ["pending", "processing"],
46321
+ actorMailboxId: myMailboxId,
46322
+ counterpartMailboxId: msg.fromMailboxId,
46323
+ reason: "discard_mailbox"
46324
+ });
46325
+ if (!changed) {
46326
+ return `[discardMailbox] \u90AE\u4EF6 ${messageId} \u72B6\u6001\u53D1\u751F\u53D8\u5316\uFF0C\u5DF2\u8DF3\u8FC7\u4E22\u5F03`;
46327
+ }
46328
+ recordMailboxEvent({
46329
+ messageId,
46330
+ mailboxId: myMailboxId,
46331
+ actorMailboxId: myMailboxId,
46332
+ counterpartMailboxId: msg.fromMailboxId,
46333
+ eventType: "message_discarded",
46334
+ detail: {
46335
+ reason,
46336
+ threadId: msg.threadId || msg.id,
46337
+ parentMessageId: msg.parentMessageId || null
46338
+ }
46339
+ });
46340
+ return `[discardMailbox] \u5DF2\u4E22\u5F03\u90AE\u4EF6 ${messageId}\uFF0C\u539F\u56E0\uFF1A${reason}`;
46341
+ }
46342
+ };
46343
+
46344
+ // src/tools/tools/department/ReplyMailbox.ts
46345
+ var DESCRIPTION41 = `
46240
46346
  \u6B63\u5F0F\u56DE\u590D\u4E00\u5C01\u90AE\u4EF6\u3002\u5BF9\u5F53\u524D\u6D88\u606F\u5F62\u6210\u660E\u786E\u7ED3\u8BBA\u540E\uFF0C\u4F7F\u7528\u6B64\u5DE5\u5177\u5C06\u7ED3\u679C\u53D1\u56DE\u7ED9\u90AE\u4EF6\u53D1\u9001\u8005\uFF0C\u5E76\u7ED3\u675F\u8FD9\u5C01\u6D88\u606F\u7684\u5904\u7406\u3002
46241
46347
 
46242
46348
  \u53C2\u6570\uFF1A
@@ -46249,7 +46355,7 @@ var DESCRIPTION40 = `
46249
46355
  `;
46250
46356
  var replyMailbox = {
46251
46357
  name: `reply_mailbox`,
46252
- description: DESCRIPTION40,
46358
+ description: DESCRIPTION41,
46253
46359
  input_schema: {
46254
46360
  type: `object`,
46255
46361
  properties: {
@@ -46446,7 +46552,7 @@ var wakeDepartmentAgent = async (mailboxId, msgIds) => {
46446
46552
  requestId: msgIds[0],
46447
46553
  departmentAgentId: mailboxId,
46448
46554
  workspacePath,
46449
- content: `\u4F60\u7684\u90AE\u7BB1\u4E2D\u6709 ${msgIds.length} \u5C01\u65B0\u90AE\u4EF6\u3002\u8BF7\u4F7F\u7528 list_mailbox \u67E5\u770B\u90AE\u4EF6\u5217\u8868\uFF0C\u6839\u636E\u91CD\u8981\u6027\u548C\u65F6\u6548\u6027\u51B3\u5B9A\u5904\u7406\u987A\u5E8F\uFF0C\u7136\u540E\u4F7F\u7528 get_mailbox \u83B7\u53D6\u90AE\u4EF6\u5185\u5BB9\uFF0C\u5B8C\u6210\u5DE5\u4F5C\u540E\u4F7F\u7528 reply_mailbox \u56DE\u590D\u3002`
46555
+ content: `\u4F60\u7684\u90AE\u7BB1\u4E2D\u6709 ${msgIds.length} \u5C01\u5F85\u5904\u7406\u90AE\u4EF6\u3002\u8BF7\u4F7F\u7528 list_mailbox \u67E5\u770B\u90AE\u4EF6\u5217\u8868\uFF0C\u6839\u636E\u91CD\u8981\u6027\u548C\u65F6\u6548\u6027\u9009\u62E9\u4E00\u5C01\u90AE\u4EF6\uFF0C\u518D\u7528 get_mailbox \u9886\u53D6\u5E76\u8BFB\u53D6\u8BE5\u90AE\u4EF6\u3002\u5B8C\u6210\u8FD9\u5C01\u90AE\u4EF6\u540E\u5FC5\u987B\u4F7F\u7528 reply_mailbox \u56DE\u590D\u5E76\u7ED3\u675F\u5B83\uFF1B\u5982\u679C\u67D0\u5C01\u90AE\u4EF6\u53EA\u662F\u786E\u8BA4\u6027\u56DE\u6267\u3001\u91CD\u590D\u901A\u77E5\u6216\u65E0\u9700\u4E1A\u52A1\u56DE\u590D\uFF0C\u5FC5\u987B\u4F7F\u7528 discard_mailbox \u4E22\u5F03\u5E76\u7ED3\u675F\u5B83\u3002\u7136\u540E\u7EE7\u7EED list_mailbox \u51B3\u5B9A\u4E0B\u4E00\u5C01\u3002`
46450
46556
  };
46451
46557
  const result = await agent(request);
46452
46558
  console.log(`[mailbox] department agent ${mailboxId} \u5904\u7406\u5B8C\u6210, alreadySent=${result.alreadySent}`);
@@ -46563,9 +46669,6 @@ var pollMailbox = async () => {
46563
46669
  const mailBoxMsgs = selectStmt.all("pending");
46564
46670
  if (mailBoxMsgs.length === 0) return;
46565
46671
  console.log(`[mailbox] \u62C9\u53D6\u5230 ${mailBoxMsgs.length} \u6761\u5F85\u5904\u7406\u6D88\u606F`);
46566
- for (const msg of mailBoxMsgs) {
46567
- markMailboxStatus(msg.id, "processing");
46568
- }
46569
46672
  const grouped = /* @__PURE__ */ new Map();
46570
46673
  for (const msg of mailBoxMsgs) {
46571
46674
  const group = grouped.get(msg.toMailboxId) || [];
@@ -46577,6 +46680,7 @@ var pollMailbox = async () => {
46577
46680
  for (const msg of ceoMsgs) {
46578
46681
  console.log(`[mailbox] \u6536\u5230 department agent \u56DE\u4FE1\uFF08\u6765\u81EA ${msg.fromMailboxId}\uFF09\uFF0C\u6B63\u5728\u5524\u9192\u4E3B agent...`);
46579
46682
  try {
46683
+ markMailboxStatus(msg.id, "processing");
46580
46684
  await handleCeoReply(msg);
46581
46685
  markMailboxStatus(msg.id, "done");
46582
46686
  } catch (err) {
@@ -46624,6 +46728,7 @@ var createDepartmentAgentTools = () => {
46624
46728
  registerTool(registry2, taskGet);
46625
46729
  registerTool(registry2, listMailbox);
46626
46730
  registerTool(registry2, getMailbox);
46731
+ registerTool(registry2, discardMailbox);
46627
46732
  registerTool(registry2, mailboxFollowup);
46628
46733
  registerTool(registry2, replyMailbox);
46629
46734
  registerTool(registry2, departmentMemberList);
@@ -46661,18 +46766,21 @@ ${workspacePath ? `
46661
46766
  <Mailbox Workflow>
46662
46767
  \u4F60\u901A\u8FC7\u90AE\u7BB1\u7CFB\u7EDF\u4E0E\u5176\u4ED6 agent \u901A\u4FE1\u3002\u6536\u5230\u65B0\u90AE\u4EF6\u901A\u77E5\u540E\uFF0C\u6309\u4EE5\u4E0B\u6D41\u7A0B\u5904\u7406\uFF1A
46663
46768
 
46664
- 1. \u8C03\u7528 list_mailbox \u67E5\u770B\u90AE\u7BB1\u4E2D\u6240\u6709\u5F85\u5904\u7406\u90AE\u4EF6\u7684\u6458\u8981
46769
+ 1. \u8C03\u7528 list_mailbox \u67E5\u770B\u90AE\u7BB1\u4E2D\u6240\u6709\u5F85\u5904\u7406\u90AE\u4EF6\u7684\u6458\u8981\uFF0C\u5305\u62EC pending \u548C processing
46665
46770
  2. \u6839\u636E\u90AE\u4EF6\u7684\u65F6\u6548\u6027\u548C\u91CD\u8981\u6027\uFF0C\u51B3\u5B9A\u4F18\u5148\u5904\u7406\u54EA\u5C01
46666
- 3. \u8C03\u7528 get_mailbox(message_id) \u83B7\u53D6\u4F60\u8981\u5904\u7406\u7684\u90AE\u4EF6\u5B8C\u6574\u5185\u5BB9
46771
+ 3. \u8C03\u7528 get_mailbox(message_id) \u9886\u53D6\u5E76\u83B7\u53D6\u4F60\u8981\u5904\u7406\u7684\u90AE\u4EF6\u5B8C\u6574\u5185\u5BB9
46667
46772
  4. \u4F7F\u7528\u4F60\u7684\u4E13\u4E1A\u80FD\u529B\u548C\u5DE5\u5177\u5B8C\u6210\u90AE\u4EF6\u4E2D\u7684\u4EFB\u52A1
46668
46773
  5. \u5904\u7406\u4E2D\u5982\u679C\u9700\u8981\u540C\u6B65\u8FDB\u5C55\u3001\u8865\u5145\u90E8\u5206\u7ED3\u679C\u6216\u4E3B\u52A8\u8FFD\u95EE\uFF0C\u8C03\u7528 mailbox_followup(message_id, content)
46669
46774
  6. \u5F53\u4F60\u5BF9\u5F53\u524D\u6D88\u606F\u5F62\u6210\u6B63\u5F0F\u5904\u7406\u7ED3\u8BBA\u540E\uFF0C\u8C03\u7528 reply_mailbox(message_id, content) \u56DE\u590D\u8BE5\u90AE\u4EF6
46670
- 7. \u5982\u6709\u66F4\u591A\u90AE\u4EF6\uFF0C\u7EE7\u7EED\u5904\u7406\u4E0B\u4E00\u5C01
46775
+ 7. \u5982\u679C\u67D0\u5C01\u90AE\u4EF6\u53EA\u662F\u786E\u8BA4\u6027\u56DE\u6267\u3001\u7EAF\u901A\u77E5\u3001\u91CD\u590D\u4FE1\u606F\u3001\u5DF2\u88AB\u5176\u4ED6\u90AE\u4EF6\u8986\u76D6\u6216\u5224\u65AD\u65E0\u9700\u8FDB\u4E00\u6B65\u884C\u52A8\uFF0C\u8C03\u7528 discard_mailbox(message_id, reason) \u5C06\u5B83\u4ECE\u5F85\u5904\u7406\u5217\u8868\u79FB\u9664
46776
+ 8. \u5982\u6709\u66F4\u591A\u90AE\u4EF6\uFF0C\u7EE7\u7EED\u5904\u7406\u4E0B\u4E00\u5C01
46671
46777
 
46672
46778
  \u6CE8\u610F\u4E8B\u9879\uFF1A
46673
46779
  - mailbox_followup \u53EF\u4EE5\u8C03\u7528\u591A\u6B21\uFF0C\u7528\u4E8E\u7EBF\u7A0B\u5185\u6301\u7EED\u534F\u4F5C\uFF1B\u5B83\u4E0D\u4F1A\u7ED3\u675F\u539F\u6D88\u606F
46674
46780
  - reply_mailbox \u8868\u793A\u201C\u5F53\u524D\u8FD9\u5C01\u6D88\u606F\u6211\u5DF2\u5F62\u6210\u6B63\u5F0F\u56DE\u590D\u201D\uFF0C\u4F1A\u7ED3\u675F\u8FD9\u5C01\u6D88\u606F\u7684\u5904\u7406
46675
- - \u5982\u679C\u90AE\u4EF6\u4E2D\u7684\u4EFB\u52A1\u4F60\u5DF2\u7ECF\u5B8C\u6210\u6216\u4E0D\u9700\u8981\u5904\u7406\uFF0C\u53EF\u4EE5\u7528 reply_mailbox \u7B80\u77ED\u56DE\u590D\u8BF4\u660E\u539F\u56E0\uFF08\u5982"\u5DF2\u5B8C\u6210\uFF0C\u65E0\u9700\u5904\u7406"\uFF09\uFF0C\u7136\u540E\u7EE7\u7EED\u4E0B\u4E00\u5C01
46781
+ - discard_mailbox \u8868\u793A\u201C\u5F53\u524D\u8FD9\u5C01\u6D88\u606F\u65E0\u9700\u4E1A\u52A1\u56DE\u590D\u201D\uFF0C\u4F1A\u7ED3\u675F\u8FD9\u5C01\u6D88\u606F\u4F46\u4E0D\u4F1A\u5411\u53D1\u9001\u8005\u53D1\u9001\u56DE\u4FE1\uFF1B\u4E0D\u8981\u53EA\u7528\u81EA\u7136\u8BED\u8A00\u8BF4\u201C\u5FFD\u7565\u201D
46782
+ - \u4E0D\u8981\u628A\u4E00\u6BB5\u6700\u7EC8\u56DE\u590D\u540C\u65F6\u5F53\u4F5C\u591A\u5C01\u90AE\u4EF6\u7684\u7B54\u6848\uFF1B\u6BCF\u5C01\u90AE\u4EF6\u90FD\u5FC5\u987B\u7528\u5B83\u81EA\u5DF1\u7684 message_id \u56DE\u590D
46783
+ - \u5982\u679C\u53D1\u9001\u8005\u9700\u8981\u77E5\u9053\u5904\u7406\u7ED3\u8BBA\uFF0C\u5FC5\u987B\u7528 reply_mailbox\uFF1B\u5982\u679C\u53EA\u662F\u65E0\u9700\u56DE\u5E94\u7684\u56DE\u6267/\u91CD\u590D\u901A\u77E5\uFF0C\u624D\u7528 discard_mailbox
46676
46784
  - \u5982\u679C\u9700\u8981\u4E3B\u52A8\u8054\u7CFB\u5176\u4ED6\u90E8\u95E8\u6210\u5458\uFF0C\u4F7F\u7528 department_communicate \u5DE5\u5177
46677
46785
  - \u5982\u679C\u4F60\u662F Department Head\uFF0C\u5904\u7406\u590D\u6742\u4EFB\u52A1\u524D\u53EF\u4EE5\u4F7F\u7528 department_member_list \u67E5\u770B\u672C\u90E8\u95E8\u5DF2\u6709\u6210\u5458\uFF0C\u5E76\u5728\u9700\u8981\u65F6\u4F7F\u7528 department_member_create \u521B\u5EFA Executor
46678
46786
  - \u5982\u679C\u4F60\u4E0D\u662F Department Head\uFF0C\u4E0D\u8981\u5C1D\u8BD5\u67E5\u770B\u5B8C\u6574\u90E8\u95E8\u6210\u5458\u76EE\u5F55\u6216\u521B\u5EFA\u6210\u5458
@@ -51522,7 +51630,7 @@ var systemRoutes = new Hono2();
51522
51630
  var startTime = Date.now();
51523
51631
  systemRoutes.get("/system/info", (c) => {
51524
51632
  return c.json({
51525
- version: true ? "1.8.18" : "unknown",
51633
+ version: true ? "1.8.20" : "unknown",
51526
51634
  uptime: Math.floor((Date.now() - startTime) / 1e3),
51527
51635
  env: process.env.NODE_ENV || "development",
51528
51636
  nodeVersion: process.version