duclaw-cli 1.8.36 → 1.8.37
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 +173 -20
- package/dist/main.js +1 -1
- package/dist/web/assets/index-BYLnL8Rp.js +95 -0
- package/dist/web/assets/index-Bbgvdjvr.css +1 -0
- package/dist/web/index.html +2 -2
- package/dist/worker-main.js +1 -1
- package/package.json +1 -1
- package/dist/web/assets/index-C-UsjLfe.js +0 -95
- package/dist/web/assets/index-C40Uhm6E.css +0 -1
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.
|
|
30245
|
+
console.log(`duclaw-cli v${true ? "1.8.37" : "unknown"}`);
|
|
30246
30246
|
}
|
|
30247
30247
|
function getDuclawTemplate() {
|
|
30248
30248
|
return {
|
|
@@ -41463,6 +41463,9 @@ var create_mailbox_table = () => {
|
|
|
41463
41463
|
origin_platform TEXT,
|
|
41464
41464
|
thread_id TEXT,
|
|
41465
41465
|
parent_message_id TEXT,
|
|
41466
|
+
work_item_id TEXT,
|
|
41467
|
+
work_item_role TEXT,
|
|
41468
|
+
upstream_message_id TEXT,
|
|
41466
41469
|
send_time INTEGER DEFAULT ((strftime('%s', 'now')) * 1000),
|
|
41467
41470
|
created_at INTEGER DEFAULT ((strftime('%s', 'now')) * 1000),
|
|
41468
41471
|
updated_at INTEGER DEFAULT ((strftime('%s', 'now')) * 1000)
|
|
@@ -41486,9 +41489,23 @@ var create_mailbox_table = () => {
|
|
|
41486
41489
|
db3.exec(`ALTER TABLE mailbox ADD COLUMN parent_message_id TEXT`);
|
|
41487
41490
|
} catch (_) {
|
|
41488
41491
|
}
|
|
41492
|
+
try {
|
|
41493
|
+
db3.exec(`ALTER TABLE mailbox ADD COLUMN work_item_id TEXT`);
|
|
41494
|
+
} catch (_) {
|
|
41495
|
+
}
|
|
41496
|
+
try {
|
|
41497
|
+
db3.exec(`ALTER TABLE mailbox ADD COLUMN work_item_role TEXT`);
|
|
41498
|
+
} catch (_) {
|
|
41499
|
+
}
|
|
41500
|
+
try {
|
|
41501
|
+
db3.exec(`ALTER TABLE mailbox ADD COLUMN upstream_message_id TEXT`);
|
|
41502
|
+
} catch (_) {
|
|
41503
|
+
}
|
|
41489
41504
|
const columns = db3.prepare(`PRAGMA table_info(mailbox)`).all();
|
|
41490
41505
|
const hasThreadId = columns.some((column) => column.name === "thread_id");
|
|
41491
41506
|
const hasParentMessageId = columns.some((column) => column.name === "parent_message_id");
|
|
41507
|
+
const hasWorkItemId = columns.some((column) => column.name === "work_item_id");
|
|
41508
|
+
const hasUpstreamMessageId = columns.some((column) => column.name === "upstream_message_id");
|
|
41492
41509
|
if (hasThreadId) {
|
|
41493
41510
|
db3.exec(`
|
|
41494
41511
|
CREATE INDEX IF NOT EXISTS idx_mailbox_thread
|
|
@@ -41502,6 +41519,18 @@ var create_mailbox_table = () => {
|
|
|
41502
41519
|
ON mailbox(parent_message_id)
|
|
41503
41520
|
`);
|
|
41504
41521
|
}
|
|
41522
|
+
if (hasWorkItemId) {
|
|
41523
|
+
db3.exec(`
|
|
41524
|
+
CREATE INDEX IF NOT EXISTS idx_mailbox_work_item
|
|
41525
|
+
ON mailbox(work_item_id, send_time DESC)
|
|
41526
|
+
`);
|
|
41527
|
+
}
|
|
41528
|
+
if (hasUpstreamMessageId) {
|
|
41529
|
+
db3.exec(`
|
|
41530
|
+
CREATE INDEX IF NOT EXISTS idx_mailbox_upstream
|
|
41531
|
+
ON mailbox(upstream_message_id)
|
|
41532
|
+
`);
|
|
41533
|
+
}
|
|
41505
41534
|
};
|
|
41506
41535
|
var create_mailbox_events_table = () => {
|
|
41507
41536
|
const db3 = createSqliteDB();
|
|
@@ -42102,6 +42131,87 @@ var cancelMailboxMessages = (mailboxId) => {
|
|
|
42102
42131
|
}
|
|
42103
42132
|
return messages.length;
|
|
42104
42133
|
};
|
|
42134
|
+
var getWorkItemContextFromMessage = (messageId) => {
|
|
42135
|
+
if (!messageId) return null;
|
|
42136
|
+
const db3 = createSqliteDB();
|
|
42137
|
+
const row = db3.prepare(
|
|
42138
|
+
`SELECT
|
|
42139
|
+
work_item_id as workItemId,
|
|
42140
|
+
work_item_role as workItemRole,
|
|
42141
|
+
upstream_message_id as upstreamMessageId
|
|
42142
|
+
FROM mailbox
|
|
42143
|
+
WHERE id = ?`
|
|
42144
|
+
).get(messageId);
|
|
42145
|
+
if (!row?.workItemId) return null;
|
|
42146
|
+
return row;
|
|
42147
|
+
};
|
|
42148
|
+
var getWorkItemContextFromThread = (threadId) => {
|
|
42149
|
+
if (!threadId) return null;
|
|
42150
|
+
const db3 = createSqliteDB();
|
|
42151
|
+
const row = db3.prepare(
|
|
42152
|
+
`SELECT
|
|
42153
|
+
work_item_id as workItemId,
|
|
42154
|
+
work_item_role as workItemRole,
|
|
42155
|
+
upstream_message_id as upstreamMessageId
|
|
42156
|
+
FROM mailbox
|
|
42157
|
+
WHERE thread_id = ?
|
|
42158
|
+
AND work_item_id IS NOT NULL
|
|
42159
|
+
ORDER BY send_time ASC
|
|
42160
|
+
LIMIT 1`
|
|
42161
|
+
).get(threadId);
|
|
42162
|
+
if (!row?.workItemId) return null;
|
|
42163
|
+
return row;
|
|
42164
|
+
};
|
|
42165
|
+
var mailboxLooksLikeRole = (mailboxId, role) => {
|
|
42166
|
+
const lower = mailboxId.toLowerCase();
|
|
42167
|
+
if (role === "department_head") {
|
|
42168
|
+
return lower.includes("department-head") || mailboxId.includes("\u8D1F\u8D23\u4EBA");
|
|
42169
|
+
}
|
|
42170
|
+
return lower.includes("executor") || mailboxId.includes("\u6267\u884C\u8005") || mailboxId.includes("\u4E13\u5458");
|
|
42171
|
+
};
|
|
42172
|
+
var inferWorkItemRole = (fromMailboxId, toMailboxId, inherited) => {
|
|
42173
|
+
if (fromMailboxId === "manager") return "upstream_request";
|
|
42174
|
+
if (toMailboxId === "manager") return "upstream_report";
|
|
42175
|
+
const fromMember = getDepartmentMemberByMailboxId(fromMailboxId);
|
|
42176
|
+
const toMember = getDepartmentMemberByMailboxId(toMailboxId);
|
|
42177
|
+
const fromIsHead = fromMember?.role === "department_head" || mailboxLooksLikeRole(fromMailboxId, "department_head");
|
|
42178
|
+
const toIsHead = toMember?.role === "department_head" || mailboxLooksLikeRole(toMailboxId, "department_head");
|
|
42179
|
+
const fromIsExecutor = fromMember?.role === "executor" || mailboxLooksLikeRole(fromMailboxId, "executor");
|
|
42180
|
+
const toIsExecutor = toMember?.role === "executor" || mailboxLooksLikeRole(toMailboxId, "executor");
|
|
42181
|
+
if (fromIsHead && toIsExecutor) {
|
|
42182
|
+
return inherited?.workItemRole === "executor_result" ? "downstream_reply" : "delegation";
|
|
42183
|
+
}
|
|
42184
|
+
if (fromIsExecutor && toIsHead) return "executor_result";
|
|
42185
|
+
return inherited?.workItemRole ? "followup" : "message";
|
|
42186
|
+
};
|
|
42187
|
+
var resolveWorkItemContext = (fromMailboxId, toMailboxId, id, options) => {
|
|
42188
|
+
if (options?.workItemId) {
|
|
42189
|
+
return {
|
|
42190
|
+
workItemId: options.workItemId,
|
|
42191
|
+
workItemRole: options.workItemRole ?? inferWorkItemRole(fromMailboxId, toMailboxId),
|
|
42192
|
+
upstreamMessageId: options.upstreamMessageId ?? options.workItemId
|
|
42193
|
+
};
|
|
42194
|
+
}
|
|
42195
|
+
const inherited = getWorkItemContextFromMessage(options?.parentMessageId) ?? getWorkItemContextFromThread(options?.threadId);
|
|
42196
|
+
if (inherited?.workItemId) {
|
|
42197
|
+
return {
|
|
42198
|
+
workItemId: inherited.workItemId,
|
|
42199
|
+
workItemRole: options?.workItemRole ?? inferWorkItemRole(fromMailboxId, toMailboxId, inherited),
|
|
42200
|
+
upstreamMessageId: inherited.upstreamMessageId ?? inherited.workItemId
|
|
42201
|
+
};
|
|
42202
|
+
}
|
|
42203
|
+
const targetMember = getDepartmentMemberByMailboxId(toMailboxId);
|
|
42204
|
+
if (fromMailboxId === "manager" && targetMember?.role === "department_head") {
|
|
42205
|
+
return {
|
|
42206
|
+
workItemId: id,
|
|
42207
|
+
workItemRole: "upstream_request",
|
|
42208
|
+
upstreamMessageId: id
|
|
42209
|
+
};
|
|
42210
|
+
}
|
|
42211
|
+
return {
|
|
42212
|
+
workItemRole: options?.workItemRole ?? inferWorkItemRole(fromMailboxId, toMailboxId)
|
|
42213
|
+
};
|
|
42214
|
+
};
|
|
42105
42215
|
var buildMailboxInterruptContent = (msg) => {
|
|
42106
42216
|
const from = msg.fromMailboxId;
|
|
42107
42217
|
return [
|
|
@@ -42157,6 +42267,9 @@ var recordMailboxReceivedAgentEvent = (msg) => {
|
|
|
42157
42267
|
};
|
|
42158
42268
|
var sendMessage2 = (fromMailboxId, toMailboxId, content, options) => {
|
|
42159
42269
|
const db3 = createSqliteDB();
|
|
42270
|
+
const id = (0, import_node_crypto4.randomUUID)().slice(0, 8);
|
|
42271
|
+
const threadId = options?.threadId || id;
|
|
42272
|
+
const workItemContext = resolveWorkItemContext(fromMailboxId, toMailboxId, id, options);
|
|
42160
42273
|
const stmt = db3.prepare(`insert into mailbox (
|
|
42161
42274
|
id,
|
|
42162
42275
|
to_mailbox_id,
|
|
@@ -42167,10 +42280,11 @@ var sendMessage2 = (fromMailboxId, toMailboxId, content, options) => {
|
|
|
42167
42280
|
origin_user_id,
|
|
42168
42281
|
origin_platform,
|
|
42169
42282
|
thread_id,
|
|
42170
|
-
parent_message_id
|
|
42171
|
-
|
|
42172
|
-
|
|
42173
|
-
|
|
42283
|
+
parent_message_id,
|
|
42284
|
+
work_item_id,
|
|
42285
|
+
work_item_role,
|
|
42286
|
+
upstream_message_id
|
|
42287
|
+
) values (?,?,?,?,?,?,?,?,?,?,?,?,?) `);
|
|
42174
42288
|
let mailboxMsg = {
|
|
42175
42289
|
id,
|
|
42176
42290
|
toMailboxId,
|
|
@@ -42181,7 +42295,10 @@ var sendMessage2 = (fromMailboxId, toMailboxId, content, options) => {
|
|
|
42181
42295
|
originUserId: options?.originUserId,
|
|
42182
42296
|
originPlatform: options?.originPlatform,
|
|
42183
42297
|
threadId,
|
|
42184
|
-
parentMessageId: options?.parentMessageId
|
|
42298
|
+
parentMessageId: options?.parentMessageId,
|
|
42299
|
+
workItemId: workItemContext.workItemId,
|
|
42300
|
+
workItemRole: workItemContext.workItemRole,
|
|
42301
|
+
upstreamMessageId: workItemContext.upstreamMessageId
|
|
42185
42302
|
};
|
|
42186
42303
|
const result = stmt.run(
|
|
42187
42304
|
mailboxMsg.id,
|
|
@@ -42193,7 +42310,10 @@ var sendMessage2 = (fromMailboxId, toMailboxId, content, options) => {
|
|
|
42193
42310
|
mailboxMsg.originUserId || null,
|
|
42194
42311
|
mailboxMsg.originPlatform || null,
|
|
42195
42312
|
mailboxMsg.threadId || mailboxMsg.id,
|
|
42196
|
-
mailboxMsg.parentMessageId || null
|
|
42313
|
+
mailboxMsg.parentMessageId || null,
|
|
42314
|
+
mailboxMsg.workItemId || null,
|
|
42315
|
+
mailboxMsg.workItemRole || null,
|
|
42316
|
+
mailboxMsg.upstreamMessageId || null
|
|
42197
42317
|
);
|
|
42198
42318
|
recordMailboxEvent({
|
|
42199
42319
|
messageId: mailboxMsg.id,
|
|
@@ -42203,6 +42323,9 @@ var sendMessage2 = (fromMailboxId, toMailboxId, content, options) => {
|
|
|
42203
42323
|
eventType: "message_sent",
|
|
42204
42324
|
detail: {
|
|
42205
42325
|
initialStatus: mailboxMsg.status,
|
|
42326
|
+
workItemId: mailboxMsg.workItemId ?? null,
|
|
42327
|
+
workItemRole: mailboxMsg.workItemRole ?? null,
|
|
42328
|
+
upstreamMessageId: mailboxMsg.upstreamMessageId ?? null,
|
|
42206
42329
|
...options?.auditDetail ?? {}
|
|
42207
42330
|
},
|
|
42208
42331
|
createdAt: mailboxMsg.sendTime
|
|
@@ -42314,7 +42437,9 @@ var getActiveMailboxContext = (actorMailboxId, messageId) => {
|
|
|
42314
42437
|
to_mailbox_id as toMailboxId,
|
|
42315
42438
|
origin_user_id as originUserId,
|
|
42316
42439
|
origin_platform as originPlatform,
|
|
42317
|
-
thread_id as threadId
|
|
42440
|
+
thread_id as threadId,
|
|
42441
|
+
work_item_id as workItemId,
|
|
42442
|
+
upstream_message_id as upstreamMessageId
|
|
42318
42443
|
FROM mailbox
|
|
42319
42444
|
WHERE id = ?
|
|
42320
42445
|
AND (from_mailbox_id = ? OR to_mailbox_id = ?)`
|
|
@@ -42420,6 +42545,8 @@ var departmentCommunicate = {
|
|
|
42420
42545
|
options.originPlatform = activeContext.originPlatform;
|
|
42421
42546
|
options.threadId = activeContext.threadId || activeContext.id;
|
|
42422
42547
|
options.parentMessageId = activeContext.id;
|
|
42548
|
+
options.workItemId = activeContext.workItemId;
|
|
42549
|
+
options.upstreamMessageId = activeContext.upstreamMessageId;
|
|
42423
42550
|
}
|
|
42424
42551
|
}
|
|
42425
42552
|
try {
|
|
@@ -46534,9 +46661,25 @@ var DESCRIPTION41 = `
|
|
|
46534
46661
|
1. \u5C06\u56DE\u590D\u5185\u5BB9\u53D1\u9001\u5230\u539F\u53D1\u9001\u8005\u7684\u90AE\u7BB1
|
|
46535
46662
|
2. \u5C06\u8BE5\u90AE\u4EF6\u6807\u8BB0\u4E3A\u5DF2\u5904\u7406\uFF08done\uFF09
|
|
46536
46663
|
`;
|
|
46537
|
-
var findUpstreamManagerMessage = (myMailboxId, threadId) => {
|
|
46538
|
-
if (!threadId) return null;
|
|
46664
|
+
var findUpstreamManagerMessage = (myMailboxId, threadId, workItemId) => {
|
|
46539
46665
|
const db3 = createSqliteDB();
|
|
46666
|
+
if (workItemId) {
|
|
46667
|
+
const row2 = db3.prepare(
|
|
46668
|
+
`SELECT
|
|
46669
|
+
id,
|
|
46670
|
+
from_mailbox_id as fromMailboxId,
|
|
46671
|
+
to_mailbox_id as toMailboxId,
|
|
46672
|
+
status
|
|
46673
|
+
FROM mailbox
|
|
46674
|
+
WHERE work_item_id = ?
|
|
46675
|
+
AND from_mailbox_id = 'manager'
|
|
46676
|
+
AND to_mailbox_id = ?
|
|
46677
|
+
ORDER BY send_time ASC
|
|
46678
|
+
LIMIT 1`
|
|
46679
|
+
).get(workItemId, myMailboxId);
|
|
46680
|
+
if (row2) return row2;
|
|
46681
|
+
}
|
|
46682
|
+
if (!threadId) return null;
|
|
46540
46683
|
const row = db3.prepare(
|
|
46541
46684
|
`SELECT
|
|
46542
46685
|
id,
|
|
@@ -46552,16 +46695,18 @@ var findUpstreamManagerMessage = (myMailboxId, threadId) => {
|
|
|
46552
46695
|
).get(threadId, myMailboxId);
|
|
46553
46696
|
return row ?? null;
|
|
46554
46697
|
};
|
|
46555
|
-
var buildUpstreamReminder = (myMailboxId, repliedToMailboxId, threadId) => {
|
|
46698
|
+
var buildUpstreamReminder = (myMailboxId, repliedToMailboxId, threadId, workItemId) => {
|
|
46556
46699
|
const member = getDepartmentMemberByMailboxId(myMailboxId);
|
|
46557
|
-
|
|
46700
|
+
const looksLikeHead = myMailboxId.toLowerCase().includes("department-head") || myMailboxId.includes("\u8D1F\u8D23\u4EBA");
|
|
46701
|
+
if (member?.role !== "department_head" && !looksLikeHead) return "";
|
|
46558
46702
|
if (repliedToMailboxId === "manager") return "";
|
|
46559
|
-
const upstream = findUpstreamManagerMessage(myMailboxId, threadId);
|
|
46703
|
+
const upstream = findUpstreamManagerMessage(myMailboxId, threadId, workItemId);
|
|
46560
46704
|
if (!upstream) return "";
|
|
46705
|
+
if (upstream.status === "done" || upstream.status === "read") return "";
|
|
46561
46706
|
return [
|
|
46562
46707
|
``,
|
|
46563
|
-
`[replyMailbox] \u63D0\u9192\uFF1A\u4F60\u521A\u521A\u56DE\u590D\u7684\u662F\u4E0B\u6E38\u6210\u5458 ${repliedToMailboxId}\uFF0C\u4F46\
|
|
46564
|
-
`\u5982\u679C\u8FD9\u6B21\u56DE\u590D\u4EE3\u8868\u4EFB\u52A1\u5DF2\u5B8C\u6210\u6216\u5DF2\u9A8C\u6536\uFF0C\u8BF7\u7EE7\u7EED\u8C03\u7528 reply_mailbox(message_id="${upstream.id}", content="...")\
|
|
46708
|
+
`[replyMailbox] \u5F3A\u5236\u95ED\u73AF\u63D0\u9192\uFF1A\u4F60\u521A\u521A\u56DE\u590D\u7684\u662F\u4E0B\u6E38\u6210\u5458 ${repliedToMailboxId}\uFF0C\u4F46 work_item \u7684\u4E0A\u6E38 manager \u90AE\u4EF6 ${upstream.id} \u5F53\u524D\u72B6\u6001\u4E3A ${upstream.status}\uFF0C\u4ECD\u9700\u8981\u6700\u7EC8\u6C47\u62A5\u3002`,
|
|
46709
|
+
`\u5982\u679C\u8FD9\u6B21\u56DE\u590D\u4EE3\u8868\u4EFB\u52A1\u5DF2\u5B8C\u6210\u6216\u5DF2\u9A8C\u6536\uFF0C\u8BF7\u7EE7\u7EED\u8C03\u7528 reply_mailbox(message_id="${upstream.id}", content="...") \u5C06\u6700\u7EC8\u7ED3\u679C\u540C\u6B65\u7ED9 manager\uFF1B\u5982\u679C\u4ECD\u5728\u7B49\u5F85\u4E0B\u6E38\uFF0C\u8BF7\u7528 mailbox_followup(message_id="${upstream.id}", content="...", kind="progress") \u6C47\u62A5\u5F53\u524D\u8FDB\u5EA6\u3002`
|
|
46565
46710
|
].join("\n");
|
|
46566
46711
|
};
|
|
46567
46712
|
var replyMailbox = {
|
|
@@ -46598,7 +46743,10 @@ var replyMailbox = {
|
|
|
46598
46743
|
origin_user_id as originUserId,
|
|
46599
46744
|
origin_platform as originPlatform,
|
|
46600
46745
|
thread_id as threadId,
|
|
46601
|
-
parent_message_id as parentMessageId
|
|
46746
|
+
parent_message_id as parentMessageId,
|
|
46747
|
+
work_item_id as workItemId,
|
|
46748
|
+
work_item_role as workItemRole,
|
|
46749
|
+
upstream_message_id as upstreamMessageId
|
|
46602
46750
|
FROM mailbox WHERE id = ?`
|
|
46603
46751
|
);
|
|
46604
46752
|
const msg = stmt.get(messageId);
|
|
@@ -46625,7 +46773,10 @@ var replyMailbox = {
|
|
|
46625
46773
|
originUserId: msg.originUserId,
|
|
46626
46774
|
originPlatform: msg.originPlatform,
|
|
46627
46775
|
threadId: msg.threadId || msg.id,
|
|
46628
|
-
parentMessageId: msg.id
|
|
46776
|
+
parentMessageId: msg.id,
|
|
46777
|
+
workItemId: msg.workItemId,
|
|
46778
|
+
workItemRole: msg.workItemRole === "executor_result" ? "downstream_reply" : void 0,
|
|
46779
|
+
upstreamMessageId: msg.upstreamMessageId
|
|
46629
46780
|
});
|
|
46630
46781
|
recordMailboxEvent({
|
|
46631
46782
|
messageId,
|
|
@@ -46636,10 +46787,12 @@ var replyMailbox = {
|
|
|
46636
46787
|
detail: {
|
|
46637
46788
|
replyPreview: content.slice(0, 200),
|
|
46638
46789
|
replyMessageId: replyMsg.id,
|
|
46639
|
-
threadId: replyMsg.threadId || msg.threadId || msg.id
|
|
46790
|
+
threadId: replyMsg.threadId || msg.threadId || msg.id,
|
|
46791
|
+
workItemId: msg.workItemId ?? null,
|
|
46792
|
+
upstreamMessageId: msg.upstreamMessageId ?? null
|
|
46640
46793
|
}
|
|
46641
46794
|
});
|
|
46642
|
-
const upstreamReminder = buildUpstreamReminder(myMailboxId, msg.fromMailboxId, msg.threadId || msg.id);
|
|
46795
|
+
const upstreamReminder = buildUpstreamReminder(myMailboxId, msg.fromMailboxId, msg.threadId || msg.id, msg.workItemId);
|
|
46643
46796
|
return `[replyMailbox] ${claimedFromPending ? "\u5DF2\u9886\u53D6\u5E76" : "\u5DF2"}\u6B63\u5F0F\u56DE\u590D\u90AE\u4EF6 ${messageId}\uFF0C\u56DE\u590D\u6D88\u606F ${replyMsg.id} \u5DF2\u53D1\u9001\u5230 ${msg.fromMailboxId} \u7684\u90AE\u7BB1\uFF08thread: ${replyMsg.threadId}\uFF09${upstreamReminder}`;
|
|
46644
46797
|
}
|
|
46645
46798
|
};
|
|
@@ -52002,7 +52155,7 @@ var systemRoutes = new Hono2();
|
|
|
52002
52155
|
var startTime = Date.now();
|
|
52003
52156
|
systemRoutes.get("/system/info", (c) => {
|
|
52004
52157
|
return c.json({
|
|
52005
|
-
version: true ? "1.8.
|
|
52158
|
+
version: true ? "1.8.37" : "unknown",
|
|
52006
52159
|
uptime: Math.floor((Date.now() - startTime) / 1e3),
|
|
52007
52160
|
env: process.env.NODE_ENV || "development",
|
|
52008
52161
|
nodeVersion: process.version
|