agentwake 1.0.0 → 1.0.1
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/.cursor/hooks.json +2 -2
- package/README.md +210 -80
- package/dist/adapters/claude-hook-adapter.d.ts.map +1 -1
- package/dist/adapters/claude-hook-adapter.js +67 -0
- package/dist/adapters/claude-hook-adapter.js.map +1 -1
- package/dist/adapters/cursor-hook-adapter.d.ts.map +1 -1
- package/dist/adapters/cursor-hook-adapter.js +133 -47
- package/dist/adapters/cursor-hook-adapter.js.map +1 -1
- package/dist/adapters/cursor-terminal-hook.d.ts +12 -0
- package/dist/adapters/cursor-terminal-hook.d.ts.map +1 -1
- package/dist/adapters/cursor-terminal-hook.js +158 -4
- package/dist/adapters/cursor-terminal-hook.js.map +1 -1
- package/dist/adapters/qoder-log-adapter.d.ts +9 -0
- package/dist/adapters/qoder-log-adapter.d.ts.map +1 -1
- package/dist/adapters/qoder-log-adapter.js +188 -19
- package/dist/adapters/qoder-log-adapter.js.map +1 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +25 -5
- package/dist/bootstrap.js.map +1 -1
- package/dist/cli.js +82 -19
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +12 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +45 -3
- package/dist/config.js.map +1 -1
- package/dist/installers/claude-code-installer.d.ts +15 -0
- package/dist/installers/claude-code-installer.d.ts.map +1 -0
- package/dist/installers/claude-code-installer.js +109 -0
- package/dist/installers/claude-code-installer.js.map +1 -0
- package/dist/notifiers/dingtalk-notifier.d.ts +15 -0
- package/dist/notifiers/dingtalk-notifier.d.ts.map +1 -0
- package/dist/notifiers/dingtalk-notifier.js +52 -0
- package/dist/notifiers/dingtalk-notifier.js.map +1 -0
- package/dist/notifiers/feishu-notifier.d.ts +14 -0
- package/dist/notifiers/feishu-notifier.d.ts.map +1 -0
- package/dist/notifiers/feishu-notifier.js +60 -0
- package/dist/notifiers/feishu-notifier.js.map +1 -0
- package/dist/notifiers/wecom-notifier.d.ts +13 -0
- package/dist/notifiers/wecom-notifier.d.ts.map +1 -0
- package/dist/notifiers/wecom-notifier.js +39 -0
- package/dist/notifiers/wecom-notifier.js.map +1 -0
- package/dist/paths.d.ts +9 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +27 -0
- package/dist/paths.js.map +1 -0
- package/dist/run-gateway.d.ts +0 -1
- package/dist/run-gateway.d.ts.map +1 -1
- package/dist/run-gateway.js +11 -1
- package/dist/run-gateway.js.map +1 -1
- package/dist/setup.d.ts +2 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +274 -0
- package/dist/setup.js.map +1 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +20 -2
- package/dist/utils/logger.js.map +1 -1
- package/package.json +4 -2
- package/scripts/cursor-hook-forwarder.mjs +50 -4
|
@@ -11,11 +11,12 @@ const node_path_1 = __importDefault(require("node:path"));
|
|
|
11
11
|
const node_readline_1 = require("node:readline");
|
|
12
12
|
const notify_event_1 = require("../domain/notify-event");
|
|
13
13
|
const logger_1 = require("../utils/logger");
|
|
14
|
-
const REQUEST_NOTIFY_DELAY_MS = 1_000;
|
|
15
14
|
const WAIT_THRESHOLD_SEC = 2;
|
|
16
15
|
const WAIT_THRESHOLD_MS = WAIT_THRESHOLD_SEC * 1_000;
|
|
16
|
+
const WAIT_NOTIFY_DELAY_MS = WAIT_THRESHOLD_MS;
|
|
17
17
|
const FILE_POLL_MS = 500;
|
|
18
18
|
const DISCOVERY_POLL_MS = 5_000;
|
|
19
|
+
const COMPLETION_DEDUPE_WINDOW_MS = 3_000;
|
|
19
20
|
const LOG_TIMESTAMP_RE = /^(\d{4})-(\d{2})-(\d{2})\s+(\d{2}):(\d{2}):(\d{2})(?:[.,]\d{3,6})?/;
|
|
20
21
|
function extractLogTimestampSec(line) {
|
|
21
22
|
const match = line.match(LOG_TIMESTAMP_RE);
|
|
@@ -54,6 +55,30 @@ function detectResolveOutcome(line) {
|
|
|
54
55
|
}
|
|
55
56
|
return "unknown";
|
|
56
57
|
}
|
|
58
|
+
function extractExitCode(line) {
|
|
59
|
+
const match = line.match(/exitCode[:=]\s*(-?\d+)/i);
|
|
60
|
+
if (!match) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
const value = Number(match[1]);
|
|
64
|
+
return Number.isFinite(value) ? value : undefined;
|
|
65
|
+
}
|
|
66
|
+
function extractCompletedCommand(line) {
|
|
67
|
+
const match = line.match(/Command finished via end event:\s*(.+?),\s*exitCode[:=]/i);
|
|
68
|
+
const raw = match?.[1]?.trim();
|
|
69
|
+
return raw && raw.length > 0 ? raw : undefined;
|
|
70
|
+
}
|
|
71
|
+
function extractSessionId(line) {
|
|
72
|
+
const byJson = line.match(/"sessionId"\s*:\s*"([^"]+)"/i);
|
|
73
|
+
if (byJson?.[1]) {
|
|
74
|
+
return byJson[1];
|
|
75
|
+
}
|
|
76
|
+
const byToken = line.match(/\bsessionId[=:]\s*["']?([^,"'\s}]+)/i);
|
|
77
|
+
if (byToken?.[1]) {
|
|
78
|
+
return byToken[1];
|
|
79
|
+
}
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
57
82
|
function findLatestQoderSessionDir(baseDir) {
|
|
58
83
|
if (!(0, node_fs_1.existsSync)(baseDir)) {
|
|
59
84
|
return undefined;
|
|
@@ -74,6 +99,20 @@ function findLatestQoderSessionDir(baseDir) {
|
|
|
74
99
|
}
|
|
75
100
|
return latestDir;
|
|
76
101
|
}
|
|
102
|
+
function findRecentQoderSessionDirs(baseDir, limit) {
|
|
103
|
+
if (!(0, node_fs_1.existsSync)(baseDir)) {
|
|
104
|
+
return [];
|
|
105
|
+
}
|
|
106
|
+
const entries = (0, node_fs_1.readdirSync)(baseDir, { withFileTypes: true }).filter((entry) => entry.isDirectory());
|
|
107
|
+
return entries
|
|
108
|
+
.map((entry) => {
|
|
109
|
+
const fullPath = node_path_1.default.join(baseDir, entry.name);
|
|
110
|
+
return { fullPath, mtime: (0, node_fs_1.statSync)(fullPath).mtimeMs };
|
|
111
|
+
})
|
|
112
|
+
.sort((a, b) => b.mtime - a.mtime)
|
|
113
|
+
.slice(0, Math.max(1, limit))
|
|
114
|
+
.map((item) => item.fullPath);
|
|
115
|
+
}
|
|
77
116
|
function collectAgentLogsRecursively(rootDir) {
|
|
78
117
|
if (!(0, node_fs_1.existsSync)(rootDir)) {
|
|
79
118
|
return [];
|
|
@@ -107,24 +146,37 @@ function collectAgentLogsRecursively(rootDir) {
|
|
|
107
146
|
}
|
|
108
147
|
function resolveQoderLogPaths(configPath) {
|
|
109
148
|
if (configPath) {
|
|
110
|
-
if (
|
|
149
|
+
if ((0, node_fs_1.existsSync)(configPath)) {
|
|
150
|
+
const stats = (0, node_fs_1.statSync)(configPath);
|
|
151
|
+
if (stats.isFile()) {
|
|
152
|
+
return [configPath];
|
|
153
|
+
}
|
|
154
|
+
if (stats.isDirectory()) {
|
|
155
|
+
return collectAgentLogsRecursively(configPath);
|
|
156
|
+
}
|
|
111
157
|
return [];
|
|
112
158
|
}
|
|
113
|
-
|
|
114
|
-
if (stats.isFile()) {
|
|
115
|
-
return [configPath];
|
|
116
|
-
}
|
|
117
|
-
if (stats.isDirectory()) {
|
|
118
|
-
return collectAgentLogsRecursively(configPath);
|
|
119
|
-
}
|
|
120
|
-
return [];
|
|
159
|
+
// Invalid explicit path: gracefully fall back to auto-discovery.
|
|
121
160
|
}
|
|
122
161
|
const qoderBase = node_path_1.default.join(node_os_1.default.homedir(), "Library", "Application Support", "Qoder", "logs");
|
|
123
162
|
const latestSessionDir = findLatestQoderSessionDir(qoderBase);
|
|
124
|
-
|
|
163
|
+
const candidateRoots = latestSessionDir
|
|
164
|
+
? [latestSessionDir, ...findRecentQoderSessionDirs(qoderBase, 5).filter((item) => item !== latestSessionDir)]
|
|
165
|
+
: findRecentQoderSessionDirs(qoderBase, 5);
|
|
166
|
+
const logs = new Set();
|
|
167
|
+
for (const root of candidateRoots) {
|
|
168
|
+
for (const logPath of collectAgentLogsRecursively(root)) {
|
|
169
|
+
logs.add(logPath);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
if (logs.size > 0) {
|
|
173
|
+
return Array.from(logs);
|
|
174
|
+
}
|
|
175
|
+
// Fallback: scan all sessions if recent sessions don't contain agent.log yet.
|
|
176
|
+
if (!(0, node_fs_1.existsSync)(qoderBase)) {
|
|
125
177
|
return [];
|
|
126
178
|
}
|
|
127
|
-
return collectAgentLogsRecursively(
|
|
179
|
+
return collectAgentLogsRecursively(qoderBase);
|
|
128
180
|
}
|
|
129
181
|
function parseQoderLogLine(line) {
|
|
130
182
|
const text = line.trim();
|
|
@@ -155,10 +207,29 @@ function parseQoderLogLine(line) {
|
|
|
155
207
|
logTimestampSec: extractLogTimestampSec(text),
|
|
156
208
|
};
|
|
157
209
|
}
|
|
210
|
+
if (/Command finished via end event|Command execution completed|Command completed|Temporary command completed/i.test(text)) {
|
|
211
|
+
const exitCode = extractExitCode(text);
|
|
212
|
+
if (typeof exitCode !== "number") {
|
|
213
|
+
return null;
|
|
214
|
+
}
|
|
215
|
+
return {
|
|
216
|
+
type: "command_completed",
|
|
217
|
+
command: extractCompletedCommand(text),
|
|
218
|
+
exitCode,
|
|
219
|
+
logTimestampSec: extractLogTimestampSec(text),
|
|
220
|
+
};
|
|
221
|
+
}
|
|
158
222
|
if (/streaming -> suspended.*permission_request/i.test(text)) {
|
|
159
223
|
return { type: "agent_suspended" };
|
|
160
224
|
}
|
|
161
|
-
if (/suspended -> (streaming|
|
|
225
|
+
if (/suspended -> cancelled|session (ended|closed)|State transition:\s*streaming\s*->\s*completed|ACP stream completed|Closed tab:/i.test(text)) {
|
|
226
|
+
return {
|
|
227
|
+
type: "agent_session_end",
|
|
228
|
+
logTimestampSec: extractLogTimestampSec(text),
|
|
229
|
+
sessionId: extractSessionId(text),
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
if (/suspended -> streaming/i.test(text)) {
|
|
162
233
|
return { type: "agent_resumed" };
|
|
163
234
|
}
|
|
164
235
|
return null;
|
|
@@ -168,6 +239,7 @@ function createQoderLogAdapter() {
|
|
|
168
239
|
id: "qoder-log-adapter",
|
|
169
240
|
async start(context) {
|
|
170
241
|
const pendingRequests = new Map();
|
|
242
|
+
const recentCompletionKeys = new Map();
|
|
171
243
|
const cursors = new Map();
|
|
172
244
|
let filePollTimer;
|
|
173
245
|
let discoveryPollTimer;
|
|
@@ -177,17 +249,84 @@ function createQoderLogAdapter() {
|
|
|
177
249
|
source: "qoder-log",
|
|
178
250
|
editor: "qoder",
|
|
179
251
|
level: "warn",
|
|
180
|
-
title: "Qoder
|
|
181
|
-
body: `${toolName || "tool"}
|
|
252
|
+
title: "Qoder 终端等待用户同意",
|
|
253
|
+
body: `${toolName || "tool"} 等待你的同意`,
|
|
182
254
|
dedupeKey: `qoder-log:pending:${toolCallId}`,
|
|
183
255
|
meta: {
|
|
184
256
|
toolCallId,
|
|
185
257
|
toolName,
|
|
258
|
+
eventName: "ApprovalRequired",
|
|
186
259
|
},
|
|
187
260
|
});
|
|
188
261
|
await context.emit(event);
|
|
189
262
|
};
|
|
263
|
+
const emitFailureLifecycleNotification = async (params) => {
|
|
264
|
+
const waitText = typeof params.waitSec === "number" && Number.isFinite(params.waitSec)
|
|
265
|
+
? `,等待 ${(Math.max(0, params.waitSec)).toFixed(1)}s`
|
|
266
|
+
: "";
|
|
267
|
+
if (params.outcome === "allow") {
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
const stopEventName = "StopFailure";
|
|
271
|
+
const stopTitle = "Qoder: 任务异常终止";
|
|
272
|
+
const stopBody = params.reason === "approval"
|
|
273
|
+
? `${params.subject} 已处理同意请求${waitText}`
|
|
274
|
+
: `${params.subject} 执行结束(退出码 ${params.exitCode ?? 1})${waitText}`;
|
|
275
|
+
const commonMeta = {
|
|
276
|
+
subject: params.subject,
|
|
277
|
+
waitSec: params.waitSec,
|
|
278
|
+
outcome: params.outcome,
|
|
279
|
+
reason: params.reason,
|
|
280
|
+
};
|
|
281
|
+
await context.emit((0, notify_event_1.createNotifyEvent)({
|
|
282
|
+
source: "qoder-log",
|
|
283
|
+
editor: "qoder",
|
|
284
|
+
level: "error",
|
|
285
|
+
title: stopTitle,
|
|
286
|
+
body: stopBody,
|
|
287
|
+
dedupeKey: `qoder-log:lifecycle:${stopEventName}:${params.dedupeToken}`,
|
|
288
|
+
meta: {
|
|
289
|
+
...commonMeta,
|
|
290
|
+
eventName: stopEventName,
|
|
291
|
+
},
|
|
292
|
+
}));
|
|
293
|
+
};
|
|
294
|
+
const emitSessionEndNotification = async (params) => {
|
|
295
|
+
await context.emit((0, notify_event_1.createNotifyEvent)({
|
|
296
|
+
source: "qoder-log",
|
|
297
|
+
editor: "qoder",
|
|
298
|
+
level: "info",
|
|
299
|
+
title: "Qoder: 会话已结束",
|
|
300
|
+
body: params.subject ? `${params.subject} 会话已结束` : "Qoder 会话已结束",
|
|
301
|
+
dedupeKey: `qoder-log:lifecycle:SessionEnd:${params.dedupeToken}`,
|
|
302
|
+
meta: {
|
|
303
|
+
eventName: "SessionEnd",
|
|
304
|
+
subject: params.subject,
|
|
305
|
+
},
|
|
306
|
+
}));
|
|
307
|
+
};
|
|
190
308
|
const handleSignal = async (signal) => {
|
|
309
|
+
if (signal.type === "agent_session_end") {
|
|
310
|
+
const dedupeToken = signal.sessionId ||
|
|
311
|
+
(typeof signal.logTimestampSec === "number" && Number.isFinite(signal.logTimestampSec)
|
|
312
|
+
? String(signal.logTimestampSec)
|
|
313
|
+
: String(Math.floor(Date.now() / 1000)));
|
|
314
|
+
emitSessionEndNotification({
|
|
315
|
+
dedupeToken,
|
|
316
|
+
...(signal.sessionId ? { subject: `session ${signal.sessionId}` } : {}),
|
|
317
|
+
}).catch((error) => {
|
|
318
|
+
logger_1.logger.error("qoder session end notify failed", { error: String(error) });
|
|
319
|
+
});
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
if (signal.type === "agent_suspended") {
|
|
323
|
+
logger_1.logger.debug("qoder agent suspended for permission request");
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
if (signal.type === "agent_resumed") {
|
|
327
|
+
logger_1.logger.debug("qoder agent resumed");
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
191
330
|
if (signal.type === "permission_requested") {
|
|
192
331
|
const existing = pendingRequests.get(signal.toolCallId);
|
|
193
332
|
if (existing) {
|
|
@@ -201,7 +340,7 @@ function createQoderLogAdapter() {
|
|
|
201
340
|
emitWaitingNotification(signal.toolCallId, pending.toolName).catch((error) => {
|
|
202
341
|
logger_1.logger.error("qoder log notify failed", { error: String(error) });
|
|
203
342
|
});
|
|
204
|
-
},
|
|
343
|
+
}, WAIT_NOTIFY_DELAY_MS);
|
|
205
344
|
pendingRequests.set(signal.toolCallId, {
|
|
206
345
|
toolName: signal.toolName,
|
|
207
346
|
requestLogSec: signal.logTimestampSec,
|
|
@@ -224,15 +363,44 @@ function createQoderLogAdapter() {
|
|
|
224
363
|
outcome: signal.outcome,
|
|
225
364
|
});
|
|
226
365
|
}
|
|
366
|
+
emitFailureLifecycleNotification({
|
|
367
|
+
dedupeToken: signal.toolCallId,
|
|
368
|
+
subject: pending.toolName || "tool",
|
|
369
|
+
...(typeof waitSec === "number" ? { waitSec } : {}),
|
|
370
|
+
outcome: signal.outcome,
|
|
371
|
+
reason: "approval",
|
|
372
|
+
}).catch((error) => {
|
|
373
|
+
logger_1.logger.error("qoder lifecycle notify failed", { error: String(error) });
|
|
374
|
+
});
|
|
227
375
|
pendingRequests.delete(signal.toolCallId);
|
|
228
376
|
}
|
|
229
377
|
return;
|
|
230
378
|
}
|
|
231
|
-
|
|
232
|
-
|
|
379
|
+
const now = Date.now();
|
|
380
|
+
for (const [key, ts] of recentCompletionKeys.entries()) {
|
|
381
|
+
if (now - ts > COMPLETION_DEDUPE_WINDOW_MS) {
|
|
382
|
+
recentCompletionKeys.delete(key);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
const timePart = typeof signal.logTimestampSec === "number" && Number.isFinite(signal.logTimestampSec)
|
|
386
|
+
? String(signal.logTimestampSec)
|
|
387
|
+
: String(Math.floor(now / 1000));
|
|
388
|
+
const commandPart = signal.command?.trim() || "unknown-command";
|
|
389
|
+
const completionKey = `${timePart}:${commandPart}:${signal.exitCode}`;
|
|
390
|
+
if (recentCompletionKeys.has(completionKey)) {
|
|
233
391
|
return;
|
|
234
392
|
}
|
|
235
|
-
|
|
393
|
+
recentCompletionKeys.set(completionKey, now);
|
|
394
|
+
const outcome = signal.exitCode === 0 ? "allow" : "reject";
|
|
395
|
+
emitFailureLifecycleNotification({
|
|
396
|
+
dedupeToken: completionKey,
|
|
397
|
+
subject: signal.command || "terminal 命令",
|
|
398
|
+
outcome,
|
|
399
|
+
reason: "command",
|
|
400
|
+
exitCode: signal.exitCode,
|
|
401
|
+
}).catch((error) => {
|
|
402
|
+
logger_1.logger.error("qoder lifecycle notify failed", { error: String(error) });
|
|
403
|
+
});
|
|
236
404
|
};
|
|
237
405
|
const ingestLine = async (line) => {
|
|
238
406
|
const signal = parseQoderLogLine(line);
|
|
@@ -312,6 +480,7 @@ function createQoderLogAdapter() {
|
|
|
312
480
|
clearTimeout(pending.notifyTimer);
|
|
313
481
|
}
|
|
314
482
|
pendingRequests.clear();
|
|
483
|
+
recentCompletionKeys.clear();
|
|
315
484
|
};
|
|
316
485
|
return stop;
|
|
317
486
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qoder-log-adapter.js","sourceRoot":"","sources":["../../src/adapters/qoder-log-adapter.ts"],"names":[],"mappings":";;;;;AAqKA,8CAyCC;AAED,sDA0KC;AA1XD,qCAA2F;AAC3F,sDAAyB;AACzB,0DAA6B;AAC7B,iDAAgD;AAChD,yDAA6E;AAE7E,4CAAyC;AAgCzC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,KAAK,CAAC;AACrD,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC,MAAM,gBAAgB,GACpB,oEAAoE,CAAC;AAEvE,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;IACnF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC7D,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AACzC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC3D,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AACzC,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe;IAChD,IAAI,CAAC,IAAA,oBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,IAAA,qBAAW,EAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACrG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,SAA6B,CAAC;IAClC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;IACrB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAC,SAAS,CAAC,CAAC,OAAO,CAAC;QAC1C,IAAI,KAAK,GAAG,WAAW,EAAE,CAAC;YACxB,WAAW,GAAG,KAAK,CAAC;YACpB,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAe;IAClD,IAAI,CAAC,IAAA,oBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAa,CAAC,OAAO,CAAC,CAAC;IAElC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,IAAA,qBAAW,EAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACjD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAmB;IAC/C,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC,IAAA,oBAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAC,UAAU,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,OAAO,CAAC,UAAU,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,OAAO,2BAA2B,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7F,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;AACvD,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,IAAI,EAAE,sBAAsB;YAC5B,UAAU;YACV,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,MAAM;YACzC,eAAe,EAAE,sBAAsB,CAAC,IAAI,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED,IAAI,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,UAAU;YACV,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC;YACnC,eAAe,EAAE,sBAAsB,CAAC,IAAI,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED,IAAI,6CAA6C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,qBAAqB;IACnC,OAAO;QACL,EAAE,EAAE,mBAAmB;QACvB,KAAK,CAAC,KAAK,CAAC,OAAO;YACjB,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;YAC9C,IAAI,aAAyD,CAAC;YAC9D,IAAI,kBAA8D,CAAC;YACnE,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,MAAM,uBAAuB,GAAG,KAAK,EAAE,UAAkB,EAAE,QAAgB,EAAiB,EAAE;gBAC5F,MAAM,KAAK,GAAgB,IAAA,gCAAiB,EAAC;oBAC3C,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,4BAA4B;oBACnC,IAAI,EAAE,GAAG,QAAQ,IAAI,MAAM,4BAA4B;oBACvD,SAAS,EAAE,qBAAqB,UAAU,EAAE;oBAC5C,IAAI,EAAE;wBACJ,UAAU;wBACV,QAAQ;qBACT;iBACF,CAAC,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,KAAK,EAAE,MAAsB,EAAiB,EAAE;gBACnE,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;oBAC3C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACxD,IAAI,QAAQ,EAAE,CAAC;wBACb,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACrC,CAAC;oBACD,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;wBAClC,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBACvD,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,OAAO;wBACT,CAAC;wBACD,uBAAuB,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;4BAC3E,eAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBACpE,CAAC,CAAC,CAAC;oBACL,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAC,CAAC;oBAEzD,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE;wBACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,aAAa,EAAE,MAAM,CAAC,eAAe;wBACrC,WAAW;qBACZ,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBAC1C,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACvD,IAAI,OAAO,EAAE,CAAC;wBACZ,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;wBAClC,MAAM,OAAO,GACX,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ;4BACrF,CAAC,CAAC,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,aAAa;4BAChD,CAAC,CAAC,SAAS,CAAC;wBAEhB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,kBAAkB,EAAE,CAAC;4BACjE,eAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gCACrC,UAAU,EAAE,MAAM,CAAC,UAAU;gCAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gCAC1B,OAAO;gCACP,OAAO,EAAE,MAAM,CAAC,OAAO;6BACxB,CAAC,CAAC;wBACL,CAAC;wBACD,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC5C,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACtC,eAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;oBAC7D,OAAO;gBACT,CAAC;gBAED,eAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACtC,CAAC,CAAC;YAEF,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAiB,EAAE;gBACvD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,GAAS,EAAE;gBAC9B,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAChE,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;oBAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAA,oBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;wBACjD,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC;wBACpC,wDAAwD;wBACxD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;wBACvC,eAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;oBACpE,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,SAAS,GAAG,KAAK,EAAE,OAAe,EAAE,KAAiB,EAAiB,EAAE;gBAC5E,IAAI,CAAC,IAAA,oBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;oBACzB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACxB,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC;gBACpC,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBACxB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnB,CAAC;gBACD,IAAI,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC1B,OAAO;gBACT,CAAC;gBAED,MAAM,MAAM,GAAG,IAAA,0BAAgB,EAAC,OAAO,EAAE;oBACvC,KAAK,EAAE,KAAK,CAAC,MAAM;oBACnB,GAAG,EAAE,IAAI,GAAG,CAAC;oBACb,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,MAAM,KAAK,GAAG,IAAA,+BAAe,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACtE,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBAC/B,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;gBACD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACtB,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,KAAK,IAAmB,EAAE;gBACzC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,CAAC;oBACH,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;wBACjD,MAAM,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,OAAO,GAAG,KAAK,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC;YAEF,YAAY,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACvB,eAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAC3D,CAAC;YAED,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC/B,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACzB,eAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACrE,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,YAAY,CAAC,CAAC;YAEjB,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;gBACpC,YAAY,EAAE,CAAC;YACjB,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAEtB,MAAM,IAAI,GAAgB,GAAG,EAAE;gBAC7B,IAAI,aAAa,EAAE,CAAC;oBAClB,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC/B,CAAC;gBACD,IAAI,kBAAkB,EAAE,CAAC;oBACvB,aAAa,CAAC,kBAAkB,CAAC,CAAC;gBACpC,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC/C,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACpC,CAAC;gBACD,eAAe,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC,CAAC;YAEF,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"qoder-log-adapter.js","sourceRoot":"","sources":["../../src/adapters/qoder-log-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/bootstrap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,KAAK,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AACxF,OAAO,EAAqC,KAAK,MAAM,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AAE3F,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAIhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,KAAK,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AACxF,OAAO,EAAqC,KAAK,MAAM,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AAE3F,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAIhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,UAAU,GAAG,WAAW,CAAC;IACjC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B,CAAC;AAEF,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,gBAAgB,GAAG,mBAAmB,CA4HlG"}
|
package/dist/bootstrap.js
CHANGED
|
@@ -15,22 +15,40 @@ const qoder_log_adapter_1 = require("./adapters/qoder-log-adapter");
|
|
|
15
15
|
const adapter_registry_1 = require("./gateway/adapter-registry");
|
|
16
16
|
const event_router_1 = require("./gateway/event-router");
|
|
17
17
|
const desktop_notifier_1 = require("./notifiers/desktop-notifier");
|
|
18
|
+
const dingtalk_notifier_1 = require("./notifiers/dingtalk-notifier");
|
|
19
|
+
const feishu_notifier_1 = require("./notifiers/feishu-notifier");
|
|
18
20
|
const mobile_ws_notifier_1 = require("./notifiers/mobile-ws-notifier");
|
|
21
|
+
const wecom_notifier_1 = require("./notifiers/wecom-notifier");
|
|
19
22
|
function createGateway(config, overrides) {
|
|
20
23
|
const app = (0, express_1.default)();
|
|
21
24
|
const recentEvents = [];
|
|
22
25
|
const RECENT_EVENTS_MAX = 100;
|
|
23
26
|
const server = config.httpsEnabled === true
|
|
24
27
|
? (0, node_https_1.createServer)({
|
|
25
|
-
cert: (0, node_fs_1.readFileSync)(node_path_1.default.resolve(
|
|
26
|
-
key: (0, node_fs_1.readFileSync)(node_path_1.default.resolve(
|
|
28
|
+
cert: (0, node_fs_1.readFileSync)(node_path_1.default.resolve(config.httpsCertPath)),
|
|
29
|
+
key: (0, node_fs_1.readFileSync)(node_path_1.default.resolve(config.httpsKeyPath)),
|
|
27
30
|
}, app)
|
|
28
31
|
: (0, node_http_1.createServer)(app);
|
|
29
32
|
app.use(express_1.default.json({ limit: "256kb" }));
|
|
30
33
|
app.use(express_1.default.urlencoded({ extended: false }));
|
|
31
34
|
const mobileWsNotifier = new mobile_ws_notifier_1.MobileWsNotifier();
|
|
32
35
|
const desktopNotifier = new desktop_notifier_1.DesktopNotifier();
|
|
33
|
-
const defaultNotifiers = [
|
|
36
|
+
const defaultNotifiers = [];
|
|
37
|
+
if (config.desktopEnabled) {
|
|
38
|
+
defaultNotifiers.push(desktopNotifier);
|
|
39
|
+
}
|
|
40
|
+
if (config.pwaEnabled) {
|
|
41
|
+
defaultNotifiers.push(mobileWsNotifier);
|
|
42
|
+
}
|
|
43
|
+
if (config.dingtalkEnabled && config.dingtalkWebhook) {
|
|
44
|
+
defaultNotifiers.push(new dingtalk_notifier_1.DingTalkNotifier({ webhook: config.dingtalkWebhook, secret: config.dingtalkSecret }));
|
|
45
|
+
}
|
|
46
|
+
if (config.feishuEnabled && config.feishuWebhook) {
|
|
47
|
+
defaultNotifiers.push(new feishu_notifier_1.FeishuNotifier({ webhook: config.feishuWebhook, secret: config.feishuSecret }));
|
|
48
|
+
}
|
|
49
|
+
if (config.wecomEnabled && config.wecomWebhook) {
|
|
50
|
+
defaultNotifiers.push(new wecom_notifier_1.WeComNotifier({ webhook: config.wecomWebhook }));
|
|
51
|
+
}
|
|
34
52
|
const router = new event_router_1.EventRouter(overrides?.notifiers ?? defaultNotifiers, {
|
|
35
53
|
dedupeWindowMs: config.dedupeWindowMs,
|
|
36
54
|
rateLimitWindowMs: config.rateLimitWindowMs,
|
|
@@ -64,7 +82,7 @@ function createGateway(config, overrides) {
|
|
|
64
82
|
.sort((a, b) => a.timestamp - b.timestamp);
|
|
65
83
|
res.json({ ok: true, events, now: Date.now() });
|
|
66
84
|
});
|
|
67
|
-
const staticDir = node_path_1.default.resolve(
|
|
85
|
+
const staticDir = node_path_1.default.resolve(config.webRootPath);
|
|
68
86
|
app.use("/", express_1.default.static(staticDir, {
|
|
69
87
|
etag: false,
|
|
70
88
|
lastModified: false,
|
|
@@ -83,7 +101,9 @@ function createGateway(config, overrides) {
|
|
|
83
101
|
if (started) {
|
|
84
102
|
return;
|
|
85
103
|
}
|
|
86
|
-
|
|
104
|
+
if (config.pwaEnabled) {
|
|
105
|
+
mobileWsNotifier.attach(server, config.wsPath);
|
|
106
|
+
}
|
|
87
107
|
await registry.startAll({
|
|
88
108
|
app,
|
|
89
109
|
config,
|
package/dist/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -1,21 +1,57 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
3
36
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
38
|
};
|
|
6
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
40
|
const node_child_process_1 = require("node:child_process");
|
|
8
41
|
const node_fs_1 = require("node:fs");
|
|
9
|
-
const node_os_1 = __importDefault(require("node:os"));
|
|
10
42
|
const node_path_1 = __importDefault(require("node:path"));
|
|
43
|
+
const paths_1 = require("./paths");
|
|
11
44
|
const run_gateway_1 = require("./run-gateway");
|
|
12
45
|
function printHelp() {
|
|
13
46
|
console.log(`agentwake CLI
|
|
14
47
|
|
|
15
48
|
Usage:
|
|
16
|
-
agentwake
|
|
17
|
-
agentwake
|
|
18
|
-
agentwake
|
|
49
|
+
agentwake setup 交互式配置向导
|
|
50
|
+
agentwake init 非交互式初始化(HTTPS + mkcert)
|
|
51
|
+
agentwake start [--host <host>] [--port <port>] 启动服务
|
|
52
|
+
agentwake help 帮助信息
|
|
53
|
+
|
|
54
|
+
数据目录: ~/.agentwake/
|
|
19
55
|
`);
|
|
20
56
|
}
|
|
21
57
|
function parseStartFlags(args) {
|
|
@@ -34,23 +70,32 @@ function parseStartFlags(args) {
|
|
|
34
70
|
}
|
|
35
71
|
}
|
|
36
72
|
function ensureEnvFile() {
|
|
37
|
-
const envPath =
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
73
|
+
const envPath = (0, paths_1.homePath)(".env");
|
|
74
|
+
if ((0, node_fs_1.existsSync)(envPath))
|
|
75
|
+
return;
|
|
76
|
+
(0, paths_1.ensureHome)();
|
|
77
|
+
const candidates = [
|
|
78
|
+
node_path_1.default.join(paths_1.PKG_ROOT, ".env.example"),
|
|
79
|
+
];
|
|
80
|
+
for (const src of candidates) {
|
|
81
|
+
if ((0, node_fs_1.existsSync)(src)) {
|
|
82
|
+
(0, node_fs_1.copyFileSync)(src, envPath);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
41
85
|
}
|
|
42
86
|
}
|
|
43
87
|
function ensureHttpsEnv() {
|
|
44
|
-
const envPath =
|
|
88
|
+
const envPath = (0, paths_1.homePath)(".env");
|
|
45
89
|
if (!(0, node_fs_1.existsSync)(envPath)) {
|
|
46
|
-
throw new Error(".env not found
|
|
90
|
+
throw new Error(".env not found. Run `agentwake init` first.");
|
|
47
91
|
}
|
|
92
|
+
const certDir = (0, paths_1.homePath)("certs");
|
|
48
93
|
const raw = (0, node_fs_1.readFileSync)(envPath, "utf8");
|
|
49
94
|
let next = raw;
|
|
50
95
|
const upserts = [
|
|
51
96
|
[/^AGENTWAKE_HTTPS_ENABLED=.*$/m, "AGENTWAKE_HTTPS_ENABLED=1"],
|
|
52
|
-
[/^AGENTWAKE_HTTPS_CERT_PATH=.*$/m,
|
|
53
|
-
[/^AGENTWAKE_HTTPS_KEY_PATH=.*$/m,
|
|
97
|
+
[/^AGENTWAKE_HTTPS_CERT_PATH=.*$/m, `AGENTWAKE_HTTPS_CERT_PATH=${certDir}/dev-cert.pem`],
|
|
98
|
+
[/^AGENTWAKE_HTTPS_KEY_PATH=.*$/m, `AGENTWAKE_HTTPS_KEY_PATH=${certDir}/dev-key.pem`],
|
|
54
99
|
];
|
|
55
100
|
for (const [pattern, replacement] of upserts) {
|
|
56
101
|
if (pattern.test(next)) {
|
|
@@ -63,6 +108,7 @@ function ensureHttpsEnv() {
|
|
|
63
108
|
(0, node_fs_1.writeFileSync)(envPath, next, "utf8");
|
|
64
109
|
}
|
|
65
110
|
function ensureHooksHttps() {
|
|
111
|
+
// Cursor hooks live in the project cwd, not in ~/.agentwake
|
|
66
112
|
const hooksPath = node_path_1.default.join(process.cwd(), ".cursor", "hooks.json");
|
|
67
113
|
if (!(0, node_fs_1.existsSync)(hooksPath)) {
|
|
68
114
|
return;
|
|
@@ -84,7 +130,7 @@ function ensureHooksHttps() {
|
|
|
84
130
|
(0, node_fs_1.writeFileSync)(hooksPath, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
|
|
85
131
|
}
|
|
86
132
|
function ensureNodeExtraCaEnvHint() {
|
|
87
|
-
const envPath =
|
|
133
|
+
const envPath = (0, paths_1.homePath)(".env");
|
|
88
134
|
if (!(0, node_fs_1.existsSync)(envPath)) {
|
|
89
135
|
return;
|
|
90
136
|
}
|
|
@@ -106,7 +152,8 @@ function ensureNodeExtraCaEnvHint() {
|
|
|
106
152
|
(0, node_fs_1.writeFileSync)(envPath, next, "utf8");
|
|
107
153
|
}
|
|
108
154
|
function resolveLanIpv4() {
|
|
109
|
-
const
|
|
155
|
+
const os = require("node:os");
|
|
156
|
+
const interfaces = os.networkInterfaces();
|
|
110
157
|
for (const entries of Object.values(interfaces)) {
|
|
111
158
|
if (!entries) {
|
|
112
159
|
continue;
|
|
@@ -123,9 +170,9 @@ function run(command) {
|
|
|
123
170
|
(0, node_child_process_1.execSync)(command, { stdio: "inherit" });
|
|
124
171
|
}
|
|
125
172
|
function setupMkcert() {
|
|
126
|
-
const certDir =
|
|
173
|
+
const certDir = (0, paths_1.homePath)("certs");
|
|
127
174
|
if (!(0, node_fs_1.existsSync)(certDir)) {
|
|
128
|
-
(0,
|
|
175
|
+
(0, node_fs_1.mkdirSync)(certDir, { recursive: true });
|
|
129
176
|
}
|
|
130
177
|
try {
|
|
131
178
|
run("mkcert -help > /dev/null");
|
|
@@ -144,7 +191,9 @@ function setupMkcert() {
|
|
|
144
191
|
if (lanIp) {
|
|
145
192
|
san.push(lanIp);
|
|
146
193
|
}
|
|
147
|
-
|
|
194
|
+
const certPath = `${certDir}/dev-cert.pem`;
|
|
195
|
+
const keyPath = `${certDir}/dev-key.pem`;
|
|
196
|
+
run(`mkcert -cert-file "${certPath}" -key-file "${keyPath}" ${san.join(" ")}`);
|
|
148
197
|
try {
|
|
149
198
|
const caRoot = (0, node_child_process_1.execSync)("mkcert -CAROOT", { encoding: "utf8" }).trim();
|
|
150
199
|
console.log(`[agentwake] export this for Node.js trust:`);
|
|
@@ -155,12 +204,21 @@ function setupMkcert() {
|
|
|
155
204
|
}
|
|
156
205
|
}
|
|
157
206
|
function initProject() {
|
|
207
|
+
(0, paths_1.ensureHome)();
|
|
158
208
|
ensureEnvFile();
|
|
159
209
|
ensureHttpsEnv();
|
|
160
210
|
ensureHooksHttps();
|
|
161
211
|
setupMkcert();
|
|
162
212
|
ensureNodeExtraCaEnvHint();
|
|
163
|
-
console.log(
|
|
213
|
+
console.log(`[agentwake] init completed. Data dir: ${(0, paths_1.homePath)()}`);
|
|
214
|
+
}
|
|
215
|
+
/** Load .env from ~/.agentwake/.env into process.env. */
|
|
216
|
+
async function loadHomeEnv() {
|
|
217
|
+
const envPath = (0, paths_1.homePath)(".env");
|
|
218
|
+
if ((0, node_fs_1.existsSync)(envPath)) {
|
|
219
|
+
const dotenv = await Promise.resolve().then(() => __importStar(require("dotenv")));
|
|
220
|
+
dotenv.config({ path: envPath });
|
|
221
|
+
}
|
|
164
222
|
}
|
|
165
223
|
async function main() {
|
|
166
224
|
const [cmd = "start", ...rest] = process.argv.slice(2);
|
|
@@ -172,9 +230,14 @@ async function main() {
|
|
|
172
230
|
initProject();
|
|
173
231
|
return;
|
|
174
232
|
}
|
|
233
|
+
if (cmd === "setup") {
|
|
234
|
+
const { runSetup } = await Promise.resolve().then(() => __importStar(require("./setup")));
|
|
235
|
+
await runSetup();
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
175
238
|
if (cmd === "start") {
|
|
176
239
|
parseStartFlags(rest);
|
|
177
|
-
|
|
240
|
+
await loadHomeEnv();
|
|
178
241
|
await (0, run_gateway_1.runGateway)();
|
|
179
242
|
return;
|
|
180
243
|
}
|